현대 NVMe SSD 워크로드를 위한 소규모 페이로드 전송 경로의 재설계
Redesigning Small Payload Transfer Paths for Emerging NVMe SSD Workloads
- 주제(키워드) Non-Volatile Memory Express (NVMe) , Solid-State Drive (SSD) , Direct Memory Access (DMA) , Peripheral Component Interconnect Express (PCIe)
- 발행기관 서강대학교 일반대학원
- 지도교수 김영재
- 발행년도 2026
- 학위수여년월 2026. 2
- 학위명 석사
- 학과 및 전공 일반대학원 컴퓨터공학과
- 실제URI http://www.dcollection.net/handler/sogang/000000082601
- UCI I804:11029-000000082601
- 본문언어 영어
- 저작권 논문은 저작권에 의해 보호받습니다.
초록(요약문)
현대의 Non-Volatile Memory Express (NVMe) Solid-State Drive (SSD)는 장치 내부 연산 능력이 점점 강화되고 있으며, 이에 따라 SQL 필터링이나 키-값 저장소 연산 과 같은 워크로드가 호스트에서 SSD로 오프로딩되고 있다. 이러한 작업은 수십 바이트 에서 수백 바이트 수준의 작은 페이로드를 포함하는 경우가 많지만, NVMe 프로토콜 은 고정된 메모리 페이지 단위의 Direct Memory Access (DMA) 메커니즘을 사용하기 때문에 작은 페이로드를 처리하는 데 비효율적이다. 페이로드가 몇십 바이트에 불과 하더라도 각 요청은 페이지 크기만큼의 Peripheral Component Interconnect Express (PCIe) 전송을 강제하여 상당한 대역폭 낭비와 지연 증가를 초래한다. 기존 접근법은 I/O 스택과 SSD 내부 구조에 대한 침습적 수정이 필요하거나 극도로 작은 페이로드에 만 제한적인 이점을 제공한다. 본 문제를 해결하기 위해 본 논문에선 ByteExpress 기법 을 제안한다. ByteExpress는 NVMe I/O 큐 엔트리 내부에 작은 페이로드를 인라인으 로 삽입하여 쓰기 시에는 내장하고 읽기 시에는 추출하는 방식으로 작은 페이로드를 효 율적으로 전송하는 새로운 메커니즘이다. ByteExpress는 기존 API와 SSD 아키텍처와 의 완전한 호환성을 유지하면서 PCIe 트래픽 효율성과 높은 성능을 모두 달성한다. 리 눅스 NVMe 드라이버와 실제 하드웨어 및 에뮬레이션 환경에서 구현 및 평가한 결과 ByteExpress는 PCIe 트래픽을 최대 96%까지 줄이고 NVMe 표준 대비 처리율을 25% 개선하며 최신 기법 대비 서브페이지 페이로드에서 79% 낮은 지연시간을 보였다.
more초록(요약문)
As modern Non-Volatile Memory Express (NVMe) Solid-State Drives (SSDs) become increasingly capable of in-device computation, workloads such as SQL filtering and key-value store operations are now being offloaded from the host to the SSD. These tasks often involve small payloads, typically a few dozen to hundreds of bytes, which are inefficiently processed by the standard NVMe interface due to its fixed memory page-granularity Direct Memory Access (DMA) transfer. Regardless of how small the payload is, even a few dozen bytes, each request still incurs a memory page-sized Peripheral Component Interconnect Express (PCIe) traffic, resulting in significant bandwidth waste and latency overhead. Existing approaches either require invasive modifications to the I/O stack and SSD internals, or offer only limited benefits for extremely small payloads. This paper presents ByteExpress, a novel mechanism that efficiently transmits small payloads by embedding them inline within NVMe queue entries, embedding for writes and extracting for reads. ByteExpress maintains PCIe traffic efficiency while delivering high performance, all while preserving full compatibility with existing APIs and SSD architectures. Our implementation and evaluation on the Linux NVMe driver and both real hardware and emulation environments, shows up to 96% reduction in PCIe traffic and 25% higher throughput compared with the stardard page-based DMA mechanism and 79% lower latency compared with the state-of-the-art solution for sub-page payloads
more목차
그림차례 6
표차례 9
1 Introduction 11
2 Background 16
2.1 Next-Generation Storage Interface over NVMe 16
2.2 Emergence of Small, Direct Data I/Os 17
2.3 NVMe Payload Transfer Mechanisms 19
3 Motivation 20
3.1 Challenges of Small Payload Transfer over NVMe 20
3.2 Limitations of Existing Works 25
3.2.1 PCIe MMIO-Based Transfer 25
3.2.2 NVMe CMD-Based Transfer 27
3.3 Proposal: NVMe SQ and CQ-Based Transfer 28
4 Design and Implementation 31
4.1 Design Goals 31
4
4.2 Design Overview 32
4.3 Operational Flows 33
4.4 Single-Queue Payload Placement Scheme 34
4.5 Tag-Based Payload Transfer Transaction 36
4.6 Performance Optimization 42
4.6.1 Limiting Queue Entry Expansion 42
4.6.2 Preventing Internal Queue Saturation 43
4.7 Implementation 43
5 Evaluation 45
5.1 Write Performance Across Payload Sizes 45
5.2 Read Performance Across Payload Sizes 51
5.3 Emerging NVMe Storage Usecases 53
6 Discussion 56
7 Conclusion 58
참고문헌 59
5

