IP Library › Granted Patent US 10,789,127
Granted Patent B2
US 10,789,127 · App. 16/057,855 · Granted Sep 29, 2020

Method of operating memory controller for performing encoding and decoding by using a convolution-type low density parity check code

Inventors: Geunyeong Yu (Seongnam-si, KR); Bohwan Jun (Uijeongbu-si, KR); Kijun Lee (Seoul, KR); Junjin Kong (Yongin-si, KR); Hong-Rak Son (Anyang-si, KR)
Assignee: Samsung Electronics Co., Ltd.
G06F11/1076H03M13/1105H03M13/1154H03M13/3972H03M13/616
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,789,127
App. No.
16/057,855
Granted
Sep 29, 2020
Kind
B2
Abstract

A method of operating a memory controller that performs decoding by using a parity check matrix corresponding to a convolution-type low density parity check (LDPC) code includes receiving a codeword from at least one memory device, the codeword including a first sub-codeword and a second sub-codeword; decoding a first sub-codeword into first data by using first sliding windows in a first direction, set based on a first sub-matrix included in the parity check matrix and associated with the first sub-codeword; and decoding a second sub-codeword into second data by using second sliding windows in a second direction, set based on a second sub-matrix included in the parity check matrix and associated with the second sub-codeword.

Claims (41)

1. A method of operating a memory controller configured to perform decoding by using a parity check matrix corresponding to a convolution-type low density parity check (LDPC) code, the method comprising:

receiving a codeword from at least one memory device, the codeword comprising a first sub-codeword and a second sub-codeword;

decoding the first sub-codeword into first data by using first sliding windows in a first direction, set based on a first sub-matrix included in the parity check matrix and associated with the first sub-codeword; and

decoding the second sub-codeword into second data by using second sliding windows in a second direction, set based on a second sub-matrix included in the parity check matrix and associated with the second sub-codeword,

wherein the codeword further comprises a termination parity for ensuring that a syndrome of the codeword is a zero vector, and

wherein the decoding of the first sub-codeword and the decoding of the second sub-codeword is performed based on a placement position of a termination matrix, associated with the termination parity, in the parity check matrix.

2. The method of claim 1 , wherein the decoding of the first sub-codeword comprises decoding the first sub-codeword in a first direction from a least significant bit (LSB) to a most significant bit (MSB), and the decoding of the second sub-codeword comprises decoding the second sub-codeword in a second direction from an MSB to an LSB.

3. The method of claim 1 , wherein, when the termination matrix is arranged at a last part in the second sub-matrix, and wherein the decoding of the second sub-codeword comprises decoding the second sub-codeword into the second data by using the termination parity and the second sliding windows in the second direction.

4. The method of claim 1 , wherein the termination matrix is arranged at a boundary between the first sub-matrix and the second sub-matrix, wherein the decoding of the first sub-codeword comprises decoding the first sub-codeword into the first data by using the first sliding windows in the first direction and a part of the termination parity, and wherein the first sliding windows in the first direction are variable in size to include a part of the termination matrix arranged in the first sub-matrix and so as not to include a part of the second sub-matrix.

5. The method of claim 1 , wherein the termination matrix is arranged at a boundary between the first sub-matrix and the second sub-matrix, wherein the decoding of the first sub-codeword comprises decoding the first sub-codeword into the first data by using the first sliding windows in the first direction, the termination parity, and a part of the second sub-codeword, and wherein the first sliding windows in the first direction have a constant size to include a part of the second sub-matrix.

6. The method of claim 1 , wherein the receiving of the codeword comprises:

receiving the first sub-codeword from a first memory device connected to the memory controller via a first channel; and

receiving the second sub-codeword from a second memory device connected to the memory controller via a second channel.

7. The method of claim 6 , wherein the memory controller comprises a first error checking and correcting (ECC) circuit and a second ECC circuit,

wherein the decoding of the first sub-codeword is performed by the first ECC circuit, and the decoding of the second sub-codeword is performed by the second ECC circuit in parallel with the decoding of the first sub-codeword.

8. The method of claim 7 , wherein the decoding of the first sub-codeword further comprises receiving decoding-related information about the second sub-codeword from the second ECC circuit,

wherein the first sub-codeword is decoded into the first data by using the decoding-related information and the first sliding windows in the first direction.

9. The method of claim 1 , further comprising:

transmitting the first data to a host in response to a read request received from the host; and

transmitting the second data to the host in response to another read request received from the host.

10. A method of operating a memory system, the method comprising:

a memory controller of the memory system receiving from a host a write request and write data to be stored in the memory system;

the memory controller performing a convolution-type low density parity check (LDPC) encoding of the write data using a parity check matrix to produce a codeword corresponding to the write data, wherein the parity check matrix includes a first sub-matrix, a second sub-matrix, and a termination matrix arranged at a boundary between the first sub-matrix and the second sub-matrix; and

the memory controller writing the codeword into one or more memory devices of the memory system,

wherein said LDPC encoding comprises:

the memory controller encoding first data of the write data into a first sub-codeword based on a first sub-matrix included in the parity check matrix;

the memory controller acquiring a first partial syndrome from a first result of encoding the first data;

the memory controller encoding second data of the write data into a second sub-codeword based on a second sub-matrix included in the parity check matrix;

the memory controller acquiring a second partial syndrome from a second result of encoding the second data; and

the memory controller generating a termination parity associated with the termination matrix by using the first partial syndrome and the second partial syndrome,

wherein the codeword comprises the first sub-codeword and the second sub-codeword and the termination parity.

11. The method of claim 10 , wherein the memory controller is configured to encode the first data into the first sub-codeword by performing encoding in a first direction from a least significant bit (LSB) to a most significant bit (MSB) of the first data, and the memory controller is configured to encode the second data into the second sub-codeword in a second direction from an MSB to an LSB of the second data.

12. The method of claim 10 , wherein the writing the codeword into the one or more memory devices comprises:

rearranging the first sub-codeword, the second sub-codeword, and the termination parity in the codeword so that the memory controller performs sequential decoding in a bit order of the codeword to be received from the one or more memory devices in response to a read request from the host; and

outputting the rearranged first sub-codeword, second sub-codeword, and termination parity to the one or more memory devices.

13. The method of claim 10 , wherein writing the codeword into one or more memory devices of the memory system comprises:

writing the first sub-codeword to a first of the one or more memory devices via a first channel; and

writing the second sub-codeword to a second of the one or more memory devices via a second channel.

14. The method of claim 10 , wherein:

a first error correction encoder of the memory controller encodes the first data of the write data into the first sub-codeword based on the first sub-matrix included in the parity check matrix, and

a second error correction encoder of the memory controller encodes the second data of the write data into the second sub-codeword based on the second sub-matrix included in the parity check matrix.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2018
From: YU, GEUNYEONG; JUN, BOHWAN; LEE, KIJUN; KONG, JUN JIN; SON, HONG-RAK
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 046780/0953 →
Priority Claims (1)
KR 10-2017-0174168 · Dec 18, 2017 · national
Continuity (1)
Related Publication 20190188078A1 · Jun 20, 2019
Cited By (1)
US 12,500,609