IP Library Granted Patent US 9,954,556
Granted Patent B2
US 9,954,556 · App. 15/049,955 · Granted Apr 24, 2018

Scheme to avoid miscorrection for turbo product codes

Inventors: Naveen Kumar (San Jose, CA); Aman Bhatia (Milpitas, CA); Lingqi Zeng (San Jose, CA)
Assignee: SK Hynix Inc.
H03M13/2963H03M13/3707H03M13/3746H03M13/451H03M13/458H03M13/152
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,954,556
App. No.
15/049,955
Granted
Apr 24, 2018
Kind
B2
Abstract

The present invention discloses a memory system and operating method thereof. The major features of the memory system and the method of operating thereof are identifying a stuck error pattern including failing constituent codes and decoding the stuck error pattern. The decoding the stuck error pattern is achieved by following steps: step 1 of using possible flipping patterns for decoding the failing constituent codes, and the number of the possible flipping patterns is 2 or more in accordance with at least the number of error bits, step 2 of obtaining a number of successfully decoded codewords after using the possible flipping patterns, and step 3 of selecting the most probable codeword from the number of successfully decoded codewords.

Claims (44)

1. A method of operating a memory system including a controller and a memory device coupled with the controller, comprising:

receiving data, by the controller, from the memory device, wherein the controller includes an ECC unit;

detecting errors in the received data by the ECC unit;

identifying a stuck error pattern including failing constituent codes in the detected errors by the ECC unit; and

decoding the stuck error pattern by the ECC unit, including:

using possible flipping patterns for decoding the failing constituent codes, wherein the number of the possible flipping patterns is 2 n k in accordance with at least the number of error bits n of kth failing constituent code;

obtaining a number of successfully decoded codewords after using the possible flipping patterns, and

selecting the most probable codeword from the number of successfully decoded codewords.

2. The method of claim 1 , wherein the using possible flipping patterns includes using all possible flipping patterns for decoding each of the failing constituent codes.

3. The method of claim 1 , wherein the number of successfully decoded codewords obtained is equal to one.

4. The method of claim 1 , wherein the selecting step includes:

determining a codeword that satisfies a predetermined number of criteria as the most probable codeword.

5. The method of claim 4 , wherein the criteria include at least one of having all bit corrections made in error intersection regions, having a least number of corrected bits, and having a greatest number of successfully decoded column/rows.

6. The method of claim 4 , further comprising skipping decoding of the constituent codes when the predetermined number of criteria are not satisfied.

7. The method of claim 1 , further comprising constructing a list including the number of successfully decoded codewords.

8. A memory system, comprising:

a post-processor for correcting data;

a non-transitory computer readable storage medium coupled to the post-processor, embedding computer program product executed by the post-processor, and including computer instructions configured to:

control memory devices;

receive data, by the controller, from a memory device, wherein the controller includes an ECC unit;

detect errors in the received data by the ECC unit;

identify a stuck error pattern including failing constituent codes in the detected errors by the ECC unit;

use possible flipping patterns for decoding failing constituent codes of the stuck error pattern, wherein the number of the possible flipping patterns is 2 n k in accordance with at least the number of error bits n of kth failing constituent code;

obtain a number of successfully decoded codewords after using the possible flipping patterns; and

select the most probable codeword from the number of successfully decoded codewords; and

a stuck turbo product code decoder configured to receive the data corrected by the post-processor.

9. The memory system of claim 8 , wherein the post-processor is further configured to use all possible flipping patterns for decoding each of the failing constituent codes.

10. The memory system of claim 8 , wherein the number of successfully decoded codewords obtained is equal to one.

11. The memory system of claim 8 , wherein the post-processor is further configured to select the most probable codeword from the number of successfully decoded codewords by determining a codeword that satisfies a predetermined number of criteria as the most probable codeword.

12. The memory system of claim 11 , wherein the criteria include at least one of having all bit corrections made in error intersection regions, having a least number of corrected bits, and having a greatest number of successfully decoded column/rows.

13. The memory system of claim 11 , wherein the post-processor is further configured to skip decoding of the constituent codes when the predetermined number of criteria are not satisfied.

14. The memory system of claim 8 , wherein the controller is further configured to construct a list including the number of successfully decoded codewords.

15. An apparatus of a memory system, comprising:

memory devices; and

a controller coupled with the memory devices, configured to:

receive data, by the controller, from at least one of the memory devices, wherein the controller includes an ECC unit;

detect errors in the received data by the ECC unit;

identify a stuck error pattern including failing constituent codes in the detected errors by the ECC unit;

use possible flipping patterns for decoding failing constituent codes of the stuck error pattern, wherein the number of the possible flipping patterns is 2 n k in accordance with at least the number of error bits n of kth failing constituent code;

obtain a number of successfully decoded codewords after using the possible flipping patterns; and

select the most probable codeword from the number of successfully decoded codewords.

16. The apparatus of claim 15 , wherein the controller is configured to select the most probable codeword from the number of successfully decoded codewords by determining a codeword that satisfies a predetermined number of criteria as the most probable codeword.

17. The apparatus of claim 16 , wherein the criteria include at least one of having all bit corrections made in error intersection regions, having a least number of corrected bits, and having a greatest number of successfully decoded column/rows.

18. The apparatus of claim 16 , wherein the controller is configured to skip decoding of the constituent codes when the predetermined number of criteria are not satisfied.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2017
From: SK HYNIX MEMORY SOLUTIONS INC.
To: SK HYNIX INC.
Reel/Frame 044899/0443 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2016
From: KUMAR, NAVEEN; BHATIA, AMAN; ZENG, LINGQI
To: SK HYNIX MEMORY SOLUTIONS INC.
Reel/Frame 037967/0427 →
Continuity (2)
Provisional Application 62120627 · Feb 25, 2015
Related Publication 20160248447A1 · Aug 25, 2016