Flash Memory Wear-Leveling via Cross-Unit Spare Block Exchange

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional wear-leveling techniques in flash memory modules only manage blocks within individual management units separately, leading to uneven erase counts across different management units, resulting in potential programming errors when block erase counts exceed thresholds.

Innovation Solution

A memory module with a controller that exchanges spare blocks between management units based on erase counts, directing blocks with high erase counts from one unit to blocks with lower erase counts in another unit to balance wear-leveling across units.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If conventional wear-leveling manages blocks within individual management units separately, then management simplicity is improved, but erase count uniformity deteriorates

Engineering Contradiction:
Improvemanagement complexityVSAvoiderase count uniformity
Core Design Contradiction:
Device complexityVSStability of the object's composition

Solution Approach 1:

The patent merges the wear-leveling scope from individual management units to the entire flash memory device level. The controller maintains a device-wide wear-leveling table that tracks erase counts across all management units and performs cross-unit block allocation, thereby combining previously separate management operations into a unified system that achieves both simplicity and uniformity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a device-wide wear-leveling table as an intermediary data structure that mediates between multiple management units. This table stores and compares erase counts from different management units, enabling the controller to make informed decisions about block allocation across units while maintaining individual unit management simplicity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If blocks are frequently programmed in high-erase-count management units, then data storage capability is improved, but programming accuracy deteriorates

Engineering Contradiction:
Improvedata storage capabilityVSAvoidprogramming accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary wear-leveling assessment by checking the erase counts in the wear-leveling table before allocating blocks for programming. The controller proactively identifies management units with lower erase counts and directs new data to those units, preventing high-erase-count units from receiving additional programming operations that would compromise accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a feedback mechanism where the controller continuously monitors erase counts stored in the wear-leveling table and uses this information to dynamically adjust block allocation decisions. The system reads erase count data, compares it against thresholds, and provides feedback to the block selection process, ensuring data is always programmed in units with acceptable erase counts for maintaining programming accuracy.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8275928B2Memory module and method for performing wear-leveling of memory module using remapping, link, and spare area tables
Publication Date: 2012.09.25 SILICON MOTION INC
  • US8275928B2 patent drawing
  • US8275928B2 patent drawing
  • US8275928B2 patent drawing

AI summary

The invention comprises a memory module capable of wear-leveling. In one embodiment, the memory module comprises a flash memory and a controller. The flash memory comprises a plurality of management units, wherein each of the management units comprises a plurality of blocks. The controller receives new data with a logical address managed by a first management unit selected from the management units, pops a first spare block from a spare area of the first management unit, determines whether an erase count of the first spare block is greater than a first threshold value, searches a second management unit selected from the management units for a replacing block with an erase count lower than a second threshold value when the erase count of the first spare block is greater than the first threshold value, and directs the first management unit and the second management unit to exchange the first spare block with the replacing block.