원문정보
Disk I/O Translation Layer for Solid-State Disk Performance Optimization in Linux
초록
영어
An SSD (Solid-State Disk) is comprised of multiple NAND flash memories for high performance andcapacity. SSD management block, which is composed of NAND flash memory pages, is defined as a basic I/Ounit in an SSD to manage multiple NAND flash memories efficiently. However, processing in the SSDmanagement block unit instead of small sized NAND flash page unit induces poor performance when dealingsmall sized write requests. In this paper we propose a method to enhance the poor performance of randomsmall sized write requests in an SSD. The proposed method is implemented as a translation layer, which isbetween file system and block device driver. Write requests from the upper layer are translated into sequentialwrite requests in the translation layer. As a result, the performance of random write requests smaller than 128Kbyte is enhanced from 5 to 31 times.
한국어
SSD(Solid-State Disk)는 여러 개의 낸드 플래시 메모리들로 구성된 저장 매체로서 뛰어난 읽기 성능을 보인다. SSD는 내장 낸드 플래시 메모리 관리 효율성을 위해 내부적으로 여러 개의 낸드 플래시 페이지들로 구성된 관리 블록을 정의하고 이 단위로 I/O 처리를 한다. 그러나 이러한 구조로 인해 작은 크기의 임의 쓰기는 연속 쓰기에 비해 크게 떨어지는 성능을 보인다. 본 논문에서는 SSD의 작은 크기의 임의 쓰기의 낮은 성능을 개선하기 위해 파일 시스템과 블록 장치 드라이버 사이에 디스크 입출력 요구를 변환시켜 주는 I/O 변환 계층을 추가하였다. 이 계층은 상위에서 내려오는 쓰기 요구를 순차 쓰기 형태가 되도록 변환하여 SSD에 보내준다. 이와 같은 기법을 통해 요구 명령의 크기가 128 KByte 이하인 임의 쓰기 성능이 5~31 배 향상되었다.
목차
Abstract
1. 서론
2. 배경지식
2.1 낸드 플래시 메모리
3. 관련 연구
4. SSD Translation Module (STM)
4.1 설계
4.2 Free Block Manager
4.3 Address Mapping Table
4.4 Crash Recovery
5. 성능 평가
5.1 I/O 성능
5.2 Index Log Block 기록 빈도에 따른 성능
5.3 주소 맵핑 테이블 동기화 빈도에 따른 성능
5. 결론 및 향후 연구
참고문헌