IP Library Granted Patent US 11,740,969
Granted Patent B2
US 11,740,969 · App. 17/900,247 · Granted Aug 29, 2023

Detecting and recovering a corrupted non-volatile random-access memory

Inventors: Gowtham Moorthy (Namakkal District, IN); Annappa Kumar MN (Bangalore, IN); Shekar Babu Suryanarayana (Bangalore, IN)
Assignee: Dell Products L.P.
G06F11/1068G06F11/0772G06F11/1438G06F11/1471G06F2201/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,740,969
App. No.
17/900,247
Granted
Aug 29, 2023
Kind
B2
Abstract

An information handling system includes a memory manager that may detect corruption of a non-volatile random-access memory, and perform a recovery process of the non-volatile random-access memory that includes determining whether a header of the non-volatile random-access memory is corrupted. If the header is not corrupted, then a data region associated with the header may be recovered from recovery data values in a spare store in the non-volatile random-access memory. If the header is corrupted, then the header and the data region may be recovered from default data values.

Claims (37)

1. A method comprising:

detecting, by a processor, a corruption of a non-volatile random-access memory of an information handling system;

performing a recovery process of the non-volatile random-access memory that includes:

determining whether a header of the non-volatile random-access memory is corrupted; and

if the header is corrupted, then initializing system properties and regenerating the header based on a previous snapshot; and

rebooting the information handling system.

2. The method of claim 1 , further comprising notifying a storage component to reset memory variables to default values.

3. The method of claim 1 , wherein the recovery process further includes resetting complementary metal-oxide-semiconductor/embedded controller properties.

4. The method of claim 3 , wherein the resetting of the complementary metal-oxide-semiconductor/embedded controller properties is for aligning other memory variables to default values.

5. The method of claim 1 , wherein the recovery process is performed after failing to initialize a variable service.

6. The method of claim 1 , wherein the performing of the recovery process further includes regenerating a data region from snapshots taken of the data region prior to the corruption.

7. The method of claim 1 , wherein the corruption is detected after a reclaim operation of the non-volatile random-access memory.

8. An information handling system, comprising:

a non-volatile random-access memory device; and

a memory manager interfaced with the non-volatile random-access memory device, the memory manager configured to:

detect corruption of the non-volatile random-access memory device;

perform a recovery process of the non-volatile random-access memory device that includes:

determining whether a header of the non-volatile random-access memory device is corrupted; and

if the header is not corrupted, then initializing system properties and regenerating the header based on a previous snapshot; and

reboot the information handling system.

9. The information handling system of claim 8 , wherein the memory manager is further configured to notify a storage component to reset memory variables to default values.

10. The information handling system of claim 8 , wherein the memory manager is further configured to reset complementary metal-oxide-semiconductor/embedded controller properties.

11. The information handling system of claim 10 , wherein the reset of the complementary metal-oxide-semiconductor/embedded controller properties is to align other memory variables to default values.

12. The information handling system of claim 8 , wherein the recovery process is performed after a variable service failed to initialize.

13. The information handling system of claim 12 , wherein the recovery process further includes to regenerate a data region from bit patterns from snapshots taken of the data region prior to the corruption.

14. A non-transitory computer-readable medium including code that when executed performs a method, the method comprising:

detecting corruption of a non-volatile random-access memory of an information handling system;

recovering the non-volatile random-access memory that includes:

determining whether a header of the non-volatile random-access memory is corrupted; and

if the header is corrupted, then initializing system properties and regenerating the header based on a previous snapshot; and

rebooting the information handling system.

15. The method of claim 14 , wherein the method further comprises notifying a storage component to reset memory variables to default values.

16. The method of claim 14 , wherein the recovering further includes resetting complementary metal-oxide-semiconductor/embedded controller properties.

17. The method of claim 16 , wherein the resetting of the complementary metal-oxide-semiconductor/embedded controller properties is for aligning other memory variables to default values.

18. The method of claim 14 , wherein the recovering is performed after failing to initialize a variable service.

19. The method of claim 14 , wherein the recovering further includes regenerating a data region from bit patterns from snapshots taken of the data region prior to the corruption.

20. The method of claim 14 , wherein the corruption is detected after a reclaim operation of the non-volatile random-access memory.

Continuity (2)
Continuation 17236549 · Apr 21, 2021
Related Publication 20220413962A1 · Dec 29, 2022
Cited By (2)
US 12,259,787 US 12,688,093