Dynamic Boot Data Allocation in Computing Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computing devices face performance bottlenecks due to the limited storage capacity and high cost of fast storage devices like flash memory, which are used for frequently accessed data, while slow storage devices like HDDs are more capacity-rich but slower, leading to inefficient use of flash memory when reserved for boot data.
Innovation Solution
Implement a method where boot data is initially loaded from a fast storage device and then written back before the device powers down, allowing the storage space to be repurposed for cache data, thereby increasing the usable capacity for frequently accessed data and improving performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If boot data is reserved in a predetermined portion of the faster storage device, then the device can load boot data from the faster storage device, but part of the storage capacity of the faster storage device is wasted
Solution Approach 1:
The patent implements a dynamic allocation mechanism where the boot data region in faster storage is not permanently reserved but temporarily occupied only when boot data needs to be stored. The system dynamically determines whether to store boot data in faster or slower storage based on current needs, allowing the storage capacity to be flexibly reused for cache data when boot data is not present, thereby eliminating wasted space while ensuring boot data availability when required
Solution Approach 2:
The system changes the state parameter of the storage allocation by introducing a conditional presence indicator (whether boot data is currently stored). When boot data is absent from faster storage, the system allows other data to occupy that space; when boot data needs to be stored, the system transitions the space allocation state to reserve it temporarily. This parameter-based dynamic control resolves the contradiction between guaranteed availability and maximum utilization
2Quantity of substance
If the storage capacity of the faster storage device is increased, then more frequently accessed data can be stored, but the cost per unit of storage increases
Solution Approach 1:
The patent makes the faster storage device multi-functional by allowing it to serve dual purposes: storing boot data when needed and storing cache data for frequently accessed information when boot data is not present. This universal usage maximizes the utility of the expensive faster storage without requiring additional capacity, effectively providing two storage functions from a single storage resource and avoiding the need to increase storage capacity for cost reasons
3Speed
If boot data is always preserved in the faster storage device, then booting speed is improved, but the storage space cannot be used for cache data
Solution Approach 1:
The system implements periodic checking and conditional storage of boot data rather than continuous reservation. Boot data is stored in faster storage only during specific periods when the system determines it should be cached there, and is moved to slower storage during other periods when faster storage space is needed for cache data. This periodic action pattern allows the system to alternate between optimizing for boot speed and optimizing for cache performance, resolving the contradiction through time-based division of functionality
Data Source
Figure 1A
Figure 1B
Figure 2
AI summary
Embodiments herein relate to loading boot data. In an embodiment, a device loads boot data from a first portion of a first non-volatile memory to complete a first booting of the device. The first portion of the first non-volatile memory is then released to allow the device to overwrite the first portion. Next, the boot data is written to the first non-volatile memory before the device enters a reduced power state. The written boot data is to be loaded from the first non-volatile memory to complete a second booting of the device, if the second booting is initiated.