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% 향상됨을 확인하였다.