Flash memory is widely used in embedded de- vices and enterprise storage systems. Currently, flash-based storage devices usually use a flash translation layer (FFL) to cope with the special features of flash memory....Flash memory is widely used in embedded de- vices and enterprise storage systems. Currently, flash-based storage devices usually use a flash translation layer (FFL) to cope with the special features of flash memory. Many meth- ods for the design and implementation of the FTL have been proposed, such as BAST (block-associative sector transla- tion), FAST (fully associative sector translation), and IPL (in- page logging), of which IPL has been demonstrated to have the best performance. However, IPL offers little considera- tion to reducing merge operations that consequently result in the degradation of the overall performance of flash-memory storage systems. We propose an improvement to IPL, called adaptive IPL (AIPL). The idea of adaptive IPL is to make the log region in a block resizable, therefore a hot block (i.e., a write-intensive block) will use a large log region so as to absorb more page updates and in turn reduce the merge op- erations, while a cold block, i.e., a block rarely written to, will use a small log region. This is realized by first detecting the update pattern of a block and then presenting an update- pattern-based algorithm to dynamically adjust the log region size of a newly allocated block. We conduct experiments on TPC-C traces and synthetic traces and compare the perfor- mance of AIPL with other competitors in terms of merge count, write count and elapsed time. The results demonstrate that compared with IPL, AIPL can reduce merge operations by 65% and write operations by 54% on average.展开更多
文摘Flash memory is widely used in embedded de- vices and enterprise storage systems. Currently, flash-based storage devices usually use a flash translation layer (FFL) to cope with the special features of flash memory. Many meth- ods for the design and implementation of the FTL have been proposed, such as BAST (block-associative sector transla- tion), FAST (fully associative sector translation), and IPL (in- page logging), of which IPL has been demonstrated to have the best performance. However, IPL offers little considera- tion to reducing merge operations that consequently result in the degradation of the overall performance of flash-memory storage systems. We propose an improvement to IPL, called adaptive IPL (AIPL). The idea of adaptive IPL is to make the log region in a block resizable, therefore a hot block (i.e., a write-intensive block) will use a large log region so as to absorb more page updates and in turn reduce the merge op- erations, while a cold block, i.e., a block rarely written to, will use a small log region. This is realized by first detecting the update pattern of a block and then presenting an update- pattern-based algorithm to dynamically adjust the log region size of a newly allocated block. We conduct experiments on TPC-C traces and synthetic traces and compare the perfor- mance of AIPL with other competitors in terms of merge count, write count and elapsed time. The results demonstrate that compared with IPL, AIPL can reduce merge operations by 65% and write operations by 54% on average.