Boot Data Storage in NAND Flash Using Linked-List Maps
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems for booting electronic devices from non-volatile memory (NVM) face challenges in ensuring reliable storage and retrieval of boot data, particularly due to varying error rates across memory pages and manufacturer-specific specifications, which can lead to boot failures if not managed properly.
Innovation Solution
The solution involves storing boot data in a subset of memory locations with lower error rates, using a map to track these locations, and employing linked-list metadata with next and prior page pointers to verify the integrity and location of boot data, allowing for flexible navigation and redundancy in case of errors, thus ensuring consistent bootup across different NVM types and manufacturers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If boot data is stored in all memory locations of the NVM, then the storage capacity is maximized, but the reliability of boot data retrieval deteriorates due to varying error rates across different pages
Solution Approach 1:
The NVM is segmented into multiple pages with varying error rates. The system divides boot data storage across these segmented pages rather than treating the memory as a uniform space, allowing selective placement of boot data in lower-error-rate pages while maintaining overall storage capacity
Solution Approach 2:
Different pages of the NVM are treated with different quality characteristics based on their error rates. The system identifies and designates specific pages with lower error rates as suitable for boot data storage, while other pages may be used for different purposes or left unprogrammed, creating local quality variations in the storage medium
2Reliability
If boot data is stored in a subset of memory locations with lower error rates, then the reliability of boot data storage is improved, but the complexity of tracking and managing storage locations increases
Solution Approach 1:
The system performs preliminary identification and mapping of suitable storage pages during the boot data storage phase. By pre-establishing the mapping between boot data and specific low-error-rate pages before actual boot operations, the system avoids the need for complex real-time search and verification during bootup
Solution Approach 2:
A page mapping structure serves as an intermediary between the boot data and the physical NVM pages. This mapping structure simplifies the tracking of storage locations by providing a direct reference mechanism, eliminating the need for complex algorithms to locate and verify boot data pages during boot operations
3Adaptability or versatility
If the same boot ROM code is used with different NVM manufacturers, then the adaptability of the system is improved, but the ability to handle manufacturer-specific specifications deteriorates
Solution Approach 1:
The page mapping structure is designed as a universal interface that can accommodate different NVM manufacturers and their specific specifications. The same boot ROM code can interact with various NVM types through this standardized mapping mechanism, which adapts to manufacturer-specific characteristics without requiring changes to the core boot ROM functionality
Solution Approach 2:
The system changes parameters such as page size, error rate thresholds, and storage location mappings based on the specific NVM manufacturer and model being used. By dynamically adjusting these parameters while maintaining the same overall architecture and boot ROM code, the system achieves both cross-manufacturer compatibility and adherence to manufacturer-specific specifications
4Measurement precision
If verification of all boot data pages is performed during bootup, then the detection precision of data integrity is improved, but the bootup time increases
Solution Approach 1:
Integrity verification mechanisms are established in advance during the boot data storage phase. By pre-configuring verification structures and placing boot data in carefully selected low-error-rate pages, the system reduces the scope and complexity of verification needed during actual bootup, thereby maintaining high detection precision while minimizing time loss
Data Source
AI summary
Systems and methods are provided for storing and retrieving boot data (e.g., a first stage bootloader) in and from a non-volatile memory (“NVM”), such as a NAND flash memory. To increase storage reliability, the boot data may be stored in a subset of the pages in a boot data storage area, such as in only lower pages. The subset may be selected based on the specific operating specifications and characteristics of the NVM. To prevent a boot ROM from having to maintain a NVM-specific map of which pages are used to store boot data, the map may be maintained in the NVM itself. For example, the map may be in the form of a linked list, where each page storing boot data can include a pointer that points to the next page that stores boot data.


