IP Library Granted Patent US 10,664,197
Granted Patent B2
US 10,664,197 · App. 16/121,161 · Granted May 26, 2020

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 10,664,197
App. No.
16/121,161
Granted
May 26, 2020
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 (56)

1. A memory system comprising:

a nonvolatile memory including a plurality of blocks; and

a controller configured to:

in response to a first command received from a host, the first command designating a first namespace and a first number of blocks to be added to the first namespace, the first namespace having a first capacity for storing user data,

increase an over-provisioning capacity of the first namespace by adding the designated first number of blocks to blocks allocated to the first namespace.

2. The memory system according to claim 1 , wherein

the first capacity corresponds to a second number of blocks.

3. The memory system according to claim 2 , wherein

the number of blocks allocated to the first namespace for storing the user data is the second number after the over-provisioning capacity of the first namespace is increased.

4. The memory system according to claim 2 , wherein

the controller is further configured to:

manage a plurality of free blocks among the plurality of blocks, commonly for the first namespace and a second namespace different from the first namespace; and

add the designated first number of blocks to the first namespace from the plurality of free blocks.

5. The memory system according to claim 4 , wherein

the controller is further configured to:

in response to a second command received from the host that designates the first namespace, return at least one block allocated to the first namespace to the free blocks.

6. The memory system according to claim 1 , wherein

by adding the designated first number of blocks to the blocks allocated to the first namespace, the number of blocks capable of being allocated to the first namespace is increased by the designated first number.

7. The memory system according to claim 1 , wherein

the first command is a command with which no user data is transmitted to the memory system.

8. The memory system according to claim 1 , wherein

the controller is further configured to:

in response to a second command received from the host, notify the host of the number of erase operations performed in the first namespace.

9. The memory system according to claim 1 , wherein

the controller is further configured to:

in response to a second command received from the host, the second command designating the number of blocks that is to be allocated to the first namespace,

allocate the designated number of blocks to the first namespace.

10. The memory system according to claim 9 , wherein

the controller is further configured to:

in a case that the designated number of blocks is not capable of being allocated to the first namespace,

notify the host of an error status.

11. A method of controlling a memory system including a nonvolatile memory including a plurality of blocks, the method comprising:

receiving a first command from a host, the first command designating a first namespace and a first number of blocks to be added to the first namespace, the first namespace having a first capacity for storing user data; and

in response to the first command, increasing an over-provisioning capacity of the first namespace by adding the designated first number of blocks to blocks allocated to the first namespace.

12. The method according to claim 11 , wherein

the first capacity corresponds to a second number of blocks.

13. The method according to claim 12 , wherein

the number of blocks allocated to the first namespace for storing the user data is the second number after the over-provisioning capacity of the first namespace is increased.

14. The method according to claim 12 , further comprising managing a plurality of free blocks among the plurality of blocks, commonly for the first namespace and a second namespace different from the first namespace, wherein

the adding the first number of blocks to blocks allocated to the first namespace includes adding the designated first number of blocks to the first namespace from the plurality of free blocks.

15. The method according to claim 1 , further comprising:

in response to a second command received from the host that designates the first namespace, returning at least one block allocated to the first namespace to the free blocks.

16. The method according to claim 11 , wherein

by adding the designated first number of blocks to the blocks allocated to the first namespace, the number of blocks capable of being allocated to the first namespace is increased by the designated first number.

17. The method according to claim 11 , wherein

the first command is a command with which no user data is transmitted to the memory system.

18. The method according to claim 11 , further comprising:

in response to a second command received from the host, notifying the host of the number of erase operations performed in the first namespace.

19. The method according to claim 11 , further comprising:

in response to a second command received from the host, the second command designating the number of blocks that is to be allocated to the first namespace,

allocating the designated number of blocks to the first namespace.

20. The method according to claim 11 , further comprising:

in response to a second command received from the host, the second command designating the number of blocks that is to be allocated to the first namespace,

allocating the designated number of blocks to the first namespace; and

in a case that the designated number of blocks is not capable of being allocated to the first namespace,

notifying the host of an error status.

Assignments (3)
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 →
Priority Claims (1)
JP 2016-044261 · Mar 8, 2016 · national
Continuity (2)
Continuation 15250215 · Aug 29, 2016
Related Publication 20180373461A1 · Dec 27, 2018
Cited By (1)
US 12,399,647