Storage ECC Check Code Conversion for Efficient Error Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage devices face challenges in error correction due to the limited capability of existing error correction codes (ECCs), which cannot effectively handle varying failure tendencies in memory components, leading to inefficient data encoding and potential data corruption from external factors like neutron rays and internal deterioration.
Innovation Solution
A storage device and control method that generate a common check code based on the correlation between multiple types of ECCs, allowing for error correction using either type of ECC without adding multiple check codes, thereby reducing the number of check codes required and improving encoding efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple types of ECC check codes are added to data, then error correction capability is improved, but data encoding efficiency deteriorates due to increased number of check codes
Solution Approach 1:
The patent creates a check code that serves multiple ECC types simultaneously. A single check code generation unit generates a universal check code that can be used by both first-type ECC (e.g., SECDED) and second-type ECC (e.g., HAMMING), eliminating the need for separate check codes for each ECC type while maintaining error correction capabilities of both types.
Solution Approach 2:
The patent merges the functionality of multiple check code generation units into a single unified check code generation unit. This unit generates a single check code that combines the error correction capabilities of different ECC types, reducing the total number of check codes from multiple separate check codes to one unified check code.
2Reliability
If multiple types of ECC check codes are added to data, then error correction capability is improved, but memory resource consumption increases
Solution Approach 1:
The generated check code is designed to be universal, serving multiple ECC types with a single instance. This single check code can be used by both first-type and second-type ECC circuits, reducing the quantity of check codes from multiple separate check codes to one shared check code.
Solution Approach 2:
The system discards the need for multiple separate check codes by recovering the error correction capability of multiple ECC types through a single unified check code. The single check code replaces what would otherwise require multiple separate check codes, reducing memory resource consumption.
3Ease of manufacture
If existing ECC methods are used, then data storage is simple, but error correction is insufficient due to limited ECC capability and inability to handle varying failure tendencies
Solution Approach 1:
The system dynamically selects which ECC type to use based on the actual error conditions detected. The error correction unit can switch between first-type ECC and second-type ECC depending on the nature and severity of errors, allowing the system to adapt to varying failure tendencies while maintaining simple data storage structure.
Solution Approach 2:
The system changes the error correction parameters by selecting different ECC types based on detected error patterns. When errors are detected, the system can switch from one ECC methodology to another, changing the correction parameters to match the failure mode while keeping the underlying data storage simple.
Data Source
AI summary
A storage device includes: a memory; and a processor configured to, at the time of writing data into the memory, generate a first check code common to a plurality of types of error correction codes from the data on the basis of a correlation relationship between the plurality of types of error correction codes, add the first check code to the data and write the data into the memory, convert the first check code into a second check code based on any one of the plurality of types of error correction codes at the time of reading the data from the memory, and perform error correction by using the second check code.


