JP5125430B2 - 情報処理装置及び情報処理方法 - Google Patents

情報処理装置及び情報処理方法 Download PDF

Info

Publication number
JP5125430B2
JP5125430B2 JP2007290771A JP2007290771A JP5125430B2 JP 5125430 B2 JP5125430 B2 JP 5125430B2 JP 2007290771 A JP2007290771 A JP 2007290771A JP 2007290771 A JP2007290771 A JP 2007290771A JP 5125430 B2 JP5125430 B2 JP 5125430B2
Authority
JP
Japan
Prior art keywords
count value
control means
bandwidth
information processing
pci express
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007290771A
Other languages
English (en)
Other versions
JP2009116732A (ja
Inventor
紀光 沖山
憲 友永
和敏 永留
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2007290771A priority Critical patent/JP5125430B2/ja
Publication of JP2009116732A publication Critical patent/JP2009116732A/ja
Application granted granted Critical
Publication of JP5125430B2 publication Critical patent/JP5125430B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Description

本発明は、例えばPCI Express(Peripheral Component Interconnect Express)インターフェースでの通信路悪化による帯域低下で起こり得る不具合を未然に防止する情報処理装置及び情報処理方法に関する。
従来、PCI-Expressのデータ転送方式は、ネットワークでのパケット送受信に近い形で行われている。その内部構成はネットワークに似ており、トランザクション層、データリンク層、物理層の3層構造となっている。データの送信時には、コントローラからのリクエストは、トランザクション層でパケット化された後、データリンク層に渡される。データリンク層は、接続先デバイス間との送受信の制御を担っており、パケットにシーケンス番号、CRC(Cyclic Redundancy Check)を付加して物理層に渡す。この物理層は、シリアル転送を受け持つ部分であり、8b/10b変換を行うSERDES(SERializer/DESerializer)によりパケットがシリアル・データとして送られるようになっている。
このPCI Expressには、データリンク層で、エラーのあるパケットを再送するためのプロトコルが用意されており、自分又は接続相手のトランスミッタ・レシーバを含む通信路の状態が悪くても、パケットを再送することで通信を継続できれば、アプリケーション・ソフトウェアには通信路の不良を通知していない。
また、PCI Expressは、そのプロトコル上、複数レーン(例えば4レーン)の接続能力を持ったAdd-in Cardであっても、Root Complexと1レーンでリンクを確立することが可能である。したがって、本来であれば複数レーンでのリンク確立が期待されていた場合であっても、自分又は接続相手のトランスミッタ・レシーバを含む通信路の状態が悪く1レーンでリンク確立がなされた場合には(レーンの縮退)、データ転送帯域が低下するものの、これをアプリケーション・ソフトウェアには通知していない。
ここで、例えば、特許文献1では、ドライバがPCI Express特有の機能に対応していない場合であっても、PCI Expressインターフェースのレーン数の縮退が発生した場合に適切な対処を行う情報処理装置が開示されている。即ち、同技術では、Negotiated Link Widthレジスタの値を参照して、該値に基づいてレーン数の縮退を検出し、デバイスを切り離す等の所定の対応を実施している。
特開2006−201881号公報
しかしながら、例えばビデオデータ転送のように、帯域が必要とされる場合、パケットの再送回数が多いと、転送レートが低下し、画像処理に間に合わない場合が生じ得る。
また、あるレーン数以上の帯域でデータ転送を行った場合にのみ実行できる機能は、そのレーン数未満でリンクした場合、帯域が足りず、画像処理に間に合わなくなる。
そこで、本発明は、PCI Expressインターフェースでの通信路悪化による帯域低下で起こり得る不具合を未然に防止することを課題とする。
本発明の第1の観点による情報処理装置では、第1の記憶手段と第2の記憶手段との間のデータ転送を複数のレーンからなる所定のインターフェースを介して行う情報処理装置であって、上記第1及び第2の記憶手段との間のデータ転送を制御する第1の制御手段と、上記データ転送を行う場合において、第1の記憶手段から送信されたデータに対してエラーを検出した場合に、所定の拒否応答を送信する第2の制御手段と、上記拒否応答を受信した回数をカウントし、カウント値を保持する監視手段と、上記第1の記憶手段及び上記第2の記憶手段との間のデータ転送を制御する転送制御手段とを備え、上記第2の制御手段は、所定の機能の実行時において上記監視手段より上記カウント値を取得し、該カウント値に基づいて帯域の低下があるか否かを判断し、上記監視手段は、所定の機能の実行に関わるデータ転送ではなく、論理的アイドル状態下でのスクランブルパターンの転送時に、上記制御手段から送信されたデータを上記制御手段がエラーとして検出した回数をカウントしたカウント値を保持するとともに、上記制御手段は、将来行われる通信において帯域の低下があるかを上記監視手段により保持されたカウント値に基づいて判断する。
従って、データ転送が間に合わないことが原因で起こり得る機能の実行の不具合が事前に防止されることになる。
本発明の第2の観点による情報処理方法では、制御手段により、第1の記憶手段と第2の記憶手段との間のデータ転送を複数のレーンからなるインターフェースを介して行う場合において、第1の記憶手段から送信されたデータに対してエラーを検出した場合に、拒否応答を送信するステップと、監視手段により、上記制御手段により送信された拒否応答を受信した回数をカウントして、カウント値を保持するステップと、上記制御手段により、所定の機能の実行時において上記監視手段より上記カウント値を取得し、該カウント値に基づいて帯域の低下があるかを判断するステップと、上記監視手段により、所定の機能の実行に関わるデータ転送ではなく、論理的アイドル状態下でのスクランブルパターンの転送時に、上記制御手段から送信されたデータを上記制御手段がエラーとして検出した回数をカウントしたカウント値を保持するとともに、上記制御手段により、将来行われる通信において帯域の低下があるかを上記監視手段により保持されたカウント値に基づいて判断するステップとを備える。
従って、データ転送が間に合わないことが原因で起こり得る機能の実行の不具合が事前に防止されることになる。
本発明によれば、PCI Expressインターフェースでの通信路悪化による帯域低下で起こり得る不具合を未然に防止する情報処理装置及び情報処理方法を提供することができる。
以下、図面を参照して、本発明を実施するための最良の形態(以下、単に実施の形態と称する)について詳細に説明する。
本発明の一実施の形態に係る情報処理装置は、PCI Express Add-in Cardで取得したPCI Expressの通信路悪化の指標となる情報を、制御部(アプリケーション・ソフトウェアを実行)に通知し、該制御部が、所定の機能を実行するのに必要な帯域が確保できるか否かを判断し、その判断結果に基づいて、ユーザーが実行できる機能を制限することを特徴の一つとする。これにより、PCI Expressインターフェースでの通信路悪化で、データ転送が間に合わないことが原因で起こり得る、アプリケーション・ソフトウェアでの不具合(例えば、ビデオ映像の乱れなど)を事前に防止する。以下、詳述する。
図1には、本発明の一実施の形態に係る情報処理装置の構成を示し説明する。
この図1に示されるように、この実施の形態に係る情報処理装置は、ワークステーション(Workstation)1とPCI Expressインターフェース15を介して該ワークステーション1に接続され画像処理等を行うPCI Express Add-inカード2からなる。
このワークステーション1は、チップセット11、磁気ディスク12、メインCPU13、システムメモリ14を備えている。該システムメモリ14には、例えば画像処理等を実行するためのアプリケーション・ソフトウェア14aが記憶されている。
PCI Express Add-inカード2は、ビデオ信号処理部21、ビデオメモリ22、DMA(Direct Memory Access)コントローラ23、ボードCPU27、Targetアクセス制御部28、PCI Express監視部30を備えている。
トランザクション層24、データリンク層25、物理層26は、PCI Expressのプロトコル階層を意味し、PCI Express base specification rev1.1で定義されている。プロトコル階層については、PCI Express IPコア内に実装されている。
PCI Express監視部30は、PCI Expressの通信路の良否を判断する指標となる情報を保持するカウンタ30a、カウントし保持するレジスタ30b乃至30fを備えている。即ち、Negotiated Link Width30aは、PCI Expressでリンクを確立したレーン数(x1,x4等)を保持するレジスタである。RX NAK DLLPカウンタ30bは、NAK DLLP(CRCエラーを示し、再送を促すパケット)の受信回数をカウントしカウント値を保持するレジスタである。LTSSM (Link Training and Status State Machine)Transitionカウンタ30cは、LTSSMがL0 State(通常通信状態)以外の各State(例えば同期を取り直し、通信路を回復するリカバリ・ステート(Recovery State))に遷移した回数をカウントしカウント値を保持するレジスタである。Rxelecidleカウンタ30dは、各レーンのレシーバが電気的アイドル状態を検出したことを示すRxelecidle信号をアサートした回数をカウントしカウント値を保持するレジスタである。Running Disparity Errorカウンタ30eは、各レーンのレシーバがRunning Disparity Errorを検出した回数をカウントしカウント値を保持するレジスタである。そして、8B/10B Decoder Errorカウンタ30fは、各レーンのレシーバが8B/10B Decoder Errorを検出した回数をカウントしカウント値を保持するレジスタである。
以下、各部の作用について詳細に説明する。
PCI Express Add-inカード2は、ワークステーション1の不図示のPCI Expressスロットに接続される、ビデオ信号のハードウェアCODEC(COmpresser DECompressor)を備えており、HD(High-Definition),SD SDI(Serial Digital Interface)信号の入出力端子とReference入力端子を備えたビデオ入出力ボードである。
ビデオ信号処理部21は、外部からのHDまたはSD SDI信号をエンコードしビデオメモリ22に渡したり、逆にビデオメモリ22から圧縮データを読み出してデコードしHDまたはSD SDI信号を出力したりする。また、ビデオ信号処理部21は、ビデオメモリ22から非圧縮ビデオデータを読み出してエンコードしビデオメモリ22に戻したり、逆にビデオメモリ22から圧縮データを読み出してデコードし、ビデオメモリ22に戻したりする。ビデオメモリ22は、圧縮ビデオデータや非圧縮ビデオデータを一時的に蓄える機能を持つ。DMAコントローラ23は、Add-inカード2内のビデオメモリ22と、ワークステーション1のシステムメモリ14との間でデータ転送を司る。
DMAコントローラ14により、Add-inカード2がイニシエータとなってデータ転送を行うと、一般的に、ワークステーション1のメインCPU13に負担をかけずに、高速な転送を行うことができる。Targetアクセス制御部28は、ワークステーション1がイニシエータとなって、Add-inカード2と通信を行うTargetアクセスを受け持つ。TargetアクセスはDMAに比較して低速であるため、Add-inカード2を制御するためのカウンタレジスタの読み書き等に使われる。PCI Express監視部30のレジスタ30a〜30fの保持している値もTargetアクセスでワークステーション1に転送される。
PCI Express監視部30は、PCI Expressの通信路の良否を判断するパラメータを保存するブロックである。本ブロックは、PCI Expressの各階層から、帯域を判断するのに有用な情報を得て、レジスタに保存する。より詳細には、レジスタ30aが該情報を保持し、各レジスタ30b乃至30fが該情報に基づいてカウントアップする。但し、レジスタ全てが、新たに実装したものではなく、PCI Express IPコアが本来的に実装しているものもある。
Frameカウンタ29は、Add-inカード2の電源Onまたはリセット後の初期化終了時を0とし、Reference入力端子に入力される信号に同期して、映像信号1フレーム毎(例えば1/30秒)にカウントアップするカウンタである。本実施の形態では、PCI Express監視部30がエラーを積算した経過時間を知るために使用している。ボードCPU27は、Add-inカード2内の各部の制御を司るマイクロコンピュータであり、例えば、Add-inカード2がPCI Expressリンクを確立したことを検出した際に、PCI Express監視部30の各レジスタ30a〜30f及びFrameカウンタ29の初期化を行う役割を担う。
一方、ワークステーション1としては、例えば、Intel(登録商標)アーキテクチャのCPUを持つ一般的なワークステーションを採用し得る。
ワークステーション1において、チップセット11は、該ワークステーション1を構成する各部を相互に接続するもので、ワークステーション1のマザーボード上にある一般的なものである。チップセット11は、PCI Expressインターフェース15を備える。
また、このワークステーション1において、システムメモリ14は、ビデオ編集ソフトウェア等のアプリケーション・ソフトウェア14aを保持する。メインCPU13は、該アプリケーション・ソフトウェア14aを読み出し実行することで、不図示のドライバを介してPCI Express Add-inカード2を制御し、ビデオデータの転送を行う。
磁気ディスク12には、アプリケーション・ソフトウェア、編集情報やビデオデータが格納される。以上のほか、ユーザは、操作入力手段としてのキーボード4、マウス5で編集ソフトを操作する。また、表示手段としてのディスプレイ3には、タイムライン等の編集情報の表示の他、編集中のビデオの再生等が行われる。
ワークステーション1のメインCPU13は、アプリケーション・ソフトウェア14aを実行すると、Add-inカード2が取得した情報を、PCI-Expressインターフェース15を通じて、取得し、画像処理等を行う。その際、この取得した情報を、予め定めた、各画像処理機能を行うのに必要な帯域を実現可能な閾値(この閾値は、例えば、事前に実験又は計算によりソフトウェアに保持させておく)と比較し、閾値を超えていれば、以下の処理を行う。即ち、ソフトウェア上で、ユーザーが当該機能を実行できないようにしたり、より必要な帯域が少なくて済み要求された機能に近い結果を得られる機能を代替機能として実行したり、ユーザーに通信路が悪化したこと及び実行不可或いは代替機能による実行がなされた旨を通知する。但し、これらには限定されない。
ここで、PCI Expressの通信路の良否を判断する指標とするパラメータにつき各レジスタ30a乃至30fとの関係をふまえつつ、更に詳述する。
(a)PCI Expressでリンクを確立したレーン数(x1, x4等)
PCI Expressでは、送信・受信方向のシリアル信号を合わせてレーンと称している(図1では説明の便宜上、1本で示している)。1レーンは、双方向に例えば2.5Gbpsの帯域を有する(実際には8B/10Bエンコーディングやパケットのオーバーヘッドでより少なくなる)。PCI Expressでは、複数のレーンを束ねてリンクを構成することができ、レーン数に略比例して転送速度が上がる。この為、本パラメータは、要求される転送レートが出せるか判断する場合には、必須といえる。この実施の形態に係る情報処理装置では、PCI Express監視部30が、物理層26を監視し、PCI Expressでリンクを確立したレーン数をNegotiated Link Width30aにて保持・更新する。そして、メインCPU13が、アプリケーション・ソフトウェア14aの実行時等に該カウンタ30aのレーン数の情報を読み出し、該レーン数が本来の数よりも少ない場合であっても、帯域が十分に足りている場合には、通信を継続するよう制御する。尚、Negotiated Link Width30aは、PCI Express base specification rev1.1で、Link Status レジスタのフィールドとして定義されており、PCI Express IPコアが実装している。
(b)NAK DLLP(CRCエラーを示し、再送を促すパケット)の受信回数
DMAコントローラ23の転送制御の下、ビデオメモリ22とシステムメモリ14との間でデータ通信を行う場合において、ワークステーション1のメインCPU13がAdd-inカード2側から送信されたパケットに対して、CRCエラーを発見すると、NAK(拒否)応答することになる。Add-inカード2は、PCI Express監視部30がNAK応答を受信した回数をRX NAK DLLP カウンタ30bによりカウントする。
本パラメータは、「Add-inカード2のトランスミッタ→ワークステーション1のレシーバ」の経路で通信路に不良があることを示す。
通常、Add-inカード2側では、自身のトランスミッタの不良を検出するのが難しいが、相手がパケットを拒否応答した回数で、自身のトランスミッタの不良を知ることができる。このNAK応答回数を転送レートの低下を図る指標として用いる。RX NAK DLLP カウンタ30bは、PCI Express base specification rev1.1では定義されていないが、いくつかのPCI Express IPコアが既に実装している。
より具体的には、例えばメインCPU13は、アプリケーション・ソフトウェア14aの実行時等において、RX NAK DLLP カウンタ30bのカウント値を Target アクセス制御部28を介して取得し、その値が0である場合、つまりAdd-inカード2側がNAKを全く受信していないことを帯域の低下がないことの判断の指標として用いることもできる。
或いは、NAKを1度受信すると、それは、パケットが1つ未転送であったことを意味し、再送のためには更に倍の時間を要することに鑑みて、転送レートの低下分×NAKの応答個数を帯域低下の判断の指標として用いてもよい。
(c)LTSSMがL0 State(通常通信状態)以外の各State(例えば同期を取り直し、通信路を回復するRecovery State)に遷移した回数
LTSSMはPCI Expressのリンクを司る物理層26の状態遷移を表すステートマシンであり、PCI Express base specification rev1.1で定義されている。通常、LTSSMは、一度リンクが確立されるとL0 StateでTLP(パケット)のやり取りを行うが、通信状態が悪いと所謂復旧モード等に相当するリカバリ・ステート(Recovery State)に遷移し、ビットロック、シンボルロックを取り直すことがspcecで定義されている。例えば、通信状態が悪くなり、パケットの再送回数が所定数を超えた場合にリカバリ・ステートに遷移する。
尚、データ転送を実施していない状態でも、定期的にスクランブルパターンの送受信を行っており、該パターンを受信できなくなったときには、電気的なアイドル状態を検出して、リカバリ・ステートに遷移し、リンクのトレーニングをし直すことがなされる。
実測したところ、リカバリ・ステートに遷移すると、L0 Stateに戻り、再びデータ転送が行えるようになるまでに数us程度を要している。これは、リアルタイムのデータ転送では、無視できるレベルではない。また、PCI Expressの物理層26を構成するPHYチップ(SerDesチップ)の性能によっては、一見問題がなくても、実運用中にリカバリ・ステートへの遷移が起こることもある。このような点に着目し、この実施の形態に係る情報処理装置では、LTSSMの状態遷移でリカバリ・ステートに遷移した回数をLTSSM Transition カウンタ30cでカウントし、カウント値(レジスタ値)を保持し、転送レート低下を見積もるために用いる。尚、LTSSMは、上記定義によれば、十数個の状態が定義されているが、それぞれについてカウンタを用意し、各ステートへの遷移の回数をカウントし、カウント値を保持することになる。
より具体的には、例えばメインCPU13は、アプリケーション・ソフトウェア14aの実行時等において、LTSSM Transition カウンタ30cのカウント値を Target アクセス制御部28を介して取得し、その値が0である場合、つまりAdd-inカード2側のリカバリ・ステートへの遷移が全くないことを帯域低下がないことの判断の指標として用いることもできる。或いは、リカバリ・ステートへの遷移回数より転送レートの低下レベルを判断し、帯域低下の判断の指標として用いてもよい。
(d)各レーンのレシーバが、電気的アイドル状態を検出したことを示す、Rxelecidle信号をアサートした回数
Rxelecidle信号とは、
資料1:Intel(登録商標)”PHY Interface for the PCI Express Architecture”
(http://www.intel.com/technology/pciexpress/devnet/docs/PIPEMacro1_00.pdf )
で定義されている信号であり、Add-inカード2のレシーバが、ワークステーション1からのシリアル信号を検出できず、電気的にアイドルであると判断した場合にアサートされる。本信号がアサートされると、LTSSMがリカバリ・ステートに遷移するため、本信号の監視は、(c)でリカバリ・ステートへの遷移を監視する代替として使用できる。また、リカバリ・ステートへの遷移は、いくつかの要因があるが、本信号を監視することで、通信路の不良部分を、より限定することができる。PCI Express監視部30のRxelecidleカウンタ30dは、Rxelecidle信号の受信回数をカウントする。尚、各レーン毎にレシーバがあり、いずれか一つでもRxelecidle信号を受信すると、Add-inカード2側はリカバリ・ステートに遷移するように制御される。
(e)各レーンのレシーバが、8B/10B Decoder Errorを検出した回数
(f)各レーンのレシーバが、Running Disparity Errorを検出した回数
これら(e)、(f)は、前述した(b)を補強する役割を担っている。
これら8B/10B Decoder Error およびRunning Disparity Error は、上記資料1で定義されている、PHYのエラーである。これらのエラーは、実際のTLP(パケット)によるデータ転送が行われていなくても、リンクがロジカル・アイドルの状態でスクランブルパターンをやりとりしていれば、受信したシンボルにエラーがあった際に検出される。このため、「Workstationのトランスミッタ→Add-inカードのレシーバ」の経路で通信路に不良があることを検出するのに非常に有効である。
即ち、8B/10B Decoder Error およびRunning Disparity Errorは、ワークステーション1側が送信したパケットをレシーバがエラーとして検出した回数を示唆し、Add-inカード2のレシーバがエラー検出を行う。物理層26はシリアル/パラレル変換を行うPHYチップを備えており、その中でこれらのエラーを検出する。Running Disparity Errorカウンタ30e、8B/10B Decoder Errorカウンタ30fにて、これらの回数をカウントし、該カウント値を保持し、転送レートの低下を図る指標として用いる。
以下、図2のフローチャートを参照して、本発明の一実施の形態に係る情報処理装置によるPCI Express を利用した帯域監視結果を用いた機能実行の可否判断についてのメインCPU1による一連の処理の流れを説明する。
メインCPU13が、PCI Express Add-inカード2を介して機能Aの実行指示を受け取ると(ステップS1)、メインCPU13は、Add-inカード2内のPCI Express監視部30の各カウント値(レジスタ値)を、システムメモリ14側に転送するようにTargetアクセス制御部28に対して指示する(ステップS2)。続いて、メインCPU13は、DMAコントローラ23によるビデオメモリ22とシステムメモリ14間の転送で、機能Aに必要な帯域を確保できるか否かを判断する(ステップS3)。この判断に際しては、前述した(a)乃至(f)のカウント値のいずれか或いは任意の組合せを用いることとする。
そして、メインCPU13は、機能Aに必要な帯域を確保できると判断した場合には機能Aを実行し(ステップS4)、処理を終了することになる。一方、メインCPU13は、機能Aに必要な帯域を確保できないと判断した場合には、通信路悪化のため機能Aを実行できない旨をディスプレイ3に表示し(ステップS5)、代替機能Bの実行要求を発行し(ステップS6)、処理を終了することになる。
ここで、ステップS3における、機能Aに必要な帯域を確保できるか否かの判断手法について例を挙げて更に詳細に説明する。
第1に、例えば4レーン以上でリンクの確立が必要であり、帯域低下の原因となる通信路のエラーが全く発生していないことを条件とする場合、以下の全ての条件が成立した場合にのみ、「機能Aの帯域が確保できる」と判断する。
・Negotiated Link Width≧4
・RX NAK DLLPカウンタ=0
・LTSSMのリカバリ・ステート遷移回数=0
・Rxelecidleカウンタ=0
・Running Disparity Error カウンタ=0
・8B/10B Decoder Errorカウンタ=0
メインCPU13は、以上の条件がリンクを構成する全てのレーンで成立した場合、「機能Aの帯域が確保できる」と判断することになる。
但し、レーン毎に設けられたカウンタは、Rxelecidleカウンタ30d、Running Disparity Errorカウンタ30e、8B/10B Decoder Errorカウンタ30fのみであって、Negotiated Link Width30a、RX NAK DLLPカウンタ30b、LTSSM Transitionカウンタ30cはリンクについて1個ずつしか設けられていない。
第2に、例えばリンクしたレーン数で全くエラーがない場合に確保できる帯域から、各エラーによる帯域低下分を減算した値が、機能Aに必要な帯域を上回ることを条件とする場合、次のように判断する。即ち、
BW_A:機能Aに必要な帯域
lw:Negotiated Link Width
BW(lw):レーン数lwのリンクでエラー無の場合の実効帯域
D_i(lw, n_i) :レーン数lwのリンクでエラー種別iのエラーが単位時間あたりにn_i回発生した場合の帯域低下分
とし、次式が成立する場合に、「機能Aの帯域が確保できる」と判断する。
BW(lw)-Σ_i D_i(lw,n_i)≧BW_A
尚、n_iは、以下の各エラーカウンタの値を、カウンタ起算開始時からの経過時間で除算して求めることとする。
・RX NAK DLLPカウンタ
・LTSSMのリカバリ・ステート遷移回数
・各レーンのRunning Disparity Error カウンタ
・各レーンの8B/10B Decoder Errorカウンタ
次に、図3のフローチャートを参照して、図2のステップS3における、メインCPU13による帯域判定に係る他の処理を更に具体的に説明する。
尚、前提として、メインCPU13による、Add-inカード内のレジスタの読み出しは、全てTargetアクセス制御部28を介したTargetアクセスで行うものとする。また、PCI Express監視部30のレジスタは、最も影響の大きい順に読み出し、一つでもNGの値があった場合は帯域を確保できないと判断するものとする。
さて、メインCPU13は、Negotiated Link Widthのレジスタ値を読み出し(ステップS11)、Negotiated Link Widthのレジスタ値が4以上であるか否かを判断する(ステップS12)。ここでは、4レーン以上が必要な例を想定しているので比較する閾値は4としている。Negotiated Link Widthのレジスタ値が4未満である場合には帯域確保ができないものとして処理を終了し、4以上である場合には次のステップS13に進む。
続いて、メインCPU13は、Frameカウンタ29のカウント値を読み出す(ステップS13)。この例では、PCI Expressがリンクしてからの時間に比例する値として、Frameカウンタ29のカウント値を読み出している。これ以降、読み出すエラーカウンタは、全て1フレームあたりのエラー数に正規化して判断を行う。
次いで、メインCPU13は、LTSSM Transitionカウンタ30cのカウント値を読み出し(ステップS14)、リカバリ・ステートへの遷移回数が1/frm以上であるか否かを判断する(ステップS15)。ここで、リカバリ・ステートへの遷移回数が1/frm以上であれば帯域確保できないものとして処理を終了し、リカバリ・ステートへの遷移回数が1/frm未満である場合には次のステップS16に進む。
このステップS16乃至S21のループでは、メインCPU13は、リンクを構成する各レーンについて個別の判断を行う。即ち、メインCPU13は、各レーンの8B/10B Decoder Errorカウンタ30fのカウント値を読み出し(ステップS17)、該カウント値が10/frmよりも大きいか否かを判断する(ステップS18)。ここで、8B/10B Decoder Errorカウンタ30fのカウント値が10/frmよりも大きい場合には帯域確保できないものとして処理を終了し、10/frm以下である場合には各レーンのRunning Disparity Error カウンタ30eのカウント値を読み出し(ステップS19)、該カウント値が10/frmよりも大きいか否かを判断する(ステップS20)。ここで、Running Disparity Error カウンタ30eのカウント値が10/frmよりも大きい場合には帯域確保できないものとして処理を終了し、10/frm以下である場合には、ステップS21に進む。
次いで、メインCPU13は、RX NAK DLLPカウンタ30bのカウント値を読み出し(ステップS22)、該カウント値が10/frmよりも大きいか否かを判断する(ステップS23)。ここで、RX NAK DLLPカウンタ30bのカウント値が10/frmよりも大きい場合には帯域確保できないものとして処理を終了し、10/frm以下である場合には帯域が確保できるものと判断することになる。以上で、帯域判定処理を終了する。
尚、ステップS14,S15において、LTSSM Transition カウンタ30cによる判定の代替として、Rxelecidleカウンタ30dの値を用いて、リカバリ・ステートへの遷移を判定することもできる。この場合、ステップS14に替えて、先ずメインCPU13はRxelecidleカウンタ30dのカウント値を読み出し、ステップS15に替えて、該カウント値が1/fmr以上であるか否かを判断する。そして、メインCPU13は、カウント値が1/frmよりも大きい場合には帯域確保できないものとして処理を終了し、1/frm未満である場合にはステップS16に移行するように処理が置き換わることになる。
ところで、以上の処理を実現するためには、各レジスタの初期化を定期的に行わなければならない。そこで、図4のフローチャートを参照して、ボードCPU27による、PCI Express監視部30の各レジスタの初期化の処理を説明する。
ボードCPU27は、LTSSM Transition カウンタ30cのカウント値を読み出し(ステップS31)、L0 Stateへの遷移回数を判断し(ステップS32)、該遷移回数が0である場合には上記ステップS31に戻り、上記処理を繰り返し、該遷移回数が0でなくなるとステップS33に移行する。即ち、このステップS31,S32では、PCI Expressのリンクが確立し、データ転送可能な状態(L0 State)になるまでループする。
続いて、PCI Express監視部30の各レジスタ30b乃至30fのレジスタ値を0に初期化し(ステップS33)、Frameカウンタ29のカウント値を0に初期化(Frameカウンタでの計時を開始)し(ステップS34)、処理を終了する。尚、レジスタ30aはリンク確立した瞬間に設定されるため、ステップS33内では初期化されない。
以上詳述したように、本発明の一実施の形態によれば、第1の記憶手段としてのビデオメモリ22と第2の記憶手段としてのシステムメモリ14との間のデータ転送を複数のレーンからなる所定のインターフェースとしてのPCI Expressインターフェース15を介して行う情報処理装置であって、上記ビデオメモリ22とシステムメモリ14との間のデータ転送を制御する第1の制御手段としてのDMAコントローラ23と、上記データ転送を行う場合において、ビデオメモリ22から送信されたデータ(パケット)に対してエラーを検出した場合に、所定の拒否応答としてのNAK応答を送信する第2の制御手段としてのメインCPU13と、上記NAK応答を受信した回数をカウントし、カウント値を保持する保持手段としてのRX NAK DLLP カウンタレジスタ30bを備えた監視手段としてのPCI Express監視部30とを備え、上記メインCPU13は、所定の機能の実行時においてPCI Express監視部30より上記カウント値を取得し、該カウント値に基づいて帯域の低下があるか否かを判断することを特徴とする情報処理装置が提供される。
ここで、メインCPU13は、上記カウント値が0である場合に、或いは、上記NAK応答を1回受信することによる転送レートの低下分と上記カウント値とを乗算した値に基づいて、帯域の低下があるか否かを判断してもよい。
或いは、PCI Express監視部30は、通常通信状態としてのL0 Stateから同期を取り直し通信路を回復する状態としてのリカバリ・ステートに遷移した回数をカウントし、カウント値を保持するLTSSM Transition カウンタ30cを備え、上記メインCPU13は、この回復する状態に遷移した回数に係るカウント値に基づいて帯域の低下があるか否かを判断するようにしてもよい。
また、PCI Express監視部30は、所定の機能の実行に関わるデータ転送ではなく、論理的アイドル状態下でのスクランブルパターンの転送時に、上記メインCPU13から送信されたデータをレシーバがエラーとして検出した回数をカウントするRunning Disparity Errorカウンタ30e、及び8B/10B Decoder Errorカウンタ30fを備え、上記メインCPU13は、このカウント値に基づいて帯域の低下があるか否かを判断するようにしてもよい。
従って、本発明の実施の形態に係る情報処理装置によれば、PCI Expressインターフェースでの通信路悪化で、データ転送が間に合わないことが原因で起こり得るアプリケーション・ソフトウェアでの不具合を事前に防止することができる。
以上、本発明の実施の形態について説明したが、本発明はこれに限定されることなくその趣旨を逸脱しない範囲で種々の改良・変更が可能であることは勿論である。
例えば、上記した指標(a)乃至(f)のいずれか一つ或いは任意の組合せにより帯域低下を判断するようにしてもよいことは勿論である。
さらに、本発明の実施の形態は、情報処理装置による情報処理方法(例えば帯域判定方法)、或いは情報処理にかかるコンピュータ・プログラム、該プログラムをコンピュータにより読み取り可能に記録した記録媒体としての実行も可能であり、その場合には、前述した実施の形態に係る情報処理装置と同様の作用効果を奏することは勿論である。
本発明の一実施の形態に係る情報処理装置の構成図。 本発明の一実施の形態に係る情報処理装置によるPCI Express を利用した帯域監視結果を用いた機能実行の可否判断についてのメインCPUによる一連の処理の流れを説明するためのフローチャート。 図2のステップS3における、メインCPUによる帯域判定に係る他の処理を更に具体的に説明するためのフローチャート。 ボードCPUによる、PCI Express監視部の各レジスタの初期化の処理を説明するためのフローチャート。
符号の説明
1…ワークステーション、2…PCI Express Add-inカード、3…ディスプレイ、4…キーボード、5…マウス、11…チップセット、12…磁気ディスク、13…メインCPU、14…システムメモリ、14a…アプリケーション・ソフトウェア、15…PCI Expressインターフェース、21…ビデオ信号処理部、22…ビデオメモリ、23…DMAコントローラ、24…トランザクション層、25…データリンク層、26…物理層、27…ボードCPU、28…Targetアクセス制御部、29…Frameカウンタ、30…PCI Express監視部、30a…Negotiated Link Width、30b…RX NAK DLLPカウンタ、30c…LTSSM Transitionカウンタ、30d…Rxelecidleカウンタ、30e…Running Disparity Errorカウンタ、30f…8B/10B Decoder Errorカウンタ

Claims (5)

  1. 第1の記憶手段と第2の記憶手段との間のデータ転送を複数のレーンからなるインターフェースを介して行う場合において、第1の記憶手段から送信されたデータに対してエラーを検出した場合に、拒否応答を送信する制御手段と、
    上記制御手段により送信された拒否応答を受信した回数をカウントして、カウント値を保持する監視手段と、
    上記第1の記憶手段及び上記第2の記憶手段との間のデータ転送を制御する転送制御手段とを備え、
    上記制御手段は、所定の機能の実行時において上記監視手段より上記カウント値を取得し、該カウント値に基づいて帯域の低下があるかを判断し、
    上記監視手段は、所定の機能の実行に関わるデータ転送ではなく、論理的アイドル状態下でのスクランブルパターンの転送時に、上記制御手段から送信されたデータを上記制御手段がエラーとして検出した回数をカウントしたカウント値を保持するとともに、上記制御手段は、将来行われる通信において帯域の低下があるかを上記監視手段により保持されたカウント値に基づいて判断する
    情報処理装置。
  2. 上記制御手段は、
    上記カウント値が0である場合に、帯域の低下がないものと判断する
    請求項1に記載の情報処理装置。
  3. 上記制御手段は、
    上記拒否応答を1回受信することによる転送レートの低下分と上記カウント値とを乗算した値に基づいて、帯域の低下があるかを判断する
    請求項1に記載の情報処理装置。
  4. 上記監視手段は、通常通信状態から同期を取り直して通信路を回復する状態に遷移した回数をカウントしたカウント値を保持し、
    上記制御手段は、通信路を回復する状態に遷移した回数に係るカウント値に基づいて帯域の低下があるかを判断する
    請求項1に記載の情報処理装置。
  5. 制御手段により、第1の記憶手段と第2の記憶手段との間のデータ転送を複数のレーンからなるインターフェースを介して行う場合において、第1の記憶手段から送信されたデータに対してエラーを検出した場合に、拒否応答を送信するステップと、
    監視手段により、上記制御手段により送信された拒否応答を受信した回数をカウントして、カウント値を保持するステップと、
    上記制御手段により、所定の機能の実行時において上記監視手段より上記カウント値を取得し、該カウント値に基づいて帯域の低下があるかを判断するステップと、
    上記監視手段により、所定の機能の実行に関わるデータ転送ではなく、論理的アイドル状態下でのスクランブルパターンの転送時に、上記制御手段から送信されたデータを上記制御手段がエラーとして検出した回数をカウントしたカウント値を保持するとともに、上記制御手段により、将来行われる通信において帯域の低下があるかを上記監視手段により保持されたカウント値に基づいて判断するステップとを備えた
    情報処理方法。
JP2007290771A 2007-11-08 2007-11-08 情報処理装置及び情報処理方法 Expired - Fee Related JP5125430B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007290771A JP5125430B2 (ja) 2007-11-08 2007-11-08 情報処理装置及び情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007290771A JP5125430B2 (ja) 2007-11-08 2007-11-08 情報処理装置及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2009116732A JP2009116732A (ja) 2009-05-28
JP5125430B2 true JP5125430B2 (ja) 2013-01-23

Family

ID=40783794

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007290771A Expired - Fee Related JP5125430B2 (ja) 2007-11-08 2007-11-08 情報処理装置及び情報処理方法

Country Status (1)

Country Link
JP (1) JP5125430B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9075602B2 (en) * 2010-06-02 2015-07-07 Realtek Semiconductor Corp. Method and device of power saving for transmitting signals

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5439832B2 (ja) * 2009-02-03 2014-03-12 株式会社リコー シリアルデータ通信装置
JP2011164682A (ja) * 2010-02-04 2011-08-25 Ricoh Co Ltd データ通信装置及び画像処理装置
JP5771927B2 (ja) * 2010-09-15 2015-09-02 株式会社リコー 通信装置、通信ユニット、通信システム、通信方法およびプログラム
JP2012146041A (ja) * 2011-01-11 2012-08-02 Hitachi Ltd 計算機装置及び信号伝送方法
JP6069897B2 (ja) * 2012-06-05 2017-02-01 富士通株式会社 データ伝送装置、およびデータ伝送方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04111554A (ja) * 1990-08-30 1992-04-13 Shimadzu Corp Arq通信方式
JPH04364641A (ja) * 1991-06-12 1992-12-17 Nec Eng Ltd 伝送路状態監視方式
JP2005027208A (ja) * 2003-07-01 2005-01-27 Sony Corp 送信装置および方法、記録媒体、並びにプログラム
US7487273B2 (en) * 2003-09-18 2009-02-03 Genesis Microchip Inc. Data packet based stream transport scheduler wherein transport data link does not include a clock line
JP2005122372A (ja) * 2003-10-15 2005-05-12 Seiko Epson Corp データ転送制御装置、電子機器及びデータ転送制御方法
JP2005168055A (ja) * 2005-02-04 2005-06-23 Fuji Xerox Co Ltd データ伝送装置およびデータ伝送制御方法
JP2007188428A (ja) * 2006-01-16 2007-07-26 Fuji Xerox Co Ltd 半導体ストレージ装置およびストレージシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9075602B2 (en) * 2010-06-02 2015-07-07 Realtek Semiconductor Corp. Method and device of power saving for transmitting signals

Also Published As

Publication number Publication date
JP2009116732A (ja) 2009-05-28

Similar Documents

Publication Publication Date Title
US7444558B2 (en) Programmable measurement mode for a serial point to point link
TWI343007B (en) Point-to-point link negotiation method and apparatus
JP5125430B2 (ja) 情報処理装置及び情報処理方法
US9967025B2 (en) Diagnostic port for inter-switch and node link testing in electrical, optical and remote loopback modes
US8667363B2 (en) Systems and methods for implementing cyclic redundancy checks
CA2698730C (en) Systems and methods for implementing cyclic redundancy checks
US7583600B1 (en) Schedule prediction for data link layer packets
US10348616B2 (en) Packet transmission method and apparatus, and interconnect interface
US7821919B2 (en) Data processing apparatus and data processing method
US5463762A (en) I/O subsystem with header and error detection code generation and checking
US20080294831A1 (en) Method for link bandwidth management
US20040059807A1 (en) Network analysis topology detection
US20160179647A1 (en) Test logic for a serial interconnect
US10664433B2 (en) Innovative high speed serial controller testing
CN100561454C (zh) 接收器符号对准的方法、集成电路装置和系统
CN115437978A (zh) 高速外围组件互连接口装置及其操作方法
KR102033112B1 (ko) Pci 익스프레스 스위치 장치 및 그의 접속 제어 방법
US6937355B1 (en) Data communications apparatus for resuming data transfer after interruption
CN111669220B (zh) RapidIO通信阻塞修复方法及系统
CN111984582B (zh) 一种pcie链路训练方法、设备以及介质
TW201512832A (zh) 快照訊息技術
US7542418B2 (en) Method and apparatus for detecting and removing orphaned primitives in a fibre channel network
JP5439832B2 (ja) シリアルデータ通信装置
JP5715231B2 (ja) インタフェース変換装置及びインタフェース変換方法
RU2700560C1 (ru) Устройство коммуникационного интерфейса gigaspacewire

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100831

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120419

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121002

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121015

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151109

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees