Abstract:
Flash memory has the merits of non-volatility, solid-stateness, small volume, light weight, shock resistance, high sequential access performance, high random read performance and low power consumption. Though flash memory has been widely applied in embedded systems and various kinds of technologies have been proposed in this area, recently, with the continual increase in capacity and decrease in cost, there are strong motives from both industrial and academic world to apply flash memory in notebook computers and enterprise storage systems, which raise new challenges for building a high performance, high reliable and low power-consuming storage system based on flash memory. In this paper, a comprehensive analysis and summary of the state of the art of technologies that are related to flash memory are given in the hope of enlightening future work. First, an introduction to the characteristics of flash memory and a discussion on the role of flash memory in storage system architecture are presented. Then, several key techniques for efficient exploitation of flash memory are reviewed in detail, including address-mapping technique, garbage collection mechanism, wear-leveling strategy, flash-aware buffer cache replacement strategy, flash-aware indexing data structure and flash-based transaction technique. Finally, a panoramic view is provided and possible future research areas are given.