고성능 플래시 메모리 솔리드 스테이트 디스크

A High Performance Flash Memory Solid State Disk

  • 윤진혁 (엠트론스토리지테크놀로지(주)) ;
  • 남이현 (서울대학교 컴퓨터공학부) ;
  • 성윤제 (서울대학교 컴퓨터공학부) ;
  • 김홍석 (서울대학교 컴퓨터공학부) ;
  • 민상렬 (서울대학교 컴퓨터공학부) ;
  • 조유근 (서울대학교 컴퓨터공학부)
  • 발행 : 2008.06.15

초록

플래시 메모리는 전력 소모가 작고 충격과 진동에 강하며 크기가 작다는 특성 때문에 최근 노트북이나 UMPC(Ultra Mobile PC)와 같은 이동 컴퓨팅 시스템에서 하드디스크를 대체할 대용량 저장 매체로서 주목 받고 있다. 플래시 메모리에 기반한 저장 장치는 일반적으로 랜덤 읽기 성능이나 순차 읽기, 순차 쓰기 성능이 매우 좋은데 비해, 덮어쓰기가 불가능한 플래시 메모리의 물리적인 제약으로 인하여 소량의 랜덤 쓰기 성능은 떨어진다. 본 논문은 이 문제를 해결하기 위한 두 가지 중요한 특징을 갖는 SSD(Solid State Disk) 아키텍처를 제안하였다. 첫 번째로 비휘발성 이면서도 SRAM과 동일한 인터페이스로 덮어쓰기가 가능한 작은 크기의 FRAM(Ferroelectric RAM)을 NAND 플래시 메모리와 함께 사용하여 소량 쓰기 오버헤드를 최소화하였다. 두 번째, 호스트 쓰기 요청들도 소량 랜덤 쓰기와 대량 순차 쓰기로 분류하여 각각에 대해 최적의 쓰기 버퍼 관리 방법을 적용하였다. 평가 보드 상에서 SSD 프로토타입을 구현하고 PC 사용 환경의 워크로드에 기반한 벤치마크를 이용하여 성능을 평가해 본 결과 랜덤 패턴을 보이는 워크로드에서는 하드디스크나 기존의 상용 SSD들에 비해 처리율(throughput) 측면에서 3배 이상의 성능을 보였다.

Flash memory has been attracting attention as the next mass storage media for mobile computing systems such as notebook computers and UMPC(Ultra Mobile PC)s due to its low power consumption, high shock and vibration resistance, and small size. A storage system with flash memory excels in random read, sequential read, and sequential write. However, it comes short in random write because of flash memory's physical inability to overwrite data, unless first erased. To overcome this shortcoming, we propose an SSD(Solid State Disk) architecture with two novel features. First, we utilize non-volatile FRAM(Ferroelectric RAM) in conjunction with NAND flash memory, and produce a synergy of FRAM's fast access speed and ability to overwrite, and NAND flash memory's low and affordable price. Second, the architecture categorizes host write requests into small random writes and large sequential writes, and processes them with two different buffer management, optimized for each type of write request. This scheme has been implemented into an SSD prototype and evaluated with a standard PC environment benchmark. The result reveals that our architecture outperforms conventional HDD and other commercial SSDs by more than three times in the throughput for random access workloads.

키워드

참고문헌

  1. Samsung Electronics, NAND flash memory datasheets, http://www.samsung.com/
  2. Gal, E. and Toledo, S., "Algorithms and data structures for flash memories," ACM Computing Surveys, Vol.37, No.2, pp. 138-163, 2005 https://doi.org/10.1145/1089733.1089735
  3. Intel Corporation, "Understanding the flash translation layer (FTL) specification," http://developer. intel.com
  4. Ramtron, FRAM datasheets, http://www.ramtron. com/
  5. Rosenblum, M. and Ousterhout, J., "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
  6. Wu, M. and Zwaenepoel, W., "eNVy: a non- volatile, main memory storage system," in Proceedings of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-6), pp. 86-97, 1994
  7. Kawaguchi, A., Nishioka, S., and Motoda, H., "A flash-memory based file system," in Proceedings of the USENIX 1995 Winter Technical Conference, pp. 155-164, 1995
  8. Chiang, M.-L., Lee, P. C. H., and Chang, R.-C., "Using data clustering to improve cleaning performance for flash memory," Software: Practice and Experience, Vol.29, No.3, pp. 267-290, 1999 https://doi.org/10.1002/(SICI)1097-024X(199903)29:3<267::AID-SPE233>3.0.CO;2-T
  9. Kim, J. M., Kim, J. M., Noh, S. H., Min, S. L., and Cho, Y., "A space-efficient flash translation layer for CompactFlash systems," IEEE Transactions on Consumer Electronics, Vol.48, No.2, pp. 366-375, 2002 https://doi.org/10.1109/TCE.2002.1010143
  10. Lee, S.-W., Park, D.-J., Chung, T.-S., Lee, D.-H., Park, S., and Song, H.-J., "A log buffer-based flash translation layer using fully associative sector translation," ACM Transactions on Embedded Computing Systems, Vol.6, No.3, 2007
  11. Wu, C.-H. and Kuo, T.-W., "An adaptive two- level management for the flash translation layer in embedded systems," in Proceedings of the 2006 IEEE/ACM International Conference on Computer- Aided Design (ICCAD '2006), pp. 601-606, 2006
  12. Chang, L.-P. and Kuo, T.-W., "Efficient management for large-scale flash-memory storage systems with resource conservation," ACM Transactions on Storage, Vol.1, No.4, pp. 381-418, 2005 https://doi.org/10.1145/1111609.1111610
  13. Miller, E. L., Brandt, S. A., and Long, D. D. E., "HeRMES: High Performance Reliable MRAM- Enabled Storage," In Proceedings of the 8th IEEE Workshop on Hot Topics in Operating Systems (HotOS-VIII), pp. 83-87, 2001
  14. Wang, A. A., Kuenning, G. H., Reiher, P., and Popek, G. J., "Conquest: better performance through a disk/persistent-RAM hybrid design," ACM Transactions on Storage, Vol.2, No.3, pp. 309-348, 2006 https://doi.org/10.1145/1168910.1168914
  15. Doh, I. H., Choi, J., Lee, D., and Noh, S. H., "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
  16. Aleph One, "YAFFS: Yet another Flash file system", http://www.aleph1.co.uk/yaffs/
  17. Futuremark Corporation, "PCMark04 white paper," http://www.futuremark.com/