Efficient Prefetching and Asynchronous Writing for Flash Memory

플래시 메모리를 위한 효율적인 선반입과 비동기 쓰기 기법

  • Published : 2009.02.15

Abstract

According to the size of NAND flash memory as the storage system of mobile device becomes large, the performance of address translation and life cycle management in FTL (Flash Translation Layer) to interact with file system becomes very important. In this paper, we propose the continuity counters, which represent the number of continuous physical blocks whose logical addresses are consecutive, to reduce the number of address translation. Furthermore we propose the prefetching method which preloads frequently accessed pages into main memory to enhance I/O performance of flash memory. Besides, we use the 2-bit write prediction and asynchronous writing method to predict addresses repeatedly referenced from host and prevent from writing overhead. The experiments show that the proposed method improves the I/O performance and extends the life cycle of flash memory. As a result, proposed CFTL (Clustered Flash Translation Layer)'s performance of address translation is faster 20% than conventional FTLs. Furthermore, CFTL is reduced about 50% writing time than that of conventional FTLs.

휴대용 저장장치로 각광 받고 있는 NAND 플래시 메모리의 용량이 커지면서 기존의 파일시스템과 플래시 메모리 컨트롤러 간의 중간 매개체 역할을 해주는 FTL(Flash Translation Layer)의 주소 변환 및 수명 관리 기법이 점차 중요해지고 있다. 본 논문에서는 연속적인 논리 주소 요청이 물리 주소가 인접한 경우의 값을 기록하는 연속성 카운터를 제안하여 주소 변환 횟수를 감소 시켰으며 이와 함께 자주 쓰이는 주소의 페이지들을 미리 주 메모리에 선반입하여 플래시 메모리의 입출력 성능을 향상시켰다. 또한 쓰기 빈도가 높은 주소를 예측하고 잦은 쓰기를 방지하기 위해 2비트 쓰기 예측과 비동기 쓰기 기법을 제시하여 쓰기 성능과 플래시 메모리의 수명을 향상 시켰다. 실험 결과 본 논문에서 제안하는 CFTL(Clustered Flash Translation Layer)이 기존 FTL들보다 주소 변환 성능이 최대 20%, 쓰기 시간을 최대 50% 이상 감소시켰다.

Keywords

References

  1. Gartner Dataquest, “Forecast: Memory, Worldwide, 2001 -2011(3Q07 Update),” Nov. 2007
  2. E. Gal, S. Toledo, “Algorithm and Data Structure for Flash Memories,” ACM Computing Surveys, Vol.37, Issue 2, pp. 138-163, 2005 https://doi.org/10.1145/1089733.1089735
  3. J. Kim, J. M. Kim, S. H. Noh, S. L. Min, and Y. Cho, “A space-efficient flash translation layer for CompactFlash systems,” IEEE Transaction on Consumer Electronics, Vol.48, No.2, pp 366-375, 2002 https://doi.org/10.1109/TCE.2002.1010143
  4. S. W. Lee, W. K. Choi, D. J. Park, "FAST: An Efficient Flash Translation Layer for Flash Memory," EUC 2006 Workshops, Lecture Notes in Computer Science, No.4097 pp 879-887, Aug. 2006 https://doi.org/10.1007/11807964
  5. K-H. Park and D-H. Kim, “A Clustered Flash Translation Layer for CompactFlash Systems,” IEEE international Conference on Consumer Elec-tronics, Las Vegas, NV, U. S. A., Jan. 2008 https://doi.org/10.1109/ICCE.2008.4587962
  6. 이종민, 김성훈, 안성준, 이동희, 노삼혁, "NAND 플래시 메모리 저장장치에서 블록 재활용 기법의 비용 기반 최적화", 정보과학회논문지: 컴퓨팅의 실제 및 레터 제13권 7호, pp. 508-519, 2007년 12월
  7. Samsung Electronics, “K9K8G08U1A,” Data Sheet of NAND Flash Memory
  8. Samsung Electronics, 'K9F1208U0C,' Data Sheet of NAND Flash Memory
  9. Intel Corporation, “Understanding the Flash Trans-lation Layer (FTL) Specification,” 1998
  10. Intel Corporation, "Software Concerns of Imple-menting a Resident Flash Disk," 1995
  11. Ban, A. 1995. Flash file system. US patent 5,404,485. Filed March 8, 1993; Issued April 4, 1995; Assigned to M-Systems
  12. Ban, A. 1999, Flash file system optimized for page-mode flash technologies. US patent 5,937,425. Filed October 16, 1997; Issued August 10, 1999; Assigned to M-Systems
  13. Ban, A. 2004. Wear leveling of static areas in flash memory. US patent 6,732,221. Filed June 1, 2001; issued May 4, 2004; Assigned to M-Sys-tems
  14. C-H. Wu and T-W. Kuo, "An Adaptive Two- Level Management for the Flash Translation Layer in Embedded Systems," IEEE/ACM Inter-national Conference on Computer Aided Design, San Jose, CA, Nov. 2006 https://doi.org/10.1109/ICCAD.2006.320107
  15. M. Talluri, M. D. Hill and Y. A. Khalidi, “A new Page Table for 64-bit address spaces,” Procee-dings of the 15th ACM Symposium on Operating Systems Principles, Dec 1995 https://doi.org/10.1145/224056.224071
  16. John L. Hennessy and David A. Patterson, "Com-puter Architecture: A Quantitative Approach 3/E," Morgan Kaufmann Publishers
  17. A. Silberschatz, P. B. Galvin, and G. Gagne, "Operating System Concepts, 7th Edition," John Wiley & Sons, Inc., pp. 315-326, 2005
  18. MTD, "Memory Technology Device (MTD) subsys-tem for Linux," http://www.linux-mtd.infradead.org