WO2012023198A1 - バス制御装置及びバス制御方法 - Google Patents

バス制御装置及びバス制御方法 Download PDF

Info

Publication number
WO2012023198A1
WO2012023198A1 PCT/JP2010/064011 JP2010064011W WO2012023198A1 WO 2012023198 A1 WO2012023198 A1 WO 2012023198A1 JP 2010064011 W JP2010064011 W JP 2010064011W WO 2012023198 A1 WO2012023198 A1 WO 2012023198A1
Authority
WO
WIPO (PCT)
Prior art keywords
bus
interrupt
bus width
degeneration
comparison
Prior art date
Application number
PCT/JP2010/064011
Other languages
English (en)
French (fr)
Inventor
和善 ▲高▼山
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2010/064011 priority Critical patent/WO2012023198A1/ja
Priority to JP2012529445A priority patent/JP5644859B2/ja
Publication of WO2012023198A1 publication Critical patent/WO2012023198A1/ja
Priority to US13/767,219 priority patent/US20130159589A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)

Abstract

 バス制御装置(1)が、データの転送経路であるバスのバス幅に関する閾値を記憶する記憶部(11)と、バス幅の縮退が生じたとき、縮退後のバス幅と、記憶部(11)に記憶された閾値とを比較する比較部(12)と、比較部(12)によって比較した結果に基づいて、バスの縮退に関する処理を行うプロセッサへの割り込み動作を決定する決定部(13)とを備えることとしたので、割り込みを受け付けたプロセッサの負担を軽減することができる。

Description

バス制御装置及びバス制御方法
 本発明は、バス制御装置及びバス制御方法に関する。
 従来より、バスの一部に障害が発生した場合に、障害が発生したバスの一部を切り離してバス幅を縮退させることで、動作を継続させるバス制御方式が存在している。例えば、PCI-Express仕様では、複数レーンからなる伝送路で障害が発生した場合のレーン縮退について規定している。
 このバス制御方式では、ハードウェアがバスの障害を検知し、バス幅の縮退を行なった場合に、プロセッサへの割り込みを発生させることによってバス幅の縮退があったことをプロセッサで動作するソフトウェアに通知する。例えば、PCI-Expressでは、Link Bandwidth Notification機構が、バス幅の縮退を行なった場合に、割り込みを発生させて、バス幅の縮退があったことをプロセッサへ通知する。
 そして、通知を受けたソフトウェアは、縮退後のバス幅に応じて適切な処理を行うために、ハードウェアにある、バス状態を表すレジスタから縮退後のバス幅を読み出し、読み出した値に基づいて処理を切り分ける。このバス状態を表すレジスタは、例えば、PCI-Expressでは、Link Status Register内のNegotiated Link Widthフィールドに相当する。
 例えば、従来のバス制御方式について、図9を参照して説明する。図9は、従来のバス制御方式を説明する図である。図9に示すように、情報処理装置9は、例えば、プロセッサ91、ユニットA92及びユニットB93を備えるものとする。ユニットA92及びユニットB93を接続するバス94に障害が発生したとき、ユニットA92のバス制御部921がバス94のバス幅を縮退し、縮退後のバス幅を、バス状態を表す有効バス幅レジスタ921aに格納する。そして、ユニットA92の割り込み制御部922がバス制御部921からバス縮退通知の信号を受け取ると、プロセッサ91へバス縮退通知の割り込みを発生させる。
 さらに、プロセッサ91では、ソフトウェアが割り込み制御部922からバス縮退通知の割り込みを受け付けると、ユニットA92の有効バス幅レジスタ921aの値を読み出し、読み出した値に基づいてユニットB93を切り離す等の適切な処理を実行する。
特開2009-116732号公報 特開2005-332357号公報 特開2009-140246号公報
 しかしながら、従来のバス制御方式では、バス縮退通知の割り込みを受け付けたソフトウェアに負担がかかるという問題がある。すなわち、ソフトウェアは、障害を検知したハードウェアにある、バス状態を表すレジスタから縮退後のバス幅を読み出す必要があるので、適切な処理の切り分けを行なうまでの負担が大きい。
 特に、バス状態を表すレジスタは、ソフトウェアが実行されるプロセッサとは異なるハードウェアであるLSI(Large Scale Integration)に実装されていることが多い。この結果、ソフトウェアでは、このレジスタからバス幅を読み出すのに時間がかかり、負担がかかることとなる。
 また、適切な処理の切り分け前には、処理の優先度が確定しない。このため、ソフトウェアでは、仮に切り分け後の処理がバスのリカバリを必要としないような優先度の低い処理であったとしても、割り込みの受け付けから処理の切り分けまでの処理を高いレベルの優先度で処理することとなり、負担がかかることになる。
 開示の技術は、上記に鑑みてなされたものであって、バス幅の縮退が発生した場合に、割り込みを受け付けたソフトウェアの負担を軽減するバス制御装置等を提供することを目的とする。
 本願の開示するバス制御装置は、一つの態様において、データの転送経路であるバスのバス幅に関する閾値を記憶する記憶部と、バス幅の縮退が生じたとき、縮退後のバス幅と、前記記憶部に記憶された閾値とを比較する比較部と、前記比較部によって比較した結果に基づいて、バスの縮退に関する処理を行うプロセッサへの割り込み動作を決定する決定部とを備える。
 本願の開示するバス制御装置の一つの態様によれば、バス幅の縮退が発生した場合に、割り込みを受け付けたプロセッサの負担を軽減できるという効果を奏する。
図1は、実施例1に係るバス制御装置の構成を示す機能ブロック図である。 図2は、実施例2に係るサーバ装置の構成を示す機能ブロック図である。 図3は、実施例2に係る割り込み制御回路の処理手順を示すフローチャートである。 図4は、実施例2に係るCPUの処理手順を示すフローチャートである。 図5は、実施例3に係るシステムの構成を示す機能ブロック図である。 図6は、実施例3に係る割り込み制御回路の処理手順を示すフローチャートである。 図7は、実施例3に係るシステム管理装置の処理手順を示すフローチャートである。 図8は、実施例3に係るCPUの処理手順を示すフローチャートである。 図9は、従来のバス制御方式を説明する図である。
 以下に、本願の開示するバス制御装置及びバス制御方法の実施例を図面に基づいて詳細に説明する。なお、本実施例によりこの発明が限定されるものではない。
 図1は、本実施例1に係るバス制御装置1の構成を示す機能ブロック図である。図1に示すように、バス制御装置1は、記憶部11、比較部12及び決定部13を有する。
 記憶部11は、データの転送経路であるバスのバス幅に関する閾値を記憶する。
 比較部12は、バス幅の縮退が生じたとき、縮退後のバス幅と、記憶部11に記憶された閾値とを比較する。
 決定部13は、比較部12によって比較した結果に基づいて、バスの縮退に関する処理を行うプロセッサ2への割り込み動作を決定する。
 このようにして、バス制御装置1が、バスのバス幅に関する閾値を記憶しておき、縮退後のバス幅との比較に記憶した閾値を用い、比較結果に基づいてプロセッサへの割り込み動作を決定することとした。このため、バス制御装置1が、決定した割り込み動作に応じた割り込みをプロセッサ2へ発生させるので、割り込みを受け付けたプロセッサのバスの縮退に関する処理負担を軽減できる。
[実施例2に係るサーバ装置の構成]
 図2は、本実施例2に係るサーバ装置9Aの構成を示す機能ブロック図である。サーバ装置9Aは、I/Oブリッジ1A、CPU2A、メモリ3及びPCI-Expressデバイス4Aを有する。I/Oブリッジ1Aは、CPU2AとCPUバスで接続される。また、I/Oブリッジ1Aは、PCI-Expressルートコンプレックス機能を有し、PCI-Expressデバイス4Aと4レーンのPCI-Expressバスで接続される。このPCI-Expressバスは、一部に障害が発生した場合、障害が発生した一部のレーンを切り離し、レーンを縮退する。なお、I/Oブリッジ1AがPCI-Expressデバイス4Aと接続するPCI-Expressバスは、4レーンに限定されるものではなく、8レーンや16レ-ン等であっても構わない。
 I/Oブリッジ1Aは、バス幅閾値レジスタA21、CPUバス制御部22、PCI-Express制御部23、比較回路24A及び割り込み制御回路25Aを有する。CPU2Aは、バスの縮退に関するプログラム及び各種データを記憶するメモリ3と接続され、当該プログラムを実行する。CPU2Aは、割り込みマスク31及び割り込み処理部32を有する。PCI-Expressデバイス4Aは、PCI-Express制御部41を有する。
 バス幅閾値レジスタA21は、PCI-Expressバスのバス幅に関する閾値を記憶する。具体的には、バス幅閾値レジスタA21は、PCI-Expressバスの動作可能なレーン数を、バス幅に関する閾値(以降、単に「閾値」という。)として記憶する。すなわち、バス幅閾値レジスタA21は、PCI-Expressデバイス4Aが動作を継続するために最低限必要なレーン数を、閾値として記憶する。なお、バス幅閾値レジスタA21は、後述するCPUバス制御部22によって格納される。
 CPUバス制御部22は、CPUバスを介してCPU2Aとの通信を制御する。例えば、CPUバス制御部22は、システム設計者によって予め定められた閾値を、システムの初期化時にCPU2Aから受け取り、バス幅閾値レジスタA21に格納する。なお、CPUバス制御部22は、PCI-Expressバスに接続したPCI-Expressデバイス4Aの初期化時に閾値をCPU2Aから受け取り、バス幅閾値レジスタA21に格納するものとしても良い。また、閾値は、PCI-Expressデバイス4Aの種類毎に異なる値であっても良い。
 PCI-Express制御部23は、PCI-Expressバスの一部に障害が発生した場合、PCI-Expressデバイス4AのPCI-Express制御部41とともに、レーンの縮退を行なう。さらに、PCI-Express制御部23は、縮退後のバス幅であるレーン数を記憶するバス幅レジスタ23aを備える。すなわち、PCI-Express制御部23は、PCI-Expressバスの一部に障害が発生した場合、障害が発生したバスのバス幅を縮退し、縮退後のバス幅をバス幅レジスタ23aに格納する。また、PCI-Express制御部23は、バス幅の縮退が生じたことを通知するバス幅縮退通知を、割り込み制御回路25Aに出力し、縮退後のバス幅を比較回路24Aに出力する。なお、バス幅レジスタ23aは、例えば、Link Status Register内のNegotiated Link Widthフィールドに相当する。
 比較回路24Aは、バス幅の縮退が生じたとき、縮退後のバス幅とバス幅閾値レジスタA21に記憶された閾値とを比較し、比較結果を割り込み制御回路25Aに通知する。例えば、比較回路24Aは、PCI-Express制御部23から縮退後のバス幅を受け取ると、縮退後のバス幅とバス幅閾値レジスタA21に記憶された閾値とを比較する。そして、比較回路24Aは、縮退後のバス幅が閾値以上であるか否かの比較結果を割り込み制御回路25Aに通知する。
 割り込み制御回路25Aは、比較回路24Aによる比較結果に基づいて、バスの縮退に関する処理を行うCPU2Aへの割り込み動作を決定する。なお、割り込み動作とは、例えばCPU2Aへの割り込みの発生有無や、CPU2Aへの割り込みの発生が有る場合には割り込みの種類に基づく動作を含む。また、割り込みの種類とは、例えば、基準となる優先度より低い優先度の割り込み及び高い優先度の割り込みを意味する。
 具体的には、割り込み制御回路25Aは、縮退後のバス幅が閾値以上である比較結果の場合には、PCI-Expressバスが動作可能なレーン数であると判断する。そして、割り込み制御回路25Aは、優先度のレベルが低い優先度の割り込みをCPU2Aに対して発生させる。一方、割り込み制御回路25Aは、縮退後のバス幅が閾値より小さい比較結果の場合には、PCI-Expressバスが動作可能なレーン数でないと判断する。そして、割り込み制御回路25Aは、優先度のレベルが高い優先度の割り込みをCPU2Aに対して発生させる。
 例えば、バス幅閾値レジスタA21に記憶されている閾値が「2」であり、PCI-Expressバスが4レーンから2レーンに縮退したものとする。この場合には、割り込み制御回路25Aは、縮退後のバス幅(「2」)が、閾値である「2」以上であるので、PCI-Expressバスが動作可能なレーン数であると判断し、CPU2Aに対して低優先度の割り込みを発生させる。一方、バス幅閾値レジスタA21に記憶されている閾値が「2」であり、PCI-Expressバスが4レーンから1レーンに縮退したものとする。この場合には、割り込み制御回路25Aは、縮退後のバス幅(「1」)が、閾値である「2」より小さいので、PCI-Expressバスが動作可能なレーン数でないと判断し、CPU2Aに対して高優先度の割り込みを発生させる。
 割り込みマスク31は、割り込みを受け付けるか否かを制御する。割り込みマスク31は、割り込み制御回路25Aから発生した割り込みを受け付けた場合には、受け付けた割り込みの種類に応じた処理を動作させるべく、プログラムカウンタを該当するアドレスに設定する。
 割り込み処理部32は、割り込みの種類に応じた処理を実行する。具体的には、割り込み処理部32は、高優先度の割り込みの場合には、PCI-Expressデバイス4Aの停止処理を実行し、例えば他のPCI-Expressデバイスへの再割り当てを行う等のシステムリカバリ処理を実行する。そして、割り込み制御部32は、障害解析で用いるべく、詳細なログ情報を収集し、ハードディスク等の記憶装置に格納する。一方、割り込み処理部32は、低優先度の割り込みの場合には、バス幅の縮退が生じたことをログ情報として、ハードディスク等の記憶装置に格納する。
[実施例2に係る割り込み制御回路の処理手順]
 次に、実施例2に係る割り込み制御回路の処理のシーケンスを、図3を参照して説明する。図3は、実施例2に係る割り込み制御回路の処理手順を示すフローチャートである。
 まず、割り込み制御回路25Aは、バス幅の縮退が発生したか否かを判定する(ステップS11)。具体的には、割り込み制御回路25Aは、PCI-Express制御部23からバス幅縮退通知があるか否かを判定する。
 そして、割り込み制御回路25Aは、バス幅の縮退が発生していないと判定する場合には(ステップS11;No)、バス幅縮退の発生を待ち合わせるべく、ステップS11に移行する。一方、割り込み制御回路25Aは、バス幅の縮退が発生していると判定する場合には(ステップS11;Yes)、バス幅レジスタ23aの値がバス幅閾値レジスタA21の値以上であるか否かを判定する(ステップS12)。なお、バス幅レジスタ23aの値は縮退後のバス幅を指し、バス幅閾値レジスタA21の値はPCI-Expressバスの動作可能なレーン数を指す。
 続いて、割り込み制御回路25Aは、バス幅レジスタ23aの値がバス幅閾値レジスタA21の値以上であると判定する場合には(ステップS12;Yes)、PCI-Expressバスが動作可能なレーン数であると判断する。そして、割り込み制御回路25Aは、低優先度の割り込みを発生させることを決定し(ステップS13)、ステップS15に移行する。
 一方、割り込み制御回路25Aは、バス幅レジスタ23aの値がバス幅閾値レジスタA21の値より小さいと判定する場合には(ステップS12;No)、PCI-Expressバスが動作可能なレーン数でないと判断する。そして、割り込み制御回路25Aは、高優先度の割り込みを発生させることを決定する(ステップS14)。
 その後、割り込み制御回路25Aは、決定した優先度の割り込みをCPU2Aに対して発生させる(ステップS15)。
[実施例2に係るCPUの処理手順]
 次に、実施例2に係るCPUの処理のシーケンスを、図4を参照して説明する。図4は、実施例2に係るCPUの処理手順を示すフローチャートである。
 まず、割り込みマスク31が、割り込みを受け付けるか否かを判定する(ステップS21)。そして、割り込みマスク31が、割り込みを受け付けないと判定する場合には(ステップS21;No)、割り込みを待ち合わせるべく、ステップS21に移行する。一方、割り込みマスク31が、割り込みを受け付けると判定する場合には(ステップS21;Yes)、割り込みを受け付け、受け付けた割り込みの種類に応じた処理を動作させるべく、プログラムカウンタを該当するアドレスに設定する。
 続いて、割り込み処理部32は、高優先度の割り込みであるか否かを判定する(ステップS22)。そして、割り込み処理部32は、高優先度の割り込みであると判定する場合には(ステップS22;Yes)、PCI-Expressデバイス4Aの停止処理を実行する(ステップS23)。そして、割り込み処理部32は、例えば他のPCI-Expressデバイスへの再割り当てを行う等のシステムリカバリ処理を実行する(ステップS24)。さらに、割り込み処理部32は、詳細なログ情報を収集し(ステップS25)、収集したログ情報をハードディスク等の記憶装置に記録する(ステップS26)。
 一方、割り込み処理部32は、高優先度の割り込みでないと判定する場合には(ステップS22;No)、バス幅の縮退が生じたことをログ情報として記憶する(ステップS27)。
[実施例2の効果]
 上記実施例2によれば、I/Oブリッジ1Aは、バス幅閾値レジスタA21にバス幅に関する閾値を記憶しておき、バス幅の縮退が生じたとき、縮退後のバス幅と、バス幅閾値レジスタA21に記憶された閾値とを比較する。そして、I/Oブリッジ1Aは、比較結果に基づいて、バスの縮退に関する処理を行うCPU2Aへの割り込みの優先度を決定する。
 かかる構成によれば、I/Oブリッジ1Aは、決定した優先度に応じた割り込みをCPU2Aへ発生させるので、割り込みを受け付けたCPU2Aでのバスの縮退に関する処理負担を軽減できる。すなわち、I/Oブリッジ1Aが、縮退後のバス幅と閾値とを比較し、比較結果に基づいた優先度の割り込みをCPU2Aへ発生させるので、CPU2Aでは、割り込みの受け付けからバスの縮退に関する処理の切り分けまでの処理自体及び処理時間を軽減できる。
 また、I/Oブリッジ1Aは、決定した優先度に応じた割り込みをCPU2Aへ発生させるので、割り込みを受け付けたCPU2Aでは、常時高い優先度で処理することを回避でき、システムの性能低下を防止できる。さらに、I/Oブリッジ1Aは、優先度を考慮した割り込みをCPU2Aへ発生させるので、割り込みを受け付けるCPU2Aでは、システムの負荷に応じた割り込み管理を行うことができる。例えば、CPU2Aは、システムの負荷が高い状態では、高い優先度の割り込みのみを受け付けることができ、システム負荷が低い状態では、高い優先度及び低い優先度の割り込みを受け付けることができる。つまり、I/Oブリッジ1Aは、CPU2Aにおけるバスの縮退に関する処理によってシステム本来の業務処理に及ぼす影響を小さくすることができる。
 また、上記実施例2によれば、バス幅閾値レジスタA21は、バスに接続したデバイスの種類毎に規定された閾値を、バスに接続したデバイスが初期化されるときにデバイスの種類に応じて記憶するようにした。かかる構成によれば、バス幅閾値レジスタA21は、バスに接続したデバイスが初期化されるときに、当該デバイスの種類毎に規定された閾値を記憶することとしたので、デバイスの種類に応じた精度の高いリカバリ処理を行わせることができる。
 ところで、実施例2に係るI/Oブリッジ1Aでは、バス幅に関する閾値を1個記憶しておき、記憶した閾値と縮退後のバス幅とを比較し、比較結果に基づいて、プロセッサへの割り込みの優先度を決定する場合を説明した。I/Oブリッジ1Aは、これに限定されるものではなく、バス幅に関する閾値を複数記憶しておき、記憶した複数の閾値と縮退後のバス幅とを比較し、比較結果に基づいて、プロセッサへの割り込みの有無及び割り込みの優先度を決定しても良い。
 そこで、実施例3では、I/Oブリッジ1Bが、バス幅に関する閾値を複数記憶しておき、記憶した複数の閾値と縮退後のバス幅とを比較し、比較結果に基づいて、プロセッサへの割り込みの有無及び割り込みの優先度を決定する場合を説明する。
[実施例3に係るシステムの構成]
 図5は、実施例3に係るサーバ装置9Bを含む情報処理システム5の構成を示す機能ブロック図である。なお、図2に示すサーバ装置9Aと同一の構成については同一符号を示すことで、その重複する構成及び動作の説明については省略する。実施例2と実施例3とが異なるところは、I/Oブリッジ1Bにバス幅閾値レジスタB52及び比較回路24Bを追加した点にある。また、実施例2と実施例3とが異なるところは、割り込み制御回路25A及びPCI-Express制御部23をそれぞれ割り込み制御回路25B及びバス制御部51に変更した点にある。さらに、実施例2と実施例3とが異なるところは、PCI-Expressデバイス4AをI/Oインタフェースカード4Bに変更し、サーバ装置9Bにシステム管理装置8を接続した点にある。
 I/Oブリッジ1Bは、I/Oインタフェースカード4Bと、8バイト幅のパラレルバスであるI/Oバスで接続される。このI/Oバスは、一部に障害が発生した場合、4バイト幅、2バイト幅、1バイト幅にバス幅を縮退する。なお、I/Oブリッジ1BがI/Oインタフェースカード4Bと接続するI/Oバスは、8バイト幅に限定されるものではない。
 CPU2Bは、バスの縮退に関するプログラム及び各種データを記憶するメモリ3と接続され、当該プログラムを実行する。CPU2Bは、バスエラー割り込み処理部63を有する。システム管理装置8は、情報処理システム5全体の監視及び管理を行い、割り込みマスク61及び割り込み処理部62を有する。
 バス幅閾値レジスタB52は、I/Oバスのバス幅に関する閾値を記憶する。具体的には、バス幅閾値レジスタB52は、I/Oバスに障害が発生したときログに記録を要する縮退後のバス幅の上限を、バス幅に関する閾値(以降、単に「閾値」という。)として記憶する。なお、バス幅閾値レジスタA21は、I/Oバスが動作可能なバス幅を閾値として記憶する。すなわち、バス幅閾値レジスタA21は、I/Oインタフェースカード4Bが動作を継続するために最低限必要なバス幅を、閾値として記憶する。バス幅閾値レジスタA21及びバス幅閾値レジスタB52は、後述するシステム管理装置8によって格納される。
 バス制御部51は、I/Oバスの一部に障害が発生した場合、I/Oインタフェースカード4Bのバス制御部42とともに、バス幅の縮退を行なう。また、バス制御部51は、障害が発生したバスのバス幅を縮退し、縮退後のバス幅をバス幅レジスタ23aに格納する。また、バス制御部51は、バス幅の縮退が生じたことを通知するバス幅縮退通知を、割り込み制御回路25Bに出力し、縮退後のバス幅を比較回路24A及び比較回路24Bに出力する。
 比較回路24Bは、バス幅の縮退が生じたとき、縮退後のバス幅とバス幅閾値レジスタB52に記憶された閾値とを比較し、比較結果を割り込み制御回路25Bに通知する。例えば、比較回路24Bは、バス制御部51から縮退後のバス幅を受け取ると、縮退後のバス幅とバス幅閾値レジスタB52に記憶された閾値とを比較する。そして、比較回路24Bは、縮退後のバス幅が閾値以上であるか否かの比較結果を割り込み制御回路25Bに通知する。なお、比較回路24Aは、縮退後のバス幅とバス幅閾値レジスタA21に記憶された閾値とを比較し、縮退後のバス幅が閾値以上であるか否かの比較結果を割り込み制御回路25Bに通知する。
 割り込み制御回路25Bは、比較回路24A及び比較回路24Bによるそれぞれの比較結果に基づいて、バスの縮退に関する処理を行うCPU2B及びシステム管理装置8への割り込み動作を決定する。なお、割り込み動作とは、例えば割り込みの発生有無や、割り込みの発生が有る場合には割り込みの種類に基づく動作を含む。また、割り込みの種類とは、基準となる優先度より低い優先度の割り込み及び高い優先度の割り込みを意味する。具体的には、割り込み制御回路25Bは、縮退後のバス幅がバス幅閾値レジスタB52の閾値より小さい比較結果であり、且つバス幅閾値レジスタA21の閾値以上の比較結果である場合、障害記録を要する動作可能なバス幅であると判断する。そして、割り込み制御回路25Bは、優先度のレベルが低い優先度の割り込みをシステム管理装置8に対して発生させる。
 また、割り込み制御回路25Bは、縮退後のバス幅がバス幅閾値レジスタA21の閾値より小さい比較結果である場合、動作可能なバス幅でないと判断する。そして、割り込み制御回路25Bは、優先度のレベルが高い優先度の割り込みをシステム管理装置8に対して発生させるとともに、バスエラーの割り込みをCPU2Bに対して発生させる。一方、割り込み制御回路25Bは、縮退後のバス幅がバス幅閾値レジスタB52の閾値以上の比較結果である場合、障害記録を要さない動作可能なバス幅であると判断する。そして、割り込み制御回路25Bは、割り込みをシステム管理装置8に対して発生させないものとする。
 例えば、バス幅閾値レジスタB52に記憶されている閾値が「4」バイトであり、バス幅閾値レジスタA21に記憶されている閾値が「2」バイトであるものとする。そして、I/Oバスが8バイトから4バイトに縮退したものとする。この場合には、割り込み制御回路25Bは、縮退後のバス幅(「4」)が、バス幅閾値レジスタB52に記憶されている閾値(「4」)以上であるので、障害記録を要さない動作可能なバス幅であると判断し、システム管理装置8に対して割り込みを発生させない。
 また、I/Oバスが8バイトから2バイトに縮退したものとする。この場合には、割り込み制御回路25Bは、縮退後のバス幅(「2」)がバス幅閾値レジスタB52の閾値(「4」)より小さく且つバス幅閾値レジスタA21の閾値(「2」)以上であるので、障害記録を要する動作可能なバス幅であると判断する。そして、割り込み制御回路25Bは、優先度のレベルが低い優先度の割り込みをシステム管理装置8に対して発生させる。
 また、I/Oバスが8バイトから1バイトに縮退したものとする。この場合には、割り込み制御回路25Bは、縮退後のバス幅(「1」)がバス幅閾値レジスタA21の閾値(「2」)より小さいので、動作可能なバス幅でないと判断する。そして、割り込み制御回路25Bは、優先度のレベルが高い優先度の割り込みをシステム管理装置8に対して発生させるとともに、バスエラーの割り込みをCPU2Bに対して発生させる。
 割り込みマスク61は、割り込みを受け付けるか否かを制御する。割り込みマスク61は、割り込み制御回路25Bから発生した割り込みを受け付けた場合には、受け付けた割り込みの種類に応じた処理を動作させるべく、プログラムカウンタを該当するアドレスに設定する。
 割り込み処理部62は、割り込みの種類に応じた処理を実行する。具体的には、割り込み処理部62は、高優先度の割り込みの場合には、障害解析で用いるべく、詳細なログ情報を収集し、ハードディスク等の記憶装置に格納する。一方、割り込み処理部62は、低優先度の割り込みの場合には、バス幅の縮退が生じたことをログ情報として、ハードディスク等の記憶装置に格納する。
 なお、システム管理装置8は、システム設計者によって予め定められた閾値を、システムの初期化時にシステム制御バスを介して、I/Oブリッジ1Bのバス幅閾値レジスタA21及びバス幅閾値レジスタB52に格納する。
 バスエラー割り込み制御部63は、割り込み制御回路25Bから発生したバスエラーの割り込みを受け付けた場合には、I/Oインタフェースカード4Bの停止処理を実行する。また、バスエラー割り込み制御部63は、例えばI/Oアクセスの経路を他のインタフェース回路へ切り替える等のシステムリカバリ処理を実行する。
[実施例3に係る割り込み制御回路の処理手順]
 次に、実施例3に係る割り込み制御回路の処理のシーケンスを、図6を参照して説明する。図6は、実施例3に係る割り込み制御回路の処理手順を示すフローチャートである。
 まず、割り込み制御回路25Bは、バス幅の縮退が発生したか否かを判定する(ステップS31)。具体的には、割り込み制御回路25Bは、バス制御部51からバス幅縮退通知があるか否かを判定する。
 そして、割り込み制御回路25Bは、バス幅の縮退が発生していないと判定する場合には(ステップS31;No)、バス幅縮退の発生を待ち合わせるべく、ステップS31に移行する。一方、割り込み制御回路25Bは、バス幅の縮退が発生していると判定する場合には(ステップS31;Yes)、バス幅レジスタ23aの値がバス幅閾値レジスタB52の値以上であるか否かを判定する(ステップS32)。なお、バス幅レジスタ23aの値は、縮退後のバス幅を指し、バス幅閾値レジスタB52の値は、I/Oバスに障害が発生したときログに記録を要する縮退後のバス幅の上限値を指す。
 続いて、割り込み制御回路25Bは、バス幅レジスタ23aの値がバス幅閾値レジスタB52の値以上である場合には(ステップS32;Yes)、障害記録を要さない動作可能なバス幅であると判断する。そして、割り込み制御回路25Bは、割り込みを発生させないことを決定し(ステップS33)、処理を終了する。
 一方、割り込み制御回路25Bは、バス幅レジスタ23aの値がバス幅閾値レジスタB52の値未満である場合には(ステップS32;No)、バス幅レジスタ23aの値がバス幅閾値レジスタA21の値以上であるか否かを判定する(ステップS34)。なお、バス幅閾値レジスタA21の値は、I/Oバスが動作可能なバス幅を指す。
 そして、割り込み制御回路25Bは、バス幅レジスタ23aの値がバス幅閾値レジスタA21の値以上である場合には(ステップS34;Yes)、障害記録を要する動作可能なバス幅であると判断する。そして、割り込み制御回路25Bは、低優先度の割り込みを発生させることを決定し(ステップS35)、ステップS37に移行する。
 一方、割り込み制御回路25Bは、バス幅レジスタ23aの値がバス幅閾値レジスタA21の値未満である場合には(ステップS34;No)、動作可能なバス幅でないと判断する。そして、割り込み制御回路25Bは、高優先度の割り込みを発生させることを決定し(ステップS36)、ステップS37に移行する。
 続いて、割り込み制御回路25Bは、決定した割り込みの優先度に応じた割り込みをシステム管理装置8に対して発生させる(ステップS37)。このとき、割り込み制御回路25Bは、システム管理装置8に対して高優先度の割り込みを発生させた場合には、CPU2Bに対してバスエラーの割り込みを発生させる。
[実施例3に係るシステム管理装置の処理手順]
 次に、実施例3に係るシステム管理装置の処理のシーケンスを、図7を参照して説明する。図7は、実施例3に係るシステム管理装置の処理手順を示すフローチャートである。
 まず、割り込みマスク61が、割り込みを受け付けるか否かを判定する(ステップS41)。そして、割り込みマスク61が、割り込みを受け付けないと判定する場合には(ステップS41;No)、割り込みを待ち合わせるべく、ステップS41に移行する。一方、割り込みマスク61が、割り込みを受け付けると判定する場合には(ステップS41;Yes)、割り込みを受け付け、受け付けた割り込みの種類に応じた処理を動作させるべく、プログラムカウンタを該当するアドレスに設定する。
 続いて、割り込み処理部62は、高優先度の割り込みであるか否かを判定する(ステップS42)。そして、割り込み処理部62は、高優先度の割り込みであると判定する場合には(ステップS42;Yes)、詳細なログ情報を収集し(ステップS43)、収集したログ情報をハードディスク等の記憶装置に記録する(ステップS44)。
 一方、割り込み処理部62は、高優先度の割り込みでないと判定する場合には(ステップS42;No)、バス幅の縮退が生じたことをログ情報として記憶する(ステップS45)。
[実施例3に係るCPUの処理手順]
 次に、実施例3に係るCPUの処理のシーケンスを、図8を参照して説明する。図8は、実施例3に係るCPUの処理手順を示すフローチャートである。
 まず、バスエラー割り込み処理部63が、バスエラーの割り込みが発生したか否かを判定する(ステップS51)。そして、バスエラー割り込み処理部63が、バスエラーの割り込みが発生していないと判定する場合には(ステップS51;No)、バスエラーの割り込みを待ち合わせるべく、ステップS51に移行する。一方、バスエラー割り込み処理部63が、バスエラーの割り込みが発生していると判定する場合には(ステップS51;Yes)、バスエラーの割り込みに応じた処理を動作させるべく、プログラムカウンタを該当するアドレスに設定する。
 そして、バスエラー割り込み処理部63は、I/Oインタフェースカード4Bの停止処理を実行する(ステップS52)。そして、バスエラー割り込み処理部63は、例えば他のインタフェース回路へ切り替える等のシステムリカバリ処理を実行する(ステップS53)。
[実施例3の効果]
 上記実施例3によれば、割り込み制御回路25Bが、比較回路24A及び比較回路24Bによる比較結果に基づいて、システム管理装置8へ割り込みを発生させるか否かを決定するようにした。かかる構成によれば、割り込み制御回路25Bが、比較結果に基づいて、システム管理装置8へ割り込みを発生させないことを決定した場合には、システム管理装置8に対して割り込みを発生させないので、システム管理装置8における処理負担を軽減できる。
 また、上記実施例3によれば、I/Oブリッジ1Bは、バス幅閾値レジスタA21及びバス幅閾値レジスタB52に、バス幅に関する閾値をそれぞれ記憶しておく。そして、I/Oブリッジ1Bは、バス幅の縮退が生じたとき、縮退後のバス幅と、バス幅閾値レジスタA21及びバス幅閾値レジスタB52にそれぞれ記憶された閾値とを比較する。さらに、I/Oブリッジ1Bは、比較結果に基づいて、システム管理装置8への割り込みの有無及び割り込みの優先度を決定する。かかる構成によれば、I/Oブリッジ1Bは、バス幅に関する閾値を複数記憶することとしたので、複数の閾値を境界として少なくとも3個の割り込み動作を決定できることとなる。すなわち、I/Oブリッジ1Bは、割り込みが無いこと及び割り込みが有ることを決定することが可能となり、さらに割り込みが有る場合には、低い優先度及び高い優先度を決定することが可能となる。この結果、システム管理装置8では、決定された優先度の割り込みに応じた処理を実行できることとなるので、処理の切り分けに要する負担を軽減できる。
[その他]
 なお、実施例2では、CPU2AとPCI-Expressデバイス4Aとの間に1台のI/Oブリッジ1Aを構成するものとして説明した。しかしながら、CPU2AとPCI-Expressデバイス4Aとの間にPCI-Expressバスで接続された複数台のI/Oブリッジ1AまたはPCI-Expressスイッチを直列または並列に構成するものとしても良い。この場合には、バス幅の縮退を検知したI/Oブリッジ1AまたはPCI-Expressスイッチが、自装置とCPU2Aとの間に備わるI/Oブリッジ1AまたはPCI-Expressスイッチを介して、自装置内で決定した優先度に応じた割り込みをCPU2Aに伝播させるようにすれば良い。これにより、I/Oブリッジ1AまたはPCI-Expressスイッチは、決定した優先度に応じた割り込みをCPU2Aへ伝播させるので、割り込みを受け付けたCPU2Aでのバスの縮退に関する処理負担を軽減できる。同様に、実施例3の場合であっても、CPU2BとI/Oインタフェースカード4Bとの間にI/Oバスで接続された複数台のI/Oブリッジ1Bまたは中継装置を直列または並列に構成するものとしても良い。
 また、実施例2では、I/Oブリッジ1Aは、PCI-Expressデバイス4AとPCI―Expressバスで接続されるものとして説明した。しかしながら、I/Oブリッジ1Aは、I/OインタフェースカードとI/Oバスで接続されるものとしても良い。
 また、実施例3では、I/Oブリッジ1Bは、I/Oインタフェースカード4BとI/Oバスで接続されるものとして説明した。しかしながら、I/Oブリッジ1Bは、PCI-ExpressデバイスとPCI-Expressバスで接続されるものとしても良い。
 また、サーバ装置9A、9Bは、既知のパーソナルコンピュータ、ワークステーションなどの情報処理装置に、上記したI/Oブリッジ1A等の各機能を搭載することによって実現することができる。
 また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、実施例3において比較回路24Aと比較回路24Bとを1個の部として統合しても良い。一方、割り込み制御回路25Bを、割り込みの有無を決定する割り込み有無決定部と、割り込みが有る場合に割り込みの優先度を決定する割り込み優先度決定部とに分散しても良い。また、バス幅閾値レジスタA21及びバス幅閾値レジスタB52をサーバ装置9A、9Bの外部装置としてネットワーク経由で接続するようにしても良い。
 また、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともできる。また、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
 1 バス制御装置
 2 プロセッサ
 11 記憶部
 12 比較部
 13 決定部
 1A、1B I/Oブリッジ
 2A CPU
 21 バス幅閾値レジスタA
 52 バス幅閾値レジスタB
 22 CPUバス制御部
 23 PCI-Express制御部
 23a バス幅レジスタ
 24A 比較回路
 24B 比較回路
 25A、25B 割り込み制御回路
 3 メモリ
 31、61 割り込みマスク
 32、62 割り込み処理部
 4A PCI-Expressデバイス
 41 PCI-Express制御部
 5 情報処理システム
 63 バスエラー割り込み処理部
 8 システム管理装置
 9A、9B サーバ装置

Claims (6)

  1.  データの転送経路であるバスのバス幅に関する閾値を記憶する記憶部と、
     バス幅の縮退が生じたとき、縮退後のバス幅と、前記記憶部に記憶された閾値とを比較する比較部と、
     前記比較部によって比較した結果に基づいて、バスの縮退に関する処理を行うプロセッサへの割り込み動作を決定する決定部と
     を有すること特徴とするバス制御装置。
  2.  前記決定部は、
     前記比較部によって比較した結果に基づいて、前記プロセッサへの割り込みを発生させるか否かを決定することを特徴とする請求項1に記載のバス制御装置。
  3.  前記決定部は、
     前記比較部によって比較した結果に基づいて、前記プロセッサへの割り込みの優先度を決定することを特徴とする請求項1に記載のバス制御装置。
  4.  前記記憶部は、
     複数の前記閾値を記憶し、
     前記比較部は、
     縮退後のバス幅と、前記記憶部に記憶された前記複数の閾値とを比較し、
     前記決定部は、
     前記比較部によって比較した結果に基づいて、前記プロセッサへの割り込みの有無及び割り込みの優先度を決定することを特徴とする請求項1に記載のバス制御装置。
  5.  前記記憶部は、
     バスに接続した装置の種類毎に規定された前記閾値を、バスに接続した装置が初期化されるときに前記装置の種類に応じて記憶することを特徴とする請求項1または請求項4に記載のバス制御装置。
  6.  データの転送経路であるバスのバス幅の縮退が生じたとき、バス制御装置がバスの縮退に関する処理を行うプロセッサへ割り込みを発生させるバス制御方法であって、
     前記バスのバス幅に関する閾値を記憶する記憶部から前記閾値を読み出し、読み出した前記閾値と、縮退後のバス幅とを比較する比較工程と、
     前記比較工程によって比較した結果に基づいて、前記プロセッサへの割り込み動作を決定する決定工程と
     を含むことを特徴とするバス制御方法。
PCT/JP2010/064011 2010-08-19 2010-08-19 バス制御装置及びバス制御方法 WO2012023198A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2010/064011 WO2012023198A1 (ja) 2010-08-19 2010-08-19 バス制御装置及びバス制御方法
JP2012529445A JP5644859B2 (ja) 2010-08-19 2010-08-19 バス制御装置及びバス制御方法
US13/767,219 US20130159589A1 (en) 2010-08-19 2013-02-14 Bus control device and bus control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/064011 WO2012023198A1 (ja) 2010-08-19 2010-08-19 バス制御装置及びバス制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/767,219 Continuation US20130159589A1 (en) 2010-08-19 2013-02-14 Bus control device and bus control method

Publications (1)

Publication Number Publication Date
WO2012023198A1 true WO2012023198A1 (ja) 2012-02-23

Family

ID=45604872

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/064011 WO2012023198A1 (ja) 2010-08-19 2010-08-19 バス制御装置及びバス制御方法

Country Status (3)

Country Link
US (1) US20130159589A1 (ja)
JP (1) JP5644859B2 (ja)
WO (1) WO2012023198A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2961098B1 (en) * 2014-04-02 2017-06-14 Huawei Technologies Co. Ltd. Method, device and system for processing pcie link failure
US10860512B2 (en) * 2019-04-26 2020-12-08 Dell Products L.P. Processor interconnect link training system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006201881A (ja) * 2005-01-18 2006-08-03 Fujitsu Ltd 情報処理装置およびシステムバス制御方法
JP2007041771A (ja) * 2005-08-02 2007-02-15 Matsushita Electric Ind Co Ltd プロセススケジューリングシステム、プロセススケジューリング方法およびプログラム
JP2009116665A (ja) * 2007-11-07 2009-05-28 Nec Corp 情報処理装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802049B2 (en) * 2002-10-30 2010-09-21 Intel Corporation Links having flexible lane allocation
US7203853B2 (en) * 2002-11-22 2007-04-10 Intel Corporation Apparatus and method for low latency power management on a serial data link
US7136953B1 (en) * 2003-05-07 2006-11-14 Nvidia Corporation Apparatus, system, and method for bus link width optimization
US7480808B2 (en) * 2004-07-16 2009-01-20 Ati Technologies Ulc Method and apparatus for managing power consumption relating to a differential serial communication link
US7539809B2 (en) * 2005-08-19 2009-05-26 Dell Products L.P. System and method for dynamic adjustment of an information handling systems graphics bus
US7447824B2 (en) * 2005-10-26 2008-11-04 Hewlett-Packard Development Company, L.P. Dynamic lane management system and method
JP5163298B2 (ja) * 2008-06-04 2013-03-13 富士通株式会社 情報処理装置、データ伝送装置及びデータ伝送方法
JP5217939B2 (ja) * 2008-11-17 2013-06-19 日本電気株式会社 拡張カード、障害診断処理方法、情報処理装置及び障害診断処理プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006201881A (ja) * 2005-01-18 2006-08-03 Fujitsu Ltd 情報処理装置およびシステムバス制御方法
JP2007041771A (ja) * 2005-08-02 2007-02-15 Matsushita Electric Ind Co Ltd プロセススケジューリングシステム、プロセススケジューリング方法およびプログラム
JP2009116665A (ja) * 2007-11-07 2009-05-28 Nec Corp 情報処理装置

Also Published As

Publication number Publication date
JP5644859B2 (ja) 2014-12-24
US20130159589A1 (en) 2013-06-20
JPWO2012023198A1 (ja) 2013-10-28

Similar Documents

Publication Publication Date Title
US7536584B2 (en) Fault-isolating SAS expander
EP2052326B1 (en) Fault-isolating sas expander
US8713352B2 (en) Method, system and program for securing redundancy in parallel computing system
US20080016405A1 (en) Computer system which controls closing of bus
EP1890239A1 (en) Memory contoller and method of controlling memory
JP2012226680A (ja) 産業制御システムを管理する管理システム、管理方法および管理プログラム
JPWO2012029147A1 (ja) システムおよび障害処理方法
WO2020214408A1 (en) Timeout mode for storage devices
JP5359601B2 (ja) ダンプ出力制御装置、ダンプ出力制御プログラム、ダンプ出力制御方法
US9720755B2 (en) Information processing device
JP2009217475A (ja) ストレージシステム,ストレージ装置,ストレージシステムの制御方法および制御プログラム
JP5644859B2 (ja) バス制御装置及びバス制御方法
CN100429626C (zh) 信息处理设备和错误检测方法
US8522075B2 (en) Storage system having storage devices for storing data and control devices for controlling the storage devices
EP2312443A2 (en) Information processing apparatus, method of controlling information processing apparatus and control program
JP4816142B2 (ja) パス切替制御システム、コンピュータシステム及びパス切替制御方法
WO2021111639A1 (ja) コントローラ
KR100605031B1 (ko) Usb 메모리 장치를 이용한 임베디드 시스템의 장애복구 및 업그레이드 방법
US7668837B2 (en) Multiplex apparatus and method for multiplexing legacy device
US20120023379A1 (en) Storage device, storage system, and control method
JP2001007893A (ja) 情報処理システム及びそれに用いる障害処理方式
JP4432975B2 (ja) パケット通信デバイス、パケット通信方法、およびパケット通信プログラム
JP6558012B2 (ja) ストレージ管理装置、ストレージシステム、ストレージ管理方法及びプログラム
JP5333467B2 (ja) データ転送制御装置、データ転送制御方法およびプログラム
JP2014178973A (ja) 通信システム及び通信方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10856155

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2012529445

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10856155

Country of ref document: EP

Kind code of ref document: A1