IP Library Granted Patent US 11,237,764
Granted Patent B2
US 11,237,764 · App. 16/850,508 · Granted Feb 1, 2022

Storage system, information processing system and method for controlling nonvolatile memory

Inventor: Shinichi Kanno (Tokyo, JP)
Assignee: TOSHIBA MEMORY CORPORATION
G06F3/0659G06F3/0604G06F3/0608G06F3/0616G06F3/0631G06F3/0652G06F3/0679G06F3/0688G11C16/10G11C16/16G11C16/26G11C16/3495
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 11,237,764
App. No.
16/850,508
Granted
Feb 1, 2022
Kind
B2
Abstract

According to one embodiment, a storage system performs a first allocation operation of allocating, for a first namespace, a plurality of first blocks included in the blocks of a nonvolatile memory. The storage system performs a read operation, a write operation or an erase operation on one of the first blocks in response to a command received from a host to read, write or erase the one first block, counts the total number of erase operations performed on the first blocks, and notifies the host of the counted number of erase operations in response to a command received from the host to obtain an erase count associated with the first namespace.

Claims (63)

1. A memory system comprising:

a nonvolatile memory including a plurality of blocks, each of the plurality of blocks being a unit for a data erase operation to the nonvolatile memory; and

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

manage a plurality of free blocks among the plurality of blocks; each of the plurality of free blocks being common to a plurality of namespaces;

in response to receiving a first command from a host, the first command including an identifier of a first namespace, allocate a first block from the plurality of free blocks to the first namespace, the number of data erase operations performed on the first block being smallest among the numbers of data erase operations performed on the plurality of free blocks;

in response to receiving a second command from the host, the second command including the identifier of the first namespace, write data to the first block; and

in response to receiving a third command from the host, the third command including the identifier of the first namespace, notify the host of the number of data erase operations performed on a block allocated to the first namespace.

2. The memory system according to claim 1 ; wherein

the controller is further configured to:

in response to receiving a fourth command from the host, the fourth command including an identifier of a second namespace different from the first namespace, allocate a second block from the plurality of free blocks to the second namespace.

3. The memory system according to claim 1 , wherein

the controller is further configured to:

in response to receiving a fifth command from the host, the fifth command including the identifier of the first namespace and a first number, allocate third blocks to the first namespace, the number of third blocks being the first number.

4. The memory system according to claim 3 , wherein

the controller is further configured to:

in response to receiving a sixth command from the host, the sixth command including the identifier of the first namespace and a second number, allocate fourth blocks to the first namespace, the number of fourth blocks being the second number, a total capacity of the fourth blocks corresponding to an over-provisioning capacity of the first namespace.

5. The memory system according to claim 1 , wherein

the controller is further configured to:

in response to receiving a seventh command from the host, the seventh command including the identifier of the first namespace, perform a data erase operation on a block allocated to the first namespace.

6. The memory system according to claim 1 , wherein

the controller is further configured to:

in response to receiving an eighth command from the host, the eighth command including the identifier of the first namespace, change a state of a block allocated to the first namespace such that the block is managed as one of the plurality of free blocks.

7. The memory system according to claim 1 , wherein

each of the plurality of free blocks does not store valid data.

8. A method of controlling a nonvolatile memory including a plurality of blocks, each of the plurality of blocks being a unit for a data erase operation to the nonvolatile memory, the method comprising:

in response to receiving a first command from a host, the first command including an identifier of a first namespace, allocating a first block from the plurality of blocks to the first namespace; and

in response to receiving a second command from the host, the second command including the identifier of the first namespace, notifying the host of the number of data erase operations performed on the block allocated to the first namespace.

9. The method according to claim 8 , further comprising:

in response to receiving a third command from the host, the third command including the identifier of the first namespace, performing a data erase operation on a block allocated to the first namespace.

10. The method according to claim 8 , wherein

each of the plurality of blocks is a physical block.

11. The method according to claim 8 , wherein

each of the plurality of blocks is a virtual block, the virtual block including a plurality of physical blocks.

12. The method according to claim 8 , further comprising:

in response to receiving a fourth command from the host, the fourth command including an identifier of the block, notifying the host of the number of data erase operations performed on the block.

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

allocating the plurality of blocks to the first namespace;

counting the number of data erase operations performed on the plurality of blocks allocated to the first namespace; and

in response to receiving a fifth command from the host, the fifth command including the identifier of the first namespace, notifying the host of the number of data erase operations performed on the plurality of blocks allocated to the first namespace.

14. The method according to claim 13 , wherein

the plurality of blocks allocated to the first namespace include an over provisioning block.

15. A memory system comprising:

a nonvolatile memory including a plurality of blocks, each of the plurality of blocks being a unit for a data erase operation to the nonvolatile memory; and

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

in response to receiving a first command from a host, the first command including an identifier of a first namespace, allocate a block from the plurality of blocks to the first namespace; and

in response to receiving a second command from the host, the second command including the identifier of the first namespace, notify the host of the number of data erase operations performed on the block allocated to the first namespace.

16. The memory system according to claim 15 , wherein

each of the plurality of blocks is a physical block.

17. The memory system according to claim 15 , wherein

each of the plurality of blocks is a virtual block, the virtual block including a plurality of physical blocks.

18. The memory system according to claim 15 , wherein

the controller is further configured to:

in response to receiving a third command from the host, the third command including the identifier of the first namespace, perform a data erase operation on the block allocated to the first namespace.

19. The memory system according to claim 15 , wherein

the controller is further configured to:

in response to receiving a fourth command from the host, the fourth command including an identifier of the block, notify the host of the number of data erase operations performed on the block.

20. The memory system according to claim 15 , wherein

the controller is further configured to:

allocate the plurality of blocks to the first namespace;

count the number of data erase operations performed on the plurality of blocks allocated to the first namespace; and

in response to receiving a fifth command from the host, the fifth command including the identifier of the first namespace, notify the host of the number of data erase operations performed on the plurality of blocks allocated to the first namespace.

21. The memory system according to claim 20 , wherein

the plurality of blocks allocated to the first namespace include an over provisioning block.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Jan 11, 2022
From: TOSHIBA MEMORY CORPORATION; K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 058692/0181 →
CHANGE OF NAME Recorded Jan 11, 2022
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 058725/0932 →
Priority Claims (1)
JP 2016-044261 · Mar 8, 2016 · national
Continuity (3)
Continuation 16121161 · Sep 4, 2018
Continuation 15250215 · Aug 29, 2016
Related Publication 20200241802A1 · Jul 30, 2020