Memory controller, storage device including the same and data encoding and decoding methods thereof

US10061641B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10061641-B2
Application numberUS-201414580815-A
CountryUS
Kind codeB2
Filing dateDec 23, 2014
Priority dateDec 23, 2013
Publication dateAug 28, 2018
Grant dateAug 28, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A storage device is provided which includes an ECC circuit. At a write operation, the ECC circuit generates a CRC (cyclic redundancy check) parity corresponding to data and generates an ECC (error correction code) parity corresponding to the data using an error correction code. At a read operation about the data stored in the at least one nonvolatile memory device, the ECC circuit corrects an error of the data using the CRC parity and the ECC parity.

First claim

Opening claim text (preview).

What is claimed is: 1. A storage device comprising: at least one nonvolatile memory device configured to store data; and a memory controller configured to control the at least one nonvolatile memory device, the memory controller including an error correction code (ECC) circuit, the ECC circuit, including a first CRC generator configured to receive the data from a host, and generate a first cyclic redundancy check (CRC) parity corresponding to the data at a write operation, a second CRC generator configured to receive the data and the first CRC parity, and generate a second CRC parity corresponding to the data and the first CRC parity at the write operation, wherein a size of the second CRC parity is different from a size of the first CRC parity, and the size of the first CRC parity and the size of the second CRC parity are selected according to a request of the host, an ECC encoder configured to generate an error correction code (ECC) parity corresponding to the data, the first CRC parity, and the second CRC parity using an error correction code (ECC) at the write operation, wherein the data, the first CRC parity, the second CRC parity, and the ECC parity are stored in the at least one nonvolatile memory device at the write operation, and an ECC decoder configured to perform a decoding operation correcting an error of the data from the at least one nonvolatile memory device using the ECC parity at a read operation, generate corrected data by iteratively performing the decoding operation and increasing a number of iterations of the decoding operation, and perform a CRC checking operation on the corrected data using the first CRC parity and the second CRC parity if the number of iterations of the decoding operation exceeds a value such that the ECC circuit is configured to skip the CRC checking operation during an initial decoding operation, wherein the ECC circuit is further configured to send the corrected data to the host via a host interface if no error is detected during the CRC checking operation and the CRC checking operation passes. 2. The storage device of claim 1 , wherein the data is randomized data. 3. The storage device of claim 2 , wherein the memory controller is further configured to, randomize the data received from the host at the write operation and de-randomize the corrected data at the read operation and output the data. 4. The storage device of claim 1 , wherein the ECC circuit further comprises: a third CRC generator configured to receive the data, the first CRC parity, and the second CRC parity, and generate a third CRC parity corresponding to the data, the first CRC parity, and the second CRC parity at the write operation. 5. The storage device of claim 1 , wherein if the number of iterations of the decoding operation is less than the value, the ECC decoder is further configured to skip the CRC checking operation. 6. The storage device of claim 1 , wherein the ECC is an iteration code. 7. The storage device of claim 6 , wherein the iteration code is a low density parity check (LDPC) code. 8. A memory controller comprising: a processor configured to, encode a message during a write operation by, generating a first code word based on the message and a first cyclic redundancy check (CRC) parity, generating a second code word based on the message, the first CRC parity, and a second CRC parity, wherein a size of the second CRC parity is different from a size of the first CRC parity, and the size of the first CRC parity and the size of the second CRC parity are selected according to a request of a host, generating a third code word including the second code word and an error correction code (ECC) parity, and storing the third code word in a non-volatile memory device; and decode the message during a read operation by, reading the third code word from the non-volatile memory device, iteratively decoding the third code word by performing a decoding operation using the ECC parity to generate a decoded message, performing a CRC checking operation on the decoded message using the first CRC parity and the second CRC parity if a number of iterations of the decoding operation exceeds a value such that the processor is configured to skip the CRC checking operation during an initial decoding operation, and outputting the decoded message to the host via a host interface if no error is detected during the CRC checking operation and the CRC checking operation passes. 9. The memory controller of claim 8 , wherein the processor is configured to determine if the third code word passes the CRC checking operation by determining if the first CRC parity and the second CRC parity included therein equals read CRC parities generated based on the decoded message. 10. The memory controller of claim 8 , wherein the third code word is decoded to generate the decoded message without the CRC checking operation, if the number of iterations indicates the initial decoding operation.

Assignees

Inventors

Classifications

  • Read-write [R-W] circuits · CPC title

  • using codes or arrangements adapted for a specific type of error (G06F11/1048 takes precedence) · CPC title

  • G11C16/34Primary

    Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention · CPC title

  • using error correcting codes [ECC] or parity check · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10061641B2 cover?
A storage device is provided which includes an ECC circuit. At a write operation, the ECC circuit generates a CRC (cyclic redundancy check) parity corresponding to data and generates an ECC (error correction code) parity corresponding to the data using an error correction code. At a read operation about the data stored in the at least one nonvolatile memory device, the ECC circuit corrects an e…
Who is the assignee on this patent?
Samsung Electronics Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F11/1012. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 28 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).