NVMe®(NVM Express®) 인터페이스를 통해 호스트 소프트웨어는 비휘발성 메모리 하위 시스템과 통신할 수 있습니다. 프로토콜을 정의하고 PCIe NVMe SSD의 성능을 향상시킵니다.
2021년 6월, NVMe 2.0이 출시되었습니다., 특히 데이터 센터를 위한 몇 가지 추가 기능 및 개선 사항을 표준화합니다. 그러나 가장 중요한 변화는 NVM Express가 원래 NVMe1.4, NVMe-MI 및 NVMe-oF를 재구성하여 최신 NVMe 사양을 보다 확장 가능하게 만드는 "리팩터링"입니다.
NVMe 2.0 리팩토링
최신 NVMe 리팩토링의 규모는 이 릴리스가 1.5가 아닌 2.0으로 번호가 매겨진 이유입니다. NVMe 2.0에 포함된 리팩토링을 통해 점점 더 다양해지는 NVMe 장치 환경을 지원하는 NVMe 솔루션을 더 빠르고 간단하게 개발할 수 있습니다.
이전 버전에는 NVMe 1.4 기본 사양, NVMe-MI 및 NVMe-Of 사양이 포함되었습니다. 그러나 최신 NVMe 2.0 사양 라이브러리는 총 8개의 문서와 함께 4개의 사양 그룹으로 구성됩니다.
1. NVMe 기본 사양
• NVMe 기반 사양
2. 명령어 세트별 별도 사양
• NVM 명령 집합 사양
• 존 네임스페이스 명령 집합 사양
• 키-값 명령 집합 사양
3. 모듈식 전송 매핑 레이어
• PCIe 전송 사양
• RDMA 전송 사양
• TCP 전송 사양
4. NVMe 관리 인터페이스
• NVMe-MI
NVMe 2.0의 리팩토링에는 NVMe 및 NVMe-oF(NVMe over Fabrics) 사양 통합과 명령 세트 및 전송 매핑 레이어당 별도의 사양 생성이 포함됩니다. 예를 들어 PCIe는 하나의 전송 사양으로 분리되었습니다.
NVMe 2.0의 주요 기능
이전 사양에서 격리된 기술 제안을 리팩토링 및 릴리스하는 것 외에도 NVMe 2.0 사양 제품군에는 4가지 중요한 기능이 포함되어 있습니다.
영역화된 네임스페이스(ZNS)
이 기능은 NVMe SSD와 호스트가 데이터 배치에 대해 협업할 수 있는 인터페이스를 제공합니다. 데이터를 SSD의 물리적 미디어에 정렬하여 전반적인 성능을 개선하고 호스트에 노출될 수 있는 용량을 늘릴 수 있습니다. 그 이상으로 ZNS를 사용하면 쓰기 증폭이 크게 향상됩니다. 즉, ZNS를 사용하면 NVMe SSD의 수명을 연장할 수 있습니다.
Zoned Namespace Command Set 사양은 ZNS SSD 작동 방법을 정의합니다. 세 가지 중요한 ZNS SSD의 작동 특성은 다음과 같습니다.
1. 존 네임스페이스는 논리 블록 주소의 연속적이고 겹치지 않는 범위인 동일한 크기의 존 세트로 나뉩니다.
2. 영역 내 쓰기는 순차적이어야 하며 “쓰기 포인터” 위치에서 시작해야 합니다.
3. 다시 쓰기 전에 각 영역을 지워야 합니다.
키-값 명령 세트
2000년대 후반 이후 생성된 비정형 데이터의 급증은 비관계형 데이터베이스의 개발을 촉진했습니다. 키-값 데이터베이스는 간단한 키-값 방법을 사용하여 데이터를 저장하는 비관계형 데이터베이스 유형입니다. 키와 값 모두 무엇이든 될 수 있습니다. 이 유형의 데이터베이스는 고도로 분산되어 있으며 다른 유형의 데이터베이스가 달성할 수 없는 규모로 수평 확장이 가능합니다. 그러나 데이터를 LSMT(Log-structured merge-tree)로 구성하는 것은 키-값 데이터베이스에서 필요할 수 있습니다. 이 작업에는 원래 데이터 쓰기 외에도 훨씬 더 많은 쓰기 주기가 포함되며 결과적으로 SSD의 수명이 짧아집니다.
NVMe-KV는 이 문제를 해결하기 위해 개발되었습니다. 논리적 블록 주소가 아닌 키를 사용하여 NVMe SSD 네임스페이스의 데이터에 액세스할 수 있습니다. NVMe-KV 명령 세트는 비휘발성 미디어에 해당 값을 저장하기 위한 키를 제공한 다음 해당 키를 지정하여 미디어에서 해당 값을 검색합니다. SNIA에서 정의한 NVMe-KV 명령 집합 및 키-값 스토리지 API 사양을 준수함으로써 KV SSD는 사용자가 키와 논리 블록 사이의 추가 변환 테이블의 비용과 시간 소모적인 오버헤드 없이 키-값 데이터에 액세스할 수 있도록 합니다[4]. .
NVMe Endurance 그룹 관리
NVMe Endurance Group Management를 통해 미디어를 Endurance Group 및 NVM 세트로 구성할 수 있습니다. 이를 통해 SSD에 대한 액세스를 세분화하고 제어를 개선할 수 있습니다.
Endurance Group 및 NVM 세트는 NVMe 1.4에서 처음 도입되었지만 고객이 이를 구성할 수 있는 기능이 제한되었습니다. 구성은 드라이브의 펌웨어에 하드 코딩되거나 공급업체별 명령으로 처리되어야 합니다. NVMe 2.0은 사용자가 Endurance Group 및 NVM 세트를 할당할 수 있는 메커니즘을 제공합니다. 더 많은 구성 가능한 매개변수를 통해 NVM 하위 시스템은 I/O 성능 효과와 공유 드라이브 또는 어레이에서 서로 다른 사용자의 웨어 레벨링 작업을 격리하는 더 많은 유연성을 가질 수 있습니다.
이 다이어그램은 NVMe 스토리지 엔티티 계층 구조를 보여줍니다.
1. NVM 하위 시스템에는 도메인이 포함되어 있습니다.
2. 도메인에 지구력 그룹이 포함됨
3. Endurance Group에는 NVM 세트가 포함됩니다.
4. NVM 세트에는 네임스페이스가 포함됩니다.
5. 네임스페이스는 논리 블록의 배열을 포함합니다.
이제 NVMe 2.0에서 지원되는 HDD(회전식 미디어)
SATA 사양이 12년 동안 업데이트되지 않았지만 HDD는 여전히 SATA 인터페이스의 이론적 대역폭(600MB/s)에 접근하지 못합니다. 따라서 NVMe 2.0의 회전식 미디어 지원이 성능 측면에서 HDD에 즉각적인 이점을 가져다 줄 것으로 기대하지 않습니다. NVMe가 회전식 미디어를 지원하는 주요 이유는 전체 시스템 구성성을 개선하기 위해서입니다. 고도로 구성 가능한 시스템은 특정 사용자 요구 사항을 충족하기 위해 다양한 조합으로 선택하고 조립할 수 있는 구성 요소를 제공합니다. 이 기능은 데이터 센터 및 엔터프라이즈 환경에 도움이 될 것입니다.
NVMe 2.0은 1.4보다 크게 개선되었습니다.
NVMe 2.0의 새로운 기능을 보면 NVMe가 이제 기업과 데이터 센터의 수요에 초점을 맞추고 있음이 분명합니다. 결과는 전혀 놀랍지 않습니다. IDC 연구 부사장 Jeff Janukowicz는 다음과 같이 말했습니다. 디지털 혁신을 주도하는 하이퍼스케일 및 엔터프라이즈 컴퓨팅의 새로운 시대에 접어들면서 폼 팩터를 강화했습니다.”
이 문서에서 사용된 리소스:
1. 그림 1,2,6: NVM 익스프레스
2. 그림 3: 영역 저장소
3. 그림 4: 노스이스턴대학교 공과대학
4 그림. 5: NVM 익스프레스