NVMe 2.0 仕様のリリースが昨日公開されました。 PCI Express を使用するブロック ストレージ デバイス用の質素なプロトコルから、NVMe は、実質的にすべてのストレージ タイプに対応する最も重要で用途の広いストレージ プロトコルの 1 つに進化しています。新しい仕様は、SSD、メモリ カード、アクセラレータ、さらには HDD など、NVMe デバイスのエコシステムを推進します。
典型的な PCIe SSD の基本仕様と別個の NVMe-over-Fabrics (NVMe-oF) 仕様の代わりに、バージョン 2.0 はもともとモジュラーとして設計され、多数の別個の標準が含まれています: ベース セット (NVMe ベース)、別個の命令セット(NVM、ZNS、KV)、トランスポート層の仕様 (PCIe、Fibre Channel、RDMA、TCP) および管理インターフェースの仕様 (NVMe 管理インターフェース)。これらは共に、ホスト ソフトウェアが PCI Express、RDMA などを介してドライブおよびストレージ プールと対話する方法を定義します。
現在、基本仕様はローカル デバイスと NVMe-oF の両方をカバーしていますが、はるかに抽象的で、現実世界に結びついていません。多くが削除されているため、単純な SSD を実装するために必要なすべての機能を定義するだけでは不十分です。実際のデバイスは、少なくとも 1 つの他のトランスポート層仕様と 1 つの命令セット仕様を参照する必要があります。特に、誰もが慣れている典型的な SSD の場合、これは PCIe トランスポート仕様とブロック ストレージ命令セットを使用することを意味します。
3 つの標準化された命令セット (ブロック アクセス、ZNS、およびキー バリュー) は、基盤となるフラッシュ メモリ上に薄い抽象化を備えた単純なソリッド ステート ドライブから、従来実行されていたストレージ管理タスクの一部を引き受ける比較的複雑なスマート ドライブにまで及びます。システム。ただし、同じコントローラーの背後にある異なる名前空間は、異なるコマンド セットをサポートできます。
NVMe 2.0 は、特定のデバイスのパフォーマンス、容量、および耐久性に基づいて、より詳細なワークロード管理を可能にする標準のストレージ プール管理メカニズムも追加します。プール階層も別のレベルのドメインで拡張され、その中にグループが存在し、そこに別の NVM デバイスのセットが配置されます。
計算ストレージなどの将来の命令セットはまだ開発中であり、標準化の準備が整っていませんが、新しい NVMe 2.0 アプローチにより、必要に応じて簡単に追加できます。原則として、オープン チャネル標準も NVMe の一部になる可能性がありますが、業界はゾーン ストレージ パラダイムがより合理的なバランスを提供すると考えており、オープン チャネル SSD への関心は ZNS ソリューションに向けて薄れています。
NVMe 2.0 のその他の変更には、32 ビットおよび 64 ビット CRC のサポート、共有ストレージ内のデバイスを安全に切断するための新しいルール (複数のコントローラーを介してアクセスする場合)、アクセス権のより細かい制御が含まれます - 読み取りと書き込みは許可できますが、コマンドは許可されませんドライブの設定または状態を変更するもの、およびファームウェアの更新に関連する追加のプロトコル。
また、NVMe 2.0 では、ハード ドライブが明示的にサポートされています。 HDD が SAS や SATA の代わりに PCIe にすぐに切り替わる可能性は低いですが、そのようなメディアのサポートは、将来的に、企業が SAN を NVMe-oF と統合し、iSCSI などの古いプロトコルを廃止できることを意味します。
全体として、NVMe 2.0 は、過去のバージョンほど多くの新機能を提供していません。ただし、仕様自体の再編成により、反復的なアプローチと新しい機能の実験が促進されます。したがって、今後数年間で、更新はより小さく、より頻繁になる可能性があります。
2021-06-04 03:46:37
著者: Vitalii Babkin