IP Library Granted Patent US 12,449,980
Granted Patent B2
US 12,449,980 · App. 18/619,262 · Granted Oct 21, 2025

Storage device and storage system

Inventors: Shinichi Kanno (Ota, JP); Kensaku Yamaguchi (Kawasaki, JP); Takehiko Kurashige (Ome, JP); Yuki Sasaki (Kamakura, JP)
Assignee: Kioxia Corporation
G06F3/0613G06F3/0659G06F3/0679
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 12,449,980
App. No.
18/619,262
Granted
Oct 21, 2025
Kind
B2
Abstract

According to one embodiment, in response to receiving, from a host, one or more second type commands, a controller of the storage device maintains the received one or more second type commands in a memory region in the storage device without completing processing of the received one or more second type commands. In response to receiving the first type command from the host, the controller completes processing of a second type command, and transmits a command completion response for the first type command to the host as a first preceding response for the first type command. In response to completion of processing of the first type command, the controller transmits a command completion response for the first type command to the host.

Claims (91)

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

a nonvolatile memory; and

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

receive a second command from the host;

in response to receiving a first command from the host after receiving the second command, the first command specifying a first tag,

generate a second completion response that includes the first tag specified in the first command;

transmit the second completion response as a completion response for the second command;

execute processing requested by the first command;

generate a first completion response; and

transmit the first completion response as a completion response for the first command.

2. The memory system according to claim 1 , wherein

the first command is a write command, and

the controller is further configured to:

determine a physical address of the nonvolatile memory to which write data is to be written in the processing requested by the first command; and

generate the second completion response that further includes the physical address.

3. The memory system according to claim 2 , wherein

the first command further specifies a resource identifier, and

the controller is configured to:

determine the physical address of the nonvolatile memory within a resource of the nonvolatile memory that corresponds to the resource identifier specified in the first command.

4. The memory system according to claim 1 , wherein

the first command is a write command that specifies the first tag as a logical address of write data, and

the controller is configured to generate the second completion response that includes the first tag as the logical address.

5. The memory system according to claim 1 , wherein

the controller is configured to generate the second completion response that further includes an identifier to identify the first command.

6. The memory system according to claim 1 , wherein

the host includes a memory,

the second command specifies a first region of the memory, and

the controller is further configured to:

generate first information relating to the processing requested by the first command; and

transmit the first information to the host such that the first information is stored in the first region of the memory.

7. The memory system according to claim 6 , wherein

the first command is a write command, and

the controller is further configured to:

determine a physical address of the nonvolatile memory to which write data is to be written in the processing requested by the first command; and

generate the first information that includes the physical address.

8. The memory system according to claim 6 , wherein

the second command is a read command,

the first region is included in a read buffer in the memory, and

the controller is further configured to transmit a memory write request to store the first information in the first region in the read buffer of the memory.

9. The memory system according to claim 1 , wherein

the controller is further configured to:

receive a plurality of the second commands, each of the plurality of the second commands specifies a second identifier;

store the plurality of the second commands in a pool; and

in response to receiving the first command that further specifies a first identifier, search the pool for one of the plurality of the second commands which specifies the second identifier identical to the first identifier specified in the first command.

10. The memory system according to claim 9 , wherein

the controller is further configured to:

in a case where the pool does not store any of the plurality of the second commands which specifies the second identifier identical to the first identifier specified in the first command, complete the first command as an error.

11. A method of controlling a nonvolatile memory, comprising:

receiving a second command from a host;

in response to receiving a first command from the host after receiving the second command, the first command specifying a first tag,

generating a second completion response that includes the first tag specified in the first command;

transmitting the second completion response as a completion response for the second command;

executing processing requested by the first command;

generating a first completion response; and

transmitting the first completion response as a completion response for the first command.

12. The method according to claim 11 , wherein

the first command is a write command, and

the method further comprises:

determining a physical address of the nonvolatile memory to which write data is to be written in the processing requested by the first command; and

generating the second completion response that further includes the physical address.

13. The method according to claim 12 , wherein

the first command further specifies a resource identifier, and

the physical address of the nonvolatile memory is determined within a resource of the nonvolatile memory that corresponds to the resource identifier specified in the first command.

14. The method according to claim 11 , wherein

the first command is a write command that specifies the first tag as a logical address of write data, and

the second completion response is generated to include the first tag as the logical address.

15. The method according to claim 11 , wherein

the second completion response is generated to further include an identifier to identify the first command.

16. The method according to claim 11 , wherein

the host includes a memory,

the second command specifies a first region of the memory, and

the method further comprises:

generating first information relating to the processing requested by the first command; and

transmitting the first information to the host such that the first information is stored in the first region of the memory.

17. The method according to claim 16 , wherein

the first command is a write command, and

the method further comprises:

determining a physical address of the nonvolatile memory to which write data is to be written in the processing requested by the first command; and

generating the first information that includes the physical address.

18. The method according to claim 16 , wherein

the second command is a read command,

the first region is included in a read buffer in the memory, and

the method further comprises:

transmitting a memory write request to store the first information in the first region in the read buffer of the memory.

19. The method according to claim 11 , further comprising:

receiving a plurality of the second commands, each of the plurality of the second commands specifies a second identifier;

storing the plurality of the second commands in a pool; and

in response to receiving the first command that further specifies a first identifier, searching the pool for one of the plurality of the second commands which specifies the second identifier identical to the first identifier specified in the first command.

20. The method according to claim 19 , further comprising:

determining that the pool does not store any of the plurality of the second commands which specifies the second identifier identical to the first identifier specified in the first command; and

in response to the determination, completing the first command as an error.

Priority Claims (1)
JP 2022-008613 · Jan 24, 2022 · national
Continuity (2)
Continuation 17931363 · Sep 12, 2022
Related Publication 20240241644A1 · Jul 18, 2024
References Cited (12)
US 5412803A · Bartow · 1995 [cited by applicant]
US 10705974B2 · Qiu et al. · 2020 [cited by applicant]
US 11599464B2 · Kim · 2023 [cited by examiner]
US 20160132237A1 · Jeong · 2016 [cited by examiner]
US 20160342545A1 · Arai · 2016 [cited by applicant]
US 20180335975A1 · Cosby et al. · 2018 [cited by applicant]
US 20200050402A1 · Furey et al. · 2020 [cited by applicant]
US 20210405885A1 · Kim · 2021 [cited by examiner]
US 20220269605A1 · Kim · 2022 [cited by examiner]
US 20230153013A1 · Watanabe · 2023 [cited by examiner]
US 20240036731A1 · Lee · 2024 [cited by examiner]
US 20240419359A1 · Nagai · 2024 [cited by examiner]