SlideShare a Scribd company logo
(JavaRock)の話と
FPGAでSSDSATAの話
三好 健文
株式会社イーツリーズ・ジャパン
1
SATAもGTPもよく知らない俺が
OpenCoresのSATAコアを
すんなりうごかせるはずがない
...といえないこともなくはない
SSD/HDDで魅力的ですね!!
大容量で低価格
ピン数少ない(TX{P,N}/RX{P,N})
3
バイト単価 Read/Write速度 転送速度
 HDD 安 数十∼数百MBps ∼6Gbps
 SSD 中 数百MBps ∼6Gbps
 SD 高 数十MBps
∼104MBps
(UHS-II: ∼312MBps)
SATAをFPGAで使いたい
外付けのチップを利用
SATAホストチップ
PCのSATAコントローラを乗っ取る
SATA IPコアを利用
デザインゲートウェイ SATA-IPコア
特電SATA互換IPコア
OpenCores
0から自作
4
OpenCoresにあるじゃないか
5
やってみよう
なんかMicroBlazeとか書いてある
制御部分はJavaでいいか
SATAについて
6
10B
Dwords
FIS
データ/コマンド
10B
Dwords
FIS
データ/コマンドホスト ディスク
トランスポート/コマンド層
リンク層(上位)
リンク層(下位)
物理層
トランスポート/コマンド層
リンク層(上位)
リンク層(下位)
物理層
↓これで勉強しました
SATAについて...もう少し詳しく
7
10B
Dwords
FIS
データ/コマンド
トランスポート/コマンド層
リンク層(上位)
リンク層(下位)
物理層
FIS(Frame Information Structure)の
組み立て/送受信制御
FIS<->フレームデータ変換
CRC計算,スクランブル/デスクランブル
Dwords単位の操作(Primitive/PureData)
8B10B変換
シリアル<->10B変換
+/-の信号 + Hi-Z(OOB)信号
FIS
FIS
SOF
CRC
EOF
8bit
10bit 10bit 10bit…
10bit
1bit
10bit
SATAホストコアの実装
8
10B
Dwords
FIS
データ/コマンド
トランスポート/コマンド層
リンク層(上位)
リンク層(下位)
物理層
FIFO
command_layer.vhd
sata_link_layer.vhd
sata_phy.v
GTX
oob_control.v
FIFO
FIFO
I/O
用意するもの
Gbトランシーバが(ほぼ)必須
Xilinx Tシリーズ/Altera GXシリーズ
SATAポートのついているボード
PCIeエッジ搭載ボード + SATAポート変換ジグ
電源
気持ちの余裕
9
FPGA
FPGAボード
その他
または
PCIeエッジから信号引き出す(1)
10
PCIeエッジから信号引き出す(1)...今思えば
11
こういうのの方が工作しやすかったかも....
PCIeエッジから信号引き出す(2)
12
例えば,デザインゲートウェイ社製
AB06-PCIeSATA x8とか
...安くはない(と思う)
SATAポートを持ったFPGAボード
Xilinx ML555
特殊電子回路(株) EXPARTAN-6T
(株)アークス Axpcie6031
13
などなど
動かすついでにSpartan-6に移植してみた
物理層をGTX→GTPに変換
SATA 1.5Gbps/3Gbpsネゴシエーション
OOBはGTPに任せられる
16bit <-> 32bit バス変換
アプリI/F層をJavaで実装
14
...Spartan-6の方が安いから
SATAホストコアの実装
15
10B
Dwords
FIS
データ/コマンド
トランスポート/コマンド層
リンク層(上位)
リンク層(下位)
物理層
FIFO
command_layer.vhd
sata_link_layer.vhd
sata_phy.v
GTX
oob_control.v
FIFO
FIFO
I/O
Java
VHDL
この程度ですむと...
コードの移植をしてみて
環境の違いでIPコアをごにょごにょ
ミーリーマシンですか....
てか混在ですか??
そこでintegerとか使う??
割と読みやすいコードでした
16
作ってみたシステムの構成
17
BufferedSataIface
18
内部でキャッシュ
単純なWriteBack機構
リソース使用量/速度など
PHY単体では3Gbpsでリンク
全体では1.5Gbpsでネゴ完了
19
動いている様子(1)
20
リンク確立の開始
OOB
D10.2
動いている様子(2)
21
リンク確立
B5B5957C(SYNC)
7B4A4ABC(ALIGN)
動いている様子(3)
22
ホストからコマンド発行
3737B57C(SOF) <データ> D5D5B57C(EOF)
動いている様子(4)
23
転送開始
37375B57C(SOF)...
動いている様子(5)
24
転送完了
..D5D5B57C(EOF)
で,気になる性能は??
25
えーっと...
動くのは分かった...
4KB(=8セクタアクセス)じゃ性能でないよね
ロジック回路が37.5(75)MHzは寂しいよね
ってか,エラー処理は?
26
→上位レイヤも作り直そう...
上位層の作り直し
Spartan-6での3Gbpsでのネゴ実現
NCQなどの上位コマンドの実装
RAID,みたいな?
もっとインテリジェントな何か?
今後
27
FPGA用(?)SATA接続キット
28
SATAデバイスにアクセスするため だけ の最小構成
欲しい人いませんか?
SATA?
フィルムケーブル
FMC?
たとえば,こんな風に使えるといいな
29
俺のFPGAがこんなかんたんに
SATAディスクにアクセスできる
はずがない
次回(時期未定)

More Related Content

PDF
Reconf 201506
PDF
Vyatta 201310
PDF
FPGAのトレンドをまとめてみた
PDF
Fpga local 20130322
PPTX
Abstracts of FPGA2017 papers (Temporary Version)
PDF
Reconf_201409
PDF
ICD/CPSY 201412
PPTX
ハードウェア技術の動向 2015/02/02
Reconf 201506
Vyatta 201310
FPGAのトレンドをまとめてみた
Fpga local 20130322
Abstracts of FPGA2017 papers (Temporary Version)
Reconf_201409
ICD/CPSY 201412
ハードウェア技術の動向 2015/02/02

What's hot (20)

PDF
FPGA・リコンフィギャラブルシステム研究の最新動向
PDF
FPGA+SoC+Linux実践勉強会資料
PDF
FPGA startup 第一回 LT
PDF
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
PDF
Synthesijer.Scala (PROSYM 2015)
PDF
Synthesijer fpgax 20150201
PDF
FPGAX6_hayashi
PPTX
ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)
PDF
ACRi_webinar_20220118_miyo
PDF
PDF
Google 20130218
PPT
FPGA
PDF
FPGAアクセラレータの作り方
PDF
増え続ける情報に対応するためのFPGA基礎知識
PPTX
高速シリアル通信を支える技術
PDF
Pynqでカメラ画像をリアルタイムfastx コーナー検出
PDF
FPGAスタートアップ資料
PPTX
Myoshimi extreme
PDF
High speed-pc-router 201505
PDF
SDN Japan: ovs-hw
FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA+SoC+Linux実践勉強会資料
FPGA startup 第一回 LT
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
Synthesijer.Scala (PROSYM 2015)
Synthesijer fpgax 20150201
FPGAX6_hayashi
ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)
ACRi_webinar_20220118_miyo
Google 20130218
FPGA
FPGAアクセラレータの作り方
増え続ける情報に対応するためのFPGA基礎知識
高速シリアル通信を支える技術
Pynqでカメラ画像をリアルタイムfastx コーナー検出
FPGAスタートアップ資料
Myoshimi extreme
High speed-pc-router 201505
SDN Japan: ovs-hw
Ad

Viewers also liked (6)

PPTX
SATA Protocol
PDF
FPGAX 2
PDF
Bluespec @waseda(PDF)
ODP
Bluespec @waseda
PDF
Fpgax 20130830
PPTX
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
SATA Protocol
FPGAX 2
Bluespec @waseda(PDF)
Bluespec @waseda
Fpgax 20130830
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
Ad

Similar to Fpgax 20130604 (20)

PDF
20170329_BigData基盤研究会#7
PDF
GPUアクセラレータと不揮発性メモリを考慮したI/O性能の予備評価
PDF
Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)
PPTX
FPGAでベンチマークしたときに苦労した話@fpgax#12
PDF
[INSIGHT OUT 2011] B32 open hardwareの夜明け pci express 3・infiniband fdrの登場(yama...
PDF
NAND Flash から InnoDB にかけての話(仮)
PDF
An Intelligent Storage?
PDF
qpstudy 2014.04 ハードウェア設計の勘所
PDF
pgconfasia2016 lt ssd2gpu
PPTX
04 これが(多分)最後! ベンチマークs
PDF
20170310_InDatabaseAnalytics_#1
PDF
【IOPS編】サーバ環境が進化する今話題のPCIe SSDを評価してみた
PDF
最近遊んだLinuxボードたち
 
PDF
Riak / Riak-CS(Enterprise版) ベンチマークしました
PDF
Using Retro-CPU with low aspirations, No FPGA
PDF
[INSIGHT OUT 2011] c14 openハードウェアの夜明け前(ssd infiniband検証)
PDF
[db tech showcase Tokyo 2015] D13:PCIeフラッシュで、高可用性高性能データベースシステム?! by 株式会社HGSTジ...
PDF
20170421 tensor flowusergroup
PDF
20210731_OSC_Kyoto_PGStrom3.0
PDF
佐野裕章 Virident 社製半導体ストレージ flash max の検証
20170329_BigData基盤研究会#7
GPUアクセラレータと不揮発性メモリを考慮したI/O性能の予備評価
Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)
FPGAでベンチマークしたときに苦労した話@fpgax#12
[INSIGHT OUT 2011] B32 open hardwareの夜明け pci express 3・infiniband fdrの登場(yama...
NAND Flash から InnoDB にかけての話(仮)
An Intelligent Storage?
qpstudy 2014.04 ハードウェア設計の勘所
pgconfasia2016 lt ssd2gpu
04 これが(多分)最後! ベンチマークs
20170310_InDatabaseAnalytics_#1
【IOPS編】サーバ環境が進化する今話題のPCIe SSDを評価してみた
最近遊んだLinuxボードたち
 
Riak / Riak-CS(Enterprise版) ベンチマークしました
Using Retro-CPU with low aspirations, No FPGA
[INSIGHT OUT 2011] c14 openハードウェアの夜明け前(ssd infiniband検証)
[db tech showcase Tokyo 2015] D13:PCIeフラッシュで、高可用性高性能データベースシステム?! by 株式会社HGSTジ...
20170421 tensor flowusergroup
20210731_OSC_Kyoto_PGStrom3.0
佐野裕章 Virident 社製半導体ストレージ flash max の検証

More from Takefumi MIYOSHI (16)

PDF
DAS_202109
PDF
ACRiルーム1年間の活動と 新たな取り組み
PDF
RISC-V introduction for SIG SDR in CQ 2019.07.29
PDF
Misc for edge_devices_with_fpga
PDF
Cq off 20190718
PDF
Synthesijer - HLS frineds 20190511
PDF
Reconf 201901
PDF
Hls friends 201803.key
PDF
Hls friends 20161122.key
PDF
Synthesijer and Synthesijer.Scala in HLS-friends 201512
PDF
PDF
Microblaze loader
PDF
Synthesijer jjug 201504_01
PDF
Synthesijer zynq qs_20150316
PDF
Synthesijer hls 20150116
DAS_202109
ACRiルーム1年間の活動と 新たな取り組み
RISC-V introduction for SIG SDR in CQ 2019.07.29
Misc for edge_devices_with_fpga
Cq off 20190718
Synthesijer - HLS frineds 20190511
Reconf 201901
Hls friends 201803.key
Hls friends 20161122.key
Synthesijer and Synthesijer.Scala in HLS-friends 201512
Microblaze loader
Synthesijer jjug 201504_01
Synthesijer zynq qs_20150316
Synthesijer hls 20150116

Fpgax 20130604