Post

하드웨어 구조 - Key-value Computational Solid-State Drive

KV-SSD

1. 개요

KV-SSD(Key-Value Solid State Drive)는 전통적인 블록 기반 인터페이스 대신 키-밸류 인터페이스를 직접 제공하는 차세대 저장장치다. 이는 데이터센터 및 클라우드 환경의 규모 확대에 따라 CPU가 블록 변환 작업에 과부하를 겪는 문제를 해결하기 위해 개발되었다.

2. 기술 원리 및 구조

1) 소프트웨어 스택 단순화

KV-SSD는 호스트-기반 키-밸류 저장소와 본질적으로 다른 아키텍처를 제공한다. 전통적인 RocksDB나 LevelDB 같은 키-밸류 저장소는 파일 시스템과 블록 계층을 거쳐 SSD와 통신해야 하는데, 이 과정에서 상당한 메모리 복사와 커널 컨텍스트 스위칭 오버헤드가 발생하게된다. KV-SSD는 이러한 중간 계층을 제거하고, 사용자 응용 프로그램이 직접 SSD 컨트롤러의 키-밸류 API와 통신하도록 설계되었다.

2) 데이터 구조: LSM-Tree 기반 설계

대부분의 현대적 KV-SSD 구현은 Log-Structured Merge Tree(LSM-tree) 구조를 채택한다. LSM-tree는 다음과 같은 특징을 가진다.

  • 계층적 구조: 여러 레벨로 구성되며 각 레벨은 정렬된 상태를 유지
  • 쓰기 최적화: 새로운 키-밸류 쌍을 메모리의 MemTable에 수집 후 SSTable로 플러시
  • 키-밸류 분리: 메타데이터(키, 주소)와 실제 데이터(값)를 분리하여 쓰기 증폭 감소

3) NVMe 표준 호환성

Samsung의 KV-SSD 프로토타입과 SNIA 표준은 NVMe 프로토콜 확장을 통해 구현되는데 NVMe KV Command Set은 기존 블록 인터페이스 명령 외에 다음 키-밸류 특화 명령을 추가한다.

  • PUT(key, value): 키-밸류 쌍 저장
  • GET(key): 키로 값 검색
  • DELETE(key): 키-밸류 쌍 삭제
  • EXIST(key): 키 존재 여부 확인
  • 범위 쿼리(SEEK, NEXT): 키 범위 조회

키와 메타데이터는 NVMe 명령의 예약 필드에 저장되고, 값은 Physical Region Page(PRP) 리스트를 통해 전송된다.

3. 성능 특성 및 장점

  • 처리량: RocksDB(블록 기반)에 비해 8배 높은 QPS (쿼리/초)
  • 호스트-장치 트래픽: 90% 이상 감소 (write-intensive 워크로드에서)
  • 쓰기 증폭 감소: 전통적 접근 대비 현저히 낮은 WAF(Write Amplification Factor)

LSM-tree 기반으로 만들어진 SSD와 해시 기반 SSD의 성능을 분석한 결과는 아래와 같다.

메트릭LSM-tree 기반 (PinK)해시 기반개선도
99th percentile latency낮음높음 (hash collision)73% 감소
평균 읽기 latency42% 개선기준+42%
처리량높음낮음+37%
범위 쿼리 지원효율적비효율적X

4. 문제점

문제 1 - PCIe 트래픽 증폭

  • NVMe의 PRP는 4KB 메모리 페이지 단위로만 DMA 전송을 허용
  • 32바이트 값 전송 시 실제 PCIe 트래픽: 4KB (130배 증폭)
  • 4KB 초과 값(예: 4KB+32B)의 경우: 8KB 전송 (2배 증폭)

문제 2 - NAND 쓰기 증폭

  • NAND 페이지 버퍼가 4KB 경계로 데이터를 정렬하면서 발생
  • 16KB NAND 페이지가 32바이트 값 4개로만 채워질 때 내부 단편화 발생

※ 추가 업데이트 및 검증 예정

참고 문헌

  • 서강대학교 김영재 교수님 강의 자료 - 고급 데이터 베이스
  • Park et al., “BandSlim: A Novel Bandwidth and Space-Efficient KV-SSD” (ICPP 2024)
  • Im, Junsu, Jinwook, Bae, Chanwoo, Chung, Arvind, and Sungjin, Lee. “Design of LSM-tree-based Key-value SSDs with Bounded Tails”.ACM Trans. Storage 17, no.2 (2021).
This post is licensed under CC BY 4.0 by the author.