IP Library Granted Patent US 11,068,396
Granted Patent B2
US 11,068,396 · App. 16/528,836 · Granted Jul 20, 2021

System and method for balance localization and priority of pages to flush in a sequential log

Inventors: Socheavy D. Heng (Framingham, MA); William C. Davenport (San Diego, CA); Joris Johannes Wils (Framingham, MA)
Assignee: EMC IP Holding Company, LLC
G06F12/0804G06F12/1009G06F2212/1032
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,068,396
App. No.
16/528,836
Granted
Jul 20, 2021
Kind
B2
Abstract

A method, computer program product, and computer system for staging writes into a log in chronological order, wherein each write may have a log record of a plurality of log records describing data of the write. The log record may be organized into a bucket of a plurality of buckets associated with a range of a plurality of ranges within a backing store, wherein each bucket of the plurality of buckets may include two keys respectively. The log record of the plurality of log records may be flushed from the bucket of the plurality of buckets to the backing store at a location and in an order determined based upon, at least in part, the two keys included with the bucket.

Claims (26)

1. A computer-implemented method comprising:

staging writes into a log in chronological order, wherein each write has a log record of a plurality of log records describing data of the write;

organizing each of the log records of the plurality of log records into a bucket of a plurality of buckets associated with a range of a plurality of ranges within a backing store, wherein each bucket of the plurality of buckets includes a first key and a second key respectively;

creating a tree, wherein the tree is based upon, at least in part, the second key, wherein the second key includes a lowest log sequence number (LSN) of one or more log records of the plurality of log records, wherein the tree includes one or more LSNs of the one or more log records; and

flushing one or more log records of the plurality of log records from one or more buckets of the plurality of buckets to the backing store at a location and in an order determined based upon, at least in part, the first key, the second key, and one or more lowest LSNs from the tree.

2. The computer-implemented method of claim 1 wherein the log record includes a destination logical block address (LBA) of the backing store associated with the range within the backing store.

3. The computer-implemented method of claim 1 wherein the log record includes a log sequence number (LSN).

4. The computer-implemented method of claim 1 wherein a first key of the two keys includes a starting LBA of the range within the backing store.

5. The computer-implemented method of claim 4 wherein the first key of the two keys is used to one of reference the bucket and create a new bucket if the bucket does not exist.

6. A computer program product residing on a non-transitory computer readable storage medium having a plurality of instructions stored thereon which, when executed across one or more processors, causes at least a portion of the one or more processors to perform operations comprising:

staging writes into a log in chronological order, wherein each write has a log record of a plurality of log records describing data of the write;

organizing each of the log records of the plurality of log records into a bucket of a plurality of buckets associated with a range of a plurality of ranges within a backing store, wherein each bucket of the plurality of buckets includes a first key and a second key respectively;

creating a tree, wherein the tree is based upon, at least in part, the second key, wherein the second key includes a lowest log sequence number (LSN) of one or more log records of the plurality of log records, wherein the tree includes one or more LSNs of the one or more log records; and

flushing one or more log records of the plurality of log records from one or more buckets of the plurality of buckets to the backing store at a location and in an order determined based upon, at least in part, the first key, the second key, and one or more lowest LSNs from the tree.

7. The computer program product of claim 6 wherein the log record includes a destination logical block address (LBA) of the backing store associated with the range within the backing store.

8. The computer program product of claim 6 wherein the log record includes a log sequence number (LSN).

9. The computer program product of claim 6 wherein a first key of the two keys includes a starting LBA of the range within the backing store.

10. The computer program product of claim 9 wherein the first key of the two keys is used to one of reference the bucket and create a new bucket if the bucket does not exist.

11. A computing system including one or more processors and one or more memories configured to perform operations comprising:

staging writes into a log in chronological order, wherein each write has a log record of a plurality of log records describing data of the write;

organizing each of the log records of the plurality of log records into a bucket of a plurality of buckets associated with a range of a plurality of ranges within a backing store, wherein each bucket of the plurality of buckets includes a first key and a second key respectively;

creating a tree, wherein the tree is based upon, at least in part, the second key, wherein the second key includes a lowest log sequence number (LSN) of one or more log records of the plurality of log records, wherein the tree includes one or more LSNs of the one or more log records; and

flushing one or more log records of the plurality of log records from one or more buckets of the plurality of buckets to the backing store at a location and in an order determined based upon, at least in part, the first key, the second key, and one or more lowest LSNs from the tree.

12. The computing system of claim 11 wherein the log record includes a destination logical block address (LBA) of the backing store associated with the range within the backing store, and wherein the log record includes a log sequence number (LSN).

13. The computing system of claim 11 wherein a first key of the two keys includes a starting LBA of the range within the backing store.

14. The computing system of claim 13 wherein the first key of the two keys is used to one of reference the bucket and create a new bucket if the bucket does not exist.

Assignments (9)
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 (053311/0169) Recorded Jun 23, 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 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 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 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 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 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
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 053311/0169 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
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 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2019
From: HENG, SOCHEAVY D.; DAVENPORT, WILLIAM C.; WILS, JORIS JOHANNES
To: EMC IP HOLDING COMPANY, LLC
Reel/Frame 049929/0218 →