An Adaptive Garbage Collection Policy for NAND Flash Memory

낸드 플래시 메모리를 위한 적응형 가비지 컬렉션 정책

  • 한규태 (중앙대학교 컴퓨터공학부) ;
  • 김성조 (중앙대학교 컴퓨터공학부)
  • Published : 2009.05.15

Abstract

In order to utilize NAND flash memory as storage media which does not allow update-in-place and limits the number of block erase count, various garbage collection policies supporting wear-leveling have been investigated. Conventional garbage collection policies require cleaning-index calculation for the entire blocks to choose a block to be garbage-collected to support wear-leveling whenever a garbage collection is required, which results in performance degradation of system. This paper proposes a garbage collection policy which supports wear-leveling using a threshold value, which is in fact a variance of erase counts and by the maximum erase count of all blocks, without calculating the cleaning-index. During garbage collection, the erase cost is minimized by using the Greedy Policy if the variance is less than the threshold value. It achieves wear-leveling by excluding the block with the largest erase count from erase target blocks if the variance is larger than threshold value. The proposed scheme shows that a standard deviation approaches to zero as the erase count of blocks approaches to its upper limit and the measured speed of garbage collection is two times faster than the conventional schemes.

제자리 덮어쓰기가 불가능하고 블록의 지움 횟수가 제한되는 낸드 플래시 메모리를 저장매체로 사용하기 위해서 지움 횟수 평준화를 지원하는 다양한 가비지 컬렉션 정책들이 연구되고 있다. 기존정책들은 지움 횟수 평준화를 지원하기 위해 가비지 컬렉션이 수행될 때마다 전체 블록에 대해 지움 대상블록을 선정하기 위한 클리닉 지표를 구하는 연산을 수행하여야 하고 이 연산들은 시스템의 성능을 저하시킨다. 본 논문에서 제안하는 가비지 컬렉션 정책은 지움 횟수의 분산(variance)과 블록들의 최대 지움횟수에 따라 변경되는 임계값을 이용하여 전체 블록에 대한 클리닉 지표를 구하는 연산을 수행하지 않으면서 지움 횟수 평준화를 제공한다. 가비지 컬렉션 시 분산이 임계값 보다 작을 때는 Greedy 정책을 이용하여 지움 비용을 최소화하고, 분산이 임계값 보다 클 때는 최대 지움 횟수를 가진 블록을 지움 대상에서 제외하여 지움 횟수를 평준화한다. 본 논문에서 제안하는 방법으로 가비지 컬렉션을 수행하였을 때, 블록들의 지움 횟수가 지움 횟수 상한에 가까워질수록 블록들의 지움 횟수 표준 편차가 0에 근접하며, 기존의 지움 횟수 평준화를 지원하는 알고리즘과 비교하여 두 배 이상 빠른 가비지 컬렉션 속도를 보였다.

Keywords

References

  1. 민용기, 박승규, "이동컴퓨터를 위한 플래시메모리 클리닝 정책", 한국통신학회논문지, 제24권 5호, pp. 657-666, 1999
  2. 한준영, 김성조, "낸드 플래시 메모리 기반 멀티미디어 파일 시스템에서의 효율적인 페이지 할당 및 회수 기법", 2007 한국컴퓨터종합학술대회 논문집(B), Vol.34, No.1, pp. 680-682, JUNE 2007
  3. 박상오, 김성조, "NAND 플래시 메모리 기반 파일 시스템을 위한 마운트 및 안정성 기법", 정보과학회논문지 : 시스템 및 이론, Vol.34, No.12, pp. 683-695, DECEMBER 2007
  4. M. L. Chang, P. C. H. Lee, R. C. Chang, "Mana-ging Flash Memory in Personal Communicati on Devices," Proceedings of IEEE Symp. on Consu-mer Electronics, pp. 177-182, 1997 https://doi.org/10.1109/ISCE.1997.658381
  5. Atsuo Kawaguchi, Shingo Nishoka, Hiroshi Motoda "A Flash-Memory based File System," Proceedings of USENIX Technical Conference, pp. 155-164, 1995
  6. 김정기, 박승민, 김채규, '임베디드 플래시 파일 시스템을 위한 순위별 지움 정책', 정보처리학회논문지, 제9-A권, 제4호, pp. 399-404, 2002 https://doi.org/10.3745/KIPSTA.2002.9A.4.399
  7. 이태훈, 이상기, 정기동, '임베디드 플래시 파일 시스템을 위한 플레인 지움 정책', 한국정보과학회 2005 추계학술 발표 논문집, pp. 778-780, 2005
  8. T. Blackwell, J. Harris and M. Seltzer, "Heuristic Cleaning Algorithms in Log-Structured File Sys-tems," Proceedings of the 1995 Winter Usenix, January 1995
  9. http://www.linux-mtd.infradead.org/faq/nand.html
  10. Samsung Electronics Co., "NAND Flash," http://www.samsung.com/global/business/semi conductor/products/flash/Products_NANDFlash.html