IP Library Granted Patent US 11,392,314
Granted Patent B2
US 11,392,314 · App. 17/027,111 · Granted Jul 19, 2022

Sequentially writing metadata into a solid state disk by redirect-on-write

Inventors: Shuo Lv (Beijing, CN); Ming Zhang (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0655G06F3/0604G06F3/0679G06F12/0802G06F16/172G06F16/2246G06F2212/72
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 11,392,314
App. No.
17/027,111
Granted
Jul 19, 2022
Kind
B2
Abstract

Techniques involve receiving a write request for writing metadata of a file system into a solid state disk having a multi-level cell, and then caching the to-be-written metadata into a memory. The techniques further involve sequentially writing the cached metadata into the solid state disk by redirect-on-write. Accordingly, there is a file system implemented for properties of a solid state disk having a multi-level cell. Such techniques are able to provide completely sequential write of metadata of the file system by supporting redirect-on-write, thereby reducing the write amplification of the solid state disk and improving the performance of the file system.

Claims (69)

1. A method for storage, comprising:

receiving a write request for writing metadata of a file system into a solid state disk having a multi-level cell;

caching the metadata of the file system into a memory; and

sequentially writing the cached metadata into the solid state disk by redirect-on-write;

wherein the storage system is provided with a variable-length disk extent, and the sequentially writing the cached metadata into the solid state disk by redirect-on-write comprises:

storing first metadata in the file system using a first key-value pair, the first key-value pair comprising a disk extent identifier as a key and a pointer as a value; and

storing second metadata in the file system using a second key-value pair, the second key-value pair comprising an inode number as a key and an index structure as a value.

2. The method according to claim 1 , further comprising:

for a second write request, caching metadata of the second write request into the memory; and

sequentially writing, based on a determination that a size of the metadata of the second write request satisfies a predetermined size, the metadata of the second write request into a new location in the solid state disk.

3. The method according to claim 1 , wherein the file system uses a tree structure as a metadata index, and the method further comprises:

setting a size of a node in the tree structure as a predetermined threshold; and

attaching a journal structure for storing a metadata update to the node.

4. The method according to claim 3 , wherein the sequentially writing the cached metadata into the solid state disk by redirect-on-write comprises:

journaling, based on a determination that an amount of metadata updates for the node fails to satisfy the predetermined threshold, the metadata updates in the journal structure of the memory; and

writing, based on a determination that the amount of metadata updates for the node satisfies the predetermined threshold, metadata in the journal structure into the solid state disk.

5. The method according to claim 4 , wherein the sequentially writing the cached metadata into the solid state disk by redirect-on-write further comprises:

sorting, based on a determination that the node is read, each group of keys in the node.

6. The method according to claim 5 , further comprising:

constructing an auxiliary search tree for finding metadata, each node in the auxiliary search tree corresponding to a cache line.

7. The method according to claim 1 , wherein the solid state disk is a solid state disk having a quad-level cell.

8. The method according to claim 1 , further comprising:

receiving another write request for writing data of the file system, the metadata of the file system pertaining to the data of the file system, and

writing the data of the file system into the solid state disk by redirect-on-write to provide complete redirect-on-write of the data and the metadata of the file system.

9. An electronic device, comprising:

a processing unit; and

a memory coupled to the processing unit and storing instructions, wherein the instructions, when executed by the processing unit, execute the following actions:

receiving a write request for writing metadata of a file system into a solid state disk having a multi-level cell;

caching the metadata of the file system into a memory; and

sequentially writing the cached metadata into the solid state disk by redirect-on-write;

wherein the storage system is provided with a variable-length disk extent, and the sequentially writing the cached metadata into the solid state disk by redirect-on-write comprises:

storing first metadata in the file system using a first key-value pair, the first key-value pair comprising a disk extent identifier as a key and a pointer as a value; and

storing second metadata in the file system using a second key-value pair, the second key-value pair comprising an inode number as a key and an index structure as a value.

10. The device according to claim 9 , further comprising:

for a second write request, caching metadata of the second write request into the memory; and

sequentially writing, based on a determination that a size of the metadata of the second write request satisfies a predetermined size, the metadata of the second write request into a new location in the solid state disk.

11. The device according to claim 9 , wherein the file system uses a tree structure as a metadata index, and the actions further comprise:

setting a size of a node in the tree structure as a predetermined threshold; and

attaching a journal structure for storing a metadata update to the node.

12. The device according to claim 11 , wherein the sequentially writing the cached metadata into the solid state disk by redirect-on-write comprises:

journaling, based on a determination that an amount of metadata updates for the node fails to satisfy the predetermined threshold, the metadata updates in the journal structure of the memory; and

writing, based on a determination that the amount of metadata updates for the node satisfies the predetermined threshold, metadata in the journal structure into the solid state disk.

13. The device according to claim 12 , wherein the sequentially writing the cached metadata into the solid state disk by redirect-on-write further comprises:

sorting, based on a determination that the node is read, each group of keys in the node.

14. The device according to claim 13 , wherein the actions further comprise:

constructing an auxiliary search tree for finding metadata, each node in the auxiliary search tree corresponding to a cache line.

15. The device according to claim 9 , wherein the solid state disk is a solid state disk having a quad-level cell.

16. The device according to claim 9 , wherein the actions further comprise:

receiving another write request for writing data of the file system, the metadata of the file system pertaining to the data of the file system, and

writing the data of the file system into the solid state disk by redirect-on-write to provide complete redirect-on-write of the data and the metadata of the file system.

17. A computer program product having a non-transitory computer readable medium which stores a set of instructions to perform storage; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

receiving a write request for writing metadata of a file system into a solid state disk having a multi-level cell;

caching the metadata of the file system into a memory; and

sequentially writing the cached metadata into the solid state disk by redirect-on-write;

wherein the storage system is provided with a variable-length disk extent, and the sequentially writing the cached metadata into the solid state disk by redirect-on-write comprises:

storing first metadata in the file system using a first key-value pair, the first key-value pair comprising a disk extent identifier as a key and a pointer as a value; and

storing second metadata in the file system using a second key-value pair, the second key-value pair comprising an inode number as a key and an index structure as a value.

18. The computer program product according to claim 17 , wherein the method further comprises:

receiving another write request for writing data of the file system, the metadata of the file system pertaining to the data of the file system, and

writing the data of the file system into the solid state disk by redirect-on-write to provide complete redirect-on-write of the data and the metadata of the file system.

19. A method for storage, comprising:

receiving a write request for writing metadata of a file system into a solid state disk having a multi-level cell;

caching the to-be-written metadata of the file system into a memory; and

sequentially writing the cached metadata into the solid state disk by redirect-on-write;

wherein the sequentially writing the cached metadata into the solid state disk by redirect-on-write comprises:

sequentially writing, based on a determination that a size of the metadata satisfies a predetermined size, the metadata of the predetermined size into a new location in the solid state disk.

20. The method according to claim 19 , further comprising:

receiving another write request for writing data of the file system, the metadata of the file system pertaining to the data of the file system, and

writing the data of the file system into the solid state disk by redirect-on-write to provide complete redirect-on-write of the data and the metadata of the file system.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2020
From: LV, SHUO; ZHANG, MING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054177/0085 →