Zoned Namespace SSD 기반 데이터 배치를 통한 키-밸류 스토어 성능 개선
요약
낸드 플래시 메모리 기술의 비약적인 발전은 엔터프라이즈 시장에서 Hard-Disk Drive(HDD)를 낸드 플래시 메모리 기반의 Solid State Drive(SSD)로 빠르게 대체하도록 만들었다. 하지만 낸드 플래시 메모리는 덮어쓰기 불가와 지우기 횟수 제한과 같은 물리적 제약 사항으로 기존 블록 인터페이스를 사용하기 위해서는 Flash Translation Layer(FTL)라는 펌웨어 레벨 소프트웨어가 필요하다. FTL은 Out-place Update를 위한 매핑 테이블 관리, 쓰레기 수집(Garbage Collection)을 수행한다. 하지만 FTL은 SSD를 블랙박스와 같이 만들어 예측 불가능한 지연 시간 및 꼬리 응답시간 증가 문제를 발생시켰다. 이를 해결하기 위해 저장 공간을 일정 단위 Zone으로 나누고 Zone 단위로 SSD 내부를 호스트에게 부분적으로 드러내, 호스트 정보를 활용한 데이터 배치를 허용하는 Zoned Namespace(ZNS) SSD가 등장하게 되었다. 본 논문은 현재 ZNS SSD를 위한 RocksDB 내장 파일 시스템 ZenFS가 효율적인 공간 활용을 못 하는 점에 주목했다. 이에 따라 본 논문은 키-밸류 스토어의 LSM-Tree 와 ZNS SSD의 특성에 최적화된 데이터 생명 주기에 따른 Zone 할당 및 쓰레기 수집(Garbage Collection) 방식을 제안했다. 제안하는 기법은 ZenFS 위에서 구현되어 ZNS SSD 에뮬레이션 환경에서 평가되었으며, 성능 평가는 순차 쓰기와 임의 키 값에 대한 덮어쓰기로 진행되었다. 성능 평가 결과, 제안하는 기법은 기존 방식 대비 3% 처리 속도 감소로 ZNS SSD의 공간 효율을 75%까지 개선할 수 있었다.