Memory system using flash memory and method of controlling the memory system
First Claim
1. A method of controlling a memory system using a flash memory wherein a logical block as a unit accessed by a computer is allocated to a physical block of the flash memory, comprising the steps of:
- a) counting and managing a write count of each logical block unit each time data is written into that logical block;
b) counting and managing an erasure count of each physical block unit each time that physical block is erased;
c) classifying a plurality of logical blocks into a plurality of logical block groups according to write count;
d) classifying a plurality of physical blocks into a plurality of physical block groups according to erasure count; and
e) allocating a logical block belonging to a logical block group having a larger write count to a physical block which belongs to a physical block group having a smaller erasure count when data is written into the logical block.
1 Assignment
0 Petitions
Accused Products
Abstract
A memory system includes a flash memory having a plurality of individually erasable physical blocks, table section for holding the relationship in correspondence between the logical blocks allocated by the allocation section and the physical blocks first counting and managing section for counting and managing write counts of the respective logical blocks, first classifying section for classifying the logical blocks into a plurality of groups on the basis of the respective write counts of the logical blocks, erasure section for erasing data in a physical block allocated to a logical block to produce a free physical block, second counting and managing section for counting and managing the erasure counts of the respective physical blocks, second classifying section for classifying the physical blocks into a plurality of groups on the basis of the respective erasure counts of the physical blocks, control section for allocating the respective logical blocks to the physical blocks; and managing section for managing free physical blocks which are not allocated to any logical blocks, wherein the allocation control section performs an exchanging process as required which comprises the steps of allocating a logical block belonging to a logical block group having a larger write count to a free physical block belonging to a physical block group having a smaller erasure count and allocating a logical block belonging to a logical block group having a smaller write count to a free physical block belonging to a logical block group having a larger erasure count, increasing the service life of the memory system by preventing requests from collecting in a particular sector.
-
Citations
16 Claims
-
1. A method of controlling a memory system using a flash memory wherein a logical block as a unit accessed by a computer is allocated to a physical block of the flash memory, comprising the steps of:
-
a) counting and managing a write count of each logical block unit each time data is written into that logical block; b) counting and managing an erasure count of each physical block unit each time that physical block is erased; c) classifying a plurality of logical blocks into a plurality of logical block groups according to write count; d) classifying a plurality of physical blocks into a plurality of physical block groups according to erasure count; and e) allocating a logical block belonging to a logical block group having a larger write count to a physical block which belongs to a physical block group having a smaller erasure count when data is written into the logical block. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of controlling a memory system using a flash memory where a logical block as a unit accessed by a computer is allocated to a physical block of the flash memory, comprising the steps of:
-
predicting whether a write count of each logical block in the future is larger or smaller on the basis of the situation of access to that logical block; managing an erasure count of each physical block when that physical block is erased; and allocating a logical block having a write count which is predicted to be larger to a physical block having a smaller erasure count and allocating a logical block having a write count which is predicted to be smaller to a physical block having a larger erasure count.
-
-
9. A memory system using a flash memory where logical blocks each as a unit accessed by a computer are allocated by allocation means to physical blocks of the flash memory, comprising:
-
a flash memory having a plurality of individually erasable physical blocks; table means for holding the relationship in correspondence between the logical blocks allocated by the allocation means and the physical blocks; first counting and managing means for counting and managing write counts of the respective logical blocks; first classifying means for classifying the logical blocks into a plurality of groups on the basis of the respective write counts of the logical blocks; erasure means for erasing data in a physical block allocated to a logical block to produce a free physical block; second counting and managing means for counting and managing the erasure counts of the respective physical blocks; second classifying means for classifying the physical blocks into a plurality of groups on the basis of the respective erasure counts of the physical blocks; control means for allocating the respective logical blocks to the physical blocks; and means for managing free physical blocks which are not allocated to any logical blocks; wherein said allocation control means performs an exchanging process as required which comprises the steps of allocating a logical block belonging to a logical block group having a larger write count to a free physical block belonging to a physical block group having a smaller erasure count and allocating a logical block belonging to a logical block group having a smaller write count to a free physical block belonging to a logical block group having a larger erasure count. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification