Flash Memory End-of-Life Calculation System

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile memory systems, such as flash memory, experience performance degradation and data loss due to uneven wear of memory cells, leading to unreliable data storage and system failure, with existing methods providing inadequate end-of-life warnings based solely on spare storage areas without considering linear wear or time-based measures.

Innovation Solution

A system and method to calculate and provide real-time or percentage-based end-of-life information for memory devices, using parameters like rewrite cycles, spare blocks, block failure rates, and ECC errors, allowing for user warnings and adaptive usage monitoring to estimate remaining life accurately.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If error correction techniques are used to handle worn out cells, then data storage reliability is maintained, but command execution latency increases excessively

Engineering Contradiction:
Improvedata storage reliabilityVSAvoidcommand execution latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary wear level monitoring and end-of-life calculations before actual failures occur. By tracking rewrite cycles and calculating remaining life in advance, the system can proactively manage worn cells through wear-leveling algorithms and preventive data migration, avoiding the need for excessive error correction operations during normal operation and thus reducing latency.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If the system runs out of spare blocks due to program or erase block failures, then data storage capacity is maximized, but the system becomes unusable

Engineering Contradiction:
Improvedata storage capacityVSAvoidsystem usability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system implements continuous feedback through end-of-life calculations that monitor wear levels, rewrite cycles, and block failure rates. This feedback mechanism allows the system to dynamically adjust its management strategies, such as redistributing data across healthier blocks or triggering preventive maintenance actions, thereby extending the usable life of spare blocks and maintaining system usability while maximizing storage capacity utilization.

Inventive Principle:
Principle #23Feedback

3Reliability

If a critical number of worn out cells are present in the flash memory system, then the memory system is deemed unusable, but many other cells remain relatively unworn

Engineering Contradiction:
Improvememory system usabilityVSAvoidavailable storage cells
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system segments the memory into multiple blocks and independently tracks the wear status of each block. By dividing the memory space into manageable segments, the system can identify and isolate worn blocks while continuing to utilize unworn blocks for data storage. This segmentation approach allows the system to maintain usability by redistributing data away from critical wear thresholds, effectively utilizing the available unworn cells even when some blocks are degraded.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7778077B2Non-volatile memory system with end of life calculation
Publication Date: 2010.08.17 SANDISK TECHNOLOGIES LLC
  • US7778077B2 patent drawing
  • US7778077B2 patent drawing
  • US7778077B2 patent drawing

AI summary

A system and methods are given for providing information on the amount of life remaining for a memory having a limited lifespan, such as a flash memory card. For example, it can provide a user with the amount of the memory's expected remaining lifetime in real time units (i.e., hours or days) or as a percentage of estimated initial life. An end of life warning can also be provided. In a particular embodiment, the amount of remaining life (either as a percentage or in real time units) can be based on the average number of erases per block, but augmented by the number of spare blocks or other parameters, so that an end of life warning is given if either the expected amount of remaining life falls below a certain level or the number of spare blocks falls below a safe level.