DOI QR코드

DOI QR Code

Dynamic NAND Operation Scheduling for Flash Storage Controller Systems

플래시 저장장치 컨트롤러 시스템을 위한 동적 낸드 오퍼레이션 스케줄링

  • Jeong, Jaehyeong (Dept. of Electronics and Computer Engineering, Hanyang University) ;
  • Song, Yong Ho (Dept. of Electronic Engineering, Hanyang University)
  • 정재형 (한양대학교 전자컴퓨터통신공학과) ;
  • 송용호 (한양대학교 융합전자공학부)
  • Received : 2013.04.29
  • Published : 2013.06.25

Abstract

In order to increase its performance, NAND flash memory-based storage is composed of data buses that are shared by a number of flash memories and uses a parallel technique that can carry out multiple flash memory operations simultaneously. Since the storage performance is strongly influenced by the performance of each data bus, it is important to improve the utilization of the bus by ensuring effective scheduling of operations by the storage controller. However, this is difficult because of dynamic changes in buses due to the unique characteristics of each operation with different timing, cost, and usage by each bus. Furthermore, the scheduling technique for increasing bus utilization may cause unanticipated operation delay and wastage of storage resource. In this study, we suggest various dynamic operation scheduling techniques that consider data bus performance and storage resource efficiency. The proposed techniques divide each operation into three different stages and schedule each stage depending on the characteristics of the operation and the dynamic status of the data bus. We applied the suggested techniques to the controller and verified them on the FPGA platform, and found that program operation decreased by 1.9% in comparison to that achieved by a static scheduling technique, and bus utilization and throughput was approximately 4-7% and 4-19% higher, respectively.

낸드 플래시 메모리 기반 저장장치는 성능을 높이기 위하여 내부에 다수의 플래시 메모리가 공유하는 데이터 버스들을 구성하고, 이 구조를 이용하여 다수의 플래시 메모리 오퍼레이션을 동시에 수행하는 병렬 기법을 사용한다. 저장장치의 성능은 개별 데이터 버스의 성능에 의하여 많은 영향을 받기 때문에, 저장장치 컨트롤러가 오퍼레이션을 효과적으로 스케줄링 함으로써 버스의 성능을 높이는 것이 중요하다. 그러나 오퍼레이션 별로 상이한 동작시간과 버스사용 특성으로 인하여 시시각각 변화하는 버스의 상황은 스케줄링을 어렵게 만든다. 또한 단순히 버스 사용효율을 높이기 위한 스케줄링 기법은 예상하지 못한 오퍼레이션의 지연과 저장장치의 자원 낭비를 초래할 수 있다. 본 논문에서는 데이터 버스의 성능과 저장장치의 자원 효율을 고려한 동적인 오퍼레이션 스케줄링 기법들을 제안한다. 제안하는 기법들은 오퍼레이션을 세 단계로 구분한 후 오퍼레이션의 특성과 데이터 버스의 상황에 따라 이들을 스케줄링 한다. 제안된 기법들을 컨트롤러에 적용하여 FPGA 플랫폼에서 검증한 결과, 제안된 기법을 적용한 컨트롤러는 정적인 스케줄링 기법을 사용하는 컨트롤러에 비하여 쓰기 오퍼레이션의 수가 1.9% 줄어들었으며 4-7% 높은 버스 사용효율과 4-19% 높은 처리량을 보였다.

Keywords

References

  1. Kang, Jeong-Uk, et al. "A multi-channel architecture for high-performance NAND flash-based storage system." Journal of Systems Architecture 53.9 (2007): 644-658 https://doi.org/10.1016/j.sysarc.2007.01.010
  2. Nam, Eyee Hyun, et al. "Ozone (O3): An out-of-order flash memory controller architecture." Computers, IEEE Transactions on 60.5 (2011): 653-666 https://doi.org/10.1109/TC.2010.209
  3. Park, Seon-yeong, et al. "CFLRU: a replacement algorithm for flash memory." Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems. ACM, 2006
  4. 공준진, 손홍락, and 설창규. "플래시 메모리 컨트롤러 (Flash Memory Controller) 기술." 전자공학회지, 제39권 제9호 2012.9, page(s): 39-46
  5. 정상혁, 송용호. "낸드 플래시 메모리의 응답 지연 시간 최소화를 위한 선점방식 가비지 컬렉션 기법." 정보과학회논문지: 시스템 및 이론 39.6 (2012): 398-404
  6. Sievert, Jerry. "Iometer: The I/O performance analysis tool for servers." (2004).