Nonvolatile Memory Boot Data Consolidation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In some memory systems, data used during power-up operations, such as boot data, is stored in a manner that results in slower read access times due to fragmentation and the use of Multi Level Cell (MLC) format, which can be dispersed across multiple blocks and stored in inefficient physical locations, leading to increased read operations and error rates.
Innovation Solution
A method and system for identifying boot data by monitoring read commands during power-up, reconfiguring the data for faster access by consolidating it into fewer blocks, potentially converting MLC format to Single Level Cell (SLC) format, and rearranging it for optimal read access, including defragmentation and relocation to blocks with faster read times and lower error rates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If boot data is stored in MLC format and dispersed across multiple blocks, then storage capacity is improved, but read access time increases
Solution Approach 1:
The system performs preliminary identification of boot data during initial power-up operations and pre-configures it for faster access in subsequent operations. By monitoring read commands during the first power-up and identifying which data is accessed, the system proactively prepares optimized storage locations and formats before they are needed, reducing read access time in future boot operations.
Solution Approach 2:
The system dynamically adapts the storage configuration of boot data based on observed access patterns. It monitors which data is read during power-up operations and reconfigures the storage format and location accordingly, transitioning from static MLC multi-block storage to dynamic SLC single-block storage for identified boot data, thereby optimizing read performance while maintaining storage capacity.
2Productivity
If boot data is stored in MLC format, then storage efficiency is improved, but read speed decreases
Solution Approach 1:
The system applies different storage qualities to different data based on their access characteristics. Boot data, which requires fast read access, is stored in SLC format with higher read speed but lower storage efficiency. Other non-critical data remains in MLC format for optimal storage efficiency. This local differentiation of storage quality resolves the contradiction between storage efficiency and read speed.
Solution Approach 2:
The system changes the storage parameters (format and location) of boot data from MLC multi-block configuration to SLC single-block configuration. This parameter change transforms the data storage characteristics to achieve faster read speeds while the system monitors and adapts to maintain overall storage efficiency through selective application to only the necessary boot data.
3Adaptability or versatility
If boot data is dispersed across multiple blocks, then storage flexibility is improved, but read operation complexity increases
Solution Approach 1:
The system extracts boot data from the general dispersed storage across multiple MLC blocks and places it in a dedicated, consolidated SLC block. This extraction separates the boot data access path from the general storage system, simplifying read operations for boot data while maintaining storage flexibility for other data through the monitoring and identification mechanism.
4Quantity of substance
If data is stored in dispersed locations, then storage capacity utilization is improved, but error rate increases
Solution Approach 1:
The system merges boot data into a single consolidated SLC block location, replacing the dispersed MLC block storage. This consolidation reduces the number of access points and potential failure locations, thereby reducing the overall error rate for critical boot data while the system maintains capacity utilization through efficient use of the SLC block space.
Data Source
AI summary
A nonvolatile memory that stores boot data from a host learns which data is boot data by monitoring read commands received from a host during a powering up operation. Boot data is then arranged in a manner that makes subsequent reading of the boot data faster when it is accessed during a subsequent powering up operation.


