Techniques for efficient user log flushing with shortcut logical address binding and postponing mapping information updates
US-2024004798-A1 · Jan 4, 2024 · US
US2023244635A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2023244635-A1 |
| Application number | US-202318133263-A |
| Country | US |
| Kind code | A1 |
| Filing date | Apr 11, 2023 |
| Priority date | Apr 11, 2023 |
| Publication date | Aug 3, 2023 |
| Grant date | — |
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.
The present disclosure describes techniques for improving performance of file system operations. Dirty memory pages may be copied from a file system into a memory associated with first hardware accelerator associated with a host. Content of the memory pages may be compressed by one or more cores of the hardware accelerator. The compressed data may be compacted into a payload area of at least one log. Metadata of the at least one log may be prepared by the one or more cores of the hardware accelerator. The at least one log may be flushed into a storage device. A read operation may be performed on the at least one log. On a read path, in response to determining that a size of data from a plurality of logs is greater than a predetermined threshold, a new log may be created by combining the data using compression by a second hardware accelerator associated with the storage device.
Opening claim text (preview).
What is claimed is: 1 . A method of improving performance of file system operations, comprising: copying dirty memory pages from a file system into a memory associated with a first hardware accelerator associated with a host; compressing content of the memory pages by one or more cores of the hardware accelerator; compacting compressed data into a payload area of at least one log; preparing metadata of the at least one log by the one or more cores of the hardware accelerator; and flushing the at least one log into a storage device. 2 . The method of claim 1 , further comprising: creating a mapping table by the first hardware accelerator, the mapping table configured to identify locations of logs in the storage device. 3 . The method of claim 1 , further comprising: identifying a location of the at least one log using a mapping table by the first hardware accelerator in response to a request of reading data in the at least one log from at least one physical sector; accessing the at least one log by the first hardware accelerator based on the identified location; parsing the at least one log and executing decompression operations by the first hardware accelerator to retrieve the requested data; and delivering the requested data to a page cache of the file system. 4 . The method of claim 1 , further comprising: identifying a location of the at least one log using a mapping table in response to a request of reading data in the at least one log from a plurality of physical sectors; parsing the at least one log and executing decompression operations by a second hardware accelerator associated with the storage device; in response to determining that a size of data extracted from the plurality of physical sectors is greater than a predetermined threshold, creating a new log by combining the data from the plurality of physical sectors using compression by the second hardware accelerator associated with the storage device; and sending the new log to the first hardware accelerator. 5 . The method of claim 4 , further comprising: parsing the new log and executing decompression operations by the first hardware accelerator associated with the host; and delivering the requested data to a page cache of the file system. 6 . The method of claim 4 , wherein the creating a new log further comprises: executing delta-decoding operations by the second hardware accelerator; and creating the new log for delta-decoded data. 7 . The method of claim 1 , wherein the at least one log further comprises a header depicting a structure of the payload area. 8 . The method of claim 1 , further comprising: processing a plurality of requests for log creation in parallel by the first hardware accelerator. 9 . The method of claim 1 , further comprising: executing data operations associated with different logs in a massively parallel manner. 10 . A system, comprising: at least one processor; and at least one memory comprising computer-readable instructions that upon execution by the at least one processor cause the computing device to perform operations comprising: copying dirty memory pages from a file system into a memory associated with a first hardware accelerator associated with a host; compressing content of the memory pages by one or more cores of the hardware accelerator; compacting compressed data into a payload area of at least one log; preparing metadata of the at least one log by the one or more cores of the hardware accelerator; and flushing the at least one log into a storage device. 11 . The system of claim 10 , the operations further comprising: creating a mapping table by the first hardware accelerator, the mapping table configured to identify locations of logs in the storage device. 12 . The system of claim 10 , the operations further comprising: identifying a location of the at least one log using a mapping table by the first hardware accelerator in response to a request of reading data in the at least one log from at least one physical sector; accessing the at least one log by the first hardware accelerator based on the identified location; parsing the at least one log and executing decompression operations by the first hardware accelerator to retrieve the requested data; and delivering the requested data to a page cache of the file system. 13 . The system of claim 10 , the operations further comprising: identifying a location of the at least one log using a mapping table in response to a request of reading data in the at least one log from a plurality of physical sectors; parsing the at least one log and executing decompression operations by a second hardware accelerator associated with the storage device; in response to determining that a size of data extracted from the plurality of physical sectors is greater than a predetermined threshold, creating a new log by combining the data from the plurality of physical sectors using compression by the second hardware accelerator associated with the storage device; and sending the new log to the first hardware accelerator. 14 . The system of claim 13 , the operations further comprising: parsing the new log and executing decompression operations by the first hardware accelerator associated with the host; and delivering the requested data to a page cache of the file system. 15 . The system of claim 13 , wherein the creating a new log further comprises: executing delta-decoding operations by the second hardware accelerator; and creating the new log for delta-decoded data. 16 . A non-transitory computer-readable storage medium, storing computer-readable instructions that upon execution by a processor cause the processor to implement operations, the operations comprising: copying dirty memory pages from a file system into a memory associated with a first hardware accelerator associated with a host; compressing content of the memory pages by one or more cores of the hardware accelerator; compacting compressed data into a payload area of at least one log; preparing metadata of the at least one log by the one or more cores of the hardware accelerator; and flushing the at least one log into a storage device. 17 . The non-transitory computer-readable storage medium of claim 16 , the operations further comprising: creating a mapping table by the first hardware accelerator, the mapping table configured to identify locations of logs in the storage device. 18 . The non-transitory computer-readable storage medium of claim 16 , the operations further comprising: identifying a location of the at least one log using a mapping table by the first hardware accelerator in response to a request of reading data in the at least one log from at least one physical sector; accessing the at least one log by the first hardware accelerator based on the identified location; parsing the at least one log and executing decompression operations by the first hardware accelerator to retrieve the requested data; and delivering the requested data to a page cache of the file system. 19 . The non-transitory computer-readable storage medium of claim 16 , the operations further comprising: identifying a location of the at least one log using a mapping table in response to a request of reading data in the at least one log from a plurality of physical sectors; parsing the at least one log and executing decompression operations by a second hardware accelerator associated with the storage device; in response to determining that a si
using management policies (point-in-time backing up or restoration of persistent data G06F11/1446; file migration policies for HSM systems G06F16/185) · CPC title
using compression, e.g. sparse files · CPC title
Techniques for file synchronisation in file systems · CPC title
Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs · CPC title
Caching, prefetching or hoarding of files · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.