IP Library Granted Patent US 8,782,331
Granted Patent B2
US 8,782,331 · App. 13/571,034 · Granted Jul 15, 2014

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); Hida Toshikatsu (Kawasaki, JP); Hidenori Matsuzaki (Fuchu, JP); Kazuya Kitsunai (Kawasaki, JP); Shigehiro Asano (Yokosuka, JP)
Assignee: Kabushiki Kaisha Toshiba
G06F12/0246G06F12/0804G06F12/0866G06F2212/7201G06F2212/7202G06F2212/7203
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 8,782,331
App. No.
13/571,034
Granted
Jul 15, 2014
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 (42)

1. A solid state drive comprising:

an interface controller configured to receive data provided from an external host apparatus;

a first memory configured to write the data by a first unit or less, the first unit being an access unit from the external host apparatus;

a nonvolatile memory configured to store data transmitted from the interface controller via the first memory in at least one of a plurality of blocks and write transmitted data by a second unit, each one of the plurality of blocks being a unit of data erasing, and the unit of data erasing being twice or greater natural number times as large as the second unit; and

a drive controller coupled with the interface controller, the first memory and the nonvolatile memory via at least one internal bus, the drive controller is configured to:

allocate a plurality of blocks to a first memory area, the plurality of blocks allocated to the first memory area including SLC (Single Level Cell) blocks;

allocate at least one of the SLC blocks to a second memory area, a plurality of blocks allocated to the second memory area including SLC blocks and MLC (Multi Level Cell) blocks;

store a plurality of data by the first unit in the first memory;

store a data from the first memory in the SLC block in the first memory area by a first management unit, the first management unit being twice or larger natural number times as large as the first unit and being less than the unit of data erasing;

release a block in which all the data of the first management unit become invalid data among the plurality of blocks allocated to the first memory area;

copy valid data stored in the SLC blocks to one of the MLC blocks, within the second memory area, when a predetermined condition is satisfied; and

release at least one of the SLC blocks in which no valid data is stored from the second memory area, after copying the valid data stored in the SLC blocks.

2. The solid state drive according to claim 1 , wherein the SLC blocks include pseudo SLC blocks.

3. The solid state drive according to claim 1 , wherein a programming time for an SLC block is shorter than that for an MLC block.

4. The solid state drive according to claim 1 , wherein a capacity of an SLC block is smaller than that of an MLC block.

5. The solid state drive according to claim 1 , wherein the drive controller is configured to write data, transmitted from the interface controller, to the first memory area.

6. The solid state drive according to claim 5 , wherein the drive controller is configured to invalidate data, having the same logical address as the data newly written to the first memory area, stored in the first or second memory area.

7. The solid state drive according to claim 6 , wherein the drive controller is configured to manage the SLC blocks allocated to the first memory area with FIFO (First In First Out) data structure sorted by an allocation order.

8. The solid state drive according to claim 7 , wherein the drive controller is configured to, when writing data to the first memory area, allocate a new SLC block to the first memory area at an input side of the FIFO data structure.

9. The solid state drive according to claim 8 , wherein the drive controller is configured to allocate an SLC block having an oldest allocation order at an output side of the FIFO data structure to the second memory area.

10. The solid state drive according to claim 1 , wherein a number of blocks allocatable to the first memory area has an upper limit.

11. The solid state drive according to claim 10 , wherein the drive controller is configured to allocate at least one of the SLC blocks to the second memory area when a number of the SLC blocks allocated to the first memory area exceeds the upper limit.

12. The solid state drive according to claim 1 , wherein the predetermined condition is satisfied when a number of the SLC and MLC blocks allocated to the second memory area exceeds a threshold.

13. The solid state drive according to claim 1 , wherein the nonvolatile memory is a NAND type flash memory.

14. The solid state drive according to claim 1 , wherein the nonvolatile memory includes a plurality of memory chips.

15. A method of controlling a solid state drive, the solid state drive including a nonvolatile memory and a first memory, the method comprising:

receiving a plurality of data provided from an external host apparatus;

storing the plurality of data by a first unit or less in the first memory, the first unit being an access unit from the external host apparatus;

storing the data from the first memory by a second unit in at least one of a plurality of blocks included in the nonvolatile memory, each one of the plurality of blocks being a unit of data erasing, the unit of data erasing being twice or greater natural number times as large as the second unit;

allocating a plurality of blocks to a first memory area, the plurality of blocks allocated to the first memory area including SLC (Single Level Cell) blocks;

allocating at least one of the SLC blocks to a second memory area, a plurality of blocks allocated to the second memory area including SLC blocks and MLC (Multi Level Cell) blocks;

storing the data from the first memory by a first management unit in the SLC block in the first memory area, the first management unit being twice or larger natural number times as large as the first unit and being less than the unit of data erasing;

releasing a block in which all the data of the first management unit become invalid data among the plurality of blocks allocated to the first memory area;

copying valid data stored in the SLC blocks to one of the MLC blocks, within the second memory area, when a predetermined condition is satisfied; and

releasing at least one of the SLC blocks in which no valid data is stored from the second memory area, after copying the valid data stored in the SLC blocks.

16. The method according to claim 15 , wherein the SLC blocks include pseudo SLC blocks.

17. The method according to claim 15 , wherein a programming time for an SLC block is shorter than that for an MLC block.

18. The method according to claim 15 , wherein a capacity of an SLC block is smaller than that of an MLC block.

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

writing data, received from the external host apparatus, to the first memory area.

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

invalidating data, having the same logical address as the data newly written to the first memory area, stored in the first or second memory area.

Assignments (4)
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 Jul 26, 2017
From: KABUSHIKI KAISHA TOSHIBA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 043328/0388 →
Priority Claims (2)
JP 2007-339943 · Dec 28, 2007 · national
JP 2008-046227 · Feb 27, 2008 · national
Continuity (4)
Division 13271838 · Oct 12, 2011
Continuation 12552330 · Sep 2, 2009
Continuation PCTJP2008073950 · Dec 25, 2008
Related Publication 20120311245A1 · Dec 6, 2012