はじめに結論
ファイバチャネル (FC) のリンク速度が例えば16 Gbpsの場合にデータ転送速度は2,000 MB/sではなく1,600 MB/sとなる1。
1,600 MB/sは12.8 Gbpsであり、もはやFCにおけるリンク速度はデータ転送速度を表していない。
FCのデータ転送速度はリンク速度の数字部分 (4/8/16/32) に100 MB/sを掛けたものである。
リンク速度 | データ転送速度 |
---|---|
4 Gbps | 400 MB/s |
8 Gbps | 800 MB/s |
16 Gbps | 1,600 MB/s |
32 Gbps | 3,200 MB/s |
FCは全二重通信のため、データ転送速度が2倍で表記される (例:16 Gbpsが3,200 MB/s) こともある。
FCのデータ転送速度は実データの転送速度であり、ここからさらにEthernetのように層を成す通信プロトコル (Ethernet, IP, TCP) ヘッダのオーバーヘッドが引かれることを考える必要はない2。
情報の在り処
米国ファイバチャネル評議会 (FCIA) サイトのWebcastsから参照できる How to use the Fibre Channel Speedmap という資料が詳しい。
資料には以下の記載がある。
- FCの目指すところとして 1 Gigabit = 100 MB/s
-
Speed Name Misnomers (スピード名の誤った名称)
- リンク速度はFCもEthernetも製品名であり転送速度としては正しくない主旨の記載があるが、Ethernetはリンク速度と転送速度が一致しておりFCのようにややこしくない3
もともと、FCのリンク速度は信号速度に基づいていたが16 Gbps以上から当てはまらなくなり (8 Gbpsの信号速度は8.5 Gbpsだが16 Gbpsでは14.025 Gbpsとなる4) もはやリンク速度は直接的に何かしらの数字を表しておらずニックネーム5のようである。
あとがき
FCの速度について調べると、1つの速度に対して8 Gbps、800 MB/s、8.5 Gbpsのように複数の値が見つかるが、これらの数字を見て当時筆者は以下のように混乱した。
- 8 Gbpsと800 MB/sは単位の変換では計算が合わない (8 Gbps = 1,000 MB/s)
- 8 Gbpsは実は8.5 Gbpsだから0.5 Gbps得している? (16 Gbpsでは14.025 Gbpsで損…?)
取り上げたFCIAの資料は筆者にとってこの混乱を解消するきっかけとなった。
リンク速度は単なる名称、FCのデータ転送速度はリンク速度に対して1 Gigabitあたり100 MB/sである、その他に信号速度がある、ということがEthernetと比較しながら説明されている。
参考資料
-
ストレージ技術 クラウドとビッグデータの時代 (ISBN:978-4-274-21758-6)
-
SAN & NAS ストレージネットワーク管理 (ISBN:4-87311-099-8)
-
BrocadeファブリックスイッチによるSAN設計/構築ガイド (ISBN:9784844316442)
-
FCoE vs 10GbE+iSCSI、どちらが速い? ネットアップとブロケードが共同検証 - Publickey
8Gb FCの実行速度は6.2Gbps程度
という記載からはスペックと実際のギャップがある印象を受けるが、8 Gbpsは800 MB/s = 6.4 Gbpsなのでスペックいっぱい付近まで出ている。
-
MBは10^6 (1,000,000 bytes) のmegabyteであり、2^20 (1,048,576 bytes) のmebibyte (MiB) ではない ↩
-
FC上にIPを載せるIPFC (RFC 4338)もあるがこの記事のFCは一般にストレージ入出力に使われるFC-SCSI、FC-NVMeが前提 ↩
-
FCをややこしく感じるのは私たちがEthernetに慣れているからかもしれない ↩
-
信号速度のGbpsというのは厳密には正しくなく、GBaudが正しいがGbps表記も多くみられる (16 Gbpsまでは区別しなくても実質的な問題はない) ↩
-
16 Gbpsが1,600 MB/sのように数字の紐づきはあるのでニックネームとした (ニックネームという表記は記事作成にあたって筆者が考えたものであり、資料に記載はありません) ↩