Parallel Memory Initialization for Server Boot Time Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing memory capacity on server platforms leads to longer boot times due to the time-consuming memory configuration process, particularly the ECC scrubbing process, which is proportional to the dual-inline memory module (DIMM) size and memory channel bandwidth.
Innovation Solution
Implementing a memory manager that initializes a portion of the system memory in parallel with the BIOS load process and utilizes a patrol memory engine to perform background ECC scrubbing, allocating a significant portion of write credits to the patrol engine to speed up the memory initialization process, allowing the rest of the BIOS load process to proceed concurrently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If memory capacity is increased to meet growing server requirements, then system memory capacity is improved, but boot time increases due to longer memory configuration time
Solution Approach 1:
The patent performs preliminary memory initialization actions by allocating a first portion of system memory before the BIOS load process and initializing it in advance. This preliminary allocation and initialization allows the BIOS to load into predetermined memory locations without waiting for complete memory configuration, thereby reducing boot time while supporting increased memory capacity
Solution Approach 2:
The patent segments the memory initialization process into distinct portions: a first portion allocated before BIOS loading and a second portion initialized during or after BIOS loading. This segmentation allows parallel execution of BIOS loading and memory initialization, preventing the boot process from being bottlenecked by sequential memory configuration
2Reliability
If traditional sequential memory initialization is used to ensure complete ECC scrubbing, then memory reliability is improved, but boot time increases
Solution Approach 1:
The patent performs preliminary allocation of a first portion of system memory before the BIOS load process completes. This preliminary action includes setting aside predetermined memory locations and initializing them with proper ECC scrubbing in advance, allowing reliable memory to be available immediately for BIOS execution without waiting for complete memory configuration
Solution Approach 2:
The patent continues memory initialization actions during and after the BIOS load process by initializing a second portion of system memory while the BIOS is loading. This continuous initialization ensures that ECC scrubbing and memory configuration proceed without interruption, maintaining reliability while reducing overall boot time
Data Source
AI summary
An embodiment of a memory apparatus may include a system memory, and a memory manager communicatively coupled to the system memory to determine a first amount of system memory needed for a boot process, initialize the first amount of system memory, start the boot process, and initialize additional system memory in parallel with the boot process. Other embodiments are disclosed and claimed.


