The Community for Technology Leaders
RSS Icon
Issue No.03 - March (2011 vol.60)
pp: 321-334
Youngwoo Park , Korea Advanced Institute of Science and Technology, Daejeon
Kyu Ho Park , Korea Advanced Institute of Science and Technology, Daejeon
Several flash file systems have been developed based on the physical characteristics of NAND flash memory. However, previous flash file systems have performance overhead and scalability problems caused by metadata management in NAND flash memory. In this paper, we present a flash file system called PFFS2. PFFS2 stores all metadata into virtual metadata storage, which employs Phase-change RAM (PRAM). PRAM is a next-generation nonvolatile memory and will be good for dealing with word-level read/write of small-size data. Based on the virtual metadata storage, PFFS2 can manage metadata in a virtually fixed location and through byte-level in-place updates. Therefore, the performance of PFFS2 is 38 percent better than YAFFS2 for small file read/write while matching YAFFS2 performance for large file. Virtual metadata storage is particularly effective in decreasing the burden of computational and I/O overhead of garbage collection. In addition, PFFS2 maintains a 0.18 second mounting time and 284 KB memory usage in spite of increases in NAND flash memory size. We also propose a wear-leveling solution for PRAM in virtual metadata storage and greatly reduce the total write count of NAND flash memory. In addition, the life span of PFFS2 is longer than other flash file systems.
PRAM, flash file system, embedded system storage, NAND flash memory.
Youngwoo Park, Kyu Ho Park, "High-Performance Scalable Flash File System Using Virtual Metadata Storage with Phase-Change RAM", IEEE Transactions on Computers, vol.60, no. 3, pp. 321-334, March 2011, doi:10.1109/TC.2010.135
[1] F. Douglis, R. Cacers, F. Kaashoek, K. Li, B. Marsh, and J.A. Tauber, "Storage Alternatives for Mobile Computers," Proc. First Symp. Operating Systems Design and Implementation(OSDI), 1994.
[2] C. Park et al., "A High Performance Controller for NAND Flash-Based Solid State Disk (NSSD)," Proc. 21st Non-Volatile Semiconductor Memory Workshop, 2006.
[3] C.-G. Hwang, "Nanotechnology Enables a New Memory Growth Model," Proc. IEEE, vol. 91, no. 11, pp. 1765-1771, Nov. 2003.
[4] K9G8G08U0M Data Sheet, http:/, 2010.
[5] A. Kawaguchi, S. Nishioka, and H. Motoda, "A Flash-Memory Based File System," Proc. USENIX Ann. Technical Conf., 1995.
[6] D. Woodhouse, "JFFS: The Journaling Flash File System," Proc. Ottawa Linux Symp. (OLS), 2001.
[7] "YAFFS: A Flash File System for Embedded Use," http:/, 2010.
[8] J. Piernas, T. Cortes, and J.M. Garcia, "The Design of New Journaling File Systems: The DualFS Case," IEEE Trans. Computers, vol. 56, no. 2, pp. 267-281, Feb. 2007.
[9] G.R. Ganger and Y. Patt, "Metadata Update Performance in File Systems," Proc. First USENIX Symp. Operating Systems Design and Implementation (OSDI), 1994.
[10] E.L. Miller, S.A. Brandt, and D.D.E. long, "HeRMES: High-Performance Reliable MRAM-Enabled Storage," Proc. Eighth IEEE Workshop Hot Topics in Operating Systems (HotOS-VIII), 2001.
[11] M. Baker, S. Asami, E. Deprit, J. Ousterhout, and M. Seltzer, "Non-Volatile Memory for Fast, Reliable File Systems," Proc. Fifth Int'l Conf. Architectural Support for Programming Languages and Operating Systems (ASPLOS), 1992.
[12] YAFFS A NAND-Flash Filesystem, FOSDEM Presentation, http://www.yaffs.netyaffs-talk-slides-presentation-fosdem-2004 , 2004.
[13] M.-K. Choi et al., "A 0.25um 3.0V 1T1C 32Mb Nonvolatile Ferroelectric RAM with Address Transition Detector and Current Forcing Latch Sense Amplifier Scheme," Proc. IEEE Int'l Conf. Integrated Circuit Design and Technology, 2004.
[14] MR2A16A MRAM Datasheet, http:/, 2010.
[15] K.-J. Lee et al., "A 90nm 1.8V 512Mb Diode-Switch PRAM with 266MB/s Read Throughput," IEEE J. Solid-State Circuits, vol. 43, no. 1, pp. 150-162, Jan. 2008.
[16] F. Bedeschi et al., "A Multi-Level-Cell Bipolar-Selected Phase-Change Memory," Proc. IEEE Int'l Solid-State Circuits Conf., 2008.
[17] S. Raoux et al., "Phase-Change Random Access Memory: A Scalable Technology," IBM J. Research and Development, vol. 52, nos. 4/5, pp. 465-479, July-Sept. 2008.
[18] M.K. Qureshi et al., "Enhancing Lifetime and Security of PCM-Based Main Memory with Start-Gap Wear Leveling," Proc. 42nd Ann. IEEE/ACM Int'l Symp. Microarchitecture, 2009.
[19] B.C. Lee et al., "Architecting Phase Change Memory as a Scalable DRAM Alternative," Proc. 36th Ann. Int'l Symp. Computer Architecture, 2009.
[20] "Samsung Introduces Working Prototype of PRAM," http:/, 2010.
[21] "Intel, STMicroelectronics Deliver Industry's First Phase Change Memory Prototypes." http:/, 2010.
[22] Y. Park et al., "PFFS: A Scalable Flash Memory File System for the Hybrid Architecture of Phase Change RAM and NAND Flash," Proc. ACM Symp. Applied Computing, 2008.
[23] J.K. Kim, H.G. Lee, S. Choi, and K.I. Bahng, "A PRAM and NAND Flash Hybrid Architecture for High-Performance Embedded Storage Subsystems," Proc. Eighth ACM and IEEE Int'l Conf. on Embedded Software, 2008.
[24] M. DeVoss, "The Winds of Phase Change are Blowing," Market Brief, iSuppli, May 2007.
[25] KPS5615EZM Data Sheet, http:/, 2010.
[26] G.H. Koh et al., "PRAM Process Technology," Proc. IEEE Int'l Conf. Integrated Circuit Design and Technology, 2004.
[27] S.-H. Lim and K.-H. Park, "An Efficient NAND Flash File System for Flash Memory Storage," IEEE Trans. Computers, vol. 5, no. 7, pp. 906-912, July 2006.
[28] M. Wu and W. Zwaenepoel, "eNVy: A Non-Volatile, Main Memory Storage System," Proc. Sixth Int'l Conf. Architectural Support for Programming Languages and Operating Systems (ASPLOS), 1994.
[29] A.-I.A. Wang et al., "Conquest: Better Performance Through a Disk/Persistent-RAM Hybrid File System," Proc. USENIX Ann. Technical Conf., 2002.
[30] C. Lee, S.H. Baek, and K.H. Park, "A Hybrid Flash File System Based on NOR and NAND Flash Memories for Embedded Devices," IEEE Trans. Computers, vol. 57, no. 7, pp. 1002-1008, July 2008.
[31] I.H. Doh, J. Choi, D. Lee, and S.H. Noh, "Exploiting Non-Volatile RAM to Enhance Flash File System Performance," Proc. Seventh ACM and IEEE Int'l Conf. Embedded Software, 2007.
[32] J.R. Douceur and W.J. Bolosky, "A Large-Scale Study of File-System Contents," Proc. ACM SIGMETRICS, 1999.
[33] W. Vogels, "File System Usage in Windows NT 4.0," Proc. 17th ACM Symp. Operating Systems Principles, 1999.
[34] M. Rosenblum and J.K. Ousterhout, "The Design and Implementation of a Log-Structured File System," ACM Trans. Computer Systems, vol. 10, pp. 26-52, 1992.
[35] 3PARdata, Inc., Thin Provisioning, http:/, 2010.
[36] S. Kang and A.L. Narasimha Reddy, "An Approach to Virtual Allocation in Storage Systems," ACM Trans. Storage, vol. 2, pp. 371-399, 2006.
[37] D. Lee, J. Choi, J.-H. Kim, S.H. Noh, S.L. Min, Y. Cho, and C.S. Kim, "LRFU: A Spectrum of Policies that Subsumes the Least Recently Used and Least Frequently Used Policies," IEEE Trans. Computers, vol. 50, no. 12, pp. 1352-1361, Dec. 2001.
[38] D. Rselli, J.R. Lorch, and T.E. Anderson, "A Comparison of File System Workloads," Proc. USENIX Ann. Technical Conf., 2000.
[39] N. Agrawal et al., "A Five-Year Study of File-System Metadata," Proc. Fifth Conf. File and Storage Technologies (FAST '07), 2007.
[40] A. Kawaguchi, S. Nishioka, and H. Motoda, "A Flash Memory Based File System," Proc. USENIX Ann. Technical Conf., 1995.
[41] H.-J. Kim and S.-G. Lee, "A New Flash Memory Management for Flash Storage System," Proc. 23rd Ann. Int'l Computer Software and Applications Conf., 1999.
[42] L.-P. Chang, T.-W. Kuo, and S.-Wu, "Real-Time Garbage Collection for Flash-Memory Storage Systems of Real-Time Embedded Systems," ACM Trans. Embedded Computing Systems, vol. 3, pp. 837-863, 2004.
[43] M.-L. Chiang, C.-L. Cheng, and C.-H. Wu, "A New FTL-Based Flash Memory Management Scheme with Fast Cleaning Mechanism," Proc. Int'l Conf. Embedded Software and Systems, 2008.
[44] K1S5616BCM Data Sheet, http:/, 2010.
[45] J. Katcher, "PostMark: A New File System Benchmark," Technical Report TR3022, Network Appliance Inc., 1997.
34 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool