IP Library Granted Patent US 11,120,167
Granted Patent B2
US 11,120,167 · App. 16/362,757 · Granted Sep 14, 2021

Block chain based validation of memory commands

Inventors: Antonino Mondello (Messina, IT); Alberto Troia (Munich, DE)
Assignee: Micron Technology, Inc.
G06F21/72H04L9/3236H04L9/3247G06F21/76H04L2209/38
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 11,120,167
App. No.
16/362,757
Granted
Sep 14, 2021
Kind
B2
Abstract

The present disclosure includes apparatuses, methods, and systems for block chain validation of memory commands. An embodiment includes a memory, and circuitry configured to receive a command that is included in a block in a block chain for validating commands to be executed on the memory, wherein the command includes an anti-replay portion that is based on a previous command included in a previous block in the block chain, validate the command using the anti-replay portion of the command, and execute the command on the memory upon validating the command.

Claims (75)

1. An apparatus, comprising:

a memory; and

a controller to:

receive a command that is included in a block in a block chain for validating commands to be executed on the memory, wherein the command includes an anti-replay portion that is based on a previous command included in a previous block in the block chain;

validate the command using the anti-replay portion of the command, wherein validating the command includes ensuring the command has not been previously executed on the memory; and

execute the command on the memory upon validating the command.

2. The apparatus of claim 1 , wherein:

the command includes a signature associated with a host; and

the controller is to validate the command using the signature of the command.

3. The apparatus of claim 1 , wherein:

the controller includes a register to store an anti-replay portion of the previous command; and

the controller is to validate the command using the anti-replay portion of the previous command stored in the register.

4. The apparatus of claim 3 , wherein the controller is to validate the command by:

generating a cryptographic hash of the anti-replay portion of the previous command stored in the register; and

comparing the generated cryptographic hash with the anti-replay portion of the command.

5. The apparatus of claim 3 , wherein the controller is to validate the command by:

generating a digital signature for the anti-replay portion of the previous command stored in the register; and

comparing the generated digital signature with the anti-replay portion of the command.

6. The apparatus of claim 1 , wherein:

the command and the previous command are included in a sequence of commands to be executed on the memory;

the block in the block chain in which the command is included includes an indication of a position of the command in the sequence of commands; and

the controller is to validate the command using the indication of the position of the command.

7. A method of operating memory, comprising:

receiving a command from a host, wherein:

the command is included in a block in a block chain for validating commands to be executed on the memory; and

the command includes an anti-replay portion that is based on a previous command included in a previous block in the block chain;

validating the command using the anti-replay portion of the command, wherein validating the command includes ensuring the command has not been previously executed on the memory; and

executing the command on the memory upon validating the command.

8. The method of claim 7 , wherein the method includes sending a command response to the host upon executing the command on the memory, wherein the command response includes:

a result of the execution of the command; and

the anti-replay portion of the command.

9. The method of claim 7 , wherein validating the command using the anti-replay portion of the command includes:

comparing the anti-replay portion of the command to an expected value for the anti-replay portion of the command; and

validating the command upon the comparison indicating the anti-replay portion of the command matches the expected value.

10. The method of claim 9 , wherein the expected value for the anti-replay portion of the command is a cryptographic hash of an anti-replay portion of the previous command.

11. The method of claim 9 , wherein the expected value for the anti-replay portion of the command is a signature for an anti-replay portion of the previous command.

12. The method of claim 7 , wherein the method includes:

receiving an additional command from the host, wherein:

the additional command is included in a subsequent block in the block chain; and

the additional command includes an anti-replay portion that is based on the command included in the block in the block chain;

validating the additional command using the anti-replay portion of the additional command; and

executing the additional command on the memory upon validating the additional command.

13. A method of operating memory, comprising:

generating an anti-replay portion for validating a command to be executed on the memory, wherein:

the command is included in a block in a block chain for validating commands to be executed on the memory; and

the anti-replay portion for the command is generated from a previous command included in a previous block in the block chain; and

validating the command includes ensuring the command has not been previously executed on the memory; and

sending the command having the anti-replay portion to the memory.

14. The method of claim 13 , wherein the anti-replay portion for the command is a cryptographic hash of an anti-replay portion of the previous command.

15. The method of claim 14 , wherein the cryptographic hash comprises a SHA-256 cryptographic hash.

16. The method of claim 13 , wherein the anti-replay portion for the command is a signature for an anti-replay portion of the previous command.

17. The method of claim 16 , wherein the signature comprises an elliptical curve digital signature.

18. The method of claim 16 , wherein the signature is a digital signature generated using asymmetric cryptography.

19. The method of claim 16 , wherein the signature is generated using symmetric cryptography.

20. A system, comprising:

a host having a host controller; and

a memory device having a memory and a controller;

wherein the host controller is to:

generate an anti-replay portion for a command to be executed on the memory, wherein:

the command is included in a block in a block chain for validating commands to be executed on the memory; and

the anti-replay portion for the command is generated from a previous command included in a previous block in the block chain; and

send the command having the anti-replay portion to the memory device; and

wherein the controller of the memory device is to:

validate the command using the anti-replay portion, wherein validating the command includes ensuring the command has not been previously executed on the memory; and

execute the command on the memory upon validating the command.

21. The system of claim 20 , wherein:

the controller of the memory device is to send a command response to the host upon executing the command on the memory, wherein the command response includes:

a result of the execution of the command; and

the anti-replay portion; and

the host controller is to validate the result of the execution of the command using the anti-replay portion.

22. The system of claim 21 , wherein:

the command response includes a signature associated with the memory device; and

the host controller is to validate the result of the execution of the command using the signature.

23. The system of claim 20 , wherein the host controller is to generate an anti-replay portion for an initial command included in an initial block in the block chain from a random value generated by the host.

24. The system of claim 23 , wherein the host controller is to generate the anti-replay portion for the initial command responsive to a powering of the memory device.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 15, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 051041/0317 →
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050724/0392 →
SUPPLEMENT NO. 12 TO PATENT SECURITY AGREEMENT Recorded Apr 19, 2019
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 048948/0677 →
SUPPLEMENT NO. 3 TO PATENT SECURITY AGREEMENT Recorded Apr 19, 2019
From: MICRON TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 048951/0902 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2019
From: MONDELLO, ANTONINO; TROIA, ALBERTO
To: MICRON TECHNOLOGY, INC.
Reel/Frame 048682/0940 →
Continuity (1)
Related Publication 20200311313A1 · Oct 1, 2020
Cited By (1)
US 12,639,477