IP Library Granted Patent US 11,010,353
Granted Patent B2
US 11,010,353 · App. 15/993,791 · Granted May 18, 2021

Method and device for file system log

Inventors: Lester Ming Zhang (Beijing, CN); Chen Gong (Beijing, CN); Henry Hao Fang (Beijing, CN); Leon Zhang (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F16/1865G06F16/1734G06F16/2379
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,010,353
App. No.
15/993,791
Granted
May 18, 2021
Kind
B2
Abstract

Embodiments of the present disclosure provide a method and device for a file system log. In some embodiments, there is provided a computer-implemented method. The method comprises: in response to receiving a write request for metadata associated with a first transaction, determining at least one zone associated with the first transaction from a plurality of zones of the metadata, the plurality of zones being formed by striping the metadata; requesting a resource slice for the at least one zone from a resource pool of a logging system; and recording to the resource slice a log that the first transaction modifies the at least one zone.

Claims (61)

1. A computer-implemented method, comprising:

in response to receiving a write request for metadata associated with a first transaction, determining at least a first zone and a second zone associated with the first transaction from a plurality of zones of the metadata, the plurality of zones being formed by striping the metadata;

requesting at least one resource slice for the at least one zone from a resource pool of a logging system; and

recording to the at least one resource slice at least one log indicating that the first transaction modifies the first zone and the second zone, wherein recording to the at least one resource slice the at least one log includes:

in response to determining that there is no buffer queue of logs to be recorded in a first resource slice associated with the first zone and there is a buffer queue of logs to be recorded in a second resource slice associated with the second zone,

recording both a first log associated with the first zone and a second log associated with the second zone to the first resource slice,

generating a first dummy for the second log, wherein the first dummy indicates that the first transaction modified the second zone, exists only in memory, and specifies modifications to the second zone made by the first transaction, and

adding the first dummy into the buffer queue associated with the second resource slice.

2. The method of claim 1 , wherein recording to the resource slice the log comprises:

determining a size of the log to be stored; and

in response to the size of the log being smaller than a predetermined threshold, adding the log into a buffer queue associated with the resource slice.

3. The method of claim 2 , further comprising:

determining whether a total size of logs to be recorded included in the buffer queue reaches the threshold; and

in response to the total size reaching the threshold, recording the logs to be recorded in the buffer queue to the resource slice.

4. The method of claim 1 , wherein the at least one zone at least comprises a first zone and a second zone, and wherein recording to the resource slice the log includes:

receiving a write request for metadata associated with a second transaction, the second transaction having a larger transaction sequence number than the first transaction; and

in response to a buffer queue of logs to be recorded in the first resource slice including the log and a second dummy indicating that the second transaction modified the first zone, and to presence of the first dummy in a buffer queue of logs to be recorded in the second resource slice and a log indicating the second transaction modified the first and second zones, recording to the first resource slice a part of a buffer queue of logs to be recorded in the first resource slice excluding the second dummy.

5. The method of claim 1 , further comprising:

releasing the resource slice by flushing the log recorded to the resource slice to a solid-state storage device.

6. The method of claim 1 , wherein the at least one zone has an allocated incremental super block, the incremental super block recording usage of a respective disk zone, the method further comprising:

in response to a modification of the at least one zone by the first transaction, modifying the incremental super block; and

flushing the incremental super block into a base super block associated with the plurality of zones at a predetermined time interval.

7. An electronic device, comprising:

at least one processor; and

a memory coupled to the at least one processor and having instructions stored thereon, the instructions, when executed by the at least one processor, causing the device to perform acts comprising:

in response to receiving a write request for metadata associated with a first transaction, determining at least a first zone and a second zone associated with the first transaction from a plurality of zones of the metadata, the plurality of zones being formed by striping the metadata;

requesting at least one resource slice for the at least one zone from a resource pool of a logging system; and

recording to the at least one resource slice at least one log indicating that the first transaction modifies the first zone and the second zone, wherein recording to the at least one resource slice the at least one log includes:

in response to determining that there is no buffer queue of logs to be recorded in a first resource slice associated with the first zone and there is a buffer queue of logs to be recorded in a second resource slice associated with the second zone,

recording both a first log associated with the first zone and a second log associated with the second zone to the first resource slice,

generating a first dummy for the second log, wherein the first dummy indicates that the first transaction modified the second zone, exists only in memory, and specifies modifications to the second zone made by the first transaction, and

adding the first dummy into the buffer queue associated with the second resource slice.

8. The device of claim 7 , wherein recording the log to the resource slice comprises:

determining a size of the log to be stored; and

in response to the size of the log being smaller than a predetermined threshold, adding the log into a buffer queue associated with the resource slice.

9. The device of claim 8 , wherein the acts further comprise:

determining whether a total size of logs to be recorded included in the buffer queue reaches the threshold; and

in response to the total size reaching the threshold, recording the logs to be recorded in the buffer queue to the resource slice.

10. The device of claim 7 , wherein the at least one zone at least comprises a first zone and a second zone, and wherein recording to the resource slice the log includes:

receiving a write request for metadata associated with a second transaction, the second transaction having a larger transaction sequence number than the first transaction; and

in response to a buffer queue of logs to be recorded in the first resource slice including the log and a second dummy indicating that the second transaction modified the first zone, and to presence of the first dummy in a buffer queue of logs to be recorded in the second resource slice and a log indicating the second transaction modified the first and second zones, recording to the first resource slice a part of a buffer queue of logs to be recorded in the first resource slice excluding the second dummy.

11. The device of claim 7 , wherein the acts further comprise:

releasing the resource slice by flushing the log recorded to the resource slice to a solid-state storage device.

12. The device of claim 7 , wherein the at least one zone has an allocated incremental super block, the incremental super block recording usage of a respective disk zone, wherein the acts further comprise:

in response to a modification of the at least one zone by the first transaction, modifying the incremental super block; and

flushing the incremental super block into a base super block associated with the plurality of zones at a predetermined time interval.

13. A computer program product, comprising:

a non-transitory computer readable medium encoded with computer-executable code, the code configured for the execution of:

in response to receiving a write request for metadata associated with a first transaction, determining at least a first zone and a second zone associated with the first transaction from a plurality of zones of the metadata, the plurality of zones being formed by striping the metadata;

requesting at least one resource slice for the at least one zone from a resource pool of a logging system; and

recording to the at least one resource slice at least one log indicating that the first transaction modifies the first zone and the second zone, wherein recording to the at least one resource slice the at least one log includes:

in response to determining that there is no buffer queue of logs to be recorded in a first resource slice associated with the first zone and there is a buffer queue of logs to be recorded in a second resource slice associated with the second zone,

recording both a first log associated with the first zone and a second log associated with the second zone to the first resource slice,

generating a first dummy for the second log, wherein the first dummy indicates that the first transaction modified the second zone, exists only in memory, and specifies modifications to the second zone made by the first transaction, and

adding the first dummy into the buffer queue associated with the second resource slice.

14. The computer program product of claim 13 , wherein recording the log to the resource slice comprises:

determining a size of the log to be stored; and

in response to the size of the log being smaller than a predetermined threshold, adding the log into a buffer queue associated with the resource slice.

15. The method of claim 1 , further comprising:

wherein the plurality of zones are formed by striping the metadata according to file system block number; and

wherein determining the first zone and the second zone associated with the first transaction includes determining that the first transaction modifies both at least one file system block number in the first zone and at least one file system block number in the second zone.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (047648/0422) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2018
From: ZHANG, LESTER MING; GONG, CHEN; FANG, HENRY HAO; ZHANG, LEON
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045946/0308 →