Boot Data Storage in NAND Flash Using Linked-List Maps

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveboot data retrieval reliabilityVSAvoidboot data storage management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improveboot data storage reliabilityVSAvoidstorage location tracking complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvecross-manufacturer compatibilityVSAvoidmanufacturer-specific specification adherence
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

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

Inventive Principle:
Principle #6Universality (Multi-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

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improveboot data integrity verification accuracyVSAvoidbootup time
Core Design Contradiction:
Measurement precisionVSLoss of time

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

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8799555B2Boot data storage schemes for electronic devices
Publication Date: 2014.08.05 APPLE INC
  • US8799555B2 patent drawing
  • US8799555B2 patent drawing
  • US8799555B2 patent drawing

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.