IP Library Granted Patent US 9,703,486
Granted Patent B2
US 9,703,486 · App. 14/822,138 · Granted Jul 11, 2017

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: KABUSHIKI KAISHA TOSHIBA
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 9,703,486
App. No.
14/822,138
Granted
Jul 11, 2017
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 (57)

1. A semiconductor storage device comprising:

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

a nonvolatile semiconductor memory having a plurality of blocks, each of the plurality of blocks being a unit of data erasing, each of the plurality of blocks including a plurality of memory cells, each of the plurality of memory cells being capable of storing two or more bits of data; and

a controller configured to:

selectively allocate a first set of the plurality of blocks as a first memory area;

selectively allocate a second set of the plurality of blocks as a second memory area;

store the data in the first memory area by a first management unit, the first management unit being less than the unit of data erasing;

copy data stored in the first memory area to the second memory area when a condition is satisfied;

manage the first memory area as pseudo SLC (Single level cell) blocks;

manage the second memory area as MLC (Multi level cell) blocks; and

selectively allocate unused blocks for the first memory area or the second memory area.

2. The semiconductor storage device according to claim 1 , wherein the controller is configured to determine that the condition is satisfied when a number of valid data stored in at least one of the plurality of blocks in the second first memory area is a first threshold or more.

3. The semiconductor storage device of claim 1 , wherein the first and second sets of the plurality of blocks comprise different blocks of the nonvolatile semiconductor memory.

4. The semiconductor storage device of claim 1 , wherein the first set of the plurality of blocks selectively allocated for the first memory area comprise at least some blocks of the nonvolatile semiconductor memory that are non-contiguous.

5. The semiconductor storage device of claim 1 , wherein the controller is further configured to re-define the first memory area by selectively allocating a third set of the plurality of blocks, the third set of the plurality of blocks being different than the second set of the plurality of blocks.

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

7. The semiconductor storage device according to claim 1 , wherein the controller is configured to:

manage the first memory area by the first management unit; and

manage the second memory area by a second management unit, the second management unit being more than the first management unit.

8. A method of controlling a semiconductor storage device, the semiconductor storage device including a nonvolatile semiconductor memory, the nonvolatile semiconductor memory having a plurality of blocks, each of the plurality of blocks being a unit of data erasing, each of the plurality of blocks including a plurality of memory cells, each of the plurality of memory cells being capable of storing two or more bits of data, the method comprising:

selectively allocating a first set of the plurality of blocks as a first memory area;

selectively allocating a second set of the plurality of blocks as a second memory area;

receiving data from an external host apparatus;

storing the data in the first memory area by a first management unit, the first management unit being less than the unit of data erasing;

copying data stored in the first memory area to the second memory area when a condition is satisfied;

manage the first memory area as pseudo SLC (Single level cell) blocks;

manage the second memory area as MLC (Multi level cell) blocks; and

selectively allocating unused blocks for the first memory area or the second memory area.

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

determining that the condition is satisfied when a number of valid data stored in at least one of the plurality of blocks in the first memory area is a first threshold or more.

10. The method according to claim 8 , wherein the first and second sets of the plurality of blocks comprise different blocks of the nonvolatile semiconductor memory.

11. The method according to claim 8 , wherein the first set of the plurality of blocks selectively allocated for the first memory area comprises at least some blocks of the nonvolatile semiconductor memory that are non-contiguous.

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

re-defining the first memory area by selectively allocating a third set of the plurality of blocks, the third set of the plurality of blocks being different than the second set of the plurality of blocks.

13. The method according to claim 8 , wherein the nonvolatile semiconductor memory is a NAND type flash memory.

14. The method according to claim 8 , wherein the method comprises:

managing the first memory area by the first management unit; and

managing the second memory area by a second management unit, the second management unit being more than the first management unit.

15. A semiconductor storage device comprising:

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

a volatile semiconductor memory including a first memory area;

a nonvolatile semiconductor memory having a plurality of blocks, each of the plurality of blocks having a plurality of pages, each of the plurality of blocks being a unit of data erasing; and

a controller is configured to:

selectively allocate a first set of the plurality of blocks as a second memory area:

selectively allocate a second set of the plurality of blocks as a third memory area;

store the data in the first memory area by a first management unit or less, the first management unit being an access unit from the external host apparatus;

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

copy data stored in the second memory area to the third memory area when a condition is satisfied; and

selectively allocate unused blocks for the second memory area or the third memory area.

16. The semiconductor storage device according to claim 15 , wherein the controller is configured to:

count a number of data of the first management unit which is stored in the first memory area;

store data outputted from the first memory area by the second management unit in the second memory area when the counted number is less than a first threshold; and

store data outputted from the first memory area by the third management unit in the third memory area when the counted number is equal to the first threshold or more.

17. The semiconductor storage device according to claim 15 , wherein the controller is configured to determine that the condition is satisfied when a number of valid data stored in at least one of the plurality of blocks in the second memory area is a first threshold or more.

18. The semiconductor storage device according to claim 15 , wherein the first and second sets of the plurality of blocks comprise different blocks of the nonvolatile semiconductor memory.

19. The semiconductor storage device according to claim 15 , wherein the first set of the plurality of blocks selectively allocated for the second memory area comprise at least some blocks of the nonvolatile semiconductor memory that are non-contiguous.

20. The semiconductor storage device according to claim 15 , wherein the controller is further configured to re-define the second memory area by selectively allocating a third set of the plurality of blocks, the third set of the plurality of blocks being different than the second set of the plurality of blocks.

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 (6)
Continuation 14282242 · May 20, 2014
Continuation 13571034 · Aug 9, 2012
Division 13271838 · Oct 12, 2011
Continuation 12552330 · Sep 2, 2009
Continuation PCTJP2008073950 · Dec 25, 2008
Related Publication 20150347020A1 · Dec 3, 2015