IP Library Granted Patent US 8,886,868
Granted Patent B2
US 8,886,868 · App. 12/778,484 · Granted Nov 11, 2014

Memory system and control method thereof

Inventors: Kazuya Kitsunai (Kawasaki, JP); Shinichi Kanno (Tokyo, JP); Hirokuni Yano (Tokyo, JP); Toshikatsu Hida (Kawasaki, JP); Junji Yano (Yokohama, JP)
Assignee: Kabushiki Kaisha Toshiba
G06F12/0246G06F2212/7202G06F2212/7211G06F2212/1036
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,886,868
App. No.
12/778,484
Granted
Nov 11, 2014
Kind
B2
Abstract

A memory system includes a nonvolatile memory including a plurality of blocks as data erase units, a measuring unit which measures an erase time at which data of each block is erased, and a block controller which writes data supplied from at least an exterior into a first block which is set in a free state and whose erase time is oldest.

Claims (94)

1. A control method of a memory system including a nonvolatile memory having a plurality of blocks as data erase units, the method comprising:

storing an erase time which indicates when data of each block is erased;

generating a block table indicating a correspondence relation between a status value indicating one of a free state and an in-use state and the erase time for each block;

selecting a first block which is set in a free state and whose erase time is oldest based on information of the block table; and

writing data supplied from at least an exterior into the first block.

2. The method according to claim 1 , comprising:

counting the number of times of erase executed in all blocks, wherein

the erase time corresponds to the number of times of erase.

3. The method according to claim 1 , comprising:

measuring a time at which data in each block is erased, wherein

the erase time corresponds to the time.

4. The method according to claim 1 , comprising:

measuring a power supply time of the memory system when data in each block is erased, wherein

the erase time corresponds to the power supply time.

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

selecting a second block whose erase count is minimum among a preset number of blocks which are set in the in-use state starting from a block whose erase time is oldest based on information of the block table;

selecting a third block whose erase count is maximum among a preset number of blocks which are set in the free state starting from a block whose erase time is oldest based on information of the block table;

calculating a difference between erase counts of the second block and the third block; and

moving data of the second block into the third block when the difference exceeds a threshold value.

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

selecting a second block whose erase count is minimum among a preset ratio of blocks which are set in the in-use state starting from a block whose erase time is oldest based on information of the block table;

selecting a third block whose erase count is maximum among a preset ratio of blocks which are set in the free state starting from a block whose erase time is oldest based on information of the block table;

calculating a difference between erase counts of the second block and the third block; and

moving data of the second block into the third block when the difference exceeds a threshold value.

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

selecting a second block whose erase count is minimum among blocks which are set in the in-use state and whose erase times are older than a preset time based on information of the block table;

selecting a third block whose erase count is maximum among blocks which are set in the free state and whose erase times are older than a preset time based on information of the block table;

calculating a difference between erase counts of the second block and the third block; and

moving data of the second block into the third block when the difference exceeds a threshold value.

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

managing a magnitude of a load corresponding to an erase interval with respect to the nonvolatile memory, and generating a load concentration degree indicating the magnitude of the load; and

moving data in a second block set in the in-use state into a third block set in the free state when the load concentration degree exceeds a threshold value.

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

selecting the second block based on information of the block table; and

selecting the third block based on the information of the block table,

wherein the second block is a block whose erase count is minimum among a preset number of blocks set in the in-use state starting from a block whose erase time is oldest, and

the third block is a block whose erase count is maximum among a preset number of blocks set in the free state starting from a block whose erase time is oldest.

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

selecting the second block based on information of the block table; and

selecting the third block based on the information of the block table,

wherein the second block is a block whose erase count is minimum among a preset ratio of blocks set in the in-use state starting from a block whose erase time is oldest, and

the third block is a block whose erase count is maximum among a preset ratio of blocks set in the free state starting from a block whose erase time is oldest.

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

selecting the second block based on information of the block table; and

selecting the third block based on the information of the block table,

wherein the second block is a block whose erase count is minimum among blocks which are set in the in-use state and whose erase times are older than preset time, and

the third block is a block whose erase count is maximum among blocks which are set in the free state and whose erase times are older than a preset time.

12. The method according to claim 8 , wherein

the managing includes generating a count value obtained by adding an addition value corresponding to an erase time of a block whenever the block is updated from the free state to the in-use state, based on an addition value table indicating a plurality of erase times and addition values set in correspondence to the respective erase times, and

the load concentration degree corresponds to the count value.

13. The method according to claim 12 , wherein the addition value is added to the count value whenever the block is updated from the in-use state to the free state.

14. The method according to claim 12 , further comprising limiting the number of moving processes based on the load concentration degree, and generating a logical value indicating whether a moving process is performed,

wherein the moving includes determining whether the moving process is performed based on the logical value.

15. The method according to claim 14 , wherein the limiting includes:

generating a random number;

determining whether the random number is smaller than a threshold value; and

generating the logical value based on the determination result.

16. A control method of a memory system including a nonvolatile memory having a plurality of blocks as data erase units, the method comprising:

measuring an erase time at which data of each block is erased;

counting an erase count of each block;

generating a block table indicating a correspondence relation between a status value indicating one of a free state and an in-use state, the erase time and the erase count for each block;

selecting a first block whose erase count is minimum among a preset number of blocks set in the free state starting from a block whose erase time is oldest based on information of the block table; and

writing data supplied from at least an exterior into the first block.

17. The method according to claim 16 , wherein

the measuring includes counting the number of times of erase executed in all blocks, and

the erase time corresponds to the number of times of erase.

18. The method according to claim 16 , wherein

the measuring includes measuring a time at which data in each block is erased, and

the erase time corresponds to the time.

19. The method according to claim 16 , wherein

the measuring includes measuring a power supply time of the memory system when data in each block is erased, and

the erase time corresponds to the power supply time.

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

selecting a second block whose erase count is minimum among a preset number of blocks which are set in the in-use state starting from a block whose erase time is oldest based on information of the block table;

selecting a third block whose erase count is maximum among a preset number of blocks which are set in the free state starting from a block whose erase time is oldest based on information of the block table;

calculating a difference between erase counts of the second block and the third block; and

moving data of the second block into the third block when the difference exceeds a threshold value.

21. The method according to claim 16 , further comprising:

selecting a second block whose erase count is minimum among a preset ratio of blocks which are set in the in-use state starting from a block whose erase time is oldest based on information of the block table;

selecting a third block whose erase count is maximum among a preset ratio of blocks which are set in the free state starting from a block whose erase time is oldest based on information of the block table;

calculating a difference between erase counts of the second block and the third block; and

moving data of the second block into the third block when the difference exceeds a threshold value.

22. A control method of a memory system including a nonvolatile memory having a plurality of blocks as data erase units, the method comprising:

measuring an erase time at which data of each block is erased;

counting an erase count of each block;

generating a block table indicating a correspondence relation between a status value indicating one of a free state and an in-use state, the erase time and the erase count for each block;

selecting a first block whose erase count is minimum among a preset ratio of blocks set in the free state starting from a block whose erase time is oldest based on information of the block table; and

writing data supplied from at least an exterior into the first block.

23. A control method of a memory system including a nonvolatile memory having a plurality of blocks as data erase units, the method comprising:

measuring an erase time at which data of each block is erased;

counting an erase count of each block;

generating a block table indicating a correspondence relation between a status value indicating one of a free state and an in-use state, the erase time and the erase count for each block;

selecting a first block whose erase count is minimum among blocks which are set in the free state and whose erase times are older than a preset time based on information of the block table; and

writing data supplied from at least an exterior into the first block.

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 (1)
JP 2007-339946 · Dec 28, 2007 · national
Continuity (3)
Continuation 12552422 · Sep 2, 2009
Continuation PCTJP2008066508 · Sep 8, 2008
Related Publication 20100223424A1 · Sep 2, 2010