Design, Implementation, and Performance Evaluation of File System on a Chip

파일시스템을 내장한 저장장치의 설계, 구현 및 성능분석

  • 안성준 (서울대학교 전기컴퓨터공학부) ;
  • 최종무 (단국대학교 정보컴퓨터공학부) ;
  • 이동희 (서울시립대학교 컴퓨터과학부) ;
  • 노삼혁 (홍익대학교 정보컴퓨터공학부) ;
  • 민상렬 (서울대학교 전기및컴퓨터공학부) ;
  • 조유근 (서울대학교 전기및컴퓨터공학부)
  • Published : 2004.12.01

Abstract

Interoperability is an important requirement of portable storage devices that are used to exchange and share data among diverse hosts. However, the required interoperability cannot be provided if different host systems use different file systems. To address this problem, we propose a new type of storage device called FSOC(File System On a Chip) that contains the file system within the storage device. In this paper, we give an example of the design and implementation of a flash memory-based FSOC and propose the performance models of the conventional storage device and the FSOC. We also analyze the performance characteristics of the conventional storage device and the FSOC based on the proposed performance models, and provide several experimental results using real applications that validate the performance models.

References

  1. G. R. Ganger, 'Blurring the Line Between OSes and Storage Devices,' Tech. rep., CMU-CS-01166, Carnegie Mellon University, 2001
  2. J. Schindler, J. L. Griffin, C. R. Lumb, and G. R. Ganger, 'Track-aligned Extents: Matching Access Patterns to Disk Drive Characteristics,' in Proc. the First USENIX Conference on File and Storage Technologies, pp. 259-274, 2002
  3. R. Wang, T. E. Anderson, and D. A. Patterson, 'Virtual Log-Based File Systems for a Program-mable Disk,' in Proc. the Third Symposium on Operating Systems Design and Implementation, pp. 29-43, 1999
  4. C. R. Lumb, J. Schindler, and G. R. Ganger, 'Freeblock Scheduling Outside of Disk Firmware,' in Proc. the First USENIX Conference on File and Storage Technologies, pp. 275-288, 2002
  5. A. Acharya, M. Uysal, and J. Saltz, 'Active Disks: Programming Model, Algorithms and Evaluation,' in Proc. the 8th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 81-91, 1998 https://doi.org/10.1145/291069.291026
  6. K. Keeton, D. A. Patterson and J. M. Hellerstein, 'A Case for Intelligent Disks (IDISKs),' in Proc. the ACM SIGMOD International Conference on Management of Data, pp. 42-52, 1998
  7. D. Anderson, 'Object Based Storage Devices: A Command Set Proposal,' Tech. rep., National Storage Industry Consortium, 1999
  8. OSD workgroup, http://www.snia.org/tech_activities/ workgroups/osd
  9. F. Douglis, R. Caceres, F. Kaashoek, K. Li, B. Marsh, and J. A. Tauber, 'Storage Alternatives for Mobile Computers,' in Proc. the First Symposium on Operating Systems Design and Implementation, pp. 25-37, 1994
  10. B. Marsh, F. Douglis, and P. Krishnan, 'Flash Memory File Caching for Mobile Computers,' in Proc. the 27th Annual Hawaii International Conference on Systems Sciences, pp. 451-461, 1994 https://doi.org/10.1109/HICSS.1994.323153
  11. D. Woodhouse, Red Hat, Inc., 'JFFS: The Jour-nalling Flash File System,' http://sources.redhat. com/jffs2/jffs2-html/
  12. Aleph One Company, 'Yet Another Flash Filing System,' http://www.alephl.co.uk/armlinux/projects /yaffs/
  13. M. Rosenblum, and J. K. Ousterhout, 'The Design and Implementation of a Log-Structured File System,' ACM Transactions on Computer Systems, Vol.10, No.1, pp.26-52, 1992 https://doi.org/10.1145/146941.146943
  14. CompactFlash Association, 'Information about CompactFlash,' http://www.compactflash.org/
  15. MultiMediaCard Association, http://www.mmca.org
  16. A. Kawaguchi, S. Nishioka, and H. Motoda, 'A Flash-Memory Based File System,' in Proc. the Winter USENIX Technical Conference, pp. 155-164, 1995
  17. M. Wu and W. Zwaenepoel, 'eNVy: A NonVolatile, Main Memory Stroage System,' In Proceedings of the ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pp. 86-97, 1994 https://doi.org/10.1145/381792.195506
  18. Intel Corporation, 'Understanding the Flash Translation Layer (FTL) Specification,' http://developer.intel.com
  19. MTD, 'Memory Technology Device (MTD) subsystem for Linux,' http://www.linux-mtd.infradead.org
  20. A. D. Chandrakasan, et al, 'Low-power CMOS digital design,' IEEE J. Solid-State Circuits, vol. 27, no. 4, pp.473-483, Apr. 1992 https://doi.org/10.1109/4.126534
  21. A. Birrel and B. Nelson, 'Implementing Remote Procedure Calls,' ACM Transactions on Computer Systems, Vol. 2, No. 1, pp. 39-59, 1984 https://doi.org/10.1145/2080.357392
  22. Samsung Electronics Corporation, 'S3F49FAX for Compact Flash Specification Revision 1.0,' http://www.samsung.com/Products/Semiconductor/Syste mLSI/Microcontrollers/32_bit/MemoryCardControlle r/S3F49FAX/S3F49FAX.htm
  23. Personal Computer Card Interface Association, 'PCMCIA PC Card Standard Release 2.1,' 1993
  24. Compaq Computer Corporation, Hewlett-Packard Company, Intel Corporation, Lucent Technologies Inc, Microsoft Corporation, NEC Corporation, Koninklijke Philips Electronics, 'Universal Serial Bus Specification Revision 2.0,' 2000
  25. J. K. Ousterhout, 'Why Aren't Operating Systems Getting Faster As Fast as Hardware?' in Proc. the Summer USENIX Technical Conference, pp. 247-256, 1990