본문으로 건너뛰기

raw_block NVMe Feature 발굴 (2026-06-10)

[!tldr] 업무 관점 takeaway FDP placement 정책은 daegyu94 레인이라 독립 착수 불가. 우리가 깨끗이 가져갈 수 있는 건 B1(L2/TTFT 텔레메트리, PoC 수치 백본)A3(RU-aligned slot geometry, 정책 아님), TRIM 계열은 N1(런타임 discard, 상윤 조율 전제). 착수 전 점유 지도 확인 필수.


점유 지도 (착수 전 필수 확인)

영역owner / PR비고
FDP placement 정책daegyu94(한대규)독립 착수 금지
FDP directive hook#3274에 hook 자리 존재_build_nvme_cmd_data(dtype, dspec)
io_uring core / NVMe passthroughankit-sam #3274APPROVED+MERGEABLE
checkpoint 포맷/압축Daejun #3226(머지됨)/#3449(오픈)
non-MP eviction·LRUdaegyu94 #3394
BLKDISCARD(init 1회)상윤 #3519런타임 TRIM(N1)은 별개
observability L0/spans#3255, #3607L2 storage-stage 지연은 미점유

축① — NVMe TRIM 계열

⭐ N1 — 런타임 TRIM (슬롯 free 시 discard) — 미착수

현상: delete_many·eviction이 슬롯을 인덱스에서만 회수. 회수된 슬롯 범위에 discard() 미발행. #3519 바인딩은 init 1회 전체 discard 외 미사용.

문제: 장기 가동 캐시(특히 MP, EvictionController가 churn 주도)에서 evict된 바이트가 디바이스에 mapped 잔존 → SSD GC가 stale까지 relocate → WAF↑, sustained write latency↑. Samsung NVMe 전략 직결.

제안: #3519의 per-range discard(offset, length) 바인딩 재사용, 슬롯 free 시 발행. 배칭(연속범위 병합 또는 background sweep), lock 밖 발행, discard_on_free config opt-in.

중복: PR landscape G1~G4·priority 어디에도 없음. #3519(init 전체)와 직교.

전제: discard owner = 상윤(3xdevv) 조율 + #3519 머지 선행.

N2 — 그 외 NVMe data-management (탐색적)

후보판단
Write Zeroes(BLKZEROOUT)discard보다 무거움, 보안 요건 시만. 후순위
DSM access hints드라이버 의존, 효과 측정 어려움. 탐색
NVMe Copy offload큰 설계. 장기

축② — MP 모드 raw_block 빈틈

#내용판정
MP-A (= N1)런타임 TRIM은 MP eviction churn 집중 환경에서 효과 극대화N1을 MP 관점으로 포지셔닝
MP-Bzero-copy fixed buffer MP 경로 미등록 (= 기존 G3)#3274 의존, 신규 아님
MP-Cper_tp_device_paths MP 거부 → 멀티 NVMe 샤딩 불가큰 설계, 후순위

축③ — TRIM 외 목표정합 feature

⭐ A3 — RU-aligned slot geometry

  • slot/write 단위를 FDP RU 경계에 정렬(config)
  • placement 정책이 아닌 geometry → 우리 독립 영역
  • 목표 ②(스토리지 스택 최적화) + ③(FDP/HC-SSD 연결) 동시 충족

⭐ B1 — L2/TTFT 단계별 latency 텔레메트리

  • EventBus → OTel, L2 storage-stage 지연 히스토그램
  • L2 storage-stage 지연 미점유, PoC 수치 백본
  • 기존 latency_histogram_impl_plan.md 재사용 범위 확인 필요

종합 추천 순위

순위항목독립성선행 조건
B1 L2/TTFT 텔레메트리높음EventBus/OTel 재사용
A3 RU-aligned slot geometry높음(정책 아님)
N1 런타임 TRIM중(상윤 조율)#3519 머지 + 조율
A1/A2 FDP placement낮음(daegyu94 레인)경계 조율 먼저

다음 액션

  • B1: EventBus/OTel·latency_histogram_impl_plan.md 재사용 범위 확인 → L2 storage-stage 계측점 식별
  • A3: slot_bytes 산출 경로(core.py) 확인 → RU 정렬 config 삽입점 식별
  • N1: 상윤(3xdevv)에게 런타임 discard #3519 후속으로 조율 가능한지 확인

관련 페이지

  • [[raw_block-PR-Landscape]] — 열린 PR 점유 현황
  • [[raw_block-성능-우선순위]] — T1/L1/L2/P0 등 기존 우선순위
  • [[기여-포인트-맵]] — 전체 기여 포인트 지도