CCM: Low cost dynamic data exchange to emulate RAM on NAND flash

In embedded systems, it brings great benefits to use NAND flash for dynamic data exchange like using RAM, since RAM is usually expensive and consumes much energy. However, the major hardware limitations of NAND flash make it difficult to directly and dynamically read\write\erase on NAND flash. Traditional virtual memory systems are all based on flash translation layer and file system, which lead to frequently flash read\write\erase and more RAM requirement. To address this problem, we propose a Comet Circle Model (CCM) to emulate RAM for low cost embedded systems in this paper. CCM dynamically makes the distribution of valid pages in NAND flash follow a fixed function through integrating its physical page-level mapping and circularly write-back techniques. As a result, CCM can select a block without valid pages to write data almost every time in data writing, which avoids data moving among blocks. Both theoretical analysis and experimental results show that the data moving times and erase counts of CCM closely reach the theoretical lower bounds.

[1]  Chia-Lin Yang,et al.  Energy-Aware Flash Memory Management in Virtual Memory System , 2008 .

[2]  Peiquan Jin,et al.  CFDC: a flash-aware replacement policy for database buffer management , 2009, DaMoN '09.

[3]  Yuhui Deng,et al.  Architectures and optimization methods of flash memory based storage systems , 2011, J. Syst. Archit..

[4]  서운식 A mass storage device having both xip function and storage fuction , 2006 .

[5]  Kanghee Kim,et al.  RT-PLRU: A New Paging Scheme for Real--Time Execution of Program Codes on NAND Flash Memory for Portable Media Players , 2011, IEEE Transactions on Computers.

[6]  Zili Shao,et al.  FTL2: a hybrid flash translation layer with logging for write reduction in flash memory , 2013, LCTES '13.

[7]  Chanik Park,et al.  Cost-efficient memory architecture design of NAND flash memory embedded systems , 2003, Proceedings 21st International Conference on Computer Design.

[8]  Yann-Hang Lee,et al.  A Real-Time Flash Memory File System (RTFFS) for Embedded Applications , 2006, Int. J. Comput. Their Appl..

[9]  Tei-Wei Kuo,et al.  A reliable MTD design for MLC flash-memory storage systems , 2010, EMSOFT '10.

[10]  Sooyong Kang,et al.  LRU-WSR: integration of LRU and writes sequence reordering for flash memory , 2008, IEEE Transactions on Consumer Electronics.

[11]  Chanik Park,et al.  Energy-aware demand paging on NAND flash-based embedded storages , 2004, Proceedings of the 2004 International Symposium on Low Power Electronics and Design (IEEE Cat. No.04TH8758).

[12]  Peter Desnoyers,et al.  Empirical evaluation of NAND flash memory performance , 2010, OPSR.

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

[14]  David Seal,et al.  ARM Architecture Reference Manual , 2001 .

[15]  Chang-Gun Lee,et al.  A Generic Framework for Soft Real-Time Program Executions on NAND Flash Memory in Multi-Tasking Embedded Systems , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[16]  Tei-Wei Kuo,et al.  A strategy to emulate NOR flash with NAND flash , 2010, TOS.

[17]  Chanik Park,et al.  A low-cost memory architecture with NAND XIP for mobile embedded systems , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[18]  Joonwon Lee,et al.  CFLRU: a replacement algorithm for flash memory , 2006, CASES '06.

[19]  Tei-Wei Kuo,et al.  A NOR Emulation Strategy over NAND Flash Memory , 2007, 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2007).

[20]  Zili Shao,et al.  A Space Reuse Strategy for Flash Translation Layers in SLC NAND Flash Memory Storage Systems , 2012, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[21]  Chang-Gun Lee,et al.  Real-Time Program Execution on NAND Flash Memory for Portable Media Players , 2008, 2008 Real-Time Systems Symposium.

[22]  Zhen He,et al.  Multi-buffer manager: Energy-efficient buffer manager for databases on flash memory , 2010, TECS.

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

[24]  Chang-Gun Lee,et al.  mRT-PLRU: A General Framework for Real-Time Multitask Executions on NAND Flash Memory , 2013, IEEE Trans. Computers.