BIOS Persistent Memory Bad Block Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Information handling systems face machine check errors when attempting to boot from persistent memory devices with bad memory locations, leading to system hangs during the boot process.
Innovation Solution
The system employs a BIOS that performs a power-on self-test (POST) and uses a block I/O driver to access memory regions within persistent memory devices, identifying bad memory locations and returning a device error message to prevent access, thus avoiding machine check errors and allowing the boot process to continue with another bootable device.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the BIOS attempts to access memory regions in persistent memory devices during boot, then the system can determine bootability, but machine check errors occur when bad memory locations are accessed
Solution Approach 1:
The system performs a preliminary scan of memory regions during POST to identify bad memory locations before attempting to boot. The BIOS scans the persistent memory device, detects bad blocks, and prevents access to those regions beforehand, thus avoiding machine check errors during the boot process.
Solution Approach 2:
The BIOS acts as an intermediary between the boot process and the persistent memory device. It intercepts access requests to memory regions, checks whether they contain bad blocks, and either redirects or blocks access to prevent machine check errors while still allowing legitimate boot operations.
2Reliability
If the BIOS scans memory regions to identify bad blocks, then machine check errors are prevented, but the boot process time increases
Solution Approach 1:
The BIOS performs a partial scan of memory regions during POST, focusing only on critical areas needed for boot determination rather than scanning the entire memory space. This selective approach maintains error prevention capabilities while minimizing the time penalty during boot.
3Stability of the object's composition
If the BIOS returns a device error message without accessing bad memory blocks, then system stability is maintained, but the ability to fully test persistent memory bootability is reduced
Solution Approach 1:
The BIOS extracts and isolates bad memory blocks from the accessible memory space during POST. By separating faulty regions from functional regions, the system can safely proceed with boot operations using only good blocks, maintaining both stability and the ability to verify bootability of persistent memory devices.
Data Source
AI summary
An information handling system includes a plurality of persistent memory devices and a basic input/output system (BIOS). The BIOS begins a power-on self-test (POST) of the information handling system. During the POST, the BIOS may call a block input/output (I/O) driver to access a memory region within the first persistent memory device. The access of the memory region within the first persistent memory device is to determine whether the first persistent memory device is a bootable persistent memory device. The BIOS may determine whether blocks of the memory region contain bad memory locations. In response to the memory region containing bad memory locations, the BIOS may return a device error message without performing the access of the blocks of the memory region within the first persistent memory device and may boot to an operating system of the information handling system via another bootable device.


