Handling memory errors in memory modules that include volatile and non-volatile components
AssigneeHewlett Packard Enterprise Development LP
InventorsRobert J. Volentine, Frank L. Wu
Life of this patent
Estimating the term…
Abstract
In one example in accordance with the present disclosure, a system for handling memory errors includes a memory module having volatile components and non-volatile components. The system includes a BIOS chip having BIOS code and a BIOS non-volatile (NV) memory. The BIOS NV memory stores error data associated with the memory module that was stored prior to a power-on or reset of the system. The system includes a processor to execute the BIOS code to, after the power-on or reset of the system end before an operating system is loaded; (1) read, from the BIOS NV memory, the error data; and (2) determine, based on the error data, whether to take a corrective action with respect to the memory module.
Claims13
A system for handling memory errors, the system comprising:
- a memory module having volatile components and non-volatile components;
- a BIOS chip separate from the memory module having BIOS code and a BIOS non-volatile (NV) memory, wherein the BIOS NV memory stores error data associated with the memory module that was stored prior to a power-on or reset of the system;
- and
- a processor to execute the BIOS code to, after the power-on or reset of the system and before an operating system is loaded:
- read, from the BIOS NV memory, the error data, wherein the error data comprises a count of resets of the system caused by the memory module;
- determine, based on the error data, whether to take a corrective action with respect to the memory module;
- and
- take the corrective action which is to cause data in the memory module to be reinitialized by writing corrective data to the volatile components of the memory module.
A method for handling memory errors, the method comprising:
- detecting, by a processor of a system, errors associated with a memory module of the system, the memory module having volatile components and non-volatile components;
- storing, in a non-volatile memory of a firmware chip of the system, error data associated with the detected errors, wherein the firmware chip is separate from the memory module;
- powering-on or resetting the system after the storing;
- before loading an operating system, reading the error data from the non-volatile memory of the firmware chip, wherein the error data comprises a count of resets of the system caused by the memory module;
- determining, based on the error data, that errors occurred in the memory module prior to the power-on or reset and that a corrective action should be taken with respect to the memory module;
- and
- taking the corrective action which is to cause data in the memory module to be reinitialized by writing corrective data to the volatile components of the memory module.
A machine-readable storage medium encoded with instructions for handling memory errors, the instructions executable by a processor of a system to cause the system to:
- receive indications of errors associated with a memory module of the system, the memory module having volatile components and non-volatile components;
- store, prior to a power-on or reset of the system, in a BIOS non-volatile memory of the system, error data associated with the errors, wherein the BIOS non-volatile memory is separate from the memory module;
- after the power-on or reset and before loading an operating system, read the error data from the BIOS non-volatile memory, wherein the error data comprises a count of resets of the system caused by the memory module;
- and
- determine, based on the error data, whether to take a corrective action with respect to the memory module;
- wherein the error data includes a count of a number of errors caused by the memory module, and
- wherein the determination is to reinitialize the memory module if the counter is greater than a defined threshold and wherein the corrective action comprises writing corrective data to the volatile components of the memory module.
Dependencies are inferred from the claim text.