(57)【要約】【課題】  高速バス波形が劣化せず、また多量の高速バス送受信履歴を記録することで障害解析を容易にするデータ転送装置を提供する。【解決手段】  ＭＣ５１に接続されるシステムバスインタフェース２０と、高速Ｉ／Ｏバススイッチ５４に接続される高速Ｉ／Ｏバスインタフェースと、ＭＣ５１と高速Ｉ／Ｏバススイッチ５４の間において転送される送受信データの一部を選択する履歴選択制御部１０と、履歴選択制御部１０に接続され、履歴選択制御部１０が選択した前記送受信データの一部を保持する緩衝バッファ１１と、緩衝バッファ１１が保持した送受信データの一部を観測機２００に出力する低速バスインタフェースを有することを特徴とするデータ転送装置を提供する。【選択図】図１
2010009352.tif 000002
【特許請求の範囲】
【請求項１】
第１の制御装置に接続される第１のポートと、
第２の制御装置に接続される第２のポートと、
前記第１の制御装置と前記第２の制御装置の間において転送される送受信データの一部を選択するデータ選択制御部と、
前記データ選択制御部に接続され、前記データ選択制御部が選択した前記送受信データの一部を保持する履歴記憶部と、
前記履歴記憶部が保持した前記送受信データの一部を解析装置に出力する第３のポートを有することを特徴とするデータ転送装置。
【請求項２】
前記データ転送装置はさらに、
前記第１の制御装置と前記第１のポートの間を接続する第１のバス上の第１のバス信号と、前記第２の制御装置と前記第２のポートの間を接続する第２のバス上の第２のバス信号を相互に変換するバス信号変換部を有することを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記データ転送装置はさらに、
前記データ転送装置の制御を行うシステム制御装置に接続されるともに、前記送受信データの選択についての設定情報が格納される設定情報記憶部と、
前記データ選択制御部と前記システム制御装置を接続する第４のポートを有し、
前記設定情報は、前記システム制御装置から前記第４のポートを介して設定されることを特徴とする請求項１又は２に記載のデータ転送装置。
【請求項４】
前記データの一部は、前記データのヘッダ情報であることを特徴とする請求項１乃至３のいずれか１項に記載のデータ転送装置。
【請求項５】
前記データ転送装置が有する前記第３のポートに接続される第３のバスは、前記第１及び第２のバスのデータ転送速度よりも低速であることを特徴とする請求項１乃至４のいずれか１項に記載のデータ転送装置。
【請求項６】
第１の制御装置と、第２の制御装置と、前記第１及び第２の制御装置を接続するデータ転送装置を有する情報処理装置であって、
前記データ転送装置は、
前記第１の制御装置に接続される第１のポートと、
前記第２の制御装置に接続される第２のポートと、
前記第１の制御装置と前記第２の制御装置の間において転送される送受信データの一部を選択するデータ選択制御部と、
前記データ選択制御部に接続され、前記データ選択制御部が選択した前記送受信データの一部を保持する履歴記憶部と、
前記履歴記憶部が保持した前記送受信データの一部を解析装置に出力する第３のポートを有することを特徴とする情報処理装置。
【請求項７】
第１の制御装置に接続される第１のポートと、第２の制御装置に接続される第２のポートとの間において転送される送受信データの一部を選択するデータ選択制御ステップと、
前記データ選択制御ステップによって選択された前記送受信データの一部を保持する履歴記憶ステップと、
前記履歴記憶ステップによって保持された前記送受信データの一部を、解析装置に接続される第３のポートに出力する出力ステップと、
を実行する情報処理装置のデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
サーバ等に搭載されるＬＳＩ間を接続するバスの送受信履歴記録を可能にするデータ転送装置、データ転送方法およびデータ転送装置を搭載した情報処理装置に関する。
【背景技術】
【０００２】
近年、サーバに搭載されるＬＳＩ間を接続するバス速度は数ＧＨｚに達している。障害解析のためにＬＳＩ間のトランザクションの送受信履歴を記録するには、高価な高速バス専用ロジックアナライザが必要である。
【０００３】
従来のＬＳＩ間バスのトランザクション送受信履歴記録方法のうち、高速バスを直接プローブする方法の構成を図１２に示す。
【０００４】
高速バスインターフェースを持つＬＳＩは、転送周波数が数百ＭＨｚを超えるバスを持つＬＳＩである。高速バスは、転送周波数が数百ＭＨｚを超えるシステムボードの配線である。高速バス専用ロジックアナライザは、特定の高速バスに特化した観測機であり、数十ＧＨｚ程度のサンプリング帯域を持つ。システムボートとは、高速バスインターフェースを持つＬＳＩを搭載するボード基板である。プローブによってシステムボード上の高速バスと高速バス専用ロジックアナライザが接続される。
【０００５】
図１２の構成による従来のＬＳＩ間バスの動作について説明する。トランザクションの送受信履歴を記録する高速バスとロジックアナライザは直接プローブ接続されている。トランザクションの送受信履歴はロジックアナライザ内に記録され、ロジックアナライザの持つ記憶領域分記録される。
【０００６】
次に、上述の従来の高速バスのトランザクション送受信履歴記録方法のうち、ＬＳＩ内部にトランザクション送受信履歴記録用トレースメモリを持つ方法の構成を図１３に示す。
【０００７】
高速バスインタフェースを持つＬＳＩと高速バスは上述の説明と同様である。送受信履歴記録用トレースメモリとはＬＳＩ内部にある高速バスから送受信するトランザクションを記録するためのトレースメモリである。トレースメモリに記録した履歴がフルになった場合、記録された履歴は古いものから上書きされる。また例外処理などのトランザクションイベントをトリガとして履歴記録が停止する。トレースメモリへの履歴記録が停止状態である場合のみ、トレースメモリに記録された履歴情報がサービスプロセッサへ読み出される。
【０００８】
次に、図１３にて示したトランザクション送受信履歴記録方法の動作について説明する。送受信履歴記録を開始するイベントをトリガとして、送受信履歴記録用トレースメモリが記録可能状態となる。記録可能状態ではＬＳＩは高速バスのトランザクションが送受信されると同時にトレースメモリに記録される。トレースメモリの記録がフルになった場合、古い記録に対して上書き処理がなされる。送受信履歴記録を停止させる例外処理などのイベントをトリガとして、トレースメモリが記録停止状態となる。
【０００９】
トレースメモリが記録停止状態である場合、トレースメモリに記録されている履歴がサービスプロセッサへ読み出される。よって、トレースメモリの容量分の受信履歴が記録される。
【００１０】
【特許文献１】特開平２０００−２９３４４１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上述した従来技術における、高速バス専用ロジックアナライザにトランザクション送受信履歴を記録する方式では以下の問題がある。
・高速バスに特化したロジックアナライザは、「サンプリング周波数が高い」、「シグナルインテグリティー向上のためのそれぞれのプロトコルに依存した信号復元を行う必要がある」等の理由から必然的に価格が高価なものとなってしまう。
・システムボード上の高速バスに直接プローブを接続するため、信号の反射等の影響により、シグナルインテグリティが劣化する。よって、シグナルインテグリティを確保するための実装がシステムボードに必要となる。
【００１２】
また、ＬＳＩ内部にトランザクション送受信履歴記録用トレースメモリを持つ方式では、ＬＳＩ内部に送受信記憶領域を持つための送受信履歴を記録するトレースメモリサイズが非常に小さくなる。ＣＰＵ数が１個でかつＤＭＡ転送を行うデバイスが１個の構成では、トレースメモリサイズが小さくとも障害解析するために必要な送受信履歴がトレースメモリ内に採取できる可能性はある。しかし、近年のサーバはＣＰＵおよびＤＭＡ転送を行うデバイスがそれぞれ複数あるため、確認したい範囲のトランザクションがトレースメモリに残っていない場合がある。
【００１３】
上述した問題点を解決するため、高速バスを直接プローブせず、また安価な構成で多量の高速バス送受信履歴を記録することを可能にするデータ転送装置、情報処理装置、制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
データ転送装置は、第１の制御装置に接続される第１のポートと、第２の制御装置に接続される第２のポートと、前記第１の制御装置と前記第２の制御装置の間において転送される送受信データの一部を選択するデータ選択制御部と、前記データ選択制御部に接続され、前記データ選択制御部が選択した前記送受信データの一部を保持する履歴記憶部と、前記履歴記憶部が保持した前記送受信データの一部を解析装置に出力する第３のポートを有することを特徴とする。
【００１５】
また、情報処理装置は、第１の制御装置と、第２の制御装置と、前記第１及び第２の制御装置を接続するデータ転送装置を有する情報処理装置であって、前記データ転送装置は、前記第１の制御装置に接続される第１のポートと、前記第２の制御装置に接続される第２のポートと、前記第１の制御装置と前記第２の制御装置の間において転送される送受信データの一部を選択するデータ選択制御部と、前記データ選択制御部に接続され、前記データ選択制御部が選択した前記送受信データの一部を保持する履歴記憶部と、前記履歴記憶部が保持した前記送受信データの一部を解析装置に出力する第３のポートを有することを特徴とする。
【００１６】
さらに、情報処理装置のデータ転送方法は、第１の制御装置に接続される第１のポートと、第２の制御装置に接続される第２のポートとの間において転送される送受信データの一部を選択するデータ選択制御ステップと、前記データ選択制御ステップによって選択された前記送受信データの一部を保持する履歴記憶ステップと、前記履歴記憶ステップによって保持された前記送受信データの一部を、解析装置に接続される第３のポートに出力する出力ステップと、を実行することを特徴とする。
【発明の効果】
【００１７】
第１の制御装置と第２の制御装置の間のバスを直接プローブしないため、バスの波形が劣化せず、また、データの一部のみを採取することで第１の制御装置と第２の制御装置の間のバス送受信履歴を多種多量に記録し、障害解析を容易にする。
【発明を実施するための最良の形態】
【００１８】
図１に本実施の形態におけるサーバの構成図を示す。尚、サーバ１００（情報処理装置）は、バスモニタ用コネクタによって汎用ロジックアナライザ等の観測機２００（解析装置）と接続している。
【００１９】
サーバ１００は、ＣＰＵｓ５０、ＭＣ（Memory Controller)５１、ＤＲＡＭ(Dynamic Random Access Memory)５２、ＩＯＣ（Input Output Controller)１（データ転送装置）、サービスプロセッサ５３、高速Ｉ／Ｏバススイッチ５４、ＳＡＳ（Serial Attached SCSI）コントローラ５５（システム制御装置）、ＧｂＥコントローラ５６、ＨＤＤ（Hard disk drive）５７、ＬＡＮ（Local Area Network）ポート５８を備える。
【００２０】
ＣＰＵｓ５０は複数の中央処理装置であるＣＰＵ（Central Processing Unit）で構成され、ＭＣ５１とシステムバスで接続している。ＭＣ５１は、記憶媒体であるＤＲＡＭ５２のデータの読み出し、書き込み、リフレッシュなど、ＤＲＡＭ５２を制御するＬＳＩである。またＭＣ５１は、ＤＲＡＭ５２と接続しており、また、システムバスでＣＰＵｓ５０とＩＯＣ１と接続している。
【００２１】
ＩＯＣ１は、システムバスと高速Ｉ／Ｏバス間のプロトコル変換を主な機能としたＬＳＩである。ＩＯＣ１は、高速Ｉ／Ｏバスで高速Ｉ／Ｏバススイッチ５４と接続しており、システムバスでＭＣ５１と接続している。ＩＯＣ１の内部構成は後述する。
【００２２】
高速Ｉ／Ｏバススイッチ５４は、複数の高速Ｉ／Ｏバスインタフェースを持つスイッチであり、高速Ｉ／ＯバスでＩＯＣ１、ＧｂＥコントローラ５６、ＳＡＳコントローラ５５と接続している。ＧｂＥコントローラ５６は、ギガビットイーサネット（登録商標）のネットワーク規格に準拠したネットワークボードであり、ＬＡＮポート５８からの通信データの入出力制御を行う。ＳＡＳコントローラ５５は、ＳＡＳ接続を可能にし、ＨＤＤ５７の入出力の制御を行う。これら高速Ｉ／Ｏバススイッチ５４、ＧｂＥコントローラ５６、およびＳＡＳコントローラ５５は、それぞれ高速Ｉ／Ｏバスインタフェースを備える。
【００２３】
ＨＤＤ５７は、磁気ディスク装置であり、データを不揮発性に記憶する。サービスプロセッサ５３はＩＯＣ１の初期設定や状態監視、およびサーバ１００の各ユニット全体を管理する管理装置である。サービスプロセッサ５３は、ＩＯＣ１とメンテナンスバス（以降、Ｍ−Ｂｕｓ）で接続している。
【００２４】
ＣＰＵｓ５０からの命令がＭＣ５１、ＩＯＣ１と高速Ｉ／Ｏバスを経由して高速Ｉ／Ｏバススイッチ５４に送信され、さらにＳＡＳコントローラ５５、ＧｂＥコントローラ５６に送信される。また、ＳＡＳコントローラ５５とＧｂＥコントローラ５６からのＤＭＡ転送が高速Ｉ／Ｏバス、ＩＯＣ１、ＭＣ５１を経由してＤＲＡＭ５２に送信される。高速Ｉ／ＯバスにはＧｂＥコントローラ５６とＳＡＳコントローラ５５に対するトランザクションが同時に流れる場合もある。
【００２５】
次に、ＩＯＣ１の構成について、図２を参照しつつ説明する。ＩＯＣ１は、履歴選択制御部１０（データ選択制御部）、緩衝バッファ１１（履歴記憶部）、プロトコル変換制御部１２（バス信号変換部）、信号変換復元部１３を備える。
【００２６】
履歴選択制御部１０は、ＭＣ５１（第１の制御装置）と高速Ｉ／Ｏバススイッチ５４（第２の制御装置）の間に転送される送受信データ（トランザクション）の一部を選択する。送受信データのうちのいずれのデータが選択されるかの設定は、Ｍ−Ｂｕｓ経由でサービスプロセッサ５３から行われる。また、履歴選択制御部１０は、障害解析に必要な情報のみを選択取得して情報量を削減することで、高速Ｉ／Ｏバスに流れるトランザクションを低速バスで送信可能な帯域量にする。
【００２７】
緩衝バッファ１１は、履歴選択制御部１０に接続され、履歴選択制御部１０によって選択された送受信データの一部を保持し、保持した送受信データの一部を低速バス経由で観測機２００に出力する。また、高速Ｉ／Ｏバスで局所的に大量のトランザクションが発生した場合でも、送受信履歴記録は可能な限り低速バス経由で観測機２００に送信される必要がある。かかる状況にも対応できるよう、緩衝バッファ１１は観測機２００への送信を平均化するバッファ機能を有する。
【００２８】
プロトコル変換制御部１２は、システムバス（第１のバス）上のバス信号と、高速Ｉ／Ｏバス（第２のバス）上のバス信号を相互にプロトコル変換する。また信号変換復元部１３は、シグナルインテグリティを向上させるための信号変換を行う。信号変換復元部１３は、シグナルインテグリティ向上のための信号変換として、１０Ｂ８Ｂ変換やスクランブル等の高速シリアルバスで使用される信号変換を行う。
【００２９】
また、ＩＯＣ１は、各バスと接続可能となるように、システムバスインタフェース２０、高速Ｉ／Ｏバスインタフェース２１、低速バスインタフェース２２、Ｍ−Ｂｕｓインタフェース２３を備える。
【００３０】
システムバスインタフェース２０は、ＭＣ５１とシステムバス接続を可能にするポート（第１のポート）である。高速Ｉ／Ｏバスインタフェース２１は、高速Ｉ／Ｏバススイッチ５４と高速Ｉ／Ｏバス接続を可能にするポート（第２のポート）である。
【００３１】
低速バスインタフェース２２は、観測機２００と接続可能とするためのポート（第３のポート）である。Ｍ−Ｂｕｓインタフェース２３は、サービスプロセッサ５３と接続を可能にするポート（第４のポート）である。ＩＯＣ１は、Ｍ−Ｂｕｓを介してサービスプロセッサ５３から各種動作設定がなされる。
【００３２】
低速バスインタフェース２２は１００ＭＨｚの１９ピン(１６ピン＋２ピン＋１ピン)で構成される。１９ピンのうち１６ピンは高速Ｉ／Ｏバスに流れた送受信トランザクション履歴を出力し、２００ＭＢ／ｓｅｃの帯域を持つ。この低速バスインタフェース２２の帯域は高速Ｉ／Ｏバス片方向の帯域２０００ＭＢ／ｓｅｃ(２．５Ｇｐｂｓ  ８ＬＡＮＥ構成)の１０分の１になる。
【００３３】
上述の１９ピンのうち２ピンは送受信トランザクション履歴の付加情報が出力される。付加情報は偶数サイクルと奇数サイクルとで意味が異なり、ロストフラグ、ヘッダデータフラグ、送受信フラグとタイムスタンプフラグの４つの付加情報が奇数と偶数サイクルに分けて出力される（尚、付加情報およびフラグについての詳細は後述する）。また、１９ピンのうち１ピンは観測機２００に対する観測機記録停止信号用として使用される。
【００３４】
尚、低速バスインターフェースの帯域２００ＭＢ／ｓｅｃは、高速Ｉ／Ｏバスにヘッダサイズが１６Ｂ（Ｂはバイトの意味。以下同様）、データサイズが１２８Ｂで構成されるトランザクションを履歴選択部でヘッダ部分のみ記録することを選択した場合に必要となる帯域から算出した値である。
【００３５】
次に、履歴選択制御部１０の動作について、図３を参照しつつ説明する。高速Ｉ／Ｏバスのトランザクションは、１２Ｂから１６Ｂまでのサイズのヘッダおよび０Ｂから１２８Ｂまでのデータで構成されている。例えば、ヘッダサイズが１２Ｂであり、データサイズが１２８Ｂの高速Ｉ／Ｏバストランザクションから、障害解析のために必要な情報としてヘッダのみ記録することが選択設定された場合、情報量は、総データ量に対して８％（１２Ｂ÷(１２Ｂ+１２８Ｂ）＝０．０８）となる。よって、すべてのデータを保持する手法より、少ない記憶容量で多くのトランザクションに関する情報を保持することができる。
【００３６】
トランザクションに対しどのようにデータを記録するかは、Ｍ−Ｂｕｓ経由でサービスプロセッサ５３から設定される。サービスプロセッサ５３が設定することができる記録方法として、例えば受信トランザクション（ＣＰＵｓ５０から高速Ｉ／Ｏバススイッチ５４へ向けたトランザクション）のヘッダを記録する、受信トランザクションのデータの先頭４Ｂのみ記録する、受信トランザクションのすべてのデータを記録する、送信トランザクション（高速Ｉ／Ｏバススイッチ５４からＣＰＵｓ５０へ向けたトランザクション）のヘッダを記録する、送信トランザクションのデータの先頭４Ｂのみ記録する、送信トランザクションのすべてのデータを記録する等がある。尚、図３では、記録するデータをヘッダのみ（４Ｂ×４＝１６Ｂ）とする例を示している。
【００３７】
また、履歴選択制御部１０は、上述のトランザクションの選択以外に、履歴記録の開始および停止の制御も行う。履歴記録の開始停止はサービスプロセッサ５３から設定および指示することでなされる。また、履歴停止イベントの選択もサービスプロセッサ５３から設定することができる。履歴停止イベントとは特定のアドレスのトランザクションを受信した場合やエラーフラグの付加されたトランザクションを受信した場合等のイベントを指し、当該イベントが発生した場合、履歴記録が停止する。
【００３８】
履歴選択制御部１０は、さらに、緩衝バッファ１１へ書き込む送受信履歴に対して付加情報を追加する。付加情報には、選択されたデータがトランザクションのヘッダなのかデータなのかを示すヘッダデータフラグ、選択されたデータが受信トランザクションなのか送信トランザクションなのかを示す送受信フラグ、緩衝バッファ１１がフル状態で緩衝バッファ１１への書き込みにより送受信履歴が破棄されたことを示すロストフラグ、データがタイムスタンプであるか否かを示すタイムスタンプフラグと当該タイムスタンプがある。
【００３９】
タイムスタンプには、３２ｂｉｔのカウンタ値が使用される。カウンタは１０ｎｓｅｃ毎に１つインクリメントし、約４３ｓｅｃでカウンタがラップラウンドする。尚、タイムスタンプはトランザクション毎に先頭に付加される。
【００４０】
緩衝バッファ１１への書き込みはトランザクション送信、トランザクション受信、受信タイムスタンプと送信タイムスタンプの書き込みが同時に発生しても対応できるように、１２８ｂｉｔ(３２ｂｉｔ×４)の送受信履歴と１６ｂｉｔ(４ｂｉｔ×４)の付加フラグとまとめて書き込みを行う。
【００４１】
次に、図４に履歴選択制御部１０の回路構成図を示す。履歴選択制御部１０は、履歴選択制御部１０を統括制御する全体制御回路３０を備える。また、履歴選択制御部１０は、高速Ｉ／Ｏバス上に発生した受信（送信）トランザクションに基づき履歴停止イベントであるか否かを検出し、停止イベントである場合に全体制御回路３０に履歴記録を停止させるための信号を通知する送受信履歴記録停止条件検出回路３４を備える。
【００４２】
また、履歴選択制御部１０は、受信トランザクション、送信トランザクションそれぞれのトランザクションから一部抜き出し（本実施の形態ではそれぞれ３２ｂｉｔ単位で抜き出す）、さらに時間を管理するタイムスタンプカウンタ３３からタイムスタンプを取得する４Ｂ幅スワップ回路３２を備える。また、履歴選択制御部１０は、４Ｂ幅スワップ回路３２から３２ｂｉｔのデータ４つを取得するとともにフラグ（４ｂｉｔのデータ４つ）を全体制御回路３０から取得する１４４ｂｉｔ幅制御回路３１を備える。尚、１４４ｂｉｔ幅制御回路３１で収集されたデータが緩衝バッファ１１へ出力される緩衝バッファライトデータとなる。
【００４３】
全体制御回路３０について、さらに説明する。全体制御回路３０は、Ｍ−Ｂｕｓからアクセスできる設定レジスタとして、高速Ｉ／Ｏバス上の送受信データの選択についての設定情報が保持される履歴記録選択レジスタ（設定情報記憶部）、履歴記録の開始、停止を制御するためのレジスタである履歴記録開始停止レジスタ、および履歴記録の停止イベントに関する情報を保持する履歴記録停止イベントレジスタを備える。また全体制御回路３０は、履歴記録選択レジスタへの制御信号および制御情報として、設定レジスタライトイネーブル信号、設定レジスタリードイネーブル信号、設定レジスタアドレス、設定レジスタライトデータ、設定レジスタリードデータの各信号を受信（あるいは送信）する。
【００４４】
これらの制御信号、制御情報によって履歴記録選択レジスタに設定されたレジスタ情報をリードするタイムチャートを図５に示す。
【００４５】
まず、Ｍ−Ｂｕｓインタフェース２３が設定情報をリードするコマンドを取得した場合（ｔ3からｔ7）、履歴選択制御部１０は、設定レジスタリードイネーブル信号を全体制御回路３０に出力するとともに、いずれのレジスタに保持されているかを示す設定レジスタアドレスを出力する（ｔ7からｔ8）。ここで、履歴記録選択レジスタに保持されている情報が設定レジスタリードデータとして全体制御回路３０から出力され（ｔ8からｔ9）、Ｍ−Ｂｕｓインタフェース２３経由で観測機２００へ出力される（ｔ9からｔ13）。尚、図５で示したものはリード処理であるため、設定レジスタライトイネーブル信号、設定レジスタライトデータの入出力はない。
【００４６】
次に、歴記録選択レジスタにレジスタ情報をライトするタイムチャートを図６に示す。
【００４７】
まず、Ｍ−Ｂｕｓインタフェース２３が設定情報をライトするコマンドおよびライトデータを取得した場合（ｔ3からｔ7）、履歴選択制御部１０は、設定レジスタライトイネーブル信号を全体制御回路３０に出力するとともに、いずれのレジスタに保持するかを示す設定レジスタアドレス、設定レジスタライトデータ（Ｍ−Ｂｕｓインタフェース２３からのライトデータ）を出力する（ｔ7からｔ8）。ｔ8のタイミングで、履歴記録選択レジスタの値は更新される。
【００４８】
また、高速Ｉ／Ｏバスにてトランザクションの送受信があった場合や、履歴記録停止イベントが発生した場合は、受信イベント発生通知信号、送信イベント発生通知信号が全体制御回路３０、および送受信履歴記録停止条件検出回路３４に送信され、受信トランザクション、送信トランザクションが送受信履歴記録停止条件検出回路３４、および４Ｂ幅スワップ回路３２に送信される。
【００４９】
また、緩衝バッファ１１がフル状態か空状態かを示す緩衝バッファエンプティフラグ信号、緩衝バッファフルフラグ信号に基づき、緩衝バッファライトイネーブル信号、緩衝バッファライトデータが緩衝バッファ１１へ送信される。
【００５０】
さらに、全体制御回路３０は、履歴停止イベントが発生し送受信履歴記録停止条件検出回路３４から履歴記録停止発生通知信号を受信することで、履歴記録が停止する。このように履歴記録が停止し、かつ緩衝バッファ１１内に蓄えられたデータが観測機２００に送信されていると、緩衝バッファ１１は空になる。緩衝バッファ１１内のデータが空になった場合、全体制御回路３０は、観測機２００に履歴記録停止を指示するための観測機記録停止信号を送信する。
【００５１】
また、全体制御回路３０は、サービスプロセッサ５３によってなされた履歴記録停止イベントの設定を、履歴記録停止イベント設定信号として送受信履歴記録停止条件検出回路３４に出力する。送受信履歴記録停止条件検出回路３４は、かかる信号に基づき、履歴停止イベントを検出する。
【００５２】
これらの制御信号、制御情報を用いて、ＩＯＣ１内の高速Ｉ／Ｏバスにトランザクションの送受信が発生したときの履歴選択制御部１０の動作を図７のタイムチャートに示す。図７のタイムチャートは緩衝バッファ１１に蓄えられる履歴記録が空の状態で、２つのトランザクションを高速Ｉ／Ｏバスインタフェース２１で受信し、さらにトランザクションのヘッダのみを記録する例である。この２つのトランザクションの１つ目は１２Ｂのヘッダのみ（データが０Ｂ）で構成されているトランザクションであり、２つ目は１２Ｂヘッダおよびデータで構成されているトランザクションとする。
【００５３】
高速Ｉ／Ｏバスインタフェース２１は、まず１つ目のヘッダのみのトランザクションを受信する（ｔ1からｔ4）。その後、全体制御回路３０は、受信イベント発生通知信号を受信するとともに、４Ｂ幅スワップ回路３２は、高速Ｉ／Ｏバスインタフェース２１にて受信したヘッダ部分（受信トランザクション）を受信する（ｔ4からｔ7）。その後、全体制御回路３０は、緩衝バッファライトイネーブル信号を緩衝バッファ１１へ送信するとともに、１４４ｂｉｔ幅制御回路３１は、ヘッダ部に付加情報が追加されることで成る緩衝バッファライトデータを緩衝バッファ１１へ送信する（ｔ7からｔ8）。尚、ｔ8のタイミングで緩衝バッファエンプティフラグの受信が無くなり、緩衝バッファ１１のライトポインタ（後述）の値は１インクリメントされる。
【００５４】
また、２つ目のヘッダとデータで構成されているトランザクションが発生した場合、高速Ｉ／Ｏバスインタフェース２１は、まず当該トランザクションを受信する（ｔ5からｔ15）。その後、全体制御回路３０は、受信イベント発生通知信号を受信するとともに（ｔ8からｔ18）、４Ｂ幅スワップ回路３２は、高速Ｉ／Ｏバスインタフェース２１にて受信したトランザクションをヘッダ部とデータ部に分割するとともに、ヘッダ部のみを１４４ｂｉｔ幅制御回路３１に送信する（ｔ8からｔ18）。また、全体制御回路３０は、緩衝バッファライトイネーブル信号を緩衝バッファ１１に出力するとともに、１４４ｂｉｔ幅制御回路３１は、ヘッダ部のみとなったデータに付加情報が追加されることで成る緩衝バッファライトデータを緩衝バッファ１１へ送信する（ｔ11からｔ12）。また、ｔ12で緩衝バッファ１１のライトポインタ（後述）の値は１インクリメントされる。
【００５５】
次に、履歴記録停止イベントが発生した場合のタイムチャートを図８に示す。図８のタイムチャートも、２つのトランザクションを高速Ｉ／Ｏバスインタフェース２１で受信し、トランザクションのヘッダのみを記録する例である。また、２つのトランザクションのうちの１つ目は１２Ｂのヘッダのみで構成されているトランザクションであり、２つ目は１２Ｂヘッダとデータで構成されているトランザクションとする。また、図８では１つ目に受信したトランザクションのヘッダ情報が履歴停止条件と一致して履歴記録停止を行っている例である。
【００５６】
高速Ｉ／Ｏバスインタフェース２１は、まず１つ目のヘッダのみのトランザクションを受信する（ｔ1からｔ4）。その後、全体制御回路３０および送受信履歴記録停止条件検出回路３４は、受信イベント発生通知信号を受信し、また４Ｂ幅スワップ回路３２および送受信履歴記録停止条件検出回路３４は、ヘッダ部分（受信トランザクション）を受信する（ｔ4からｔ7）。その後、全体制御回路３０は、緩衝バッファライトイネーブル信号を緩衝バッファ１１へ送信するとともに、１４４ｂｉｔ幅制御回路３１は、緩衝バッファライトデータを緩衝バッファ１１へ送信する（ｔ7からｔ8）。
【００５７】
一方、送受信履歴記録停止条件検出回路３４は、受信トランザクションのデータが履歴停止条件と一致しているため、履歴記録停止発生通知信号を全体制御回路３０に出力する（ｔ7からｔ8）。履歴記録停止発生通知信号が出力された後、全体制御回路３０は４Ｂ幅スワップ回路３２にスワップ制御信号を出力することで、４Ｂ幅スワップ回路３２は１４４ｂｉｔ幅制御回路３１へのデータ出力を抑止する。よって、高速Ｉ／Ｏバスインタフェース２１が２つ目のトランザクションを受信しても、緩衝バッファ１１に対する緩衝バッファライトイネーブル信号および緩衝バッファライトデータは送信されない。
【００５８】
その後、緩衝バッファ１１内で蓄えられたデータが空になり、緩衝バッファエンプティフラグ信号が緩衝バッファ１１から全体制御回路３０へ送信されることで（ｔ14）、全体制御回路３０は最後の履歴記録が観測機２００に出力されたと判断できる。全体制御回路３０は、観測機記録停止信号を観測機２００に送信することで（ｔ15）、観測機２００でのデータ収集が停止する。
【００５９】
次に、緩衝バッファ１１の詳細について、図９に基づき説明する。
【００６０】
緩衝バッファ１１は、履歴選択制御部１０から出力されたデータ（緩衝バッファライトデータ）を保持するバッファ４０、バッファ４０へデータをライトするアドレスを保持するライトポインタ４１、バッファ４０からデータをリードするアドレスを保持するリードポインタ４４を備える。
【００６１】
また、緩衝バッファ１１はＭ−Ｂｕｓからアクセスできるレジスタとしてリードデータレジスタ４２、リードオフセットレジスタ４５、リードアドレスモードレジスタ４６を備える。緩衝バッファ１１は、これら各レジスタを使用することで、上述の従来手法のようにトレースメモリとして使用されることができる。すなわち、緩衝バッファ１１への履歴記録が停止状態である場合において、Ｍ−Ｂｕｓ経由でサービスプロセッサ５３から緩衝バッファ１１に書き込まれている送受信履歴を読み出すことができる。また、緩衝バッファ１１はリードポインタ４４、リードオフセットレジスタ４５、リードアドレスモードレジスタ４６からの出力を選択するセレクタ４３を備える。
【００６２】
ライトポインタ４１で保持されているアドレスは、履歴記録状態である場合に、高速Ｉ／Ｏバスでトランザクション送受信が発生したことでバッファ４０へデータがライトされた場合に１つインクリメントされる。また、リードポインタ４４で保持されているアドレスは、バッファ４０に蓄えられたデータが低速バスインタフェース２２へ送信された場合に１つインクリメントされる。尚、履歴記録状態において、ライトポインタ４１で保持されているアドレスとリードポインタ４４で保持されているアドレスに差がある場合にバッファの読み出しが行われ、リードポインタ４４のアドレスが１つずつインクリメントされる。
【００６３】
緩衝バッファ１１は局所的にトランザクションが集中した場合にトランザクション履歴が破棄されることを防ぐための機能も兼ねている。緩衝バッファ１１に対してはライトリクエストとリードリクエストがあり、ライトリクエストはデータを持つが、リードリクエストはデータを持たない。履歴選択制御部１０でデータを記録しないように選択した場合、ライトリクエストによる履歴記録量が減るが、リードリクエストによる観測機２００への履歴記録の出力量は、緩衝バッファ１１内に履歴記録が１つでも蓄えられている限り出力されるため、変化しない。そのため、リードリクエストが局所時間的に集中した場合は緩衝バッファ１１による平均化がなされる。
【００６４】
本実施の形態では、バッファ４０への書き込みは１４４ｂｉｔ幅で行われ、バッファ４０は１４４ｂｉｔを１２８ワード保持することができる。読み出しは低速バスインタフェース２２の２０ｂｉｔ幅に合わせるために８サイクルに分けて１８ｂｉｔ幅づつ読み出す。読み出しは、８サイクルのうち、１回目、３回目、５回目、７回目を奇数サイクル、２回目、４回目、６回目、８回目を偶数サイクルとして制御される。
【００６５】
緩衝バッファ１１の動作を図１０のタイムチャートに示す。図１０のタイムチャートでは緩衝バッファ１１が空の状態であり、また１つの履歴記録が発生し、低速バスインタフェース２２へ履歴記録を出力している例を示している。
【００６６】
緩衝バッファ１１は、緩衝バッファライトイネーブル信号を履歴選択制御部１０から受信するとともに、緩衝バッファライトデータを履歴選択制御部１０から取得する（ｔ2からｔ3）。ライトポインタ４１で保持されているアドレスは、バッファ４０が緩衝バッファライトデータを取得したタイミングで１つインクリメントされる（ｔ3）。また緩衝バッファ１１はデータが空でなくなったため、緩衝バッファエンプティフラグの履歴選択制御部１０への送信を停止する（ｔ3）。
【００６７】
緩衝バッファ１１は取得した緩衝バッファライトデータを、緩衝バッファリードデータとして低速バスインタフェース２２経由で観測機２００に出力するが（ｔ4からｔ12）、緩衝バッファ１１は、緩衝バッファリードデータを上述通り８サイクルで低速バスインタフェースへ出力する（ｔ4からｔ12）。尚、緩衝バッファリードデータの出力が完了したタイミングで、リードポインタ４４に保持されているアドレスは、１つインクリメントされる（ｔ12）。
【００６８】
次に、本実施の形態におけるＩＯＣ１の高速Ｉ／Ｏバストランザクション送受信履歴の記録動作について、図１１のフローチャートに基づき説明する。
【００６９】
最初にサービスプロセッサ５３は、Ｍ−Ｂｕｓ経由で履歴選択制御部１０に対し、いずれのデータをトランザクション履歴として記録するかの記録方法を設定する（ステップＳ１）。サービスプロセッサ５３は、履歴選択制御部１０内の履歴記録選択レジスタに、記録方法と予め対応付けられた所定値を保持させることで設定する。尚、履歴記録選択レジスタに設定される値は、通常運用時はトランザクションのヘッダ部分のみを記録する設定値とし、障害が発生した場合、その障害内容により、ヘッダの一部のみ記録する設定値や、データの一部、全体を記録する設定値へと変更されてもよい。
【００７０】
サービスプロセッサ５３は、同様にＭ−Ｂｕｓ経由で履歴選択制御部１０に対し履歴記録停止イベントの設定を行う（ステップＳ２）。履歴記録停止イベントも、上述同様、履歴選択制御部１０内の履歴記録停止イベントレジスタに、記録停止イベントに予め対応付けられた所定の値がサービスプロセッサ５３から設定されることで設定される。
【００７１】
次に、サービスプロセッサ５３は、ＩＯＣ１にトランザクション履歴記録開始を指示する（ステップＳ３）。履歴記録開始指示は、履歴選択制御部１０内の履歴記録開始停止レジスタに開始する旨の値が設定されることでなされる。履歴記録が開始されると、履歴選択制御部１０は、高速Ｉ／Ｏバスで送受信したトランザクション履歴を受信するようになる。履歴選択制御部１０で受信されるトランザクション履歴は、ＩＯＣ１が高速Ｉ／Ｏバスに送信するトランザクションについては信号変換復元部１３によるシグナルインテグリティ向上のための信号変換を行う前のフォーマットである。他方、ＩＯＣ１が高速Ｉ／Ｏバスから受信するトランザクションについては、信号変換復元部１３によるシグナルインテグリティ向上のための信号復元を行った後のフォーマットとなるため、観測機２００は、プロトコルに依存する信号復元機能を持つ必要はない。
【００７２】
履歴選択制御部１０にて受信されたトランザクション履歴は、履歴記録選択レジスタに保持された値に基づき、履歴記録するものとして選択された情報のみ、緩衝バッファライトデータとして緩衝バッファ１１に送信される。この時、トランザクション送受信の時間関係が分かるようにタイムスタンプが付加される。
【００７３】
緩衝バッファ１１は履歴選択制御部１０から送信された緩衝バッファライトデータを緩衝バッファに書き込む。もし、緩衝バッファ１１がフルである場合、緩衝バッファ１１に蓄えられたトランザクション送受信履歴記録は古い順に上書きされる。上書きされた履歴はロストするが、ロストが発生したことを示すフラグ（ロストフラグ）が付加情報としてバッファ４０に書き込まれる。
【００７４】
緩衝バッファ１１はバッファ４０に履歴が１つでも存在する場合、低速バスインタフェースを経由して蓄えられているトランザクション送受信履歴記録を観測機２００に送信し、観測機２００は受信したトランザクション送受信履歴記録を記録する（ステップＳ４）。
【００７５】
ここで、例外処理などの履歴記録停止イベントが発生したか否かの判定（ステップＳ５）、およびサービスプロセッサ５３から履歴選択制御部１０に対するトランザクション履歴記録停止指示があるか否かの判定（ステップＳ６）がなされる。例外処理などの履歴記録停止イベントが発生した場合（ステップＳ５、Ｙｅｓ）、またはトランザクション履歴記録停止指示があった場合（ステップＳ６、Ｙｅｓ）、緩衝バッファ１１への書き込みが停止する。
【００７６】
緩衝バッファ１１への書き込みが停止することで、緩衝バッファ１１が空になった場合、履歴選択制御部１０から低速バスインタフェース経由で観測機２００に記録停止指示が送信され、観測機２００の記録が停止する（ステップＳ７）。以降、所定手順に従って観測機２００に記録されたトランザクション送受信履歴がユーザに読み出される（ステップＳ８）。
【００７７】
ここで、従来手法と同様に緩衝バッファ１１をトレースメモリとして使用する場合について説明する。サービスプロセッサ５３は、トランザクション履歴記録停止状態で、ＩＯＣ１のリードアドレスモードレジスタ４６に所定値を設定することで、緩衝バッファ１１のリードアドレスをサービスプロセッサ５３から制御するモードに切り替える。
【００７８】
その後、サービスプロセッサ５３は、リードオフセットレジスタ４５に対し読み出すバッファ４０のアドレス値を設定する。サービスプロセッサ５３はバッファ４０から出力される値をリードデータレジスタ４２から読み出す。サービスプロセッサ５３はリードオフセットレジスタ４５の設定とリードデータレジスタ４２の読み出しをバッファ４０の容量分繰り返す。
【００７９】
本実施の形態は、次のような効果を奏する。すなわち、本実施の形態は、安価な構成で多量の高速バス送受信履歴を記録することで障害解析を容易にする。また、本実施の形態は、送受信履歴を記録するために高速バスを直接プローブしないので、高速バス波形が劣化しない。
【００８０】
（付記１）  第１の制御装置に接続される第１のポートと、
第２の制御装置に接続される第２のポートと、
前記第１の制御装置と前記第２の制御装置の間において転送される送受信データの一部を選択するデータ選択制御部と、
前記データ選択制御部に接続され、前記データ選択制御部が選択した前記送受信データの一部を保持する履歴記憶部と、
前記履歴記憶部が保持した前記送受信データの一部を解析装置に出力する第３のポートを有することを特徴とするデータ転送装置。
（付記２）  前記データ転送装置はさらに、
前記第１の制御装置と前記第１のポートの間を接続する第１のバス上の第１のバス信号と、前記第２の制御装置と前記第２のポートの間を接続する第２のバス上の第２のバス信号を相互に変換するバス信号変換部を有することを特徴とする付記１記載のデータ転送装置。
（付記３）  前記データ転送装置はさらに、
前記データ転送装置の制御を行うシステム制御装置に接続されるともに、前記送受信データの選択についての設定情報が格納される設定情報記憶部と、
前記データ選択制御部と前記システム制御装置を接続する第４のポートを有し、
前記設定情報は、前記システム制御装置から前記第４のポートを介して設定されることを特徴とする付記１又は２に記載のデータ転送装置。
（付記４）  前記データの一部は、前記データのヘッダ情報であることを特徴とする付記１乃至３のいずれか１項に記載のデータ転送装置。
（付記５）  前記データ転送装置が有する前記第３のポートに接続される第３のバスは、前記第１及び第２のバスのデータ転送速度よりも低速であることを特徴とする付記１乃至４のいずれか１項に記載のデータ転送装置。
（付記６）  第１の制御装置と、第２の制御装置と、前記第１及び第２の制御装置を接続するデータ転送装置を有する情報処理装置であって、
前記データ転送装置は、
前記第１の制御装置に接続される第１のポートと、
前記第２の制御装置に接続される第２のポートと、
前記第１の制御装置と前記第２の制御装置の間において転送される送受信データの一部を選択するデータ選択制御部と、
前記データ選択制御部に接続され、前記データ選択制御部が選択した前記送受信データの一部を保持する履歴記憶部と、
前記履歴記憶部が保持した前記送受信データの一部を解析装置に出力する第３のポートを有することを特徴とする情報処理装置。
（付記７）  前記データ転送装置はさらに、
前記第１の制御装置と前記第１のポートの間を接続する第１のバス上の第１のバス信号と、前記第２の制御装置と前記第２のポートの間を接続する第２のバス上の第２のバス信号を相互に変換するバス信号変換部を有することを特徴とする付記６記載の情報処理装置。
（付記８）  前記データ転送装置はさらに、
前記データ転送装置の制御を行うシステム制御装置に接続されるともに、前記送受信データの選択についての設定情報が格納される設定情報記憶部と、
前記データ選択制御部と前記システム制御装置を接続する第４のポートを有し、
前記設定情報は、前記システム制御装置から前記第４のポートを介して設定されることを特徴とする付記６又は７に記載の情報処理装置。
（付記９）  前記データの一部は、前記データのヘッダ情報であることを特徴とする付記６乃至８のいずれか１項に記載の情報処理装置。
（付記１０）  前記データ転送装置が有する前記第３のポートに接続される第３のバスは、前記第１及び第２のバスのデータ転送速度よりも低速であることを特徴とする付記６乃至９のいずれか１項に記載の情報処理装置。
（付記１１）  第１の制御装置に接続される第１のポートと、第２の制御装置に接続される第２のポートとの間において転送される送受信データの一部を選択するデータ選択制御ステップと、
前記データ選択制御ステップによって選択された前記送受信データの一部を保持する履歴記憶ステップと、
前記履歴記憶ステップによって保持された前記送受信データの一部を、解析装置に接続される第３のポートに出力する出力ステップと、
を実行する情報処理装置のデータ転送方法。
（付記１２）  前記データ転送方法はさらに、
前記第１の制御装置と前記第１のポートの間を接続する第１のバス上の第１のバス信号と、前記第２の制御装置と前記第２のポートの間を接続する第２のバス上の第２のバス信号を相互に変換するバス信号変換ステップを実行することを特徴とする付記１１記載のデータ転送方法。
（付記１３）  前記データ転送方法はさらに、
前記送受信データの選択についての設定情報を格納する設定情報記憶ステップを実行し、
前記データ選択制御ステップは、前記設定情報記憶ステップに記憶された設定情報に基づき前記送受信データの一部を選択することを特徴とする付記１１又は１２に記載のデータ転送方法。
（付記１４）  前記データの一部は、前記データのヘッダ情報であることを特徴とする付記１１乃至１３のいずれか１項に記載のデータ転送方法。
（付記１５）  前記解析装置と前記第３のポートの間を接続する第３のバスは、前記第１及び第２のバスのデータ転送速度よりも低速であることを特徴とする付記１１乃至１４のいずれか１項に記載のデータ転送方法。
【図面の簡単な説明】
【００８１】
【図１】本実施の形態に係るサーバの構成の一例を示すブロック図である。
【図２】本実施の形態に係るＩＯＣの構成の一例を示すブロック図である。
【図３】本実施の形態に係る履歴選択制御部の動作の一例を説明するための図である。
【図４】本実施の形態に係る履歴選択制御部の回路構成の一例を示す図である。
【図５】本実施の形態に係る履歴記録選択レジスタに設定されたレジスタ情報をリードする際のタイムチャートの一例を示す図である。
【図６】本実施の形態に係る履歴記録選択レジスタにレジスタ情報をライトする際のタイムチャートの一例を示す図である。
【図７】本実施の形態に係るＩＯＣ内の高速Ｉ／Ｏバスにトランザクションの送受信が発生したときの履歴選択制御部の動作の一例を示すタイムチャートである。
【図８】本実施の形態に係る履歴記録停止イベントが発生した際のタイムチャートの一例を示す図である。
【図９】本実施の形態に係る緩衝バッファの構成の一例を説明するための図である。
【図１０】本実施の形態に係る緩衝バッファの動作の一例を示すタイムチャートである。
【図１１】本実施の形態に係るＩＯＣの高速Ｉ／Ｏバストランザクション送受信履歴の記録動作の一例を示すフローチャートである。
【図１２】従来のＬＳＩ間バスのトランザクション送受信履歴記録方法のうち、高速バスを直接プローブする方法の構成を示す図である。
【図１３】従来のＬＳＩ内部にトランザクション送受信履歴記録用トレースメモリを持つ方法の構成を示す図である。
【符号の説明】
【００８２】
１  ＩＯＣ、１０  履歴選択制御部、１１  緩衝バッファ、１２  プロトコル変換制御部、１３  信号変換復元部、２０  システムバスインタフェース、２１  高速Ｉ／Ｏバスインタフェース、２２  低速バスインタフェース、２３  Ｍ−Ｂｕｓインタフェース、３０  全体制御回路、３１  １４４ｂｉｔ幅制御回路、３２  ４Ｂ幅スワップ回路、３３  タイムスタンプカウンタ、３４  送受信履歴記録停止条件検出回路、４０  バッファ、４１  ライトポインタ、４２  リードデータレジスタ、４３  セレクタ、４４  リードポインタ、４５  リードオフセットレジスタ、４６  リードアドレスモードレジスタ、５０  ＣＰＵｓ、５１  ＭＣ、５２  ＤＲＡＭ、５３  サービスプロセッサ、５４  高速Ｉ／Ｏバススイッチ、５５  ＳＡＳコントローラ、５６  ＧｂＥコントローラ、５７  ＨＤＤ、
５８  ＬＡＮポート、１００  サーバ、２００  観測機。
【図１】
2010009352.tif 000003
【図２】
2010009352.tif 000004
【図３】
2010009352.tif 000005
【図４】
2010009352.tif 000006
【図５】
2010009352.tif 000007
【図６】
2010009352.tif 000008
【図７】
2010009352.tif 000009
【図８】
2010009352.tif 000010
【図９】
2010009352.tif 000011
【図１０】
2010009352.tif 000012
【図１１】
2010009352.tif 000013
【図１２】
2010009352.tif 000014
【図１３】
2010009352.tif 000015