PCIe 接続の SSD の標準化

NVMHCI(Non-Volatile Memory Host Controller Interface) Working Group が、PCI Express 接続の SSD の標準仕様を定義した。

通常の SSD ドライブが SATASAS に見えていたのと違い、PCIe based SSD は PCIe に直結するデバイスでそのアクセス方法もまちまちだったので、アクセス方法の枠組みを作るというのが標準化の趣旨だ。個人的には凄い注目していた。

仕様をぱらぱら読んでみるが、以下のような機能があるらしい。

  • コマンドを送る Submission Queue と完了の通知を受ける completion queue の組を複数持てる。両方 memory-mapped I/O。
  • Submission queue に積むコマンドは1個 64 バイト。複数の SB 間で優先順制御等が行える。
  • Completion queue は submission queue に積んだコマンドの状態が見える。
  • データの転送は 4KB ページを単位にして不連続なデータを READ/WRITE できるようだ。
  • SR-IOV に対応(?)

NVMHCI のワーキンググループには Intel、EMC、Micronが入っている。PCIe based SSD を作っている TMS や Virident、何より Fusion-io はどう動くのか?