Filesystem storing file data in larger units than used for metadata
First Claim
1. A method of storing files in a filesystem of a data storage system, the method comprising:
- storing data of each file of a set of files of the filesystem in a set of data blocks of the filesystem on the data storage system, each data block of the set of data blocks having a shared data block size;
storing metadata pertaining to each file of the set of files in a set of metadata blocks of the filesystem on the data storage system, each metadata block of the set of metadata blocks having a shared metadata block size, the shared data block size being larger than the shared metadata block size by an integer factor, the integer being greater than one, the shared metadata block size being equal to a memory page size of the data storage system;
storing an indication of a default data block size within filesystem-descriptive metadata pertaining to the filesystem;
at a formatting time of the filesystem, setting the shared data block size as the stored default data block size for all files of the filesystem;
at a creation time of a new file of the filesystem outside the set of files, setting a new data block size of the new file, the new data block size being different than the default data block size;
storing an indication of the new data block size within metadata pertaining to the new file;
storing data of the new file in another set of data blocks of the filesystem on the data storage system, each data block of the other set of data blocks having the new data block size; and
storing metadata pertaining to the new file in another set of metadata blocks of the filesystem on the data storage system, each metadata block of the other set of metadata blocks having the shared metadata block size, the new data block size being larger than the shared metadata block size.
9 Assignments
0 Petitions
Accused Products
Abstract
A method is provided for storing files in a filesystem of a data storage system. The method includes (a) storing data of each file of a set of files of the filesystem in a set of data allocation units (AUs) of the filesystem on the data storage system, each data AU of the set of data AUs having a common data AU size, and (b) storing metadata pertaining to each file of the set of files in a set of metadata AUs of the filesystem on the data storage system, each metadata AU of the set of metadata AUs having a common metadata AU size, the common data AU size being larger than the common metadata AU size. A computerized apparatus and a computer program product are also provided for performing a method similar to that described above.
49 Citations
18 Claims
-
1. A method of storing files in a filesystem of a data storage system, the method comprising:
-
storing data of each file of a set of files of the filesystem in a set of data blocks of the filesystem on the data storage system, each data block of the set of data blocks having a shared data block size; storing metadata pertaining to each file of the set of files in a set of metadata blocks of the filesystem on the data storage system, each metadata block of the set of metadata blocks having a shared metadata block size, the shared data block size being larger than the shared metadata block size by an integer factor, the integer being greater than one, the shared metadata block size being equal to a memory page size of the data storage system; storing an indication of a default data block size within filesystem-descriptive metadata pertaining to the filesystem; at a formatting time of the filesystem, setting the shared data block size as the stored default data block size for all files of the filesystem; at a creation time of a new file of the filesystem outside the set of files, setting a new data block size of the new file, the new data block size being different than the default data block size; storing an indication of the new data block size within metadata pertaining to the new file; storing data of the new file in another set of data blocks of the filesystem on the data storage system, each data block of the other set of data blocks having the new data block size; and storing metadata pertaining to the new file in another set of metadata blocks of the filesystem on the data storage system, each metadata block of the other set of metadata blocks having the shared metadata block size, the new data block size being larger than the shared metadata block size. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. An apparatus comprising:
-
data storage; and a controller, the controller being configured to; store data of each file of a set of files of a filesystem in a set of data blocks of the filesystem on the data storage, each data block of the set of data blocks having a shared data block size; store metadata pertaining to each file of the set of files in a set of metadata blocks of the filesystem on the data storage, each metadata block of the set of metadata blocks having a shared metadata block size, the shared data block size being larger than the shared metadata block size by an integer factor, the integer being greater than one, the shared metadata block size being equal to a memory page size of the apparatus; store an indication of a default data block size within filesystem-descriptive metadata pertaining to the filesystem; at a formatting time of the filesystem, setting the shared data block size as the stored default data block size for all files of the filesystem; at a creation time of a new file of the filesystem outside the set of files, setting a new data block size of the new file, the new data block size being different than the default data block size; storing an indication of the new data block size within metadata pertaining to the new file; storing data of the new file in another set of data blocks of the filesystem on the data storage, each data block of the other set of data blocks having the new data block size; and storing metadata pertaining to the new file in another set of metadata blocks of the filesystem on the data storage, each metadata block of the other set of metadata blocks having the shared metadata block size, the new data block size being larger than the shared metadata block size. - View Dependent Claims (17)
-
-
18. A computer program product comprising a non-transitory computer-readable storage medium storing a set of instructions, which, when executed by a data storage computer, causes the data storage computer to perform the operations of:
-
storing data of each file of a set of files of a filesystem in a set of data blocks of the filesystem on persistent storage connected to the data storage computer, each data block of the set of data blocks having a shared data block size; storing metadata pertaining to each file of the set of files in a set of metadata blocks of the filesystem on the persistent storage connected to the data storage computer, each metadata block of the set of metadata blocks having a shared metadata block size, the shared data block size being larger than the shared metadata block size by an integer factor, the integer being greater than one, the shared metadata block size being equal to a memory page size of the data storage computer; storing an indication of a default data block size within filesystem-descriptive metadata pertaining to the filesystem; at a formatting time of the filesystem, setting the shared data block size as the stored default data block size for all files of the filesystem; at a creation time of a new file of the filesystem outside the set of files, setting a new data block size of the new file, the new data block size being different than the default data block size; storing an indication of the new data block size within metadata pertaining to the new file; storing data of the new file in another set of data blocks of the filesystem on the persistent storage, each data block of the other set of data blocks having the new data block size; and storing metadata pertaining to the new file in another set of metadata blocks of the filesystem on the persistent storage, each metadata block of the other set of metadata blocks having the shared metadata block size, the new data block size being larger than the shared metadata block size.
-
Specification