NVM Express® (NVMe®) インターフェイスにより、ホスト ソフトウェアが不揮発性メモリ サブシステムと通信できるようになります。これはプロトコルを定義し、PCIe NVMe SSD のパフォーマンスを向上させます。
2021年6月には、 NVMe2.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 仕様ライブラリは、4 つの仕様グループと合計 8 つのドキュメントで構成されています。
1.NVMe基本仕様
• NVMeベース仕様
2. コマンドセットごとに個別の仕様
• NVM コマンドセットの仕様
• ゾーン化された名前空間コマンド セットの仕様
• Key-Value コマンドセットの仕様
3. モジュラートランスポートマッピングレイヤー
• PCIeトランスポート仕様
• RDMA トランスポート仕様
• TCP トランスポート仕様
4. NVMe管理インターフェイス
• NVMe-MI
NVMe 2.0 のリファクタリングには、NVMe と NVMe over Fabrics (NVMe-oF) 仕様の統合、コマンド セットごとおよびトランスポート マッピング レイヤーごとの個別の仕様の作成が含まれます。たとえば、PCIe は 1 つのトランスポート仕様に分割されています。
NVMe 2.0の主な機能
以前の仕様から隔離されていた技術提案をリファクタリングしてリリースすることに加えて、NVMe 2.0 ファミリの仕様には 4 つの重要な機能が含まれています。
ゾーン化された名前空間 (ZNS)
この機能は、NVMe SSD とホストがデータ配置で連携できるようにするインターフェイスを提供します。データを SSD の物理メディアに合わせて調整できるため、全体的なパフォーマンスが向上し、ホストに公開できる容量が増加します。さらに、ZNS では書き込み増幅が大幅に改善されます。つまり、ZNS を使用すると、NVMe SSD の寿命を延ばすことができます。
ゾーン化された名前空間コマンド セットの仕様は、ZNS SSD の操作方法を定義します。 ZNS SSD の 3 つの重要な動作特性は次のとおりです。
1. ゾーン化された名前空間は、同じサイズのゾーンのセットに分割されます。これらのゾーンは、論理ブロック アドレスの重複しない連続範囲です。
2. ゾーン内の書き込みはシーケンシャルであり、「書き込みポインタ」の位置から開始する必要があります。
3. 各ゾーンは再書き込みする前に消去する必要があります。
キーと値のコマンド セット
2000 年代後半以降に大量の非構造化データが作成されたため、非リレーショナル データベースの開発が促進されました。キー/値データベースは、単純なキー/値メソッドを使用してデータを保存する非リレーショナル データベースの一種です。キーと値はどちらでも何でもかまいません。このタイプのデータベースは高度に分散されており、他のタイプのデータベースでは達成できないスケールでの水平スケーリングが可能です。ただし、キーと値のデータベースでは、データをログ構造化マージ ツリー (LSMT) に編成することが必要になる場合があります。この操作には、元のデータの書き込みに加えて、より多くの書き込みサイクルが必要となり、SSD の寿命が短くなります。
NVMe-KV は、この問題を解決するために開発されました。これにより、論理ブロック アドレスではなくキーを使用して、NVMe SSD 名前空間上のデータにアクセスできるようになります。 NVMe-KV コマンド セットは、対応する値を不揮発性メディアに保存するためのキーを提供し、対応するキーを指定してメディアからその値を取得します。 SNIA によって定義された NVMe-KV コマンド セットおよびキーバリュー ストレージ API 仕様に従うことで、KV SSD により、ユーザーはキーと論理ブロック間の追加の変換テーブルによるコストと時間のかかるオーバーヘッドを発生させることなく、キーバリュー データにアクセスできるようになります [4] 。
NVMe エンデュランス グループの管理
NVMe エンデュランス グループ管理を使用すると、メディアをエンデュランス グループおよび NVM セットに構成できます。これにより、SSD へのアクセスが細分化され、制御が向上します。
エンデュランス グループと NVM セットは NVMe 1.4 で初めて導入されましたが、顧客がそれらを構成できる機能は限られていました。構成は、ドライブのファームウェアにハードコーディングするか、ベンダー固有のコマンドで処理する必要があります。 NVMe 2.0 は、ユーザーがエンデュランス グループと NVM セットを割り当てるメカニズムを提供します。構成可能なパラメータが増えると、NVM サブシステムは、共有ドライブまたはアレイ上のさまざまなユーザーの I/O パフォーマンスへの影響やウェアレベリング操作をより柔軟に分離できます。
この図は、NVMe ストレージ エンティティの階層を示しています。
1. NVM サブシステムにはドメインが含まれています
2. ドメインに耐久性グループが含まれる
3. エンデュランス グループには NVM セットが含まれます
4. NVM セットには名前空間が含まれています
5. 名前空間には論理ブロックの配列が含まれます
HDD (回転メディア) が NVMe 2.0 でサポートされるようになりました
SATA 仕様は 12 年間更新されていませんが、HDD は依然として SATA インターフェイスの理論上の帯域幅 (600MB/秒) に到達できません。したがって、NVMe 2.0 の回転メディア サポートが、パフォーマンスの面で HDD に直ちに利益をもたらすとは期待していません。 NVMe が回転メディアをサポートする主な理由は、システム全体の構成可能性を向上させるためです。高度に構成可能なシステムは、特定のユーザー要件を満たすために、さまざまな組み合わせで選択して組み立てることができるコンポーネントを提供します。この機能は、データセンターとエンタープライズ環境にメリットをもたらします。
NVMe 2.0 は 1.4 に比べて大幅に改善されています
NVMe 2.0 の新機能を見ると、NVMe が企業やデータセンターからの需要に焦点を当てていることは明らかです。この結果はまったく驚くべきことではありません。 IDC リサーチ バイス プレジデントの Jeff Janukowicz 氏は次のように述べています。「NVMe テクノロジーは SSD の主要なインターフェイスであり、世界全体のエンタープライズ SSD 容量は 2024 年まで 43% の複合年間成長率で増加すると予想されています。NVMe アーキテクチャは将来の SSD 開発と、デジタルトランスフォーメーションを推進するハイパースケールおよびエンタープライズコンピューティングの新時代を迎えるにあたり、フォームファクターの重要性が高まります。」
この記事で使用されるリソース:
1. 図 1、2、6: NVMエクスプレス
2. 図 3: ゾーンストレージ
3. 図 4: ノースイースタン大学工学部
4 図。 5: NVMエクスプレス