Shared Memory Defect List for Persistent Bad RAM Tracking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory error detection and correction technologies, such as ECC, do not prevent memory errors from occurring and the persistence of memory error data across OS reinstalls is unreliable, leading to system instability and unreliability.
Innovation Solution
A Shared Defect List (SDL) is maintained cooperatively by the OS and system firmware using standardized data formats, persisting memory error data in non-volatile storage to be accessible across OS reinstalls, allowing both to manage defective memory locations effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If memory error detection and correction codes (ECC) are used, then memory errors can be detected and corrected, but the persistence of memory error data across OS reinstalls is unreliable
Solution Approach 1:
The patent introduces a non-volatile storage mechanism as an intermediary between the OS and firmware to persist memory error data. This intermediary ensures that defect information is maintained across OS reinstalls without requiring the OS to continuously store the data, resolving the reliability issue while maintaining detection and correction capabilities.
Solution Approach 2:
The system performs preliminary actions by persisting memory error data to non-volatile storage before OS reinstalls occur. This ensures that defect information is already available when the OS needs to manage memory, eliminating the need for re-detection and ensuring consistent behavior across restarts.
2Device complexity
If memory error data is not persisted across OS reinstalls, then system complexity is reduced, but system stability and reliability deteriorate
Solution Approach 1:
By introducing non-volatile storage as an intermediary layer, the patent separates the persistence function from the OS itself. This allows the OS to remain relatively simple while still achieving reliable data persistence through the intermediary storage mechanism that survives OS reinstalls.
Solution Approach 2:
The firmware autonomously manages the persistence of memory error data to non-volatile storage without requiring continuous OS intervention. This self-service approach maintains system stability while minimizing the complexity burden on the OS, as the firmware handles the persistence task independently.
3Adaptability or versatility
If both OS and firmware maintain separate memory defect lists, then each can independently manage memory, but device complexity and data consistency issues increase
Solution Approach 1:
The patent merges the memory defect list functionality into a single shared data structure that is accessible to both the OS and firmware. This unified approach eliminates the complexity of maintaining separate lists while preserving the ability of both components to independently manage and access memory defect information as needed.
Solution Approach 2:
The shared memory defect list serves multiple functions: it provides defect information to the OS for memory management, provides defect information to firmware for hardware-level control, and persists across OS reinstalls. This multi-functional design reduces overall system complexity while maintaining adaptability for both software and hardware needs.
Data Source
AI summary
Disclosed embodiments include systems and methods for tracking defective memory using a shared memory defect list. Embodiments include firmware that identifies a memory buffer to store a list that includes an entry identifying a portion of memory as defective. The firmware sends an identification of the memory buffer to an operating system. The operating system reads the list from the memory and identifies the portion of defective memory based on the list. The operating system further manages memory locations used based on the identified portion of defective memory and avoids using the portion of defective memory. The firmware persists the contents of the memory to a non-volatile storage prior to shutting down the computer system.


