Storage Controller Segmentation for Continuous ECC Data Output
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage devices face challenges in maintaining high operating speed while ensuring reliability, particularly when error correction operations are delayed, which can lead to data transmission gaps and potential errors.
Innovation Solution
The storage device employs a controller that divides data into segments, performs error correction decoding sequentially, and adds error correction parity to each segment. If a segment's decoding is not complete within a threshold time, it sends dummy data with incorrect parity to maintain continuous data output to the host device, allowing for early response and improved speed without compromising reliability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If error correction decoding is performed sequentially for each segment, then reliability is improved, but operating speed deteriorates due to sequential processing delays
Solution Approach 1:
The controller performs error correction decoding on the first segment in advance and transmits it immediately when decoding completes, rather than waiting for all segments to be decoded. This preliminary action on the first segment allows the system to maintain sequential decoding reliability while improving overall transmission speed by not holding up transmission for subsequent segments.
Solution Approach 2:
The data is divided into multiple segments that can be processed and transmitted independently. The controller can complete error correction decoding for the first segment, transmit it to the host device, and then continue decoding subsequent segments without waiting for the entire data set to be processed, thus resolving the contradiction between sequential processing reliability and transmission speed.
2Measurement precision
If the controller waits for complete error correction decoding before transmission, then data accuracy is improved, but transmission continuity deteriorates causing gaps in data output
Solution Approach 1:
The controller performs error correction decoding on the first segment in advance and transmits it immediately when decoding completes, rather than waiting for all segments to be decoded. This preliminary action on the first segment allows the system to maintain sequential decoding reliability while improving overall transmission speed by not holding up transmission for subsequent segments.
Solution Approach 2:
By transmitting the first segment as soon as its error correction decoding is complete, the controller ensures continuous data transmission to the host device without gaps. The useful action of data transmission continues uninterrupted while error correction decoding of subsequent segments proceeds in the background, maintaining both accuracy and continuity.
3Speed
If the controller transmits data before error correction decoding is complete, then operating speed is improved, but reliability deteriorates due to potential transmission of incorrect data
Solution Approach 1:
The controller performs error correction decoding on the first segment in advance and transmits it immediately when decoding completes, rather than waiting for all segments to be decoded. This preliminary action on the first segment allows the system to maintain sequential decoding reliability while improving overall transmission speed by not holding up transmission for subsequent segments.
Solution Approach 2:
The data is divided into multiple segments that can be processed and transmitted independently. The controller can complete error correction decoding for the first segment, transmit it to the host device, and then continue decoding subsequent segments without waiting for the entire data set to be processed, thus resolving the contradiction between sequential processing reliability and transmission speed.
Data Source
AI summary
A storage device includes a nonvolatile memory device and a controller configured to read data from the nonvolatile memory device, to divide the read data into a plurality of segments, and to sequentially perform error correction decoding with respect to the plurality of segments. When the error correction decoding of each segment is completed, the controller adds error correction parity to each of the decoded segments and sends the decoded segments with added error correction parity to an external host device. When error correction decoding of a second segment is not completed after a threshold time has elapsed after sending a first segment of which error correction decoding is completed, the controller adds an incorrect error correction parity to dummy data and sends the dummy data with the added incorrect error correction parity to the external host device.


