IP Library Granted Patent US 10,754,737
Granted Patent B2
US 10,754,737 · App. 16/005,935 · Granted Aug 25, 2020

Boot assist metadata tables for persistent memory device updates during a hardware fault

Inventors: Yogesh P. Kulkarni (Round Rock, TX); Shekar Babu Suryanarayana (Bangalore, IN)
Assignee: Dell Products, L.P.
G06F11/1471G06F2201/805G06F2201/82
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,754,737
App. No.
16/005,935
Granted
Aug 25, 2020
Kind
B2
Abstract

A method and data processing device for enabling a write operation to track meta-data changes during a hardware fault in an information handling system (IHS). The method includes generating an indexing map to track memory space attributes of a persistent memory device. The method includes generating a subsequent indexing map that is a duplicate of a first indexing map. The method includes communicatively linking each of the indexing maps. The method includes distributing a subsequent indexing map to one or more memory devices. In response to detection of an update to meta-data associated during a hardware fault, the method includes identifying an indexing map that is stored on a writeable memory device. In response to detection of the hardware fault the method includes writing memory space attributes to the writeable indexing map. The method includes synchronizing a master indexing map to each other indexing map to coordinate changes to the memory space attributes.

Claims (42)

1. A method for enabling a write operation to track meta-data changes during a hardware fault in an information handling system (IHS), the method comprising:

generating, by a processor, a first indexing map to track memory space attributes associated with a persistent memory device, the memory space attributes pointing to meta-data stored on at least one persistent memory device from among a plurality of persistent memory devices;

generating at least one subsequent indexing map that is a duplicate of the first indexing map;

communicatively linking the first indexing map to the subsequent indexing map;

distributing the subsequent indexing map to one or more mapping memory devices;

in response to detection of an update to meta-data associated with the memory space attributes in an event of a hardware fault, identifying one of the (i) first indexing map and (ii) the subsequent indexing map that is stored on the mapping memory device as a writeable indexing map, wherein the writeable indexing map is on a writeable memory device;

in response to detection of the hardware fault writing information defining memory space attributes to at least one of the first indexing map and the subsequent indexing map to generate a master indexing map; and

synchronizing, via a runtime operation, the master indexing map to each of the first indexing map and the subsequent indexing map to coordinate changes to the memory space attributes.

2. The method of claim 1 , wherein the information defining memory space attributes correspond to one or more of a namespace and a portion of a namespace associated with a respective persistent memory device.

3. The method of claim 1 , further comprising executing the write operation to one of the first indexing map and subsequent indexing map during the hardware fault, when a corresponding one of the first indexing map and the subsequent indexing map is stored on a mapping memory device that is writeable during detection of the hardware fault.

4. The method of claim 3 , further comprising identifying the mapping memory device that is writeable from among plurality of mapping memory devices, in response to a selected mapping memory device being unable to receive the write operation.

5. The method of claim 3 , wherein the hardware fault comprises one or more of a battery power falling below a predetermined threshold, a battery power failure, and a persistent memory device failure.

6. The method of claim 1 , wherein at least one of the plurality of persistent memory devices is a non-volatile dual in-line memory module (NVDIMM), and a NVDIMM driver loads the first indexing map to a NVDIMM firmware interface table (NFIT) stored on a first memory device from among the one or more mapping memory devices.

7. The method of claim 6 , wherein the one or more mapping memory devices are associated with at least one of a NVDIMM controller, baseboard management controller (BMC), and an embedded multi-media controller (eMMC), and wherein a respective controller loads one of the first indexing map and the subsequent indexing map to an associated mapping memory device.

8. The method of claim 1 , wherein the information defining memory space attributes include a namespace that maps to a corresponding memory region on one or more corresponding persistent memory devices.

9. The method of claim 8 , further comprising, in response to the namespace mapping to a plurality of memory regions associated with a plurality of corresponding persistent memory devices, linking the namespace to each corresponding memory region on each one of the plurality of corresponding persistent memory devices.

10. The method of claim 1 , wherein the first indexing map and the subsequent indexing map are Boot Assist Meta-data (BAM) indexing maps each having a first header and a second header, wherein:

the first header is a persistent memory device identifier that is utilized to locate each BAM indexing map where the persistent memory device is indexed;

each first header includes a plurality of entries that identify attributes of a respective persistent memory device, the attributes including a capacity, a type, and a number of entries that are associated with the respective persistent memory device; and

the second header is a namespace identifier that has a plurality of entries that point to a respective namespace that is associated with a memory region on the respective persistent memory device.

11. An Information Handling System (IHS) comprising:

a processor;

a plurality of persistent memory devices coupled to the processor; and

a firmware interface chipset coupled to the processor and comprising a firmware interface that is executed by the processor to cause the processor to:

generate at least one subsequent indexing map that is a duplicate of the first indexing map;

communicatively link the first indexing map to the subsequent indexing map;

distribute the subsequent indexing map to one or more mapping memory devices;

in response to detection of an update to meta-data associated with the information defining memory space attributes during a hardware fault, identify one of the (i) first indexing map and (ii) the subsequent indexing map that is stored on the mapping memory device as a writeable indexing map;

in response to detection of the hardware fault write information defining memory space attributes to at least one of the first indexing map and the subsequent indexing map to generate a master indexing map; and

synchronize, via a runtime operation, the master indexing map with each of the first indexing map and the subsequent indexing map to coordinate changes to the information defining memory space attributes.

12. The IHS of claim 11 , wherein, in response to a runtime operation, the firmware interface causes the processor to synchronize one of the first indexing map and the subsequent indexing map with the writeable indexing map to coordinate changes to the information defining memory space attributes, wherein the information defining memory space attributes correspond to one or more of a namespace and a portion of a namespace associated with a respective persistent memory device.

13. The IHS of claim 11 , wherein the firmware interface causes the processor to execute the write operation to one of the first indexing map and subsequent indexing map during the hardware fault, when a corresponding one of the first indexing map and the subsequent indexing map is stored on a mapping memory device that is writeable during detection of the hardware fault.

14. The IHS of claim 13 , wherein the firmware interface causes the processor to identify the mapping memory device that is writeable from among plurality of mapping memory devices, in response to a selected mapping memory device being unable to receive the write operation.

15. The IHS of claim 13 , wherein the hardware fault comprises one or more of a battery power falling below a predetermined threshold, a battery power failure, and a persistent memory device failure.

16. The IHS of claim 11 , wherein at least one of the plurality of persistent memory devices coupled to the processor is a non-volatile dual in-line memory module (NVDIMM), and a NVDIMM driver loads the first indexing map to a NVDIMM firmware interface table (NFIT) stored on a first memory device from among the one or more mapping memory devices.

17. The IHS of claim 16 , wherein the one or more mapping memory devices are associated with at least one of a NVDIMM controller, baseboard management controller (BMC), and an embedded multi-media controller (eMMC), and wherein a respective controller loads one of the first indexing map and the subsequent indexing map to an associated memory device.

18. The IHS of claim 11 , wherein the information defining memory space attributes include a namespace that maps to a corresponding memory region on one or more corresponding persistent memory devices.

19. The IHS of claim 18 , wherein, in response to the namespace mapping to a plurality of memory regions associated with a plurality of corresponding persistent memory devices, the firmware interface causes the processor to link the namespace to each one of the corresponding memory regions on each one of the plurality of corresponding persistent memory devices.

20. The IHS of claim 11 , wherein the first indexing map and the subsequent indexing map are Boot Assist Meta-data (BAM) indexing maps, and the firmware interface causes the processor to generate the BAM indexing maps, each having a first header and a second header, wherein:

the first header is a persistent memory device identifier that is utilized to locate each BAM indexing map where the persistent memory device is indexed;

each first header includes a plurality of entries that identify attributes of a respective persistent memory device, the attributes including a capacity, a type, and a number of entries that are associated with the respective persistent memory device; and

the second header is a namespace identifier that has a plurality of entries that point to a respective namespace that is associated with a memory region on the respective persistent memory device.

Assignments (8)
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 (047648/0422) Recorded May 20, 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 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 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 058298/0510 →
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 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
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 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2018
From: KULKARNI, YOGESH P.; SURYANARAYANA, SHEKAR BABU
To: DELL PRODUCTS, L.P.
Reel/Frame 046054/0388 →
Continuity (1)
Related Publication 20190377644A1 · Dec 12, 2019