Read leveling for flash storage systems

Due to its several attractive benefits such as shock resistance, energy efficiency, and space-efficient form factor, flash memory is now applied to a wide range of electronics. Typically, since write requests are harmful to the health of flash memory, some flash-based storage devices tend to be deployed for read-intensive applications recently. However, as the technology node keeps going, read disturbance becomes a worsening problem in flash memory. Even under a pure read workload, flash memory often needs to refresh disturbed data, which brings about additionalwrite and erase operations. In this work, we propose a new design direction, read leveling, that aims at distributing read-hot data over different flash blocks. Thus, all read operations could be issued to different blocks as evenly as possible, so as to minimize the interference between read-hot data and other valid data on the same block and avoid refreshing cost. A series of experiments were conducted to prove the effectiveness of the proposed concept, and the results are very encouraging.

[1]  K. Hsieh,et al.  Future challenges of flash memory technologies , 2009 .

[2]  YunSeung Shin,et al.  Non-volatile memory technologies for beyond 2010 , 2005, Digest of Technical Papers. 2005 Symposium on VLSI Circuits, 2005..

[3]  Li-Pin Chang,et al.  A low-cost wear-leveling algorithm for block-mapping solid-state disks , 2011, LCTES '11.

[4]  Tong Zhang,et al.  On the Use of Soft-Decision Error-Correction Codes in nand Flash Memory , 2011, IEEE Transactions on Circuits and Systems I: Regular Papers.

[5]  Tei-Wei Kuo,et al.  Endurance Enhancement of Flash-Memory Storage, Systems: An Efficient Static Wear Leveling Design , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[6]  Wei Liu,et al.  Low-Power High-Throughput BCH Error Correction VLSI Design for Multi-Level Cell NAND Flash Memories , 2006, 2006 IEEE Workshop on Signal Processing Systems Design and Implementation.

[7]  Trevor N. Mudge,et al.  FlashCache: a NAND flash memory file cache for low power web servers , 2006, CASES '06.

[8]  Tei-Wei Kuo,et al.  A disturb-alleviation scheme for 3D flash memory , 2013, 2013 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[9]  阿米尔·班 Flash File System , 1994 .

[10]  Ruei-Chuan Chang,et al.  Cleaning policies in mobile computers using flash memory , 1999, J. Syst. Softw..

[11]  Sang-Won Lee,et al.  FAST: An Efficient Flash Translation Layer for Flash Memory , 2006, EUC Workshops.

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

[13]  David Hung-Chang Du,et al.  Rejuvenator: A static wear leveling algorithm for NAND flash memory with minimized overhead , 2011, 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST).

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

[15]  Zhongfeng Wang,et al.  Error correction for multi-level NAND flash memory using Reed-Solomon codes , 2008, 2008 IEEE Workshop on Signal Processing Systems.

[16]  Tei-Wei Kuo,et al.  An Adaptive Two-Level Management for the Flash Translation Layer in Embedded Systems , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

[17]  Jihong Kim,et al.  A read-disturb management technique for high-density NAND flash memory , 2013, APSys.

[18]  Tei-Wei Kuo,et al.  An adaptive striping architecture for flash memory storage systems of embedded systems , 2002, Proceedings. Eighth IEEE Real-Time and Embedded Technology and Applications Symposium.

[19]  Mendel Rosenblum,et al.  The design and implementation of a log-structured file system , 1991, SOSP '91.

[20]  Tei-Wei Kuo,et al.  On trading wear-leveling with heal-leveling , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

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

[22]  Nikil D. Dutt,et al.  3D-FlashMap: A physical-location-aware block mapping strategy for 3D NAND flash memory , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[23]  Trevor N. Mudge,et al.  Improving NAND Flash Based Disk Caches , 2008, 2008 International Symposium on Computer Architecture.