Flash Memory Bad Block Management via Dynamic Spare Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory storage devices face challenges with defective blocks that cannot be updated, leading to inefficiencies in random access and high waste of spare blocks, which limits their capability to handle a large number of bad blocks and increases access time.

Innovation Solution

A dynamic bad block management method that maps logical memory space to physical memory space using a bad block table and unavailable list, allowing for the identification and exclusion of bad blocks, and dynamically adjusting the number of spare blocks to ensure correct operation, including a recovery procedure to lock unused logical blocks and force garbage collection when necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If spare blocks are provided to replace bad blocks, then the storage device can handle defective blocks, but the area of flash memory is wasted and access time increases due to search operations

Engineering Contradiction:
Improvecapability to handle bad blocksVSAvoidflash memory area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent implements dynamic bad block management where the system continuously monitors and detects bad blocks during operation, dynamically allocating spare blocks only when needed rather than pre-allocating a fixed set. This allows the storage device to adapt to actual bad block occurrences, improving reliability while minimizing memory area waste.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The storage device performs self-diagnosis and self-repair by automatically detecting bad blocks and managing spare block allocation without external intervention. The system maintains its own reliability through internal monitoring and dynamic replacement mechanisms, eliminating the need for large pre-allocated spare block reserves.

Inventive Principle:
Principle #25Self-service

2Reliability

If a replacement table is used to map bad blocks to spare blocks, then bad blocks can be replaced, but access time increases due to search operations in the replacement table

Engineering Contradiction:
Improveblock replacement capabilityVSAvoidaccess time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary detection and management of bad blocks, maintaining an updated mapping structure that allows direct access to spare block information. By preparing and organizing replacement information in advance, the system eliminates the need for search operations during actual block access, reducing time loss while maintaining replacement capability.

Inventive Principle:
Principle #10Preliminary action

3Area of stationary object

If the number of spare blocks is kept low to reduce area waste, then flash memory area is preserved, but the capability to ensure correct operation with a high number of bad blocks is reduced

Engineering Contradiction:
Improveflash memory areaVSAvoidoperation capability with bad blocks
Core Design Contradiction:
Area of stationary objectVSReliability

Solution Approach 1:

The system dynamically adjusts the number of active spare blocks based on the actual number of detected bad blocks. When few bad blocks are present, minimal spare blocks are allocated preserving memory area. When many bad blocks are detected, the system automatically activates additional spare blocks from the memory pool, ensuring operational capability is maintained while minimizing area waste under normal conditions.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8954649B2Garbage collection in storage devices based on flash memories
Publication Date: 2015.02.10 SK HYNIX INC
  • US8954649B2 patent drawing
  • US8954649B2 patent drawing
  • US8954649B2 patent drawing

AI summary

A solution for managing a storage device based on a flash memory is proposed. A corresponding method starts with the step for mapping a logical memory space of the storage device (including a plurality of logical blocks) on a physical memory space of the flash memory (including a plurality of physical blocks, which are adapted to be erased individually). The physical blocks include a set of first physical blocks (corresponding to the logical blocks) and a set of second—or spare—physical blocks (for replacing each bad physical block that is unusable). The method continues by detecting each bad physical block. Each bad physical block is then discarded, so to prevent using the bad physical block for mapping the logical memory space.