1. Field of the Invention
The present invention relates to a flash memory storage system, and more particularly, to a flash memory storage system capable of facilitating access efficiency.
2. Description of the Related Art
Flash Memory, a non-volatile memory, keeps the previously stored written data upon shutdown. In contrast to other storage media, e.g. hard disk, soft disk, magnetic tape and so on, the flash memory has advantages of small volume, light weight, vibration-proof, low power consumption, and no mechanical movement delay in data access, therefore, the flash memory are for wide use as storage media in consumer electronic devices, embedded systems, or portable computers.
There are two kinds of flash memory: one is an NOR flash memory and the other is an NAND flash memory. An NOR flash memory is characteristically of low driving voltage, fast access speed, high stability, and are widely applied in portable electrical devices and communication devices, such as Personal Computers (PC), mobile phones, personal digital assistances (PDA), and set-top boxes (STB). An NAND flash memory is specifically designed as data storage media, for example, a Secure Digital (SD) memory card, a Compact Flash (CF) card, a memory Stick (MS) card. Upon writing, erasing and reading, charges move across a floating gate relying on charge coupling which determines a threshold voltage of a transistor under the floating gate. In other words, in response to an injection of electrons into the floating gate, the logical status of the floating gate turns from 1 to 0; on the contrary, in response to move electrons away from the floating gate, the logical status of the floating gate turns from 0 to 1.
The NAND flash memory contains a plurality of blocks, each block having a plurality of pages and each page dividing into a data area and a spare area. The data area which may have 512 bytes is used for storing data. The spare area is used for storing error correction code (ECC). However, the flash memory fails to change data update-in-place, that is, prior to writing data into a non-blank page, erasing a block including the non-blank page is required. In general, erasing a block take as much time as 10-20 times greater as writing into a page. If a size of written data is over an assigned block, the filled pages in the assigned block have to be removed to other blocks, and then erasing the assigned block is performed.
Furthermore, flash memory block may fail to access when in excess of one million times of erasures before the block is considered to be worn out. This is because the number of erasure times for a block is close to one million, charge within the floating gate may be insufficient due to current leakage of realized capacitor, thereby resulting in data loss of the flash memory cell, and even failure to access the flash memory. In other words, if erased over a limited times, a block may be unable to be accessed.
There are two kinds of NAND flash memory: one is a multi-level cell (MLC) NAND flash memory and the other is a single-level cell (SLC) flash memory. A cell of the MLC NAND flash memory includes a floating gate for storing various charge levels indicative of binary value 00, 01, 10, and 11. Therefore, each MLC NAND flash memory cell can store four values one time. Conversely, the SLC NAND flash memory cell has thinner oxide film between the floating gate and the source. During writing process, voltage is applied onto the floating gate, thereby the stored charge being driven to flow out through the source. Each SLC NAND flash memory cell may store only one-bit data, as is less than MLC NAND flash memory cell. In addition, a speed of an access to the MLC NAND flash memory is faster than that to the SLC NAND flash memory cell. Nevertheless, a number of access to the SLC NAND flash memory may be one hundred thousand times, while the MLC NAND flash memory can be accessed by ten thousand times. That is, a life of the MLC NAND flash memory is shorter than that of SLC NAND flash memory. Moreover, the MLC NAND flash memory consumes more power than the SLC NAND flash memory by about 15%.
Please refer to FIG. 1 and FIG. 2. FIG. 1 shows a diagram of a storage memory device using SLC NAND flash memory, and FIG. 2 shows a diagram of a storage memory device using MLC NAND flash memory. At present, the storage devices 70 using the MLC NAND flash memory are almost low access speed. The storage device 70 accesses multiple MLC NAND flash memory areas 74 by means of the controller 72. Conversely, the storage devices 80 using the SLC NAND flash memory are almost used in high performance memory card. The storage device 80 accesses multiple SLC NAND flash memory areas 84 by means of the controller 82. Because the demands for the flash memory storage device are different, it is necessary to develop a flash memory device capable of determining to store a file into the MLC NAND flash memory or a SLC NAND flash memory to meet the user desires.