IP Library Granted Patent US 11,899,630
Granted Patent B2
US 11,899,630 · App. 17/238,382 · Granted Feb 13, 2024

System and method for non-disruptive upgrade for metadata log with minimal hiccup

Inventors: Ami Sabo (Netanya, IL); Vladimir Shveidel (Pardes-Hana, IL); Dror Zalstein (Givatayim, IL)
Assignee: EMC IP Holding Company, LLC
G06F16/1865G06F8/65G06F16/164G06F16/1774G06F16/1873
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,899,630
App. No.
17/238,382
Filed
Apr 23, 2021
Granted
Feb 13, 2024
Kind
B2
Art Unit
2154
USPC
707/826
Abstract

A method, computer program product, and computer system for controlling, by a computing device, access to a non-volatile memory using a non-volatile lock as a reader of the non-volatile memory. Metadata (MD) non-volatile memory commits may be throttled until capacity of the non-volatile memory is at a threshold capacity.

Claims (35)

1. A computer-implemented method comprising:

controlling, by a computing device, access to a non-volatile memory using a non-volatile lock as a reader of the non-volatile memory;

throttling metadata (MD) non-volatile memory commits until capacity of the non-volatile memory is at a threshold capacity;

preventing commits of data during formatting of the non-volatile memory from a first version of the non-volatile memory to a second version of the non-volatile memory using the non-volatile lock as a writer of the non-volatile memory; and

writing to the non-volatile memory based upon, at least in part, the version of the non-volatile memory dictated by a current version of the non-volatile memory under the non-volatile lock,

wherein the first version held a full version of each changed MD page in the non-volatile memory and the second version held only the difference (delta) between an original page and the changed MD page in the non-volatile memory,

wherein the formatting of the non-volatile memory is only being changed from the first version to the second version but not vice versa, and

wherein the non-volatile lock is a lock that guards accesses to read/write to the non-volatile memory while the non-volatile memory is being formatted from the first version to the second version.

2. The computer-implemented method of claim 1 further comprising flushing any remaining non-volatile memory commits in the non-volatile memory.

3. The computer-implemented method of claim 1 further comprising releasing the non-volatile lock only after formatting of the non-volatile memory from the first version to the second version is completed.

4. The computer-implemented method of claim 3 further comprising collecting a plurality of transaction changes to the non-volatile memory according to whether each transaction change of the plurality of transaction changes is based upon the first version or the second version of the non-volatile memory.

5. The computer-implemented method of claim 1 wherein a first transaction change of the plurality of transaction changes is written in a first version format when the version of the non-volatile memory is the first version, and wherein a second transaction change of the plurality of transaction changes is written in a second version format when the version of the non-volatile memory is the second version.

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:

controlling access to a non-volatile memory using a non-volatile lock as a reader of the non-volatile memory;

throttling metadata (MD) non-volatile memory commits until capacity of the non-volatile memory is at a threshold capacity;

preventing commits of data during formatting of the non-volatile memory from a first version of the non-volatile memory to a second version of the non-volatile memory using the non-volatile lock as a writer of the non-volatile memory; and

writing to the non-volatile memory based upon, at least in part, the version of the non-volatile memory dictated by a current version of the non-volatile memory under the non-volatile lock,

wherein the first version held a full version of each changed MD page in the non-volatile memory and the second version held only the difference (delta) between an original page and the changed MD page in the non-volatile memory,

wherein the formatting of the non-volatile memory is only being changed from the first version to the second version but not vice versa, and

wherein the non-volatile lock is a lock that guards accesses to read/write to the non-volatile memory while the non-volatile memory is being formatted from the first version to the second version.

7. The computer program product of claim 6 wherein the operations further comprise flushing any remaining non-volatile memory commits in the non-volatile memory.

8. The computer program product of claim 6 wherein the operations further comprise releasing the non-volatile lock only after formatting of the non-volatile memory from the first version to the second version is completed.

9. The computer program product of claim 8 wherein the operations further comprise collecting a plurality of transaction changes to the non-volatile memory according to whether each transaction change of the plurality of transaction changes is based upon the first version or the second version of the non-volatile memory.

10. The computer program product of claim 6 wherein a first transaction change of the plurality of transaction changes is written in a first version format when the version of the non-volatile memory is the first version, and wherein a second transaction change of the plurality of transaction changes is written in a second version format when the version of the non-volatile memory is the second version.

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

controlling access to a non-volatile memory using a non-volatile lock as a reader of the non-volatile memory;

throttling metadata (MD) non-volatile memory commits until capacity of the non-volatile memory is at a threshold capacity;

preventing commits of data during formatting of the non-volatile memory from a first version of the non-volatile memory to a second version of the non-volatile memory using the non-volatile lock as a writer of the non-volatile memory; and

writing to the non-volatile memory based upon, at least in part, the version of the non-volatile memory dictated by a current version of the non-volatile memory under the non-volatile lock,

wherein the first version held a full version of each changed MD page in the non-volatile memory and the second version held only the difference (delta) between an original page and the changed MD page in the non-volatile memory,

wherein the formatting of the non-volatile memory is only being changed from the first version to the second version but not vice versa, and

wherein the non-volatile lock is a lock that guards accesses to read/write to the non-volatile memory while the non-volatile memory is being formatted from the first version to the second version.

12. The computing system of claim 11 wherein the operations further comprise at least one of flushing any remaining non-volatile memory commits in the non-volatile memory and releasing the non-volatile lock only after formatting of the non-volatile memory from the first version to the second version is completed.

13. The computing system of claim 12 wherein the operations further comprise collecting a plurality of transaction changes to the non-volatile memory according to whether each transaction change of the plurality of transaction changes is based upon the first version or the second version of the non-volatile memory.

14. The computing system of claim 11 wherein a first transaction change of the plurality of transaction changes is written in a first version format when the version of the non-volatile memory is the first version, and wherein a second transaction change of the plurality of transaction changes is written in a second version format when the version of the non-volatile memory is the second version.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2021
From: SABO, AMI; SHVEIDEL, VLADIMIR; ZALSTEIN, DROR
To: EMC IP HOLDING COMPANY, LLC
Reel/Frame 056016/0838 →
Continuity (1)
Related Publication 20220342855A1 · Oct 27, 2022