IP Library Granted Patent US 10,585,590
Granted Patent B2
US 10,585,590 · App. 16/126,084 · Granted Mar 10, 2020

Electronic device, computer system, and control method

Inventors: Tetsuya Sunata (Yokohama, JP); Daisuke Iwai (Yokohama, JP); Kenichiro Yoshii (Bunkyo, JP)
Assignee: Toshiba Memory Corporation
G06F3/0608G06F3/064G06F3/0658G06F3/0679G06F12/0246G06F2212/1044G06F2212/2022
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,585,590
App. No.
16/126,084
Granted
Mar 10, 2020
Kind
B2
Abstract

According to one embodiment, an electronic device includes a nonvolatile memory that includes blocks and a controller. The controller transmits information to the host. The information indicates a first logical address range corresponding to cold data stored in the nonvolatile memory, and a processing amount for turning a cold block that comprises the cold data into a block to which data is writable. The controller reads the cold data from the nonvolatile memory in accordance with a read command that is received from the host and designates the first logical address range, and transmits the read cold data to the host. The controller writes, to the nonvolatile memory, the cold data that is received with a write command designating the first logical address range from the host.

Claims (90)

1. An electronic device connectable to a host via an interface, the electronic device comprising:

a nonvolatile memory that includes blocks; and

a controller electrically connected to the nonvolatile memory, wherein

when the electronic device is connected to the host, the controller is configured to:

transmit information to the host, wherein the information indicates a first logical address range corresponding to cold data stored in the nonvolatile memory, and a processing amount for turning a cold block that comprises the cold data into a block to which data is writable;

read the cold data from the nonvolatile memory in accordance with a read command that is received from the host and designates the first logical address range, and transmit the read cold data to the host; and

write, to the nonvolatile memory, the cold data that is received with a write command designating the first logical address range from the host.

2. The electronic device of claim 1 , wherein

the controller is configured to:

transmit, to the host, information that indicates the first logical address range corresponding to a first physical memory area in the nonvolatile memory, in response to an inquiry received from the host when the cold data is stored in the first physical memory;

read the cold data from the nonvolatile memory in accordance with a read command that is received from the host and designates the first logical address range, and transmit the read cold data to the host; and

write, to a second physical memory area in the nonvolatile memory, the cold data that is received with a write command designating the first logical address range from the host.

3. The electronic device of claim 1 , wherein the first logical address range is specified by a starting logical address of the first logical address range, and a number of logical blocks included in the first logical address range.

4. The electronic device of claim 1 , wherein an access frequency to the first logical address range is lower than a threshold.

5. The electronic device of claim 1 , wherein

the cold block is a block erased a number of times smaller than a threshold, or a block of which an erasing sequence number is smaller than a particular number, and

the cold data is valid data in the cold block.

6. The electronic device of claim 1 , wherein

when the electronic device is connected to the host, the controller is further configured to:

transmit, to the host, information that indicates a processing amount for turning one or more cold blocks in the nonvolatile memory into one or more blocks to which data is writable, in response to an inquiry received from the host; and

execute a process for turning the one or more cold blocks into one or more blocks to which data is writable in response to a request received from the host.

7. The electronic device of claim 1 , wherein

when the electronic device is connected to the host, the controller is further configured to transmit to second information to the host when invalid data amount included in one or more cold blocks in the nonvolatile memory exceeds a threshold, wherein the second information indicates that the invalid data amount exceeds the threshold or performing a process for turning the one or more cold blocks into one or more blocks to which data is writable is needed.

8. The electronic device of claim 1 , wherein the write command comprises information that indicates that data to be written is cold data.

9. The electronic device of claim 1 , wherein

when the electronic device is connected to the host, the controller is further configured to:

read second data from the nonvolatile memory in accordance with a read command that is received from the host and designates the second logical address range, and transmit the read second data to the host, the second logical address range comprising the first logical address range and one or more logical addresses preceding or following the first logical address range; and

write, to the nonvolatile memory, the second data received with a write command designating the second logical address range from the host.

10. The electronic device of claim 1 , wherein

when the electronic device is connected to the host, the controller is further configured to:

transmit, to the host, information that indicates a third logical address range corresponding to third data and a processing amount for turning a block comprising the third data into a block to which data is writable, wherein the third data is stored in the nonvolatile memory and is to be moved for data retention;

read the third data from the nonvolatile memory in accordance with a read command that is received from the host and designates the third logical address range, and transmit the read third data to the host; and

write, to the nonvolatile memory, the third data that is received with a write command designating the third logical address range from the host.

11. The electronic device of claim 1 , wherein

when the electronic device is connected to the host, the controller is further configured to:

read the cold data from the nonvolatile memory;

issue, to a second electronic device, a write command for writing the read cold data that designates the first logical address range;

invalidate the cold data stored in the nonvolatile memory when the cold data is written to a second nonvolatile memory in the second electronic device in accordance with the issued write command; and

notify the host that the cold data corresponding to the first logical address range is stored in the second electronic device.

12. An electronic device comprising:

a memory; and

a processor configured to execute a program stored in the memory, wherein

the processor is configured to:

receive information from a storage device that comprises a nonvolatile memory comprising blocks, wherein the information that indicates a first logical address range corresponding to cold data stored in the nonvolatile memory, and a processing amount for turning a cold block comprising the cold data into a block to which data is writable;

issue a read command designating the first logical address range to the storage device, and receive the cold data from the storage device; and

issue, to the storage device, a write command for writing of the received cold data that designates the first logical address range.

13. The electronic device of claim 12 , wherein the processor is configured to:

determine whether a current time is a time for executing a process for turning the cold block into a block to which data is writable based on the processing amount, an access frequency to the storage device, a period in which a resource of the electronic device is in a busy state, and/or an amount of processes under execution by the processor; and

when the current time is the time for executing the process for turning the cold block into a block to which data is writable,

issue a read command designating the first logical address range to the storage device, and receive the cold data from the storage device, and

issue, to the storage device, a write command for writing the received cold data that designates the first logical address range.

14. The electronic device of claim 12 , wherein the first logical address range is specified by a starting logical address of the first logical address range, and a number of logical blocks included in the first logical address range.

15. A computer system comprising:

a storage device; and

a host, wherein

the storage device comprises:

a nonvolatile memory comprising blocks; and

a controller electrically connected to the nonvolatile memory,

the host comprises:

a memory; and

a processor configured to execute a program stored in the memory,

the controller is configured to:

transmit information to the host, wherein the information that indicates a first logical address range corresponding to cold data stored in the nonvolatile memory, and a processing amount for turning a cold block that comprises the cold data into a block to which data is writable;

read the cold data from the nonvolatile memory in accordance with a read command that is received from the host and designates the first logical address range, and transmit the cold data to the host; and

write, to the nonvolatile memory, the cold data received with a write command designating the first logical address range from the host, and

the processor is configured to:

receive the information;

issue, to the storage device, a read command that designates the first logical address range, and receive the cold data from the storage device; and

issue, to the storage device, a write command for writing the received cold data that designates the first logical address range.

16. The computer system of claim 15 , wherein the processor is configured to:

determine whether a current time is a time for executing a process for turning the cold block into a block to which data is writable based on the processing amount, an access frequency to the storage device, a period in which a resource of the host is in a busy state, and/or an amount of processes under execution by the processor; and

in a case where the current time is the time for executing the process for turning the cold block into a block to which data is writable,

issue, to the storage device, a read command that designates the first logical address range, and receive the cold data from the storage device, and

issue, to the storage device, a write command for writing the received cold data that designates the first logical address range.

17. The computer system of claim 15 , wherein the first logical address range is specified by a starting logical address of the first logical address range, and a number of logical blocks included in the first logical address range.

18. A control method of an electronic device that comprises a nonvolatile memory comprising blocks, the method comprising:

transmitting information to a host, wherein the information indicates a logical address range corresponding to cold data stored in the nonvolatile memory, and information that indicates a processing amount for turning a cold block that comprises the cold data into a block to which data is writable;

reading the cold data from the nonvolatile memory in accordance with a read command that is received from the host and designates the logical address range, and transmitting the read cold data to the host; and

writing, to the nonvolatile memory, the cold data that is received with a write command designating the logical address range from the host.

19. A control method comprising:

receiving information from a storage device that comprises a nonvolatile memory comprising blocks, wherein the information that indicates a logical address range corresponding to cold data stored in the nonvolatile memory, and information that indicates a processing amount for turning a cold block that comprises the cold data into a block to which data is writable;

issuing a read command designating the logical address range to the storage device;

receiving the cold data from the storage device; and

issuing, to the storage device, a write command for writing the received cold data that designates the logical address range.

20. A control method of a computer system that comprises a host and a storage device that comprises a nonvolatile memory comprising blocks, the method comprising:

transmitting information from the storage device to the host, wherein the information that indicates a logical address range corresponding to cold data stored in the nonvolatile memory, and a processing amount for turning a cold block that comprises the cold data into a block to which data is writable;

transmitting a read command designating the logical address range from the host to the storage device;

transmitting, to the host, the cold data read from the nonvolatile memory in accordance with the read command; and

transmitting a write command designating the logical address range from the host to the storage device; and

writing, to the nonvolatile memory, the cold data received with the write command.

Assignments (2)
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 055669/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2018
From: SUNATA, TETSUYA; IWAI, DAISUKE; YOSHII, KENICHIRO
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 046826/0542 →
Priority Claims (1)
JP 2018-058610 · Mar 26, 2018 · national
Continuity (1)
Related Publication 20190294341A1 · Sep 26, 2019
Cited By (1)
US 12,650,935