IP Library Granted Patent US 10,509,572
Granted Patent B2
US 10,509,572 · App. 15/450,667 · Granted Dec 17, 2019

Storage device that carries out parallel operations in response to host commands and upon detection of an error condition in one operation, continues the other operation before notification of the error condition is transmitted to the host

Inventors: Yutaka Sugimori (Chigasaki Kanagawa, JP); Takamasa Hirata (Kodaira Tokyo, JP); Mitsuhiko Sugiyama (Yokosuka Kanagawa, JP); Masaaki Tamura (Chigasaki Kanagawa, JP)
Assignee: Toshiba Memory Corporation
G06F3/0619G06F3/0659G06F3/0679G06F11/0727G06F11/3034G06F11/3051G06F11/327
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,509,572
App. No.
15/450,667
Granted
Dec 17, 2019
Kind
B2
Abstract

A storage device includes a non-volatile storage, and a controller configured to carry out, in parallel, operations in response to a plurality of commands received from a host and queued in a command queue. When the controller detects an error in a first operation that is being carried out in response to a first command while the controller is in parallel carrying out a second operation in response to a second command, the controller continues to carry out the second operation until a predetermined condition is met while carrying out the second operation and, at that time when the predetermined condition is met, transmits an error event notification to the host.

Claims (41)

1. A storage device comprising:

a non-volatile storage; and

a controller configured to carry out, in parallel, operations in response to a plurality of commands received from a host and queued in a command queue, wherein

when the controller detects an error in a first operation that is being carried out in response to a first command while the controller is in parallel carrying out a second operation in response to a second command, the controller continues to carry out the second operation until a predetermined condition is met while carrying out the second operation and, at that time when the predetermined condition is met, transmits an error event notification to the host, and

in a time period between detecting the error and transmitting the error event notification to the host, the controller rejects receipt of new commands from the host.

2. The storage device according to claim 1 , wherein

after transmitting the error event notification to the host, the controller accepts a limited number of new commands from the host.

3. The storage device according to claim 2 , wherein

even after transmitting the error event notification to the host, the controller is not limited in receiving new commands from other hosts.

4. The storage device according to claim 1 , wherein the predetermined condition is detecting an error in the second operation.

5. The storage device according to claim 1 , wherein the predetermined condition is a completion of the second command.

6. The storage device according to claim 1 , further comprising:

a data buffer, in which the controller temporarily stores data read from the non-volatile storage in response to a read command, wherein

when the second command includes a read command, the predetermined condition is the transmission of some of the read data stored in the data buffer to the host.

7. The storage device according to claim 1 , further comprising:

a data buffer, in which the controller temporarily stores data read from the non-volatile storage in response to a read command, wherein

when the second command includes a read command, the predetermined condition is the transmission of all of the read data stored in the data buffer to the host.

8. The storage device according to claim 7 , wherein

the controller is further configured to erase all of the read data stored in the data buffer that have been transmitted to the host.

9. The storage device according to claim 1 , wherein

when the second command includes a write command, the predetermined condition is a reception of all write data associated with the write command.

10. A storage device comprising:

a non-volatile storage; and

a controller configured to carry out, in parallel, operations with respect to the non-volatile storage in accordance with a plurality of commands that is received from a host and queued in a command queue, wherein

when the controller detects an error in a first operation that is being carried out in response to a first command while the controller is in parallel carrying out a second operation in response to a second command, the controller defers transmitting an error event notification for the error in the first operation, and then

when the controller detects an error in the second operation while deferring the transmission of the error event notification for the error in the first operation, the controller, responsive to said detecting, transmits the error event notification for the error in the first operation and an error notification for the error in the second operation and enters into an error processing state.

11. The storage device according to claim 10 , wherein the controller continues to carry out the second operation but not the first operation while the transmission of the error event notification for the error in the first operation is deferred.

12. The storage device according to claim 11 , wherein

the controller accepts no new commands from the host while the transmission of the error event notification for the error in the first operation is deferred.

13. A method of controlling a storage device having a non-volatile storage, comprising:

carrying out, in parallel, operations in response to a plurality of commands received from a host and queued in a command queue;

when an error is detected in a first operation that is being carried out in response to a first command while a second operation is carried out in parallel in response to a second command, continuing to carry out the second operation until a predetermined condition is met while carrying out the second operation and, at that time when the predetermined condition is met, transmitting an error event notification to the host; and

in a time period between detecting the error and transmitting the error event notification to the host, rejecting receipt of new commands from the host.

14. The method according to claim 13 , further comprising:

after transmitting the error event notification to the host, accepting a limited number of new commands from the host.

15. The method according to claim 14 , wherein

in the second state, acceptance of new commands from other hosts is not limited.

16. The method according to claim 13 , wherein the predetermined condition is detecting an error in the second operation.

17. The method according to claim 13 , wherein the predetermined condition is a completion of the second command.

18. The method according to claim 13 , wherein

when the second command includes a write command, the predetermined condition is a reception of all write data associated with the write command.

Assignments (5)
MERGER Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: K.K. PANGEA
Reel/Frame 055659/0471 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 055669/0001 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 055669/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2017
From: KABUSHIKI KAISHA TOSHIBA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 043194/0647 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2017
From: SUGIMORI, YUTAKA; HIRATA, TAKAMASA; SUGIYAMA, MITSUHIKO; TAMURA, MASAAKI
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 042237/0596 →
Priority Claims (1)
JP 2016-044846 · Mar 8, 2016 · national
Continuity (1)
Related Publication 20170262205A1 · Sep 14, 2017