Extension of write anywhere file system layout
First Claim
1. A data storage system, comprising:
- a processor configured to execute a storage operating system, the storage operating system, when executed, configured to implement a physical volume including a plurality of data storage devices, wherein the physical volume has a physical address space;
one or more logical volumes overlaid onto the physical volume, wherein each logical volume has a separate logical volume address space, wherein the logical volume address space includes an independent set of numbers that is translated to disk block numbers (dbns) on a storage device of the plurality of storage devices and wherein each block within the logical volume is identified with a logical volume address associated with the logical volume address space; and
a logical volume data container of the logical volume, the logical volume data container stored in the physical volume and having physical blocks associated with the logical volume.
0 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.
81 Citations
19 Claims
-
1. A data storage system, comprising:
-
a processor configured to execute a storage operating system, the storage operating system, when executed, configured to implement a physical volume including a plurality of data storage devices, wherein the physical volume has a physical address space; one or more logical volumes overlaid onto the physical volume, wherein each logical volume has a separate logical volume address space, wherein the logical volume address space includes an independent set of numbers that is translated to disk block numbers (dbns) on a storage device of the plurality of storage devices and wherein each block within the logical volume is identified with a logical volume address associated with the logical volume address space; and a logical volume data container of the logical volume, the logical volume data container stored in the physical volume and having physical blocks associated with the logical volume. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for operating a data storage system having a processor, comprising:
-
organizing a physical volume including a plurality of storage blocks on a plurality of data storage devices, the plurality of storage blocks forming a physical address space; storing a plurality of data containers within the physical volume, each data container embodying a logical volume overlaid onto the physical volume, wherein the logical volume has a logical address space; storing a set of mapping data structures to provide mappings between a physical address in the physical address space and a logical address in the logical address space of the logical volume and between the logical address in the logical address space of the logical volume and the physical address of the physical address space of the physical volume; and storing a data container having a buffer tree on a file system, wherein the buffer tree utilizes the physical address as a block pointer. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer readable storage medium containing executable program instructions for execution by a processor comprising:
-
program instructions that organize a physical volume including a plurality of storage blocks on a plurality of data storage devices, the plurality of storage blocks forming a physical address space; program instructions that store a plurality of data containers within the physical volume, each data container embodying a logical volume overlaid onto the physical volume, wherein the logical volume has a logical address space; program instructions that store a set of mapping data structures to provide mappings between a physical address in the physical address space and a logical address in the logical address space of the logical volume and between the logical address in the logical address space of the logical volume and the physical address of the physical address space of the physical volume; and program instructions that store a data container having a buffer tree on a file system, wherein the buffer tree utilizes the physical address as a block pointer.
-
Specification