SSD Data Recovery Using Memory Buffer Instead of XOR

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multilevel cell (MLC) NAND flash memory devices face lower read/write speeds and increased error rates compared to Single Level Cell (SLC) NAND, with data recovery operations often slowing down the memory process and consuming valuable space, and the XOR protocol used for data integrity requires significant resources, especially as SSD capacity increases.

Innovation Solution

Implementing a data recovery method in client SSDs that replaces corrupted data in non-volatile MLC NAND with uncorrupted data from a memory buffer, using read back features or high/low pulse warning detection, rather than relying on the XOR protocol, thereby utilizing the existing memory buffer for both performance enhancement and data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the XOR protocol is used for data integrity in MLC NAND flash memory, then data reliability is improved, but storage capacity is reduced and device complexity increases

Engineering Contradiction:
Improvedata integrityVSAvoidstorage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts the data recovery function from the XOR protocol and implements it using a dedicated memory buffer. The memory buffer stores backup copies of data that can be recovered when corruption is detected, eliminating the need for the XOR protocol's redundant storage requirements.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The memory buffer acts as an intermediary between the MLC NAND flash memory and the host system. It provides a safe storage location for backup data and enables data recovery operations without requiring the XOR protocol, thus preserving storage capacity while maintaining reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the XOR protocol is implemented for data recovery, then data integrity is improved, but device complexity and resource requirements increase

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

Solution Approach 1:

The patent removes the complex XOR protocol from the data recovery process and replaces it with a simpler memory buffer-based system. The memory buffer directly stores backup data, eliminating the need for complex XOR operations and reducing overall system complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of using the XOR protocol to reconstruct data, the patent creates direct copies of data in the memory buffer. This copying approach is simpler and more efficient than XOR operations, reducing computational complexity while maintaining data integrity.

Inventive Principle:
Principle #26Copying

3Reliability

If data recovery operations are performed using traditional methods, then data integrity is maintained, but write access speed is reduced

Engineering Contradiction:
Improvedata integrityVSAvoidwrite access speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent implements preliminary action by continuously maintaining backup copies of data in the memory buffer before corruption occurs. When corruption is detected, the recovery process can immediately use the pre-stored backup data, eliminating the need for time-consuming XOR operations and improving write access speed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10303571B2Data recovery in memory devices
Publication Date: 2019.05.28 SK HYNIX NAND PRODUCT SOLUTIONS CORP
  • US10303571B2 patent drawing
  • US10303571B2 patent drawing
  • US10303571B2 patent drawing

AI summary

Technology for an apparatus is described. The apparatus can include a first non-volatile memory, a second non-volatile memory to have a write access time faster than the first non-volatile memory, and a memory controller. The memory controller can be configured to detect corrupted data in a selected data region in the first non-volatile memory. The selected data region can be associated with an increased risk of data corruption after data is written from the second non-volatile memory to the first non-volatile memory. Uncorrupted data in the second non-volatile memory that corresponds to the corrupted data in the first non-volatile memory can be identified. Data recovery in the first non-volatile memory can be performed by replacing the corrupted data in the first non-volatile memory with uncorrupted data from the second non-volatile memory.