NVMeホスト・コントローラー:高性能、高効率、低レイテンシのデータ転送を実現


 

ここ数年、フラッシュベースのソリッド・ステート・ドライブ(SSD)、特にNVM Expressインターフェイスで接続されたSSDの登場により、ストレージ技術の性能は100倍に向上した。エンタープライズとクライアントの両方のコンピューティングで管理可能で拡張性のあるプロトコルです。

では、NVMeとは何か?

NVM ExpressまたはNVMe(Non-Volatile Memory express)は、超低レイテンシーで超高性能なフレームワークを提供するソリッド・ステート・ドライブおよびフラッシュ・メモリと通信するために設計された合理化されたプロトコルです。このインターフェイスは、ホスト・ソフトウェアがインターフェイスを介して不揮発性メモリ・サブシステムと通信することを可能にし、外部CPUなしでフラッシュ・ストレージへの高速アクセスを必要とするFPGAアプリケーションに最適です。

高速データストレージにおけるNVMeの利点

  • 高帯域幅かつ低レイテンシのユーザー体験を提供するために、NVMeは、SSDがコンピュータ内の高速PCIe(Peripheral Component Interconnect Express)バスに直接接続することで、その利点を活用できるようにします。その結果、NVMeは何万もの並列コマンドキューをサポートし、単一のコマンドキューをサポートするハードディスクドライブ(HDD)や従来のフラッシュアーキテクチャに比べてはるかに高速です。
  • NVMeはマルチコアCPUを活用している。複数のCPUコアがキューの所有権を共有できるため、アービトレーション、キューの優先順位、コマンドのアトミック性が向上します。
  • レジスタ・インターフェースとコマンド・セット用に最適化された合理化されたプロトコルで、データを効率的に解析・操作。
  • あらゆる種類のエンタープライズ・ワークロードに対して、高スループットと高速レスポンスを実現

I/Oキューとその仕組みを理解する

NVMeがどのようにして高性能と低レイテンシーを実現しているのかを理解するために、NVMeのアーキテクチャを見てみよう。ストレージと検索を最適化するため、NVMeは最大64Kキューまでの複数のI/Oキューをサポートし、それぞれが64Kエントリーを持ちます。一方、レガシーSATAとSASは、それぞれ32エントリと254エントリを持つ単一のキューをサポートしています。NVMeホスト・ソフトウェアは、システム構成やワークロードに応じて、NVMeコントローラがサポートする最大数のI/Oキューを作成することができます。

これは、ホスト・メモリ内に対になったサブミッションキューとコンプリーションキュー機構を持つ。サブミッションキューは、各エントリーが1つのコマンドである固定スロットサイズの円形バッファであり、同様に、完了キューは、各エントリーが特定のコマンドのコマンド完了ステータスである固定スロットサイズの円形バッファである。

NVMeコントローラによって実行される新しいコマンドがあるたびに、NVMeホストソフトウェアはNVMe仕様に従ってコマンドを作成し、そのコマンドを不適切なサブミッションキューに配置します。各サブミッションキューには、キュー上の新しいコマンドの存在をNVMeコントローラに通知するための独自のテール・ドアベル・レジスタがあります。コントローラーは、サブミッションキューのデータをフェッチし、コマンドを処理して実行します。次に、NVMeコントローラは、コマンドの完了を関連する完了キューに入れ、その後に割り込みを発生させて、以前に送信したコマンドの新しい完了ステータスをNVMeホストソフトウェアに通知します。最後に、完了キューデータは完了キューヘッドドアベルレジスタを書き込み、NVMeホストソフトウェアが完了キューデータの処理を完了したことをNVMeコントローラに通知します。

なぜNVMeがビジネスにとって重要なのか?

データセンター、ミッションクリティカル、防衛、AI、ビッグデータなどの最新技術の進化に伴い、生成、分析、処理、保存されるデータ量は著しく増加しており、企業は高性能なストレージメディアを選択するようになっています。NVMeはそのようなプロトコルの1つであり、ボトルネックを効率的に排除し、データ需要の増加に対応できるよう拡張できるハイパフォーマンス・コンピューティング環境を提供するために構築されています。さまざまな組織で導入されているビッグデータやOLTPリレーショナルデータベースプラットフォームは、膨大なワークロードを処理しなければなりませんが、NVMeはリアルタイムデータ駆動型の意思決定をはるかに高速化します。これとは別に、NVMeは、医療、自動車、産業、娯楽、民間航空などの分野で、さまざまな利点を提供します。

NVMe向けのFPGAベースの製品では、ハードウェア・レベルでコンピュートとストレージを統合できるため、より高いパフォーマンスを得ることができます。また、リコンフィギュラブル・ロジックの処理がストレージに直接接続されているため、データはFPGAを流れてリアルタイムで処理されます。また、高速データ処理とデバイス上の制御を組み合わせることで、自律的に動作する可能性もある。

iWave SystemsのNVMeホストコントローラ

iWaveのNVMeホスト・コントローラは、NVM Expressベース仕様リビジョン1.4に準拠しており、組み込みソフトウェアによって制御され、SSDなどのNVMeストレージ・デバイスとの間でメモリ転送を実行します。SSDにアクセスするための柔軟なベンダー固有のPCIeハードIPが利用可能で、PCIeソフトIPもサポートしています。SoC実装に容易に採用できるよう、NVMeホストIPにはAXI制御およびデータ・パス・インターフェースが付属しています。

NVMeホストコントローラIPは、以下のような豊富な機能を備えています。

  • SMART、Identify、Shutdown、READ、WRITE、Flushコマンドをサポートします。
  • 外部DDRを使用せず、データ・バッファとして内部RAMを含む
  • SSDの物理層としてPCIeインターフェイスを使用するPCIe IPで動作
  • ベンダー固有のPCIeルートポートIPを使用
  • 単一の管理キューと単一のIOキューをサポート
  • スケーラブルなIOキューの深さと管理キューの深さをサポート
  • 512バイトおよび4096バイトのセクタサイズのNVMeデバイスをサポート
  • 最大32Mbのデータ転送サイズをサポート
  • 4Kバイトのホスト・メモリ・ページ・サイズをサポート
  • データ・インターフェースにAXI4-Streamインターフェースをサポート
  • 制御インターフェイスにAXI4-Liteインターフェイスをサポート

iWaveは、IPコアの納品、購入後の不具合保証、24時間以内の電子メール、Skype、電話による専用テクニカル・サポートを保証します。コアは、洗練されたテストベンチ、シミュレーションスクリプト、合成スクリプトなど、実装を成功させるために必要なすべてを含む、合成可能なRTLおよびFPGAネットリスト形式で提供されます。

NVMeホスト・コントローラーの詳細については、こちらをご覧ください

詳細およびお問い合わせは、mktg@iwavesystems.comまで書面にてご連絡いただくか、地域パートナーまでご連絡ください。

続きを読む

業界準拠のSATA 3.0ホスト・コントローラIP
高速アビオニクス・ビデオ用ARINC 818変換カードSDメモリー・スレーブ・コントローラーを使用したモバイル・セキュリティ・エンジン

著作権 © 2022 iWave Systems Technologies Pvt.