Persistent Memory Scrub System Boot Time Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata integrityVSAvoidboot time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improveboot timeVSAvoiddata integrity
Core Design Contradiction:
Loss of timeVSReliability

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.

Inventive Principle:
Principle #23Feedback

3Reliability

If full memory scrubbing is performed on all memory locations, then all errors are detected, but the time required increases significantly

Engineering Contradiction:
Improveerror detection completenessVSAvoidscrubbing duration
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11360847B2Memory scrub system
Publication Date: 2022.06.14 DELL PROD LP
  • US11360847B2 patent drawing
  • US11360847B2 patent drawing
  • US11360847B2 patent drawing

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.