Flash memory mass storage system
First Claim
1. A method for using flash memory to implement a mass storage system, comprising the steps of:
- (a) dividing said flash memory into a plurality of blocks;
(b) forming a first type of blocks from said plurality of blocks, said first type of blocks being used to store data organized in accordance with a pre-defined addressing scheme;
(c) forming a second type of blocks from said plurality of blocks, said second type of blocks being used as a temporary buffer for storing data intended to be written to one of said first type of blocks;
(d) forming a third type of blocks that contain invalid data that will be erased; and
(e) changing at least one of said plurality of blocks from one of said first, said second and said third types of blocks to another type.
1 Assignment
0 Petitions
Accused Products
Abstract
An architecture for a mass storage system using flash memory is described. This architecture involves organizing the flash memory into a plurality of blocks. These blocks are then divided into several categories. One of the categories is a working category used to store data organized in accordance with a pre-defined addressing scheme (such as the logical block address used in Microsoft'"'"'s operating system). The other category is a temporary buffer used to store data intended to be written to one of the working blocks. Another category contains blocks that need to be erased. When data is written into the mass storage system, a block in the second category is allocated from a block in the third category. The allocated block will then be changed to a block in the first category when writing to the allocated block is completed. The correspond block in the first category is placed into the third category. As a result, blocks can be recycled. Consequently, there is a constant supply of blocks in the second category. In another embodiment of the present invention, a new category is developed to handle random writing to the working blocks.
229 Citations
14 Claims
-
1. A method for using flash memory to implement a mass storage system, comprising the steps of:
-
(a) dividing said flash memory into a plurality of blocks; (b) forming a first type of blocks from said plurality of blocks, said first type of blocks being used to store data organized in accordance with a pre-defined addressing scheme; (c) forming a second type of blocks from said plurality of blocks, said second type of blocks being used as a temporary buffer for storing data intended to be written to one of said first type of blocks; (d) forming a third type of blocks that contain invalid data that will be erased; and (e) changing at least one of said plurality of blocks from one of said first, said second and said third types of blocks to another type. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
- 10. A flash memory system comprising a plurality of blocks being divided into (i) a first type of blocks for storing data logically organized in a linear addressing scheme, (ii) a second type of blocks for temporarily storing data intended to be written to one of said first type of blocks, and (iii) a third type of blocks including blocks that should be erased, each of said plurality of blocks comprising a plurality of flash memory cells, said second type of blocks being changeable to said first type of blocks and said first type of blocks being changeable to said third type of blocks.
Specification