A Dynamic Switching Flash Translation Layer Based on Page-Level Mapping

Dongchul PARK  Biplob DEBNATH  David H.C. DU  

IEICE TRANSACTIONS on Information and Systems   Vol.E99-D   No.6   pp.1502-1511
Publication Date: 2016/06/01
Online ISSN: 1745-1361
DOI: 10.1587/transinf.2015EDP7406
Type of Manuscript: PAPER
Category: Computer System
FTL,  flash translation layer,  CFTL,  SSD,  flash memory,  

Full Text: PDF(1.4MB)
>>Buy this Article

The Flash Translation Layer (FTL) is a firmware layer inside NAND flash memory that allows existing disk-based applications to use it without any significant modifications. Since the FTL has a critical impact on the performance and reliability of flash-based storage, a variety of FTLs have been proposed. The existing FTLs, however, are designed to perform well for either a read intensive workload or a write intensive workload, not for both due to their internal address mapping schemes. To overcome this limitation, we propose a novel hybrid FTL scheme named Convertible Flash Translation Layer (CFTL). CFTL is adaptive to data access patterns with the help of our unique hot data identification design that adopts multiple bloom filters. Thus, CFTL can dynamically switch its mapping scheme to either page-level mapping or block-level mapping to fully exploit the benefits of both schemes. In addition, we design a spatial locality-aware caching mechanism and adaptive cache partitioning to further improve CFTL performance. Consequently, both the adaptive switching scheme and the judicious caching mechanism empower CFTL to achieve good read and write performance. Our extensive evaluations demonstrate that CFTL outperforms existing FTLs. In particular, our specially designed caching mechanism remarkably improves the cache hit ratio, by an average of 2.4×, and achieves much higher hit ratios (up to 8.4×) especially for random read intensive workloads.