IP Library Granted Patent US 12,182,065
Granted Patent B2
US 12,182,065 · App. 18/133,263 · Granted Dec 31, 2024

Performance of file system operations

Inventors: Viacheslav Dubeyko (Los Angeles, CA); Jian Wang (Beijing, CN)
Assignees: Lemon Inc.; Beijing Youzhuju Network Technology Co., Ltd.
G06F16/122G06F16/172G06F16/1734G06F16/1744G06F16/178
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,182,065
App. No.
18/133,263
Granted
Dec 31, 2024
Kind
B2
Abstract

Techniques for improving performance of file system operations are provided. Dirty memory pages may be copied from a file system into a memory associated with a first hardware accelerator. 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.

Claims (76)

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 first 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 first hardware accelerator;

flushing the at least one log into a storage device;

wherein the method further comprises:

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.

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 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.

4. The method of claim 3 , 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.

5. The method of claim 3 , 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.

6. The method of claim 1 , wherein the at least one log further comprises a header depicting a structure of the payload area.

7. The method of claim 1 , further comprising:

processing a plurality of requests for log creation in parallel by the first hardware accelerator.

8. The method of claim 1 , further comprising:

executing data operations associated with different logs in a massively parallel manner.

9. 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 first 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 first hardware accelerator;

flushing the at least one log into a storage device;

wherein the operations further comprise:

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.

10. The system of claim 9 , 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.

11. The system of claim 9 , 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.

12. The system of claim 11 , 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.

13. The system of claim 11 , 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.

14. 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 first 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 first hardware accelerator;

flushing the at least one log into a storage device;

wherein the operations further comprise:

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.

15. The non-transitory computer-readable storage medium of claim 14 , 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.

16. The non-transitory computer-readable storage medium of claim 14 , 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.

17. The non-transitory computer-readable storage medium of claim 16 , 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.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2024
From: DUBEYKO, VIACHESLAV
To: BYTEDANCE INC.
Reel/Frame 068810/0087 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2024
From: WANG, JIAN
To: DOUYIN VISION CO, LTD.
Reel/Frame 068810/0151 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2024
From: BYTEDANCE INC.
To: LEMON INC.
Reel/Frame 068810/0365 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2024
From: BYTEDANCE INC.
To: BEIJING YOUZHUJU NETWORK TECHNOLOGY CO. LTD.
Reel/Frame 068810/0457 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2024
From: DOUYIN VISION (BEIJING) CO., LTD
To: LEMON INC.
Reel/Frame 068810/0544 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2024
From: DOUYIN VISION CO., LTD
To: BEIJING YOUZHUJU NETWORK TECHNOLOGY CO. LTD.
Reel/Frame 068810/0699 →
Continuity (1)
Related Publication 20230244635A1 · Aug 3, 2023