PCIe SSD Boot Data Pre-fetching During Memory Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The initialization of PCIe-connected solid state storage devices in Information Handling Systems (IHS) is slower compared to SATA-connected devices, resulting in longer boot times due to the time required to allocate host memory for high-speed NVMe queues, which hinders the benefits of faster bus speeds provided by PCIe.
Innovation Solution
The method involves pre-fetching and loading operating system boot data from persistent storage to volatile memory during the allocation of host memory for PCIe connections, using mappings to identify and copy the data, and transmitting it to the host IHS to facilitate faster booting, even when the data size exceeds volatile memory limits by transferring portions sequentially.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If PCIe bus interface is used for SSD connection, then data transfer speed is improved, but initialization time increases
Solution Approach 1:
The patent applies preliminary action by pre-fetching operating system boot data from persistent storage to volatile memory during the host memory allocation phase, before the PCIe initialization process completes. This overlapping of operations allows the system to prepare boot data in advance, reducing the effective initialization time perceived by the user while maintaining the high-speed PCIe data transfer capability.
2Adaptability or versatility
If host memory is allocated for NVMe queues, then PCIe connection functionality is improved, but boot time increases
Solution Approach 1:
The patent implements continuity of useful action by ensuring that the boot data pre-fetching operation continues uninterrupted during the host memory allocation process. Rather than waiting for memory allocation to complete before fetching boot data, the system maintains continuous productive activity by overlapping these two necessary operations, thereby reducing total boot time while preserving full PCIe/NVMe functionality.
3Loss of time
If operating system boot data is pre-fetched during host memory allocation, then boot speed is improved, but memory management complexity increases
Solution Approach 1:
The patent uses an intermediary approach by introducing a dedicated boot data pre-fetching mechanism that operates independently during the memory allocation phase. This intermediary process bridges the gap between persistent storage and the final boot execution, allowing boot data to be prepared in advance without interfering with the normal memory management workflow. The complexity is localized to a specific pre-fetching routine rather than affecting the entire memory management system.
Data Source
AI summary
Methods and systems are provided for initializing a host IHS (Information Handling System) that includes an SSD (solid state storage device) connected using PCIe (Peripheral Component Interconnect Express). The SSD detects the transfer of boot data from the host to the persistent storage of the SSD. The SSD marks the detected boot data for pre-fetching. When the host is booted, memory is allocated for the PCIe connection. During the resulting delay, the SSD pre-fetches the marked boot data from persistent storage to a portion of a volatile memory used by the SSD for storing a mapping of the boot data in persistent storage. Upon configuring the PCIe connection, the SSD is provides pre-fetched boot data to the host immediately, thus improving boot times. In certain scenarios, the SSD pre-fetches successive portions of the boot data and provides each pre-fetched portion of the boot data to the host.


