DOI QR코드

DOI QR Code

Efficient Policy for ECC Parity Storing of NAND Flash Memory

낸드플래시 메모리의 효율적인 ECC 패리티 저장 방법

  • 김석만 (충북대학교 전자정보대학 정보통신공학과) ;
  • 오민석 (충북대학교 전자정보대학 정보통신공학과) ;
  • 조경록 (충북대학교 전자정보대학 정보통신공학과)
  • Received : 2016.08.11
  • Accepted : 2016.09.29
  • Published : 2016.10.28

Abstract

This paper presents a new method of parity storing for ECC(error correcting code) in SSD (solid-state drive) and suitable structure of the controller. In general usage of NAND flash memory, we partition a page into data and spare area. ECC parity is stored in the spare area. The method has overhead on area and timing due to access of the page memory discontinuously. This paper proposes a new parity policy storing method that reduces overhead and R(read)/W(write) timing by using whole page area continuously without partitioning. We analyzed overhead and R/W timing. As a result, the proposed parity storing has 13.6% less read access time than the conventional parity policy with 16KB page size. For 4GB video file transfer, it has about a minute less than the conventional parity policy. It will enhance the system performance because the read operation is key function in SSD.

본 논문은 ECC(error correcting code)의 오버헤드를 고려한 패리티의 저장 정책 및 그에 따른 낸드 플래시 메모리 컨트롤러의 구조를 제안한다. 일반적인 낸드 플래시 메모리의 용법은 데이터 영역과 스페어 영역을 분리하는 것이다. ECC 패리티는 낸드 플래시 메모리에 데이터가 입력될 때 생성된다. 일반적으로 ECC의 메시지 길이는 낸드 플래시 메모리의 한 페이지 보다 작기 때문에, 각 메시지의 패리티를 모두 모아 스페어 영역에 저장하게 된다. 읽기 동작 시에는 데이터 영역에 이어 스페어 영역의 ECC 패리티까지 모두 읽은 후에 ECC 처리를 통한 데이터 정정이 가능하다. 이 때 발생하는 오버헤드를 줄이기 위해 데이터/스페어 영역의 구분없이 ECC 처리된 데이터와 패리티를 연속으로 저장하는 분산형 정책을 사용하였다. 제안된 분산형 정책과 기존의 수집형 정책의 오버헤드를 설계적인 측면과 타이밍 측면으로 분석하고, 그에 맞는 낸드 플래시 메모리 컨트롤러의 구조를 제시한다. 페이지의 크기에 따른 액세스 시간을 시뮬레이션을 통해 분석한 결과, 읽기 동작 시, 분산형 정책의 액세스 시간이 수집형 정책에 비해 짧았고 페이지의 크기가 커질수록 감소율이 컸다. 실험에 사용된 16KB의 페이지 크기를 갖는 낸드 플래시 메모리의 경우 분산형 정책의 액세스 시간이 수집형 정책에 비해 13.6% 감소하였다. 이는 4GB 크기의 영상 파일을 읽을 때 약 1분가량의 시간이 단축되는 효과를 얻을 수 있다. 또한 읽기 동작이 많은 SSD(solid state drive)의 특성 상 전반적인 시스템의 성능 향상을 기대할 수 있다.

Keywords

References

  1. D. Kim, K. Bang, S. H. Ha, S. W. Chung, and E. Y. Chung, "A Transaction Level Simulator for Performance Analysis of Solid-State Disk(SSD) in PC Environment," Journal of The Institute of Electronics Engineers of Korea, Vol.45, No.12, pp.57-64, 2008.
  2. C. Sun, T. O. Iwasaki, T. Onagi, K. Johguchi, and K. Takeuchi, "Cost, Capacity, and Performance Analyses for Hybrid SCM/NAND Flash SSD," IEEE Trans.action on Circuits and Systems-I: Regular Papers, Vol.61, No.8, 2014(8).
  3. Y. Kim, B. Tauras, A. Gupta, and B. Urgaonkar, "FlashSim: A Simulator for NAND Flash-based Solid-State Drives," 2009 First International Conference on Advances in System Simulation, Porto, Portugal, pp.125-131, 2009(9).
  4. L. Zuolo, C. Zambelli, R. Micheloni, S. Galfano, M. Indaco, S. Di Carlo, P. Prinetto, P. Olivo, and D. Bertozzi, "SSDExplorer: a Virtual Platform for Performance/Reliability-oriented Fine- Grained Design Space Exploration of Solid State Drives," IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems(TCAD), Vol.34, No.10, pp.1627-1638, 2015. https://doi.org/10.1109/TCAD.2015.2422834
  5. S. Gregori, A. Cabrini, 0. Khouri, and G. Torelli, "On-chip error correction techniques for new-generation flash memories," Proc. of IEEE, Vol.91, No.4, pp.602-616, 2003(4).
  6. W. Liu, J. Rho, and W. Sung, "Low-power high-throughput BCH error correction VLSI design for multi-level cell NAND fash memories," IEEE Workshop on Signal Processing Systems (SIPS), pp.248-253, 2006.
  7. https://en.wikipedia.org/wiki/Reed-Solomon_error_correction