A Unified Software Architecture for Storage Class Random Access Memory

스토리지 클래스 램을 위한 통합 소프트웨어 구조

  • Published : 2009.06.15

Abstract

Slowly, but surely, we are seeing the emergence of a variety of embedded systems that are employing Storage Class RAM (SCRAM) such as FeRAM, MRAM and PRAM, SCRAM not only has DRAM-characteristic, that is, random byte-unit access capability, but also Disk-characteristic, that is, non-volatility. In this paper, we propose a new software architecture that allows SCRAM to be used both for main memory and for secondary storage simultaneously- The proposed software architecture has two core modules, one is a SCRAM driver and the other is a SCRAM manager. The SCRAM driver takes care of SCRAM directly and exports low level interfaces required for upper layer software modules including traditional file systems, buddy systems and our SCRAM manager. The SCRAM manager treats file objects and memory objects as a single object and deals with them in a unified way so that they can be interchanged without copy overheads. Experiments conducted on real embedded board with FeRAM have shown that the SCRAM driver indeed supports both the traditional F AT file system and buddy system seamlessly. The results also have revealed that the SCRAM manager makes effective use of both characteristics of SCRAM and performs an order of magnitude better than the traditional file system and buddy system.

바이트 단위 임의 접근이라는 램 특성과, 비휘발성이라는 디스크의 특성을 동시에 제공하는 FeRAM, MRAM, PRAM등의 스토리지 클래스 램(Storage Class Random Access Memory, SCRAM)이 소형 임베디드 시스템을 중심으로 점차 그 활용범위를 넓혀가고 있다. 본 논문에서는 SCRAM을 주기억 장치 및 보조 기억 장치로서 동시에 사용할 수 있는 차세대 통합 소프트웨어 구조를 제안한다. 제안된 구조는 크게 스토리지 클래스 램 드라이버(SCRAM Driver)와 스토리지 클래스 램 관리자(SCRAM Manager)로 구성된다. SCRAM Driver는 SCRAM을 직접 관리하며, FAT이나 Ext2와 같은 전통적인 파일 시스템이나 버디 할당자와 같은 전통적인 메모리 관리자, 혹은 SCRAM Manager 등의 상위 소프트웨어 계층에 저수준 인터페이스를 제공한다. SCRAM Manager는 파일 객체와 메모리 객체를 통합하여 관리함으로써 이들 간에 부가적인 비용이 없는 변환을 가능케 한다. 제안된 기법은 FeRAM이 장착된 실제 시스템에서 실험되었으며, 실험 결과를 통해 SCRAM Driver가 효율적으로 전통적인 파일시스템과 메모리 관리자가 요구하는 기능을 제공할 수 있음을 보였다. 또한 기존의 파일 시스템과 메모리 관리자를 통해 각각 SCRAM을 접하는 경우보다 SCRAM Manager가 수십 배 빠른 성능을 보임을 확인할 수 있었다.

Keywords

References

  1. G. B. Burr, B. N. Kurdi, J. C. Scott, C. H. Lam, K. Gopalakrishnan, and R. S. Shenoy, "Overview of Candidate Device Technologies for Storage-Class Memory", IBM Journal of Research and Development, 52(4):449-464, 2008.
  2. A. K. Sharma, "Advanced semiconductor Memories: Architectures, Designs, and Applications," Wiley Interscience, 2003.
  3. Ramtron's FeRAM-equipped systems, "http://www.ramtron.com/applications/computing.aspx"
  4. Freescale's MRAM Technology, "http://www.freescale.com"
  5. M. Baker, S. Asami, E. Deprit, J. Ouseterhout, and M. Seltzer, "Non-Volatile Memory for Fast, Reliable File Systems," In Proceedings of the 5th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 10-22, 1992.
  6. M. Baker and M. Sullivan, "The Recovery Box: Using Fast Recovery to Provide High Availability in the Unix Environment," In USENIX Summer Technical Conference, pp. 31-44, 1992.
  7. W. Stallings, "Operating Systems: Internals and Design Principles," Prentice Hall, 5th Edition, 2007.
  8. D. Bovet, and M. Cesati, "Understanding the Linux Kernel." O'Reilly, 3rd Edition, 2007.
  9. N. K. Edel, D. Tuteja, E. L. Miller, and S. A. Brandt, "MRAMFS: A Compressing File System for Non-Volatile RAM, "In Proceedings of the 12th Annual Meeting of the IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems, pp. 596-603, 2004.
  10. PRAMFS, "http://pramfs.sourceforge.net"
  11. S. Baek, C. Hyun, J. Choi, D. Lee, and S. H. Noh, "Design and Analysis of a Space Conscious Nonvolatile-RAM File System," In Proceedings of the IEEE TENCON, 2006.
  12. E. L. Miller, S. A. Brandt, and D. D. E. Long, "HeRMES: High-Performance Reliable MRAMEnabled Storage," In Proceedings of the 8th HotOS, pp. 95-99, 2001.
  13. A. I. A. Wang, G. Kuenning, P. Reiher, and G. Popek, "The Conquest File System: Better Performance Through a Disk/Persistent-RAM Hybrid Design", ACM Transactions on Storage, 2(3):309-348, 2006. https://doi.org/10.1145/1168910.1168914
  14. I. H. Doh, J. Choi, D. Lee, And S. H. Noh, "Exploiting Non-Volatile RAM to Enhance Flash File System Performance," In Proceedings of the 7th ACM & IEEE International Conference on Embedded Software, pp. 164-173, 2007.
  15. S. Akyurek and K. Salem, "Management of Partially Safe Buffers," IEEE Transactions on Computers, 44(3):394-407, 1995. https://doi.org/10.1109/12.372032
  16. T. R. Haining and D. D. E Long, "Management Policies for Non-Volatile Write Caches," In Proceedings of the IEEE International Conference on Computing and Communications Performance, pp. 321-328, 1999.
  17. P. M. Chen, W. T. Ng, S. Chandra, C. Aycock, G. Rajamani, and D. Lowell, "The Rio File Cache: Surviving Operating System Crashes," In Proceedings of the 7th International Conference on Architectural Support for Programming Languages and Operating Systmes, pp. 74-83, 1996.
  18. M. Wu, and W. Zwaenepoel, "eNVy: A Non- Volatile, Main Memory Storage System," In Proceedings of the 5th International Conference on Architectural Support for Programming Languages and Operating System, 1994.
  19. L. W. Mcvoy and S. R. Klieiman, "Extent-like Performance for a UNIX File System," In USENIX Winter Technical Conference, 1991.
  20. J. H. Howard, M. L. Kazar, S. G. Menees, D. A. Nichols, M. Satyanarayanan, R. N. Sidebotham, and M. J. West, "Scale and Performance in a distributed file system," ACM Transactions on Computer Systems, 6(1), 1998.
  21. J. Katcher, "Postmark: A New Filesystem Benchmark," Technical Report TR3022, Network Appliance, 1997.
  22. Source Forge, "http://www.sourceforge.net"