Flash memory storage system and method
First Claim
Patent Images
1. A method for storing data in a flash memory storage system having a controller and a memory array, the method comprising:
- a. dedicating a first group of memory cells of a memory array, such that each of said first group of memory cells stores a first number of bits;
b. dedicating a second group of memory cells of the memory array, such that each of said second group of memory cells stores a second number of bits, wherein said second number of bits is greater than said first number of bits, and said first group of memory cells and said second group of memory cells are disjoint;
c. writing data to said first group of memory cells;
d. copying the data from said first group of memory cells into said second group of memory cells; and
e. applying wear leveling to said memory cells of said first group of memory cells separately from said memory cells of said second group of memory cells, so as to evenly distribute wear of said first group of memory cells within themselves independent of wear of said second group of memory cells,wherein respective numbers of said memory cells of said first and second groups of memory cells are selected so that a ratio between said respective number of said memory cells of said second group of memory cells and said respective number of said memory cells of said first group of memory cells is equal to a ratio between an endurance of said first group of memory cells and an endurance of said second group of memory cells multiplied by a ratio between said first number of bits and said second number of bits.
4 Assignments
0 Petitions
Accused Products
Abstract
A flash memory storage system includes a memory array containing a plurality of memory cells and a controller for controlling the flash memory array. The controller dedicates a first group of memory cells to operate with a first number of bits per cell and a second, separate group of memory cells to operate with a second number of bits per cell. A mechanism is provided to apply wear leveling techniques separately to the two groups of cells to evenly wear out the memory cells.
19 Citations
11 Claims
-
1. A method for storing data in a flash memory storage system having a controller and a memory array, the method comprising:
-
a. dedicating a first group of memory cells of a memory array, such that each of said first group of memory cells stores a first number of bits; b. dedicating a second group of memory cells of the memory array, such that each of said second group of memory cells stores a second number of bits, wherein said second number of bits is greater than said first number of bits, and said first group of memory cells and said second group of memory cells are disjoint; c. writing data to said first group of memory cells; d. copying the data from said first group of memory cells into said second group of memory cells; and e. applying wear leveling to said memory cells of said first group of memory cells separately from said memory cells of said second group of memory cells, so as to evenly distribute wear of said first group of memory cells within themselves independent of wear of said second group of memory cells, wherein respective numbers of said memory cells of said first and second groups of memory cells are selected so that a ratio between said respective number of said memory cells of said second group of memory cells and said respective number of said memory cells of said first group of memory cells is equal to a ratio between an endurance of said first group of memory cells and an endurance of said second group of memory cells multiplied by a ratio between said first number of bits and said second number of bits. - View Dependent Claims (2, 3, 4)
-
-
5. A flash memory storage system comprising:
-
a. a memory array containing a plurality of memory cells; b. a controller for controlling said memory array by dedicating a first group of memory cells from among said plurality of memory cells to store a first number of bits per cell and dedicating a second group of memory cells from among said plurality of memory cells to store a second number of bits per cell, wherein said second number is greater than said first number, and said first group of memory cells and said second group of memory cells are disjoint; and c. a mechanism for applying wear leveling to said memory cells of said first group of memory cells separately from said memory cells of said second group of memory cells, so as to evenly distribute wear of said first group of memory cells within themselves independent of wear of said second group of memory cells, wherein said controller selects respective numbers of said memory cells of said first and second groups of memory cells to that a ratio between said respective number of said memory cells of said second group of memory cells and said respective number of said memory cells of said first group of memory cells is equal to a ratio between an endurance of said first group of memory cells and an endurance of said second group of memory cells multiplied by a ratio between said first number of bits and said second number of bits. - View Dependent Claims (6, 7, 8, 9, 10, 11)
-
Specification