New Flash Memory Management Method for Reliable Flash Storage Systems

신뢰성 있는 플래시메모리 저장시스템 구축을 위한 플래시메모리 저장 공간 관리 방법

  • 김한준 (서울대학교 컴퓨터공학부) ;
  • 이상구 (서울대학교 컴퓨터공학부)
  • Published : 2000.06.15

Abstract

We propose a new way of managing flash memory space for flash memory-specific file system based on log-structured file system. Flash memory has attractive features such as non-volatility, and fast I/O speed, but it also suffers from inability to update in place and limited usage cycles. These drawbacks require many changes to conventional storage (file) management techniques. Our focus is on lowering cleaning cost and evenly utilizing flash memory cells while maintaining a balance between the two often-conflicting goals. The proposed cleaning method performs well especially when storage utilization and the degree of locality are high. The cleaning efficiency is enhanced by dynamically separating cold data and non-cold data. The second goal, cycle-leveling is achieved to the degree where the maximum difference between erase cycles is below the error range of the hardware. Simulation results show that the proposed method has significant benefit over naxve methods: maximum of 35% reduction in cleaning cost with even spreading writes across segments.

본 논문은 로그파일시스템의 원리를 바탕으로 플래시메모리 저장시스템에 적합한 플래시메모리 공간 관리 방법을 제안한다. 플래시메모리는 비휘발성, 빠른 입출력 속도 등의 장점을 지니고 있지만, 제자리 덮어쓰기(in-place update)가 불가능하고 메모리 셀에 대한 쓰기(write) 횟수가 제한되는 단점이 있다. 이러한 특성은 플래시메모리를 저장 매체로 사용할 때 기존의 저장 매체 관리 방법과는 다른 방법을 요구하게 된다. 본 논문은 자유 공간유지를 위해 필요한 클리닝 메커니즘의 연산 비용을 낮추면서 동시에 저장공간이 전체적으로 균등하게 사용될 수 있도록 하는 사이클 평준화 기법을 제안한다. 제안된 방법은 특히 메모리 활용도와 로컬리티가 높을 때 좋은 성능을 보인다. 클리닝 메커니즘은 자주 접근되지 않는 COLD데이타를 그렇지 않은 데이타와 격리시킴으로써 그 효율이 향상되었으며, 사이클 평준화는 사용 횟수간의 최대 차이가 하드웨어적인 오차를 벗어나지 않는 수준까지 이루었다. 실험을 통해 제안된 방법은 비교 기준으로 삼은 직관적 방법(greedy policy)에 비해 사이클 평준화가 잘 이루어진 상태에서 최대 35%정도의 클리닝 비용 절감 효과를 보였다.

Keywords

References

  1. T. Blackwell, J. Harris, and M. Seltzer, 'Heuristic Cleaning Algorithms in Log-Structured File Systems,' Proceedings of '95 Winter, USENIX, pp.277-287, 1995
  2. R. Caceres, F. Douglis, K. Li, and B. Marsh, 'Operating System Implications of solid-state mobile computers,' Technical Report MITL-TR-56-93, Matsushita Information Technology Laboratory, 1993
  3. P. J. Denning, 'Working Sets Past and Present,' IEEE Transactions on Software Engineering, Vol. SE-6, No.1, pp. 64-84, 1980 https://doi.org/10.1109/TSE.1980.230464
  4. B. Dipert, and M. Levy, 'Designing with FLASH MEMORY,' Annabooks, pp. 227-271, 1994
  5. F. Douglis, R. Caceres, F. Kaashoek, K. Li, B. Marsh, and J. A. Tauber, 'Storage Alternatives for Mobile Computers,' Proceedings of the 1st Symposium on Operating Systems Design and Implementation, pp.25-37, 1994
  6. G. Irlam, 'Unix File Size Survey,' http://www.base.com/gordoni/gordoni.html, 1993
  7. A. Kawaguchi, S. Nishioka, and H. Motoda, 'Flash memory Based File System,' Proceedings of '95 Winter, USENIX, pp.155-164, 1995
  8. J. N. Matthews, D. Roselli, A. M. Costello, R. Y. Wang and T. E. Anderson, 'Improving the Performance of Log-Structured File Systems with Adaptive Methods,' Proceedings of the 16th ACM Symposium on Operating Systems Principles, pp.238-251, 1997 https://doi.org/10.1145/268998.266700
  9. J. T. Robinson, 'Analysis of Steady-State Segment Storage Utilization in a Log-Structured File System with Least-Utilized Segment Cleaning,' Operating System Review, Vol.30, No.4, pp.29-32, 1996 https://doi.org/10.1145/240799.240803
  10. M. Rosenblum, and J. K. Ousterhout, '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
  11. C. Ruemmler, and J. Wilkes, 'UNIX disk access patterns,' Proceedings of '93 Winter USENIX, pp.405-420, 1993
  12. D. See, and C. Thurlo, 'Managing Data in an Embedded System Utilizing Flash Memory,' Intel Technical Note,1995, http://www.intel.com/design/flcomp/papers/esc_flsh.htm
  13. M. Wu, and W. Zwaenepoel, 'eNVy : A Non-Volatile Main Memory Storage System,' Proceedings of the 6th International Conference on Architectural Support for Programming Languages and Operating Systems, pp.86-97, 1994
  14. Intel, Flash Memory Databook, pp.21-29, 1995