IP Library Granted Patent US 10,223,037
Granted Patent B2
US 10,223,037 · App. 15/051,847 · Granted Mar 5, 2019

Memory device including controller for controlling data writing using writing order confirmation request

Inventors: Tatsunori Kanai (Yokohama, JP); Tetsuro Kimura (Tama, JP); Masaya Tarui (Yokohama, JP); Yusuke Shirota (Yokohama, JP); Shiyo Yoshimura (Kawasaki, JP)
Assignee: TOSHIBA MEMORY CORPORATION
G06F3/0679G06F3/064G06F3/0619
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,223,037
App. No.
15/051,847
Granted
Mar 5, 2019
Kind
B2
Abstract

According to an embodiment, a memory device includes a nonvolatile memory and a controller. The controller receives, from a host device, a write request for writing data in the nonvolatile memory, and then performs data writing based on the write request. When a writing order confirmation request, which is issued for confirmation of fact that data writing is performed based on one or more of the write requests that are already sent, is received from the host device, the controller performs data writing based on the write requests received before receiving the writing order confirmation request and then sends to the host device a response with respect to the writing order confirmation request.

Claims (44)

1. A memory device external to a host device, the memory device comprising:

a nonvolatile memory; and

a controller that manages a write request with respect to the nonvolatile memory in a state that allows confirmation of order of receipt from the host device and that performs data writing with respect to the nonvolatile memory based on the write request managed, wherein

the write request is either a non-posted write request, which requests a response with respect to the write request to be sent to the host device after data writing based on the write request is performed, or a posted write request, which does not request a response with respect to the write request to be sent to the host device after data writing based on the write request is performed, and

the non-posted write request is stored at a position in a storage area in the controller;

the controller restores the non-posted write request at the position after data writing based upon the non-posted write request;

the controller performs data writing based on the posted write request received before receiving the non-posted write request; and

the controller sends to the host device a response with respect to the non-posted write request.

2. The device according to claim 1 , wherein

the controller retrieves the non-posted write request.

3. The device according to claim 1 , wherein the controller

retrieves the non-posted write request including first flag information indicating that data writing is not performed;

performs the data writing based on the non-posted write request;

associates the non-posted write request with second flag information indicating that data writing is performed; and

stores the non-posted write request with the second flag information at the position in the storage area.

4. The device according to claim 1 , wherein when the non-posted write request is received from the host device, the controller performs data writing based on the non-posted write request followed by data writing based on every posted write request received before receiving the non-posted write request, and then sends to the host device a response with respect to the non-posted write request.

5. The device according to claim 3 , wherein when the non-posted write request associated with the second flag information is stored in the storage area and when every request received before receiving the non-posted write request associated with the second flag information is a read request, the controller retrieves the non-posted write request associated with the second flag information from the storage area and sends a response with respect to the retrieved write request to the host device.

6. The device according to claim 3 , wherein when the posted write request or the non-posted write request that is not associated with the second flag information is stored in the storage area as the request received before receiving the non-posted write request associated with the second flag information, the controller retrieves the posted write request or the non-posted write request that is not associated with the second flag information from the storage area and performs processing according to the retrieved request.

7. The device according to claim 6 , wherein the controller retrieves, from among the posted write request or the non-posted write request that is not associated with the second flag information stored in the storage area, whichever is received earliest.

8. The device according to claim 6 , wherein when the controller retrieves the non-posted write request that is not associated with the second flag information from the storage area, the controller performs data writing based on the retrieved non-posted write request, associates the non-posted write request with the second flag information, and stores the non-posted write request at the position in the storage area.

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

managing a write request with respect to the nonvolatile memory in a state that allows confirmation of order of receipt from a host device and that performs data writing with respect to the nonvolatile memory based on the write request managed, the write request being either a non-posted write request or a posted write request, the non-posted write request requesting a response with respect to the write request to be sent to the host device after data writing based on the write request is performed, the posted write request not requesting a response with respect to the write request to be sent to the host device after data writing based on the write request is performed;

storing the non-posted write request at a position in a storage area;

restoring the non-posted write request at the position after data writing based upon the non-posted write request;

performing data writing based on the posted write request received before receiving the non-posted write request; and

sending to the host device a response with respect to the non-posted write request.

10. The method according to claim 9 , wherein the storage area is in a controller that controls the nonvolatile memory.

11. The method according to claim 9 , further comprising retrieving the non-posted write request.

12. The method according to claim 9 , further comprising

retrieving the non-posted write request including first flag information indicating that data writing is not performed;

performing the data writing based on the non-posted write request;

associating the non-posted write request with second flag information indicating that data writing is performed; and

storing the non-posted write request with the second flag information at the position in the storage area.

13. The method according to claim 9 , further comprising

when the non-posted write request is received from the host device, performing data writing based on the non-posted write request followed by data writing based on every posted write request received before receiving the non-posted write request, and then sending to the host device a response with respect to the non-posted write request.

14. The method according to claim 12 , further comprising

when the non-posted write request associated with the second flag information is stored in the storage area and when every request received before receiving the non-posted write request associated with the second flag information is a read request, retrieving the non-posted write request associated with the second flag information from the storage area and sending a response with respect to the retrieved write request to the host device.

15. The method according to claim 12 , further comprising when the posted write request or the non-posted write request that is not associated with the second flag information is stored in the storage area as the request received before receiving the non-posted write request associated with the second flag information, retrieving the posted write request or the non-posted write request that is not associated with the second flag information from the storage area and performing processing according to the retrieved request.

16. The method according to claim 15 , wherein the retrieving includes retrieving, from among the posted write request or the non-posted write request that is not associated with the second flag information stored in the storage area, whichever is received earliest.

17. The method according to claim 15 , further comprising

when the non-posted write request that is not associated with the second flag information is retrieved from the storage area at the retrieving,

performing data writing based on the retrieved non-posted write request;

associating the non-posted write request with the second flag information; and

storing the non-posted write request at the position in the storage area.

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 Jun 27, 2017
From: KABUSHIKI KAISHA TOSHIBA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 042823/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2016
From: KANAI, TATSUNORI; KIMURA, TETSURO; TARUI, MASAYA; SHIROTA, YUSUKE; YOSHIMURA, SHIYO
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 037811/0807 →
Priority Claims (1)
JP 2015-059768 · Mar 23, 2015 · national
Continuity (1)
Related Publication 20160283157A1 · Sep 29, 2016