Mei-Ling Chiang, Paul C. H. Lee and Ruei-Chuan Chang
Flash memory offers attractive features for storage of data, such as non-volatility, shock resistance, fast access speed, and low power consumption. However, it requires erasing before it can be overwritten. The erase operations are slow and consume comparatively a great deal of power. Furthermore, flash memory can only be erased a limited number of times. To manage flash memory effectively, we propose in this paper a new approach to reduce the number of erase operations performed. Via the accessing frequency of data, data is dynamically classified and clustered together to reduce the amount of data copied and the number of erase-operations. In addition, an adaptive cleaning manager is designed to dynamically adjust cleaning policies in response to the variations of data access behavior. Performance evaluations through real implementation on a flash memory server and trace-driven simulation show that the number of erase operations was reduced by 16~22.6%, the number of blocks copied was reduced by 20.1~28.4%, and throughput was improved by 19.5~25.2%. Even wearing is also ensured.