IP Library › Granted Patent US 12,321,616
Granted Patent B2
US 12,321,616 · App. 18/428,157 · Granted Jun 3, 2025

Memory systems and devices including examples of accessing memory and generating access codes using an authenticated stream cipher

Inventors: Jeremy Chritz (Seattle, WA); David Hulton (Seattle, WA)
Assignee: MICRON TECHNOLOGY, INC.
G06F3/0622G06F3/0655G06F3/0679G06F12/0877H04L9/0631G06F2212/60
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,321,616
App. No.
18/428,157
Granted
Jun 3, 2025
Kind
B2
Abstract

Examples of systems and methods described herein provide for accessing memory devices and, concurrently, generating access codes using an authenticated stream cipher at a memory controller. For example, a memory controller may use a memory access request to, concurrently, perform translation logic and/or error correction on data associated with the memory access request; while also utilizing the memory address as an initialization vector for an authenticated stream cipher to generate an access code. The error correction may be performed subsequent to address translation for a write operation (or prior to address translation for a read operation) to improve processing speed of memory access requests at a memory controller; while the memory controller also generates the encrypted access code.

Claims (36)

1. An apparatus comprising:

a memory controller comprising:

authentication logic circuitry configured to utilize a received memory address as an initialization vector for an authenticated stream cipher to generate an access code; and

translation logic circuitry configured to perform address translation using the received memory address and a command associated with the received memory address to translate a logical address of the received memory address to a physical memory address, wherein the translation logic circuitry is configured to perform the address translation, at least in part, in parallel with generation of the access code.

2. The apparatus of claim 1 , wherein the memory controller further comprises:

error correction circuitry configured to generate an error correction code for data associated with the command, wherein the error correction circuitry is configured to generate the error correction code, at least in part, in parallel with the generation of the access code.

3. The apparatus of claim 2 , wherein the error correction circuitry includes a single error correction, double error detection error correction code algorithm unit circuit configured to generate the error correction code.

4. The apparatus of claim 2 , wherein the error correction circuitry includes a low-density parity-check correction algorithm unit circuit configured to generate the error correction code.

5. The apparatus of claim 1 , further comprising:

a cache configured to store data associated with the received memory address; and

a memory configured to perform an access operation associated with the command using the access code, the data, and the physical memory address.

6. The apparatus of claim 5 , wherein the memory comprises a NAND memory device.

7. The apparatus of claim 1 , wherein the memory controller is configured to receive the command and the memory address from a host computing device via a PCIe bus.

8. The apparatus of claim 1 , wherein the authentication logic circuitry includes an Advance Encryption Standard Galois/Counter Mode (AES-GCM) pipeline for generating the access code.

9. The apparatus of claim 1 , wherein the authentication logic circuitry is configured to use the access code to encrypt data as ciphertext.

10. The apparatus of claim 1 , wherein the translation logic circuitry is configured to perform at least one of memory wear leveling, garbage collection, or write amplification.

11. A method comprising:

receiving, from a host computing device, an access command and a memory address; and

responsive to the access command:

generating an access code, wherein generating the access code includes using the memory address as an initialization vector for an authenticated stream cipher to generate the access code; and

performing address translation using the memory address and the access command to translate a logical address to a physical address, wherein the address translation is performed, at least in part, in parallel with generation of the access code.

12. The method of claim 11 , further comprising:

performing an access operation associated with the access command using the access code and the physical address.

13. The method of claim 11 , further comprising:

generating error correction code for data associated with the access command, wherein the error correction code is generated, at least in part, in parallel with the generation of the access code.

14. The method of claim 13 , wherein the error correction code is generated at least in part using a single error correction, double error detection error correction code algorithm unit circuit.

15. The method of claim 13 , wherein the error correction code is generated at least in part using a low-density parity-check correction algorithm unit circuit.

16. The method of claim 11 , wherein the access command and the memory address are received from the host computing device at a cache of a memory controller via a host bus.

17. The method of claim 11 , wherein the authenticated stream cipher comprises an advanced encryption standard (AES) cipher.

18. The method of claim 17 , further comprising:

generating, at a Galois/Counter Mode (GCM) of an authentication logic circuit, the access code based on the AES cipher.

19. The method of claim 11 , further comprising:

performing a XOR-operation to combine the access code and data associated with the access command to be written to a memory device.

20. The method of claim 19 , further comprising:

encrypting the data as ciphertext data; and

generating an authentication tag associated with the ciphertext data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2024
From: CHRITZ, JEREMY; HULTON, DAVID
To: MICRON TECHNOLOGY, INC.
Reel/Frame 066356/0003 →
Continuity (3)
Continuation 18146120 · Dec 23, 2022
Continuation 17108904 · Dec 1, 2020
Related Publication 20240201871A1 · Jun 20, 2024
References Cited (44)
US 7814316B1 · Hughes et al. · 2010 [cited by applicant]
US 8938624B2 · Obukhov et al. · 2015 [cited by applicant]
US 9954828B1 · Chandrasekhar et al. · 2018 [cited by applicant]
US 10809944B1 · Ostrikov et al. · 2020 [cited by applicant]
US 10929572B2 · Wu · 2021 [cited by applicant]
US 11409918B1 · Sugavanam et al. · 2022 [cited by applicant]
US 11537298B2 · Chritz et al. · 2022 [cited by applicant]
US 11899829B2 · Chritz et al. · 2024 [cited by applicant]
US 11899942B2 · Chritz et al. · 2024 [cited by applicant]
US 20110082979A1 · Ramesh et al. · 2011 [cited by applicant]
US 20110154043A1 · Lim et al. · 2011 [cited by applicant]
US 20150058637A1 · Raskin et al. · 2015 [cited by applicant]
US 20160018996A1 · Doumen · 2016 [cited by applicant]
US 20160078252A1 · Chandra et al. · 2016 [cited by applicant]
US 20160098359A1 · Adkins et al. · 2016 [cited by applicant]
US 20160204931A1 · Kamath et al. · 2016 [cited by applicant]
US 20180095675A1 · Kachare · 2018 [cited by examiner]
US 20180181499A1 · Branco et al. · 2018 [cited by applicant]
US 20180307848A1 · Leiseboer et al. · 2018 [cited by applicant]
US 20180349293A1 · Lin · 2018 [cited by applicant]
US 20180373598A1 · Mondello et al. · 2018 [cited by applicant]
US 20190050347A1 · Bolotov et al. · 2019 [cited by applicant]
US 20190243714A1 · Foxworth et al. · 2019 [cited by applicant]
US 20200226270A1 · Benedict · 2020 [cited by applicant]
US 20200364159A1 · Lee et al. · 2020 [cited by applicant]
US 20210240862A1 · Pelissier et al. · 2021 [cited by applicant]
US 20210328790A1 · Eckel et al. · 2021 [cited by applicant]
US 20210377017A1 · Benisty et al. · 2021 [cited by applicant]
US 20220050741A1 · Lee · 2022 [cited by applicant]
US 20220171545A1 · Chritz et al. · 2022 [cited by applicant]
US 20220171887A1 · Chritz et al. · 2022 [cited by applicant]
US 20220222384A1 · Hulton et al. · 2022 [cited by applicant]
US 20230126741A1 · Chritz et al. · 2023 [cited by applicant]
US 20240176916A1 · Chritz et al. · 2024 [cited by applicant]
US 20250076228A1 · Karoum et al. · 2025 [cited by applicant]
EP 3716071A1 · 2020 [cited by applicant]
JP 2009245020A · 2009 [cited by applicant]
WO 2022119819A1 · 2022 [cited by applicant]
WO 2022119822A1 · 2022 [cited by applicant]
International Search Report & Written Opinion dated Mar. 24, 2022 for PCT Appl. No. PCT/US2021/061170; pp. all. [cited by applicant]
U.S. Appl. No. 17/146,274 titled “Encrypted Key Management”, filed Jan. 11, 2021, pp. all pages of application as filed. [cited by applicant]
U.S. Appl. No. 18/146,120, filed Dec. 23, 2022 titled, “Memory Systems and Devices Including Examples of Accessing Memory andgenerating Access Codes Using an Authenticated Stream Cipher,”, pp. all pages of application a… [cited by applicant]
U.S. Appl. No. 17/108,904, titled “Memory Systems and Devices Including Examples of Accessing Memory and Generating Access Codes Using an Authenticated Stream Cipher”, dated Dec. 1, 2020, pp. all pages of application as… [cited by applicant]
U.S. Appl. No. 17/108,934, titled “Memory Systems and Devices Including Examples of Generating Access Codes for Memory Regions Using Authentication Logic”, dated Dec. 1, 2020; pp. all pages of application as filed. [cited by applicant]
Cited By (2)
US 12,619,791 US 12,748,841