IP Library Granted Patent US 11,853,464
Granted Patent B2
US 11,853,464 · App. 16/425,805 · Granted Dec 26, 2023

Storage device and data tampering detection method

Inventors: Naoko Yamada (Yokohama Kanagawa, JP); Teruji Yamakawa (Tokyo, JP)
Assignee: Kioxia Corporation
G06F21/64G06F3/0623G06F3/0659G06F3/0673G06F21/44G06F21/602
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,853,464
App. No.
16/425,805
Granted
Dec 26, 2023
Kind
B2
Abstract

A storage device includes a storage and a controller configured to execute control of the storage based on a command from a host device. The controller is configured to generate a verifier of data stored in the storage in response to a first command related to the data from the host device, and transmit the verifier of the data to the host device in response to a second command related to the data from the host device.

Claims (37)

1. A storage device comprising:

a first storage;

a second storage; and

a controller configured to execute control of the first storage based on a command from a host device,

wherein the controller is configured to:

in response to a first command from the host device, the first command being a write command including first firmware, write the first firmware included in the first command into the first storage, generate a first verifier of the first firmware included in the first command, and store the generated first verifier in the second storage;

in response to a second command related to the first firmware from the host device, transmit the first verifier to the host device;

in response to a third command from the host device, the third command being a read command to read the first firmware stored in the first storage, read the first firmware from the first storage and generate a second verifier of the first firmware read from the first storage;

in response to a fourth command related to the first firmware from the host device, compare the first verifier stored in the second storage and the generated second verifier and transmit a first comparison result of comparison between the first verifier and the second verifier to the host device;

in response to a fifth command from the host device, transmit the second verifier to the host device;

without responding to any command from the host device, download the first firmware from an external device different from the host device, store the downloaded first firmware in the first storage, generate a third verifier of the downloaded first firmware, and store the generated third verifier in the second storage;

at a predetermined timing, without responding to any command from the host device, read, from an external memory that is connected to the host device and the storage device, the first firmware that has been loaded to the external memory, generate a fourth verifier of the first firmware read from the external memory, and compare the third verifier stored in the second storage with the generated fourth verifier;

when a second comparison result of comparison between the third verifier and the fourth verifier indicates coincidence between the third verifier and the fourth verifier, schedule a next timing at which comparison of the third verifier and the fourth verifier is performed; and

when the second comparison result indicates non-coincidence between the third verifier and the fourth verifier, notify a predetermined external device different from the host device of the non-coincidence and disable writing into the first storage and reading from the first storage.

2. The storage device of claim 1 , wherein the controller is further configured to:

set a range of storage areas within the first storage as designated by a sixth command from the host device as a generation range; and

in response to the first command, generate the first verifier only after confirming that the first data is stored within the generation range.

3. The storage device of claim 1 , wherein the controller further includes:

an encryption circuit configured to encrypt data to be written into the first storage; and

a decryption circuit configured to decrypt the data which is encrypted by the encryption unit and read from the first storage.

4. The storage device of claim 2 , wherein the controller is further configured to store the downloaded first firmware within the generation range of the first storage.

5. A method of detecting tampering of data in a first storage connected to a host device, said method comprising:

in response to a first command from the host device, the first command being a write command including first firmware, write the first firmware included in the first command into the first storage, generating a first verifier of the first firmware included in the first command, and storing the generated first verifier in a second storage connected to the host device;

in response to a second command related to the first firmware from the host device transmitting the first verifier to the host device;

in response to a third command from the host device, the third command being a read command to read the first firmware stored in the first storage, reading the first firmware from the first storage and generating a second verifier of the first firmware read from the first storage;

in response to a forth command related to the first firmware from the host device, comparing the first verifier stored in the second storage and the generated second verifier and transmitting a first comparison result of comparison between the first verifier and the second verifier to the host device;

in response to a fifth command from the host device, transmitting the second verifier to the host device;

without responding to any command from the host device, downloading the first firmware from an external device different from the host device, storing the downloaded first firmware in the first storage, generating a third verifier of the downloaded first firmware, and storing the generated third verifier in the second storage;

at a predetermined timing, without responding to any command from the host device, reading, from an external memory that is connected to the host device and the storage device, the first firmware that has been loaded to the external memory, generating a fourth verifier of the first firmware read from the external memory, and comparing the third verifier stored in the second storage with the generated fourth verifier;

when a second comparison result of comparison between the third verifier and the fourth verifier indicates coincidence between the third verifier and the fourth verifier, scheduling a next timing at which comparison of the third verifier and the fourth verifier is performed; and

when the second comparison result indicates non-coincidence between the third verifier and the fourth verifier, notifying a predetermined external device different from the host device of the non-coincidence and disabling writing into the first storage and reading from the first storage.

6. The method of claim 5 , further comprising:

setting a range of storage areas within the first storage as designated by a sixth command from the host device as a generation range,

wherein the first verifier is generated in response to the first command only after confirming that the first data is stored within the generation range.

7. The method of claim 5 , further comprising:

encrypting data to be written into the first storage; and

decrypting the data which has been encrypted and read from the first storage.

Assignments (2)
CHANGE OF NAME Recorded Jan 13, 2022
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 058777/0822 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2019
From: YAMADA, NAOKO; YAMAKAWA, TERUJI
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 049311/0914 →
Priority Claims (1)
JP 2018-150445 · Aug 9, 2018 · national
Continuity (1)
Related Publication 20200050799A1 · Feb 13, 2020