Write operations in flash memory should be preceded by erase operations, which take an order of magnitude longer than writes. Therefore an update of a single byte causes an erasing of the whole block as well as restoration of a large amount of data. In order to avoid erasing during every update, non-inplace update schemes have been used. Obsolete data are later recycled by garbage collection. In this paper, we study a new garbage collection algorithm for the N-log block flash memory storage system, to reduce the recycling cost such as the number of erase operations and the number of data copies. The proposed scheme selects the victims according to the age and utilization. And selection algorithm changes dynamically with the I/O workload. Experimental results show that the proposed scheme reduces the extra erase operations greatly.
展开▼