레이블이 SSD인 게시물을 표시합니다. 모든 게시물 표시
레이블이 SSD인 게시물을 표시합니다. 모든 게시물 표시

2021년 6월 2일 수요일

ZNS SSD (Zoned Namespaces SSD)와 NVMe (Non-Volatile Memory Express)의 개요

ZNS SSD (Zoned Namespaces SSD)

 

Zoned Namespace (ZNS) SSD NVM Express™ (NVMe™) 조직에서 정의한 Zoned Namespace Command Set에 따라 동작하는 SSD입니다. 이 사양은 SSD와 호스트가 데이터 배열을 구역화된 스토리지 장치 인터페이스를 제공하는데, 데이터를 SSD의 물리적 미디어에 정렬하여 전체 성능을 개선하고, 호스트에 제공될 수 있는 용량을 늘릴 수 있습니다 (+20%).

 

ZNS Command Set 1.0은 업계 요구를 충족하기 위해 2020 6 16일에 발표되었습니다. ZNS Command Set 1.0 사양은 플래시 스토리지의 데이터 배열 기능을 개선하고 표준화된 인터페이스를 통해 제공되도록 처리합니다.

 

ZNS Command Set 1.0 사양은 현재 NVMe™ 1.4a 사양에 대한 승인된 기술 제안 (TP 4053)으로 제공됩니다.

 

NVMe (Non-Volatile Memory Express)

 

NVMe (NVM Express)는 호스트 소프트웨어가 PCI Express (PCIe) 버스를 통해 비휘발성 메모리와 통신하는 방법을 정의하는 사양입니다. 모든 폼팩터에서 PCIe SSD에 대한 업계 표준입니다 (U.2, M.2, AIC, EDSFF). NVM Express NVMe기술을 정의, 관리 및 프로모션하는 기술 업계 리더의 비영리 컨소시엄입니다. 이 조직은 NVMe 기본 사양외에도 다른 규격도 관장하는데, 네트워킹 구조상에서 NVMe Command 사용을 위한 NVMe over Fabrics (NVMe-oF)과 서버 및 스토리지 시스템에서 NVMe/PCIe SSD를 관리하기 위한 합니다 NVMe Management Interface (NVMe-MI)도 관장합니다.

 

NVMe 사양은 처음부터 SSD용으로 설계되었습니다. 이는 직렬 ATA (SATA)와 같은 레거시 인터페이스보다 훨씬 더 효율적인 인터페이스이며 지연 시간이 짧으며 SSD에 대해 더 확장성이 높습니다. 사양의 첫번째 부분은 호스트 제어 인터페이스입니다. NVMe 아키텍처는 새로운 고성능 큐 메커니즘 (명령들이 처리되기 위해 임시 저장되는)을 제공합니다. 명령 큐들은 확장성 있는 성능을 제공하면서 CPU 코어에 매핑됩니다.

 

NVMe 인터페이스는 메모리 매핑 입력/출력 명령의 수를 크게 줄이고 인터럽트 또는 폴링 모드에서 실행되는 운영체제 장치 드라이버를 수용하여 성능을 높이고 대기 시간을 줄입니다. NVMe 사양에는 운영 체제에서 읽기, 쓰기, 플러시, TRIM, 펌웨어 관리, 온도, 오류 등을 위해 사용하는 SSD 명령에 대한 호스트-장치 프로토콜도 포함되어 있습니다.

 

NVMe SSD

 

NVMe (Non-Volatile Memory Express) ZNS SSD는 기존 NVMe SSD에 비해 몇가지 이점을 제공할 수 있습니다.

 

-      처리량 및 지연 시간을 개선

-      미디어 프로비저닝 과부하 감소

-      DRAM 사용률 감소

-      드라이브 쓰기 횟수 향상

 

NVMe ZNS SSD SMR 하드 디스크와 유사하게 각 구역에는 순차적으로 저장하고 명시적으로 리셋하면서, NVMe Namespace에서는 구역으로 읽으면서 이러한 이점을 얻습니다.

 

영역 추상화의 도입으로 ZNS 장치 구현은 물리적 매체에 대한 논리적 블록 매핑을 최적화할 수 있습니다. 플래시 기반 장치의 경우 특정 영역내에서 순차적 데이터 쓰기를 위한 미디어 요구 사항은 ZNS 프로토콜 순차적 쓰기 영역 개념과 일치합니다. 장치 컨트롤러는 더이상 임의의 쓰기를 관리할 필요가 없으므로 위에서 언급한 이점의 일부 또는 전부를 제공할 수 있는 보다 효율적으로 구동시킬 수 있습니다.

 

, 아래 그림과 같이 이전에는 모든 영역을 모든 어플리케이션들에 임의로 읽기/쓰기한 반면, 이제는 어플리케이션별로 영역을 지정하여 읽기/쓰기함으로서 SSD 블록 관리가 용이합니다.


 

2021년 5월 12일 수요일

NVMe이란 (Non-Volatile Memory express)

 

NVMe (Non-Volatile Memory express)는 컴퓨터의 고속 PCIe (Peripheral Component Interconnect Express) 버스를 통해 엔터프라이즈 및 클라이언트 시스템과 SSD (Solid-State Drive) 사이의 데이터 전송 속도를 가속화하기 위해 생성된 호스트 컨트롤러 인터페이스 및 스토리지 프로토콜입니다.

 

Solid-State 기술이 스토리지 시장에서 가장 선호하는 기술이 되면서 기존 인터페이스 및 프로토콜, SATA (Serial Advanced Technology Attachment) SAS (Serial-Attached SCSI)가 데이터 센터와 같은 환경에서는 적합하지 않게 되었습니다. NAND 플래시용으로 특별히 설계된 새로운 프로토콜에 대한 작업은 인텔이 주도권을 잡고 2007년에 시작되었으며, 2011년초에 초기 NVMe 사양이 발표되었고, 거의 100개의 회사가 개발에 참여했습니다.

 

NVMe 규격은 광범위한 NVM 서브시스템에서 고성능 및 상호 운용성을 목표로 PCIe 기반 SSD에 대한 레지스터 인터페이스, 커맨드 세트 및 기능 등을 정의합니다. NVMe 사양은 Solid-State 스토리지, 메인 메모리, 캐시 메모리 또는 백업 메모리와 같은 것들을 규정하지는 않습니다.

 

NVMe SCSI (Small Computer System Interface) 표준 및 ATA 표준에 대한 대안을 제공하여 호스트 시스템과 주변 저장 장치를 연결하고 데이터를 전송합니다. SATA SSD와 함께 사용되는 ATA 커맨드 세트와 SAS SSD SCSI 커맨드 세트는 하드 디스크 드라이브 (HDD)와 마그네틱 테이프가 주요 스토리지 미디어이었을때 개발되었는데,  NVMe는 그보다 더 빠른 미디어와 함께 사용하도록 설계되었습니다.

 

SAS 기반 및 SATA 기반 SSD에 비해 NVMe 기반 PCIe SSD의 주요 이점은 호스트 소프트웨어 스택의 지연 시간 감소, IOPS (Input/Output Operations per Second) 증가, 낮은 전력 소비입니다.

 

NVMe 프로토콜은 NAND 플래시와 Intel Micron Technology에 의해 개발된 3D XPoint 기술을 포함하여 다양한 유형의 비휘발성 메모리를 사용하는 SSD를 지원할 수 있습니다. NVMe 드라이버는 Windows Linux를 포함한 다양한 운영 체제 (OS)에서 사용할 수 있습니다.

 

NVMe는 기존 애플리케이션을 더 빠르고 효율적으로 실행할 수 있도록 지원을 하지만, 사물인터넷 (IoT), 인공지능 (AI) 및 머신러닝 (ML)과 같은 새롭고 진화하는 기술 및 애플리케이션에서는 더욱 중요해지고 있습니다.

 

NVMe 동작 방식

 

NVMe는 입력/출력 명령과 응답을 PCIe 인터페이스를 통해 호스트 컴퓨터의 공유 메모리에 매핑합니다. NVMe 인터페이스는 멀티코어 프로세서와 함께 병렬 I/O를 지원하여 높은 처리량을 촉진하고 중앙처리장치 (CPU) 병목현상을 완화합니다.

 

NVMe는 입력/출력 요청을 처리하기 위해 SCSI ATA 커맨드 세트보다 보다 간소화된 커맨드 세트를 제공합니다. SAS 장치에서 사용되는 SCSI 커맨드 세트와 SATA 드라이브에서 사용되는 ATA 커맨드 세트에 비해 NVMe는 절반 미만의 CPU 명령만을 필요로 합니다.

 

NVMe SSD SATA/SAS SSD

 

SATA는 컴퓨터가 HDD 저장 시스템과 상호 작용하기 위해 개발된 통신 프로토콜입니다. 2000년에 주요 기술 업체 그룹에 의해 도입된 SATA는 병렬 ATA를 대체하고 노트북에서 서버에 이르는 컴퓨터를 위한 일반적인 저장 시스템 프로토콜이 되었습니다. 수년에 걸쳐 규격이 수정되었으며 현재 최대 600MBps의 유효 처리량으로 6Gbps로 실행됩니다.

 

기계식 회전 플래터와 액추에이터 제어 기반의 Read/Write 헤드가 있는 하드 디스크용으로 개발되었지만 초기 SSD는 기존 SATA 에코 시스템을 활용하기 위해 SATA 인터페이스와 함께 판매되었습니다. 편리한 디자인이었고 SSD 채택을 가속화하는 데 도움이 되었지만 NAND 플래시 저장 장치에 이상적인 인터페이스는 아니었습니다.

 

플래시용으로 설계된 NVMe의 속도와 낮은 대기 시간은 SATA를 압도하며, M.2와 같은 작은 폼 팩터에서 훨씬 높은 스토리지 용량을 가능하게 합니다. 일반적으로 NVMe 성능 지표는 SATA의 성능 지표보다 5배 이상 높습니다.

 

NVMe 기반 PCIe SSD는 현재 동일한 용량의 SAS SATA 기반 SSD보다 더 비쌉니다. 그러나 그 차이는 좁아지고 있습니다.