Storage Controller Cache Recovery from Uncorrectable Errors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage systems face challenges in recovering data from uncorrectable errors in non-volatile memory, particularly when multi-bit errors occur, as existing error correction codes cannot correct these errors, leading to potential data loss and system malfunction.

Innovation Solution

A storage system and method that includes a controller configured to cache data from non-volatile memory, determine uncorrectable errors, and replace the cached data with updated data re-read from the non-volatile memory, using pattern analysis to predict and correct multi-bit errors, thereby ensuring data integrity and system reliability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If error correction code (ECC) parity bits are used to protect mapping data in volatile memory, then data integrity is improved, but multi-bit errors still cannot be corrected leading to potential data loss

Engineering Contradiction:
Improvedata integrityVSAvoiddata loss from multi-bit errors
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system performs preliminary actions by periodically re-reading mapping data from non-volatile memory and comparing it with the cached copy in volatile memory before errors become critical. This proactive approach allows detection and correction of multi-bit errors that ECC cannot handle, preventing data loss before it occurs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where mapping data is continuously monitored by comparing the cached version with periodic re-reads from non-volatile memory. When discrepancies are detected (indicating uncorrectable errors), the system triggers corrective actions by re-loading the data from non-volatile memory, creating a closed-loop error prevention system.

Inventive Principle:
Principle #23Feedback

2Reliability

If mapping data is continuously re-read from non-volatile memory to detect errors, then error detection capability is improved, but system performance and productivity deteriorate

Engineering Contradiction:
Improveerror detection capabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Instead of continuous monitoring, the system employs periodic re-reading of mapping data from non-volatile memory at scheduled intervals or under specific conditions (such as when errors are suspected). This periodic approach maintains error detection capability while significantly reducing the performance overhead compared to continuous verification.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system uses self-service mechanisms where the cached mapping data in volatile memory serves as a reference to validate periodically re-read data. This self-validation approach enables error detection without requiring external verification systems, minimizing performance impact while maintaining reliability.

Inventive Principle:
Principle #25Self-service

3Productivity

If uncorrectable errors in cached mapping data are not addressed, then system operation continues, but data integrity and reliability worsen

Engineering Contradiction:
Improvesystem operation continuityVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

When uncorrectable errors are detected through comparison between cached and re-read mapping data, the system triggers a feedback-driven corrective action by re-loading the affected mapping data from non-volatile memory into volatile memory. This ensures data integrity is restored while minimizing disruption to overall system operation.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system discards corrupted mapping data detected in the volatile memory cache and recovers by re-loading fresh copies from non-volatile memory. This discard-and-recover approach ensures that corrupted data does not propagate further, maintaining system reliability while allowing continuous operation.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS11663081B2Storage system and method for data recovery after detection of an uncorrectable error
Publication Date: 2023.05.30 SANDISK TECHNOLOGIES LLC
  • US11663081B2 patent drawing
  • US11663081B2 patent drawing
  • US11663081B2 patent drawing

AI summary

A storage system caches, in volatile memory, data read from non-volatile memory. After detecting an uncorrectable error in the data cached in the volatile memory, the storage system replaces the cached data with data re-read from the non-volatile memory and updated to reflect any changes made to the data after it was stored in the non-volatile memory. The storage system can also analyze a pattern in data adjacent to the uncorrectable error and predict corrected data based on the pattern.