IP Library Granted Patent US 11,226,877
Granted Patent B2
US 11,226,877 · App. 16/787,987 · Granted Jan 18, 2022

Hybrid NVRAM logging in filesystem namespace

Inventors: Pengju Shang (Milpitas, CA); George Mathew (Belmont, CA); Dhawal Bhagwat (Bangalore, IN); Pranay Singh (Cupertino, CA); Englin Koay (Dublin, CA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F11/1471G06F3/065G06F3/0619G06F3/0679G06F11/1456G06F16/1805G06F16/1815G06F2201/84
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,226,877
App. No.
16/787,987
Granted
Jan 18, 2022
Kind
B2
Abstract

In one example, a method for writing data includes receiving a write request and performing a first type of logging process in connection with the write request, and creating a corresponding first logging record. Additionally, a second type of logging process is performed in connection with the write request, and a corresponding second logging record created, where the second type of logging process is different from the first type of logging process. Next, a determination is made, as between the two logging records, which of the logging records requires the least amount of non-volatile random access memory (NVRAM), and the logging record that requires the least amount of NVRAM is written to the NVRAM.

Claims (31)

1. A method, comprising:

determining an amount of non-volatile random access memory (NVRAM) needed for a set of one or more write requests, and allocating the amount of NVRAM to the set of one or more write requests;

receiving a write request;

performing a first type of logging process in connection with the write request, and creating a corresponding first logging record;

performing a second type of logging process in connection with the write request, and creating a corresponding second logging record, wherein the second type of logging process is different from the first type of logging process;

determining, as between the first logging record and the second logging record of two logging records, which of the two logging records requires a least amount of non-volatile random access memory (NVRAM); and

writing, to the NVRAM, a logging record that requires the least amount of the NVRAM.

2. The method as recited in claim 1 , wherein one of the logging processes is a physical logging process.

3. The method as recited in claim 1 , wherein one of the logging processes is a logical logging process.

4. The method as recited in claim 1 , wherein the first type of logging process is a physical logging process, and the second type of logging process is a logical logging process.

5. The method as recited in claim 1 , wherein the first logging record comprises a (key, value) pair.

6. The method as recited in claim 1 , wherein the second logging record comprises a (operation type, metadata) pair.

7. The method as recited in claim 1 , wherein the logging record written to NVRAM is either a physical logging record or a logical logging record.

8. The method as recited in claim 1 , further comprising determining a first threshold NVRAM space requirement that corresponds to the first type of logging process, and determining a second threshold NVRAM space requirement that corresponds to the second type of logging process.

9. The method as recited in claim 8 , wherein the first threshold NVRAM space requirement and the second threshold NVRAM space requirement each respectively comprise a threshold at which one of the first type of logging process and the second type of logging process is preferred over the other of the first type of logging process and the type of second logging process.

10. The method as recited in claim 1 , wherein the NVRAM is allocated on a namespace basis.

11. A method, comprising:

determining an amount of non-volatile random access memory (NVRAM) needed for a set of one or more write requests, and allocating the amount of NVRAM to the set of one or more write requests;

writing data by performing the following:

receiving a write request;

performing a first type of logging process in connection with the write request, and creating a corresponding first logging record;

performing a second type of logging process in connection with the write request, and creating a corresponding second logging record, wherein the second type of logging process is different from the first type of logging process;

determining, as between the first logging record and the second logging record of two logging records, which of the two logging records requires a least amount of non-volatile random access memory (NVRAM); and

creating a stored logging record by writing, to the NVRAM, a logging record that requires the least amount of NVRAM; and

reading data by performing the following:

receiving a read request;

accessing, in response to the read request, the stored logging record; and

recovering data associated with the stored logging record.

12. The method as recited in claim 11 , wherein recovering data associated with the stored logging record comprises either recovering data included in the stored logging record, or recovering data based on logical data included in the stored logging record.

13. The method as recited in claim 11 , wherein the first type of logging record is a physical logging record, and the second type of logging record is a logical logging record.

14. The method as recited in claim 11 , wherein the NVRAM is allocated on a namespace basis.

Assignments (14)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) 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 IP HOLDING COMPANY LLC
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) 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 IP HOLDING COMPANY LLC
Reel/Frame 060436/0582 →
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 (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 (052851/0081) 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 IP HOLDING COMPANY LLC
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
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 INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2020
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051898/0619 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2020
From: SHANG, PENGJU; MATHEW, GEORGE; BHAGWAT, DHAWAL; SINGH, PRANAY; KOAY, ENGLIN
To: EMC CORPORATION
Reel/Frame 051788/0383 →