Boot ROM Code Adaptability for NAND Flash Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The challenge lies in booting a computing device from NAND flash memory without prior knowledge of its parametric information, as existing methods require a NAND flash identification table stored in ROM, which cannot be updated, limiting the use of new NAND flash memory types and leading to compatibility issues due to the faster product cycle of NAND flash memory compared to ROM.

Innovation Solution

The solution involves configuring a computing device to boot using a least common denominator format, allowing it to read a first bootstrapping code image without knowing the NAND flash memory's parametric information, and then determining and using the specific parametric information to configure subsequent read routines, enabling the use of various NAND flash memory types without the need for a NAND flash identification table or separate updatable storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a NAND flash identification table is stored in ROM to enable booting from NAND flash memory, then the computing device can determine parametric information of the NAND flash memory, but the system cannot support new NAND flash memory types that are developed after the ROM is programmed

Engineering Contradiction:
Improvesupport for new NAND flash memory typesVSAvoidneed for separate updatable storage
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent makes the boot ROM code itself updatable, allowing it to serve dual functions: maintaining backward compatibility with existing NAND flash memory types while simultaneously supporting new NAND flash memory types that emerge in the future. This is achieved by providing a mechanism to update the ROM code with new parametric information tables, eliminating the need for separate updatable storage components.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent transforms the static, read-only boot ROM code into a dynamic, updatable component. By enabling the ROM code to be programmed with new parametric information tables after initial manufacturing, the system adapts to changing NAND flash memory technologies without requiring additional hardware components or separate storage mechanisms.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the ROM is programmed with the NAND flash parametric table before a NAND device is selected, then the ROM is fixed and cannot be updated, but this limits the use of newer NAND flash memory types with faster product cycles

Engineering Contradiction:
Improveboot process reliabilityVSAvoidcompatibility with newer NAND flash memory types
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent prepares the boot ROM code with an initial parametric information table for known NAND flash memory types, ensuring reliable booting from the start. However, it also establishes a preliminary update mechanism that allows the ROM code to be programmed with new parametric information tables later, enabling the system to adapt to newer NAND flash memory types while maintaining initial boot reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables changes to the parametric information table stored in the boot ROM code by providing an update mechanism. This allows the system to modify the parametric information parameters (such as page size, block size, error correction codes) to match newer NAND flash memory types while preserving the core boot functionality, thus balancing reliability with adaptability.

Inventive Principle:
Principle #35Parameter changes

3Extent of automation

If a standard hard disk interrogation method is used to automatically determine NAND flash parametric information, then the process would be automated, but additional hardware or software must be employed in the computing device

Engineering Contradiction:
Improveautomatic determination of parametric informationVSAvoidadditional hardware or software
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The patent enables the boot ROM code to automatically determine NAND flash parametric information by incorporating an identification mechanism directly within the ROM code itself. The computing device uses the boot ROM code to read identification information from the NAND flash memory and automatically retrieve the corresponding parametric information table from within the same ROM code, eliminating the need for additional external hardware or software components.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8572364B2Method and apparatus for booting from a flash memory
Publication Date: 2013.10.29 APPLE INC
  • US8572364B2 patent drawing
  • US8572364B2 patent drawing
  • US8572364B2 patent drawing

AI summary

Techniques for booting a computing device with a flash memory without knowledge of parametric information of the flash memory are described herein. In one embodiment of the invention, the computing device receives input requesting the computing device to begin operation and executes a set of one or more instructions stored in a non-volatile memory. The execution of the set of instructions configures a first read routine for accessing the flash memory based on a common denominator format of candidate flash memories, and the first read routine is not configured based on information located in a flash memory identification table. The computing device reads a bootstrapping code image based on the first read routine into a volatile memory and executes that first bootstrapping code image. Other methods and apparatuses are also described.