IP Library Granted Patent US 10,936,407
Granted Patent B2
US 10,936,407 · App. 16/426,372 · Granted Mar 2, 2021

System and method to reduce address range scrub execution time in non-volatile dual inline memory modules

Inventors: Ching-Lung Chao (Austin, TX); Shih-Hao Wang (New Taipei, TW); Hsin-Chieh Wang (Taoyuan, TW)
Assignee: Dell Products, L.P.
G06F11/1016G06F12/0246
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 10,936,407
App. No.
16/426,372
Granted
Mar 2, 2021
Kind
B2
Abstract

A non-volatile dual in-line memory module (NVDIMM) instantiates first and second partitions of non-volatile memory. The first partition is reserved and is not accessible to an operating system instantiated. The second partition is accessible to the operating system. A processor detects a first bad memory location in the second partition, stores a first system physical address of the first bad memory location to a system bad memory locations list, and stores a first DIMM physical address of the first bad memory location to a first NVDIMM bad memory locations list in the first partition.

Claims (60)

1. An information handling system, comprising:

a first non-volatile dual in-line memory module (NVDIMM) configured to instantiate a first partition of non-volatile memory and a second partition of non-volatile memory, the first partition being a reserved partition that is not accessible to an operating system instantiated on the information handling system, and the second partition being accessible to the operating system; and

a processor configured to:

detect a first bad memory location in the second partition;

store a first system physical address (SPA) associated with the first bad memory location to a system bad memory locations list; and

store a first DIMM physical address (DPA) of the first bad memory location to a first NVDIMM bad memory locations list in the first partition.

2. The information handling system of claim 1 , wherein the first SPA represents a location of the first bad memory location within a memory architecture of the information handling system, and wherein the first DPA represents a location of the first bad memory location within a the first NVDIMM.

3. The information handling system of claim 1 , wherein the processor is further configured to:

convert the first SPA to the first DPA before storing the first DPA to the NVDIMM bad memory locations list.

4. The information handling system of claim 1 , further comprising:

a second NVDIMM configured to instantiate a third partition of non-volatile memory and a fourth partition of non-volatile memory, the third partition being a reserved partition that is not accessible to the operating system, and the fourth partition being accessible to the operating system;

wherein the processor is further configured to;

detect a second bad memory location in the fourth partition;

store a second SPA of the second bad memory location to the system bad memory locations list; and

store a second DPA of the second bad memory location to a second NVDIMM bad memory locations list in the third partition.

5. The information handling system of claim 1 , wherein the processor is further configured to:

read a second NVDIMM bad memory location list from a third partition in a second NVDIMM; and

determine whether or not the second NVDIMM bad memory locations list matches the system bad memory locations list.

6. The information handling system of claim 5 , wherein the processor is further configured to:

convert DPAs from the second NVDIMM bad memory locations list SPAs, wherein determining whether or not the second NVDIMM bad memory locations list matches the system bad memory locations list is based upon the converted SPAs.

7. The information handling system of claim 6 , wherein the processor is further configured to:

determine that the second NVDIMM is a newly installed NVDIMM into the information handling system when the second NVDIMM bad memory locations list does not match the system bad memory locations list.

8. The information handling system of claim 7 , wherein the processor is further configured to:

execute an address range scrub process on the first and second NVDIMMs in response to determining that the second NVDIMM is a newly installed NVDIMM.

9. The information handling system of claim 6 , wherein the processor is further configured to:

determine that the second NVDIMM is the first NVDIMM when the second NVDIMM bad memory locations list matches the system bad memory locations list.

10. A method, comprising:

providing, on a first non-volatile dual in-line memory module (NVDIMM), a first partition of non-volatile memory, wherein the first partition is a reserved partition that is not accessible to an operating system instantiated on the information handling system;

providing, on the first NVDIMM, a second partition of non-volatile memory, wherein the second partition is accessible to the operating system;

detecting, by a processor of the information handling system, a first bad memory location in the second partition;

storing, by the processor, a first system physical address (SPA) associated with the first bad memory location to a system bad memory locations list; and

storing, by the processor, a first DIMM physical address (DPA) of the first bad memory location to a first NVDIMM bad memory locations list in the first partition.

11. The method of claim 10 , wherein the first SPA represents a location of the first bad memory location within a memory architecture of the information handling system, and wherein the first DPA represents a location of the first bad memory location within a the first NVDIMM.

12. The method of claim 10 , further comprising:

converting, by the processor, the first SPA to the first DPA before storing the first DPA to the NVDIMM bad memory locations list.

13. The method of claim 10 , further comprising:

providing, on a second NVDIMM, a third partition of non-volatile memory, wherein the third partition is a reserved partition that is not accessible to the operating system;

providing, on the second NVDIMM, a fourth partition of non-volatile memory, wherein the fourth partition is accessible to the operating system;

detecting, by the processor, a second bad memory location in the fourth partition;

storing, by the processor, a second SPA of the first bad memory location to the system bad memory locations list; and

storing, by the processor, a second DPA of the second bad memory location to a second NVDIMM bad memory locations list in the third partition.

14. The method of claim 10 , further comprising:

reading, by the processor, a second NVDIMM bad memory location list from a third partition in a second NVDIMM; and

determining, by the processor, whether or not the second NVDIMM bad memory locations list matches the system bad memory locations list.

15. The method of claim 14 , further comprising:

converting, by the processor, DPAs from the second NVDIMM bad memory locations list SPAs, wherein determining whether or not the second NVDIMM bad memory locations list matches the system bad memory locations list is based upon the converted SPAs.

16. The method of claim 15 , further comprising:

determining, by the processor, that the second NVDIMM is a newly installed NVDIMM into the information handling system when the second NVDIMM bad memory locations list does not match the system bad memory locations list.

17. The method of claim 16 , further comprising:

Executing, by the processor, an address range scrub process on the first and second NVDIMMs in response to determining that the second NVDIMM is a newly installed NVDIMM.

18. The method of claim 16 , further comprising:

determining, by the processor, that the second NVDIMM is the first NVDIMM when the second NVDIMM bad memory locations list matches the system bad memory locations list.

19. An information handling system, comprising:

a DC persistent memory module (DCPMM) configured to instantiate a first partition of non-volatile memory and a second partition of non-volatile memory, the first partition being a reserved partition that is not accessible to an operating system instantiated on the information handling system and including a first region and a second region, and the second partition being accessible to the operating system; and

a processor configured to;

detect a bad memory location in the second partition;

store a system physical address (SPA) associated with the bad memory location to a system bad memory locations list, the first SPA being within a SPA-space of the information handling system;

convert the SPA to a DIMM physical address of the bad memory location; and

store the DPA to a DCPMM bad memory locations list in the first partition.

20. The information handling system of claim 19 , wherein the SPA represents a location of the bad memory location within a memory architecture of the information handling system, and wherein the DPA represents a location of the bad memory location within a the DCPMM.

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 27, 2019
From: CHAO, CHING-LUNG; WANG, SHIH-HAO; WANG, HSIN-CHIEH
To: DELL PRODUCTS, LP
Reel/Frame 050177/0257 →