DOI QR코드

DOI QR Code

A Prefetching and Memory Management Policy for Personal Solid State Drives

개인용 SSD를 위한 선반입 및 메모리 관리 정책

  • Received : 2011.05.11
  • Accepted : 2011.08.02
  • Published : 2012.02.29

Abstract

Traditional technologies that are used to improve the performance of hard disk drives show many negative cases if they are applied to solid state drives (SSD). Access time and block sequence in hard disk drives that consist of mechanical components are very important performance factors. Meanwhile, SSD provides superior random read performance that is not affected by block address sequence due to the characteristics of flash memory. Practically, it is recommended to disable prefetching if a SSD is installed in a personal computer. However, this paper presents a combinational method of a prefetching scheme and a memory management that consider the internal structure of SSD and the characteristics of NAND flash memory. It is important that SSD must concurrently operate multiple flash memory chips. The I/O unit size of NAND flash memory tends to increase and it exceeded the block size of operating systems. Hence, the proposed prefetching scheme performs in an operating unit of SSD. To complement a weak point of the prefetching scheme, the proposed memory management scheme adaptively evicts uselessly prefetched data to maximize the sum of cache hit rate and prefetch hit rate. We implemented the proposed schemes as a Linux kernel module and evaluated them using a commercial SSD. The schemes improved the I/O performance up to 26% in a given experiment.

기존의 운영체제에서 하드디스크의 성능을 향상시키기 위해서 사용해왔던 기술들이 SSD(Solid State Drive)에는 부정적 효과를 나타내는 경우가 많다. HDD의 기계적인 요소 때문에 접근 시간과 블록 주소의 순서가 성능에 매우 중요한 요인으로 작용하였지만, SSD는 불록 주소의 순서에 영향을 받지 않는 우수한 랜덤 읽기 성능을 제공한다. 실제 개인용 PC에서 SSD를 사용할 때에 선반입을 끄도록 권고되고 있다. 하지만 이 논문은 SSD의 내부 구조와 낸드 플래시 메모리의 특징을 고려한 선반입 및 메모리관리 정책를 결합한 방법을 제시한다. SSD에는 다수개의 낸드 플래시 메모리로 구성되어 있어 칩을 동시에 구동시키는 것이 중요하며, 낸드 플래시 메모리의 기본 입출력 단위가 계속 증가하는 방향으로 발전하고 있어서 SSD 내부의 동작 단위가 운영체제의 블록 크기보다 훨씬 커지게 되었다. 이 논문은 이러한 SSD의 특징과 경향을 수용하여, 제안하는 선반입 기법은 SSD의 동작 단위로 수행되며, 제안하는 메모리 관리 기법은 그 선반입 기법의 단점을 보완하여, 캐시 히트율과 선반입 히트율의 합이 최대가 되도록, 선반입되었지만 사용되지 않는 데이터를 적응적으로 퇴출한다. 본 기술은 리눅스 커널 모듈로 개발하였으며 실제 SSD를 사용하여 성능 평가를 실시하였다. 주어진 실험에서 제안하는 선반입 기법이 약 26%까지 성능을 향상시켰다.

Keywords

References

  1. J. He, J. Bennett, and A. Snavely, "DASH-IO: an empirical study of flash-based- IO for HPC", the 2010 TeraGrid Conference. Aug., 2010.
  2. K. Eshghi, "Enterprise SSDs with Unrivaled Perforrmance A Case for PCIe SSDs", Flash Memory Summit 2010, Aug., 2010.
  3. A. Vasudeva, "Flash in Enterprise Storage Systems", Flash Memory Summit 2010, Aug., 2010.
  4. Y. Wang, K. Goda, M. Nakano, M. Kitsuregawa, "Early Experience and Evaluation of Fiel Systems on SSD with Database Applications", 5th IEEE Int'l Conf. on Networking Architecture and Storage. pp.476-476, July, 2010.
  5. M. Dunn and A.L.N. Reddy, "A New I/O Scheduler for Solid State Drives", Tech. Rep. TAMU-ECE-2009-02, Department of Electrical and Computer Engineering, Texas A&M University, 2009.
  6. 김정기, 박승민, 김채규 "임베디드 플래시 파일 시스템을 위한 순위별 지움 정책", 정보처리학회논문지 제9-A권 제4호 2002. 12.
  7. H. Kim and S. Ahn, "BPLRU: a buffer management scheme for improving random writes in flash storage", the 6th USENIX Conf. on File And Storage Technologies, pp.1-14, Feb., 2008.
  8. B. Debnath, and S. Subramanya, D. Du, D.J. Lilja, "Large Block CLOCK (LB-CLOCK): a write caching algorithm for solid state disks", IEEE Int'l Symp. on Modeling Analysis & Simulation of Computer and Telecommunication Systems. pp.1-9, Sept., 2009.
  9. S. Iyer and P. Druschel, "Anticipatory Scheduling: A Disk Scheduling Framework to Overcome Deceptive Idleness in Synchronous I/O," Proc. USENIX Ann. Technical Conf., pp.117-130, 2001.
  10. J, Kim, Y. Oh, E. Kim, J. Choi. D. Lee, and S.H. Noh. "Disk schedulers for solid state drivers". In Proc. EMSOFT, pp.295-304, Dec., 2009.
  11. F. Chang and G. A. Gibson, "Automatic I/O hint generation through speculative execution", the 3rd Symposium on Operating Systems and Design and Implementation, pp.1-14, Feb., 1999.
  12. S. Bhattacharya, J. Tran, M. Sullivan and C. Mason. "Linux AIO performance and robustness for enterprise workloads", Linux Symposium, pp.63-78, July, 2004.
  13. J. Griffioen, and R, Appleton, "Reducing file system latency using a predictive approach", USENIX Summer Technical Conference, pp.197-208, June, 1994.
  14. D. Joseph and D. Grunwald, "Prefetching using markov predictors", IEEE Trans. on Computers 48, 2, pp.121-133, Feb., 1999. https://doi.org/10.1109/12.752653
  15. Microsoft, "Windows PC Accelerators", http://www. microsoft.com/whdc/system/sysperf/perfaccel.mspx, Last updated in Oct., 2010.
  16. Y. Joo, J. Ryu, S. Park, and K.G. Shin, "FAST: Quick Application Launch on Solid-State Drives", USENIX Conf. on File and Storage Technologies, Feb., 2011.
  17. GILL, B. S., AND MODHA, D. S. SARC: Sequential prefetching in adaptive replacement cache. In Proc. USENIX 2005, pp.293-308, 2005.
  18. Hang-Ting Lue, Tzu-Hsuan Hs, and et al, "Study of Incremental Step Pulse Programming and STI edge effect of BE-SONOS NAND flash", Reliability Physic Symposium, pp.693-694, April, 2008.
  19. Michael Abraham, "NAND Flash Trends for SSD/Enterprise", Flash Memory Summit 2010 proceedings, August, 2010.
  20. Samsung Electronics, Inc. Ltd, "Flash Memory K9XXG08UXM datasheet", 2011.
  21. Toshiba semiconductor, "NAND Interface: SmartNAND", http://www.semicon.toshiba.co.jp/eng/product/memory/ selection/nand/mlc/smartnand/index.html, 2011.
  22. "Disk sector", Wikipedia, 2011.
  23. F. Chen, T. Luo, and X. Zhang, "CAFTL: a context-aware flash translation layer enhancing the lifespan of flash memory based solid state drives", 9th USENIS Conf. on File and Storage Technologies, Feb., 2011.
  24. T. Makatos, Y. Klonatos, M. Marazakis, M.D.Flouris, and A. Bilas, "Using transparent compression to improve SSD-based I/O caches", European conf. on Computer systems, April, 2010.
  25. The SSD Review, "SSD optimization guide", http:// thessdreview.com/ssd-guides/optimization-guides/the-ssd -optimization-guide-2/, May, 2010.
  26. 정보성, 이정훈, "내장형 시스템을 위한 선택적 뱅크 알고리즘 을 이용한 데이터 캐쉬 시스템", 한국정보처리학회 논문지 A, 제16-A권 제2호, 2009. 04.
  27. S. H. Baek and K. H. Park, "Matrix-Stripe-Cache-Based Contiguity Transform for Fragmented Writes in RAID-5", IEEE Transaction on Computers, Vol.56, No.8, pp.1040-1054, August, 2007. https://doi.org/10.1109/TC.2007.70758