System and method for protecting memory during system initialization
First Claim
1. A method for protecting memory, the method comprising:
- initializing a computer system comprising the memory and an operating system;
determining whether the memory is being protected by a memory subsystem and determining whether the memory is currently storing preserved data;
in response to determining that the memory is not being protected by the memory subsystem and the memory is not storing preserved data, initializing the memory, loading the operating system, and setting a signal to cause the memory subsystem to persistently maintain contents of the memory during an error condition of the computer system; and
in response to determining that the memory is being protected by the memory subsystem and the memory is storing preserved data, restoring a set a of chipset registers of the computer system without initializing the memory, loading the operating system, and persistently storing the stored data on a storage device.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for protecting memory during system initialization is provided. A complex programmable logic device (CPLD) is operatively interconnected with a multiplexer to enable control of a memory to be switched between a memory controller and the CPLD in response to error conditions. If an error condition is identified, the CPLD assumes control of the memory and activates a battery subsystem to provide memory refreshes until system re-initialization. Upon system bring-up, interactions between the BIOS and CPLD assure that protected memory is fully recovered by the system. The contents of memory will remain protected from any further faults that may occur during the bring-up sequence.
119 Citations
28 Claims
-
1. A method for protecting memory, the method comprising:
-
initializing a computer system comprising the memory and an operating system; determining whether the memory is being protected by a memory subsystem and determining whether the memory is currently storing preserved data; in response to determining that the memory is not being protected by the memory subsystem and the memory is not storing preserved data, initializing the memory, loading the operating system, and setting a signal to cause the memory subsystem to persistently maintain contents of the memory during an error condition of the computer system; and in response to determining that the memory is being protected by the memory subsystem and the memory is storing preserved data, restoring a set a of chipset registers of the computer system without initializing the memory, loading the operating system, and persistently storing the stored data on a storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for protecting memory, the system comprising:
-
means for initializing a computer system comprising the memory and an operating system; means for determining whether the memory is being protected by a memory subsystem and whether the memory is currently storing preserved data; means for initializing the memory, loading the operating system, and setting a signal to cause a memory subsystem to persistently maintain contents of the memory during an error condition of the computer system in response to determining that the memory is not being protected by the memory subsystem and the memory is not storing preserved data; and means for restoring a set of chipset registers of the computer system without initializing the memory, loading the operating system, and persistently storing the stored data on a storage device, in response to determining that the memory is being protected by the memory subsystem and the memory is storing preserved data.
-
-
12. A system to preserve memory, the system comprising:
-
a customizable program logic device (CPLD) configured to determine whether a shutdown of the system, comprising the memory, is a clean shutdown, a basic input output system (BIOS) configured to initialize, in response to the shutdown being a clean shutdown, the memory; in response to the shutdown not being a clean shutdown, the memory switchable between a memory controller and the CPLD, the CPLD further coupled to a battery subsystem further configured to enable refresh operations to the memory, the CPLD further configured to assume control of the memory and place the memory in a low-power, self-refresh state, wherein during initialization of the system and after the shutdown, the BIOS further configured to restore a set of chip registers associated with the system, and an operating system configured to validate content of the memory and flush data stored in the memory to persistent storage. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A system to preserve memory, the system comprising:
-
a memory switchable between a memory controller and a customizable program logic device (CPLD), the CPLD further coupled to a battery subsystem configured to enable refresh operations to the memory, the CPLD further configured to, in response to detecting an error condition, assuming control of the memory and placing the memory in a low-power, self-refresh state; and an indicator configured to indicate to a user that the CPLD has assumed control of the memory. - View Dependent Claims (25, 26, 27, 28)
-
Specification