ZNS와 Computational Storage로 재편되는 스토리지 계층

ZNS와 Computational Storage의 구조, 데이터 이동 병목 해소 방식, 활용 워크로드와 스토리지 생태계를 정리한다.

2026-08-14 · 최초 발행 2026-01-19

SSD가 감추던 비용을 호스트가 다루기 시작할 때

전통적인 블록 스토리지는 현대 워크로드의 성능과 효율성 요구를 충족하기 어려워지고 있다. ZNS(Zoned Namespaces)는 SSD 내부 구조를 응용 계층에 드러내어 쓰기 증폭을 낮추고, Computational Storage는 디바이스 안에서 연산을 수행해 데이터 이동 오버헤드를 줄인다. 하나는 쓰기 경로를, 다른 하나는 읽고 처리하는 경로를 바꾼다.

ZNS는 랜덤 쓰기 뒤의 FTL 부담을 줄인다

SSD는 블록 디바이스 인터페이스를 제공하기 위해 FTL(Flash Translation Layer)에서 논리 주소와 물리 주소를 매핑한다. 유효 페이지를 복사한 뒤 블록을 소거하는 Garbage Collection도 필요하며, 이 과정은 Write Amplification을 만든다. 성능을 유지하려면 Over-Provisioning을 위한 여유 공간도 필요하고, GC가 실행되는 동안에는 응답 시간이 급격히 변할 수 있다.

ZNS는 연속된 LBA 범위를 Zone으로 나누고, 각 Zone 안에서는 순차 쓰기만 수행하도록 한다. 호스트가 데이터 배치를 직접 결정하므로 FTL의 복잡도가 줄어든다. Zone 크기는 일반적으로 수백 MB ~ 수 GB다.

ZNS SSD호스트Zone 기반순차 쓰기간소화된매핑NAND Flash직접 순차 쓰기GC 최소화쓰기 증폭 감소전통적 SSD호스트랜덤 쓰기FTL매핑 테이블NAND Flash순차 쓰기GC 발생쓰기 증폭

Zone은 빈 상태에서 열리고, 쓰기가 진행되다가 닫히거나 끝까지 채워진다. 닫힌 Zone은 다시 열 수 있으며, Full 또는 Closed 상태의 Zone은 Reset으로 비울 수 있다.

Open ZoneWrite to EndClose ZoneOpen ZoneReset ZoneReset ZoneEmptyOpenFullClosed

Empty는 쓰기를 시작할 수 있는 빈 Zone이다. Open에는 Write Pointer가 존재하며, Closed는 쓰기를 멈췄다가 재개할 수 있는 상태다. Full은 Zone 끝까지 기록된 상태이고, Reset은 모든 데이터를 무효화하는 초기화 작업이다.

이 모델은 FTL의 GC 오버헤드를 줄여 쓰기 증폭을 최소화하고, GC 간섭이 없는 일정한 지연시간을 지향한다. Over-Provisioning을 줄일 수 있어 용량 효율도 높아지며, 총 쓰기량 감소는 NAND 플래시 수명 연장으로 이어진다.

대신 응용은 순차 쓰기 패턴에 맞게 바뀌어야 한다. F2FS, Btrfs, RocksDB 같은 파일시스템과 데이터베이스의 지원이 필요하고, Zone 할당과 수명 주기도 호스트가 직접 관리해야 한다.

순차 기록 워크로드에서의 ZNS 배치

로그 구조 파일시스템에서는 F2FS(Flash-Friendly File System)가 ZNS Zone을 Segment로 매핑할 수 있다. 순차 쓰기 특성과 ZNS가 맞물리고, Zone 단위 Reset으로 공간 회수 경로를 단순화한다.

LSM Tree 기반 데이터베이스에서는 RocksDB와 Cassandra가 SSTable을 Zone 단위로 저장할 수 있다. Compaction에서 Zone 단위 재작성을 수행하면 쓰기 증폭을 줄일 수 있으며, Level별 Zone 할당으로 수명 주기를 관리한다.

객체 스토리지는 Append-Only 쓰기 패턴이 Zone의 순차 쓰기와 맞는다. 대용량 객체를 여러 Zone에 나눠 기록하고, 삭제 뒤 Zone을 Reset해 공간을 회수하는 구성이 가능하다.

데이터가 CPU로 이동하기 전에 연산하는 방식

기존 CPU-Centric 아키텍처는 스토리지에서 데이터를 읽어 메모리와 CPU로 옮긴 뒤 필터링이나 집계를 수행한다. 필요한 결과가 일부뿐이어도 전체 데이터가 이동한다.

스토리지메모리CPU응용스토리지메모리CPU응용결과 10MB990MB 불필요한데이터 이동데이터 읽기 요청 (1GB)1GB 데이터 전송CPU로 데이터 로드필터링/집계 연산10MB 결과 반환

이 경로에서는 필터링될 데이터까지 메모리 대역폭을 사용한다. 데이터 이동에 드는 에너지가 연산 에너지보다 커질 수 있어 전력 소비도 늘어난다.

Computational Storage는 스토리지 디바이스에 CPU, FPGA, ASIC 같은 연산 자원을 통합한다. 데이터가 저장된 위치에서 직접 처리하는 Near-Data Processing을 수행하고, 처리 결과만 호스트에 전송한다.

CSD(Computational Storage Device)는 SSD 내부에 프로세서를 넣는 형태다. CSP(Computational Storage Processor)는 별도 카드에서 여러 SSD를 제어하고 연산을 담당한다.

Computational Storage Processor (CSP)Computational Storage Device (CSD)스토리지컨트롤러내장프로세서NANDFlashPCIe인터페이스강력한프로세서(ARM/FPGA)다수의SSD호스트

스토리지 안으로 옮길 수 있는 처리

데이터베이스에서는 WHERE 절의 Pushdown Filtering, SUM·COUNT·AVG Aggregation, 일부 Join과 Sort를 스토리지로 이관할 수 있다.

비디오 스트리밍에서는 스토리지에서 코덱 변환을 수행하는 Transcoding, 원본 비디오 프레임을 이용한 썸네일 생성, 내용 기반 검색을 위한 메타데이터 인덱싱이 대상이 된다.

머신러닝 파이프라인에서는 Feature Extraction, Normalization/Scaling, 이미지 회전과 크롭 같은 Data Augmentation을 스토리지 측 처리로 둘 수 있다. 쓰기 중 데이터 압축, 암호화·복호화 오프로드, 분산 스토리지의 Erasure Coding 패리티 계산도 같은 맥락에 있다.

함수 호출로 연결하는 Computational Storage

SNIA Computational Storage API는 벤더 독립적 프로그래밍을 위한 표준화된 인터페이스를 제공한다. 스토리지에 함수를 배포하고 호출하는 Function Invocation, 연산과 데이터 지역성을 맞추는 Data Placement Hints가 이 모델에 포함된다.

호스트는 함수를 등록한 뒤 파일명과 파라미터를 전달해 실행을 요청한다. Computational Storage는 로컬에서 데이터를 읽고 함수를 실행한 뒤, 필터링된 결과만 돌려준다.

Computational Storage호스트Computational Storage호스트원본 데이터는이동하지 않음함수 등록 (filter_func)함수 실행 요청(파일명, 파라미터)로컬에서 데이터 읽기filter_func 실행필터링된 결과 반환

Zone을 연산 단위로 쓰는 스마트 스토리지

ZNS의 Zone은 Computational Storage가 다룰 처리 단위가 될 수 있다. Zone별 In-Storage Compaction을 수행하고, Zone Reset 전에 데이터 변환이나 압축을 자동으로 실행하는 구성이 가능하다.

응용 계층ZNS 인식파일시스템Zone 관리레이어Computational Storage함수 호출 APICSD/CSP하드웨어ZNS SSD

파일시스템은 Zone 단위로 데이터를 배치하고, Computational Storage는 Zone 안의 데이터를 연산한다. 이 조합은 쓰기 증폭과 데이터 이동을 함께 줄이는 구조다.

원본에서 제시한 성능·효율 수치

ZNS의 쓰기 증폭은 1.1x로, 전통적 SSD의 3-5x와 비교된다. GC 제거 효과로 P99 지연은 50% 감소하며, Over-Provisioning 감소에 따라 유효 용량은 10-20% 증가한다.

필터링 워크로드에서는 데이터 이동이 90% 이상 줄어들 수 있다. PCIe 전송 에너지 감소로 전력 소비는 30-50% 절감되고, 쿼리 성능은 워크로드 의존적으로 2-10배 향상한다.

지원 생태계와 남은 제약

ZNS SSD는 Western Digital, Samsung, Kioxia가 출시했으며, Linux 커널 5.9+는 ZNS를 지원한다. 파일시스템과 데이터베이스 영역에서는 F2FS, Btrfs, ZenFS(RocksDB용), RocksDB, Ceph, MinIO의 지원 또는 통합이 언급된다.

Computational Storage 영역에는 Samsung SmartSSD의 FPGA 기반 CSD, NGD Systems의 Catalina 시리즈 CSP, 압축 전문 CSD를 제공하는 ScaleFlux, Eideticom의 NoLoad 플랫폼이 있다.

기존 응용을 크게 수정해야 한다는 점, Zone 관리와 함수 배포라는 새 추상화를 학습해야 한다는 점, 벤더 간 호환성을 위한 표준화가 과제로 남는다. 이후에는 AI 기반 Zone 할당 최적화, CPU·GPU·FPGA를 혼합한 Heterogeneous Computational Storage, CXL(Compute Express Link) 통합, CSP/CSD의 Multi-Tenant 지원이 제시된다.

ZNS컴퓨테이셔널 스토리지SSD스토리지 아키텍처운영체제