Flash Memory Page Refresh via ECC Usage Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory blocks wear out quickly due to excessive erasure cycles, leading to data loss and inaccessible memory, as conventional methods for selecting pages to write data are not effective in preventing wear-out, relying on access times rather than error correction code usage.

Innovation Solution

A storage device with an ECC detector and controller that moves data and ECC from pages with high error correction code usage to other pages, using a buffer to store data and ECC, and marking pages as worn-out when error correction code usage exceeds predetermined values, thereby extending the life of flash memory by redistributing data based on error correction code usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is written into flash memory pages based on conventional wear-leveling (access time), then data can be stored, but the flash memory blocks wear out quickly due to excessive erasure cycles

Engineering Contradiction:
Improveflash memory durabilityVSAvoidblock erasure cycle life
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

Solution Approach 1:

The patent changes the parameter used for wear-leveling from access time to ECC usage. The controller monitors the number of ECC bytes used in each page and selects pages with lower ECC usage for new data writes, thereby distributing wear more evenly across blocks and extending their operational life.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements feedback by continuously monitoring ECC usage in each page and using this information to make intelligent decisions about where to write new data. The controller reads existing data, calculates ECC usage, and uses this feedback to select optimal target pages that will minimize future erasure cycles.

Inventive Principle:
Principle #23Feedback

2Speed

If pages are not refreshed based on error correction code usage, then data access is fast, but data loss occurs due to page wear-out

Engineering Contradiction:
Improvedata access speedVSAvoiddata integrity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary action by proactively detecting pages with high ECC usage before they actually fail. By identifying these at-risk pages in advance and refreshing their data to new pages, the system prevents data loss while maintaining fast access speeds for healthy pages.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies preliminary anti-action by taking preventive measures against potential page failures. The controller monitors ECC usage trends and refreshes data from pages showing signs of degradation before they actually become unreadable, thereby counteracting the wear-out process.

Inventive Principle:
Principle #9Preliminary anti-action

3Ease of operation

If conventional wear-leveling based on access time is used, then page selection is simple, but it is not effective in preventing wear-out as least-used pages may not be the ones to wear out next

Engineering Contradiction:
Improvepage selection simplicityVSAvoidwear-out prevention effectiveness
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent changes the selection parameter from access time to ECC usage count. This provides more accurate predictive information about which pages are likely to fail soon, enabling more effective wear-out prevention while maintaining reasonable operational complexity through automated monitoring.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8069396B2Storage device for refreshing data pages of flash memory based on error correction code and method for the same
Publication Date: 2011.11.29 GENESYS LOGIC INC
  • US8069396B2 patent drawing
  • US8069396B2 patent drawing
  • US8069396B2 patent drawing

AI summary

A storage device for refreshing pages of a flash memory comprises a flash memory, an ECC detector and a controller. The flash memory has a plurality of pages, and each page comprises a data area for storing data and a spare area for storing error correction code (ECC) corresponding to the data. The ECC detector is used to get the number of error bits of each page. The controller coupled to the ECC detector is used for storing data and ECC in a first page to a second page when a number of used bytes of the ECC stored in a spare area of the first page exceeds a first predetermined value. A number of used bytes of the ECC stored in a spare area of the second page is less than the first predetermined value. The second page is a blank page.