Non-volatile Memory Block Wear-Leveling via Read Count Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile memory devices, such as NAND flash memories, suffer from read disturb issues due to increased electric potential voltage on floating gates when blocks are repeatedly read, leading to data loss and incorrect read operations.

Innovation Solution

A non-volatile memory apparatus with a management unit, look-up table, and controller that tracks read status and replaces data blocks with spare blocks when a reference read count is exceeded, employing wear-leveling to redistribute read operations and maintain data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If data blocks are repeatedly read to access stored information, then data retrieval capability is improved, but read disturb occurs causing data loss and incorrect reads

Engineering Contradiction:
Improvedata retrieval capabilityVSAvoiddata integrity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements wear-leveling by discarding frequently read data blocks that exceed a reference read count and recovering them through redistribution to less-worn blocks. The controller monitors read counts for each block and migrates data from worn blocks to fresher blocks, preventing read disturb while maintaining data accessibility. This resolves the contradiction by sacrificing specific individual blocks (discarding them from active use) to protect the overall system reliability.

Inventive Principle:
Principle #34Discarding and recovering

2Productivity

If the same data block is read multiple times, then information access efficiency is improved, but electric potential voltage on floating gate increases causing read errors

Engineering Contradiction:
Improveinformation access efficiencyVSAvoidread accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent applies preliminary action by proactively monitoring read counts before read disturb actually occurs. The controller maintains a read count for each data block and compares it against a reference value, performing preventive migration of data blocks that are approaching the threshold. This preliminary intervention prevents the accumulation of excessive read cycles that would lead to voltage drift and read errors, thereby maintaining both access efficiency and read accuracy.

Inventive Principle:
Principle #10Preliminary action

3Speed

If read operations are concentrated on frequently accessed blocks, then access speed is improved, but wear on specific blocks increases leading to data loss

Engineering Contradiction:
Improveaccess speedVSAvoiddata retention
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent changes the parameter of block selection dynamically based on read count monitoring. Instead of statically assigning data to fixed blocks, the system actively tracks the number of reads for each block and migrates data from blocks with high read counts to blocks with lower read counts. This parameter-based dynamic redistribution ensures that frequently accessed data maintains fast access speeds while the physical wear is distributed across multiple blocks, preventing any single block from reaching its wear limit and causing data loss.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8190810B2Non-volatile memory apparatus and method for accessing a non-volatile memory apparatus
Publication Date: 2012.05.29 SILICON MOTION INC
  • US8190810B2 patent drawing
  • US8190810B2 patent drawing
  • US8190810B2 patent drawing

AI summary

A non-volatile memory apparatus and a method for accessing the non-volatile memory apparatus are provided. The non-volatile memory apparatus comprises a management unit, a look-up table and a controller. The management unit comprises a plurality of data blocks and a plurality of spare blocks. The look-up table is adapted to record the read status of the management unit. The controller is configured to read the management unit and then generate the read status denoting the times that the management unit has been read to the look-up table, and to replace one of the data blocks by one of the spare blocks in response to the read status when the times that the management unit has been read exceeds a reference value.