Optimizing random write performance of FAST FTL for NAND flash memory

The NAND flash memory has gained its popularity as a storage device for consumer electronics due to its higher performance and lower power consumption. In most of these devices, an FTL (Flash Translation Layer) is adopted to emulate a block device interface to support the conventional disk-based file systems that make the flash management much easier. Among various FTLs, the FAST (Fully-Associative Sector Translation) FTL has shown superior performance, becoming one of the state-of-the-art approaches. However, the FAST FTL performs poorly while dealing with a huge number of small-sized random writes brought by upper applications such as database transaction processing workloads. The two important reasons are the absence of efficient selection schemes for the reclaiming of random log blocks that leads to large overhead of full merges, and the sequential log block scheme which no longer applies to random writes due to the large costs of partial merges. To overcome the above two defects in the presence of random writes, two techniques have been proposed. The first technique reduced full merge costs by adopting a novel random log block selection algorithm, based on the block associativity and the relevant-valid-page-amount of random log blocks as the key block selection criterion. The second technique replaced the sequential log block with a random log block to eliminate the overhead of partial merges. Experimental results showed that our optimizations can outperform FAST FTL significantly in three aspects: erase counts, page migration amount, and response time. The maximum improvement level in these cases could reach up to 66.8%, 98.2%, and 51.0%, respectively.

[1]  Dong-Ho Lee,et al.  HFTL: hybrid flash translation layer based on hot data identification for flash memory , 2009, IEEE Transactions on Consumer Electronics.

[2]  Lei Zhang,et al.  S-FTL: An efficient address translation for flash memory by exploiting spatial locality , 2011, 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST).

[3]  Rina Panigrahy,et al.  Design Tradeoffs for SSD Performance , 2008, USENIX ATC.

[4]  Ruixuan Li,et al.  CAST: A page-level FTL with compact address mapping and parallel data blocks , 2012, 2012 IEEE 31st International Performance Computing and Communications Conference (IPCCC).

[5]  Sang Lyul Min,et al.  A space-efficient flash translation layer for CompactFlash systems , 2002, IEEE Trans. Consumer Electron..

[6]  Ruei-Chuan Chang,et al.  Managing flash memory in personal communication devices , 1997, ISCE '97. Proceedings of 1997 IEEE International Symposium on Consumer Electronics (Cat. No.97TH8348).

[7]  Gregory R. Ganger,et al.  The DiskSim Simulation Environment Version 4.0 Reference Manual (CMU-PDL-08-101) , 1998 .

[8]  Youngjae Kim,et al.  DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings , 2009, ASPLOS.

[9]  Jin-Soo Kim,et al.  FAB: flash-aware buffer management policy for portable media players , 2006, IEEE Transactions on Consumer Electronics.

[10]  Nong Xiao,et al.  P3Stor: A parallel, durable flash-based SSD for enterprise-scale storage systems , 2011, Science China Information Sciences.

[11]  Heeseung Jo,et al.  Superblock FTL: A superblock-based flash translation layer with a hybrid address translation scheme , 2010, TECS.

[12]  Renhai Chen,et al.  BLog: block-level log-block management for NAND flash memorystorage systems , 2013, LCTES '13.

[13]  Da-Wei Chang,et al.  Techniques for improving performance of the FAST (fully-associative sector translation) flash translation layer , 2011, IEEE Transactions on Consumer Electronics.

[14]  Chundong Wang,et al.  TreeFTL: Efficient RAM management for high performance of NAND flash-based storage systems , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[15]  Bernard Pottier,et al.  Guest editorial CAPA'08 configurable computing: Configuring algorithms, processes, and architecture issue I: Configuring algorithms and processes , 2009, TECS.

[16]  Bongki Moon,et al.  FASTer FTL for Enterprise-Class Flash Memory SSDs , 2010, 2010 International Workshop on Storage Network Architecture and Parallel I/Os.

[17]  Dae San Kim,et al.  Home network message specification for white goods and its applications , 2002, IEEE Trans. Consumer Electron..

[18]  Yuping Wang,et al.  PAB: Parallelism-Aware Buffer Management Scheme for Nand-Based SSDs , 2013, 2013 IEEE 21st International Symposium on Modelling, Analysis and Simulation of Computer and Telecommunication Systems.

[19]  Hiroshi Motoda,et al.  A Flash-Memory Based File System , 1995, USENIX.

[20]  Antony I. T. Rowstron,et al.  Write off-loading: Practical power management for enterprise storage , 2008, TOS.

[21]  Dongkun Shin,et al.  KAST: K-associative sector translation for NAND flash memory in real-time systems , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[22]  Peiquan Jin,et al.  CCF-LRU: a new buffer replacement algorithm for flash memory , 2009, IEEE Transactions on Consumer Electronics.

[23]  Jen-Wei Hsieh,et al.  VAST: Virtually Associative Sector Translation for MLC Storage Systems , 2013, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.