# US 2018/0024779 A1 · Storage device and storage control method

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0024779 A1
- Document ID: US20180024779A1
- Status: Published application
- Kind: A1
- Application number: 15/658,316
- Filed: 2017-07-24
- Published: 2018-01-25
- Earliest claimed: 2016-07-25
- Assignees: Toshiba Memory Corporation
- Applicants: Toshiba Memory Corporation
- Inventors: Yoshihisa KOJIMA
- Web page: https://patentgrep.com/patent/US20180024779A1

## CPC

- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 12/109: for multiple virtual address spaces, e.g. segmentation (G06F12/1036 takes precedence)
- G06F 12/00: Accessing, addressing or allocating within memory systems or architectures (digital input from, or digital output to record carriers, e.g. to disk storage units, G06F3/06)
- G06F 2212/1016: Performance improvement
- G06F 2212/1041: Resource optimization
- G06F 2212/608: Details relating to cache mapping
- G06F 2212/657: Virtual address space management
- G06F 2212/7201: Logical to physical mapping or translation of blocks or pages
- G06F 2212/7205: Cleaning, compaction, garbage collection, erase control
- G06F 2212/7208: Multiple device management, e.g. distributing data over multiple flash devices
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A storage device includes a nonvolatile semiconductor memory and a controller. The nonvolatile semiconductor memory includes a first region and a second region. The controller classifies a plurality of read requests for reading data from the nonvolatile semiconductor memory into first read requests for reading data from the first region and second read requests for reading data from the second region, pairs one of the first read requests with one of the second read requests to generate a third read request, and outputs the third read request to the nonvolatile semiconductor memory.

## Claims

### Claim 1

A storage device, comprising:
a nonvolatile semiconductor memory having a first region and a second region; and
a controller configured to classify a plurality of read requests for reading data from the nonvolatile semiconductor memory into first read requests for reading data from the first region and second read requests for reading data from the second region, wherein
the controller is configured to pair one of the first read requests with one of the second read requests to generate a third read request, and output the third read request to the nonvolatile semiconductor memory.

### Claim 2 (depends on 1)

The storage device according to claim 1, wherein the nonvolatile semiconductor memory performs a read operation in the first region in parallel with a read operation in the second region in response to the third read request.

### Claim 3 (depends on 2)

The storage device according to claim 2, wherein the first region includes a first plane of memory cells and the second region includes a second plane of memory cells, and the third read request is a multi-plane read request.

### Claim 4 (depends on 1)

The storage device according to claim 1, further comprising:
an interface through which a plurality of commands for accessing the nonvolatile semiconductor memory is received from a host device, wherein
the controller is configured to generate the first read requests and the second read requests based on the plurality of commands received through the interface, and to store first read requests in a first queue and to store the second read requests in a second queue.

### Claim 5 (depends on 1)

The storage device according to claim 1, wherein the controller is configured to:
determine a read time for each of the plurality of read requests and further classify the plurality of read requests based on the determined read times, and to pair one of the first read requests and one of the second read requests based on the determined read times.

### Claim 6 (depends on 5)

The storage device according to claim 5, wherein
the controller is configured to store the first read requests in first and second queues according to the determined read times for the first read requests and to store the second read requests in third and fourth queues according to the determined read times for the second read requests, wherein:
the first read requests for which the determined read time is less than a first time are stored in the first queue;
the first read requests for which the determined read time is equal to or more than the first time are stored in the second queue;
the second read requests for which the determined read time is less than the first time are stored in the third queue; and
the second read requests for which the determined read time is equal to or more than the first time are stored in the fourth queue.

### Claim 7 (depends on 6)

The storage device according to claim 6, wherein the third request includes either one of the first read requests in the first queue and one of the second read requests in the third queue, or one of the first read requests in the second queue and one of the second read requests in the fourth queue.

### Claim 8 (depends on 5)

The storage device according to claim 5, wherein
the controller is configured to determine the read time based on a recording scheme for memory cells of the nonvolatile semiconductor memory from which data are read based on the first read requests or the second read requests.

### Claim 9 (depends on 8)

The storage device according to claim 8, wherein the recording scheme for memory cells includes a single-level cell recording scheme and a multi-level cell recording scheme.

### Claim 10 (depends on 8)

The storage device according to claim 8, wherein the recording scheme for memory cells includes a multi-level cell recording scheme that employs a first coding and a multi-level cell recording scheme that employs a second coding.

### Claim 11 (depends on 5)

The storage device according to claim 5,
wherein the controller is configured to determine the read time based on a page address of data that is read based on the first read requests or the second read requests.

### Claim 12 (depends on 1)

The storage device according to claim 1, wherein
the nonvolatile semiconductor memory stores an address conversion table that is used to convert a logical address into a physical address of the nonvolatile semiconductor memory, and
the controller is configured to generate a table read request for reading a portion of the address conversion table from the nonvolatile semiconductor memory, and the table read request is one of the read requests that are classified as one of the first and second read requests.

### Claim 13 (depends on 12)

The storage device according to claim 12, wherein
the controller is configured to generate the table read request based on a read command received from a host device, and a user data read request for reading user data from the nonvolatile semiconductor memory based on the read command, and
the third read request includes the table read request and the user data read request.

### Claim 14 (depends on 1)

The storage device according to claim 1, wherein
the nonvolatile semiconductor memory stores an address conversion table that is used to convert a logical address into a physical address of the nonvolatile semiconductor memory, and
the controller is configured to generate table read requests for reading portions of the address conversion table from the nonvolatile semiconductor memory, and each of the table read requests is one of the read requests that are classified as one of the first and second read requests, generate a first user data read request for reading user data from the nonvolatile semiconductor memory and a second user data read request, which is different from the first user data read request, for reading user data from the nonvolatile semiconductor memory, based on one or more read commands received from a host device, and to pair the table read requests to generate the third read request in preference to pairing the first and second user data read requests to generate the third read request.

### Claim 15 (depends on 1)

The storage device according to claim 1, wherein
the controller is further configured to generate an address resolution request for converting a logical address of data stored in the nonvolatile semiconductor memory into a first physical address, and determine whether or not the data stored in the nonvolatile semiconductor memory is valid based on the first physical address and a second physical address read from a log that describes a correspondence between logical addresses and physical addresses of data stored in the nonvolatile semiconductor memory.

### Claim 16

A storage device, comprising:
a nonvolatile semiconductor memory having a first region and a second region, and storing an address conversion table that is used to convert logical addresses into physical addresses of the nonvolatile semiconductor memory; and
a controller configured to store user data in a buffer memory in response to a write command associated with a logical address and user data, received from a host, and notify the host of completion of the write command, wherein
subsequent to notifying the host of completion of the write command, the controller writes the user data stored in the buffer memory into the nonvolatile semiconductor memory at a physical address, and generates an address update request for updating a correspondence relationship between the logical address and the physical address for the user data, and
the controller generates table read requests for reading portions of the address conversion table from the nonvolatile semiconductor memory in response to one or more address update requests, classifies the table read requests as first requests for reading data from the first region and second read requests for reading data from the second region, pairs one of the first read requests with one of the second read requests to generate a third read request, and outputs the third read request to the nonvolatile semiconductor memory.

### Claim 17 (depends on 16)

The storage device according to claim 16, further comprising:
a second memory, wherein the controller is further configured to:
cache a portion of the address conversion table in the second memory, and
update the cached portion of the address conversion table in the second memory based on the address conversion table that is read from the nonvolatile semiconductor memory in response to the third read request.

### Claim 18 (depends on 16)

The storage device according to claim 16, wherein the controller is configured to:
copy valid data in a first block of the nonvolatile semiconductor memory to a second block of the nonvolatile semiconductor memory and generate a first address update request to update the address conversion table to invalidate the data of the first block, and
generate a second address update request for updating a correspondence relationship between the logical addresses and the physical addresses of the valid data moved to the second block, wherein
the one or more address update requests include the first address update request and the second address update request.

### Claim 19 (depends on 16)

The storage device according to claim 16, wherein the controller is configured to:
generate a third address update request for updating the correspondence relationship between a logical address and a physical address of the nonvolatile semiconductor memory, the logical address being included in an UNMAP command received from the host , wherein
the one or more address update requests include the third address update request.

### Claim 20

A storage control method, comprising:
generating a plurality of read requests for reading data from a nonvolatile semiconductor memory that includes a first region and a second region;
classifying the plurality of read requests into first read requests for reading data from the first region and second read requests for reading data from the second region;
pairing one of the first read requests with one of the second read requests to generate a third read request; and
outputting the third read request to the nonvolatile semiconductor memory, in response to which the nonvolatile semiconductor memory performs a read operation in the first region in parallel with a read operation in the second region.
