SSD Two-Level Parity Protection for Extreme Temperature Reliability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory devices face challenges in maintaining data reliability at elevated temperatures, where errors can occur due to noise, voltage disturbances, and retention loss, leading to potential data corruption.
Innovation Solution
Implementing two levels of parity protection for stored data, where a second level of parity data is created among codewords already protected by a first level, providing enhanced error correctability and data integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional error correction codes are used, then data storage is possible, but data reliability deteriorates at elevated temperatures
Solution Approach 1:
The patent divides error correction into two separate levels: first-level ECC protects individual codewords, while second-level ECC protects groups of codewords. This segmentation allows each level to handle different error patterns, with the second level providing additional protection against temperature-induced errors that affect multiple codewords.
Solution Approach 2:
The patent combines two different error correction codes (first ECC and second ECC) into a composite protection scheme. The first ECC (e.g., BCH or Reed-Solomon) handles basic error correction, while the second ECC (e.g., LDPC or Turbo code) provides enhanced protection, creating a composite error correction system that outperforms either code alone in high-temperature environments.
2Reliability
If more error correction bits are added, then error correctability improves, but storage capacity decreases
Solution Approach 1:
The patent applies error correction selectively: the first-level ECC is applied to all codewords, while the second-level ECC is applied only to groups of codewords. This partial application of stronger error correction reduces the overall overhead compared to applying maximum-strength ECC to every single codeword, thereby preserving more storage capacity while maintaining high error correctability.
Solution Approach 2:
The patent introduces a hierarchical dimension to error correction by organizing codewords into groups and applying different levels of protection. Instead of uniformly increasing ECC bits for all data, the system creates a multi-layered protection structure where the second-level ECC operates at the group level, providing enhanced protection with reduced per-bit overhead.
3Reliability
If two levels of parity protection are implemented, then error correctability improves, but device complexity increases
Solution Approach 1:
The encoding process is segmented into two distinct stages: first-level ECC encoding for individual codewords, and second-level ECC encoding for groups of codewords. This segmentation allows each encoding stage to be optimized independently and processed in parallel, reducing the overall computational complexity compared to a single monolithic encoding system.
Solution Approach 2:
The first-level ECC encoding is performed preliminarily on all codewords before the second-level ECC is applied to groups. This preliminary action ensures that basic errors are corrected early, reducing the burden on the second-level ECC and allowing it to focus on more complex error patterns, thereby optimizing the overall encoding efficiency.
Data Source
AI summary
After data to be written to a storage device, such as a solid state drive (SSD), is received from a host system, the received data is encoded using a first error correction code to generate first parity data. A temperature at which memory cells of the storage device will store the received data is determined. In response, a first portion of the received data is identified (e.g., data in memory storage that is error-prone at a predicted higher temperature that has been determined based on output from an artificial neural network using sensor(s) input). The first portion is encoded using a second error correction code to generate second parity data. The second error correction code has a higher error correction capability than the first error correction code. The encoded first portion, the first parity data, and the second parity data are stored in the memory cells.


