The invention discloses a dynamic error
correction method suitable for a three-dimensional
NAND flash memory, a controller and a storage
system, and belongs to the technical field of
semiconductor storage, and the method comprises the following steps: a coding stage: carrying out
polar code coding on data to be written into the three-dimensional
NAND flash memory to obtain a
code word sequence with the length of N; in the decoding stage, the LLR value of each bit is calculated for the data with the length of N read from the three-dimensional
NAND flash memory; after setting the
list length of the SCL decoding
algorithm, inputting the N-bit LLR value into the SCL decoding
algorithm to realize decoding; the step of setting the
list length of the SCL decoding
algorithm comprises the following steps: acquiring bit error rates of the SCL decoding algorithm under different
list lengths under the current original
bit error rate of the three-dimensional NAND
flash memory, screening the list length with the
bit error rate lower than a preset performance threshold, and setting the list length of the SCL decoding algorithm as the screened minimum length. The method adapts to the error characteristic of the three-dimensional NAND
flash memory, and the overhead can be reduced under the condition of ensuring that the error correction requirement is met.