Non-Volatile Memory Boot Code Fixed Location
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing non-volatile memory data storage devices face inefficiencies in waking up from sleep mode due to time-consuming searches for boot code, especially when physical space allocation varies across different memory devices.
Innovation Solution
A data storage device architecture that loads boot code from non-volatile memory into a volatile memory's always-on area using a script, allowing for efficient access and execution without sequential searching, optimizing storage space and reducing wake-up time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the controller performs a time-consuming search of the non-volatile memory to get the boot code, then the boot code can be located despite varying physical space allocation, but the device wake-up time is significantly increased
Solution Approach 1:
The patent applies preliminary action by pre-storing the boot code at a fixed, predetermined location in the non-volatile memory during the manufacturing process. This eliminates the need for time-consuming searches during device wake-up, as the controller can directly access the boot code from the known fixed location. The physical space allocation variations across different memory devices are resolved by establishing this universal fixed location convention during manufacturing.
2Productivity
If the physical space of non-volatile memory is dynamically allocated for data storage to accommodate wear leveling, then storage efficiency is improved, but the location of boot code varies across different devices requiring time-consuming searches
Solution Approach 1:
The patent applies segmentation by dividing the non-volatile memory into two distinct segments: a fixed reserved area for boot code storage and a dynamic data storage area for wear-leveling operations. The fixed reserved area maintains a predetermined location that never changes, while the dynamic data storage area can be freely allocated and reallocated for wear leveling. This segmentation allows both boot code accessibility and storage efficiency to coexist without interference.
3Speed
If the always-on area of volatile memory is used to store boot code, then access speed is improved, but the occupancy of the always-on area increases
Solution Approach 1:
The patent applies the taking out principle by extracting the boot code from the always-on area of volatile memory and relocating it to a fixed location in the non-volatile memory. The always-on area is reserved for critical runtime data that must persist during sleep mode, while the boot code is stored separately in non-volatile memory at a predetermined location. This extraction eliminates boot code from occupying volatile memory space, maintaining fast access speeds while preserving always-on area capacity for other essential functions.
Data Source
AI summary
A data storage device waking up from a sleep mode rapidly is disclosed. The data storage device uses a controller to operate a non-volatile memory. The controller has a microprocessor and a volatile memory. The microprocessor loads boot code from the non-volatile memory to a not-always-on area of the volatile memory according to a script loaded on an always-on area of the volatile memory. The microprocessor executes the boot code loaded on the not-always-on area to load an in-system program from the non-volatile memory to the not-always-on area for execution of the in-system program. The script loaded on the always-on area is loaded from the non-volatile memory, and the non-volatile memory is searched to load the script to the always-on area in response to powering on a data storage device containing the non-volatile memory from a power-off state.


