IP Library › Granted Patent US 12,254,203
Granted Patent B2
US 12,254,203 · App. 18/145,095 · Granted Mar 18, 2025

Message authentication Galois integrity and correction (MAGIC) for lightweight row hammer mitigation

Inventors: Sergej Deutsch (Hillsboro, OR); Christoph Dobraunig (St. Veit an der Glan, AT); Rajat Agarwal (Portland, OR); David M. Durham (Beaverton, OR); Santosh Ghosh (Hillsboro, OR); Karanvir Grewal (Hillsboro, OR); Krystian Matusiewicz (Gdansk, PL)
Assignee: Intel Corporation
G06F3/064G06F3/0619G11C7/24G06F3/0679
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,254,203
App. No.
18/145,095
Granted
Mar 18, 2025
Kind
B2
Abstract

The technology described herein includes a first plurality of bijection diffusion function circuits to diffuse data bits into diffused data bits and store the diffused data bits into a memory; an error correcting code (ECC) generation circuit to generate ECC bits for the data bits; and a second plurality of bijection diffusion function circuits to diffuse the ECC bits into diffused ECC bits and store the diffused ECC bits into the memory.

Claims (33)

1. An apparatus comprising:

a first plurality of bijection diffusion function circuits to diffuse data bits into diffused data bits and store the diffused data bits into a memory;

an error correcting code (ECC) generation circuit to generate ECC bits for the data bits; and

a second plurality of bijection diffusion function circuits to diffuse the ECC bits into diffused ECC bits and store the diffused ECC bits into the memory.

2. The apparatus of claim 1 , wherein the data bits are divided into a plurality of s-bit blocks of data bits, and a bijection diffusion function circuit of the first plurality of bijection diffusion function circuits is to be applied to one of the plurality of s-bit blocks of data bits to generate an s-bit block of the diffused data bits.

3. The apparatus of claim 1 , wherein the ECC bits are divided into a plurality of s-bit blocks of ECC bits, and a bijection diffusion function circuit of the second plurality of bijection diffusion function circuits is to be applied to one of the plurality of s-bit blocks of ECC bits to generate an s-bit block of the diffused ECC bits.

4. The apparatus of claim 1 , wherein all the first plurality of bijection diffusion function circuits are instances of a same bijection diffusion function circuit.

5. The apparatus of claim 1 , wherein at least one of the first plurality of bijection diffusion function circuits is different than other ones of the first plurality of bijection diffusion function circuits.

6. The apparatus of claim 1 , wherein at least one of the first plurality of bijection diffusion function circuits is to use an index of the at least one of the first plurality of bijection diffusion function circuits as an input tweak to decorrelate diffused data bits output from the at least one of the first plurality of bijection diffusion function circuits from diffused data bits output from other ones of the first plurality of bijection diffusion function circuits.

7. The apparatus of claim 1 , wherein at least one of the first plurality of bijection diffusion function circuits and the second plurality of bijection diffusion function circuits comprises an s-bit block cipher.

8. The apparatus of claim 1 , wherein the data bits are encrypted data bits, and further comprising memory encryption circuitry to encrypt other data bits into the encrypted data bits.

9. The apparatus of claim 1 , wherein the first plurality of bijection diffusion function circuits is to diffuse, in parallel, the data bits into the diffused data bits and store the diffused data bits and the second plurality of bijection diffusion function circuits is to diffuse, in parallel, the ECC bits into the diffused ECC bits.

10. The apparatus of claim 1 , wherein the ECC bits are to be used to correct one or more errors in the data bits.

11. A method comprising:

diffusing data bits into diffused data bits;

storing the diffused data bits into a memory;

generating error correcting code (ECC) bits for the data bits;

diffusing the ECC bits into diffused ECC bits; and

storing the diffused ECC bits into the memory.

12. The method of claim 11 , wherein the data bits are divided into a plurality of s-bit blocks of data bits and diffusing the data bits into the diffused data bits comprises diffusing one of the plurality of s-bit blocks of data bits to generate an s-bit block of the diffused data bits.

13. The method of claim 12 , wherein diffusing the data bits into the diffused data bits comprises diffusing data bits of all the plurality of s-bit blocks according to a same bijection diffusion function.

14. The method of claim 12 , wherein diffusing the data bits into the diffused data bits comprises diffusing data bits of at least one of the plurality of s-bit blocks according to a different bijection diffusion function than diffusing data bits of other ones of the plurality of s-bit blocks.

15. The method of claim 12 , wherein diffusing comprises diffusing the data bits into the diffused data bits by applying a bijection diffusion function to the data bits.

16. The method of claim 11 , wherein the ECC bits are divided into a plurality of s-bit blocks of ECC bits and diffusing the ECC bits into the diffused ECC bits comprises diffusing one of the plurality of s-bit blocks of ECC bits to generate an s-bit block of the diffused ECC bits.

17. The method of claim 11 , wherein the data bits are encrypted data bits, and further comprising encrypting other data bits to generate the encrypted data bits before diffusing the data bits into diffused data bits.

18. The method of claim 11 , comprising using the ECC bits to correct at least one error in the data bits.

19. A system comprising:

a memory;

a processor;

a first plurality of bijection diffusion function circuits to receive data bits from the processor, diffuse the data bits into diffused data bits and store the diffused data bits into the memory;

an error correcting code (ECC) generation circuit to generate ECC bits for the data bits; and

a second plurality of bijection diffusion function circuits to diffuse the ECC bits into diffused ECC bits and store the diffused ECC bits into the memory.

20. The system of claim 19 , wherein the data bits are encrypted data bits, and further comprising memory encryption circuitry to encrypt other data bits to generate the encrypted data bits.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2022
From: DEUTSCH, SERGEJ; DOBRAUNIG, CHRISTOPH; AGARWAL, RAJAT; DURHAM, DAVID M.; GHOSH, SANTOSH; GREWAL, KARANVIR; MATUSIEWICZ, KRYSTIAN
To: INTEL CORPORATION
Reel/Frame 062180/0108 →
Continuity (2)
Provisional Application 63351613 · Jun 13, 2022
Related Publication 20230402077A1 · Dec 14, 2023
References Cited (19)
US 7099190B2 · Noguchi · 2006 [cited by examiner]
US 9411818B2 · Motwani · 2016 [cited by examiner]
US 9686440B2 · Metcalfe · 2017 [cited by examiner]
US 10678636B2 · Durham · 2020 [cited by applicant]
US 11301344B2 · Durham et al. · 2022 [cited by applicant]
US 11469902B2 · Kounavis et al. · 2022 [cited by applicant]
US 11675502B1 · Resch · 2023 [cited by examiner]
US 20020083390A1 · Lee · 2002 [cited by examiner]
US 20040139340A1 · Johnson · 2004 [cited by examiner]
US 20090102850A1 · Liang · 2009 [cited by examiner]
US 20130166990A1 · Morris · 2013 [cited by examiner]
US 20140068320A1 · Vedpathak · 2014 [cited by examiner]
US 20160328540A1 · Hoogerbrugge · 2016 [cited by examiner]
US 20170185532A1 · Durham · 2017 [cited by examiner]
US 20190042369A1 · Deutsch · 2019 [cited by examiner]
US 20190220349A1 · Deutsch · 2019 [cited by examiner]
US 20210390024A1 · Durham · 2021 [cited by examiner]
US 20240220357A1 · Durham · 2024 [cited by examiner]
L. Cojocar, K. Razavi, C. Giuffrida and H. Bos, “Exploiting Correcting Codes: On the Effectiveness of ECC Memory Against Rowhammer Attacks,” 2019 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, USA, 2019… [cited by applicant]
Cited By (1)
US 12,748,707