NVMe(non-volatile memory express)は、コンピュータの高速Peripheral Component Interconnect Express(PCIe)バスを介して、エンタープライズシステムとクライアントシステムとソリッド-ステート-ドライブ(Ssd)間のデータ転送速度を高速化するために作成されたホスト-コントローラ-インタフェースおよびストレージ-プロトコルである。
ソリッドステート技術がストレージ市場で好ましい媒体になるにつれて、既存のインターフェイスとプロトコル、特にSerial Advanced Technology Attachment(SATA)とSerial-Attached SCSI(SAS)は、特にデータセンター環境では適していないことがすぐに明らかになりました。 Nandフラッシュ用に特別に設計された新しいプロトコルの作業は、2007年には早くもインテルが主導して始まりました。 2011年の初めに、最初のNVMe仕様がリリースされました-ほぼ100のハイテク企業が開発に関与していました。
NVMe仕様では、PCIeベースのSsd用のレジスタインタフェース、コマンドセット、および機能のコレクションが定義されており、幅広いNVMサブシステムにわたる高 NVMe仕様では、ソリッドステートストレージ、メインメモリ、キャッシュメモリ、バックアップメモリなどの最終的な使用モデルは規定されていません。
NVMeは、ホストシステムとペリフェラルターゲットストレージデバイスとの間でデータを接続して送信するためのSmall Computer System Interface(SCSI)標準およびATA標準の代替 SATA Ssdで使用されているATAコマンドセットとSAS Ssd用のSCSIコマンドセットは、ハードディスクドライブ(Hdd)とテープが主記憶媒体であった時代に開発され NVMeは、より高速なメディアで使用するために設計されました。
SASベースおよびSATAベースのSsdに対するNVMeベースのPCIe Ssdの主な利点は、フォームファクタおよび使用中のPCIeレーンの数に応じて、ホストソフトウェアスタッNVMeプロトコルは、NandフラッシュやIntelとMicron Technologyによって開発された3D XPoint技術など、さまざまな種類の不揮発性メモリを使用するSsdをサポートできます。 NVMeリファレンスドライバーは、WindowsやLinuxなど、さまざまなオペレーティングシステム(Os)で使用できます。
NVMeは、既存のアプリケーションをより速く、より効率的に実行することを可能にするだけではありません; 実際には、Iot(internet of things)、人工知能(AI)、機械学習(ML)などの新しい進化する技術やアプリケーションの重要なイネーブラーであり、NVMe接続ストレージの低レイテンシと高
NVMeの動作方法
NVMeは、入力/出力(I/O)コマンドと応答をPCIeインターフェイスを介してホストコンピュータの共有メモリにマップします。 NVMeインターフェイスは、マルチコアプロセッサとの並列I/Oをサポートし、高スループットを容易にし、中央処理ユニット(CPU)のボトルネックを軽減します。NVMeは、SCSIおよびATAコマンドセットよりもi/O要求を処理するためのより合理化されたコマンドセットを提供します。 NVMeは、SCSIコマンドセットがSASデバイスで行い、ATAコマンドセットがSATAドライブで使用するCPU命令の数の半分以下を必要とします。NVMe Ssd vs.SATA Ssd
SATAは、コンピュータがHDDストレージシステムと対話するために開発された通信プロトコルです。 2000年に主要な技術者のグループによって導入されたSATAは、並列ATAに取って代わり、すぐにラップトップからサーバーに至るまでのコンピュータのユビキタスストレージシステムプロトコルとなった。 長年にわたり、仕様の改訂が見直され、現在は6Gbpsで動作し、最大600MBpsの有効スループットを実現しています。
機械的な回転プラッタとアクチュエータ制御の読み取り/書き込みヘッドを備えたハードディスク技術のために開発されましたが、初期のSsdは、既存のSATAエコシステムを利用するためにSATAインターフェイスを備えて販売されました。 これは便利な設計であり、SSDの採用を加速させるのに役立ちましたが、NANDフラッシュストレージデバイスにとって理想的なインターフェイスではなく、シ
フラッシュ用に設計されたNVMeの速度と低レイテンシはSATAをほこりの中に残し、NVMeはM.2などの小さなフォームファクタではるかに高いストレージ容量 一般的に、NVMeの性能パラメータはSATAの性能を5倍以上上回っています。SATAは、NVMeよりも長い歴史と実装コストが低いことで確立されているかもしれませんが、より現代的なストレージメディアに改装されたのは明らかにハーNVMeは、単一のメッセージキューで64,000個のコマンドをサポートし、最大65,535個のI/Oキューをサポートします。 対照的に、SASデバイスのキューの深さは、通常、最大256のコマンドをサポートし、SATAドライブは1つのキューで最大32のコマンドをサポートします。しかし、NVMeベースのPCIe Ssdは、現在、同等の容量のSASおよびSATAベースのSsdよりも高価ですが、そのデルタは狭くなっています。 また、ハイエンドのエンタープライズNVMe Ssdは、SASまたはSATA Ssdよりも多くの電力を消費する可能性があります。 SCSI業界協会は、より成熟したSAS Ssdは、より高いスケーラビリティ、ホットプラグ性、時の試練を経たフェイルオーバー機能など、NVMe PCIe Ssdよりもさらに利点があると主張している。 NVMe PCIe Ssdは、多くのアプリケーションが必要としないレベルのパフォーマンスを提供することもあります。
Nvm Expressの歴史と進化
不揮発性メモリホストコントローラインターフェイス(NVMHCI)ワークグループは、2009年にNVMe仕様の開発を開始し、1.0バージョンをMarch1,2011 その1.0仕様には、キューイングインタフェース、NVMコマンドセット、管理コマンドセット、およびセキュリティ機能が含まれていました。NVMHCIワークグループは、一般にNVM Expressワークグループとして知られており、OctにNVMe仕様の更新をリリースしました。 11, 2012. NVMe1.1では、マルチパスI/Oおよび名前空間共有を有効にするために、複数のPCIeポートを備えたSsdのサポートが追加されました。 その他の新機能には、アイドル時間中の自律的な電源状態遷移が含まれており、エネルギーニーズを削減し、複数のホストが共有名前空間へのアクセスを調整してフォールトトレランスを向上させることができます。
NVM Express Workgroupは、企業が製品のNVMe仕様への準拠をテストし、他のNVMe製品との相互運用性をチェックできるようにするために、2013年に最初のPlugfestを開催しました。
Nvm Express Workgroupは、2014年にNVM Express組織名で法人化されました。 当時の設立メンバーには、シスコシステムズ、デル、EMC、ウェスタン-デジタルのhgst子会社、インテル、Lsi、Micron Technology、NetApp、Oracle、PMC-Sierra、Samsung Electronics、SanDisk、Seagate Technologyが含まれていました。
NVM Expressの組織は、後に単にNVM Express Incとして知られるようになりました。 非営利団体は、メンバーとして100以上の技術企業を持っています。NVMe1.2仕様が11月に登場しました。
3,2014,ライブファームウェアの更新のサポートなどの機能強化,改善された電源管理とエンドツーエンドのデータ保護のためのオプション.
17,2015,NVM Express組織は、帯域外不揮発性メモリサブシステムを管理するためのアーキテクチャとコマンドセットを提供するために、NVM Express管理インターフェイス(NVMe-MI)の1.0バージョンを批准しました。 NVMe-MIを使用すると、管理コントローラは、SSDデバイスと機能の検出、正常性と温度の監視、および非破壊ファームウェアの更新などのタスクを実行できます。 NVMe-MIがなければ、It管理者は一般的に、PCIe Ssdの管理を可能にするために、独自のベンダー固有の管理インターフェイスに依存していました。Nvm ExpressはNVMe1をリリースしました。
NVMe1.3の機能強化
Nvm ExpressはNVMe1をリリースしました。2017年6月3日に発売された。 ディレクティブと仮想化の強化と呼ばれる新しいフレームワークであるsanitize operationsを中心に強調しています。
サニタイズ操作では、Nvm Expressリファレンスシートによると、NVMeサブシステム内のすべてのユーザーデータが変更され、”キャッシュ、不揮発性メディア、またはコントロー サニタイズ操作は、SSDがリタイアされたり、新しいユースケースで再利用されたりする場合にお勧めします。 サニタイズモードには、NANDメディアの低レベルブロック消去、メディア暗号化キーを変更して上書きする暗号化消去が含まれます。
ディレクティブフレームワークは、ホストとNVMeサブシステム間のデータ交換のメカニズムを定義します。 これにより、I/Oコマンドごとのタグ付けが可能になり、IT管理者はレポート可能な属性と設定を構成できます。
ディレクティブの最初の使用は、Nand Ssdの耐久性とパフォーマンスを向上させるためにデータ配置を最適化するためのStreamsと呼ばれる機能です。 従来、新しいデータをSSDに書き込む前に、最初に大きなデータブロックを消去する必要がありました。
Streams機能を使用すると、ホストは”ストリーム識別子”を使用して、関連するデータのグループに属するストレージの特定の論理ブロックを示すことができます。 これにより、読み取りまたは書き込みに、他の場所に格納された関連データをタグ付けできます。
仮想化の強化は、プライマリストレージコントローラとセカンダリストレージコントローラを含む、物理コントローラと仮想コントローラの両方が存在する共有ストレージ環境でNVMeフラッシュをどのように使用できるかを定義します。 NVM Expressは、開発チームが特定のSSDを特定の仮想マシン(VM)専用にできるようにすることを目標としていると述べた。NVMe1.4の機能強化2019年7月にNVMe1.4が導入されました。 この最新バージョンには、以下を含む多くの機能強化と新機能が含まれています。
- Rebuild Assistは、データ復旧を改善し、データ移行操作を強化します。
- 永続的なイベントログは、デバッグや問題の原因の特定に使用できる詳細なドライブ履歴を保持します。
- NVMセットとIO決定論は、パフォーマンスとサービス品質(QoS)を向上させます。
- 非対称名前空間アクセス(ANA)は、高可用性のためのマルチパスを強化します。
- ホストメモリバッファー(HMB)は、レイテンシを低減し、SSD設計を支援します。
- Persistent Memory Region(PMR)により、ホストシステムは、主にキャッシュに使用されていたコアフラッシュとともにSsdに含まれるdynamic random access memory(DRAM)に直接読み書きできます
Osには新しいドライバも必要になります。
NVMeフォームファクタと標準
エンタープライズ環境でのNANDフラッシュのパフォーマンスの可能性をよりよく活用するためのストレージインターフェー しかし、connection標準を再想像することで、さまざまな実装オプションを提供しながら、新しい仕様の範囲内にとどまることができるいくつかの異なるタイプ
短い順序で、PCIeバス用の従来型アドインカード(AIC)、およびM.2およびU.2と呼ばれるSsd用の新しいフォームファクタを含む、NVMe仕様に準拠したフラッシ
- AIC。 AICフォームファクタにより、メーカーはストレージベイの設計や同様の制限を気にすることなく、PCIeバスにスロットする独自のカードを作成できます。 カードは、多くの場合、特別なユースケースのために設計されており、ソリッドステートストレージの性能を向上させるために、追加のプロセッサや他のチッ
- M.2。 M.2つの形式要素はNANDのフラッシュの小型および低熱排出を利用するために開発されました。 そのため、M.2デバイスは従来のドライブベイのコンパートメントに収まるのではなく、はるかに小さなスペースに展開することを意図しています。 多くの場合、ガムの棒の大きさについて説明し、M.2Ssdは、いくつかの製品が長いか短いかもしれないが、幅22mm、一般的に80mmの長さを測定します。
- U.2. M.2フォームファクタとは異なり、U.2Ssdは、もともと標準のSATAまたはSASデバイス用の既存のストレージベイに適合するように設計されていました。 U.2Ssdは、通常、Hdd用のおなじみの筐体である2.5インチまたは3.5インチのエンクロージャを使用するため、古いメディアに非常によく似ています。 もちろん、このアイデアは、できるだけリエンジニアリングを少なくして、NVMe技術をできるだけ簡単に実装できるようにすることでした。もう1つ、あまり広く展開されていないNVMeフォームファクタは、エンタープライズおよびデータセンター SSDフォームファクタ、またはEDSFFです。 Intel、Dell EMC、Hewlett Packard Enterprise(HPE)、Lenovo、Samsungなどの主要なストレージ業界のプレーヤーに支えられています。 EDSFFの目標は、エンタープライズクラスのストレージシステムに高いパフォーマンスと容量をもたらすことです。 おそらく、EDSFFフラッシュの最もよく知られた例はIntelのE1です。L(長い)およびE1。S(短い)フラッシュデバイスは、もともと”ルーラー”フォームファクタと呼ばれていたもので提供されています。Nvm Express Inc.
NVMe over Fabrics
Nvm Express Inc. 2016年6月5日にNVMe over Fabrics(NVMe-oF)仕様の1.0バージョンを公開しました。 NVMe-oFは、ファイバー-チャネル(FC)、イーサネット、InfiniBandなどのサーバーとストレージ-システムを接続するネットワーク-ファブリック全体で、NVMeの高性能と低遅延の利点を拡張するように設計されています。Fabric transportには、remote direct memory access(RDMA)を使用するNVMと、FCにマップされるNVMeが含まれます。 NVM Express Inc.の技術サブグループです。 RDMAとNVMe-oFに取り組んでおり、国際情報技術標準委員会(INCITS)のT11委員会がFC(FC-NVMe)を介したNVMeの開発を担当しています。NVMe-oFの仕様は、NVMeの仕様とほぼ同じです。
NVMe-oFとNVMeの主な違いの一つは、コマンドと応答を送受信するための方法論です。 NVMeはローカルで使用するために設計されており、コマンドと応答をPCIe経由でコンピュータの共有メモリにマップします。 対照的に、NVMe over Fabricsは、ホストコンピュータとターゲットストレージデバイスとの間で通信するためにメッセージベースのシステムを採用しています。
nvme-oFの設計目標は、ローカルコンピュータのPCIeバスを使用するNVMeストレージデバイスに関連付けられているレイテンシと比較して、NVMeホストコンピ