SSD Refresh Algorithm Using Valid Data Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing refresh algorithms for non-volatile mass storage devices, such as solid state drives, are inefficient due to their unsophisticated approach, which results in continuous overhead and delayed host accesses as they periodically read and rewrite data from every cell, leading to permanent performance loss.

Innovation Solution

A more sophisticated refresh algorithm that uses a transfer buffer and meta-data tracking to determine the refresh rate based on valid data, allowing only valid data to be refreshed, thereby reducing the refresh burden and overhead, and implementing a hold-off period before refreshing to ensure data is aged sufficiently before being refreshed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a fixed time schedule refreshes every cell before the critical time period expires, then data loss is prevented, but continuous overhead is incurred and host accesses are delayed

Engineering Contradiction:
Improvedata retentionVSAvoidhost access performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The refresh algorithm dynamically adjusts the refresh rate based on actual cell aging conditions. Instead of using a fixed time schedule, the system monitors individual cell characteristics and adapts the refresh timing accordingly, allowing faster refresh when necessary and reducing overhead when cells are still stable, thus resolving the contradiction between ensuring data retention and maintaining host access performance

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the refresh parameter from a fixed time-based schedule to a condition-based schedule that considers actual cell aging state. By monitoring parameters such as cell age, write history, and retention characteristics, the system adjusts refresh timing to match actual needs, preventing both premature refresh (which causes overhead) and delayed refresh (which risks data loss)

Inventive Principle:
Principle #35Parameter changes

2Productivity

If refresh activity is spread out over time to keep instantaneous overhead low, then performance impact is reduced, but overhead is continuously present

Engineering Contradiction:
Improveinstantaneous performanceVSAvoidcumulative refresh overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system implements periodic refresh actions based on actual cell aging rather than fixed time intervals. By determining refresh needs based on when cells actually approach their critical retention threshold, the system creates variable periodic refresh cycles that eliminate unnecessary refresh operations while ensuring timely refresh before data loss, thus reducing cumulative overhead without compromising data integrity

Inventive Principle:
Principle #19Periodic action

3Device complexity

If relative ageing tracking is used instead of actual ageing, then implementation is simpler, but accurate refresh timing cannot be determined

Engineering Contradiction:
Improveageing tracking mechanismVSAvoidactual cell age determination
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The system implements feedback mechanisms that monitor actual cell retention characteristics and adjust refresh timing accordingly. By continuously assessing cell health and aging state through read operations and retention testing, the system gathers feedback on actual cell conditions and uses this information to precisely determine when refresh is needed, achieving accurate aging tracking while maintaining reasonable implementation complexity

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10770128B2Non volatile mass storage device with improved refresh algorithm
Publication Date: 2020.09.08 INTEL CORP
  • US10770128B2 patent drawing
  • US10770128B2 patent drawing
  • US10770128B2 patent drawing

AI summary

A refreshing method is described. The method includes recognizing a set of blocks of a non-volatile memory for refreshing and then refreshing a subset of the data within the blocks, where, invalid data within the blocks is not recognized for refreshing and a group of blocks whose oldest data has not aged for a pre-set time period is not recognized for refreshing.