Segregating data and metadata in a file system
First Claim
Patent Images
1. A method of managing a file system having an address space, comprising:
- providing multiple subspaces within the address space of the file system, each subspace having defined boundaries within the address space and having provisioned thereto a respective, distinct set of storage elements derived from one or more physical storage devices,the multiple subspaces including;
a data subspace having provisioned thereto a set of data storage elements on which host data of the file system are stored, but on which no inodes of the file system or MDBs (metadata blocks, including indirect blocks and directories) of the file system are stored;
an inode subspace having provisioned thereto a set of inode storage elements on which inodes of the file system are stored, but on which no host data of the file system or MDBs of the file system are stored; and
an MDB subspace having provisioned thereto a set of MDB storage elements on which indirect blocks and/or directories of the file system are stored, but on which no host data of the file system or inodes of the file system are stored, andfurther comprising, for a set of user data;
provisioning a new data storage element to the data subspace of the file system;
storing the set of user data in the new data storage element;
storing a set of inodes pertaining to the set of user data in an inode storage element within the inode subspace of the file system; and
storing a set of indirect blocks and/or directory structures pertaining to the set of user data in an MDB storage element within the MDB subspace of the file system,wherein the file system is supported by a sparse volume, and wherein provisioning a new data storage element to the data subspace of the file system includes (i) provisioning the new data storage element to the sparse volume from a storage pool and (ii) provisioning the new data storage element to the data subspace of the file system from the sparse volume.
9 Assignments
0 Petitions
Accused Products
Abstract
A technique for managing a file system includes dividing the addressable space of a file system into multiple subspaces: a data subspace for user data; an inode subspace for inodes describing the user data; and an MDB (metadata block) subspace for indirect blocks and/or directory structures pertaining to the user data. In response to storage requests to write user files to the file system, the file system stores user data of the files in the data subspace, stores inodes pertaining to the user files in the inode subspace, and stores indirect blocks and/or directories in the MDB subspace.
27 Citations
21 Claims
-
1. A method of managing a file system having an address space, comprising:
-
providing multiple subspaces within the address space of the file system, each subspace having defined boundaries within the address space and having provisioned thereto a respective, distinct set of storage elements derived from one or more physical storage devices, the multiple subspaces including; a data subspace having provisioned thereto a set of data storage elements on which host data of the file system are stored, but on which no inodes of the file system or MDBs (metadata blocks, including indirect blocks and directories) of the file system are stored; an inode subspace having provisioned thereto a set of inode storage elements on which inodes of the file system are stored, but on which no host data of the file system or MDBs of the file system are stored; and an MDB subspace having provisioned thereto a set of MDB storage elements on which indirect blocks and/or directories of the file system are stored, but on which no host data of the file system or inodes of the file system are stored, and further comprising, for a set of user data; provisioning a new data storage element to the data subspace of the file system; storing the set of user data in the new data storage element; storing a set of inodes pertaining to the set of user data in an inode storage element within the inode subspace of the file system; and storing a set of indirect blocks and/or directory structures pertaining to the set of user data in an MDB storage element within the MDB subspace of the file system, wherein the file system is supported by a sparse volume, and wherein provisioning a new data storage element to the data subspace of the file system includes (i) provisioning the new data storage element to the sparse volume from a storage pool and (ii) provisioning the new data storage element to the data subspace of the file system from the sparse volume. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 21)
-
-
18. A data storage apparatus, comprising:
-
a set of storage processors configured to receive requests from a set of host computing devices for reading and/or writing files; and a set of storage devices, coupled to the set of storage processors and configured to store files accessible to the set of hosts via the set of storage processors, wherein the set of storage processors includes a set of processing units coupled to memory, the memory storing executable instructions, which when executed by the set of processing units cause the set of processing units to perform a method of managing a file system, the method comprising; providing multiple subspaces within an address space of the file system, each subspace having defined boundaries within the address space and having provisioned thereto a respective, distinct set of storage elements derived from one or more physical storage devices, the multiple subspaces including; a data subspace having provisioned thereto a set of data storage elements on which host data of the file system are stored, but on which no inodes of the file system or MDBs (metadata blocks, including indirect blocks and directories) of the file system are stored; an inode subspace having provisioned thereto a set of inode storage elements on which inodes of the file system are stored, but on which no host data of the file system or MDBs of the file system are stored; and an MDB subspace having provisioned thereto a set of MDB storage elements on which indirect blocks and directories of the file system are stored, but on which no host data of the file system or inodes of the file system are stored, and further comprising, for a set of user data; provisioning a new data storage element to the data subspace of the file system; storing the set of user data on the new data storage element; storing a set of inodes pertaining to the set of user data in an inode storage element within the inode subspace of the file system; and storing a set of indirect blocks and/or directory structures pertaining to the set of user data in an MDB storage element within the MDB subspace of the file system, wherein the file system is supported by a sparse volume, and wherein provisioning a new data storage element to the data subspace of the file system includes (i) provisioning the new data storage element to the sparse volume from a storage pool and (ii) provisioning the new data storage element to the data subspace of the file system from the sparse volume. - View Dependent Claims (19)
-
-
20. A non-transitory computer-readable medium including instructions which, when executed by a set of processing units of a set of storage processors of a data storage system, cause the set of processing units to perform a method of managing a file system, the method comprising:
-
providing multiple subspaces within an address space of the file system, each subspace having defined boundaries within the address space and having provisioned thereto a respective, distinct set of storage elements derived from one or more physical storage devices, the multiple subspaces including; a data subspace having provisioned thereto a set of data storage elements on which host data of the file system are stored, but on which no inodes of the file system or MDBs (metadata blocks, including indirect blocks and directories) of the file system are stored; an inode subspace having provisioned thereto a set of inode storage elements on which inodes of the file system are stored, but on which no host data of the file system or MDBs of the file system are stored; and an MDB subspace having provisioned thereto a set of MDB storage elements on which indirect blocks and directories of the file system are stored, but on which no host data of the file system or inodes of the file system are stored, and further comprising, for a set of user data; provisioning a new data storage element to the data subspace of the file system; storing a set of user data on the new data storage element; storing a set of inodes pertaining to the set of user data in an inode storage element within the inode subspace of the file system; and storing a set of indirect blocks and/or directory structures pertaining to the set of user data in an MDB storage element within the MDB subspace of the file system, wherein the file system is supported by a sparse volume, and wherein provisioning a new data storage element to the data subspace of the file system includes (i) provisioning the new data storage element to the sparse volume from a storage pool and (ii) provisioning the new data storage element to the data subspace of the file system from the sparse volume.
-
Specification