IP Library Granted Patent US 9,811,418
Granted Patent B2
US 9,811,418 · App. 14/922,912 · Granted Nov 7, 2017

Syndrome-based codeword decoding

Inventors: Eran Sharon (Rishon Lezion, IL); Ariel Navon (Revava, IL)
Assignee: SanDisk Technologies LLC
G06F11/1076G06F3/064G06F3/0619G06F3/0673G06F3/0679H03M13/1102
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,811,418
App. No.
14/922,912
Granted
Nov 7, 2017
Kind
B2
Abstract

A device includes a memory device coupled to an error correction code (ECC) decoder. The ECC decoder is configured to generate syndromes corresponding to a representation of a codeword received from the memory device and to perform a single decoding operation on a representation of data included in the representation of the codeword. The single decoding operation is configured to change at least one bit of the representation of the data based on a majority value of a group of the syndromes that are associated with the bit.

Claims (36)

1. A device comprising:

a memory device; and

an error correction code (ECC) decoder coupled to the memory device, the ECC decoder configured to generate syndromes corresponding to a representation of a codeword received from the memory device and to perform a single decoding operation on a representation of data included in the representation of the codeword,

wherein the single decoding operation is configured to change at least one bit of the representation of the data based on a majority value of a group of the syndromes that are associated with the bit and to process each bit of the codeword at most once during the single decoding operation.

2. The device of claim 1 , wherein the ECC decoder is further configured to, in response to determining that the single decoding operation is unsuccessful, perform iterative low-density parity check (LDPC) decoding on the representation of the codeword.

3. The device of claim 1 , wherein the ECC decoder is further configured to determine whether the single decoding operation is successful based on performing a cyclic redundancy check of the data.

4. The device of claim 1 , wherein the data corresponds to header data.

5. The device of claim 1 , wherein the data corresponds to a logical-to-physical mapping table entry.

6. The device of claim 1 , wherein the ECC decoder is included in a controller configured to receive a request for the data from a host device.

7. A method comprising:

receiving, at an error correction code (ECC) decoder, a representation of a codeword from a memory device, the representation of the codeword including a representation of data;

generating, at the ECC decoder, syndromes corresponding to the representation of the codeword; and

performing, at the ECC decoder, a single decoding operation on the representation of the data, the single decoding operation configured to change at least one bit of the representation of the data based on a majority value of a group of the syndromes that are associated with the bit and to process each bit of the codeword at most once during the single decoding operation.

8. The method of claim 7 , wherein parity bits of the codeword are generated based on the data and based on second data, and wherein, during encoding of the codeword, each bit of the data is used to generate at least a first number of the parity bits and each bit of the second data is used to generate fewer than the first number of the parity bits.

9. The method of claim 7 , further comprising, in response to determining that the single decoding operation is unsuccessful, performing iterative low-density parity check (LDPC) decoding on the representation of the codeword.

10. The method of claim 7 , further comprising:

subsequent to performing the single decoding operation, determining a physical address based on the data, wherein the data corresponds to a logical-to-physical mapping table entry corresponding to a logical address;

reading header data from a location in the memory device corresponding to the physical address, the header data indicating a second logical address; and

determining whether the single decoding operation is successful based the logical address and the second logical address.

11. The method of claim 10 , further comprising determining that the single decoding operation is successful in response to determining that the logical address matches the second logical address.

12. The method of claim 10 , further comprising determining whether the single decoding operation is successful based on performing a cyclic redundancy check of the data.

13. A device comprising:

a memory device; and

an error correction code (ECC) engine that includes an encoder and a decoder,

wherein the decoder is configured to perform a single decoding operation on a representation of data associated with a codeword, wherein the single decoding operation is configured to change at least one bit of the representation of the data based on a majority value of a group of syndromes that are associated with the bit and to process each bit of the codeword at most once during the single decoding operation, and

wherein the encoder is configured to encode a portion of first data based on an indication of the portion of the first data and to write the encoded portion of the first data to the memory device, wherein the first data and the indication are received from an access device, wherein at least a first number of parity bits are generated based on each bit of the portion of the first data, and wherein fewer than the first number of the parity bits are generated based on each bit of other portions of the first data, and wherein the encoded portion of the first data is decodable by the single decoding operation.

14. The device of claim 13 , wherein the memory device includes a non-volatile memory, wherein the ECC engine is included in a controller, and wherein the encoder is further configured to encode the portion of the first data by generating the codeword.

15. The device of claim 14 , wherein the codeword includes the first data and the parity bits, wherein the decoder is further configured to, in response to determining that the single decoding operation of the encoded portion of the first data is unsuccessful, perform iterative low-density parity check (LDPC) decoding on a representation of the codeword.

16. The device of claim 13 , wherein the portion of the first data is encoded based on a non-symmetric bipartite graph.

17. The device of claim 13 , wherein the first data corresponds to a logical-to-physical mapping table entry.

18. The device of claim 13 , wherein the first data corresponds to header data.

19. An apparatus comprising:

means for storing data; and

means for decoding data, the means for decoding data configured to generate syndromes corresponding to a representation of a codeword received from the means for storing data and to perform a single decoding operation on a representation of data included in the representation of the codeword,

wherein the single decoding operation is configured to change at least one bit of the representation of the data based on a majority value of a group of the syndromes associated with the bit and to process each bit of the codeword at most once during the single decoding operation.

20. The apparatus of claim 19 , wherein the means for decoding data is further configured to, in response to determining that the single decoding operation is unsuccessful, perform iterative low-density parity check (LDPC) decoding on the representation of the codeword.

Assignments (5)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038812/0954 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2015
From: SHARON, ERAN; NAVON, ARIEL
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 036884/0121 →
Continuity (1)
Related Publication 20170116078A1 · Apr 27, 2017