IP Library Granted Patent US 11,237,771
Granted Patent B1
US 11,237,771 · App. 17/074,840 · Granted Feb 1, 2022

Transactional update system and method

Inventors: Vladimir Shveidel (Pardes-Hana, IL); Bar David (Rishon Lezion, IL)
Assignee: EMC IP HOLDING COMPANY, LLC
G06F3/0659G06F3/0604G06F3/065G06F3/0629G06F3/0653G06F3/0683G06F9/467
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,237,771
App. No.
17/074,840
Granted
Feb 1, 2022
Kind
B1
Abstract

A method, computer program product, and computing system for receiving a plurality of updates to one or more metadata pages of a storage system, where the plurality of updates include one or more bulk updates and one or more delta updates. A transaction record may be defined. The delta updates may be written to a non-volatile log. The bulk updates may be written to a first metadata store position. The bulk updates may be written to a second metadata store position in response to writing the bulk updates to the first metadata store position. A status indicator for the transaction record may be set based upon, at least in part, writing the delta updates to the non-volatile log and one or more of writing the bulk updates to the first metadata store position and writing the bulk updates to the second metadata store position.

Claims (53)

1. A computer-implemented method, executed on a computing device, comprising:

receiving a plurality of updates to one or more metadata pages of a storage system, wherein the plurality of updates include one or more bulk updates and one or more delta updates to the one or more metadata pages;

defining a transaction record for the plurality of updates to the one or more metadata pages;

writing the one or more delta updates to a non-volatile log;

writing the one or more bulk updates of the plurality of updates to the one or more metadata pages of a first metadata store position;

writing the one or more bulk updates of the plurality of updates to the one or more metadata pages of a second metadata store position in response to writing the one or more bulk updates of the plurality of updates to the one or more metadata pages of the first metadata store position; and

setting a status indicator for the transaction record for the plurality of updates based upon, at least in part, writing the one or more delta updates to the non-volatile log and one or more of writing the one or more bulk updates of the plurality of updates to the one or more metadata pages of the first metadata store position and writing the one or more bulk updates of the plurality of updates to the one or more metadata pages of the second metadata store position.

2. The computer-implemented method of claim 1 , wherein each of the first metadata store position and the second metadata store position are storage devices configured to mirror each other.

3. The computer-implemented method of claim 1 , wherein defining the transaction record for the plurality of updates to the one or more metadata pages includes writing the transaction record to the non-volatile log.

4. The computer-implemented method of claim 1 , wherein setting the status indicator for the transaction record for the plurality of updates includes setting the status indicator to a first status indicator indicating that the one or more bulk updates of the plurality of updates are being written to the one or more metadata pages of the first metadata store position and written to the one or more metadata pages of the second metadata store position.

5. The computer-implemented method of claim 4 , further comprising:

identifying a failure associated with the storage system;

determining that the status indicator for the transaction record for the plurality of updates is the first status indicator; and

determining whether each metadata page of the one or more metadata pages of the first metadata store position includes a reference to the transaction record.

6. The computer-implemented method of claim 5 , further comprising:

in response to determining that each metadata page of the one or more metadata pages of the first metadata store includes a reference to the transaction record, copying each metadata page of the one or more metadata pages from the first metadata store position to the second metadata store position; and

setting the status indicator for the transaction record for the plurality of updates to a second status indicator indicating that the one or more bulk updates of the plurality of updates are written to the second metadata store position.

7. The computer-implemented method of claim 5 , further comprising:

in response to determining that each metadata page of the one or more metadata pages of the first metadata store does not include a reference to the transaction record, copying each metadata page of the one or more metadata pages from the second metadata store position to the first metadata store position; and

invalidating the transaction record for the plurality of updates.

8. A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:

receiving a plurality of updates to one or more metadata pages of a storage system, wherein the plurality of updates include one or more bulk updates and one or more delta updates to the one or more metadata pages;

defining a transaction record for the plurality of updates to the one or more metadata pages;

writing the one or more delta updates to a non-volatile log;

writing the one or more bulk updates of the plurality of updates to the one or more metadata pages of a first metadata store position;

writing the one or more bulk updates the plurality of updates to the one or more metadata pages of a second metadata store position in response to writing the one or more bulk updates the plurality of updates to the one or more metadata pages of the first metadata store position; and

setting a status indicator for the transaction record for the plurality of updates based upon, at least in part, writing the one or more delta updates to the non-volatile log and one or more of writing the one or more bulk updates the plurality of updates to the one or more metadata pages of the first metadata store position and writing the one or more bulk updates the plurality of updates to the one or more metadata pages of the second metadata store position.

9. The computer program product of claim 8 , wherein each of the first metadata store position and the second metadata store position are storage devices configured to mirror each other.

10. The computer program product of claim 8 , wherein defining the transaction record for the plurality of updates to the one or more metadata pages includes writing the transaction record to the non-volatile log.

11. The computer program product of claim 8 , wherein setting the status indicator for the transaction record for the plurality of updates includes setting the status indicator to a first status indicator indicating that the one or more bulk updates the plurality of updates is being written to the one or more metadata pages of the first metadata store position and written to the one or more metadata pages of the second metadata store position.

12. The computer program product of claim 11 , wherein the operations further comprise:

identifying a failure associated with the storage system;

determining that the status indicator for the transaction record for the plurality of updates is the first status indicator; and

determining whether each metadata page of the one or more metadata pages of the first metadata store position includes a reference to the transaction record.

13. The computer program product of claim 12 , wherein the operations further comprise:

in response to determining that each metadata page of the one or more metadata pages of the first metadata store includes a reference to the transaction record, copying each metadata page of the one or more metadata pages from the first metadata store position to the second metadata store position; and

setting the status indicator for the transaction record for the plurality of updates to a second status indicator indicating that the one or more bulk updates the plurality of updates is written to the second metadata store position.

14. The computer program product of claim 12 , wherein the operations further comprise:

in response to determining that each metadata page of the one or more metadata pages of the first metadata store does not include a reference to the transaction record, copying each metadata page of the one or more metadata pages from the second metadata store position to the first metadata store position; and

invalidating the transaction record for the plurality of updates.

15. A computing system comprising:

a memory; and

a processor configured to receive a plurality of updates to one or more metadata pages of a storage system, wherein the plurality of updates include one or more bulk updates and one or more delta updates to the one or more metadata pages, wherein the processor is further configured to define a transaction record for the plurality of updates to the one or more metadata pages, wherein the processor is further configured to write the one or more delta updates to a non-volatile log, wherein the processor is further configured to write at least a portion of the plurality of updates to the one or more metadata pages of a first metadata store position, wherein the processor is further configured to write the one or more bulk updates the plurality of updates to the one or more metadata pages of a second metadata store position in response to writing the one or more bulk updates the plurality of updates to the one or more metadata pages of the first metadata store position, and wherein the processor is further configured to set a status indicator for the transaction record for the plurality of updates based upon, at least in part, writing the one or more delta updates to the non-volatile log and one or more of writing the one or more bulk updates the plurality of updates to the one or more metadata pages of the first metadata store position and writing the one or more bulk updates the plurality of updates to the one or more metadata pages of the second metadata store position.

16. The computing system of claim 15 , wherein each of the first metadata store position and the second metadata store position are storage devices configured to mirror each other.

17. The computing system of claim 15 , wherein defining the transaction record for the plurality of updates to the one or more metadata pages includes writing the transaction record to the non-volatile log.

18. The computing system of claim 15 , wherein setting the status indicator for the transaction record for the plurality of updates includes setting the status indicator to a first status indicator indicating that the one or more bulk updates the plurality of updates is being written to the one or more metadata pages of the first metadata store position and written to the one or more metadata pages of the second metadata store position.

19. The computing system of claim 18 , wherein the processor is further configured to:

identify a failure associated with the storage system;

determine that the status indicator for the transaction record for the plurality of updates is the first status indicator; and

determine whether each metadata page of the one or more metadata pages of the first metadata store position includes a reference to the transaction record.

20. The computing system of claim 19 , wherein the processor is further configured to:

in response to determining that each metadata page of the one or more metadata pages of the first metadata store includes a reference to the transaction record, copy each metadata page of the one or more metadata pages from the first metadata store position to the second metadata store position; and

set the status indicator for the transaction record for the plurality of updates to a second status indicator indicating that the one or more bulk updates the plurality of updates is written to the second metadata store position.

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 20, 2020
From: SHVEIDEL, VLADIMIR; DAVID, BAR
To: EMC IP HOLDING COMPANY, LLC
Reel/Frame 054106/0189 →