SSD Controller Dual RAM Data Integrity Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage devices, such as SSDs, face challenges in data reliability due to limited RAM capacity, which is consumed by parity data and data in flight, leading to potential data loss during power failures.

Innovation Solution

The implementation of a storage device with a controller that utilizes two volatile memory units (RAM1 and RAM2) to generate and store change log data, updating delta data, and periodically copying it to a non-volatile storage unit, ensuring data integrity during power failures by copying delta and change log data to the storage unit.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If parity data is generated and stored in RAM for each write command, then data reliability is improved, but RAM space is consumed and device cost increases

Engineering Contradiction:
Improvedata reliabilityVSAvoidRAM space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments parity data into two categories: critical parity data that must be protected and non-critical parity data that can be lost. By applying different protection strategies to different segments, the system achieves reliable data protection while minimizing RAM consumption. Critical user data receives full parity protection, while parity data itself is treated as non-critical and allowed to be lost without compromising overall data integrity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts parity data from the critical protection category and treats it separately from user data. By taking out parity data from the set of data requiring protection, the system avoids generating redundant parity for parity itself, thereby reducing RAM space requirements while maintaining data reliability for actual user information.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If data in flight is stored in RAM, then write performance is improved, but RAM space is consumed and data loss risk increases during power failure

Engineering Contradiction:
Improvewrite performanceVSAvoiddata loss risk
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent converts the harmful effect of potential data loss into a beneficial selective loss strategy. By determining that parity data can be safely lost without compromising data integrity, the system allows parity data in flight to be discarded during power failures. This transforms the potential harm into a benefit by simplifying the power failure response while maintaining data reliability through selective protection of only critical user data.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

3Reliability

If dedicated die or plane is allocated for parity data in each stream, then data protection is improved, but storage capacity is reduced

Engineering Contradiction:
Improvedata protectionVSAvoidstorage capacity
Core Design Contradiction:
ReliabilityVSVolume of stationary object

Solution Approach 1:

The patent applies partial protection action by protecting only the necessary portion of data (critical user data) rather than protecting all data including parity data. This partial approach achieves sufficient data protection for actual user information while avoiding the excessive allocation of dedicated storage resources, thereby maximizing usable storage capacity.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20240370195A1Data Integrity Protection Of SSDs Utilizing Streams
Publication Date: 2024.11.07 SANDISK TECHNOLOGIES LLC
  • US20240370195A1 patent drawing
  • US20240370195A1 patent drawing
  • US20240370195A1 patent drawing

AI summary

The present disclosure generally relates to methods of operating storage devices. The storage device comprises a controller comprising first random access memory (RAM1), second random access memory (RAM2), and a storage unit divided into a plurality of streams. When a write command is received to write data to a stream, change log data is generated and stored in the RAM1, the previous delta data for the stream is copied from the RAM2 to the RAM1 to be updated with the change log data, and the updated delta data is copied to the RAM2. The delta data stored in the RAM2 is copied to the storage unit periodically. The controller tracks which delta data has been copied to the RAM2 and to the storage unit. During a power failure, the delta data and the change log data are copied from the RAM1 or the RAM2 to the storage unit.