Efficient DRAM Buffer Access Scheduling Techniques for SSD Storage System

SSD 스토리지 시스템을 위한 효율적인 DRAM 버퍼 액세스 스케줄링 기법

  • Park, Jun-Su (School of Information Communication Engineering, Sungkyunkwan University) ;
  • Hwang, Yong-Joong (School of Information Communication Engineering, Sungkyunkwan University) ;
  • Han, Tae-Hee (School of Information Communication Engineering, Sungkyunkwan University)
  • 박준수 (성균관대학교 정보통신공학부) ;
  • 황용중 (성균관대학교 정보통신공학부) ;
  • 한태희 (성균관대학교 정보통신공학부)
  • Received : 2011.03.23
  • Accepted : 2011.06.15
  • Published : 2011.07.25

Abstract

Recently, new storage device SSD(Solid State Disk) based on NAND flash memory is gradually replacing HDD(Hard Disk Drive) in mobile device and thus a variety of research efforts are going on to find the cost-effective ways of performance improvement. By increasing the NAND flash channels in order to enhance the bandwidth through parallel processing, DRAM buffer which acts as a buffer cache between host(PC) and NAND flash has become the bottleneck point. To resolve this problem, this paper proposes an efficient low-cost scheme to increase SSD performance by improving DRAM buffer bandwidth through scheduling techniques which utilize DRAM multi-banks. When both host and NAND flash multi-channels request access to DRAM buffer concurrently, the proposed technique checks their destination and then schedules appropriately considering properties of DRAMs. It can reduce overheads of bank active time and row latency significantly and thus optimizes DRAM buffer bandwidth utilization. The result reveals that the proposed technique improves the SSD performance by 47.4% in read and 47.7% in write operation respectively compared to conventional methods with negligible changes and increases in the hardware.

최근 NAND 플래시 메모리를 이용한 새로운 저장매체인 SSD(Solid State Disk)가 모바일 기기를 중심으로 HDD(Hard Disk Drive)를 대체하면서 가격대비 성능을 향상시키려는 연구가 다양한 접근 방식을 통해 진행 중이다. 병렬처리를 통한 NAND 플래시 대역폭 향상을 위해 채널수를 확장하면서 호스트(PC)와 NAND 플래시 간의 버퍼 캐시의 역할을 하는 DRAM 버퍼가 SSD 성능 개선의 bottleneck으로 작용하게 되었다. 이 문제를 해소하기 위해 본 논문에서는 DRAM Multi-bank를 활용한 스케줄링 기법을 통해 DRAM 버퍼 대역폭을 개선함으로써 저비용으로 SSD의 성능을 향상시키는 효과적인 방안을 제안한다. 호스트와 NAND 플래시 다중 채널이 동시에 DRAM 버퍼의 접근을 요청하는 경우, 이들의 목적지를 확인하여 DRAM 특성을 고려한 스케줄링 기법을 적용함으로써 bank 활성화 시간과 row latency에 대한 overhead를 감소시키고 결과적으로 DRAM 버퍼 대역폭 활용을 최적화할 수 있다. 제안한 기법을 적용하여 실험한 결과, 무시할만한 수준의 하드웨어 변경 및 증가만으로 기존의 SSD 시스템과 비교하여 SSD의 읽기 성능은 최대 47.4%, 쓰기 성능은 최대 47.7% 향상됨을 확인하였다.

Keywords

References

  1. http://www.segate.com/www/en-us/support/before_you_buy/speed_considerations
  2. L.P. Chang, "Hybrid solid-state disks: Combining heterogeneous NAND flash in large SSDs", Design Automation Conference, pp.428-433, April 2008.
  3. J. Ryu and C. Park, "Analysis of Embedded Software Design Affecting SSD Performance", Journal of KIISE, vol.27, no.5, pp.58-68, May 2009.
  4. http://www.samsung.com/global/business/semiconuctor/products/flash/Products_Toggle_DDR_NANDFlash.html
  5. H. Zheng, J. Lin, Z. Zhang and Z. Zhu, "Decoupled DIMM: building high-bandwidth memory system using low-speed DRAM devices", 36th annual international symposium on Computer architecture, pp.255-266, June 2009.
  6. L. Chang, "Hybrid solid-state disks: Combining heterogeneous NAND flash in large SSDs", Asia and South Pacific Design Automation Conference ASPDAC 2008, pp.428-433, March 2008.
  7. J. H. Yoon, E. H. Nam, Y. J. Seong, H. Kim, S. L. Min and Y. Cho, "A High Performance Flash Memory Solid State Disk", Journal of KIISE, Vol.14, No.4, pp.378-388, June 2008.
  8. B. Ha, H. Cho and Y. I. Eom, "WADPM : Workload-Aware Dynamic Page-level Mapping Scheme for SSD based on NAND Flash Memory", Journal of KIISE, Vol.37, No.4, pp.215-225, August 2010.
  9. K. Lahiri, A. Raghunathan and G. Lakshminarayana, "The LOTTERYBUS on-chip communication architecture", VLSI(Very Large Scale Integration) Systems, Vol.14, No.6, pp.596-608, June 2006. https://doi.org/10.1109/TVLSI.2006.878210