Flash Memory Controller Xblock Wear Leveling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices experience reduced operation efficiency and shortened lifespan when a significant portion of their storage space is damaged, as existing methods fail to effectively isolate and manage damaged areas, leading to uneven wear across chips.

Innovation Solution

A data storage device comprising a FLASH memory module with multiple chips, where the storage space is divided into Xblocks for management, allowing for simultaneous access and erasure of blocks across chips, and data is moved for wear leveling to ensure even usage and extend lifespan.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If multiple FLASH chips are accessed in a time-slice manner, then device complexity is reduced, but productivity decreases due to sequential access limitations

Engineering Contradiction:
Improvecontrol complexityVSAvoiddata access speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent divides the FLASH storage system into multiple independent chips (FLASH chip 0 to FLASH chip N), each with its own storage space. This segmentation allows parallel access to multiple chips simultaneously, resolving the contradiction by maintaining simple control logic while achieving high productivity through concurrent operations across segmented storage units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from single-chip sequential access to multi-chip parallel access by adding the chip dimension to the storage architecture. The controller can issue read/write commands to multiple chips at the same time, effectively moving from one-dimensional sequential processing to multi-dimensional parallel processing, thereby increasing productivity without complicating the control mechanism.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Quantity of substance

If damaged space is not isolated, then storage capacity is maximized, but reliability decreases due to propagation of damage

Engineering Contradiction:
Improvestorage capacityVSAvoiddata integrity
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent extracts and isolates damaged blocks from the usable storage space by identifying them during the formatting process and marking them as bad blocks. These damaged spaces are removed from the pool of available storage, preventing further degradation and ensuring data integrity in healthy blocks, while the controller manages the remaining good blocks to maintain effective storage capacity.

Inventive Principle:
Principle #2Taking out (Extraction)

3Speed

If wear leveling is not implemented, then operation speed is maintained, but duration of action decreases due to uneven wear

Engineering Contradiction:
Improveoperation speedVSAvoidFLASH memory lifespan
Core Design Contradiction:
SpeedVSDuration of action of moving object

Solution Approach 1:

The patent implements dynamic wear leveling through the controller, which actively monitors and manages the erase counts of different blocks across multiple FLASH chips. The controller dynamically adjusts data placement and migration between blocks to ensure uniform wear distribution, thereby extending the overall lifespan of the FLASH memory module while maintaining normal operation speeds through efficient block management.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9013922B2Data storage device and flash memory control method thereof
Publication Date: 2015.04.21 SILICON MOTION INC
  • US9013922B2 patent drawing
  • US9013922B2 patent drawing
  • US9013922B2 patent drawing

AI summary

Storage space allocation and a wear leveling technique for a FLASH memory module are disclosed. The FLASH memory module includes a plurality of FLASH chips. A controller for the FLASH memory module divides the storage space of the FLASH memory module into Xblocks for management of the FLASH memory module. The controller erases at least one Xblock for space release and moves data on Xblocks for wear leveling.