IP Library Granted Patent US 10,768,858
Granted Patent B2
US 10,768,858 · App. 16/004,601 · Granted Sep 8, 2020

Memory system and method for controlling nonvolatile memory

Inventors: Shinichi Kanno (Tokyo, JP); Hideki Yoshida (Yokohama Kanagawa, JP)
Assignee: Toshiba Memory Corporation
G06F3/0659G06F3/0604G06F3/064G06F3/0656G06F3/0679G06F3/0683
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,768,858
App. No.
16/004,601
Granted
Sep 8, 2020
Kind
B2
Abstract

According to one embodiment, a memory system receives, from a host, a write request including a first identifier associated with one write destination block and storage location information indicating a location in a write buffer on a memory of the host in which first data to be written is stored. When the first data is to be written to a nonvolatile memory, the memory system obtains the first data from the write buffer by transmitting a transfer request including the storage location information to the host, transfers the first data to the nonvolatile memory, and writes the first data to the one write destination block.

Claims (39)

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

a nonvolatile memory including a plurality of blocks; and

a controller electrically connected to the nonvolatile memory, and configured to manage a plurality of write destination blocks allocated from the plurality of blocks, wherein

the controller is configured to:

receive, from the host, a write request including a first identifier associated with one write destination block and storage location information indicating a location in a write buffer on a memory of the host in which first data to be written to the nonvolatile memory is stored, the write buffer including a plurality of write buffer regions corresponding respectively to the plurality of write destination blocks;

hold the first identifier and the storage location information included in the received write request;

obtain the first data from the write buffer by transmitting, to the host, a transfer request including the first identifier and the storage location information;

transfer the first data to the nonvolatile memory;

instruct the nonvolatile memory to write the first data to the one write destination block;

hold the first data until the transfer of the first data to the nonvolatile memory is finished; and

when the writing of the first data is finished, and further when the first data becomes readable from the nonvolatile memory, notify the host that the first data held in the write buffer is unnecessary.

2. The memory system of claim 1 , wherein

the writing of the first data is performed by a multi-step program operation including a plurality of transfers of the first data to the nonvolatile memory, and

every time each step of the multi-step program operation for transferring the first data is started, the controller is configured to obtain the first data from the write buffer by transmitting, to the host, the transfer request including the first identifier and the storage location information.

3. The memory system of claim 1 , wherein

when a read request to read the first data is received from the host in a period after the writing of the first data is started until the first data becomes readable, the controller is configured to transmit, to the host, a transfer request to return the first data from the write buffer as a response to the read request.

4. The memory system of claim 1 , wherein

when the one write destination block is fully filled with data, the controller is configured to notify the host that a write buffer region in the write buffer corresponding to the one write destination block is unnecessary.

5. The memory system of claim 1 , wherein the memory system is connected to the host via Ethernet.

6. The memory system of claim 1 , wherein the first identifier is a block identifier specifying a specific write destination block.

7. The memory system of claim 1 , wherein the write destination blocks are associated with a plurality of streams, respectively, and the first identifier is an identifier of one of the plurality of streams.

8. A method for controlling a nonvolatile memory, the nonvolatile memory including a plurality of blocks, the method comprising:

managing a plurality of write destination blocks allocated from the plurality of blocks;

receiving, from a host, a write request including a first identifier associated with one write destination block and storage location information indicating a location in a write buffer on a memory of the host in which first data to be written to the nonvolatile memory is stored, the write buffer including a plurality of write buffer regions corresponding respectively to the plurality of write destination blocks;

holding the first identifier and the storage location information included in the received write request;

obtaining the first data from the write buffer by transmitting, to the host, a transfer request including the first identifier and the storage location information;

transferring the first data to the nonvolatile memory;

instructing the nonvolatile memory to write the first data to the one write destination block;

holding the first data until the transfer of the first data to the nonvolatile memory is finished; and

when the writing of the first data is finished, and further when the first data becomes readable from the nonvolatile memory, notifying the host that the first data held in the write buffer is unnecessary.

9. The method of claim 8 , wherein

the writing of the first data is performed by a multi-step program operation including a plurality of transfers of the first data to the nonvolatile memory, and

the writing includes obtaining the first data from the write buffer by transmitting, to the host, the transfer request including the first identifier and the storage location information every time each step of the multi-step program operation for transferring the first data is started.

10. The method of claim 8 , further comprising

when a read request to read the first data is received from the host in a period after the writing of the first data is started until the first data becomes readable, transmitting, to the host, a transfer request to return the first data from the write buffer as a response to the read request.

11. The method of claim 8 , further comprising:

notifying the host that a write buffer region in the write buffer corresponding to the one write destination block is unnecessary when the one write destination block is fully filled with data.

12. The method of claim 8 , wherein the first identifier is a block identifier specifying a specific block.

13. The method of claim 8 , wherein the write destination blocks are associated with a plurality of streams, respectively, and the first identifier is an identifier of one of the plurality of streams.

Assignments (4)
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 055669/0401 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2018
From: KANNO, SHINICHI; YOSHIDA, HIDEKI
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 046041/0641 →
Priority Claims (1)
JP 2017-236269 · Dec 8, 2017 · national
Continuity (1)
Related Publication 20190179567A1 · Jun 13, 2019