IP Library Granted Patent US 8,671,326
Granted Patent B1
US 8,671,326 · App. 13/471,747 · Granted Mar 11, 2014

Concatenated codes for recovering stored data

Inventors: Xiangyu Tang (San Jose, CA); Yu Kou (San Jose, CA); Lingqi Zeng (Turlock, CA)
Assignee: SK hynix memory solutions inc.
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 8,671,326
App. No.
13/471,747
Granted
Mar 11, 2014
Kind
B1
Abstract

A method of encoding user data into a first set of codewords using a first code, generating a first set of parity information based at least in part on the first set of codewords and at least a second code, and writing at least parity information associated with the first set of parity information to shingled magnetic recording storage. A method of performing decoding on a first set of read-back signal data read back from shingled magnetic recording storage and associated with a first set of codewords, and if decoding of at least one read-back signal in the first set of read-back signal data fails, performing decoding on at least some of a second set of read-back signal data associated with a set of parity information.

Claims (261)

1. A system for encoding, comprising:

one or more processors configured to:

encode user data into a first set of codewords using a first code;

generate a first set of parity information based at least in part on encoding the first set of codewords using at least a second code; and

write the first set of codewords and at least parity information associated with the first set of parity information to shingled magnetic recording storage; and

one or more memories coupled to the one or more processors and configured to provide the one or more processors with instructions.

2. The system of claim 1 , wherein the second code comprises a systematic code.

3. The system of claim 1 , wherein the at least parity information written comprises the first set of parity information.

4. The system of claim 1 , wherein the one or more processors are further configured to generate a second set of parity information based at least in part on the first set of parity information and at least a third code.

5. The system of claim 4 , wherein the at least parity information written comprises the second set of parity information.

6. The system of claim 4 , wherein the third code comprises a systematic code.

7. The system of claim 4 , wherein the first set of parity information is grouped into one or more groups and wherein the second set of parity information is generated using the third code based on the one or more groups of the first set of parity information.

8. A method for encoding, comprising:

encoding user data into a first set of codewords using a first code;

generating a first set of parity information based at least in part on the first set of codewords using at least a second code; and

writing the first set of codewords and at least parity information associated with the first set of parity information to shingled magnetic recording storage.

9. The method of claim 8 , wherein the second code comprises a systematic code.

10. The method of claim 8 , wherein the at least parity information written comprises the first set of parity information.

11. The method of claim 8 , further comprising generating a second set of parity information based at least in part on the first set of parity information and at least a third code.

12. The method of claim 11 , wherein the at least parity information written comprises the second set of parity information.

13. The method of claim 11 , wherein the third code comprises a systematic code.

14. The method of claim 11 , wherein the first set of parity information is grouped into one or more groups and wherein the second set of parity information is generated using the third code based on the one or more groups of the first set of parity information.

15. A computer program product being embodied in a tangible computer readable storage medium which, when executed by a computer, causes the computer to perform encoding instructions, comprising:

encoding user data into a first set of codewords using a first code;

generating a first set of parity information based at least in part on the first set of codewords using at least a second code; and

writing the first set of codewords and at least parity information associated with the first set of parity information to shingled magnetic recording storage.

16. A system for decoding, comprising:

one or more processors configured to:

generate a first set of read-back signal data associated with a first set of codewords from shingled magnetic recording storage;

perform decoding on the first set of read-back signal data; and

in response to a failure to decode at least one read-back signal in the first set of read-back signal data:

generate a second set of read-back signal data associated with a set of parity information; and

perform decoding on at least some of the second set of read-back signal data; and

one or more memories coupled to the one or more processors and configured to provide the one or more processors with instructions.

17. The system of claim 16 , wherein to perform decoding on the first set of read-back signals includes inputting the first set of read-back signals into a detector and a decoder.

18. The system of claim 16 , wherein the one or more processors are further configured to output a successfully decoded one of the first set of read-back signals.

19. The system of claim 16 , wherein the one or more processors are further configured to store a read-back signal of the first set of read-back signals that failed to decode correctly.

20. The system of claim 16 , wherein the one or more processors are further configured to use decoding results from decoding the set of parity information to perform reprocessing on a read-back signal of the first set of read-back signals that failed to decode correctly.

21. The system of claim 16 , wherein to perform decoding on at least some of the second set of read-back signal data associated with the set of parity information includes generating reconstituted information corresponding to the set of parity information.

22. The system of claim 21 , wherein the one or more processors are configured to input the reconstituted information corresponding to the set of parity information to a decoder and to input the set of parity information to a detector.

23. The system of claim 21 , wherein the reconstituted information corresponding to the set of parity information comprises:

b i,j 3 =(Π ∀c k,j participating in parity i 1 sgn ( c k,j 1 ))(min ∀c k,j participating in parity i 1 |c k,j 1 |)

where i represents the i th codeword in the set of parity information, and j represents the j th column corresponding to the first set of codewords.

24. The system of claim 16 , wherein decoding results of the set of parity information are configured to determine columns that include error in a first codeword of the first set of codewords, wherein the first codeword is associated with a read-back signal that failed to decode correctly.

25. The system of claim 24 , wherein the one or more processors are further configured to reprocess the first codeword including by using the decoding result of the set of parity information to generate reconstituted information associated with the first codeword.

26. The system of claim 25 , wherein the one or more processors are further configured to input the reconstituted information associated with the first codeword into a decoder.

27. The system of claim 25 , wherein the reconstituted information associated with the first codeword comprises b i,j 1 for values belonging to columns that do not include error and {circumflex over (b)} i,j 1 for values belonging to columns that do include error, wherein:

b

i

,

j

1

=

{

if

c

i

,

j

1

0

-

otherwise

and

b

^

i

,

j

1

=

(

k

i

participating

in

same

parity

sgn

(

b

^

k

,

j

1

)

)

(

min

k

i

participating

in

same

parity

b

^

k

,

j

1

)

wherein i represents the uncorrectable codeword i in the first set of codewords, and j represents the j th column corresponding to the first set of codewords.

28. A method for decoding, comprising:

generating a first set of read-back signal data associated with a first set of codewords from shingled magnetic recording storage;

performing decoding on the first set of read-back signal data; and

in response to a failure to decode at least one read-back signal in the first set of read-back signal data:

generating a second set of read-back signal data associated with a set of parity information; and

performing decoding on at least some of the second set of read-back signal data.

29. The method of claim 28 , wherein performing decoding on at least some of the second set of read-back signal data associated with the set of parity information includes generating reconstituted information corresponding to the set of parity information.

30. The method of claim 29 , further comprising inputting the reconstituted information corresponding to the set of parity information to a decoder and inputting the set of parity information to a detector.

31. The method of claim 30 , wherein the reconstituted information corresponding to the set of parity information comprises:

b i,j 3 =(Π ∀ k,j participating in same parity i 1 sgn ( c k,j 1 ))(min ∀c k,j participating in parity i 1 |c k,j 1 |)

where i represents the i th codeword in the set of parity information, and j represents the j th column corresponding to the first set of codewords.

32. The method of claim 28 , wherein decoding results of the set of parity information includes determining columns that include error in a first codeword of the first set of codewords, wherein the first codeword is associated with a read-back signal that failed to decode correctly.

33. The method of claim 32 , further comprising reprocessing the first codeword including by using the decoding result of the set of parity information to generate reconstituted information associated with the first codeword.

34. The method of claim 33 , wherein the reconstituted information associated with the first codeword comprises b i,j 1 for values belonging to columns that do not include error and {circumflex over (b)} i,j 1 for values belonging to columns that do include error, wherein:

b

i

,

j

1

=

{

if

c

i

,

j

1

0

-

otherwise

and

b

^

i

,

j

1

=

(

k

i

participating

in

same

parity

sgn

(

b

^

k

,

j

1

)

)

(

min

k

i

participating

in

same

parity

b

^

k

,

j

1

)

wherein i represents the uncorrectable codeword i in the first set of codewords, and j represents the j th column corresponding to the first set of codewords.

35. A computer program product being embodied in a tangible computer readable storage medium which, when executed by a computer, causes the computer to perform decoding instructions, comprising:

generating a first set of read-back signal data associated with a first set of codewords from shingled magnetic recording storage;

performing decoding on the first set of read-back signal data; and

in response to a failure to decode at least one read-back signal in the first set of read-back signal data:

generating a second set of read-back signal data associated with a set of parity information; and

performing decoding on at least some of a second set of read-back signal data associated with a set of parity information.

Assignments (2)
CHANGE OF NAME Recorded Feb 26, 2013
From: LINK_A_MEDIA DEVICES CORPORATION
To: SK HYNIX MEMORY SOLUTIONS INC.
Reel/Frame 029881/0704 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2012
From: TANG, XIANGYU; KOU, YU; ZENG, LINGQI
To: LINK_A_MEDIA DEVICES CORPORATION
Reel/Frame 028662/0673 →
Continuity (2)
Provisional Application 61486706 · May 16, 2011
Provisional Application 61563492 · Nov 23, 2011