IP Library Granted Patent US 11,438,012
Granted Patent B2
US 11,438,012 · App. 16/205,075 · Granted Sep 6, 2022

Failure-tolerant error correction layout for memory sub-systems

Inventors: Wei Wu (Boise, ID); Zhenlei Shen (Milpitas, CA); Zhengang Chen (San Jose, CA)
Assignee: Micron Technology, Inc.
H03M13/1525G06F11/1076
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 11,438,012
App. No.
16/205,075
Granted
Sep 6, 2022
Kind
B2
Abstract

Codewords of an error correcting code can be received. The codewords can be separated into multiple segments. The segments of the codewords can be distributed in an error correcting layout across a plurality of dies where at least a portion of the error correcting layout constitutes a Latin Square (LS) layout.

Claims (44)

1. A method comprising:

receiving a plurality of codewords of an error correcting code for a memory sub-system;

dividing the plurality of codewords of the error correcting code into a plurality of segments, wherein the plurality of segments are distributed across a plurality of dies of the memory sub-system;

calculating an exclusive-OR (XOR) value based on the plurality of codewords:

applying respective shifts to the plurality of segments of the plurality of codewords to arrange the plurality of segments in a Latin Square (LS) layout spread across the plurality of dies in the memory sub-system, wherein a number of codewords in the plurality of codewords is equal to a number of dies in the plurality of dies, and wherein a codeword segment along a column or row of the LS layout is not repeated; and

forming an error correcting layout across the plurality of dies, wherein at least a portion of the error correcting layout constitutes the LS layout.

2. The method of claim 1 , wherein each codeword of the plurality of codewords is divided into an equal number of segments.

3. The method of claim 2 , wherein the number of segments in each codeword is equal to the number of dies in the plurality of dies.

4. The method of claim 3 , wherein each die of the plurality of dies includes a number of memory units.

5. The method of claim 4 , wherein the number of memory units in each die is equal to the number of segments in each codeword.

6. The method of claim 1 , further comprising:

storing the XOR value in an additional die outside of the LS layout and within the error correcting layout.

7. The method of claim 1 , further comprising:

storing the XOR value within the LS layout that spans the entire error correcting layout, wherein the XOR value is distributed uniformly across the plurality of dies.

8. A method comprising:

obtaining a plurality of codewords, wherein each codeword is an element of an error correcting code (ECC) for a memory sub-system;

assigning a plurality oldies of a the memory-subsystem to each codeword of the plurality of codewords, wherein a number of codewords in the plurality of codewords is equal to a number of dies in the plurality of dies;

separating each codeword of the plurality of codewords into a plurality of segments, wherein the plurality of segments are distributed across the plurality of dies of the memory sub-system;

calculating an exclusive-OR (XOR) value based on the plurality of codewords;

applying respective shifts to the plurality of segments of the plurality of codewords to arrange the plurality of segments in a Latin Square (LS) layout spread across the plurality of dies wherein a codeword segment along a column or row of the LS layout is not repeated; and

storing the plurality of segments of the plurality of codewords and the calculated XOR value in an error correcting layout across the plurality of dies, wherein the LS layout constitutes at least a portion of the error correcting layout.

9. The method of claim 8 , wherein a number of memory units in each die of the plurality of dies is equal to the number of segments in each codeword.

10. The method of claim 9 , wherein each memory unit along a column of the error correcting layout corresponds to one die of the plurality of dies, and each memory unit along a row of the error correcting layout corresponds to a different die of the plurality of dies.

11. The method of claim 10 , wherein the error correcting layout is larger than the LS layout.

12. The method of claim 11 , wherein the error correcting layout comprises another die in addition to the plurality of dies in the LS layout.

13. The method of claim 12 , further comprising:

dividing the XOR value into a plurality of segments;

storing each of the segments of the XOR value in the another die within the error correcting layout that is larger than the LS layout.

14. The method of claim 11 , wherein the LS layout spans the entire error correcting layout.

15. The method of claim 14 , further comprising:

dividing the XOR value into a plurality of segments;

distributing the segments of the XOR value uniformly among the plurality of dies along a row of the LS layout.

16. A system comprising:

a memory component; and

a processing device, operatively coupled with the memory component, to:

receive a plurality of codewords of an error correcting code;

divide the plurality of codewords of the error correcting code into a plurality of segments, wherein the plurality of segments are distributed across a plurality of dies of the memory sub-system;

calculate an exclusive-OR (XOR) value based on the plurality of codewords;

apply respective shifts to the plurality of segments of the plurality of codewords to arrange the plurality of segments in a Latin Square (LS) layout spread across a plurality of dies, wherein a number of codewords in the plurality of codewords is equal to a number of dies in the plurality of dies, and wherein a codeword segment along a column or row of the LS layout is not repeated; and

form an error correcting layout across the plurality of dies, wherein at least a portion of the error correcting layout constitutes the LS layout.

17. The system of claim 16 , wherein the processing device is further to:

store the XOR value in an additional die outside of the LS layout and within the error correcting layout.

18. The system of claim 16 , wherein the processing device is further to:

store the XOR value within the LS layout that spans the entire error correcting layout, wherein the XOR value is distributed uniformly across the plurality of dies.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 15, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 051026/0568 →
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050718/0764 →
SUPPLEMENT NO. 11 TO PATENT SECURITY AGREEMENT Recorded Jan 16, 2019
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 048082/0860 →
SUPPLEMENT NO. 2 TO PATENT SECURITY AGREEMENT Recorded Jan 16, 2019
From: MICRON TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 048082/0889 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2018
From: WU, WEI; SHEN, ZHENLEI; CHEN, ZHENGANG
To: MICRON TECHNOLOGY, INC.
Reel/Frame 047663/0014 →