IP Library Granted Patent US 10,936,226
Granted Patent B2
US 10,936,226 · App. 16/282,078 · Granted Mar 2, 2021

Memory system and method of controlling nonvolatile memory

Inventor: Shinichi Kanno (Ota, JP)
Assignee: TOSHIBA MEMORY CORPORATION
G06F3/064G06F3/062G06F3/0679G06F12/0246H04L9/08
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 10,936,226
App. No.
16/282,078
Granted
Mar 2, 2021
Kind
B2
Abstract

According to one embodiment, when data is to be written to a first physical storage location that is designated by a first physical address, a memory system encrypts the data with the first physical address and a first encryption key, and writes the encrypted data to the first physical storage location. When the encrypted data is to be copied to a second physical storage location, the memory system decrypts the encrypted data with the first physical address and the first encryption key, and re-encrypts the decrypted data with a second encryption key and a copy destination physical address indicative of the second physical storage location.

Claims (47)

1. A memory system, comprising:

a nonvolatile memory; and

a controller electrically connected to the nonvolatile memory and configured to:

in response to receiving, from a host, a write request that specifies a first physical address, select a first encryption key from a plurality of encryption keys, and encrypt data using the first physical address and the selected first encryption key, and write the encrypted data to a first physical storage location of the nonvolatile memory that is designated by the first physical address; and

when the encrypted data is to be copied from the first physical storage location to a second physical storage location of the nonvolatile memory, decrypt the encrypted data using the first physical address and the first encryption key, select a second encryption key from the plurality of encryption keys, and re-encrypt the decrypted data using the selected second encryption key and a copy destination physical address indicative of the second physical storage location, and write the re-encrypted data to the second physical storage location.

2. The memory system of claim 1 , wherein the controller is further configured to:

manage correspondence between the plurality of encryption keys and a plurality of regions obtained by logically dividing the nonvolatile memory;

select an encryption key associated with a first region to which the first physical storage location belongs, as the first encryption key; and

select an encryption key associated with a second region to which the second physical storage location belongs, as the second encryption key.

3. The memory system of claim 1 , wherein

the nonvolatile memory includes a plurality of blocks, and

the controller is further configured to:

manage correspondence between the plurality of encryption keys and the plurality of blocks;

select an encryption key associated with a first block to which the first physical storage location belongs, as the first encryption key; and

select an encryption key associated with a second block to which the second physical storage location belongs, as the second encryption key.

4. The memory system of claim 1 , wherein

the controller is further configured to, in response to receiving, from the host, a copy request to designate the first physical address as a copy source physical address and to designate a second physical address as the copy destination physical address, execute an operation of decrypting the encrypted data using the first encryption key and the first physical address, an operation of re-encrypting the decrypted data using the second encryption key and the second physical address, and an operation of writing the re-encrypted data to the second physical storage location.

5. A memory system connectable to a host, comprising:

a nonvolatile memory including a plurality of blocks; and

a controller electrically connected to the nonvolatile memory and configured:

in response to receiving, from the host, a write request to designate a first physical address indicative of a first physical storage location in a first block of the nonvolatile memory to which data is to be written, select a first encryption key from a plurality of encryption keys, and encrypt the data using the first physical address and the selected first encryption key and write the encrypted data to the first physical storage location in the first block;

in response to receiving, from the host, a read request to designate the first physical address, read the encrypted data from the first block and decrypt the read encrypted data using the first physical address and the first encryption key; and

in response to receiving, from the host, a copy request to designate a copy source physical address indicative of the first physical storage location in the first block and a copy destination physical address indicative of a second physical storage location in a second block of the nonvolatile memory, read the encrypted data from the first block, decrypt the read encrypted data using the copy source physical address and the first encryption key, select a second encryption key from the plurality of encryption keys, and re-encrypt the decrypted data using the copy destination physical address and the selected second encryption key, and write the re-encrypted data to the second physical storage location in the second block.

6. The memory system of claim 5 , wherein the controller is further configured to:

manage correspondence between the plurality of encryption keys and a plurality of regions obtained by logically dividing the nonvolatile memory, each of the write request and the read request further designating an identifier indicative of one of the plurality of regions,

in response to receiving the write request, select an encryption key associated with a region indicated by the identifier designated by the write request, as the first encryption key,

in response to receiving the read request, select the encryption key associated with the region indicated by the identifier designated by the read request, as the first encryption key, and

in response to receiving the copy request, select an encryption key associated with a region to which the second block designated by the copy destination physical address belongs, as the second encryption key.

7. The memory system of claim 5 , wherein the controller is further configured to:

manage correspondence between the plurality of encryption keys and the plurality of blocks, the first physical address designated by each of the write request and the read request including a block address indicative of the first block and an in-block physical address indicative of the first physical storage location in the first block, the copy destination physical address including a block address indicative of the second block and an in-block physical address indicative of the second physical storage location in the second block;

in response to receiving the write request, select an encryption key associated with the first block as the first encryption key, based on the block address designated by the write request;

in response to receiving the read request, select the encryption key associated with the first block as the first encryption key, based on the block address designated by the read request; and

in response to receiving the copy request, select an encryption key associated with the second block as the second encryption key, based on the block address designated by the copy request.

8. A method of controlling a nonvolatile memory, the method comprising:

in response to receiving, from a host, a write request that specifies a first physical address, selecting a first encryption key from a plurality of encryption keys, and executing an operation of encrypting data using the first physical address and the selected first encryption key, and an operation of writing the encrypted data to a first physical storage location of the nonvolatile memory that is designated by the first physical address; and

when the encrypted data is to be copied from the first physical storage location to a second physical storage location of the nonvolatile memory, executing an operation of decrypting the encrypted data using the first physical address and the first encryption key, selecting a second encryption key from the plurality of encryption keys, and executing an operation of re-encrypting the decrypted data using the selected second encryption key and a copy destination physical address indicative of the second physical storage location, and an operation of writing the re-encrypted data to the second physical storage location.

9. The method of claim 8 , further comprising:

managing correspondence between the plurality of encryption keys and a plurality of regions obtained by logically dividing the nonvolatile memory;

selecting an encryption key associated with a first region to which the first physical storage location belongs, as the first encryption key; and

selecting an encryption key associated with a second region to which the second physical storage location belongs, as the second encryption key.

10. The method of claim 8 , wherein the nonvolatile memory includes a plurality of block, and

the method further comprises:

managing correspondence between the plurality of encryption keys and the plurality of blocks;

selecting an encryption key associated with a first block to which the first physical storage location belongs, as the first encryption key; and

selecting an encryption key associated with a second block to which the second physical storage location belongs, as the second encryption key.

11. The method of claim 8 , wherein

the operation of decrypting the encrypted data, the operation of re-encrypting the decrypted data, and the operation of writing the re-encrypted data to the second physical storage location are executed in response to receiving, from the host, a copy request to designate the first physical address as a copy source physical address and to designate a second physical address as the copy destination physical address.

Assignments (2)
CHANGE OF NAME AND ADDRESS Recorded Jan 31, 2022
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 058905/0582 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2019
From: KANNO, SHINICHI
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 048401/0583 →
Priority Claims (1)
JP JP2018-097907 · May 22, 2018 · national
Continuity (1)
Related Publication 20190361605A1 · Nov 28, 2019
Cited By (2)
US 12,436,680 US 12,481,558