Extension of write anywhere file system layout
First Claim
1. A system adapted to provide a file system layout of a storage system, the system comprising:
- an aggregate configured with one or more groups of disks of the storage system, the aggregate having a physical volume block number (pvbn) space defining a global storage space of blocks provided by the disks, the global storage space substantially simplifying storage management of free blocks through use of a single pool of disks; and
one or more virtual volumes (vvols) contained within the aggregate, each vvol containing one or more files organized as buffer trees, the buffer trees utilizing pvbns as block pointers to facilitate efficient read performance on read paths of the files contained in the vvol.
2 Assignments
0 Petitions
Accused Products
Abstract
A file system layout apportions an underlying physical volume into one or more virtual volumes (vvols) of a storage system. The underlying physical volume is an aggregate comprising one or more groups of disks, such as RAID groups, of the storage system. The aggregate has its own physical volume block number (pvbn) space and maintains metadata, such as block allocation structures, within that pvbn space. Each vvol has its own virtual volume block number (vvbn) space and maintains metadata, such as block allocation structures, within that vvbn space. Notably, the block allocation structures of a vvol are sized to the vvol, and not to the underlying aggregate, to thereby allow operations that manage data served by the storage system (e.g., snapshot operations) to efficiently work over the vvols. The file system layout extends the file system layout of a conventional write anywhere file layout system implementation, yet maintains performance properties of the conventional implementation.
239 Citations
23 Claims
-
1. A system adapted to provide a file system layout of a storage system, the system comprising:
-
an aggregate configured with one or more groups of disks of the storage system, the aggregate having a physical volume block number (pvbn) space defining a global storage space of blocks provided by the disks, the global storage space substantially simplifying storage management of free blocks through use of a single pool of disks; and
one or more virtual volumes (vvols) contained within the aggregate, each vvol containing one or more files organized as buffer trees, the buffer trees utilizing pvbns as block pointers to facilitate efficient read performance on read paths of the files contained in the vvol. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for providing a file system layout of a storage system, the method comprising the steps of:
-
assembling one or more groups of disks of the storage system into an aggregate, the aggregate having a physical volume block number (pvbn) space defining a global storage space provided by the disks;
apportioning the aggregate into one or more virtual volumes (vvols) of the storage system, each vvol having a virtual volume block number (vvbn) space and containing one or more files organized as buffer trees; and
utilizing pvbn, vvbn pairs as block pointers within the buffer trees, wherein the pvbns facilitate efficient read performance on read paths of the files contained in each vvol and the vvbns provide efficient access to per-volume block allocation metadata information. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. Apparatus for providing a file system layout of a storage system, the apparatus comprising:
-
means for assembling one or more groups of disks of the storage system into an aggregate, the aggregate having a physical volume block number (pvbn) space defining a global storage space provided by the disks;
means for apportioning the aggregate into one or more virtual volumes (vvols) of the storage system, each vvol having a virtual volume block number (vvbn) space and containing one or more files organized as buffer trees; and
means for utilizing pvbn, wbn pairs as block pointers within the buffer trees, wherein the pvbns facilitate efficient read performance on read paths of the files contained in each vvol and the vvbns provide efficient access to per-volume block allocation metadata information.
-
-
23. A computer readable medium containing executable program instructions for providing a file system layout of a storage system, the executable instructions comprising one or more program instructions for:
-
assembling one or more groups of disks of the storage system into an aggregate, the aggregate having a physical volume block number (pvbn) space defining a global storage space provided by the disks;
apportioning the aggregate into one or more virtual volumes (vvols) of the storage system, each vvol having a virtual volume block number (wbn) space and containing one or more files organized as buffer trees; and
utilizing pvbn, wbn pairs as block pointers within the buffer trees, wherein the pvbns facilitate efficient read performance on read paths of the files contained in each vvol and the vvbns provide efficient access to per-volume block allocation metadata information.
-
Specification