NVMe をわかりやすく解説します

  • キー ポイント
  • ストレージ業界は今後  NVMe にシフトしていくと見られる
  • ティントリは、最適なパフォーマンスとレイテンシーの実現には NVMe over Fabrics などによるエンドツーエンドの実装が必要と考えている
  • ストレージ システムは、ハードウェアの個々の機能ではなく、アプリケーションのニーズの観点から評価すべき

このところ NVMe に関する情報が多く飛び交っていますが、多くのストレージ ベンダーが市場での地位を勝ち取るために NVMe を活用しようと模索しています。

NVMe (Non-Volatile Memory Express) は、SAS や SATA に取って代わるストレージ インターフェイスの標準規格で、フラッシュ SSD や、3D XPoint. などの高速ストレージ デバイスに最適化された PCIe インターフェイスを提供します。コマンド発行回数が少なくキュー数が多いため、IO の並列処理性能が大幅に向上し、低レイテンシーの優れたパフォーマンスが実現されるほか、使用する CPU サイクルが少なくなるメリットもあります。

NVMe はストレージ システムの一部としてさまざまな形で利用することができます。どのように利用できるのかを理解しておくことは、実装の仕方によって変わってくる NVMe の長所や短所を知るうえで重要なことです。NVMe は多くのベンダーに採用され既存のハードウェアのアーキテクチャー面の切り替えが行われていますが、特定のアーキテクチャーの欠陥を解消したりパフォーマンスを改善するための一手として有効である一方、業界でのリーダーシップを誇示するための一要素でしかないと捉えられることもあります。

書き込みキャッシュとしての NVME

一部のストレージ ベンダーは、書き込みキャッシュとして NVMe 接続のデバイスを使用しています。アーキテクチャー上ではもともと、高速 SSD が書き込みキャッシュとして実装されていましたが、近年では NVMe 接続の DRAM デバイスへの切り替えが進んでいます。

これに対してティントリでは、書き込みのキャッシュに NVDIMM カードを使用しています。NVDIMM カードは DDR スロットを直接経由して接続されるため、ローカルの PCIe バス経由の NVMe よりも速度が桁違いに速くなります。これが書き込みパフォーマンスの向上に大きく影響しています。

DRAM への書き込みは、通常の動作中は他のメモリ操作とまったく変わりありません。もし電源が遮断されても、スーパーキャパシタが作動し、保護された DRAM のデータはフラッシュに転送されデータの整合性が確保されます。

読み取りキャッシュとしての NVME

別のストレージ アーキテクチャーでは、NVMe が読み取りキャッシュとして使用されていたり、使用が意図されています。この使い方は、HDD を搭載したハイブリッド アーキテクチャー向けとして理にかなっていると言えます。一部のオール フラッシュ設計は、メタデータをキャッシュするために、SATA SSD に加えて NVMe SSD を超高速ストレージ層として実装しています。

永続ストレージとしての NVME SSD

長期的な観点から興味深いのは、オール フラッシュ アレイで今最も使用されている SATA SSD ではなく、NVMe SSD を永続ストレージとして使用することです。今、ほとんどのアーキテクチャーで回復力を提供するために必要とされているのはデュアル ポート NVMe SSD です。このため、デュアル ポート NVMe SSD が手頃な価格で利用できるようになるまでは、オール NVMe アレイが広く普及することはない、とティントリは見ています。2017 年のうちに実現されることを期待しています。

NVME OVER FABRICS

最後は、NVMe over Fabrics についてです。NVMe over Fabrics はストレージ システムとサーバー間の NVMe 接続を拡張するもので、NVMe の速度でサーバーからストレージにアクセスできるようになります。2016 年 6 月に標準仕様のバージョン 1 が発表されましたが、そのテクノロジはさらに進化しているところです。

ティントリの NVME への取り組み

ストレージ業界では今後 12 ~ 18 か月の間にも NVMe への移行が大きく進み、さまざまなサービスが次々と登場してくるでしょう。現行のストレージで最適な NVMe 構成を使用すれば、ボトルネックの解消やパフォーマンス向上などさまざまなメリットを見込めます。ティントリでは、NVMe のメリットをフルに活用するためには、フロントエンドの接続からバックエンドの PCIe インターフェイスにいたるまで考慮されたエンドツーエンドの実装が必要になると考えています。計算のオーバーヘッドや余分なレイテンシーにつながるプロトコル変換を回避するためには、それがベストな方法です。

皆様の目標が NVMe で最大限のパフォーマンスと低レイテンシーを実現することであるなら、NVMe SSDs と高速ストレージ コントローラーを用意するだけでなく、NVMe over Fabrics 経由でサーバーに接続する必要があります。それには、まずベンダーがストレージ ハードウェアに NVMe を実装し、その後フロントエンドのプロトコルに対処するという、段階的なアプローチを取る必要があります。

パフォーマンスと容量を生み出す源であるハードウェアは、ティントリの主力製品です。また、ストレージ システムを差別化するのがソフトウェアであり、それによって皆様のビジネスの真の価値が決まります。ハードウェアの今後の展望を見据えることは重要なことですが、ハードウェアの特定の機能をベースに判断を下すのではなく、アプリケーションのニーズに最適かどうかを見極めたうえで、ストレージ システムのパフォーマンスと機能を評価することがおすすめです。

ティントリの目標は、皆様のニーズにとってベストなソリューションを提供することであり、仮想化環境やクラウド環境の要件に合った最適なストレージ ハードウェアとストレージ ソフトウェアを組み合わせてご提供することを目指していきます。