Data Path Protection Circuit for Error Detection in Storage Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile data storage devices face increased bit error rates due to corruption during data transmission, which existing error correction coding (ECC) methods cannot address, as they only correct errors post-encoding and do not account for data corruption before encoding.
Innovation Solution
A data storage device system that maintains a backup copy of data in volatile memory, uses a data path protection circuit to detect and correct errors by comparing redundancy data, and verifies data integrity before re-transmitting, thereby reducing loss and resource consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If ECC encoding is used to correct errors in data read from non-volatile memory, then error correction capacity increases, but data corruption that occurs before ECC encoding cannot be detected or corrected
Solution Approach 1:
The patent applies preliminary action by performing error detection coding (EDC) on data before it is transmitted through the data path to the ECC encoder. This preliminary EDC encoding allows the system to detect corruption that occurs before the data reaches the ECC encoder, enabling early identification and handling of corrupted data without wasting resources on processing already-corrupted information through the entire storage pipeline.
2Reliability
If more parity bits are used to increase error correction capacity, then error correction capability improves, but the number of bits required to store encoded data increases
Solution Approach 1:
The patent applies partial action by implementing EDC with a specific number of parity bits (e.g., 64 bits) that provides sufficient error detection capability for the data path without over-provisioning. This partial approach focuses error detection resources only where needed (in the data path before ECC encoding) rather than applying full ECC protection to all data, thereby achieving adequate reliability while minimizing the total number of bits required.
3Reliability
If data is re-transmitted after corruption is detected, then data integrity is maintained, but power, time, and processing resources are consumed
Solution Approach 1:
The patent applies preliminary action by detecting data corruption early in the data path using EDC before the corrupted data undergoes expensive ECC encoding and processing. By identifying corrupted data at this preliminary stage, the system can discard it immediately without consuming the significant power and processing resources that would be required to attempt correction or re-transmission through the full ECC pipeline, thereby maintaining data integrity while minimizing resource consumption.
4Productivity
If corrupted data is processed through the storage device, then processing continues, but corrupt data may be stored and propagated
Solution Approach 1:
The patent applies preliminary action by implementing EDC verification at multiple points in the data path, including after data reception and before ECC encoding. This preliminary verification creates checkpoints that identify corrupted data early, allowing the system to discard corrupted data before it can be processed further or stored. This approach maintains productivity by quickly identifying and removing corrupt data without blocking the processing of valid data, while simultaneously preventing corruption propagation.
Data Source
AI summary
A device includes a memory device and a controller. The controller is configured to receive data to be stored in the non-volatile memory and to store a first copy of the data and a second copy of the data to a volatile memory. The controller is configured, in response to detecting a bit error corresponding to the first copy of the data prior to storage of the first copy of the data to the non-volatile memory, to perform an error detection operation that includes comparing first redundancy data corresponding to the first copy of the data to second redundancy data corresponding to the second copy of the data.


