PCIe, NVMe, M.2 Key って何?


  • PCIeってなんだろう?
  • PCIeってパラレル通信?シリアル通信?
  • NVMe とPCIeってどういう関係?
  • M.2 Key XXX ってどういう関係?


PCIeについて

  • Peripheral Component Interconnected Expressの略
  • CPUやSoCが、周辺機器(GPUやメモリ、ストレージとか)に接続するバス規格
  • ジェネレーションとレーン数により、通信速度が決まる。
    • ジェネレーション:Gen1〜Gen6まであり。Gen6は、まだ規格策定段階。(携帯網の第○世代みたいな感じ)
    • レーン数は、2の累乗でアクリゲートできる(x1,x2,x4,x8...)
  • l lane = 送信線、受信線のペア
    • さらに、各送受信線は、2本になっていて、差動信号で動く
  • エンべデットクロック方式になってる。(データにクロック埋め込み)
    • ?回路図でCLKのpinもみたことあるけど、どういうことだろう。。。


NVMe

  • Non-Volatile Memory Expression ( + Host Controller Interface Specification)
  • SSDのストレージの高速アクセスするための通信プロトコル (背景:従来のAHCIではSSDの性能をうまく引き出せない問題があった)
  • SATAに比べて、Seekタイムもスループットもめっちゃ早い
  • ⬇でも発熱量多し


M.2 Key XXX



  • Q: PCIeってなんだろう?
    • A: 周辺機器を接続するためのバス規格や。
  • Q: PCIeってパラレル通信?シリアル通信?
    • A: シリアル通信や。ただ、レーンをアグリゲートすることで、通信速度も爆速やで。CSIも似たようなもんやな。
  • Q: NVMe とPCIeってどういう関係が?
  • Q: M.2 Key とPCIe ってどういう関係?
    • A: ただのインタフェース規格や。
    • A: PCIe、SATA、USBと複数のピンアサインを定義しているから、そのM.2の仕様に合わせることで、IFの共通化が図れるってことやないか。