1. Field of the Invention
The disclosure relates to a memory storage system and a central control device, a management method and a power-failure recovery method.
2. Description of the Related Art
The flash memory is a non-volatile storage device. The data stored in a flash memory would not disappear during power-off and the flash memory is able to provide fast reading efficiency. In more details, although the access speed of a flash memory is not so fast as a dynamic random-access memory (DRAM), but it is low noise, small volume and fast access. In electronic communication products, the flash memory thereby has been broadly applied in commodity such as camera, mobile phone, flash drive and notebook computer.
A flash memory has unique characteristic. For example, data can not be directly repeatedly written into the same physical address; instead, the data only can be rewritten after performing an erasing operation. In addition, a flash memory has a plurality of physical blocks and each physical block has a plurality of physical pages, in which the minimum erasing unit is one physical block (also termed as erase unit (EU)) and the minimum writing unit is a page. Each physical page includes a data-area and a spare-area, in which the data-area is used for storing general data and the spare-area is used for storing metadata corresponding to the general data. The metadata includes, for example, logic address which the general data belong to and error correction code corresponding to the general data. Moreover, each physical block has an upper limit of erasing number of times, for example, 10-100 thousands. When the erasing number of times of a physical block reaches the upper limit, the physical block may be damaged and unable to write date into. Further, to write data into each physical block, the data must be written following the sequence of the physical pages.
Due to the above-mentioned access limit of a flash memory, in general speaking, a flash memory storage system would employ a flash translation layer (FTL) therein to conduct a translation management between logic positions and physical positions, where a mapping relationship between logic positions and physical positions is stored through maintaining a block map table (BMT).
Based on the above mentioned description, in a large server, if the system employs flash memories serving as storage units, many problems must be confronted. For example, a plurality of flash memory storage devices must be managed simultaneously, so that the translation management between logical positions and physical positions becomes more complex. Since during the operation of the flash memory storage system, the BMT must be temporally stored in a volatile memory for updating convenience, hence, once abnormal shutdown occurs, the BMT would be lost. When that is the case, although the BMT can be rebuilt by scanning the spare-areas of the physical pages of all the physical blocks in all the flash memory storage devices during rebooting, but it definitely consumes much time. In this regard, how to effectively manage a large memory storage system with multiple flash memory storage devices and deal with and respond abnormal shutdown of the large memory storage system has become a critical issue to be solved by the relevant developers.