Dynamic Refresh Timing for Non-Volatile Memory Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face challenges in efficiently controlling the execution speed of forced refresh operations, which can lead to accelerated cycles and negative impacts on host I/O operations due to fixed timing constraints.

Innovation Solution

A memory system with a controller that dynamically controls the start time of forced refresh operations for each block, allowing for flexible scheduling based on available margins and workload conditions, thereby reducing the acceleration of refresh cycles and minimizing host I/O influence.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If forced refresh is executed at fixed periodic timing to ensure data integrity, then refresh reliability is improved, but host I/O performance deteriorates due to cycle acceleration and unnecessary wear

Engineering Contradiction:
Improverefresh reliabilityVSAvoidhost I/O performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic refresh timing by allowing the forced refresh operation to be postponed when the time since previous writing exceeds a threshold. The refresh start time is adjusted based on actual workload conditions rather than following fixed periodic scheduling, making the system adaptive to changing operational states and reducing unnecessary refresh interruptions to host I/O operations

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the timing parameter of forced refresh operations by introducing a threshold-based delay mechanism. When the time from previous writing exceeds the threshold, the refresh is postponed to a later timing, effectively changing the refresh parameter from fixed periodic to conditionally variable timing, thereby reducing cycle acceleration and improving host I/O performance

Inventive Principle:
Principle #35Parameter changes

2Productivity

If forced refresh is executed periodically to complete compaction processing, then processing completion is ensured, but block wear increases due to accelerated refresh cycles

Engineering Contradiction:
Improveprocessing completionVSAvoidblock wear
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent modifies the refresh timing parameter by introducing a threshold-based postponement mechanism. When the time since previous writing exceeds the threshold, the forced refresh is delayed to later timing, reducing the frequency and intensity of refresh operations, thereby decreasing block wear while still ensuring compaction processing completion

Inventive Principle:
Principle #35Parameter changes

3Reliability

If forced refresh timing is fixed to ensure data retention, then data integrity is maintained, but execution flexibility is reduced

Engineering Contradiction:
Improvedata integrityVSAvoidexecution flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic execution timing by allowing forced refresh to be postponed when workload conditions permit. The start time is adjusted based on the relationship between current time, previous writing time, and threshold values, providing execution flexibility while maintaining data integrity through conditional timing adjustments rather than rigid fixed scheduling

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12136451B2Memory system and refresh method
Publication Date: 2024.11.05 KIOXIA CORP
  • US12136451B2 patent drawing
  • US12136451B2 patent drawing
  • US12136451B2 patent drawing

AI summary

A memory system includes a non-volatile memory provided with a plurality of physical blocks, and a controller configured to execute a refresh for the plurality of blocks of the non-volatile memory to rewrite data of a first plurality of blocks to a second plurality of blocks provided in the plurality of blocks. In a first time period from a previous writing to each block provided in the first plurality of blocks to completion of the refresh for each block, the controller is capable of dynamically controlling a time at which the refresh for each block is started.