IP Library › Granted Patent US 9,852,060
Granted Patent B2
US 9,852,060 · App. 15/087,589 · Granted Dec 26, 2017

Storage class memory (SCM) memory mode cache system

Inventors: Stuart Allen Berke (Austin, TX); John E. Jenne (Austin, TX)
Assignee: Dell Products L.P.
G06F12/0238G06F12/0804G06F2212/205G06F2212/225
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 9,852,060
App. No.
15/087,589
Filed
Mar 31, 2016
Granted
Dec 26, 2017
Kind
B2
Examiner
DOAN, DUC T
Art Unit
2135
USPC
711/103
Abstract

An SCM memory mode NVDIMM-N cache system includes an SCM subsystem, and an NVDIMM-N subsystem having at volatile memory device(s) and non-volatile memory device(s). A memory controller writes data to the volatile memory device(s) and, in response, updates a cache tracking database. The memory controller then writes a subset of the data to the SCM subsystem subsequent to the writing of that data to the volatile memory device(s) and, in response, updates the cache tracking database. The memory controller then receives a shutdown signal and, in response, copies the cache tracking database to the volatile memory device(s) in the NVDIMM-N subsystem. The NVDIMM-N subsystem then copies at least some of the data and the cache tracking database from the volatile memory device(s) to the non-volatile memory device(s) prior to shutdown. The data and the cache tracking database may then be retrieved from non-volatile memory device(s) when the system is restored.

Claims (48)

1. A Storage Class Memory (SCM) memory mode Non-Volatile Dual Inline Memory Module (NVDIMM-N) cache system, comprising:

a Storage Class Memory (SCM) subsystem;

a Non-Volatile Dual Inline Memory Module (NVDIMM-N) subsystem including at least one volatile memory device and at least one non-volatile memory device; and

a memory controller that is coupled to the SCM subsystem and the NVDIMM-N subsystem, wherein the memory controller is configured to:

write a plurality of data to the at least one volatile memory device in the NVDIMM-N subsystem and, in response, update a cache tracking database;

write a first subset of the plurality of data to the SCM subsystem subsequent to the writing of the plurality of data to the at least one volatile memory device in the NVDIMM-N subsystem and, in response, update the cache tracking database; and

receive a shutdown signal and, in response, copy the cache tracking database to the at least one volatile memory device in the NVDIMM-N subsystem, wherein the NVDIMM-N subsystem is configured to copy at least some of the plurality of data and the cache tracking database from the at least one volatile memory device in the NVDIMM-N subsystem to the at least one non-volatile memory device in the NVDIMM-N subsystem prior to a shutdown associated with the shutdown signal.

2. The system of claim 1 , wherein the memory controller is configured to:

erase the first subset of the plurality of data from the at least one volatile memory device in the NVDIMM-N subsystem in response to writing the subset of the plurality of data to the SCM subsystem, wherein the erasing of the first subsystem of the plurality of data from the at least one volatile memory device in the NVDIMM-N subsystem provides a second subset of the plurality of data on the at least one volatile memory device in the NVDIMM-N subsystem.

3. The system of claim 2 , wherein the at least some of the plurality of data that is copied by the NVDIMM-N subsystem from the at least one volatile memory device in the NVDIMM-N subsystem to the at least one non-volatile memory device in the NVDIMM-N subsystem prior to the shutdown is the second subset of the plurality of data.

4. The system of claim 2 , wherein the cache tracking database details storage locations and statuses of the first subset of the plurality of data on the SCM subsystem and the second subset of the plurality of data on the at least one volatile memory subsystem in the NVDIMM-N subsystem.

5. The system of claim 1 , wherein the at least one volatile memory device in the NVDIMM-N subsystem includes at least one Dynamic Random Access Memory (DRAM) device, and the at least one non-volatile memory device in the NVDIMM-N subsystem includes at least one flash memory device.

6. The system of claim 1 , wherein the NVDIMM-N subsystem is configured to:

receive a restore signal subsequent to the shutdown and, in response, copy the at least some of the plurality of data and the cache tracking database from the at least one non-volatile memory device in the NVDIMM-N subsystem to the at least one volatile memory device in the NVDIMM-N subsystem, wherein the memory controller is configured to retrieve the cache tracking database from the at least one volatile memory device in the NVDIMM-N subsystem and copy the at least some of the plurality of data from the at least one volatile memory device in the NVDIMM-N subsystem to the SCM subsystem.

7. The system of claim 6 , further comprising:

a Basic Input/Output System (BIOS) that is configured to determine that the memory controller has copied the at least some of the plurality of data from the at least one volatile memory device in the NVDIMM-N subsystem to the SCM subsystem and, in response, erase the at least some of the plurality of data from the at least one volatile memory device in the NVDIMM-N subsystem.

8. An Information Handling System (IHS), comprising:

a chassis;

a memory system that is located in the chassis and that includes:

a Storage Class Memory (SCM) subsystem; and

a Non-Volatile Dual Inline Memory Module (NVDIMM-N) subsystem including at least one volatile memory device and at least one non-volatile memory device;

a processing system that is coupled to the memory system and that is configured to:

write a plurality of data to the at least one volatile memory device in the NVDIMM-N subsystem and, in response, update a cache tracking database;

write a first subset of the plurality of data to the SCM subsystem subsequent to the writing of the plurality of data to the at least one volatile memory device in the NVDIMM-N subsystem and, in response, update the cache tracking database; and

receive a shutdown signal and, in response, copy the cache tracking database to the at least one volatile memory device in the NVDIMM-N subsystem, wherein the NVDIMM-N subsystem is configured to copy at least some of the plurality of data and the cache tracking database from the at least one volatile memory device in the NVDIMM-N subsystem to the at least one non-volatile memory device in the NVDIMM-N subsystem prior to a shutdown associated with the shutdown signal.

9. The IHS of claim 8 , wherein the processing system is configured to:

erase the first subset of the plurality of data from the at least one volatile memory device in the NVDIMM-N subsystem in response to writing the subset of the plurality of data to the SCM subsystem, wherein the erasing of the first subsystem of the plurality of data from the at least one volatile memory device in the NVDIMM-N subsystem provides a second subset of the plurality of data on the at least one volatile memory device in the NVDIMM-N subsystem.

10. The IHS of claim 9 , wherein the at least some of the plurality of data that is copied by the NVDIMM-N subsystem from the at least one volatile memory device in the NVDIMM-N subsystem to the at least one non-volatile memory device in the NVDIMM-N subsystem prior to the shutdown is the second subset of the plurality of data.

11. The IHS of claim 9 , wherein the cache tracking database details storage locations and statuses of the first subset of the plurality of data on the SCM subsystem and the second subset of the plurality of data on the at least one volatile memory subsystem in the NVDIMM-N subsystem.

12. The IHS of claim 8 , wherein the NVDIMM-N subsystem is configured to:

receive a restore signal subsequent to the shutdown and, in response, copy the at least some of the plurality of data and the cache tracking database from the at least one non-volatile memory device in the NVDIMM-N subsystem to the at least one volatile memory device in the NVDIMM-N subsystem, wherein the processing system is configured to retrieve the cache tracking database from the at least one volatile memory device in the NVDIMM-N subsystem and copy the at least some of the plurality of data from the at least one volatile memory device in the NVDIMM-N subsystem to the SCM subsystem.

13. The IHS of claim 12 , further comprising:

a Basic Input/Output System (BIOS) that is configured to determine that the processing system has copied the at least some of the plurality of data from the at least one volatile memory device in the NVDIMM-N subsystem to the SCM subsystem and, in response, erase the at least some of the plurality of data from the at least one volatile memory device in the NVDIMM-N subsystem.

14. A method for providing a Storage Class Memory (SCM) memory mode Non-Volatile Dual Inline Memory Module (NVDIMM-N) cache, comprising:

writing, by a memory controller to at least one volatile memory device in an Non-Volatile Dual Inline Memory Module (NVDIMM-N) subsystem, a plurality of data and, in response, updating a cache tracking database;

writing, by the memory controller to an Storage Class Memory (SCM) subsystem subsequent to the writing of the plurality of data to the at least one volatile memory device in the NVDIMM-N subsystem, a first subset of the plurality of data and, in response, updating the cache tracking database;

receiving, by the memory controller, a shutdown signal and, in response, copying the cache tracking database to the at least one volatile memory device in the NVDIMM-N subsystem; and

copying, by the NVDIMM-N subsystem, at least some of the plurality of data and the cache tracking database from the at least one volatile memory device in the NVDIMM-N subsystem to the at least one non-volatile memory device in the NVDIMM-N subsystem prior to a shutdown associated with the shutdown signal.

15. The method of claim 14 , further comprising:

erasing, by the memory controller, the first subset of the plurality of data from the at least one volatile memory device in the NVDIMM-N subsystem in response to writing the subset of the plurality of data to the SCM subsystem, wherein the erasing of the first subsystem of the plurality of data from the at least one volatile memory device in the NVDIMM-N subsystem provides a second subset of the plurality of data on the at least one volatile memory device in the NVDIMM-N subsystem.

16. The method of claim 15 , wherein the at least some of the plurality of data that is copied by the NVDIMM-N subsystem from the at least one volatile memory device in the NVDIMM-N subsystem to the at least one non-volatile memory device in the NVDIMM-N subsystem prior to the shutdown is the second subset of the plurality of data.

17. The method of claim 15 , wherein the cache tracking database details storage locations and statuses of the first subset of the plurality of data on the SCM subsystem and the second subset of the plurality of data on the at least one volatile memory subsystem in the NVDIMM-N subsystem.

18. The method of claim 14 , wherein the at least one volatile memory device in the NVDIMM-N subsystem includes at least one Dynamic Random Access Memory (DRAM) device, and the at least one non-volatile memory device in the NVDIMM-N subsystem includes at least one flash memory device.

19. The method of claim 14 , further comprising:

receiving, by the NVDIMM-N subsystem, a restore signal subsequent to the shutdown and, in response, copying the at least some of the plurality of data and the cache tracking database from the at least one non-volatile memory device in the NVDIMM-N subsystem to the at least one volatile memory device in the NVDIMM-N subsystem; and

retrieving, by the memory controller, the cache tracking database from the at least one volatile memory device in the NVDIMM-N subsystem and copying the at least some of the plurality of data from the at least one volatile memory device in the NVDIMM-N subsystem to the SCM subsystem.

20. The method of claim 19 , further comprising

determining, by a Basic Input/Output System (BIOS), that the memory controller has copied the at least some of the plurality of data from the at least one volatile memory device in the NVDIMM-N subsystem to the SCM subsystem and, in response, erasing the at least some of the plurality of data from the at least one volatile memory device in the NVDIMM-N subsystem.

Assignments (15)
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 (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
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 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF REEL 038664 FRAME 0908 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, CORP.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040027/0390 →
RELEASE OF REEL 038665 FRAME 0041 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, CORP.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040028/0375 →
RELEASE OF REEL 038665 FRAME 0001 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, CORP.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040021/0348 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded May 11, 2016
From: DELL SOFTWARE INC.; WYSE TECHNOLOGY, L.L.C.; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 038664/0908 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded May 11, 2016
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; WYSE TECHNOLOGY, L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 038665/0041 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded May 11, 2016
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; WYSE TECHNOLOGY, L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 038665/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2016
From: BERKE, STUART ALLEN; JENNE, JOHN E.
To: DELL PRODUCTS L.P.
Reel/Frame 038165/0081 →
Continuity (1)
Related Publication 20170286285A1 · Oct 5, 2017