IP Library › Granted Patent US 11,669,401
Granted Patent B2
US 11,669,401 · App. 17/005,940 · Granted Jun 6, 2023

Status register power interruption protection

Inventor: Samuel Thomas Breen (Boise, ID)
Assignee: Micron Technology, Inc.
G06F11/1441G06F9/30101G06F11/0772G06F11/1417G06F2212/7211
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,669,401
App. No.
17/005,940
Granted
Jun 6, 2023
Kind
B2
Abstract

Techniques are provided for improved restart of a system. In an example, a system can alternate storing a status register value or state to two or more non-volatile memory locations. Upon a power interruption and restart, the value of the status register can be restored to a state very close to or commensurate with a last occurring state even if a write operation to one of the non-volatile memory locations resulted an inaccurate saving of that state of the status register.

Claims (43)

1. A system comprising:

a hardware status register configured to change values to track progression of a process of the system;

a non-volatile memory, including first and second locations;

and

a hardware controller configured to perform operations comprising:

saving representations of the values of the status register within the first location or the second location, including:

in response to a first value change of the status register, saving a first value of the status register in the first location including determining a first checksum based upon the first value;

in response to a second value change of the status register, saving a second value of the status register in the second location; and

wherein, in response to a startup of the system:

determining a validity of a value of the first non-volatile memory location and a validity of a value of the second non-volatile memory location, wherein determining a validity of a value the first non-volatile memory location includes determining a second checksum based on the value of the first non-volatile memory location and comparing the second checksum to the first checksum; and

resetting the value of the register based on the validity of the values of the first and second non-volatile memory location.

2. The system of claim 1 , further comprising saving a third checksum based on the second value of the status register.

3. The system of claim 2 , wherein, in response to a startup of the system, the controller is configured to determine the validity of a value of the second non-volatile memory location by determining a fourth checksum based on the value of the second non-volatile memory location and comparing the third checksum to the fourth checksum.

4. The system of claim 3 , wherein, in response to a determination that the value of the first non-volatile memory location and the value of the second non-volatile memory location include valid values of the status register, the controller is configured to determine whether the first non-volatile memory location or the second non-volatile memory location is a most recently saved value of the status register and the operations of resetting the value of the register comprises restoring the status register with a value corresponding to a most recently saved representation.

5. The system of claim 3 , wherein, in response to a determination that only one of the first non-volatile memory location or second non-volatile memory location includes a valid value of the status register, the controller is configured to resetting the value of the register by restoring the status register with a value corresponding to an immediately sequential valid value based on the valid value.

6. The system of claim 3 , wherein, in response to a determination that neither the first non-volatile memory location nor the second non-volatile memory location includes a valid value of the status register, the controller is configured to resetting the value of the register by restoring the status register with a value corresponding to predetermined default value.

7. The system of claim 1 , wherein the status register is an accumulation register of a counter.

8. The system of claim 7 , wherein the accumulation register tracks characteristics of the non-volatile memory.

9. The system of claim 7 , wherein the accumulation register tracks a wear leveling statistic of nonvolatile memory including the first location and the second location.

10. The system of claim 1 , wherein the non-volatile memory includes ferroelectric random access memory (FeRAM).

11. A method comprising:

at a hardware controller of a computing system:

incrementing a hardware status register of the computing system based on events of a first event type;

copying a value of the register to a first location of a non-volatile memory in response to a first event of the first event type including, determining a first checksum based on the value;

copying a value of the register to a second location of the non-volatile memory in response to a second event of the first event type;

upon re-starting the computing system from a power interruption, determining a validity of a value the first non-volatile memory location and a validity of a value of the second non-volatile memory location, wherein determining a validity of a value the first non-volatile memory location includes determining a second checksum based on the value of the first non-volatile memory location and comparing the second checksum to the first checksum; and

resetting the value of the register based on the validity of the values of the first and second non-volatile memory locations.

12. The method of claim 11 , wherein the copying the value of the register to the first non-volatile memory location includes storing the first checksum in non-volatile memory.

13. The method of claim 11 , wherein the copying the value of the register to the first non-volatile memory location includes storing the first checksum in first non-volatile memory location with the value.

14. The method of claim 11 , wherein the value of the first non-volatile memory location is determined valid in response to the second checksum matching the first checksum.

15. The method of claim 11 , wherein the determining the validity includes:

determining whether a value of the second non-volatile memory is valid based on a third checksum; and

wherein the resetting includes resetting the value of the register with a later occurring incremental value of the register of the system, wherein the later occurring value is the value of the first non-volatile memory location or the value of the second non-volatile memory location.

16. The method of claim 11 , wherein the determining the validity includes:

determining a value of the first non-volatile memory is valid based on the second checksum matching the first checksum, and

determining the value of the second non-volatile memory is invalid based on a third checksum; and

wherein the resetting includes resetting the value of the register with the value of the first non-volatile memory location.

17. The method of claim 11 , wherein the determining the validity includes:

determining the value of the first non-volatile memory is invalid based on the second checksum not matching the first checksum, and

determining the value of the second non-volatile memory is invalid based on a third checksum; and

wherein the resetting includes resetting the value of the register with a default value.

18. The method of claim 11 , wherein the register of the system is a fatigue threshold register for a non-volatile memory device including the first non-volatile memory location and the second non-volatile memory location.

19. The method of claim 11 , wherein one of the first non-volatile memory location or the second non-volatile memory location is a ferroelectric random access memory (FeRAM) location.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2021
From: BREEN, SAMUEL THOMAS
To: MICRON TECHNOLOGY, INC.
Reel/Frame 055478/0968 →
Continuity (1)
Related Publication 20220066880A1 · Mar 3, 2022