Memory Management for NAND Flash Defective Block Substitution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In NAND-type flash memory used in portable terminal devices, defective blocks can disrupt software updating by breaking address continuity, making it difficult to perform updates using difference files, as the process requires shifting and rewriting block contents, which impairs the advantages of updating with difference files.

Innovation Solution

A memory management method that assigns blocks into a management area, a code area, and a substitution area, with an interference area between them, allowing for substitution of defective blocks using correspondence information stored in the management area, enabling the substitution area to be used for both management and code areas, and allowing for dynamic use without external address conversion means.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire program area is loaded into the NAND memory, then the program can be stored and executed, but defective blocks occurring late break address continuity and make software updating difficult

Engineering Contradiction:
Improveprogram storage reliabilityVSAvoidsoftware updating ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The program storage area is segmented into multiple blocks, with the ability to skip defective blocks during loading. The system divides the program into manageable segments that can be loaded into available good blocks, maintaining address continuity through block mapping even when defective blocks are encountered.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A block mapping table is introduced as an intermediary structure between the physical NAND memory blocks and the logical program address space. This table records the correspondence between logical addresses and physical blocks, allowing the system to redirect access to defective blocks through the mapping table to available good blocks, thus maintaining address continuity for software updating.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If defective blocks are skipped during program loading, then the program can be loaded despite defects, but address continuity is lost and difference file matching becomes difficult

Engineering Contradiction:
Improveprogram loading capabilityVSAvoidaddress continuity
Core Design Contradiction:
Ease of manufactureVSManufacturing precision

Solution Approach 1:

The block mapping table serves as an intermediary that preserves address continuity. It translates logical addresses (which maintain continuity) to physical block addresses (which may skip defective blocks). This allows the system to load programs despite defective blocks while maintaining the address continuity needed for difference file matching.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates a virtual copy of the block mapping relationships, allowing the logical address space to be copied independently of the physical block arrangement. This virtual mapping layer copies the address continuity information without requiring the physical blocks to be contiguous, enabling both defective block skipping and address continuity preservation.

Inventive Principle:
Principle #26Copying

3Reliability

If block contents are shifted and rewritten to accommodate defective blocks, then the program can be stored, but the updating process becomes more complex and time-consuming

Engineering Contradiction:
Improveprogram storage completenessVSAvoidsoftware updating time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The block mapping table acts as a static intermediary structure that is built once during initial programming. It pre-establishes the correspondence between logical and physical blocks, eliminating the need for dynamic shifting and rewriting during subsequent software updates. This reduces update time while maintaining complete program storage.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The block mapping table is created in advance during the initial program loading phase, before software updates are needed. This preliminary action establishes the address mapping relationships once, and the system can then perform updates efficiently without repeatedly shifting and rewriting block contents, significantly reducing update time.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If a dedicated management area is created for storing management information, then defective block management becomes possible, but the memory structure becomes more complex

Engineering Contradiction:
Improvedefective block management capabilityVSAvoidmemory structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The block mapping table serves multiple functions: it manages defective blocks by recording skip information, maintains address continuity for software updates, and provides the basis for difference file matching. By making this single structure multi-functional, the system achieves defective block management capability without proportionally increasing structural complexity.

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

Data Source

PatentUS7797573B2Memory management method and portable terminal device
Publication Date: 2010.09.14 SNAPTRACK INC
  • US7797573B2 patent drawing
  • US7797573B2 patent drawing
  • US7797573B2 patent drawing

AI summary

A memory management method for managing a non-volatile memory into which writing is performed in units of blocks includes the steps of assigning a plurality of blocks of the non-volatile memory to a management area formed of at least one block for storing management information, to a code area formed of a plurality of blocks into which program code is written, to a substitution area formed of a plurality of blocks for substituting for a defective block, and to an interference area formed of at least one block; storing at least correspondence information between the blocks of the substitution area and a defective block of a substitution target as management information within the management area; and using the block of the substitution area in place of the defective block on the basis of the correspondence information when the defective block is to be used.