NVMe-IPコア プレゼンテーション

NVMeNVMe-IPのご紹介
IPのご紹介 (Xilinx版
(Xilinx版)
Ver1.4J
最新のNVMe
最新のNVMe SSD
がFPGAに直結
FPGAに直結!
に直結!
超高速小型レコーダの最適解
2016/11/8
Design Gateway
Page 1
NVMeNVMe-IP説明資料アジェンダ
IP説明資料アジェンダ
• NVMe SSDについて
SSDについて
– SSD
SSDの動向
の動向
– NVMe SSDの組込み導入メリット
SSDの組込み導入メリット
• NVMeNVMe-IPの特長
IPの特長
–
–
–
–
–
概要説明
機能
ユーザ・インターフェイス
パフォーマンスとコア・サイズ
検証環境/
検証環境/リファレンス・デザイン
• アプリケーション・イメージ
2016/11/8
Design Gateway
Page 2
SSDの動向
SSDの動向1
の動向1
• 最新SSD
最新SSDではインターフェイスの
SSDではインターフェイスのSATA
ではインターフェイスのSATAがボトルネック
SATAがボトルネック
– SSDの
SSDのR/W速度が
R/W速度がSATA
速度がSATAの帯域(理論上限
SATAの帯域(理論上限600MB/s)
の帯域(理論上限600MB/s)で頭打ち
600MB/s)で頭打ち
• より高帯域なPCI
より高帯域なPCI Expressへ移行
Expressへ移行
– PCIe GEN3 x4の場合帯域は
x4の場合帯域は4GB/s
の場合帯域は4GB/sと高速
4GB/sと高速
• 小型化に向くM.2
小型化に向くM.2フォームファクタや
M.2フォームファクタやBGA
フォームファクタやBGAタイプが登場
BGAタイプが登場
– M.2: 幅22mm・長さ
22mm・長さ20/42/80/120mm
・長さ20/42/80/120mmの小型
20/42/80/120mmの小型DIMM
の小型DIMM形状
DIMM形状
– BGA: 20mm x 16mm x 1.5mm、
1.5mm、1gのパッケージ
1gのパッケージ
従来の2.5インチ
SSD
従来の インチSATA
インチ
2016/11/8
最新のM.2タイプ
タイプ PCIe SSD
最新の
Design Gateway
BGAパッケージ
パッケージSSD
パッケージ
Page 3
SSDの動向
SSDの動向2
の動向2
• ホスト・コントローラ規格はAHCI
ホスト・コントローラ規格はAHCIから
AHCIからNVMe
からNVMeへ
NVMeへ
– SSD
SSDのパフォーマンスを最大限に引き出す最新の規格
のパフォーマンスを最大限に引き出す最新の規格
– 拡張されたキュー・サイズで最大65,536
拡張されたキュー・サイズで最大65,536コマンドを同時処理
65,536コマンドを同時処理
– 各種OS
各種OSで
OSでNVMeドライバに対応
NVMeドライバに対応
FMS2015講演
FMS2015講演 “Annual Update on Interfaces”資料より抜粋
Interfaces”資料より抜粋
2016/11/8
Design Gateway
Page 4
NVMe SSDの組込み導入メリット1
SSDの組込み導入メリット1
• 拡張された転送帯域: 2.5GB/s(Read)を越える実力
2.5GB/s(Read)を越える実力
• 高いコスト・パフォーマンス: SATAタイプと価格差が小さい
SATAタイプと価格差が小さい
(2016/6/93時点の価格.com情報)
https://forums.servethehome.com/index.php?threads
/samsung-950-pro-m-2-nvme-performance.7416/
M.2タイプ
タイプNVMe
SSD (Samsung 950 PRO) の価格とパフォーマンス
タイプ
2016/11/8
Design Gateway
Page 5
NVMe SSDの組込み導入メリット
SSDの組込み導入メリット2
の組込み導入メリット2
• 様々なフォームファクタ
–
–
–
–
HHHL(HalfHHHL(Half-Height,HalfHeight,Half-Length)の汎用
Length)の汎用PCIe
の汎用PCIe拡張カードタイプ
PCIe拡張カードタイプ
小型のNGFF
小型のNGFFコネクタ接続で挿抜できる
NGFFコネクタ接続で挿抜できるM.2
コネクタ接続で挿抜できるM.2タイプ
M.2タイプ
従来2.5
従来2.5”ドライブと同一サイズの
2.5 ドライブと同一サイズのSFF
ドライブと同一サイズのSFFSFF-8639
基板に直接実装可能なBGA
基板に直接実装可能なBGAチップ
BGAチップ
メリット
大容量
HHHL PCIeタイプ
タイプ
2016/11/8
小型&コネクタ接続
M.2タイプ
タイプ(長さ規格:
タイプ 長さ規格:42/60/80mm)
長さ規格:
Design Gateway
活線挿抜可
SFF-8639タイプ
タイプ
基板実装可
BGAタイプ
タイプ
Page 6
NVMeNVMe-IPとは
IPとは
• どんな
どんなIP
IPコア
IPコア?
コア?
• どのように使う?
どのように使う?
-> NVMe SSDと
SSDとFPGAを直結し
FPGAを直結しRead/Write
を直結しRead/Write実行
Read/Write実行
-> ユーザ回路とPCIe
ユーザ回路とPCIeブリッジ間に挿入
PCIeブリッジ間に挿入,CPU
ブリッジ間に挿入,CPU不要
,CPU不要
(データ・バッファ用として外部DDR
データ・バッファ用として外部DDRメモリを使用
DDRメモリを使用)
メモリを使用)
• アプリケーション -> 超高速小型のデータ収録/
超高速小型のデータ収録/再生システムに最適
• ユーザのメリット?
ユーザのメリット? -> SSDストレージ・システムが短期間に開発可能
SSDストレージ・システムが短期間に開発可能
データ・バッファ用外部DDR
データ・バッファ用外部DDRメモリ
DDRメモリ
接続しやすいユーザI/F
接続しやすいユーザI/F
2016/11/8
コア本体
Xilinx標準の
Xilinx標準のAXI
標準のAXIAXI-PCIeブリッジ・コア
PCIeブリッジ・コア
Design Gateway
Page 7
NVMeNVMe-IPの特長
IPの特長
1.
機能:NVMe
機能:NVMe SSDへのアクセス制御を完全に自動実行
SSDへのアクセス制御を完全に自動実行
–
2.
インターフェイス:接続容易なユーザI/F
インターフェイス:接続容易なユーザI/F
–
–
–
3.
Xilinx標準の
Xilinx標準のAXI
PCIeブリッジ・コアとAXI
追加の回路不要)
標準のAXI PCIeブリッジ・コアと
ブリッジ・コアとAXIで直結
AXIで直結(
で直結(追加の回路不要)
ユーザI/F
ユーザI/F:制御はパラメータ
I/F:制御はパラメータ+
:制御はパラメータ+要求パルス、データはFIFO
要求パルス、データはFIFO接続
FIFO接続
Xilinx標準の
Xilinx標準のMIG
標準のMIG使用(データ・バッファ用として外部
MIG使用(データ・バッファ用として外部DDR
使用(データ・バッファ用として外部DDRメモリ使用
DDRメモリ使用)
メモリ使用)
高性能:ハイ・パフォーマンスかつコンパクト
– Write=1541MB/s、
MB/s、Read=2601MB/s (KCU105による実測値
(KCU105による実測値)
による実測値)
–
–
4.
コア外部でCPU
コア外部でCPUおよび制御ファームが不要
CPUおよび制御ファームが不要
PCIe GEN3対応
GEN3対応 (Kintex(Kintex-UltraScaleの
UltraScaleのGEN3実機動作検証済み
GEN3実機動作検証済み)
実機動作検証済み)
コアサイズ:341CLB,
コアサイズ:341CLB, 966DFF (Kintex(Kintex-Ultrascaleの場合、コア単体サイズ
Ultrascaleの場合、コア単体サイズ)
の場合、コア単体サイズ)
環境:Xilinx
環境:Xilinx評価ボードでの試作開発環境
Xilinx評価ボードでの試作開発環境
–
実機動作するリファレンス・デザインをコアに添付
2016/11/8
Design Gateway
Page 8
NVMeNVMe-IPの特長1:機能
IPの特長1:機能
• PCIe SSD専用ルート・ポート機能
SSD専用ルート・ポート機能
– PCIe
PCIe初期化機能
初期化機能(PCIe
初期化機能(PCIe AXIブリッジ初期化
AXIブリッジ初期化/NVMe
ブリッジ初期化/NVMeレジスタ初期化
/NVMeレジスタ初期化)
レジスタ初期化)
– PCIeおよび
PCIeおよびSSD
およびSSD状態監視
SSD状態監視/
状態監視/エラー・ステータス自動チェック機能
• NVMeコントロール機能
NVMeコントロール機能
– ユーザの
ユーザのR/W
R/W要求により
R/W要求によりNVMe
要求によりNVMeレジスタを自動制御、アクセス実行
NVMeレジスタを自動制御、アクセス実行
– SSD~外部
~ユーザI/F
I/F用
SSD~外部DDR
~外部DDR~ユーザ
DDR~ユーザ
I/F用FIFO間のデータ転送
FIFO間のデータ転送/
間のデータ転送/フロー制御
2016/11/8
Design Gateway
Page 9
NVMeNVMe-IPの特長2:コマンド
IPの特長2:コマンドI/F
の特長2:コマンドI/F
•
接続容易なインターフェイス
–
–
•
コマンド種類/
コマンド種類/アドレス/
アドレス/転送長をセット
UserReqパルスでコマンド実行開始
UserReqパルスでコマンド実行開始
SSDへのアクセス制御は全てコアが実行
SSDへのアクセス制御は全てコアが実行
–
コマンド/アドレス
コマンド アドレス/転送長を
アドレス 転送長を
セットしUserReqで命令発行
セットし
で命令発行
UserBusy=‘1’以降はで次
以降はで次
のパラメータを準備できる
ユーザ回路はUserBusy
ユーザ回路はUserBusyをモニタするだけ!
UserBusyをモニタするだけ!
コアは命令を受けると
UserBusy=‘1’で実行開始
で実行開始
コマンドI/Fの信号線
コマンド の信号線
2016/11/8
コマンド完了で
UserBusy=‘0’
コマンドI/Fのタイムチャート
コマンド のタイムチャート
Design Gateway
Page 10
NVMeNVMe-IPの特長2:データ
IPの特長2:データI/F
の特長2:データI/F
•
ユーザ回路I/F
ユーザ回路I/Fはリード
I/Fはリード/
はリード/ライト別の128bit
ライト別の128bit幅
128bit幅FIFO
– FIFO
FIFOはユーザが使い慣れた
はユーザが使い慣れたXilinx
はユーザが使い慣れたXilinx標準ライブラリの汎用
Xilinx標準ライブラリの汎用FIFO
標準ライブラリの汎用FIFO
– フロー制御は主に外部DDR
フロー制御は主に外部DDRのデータ・バッファで実行
DDRのデータ・バッファで実行
– FIFOは細かいフロー制御のみ行うので小容量
FIFOは細かいフロー制御のみ行うので小容量FIFO
は細かいフロー制御のみ行うので小容量FIFOで可
FIFOで可
NVMe-IPコアのデータ・パス
コアのデータ・パス
2016/11/8
Design Gateway
Page 11
NVMeNVMe-IPの特長3:パフォーマンス
IPの特長3:パフォーマンス
• NVMe SSDへのアクセス制御を完全に自動実行
SSDへのアクセス制御を完全に自動実行
– R/W
R/Wコマンドを最速で実行するステートマシン内蔵
コマンドを最速で実行するステートマシン内蔵
– 完全同期回路により最少のオーバーヘッド
ライト実測パフォーマンス:
ライト実測パフォーマンス
1541MB/s
リード実測パフォーマンス:
リード実測パフォーマンス
実機パフォーマンス評価結果例 (KCU105)
2016/11/8
Design Gateway
2601MB/s
(評価SSD:
評価SSD: Samsung製
Samsung製 MZ-V5P512BW)
Page 12
NVMeNVMe-IPの特長
IPの特長3
の特長3:コンパクト
• コア消費リソースを最小化
– NVMe SSD制御に特化・最適化した制御ロジックを実装
SSD制御に特化・最適化した制御ロジックを実装
• 外部DDR
外部DDRバッファによりブロック
DDRバッファによりブロックRAM
バッファによりブロックRAMを節約
RAMを節約
– ユーザ
ユーザI/F
I/F用
I/F用FIFOは小容量で十分
FIFOは小容量で十分
– ユーザ回路でも消費する貴重なBRAM
ユーザ回路でも消費する貴重なBRAMリソースを節約
BRAMリソースを節約
NVMe-IPコア単体の消費リソース
コア単体の消費リソース
2016/11/8
Design Gateway
Page 13
NVMeNVMe-IPの特長4:評価環境
IPの特長4:評価環境
• Xilinx
Xilinx各種評価ボードで実機動作
各種評価ボードで実機動作
• 無償の評価用bit
無償の評価用bitファイル提供
bitファイル提供
評価対象NVMe
SSD
評価対象
アダプタ基板(別売品
アダプタ基板 別売品)
別売品
AB16-PCIeXOVR
Xilinx評価ボード
評価ボード
NVMeNVMe-IPコア実機評価環境
IPコア実機評価環境
2016/11/8
Design Gateway
Page 14
NVMeNVMe-IPの特長4:
IPの特長4: 開発支援ツール
•
•
•
•
FPGA評価ボード実機検証用のアダプタ(型番:
FPGA評価ボード実機検証用のアダプタ(型番:AB16
評価ボード実機検証用のアダプタ(型番:AB16AB16-PCIeXOVR)
部品面PCIe
部品面PCIeソケットと
PCIeソケットとFPGA
ソケットとFPGA評価ボードの
FPGA評価ボードのPCIe
評価ボードのPCIeを接続
PCIeを接続
半田面PCIe
半田面PCIeソケットに
PCIeソケットにNVMe
ソケットにNVMe SSDを装着
SSDを装着
NVMeNVMe-IPを実装した
IPを実装したFPGA
を実装したFPGAからアダプタ経由で
FPGAからアダプタ経由でSSD
からアダプタ経由でSSDへ
SSDへR/Wアクセス
R/Wアクセス
電源供給コネクタ
リセットSW
リセット
NVMe SSDと接続
と接続
クロック・ジェネレータ
アダプタ半田面
アダプタ部品面
FPGA評価ボードの
評価ボードのPCIeと接続
と接続
評価ボードの
2016/11/8
Design Gateway
Page 15
NVMeNVMe-IPの特長4:
IPの特長4: リファレンス・デザイン
•
•
•
評価用ビットファイルのVivado/EDK
評価用ビットファイルのVivado/EDKプロジェクト
Vivado/EDKプロジェクト
IPコア以外の全ソースコード
IPコア以外の全ソースコード(
コア以外の全ソースコード(ファーム含む)
ファーム含む)を提供
ユーザ製品の開発期間短縮に貢献
– まず最初に元のリファレンスで実機動作を確認
– そこからユーザ製品に向け少しずつ編集
– 編集ごとに実機動作をStep
編集ごとに実機動作をStep by Stepで確認
Stepで確認
大きな後戻りがなく確実で短期間での製品開発が可能!
大きな後戻りがなく確実で短期間での製品開発が可能!
2016/11/8
Design Gateway
Page 16
NVMeNVMe-IPアプリケーション例
IPアプリケーション例
• 超高速小型FPGA
超高速小型FPGAデータ収録システム
FPGAデータ収録システム
– 最新FPGA+DDR4
最新FPGA+DDR4メモリ
FPGA+DDR4メモリ+BGA
メモリ+BGAタイプ
+BGAタイプSSD
タイプSSD
FPGA内に
内にNVMe-IPと
と
内に
データ収録用ユーザ回路
バッファ用
DDR4
収録データをBGA
収録データを
タイプSSDに記録
に記録
タイプ
484ピン
484ピンFBG
ピンFBGパッケージの
FBGパッケージのFPGA,DDR4
パッケージのFPGA,DDR4バッファ
FPGA,DDR4バッファ,BGA
バッファ,BGAタイプ
,BGAタイプSSD
タイプSSDによる実装専有エリア例
SSDによる実装専有エリア例 (単位:mm)
単位:mm)
2016/11/8
Design Gateway
Page 17
NVMeNVMe-IP紹介:問い合わせ
IP紹介:問い合わせ
• ホームページに詳細な技術資料を用意
– http://www.dgway.com/NVMehttp://www.dgway.com/NVMe-IP_X.html
• 問い合わせ
– 株式会社
株式会社Design
Design Gateway
– E-mail : [email protected]
– FAX : 050050-35883588-7915
2016/11/8
Design Gateway
Page 18
改版履歴
Rev.
1.0J
1.1J
1.2J
1.3J
1.4J
2016/11/8
日時
2016/6/9
2016/6/21
2016/8/24
2016/9/12
2016/11/8
履歴
正式リリース初期版(Rev 1.0J)リリース
GEN3 (Kintex Ultrascale)の正式サポート開始
外付けDDR4はx16bit@2400MbpsのDDR4なら1chipで対応できる修正
Zynq-7000, Kintex-7の正式サポート開始
PCIe GEN3対応Virtex-7デバイスの正式サポート開始
Design Gateway
Page 19