Exploiting Minipage-Level Mapping to Improve Write Efficiency of NAND Flash

Pushing NAND flash memory to higher density, manufacturers are aggressively enlarging the flash page size. However, the sizes of I/O requests in a wide range of scenarios do not grow accordingly. Since a page is the unit of flash read/write operations, traditional flash translation layers (FTLs) maintain the page mapping regularity. Hence, small random write requests become common, leading to extensive partial logical page writes. This write inefficiency significantly degrades the performance and increases the write amplification of flash storage. In this paper, we first propose a configurable mapping layer, called minipage, whose size is set to match I/O request sizes. The minipage-level mapping provides better flexibility in handling small writes at the cost of sequential read performance degra­dation and a larger mapping table. Then, we propose a new FTL, called PM-FTL, that exploits the minipage-level mapping to improve write efficiency and utilizes the page-level mapping to reduce the costs caused by the minipage-level mapping. Finally, trace-driven simulation results show that compared to traditional FTLs, PM-FTL reduces the write amplification and flash storage response time by an average of 33.4% and 19.1%, up to 57.7% and 34%, respectively, under 16KB flash pages and 4KB minipages.

[1]  Dan Feng,et al.  Mapping granularity adaptive FTL based on flash page re-programming , 2017, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017.

[2]  Seung Ryoul Maeng,et al.  Sector log: fine-grained storage management for solid state drives , 2011, SAC '11.

[3]  Jin-Soo Kim,et al.  An empirical study of hot/cold data separation policies in solid state drives (SSDs) , 2013, SYSTOR '13.

[4]  Heeseung Jo,et al.  A superblock-based flash translation layer for NAND flash memory , 2006, EMSOFT '06.

[5]  David Hung-Chang Du,et al.  CFTL: a convertible flash translation layer adaptive to data access patterns , 2010, SIGMETRICS '10.

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

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

[8]  강민철,et al.  Subpage based flash translation layer for solid state drivers = SSD를 위한 서브 페이지 기반 플래시 변환 기법 , 2016 .

[9]  Sang-Won Lee,et al.  A log buffer-based flash translation layer using fully-associative sector translation , 2007, TECS.

[10]  Eitan Yaakobi,et al.  The Devil Is in the Details: Implementing Flash Page Reuse with WOM Codes , 2016, FAST.

[11]  Nimrod Megiddo,et al.  ARC: A Self-Tuning, Low Overhead Replacement Cache , 2003, FAST.

[12]  Hong Jiang,et al.  Performance impact and interplay of SSD parallelism through advanced commands, allocation strategy and data granularity , 2011, ICS '11.

[13]  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).

[14]  Onur Mutlu,et al.  Error patterns in MLC NAND flash memory: Measurement, characterization, and analysis , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[15]  Ming Zhao,et al.  Client-side Flash Caching for Cloud Systems , 2014, SYSTOR 2014.

[16]  Wei Wang,et al.  ReconFS: a reconstructable file system on flash storage , 2014, FAST.

[17]  Joo Young Hwang,et al.  F2FS: A New File System for Flash Storage , 2015, FAST.

[18]  Youngjae Kim,et al.  FlashSim: A Simulator for NAND Flash-Based Solid-State Drives , 2009, 2009 First International Conference on Advances in System Simulation.