Soft decision decoding using preliminary data in storage device
An operation method of a controller for controlling a memory device, including: sequentially receiving first hard decision data and first data from a first memory block of the memory device; based on the receiving of the first hard decision data being completed, starting initial soft decision decoding based on the first hard decision data and first coarse data; while the initial soft decision decoding is being performed, replacing the first coarse data with first soft decision data based on the first data received from the memory device; and after the initial soft decision decoding is completed, performing first soft decision decoding based on the first hard decision data and the first soft decision data.
1 . An operation method of a controller for controlling a memory device, the method comprising:
sequentially receiving first hard decision data and first data from a first memory block of the memory device;
based on the receiving of the first hard decision data being completed, starting initial soft decision decoding based on the first hard decision data and first preliminary data;
while the initial soft decision decoding is being performed, replacing the first preliminary data with first soft decision data based on the first data received from the memory device; and
after the initial soft decision decoding is completed, performing first soft decision decoding based on the first hard decision data and the first soft decision data.
2 . The method of claim 1 , wherein the first preliminary data comprises a predetermined data pattern corresponding to a status of the memory device.
3 . The method of claim 1 , further comprising:
iteratively performing soft decision decoding a predetermined number of times, based on the first hard decision data and the first soft decision data.
4 . The method of claim 1 , wherein the first data comprises the first soft decision data, and
wherein the first soft decision data is read from memory cells corresponding to the first hard decision data.
5 . The method of claim 1 , wherein the first data is obtained by compressing the first soft decision data, and
wherein the first soft decision data is read from memory cells corresponding to the first hard decision data.
6 . The method of claim 5 , wherein the replacing comprises:
decompressing the first data to generate the first soft decision data; and
updating the first preliminary data based on the first soft decision data.
7 . The method of claim 1 , wherein the first hard decision data and the first data are received from the memory device based on a first read command transmitted to the memory device.
8 . The method of claim 1 , further comprising:
sequentially receiving second hard decision data and second data from a second memory block of the memory device;
based on the receiving of the second hard decision data being completed, starting second soft decision decoding based on the second hard decision data and second preliminary data;
while the second soft decision decoding is being performed, replacing the second preliminary data with second soft decision data based on the second data received from the memory device; and
after the second soft decision decoding is completed, performing third soft decision decoding based on the second hard decision data and the second soft decision data.
9 . The method of claim 8 , wherein the first preliminary data is different from the second preliminary data.
10 . The method of claim 1 , further comprising:
monitoring a status of the memory device; and
updating the first preliminary data with third preliminary data based on the status of the memory device.
11 . The method of claim 10 , further comprising:
sequentially receiving third hard decision data and third data from the first memory block of the memory device; and
based on the receiving of the third hard decision data being completed, starting fourth soft decision decoding based on the third hard decision data and the third preliminary data.
12 . A controller for controlling a memory device, the controller comprising:
a NAND interface circuit configured to receive first hard decision data and first compressed soft decision data from the memory device;
a decompression engine configured to decompress the first compressed soft decision data to generate first soft decision data;
a random access memory (RAM) configured to store the first hard decision data and the first soft decision data; and
an error correction code (ECC) engine configured to:
based on the first hard decision data being stored in the RAM, start initial soft decision decoding based on the first hard decision data and first preliminary data, and
after the first soft decision data is stored in the RAM, perform first soft decision decoding based on the first hard decision data and the first soft decision data.
13 . The controller of claim 12 , wherein the ECC engine is further configured to start the initial soft decision decoding before all of the first compressed soft decision data is received through the NAND interface circuit.
14 . The controller of claim 12 , wherein the decompression engine is further configured to:
decompress the first compressed soft decision data based on a first compression ratio; and
generate the first soft decision data.
15 . The controller of claim 14 , wherein the decompression engine is further configured to:
adjust the first compression ratio to a second compression ratio based on a result of the first soft decision decoding; and
decompress the first compressed soft decision data using the second compression ratio to generate second soft decision data.
16 . An operation method of a storage device including a memory device and a controller, the method comprising:
transmitting, by the controller, a read command to the memory device;
generating, by the memory device, first hard decision data and first soft decision data by performing a read operation on a selected word line based on the read command;
generating, by the memory device, first compressed soft decision data by compressing the first soft decision data;
transmitting, by the memory device, the first hard decision data and the first compressed soft decision data to the controller;
based on reception of the first hard decision data being completed by the controller, starting, by the controller, initial soft decision decoding based on the first hard decision data and first preliminary data;
generating, by the controller, first decompressed soft decision data by decompressing the first compressed soft decision data; and
performing first soft decision decoding based on the first hard decision data and the first decompressed soft decision data.
17 . The method of claim 16 , wherein the first hard decision data and the first compressed soft decision data are sequentially transmitted to the controller.
18 . The method of claim 16 , wherein the controller is further configured to:
receive the first compressed soft decision data from the memory device while the initial soft decision decoding is being performed; and
decompress the first compressed soft decision data to generate the first soft decision data.
19 . The method of claim 16 , wherein the memory device is further configured to generate the first compressed soft decision data by compressing the first soft decision data based on a variable compression ratio.
20 . The method of claim 19 , wherein the controller is further configured to:
decompress the first compressed soft decision data based on a first compression ratio to generate the first decompressed soft decision data;
adjust the first compression ratio to a second compression ratio based on a result of the first soft decision decoding; and
decompress the first compressed soft decision data based on the second compression ratio to generate second decompressed soft decision data.