JP4941212B2 - Electronic device, data processing apparatus, and bus control method - Google Patents
Electronic device, data processing apparatus, and bus control method Download PDFInfo
- Publication number
- JP4941212B2 JP4941212B2 JP2007257866A JP2007257866A JP4941212B2 JP 4941212 B2 JP4941212 B2 JP 4941212B2 JP 2007257866 A JP2007257866 A JP 2007257866A JP 2007257866 A JP2007257866 A JP 2007257866A JP 4941212 B2 JP4941212 B2 JP 4941212B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- control unit
- command
- response
- data transfer
- 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
Links
Images
Description
本発明は、電子デバイス、データ処理装置、及びバス制御方法に関し、特に、バスを通じデータ転送をする電子デバイス、複数の電子デバイスが共通のバスを通じデータ転送するデータ処理装置、及びバス制御方法に関する。 The present invention relates to an electronic device, a data processing apparatus, and a bus control method, and more particularly, to an electronic device that transfers data through a bus, a data processing apparatus that transfers data through a common bus, and a bus control method.
複数のデバイスが共通のバスに接続されたシステムにおけるデータ転送において、データ転送の相手のデバイスが正常に応答しているか否かの確認手段としてタイムアウトによる異常検出が一般に使用されている。
一般にタイムアウトが検出されるまでの時間はシステムにより固有であり、なんらかの影響でタイムアウトとなる時間までにデータ転送の相手となるデバイスからの応答が得られない場合は、デバイスもしくはバスの異常と判断し、システムやバスのリセットなどといった異常終了処理が行われる。
In data transfer in a system in which a plurality of devices are connected to a common bus, anomaly detection due to timeout is generally used as a means for confirming whether or not a device to which data is transferred normally responds.
Generally, the time until a timeout is detected is specific to the system, and if there is no response from the device that is the data transfer partner by the time the timeout occurs, it is determined that the device or bus is abnormal. Then, abnormal termination processing such as system or bus reset is performed.
しかしながら、複数のデバイスが同時にデータ転送を実行するような場合、バスの負荷が増大するため、データ転送の相手となるデバイスの応答までの時間が一時的に増大し、タイムアウトが検出されてしまう場合がある。
このような状況においては、デバイスやバスに異常がないにも拘わらずタイムアウトの検出により、バスリセットなどの異常終了処理が発生するといった問題がある。
However, when multiple devices perform data transfer at the same time, the load on the bus increases, so the time until the response of the device that is the data transfer partner temporarily increases and a timeout is detected. There is.
In such a situation, there is a problem that an abnormal termination process such as a bus reset occurs due to the detection of timeout even though there is no abnormality in the device or the bus.
タイムアウト検出までの時間を長く設定することで上記の問題を回避することは可能であるが、この場合、デバイスの故障によりデバイスが正常に応答しない場合において、異常の検出が遅れるといった問題が発生する。 Although it is possible to avoid the above problem by setting a long time until timeout detection, in this case, when the device does not respond normally due to a device failure, there is a problem that the detection of abnormality is delayed. .
これらの問題を解決するための関連技術として特許文献1の情報処理装置がある。この情報処理装置は、共有バスと、これを通じリクエスト信号を発行しそれに対するレスポンス信号を共有バスから受け取り処理を行う複数のデバイスと、共有バスに接続されたバス監視装置とを含む。
As a related technique for solving these problems, there is an information processing apparatus disclosed in
そしてバス監視装置が共有バス上における往来状況を監視し、監視結果の往来状況からバスの使用率を求め、それに応じて各デバイスにおけるタイムアウト検出時間を変更するものである。 The bus monitoring device monitors the traffic situation on the shared bus, obtains the bus usage rate from the traffic situation of the monitoring result, and changes the timeout detection time in each device accordingly.
しかし、上記情報処理装置の技術では、デバイスやバスの異常動作によりバスが常に使用されてしまうような故障となる場合においてもタイムアウト時間が長くなり、異常検出が遅れてしまうといった問題が生ずる。 However, the above-described information processing apparatus has a problem in that even when a failure occurs such that the bus is always used due to an abnormal operation of the device or the bus, the timeout time becomes long and the abnormality detection is delayed.
本発明の目的は、上記問題を解決する電子デバイス、データ処理装置、及びバス制御方法を提供することにある。 An object of the present invention is to provide an electronic device, a data processing apparatus, and a bus control method that solve the above problems.
本発明の電子デバイスは、
共通のバスを制御し他の電子デバイスとデータ転送を行うバス転送制御部と、
前記データ転送の相手の電子デバイスからの応答受信についてタイムアウトを検出するタイマーと、
前記タイムアウト検出を受け共通のサスペンド信号を駆動し他の電子デバイスも含めてデータ転送を中断させるサスペンド制御部と、
前記相手の電子デバイスに対しコマンドを送信し、前記コマンドに対する応答の有無を判定する診断制御部とを有する。
The electronic device of the present invention is
A bus transfer control unit that controls a common bus and performs data transfer with other electronic devices;
A timer for detecting a timeout for receiving a response from the electronic device of the data transfer partner;
A suspend control unit that receives the timeout detection and drives a common suspend signal to interrupt data transfer including other electronic devices;
A diagnostic control unit that transmits a command to the electronic device of the other party and determines whether or not there is a response to the command.
本発明のデータ処理装置は、共通のバスと前記バスを介し互いにデータ転送を行う複数の電子デバイスを含むデータ処理装置であって、
前記複数の電子デバイスを接続する共通のサスペンド信号線を備え、
前記電子デバイスが、
前記バスを制御し前記データ転送を行うバス転送制御部と、
前記データ転送の相手の電子デバイスからの応答受信についてタイムアウトを検出するタイマーと、
前記タイムアウト検出を受け前記サスペンド信号を駆動し他の電子デバイスも含めてデータ転送を中断させるサスペンド制御部と、
前記相手の電子デバイスに対しコマンドを送信し、前記コマンドに対する応答の有無を判定する診断制御部とを有する。
A data processing apparatus of the present invention is a data processing apparatus including a common bus and a plurality of electronic devices that perform data transfer with each other via the bus,
A common suspend signal line connecting the plurality of electronic devices;
The electronic device is
A bus transfer control unit for controlling the bus and performing the data transfer;
A timer for detecting a timeout for receiving a response from the electronic device of the data transfer partner;
A suspend control unit for receiving the timeout detection and driving the suspend signal to interrupt data transfer including other electronic devices;
A diagnostic control unit that transmits a command to the electronic device of the other party and determines whether or not there is a response to the command.
本発明のバス制御方法は、バスを制御しデータ転送を行うバス転送制御手順と、
前記データ転送の相手の電子デバイスからの応答受信についてタイムアウトを検出する手順と、
前記タイムアウト検出を受けると、共通のサスペンド信号を駆動し他の電子デバイスも含めてデータ転送を中断させるサスペンド制御手順と、
前記相手の電子デバイスに対しコマンドを送信し、前記コマンドに対する応答の有無を判定する診断制御手順とを有する。
The bus control method of the present invention includes a bus transfer control procedure for controlling a bus and transferring data,
A procedure for detecting a timeout for receiving a response from the electronic device of the data transfer partner;
Upon receiving the timeout detection, a suspend control procedure for driving a common suspend signal and interrupting data transfer including other electronic devices;
A diagnostic control procedure for transmitting a command to the partner electronic device and determining whether or not there is a response to the command.
本発明によれば、バスのデータ転送においてタイムアウトを検出した際、その原因がバスの輻輳(バス上の転送の資源競合)であるか、バスもしくはバスに接続されたデバイスの異常であるかを速やかに判定できる。 According to the present invention, when a timeout is detected in bus data transfer, whether the cause is bus congestion (transfer resource competition on the bus) or an abnormality of the bus or a device connected to the bus. Judgment can be made promptly.
従って、バスもしくはデバイスの異常の検出が速やかに行われるとともに、バスの輻輳によるタイムアウトに対して、誤って行われるデータ転送の打ち切りやバスリセットなどの異常終了処理を回避できる。 Therefore, the abnormality of the bus or device is detected promptly, and an abnormal termination process such as abortion of data transfer or bus reset, which is erroneously performed with respect to a timeout due to bus congestion, can be avoided.
次に、本発明の実施の形態について図面を参照して詳細に説明する。
図1は、本発明のデータ処理装置10の第1の実施の形態を示すブロック図である。
データ処理装置10は、デバイス11〜61と共通なバス1とバス要求調停部8を含む。
Next, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a block diagram showing a first embodiment of a
The
デバイス11〜61は共通なバス1に接続されており、デバイス間のデータ転送は当該バス1を介して行われる。
バス1はクロック信号に同期してデータ転送を実施するものである。
バス要求調停部8は、各デバイス11〜61からのバス要求を受け、複数のデバイスから要求が有れば優先順位に従って唯一の要求を選択しそのデバイスにバス使用の許可を返す。
サスペンド信号線7は、全デバイスに共通に接続される信号線であり、データ転送においてタイムアウトを検出したデバイスはサスペンド信号線7のアサートおよびディアサートを実施する。
The
The
The bus request arbitration unit 8 receives a bus request from each of the
The suspend
尚、バス1は、例えばPCI−X(Peripheral Component Interconnect−X)バスを含むPCIバス、SCSI(Small Computer System interface)バス等である。
The
また、デバイス11〜61は、例えばI/Oデバイス、I/Oデバイスやキャッシュメモリ等のコントローラ、ファイルデバイス、プロセッサ、バスブリッジ等の電子デバイスである。
The
デバイス11〜61のそれぞれが種類や機能の異なるデバイスであっても、同種類であってもよい。
デバイス11〜61の幾つかが、回路基板で構成されることもある。この場合、バス1のデバイス接続部分がスロットコネクタを含む。
The
Some of the
図2は、バス1に接続される各デバイス11〜61の内部構成を示すブロック図である。
デバイス11は、バス転送制御部14とサスペンド制御部15と診断制御部16を含み構成される。
バス転送制御部14は、バス1を制御するバス制御部12とこれに要求しデータ転送を行わせる転送制御部13とを有し、バス1を制御しデータ転送を行う。
FIG. 2 is a block diagram showing an internal configuration of each
The
The bus
同様に、デバイス61は、バス転送制御部64とサスペンド制御部65と診断制御部66を含み構成され、バス転送制御部64はバス制御部62と転送制御部63とを有する。図示してないが、デバイス21〜51の各デバイスについても同様に各制御部を含む。
Similarly, the
バス制御部12は通常は転送制御部13の要求によりバス1を介した通常のデータ転送を行うが、サスペンド信号線7がアサートされたサスペンド状態ではデータ転送を中断する。
そしてバス制御部12は、診断制御部16からの要求によりバス1を介し診断コマンドをデータ転送の相手のデバイス61に送信する。
The
In response to a request from the
診断制御部16は、相手の電子デバイスに対し診断コマンドを送信し、診断コマンドに対する応答の有無を判定する。
即ち、診断制御部16はサスペンド信号線7がアサートされるとバス制御部12に対し診断コマンドの送信を要求する。
The
That is, the
そしてデバイス61が診断コマンドを受信すると、診断コマンドはバス制御部62を介して診断制御部66に通知され、診断制御部66がバス制御部62に診断応答(診断コマンドへの応答)の送信を要求する。
そして診断制御部16は、診断コマンドに対する応答を正常に受信した場合に、タイムアウトをキャンセルし、サスペンド制御部15を介し、サスペンド信号線7の駆動をオフにする。
診断制御部16は、診断コマンドに対する応答を受信できなかった場合にタイムアウトとなったデータ転送の異常終了を指示する。
When the
When the
The
サスペンド制御部15は、データ転送のタイムアウト検出を受けサスペンド信号線7を駆動し他の電子デバイスも含めてデータ転送を中断させる。
即ち、サスペンド制御部15は、バス制御部12がデータ転送のタイムアウトを検出した場合、サスペンド信号線7を駆動しアサートする。
また、サスペンド制御部15は、サスペンド信号線7が自デバイスや他のデバイスによりアサートされたことを検出し、バス制御部12や転送制御部13に通知し、データ転送を中断させる。
The suspend control unit 15 detects a data transfer timeout and drives the suspend
That is, when the
Further, the suspend control unit 15 detects that the
尚、サスペンド信号線7のアサートおよびディアサートは、全デバイス11〜61が同一クロック内に受け取るタイミングで実施するものとする。
即ち、全てのデバイスはサスペンド信号線7がアサートされる次のクロックタイミングで実行中のデータ転送を中断し、サスペンド信号線7がディアサートされる次のクロックタイミングで中断時の状態に戻る。そしてサスペンド制御部15が異常終了を指示していないデバイスはデータ転送を再開する。
Assume that the suspend
That is, all devices suspend data transfer being executed at the next clock timing when the suspend
以上デバイス11、61について説明したが、他のデバイス21〜51の各制御部も同様に動作する。
Although the
図3は、デバイス11のバス制御部12やサスペンド制御部15の詳細構成とこれら制御部と転送制御部13や診断制御部16とのインタフェースを示したブロック図である。
FIG. 3 is a block diagram showing a detailed configuration of the
バス制御部12は、タイマー121と制御回路123と送信レジスタ125と受信レジスタ127と退避格納部124を含む。
また、バス制御部12は、バス1の制御信号のドライバ1281と制御信号のレシーバ1282とバス1のコマンド信号線及びデータ信号線のドライバ1283とコマンド信号線及びデータ信号線のレシーバ1284とセレクタ1261とセレクタ1262とセレクタ1271も含む。尚、バス1は例えばPCIバスとする。
The
The
タイマー121は、データ転送の相手のデバイスからの応答受信についてタイムアウトを検出する。
即ち、タイマー121は、制御回路123からのタイマーセット指示により例えば所定のタイマー設定値がセットされ、以降クロック、或いは長周期のタイマー用クロックによりカウントダウンし、例えば「0〜01」になるとタイムアウトとしその状態を保持する。またタイマーセット指示により、タイマー121内のタイマー値レジスタとは別のレジスタ(図示せず)に監視対象のデバイスIDがセットされる。
The
That is, the
このデバイスIDは、タイムアウト発生時に診断制御部16に渡される。
また、タイマー121は診断制御部16からのタイムアウトキャンセル指示により再度所定の設定値がセットされ、タイムアウト出力はオフになる。
This device ID is passed to the
The
送信レジスタ125は、8.5バイトの送信用レジスタで、上位からコマンド(4ビット)、アドレス(4バイト)、データ(4バイト)を保持する。 The transmission register 125 is an 8.5-byte transmission register, and holds a command (4 bits), an address (4 bytes), and data (4 bytes) from the top.
セレクタ1261は、転送制御部13からの転送コマンド及びアドレス、診断制御部16からの診断コマンド及びアドレス、退避格納部124からのリストアデータを切り替え、送信レジスタ125のコマンド及びアドレス部分に入力する。選択指示は制御回路123から受ける。
The
セレクタ1262は、送信レジスタ125のアドレス4バイトとデータ4バイトとを切り替えドライバ1283に入力する。
The
受信レジスタ127は8.5バイトの受信用レジスタで、上位からコマンド(4ビット)、アドレス(4バイト)、データ(4バイト)を受信し、要求元の制御部(読み取り転送を要求した転送制御部13や診断コマンドを要求した診断制御部16)や制御回路123に受信内容を渡す。
しかし、受信レジスタ127の内容は、要求元制御部がビジーであれば、その間保持される。
The
However, if the request source control unit is busy, the contents of the
セレクタ1271は、受信コマンド及びアドレスと、退避格納部124からのリストアデータを切り替え受信レジスタ127に入力する。
The
制御回路123は、転送制御部13からのデータ転送要求を受けるとサスペンド信号がオフであれば要求を受け付けて処理する。
制御回路123は、要求が例えば他のデバイス61への読み取りコマンドであれば、セレクタ1261に転送コマンド及びアドレスの選択を指示し、選択したコマンドとアドレスとを送信レジスタ125にセットする。上記アドレスにはデバイス61を示す送信先デバイスIDとデバイス11を示す送信元デバイスIDも含む。
また、制御回路123は、セレクタ1262にアドレスを選択させておく。
When receiving a data transfer request from the
For example, if the request is a read command to another
The control circuit 123 causes the
制御回路123は、バス要求調停部8にバス要求し、デバイス11へのバス許可がアサートされると、制御信号内のコマンドやアドレス/データが有効であることを示す信号線とコマンド信号線とアドレス/データ信号線(内容はアドレス)をドライバ1281やドライバ1283により駆動する。
The control circuit 123 makes a bus request to the bus request arbitration unit 8, and when the bus permission to the
制御回路123は、デバイス61から、制御信号線等によりスプリット通知付きの受付を受信すると、前記有効であることを示す信号線をディアサートしバスを開放する。
そして制御回路123は、タイマー121のセットを指示する。
When the control circuit 123 receives an acceptance with a split notification from the
Then, the control circuit 123 instructs the
例えば所定のタイマー設定値とデータ転送相手のデバイスID(デバイス61のID)が、タイマー121にセットされる。
For example, a predetermined timer set value and a device ID of the data transfer partner (
制御回路123は、要求が例えば他のデバイス21へのスプリット応答であれば、セレクタ1261に転送コマンド(書き込み)とアドレスの選択を指示し、このコマンドとアドレスと応答データとを送信レジスタ125にセットし、バス要求し同様に送信する。
また、制御回路123は、送信開始の1サイクル後にセレクタ1262で応答データを選択し送信する。
For example, if the request is a split response to another
Further, the control circuit 123 selects and transmits response data with the
制御回路123は、サスペンド制御部15からのサスペンド信号がアサートされると、データ転送動作を中断する。データ転送要求の受付が抑止される。
また、サスペンド信号アサートで且つ診断用転送フラグ(図示してないが制御回路123が内部に持つフラグ)がオフであればバス要求調停部8へのバス要求、バス1への制御信号、アドレス/データ信号等の送信を抑止する。
When the suspend signal from the suspend control unit 15 is asserted, the control circuit 123 interrupts the data transfer operation. Acceptance of data transfer requests is suppressed.
If the suspend signal is asserted and the diagnostic transfer flag (not shown, but the control circuit 123 has an internal flag) is off, the bus request to the bus request arbitration unit 8, the control signal to the
制御回路123はサスペンド信号の立ち上がりで、バス許可信号や他デバイスからのアクティブな制御信号の受信や受信直後の処理の進行も抑止する。前記立ち上がりは1サイクル間でありこの間抑止する。
制御回路123は、前記立ち上がりで、送信レジスタ125のコマンド及びアドレスと受信レジスタ127のコマンド及びアドレスと転送シーケンスカウンタ(図示せず)の内容を退避格納部124にセーブする。
At the rising edge of the suspend signal, the control circuit 123 also suppresses the reception of the bus permission signal and the active control signal from other devices and the progress of processing immediately after the reception. The rise is for one cycle and is suppressed during this period.
At the rising edge, the control circuit 123 saves the command and address of the transmission register 125, the command and address of the
制御回路123は、診断制御部16から診断コマンドの送信要求を受けると、サスペンド信号線7がアサート状態であればこの要求を受け付けて処理する。
制御回路123は、この診断コマンド送信要求の受付で前記転送シーケンスカウンタを初期値にクリアし、また診断用転送フラグをオンにして、バス要求や他デバイスへの送信についての抑止を一時的に解除する。
When receiving a diagnostic command transmission request from the
Upon reception of the diagnostic command transmission request, the control circuit 123 clears the transfer sequence counter to the initial value, turns on the diagnostic transfer flag, and temporarily cancels suppression of bus requests and transmission to other devices. To do.
バス要求や、バス1への制御信号ドライバ1281を駆動するゲートのロック(抑止)が、解除されるが転送シーケンスカウンタが初期値であるのでそれまで抑止されていたデータ転送シーケンスが再開されることはない。
The lock (inhibition) of the bus request and the gate that drives the
制御回路123は、次にセレクタ1261に診断制御部16からの診断コマンドとアドレスを選択させ、送信レジスタ125のコマンド及びアドレス部分にセットする。
このアドレスは、送信先デバイスID(デバイス61のID)、送信元デバイスID(デバイス11のID)を含む。
Next, the control circuit 123 causes the
This address includes a transmission destination device ID (ID of the device 61) and a transmission source device ID (ID of the device 11).
そして制御回路123はバス要求し、バス許可がアサートされるとそれまでの転送の相手のデバイス61に診断コマンドを送信する。
The control circuit 123 makes a bus request, and when the bus permission is asserted, transmits a diagnostic command to the
制御回路123は、他のデバイスから診断コマンドを受信した場合には、受信レジスタ127のアドレス内の送信先(宛先)デバイスIDと自デバイスIDとの一致をチェックする。
制御回路123はチェックの結果自デバイス宛であれば受信した診断コマンドを送信元デバイスIDと共に診断制御部16に渡す。
When receiving a diagnostic command from another device, the control circuit 123 checks whether the transmission destination (destination) device ID in the address of the reception register 127 matches its own device ID.
If the check circuit is addressed to the self device, the control circuit 123 passes the received diagnosis command to the
制御回路123は、診断制御部16から診断応答の送信要求を受けると診断コマンド送信と同様に処理する。
When receiving a diagnostic response transmission request from the
制御回路123は、サスペンド制御部15からのサスペンド信号がディアサートされるとその立ち下がりで、退避格納部124の内容を送信レジスタ125のコマンド及びアドレス部分、受信レジスタ127のコマンド及びアドレス部分、転送シーケンスカウンタにリストアする。そして制御回路123は、上記送信や受信の抑止を解除する。
When the suspend signal from the suspend control unit 15 is deasserted, the control circuit 123 causes the contents of the
サスペンド制御部15は、フリップフロップ(F/F)151とドライバ1531とレシーバ1532とインバータ1533を備える。
フリップフロップ151はセット入力とリセット入力付きのフリップフロップであり、タイムアウト信号がアサートされると、サスペンド信号線7がディアサート状態であればセットされ、その出力がサスペンド信号線7をアサート状態にする。
そしてフリップフロップ151は、診断制御部16からのサスペンドリセット指示でリセットされる。
このフリップフロップ151の出力は、サスペンド信号線7の駆動元デバイスであることも示している。
The suspend control unit 15 includes a flip-flop (F / F) 151, a
The flip-
The flip-
The output of the flip-
診断制御部16は、サスペンド信号がアサートされると、前記駆動元デバイスであれば診断コマンドの送信を制御回路123に要求し、要求が処理されると、診断応答を待ち受ける。
If the suspend signal is asserted, the
診断制御部16は診断応答を例えば診断応答コマンドの形で受信し、所定の短期間内に正常に受信できればタイムアウトキャンセルを指示し、次にフリップフロップ151のリセットを指示する。これによりタイマー121のタイムアウト出力がオフにされ、サスペンド信号線7もディアサートされる。
The
診断制御部16は、診断応答を正常に受信できなければ、サスペンド制御部15にサスペンドリセットを指示し、バス制御部12をサスペンド直前の状態に一旦戻させた後、タイムアウトしたデータ転送の異常終了処理を転送制御部13に指示する。
転送制御部13は、異常終了処理の指示を受けると共に受けたデバイスIDを指定し、転送打ち切りをバス制御部12を介してデバイス61に指示する。
If the
The
次に、本発明の第1の実施の形態の動作について図面を参照して説明する。
図1に示すデバイス21がデバイス31とデータ転送を開始し、更にデバイス41がデバイス51とデータ転送を開始した後に、デバイス11がデバイス61からデータを読み出そうとする場合の動作を例に説明する。
Next, the operation of the first exemplary embodiment of the present invention will be described with reference to the drawings.
The operation when the
デバイス間のデータ転送のそれぞれは、データ転送要求と応答(実際のデータ転送)が分離したスプリットトランザクションで行われるとする。例えば、デバイス21がバス要求してバス許可を獲得し、デバイス31を指定して読み取りを指示して要求し、デバイス31がスプリット通知付きの受付で応答し、デバイス21は直ぐに要求をオフとしバスを開放する。
デバイス31が、データを準備できるとその都度バス要求してバス許可を獲得し、デバイス21のデバイスIDを指定しデータを送信する。
Assume that each data transfer between devices is performed in a split transaction in which a data transfer request and a response (actual data transfer) are separated. For example, the
Whenever the
図4と図5は、本発明のデータ処理装置10の第1の実施の形態の動作を示すシーケンスチャートである。
図4を参照すると、デバイス21とデバイス31がバス1を介したデバイス間の転送動作を開始する(ステップ1)。次に、デバイス41と51がバス1を介したデバイス間の転送動作を開始する(ステップ2)。
4 and 5 are sequence charts showing the operation of the first embodiment of the
Referring to FIG. 4,
次に、デバイス11が、バスを獲得し、デバイス61を指定し読み取り指示を送信し(ステップ3−1)、デバイス61がスプリット通知付きの受付で応答する(ステップ3−2)。デバイス11がバスを開放し、応答データ待ち状態に入り、タイマー121をセットする(ステップ3−3)。
Next, the
デバイス61がデータを準備できると、応答のためバス要求するがバス要求は退けられる。即ち、デバイス31によるバス要求やバス使用のないサイクルに、毎回同期してデバイス51のバス要求が入ってくる状態が起こっており、デバイス61のバス要求の受付優先順位は最下位であるためバス許可が長期間アサートされない(ステップ4)。
そのためデバイス61が応答のデータ転送を行うことができず、デバイス11が読み出し転送のタイムアウトを検出する(ステップ5)。
When
For this reason, the
タイムアウトを検出したデバイス11は、フリップフロップ151をセットしサスペンド信号線7を駆動しアサートにする(ステップ6)。
また、デバイス11〜61は、サスペンド信号線7がアサートされたことを検出し、実行中のデータ転送を直ちに中断し、バス要求と送信を抑止しバス1を開放する。デバイス11〜61は、またデータ転送中断時の状態情報の内、診断のための転送で上書きされるレジスタ類の情報を退避格納部124にセーブする(ステップ7)。
The
Further, the
デバイス11は診断用転送動作の開始を契機とし、データ転送のシーケンス状態を初期化してからバス要求や送信の抑止を一時解除する。
そしてデバイス11はバス1を介しデバイス61に対して診断コマンドを送信し(ステップ8)、デバイス61が診断コマンドを受信する(ステップ9)。
At the start of the diagnostic transfer operation, the
The
診断コマンドを受信したデバイス61は、診断用転送動作の開始を契機としデータ転送のシーケンス状態を初期化してからバス要求や送信の抑止を一時解除する。
そしてデバイス61は、デバイス11に対し診断応答を送信し(ステップ10)、デバイス11がデバイス61からの診断応答を受信する(ステップ11)。
The
The
デバイス11は診断応答を正常に受信すると、タイムアウトはバス1の輻輳(バス1上の転送の資源競合)により生じたものと判定しタイムアウトをキャンセルし(ステップ12)、サスペンド信号線7の駆動をオフする(ステップ13)。
デバイス11〜61は、サスペンド信号線7のディアサートを検出し、ステップ7でセーブした状態をリストアし、中断していたデータ転送を再開する(ステップ14)。
When the
The
やがてデバイス21とデバイス31間のデータ転送が終了し(ステップ15)、デバイス61がバスを獲得し読み出しデータを送信し(ステップ16)、デバイス11が読み出しデータを受信し(ステップ17)動作を終了する。
Eventually, the data transfer between the
また、デバイス11がステップ8の診断コマンド発行後に、ステップ11のデバイス61からの診断応答を所定の短期間内に正常に受信できなかった場合、バス1またはデバイス61に異常が発生しているとみなし、データ転送打ち切り等の異常終了処理を実施する。
Further, if the
以上の説明では、説明や図示の便宜上タイマー121の構成を、タイマー値とこれに対応したデバイスIDとを保持するとしたが、実際にはタイマー値とこれに対応したデバイスIDとを複数組保有する。
これにより、デバイス11が、データ転送コマンドを複数のデバイスを相手として順次送信し並列処理する状態でもこれらの時間監視が可能になる。
In the above description, the configuration of the
Accordingly, even when the
また、バス制御部12がタイマー121を備える例で説明したが、転送制御部13が備える例もある。
Further, although the example in which the
本発明の第1の実施の形態は、時間監視時間を最初から長くすることなく、タイムアウトを検出するとデータ転送を中断させ、相手デバイスに診断コマンドを送信し、それへの応答受信が正常にできるかどうかでバス輻輳か異常かを判定し、バス輻輳であれば転送を再開する。 In the first embodiment of the present invention, when time-out is detected without increasing the time monitoring time from the beginning, data transfer is interrupted, a diagnostic command is transmitted to the partner device, and a response can be received normally. Whether the bus is congested or abnormal is determined. If the bus is congested, transfer is resumed.
従って、本発明の第1の実施の形態によれば、バス1もしくはデバイス11〜61の異常の検出が速やかに行われるとともに、バス1の輻輳によるタイムアウトに対して、誤って行われる転送打ち切りやバスリセットなどの異常終了処理を回避できる。
Therefore, according to the first embodiment of the present invention, the abnormality of the
また、タイムアウトを起こした相手デバイスに診断コマンドと応答を送受信する際に、バス1に接続されたドライバ1281、1283やレシーバ1282、1284の他周辺の送信レジスタ125、受信レジスタ127や制御回路123についてもデータ転送と同じ手段で行っており、高精度でタイムアウト原因の判定が行える。
In addition, when sending and receiving diagnostic commands and responses to the partner device that has timed out, the transmission registers 125, reception registers 127, and control circuit 123 around the
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。図6は本発明のデバイス11〜61の第2の実施の形態の詳細な構成を示したブロック図である。
第2の実施の形態ではデバイス11〜61のバス制御部12と診断制御部16の機能や構成が前記第1の実施の形態と一部異なる。
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. FIG. 6 is a block diagram showing a detailed configuration of the second embodiment of the
In the second embodiment, the functions and configurations of the
即ち、第1の実施の形態ではバス制御部12が診断のためのコマンドの送受信と診断応答の送受信も実行していたが、第2の実施の形態ではバス制御部12Aはこれらの送受信を行わない。代わりに診断制御部16Aがこれらの送受信を行う。
In other words, in the first embodiment, the
診断制御部16Aは、バス1に接続のドライバ1281、1283やレシーバ1282、1284をバス制御部12Aと共用するが、中断されたデータ転送の状態に影響を及ぼさない形で診断用転送動作を行う。
このためバス1への送出信号とバス要求調停部8へのバス要求信号のドライバの入力側に2ウェイのセレクタ1263、1287、1289(選択回路)が挿入される。
これらにバス制御部12Aの内部からのデータ転送用信号と、診断制御部16Aからの診断転送用信号とが切り替えて入力される。
The diagnostic control unit 16A shares the
Therefore, 2-
A data transfer signal from the inside of the
またバス1からの受信信号のレシーバ1284、1282とバス要求調停部8からのバス許可信号のレシーバ(図示せず)の出力に2出力の選択的リピータ回路1285、1286、1288が挿入され、各出力をバス制御部12A内部と診断制御部16Aに分配する。
In addition, two-output
バス制御部12Aはバス制御部12で備えていた退避格納部124とセレクタ1261とセレクタ1271とを有していない。
制御回路123Aの要求元は、転送制御部13のみである。
The
The request source of the
しかし、バス要求信号の入力、制御信号のドライバ1281の入力側、ドライバ1283の入力側にそれぞれセレクタ1289、セレクタ1287、セレクタ1263が挿入されている。
また、サスペンド信号をフリップフロップで受けたサスペンド受信信号が選択信号としてこれらのセレクタに入力される。これらのセレクタ1289、1287、1263は、選択信号がオンであれば診断制御部16Aからの入力であるバス要求D、制御信号D、コマンドとアドレスDを選択し、オフであれば、バス制御部12A内部からの入力を選択する。
However, a
In addition, a suspend reception signal received by a flip-flop is input to these selectors as a selection signal. The
また、バス許可信号、制御信号のレシーバ1282の出力側、コマンド及びアドレス/データ信号のレシーバ1284の出力側にそれぞれリピータ回路1288、リピータ回路1286、リピータ回路1285が挿入されている。
Also, a
これらリピータ回路1285、1286、1288は選択的リピータであり、一部しか図示してないが選択信号としてはサスペンド信号が入力されている。
選択信号がオンであれば入力された信号が診断制御部16Aへの出力に伝達され、バス制御部12A内部への出力は駆動されない。
These
If the selection signal is ON, the input signal is transmitted to the output to the diagnosis control unit 16A, and the output to the
反対に選択信号がオフであれば入力された信号がバス制御部12A内部への出力に伝達され、診断制御部16Aへの出力は駆動されない。
On the contrary, if the selection signal is OFF, the input signal is transmitted to the output to the inside of the
診断制御部16Aは、サスペンド信号がアサートされると、駆動元信号オンであれば1〜2サイクル後からバス要求し、バスを獲得しバス1を介した診断コマンドの転送を行う。
When the suspend signal is asserted, the diagnosis control unit 16A requests the bus after one or two cycles if the driving source signal is on, acquires the bus, and transfers the diagnostic command via the
またバス1を介してアドレス情報内の送信先デバイスIDが自デバイスIDである診断コマンドを受信すると、このコマンドの送信元デバイス宛に診断応答を送信する。
診断コマンドを転送した診断制御部16Aは、診断応答を待ち受け、バス1を通じ受信する。診断制御部16Aの他の動作は前記第1の実施の形態と同様である。
When a diagnostic command whose destination device ID in the address information is its own device ID is received via the
The
次に第2の実施の形態のデータ処理装置10としての動作について説明する。
図5のシーケンスチャートのステップ7の処理の内、データ転送の状態のセーブが行われない。
また、ステップ8では、デバイス11が、データ転送シーケンス状態の初期化及びバス要求と送信の抑止の一時解除を行うことなく、バス1を介しデバイス61へ診断コマンドを送信する。
Next, the operation as the
In the process of
In step 8, the
ステップ10では、デバイス61が、データ転送シーケンス状態の初期化及びバス要求と送信の抑止の一時解除を行うことなく、バス1を介しデバイス11へ診断応答を送信する。ステップ14では、デバイス11〜61が、サスペンド信号のディアサートを検出すると、状態リストアを行うことなくデータ転送を再開する。
上記以外の動作は前記第1の実施の形態と同様である。
In
Operations other than those described above are the same as those in the first embodiment.
本発明の第2の実施の形態によれば、前記第1の実施の形態と同様に異常の検出が速やかに行われ、また前記輻輳によるタイムアウトに対して、誤って行われる異常終了処理を回避できる。 According to the second embodiment of the present invention, as in the first embodiment, an abnormality is detected quickly, and an abnormal termination process that is erroneously performed with respect to a timeout due to the congestion is avoided. it can.
また、退避格納部124や状態セーブやリストアのための回路を必要としないので、診断用転送で上書きされる状態情報が大きくなるデバイスでは第2の実施の形態の方が第1の実施の形態より追加ハードウェア量が少なくなる。
Further, since the
本発明は、デバイス11〜61のいずれかにバスブリッジを含み、バスブリッジが第2のバスにも接続されたデータ処理装置においても適用できる。
即ち、バスブリッジが既存の中継機能の他サスペンド信号線7を第2のバスのサスペンド信号線に中継する様にすれば、第2のバス上のデバイスからの応答のタイムアウトをデバイス11が検出した場合にも同様にデータ転送を中断させ、診断コマンドへの応答により異常かバス輻輳かを判定でき、バス輻輳とみなせる場合にデータ転送を再開させる。
尚、デバイスIDは、上位ビットにバスIDを含むデバイスIDとし、バスブリッジはバス1に接続された第1のポートと第2のバスに接続された第2のポートの構成とする。
そして第1のポートは送信先IDが第2のバスを示していればコマンドを取り込み第2のポートを通じ送信先IDのデバイスIDに対応したデバイスに送信する。
The present invention can also be applied to a data processing apparatus in which any of the
That is, if the bus bridge relays the suspend
The device ID is a device ID including the bus ID in the upper bits, and the bus bridge has a first port connected to the
Then, if the destination ID indicates the second bus, the first port takes in the command and transmits it to the device corresponding to the device ID of the destination ID through the second port.
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 インバータ
1
Claims (14)
前記データ転送の相手の電子デバイスからの応答受信についてタイムアウトを検出するタイマーと、
前記タイムアウト検出を受け共通のサスペンド信号を駆動し他の電子デバイスも含めてデータ転送を中断させるサスペンド制御部と、
前記相手の電子デバイスに対しコマンドを送信し、前記コマンドに対する応答の有無を判定する診断制御部とを有することを特徴とする電子デバイス。 A bus transfer control unit that controls a common bus and performs data transfer with other electronic devices;
A timer for detecting a timeout for receiving a response from the electronic device of the data transfer partner;
A suspend control unit that receives the timeout detection and drives a common suspend signal to interrupt data transfer including other electronic devices;
An electronic device comprising: a diagnosis control unit that transmits a command to the electronic device of the other party and determines whether or not there is a response to the command.
前記バス転送制御部が、前記データ転送を中断時の状態をレジスタから前記退避格納部にセーブし、前記サスペンド信号の駆動停止を受け、前記退避格納部の情報を前記レジスタにリストアすることを特徴とする請求項2記載の電子デバイス。 With an evacuation storage,
The bus transfer control unit saves the state at the time of interrupting the data transfer from a register to the save storage unit, receives driving stop of the suspend signal, and restores the information of the save storage unit to the register. The electronic device according to claim 2.
前記コマンドを生成し前記バスを制御し送信する診断制御部とを備え、
前記コマンド及び前記コマンドへの応答のバス転送を前記診断制御部と前記選択回路を用いて行うことを特徴とする請求項2記載の電子デバイス。 A selection circuit that selects a bus control signal from each of the bus transfer control unit and the diagnosis control unit according to a state of the suspend signal, and drives a driver of the bus by its output;
A diagnostic control unit that generates the command and controls and transmits the bus;
3. The electronic device according to claim 2, wherein bus transfer of the command and a response to the command is performed using the diagnosis control unit and the selection circuit.
前記複数の電子デバイスを接続する共通のサスペンド信号線を備え、
前記電子デバイスが、
前記バスを制御し前記データ転送を行うバス転送制御部と、
前記データ転送の相手の電子デバイスからの応答受信についてタイムアウトを検出するタイマーと、
前記タイムアウト検出を受け前記サスペンド信号を駆動し他の電子デバイスも含めてデータ転送を中断させるサスペンド制御部と、
前記相手の電子デバイスに対しコマンドを送信し、前記コマンドに対する応答の有無を判定する診断制御部とを有することを特徴とするデータ処理装置。 A data processing apparatus including a common bus and a plurality of electronic devices that transfer data to each other via the bus,
A common suspend signal line connecting the plurality of electronic devices;
The electronic device is
A bus transfer control unit for controlling the bus and performing the data transfer;
A timer for detecting a timeout for receiving a response from the electronic device of the data transfer partner;
A suspend control unit for receiving the timeout detection and driving the suspend signal to interrupt data transfer including other electronic devices;
A data processing apparatus comprising: a diagnostic control unit that transmits a command to the electronic device of the other party and determines whether or not there is a response to the command.
前記バス転送制御部が、前記データ転送中断時の状態をレジスタから前記退避格納部にセーブし、前記サスペンド信号の駆動停止を受け、前記退避格納部の情報を前記レジスタにリストアすることを特徴とする請求項7記載のデータ処理装置。 The electronic device includes an evacuation storage unit;
The bus transfer control unit saves the state at the time of the data transfer interruption from the register to the save storage unit, receives driving stop of the suspend signal, and restores the information of the save storage unit to the register The data processing apparatus according to claim 7.
前記バス転送制御部と前記診断制御部のそれぞれからのバス制御信号を前記サスペンド信号の状態により選択し、その出力で前記バスのドライバを駆動する選択回路と、
前記コマンドを生成し前記バスを制御し送信する診断制御部とを備え、
前記コマンド及び前記コマンドへの応答のバス転送を、前記診断制御部と前記選択回路を用いて行うことを特徴とする請求項7記載のデータ処理装置。 The electronic device is
A selection circuit that selects a bus control signal from each of the bus transfer control unit and the diagnosis control unit according to a state of the suspend signal, and drives a driver of the bus by its output;
A diagnostic control unit that generates the command and controls and transmits the bus;
8. The data processing apparatus according to claim 7, wherein bus transfer of the command and a response to the command is performed using the diagnosis control unit and the selection circuit.
データ転送の相手の電子デバイスからの応答受信についてタイムアウトを検出する手順と、
前記タイムアウト検出を受けると、共通のサスペンド信号を駆動し他の電子デバイスも含めてデータ転送を中断させるサスペンド制御手順と、
前記相手の電子デバイスに対しコマンドを送信し、前記コマンドに対する応答の有無を判定する診断制御手順とを有することを特徴とするバス制御方法。 A bus transfer control procedure for controlling the bus and transferring data;
A procedure for detecting a timeout for receiving a response from the electronic device of the data transfer partner;
Upon receiving the timeout detection, a suspend control procedure for driving a common suspend signal and interrupting data transfer including other electronic devices;
A bus control method comprising: a diagnostic control procedure for transmitting a command to the electronic device of the other party and determining whether or not there is a response to the command.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007257866A JP4941212B2 (en) | 2007-10-01 | 2007-10-01 | Electronic device, data processing apparatus, and bus control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007257866A JP4941212B2 (en) | 2007-10-01 | 2007-10-01 | Electronic device, data processing apparatus, and bus control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009087149A JP2009087149A (en) | 2009-04-23 |
JP4941212B2 true JP4941212B2 (en) | 2012-05-30 |
Family
ID=40660471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007257866A Expired - Fee Related JP4941212B2 (en) | 2007-10-01 | 2007-10-01 | Electronic device, data processing apparatus, and bus control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4941212B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662782B (en) | 2012-04-17 | 2014-09-03 | 华为技术有限公司 | Method and device for monitoring system bus |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2917291B2 (en) * | 1989-04-20 | 1999-07-12 | 日本電気株式会社 | Fault detection method for multiprocessor systems |
JPH0573443A (en) * | 1991-09-18 | 1993-03-26 | Shikoku Nippon Denki Software Kk | Interface bus controller |
JPH0635816A (en) * | 1992-07-17 | 1994-02-10 | Mitsubishi Electric Corp | Multi-cpu sustem |
JPH08137788A (en) * | 1994-11-11 | 1996-05-31 | Hitachi Ltd | Information processing system |
JPH1031656A (en) * | 1996-07-15 | 1998-02-03 | Nec Corp | Bus arbitrating system for multiprocessor system |
JPH11167528A (en) * | 1997-12-03 | 1999-06-22 | Hitachi Ltd | Time-out control method for data processing system |
JP2000196700A (en) * | 1998-12-24 | 2000-07-14 | Smc Corp | Start-stop synchronization data transmitting method |
JP2001075935A (en) * | 1999-09-07 | 2001-03-23 | Nec Ibaraki Ltd | Inter-processor communication method |
JP2003233514A (en) * | 2002-02-12 | 2003-08-22 | Hitachi Ltd | Decentralized computer system and setting method for timeout value |
JP2006262386A (en) * | 2005-03-18 | 2006-09-28 | Toshiba Corp | Control system |
-
2007
- 2007-10-01 JP JP2007257866A patent/JP4941212B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009087149A (en) | 2009-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3664664B2 (en) | Bus system and bus arbitration method thereof | |
US5805791A (en) | Method and system for detection of and graceful recovery from a peripheral device fault | |
KR101077512B1 (en) | Transmitting system, apparatus, and method | |
US5712967A (en) | Method and system for graceful recovery from a fault in peripheral devices using a variety of bus structures | |
JP5151500B2 (en) | Computer system, failure processing method, and failure processing program | |
JPH07104826B2 (en) | Transfer control device | |
JP4941212B2 (en) | Electronic device, data processing apparatus, and bus control method | |
JPH06337843A (en) | Data transfer control method | |
JP4218538B2 (en) | Computer system, bus controller, and bus fault processing method used therefor | |
JP4487756B2 (en) | Computer system and system monitoring program | |
JP4131263B2 (en) | Multi-node system, node device, inter-node crossbar switch, and failure processing method | |
JPH08171528A (en) | Data processor | |
JP2001325212A (en) | Method and device for transmitting data block from source processor to destination processor in multiprocessor system | |
JP6475056B2 (en) | Interface failure detection device, interface failure detection system, interface failure detection method, and interface failure detection program | |
WO2012093475A1 (en) | Information transfer device and information transfer method of information transfer device | |
JP4666369B2 (en) | USB device | |
JP3497179B2 (en) | Bus management method for data processing system | |
JPH06223031A (en) | Transfer controller | |
JP2933039B2 (en) | Communication controller | |
JP4597484B2 (en) | Compound computer system | |
JP2006119982A (en) | Computer system | |
JP2010003268A (en) | Slave device | |
JPH06223032A (en) | Transfer controller | |
JP2019020766A (en) | Electronic apparatus | |
JP2001282707A (en) | Device and method for controlling bus |
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 |