Persistent Memory Scrub System Boot Time Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional memory scrubbing operations in information handling systems take a long time to complete, causing delays in booting processes and risking data loss or system performance issues when the operating system enters the runtime environment before scrubbing is finished.
Innovation Solution
A system that performs a partial memory scrubbing operation during booting to identify and correct uncorrectable errors, allowing the operating system to load while a full scrubbing operation is completed in the background, and provides a memory scrub error list to exclude faulty locations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the operating system waits for memory scrubbing operations to complete before loading, then data loss is prevented, but boot time increases significantly
Solution Approach 1:
The BIOS performs a preliminary memory scrubbing operation during the boot process before handing control to the operating system. This preliminary action identifies and marks uncorrectable errors in advance, allowing the OS to load quickly while still having access to error information to avoid faulty memory locations.
Solution Approach 2:
The memory scrubbing operation is segmented into two phases: a preliminary scrub performed by the BIOS during boot that identifies uncorrectable errors, and a subsequent scrub that can be performed by the operating system. This segmentation allows the critical path (boot time) to be shortened while still maintaining data integrity through the initial error identification.
2Loss of time
If the operating system loads before memory scrubbing completes, then boot time is reduced, but the risk of using faulty memory locations increases
Solution Approach 1:
The BIOS performs memory scrubbing operations and provides feedback about uncorrectable errors to the operating system through a data structure. This feedback mechanism allows the OS to load quickly while having immediate knowledge of which memory locations are faulty, enabling it to avoid those locations and maintain data integrity.
3Reliability
If full memory scrubbing is performed on all memory locations, then all errors are detected, but the time required increases significantly
Solution Approach 1:
The BIOS performs a partial memory scrubbing operation during boot, focusing on identifying uncorrectable errors in a subset of memory locations or performing a preliminary check rather than a complete thorough scrub. This partial action is sufficient to identify critical errors that would cause data loss, while avoiding the time penalty of a complete scrub of all memory locations.
Data Source
AI summary
A memory scrubbing system includes a persistent memory device coupled to an operating system (OS) and a Basic Input/Output System (BIOS). During a boot process and prior to loading the OS, the BIOS retrieves a known memory location list that identifies known memory locations of uncorrectable errors in the persistent memory device and performs a partial memory scrubbing operation on the known memory locations. The BIOS adds any known memory locations that maintain an uncorrectable error to a memory scrub error list. The BIOS then initiates a full memory scrubbing operation on the persistent memory device, cause the OS to load and enter a runtime environment while the full memory scrubbing operation is being performed, and provides the memory scrub error list to the OS.


