IP Library Granted Patent US 10,162,749
Granted Patent B2
US 10,162,749 · App. 15/249,968 · Granted Dec 25, 2018

Storage system and information processing system for controlling nonvolatile memory

Inventor: Shinichi Kanno (Tokyo, JP)
Assignee: TOSHIBA MEMORY CORPORATION
G06F12/06G06F3/06G06F12/0246G11C29/82G06F2212/1016G06F2212/214G06F2212/7201G06F2212/7205G06F2212/7208G06F2212/7211
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,162,749
App. No.
15/249,968
Granted
Dec 25, 2018
Kind
B2
Abstract

According to one embodiment, a storage system includes a controller. The controller receives, from a host, a write command including a block address indicating a first block in a plurality of blocks, and a page address indicating a first page of the first block. The controller writes data designated by the write command to the first page of the first block. The controller notifies the host 2 of a page address indicating a latest readable page which is included in pages of the first block, the pages containing data which was written by the host before the designated data was written to the first page, the latest readable page having become readable by writing the designated data to the first page.

Claims (51)

1. A storage system comprising:

a nonvolatile memory including a plurality of blocks, each block including a plurality of pages, reading of data written to one page of the pages being enabled after data is written to one or more pages subsequent to the one page; and

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

receive, from a host, a write command including a block address indicating a first block in the blocks, and a page address indicating a first page of the first block;

write data designated by the write command to the first page of the first block, wherein the first block and the first page of the first block are designated by the block address and the page address in the write command; and

notify the host of a page address indicating a latest readable page which is included in pages of the first block, the pages containing data which was written by the host before the designated data was written to the first page, the latest readable page having become readable by writing the designated data to the first page, the latest readable page being different from the first page.

2. The storage system of claim 1 , wherein the controller is further configured to provide the host with a command completion response to the write command, the command completion response including the page address indicating the latest readable page which has become readable by writing of the data to the first page.

3. The storage system of claim 1 , wherein when another write command which includes a block address and does not include a page address is received from the host,

the controller is configured to:

issue a page address indicating a subsequent available page of the first block, in accordance with a write order of writing data from an initial page of the first block to a last page of the first block;

write data designated by the another write command to the subsequent available page in the first block; and

notify the host of a page address indicating a latest readable page which is included in pages of the first block, the pages containing data which was written by the host before the data designated by the another write command was written to the subsequent available page, the latest readable page having become readable by writing the designated data to the subsequent available page, the latest readable page being different from the subsequent available page.

4. The storage system of claim 3 , wherein the controller is further configured to provide the host with a command completion response to the another write command, the command completion response to the another write command including the page address indicating the latest readable page which has become readable by writing of the data to the subsequent available page, and the issued page address.

5. The storage system of claim 1 , wherein

the write command includes a parameter designating the number of pages;

the controller is further configured to:

determine whether the total number of pages of the first block, to which the host has written data, reaches a first page number designated by the parameter of the write command; and

notify the host of a determination result indicating whether the total number of pages reaches the first page number.

6. The storage system of claim 1 , wherein the controller is configured to:

determine whether writing of data to all pages of the first block is completed; and

notify the host of a determination result indicating whether the writing of data to all pages of the first block is completed.

7. The storage system of claim 1 , wherein the controller is configured to:

determine whether the write command satisfies a constraint associated with a write order of writing data from an initial page to a last page of the first block, based on the page address in the write command;

write, to the first page of the first block, data designated by the write command when the write command satisfies the constraint associated with the write order; and

notify the host of write order violation without writing data designated by the write command to the first page, when the write command does not satisfy the constraint associated with the write order.

8. A storage system comprising:

a nonvolatile memory including a plurality of blocks, each block including a plurality of pages; and

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

receive, from a host, a write command including a block address indicating a first block in the blocks, and a page address indicating a first page of the first block;

determine whether the write command satisfies a constraint associated with a write order of writing data from an initial page to a last page of the first block, based on the page address in the write command;

write, to the first page of the first block, data designated by the write command when the write command satisfies the constraint associated with the write order, wherein the first block and the first page of the first block are designated by the block address and the page address in the write command; and

notify the host of write order violation without writing data designated by the write command to the first page, when the write command does not satisfy the constraint associated with the write order.

9. The storage system of claim 8 , wherein the controller is further configured to notify the host of a command completion response including a return value indicating the write order violation, and a return value indicating an error, when the write command does not satisfy the constraint associated with the write order.

10. The storage system of claim 8 , wherein

the write command includes a parameter designating the number of pages; and

the controller is further configured to:

determine whether the total number of pages of the first block, to which the host has written data, reaches a first page number designated by the parameter of the write command; and

notify the host of a determination result indicating whether the total number of pages reaches the first page number.

11. The storage system of claim 8 , wherein the controller is further configured to:

determine whether data writes to all pages of the first block are completed; and

notify the host of a determination result indicating whether data writes to all pages of the first block are completed.

12. An information processing system including a storage system and a host,

wherein the storage system comprises:

a nonvolatile memory including a plurality of blocks, each block including a plurality of pages, reading of data written to one page of the pages being enabled after data is written to one or more pages subsequent to the one page; and

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

receive, from a host, a write command including a block address indicating a first block in the blocks, and a page address indicating a first page of the first block;

write data designated by the write command to the first page of the first block, wherein the first block and the first page of the first block are designated by the block address and the page address in the write command; and

notify the host of a page address indicating a latest readable page which is included in pages of the first block, the pages containing data which was written by the host before the designated data was written to the first page, the latest readable page having become readable by writing the designated data to the first page, the latest readable page being different from the first page,

wherein the host comprises:

a memory configured to temporarily store the data designated by the write command; and

a processor configured to maintain the designated data in the memory of the host until the designated data becomes readable from the nonvolatile memory.

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 Aug 22, 2017
From: KABUSHIKI KAISHA TOSHIBA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 043620/0798 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2016
From: KANNO, SHINICHI
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 039565/0337 →
Priority Claims (1)
JP 2016-044259 · Mar 8, 2016 · national
Continuity (1)
Related Publication 20170262365A1 · Sep 14, 2017