IP Library Granted Patent US 9,070,483
Granted Patent B2
US 9,070,483 · App. 13/649,108 · Granted Jun 30, 2015

Encoding and decoding redundant bits to accommodate memory cells having stuck-at faults

Inventors: Robert Eugeniu Mateescu (San Jose, CA); Luiz Franca-Neto (Sunnyvale, CA); Cyril Guyot (San Jose, CA); Hessam Mahdavifar (San Diego, CA); Zvonimir Bandic (San Jose, CA); Qingbo Wang (Irvine, CA)
Assignee: HGST Netherlands B.V.
G11C29/802G11C29/52G11C2029/0411G06F11/1048
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,070,483
App. No.
13/649,108
Granted
Jun 30, 2015
Kind
B2
Abstract

A data storage system has a memory circuit that comprises memory cells and a control circuit that receives data bits provided for storage in the memory cells. The control circuit encodes the data bits to generate a first set of redundant bits and encoded data bits, such that the encoded data bits selected for storage in a first subset of the memory cells with first stuck-at faults have digital values of corresponding ones of the first stuck-at faults. The control circuit encodes the first set of redundant bits to generate a second set of redundant bits. The control circuit performs logic functions on the second set of redundant bits and the encoded data bits to generate a third set of redundant bits, such that redundant bits in the third set of redundant bits selected for storage in a second subset of the memory cells with second stuck-at faults have digital values of corresponding ones of the second stuck-at faults.

Claims (42)

1. A data storage system comprising:

a memory circuit comprising memory cells; and

a control circuit to receive data bits provided for storage in the memory cells,

wherein the control circuit encodes the data bits to generate a first set of redundant bits and encoded data bits such that the encoded data bits selected for storage in a first subset of the memory cells with first stuck-at faults have digital values of corresponding ones of the first stuck-at faults,

wherein the control circuit encodes the first set of redundant bits to generate a second set of redundant bits, and wherein the control circuit performs logic functions on the second set of redundant bits and the encoded data bits to generate a third set of redundant bits such that redundant bits in the third set of redundant bits selected for storage in a second subset of the memory cells with second stuck-at faults have digital values of corresponding ones of the second stuck-at faults.

2. The data storage system of claim 1 , wherein the control circuit generates virtual stuck-at fault values by performing logic functions on the digital values of the second stuck-at faults and a subset of the encoded data bits corresponding to the second stuck-at faults, and wherein the control circuit encodes the first set of redundant bits to generate the second set of redundant bits to accommodate the virtual stuck-at fault values.

3. The data storage system of claim 1 , wherein the control circuit performs bitwise XOR logic functions on the second set of redundant bits and the encoded data bits to generate the third set of redundant bits.

4. The data storage system of claim 1 , wherein the control circuit performs logic functions on the third set of redundant bits and a fourth set of redundant bits to generate a fifth set of redundant bits to store in a third subset of the memory cells.

5. The data storage system of claim 1 , wherein the control circuit performs bitwise XOR logic functions on the third set of redundant bits and a fourth set of redundant bits to generate a fifth set of redundant bits to store in a third subset of the memory cells, wherein the control circuit encodes the first set of redundant bits to generate the second set of redundant bits and a sixth set of redundant bits, and wherein the fourth set of redundant bits comprises the sixth set of redundant bits and bits that indicate a location of the third subset of the memory cells.

6. The data storage system of claim 1 , wherein the encoded data bits and the third set of redundant bits are provided for storage in selected ones of the memory cells.

7. The data storage system of claim 6 , wherein the control circuit encodes the first set of redundant bits and bits that indicate a location of the memory cells selected to store the third set of redundant bits to generate the second set of redundant bits.

8. A data storage system comprising:

a memory circuit comprising memory cells; and

a control circuit to receive encoded bits read from the memory cells, wherein the encoded bits accommodate stuck-at faults in the memory cells,

wherein the control circuit performs bitwise logic functions on first sets of the encoded bits to generate first intermediate bits, wherein the control circuit is performs the bitwise logic functions on second sets of the encoded bits to generate second intermediate bits, wherein each of the second sets has more bits than each of the first sets,

wherein the control circuit decodes the second intermediate bits using the first intermediate bits to generate first decoded bits, and wherein the control circuit decodes a first subset of the encoded bits using the first decoded bits to generate decoded data bits.

9. The data storage system of claim 8 , wherein the bitwise logic functions are bitwise XOR logic functions.

10. The data storage system of claim 9 , wherein a first subset of the first decoded bits indicate a location of bits in a second subset of the encoded bits that are not decoded to generate the decoded data bits, and a second subset of the first decoded bits are used to decode the first subset of the encoded bits to generate the decoded data bits.

11. The data storage system of claim 8 , wherein a first subset of the first intermediate bits indicate a location of bits in the second intermediate bits that are not decoded using a second subset of the first intermediate bits to generate the first decoded bits.

12. The data storage system of claim 11 , wherein the bitwise logic functions are bitwise XOR logic functions.

13. A method performed by a data storage system, the method comprising:

receiving data bits that are provided for storage in memory cells of a memory circuit in the data storage system;

encoding the data bits to generate a first set of redundant bits and encoded data bits such that the encoded data bits selected for storage in a first subset of the memory cells with first stuck-at faults have digital values of corresponding ones of the first stuck-at faults;

encoding the first set of redundant bits to generate a second set of redundant bits; and

performing logic functions on the second set of redundant bits and the encoded data bits to generate a third set of redundant bits such that redundant bits in the third set of redundant bits selected for storage in a second subset of the memory cells with second stuck-at faults have digital values of corresponding ones of the second stuck-at faults.

14. The method of claim 13 , further comprising:

generating virtual stuck-at fault values by performing logic functions on the digital values of the second stuck-at faults and a subset of the encoded data bits corresponding to the second stuck-at faults,

wherein encoding the first set of redundant bits to generate a second set of redundant bits comprises encoding the first set of redundant bits to generate the second set of redundant bits to accommodate the virtual stuck-at fault values.

15. The method of claim 13 , wherein performing logic functions on the second set of redundant bits and the encoded data bits to generate a third set of redundant bits comprises performing bitwise XOR logic functions on the second set of redundant bits and the encoded data bits to generate the third set of redundant bits.

16. The method of claim 13 , further comprising:

performing bitwise XOR logic functions on the third set of redundant bits and a fourth set of redundant bits to generate a fifth set of redundant bits to store in a third subset of the memory cells.

17. The method of claim 16 , wherein encoding the first set of redundant bits to generate a second set of redundant bits comprises encoding the first set of redundant bits to generate the second set of redundant bits and a sixth set of redundant bits, wherein the fourth set of redundant bits comprises the sixth set of redundant bits and bits that indicate a location of the third subset of the memory cells.

18. The method of claim 13 , wherein encoding the first set of redundant bits to generate a second set of redundant bits comprises encoding the first set of redundant bits and bits that indicate a location of the memory cells selected to store the third set of redundant bits to generate the second set of redundant bits, and wherein the method is performed by a control circuit.

19. A method performed by a data storage system, the method comprising:

receiving encoded bits read from memory cells of a memory circuit in the data storage system, wherein the encoded bits accommodate stuck-at faults in the memory cells;

performing bitwise logic functions on first sets of the encoded bits to generate first intermediate bits;

performing bitwise logic functions on second sets of the encoded bits to generate second intermediate bits, wherein each of the second sets has more bits than each of the first sets;

decoding the second intermediate bits using the first intermediate bits to generate first decoded bits; and

decoding a first subset of the encoded bits using the first decoded bits to generate decoded data bits.

20. The method of claim 19 , wherein the bitwise logic functions performed on the first and the second sets of the encoded bits are bitwise XOR logic functions,

wherein a first subset of the first intermediate bits indicate a location of bits in the second intermediate bits that are not decoded using a second subset of the first intermediate bits to generate the first decoded bits,

wherein a first subset of the first decoded bits indicate a location of bits in a second subset of the encoded bits that are not decoded to generate the decoded data bits, and a second subset of the first decoded bits are used to decode the first subset of the encoded bits to generate the decoded data bits, and wherein the method is performed by a control circuit.

Assignments (4)
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040826/0327 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2012
From: MATEESCU, ROBERT; GUYOT, CYRIL; BANDIC, ZVONIMIR; FRANCA-NETO, LUIZ; WANG, QINGBO; MAHDAVIFAR, HESSAM
To: HGST NETHERLANDS B.V.
Reel/Frame 029115/0163 →
Continuity (1)
Related Publication 20140101517A1 · Apr 10, 2014