IP Library Granted Patent US 11,513,682
Granted Patent B2
US 11,513,682 · App. 17/083,529 · Granted Nov 29, 2022

Semiconductor storage device with volatile and nonvolatile memories to allocate blocks to a memory and release allocated blocks

Inventors: Hirokuni Yano (Tokyo, JP); Shinichi Kanno (Tokyo, JP); Toshikatsu Hida (Kawasaki, JP); Hidenori Matsuzaki (Fuchu, JP); Kazuya Kitsunai (Kawasaki, JP); Shigehiro Asano (Yokosuka, JP)
Assignee: Kioxia Corporation
G06F3/0604G06F3/064G06F3/0616G06F3/0631G06F3/0656G06F3/0658G06F3/0679G06F3/0685G06F12/0246G11C11/5628G06F12/0804G06F12/0866G06F2212/7201G06F2212/7202G06F2212/7203G06F2212/7209
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,513,682
App. No.
17/083,529
Granted
Nov 29, 2022
Kind
B2
Abstract

A semiconductor storage device includes a first memory area configured in a volatile semiconductor memory, second and third memory areas configured in a nonvolatile semiconductor memory, and a controller which executes following processing. The controller executes a first processing for storing a plurality of data by the first unit in the first memory area, a second processing for storing data outputted from the first memory area by a first management unit in the second memory area, and a third processing for storing data outputted from the first memory area by a second management unit in the third memory area.

Claims (35)

1. A storage device comprising:

a nonvolatile memory including a first block and a second block, both the first and second blocks being a unit of data erasing and configured to store a first data of a first bit; and

a controller configured to:

allocate the first block as a block configured to store a second data of a second bit by a first management unit, the first data being larger than the second data, the first management unit being less than the unit of data erasing;

allocate the second block as a block configured to store the second data by a second management unit, the second management unit being less than the unit of data erasing and being less than the first management unit;

receive data from an external host apparatus;

store the received data into the first block;

copy valid data stored in the first block to the second block; and

release the first block in which no valid data is stored, after copying the valid data stored in the first block,

wherein the first block includes a pseudo first block configured to be capable of storing the first data but storing the second data.

2. The storage device according to claim 1 , wherein the controller is configured to allocate the second block when the number of valid data stored in the first block is a first threshold or more.

3. The storage device according to claim 2 , wherein the controller is configured to copy valid data stored in the first block to the second block when the number of valid data stored in the first block is less than the first threshold.

4. The storage device according to claim 1 , wherein the controller is configured to copy valid data stored in the first block to the second block, when a first condition is satisfied, the first condition being satisfied when the number of allocated first and second blocks are exceeds a second threshold.

5. The storage device according to claim 1 , wherein a programming time for the first block is shorter than that for the second block.

6. The storage device according to claim 1 , wherein a capacity of the first block is smaller than that of the second block.

7. The storage device according to claim 6 , wherein the controller is configured to invalidate first data, the first data having a same logical address as data newly stored.

8. The storage device according to claim 7 , wherein the controller is configured to manage the first block with FIFO (First In First Out) data structure sorted by an allocation order.

9. The storage device according to claim 8 , wherein the controller is configured to allocate a new first block at an input side of the FIFO data structure.

10. The storage device according to claim 9 , wherein the controller is configured to allocate the first block having an oldest allocation order at an output side of the FIFO data structure.

11. The storage device according to claim 1 , wherein the number of allocatable first blocks has an upper limit.

12. The storage device according to claim 11 , wherein the controller is configured to allocate the second block when the number of the first blocks exceeds the upper limit.

13. The storage device according to claim 1 , wherein the nonvolatile memory is a NAND type flash memory.

14. The storage device according to claim 1 , wherein the nonvolatile memory includes a plurality of memory chips.

15. The storage device according to claim 1 further comprising a first memory configured to store data by a first unit or less, the first unit being an access unit from the external host apparatus, the first memory being a DRAM (Dynamic Random Access Memory).

16. A method of controlling a storage device including a nonvolatile memory, the nonvolatile memory including a first block and a second block, both the first and second blocks being a unit of data erasing and configured to store a first data of a first bit, the method comprising:

allocating the first block as a block configured to store a second data of a second bit by a first management unit, the first data being larger than the second data, the first management unit being less than the unit of data erasing;

allocating the second block as a block configured to store the second data by a second management unit, the second management unit being less than the unit of data erasing and being less than the first management unit;

receiving data from an external host apparatus;

storing the received data into the first block;

copying valid data stored in the first block to the second block; and

releasing the first block in which no valid data is stored, after copying the valid data stored in the first block,

wherein the first block includes a pseudo first block configured to be capable of storing the first data but storing the second data.

17. The method according to claim 16 , wherein the allocating the second block is executed when the number of valid data stored in the first block is a first threshold or more.

18. The method according to claim 17 , wherein the copying is executed when the number of valid data stored in the first block is less than the first threshold.

19. The method according to claim 16 , wherein the copying includes copying valid data stored in the first block to the second block when a condition is satisfied, the condition being satisfied when the number of allocated first and second blocks exceeds a second threshold.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Jan 20, 2022
From: TOSHIBA MEMORY CORPORATION; K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 058785/0124 →
CHANGE OF NAME Recorded Jan 20, 2022
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 058785/0197 →