Iterative Error Detection for Partial Codeword Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing error-detecting code processing methods in storage devices, such as SSDs, result in longer processing times and unnecessary power consumption due to sequential correction of entire data codewords, even when only a portion is corrupted.
Innovation Solution
Implementing iterative error-detecting code processing by dividing data codewords into portions, calculating and storing error-detecting code values for each portion, and correcting corrupted portions iteratively to reduce redundant processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If sequential correction of entire data codewords is used, then error detection capability is maintained, but processing time and power consumption increase
Solution Approach 1:
The patent divides the data codeword into multiple portions (e.g., first portion and second portion) and processes each portion separately. The processing circuitry calculates error-detecting code values for each portion independently and stores them in memory, then combines them to determine the overall error-detecting code value. This segmentation allows the system to terminate processing early when a portion is correctly identified, reducing overall processing time while maintaining complete error detection capability.
2Reliability
If sequential correction of entire data codewords is used, then error detection capability is maintained, but power consumption increases
Solution Approach 1:
The patent segments the data processing into multiple portions and processes them separately. By calculating and storing error-detecting code values for each portion independently in memory, the system can terminate processing early when correctness is confirmed, avoiding unnecessary power consumption associated with processing the entire codeword when only a portion needs verification.
Solution Approach 2:
The patent implements partial action by processing only the necessary portions of the data codeword. When the processing circuitry determines that a portion is correct based on its error-detecting code value, it can terminate further processing of that portion and proceed directly to combining results, performing less work than processing the entire codeword while still achieving the error detection goal.
3Reliability
If entire data codewords are processed sequentially, then complete verification is achieved, but throughput decreases
Solution Approach 1:
The patent divides the data codeword into multiple portions and processes them in parallel or sequential order with early termination capability. The processing circuitry calculates error-detecting code values for each portion and stores them in memory, enabling independent verification. This allows the system to achieve complete verification of the entire codeword while improving throughput by terminating early when portions are confirmed correct, avoiding redundant processing.
4Loss of time
If iterative updates on portions are implemented, then latency is reduced, but system complexity increases
Solution Approach 1:
The patent segments the data codeword into multiple portions and implements iterative processing where the processing circuitry calculates error-detecting code values for each portion, stores them in memory, and combines them. This segmentation enables early termination when portions are verified correct, reducing latency. The memory component stores intermediate results, allowing the system to resume or terminate processing efficiently without complex state management, thus reducing latency while controlling system complexity.
Data Source
AI summary
A system and related method, including memory and processing circuitry, which is to receive data and corresponding expected error-detecting code value. The processing circuitry processes the data in at least two portions by calculating and storing, in memory, an error-detecting code value for the respective portion. The processing circuitry is then to calculate an overall error-detecting code value based on the respective error-detecting code values for the at least two portions. When the overall error-detecting code value does not match the expected error-detecting code value the processing circuitry is to correct at least one portion and process the corrected portions by calculating an updated error-detecting code value for a respective one of the corrected portions and calculating an updated overall error-detecting code value based on the updated error-detecting code value for each corrected portions and the stored error-detecting code values.


