Storage Controller Power Loss Data Recovery via SLC Reconstruct

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data loss occurs during power loss events in storage systems programming non-volatile memory, as volatile data latches are lost, and existing solutions either require significant volatile memory or increase wear and performance issues by writing data twice to SLC blocks.

Innovation Solution

A storage system with a controller that aborts ongoing programming operations in MLC memory upon detecting power loss, reconstructs data from successfully programmed MLC cells, and programs it to SLC memory before shutdown, allowing for data protection without the need for extensive volatile memory or increased SLC wear.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is maintained in volatile memory during power loss protection, then data reliability is improved, but volatile memory requirements increase

Engineering Contradiction:
Improvedata reliabilityVSAvoidvolatile memory requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system performs preliminary actions by maintaining data in data latches during normal operation and prepares power loss protection by having the ability to quickly reconstruct and save critical data to SLC blocks when power loss is detected, rather than continuously maintaining all data in volatile memory

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention extracts only the critical data that needs protection during power loss events and saves it to SLC blocks, rather than maintaining all data in volatile memory. This selective extraction reduces volatile memory requirements while maintaining data reliability for critical information

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If data is written to SLC blocks for power loss protection, then data reliability is improved, but SLC wear increases

Engineering Contradiction:
Improvedata reliabilityVSAvoidSLC wear
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The system applies different quality characteristics to different parts of the storage system by using SLC blocks specifically for power loss protection data (high durability needed) while using MLC blocks for regular data storage (higher capacity, lower wear). This local differentiation reduces overall SLC wear by limiting its use to only when necessary

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system recovers data from data latches and reconstructs it in SLC blocks only when power loss is detected, rather than continuously writing to SLC. This on-demand recovery approach minimizes SLC write operations and associated wear while maintaining data reliability when needed

Inventive Principle:
Principle #34Discarding and recovering

3Reliability

If data is reconstructed from partially programmed MLC cells, then data protection is improved, but programming time increases

Engineering Contradiction:
Improvedata protectionVSAvoidprogramming time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary reconstruction of data from data latches and successfully programmed MLC cells during the power loss event window, preparing the reconstructed data for saving to SLC blocks. This preliminary action reduces the overall time impact by doing reconstruction work while the system is still partially powered

Inventive Principle:
Principle #10Preliminary action

4Reliability

If ongoing programming operations are aborted upon power loss detection, then data corruption is prevented, but programming completion rate decreases

Engineering Contradiction:
Improvedata corruption preventionVSAvoidprogramming completion rate
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system extracts and saves the portion of data that was successfully programmed to MLC blocks before aborting the operation. By taking out the valid data portion and preserving it through reconstruction from data latches, the system prevents data corruption while minimizing the impact on overall programming productivity

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11763905B2Storage system and method for data protection during power loss
Publication Date: 2023.09.19 SANDISK TECHNOLOGIES LLC
  • US11763905B2 patent drawing
  • US11763905B2 patent drawing
  • US11763905B2 patent drawing

AI summary

Upon detecting power loss during the process of programming multi-level cell (MLC) memory in a storage system, the storage system takes steps to prevent data loss. In one example, the controller sends a graceful shutdown command to the memory, in response to which the memory aborts the ongoing programming operation and stores data from data latches associated with unprogrammed memory cells in single-level cell (SLC) memory. The memory can also store data from programmed memory cells in the SLC memory. The data to be programmed in the MLC memory can be reconstructed prior to powering down the storage system or after the storage system is powered back up. The reconstructed data can then be programmed in the MLC memory.