JP2009087149A - 電子デバイス、データ処理装置、及びバス制御方法 - Google Patents

電子デバイス、データ処理装置、及びバス制御方法 Download PDF

Info

Publication number
JP2009087149A
JP2009087149A JP2007257866A JP2007257866A JP2009087149A JP 2009087149 A JP2009087149 A JP 2009087149A JP 2007257866 A JP2007257866 A JP 2007257866A JP 2007257866 A JP2007257866 A JP 2007257866A JP 2009087149 A JP2009087149 A JP 2009087149A
Authority
JP
Japan
Prior art keywords
bus
control unit
command
data transfer
response
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.)
Granted
Application number
JP2007257866A
Other languages
English (en)
Other versions
JP4941212B2 (ja
Inventor
Akira Yamanaka
章 山中
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2007257866A priority Critical patent/JP4941212B2/ja
Publication of JP2009087149A publication Critical patent/JP2009087149A/ja
Application granted granted Critical
Publication of JP4941212B2 publication Critical patent/JP4941212B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)

Abstract

【課題】 デバイスやバスの異常動作によりバスが常に使用されてしまうような故障となる場合においてもタイムアウト時間が長くなり、異常検出が遅れることが有った。
【解決手段】 デバイス11〜61のそれぞれが、共通のバス1を制御し他のデバイスとデータ転送を行うバス転送制御部14と、データ転送の相手のデバイスからの応答受信についてタイムアウトを検出するタイマー121と、タイムアウト検出を受け共通のサスペンド信号線7を駆動し他のデバイスも含めてデータ転送を中断させるサスペンド制御部15と、相手のデバイスに対しコマンドを送信し、当該コマンドに対する応答の有無を判定する診断制御部16とを有する。
【選択図】 図2

Description

本発明は、電子デバイス、データ処理装置、及びバス制御方法に関し、特に、バスを通じデータ転送をする電子デバイス、複数の電子デバイスが共通のバスを通じデータ転送するデータ処理装置、及びバス制御方法に関する。
複数のデバイスが共通のバスに接続されたシステムにおけるデータ転送において、データ転送の相手のデバイスが正常に応答しているか否かの確認手段としてタイムアウトによる異常検出が一般に使用されている。
一般にタイムアウトが検出されるまでの時間はシステムにより固有であり、なんらかの影響でタイムアウトとなる時間までにデータ転送の相手となるデバイスからの応答が得られない場合は、デバイスもしくはバスの異常と判断し、システムやバスのリセットなどといった異常終了処理が行われる。
しかしながら、複数のデバイスが同時にデータ転送を実行するような場合、バスの負荷が増大するため、データ転送の相手となるデバイスの応答までの時間が一時的に増大し、タイムアウトが検出されてしまう場合がある。
このような状況においては、デバイスやバスに異常がないにも拘わらずタイムアウトの検出により、バスリセットなどの異常終了処理が発生するといった問題がある。
タイムアウト検出までの時間を長く設定することで上記の問題を回避することは可能であるが、この場合、デバイスの故障によりデバイスが正常に応答しない場合において、異常の検出が遅れるといった問題が発生する。
これらの問題を解決するための関連技術として特許文献1の情報処理装置がある。この情報処理装置は、共有バスと、これを通じリクエスト信号を発行しそれに対するレスポンス信号を共有バスから受け取り処理を行う複数のデバイスと、共有バスに接続されたバス監視装置とを含む。
そしてバス監視装置が共有バス上における往来状況を監視し、監視結果の往来状況からバスの使用率を求め、それに応じて各デバイスにおけるタイムアウト検出時間を変更するものである。
特開2001−22654号公報(第1ページ)
しかし、上記情報処理装置の技術では、デバイスやバスの異常動作によりバスが常に使用されてしまうような故障となる場合においてもタイムアウト時間が長くなり、異常検出が遅れてしまうといった問題が生ずる。
本発明の目的は、上記問題を解決する電子デバイス、データ処理装置、及びバス制御方法を提供することにある。
本発明の電子デバイスは、
共通のバスを制御し他の電子デバイスとデータ転送を行うバス転送制御部と、
前記データ転送の相手の電子デバイスからの応答受信についてタイムアウトを検出するタイマーと、
前記タイムアウト検出を受け共通のサスペンド信号を駆動し他の電子デバイスも含めてデータ転送を中断させるサスペンド制御部と、
前記相手の電子デバイスに対しコマンドを送信し、前記コマンドに対する応答の有無を判定する診断制御部とを有する。
本発明のデータ処理装置は、共通のバスと前記バスを介し互いにデータ転送を行う複数の電子デバイスを含むデータ処理装置であって、
前記複数の電子デバイスを接続する共通のサスペンド信号線を備え、
前記電子デバイスが、
前記バスを制御し前記データ転送を行うバス転送制御部と、
前記データ転送の相手の電子デバイスからの応答受信についてタイムアウトを検出するタイマーと、
前記タイムアウト検出を受け前記サスペンド信号を駆動し他の電子デバイスも含めてデータ転送を中断させるサスペンド制御部と、
前記相手の電子デバイスに対しコマンドを送信し、前記コマンドに対する応答の有無を判定する診断制御部とを有する。
本発明のバス制御方法は、バスを制御しデータ転送を行うバス転送制御手順と、
前記データ転送の相手の電子デバイスからの応答受信についてタイムアウトを検出する手順と、
前記タイムアウト検出を受けると、共通のサスペンド信号を駆動し他の電子デバイスも含めてデータ転送を中断させるサスペンド制御手順と、
前記相手の電子デバイスに対しコマンドを送信し、前記コマンドに対する応答の有無を判定する診断制御手順とを有する。
本発明によれば、バスのデータ転送においてタイムアウトを検出した際、その原因がバスの輻輳(バス上の転送の資源競合)であるか、バスもしくはバスに接続されたデバイスの異常であるかを速やかに判定できる。
従って、バスもしくはデバイスの異常の検出が速やかに行われるとともに、バスの輻輳によるタイムアウトに対して、誤って行われるデータ転送の打ち切りやバスリセットなどの異常終了処理を回避できる。
次に、本発明の実施の形態について図面を参照して詳細に説明する。
図1は、本発明のデータ処理装置10の第1の実施の形態を示すブロック図である。
データ処理装置10は、デバイス11〜61と共通なバス1とバス要求調停部8を含む。
デバイス11〜61は共通なバス1に接続されており、デバイス間のデータ転送は当該バス1を介して行われる。
バス1はクロック信号に同期してデータ転送を実施するものである。
バス要求調停部8は、各デバイス11〜61からのバス要求を受け、複数のデバイスから要求が有れば優先順位に従って唯一の要求を選択しそのデバイスにバス使用の許可を返す。
サスペンド信号線7は、全デバイスに共通に接続される信号線であり、データ転送においてタイムアウトを検出したデバイスはサスペンド信号線7のアサートおよびディアサートを実施する。
尚、バス1は、例えばPCI−X(Peripheral Component Interconnect−X)バスを含むPCIバス、SCSI(Small Computer System interface)バス等である。
また、デバイス11〜61は、例えばI/Oデバイス、I/Oデバイスやキャッシュメモリ等のコントローラ、ファイルデバイス、プロセッサ、バスブリッジ等の電子デバイスである。
デバイス11〜61のそれぞれが種類や機能の異なるデバイスであっても、同種類であってもよい。
デバイス11〜61の幾つかが、回路基板で構成されることもある。この場合、バス1のデバイス接続部分がスロットコネクタを含む。
図2は、バス1に接続される各デバイス11〜61の内部構成を示すブロック図である。
デバイス11は、バス転送制御部14とサスペンド制御部15と診断制御部16を含み構成される。
バス転送制御部14は、バス1を制御するバス制御部12とこれに要求しデータ転送を行わせる転送制御部13とを有し、バス1を制御しデータ転送を行う。
同様に、デバイス61は、バス転送制御部64とサスペンド制御部65と診断制御部66を含み構成され、バス転送制御部64はバス制御部62と転送制御部63とを有する。図示してないが、デバイス21〜51の各デバイスについても同様に各制御部を含む。
バス制御部12は通常は転送制御部13の要求によりバス1を介した通常のデータ転送を行うが、サスペンド信号線7がアサートされたサスペンド状態ではデータ転送を中断する。
そしてバス制御部12は、診断制御部16からの要求によりバス1を介し診断コマンドをデータ転送の相手のデバイス61に送信する。
診断制御部16は、相手の電子デバイスに対し診断コマンドを送信し、診断コマンドに対する応答の有無を判定する。
即ち、診断制御部16はサスペンド信号線7がアサートされるとバス制御部12に対し診断コマンドの送信を要求する。
そしてデバイス61が診断コマンドを受信すると、診断コマンドはバス制御部62を介して診断制御部66に通知され、診断制御部66がバス制御部62に診断応答(診断コマンドへの応答)の送信を要求する。
そして診断制御部16は、診断コマンドに対する応答を正常に受信した場合に、タイムアウトをキャンセルし、サスペンド制御部15を介し、サスペンド信号線7の駆動をオフにする。
診断制御部16は、診断コマンドに対する応答を受信できなかった場合にタイムアウトとなったデータ転送の異常終了を指示する。
サスペンド制御部15は、データ転送のタイムアウト検出を受けサスペンド信号線7を駆動し他の電子デバイスも含めてデータ転送を中断させる。
即ち、サスペンド制御部15は、バス制御部12がデータ転送のタイムアウトを検出した場合、サスペンド信号線7を駆動しアサートする。
また、サスペンド制御部15は、サスペンド信号線7が自デバイスや他のデバイスによりアサートされたことを検出し、バス制御部12や転送制御部13に通知し、データ転送を中断させる。
尚、サスペンド信号線7のアサートおよびディアサートは、全デバイス11〜61が同一クロック内に受け取るタイミングで実施するものとする。
即ち、全てのデバイスはサスペンド信号線7がアサートされる次のクロックタイミングで実行中のデータ転送を中断し、サスペンド信号線7がディアサートされる次のクロックタイミングで中断時の状態に戻る。そしてサスペンド制御部15が異常終了を指示していないデバイスはデータ転送を再開する。
以上デバイス11、61について説明したが、他のデバイス21〜51の各制御部も同様に動作する。
図3は、デバイス11のバス制御部12やサスペンド制御部15の詳細構成とこれら制御部と転送制御部13や診断制御部16とのインタフェースを示したブロック図である。
バス制御部12は、タイマー121と制御回路123と送信レジスタ125と受信レジスタ127と退避格納部124を含む。
また、バス制御部12は、バス1の制御信号のドライバ1281と制御信号のレシーバ1282とバス1のコマンド信号線及びデータ信号線のドライバ1283とコマンド信号線及びデータ信号線のレシーバ1284とセレクタ1261とセレクタ1262とセレクタ1271も含む。尚、バス1は例えばPCIバスとする。
タイマー121は、データ転送の相手のデバイスからの応答受信についてタイムアウトを検出する。
即ち、タイマー121は、制御回路123からのタイマーセット指示により例えば所定のタイマー設定値がセットされ、以降クロック、或いは長周期のタイマー用クロックによりカウントダウンし、例えば「0〜01」になるとタイムアウトとしその状態を保持する。またタイマーセット指示により、タイマー121内のタイマー値レジスタとは別のレジスタ(図示せず)に監視対象のデバイスIDがセットされる。
このデバイスIDは、タイムアウト発生時に診断制御部16に渡される。
また、タイマー121は診断制御部16からのタイムアウトキャンセル指示により再度所定の設定値がセットされ、タイムアウト出力はオフになる。
送信レジスタ125は、8.5バイトの送信用レジスタで、上位からコマンド(4ビット)、アドレス(4バイト)、データ(4バイト)を保持する。
セレクタ1261は、転送制御部13からの転送コマンド及びアドレス、診断制御部16からの診断コマンド及びアドレス、退避格納部124からのリストアデータを切り替え、送信レジスタ125のコマンド及びアドレス部分に入力する。選択指示は制御回路123から受ける。
セレクタ1262は、送信レジスタ125のアドレス4バイトとデータ4バイトとを切り替えドライバ1283に入力する。
受信レジスタ127は8.5バイトの受信用レジスタで、上位からコマンド(4ビット)、アドレス(4バイト)、データ(4バイト)を受信し、要求元の制御部(読み取り転送を要求した転送制御部13や診断コマンドを要求した診断制御部16)や制御回路123に受信内容を渡す。
しかし、受信レジスタ127の内容は、要求元制御部がビジーであれば、その間保持される。
セレクタ1271は、受信コマンド及びアドレスと、退避格納部124からのリストアデータを切り替え受信レジスタ127に入力する。
制御回路123は、転送制御部13からのデータ転送要求を受けるとサスペンド信号がオフであれば要求を受け付けて処理する。
制御回路123は、要求が例えば他のデバイス61への読み取りコマンドであれば、セレクタ1261に転送コマンド及びアドレスの選択を指示し、選択したコマンドとアドレスとを送信レジスタ125にセットする。上記アドレスにはデバイス61を示す送信先デバイスIDとデバイス11を示す送信元デバイスIDも含む。
また、制御回路123は、セレクタ1262にアドレスを選択させておく。
制御回路123は、バス要求調停部8にバス要求し、デバイス11へのバス許可がアサートされると、制御信号内のコマンドやアドレス/データが有効であることを示す信号線とコマンド信号線とアドレス/データ信号線(内容はアドレス)をドライバ1281やドライバ1283により駆動する。
制御回路123は、デバイス61から、制御信号線等によりスプリット通知付きの受付を受信すると、前記有効であることを示す信号線をディアサートしバスを開放する。
そして制御回路123は、タイマー121のセットを指示する。
例えば所定のタイマー設定値とデータ転送相手のデバイスID(デバイス61のID)が、タイマー121にセットされる。
制御回路123は、要求が例えば他のデバイス21へのスプリット応答であれば、セレクタ1261に転送コマンド(書き込み)とアドレスの選択を指示し、このコマンドとアドレスと応答データとを送信レジスタ125にセットし、バス要求し同様に送信する。
また、制御回路123は、送信開始の1サイクル後にセレクタ1262で応答データを選択し送信する。
制御回路123は、サスペンド制御部15からのサスペンド信号がアサートされると、データ転送動作を中断する。データ転送要求の受付が抑止される。
また、サスペンド信号アサートで且つ診断用転送フラグ(図示してないが制御回路123が内部に持つフラグ)がオフであればバス要求調停部8へのバス要求、バス1への制御信号、アドレス/データ信号等の送信を抑止する。
制御回路123はサスペンド信号の立ち上がりで、バス許可信号や他デバイスからのアクティブな制御信号の受信や受信直後の処理の進行も抑止する。前記立ち上がりは1サイクル間でありこの間抑止する。
制御回路123は、前記立ち上がりで、送信レジスタ125のコマンド及びアドレスと受信レジスタ127のコマンド及びアドレスと転送シーケンスカウンタ(図示せず)の内容を退避格納部124にセーブする。
制御回路123は、診断制御部16から診断コマンドの送信要求を受けると、サスペンド信号線7がアサート状態であればこの要求を受け付けて処理する。
制御回路123は、この診断コマンド送信要求の受付で前記転送シーケンスカウンタを初期値にクリアし、また診断用転送フラグをオンにして、バス要求や他デバイスへの送信についての抑止を一時的に解除する。
バス要求や、バス1への制御信号ドライバ1281を駆動するゲートのロック(抑止)が、解除されるが転送シーケンスカウンタが初期値であるのでそれまで抑止されていたデータ転送シーケンスが再開されることはない。
制御回路123は、次にセレクタ1261に診断制御部16からの診断コマンドとアドレスを選択させ、送信レジスタ125のコマンド及びアドレス部分にセットする。
このアドレスは、送信先デバイスID(デバイス61のID)、送信元デバイスID(デバイス11のID)を含む。
そして制御回路123はバス要求し、バス許可がアサートされるとそれまでの転送の相手のデバイス61に診断コマンドを送信する。
制御回路123は、他のデバイスから診断コマンドを受信した場合には、受信レジスタ127のアドレス内の送信先(宛先)デバイスIDと自デバイスIDとの一致をチェックする。
制御回路123はチェックの結果自デバイス宛であれば受信した診断コマンドを送信元デバイスIDと共に診断制御部16に渡す。
制御回路123は、診断制御部16から診断応答の送信要求を受けると診断コマンド送信と同様に処理する。
制御回路123は、サスペンド制御部15からのサスペンド信号がディアサートされるとその立ち下がりで、退避格納部124の内容を送信レジスタ125のコマンド及びアドレス部分、受信レジスタ127のコマンド及びアドレス部分、転送シーケンスカウンタにリストアする。そして制御回路123は、上記送信や受信の抑止を解除する。
サスペンド制御部15は、フリップフロップ(F/F)151とドライバ1531とレシーバ1532とインバータ1533を備える。
フリップフロップ151はセット入力とリセット入力付きのフリップフロップであり、タイムアウト信号がアサートされると、サスペンド信号線7がディアサート状態であればセットされ、その出力がサスペンド信号線7をアサート状態にする。
そしてフリップフロップ151は、診断制御部16からのサスペンドリセット指示でリセットされる。
このフリップフロップ151の出力は、サスペンド信号線7の駆動元デバイスであることも示している。
診断制御部16は、サスペンド信号がアサートされると、前記駆動元デバイスであれば診断コマンドの送信を制御回路123に要求し、要求が処理されると、診断応答を待ち受ける。
診断制御部16は診断応答を例えば診断応答コマンドの形で受信し、所定の短期間内に正常に受信できればタイムアウトキャンセルを指示し、次にフリップフロップ151のリセットを指示する。これによりタイマー121のタイムアウト出力がオフにされ、サスペンド信号線7もディアサートされる。
診断制御部16は、診断応答を正常に受信できなければ、サスペンド制御部15にサスペンドリセットを指示し、バス制御部12をサスペンド直前の状態に一旦戻させた後、タイムアウトしたデータ転送の異常終了処理を転送制御部13に指示する。
転送制御部13は、異常終了処理の指示を受けると共に受けたデバイスIDを指定し、転送打ち切りをバス制御部12を介してデバイス61に指示する。
次に、本発明の第1の実施の形態の動作について図面を参照して説明する。
図1に示すデバイス21がデバイス31とデータ転送を開始し、更にデバイス41がデバイス51とデータ転送を開始した後に、デバイス11がデバイス61からデータを読み出そうとする場合の動作を例に説明する。
デバイス間のデータ転送のそれぞれは、データ転送要求と応答(実際のデータ転送)が分離したスプリットトランザクションで行われるとする。例えば、デバイス21がバス要求してバス許可を獲得し、デバイス31を指定して読み取りを指示して要求し、デバイス31がスプリット通知付きの受付で応答し、デバイス21は直ぐに要求をオフとしバスを開放する。
デバイス31が、データを準備できるとその都度バス要求してバス許可を獲得し、デバイス21のデバイスIDを指定しデータを送信する。
図4と図5は、本発明のデータ処理装置10の第1の実施の形態の動作を示すシーケンスチャートである。
図4を参照すると、デバイス21とデバイス31がバス1を介したデバイス間の転送動作を開始する(ステップ1)。次に、デバイス41と51がバス1を介したデバイス間の転送動作を開始する(ステップ2)。
次に、デバイス11が、バスを獲得し、デバイス61を指定し読み取り指示を送信し(ステップ3−1)、デバイス61がスプリット通知付きの受付で応答する(ステップ3−2)。デバイス11がバスを開放し、応答データ待ち状態に入り、タイマー121をセットする(ステップ3−3)。
デバイス61がデータを準備できると、応答のためバス要求するがバス要求は退けられる。即ち、デバイス31によるバス要求やバス使用のないサイクルに、毎回同期してデバイス51のバス要求が入ってくる状態が起こっており、デバイス61のバス要求の受付優先順位は最下位であるためバス許可が長期間アサートされない(ステップ4)。
そのためデバイス61が応答のデータ転送を行うことができず、デバイス11が読み出し転送のタイムアウトを検出する(ステップ5)。
タイムアウトを検出したデバイス11は、フリップフロップ151をセットしサスペンド信号線7を駆動しアサートにする(ステップ6)。
また、デバイス11〜61は、サスペンド信号線7がアサートされたことを検出し、実行中のデータ転送を直ちに中断し、バス要求と送信を抑止しバス1を開放する。デバイス11〜61は、またデータ転送中断時の状態情報の内、診断のための転送で上書きされるレジスタ類の情報を退避格納部124にセーブする(ステップ7)。
デバイス11は診断用転送動作の開始を契機とし、データ転送のシーケンス状態を初期化してからバス要求や送信の抑止を一時解除する。
そしてデバイス11はバス1を介しデバイス61に対して診断コマンドを送信し(ステップ8)、デバイス61が診断コマンドを受信する(ステップ9)。
診断コマンドを受信したデバイス61は、診断用転送動作の開始を契機としデータ転送のシーケンス状態を初期化してからバス要求や送信の抑止を一時解除する。
そしてデバイス61は、デバイス11に対し診断応答を送信し(ステップ10)、デバイス11がデバイス61からの診断応答を受信する(ステップ11)。
デバイス11は診断応答を正常に受信すると、タイムアウトはバス1の輻輳(バス1上の転送の資源競合)により生じたものと判定しタイムアウトをキャンセルし(ステップ12)、サスペンド信号線7の駆動をオフする(ステップ13)。
デバイス11〜61は、サスペンド信号線7のディアサートを検出し、ステップ7でセーブした状態をリストアし、中断していたデータ転送を再開する(ステップ14)。
やがてデバイス21とデバイス31間のデータ転送が終了し(ステップ15)、デバイス61がバスを獲得し読み出しデータを送信し(ステップ16)、デバイス11が読み出しデータを受信し(ステップ17)動作を終了する。
また、デバイス11がステップ8の診断コマンド発行後に、ステップ11のデバイス61からの診断応答を所定の短期間内に正常に受信できなかった場合、バス1またはデバイス61に異常が発生しているとみなし、データ転送打ち切り等の異常終了処理を実施する。
以上の説明では、説明や図示の便宜上タイマー121の構成を、タイマー値とこれに対応したデバイスIDとを保持するとしたが、実際にはタイマー値とこれに対応したデバイスIDとを複数組保有する。
これにより、デバイス11が、データ転送コマンドを複数のデバイスを相手として順次送信し並列処理する状態でもこれらの時間監視が可能になる。
また、バス制御部12がタイマー121を備える例で説明したが、転送制御部13が備える例もある。
本発明の第1の実施の形態は、時間監視時間を最初から長くすることなく、タイムアウトを検出するとデータ転送を中断させ、相手デバイスに診断コマンドを送信し、それへの応答受信が正常にできるかどうかでバス輻輳か異常かを判定し、バス輻輳であれば転送を再開する。
従って、本発明の第1の実施の形態によれば、バス1もしくはデバイス11〜61の異常の検出が速やかに行われるとともに、バス1の輻輳によるタイムアウトに対して、誤って行われる転送打ち切りやバスリセットなどの異常終了処理を回避できる。
また、タイムアウトを起こした相手デバイスに診断コマンドと応答を送受信する際に、バス1に接続されたドライバ1281、1283やレシーバ1282、1284の他周辺の送信レジスタ125、受信レジスタ127や制御回路123についてもデータ転送と同じ手段で行っており、高精度でタイムアウト原因の判定が行える。
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。図6は本発明のデバイス11〜61の第2の実施の形態の詳細な構成を示したブロック図である。
第2の実施の形態ではデバイス11〜61のバス制御部12と診断制御部16の機能や構成が前記第1の実施の形態と一部異なる。
即ち、第1の実施の形態ではバス制御部12が診断のためのコマンドの送受信と診断応答の送受信も実行していたが、第2の実施の形態ではバス制御部12Aはこれらの送受信を行わない。代わりに診断制御部16Aがこれらの送受信を行う。
診断制御部16Aは、バス1に接続のドライバ1281、1283やレシーバ1282、1284をバス制御部12Aと共用するが、中断されたデータ転送の状態に影響を及ぼさない形で診断用転送動作を行う。
このためバス1への送出信号とバス要求調停部8へのバス要求信号のドライバの入力側に2ウェイのセレクタ1263、1287、1289(選択回路)が挿入される。
これらにバス制御部12Aの内部からのデータ転送用信号と、診断制御部16Aからの診断転送用信号とが切り替えて入力される。
またバス1からの受信信号のレシーバ1284、1282とバス要求調停部8からのバス許可信号のレシーバ(図示せず)の出力に2出力の選択的リピータ回路1285、1286、1288が挿入され、各出力をバス制御部12A内部と診断制御部16Aに分配する。
バス制御部12Aはバス制御部12で備えていた退避格納部124とセレクタ1261とセレクタ1271とを有していない。
制御回路123Aの要求元は、転送制御部13のみである。
しかし、バス要求信号の入力、制御信号のドライバ1281の入力側、ドライバ1283の入力側にそれぞれセレクタ1289、セレクタ1287、セレクタ1263が挿入されている。
また、サスペンド信号をフリップフロップで受けたサスペンド受信信号が選択信号としてこれらのセレクタに入力される。これらのセレクタ1289、1287、1263は、選択信号がオンであれば診断制御部16Aからの入力であるバス要求D、制御信号D、コマンドとアドレスDを選択し、オフであれば、バス制御部12A内部からの入力を選択する。
また、バス許可信号、制御信号のレシーバ1282の出力側、コマンド及びアドレス/データ信号のレシーバ1284の出力側にそれぞれリピータ回路1288、リピータ回路1286、リピータ回路1285が挿入されている。
これらリピータ回路1285、1286、1288は選択的リピータであり、一部しか図示してないが選択信号としてはサスペンド信号が入力されている。
選択信号がオンであれば入力された信号が診断制御部16Aへの出力に伝達され、バス制御部12A内部への出力は駆動されない。
反対に選択信号がオフであれば入力された信号がバス制御部12A内部への出力に伝達され、診断制御部16Aへの出力は駆動されない。
診断制御部16Aは、サスペンド信号がアサートされると、駆動元信号オンであれば1〜2サイクル後からバス要求し、バスを獲得しバス1を介した診断コマンドの転送を行う。
またバス1を介してアドレス情報内の送信先デバイスIDが自デバイスIDである診断コマンドを受信すると、このコマンドの送信元デバイス宛に診断応答を送信する。
診断コマンドを転送した診断制御部16Aは、診断応答を待ち受け、バス1を通じ受信する。診断制御部16Aの他の動作は前記第1の実施の形態と同様である。
次に第2の実施の形態のデータ処理装置10としての動作について説明する。
図5のシーケンスチャートのステップ7の処理の内、データ転送の状態のセーブが行われない。
また、ステップ8では、デバイス11が、データ転送シーケンス状態の初期化及びバス要求と送信の抑止の一時解除を行うことなく、バス1を介しデバイス61へ診断コマンドを送信する。
ステップ10では、デバイス61が、データ転送シーケンス状態の初期化及びバス要求と送信の抑止の一時解除を行うことなく、バス1を介しデバイス11へ診断応答を送信する。ステップ14では、デバイス11〜61が、サスペンド信号のディアサートを検出すると、状態リストアを行うことなくデータ転送を再開する。
上記以外の動作は前記第1の実施の形態と同様である。
本発明の第2の実施の形態によれば、前記第1の実施の形態と同様に異常の検出が速やかに行われ、また前記輻輳によるタイムアウトに対して、誤って行われる異常終了処理を回避できる。
また、退避格納部124や状態セーブやリストアのための回路を必要としないので、診断用転送で上書きされる状態情報が大きくなるデバイスでは第2の実施の形態の方が第1の実施の形態より追加ハードウェア量が少なくなる。
本発明は、デバイス11〜61のいずれかにバスブリッジを含み、バスブリッジが第2のバスにも接続されたデータ処理装置においても適用できる。
即ち、バスブリッジが既存の中継機能の他サスペンド信号線7を第2のバスのサスペンド信号線に中継する様にすれば、第2のバス上のデバイスからの応答のタイムアウトをデバイス11が検出した場合にも同様にデータ転送を中断させ、診断コマンドへの応答により異常かバス輻輳かを判定でき、バス輻輳とみなせる場合にデータ転送を再開させる。
尚、デバイスIDは、上位ビットにバスIDを含むデバイスIDとし、バスブリッジはバス1に接続された第1のポートと第2のバスに接続された第2のポートの構成とする。
そして第1のポートは送信先IDが第2のバスを示していればコマンドを取り込み第2のポートを通じ送信先IDのデバイスIDに対応したデバイスに送信する。
本発明のデータ処理装置10の第1の実施の形態の構成を示すブロック図である。 本発明のデータ処理装置10の第1の実施の形態における各デバイス11〜61の内部構成を示すブロック図である。 本発明の第1の実施の形態におけるデバイス11のバス制御部12やサスペンド制御部15の詳細構成とこれら制御部と転送制御部13や診断制御部16とのインタフェースを示したブロック図である。 本発明の第1の実施の形態における全体動作を示すシーケンスチャートである。 本発明の第1の実施の形態における全体動作を示すシーケンスチャートである。 本発明の第2の実施の形態におけるデバイス11の各制御部の構成を示すブロック図である。
符号の説明
1 バス
7 サスペンド信号線
8 バス要求調停部
10 データ処理装置
11、21、31、41、51、61 デバイス
12、12A、62 バス制御部
13、63 転送制御部
14、64 バス転送制御部
15、65 サスペンド制御部
16、16A、66 診断制御部
121 タイマー
123、123A 制御回路
124 退避格納部
125 送信レジスタ
127 受信レジスタ
151 フリップフロップ
1261、1262、1263、1271 セレクタ
1281、1283、1531 ドライバ
1282、1284、1532 レシーバ
1285、1286、1288 リピータ回路
1287、1289 セレクタ
1533 インバータ

Claims (14)

  1. 共通のバスを制御し他の電子デバイスとデータ転送を行うバス転送制御部と、
    前記データ転送の相手の電子デバイスからの応答受信についてタイムアウトを検出するタイマーと、
    前記タイムアウト検出を受け共通のサスペンド信号を駆動し他の電子デバイスも含めてデータ転送を中断させるサスペンド制御部と、
    前記相手の電子デバイスに対しコマンドを送信し、前記コマンドに対する応答の有無を判定する診断制御部とを有することを特徴とする電子デバイス。
  2. 前記診断制御部が、前記コマンドに対する応答を受信した場合に前記タイムアウトをキャンセルし前記サスペンド信号の駆動を停止し、前記コマンドに対する応答を受信できなかった場合に前記タイムアウトしたデータ転送の異常終了を指示することを特徴とする請求項1に記載の電子デバイス。
  3. 退避格納部を備え、
    前記バス転送制御部が、前記データ転送を中断時の状態をレジスタから前記退避格納部にセーブし、前記サスペンド信号の駆動停止を受け、前記退避格納部の情報を前記レジスタにリストアすることを特徴とする請求項2記載の電子デバイス。
  4. 前記中断時のデータ転送状態の一部であって、前記コマンドや前記相手の電子デバイスの指定或いは診断応答の送信のため上書きされるレジスタの情報を、前記退避格納部に退避することを特徴とする請求項3記載の電子デバイス。
  5. 前記バス転送制御部と前記診断制御部のそれぞれからのバス制御信号を前記サスペンド信号の状態により選択し、その出力で前記バスのドライバを駆動する選択回路と、
    前記コマンドを生成し前記バスを制御し送信する診断制御部とを備え、
    前記コマンド及び前記コマンドへの応答のバス転送を前記診断制御部と前記選択回路を用いて行うことを特徴とする請求項2記載の電子デバイス。
  6. 共通のバスと前記バスを介し互いにデータ転送を行う複数の電子デバイスを含むデータ処理装置であって、
    前記複数の電子デバイスを接続する共通のサスペンド信号線を備え、
    前記電子デバイスが、
    前記バスを制御し前記データ転送を行うバス転送制御部と、
    前記データ転送の相手の電子デバイスからの応答受信についてタイムアウトを検出するタイマーと、
    前記タイムアウト検出を受け前記サスペンド信号を駆動し他の電子デバイスも含めてデータ転送を中断させるサスペンド制御部と、
    前記相手の電子デバイスに対しコマンドを送信し、前記コマンドに対する応答の有無を判定する診断制御部とを有することを特徴とするデータ処理装置。
  7. 前記診断制御部が、前記コマンドに対する応答を受信した場合に前記タイムアウトをキャンセルし前記サスペンド信号の駆動を停止し、前記コマンドに対する応答を受信できなかった場合に前記タイムアウトしたデータ転送の異常終了を指示することを特徴とする請求項6に記載のデータ処理装置。
  8. 前記電子デバイスが退避格納部を備え、
    前記バス転送制御部が、前記データ転送中断時の状態をレジスタから前記退避格納部にセーブし、前記サスペンド信号の駆動停止を受け、前記退避格納部の情報を前記レジスタにリストアすることを特徴とする請求項7記載のデータ処理装置。
  9. 前記退避格納部には、中断時のデータ転送状態の一部であって、前記コマンドや前記相手の電子デバイスの指定或いは診断応答の送信のため上書きされるレジスタの情報を退避することを特徴とする請求項8記載のデータ処理装置。
  10. 前記電子デバイスが、
    前記バス転送制御部と前記診断制御部のそれぞれからのバス制御信号を前記サスペンド信号の状態により選択し、その出力で前記バスのドライバを駆動する選択回路と、
    前記コマンドを生成し前記バスを制御し送信する診断制御部とを備え、
    前記コマンド及び前記コマンドへの応答のバス転送を、前記診断制御部と前記選択回路を用いて行うことを特徴とする請求項7記載のデータ処理装置。
  11. バスを制御しデータ転送を行うバス転送制御手順と、
    データ転送の相手の電子デバイスからの応答受信についてタイムアウトを検出する手順と、
    前記タイムアウト検出を受けると、共通のサスペンド信号を駆動し他の電子デバイスも含めてデータ転送を中断させるサスペンド制御手順と、
    前記相手の電子デバイスに対しコマンドを送信し、前記コマンドに対する応答の有無を判定する診断制御手順とを有することを特徴とするバス制御方法。
  12. 前記診断制御手順が、前記コマンドに対する応答を受信した場合に前記タイムアウトをキャンセルし前記サスペンド信号の駆動を停止し、前記コマンドに対する応答を受信できなかった場合に前記タイムアウトしたデータ転送の異常終了を指示することを特徴とする請求項11に記載のバス制御方法。
  13. 前記バス転送制御手順が、前記データ転送の中断時の状態をレジスタからセーブし、前記サスペンド信号の駆動停止を受け、前記退避格納部の情報を前記レジスタにリストアすることを特徴とする請求項12記載のバス制御方法。
  14. 前記データ転送の状態のセーブを前記中断時のデータ転送状態の一部であって、前記コマンドや前記相手の電子デバイスの指定或いは診断応答の送信のため上書きされるレジスタの情報を退避することを特徴とする請求項13記載のバス制御方法。
JP2007257866A 2007-10-01 2007-10-01 電子デバイス、データ処理装置、及びバス制御方法 Expired - Fee Related JP4941212B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007257866A JP4941212B2 (ja) 2007-10-01 2007-10-01 電子デバイス、データ処理装置、及びバス制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007257866A JP4941212B2 (ja) 2007-10-01 2007-10-01 電子デバイス、データ処理装置、及びバス制御方法

Publications (2)

Publication Number Publication Date
JP2009087149A true JP2009087149A (ja) 2009-04-23
JP4941212B2 JP4941212B2 (ja) 2012-05-30

Family

ID=40660471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007257866A Expired - Fee Related JP4941212B2 (ja) 2007-10-01 2007-10-01 電子デバイス、データ処理装置、及びバス制御方法

Country Status (1)

Country Link
JP (1) JP4941212B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662782A (zh) * 2012-04-17 2012-09-12 华为技术有限公司 一种监控系统总线的方法及装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02279040A (ja) * 1989-04-20 1990-11-15 Nec Corp マルチプロセッサシステムの障害検出方式
JPH0573443A (ja) * 1991-09-18 1993-03-26 Shikoku Nippon Denki Software Kk インタフエースバス制御装置
JPH0635816A (ja) * 1992-07-17 1994-02-10 Mitsubishi Electric Corp マルチcpuシステム
JPH08137788A (ja) * 1994-11-11 1996-05-31 Hitachi Ltd 情報処理システム
JPH1031656A (ja) * 1996-07-15 1998-02-03 Nec Corp マルチプロセッサシステムのバス調停方式
JPH11167528A (ja) * 1997-12-03 1999-06-22 Hitachi Ltd データ処理システムのタイムアウト制御方法
JP2000196700A (ja) * 1998-12-24 2000-07-14 Smc Corp 調歩同期式データ伝送方法
JP2001075935A (ja) * 1999-09-07 2001-03-23 Nec Ibaraki Ltd プロセッサ間通信方法
JP2003233514A (ja) * 2002-02-12 2003-08-22 Hitachi Ltd 分散コンピュータシステム及びタイムアウト値の設定方法
JP2006262386A (ja) * 2005-03-18 2006-09-28 Toshiba Corp 制御システム

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02279040A (ja) * 1989-04-20 1990-11-15 Nec Corp マルチプロセッサシステムの障害検出方式
JPH0573443A (ja) * 1991-09-18 1993-03-26 Shikoku Nippon Denki Software Kk インタフエースバス制御装置
JPH0635816A (ja) * 1992-07-17 1994-02-10 Mitsubishi Electric Corp マルチcpuシステム
JPH08137788A (ja) * 1994-11-11 1996-05-31 Hitachi Ltd 情報処理システム
JPH1031656A (ja) * 1996-07-15 1998-02-03 Nec Corp マルチプロセッサシステムのバス調停方式
JPH11167528A (ja) * 1997-12-03 1999-06-22 Hitachi Ltd データ処理システムのタイムアウト制御方法
JP2000196700A (ja) * 1998-12-24 2000-07-14 Smc Corp 調歩同期式データ伝送方法
JP2001075935A (ja) * 1999-09-07 2001-03-23 Nec Ibaraki Ltd プロセッサ間通信方法
JP2003233514A (ja) * 2002-02-12 2003-08-22 Hitachi Ltd 分散コンピュータシステム及びタイムアウト値の設定方法
JP2006262386A (ja) * 2005-03-18 2006-09-28 Toshiba Corp 制御システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662782A (zh) * 2012-04-17 2012-09-12 华为技术有限公司 一种监控系统总线的方法及装置
US9330049B2 (en) 2012-04-17 2016-05-03 Huawei Technologies Co., Ltd. Method and apparatuses for monitoring system bus

Also Published As

Publication number Publication date
JP4941212B2 (ja) 2012-05-30

Similar Documents

Publication Publication Date Title
JP2006191338A (ja) バス内のデバイスの故障診断を行うゲートウエイ装置
KR101077512B1 (ko) 전송 시스템, 전송 장치 및 전송 방법
US5805791A (en) Method and system for detection of and graceful recovery from a peripheral device fault
US5712967A (en) Method and system for graceful recovery from a fault in peripheral devices using a variety of bus structures
JP5151500B2 (ja) コンピュータシステム、障害処理方法および障害処理プログラム
JPH07104826B2 (ja) 転送制御装置
JPH06337843A (ja) データ転送制御方法
JP4941212B2 (ja) 電子デバイス、データ処理装置、及びバス制御方法
JP7417544B2 (ja) 割込みコントローラ
JP2005215809A (ja) コンピュータシステム、バスコントローラ及びそれらに用いるバス障害処理方法
JP4131263B2 (ja) マルチノードシステム、ノード装置、ノード間クロスバスイッチ及び障害処理方法
JP2006172218A (ja) コンピュータシステム及びシステム監視プログラム
JPH08171528A (ja) データ処理装置
JPH08123770A (ja) データ通信制御装置
JP2001325212A (ja) マルチプロセッサシステムにおけるソースプロセッサから宛先プロセッサにデータブロックを送信する方法と装置
JP6475056B2 (ja) インタフェース障害検出装置、インタフェース障害検出システム、インタフェース障害検出方法、及びインタフェース障害検出プログラム
WO2012093475A1 (ja) 情報転送装置および情報転送装置の情報転送方法
JP4666369B2 (ja) Usbデバイス
JP2573790B2 (ja) 転送制御装置
JP3497179B2 (ja) データ処理システムのバス管理方式
JP2006119982A (ja) コンピュータシステム
JPH06223031A (ja) 転送制御装置
JP2933039B2 (ja) 通信用コントローラ
JP2010003268A (ja) スレーブ装置
JP2007199887A (ja) 割込み制御装置及び割込み制御方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090513

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100813

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111201

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: 20120131

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: 20120213

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150309

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees