Wear leveling techniques for flash EEPROM systems
First Claim
1. A storage device employing a flash memory, wherein a storage area of said storage device is divided into a plurality of physical sectors identified by physical addresses, said storage device includes:
- logical address conversion means which receives a logical address of data in a data writing operation and converts said logical address into a physical address, a memory controller for receiving said physical address resulting from the conversion by the conversion means, and writing said data into a respective physical sector;
wherein said logical address conversion means converts a logical address received in the writing operation to the physical address which is different from the physical address to which said logical address conversion means converted a logical address, identical to the logical address to be presently converted, in a preceding writing operation, erase operations reference means for storing a number of erase operations of respective erasing sector groups each of which comprises one or more physical sectors erased together in one erasing operation when erasing data stored in the physical sector included in the erasing sector groups, and erasing control means for erasing the erasing sector groups in the erasing operations, referring to said erase operations reference means, in which the number of erasing operations performed by the erasing sector groups are averaged.
1 Assignment
0 Petitions
Accused Products
Abstract
A mass storage system made of flash electrically erasable and programmable read only memory (“EEPROM”) cells organized into blocks, the blocks in turn being grouped into memory banks, is managed to even out the numbers of erase and rewrite cycles experienced by the memory banks in order to extend the service lifetime of the memory system. Since this type of memory cell becomes unusable after a finite number of erase and rewrite cycles, although in the tens of thousands of cycles, uneven use of the memory banks is avoided so that the entire memory does not become inoperative because one of its banks has reached its end of life while others of the banks are little used. Relative use of the memory banks is monitored and, in response to detection of uneven use, have their physical addresses periodically swapped for each other in order to even out their use over the lifetime of the memory.
-
Citations
19 Claims
-
1. A storage device employing a flash memory, wherein a storage area of said storage device is divided into a plurality of physical sectors identified by physical addresses, said storage device includes:
-
logical address conversion means which receives a logical address of data in a data writing operation and converts said logical address into a physical address, a memory controller for receiving said physical address resulting from the conversion by the conversion means, and writing said data into a respective physical sector;
wherein said logical address conversion means converts a logical address received in the writing operation to the physical address which is different from the physical address to which said logical address conversion means converted a logical address, identical to the logical address to be presently converted, in a preceding writing operation, erase operations reference means for storing a number of erase operations of respective erasing sector groups each of which comprises one or more physical sectors erased together in one erasing operation when erasing data stored in the physical sector included in the erasing sector groups, and erasing control means for erasing the erasing sector groups in the erasing operations, referring to said erase operations reference means, in which the number of erasing operations performed by the erasing sector groups are averaged.
-
-
2. In a memory system including non-volatile erasable and re-programmable memory cells characterized by experiencing degradation as a number of erase and re-programming cycles increases, a method of programming data received external of the memory system, comprising:
-
utilizing the memory cells divided into a plurality of groups that individually includes one or more units of memory cells that are erasable together, receiving a first unit of data and a first logical address therefore from outside the memory system, converting the received first logical address into a first physical memory address of a first erase unit, programming data of the received first unit of data into memory cells of the first erase unit, subsequently receiving a second unit of data and the first logical address therefore from the host system, thereafter converting the received first logical address into a second physical memory address of a second erase unit that is within a different group of memory cells than the first erase unit and is chosen to tend to even out the number of erase and re-programming cycles experienced by the groups of memory cells, and programming the received second unit of data into memory cells of the second erase unit. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method of operating a memory system including non-volatile erasable and re-programmable memory cells with a target endurance limit of a maximum number of erase and re-programming cycles to which the memory cells are to be subjected, comprising:
-
utilizing the memory cells divided into a plurality of units of memory cells that are erasable together, receiving a unit of data and a logical address of a memory cell erase unit therefore from a host system, temporarily storing the received unit of data in a buffer memory, converting the received logical address into a physical address of one of the plurality of memory cell erase units that tends to even out the frequency of use of the memory cell erase units prior to any such erase unit reaching the target maximum number of erase and re-programming cycles, and thereafter programming the received unit of data from the buffer memory into said one of the plurality of memory cell erase units. - View Dependent Claims (16, 17, 18, 19)
-
Specification