Abstract
NAND flash-based SSDs (Solid State Drive) have advantages of fast input/output performance and low power consumption so that they could be widely used as storages on tablet, desktop PC, smart-phone, and server. But, SSD has the disadvantage of wear-leveling due to increase of the number of writes. In order to improve the lifespan of the SSD, a variety of data deduplication techniques have been introduced. General fixed-size splitting method allocates fixed size of chunk without considering locality of data so that it may execute unnecessary chunking and hash key generation, and variable-size splitting method occurs excessive operation since it compares data byte-by-byte for deduplication. This paper proposes adaptive chunking method based on application locality and file name locality of written data in SSD-based server storage. The proposed method split data into 4KB or 64KB chunks adaptively according to application locality and file name locality of duplicated data so that it can reduce the overhead of chunking and hash key generation and prevent duplicated data writing. The experimental results show that the proposed method can enhance write performance, reduce power consumption and operation time compared to existing variable-size splitting method and fixed size splitting method using 4KB.
낸드 플래시 기반 SSD(Solid State Drive)는 빠른 입출력 성능, 저전력 등의 장점을 가지고 있어, 타블릿, 데스크탑 PC, 스마트폰, 서버 등의 저장장치로 널리 사용되고 있다. 하지만 SSD는 쓰기 횟수에 따라서 마모도가 증가하는 단점이 있다. SSD의 수명을 향상시키기 위해 다양한 데이터 중복제거 기법이 도입되었으나, 일반적인 고정 크기 분할방식은 데이터의 지역성을 고려하지 않고 청크크기를 할당함으로써, 불필요한 청킹 및 해시값 생성을 수행하는 문제점이 있으며, 가변 크기 분할방식은 중복제거를 위해 바이트 단위로 비교하여 과도한 연산량을 유발한다. 본 논문에서는 SSD 기반 서버급 스토리지에서 쓰기 요청된 데이터의 지역성에 기반한 적응형 청킹 정책을 제안한다. 제안한 방법은 중복데이터가 가지는 응용프로그램 및 파일 이름 기반 지역성에 따라 청크 크기를 4KB 또는 64KB로 적응적으로 분할하여, 청킹 및 해시값 생성에 따른 오버헤드를 감소시키고, 중복 쓰기를 방지한다. 실험결과, 제안하는 기법이 기존의 가변 크기 분할 및 4KB의 고정 크기 분할을 이용한 중복제거기법보다 SSD의 쓰기 성능이 향상되고 전력 소모 및 연산시간을 감소시킬 수 있음을 보여준다.