File system for efficient object fragment access
US-2016063008-A1 · Mar 3, 2016 · US
US11301422B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11301422-B2 |
| Application number | US-201615143504-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 29, 2016 |
| Priority date | Feb 23, 2016 |
| Publication date | Apr 12, 2022 |
| Grant date | Apr 12, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A system and method for leveraging a native operating system ( 130 ) page cache ( 315 ) when using non-block system storage devices ( 120 ) is disclosed. A computer ( 105 ) may include a processor ( 110 ), memory ( 115 ), and a non-block system storage device ( 120 ). A file system ( 135 ) may be stored in memory ( 115 ) and running on the processor ( 110 ), which may include a page cache ( 315 ). A key-value file system (KVFS) ( 145 ) may reside between the file system ( 135 ) and the storage device ( 120 ) and may map received file system commands ( 310 ) to key-value system commands ( 330 ) that may be executed by the storage device ( 120 ). Results of the key-value system commands ( 330 ) may be returned to the file system ( 135 ), permitting the operating system ( 130 ) to cache data in the page cache ( 315 ).
Opening claim text (preview).
What is claimed is: 1. A system, comprising: a computer; a processor in the computer; a memory in the computer; a key-value file system (KVFS) shim stored in the memory and running on the processor, the KVFS shim including: a first reception unit to receive a first key-value system command, the first key-value system command including an object name; a first mapping unit to map the first key-value system command to a file system command; and a first command unit to send the file system command to a file system; the file system stored in the memory and running on the processor, the file system including a page cache; a KVFS stored in the memory and running on the processor, the KVFS including: a second reception unit to receive the file system command from the file system, the file system command including a file name identifying a file; a second mapping unit to map the file system command to a second key-value system command; a second command unit to send the second key-value system command to a key-value storage device; and a return unit to return a result of the second key-value system command to the file system, wherein an object is stored on the key-value storage device and data for the object is stored in the page cache. 2. A system according to claim 1 , wherein the key-value storage device stores a data object and a metadata object for the file. 3. A system according to claim 1 , wherein the KVFS shim further includes a file descriptor locator table to store a file descriptor corresponding to the file. 4. A system according to claim 3 , wherein the first command unit is operative to send the file system command and the file descriptor to the file system. 5. A system according to claim 3 , wherein the KVFS shim further includes a name generator unit to generate the file name from the object name. 6. A system according to claim 1 , wherein the KVFS includes a KVFS cache. 7. A system according to claim 6 , wherein the KVFS cache is operative to store a copy of the data for the object from the key-value storage device. 8. A system according to claim 7 , wherein the return unit is operative to return less than the entirety of the data for the object stored in the KVFS cache to the file system. 9. A system according to claim 1 , wherein the KVFS includes an inode, the inode storing metadata for an object from the key-value storage device. 10. A system according to claim 1 , wherein based at least in part on the page cache storing the data for the object and the file system command requesting the data for the object, the file system may return the data for the object from the page cache without sending the file system command to the KVFS. 11. A method, comprising: receiving a file system command, the file system command identifying a file; accessing an inode corresponding to the file; accessing an object name from the inode, the object name identifying an object stored in a key-value storage device; attempting to perform a command on the object in a key-value file system (KVFS) cache in a KVFS; and returning a result of the command, wherein the object is stored on the key-value storage device and data for the object is stored in a page cache in a file system. 12. A method according to claim 11 , wherein attempting to perform a command on an object in a key-value file system (KVFS) cache includes: searching the KVFS cache for the object name; and based at least in part on an object with the object name existing in the KVFS cache, performing a command on the object in the KVFS cache. 13. A method according to claim 12 , wherein attempting to perform a command on an object in a key-value file system (KVFS) cache further comprises, based at least in part on the object with the object name not existing in the KVFS cache, includes: mapping the file system command to a key-value system command; sending the key-value system command on the object with the object name to the key-value storage device; receiving the object from the key-value storage device; and storing the object in the KVFS cache. 14. A method according to claim 13 , wherein returning a result of the key-value system command includes: accessing less than the entirety of a data for the object; and returning the less than the entirety of the data as the key-value system result. 15. A method according to claim 11 , further comprising, based at least in part on not locating an inode corresponding to the file descriptor: requesting a metadata object from the key-value storage device, the metadata object identified by the file name; receiving the metadata object from the key-value storage device, the metadata object including metadata for the file; extracting the metadata from the metadata object; and creating the inode using the metadata. 16. A method according to claim 11 , wherein attempting to perform a command on an object in a key-value file system (KVFS) cache includes modifying the inode responsive to the file system command. 17. A method according to claim 16 , wherein attempting to perform a command on an object in a key-value file system (KVFS) cache further includes: deleting the metadata object from the key-value storage device; and storing a replacement metadata object on the key-value storage device.
Caching, prefetching or hoarding of files · CPC title
Virtual file systems · CPC title
File access structures, e.g. distributed indices (arrangements of input from, or output to, record carriers G06F3/06) · CPC title
Delete operations (erasing in storage systems G06F3/0652) · CPC title
Mapping; Conversion · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.