Method and apparatus for content derived data placement in memory
AssigneeHewlett Packard Enterprise
InventorsArthur J. Beaverson, Paul Bowden
Life of this patent
Estimating the term…
Abstract
A digitally signed file system in which data, metadata and files are objects, each object having a globally unique and content-derived fingerprint and wherein object references are mapped by the fingerprints; the file system has a root object comprising a mapping of all object fingerprints in the file system, such that a change to the file system results in a change in the root object, and tracking changes in the root object provides a history of file system activity.
Claims42
A system comprising:
- a processor;
- and
- a non-transitory machine readable medium encoded with instructions that, when executed, cause the processor to:
- provide a namespace file system, wherein data structures of the namespace file system are objects stored in an object store, wherein the objects each includes data, metadata, or a combination of data and metadata, wherein the objects have respective object fingerprints, wherein each of the object fingerprints is derived from the content of the respective object, and wherein each of the object fingerprints uniquely identifies the respective object in the object store and enables inter-object references in the namespace file system to be defined by the object fingerprint;
- include in the data structures an hnode object comprising a mapping that stores a collection of object fingerprints for a collection of objects and the hnode object having an hnode object fingerprint derived from the collection of object fingerprints, the hnode object using the collection of object fingerprints to identify content of the collection of objects rather than physical or logical block addressing, and a change to the content of the hnode object results in a new hnode object fingerprint;
- provide inode map objects comprising hnode objects that map file system inode numbers and object fingerprints of respective files of the namespace file system;
- and
- provide an index, utilized by the object store, that maps the object fingerprints and physical or logical locations of the objects in the object store.
A method of accessing files of a computer file system comprising:
- in a namespace file system wherein data structures of the namespace file system are objects stored in an object store;
- each of the objects comprising data, metadata, or a combination of data and metadata;
- each of the objects having a respective object fingerprint derived from the content of the object, wherein the object fingerprint of an object uniquely identifies the object in the object store and enables inter-object references in the namespace file system to be defined by the object fingerprint;
- the data structures including an hnode object comprising a mapping that stores a collection of object fingerprints for a collection of metadata or data objects and the hnode object having an hnode object fingerprint derived from the collection of object fingerprints, the hnode object using the collection of object fingerprints to identify content of the collection of objects rather than physical or logical block addressing, and a change to the content of the hnode object results in a new hnode object fingerprint;
- the method comprising:
- utilizing inode map objects comprising hnode objects that map file system inode numbers and object fingerprints of respective files of the namespace file system to convert an inode number into a fingerprint of an hnode object;
- and
- utilizing an index comprising a mapping of object fingerprints and physical or logical locations of the objects in the object store to access the objects of the namespace file system.
A non-transitory machine readable medium encoded with instructions that when executed by a processor, cause the processor to:
- provide a namespace file system, wherein data structures of the namespace file system are objects stored in an object store, wherein the objects each includes data, metadata, or a combination of data and metadata, wherein the objects have respective object fingerprints, wherein each of the object fingerprints is derived from the content of the respective object, and wherein each of the object fingerprints uniquely identifies the respective object in the object store and enables inter-object references in the namespace file system to be defined by the object fingerprint;
- include in the data structures an hnode object comprising a mapping that stores a collection of object fingerprints for a collection of objects and the hnode object having an object fingerprint derived from the collection of object fingerprints, the hnode object using the collection of object fingerprints to identify content of the collection of objects rather than physical or logical block addressing, and a change to the content of the hnode object results in a new hnode object fingerprint;
- utilize inode map objects comprising hnode objects and including a mapping of file system inode numbers and object fingerprints of respective files of the namespace file system to convert an inode number into a fingerprint of an hnode object;
- and
- utilize an index that maps the object fingerprints and physical or logical locations of the objects in the object store to access the objects of the namespace file system.
Dependencies are inferred from the claim text.