IP Library Granted Patent US 12,536,065
Granted Patent B2
US 12,536,065 · App. 18/415,626 · Granted Jan 27, 2026

Heterogenous interleaved Reed-Solomon (HetIRS) with erasure decoding

Inventors: Joseph M. Mccrate (Boise, ID); Kirthi Shenoy (Boise, ID); Marco Sforzin (Boise, ID); Brian M. Twait (Boise, ID)
Assignee: Micron Technology, Inc.
G06F11/1016G06F11/1004G06F11/1012G06F11/1044G06F11/1068G06F11/1072H03M13/1575H03M13/373
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 12,536,065
App. No.
18/415,626
Granted
Jan 27, 2026
Kind
B2
Abstract

Provided is a memory system comprising a plurality of memory components. The ECC decoding is configured to construct first and second codewords from a single set of data within the plurality of memory components and perform error correction code (ECC) decoding on the first and second codewords received read from the plurality of memory components wherein the ECC decoding is configured to (i) detect random errors in the first received codeword and (ii) use data associated with the detected random errors to correct erasures in the second received codeword.

Claims (43)

1 . A memory system comprising:

a plurality of memory components; and

a controller in communication with the plurality of memory components and configured to:

receive a data block and partition the data block into a plurality of memory segments distributed across the plurality of memory components;

construct first and second codewords from a same set of data bits derived from the data block; and

perform error correction code (ECC) decoding on the first and second codewords that were received and read from the plurality of memory components;

wherein the ECC decoding is configured to:

(i) detect random errors in the first codeword using a first ECC decoding scheme, and

(ii) use corrected data bits from decoding the first codeword to correct erasures in the second received codeword using a second ECC decoding scheme,

wherein the first and second codewords are associated by being derived from the same data block and are encoded using complementary ECC mechanisms that enable decoding of the second codeword using results from decoding the first codeword.

2 . The memory system of claim 1 , wherein the ECC decoding includes calculating syndromes of the first and second codewords.

3 . The memory system of claim 2 , wherein the ECC decoding includes calculating error locate polynomials (ELPs) from the calculated syndromes.

4 . The memory system of claim 3 , wherein the ECC decoding includes deriving polynomial root values from the calculate ELPs.

5 . The memory system of claim 1 , wherein the random errors include at least one of bit and symbol errors.

6 . The memory system of claim 1 , wherein the plurality of memory components includes dynamic random access memory (DRAM) devices.

7 . The memory system of claim 6 , wherein the memory system is constructed in accordance compute express link (CXL) principles.

8 . The memory system of claim 7 , wherein the ECC decoding is performed in accordance with Reed Solomon (RS) codes.

9 . The memory system of claim 1 , wherein one portion of each of the received first and second codewords includes data symbols and a remaining portion of the received word includes parity symbols.

10 . A method comprising:

receiving a data block and partitioning the data block into a plurality of memory segments distributed across a plurality of memory components;

constructing, via a plurality of memory components in communication with a controller, first and second codewords from a same set of data bits derived from the data block; and

performing error correction code (ECC) decoding on the first and second codewords that are received and read from the plurality of memory components;

wherein the ECC decoding is configured to:

(i) detect random errors in the first codeword using a first ECC decoding scheme, and

(ii) use corrected data bits from decoding the first codeword to correct erasures in the second codeword using a second ECC decoding scheme,

wherein the first and second codewords are associated by being derived from the same data block and are encoded using complementary ECC mechanisms that enable decoding of the second codeword using results from decoding the first codeword.

11 . The method system of claim 10 , wherein the ECC decoding includes calculating syndromes of the first and second codewords.

12 . The method of claim 11 , wherein the ECC decoding includes calculating error locate polynomials (ELPs) from the calculated syndromes.

13 . The method of claim 12 , wherein the ECC decoding includes deriving polynomial root values from the calculate ELPs.

14 . The method of claim 10 , wherein the random errors include at least one of bit and symbol errors.

15 . The method of claim 10 , wherein the plurality of memory components includes dynamic random access memory (DRAM) devices.

16 . The method of claim 15 , wherein the memory system is constructed in accordance compute express link (CXL) principles.

17 . The method of claim 16 , wherein the ECC decoding is performed in accordance with Reed Solomon (RS) codes.

18 . A non-transitory computer readable medium having stored thereon computer executable instructions that, if executed by a computing device, cause the computing device to perform a method for use by a memory controller of a memory system including a plurality of memory components, the method comprising:

receiving a data block and partitioning the data block into a plurality of memory segments distributed across the plurality of memory components;

constructing, via a plurality of memory components in communication with a controller, first and second codewords from a same set of data bits derived from the data block; and

performing error correction code (ECC) decoding on the first and second codewords that are received and read from the plurality of memory components;

wherein the ECC decoding is configured to:

(i) detect random errors in the first codeword using a first ECC decoding scheme, and

(ii) use corrected data bits from decoding the first codeword to correct erasures in the second codeword using a second ECC decoding scheme,

wherein the first and second codewords are associated by being derived from the same data block and are encoded using complementary ECC mechanisms that enable decoding of the second codeword using results from decoding the first codeword.

19 . The non-transitory computer readable medium of claim 18 , wherein the ECC decoding includes calculating error locate polynomials (ELPs) from the calculated syndromes.

20 . The non-transitory computer readable medium of claim 19 , wherein the ECC decoding includes deriving polynomial root values from the calculate ELPs.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2024
From: MCCRATE, JOSEPH M.; SHENOY, KIRTHI; SFORZIN, MARCO; TWAIT, BRIAN M.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 068909/0456 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2024
From: SHENOY, KIRTHI; SFORZIN, MARCO; MCCRATE, JOSEPH M.; TWAIT, BRIAN M.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 066847/0540 →
Continuity (3)
Provisional Application 63480183 · Jan 17, 2023
Provisional Application 63480175 · Jan 17, 2023
Related Publication 20240297668A1 · Sep 5, 2024
References Cited (7)
US 9722632B2 · Anderson · 2017 [cited by examiner]
US 10536172B2 · Ilani · 2020 [cited by examiner]
US 10547332B2 · Litsyn · 2020 [cited by examiner]
US 10579473B2 · Vanaparthy · 2020 [cited by examiner]
US 11146293B2 · Stanisavljevic · 2021 [cited by examiner]
US 11462293B2 · Cunningham · 2022 [cited by examiner]
US 12126361B2 · Palangappa · 2024 [cited by examiner]