2019년 10월 24, 25일 제주도에서 열린 NVRAMOS 2019 워크숍에 참석하였다. NVRAMOS 워크숍은 Storage 및 System software 관련 연구 내용을 대학 연구실과 기업이 서로 공유할 수 있는 자리이다. 금년 NVRAMOS 2019에는 카이스트, 서울대학교, 성균관대학교 등의 유수 연구 기관과 함께 삼성전자, SK 하이닉스와 같은 대기업에서도 참가하여 연구 내용을 발표하였다. 본 워크숍을 통해 다른 연구실과 기업들이 현재 주목하고 있는 문제점은 무엇인지, 어떤 기술들을 사용하는지에 대해 알 수 있는 좋은 기회였다.
특히 기억에 남는 발표는 성균관대의 정진규 교수님의 “Asynchronous I/O Stack: A Low-latency Kernel I/O Stack for Ultra Low Latency SSDs” 였다. 본 발표의 요지는 I/O 동작들 중 미룰 수 있는 동작은 디스크에서 I/O를 수행할 때 처리하여 I/O의 latency를 줄이자는 것이다. 기존의 I/O layer는 디스크에서 I/O를 수행하는 시간에는 블록되어 디스크의 I/O가 완료될 때까지 기다린다. 이 때 기다리는 시간에 디스크 I/O 동작 전후에 latency를 차지하는 동작 중에 미룰수 있는 동작을 처리하는 것이다. Read의 경우 page allocation, DMA mapping, page cache insertion 과 같은 동작은 디스크 I/O 동작 중에 처리할 수 있고, DMA unmapping의 경우 다른 read 요청 때 해제하도록 미룬다. 그리고 삼성전자의 발표 중 Zoned namespace라는 기술을 처음 접하여 상당히 기억에 남았다. Zoned namespace는 NVMe 인터페이스에서 제공하는 기술로, NVMe SSD를 Zone이라는 묶음 단위로 나누어 각 application 마다 하나의 zone을 사용할 수 있다. 이를 통해 같은 블록 내의 페이지들이 서로 다른 application에 의해 쓰여져있는 경우, 블록이 erase 될 때 invalid한 페이지가 valid한 페이지와 다른 application의 소속일 때 불필요하게 다른 블록에 쓰여지는 write amplification이 발생하는 것을 막을 수 있다.
이번 NVRAMOS 2019 워크숍을 통해 최신 스토리지 기술 동향을 배울 수 있었으며, 진행중인 연구에 도움이 되는 많은 아이디어를 얻을 수 있었다.