IP Library Granted Patent US 12,724,669
Granted Patent B2
US 12,724,669 · App. 19/030,342 · Granted Sep 1, 2026

Cryptographic data integrity protection

Inventors: David Aaron Palmer (Boise, ID); Nadav Grosz (Broomfield, CO); Lance W. Dover (Fair Oaks, CA); Yoav Weinberg (Thornhill, CA)
Assignee: Micron Technology, Inc.
G06F11/1068G06F11/0772G06F11/3037G06F12/0246G06F12/1408G06F13/4221G06F21/64G06F2212/7201
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,724,669
App. No.
19/030,342
Granted
Sep 1, 2026
Kind
B2
Abstract

A storage device includes a memory storage region and a controller having a processor. The processor retrieves user data from the memory storage region using a physical block address corresponding to a logical block address (LBA), in response to a read command. The retrieved user data includes a first hash received through a host interface in a prior host data transmission. The processor further performs error correction on the user data to generate error-corrected user data. The processor further causes a cryptographic engine to produce a second hash of the error-corrected user data. The first hash is compared to the second hash associated with the error-corrected user data to determine a match result. A notification is generated in response to the match result.

Claims (55)

1 . A storage device that implements cryptographic validity checking, the storage device comprising:

a memory storage region; and

a controller coupled to controller memory and the memory storage region, the controller having a processor configured to execute instructions stored on the storage device, wherein the instructions, when executed by the processor, cause the processor to perform operations comprising:

decoding at least one write command received from a host to obtain user data;

parsing a plurality of hash records stored in the controller memory to determine a hash record of the plurality of hash records that is associated with the user data;

retrieving the hash record from the controller memory; and

storing the hash record and the user data in the memory storage region.

2 . The storage device of claim 1 , wherein the operations associated with the decoding of the at least one write command comprise:

decoding a first write command received from the host to obtain the plurality of hash records.

3 . The storage device of claim 2 , wherein the operations comprise:

storing the plurality of hash records in the controller memory; and

decoding a second write command received from the host to obtain the user data.

4 . The storage device of claim 2 , wherein the operations comprise:

decoding the first write command to obtain logical block address (LBA) data, wherein the LBA data comprises the plurality of hash records associated with a corresponding plurality of hashes, and wherein the hash record of the plurality of hash records includes a hash of the user data and an LBA.

5 . The storage device of claim 4 , wherein the operations comprise:

obtaining an LBA of the user data based on decoding a second write command.

6 . The storage device of claim 5 , wherein the operations comprise:

retrieving the hash record from the controller memory based on matching the LBA of the user data with the LBA in the hash record.

7 . The storage device of claim 6 , wherein the operations comprise:

generating a notification of an execution status of the at least one write command, the execution status based on a successful completion of the matching.

8 . A method comprising:

decoding, by at least one hardware processor of a storage device, at least one write command received from a host to obtain user data;

parsing a plurality of hash records stored in controller memory to determine a hash record of the plurality of hash records that is associated with the user data;

retrieving the hash record from the controller memory; and

storing the hash record and the user data in a memory storage region of the storage device.

9 . The method of claim 8 , wherein the decoding of the at least one write command comprises:

decoding a first write command received from the host to obtain the plurality of hash records.

10 . The method of claim 9 , further comprising:

storing the plurality of hash records in the controller memory; and

decoding a second write command received from the host to obtain the user data.

11 . The method of claim 9 , further comprising:

decoding the first write command to obtain logical block address (LBA) data, wherein the LBA data comprises the plurality of hash records associated with a corresponding plurality of hashes, and wherein the hash record of the plurality of hash records includes a hash of the user data and an LBA.

12 . The method of claim 11 , further comprising:

obtaining an LBA of the user data based on decoding a second write command.

13 . The method of claim 12 , further comprising:

retrieving the hash record from the controller memory based on matching the LBA of the user data with the LBA in the hash record.

14 . The method of claim 13 , further comprising:

generating a notification of an execution status of the at least one write command, the execution status based on a successful completion of the matching.

15 . A machine-readable medium, comprising instructions, which when executed by a processor of a storage device, cause the processor to perform operations comprising:

decoding at least one write command received from a host to obtain user data;

parsing a plurality of hash records stored in controller memory to determine a hash record of the plurality of hash records that is associated with the user data;

retrieving the hash record from the controller memory; and

storing the hash record and the user data in a memory storage region of the storage device.

16 . The machine-readable medium of claim 15 , wherein the operations associated with the decoding of the at least one write command comprise:

decoding a first write command received from the host to obtain the plurality of hash records.

17 . The machine-readable medium of claim 16 , the operations further comprising:

storing the plurality of hash records in the controller memory; and

decoding a second write command received from the host to obtain the user data.

18 . The machine-readable medium of claim 16 , the operations further comprising:

decoding the first write command to obtain logical block address (LBA) data, wherein the LBA data comprises the plurality of hash records associated with a corresponding plurality of hashes, and wherein the hash record of the plurality of hash records includes a hash of the user data and an LBA.

19 . The machine-readable medium of claim 18 , the operations further comprising:

obtaining an LBA of the user data based on decoding a second write command.

20 . The machine-readable medium of claim 19 , the operations further comprising:

retrieving the hash record from the controller memory based on matching the LBA of the user data with the LBA in the hash record; and

generating a notification of an execution status of the at least one write command, the execution status based on a successful completion of the matching.

Continuity (4)
Continuation 18206398 · Jun 6, 2023
Continuation 17014771 · Sep 8, 2020
Provisional Application 62955637 · Dec 31, 2019
Related Publication 20250238321A1 · Jul 24, 2025
References Cited (22)
US 7136995B1 · Wann · 2006 [cited by examiner]
US 8392798B2 · Flynn · 2013 [cited by examiner]
US 9152502B2 · Kalach · 2015 [cited by examiner]
US 9606870B1 · Meiri · 2017 [cited by examiner]
US 10254972B2 · Iwai · 2019 [cited by applicant]
US 10313129B2 · Gopal · 2019 [cited by examiner]
US 11526300B2 · Segev · 2022 [cited by examiner]
US 11693732B2 · Palmer et al. · 2023 [cited by applicant]
US 20140056068A1 · Strasser · 2014 [cited by examiner]
US 20140160591A1 · Sakamoto et al. · 2014 [cited by applicant]
US 20140181575A1 · Kalach et al. · 2014 [cited by applicant]
US 20140317479A1 · Candelaria · 2014 [cited by applicant]
US 20190188331A1 · Lee · 2019 [cited by examiner]
US 20210200631A1 · Palmer et al. · 2021 [cited by applicant]
US 20230315569A1 · Palmer et al. · 2023 [cited by applicant]
CN 102317919A · 2012 [cited by applicant]
CN 105144302A · 2015 [cited by applicant]
CN 113127893A · 2021 [cited by applicant]
“Chinese Application Serial No. 202011534578.7, Decision of Rejection mailed Apr. 3, 2024”, with English translation, 14 pages. [cited by applicant]
“Chinese Application Serial No. 202011534578.7, Office Action mailed Oct. 16, 2023”, with English translation, 13 pages. [cited by applicant]
“Chinese Application Serial No. 202011534578.7, Response filed Feb. 27, 2024 to Office Action mailed Oct. 16, 2023”, with English claims, 182 pages. [cited by applicant]
“Chinese Application Serial No. 202011534578.7, Response filed Jun. 27, 2024 to Decision of Rejection mailed Apr. 3, 2024”, with English claims, 27 pages. [cited by applicant]