Flash memory mass storage system
AssigneeMacronix International Co., Ltd.
InventorsChung-Wen Ma, Chun-Hung Lin, Tai-Yao Lee, Li-Jen Lee, Ju-Xu Lee, Ting-Chung Hu
Life of this patent
Estimating the term…
Loading patent…
AssigneeMacronix International Co., Ltd.
InventorsChung-Wen Ma, Chun-Hung Lin, Tai-Yao Lee, Li-Jen Lee, Ju-Xu Lee, Ting-Chung Hu
Estimating the term…
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.
A method for using flash memory to implement a mass storage system, comprising the steps of:
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.
Dependencies are inferred from the claim text.