Proactive UECC Detection in Storage Controllers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data storage systems face performance issues due to delayed detection and handling of uncorrectable errors during internal data movement, leading to potential data loss and prolonged recovery times, especially in RAID systems where data loss is only recognized after a host read fails.

Innovation Solution

Implementing proactive data loss notification and handling within the data storage device, where the controller detects uncorrectable error correction codes during internal processes like garbage collection, wear leveling, or read scrub, and informs the host device, allowing for preemptive recovery and sanitization of neighboring regions, even if the affected logical block address is outside the host's specified range.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If the storage device waits for host read requests to detect data loss, then the device complexity is reduced, but the data loss detection time increases and system performance deteriorates

Engineering Contradiction:
Improvedevice complexityVSAvoiddata loss detection time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The storage device performs preliminary detection of uncorrectable errors during internal background operations (garbage collection, wear leveling, read scrub) before the host requests the data. This allows the system to identify data loss proactively rather than reactively, reducing detection time while maintaining manageable complexity through targeted monitoring during specific operational phases

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If the storage device proactively notifies the host of data loss during internal operations, then the data recovery time is reduced, but the device complexity increases

Engineering Contradiction:
Improvedata recovery timeVSAvoiddevice complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The storage device implements a feedback mechanism that monitors internal operations for uncorrectable errors and sends notifications to the host when data loss is detected. This feedback loop enables proactive recovery by informing the host before data requests fail, reducing recovery time. The complexity is managed by implementing feedback only during specific background operations rather than continuously

Inventive Principle:
Principle #23Feedback

3Reliability

If the storage device monitors all internal operations for data loss, then the reliability is improved, but the use of energy increases

Engineering Contradiction:
ImprovereliabilityVSAvoiduse of energy
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The storage device applies localized monitoring to specific critical operations (garbage collection, wear leveling, read scrub) where data loss is most likely to occur, rather than monitoring all internal operations uniformly. This targeted approach improves reliability for the most critical functions while reducing overall energy consumption compared to comprehensive monitoring of all device operations

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12013753B2Proactive loss notification and handling in data storage devices
Publication Date: 2024.06.18 SANDISK TECHNOLOGIES LLC
  • US12013753B2 patent drawing
  • US12013753B2 patent drawing
  • US12013753B2 patent drawing

AI summary

Devices, systems, and methods with proactive data loss notification and handling. A data storage device includes a memory and a controller. The controller includes a processor and controller memory. The controller memory stores a set of instructions that, when executed by the processor, instruct the controller to: detect an uncorrectable error correction code (UECC) during an internal data movement process of the storage device memory, modify a metadata field associated with a logical block address corresponding to the UECC, inform a host device about the UECC, and determine whether data stored in at least one adjacent region to the logical block address is lost.