IP Library Granted Patent US 10,484,008
Granted Patent B2
US 10,484,008 · App. 15/719,156 · Granted Nov 19, 2019

Memory system with on-the-fly error detection and termination and operating method thereof

Inventors: Fan Zhang (Fremont, CA); Chenrong Xiong (San Jose, CA); Abhiram Prabhakar (San Jose, CA); Aman Bhatia (San Jose, CA); Yu Cai (San Jose, CA); Naveen Kumar (San Jose, CA)
Assignee: SK hynix Inc.
H03M13/1111G06F11/1004G06F11/1012G06F11/1068G11C29/52
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 10,484,008
App. No.
15/719,156
Granted
Nov 19, 2019
Kind
B2
Abstract

Decoding method includes calculating cyclic redundancy check (CRC) parity bits for data on-the-fly; performing a low-density parity-check (LDPC) decoding for the data; if it is determined that an iteration of is finished, updating the calculated CRC parity bits to generate CRC parity bits; comparing the generated CRC parity bits with CRC bits included in the data; and terminating the LDPC decoding based on the comparison result.

Claims (34)

1. A decoding method, comprising:

calculating cyclic redundancy check (CRC) parity bits for data on-the-fly while the data is decoded using low-density parity-check (LDPC) decoding, the calculating of CRC parity bits being performed at each of a plurality of iterations of the LDPC decoding before the LDPC decoding is complete;

updating the calculated CRC parity bits to generate CRC parity bits after each iteration of the LDPC decoding;

comparing the generated CRC parity bits with CRC bits included in the data to determine whether the generated CRC parity bits match the CRC bits in the data; and

terminating the LDPC decoding when the comparing indicates that the generated CRC parity bits match the CRC bits in the data.

2. The method of claim 1 , further comprising determining LDPC checksum in accordance with the LDPC decoding.

3. The method of claim 2 , wherein the terminating of the LDPC decoding comprises terminating the LDPC decoding when the generated CRC parity bits match with the CRC bits in the data and it is determined that the LDPC checksum is less than a predetermined threshold.

4. The method of claim 3 , wherein the terminating of the LDPC decoding further comprises outputting hard decision values in accordance with the LDPC decoding.

5. The method of claim 1 , wherein the updating of the calculated CRC parity bits comprises updating the calculated CRC parity bits by feeding predetermined bits into a CRC encoder.

6. The method of claim 1 , wherein the performing of the LDPC decoding for the data comprises processing, for each iteration of the LDPC decoding, updating messages for a circulant.

7. A memory system, comprising:

a storage; and

a decoder coupled to the storage and suitable for:

calculating cyclic redundancy check (CRC) parity bits for data from the storage on-the-fly while the data is decoded using low-density parity-check (LDPC) decoding, the calculating of CRC parity bits being performed at each of a plurality of iterations of the LDPC decoding before the LDPC decoding is complete;

updating the calculated CRC parity bits to generate CRC parity bits after each iteration of the LDPC decoding;

comparing the generated CRC parity bits with CRC bits included in the data to determine whether the generated CRC parity bits match the CRC bits in the data; and

terminating the LDPC decoding when the comparing indicates that the generated CRC parity bits match the CRC bits in the data.

8. The memory system of claim 7 , wherein the decoder is further suitable for determining LDPC checksum in accordance with the LDPC decoding.

9. The memory system of claim 8 , wherein the decoder is further suitable for terminating the LDPC decoding when the comparing indicates that the generated CRC parity bits match with the CRC bits and it is determined that the LDPC checksum is less than a predetermined threshold.

10. The memory system of claim 9 , wherein the decoder is further suitable for outputting hard decision values in accordance with the LDPC decoding.

11. The memory system of claim 7 , wherein the decoder is further suitable for updating the calculated CRC parity bits by feeding predetermined bits into a CRC encoder.

12. The memory system of claim 7 , wherein the decoder is further suitable for performing of the LDPC decoding for the data by processing, for each iteration of the LDPC decoding, updating messages for a circulant.

13. A memory controller, comprising:

a receiver suitable for receiving data; and

a decoder coupled with the receiver and suitable for:

calculating cyclic redundancy check (CRC) parity bits for data on-the-fly while the data is decoded using low-density parity-check (LDPC) decoding, the calculating of CRC parity bits being performed at each of a plurality of iterations of the LDPC decoding before the LDPC decoding is complete;

updating the calculated CRC parity bits to generate CRC parity bits after each iteration of the LDPC decoding;

comparing the generated CRC parity bits with CRC bits included in the data to determine whether the generated CRC parity bits match the CRC bits in the data; and

terminating the LDPC decoding when the comparing indicates that the generated CRC parity bits match the CRC bits in the data.

14. The memory controller of claim 13 , wherein the decoder is further suitable for determining LDPC checksum in accordance with the LDPC decoding.

15. The memory controller of claim 14 , wherein the decoder is further suitable for terminating the LDPC decoding, when the comparing indicates that the generated CRC parity bits match with the CRC bits and it is determined that the LDPC checksum is less than a predetermined threshold.

16. The memory controller of claim 15 , wherein the decoder is further suitable for outputting hard decision values in accordance with the LDPC decoding.

17. The memory controller of claim 13 , wherein the decoder is further suitable for updating the calculated CRC parity bits by feeding predetermined bits into a CRC encoder.

18. The memory controller of claim 13 , wherein the decoder is further suitable for performing of the LDPC decoding for the data by processing, for each iteration of the LDPC decoding, updating messages for a circulant.

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 Sep 28, 2017
From: ZHANG, FAN; XIONG, CHENRONG; PRABHAKAR, ABHIRAM; BHATIA, AMAN; CAI, YU; KUMAR, NAVEEN
To: SK HYNIX MEMORY SOLUTIONS INC.
Reel/Frame 043730/0427 →
Continuity (1)
Related Publication 20190097654A1 · Mar 28, 2019