초록
Zoned Namespace (ZNS) SSD는 SSD 내부 공간을 순차쓰기 제약 조건이 있는 zone이라는 논리적 유닛으로 구분하고 이를 호스트에서 zone 기반 인터페이스를 통해 직접 관리할 수 있는 새로운 형태의 SSD이다. 특히 ZNS SSD는 호스트에서 직접 데이터 배치와 가비지 콜렉션 프로세스를 최적화할 수 있다는 점에서 주목을 받고 있다. 반면 ZNS SSD는 기존의 블록 기반 인터페이스 대신 zone 기반 인터페이스를 사용하기 때문에 기존 파일시스템을 사용할 수 없다는 한계점을 가지고 있다. 이를 해결하기 위해 리눅스에서는 ZNS SSD를 일반 블록 기반 스토리지로 에뮬레이션해주는 디바이스 매퍼(DM-zoned)를 제공하고 있다. DM-zoned는 임의쓰기(Random write)가 가능한 conventional zone을 이용해 쓰기 요청을 처리하고 나중에 이를 sequential zone으로 이동(Merge)시킴으로써 ZNS SSD의 순차쓰기 제약 특성을 숨기고 파일시스템이 ZNS SSD에 대해 임의쓰기를 수행할 수 있도록 해준다. 한편, 현재 DM-zoned에서는 conventional zone과 sequential zone 모두 zone-레벨 매핑을 사용하고 있으며 이는 임의쓰기 워크로드가 발생할 경우 conventional zone을 과도하게 낭비하게 되고 이는 conventional zone의 가비지 콜렉션 오버헤드를 증가시켜 성능 저하를 일으키는 문제점이 있다. 따라서 본 연구에서는 conventional zone에 대해서 fine-grained mapping을 사용함으로써 conventional zone의 utilization을 높이고 가비지 콜렉션 오버헤들 줄여 DM-zone의 성능을 개선하고자 하는 기법을 제안한다.