SlideShare a Scribd company logo
1 of 9
Download to read offline
PCI Express
データリンク層
PCI Express レイヤー
物理層
データリンク層
トランザクション層
ソフトウェア層
• ソフトウェア層
• ドライバおよびアプリケー
ション
• トランザクション層
• データの送受信を行う
• データリンク層
• 通信相手と通信管理を行う
• 物理層
• 電気的な通信を行う
データリンク層
トランザクション層
物理層
トランザクション層
DLCMSM
シーケンス番号付与
LCRC
ACK/
NACK
再送管理
フロー制御
名称 概要
シーケンス番号付与 送信パケットにシーケンス番号
を付与する。
LCRC 送信パケットにCRCを付与す
る。
ACK/NACK 受信時にACK/NACKを送信側
に送る。
DLCMSM リンクを管理する
再送管理 パケットの再送を行う
フロー制御 VCのフロー制御をする
シーケンス番号付与
• 上位のトランザクション層からパケットにシーケンス番号を付
与する。12bitのカウンタ。
• 受信側でパケットの重複/欠落を検知する。
LCRC
• 上位のトランザクション層からパケットにシーケンス番号を付
与した後に計算してLCRC(32bit)をつけて送信する。
• CRCとはパケットのデータから計算された値で、受信側で再計算して
データが壊れているか検査するために使用する。
ACK/NACK
• トランザクション層のパケットを受信したらACKを送信側へ送
信する。
• シーケンス番号をつけてACKを返す。
• 番号は最新の番号をつける。
• 13,14,15のパケットを受信したら15のACKを返せばよい。
• 受信したトランザクション層のパケットが壊れていたりしたら
NACKを送信側へ送信する。
• 最後に正常に受信したシーケンス番号を付ける。
DLCMSM
DL_Inactive
DL_Init
DL_Active
Data Link Control Management State Machine
状態 概要
DL_Inactive 物理層未接続状態。DL_Down状態を上位に通知する。
DL_Init 初期化中。初期化が完了したらDL_Up状態を上位に通
知してDL_Active状態に遷移する。
DL_Active 通常の状態
再送管理
• 送信側
• ACK/NACKにより送信を確認したパケットはバッファから破棄する。
• 一定時間送信が確認できない場合は、再送を行う。
• 3回再送して送信が確認できない場合は、物理層のシーケンスからやり
直す。
• 受信側
• LCRCエラーになった場合はNACKを送る
• シーケンス番号がおかしい場合はNACKを送る。
フロー制御
• VC単位で初期化が行われる。
• InitFC1、InitFC2、UpdateFCのパケットを相互に交換してVC
の初期化が完了され、トランザクションのパケットを交換でき
るようになる。

More Related Content

What's hot

Cephのベンチマークをしました
CephのベンチマークをしましたCephのベンチマークをしました
CephのベンチマークをしましたOSSラボ株式会社
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt AffinityについてTakuya ASADA
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫Yuta Imai
 
インフラ野郎Azureチーム Night
インフラ野郎Azureチーム Nightインフラ野郎Azureチーム Night
インフラ野郎Azureチーム NightToru Makabe
 
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニングしばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニングオラクルエンジニア通信
 
地理分散DBについて
地理分散DBについて地理分散DBについて
地理分散DBについてKumazaki Hiroki
 
不揮発メモリ(NVDIMM)とLinuxの対応動向について
不揮発メモリ(NVDIMM)とLinuxの対応動向について不揮発メモリ(NVDIMM)とLinuxの対応動向について
不揮発メモリ(NVDIMM)とLinuxの対応動向についてYasunori Goto
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計Yoshinori Matsunobu
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例Fixstars Corporation
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方Yoshiyasu SAEKI
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化Kumazaki Hiroki
 
NEDIA_SNIA_CXL_講演資料.pdf
NEDIA_SNIA_CXL_講演資料.pdfNEDIA_SNIA_CXL_講演資料.pdf
NEDIA_SNIA_CXL_講演資料.pdfYasunori Goto
 
ctfで学ぼうリバースエンジニアリング
ctfで学ぼうリバースエンジニアリングctfで学ぼうリバースエンジニアリング
ctfで学ぼうリバースエンジニアリングjunk_coken
 
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)NTT DATA Technology & Innovation
 
0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラム0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラムMinoru Nakamura
 
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説貴仁 大和屋
 
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門Hirotaka Kawata
 
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...VirtualTech Japan Inc.
 

What's hot (20)

Cephのベンチマークをしました
CephのベンチマークをしましたCephのベンチマークをしました
Cephのベンチマークをしました
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt Affinityについて
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
 
インフラ野郎Azureチーム Night
インフラ野郎Azureチーム Nightインフラ野郎Azureチーム Night
インフラ野郎Azureチーム Night
 
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニングしばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
 
地理分散DBについて
地理分散DBについて地理分散DBについて
地理分散DBについて
 
不揮発メモリ(NVDIMM)とLinuxの対応動向について
不揮発メモリ(NVDIMM)とLinuxの対応動向について不揮発メモリ(NVDIMM)とLinuxの対応動向について
不揮発メモリ(NVDIMM)とLinuxの対応動向について
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化
 
NEDIA_SNIA_CXL_講演資料.pdf
NEDIA_SNIA_CXL_講演資料.pdfNEDIA_SNIA_CXL_講演資料.pdf
NEDIA_SNIA_CXL_講演資料.pdf
 
ctfで学ぼうリバースエンジニアリング
ctfで学ぼうリバースエンジニアリングctfで学ぼうリバースエンジニアリング
ctfで学ぼうリバースエンジニアリング
 
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
 
0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラム0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラム
 
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説
 
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門
 
DNS再入門
DNS再入門DNS再入門
DNS再入門
 
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
 

Similar to Pci express data link

第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料直久 住川
 
Rouault imbert view_alpc_rpc_pacsec_jp
Rouault imbert view_alpc_rpc_pacsec_jpRouault imbert view_alpc_rpc_pacsec_jp
Rouault imbert view_alpc_rpc_pacsec_jpPacSecJP
 
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!Panda Yamaki
 
LoRaWAN v1.1仕様読解 Class A
LoRaWAN v1.1仕様読解 Class ALoRaWAN v1.1仕様読解 Class A
LoRaWAN v1.1仕様読解 Class ARyosuke Uematsu
 
Cld020 microsoft azure_stack_iaa_s_deep_dive
Cld020 microsoft azure_stack_iaa_s_deep_diveCld020 microsoft azure_stack_iaa_s_deep_dive
Cld020 microsoft azure_stack_iaa_s_deep_diveTech Summit 2016
 
Cld020 microsoft azure_stack_iaa_s_deep_dive
Cld020 microsoft azure_stack_iaa_s_deep_diveCld020 microsoft azure_stack_iaa_s_deep_dive
Cld020 microsoft azure_stack_iaa_s_deep_diveTech Summit 2016
 
法政大学情報科学部 2012年度コンピュータネットワーク-第12回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第12回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第12回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第12回授業-Web公開用Ruo Ando
 

Similar to Pci express data link (8)

PFI Seminar 2010/01/21
PFI Seminar 2010/01/21PFI Seminar 2010/01/21
PFI Seminar 2010/01/21
 
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
 
Rouault imbert view_alpc_rpc_pacsec_jp
Rouault imbert view_alpc_rpc_pacsec_jpRouault imbert view_alpc_rpc_pacsec_jp
Rouault imbert view_alpc_rpc_pacsec_jp
 
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
 
LoRaWAN v1.1仕様読解 Class A
LoRaWAN v1.1仕様読解 Class ALoRaWAN v1.1仕様読解 Class A
LoRaWAN v1.1仕様読解 Class A
 
Cld020 microsoft azure_stack_iaa_s_deep_dive
Cld020 microsoft azure_stack_iaa_s_deep_diveCld020 microsoft azure_stack_iaa_s_deep_dive
Cld020 microsoft azure_stack_iaa_s_deep_dive
 
Cld020 microsoft azure_stack_iaa_s_deep_dive
Cld020 microsoft azure_stack_iaa_s_deep_diveCld020 microsoft azure_stack_iaa_s_deep_dive
Cld020 microsoft azure_stack_iaa_s_deep_dive
 
法政大学情報科学部 2012年度コンピュータネットワーク-第12回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第12回授業-Web公開用法政大学情報科学部 2012年度コンピュータネットワーク-第12回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第12回授業-Web公開用
 

Pci express data link