IP Library Granted Patent US 12,430,204
Granted Patent B2
US 12,430,204 · App. 17/553,623 · Granted Sep 30, 2025

End-to-end data protection for compute in memory (CIM)/compute near memory (CNM)

Inventors: Wei Wu (Portland, OR); Carlos Tokunaga (Hillsboro, OR); Gregory K. Chen (Portland, OR)
Assignee: Intel Corporation
G06F11/1068
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,430,204
App. No.
17/553,623
Granted
Sep 30, 2025
Kind
B2
Abstract

A near memory compute system includes multiple computation nodes, such as nodes for parallel distributed processing. The nodes include a memory device to store data and compute hardware to perform a computation on the data. Error correction code (ECC) logic performs ECC on the data prior to computation on the data by the compute hardware. The node also includes residue check logic to perform a residue check on a result of the computation.

Claims (42)

1. An apparatus comprising:

a memory of a computation node, the memory to store data;

compute hardware of the computation node, to perform a computation on the data;

error correction code (ECC) logic to perform ECC decoding and correction on the data prior to computation with a code that includes both ECC bits and residue check bits; and

residue check logic to perform a residue check on a result of the computation with the residue check bits of the code.

2. The apparatus of claim 1 , wherein the memory is to store ECC bits for the data, wherein the ECC logic is to perform the ECC decoding and correction on the data with the ECC bits from the memory.

3. The apparatus of claim 1 , wherein the memory is to store a residue check value, wherein the residue check logic is to perform the residue check on the result of the computation with the residue check value.

4. The apparatus of claim 3 , wherein the residue check value comprises a modulo value of the data.

5. The apparatus of claim 1 , wherein the result of the computation is to be stored back in the memory.

6. The apparatus of claim 5 , wherein the ECC logic is to encode ECC bits to store for the result of the computation.

7. The apparatus of claim 5 , wherein the memory is to store the data, ECC bits, and a residue check value, where the ECC bits and residue check value represent a two-dimensional array.

8. The apparatus of claim 7 , wherein the memory is to store multiple rows having data bits and associated residue check values, and a row having parity bits, with a parity bit of a bit location to indicate parity for a column made up of the rows of data bits in the bit location or a column made up of the rows of bits in the bit location.

9. The apparatus of claim 1 , wherein the computation node comprises a node of a parallel distributed processing system having multiple parallel distributed processing nodes.

10. The apparatus of claim 9 , wherein the result of the computation is to be forwarded to another parallel distributed processing node.

11. A computer system, comprising:

a host processor; and

accelerator hardware coupled to the host processor, to receive a request for parallel distributed processing, the accelerator hardware including multiple processing nodes, wherein an individual processing node includes:

a memory to store data;

a compute unit to perform a computation on the data;

error correction code (ECC) logic to perform ECC decoding and correction on the data prior to computation with a code that includes both ECC bits and residue check bits; and

residue check logic to perform a residue check on a result of the computation with the residue check bits of the code.

12. The computer system of claim 11 , wherein the memory is to store a residue check value, wherein the residue check logic is to perform the residue check on the result of the computation with the residue check value.

13. The computer system of claim 11 , wherein the ECC logic is to encode ECC bits to store for the result of the computation.

14. The computer system of claim 11 , wherein the memory is to store the data, ECC bits, and a residue check value as a two-dimensional array.

15. The computer system of claim 11 , wherein the result of the computation is to be forwarded from one node to another.

16. The computer system of claim 11 , including one or more of:

wherein the host processor comprises a multicore processor;

a display communicatively coupled to the host processor; or

a network interface communicatively coupled to the host processor.

17. A method for computation, comprising:

storing data in a memory of a computation node;

performing a computation on the data with compute hardware of the computation node;

performing error correction code (ECC) decoding and correction on the data prior to performing the computation with a code that includes both ECC bits and residue check bits; and

performing a residue check on a result of the computation with the residue check bits of the code.

18. The method of claim 17 , wherein performing the residue check comprises performing the residue check on the result of the computation with a residue check value stored in the memory.

19. The method of claim 17 , further comprising:

receiving the result of the computation; and

encoding ECC bits from the result to store in the memory for the result of the computation.

20. The method of claim 17 , further comprising:

storing in the memory the data, ECC bits, and a residue check value as a two-dimensional array.

21. The method of claim 17 , wherein the computation node comprises a node of a parallel distributed processing system having multiple parallel distributed processing nodes, and further comprising:

forwarding the result of the computation to another parallel distributed processing node.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2021
From: WU, WEI; TOKUNAGA, CARLOS; CHEN, GREGORY K.
To: INTEL CORPORATION
Reel/Frame 058469/0646 →
Continuity (1)
Related Publication 20220107867A1 · Apr 7, 2022
References Cited (12)
US 7555692B1 · Iacobovici · 2009 [cited by examiner]
US 8341473B2 · Bertacco et al. · 2012 [cited by applicant]
US 8347172B2 · Kwon · 2013 [cited by examiner]
US 9311050B2 · Olsen · 2016 [cited by applicant]
US 9395952B2 · Olsen · 2016 [cited by applicant]
US 10229065B2 · Kumar et al. · 2019 [cited by applicant]
US 10616669B2 · Kumar et al. · 2020 [cited by applicant]
US 10917321B2 · Schmisseur et al. · 2021 [cited by applicant]
US 11210760B2 · Nurvitadhi et al. · 2021 [cited by applicant]
US 20110154157A1 · Naeimi · 2011 [cited by examiner]
US 20210117249A1 · Doshi et al. · 2021 [cited by applicant]
US 20240338132A1 · Bresniker · 2024 [cited by examiner]