Abstract

기존의 운영체제에서 하드디스크의 성능을 향상시키기 위해서 사용해왔던 기술들이 SSD(Solid State Drive)에는 부정적 효과를 나타내는 경우가 많다. HDD의 기계적인 요소 때문에 접근 시간과 블록 주소의 순서가 성능에 매우 중요한 요인으로 작용하였지만, SSD는 불록 주소의 순서에 영향을 받지 않는 우수한 랜덤 읽기 성능을 제공한다. 실제 개인용 PC에서 SSD를 사용할 때에 선반입을 끄도록 권고되고 있다. 하지만 이 논문은 SSD의 내부 구조와 낸드 플래시 메모리의 특징을 고려한 선반입 및 메모리관리 정책를 결합한 방법을 제시한다. SSD에는 다수개의 낸드 플래시 메모리로 구성되어 있어 칩을 동시에 구동시키는 것이 중요하며, 낸드 플래시 메모리의 기본 입출력 단위가 계속 증가하는 방향으로 발전하고 있어서 SSD 내부의 동작 단위가 운영체제의 블록 크기보다 훨씬 커지게 되었다. 이 논문은 이러한 SSD의 특징과 경향을 수용하여, 제안하는 선반입 기법은 SSD의 동작 단위로 수행되며, 제안하는 메모리 관리 기법은 그 선반입 기법의 단점을 보완하여, 캐시 히트율과 선반입 히트율의 합이 최대가 되도록, 선반입되었지만 사용되지 않는 데이터를 적응적으로 퇴출한다. 본 기술은 리눅스 커널 모듈로 개발하였으며 실제 SSD를 사용하여 성능 평가를 실시하였다. 주어진 실험에서 제안하는 선반입 기법이 약 26%까지 성능을 향상시켰다. Traditional technologies that are used to improve the performance of hard disk drives show many negative cases if they are applied to solid state drives (SSD). Access time and block sequence in hard disk drives that consist of mechanical components are very important performance factors. Meanwhile, SSD provides superior random read performance that is not affected by block address sequence due to the characteristics of flash memory. Practically, it is recommended to disable prefetching if a SSD is installed in a personal computer. However, this paper presents a combinational method of a prefetching scheme and a memory management that consider the internal structure of SSD and the characteristics of NAND flash memory. It is important that SSD must concurrently operate multiple flash memory chips. The I/O unit size of NAND flash memory tends to increase and it exceeded the block size of operating systems. Hence, the proposed prefetching scheme performs in an operating unit of SSD. To complement a weak point of the prefetching scheme, the proposed memory management scheme adaptively evicts uselessly prefetched data to maximize the sum of cache hit rate and prefetch hit rate. We implemented the proposed schemes as a Linux kernel module and evaluated them using a commercial SSD. The schemes improved the I/O performance up to 26% in a given experiment.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call