在闪存存储系统的脏块回收过程中,按照对数据操作的时间,将脏块中的有效数据分拣成“热”数据和“冷”数据,分别写入到当前“热”写入块和“冷”写入块中,减少在回收过程中多次对“冷”数据的无意义重复拷贝;同时在挑选脏块进行回收时,利用脏块中的有效数据量、块的最近更新时间、以及块的磨损程度构造代价函数,选整体效果最优的脏块进行回收操作.实验表明,与当前各种主要脏块回收算法相比,有较好的回收操作效率,降低了总体的块磨损程度,并有较好的块磨损均衡度.
NAND Flash memory won its edge over many other storage media for embedded system, because it is high-density of storage and high-speed of data access. In this paper, garbage collection algorithms for flash-memory storage system are considered. This paper presents the GCbTL(GC based Temporal Locality) algorithm, which realizes two key idea: To separate " hot" and "cold" data from available data of dirty block based on written time of data, and to write it back to "hot" current writable block or "cold" current writable block respectively, which reduces many meaningless copy operation of "cold" data during the garbage process. The proposed algorithm requires no complicated tuning, and it resists changes of temporal locality in workloads. Extensive evaluation and comparison were conducted, and the merits of the proposed algorithm are justified in terms of garbage collection performance of flash-memory storage management system and wear-leveling of block.