An Address Translation Technique Large NAND Flash Memory using Page Level Mapping

페이지 단위 매핑 기반 대용량 NAND플래시를 위한 주소변환기법

  • 서현민 (서울대학교 컴퓨터공학부) ;
  • 권오훈 (서울대학교 컴퓨터공학부) ;
  • 박준석 (서울대학교 컴퓨터공학부) ;
  • 고건 (서울대학교 컴퓨터공학부)
  • Received : 2009.08.13
  • Accepted : 2010.01.07
  • Published : 2010.03.15

Abstract

SSD is a storage medium based on NAND Flash memory. Because of its short latency, low power consumption, and resistance to shock, it's not only used in PC but also in server computers. Most SSDs use FTL to overcome the erase-before-overwrite characteristic of NAND flash. There are several types of FTL, but page mapped FTL shows better performance than others. But its usefulness is limited because of its large memory footprint for the mapping table. For example, 64MB memory space is required only for the mapping table for a 64GB MLC SSD. In this paper, we propose a novel caching scheme for the mapping table. By using the mapping-table-meta-data we construct a fully associative cache, and translate the address within O(1) time. The simulation results show more than 80 hit ratio with 32KB cache and 90% with 512KB cache. The overall memory footprint was only 1.9% of 64MB. The time overhead of cache miss was measured lower than 2% for most workload.

SSD는 NAND 플래시 메모리 기반의 저장장치로 속도가 빠르고, 전력 소모량이 작으며, 충격과 진동에 강하다는 좋은 특성 때문에 PC뿐 아니라 스토리지 서버 등에서도 사용되는 경우가 늘고 있다. NAND 플래시 메모리는 덮어쓰기가 불가능하다는 제약이 있으므로 SSD에서는 일반적으로 FTL이라고 불리는 소프트웨어 계층을 사용한다. 다양한 형태의 FTL 중 페이지 단위 변환에 기반한 FTL은 유연성이 높고 효율적인 쓰레기 수집 작업이 가능하다는 점에서 가장 성능이 좋다고 알려져 있다. 한편 이 방법은 64GB MLC SSD의 경우 64MB 크기의 변환 테이블이 메모리에 올라와 있을 것을 요구하므로 현실적인 사용이 제한되어 있다. 본 논문에서는 효율적인 캐시 구조를 통해 SSD에서도 순수한 페이지 단위 변환을 사용하는 방법을 제안한다. 제안된 방법에서는 매핑 테이블 메타 데이터를 사용해 완전 연관 캐시를 구성하고 캐시크기에 무관하게 O(1)시간에 주소를 변환한다 다양한 환경에서 수집한 트레이스를 이용한 시뮬레이션 결과 32KB의 캐시 공간의 경우 80% 이상, 512KB의 경우 90% 이상의 적중률을 보였다. 이 경우 메모리 사용량은 64MB의 1. 9% 에 불과하며 캐시 미스로 인한 오버헤드는 실행시간 기준으로 2% 미만으로 측정되었다.

Keywords

References

  1. Micron MLC NAND (MT29F64G08UAAC4) datasheet http://www.micron.com.
  2. J. Kim, J. M. Kim, S. Noh, S. L. Min, and Y. Cho, "A space-efficient flash translation layer for compactflash systems," Consumer Electronics, IEEE Transactions on, vol.48, no.2, pp.366-375, May 2002. https://doi.org/10.1109/TCE.2002.1010143
  3. T. Chung, D. Park, S. Park, D. Lee, S. Lee, and H. Song, "System Software for Flash Memory: A Survey," In Proceedings of the International Conference on Embedded and Ubiquitous Computing, pp.394-404, August 2006.
  4. S.-W. Lee, D.-J. Park, T.-S. Chung, D.-H. Lee, S. Park, and H.-J. Song, "A log buffer-based flash translation layer using fully-associative sector translation," Trans. on Embedded Computing Sys., vol.6, no.3, pp.18, 2007. https://doi.org/10.1145/1275986.1275990
  5. J. Kang, H. Jo, J. Kim, and J. Lee, "A Superblock- based Flash Translation Layer for NAND Flash Memory," In Proceedings of the International Conference on Embedded Software (EMSOFT), pp.161-170, October 2006. ISBN 1-59593- 542-8.
  6. S. Lee, D. Shin, Y. Kim, and J. Kim, "LAST: Locality-Aware Sector Translation for NAND Flash Memory-Based Storage Systems," In Proceedings of the International Workshop on Storage and I/O Virtualization, Performance, Energy, Evaluation and Dependability (SPEED2008), Feburary 2008.
  7. M.-L. Chiang, P. C. H. Lee, and R.-C. Chang, "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
  8. D. Lee, J. Choi, J.-H. Kim, S.H. Noh, S.L. Min, Y. Cho, and C.S. Kim, "LRFU: A Spectrum of Policies that Subsumes the Least Recently Used and Least Frequently Used Policies," IEEE Trans. Computers, vol.50, no.12, pp.1352-1360, Dec. 2001. https://doi.org/10.1109/TC.2001.970573
  9. E.J. O'Neil, P.E. O'Neil, and G. Weikum, "The LRU-K Page Replacement Algorithm for Database Disk Buffering," Proc. ACM Int'l Conf. Management of Data (Sigmod '93), May 1993.