IP Library Granted Patent US 9,337,865
Granted Patent B2
US 9,337,865 · App. 13/934,999 · Granted May 10, 2016

Log-likelihood ratio (LLR) dampening in low-density parity-check (LDPC) decoders

Inventors: Earl T. Cohen (Oakland, CA); Erich F. Haratsch (San Jose, CA); Abdel-Hakim S. Alhussien (Milpitas, CA)
Assignee: Seagate Technology LLC
H03M13/1108G06F11/1012H03M13/1111H03M13/3707H03M13/618H03M13/658G06F11/108
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,337,865
App. No.
13/934,999
Granted
May 10, 2016
Kind
B2
Abstract

Described embodiments provide a media controller to read data stored in a media. The media controller determines a value for each bit of a shortened codeword from the media. The shortened codeword includes a plurality of non-shortened bits of a full codeword, where the full codeword includes the plurality of non-shortened bits and one or more shortened bits. Shortened bits correspond to bits unused in the shortened codeword. The media controller converts the determined values for each bit of the shortened codeword into a first set of log-likelihood ratio (LLR) values. The full codeword is decoded using the first set of LLR values for the shortened codeword. The media controller dampens one or more LLR values corresponding to non-shortened bits of the codeword to produce a second set of LLR values and decodes the second set of LLR values.

Claims (63)

1. A method of reading, by a controller, data from at least one of a storage media and a communication channel, the method comprising:

determining a value for each bit of a shortened codeword of the read data, wherein the shortened codeword comprises a plurality of non-shortened bits of a full codeword, the full codeword comprising the plurality of non-shortened bits and one or more shortened bits, the shortened bits corresponding to bits unused in the shortened codeword;

converting the determined values for each bit of the shortened codeword into a first set of log-likelihood ratio (LLR) values;

decoding the full codeword using the first set of LLR values for the shortened codeword;

dampening one or more LLR values of the first set of LLR values, the one or more LLR values corresponding to non-shortened bits of the codeword to produce a second set of LLR values, wherein the dampening comprises:

setting one or more LLR values corresponding to shortened bits of the shortened codeword to an associated maximum LLR magnitude; and

decoding the second set of LLR values,

wherein the step of dampening one or more LLR values is performed only if the decoding of the first set of LLR values did not successfully recover data corresponding to the shortened codeword.

2. The method of claim 1 , wherein the step of dampening one or more LLR values comprises:

decreasing a magnitude of one or more of the LLR values of the first set of LLR values by a predetermined amount.

3. The method of claim 2 , wherein the one or more LLR values decreased in magnitude have a maximum LLR magnitude.

4. The method of claim 1 , wherein the step of dampening one or more LLR values comprises:

scaling a magnitude of one or more of the LLR values of the first set of LLR values by a predetermined scaling factor.

5. The method of claim 1 , wherein the step of dampening one or more LLR values dampens LLR values such that all non-shortened positions of the codeword have less than a maximum magnitude LLR value.

6. The method of claim 1 , wherein the step of decoding is low-density parity check (LDPC) decoding.

7. The method of claim 1 , further comprising:

dampening one or more LLR values of the first set of LLR values before decoding the first set of LLR values for the shortened codeword.

8. The method of claim 1 , further comprising:

if the decoding did not successfully recover data corresponding to the shortened codeword from the second set of LLR values:

dampening one or more LLR values of the second set of LLR values, the one or more LLR values corresponding to non-shortened bits of the codeword to produce a third set of LLR values; and

decoding the third set of LLR values.

9. The method of claim 8 , wherein:

the dampening of the first set of LLR values is performed by decreasing a magnitude of one or more of the LLR values of the first set of LLR values by a first predetermined amount; and

the dampening of the second set of LLR values is performed by decreasing the magnitude of one or more of the LLR values of the second set of LLR values by a second predetermined amount.

10. The method of claim 8 , wherein:

the dampening of the first set of LLR values is performed by scaling a magnitude of one or more of the LLR values of the first set of LLR values by a first scaling factor; and

the dampening of the second set of LLR values is performed by scaling the magnitude of one or more of the LLR values of the second set of LLR values by a second scaling factor.

11. The method of claim 1 , wherein the determined values are at least one of binary data or an analog voltage level.

12. The method of claim 11 , wherein the step of converting the determined values for each bit of the shortened codeword into a first set of log-likelihood ratio (LLR) values is performed employing a first threshold level.

13. The method of claim 12 , further comprising:

if a threshold number of dampening operations is reached:

determining whether a read retry limit of the controller is reached;

if the read retry limit is not reached:

re-reading values for each bit of the shortened codeword from the storage media;

converting, employing one or more subsequent threshold levels, the determined values for each bit of the shortened codeword into a subsequent set of log-likelihood ratio (LLR) values;

re-performing the steps of dampening and decoding employing the subsequent set of LLR values.

14. The method of claim 13 , further comprising:

if the read retry limit is reached:

performing further data recovery on the set of LLR values.

15. The method of claim 14 , wherein the further data recovery is at least one of: digital signal processing (DSP) and redundant array of independent disks (RAID) data recovery.

16. A non-transitory machine-readable storage medium, having encoded thereon program code, wherein, when the program code is executed by a machine, the machine implements a method of reading, by a controller, data from at least one of a storage media and a communication channel, the method comprising:

determining a value for each bit of a shortened codeword of the read data, wherein the shortened codeword comprises a plurality of non-shortened bits of a full codeword, the full codeword comprising the plurality of non-shortened bits and one or more shortened bits, the shortened bits corresponding to bits unused in the shortened codeword;

converting the determined values for each bit of the shortened codeword into a first set of log-likelihood ratio (LLR) values;

decoding the full codeword using the first set of LLR values for the shortened codeword;

dampening one or more LLR values of the first set of LLR values, the one or more LLR values corresponding to non-shortened bits of the codeword to produce a second set of LLR values, wherein the dampening comprises:

setting one or more LLR values corresponding to shortened bits of the shortened codeword to an associated maximum LLR magnitude; and

decoding the second set of LLR values,

wherein the step of dampening one or more LLR values is performed only if the decoding of the first set of LLR values did not successfully recover data corresponding to the shortened codeword.

17. A controller coupled to a host device and at least one of a storage media and a communication channel, the controller comprising:

a buffer configured to store data read from the at least one of a storage media and a communication channel;

a low density parity check decoder configured to:

determine a value for each bit of a shortened codeword of the read data, wherein the shortened codeword comprises a plurality of non-shortened bits of a full codeword, the full codeword comprising the plurality of non-shortened bits and one or more shortened bits, the shortened bits corresponding to bits unused in the shortened codeword;

convert the determined values for each bit of the shortened codeword into a first set of log-likelihood ratio (LLR) values;

decode the full codeword using the first set of LLR values for the shortened codeword;

dampen one or more LLR values of the first set of LLR values, the one or more LLR values corresponding to non-shortened bits of the codeword to produce a second set of LLR values, wherein the decoder is configured to dampen by:

setting one or more LLR values corresponding to shortened bits of the shortened codeword to an associated maximum LLR magnitude; and

decode the second set of LLR values,

wherein the step of dampening one or more LLR values is performed only if the decoding of the first set of LLR values did not successfully recover data corresponding to the shortened codeword.

18. The controller of claim 17 , wherein:

the controller is configured to dampen the one or more LLR values only if the decoding of the first set of LLR values did not successfully recover data corresponding to the shortened codeword, wherein the one or more LLR values are dampened by setting one or more LLR values corresponding to shortened bits of the shortened codeword to an associated maximum LLR magnitude;

the storage media comprises at least one of: a solid-state disk (SSD), a hard disk drive (HDD), an optical storage system, and a hybrid solid-state and magnetic storage system;

the communication channel comprises at least one of: a backplane, a drive head in a magnetic recording system, one or more optical fibers, one or more coaxial cables, one or more twisted pair copper wires, and one or more radio frequency (RF) channels; and

the controller is implemented as a system-on-chip (SoC).

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2015
From: LSI CORPORATION
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 034770/0859 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2013
From: COHEN, EARL T.; ALHUSSIEN, ABDEL-HAKIM S.; HARATSCH, ERICH F.
To: LSI CORPORATION
Reel/Frame 030737/0761 →
Continuity (2)
Provisional Application 61729178 · Nov 21, 2012
Related Publication 20140143637A1 · May 22, 2014