Read Throttling for Read Disturb in Non-Volatile Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile memory systems, such as flash memory, face data reliability issues due to 'read disturb' phenomena, where excessive read operations can alter stored data, limiting the number of reliable reads per memory portion.

Innovation Solution

Implementing a mechanism to throttle read commands by identifying vulnerable areas and enqueuing read operations for deferred execution based on predefined criteria, such as read disturb counts and non-activity periods, to prevent data alteration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If read operations are performed frequently to access data, then data accessibility is improved, but data reliability deteriorates due to read disturb effects

Engineering Contradiction:
Improvedata accessibilityVSAvoiddata reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary actions by monitoring read counts and identifying vulnerable memory portions before read disturb causes data corruption. Read commands are throttled in advance based on predicted read disturb risk, preventing data reliability issues before they occur

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by continuously monitoring read operation counts and comparing them against thresholds. This feedback loop enables dynamic adjustment of read throttling decisions, allowing the system to respond to actual read patterns and protect vulnerable data while maintaining accessibility for safe reads

Inventive Principle:
Principle #23Feedback

2Reliability

If read throttling is applied to protect data reliability, then data reliability is improved, but system productivity deteriorates due to deferred read operations

Engineering Contradiction:
Improvedata reliabilityVSAvoidsystem productivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The read throttling mechanism is dynamic rather than static. The system adjusts throttling decisions in real-time based on monitored read counts and vulnerability assessments. This allows the system to maximize productivity by permitting reads when safe while applying throttling only when necessary to protect data reliability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system applies partial throttling rather than complete read blocking. By monitoring read counts and comparing against thresholds, the system throttles only the portion of read operations that would cause read disturb, allowing safe read operations to proceed without restriction and thus maintaining system productivity

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If read commands are enqueued for deferred execution, then data reliability is improved, but operational complexity increases

Engineering Contradiction:
Improvedata reliabilityVSAvoidoperational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system introduces an intermediary queue mechanism that sits between the host read commands and the actual memory read operations. This intermediary layer manages the complexity of deferred execution by providing a structured buffer for throttled reads, simplifying the coordination between reliability protection and operational execution

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10481830B2Selectively throttling host reads for read disturbs in non-volatile memory system
Publication Date: 2019.11.19 SANDISK TECHNOLOGIES LLC
  • US10481830B2 patent drawing
  • US10481830B2 patent drawing
  • US10481830B2 patent drawing

AI summary

The various implementations described herein include systems, methods, and/or devices used to selectively throttle host reads in memory devices. The method includes: (1) identifying a storage location in the non-volatile memory system with high read disturbs vulnerable to reliability issues, (2) determining if the identified storage location is being throttled for host reads, (3) in accordance with a determination that the identified storage location does not satisfy the predefined read throttling criteria, initiate execution of a read operation, otherwise, enqueue read commands for deferred execution.