BPRAM Software Layout for Faster Boot Times
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computer systems experience lengthy boot and initialization times due to the slow loading of constant data and executable code from legacy drives, which hampers user availability, especially in mobile devices and integrated consumer electronics.
Innovation Solution
A software layout system that moves constant data and executable code into non-volatile high-performance memory (ReRAM or PCM) while keeping changing data in volatile storage, creating a high-performance cache for faster access and execution, potentially allowing direct boot or execution from the cache.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If constant data and executable code are stored on legacy drives, then storage capacity is sufficient, but boot and initialization times are lengthy
Solution Approach 1:
The patent segments storage into two distinct parts: a high-speed non-volatile memory (BPRAM) for storing constant data and executable code, and traditional slow storage for variable data. This segmentation allows the system to access frequently needed boot components from fast memory while maintaining adequate total storage capacity, directly reducing boot time without sacrificing storage capacity.
Solution Approach 2:
The patent performs preliminary action by pre-loading constant data and executable code into BPRAM during system setup or installation, before the system needs to boot. This advance preparation ensures that when the system starts, all necessary boot components are already in high-speed memory, eliminating the need to read from slow storage during the critical boot process.
2Speed
If all data is loaded into volatile memory during initialization, then access speed is fast, but power consumption increases and data is lost when power is off
Solution Approach 1:
The patent changes the memory state parameter from volatile to non-volatile by using BPRAM (byte-addressable persistent random access memory). This parameter change allows data to be retained without continuous power supply while maintaining fast access speeds comparable to volatile memory, thus reducing power consumption during idle states while preserving speed during operation.
Solution Approach 2:
The patent introduces a new dimension of persistence to the memory system by using BPRAM, which combines the speed characteristics of volatile memory with the persistence of non-volatile storage. This dimensional addition allows the system to maintain fast access speeds while eliminating the need to continuously power volatile memory, thereby reducing overall power consumption.
3Use of energy by moving object
If constant data is stored in non-volatile memory, then power consumption is reduced, but access speed may be slower compared to volatile memory
Solution Approach 1:
The patent changes the memory parameter from traditional non-volatile storage (like flash or hard drives) to BPRAM, which offers non-volatile persistence with memory-speed access characteristics. This parameter change resolves the speed penalty typically associated with non-volatile memory while maintaining the power-saving benefits of persistence, allowing fast access to constant data without continuous power supply.
4Loss of time
If the entire operating system is loaded into high-performance memory, then boot time is reduced, but cost and complexity of the memory system increases
Solution Approach 1:
The patent applies local quality by using high-performance BPRAM only for storing constant data and executable code that benefit from fast access, while leaving variable data on traditional storage. This localized application of high-performance memory reduces the overall amount of expensive memory needed, thereby reducing cost and complexity while still achieving significant boot time reduction for the critical OS loading phase.
Solution Approach 2:
The patent segments the operating system data into constant portions (stored in BPRAM) and variable portions (stored on traditional storage). This segmentation allows the system to utilize high-performance memory only where it provides the most benefit during boot and initialization, reducing the total amount of expensive memory required and thereby lowering overall system complexity and cost.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A software layout system is described herein that speeds up computer system boot time and/or application initialization time by moving constant data and executable code into byte-addressable, persistent random access memory (BPRAM). The system determines which components and aspects of the operating system or application change infrequently. From this information, the system builds a high performance BPRAM cache to provide faster access to these frequently used components, including the kernel. The result is that kernel or application code and data structures have a high performance access and execution time with regard to memory fetches. Thus, the software layout system provides a faster way to prepare operating systems and applications for normal operation and reduces the time spent on initialization.