JP5151580B2 - コンピュータシステムおよびバス制御装置 - Google Patents

コンピュータシステムおよびバス制御装置 Download PDF

Info

Publication number
JP5151580B2
JP5151580B2 JP2008066831A JP2008066831A JP5151580B2 JP 5151580 B2 JP5151580 B2 JP 5151580B2 JP 2008066831 A JP2008066831 A JP 2008066831A JP 2008066831 A JP2008066831 A JP 2008066831A JP 5151580 B2 JP5151580 B2 JP 5151580B2
Authority
JP
Japan
Prior art keywords
bus
reset
input
transaction
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008066831A
Other languages
English (en)
Other versions
JP2009223584A (ja
Inventor
浩明 押田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2008066831A priority Critical patent/JP5151580B2/ja
Priority to US12/402,960 priority patent/US8028190B2/en
Publication of JP2009223584A publication Critical patent/JP2009223584A/ja
Application granted granted Critical
Publication of JP5151580B2 publication Critical patent/JP5151580B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、入出力バスの障害からの復旧処理を行うバス制御技術に関する。
コンピュータシステム内の信号伝送路であるバスの規格としてPCI(Peripheral Component Interconnect)規格は広く使用されている。従来のコンピュータシステムでは、コンピュータシステム内のCPUからPCIデバイス(PCIバスに電気的に接続された入出力デバイス)へのアクセス中、もしくは、PCIデバイスからコンピュータシステム内のメモリへのアクセス中に、PCIバスで障害が発生したトランザクションの特定不能なエラー(たとえば、アドレスパリティエラー)を検出した場合には、システムエラー信号線がアクティブな状態になる。このようにシステムエラー信号線がアサートされると、CPU(または、OS:オペレーティングシステム)に対してNMI(Non Mask Interrupt:マスク不能な割り込み)用信号線を通じてエラーの発生が通知される。これにより、CPUは、当該エラーの発生を知ることができる。しかしながら、CPUは、当該エラーの発生源を特定することができないため、適切なエラー処理を実行できない。それ故、NMI発生時には、エラーの伝搬を抑えるためにCPUはシステムを異常停止(システムダウン)させる。
一方、PCIバスで障害が発生したトランザクションの特定を可能にするデータパリティエラーなどの障害は、エラーリプライとしてCPUに報告される。この障害報告に対して、OSの例外ハンドラは特殊なエラー処理を行う。
しかしながら、接続されるPCIデバイスの仕様や制御方法はPCIデバイスによって大きく異なるため、OSの例外ハンドラが単独で全てのPCIデバイスのエラー処理を完全に行うことは実質的にできない。このため、適切なエラー処理を行うことができない場合、例外ハンドラは、当該エラーの伝搬を抑えるためにシステムを異常停止(システムダウン)させる。
上記の如きシステムの異常停止を回避し得る関連技術が、たとえば、特許文献1(特開2005−215809号公報)に開示されている。この特許文献1に開示されているコンピュータシステムは、PCIバスコントローラ、ブリッジドライバ(PCIバス障害制御用のプログラム)およびデバイスドライバを有している。PCIバスコントローラは、PCIバスでエラーが検出されたときに点灯するバス障害インジケータ(ERI)を含む。このバス障害インジケータの点灯時に、PCIバスコントローラは、PCIバスを縮退状態に遷移させる(すなわち、PCIバスの一部の使用を停止させる)。ブリッジドライバは、PCIバスコントローラ(PBC)の縮退状態を監視することでPCIバスの障害を検出して、PCIバスのエラー発生時には、対応するデバイスドライバに障害発生を通知する機能を有する。また、ブリッジドライバは、PCIバスを復旧させるための指示をPCIバスコントローラに発行し、その後、復旧完了の旨をデバイスドライバに通知する機能をも有する。デバイスドライバは、復旧完了通知を受け取ると、PCIデバイスに対して初期設定処理を実行してPCIデバイスをコンピュータシステムに再び組み込む。
このように特許文献1に開示される技術では、PCIバスの障害がCPUやOSの例外ハンドラに通知されることなく、ブリッジドライバとデバイスドライバとが協働してシステムダウンを発生させずにPCIバスの障害を検出し、その復旧を行う。
特開2005−215809号公報
上記特許文献1に開示されている技術は、PCIバスの障害を検出すると、障害部位となるPCIバスをシステムから遮断するために、バス障害インジケータを用いてPCIバスを縮退状態に遷移させる。しかしながら、PCIバスが当該検出に応じてシステムから遮断されてしまうため、障害発生部位に関する各種詳細ログ情報(たとえば、内部チップセットの一部から得られる、障害が発生したバスの制御に関する情報や、障害が発生したバスの配下に実装されたPCIカードが保持する情報)を収集することができない。それ故、PCIバスを含むインタフェースの障害要因解析(障害の原因究明)に支障が生ずる。特に、障害要因解析に必要な、PCIカードのレジスタ情報を収集することができない。
また、PCIバスの障害からの復旧にあたっては、ブリッジドライバによりPCIバスのリセットが実行され、更には、チップセット内部およびPCIバス配下のPCIカードのリセットが実行される。よって、バス障害インジケータがリセットされる。このため、PCIバスのリセット期間中に、コンピュータシステムで動作する各種プロセスがリセット対象のPCIバスに対してトランザクションを発行すると、このトランザクションがロストしてシステムのストールあるいはシステムダウンという重度の障害を引き起こす可能性がある。
本発明は、上記に鑑みてなされたものであり、PCIバスなどの入出力バスの障害からの復旧時に、その障害に関するログ情報を確実に収集することができるコンピュータシステムおよびバス制御方法を提供するものである。また本発明は、PCIバスなどの入出力バスの障害からの復旧時に、入出力バスを安全にリセットすることができるコンピュータシステムおよびバス制御方法を提供するものである。
本発明によれば、データ処理を行うプロセッサと、少なくとも1つの入出力デバイスが接続された入出力バスと、前記プロセッサと前記入出力バスとの間に介在しかつ前記入出力バスの動作を制御するバス制御装置と、を備えたコンピュータシステムが提供される。前記バス制御装置は、リセット指示を受信するとこれに応じて前記入出力バスをリセットするリセット制御手段と、前記入出力バスの障害の発生を契機として、前記入出力バスのリセットを抑止するリセット抑止手段と、前記入出力バスの障害の発生を契機として、前記入出力バスにおける当該障害の発生部位に接続された入出力デバイスのログ情報を収集するログ収集手段と、前記ログ収集手段により収集されたログ情報を前記プロセッサに転送する入出力インタフェースと、を含み、前記リセット抑止手段は、前記ログ収集手段による前記ログ情報の収集が完了した後に前記リセットの抑止を解除する。
また、本発明によれば、データ処理を行うプロセッサと、少なくとも1つの入出力デバイスが接続された入出力バスとの間に介在しかつ前記入出力バスの動作を制御するバス制御装置が提供される。このバス制御装置は、リセット指示を受信するとこれに応じて前記入出力バスをリセットするリセット制御手段と、前記入出力バスの障害の発生を契機として、前記入出力バスのリセットを抑止するリセット抑止手段と、前記入出力バスの障害の発生を契機として、前記入出力バスにおける当該障害の発生部位に接続された入出力デバイスのログ情報を収集するログ収集手段と、前記ログ収集手段により収集されたログ情報を前記プロセッサに転送する入出力インタフェースと、を含み、前記リセット抑止手段は、前記ログ収集手段による前記ログ情報の収集が完了した後に前記リセットの抑止を解除する。
前記バス制御装置は、前記入出力バスの障害の発生を契機として前記入出力バスを縮退状態に遷移させるバス障害インジケータを更に含み、このバス障害インジケータが、前記リセット制御手段による前記入出力バスのリセットが完了した後に、前記入出力バスの縮退状態を解除することが好ましい。この場合、前記プロセッサは、前記入出力バスの障害の発生を契機として前記バス障害インジケータに対して前記入出力バスの縮退状態への遷移を指示するブリッジドライバを有し、このブリッジドライバが、前記リセット制御手段による前記入出力バスのリセットが完了した後に、前記バス障害インジケータに対して前記入出力バスの縮退状態の解除を指示することが好ましい。
上記の通り、本発明によるコンピュータシステムおよびバス制御装置は、入出力バスの障害の発生を契機として、入出力バスのリセットを抑止した状態で、入出力バスにおける障害の発生部位に接続された入出力デバイスのログ情報を収集し、その後、そのログ情報の収集が完了した後に入出力バスのリセットの抑止を解除する。これにより、入出力バスのリセットが開始される前に、入出力バスの障害に関係する入出力バスのログ情報を収集することができるので、コンピュータシステム上のプロセッサは、障害要因解析に必要なログ情報を確実に取得することができる。
また、前記バス制御装置が前記バス障害インジケータを有し、前記プロセッサが前記ブリッジドライバを有する場合、プロセッサは、入出力バスのリセット期間中に不慮に入出力バスへのトランザクションを発行することを防止できるので、入出力バスのリセットとトランザクションとの競合に起因するトランザクションのロスト発生といった重度の障害を回避することができる。これにより、入出力バスをその障害から安全に復旧することが可能となる。
以下、本発明に係る種々の実施形態を図面を参照しつつ説明する。
(第1の実施形態)
図1は、本発明に係る第1の実施形態のコンピュータシステムの概略構成を示すブロック図である。このコンピュータシステムは、プロセッサ(CPU)1、プロセッサバス(FSB:Front Side Bus)2、メモリコントローラ(MMC:Main Memory Control)3、主記憶部4およびI/Oコントローラ(IOC)5を有している。プロセッサ1は、プロセッサバス2を介してメモリコントローラ3に接続されている。I/Oコントローラ5は、PCIバス(入出力バス)7と接続されたPCIバスコントローラ(PBC)6すなわちバス制御装置を内蔵している。プロセッサ1は、データ処理を実行する機能を有する。PCIバス7には、少なくとも1つのPCIデバイス(PCI Device)が電気的に接続されている。PCIバスコントローラ6は、プロセッサ1とPCIバス7との間に介在してPCIバス7の動作を制御する機能を有する。
メモリコントローラ3は、プロセッサ1、主記憶部4およびI/Oコントローラ(IOC)5とのインタフェース機能を有する。このメモリコントローラ3は、プロセッサ1およびI/Oコントローラ5から受けたトランザクションのルーティングを行い、システム規模や構成により1個ないし複数のLSIにより構成されるユニットである。I/Oコントローラ5は、MMC3とのインタフェース機能を有する。このI/Oコントローラ5の配下に接続されるPCIバス7を制御するPCIバスコントローラ6を内蔵し、システム規模や構成により1個ないし複数のLSIにより構成されるユニットである。PCIバス7には、単数または複数のPCIデバイス(周辺装置)を接続することが可能である。
図2は、第1の実施形態のPCIバスコントローラ(PBC)6の概略構成を示すブロック図である。このPCIバスコントローラ6は、入力インタフェース制御部(INC)61、出力インタフェース制御部(OTC)62、アウトバウンド・バッファ制御部(OBQ)63、インバウンドバッファ制御部(IBQ)64、インバウンド・リードデータ制御部(DRQ)65、PCIバス制御部(PXC)66およびログ収集部(PLC)67を含む。
PCIバス制御部66は、バス信号制御部(BS)661、アウトバウンド制御部(OBC)662、インバウンド制御部(IBC)663、コンフィグレーション部(CFG)664およびアービトレーション部(ARB)665を含む。
入力インタフェース制御部61は、メモリコントローラ3からのトランザクションを受信し、このトランザクションの種別に応じてPCIバスコントローラ6内の格納先にルーティングする制御機能を有する。出力インタフェース制御部62は、後述するインバウンドバッファ制御部64とのインタフェース機能を有し、インバウンドバッファ制御部64からのトランザクションをメモリコントローラ3へ送出する制御機能を有する。
アウトバウンドバッファ制御部(OBQ)63は、入力インタフェース制御部61とのインターフェース機能を有し、入力インタフェース制御部61からのアウトバウンド・リクエストトランザクションを受信し、受信したトランザクションを格納するバッファ(Buffer)63aと、後述するアービタ部(ARB)665とのインターフェース機能と、後述するPCIバス制御部(PXC)66とのインターフェース機能を有する。アウトバウンドバッファ制御部63は、トランザクションを格納するとアービトレーション部665に対してPCIバス使用要求を発行し、アービトレーション部665によってPCIバス使用許可が下りると、バッファ63aに格納しているトランザクションをPCIバス制御部66に送信する制御機能を有する。
インバウンドバッファ制御部(IBQ)64は、後述するPCIバス制御部(PXC)66とのインターフェース機能を有し、PCIバス制御部66からのアウトバウンド・リプライ・トランザクションと、インバウンド・ライト・リクエストトランザクションとを受信する。また、インバウンドバッファ制御部64は、後述するインバウンドリードデータ制御部(DRQ)65とのインターフェース機能を有し、インバウンドリードデータ制御部65からのインバウンド・リード・リクエストトランザクションを受信する。インバウンドバッファ制御部64は、受信した各トランザクションを格納するバッファ64aを有する。また、インバウンドバッファ制御部64は、出力インタフェース制御部62とのインタフェース機能を有し、受信したトランザクションを出力インタフェース制御部62に送信する制御機能を有する。
インバウンドリードデータ制御部(DRQ)65は、入力インタフェース制御部61とのインタフェース機能を有し、入力インタフェース制御部61からインバウンド・リード・リプライトランザクション(主記憶部4からのリードデータ)を受信し、受信したトランザクションを格納するバッファ65aを有する。また後述するPCIバス制御部(PXC)66のインタフェース機能を有し、PCIバス制御部66からのインバウンド・リード・リクエストトランザクションを受信し、トランザクションで要求されたデータがバッファ65aに存在するかチェックする機能を有し、データが存在しなければインバウンドバッファ制御部64にインバウンド・リード・リクエストトランザクションを送信すると同時に、PCIバス制御部66にリトライ指示を発行する制御機能と、データが存在していたならば当該データをバッファ65aから読み出しPCIバス制御部66に送信する制御機能を有する。
PCIバス制御部(PXC)66は、後述するバス信号制御部(BS)661、アウトバウンド制御部(OBC)662、インバウンドコントローラ部(IBC)663、コンフィグレーション部(CFG)664、アービトレーション部665で構成され、PCIデバイスのトランザクション制御機能を有する。
バス信号制御部661は、後述するアウトバウンド制御部662とインバウンドコントローラ部(IBC)663、PCIバス7とのインタフェース機能を有し、PCIバスプロトコルにしたがってPCIバス7上に接続されたPCIデバイスとのトランザクション制御機能を有し、バス障害検出時に後述するバス障害インジケータ(ERI)664aおよびバスリセット抑止インジケータ(RII)664bをセットする機能を有する。またインバウンドリードデータ制御部65とのインタフェース機能を備え、PCIデバイスへのリトライ指示要求を受け付ける機能を有する。
アウトバウンド制御部(OBC)662は、アウトバウンドバッファ制御部63とインバウンドリードデータ制御部65とバス信号制御部661、更に、後述するインバウンドコントローラ部(IBC)663とコンフィグレーション部664とのインタフェース機能を有し、アウトバウンドバッファ制御部63もしくはインバウンドリードデータ制御部65から受信するトランザクションを、バス信号制御部661、インバウンド制御部663、コンフィグレーション部664にルーティングする機能を有する。ルーティング先はトランザクション種別およびバス障害インジケータ664aの点灯状態により決定する。アウトバウンドバッファ制御部63から受信するPCIバスコントローラ6宛のコンフィグレーション・リクエストトランザクションはコンフィグレーション部664に送信し、インバウンドリードデータ制御部65から受信するインバウンド・リード・リプライトランザクションはバス信号制御部661に送信する。
アウトバウンドバッファ制御部63から受信するアウトバウンド・リクエストトランザクションは、バス障害インジケータ664aが未点灯(正常状態)の場合はバス信号制御部661に送信する。バス障害インジケータ664aが点灯(縮退状態)している場合は、アウトバウンド・リード・リクエストトランザクションに関してはリードデータをALL"1"とした(全ビットの値を"1"とした)正常リードリプライトランザクションを、アウトバウンド・ディファード・ライト・リクエストトランザクションに関しては正常ライトリプライトランザクションを、それぞれインバウンド制御部663に送信し、アウトバウンド・ポステッド・ライト・リクエストトランザクションに関してはアウトバウンド制御部662内で破棄する。なお、この明細書で「点灯」とは、レジスタであるインジケータが当該点灯状態に対応する設定値を保持することをいう。
アウトバウンド制御部662は、バスリセット指示保持部(RPB)662aを有し、アウトバウンドバッファ制御部63から受信するPCIバスコントローラ6宛のコンフィグレーション・リクエストトランザクションがPCIバス7のリセット指示であるかを判定し、PCIバス7のリセット指示であり、かつ、バスリセット抑止インジケータ664bが点灯状態である場合は、該リセット指示をバスリセット指示保持部662aに保持(保留)する。バスリセット指示保持部662aは、バスリセット抑止インジケータ664bのリセットを契機に、保持(保留)しているバスリセット指示を再開するよう制御する機能を有する。
インバウンドコントローラ部(IBC)663は、インバウンドバッファ制御部64、インバウンドリードデータ制御部65、バス信号制御部661、アウトバウンド制御部662、後述するコンフィグレーション部664とのインタフェース機能を有し、バス信号制御部661、アウトバウンド制御部662、コンフィグレーション部664から受信するトランザクションを、インバウンドバッファ制御部64もしくはインバウンドリードデータ制御部65にルーティングする機能を有する。ルーティング先はトランザクション種別により決定する。コンフィグレーション部664から受信するコンフィグレーション・リプライトランザクション、およびバス信号制御部661とアウトバウンド制御部662から受信するアウトバウンド・リプライトランザクション、およびバス信号制御部661から受信するインバウンド・ライト・リクエストトランザクションはインバウンドバッファ制御部64に送信する。バス信号制御部661から受信するインバウンド・リードリクエストトランザクションはインバウンドリードデータ制御部65に送信する。
コンフィグレーション部664は、各種コンフィグレーションレジスタを有し、その一部としてPCIバス障害が発生したことを保持するバス障害インジケータ664aと、後述のログ収集部67がログ情報を収集しているために現在バスリセットを実行することができないことを示すバスリセット抑止インジケータ664bとを有する。また、コンフィグレーション部664は、アウトバウンド制御部662とインバウンド制御部663とのインタフェース機能を有し、アウトバウンド制御部662から受信するリクエストトランザクションの指示に従いコンフィグレーションレジスタを更新し、必要に応じてリプライトランザクションをインバウンド制御部663に送信する。バス障害インジケータ664aは、バス信号制御部661、アウトバウンド制御部662、アービトレーション部665とのインタフェース機能を有し、バス信号制御部661がバス障害を検出した時に、セットされる。またバス障害インジケータ664aをリセットすることにより、障害状態からの復旧(縮退状態の解除)が行われる。
アービトレーション部665は、PCIバス7上に接続されたPCIデバイスと、アウトバウンドバッファ制御部63からのバス使用要求に対してバス使用権の調停を行う制御機能を有する。またバス障害インジケータ664aとのインタフェース機能を有し、バス障害インジケータ664aの点灯時はPCIデバイスからのバス使用要求をマスクし、インバウンド系トランザクションを受け付けない制御機能を有する。
ログ収集部67は、PCIバス制御部(PXC)66とのインタフェース機能を有し、バス障害検出時に障害発生部位に関する各種詳細ログ情報を収集する機構を有する。また、ログ収集部67は、収集したログ情報を格納するためのログバッファ67aを備える。ログ収集部67は、ログ情報の収集完了時に、前述のバスリセット抑止インジケータ664bをリセットする機能を有する。
次に、ブリッジドライバの機能について説明する。
ブリッジドライバは、各PCIデバイスドライバへ提供するPCIバスアクセス用の各種関数群を有する。下記表1に関数群を例示する。
Figure 0005151580
ブリッジドライバは、各PCIデバイスドライバからのPCIバスアクセス要求時(提供関数コール時)に、アクセス要求に応じたトランザクションを送信する機能を有する。またアウトバウンド・リード・トランザクション処理でALL"1"の読み出しデータ(全てのビットが"1"の値を持つデータ)を検知した場合にPCIバスコントローラ6のバス障害インジケータ664aを確認する機能と、デバイスドライバからの要求によりPCIバスコントローラ6のバス障害インジケータ664aを確認する機能と、定期的にPCIバスコントローラ6のバス障害インジケータ664aを確認する機能を有し、PCIバスコントローラ6のバス障害インジケータ664aの点灯を検出した場合に、エラー状態を各PCIデバイスドライバに通知する機能を有する。また各PCIデバイスドライバからのPCIバス障害復旧要求により、PCIバスコントローラ6に対して障害復旧動作を要求するトランザクションを送る機能と、障害復旧が完了したら各PCIデバイスドライバに通知する機能を有する。
障害復旧手段を利用するためには、PCIデバイスドライバは、PCIデバイスへのアクセス時にはブリッジドライバ提供関数群を用い、ブリッジドライバからエラー状態を通知された場合は適切な障害復旧処理を実行する必要がある。
次に、図3〜図6を参照しつつ上記構成を有するシステムの動作を説明する。プロセッサ1からのI/Oリード(アウトバウンド・リード)の手順は以下の通りである。図3は、I/Oリードの処理フローを示している。
PCIデバイスドライバが、PCIデバイスからデータを読み出すとき、ブリッジドライバが提供するリード関数(pci_io_read()、pci_mem_read())をコールする。これによりブリッジドライバは目的のPCIデバイスに対してアウトバウンド・リード・リクエストトランザクションを送信する。このアウトバウンド・リード・リクエストトランザクションは、FSB2を経由してメモリコントローラ3からIOCへ送出される。IOCへ送出されたアウトバウンド・リード・リクエストトランザクションは、PCIバスコントローラ6内の入力インタフェース制御部61で受信される。トランザクションを受信した入力インタフェース制御部61は、トランザクション種別によりトランザクションの格納先を決定する。
ここでは、アウトバウンド系のトランザクションのため、格納先はアウトバウンドバッファ制御部63のバッファ63aとなる。トランザクションを格納したアウトバウンドバッファ制御部63は、アービトレーション部665に対してPCIバス7の使用権を要求する。これを受け取ったアービトレーション部665は、PCIバス7の調停を行い、PCIバス7の使用許可をアウトバウンドバッファ制御部63に通知する。通知を受けたアウトバウンドバッファ制御部63は、バッファ63aに格納されているトランザクションをアウトバウンド制御部662に送信する。
アウトバウンド制御部662は、アウトバウンド・リード・リクエストトランザクションを受け取ったので、バス信号制御部661へ受信したトランザクションを送出する。バス信号制御部661は受け取ったトランザクションをPCIバストランザクションに変換してPCIバス7へ送出し、目的のPCIデバイスへ到達させる。リード・リクエストトランザクション(この場合アドレス)を受けとったPCIデバイスは対応するリードデータをPCIバス7上に送出する。リードデータはバス信号制御部661により受信される。このPCIバス7上でのデータの伝達動作は、一般的なPCIサイクルのため当業者によく知られており、その詳細な説明を省略する。
リードデータを受信したバス信号制御部661は、リードデータをインバウンド制御部663に送信する。インバウンド制御部663は、受け取ったリードデータをインバウンドバッファ制御部64のバッファ64aに格納する。PCIデバイスから要求したデータの受信完了を確認したバス信号制御部661は、正常リプライをインバウンド制御部663経由でインバウンドバッファ制御部64に送信する。
リプライを受け取ったインバウンドバッファ制御部64は、バッファ64aに格納されたリードデータとリプライをリードリプライトランザクションとして出力インタフェース制御部62に送出する。出力インタフェース制御部62は受信したリードリプライトランザクションをメモリコントローラ3に送出する。
以降は逆の経路を辿ってメモリコントローラ3、FSB2を経てトランザクションの送出元であるCPUに返却され、ブリッジドライバに返却され、関数をコールしたデバイスドライバにリードデータを返却する。
PCIバス7上でのアウトバウンド・リード・トランザクション実行中にPCIバスエラー(アドレス・パリティエラー、データ・パリティエラー、SERR#検出)が発生した場合は、PCIバス制御部66内のバス信号制御部661がエラーを検出してバス障害インジケータ664aおよびバスリセット抑止インジケータ664bを点灯させる。同時にバス信号制御部661は、アウトバウンド制御部662から受信したリードリクエストトランザクションに対して、リードデータをALL"1"とした正常リードリプライトランザクションをインバウンド制御部663に送出する。
インバウンド制御部663は、受け取ったリードリプライトランザクションをインバウンドバッファ制御部64のバッファ64aに格納する。インバウンドバッファ制御部64は、バッファ64aに格納されたリードリプライトランザクションを出力インタフェース制御部62に送出する。出力インタフェース制御部62は受信したリードリプライトランザクションをメモリコントローラ3に送出する。以降は逆の経路を辿ってメモリコントローラ3、FSB2を経てトランザクションの送出元であるCPUに返却され、リードトランザクション発行元のブリッジドライバに返却される。バス障害インジケータ664aの点灯後はPCIバス7は縮退状態となる。
次に、CPUからのI/Oライト(アウトバウンド・ライト)について説明する。図4は、このI/Oライトの処理フローを示す図である。
PCIデバイスドライバが、PCIデバイスにデータを転送する場合、ブリッジドライバが提供するライト関数(pci_io_write()、pci_mem_write())をコールする。これによりブリッジドライバは目的のPCIデバイスに対してアウトバウンド・ライト・リクエストトランザクションを送信する。
まず、ポステッド(Posted)・ライト・トランザクション(pci_mem_write())に関して説明する。ポステッド・アウトバウンド・ライト・リクエストトランザクションは、FSB2を経由してメモリコントローラ3からIOCへ送出される。IOCへ送出されたアウトバウンド・ライト・リクエストトランザクションは、PCIバスコントローラ6内の入力インタフェース制御部61で受信される。トランザクションを受信した入力インタフェース制御部61は、トランザクション種別によりトランザクション格納先を決定する。ここではアウトバウンド系のトランザクションのため、格納先はアウトバウンドバッファ制御部63のバッファ63aとなる。トランザクションを格納したアウトバウンドバッファ制御部63は、アービトレーション部665に対してPCIバス7の使用権を要求する。これを受け取ったアービトレーション部665は、PCIバス7の調停を行い、PCIバス7の使用許可をアウトバウンドバッファ制御部63通知する。通知を受けたアウトバウンドバッファ制御部63は、バッファ63aに格納されているトランザクションをアウトバウンド制御部662に送信する。アウトバウンド制御部662は、アウトバウンド・ライト・リクエストトランザクションを受け取ったので、バス信号制御部661に受信したトランザクションを送出する。バス信号制御部661は受け取ったトランザクションをPCIバストランザクションに変換してPCIバス7へ送出し、目的のPCIデバイスへ到達させる。このPCIバス7上でのトランザクションの伝達動作は、一般的なPCIサイクルのため当業者によく知られており、その詳細な説明を省略する。
次に、ディファード(Deferred)・ライト・トランザクション(pci_io_write())に関して説明する。ディファード・アウトバウンド・ライト・リクエストトランザクションのPCIデバイスへの伝達動作は、上述したポステッド・ライト・トランザクションと同様に行われる。ディファード・ライト・トランザクションの場合はリプライが必要であるため、バス信号制御部661は目的のPCIデバイスへ全てのデータ送出完了を確認した後、インバウンド制御部663に対して正常ライトリプライトランザクションを発行する。インバウンド制御部663は、ライトリプライトランザクションをインバウンドバッファ制御部64に送信する。インバウンドバッファ制御部64は、ライトリプライトランザクションを出力インタフェース制御部62に送出する。出力インタフェース制御部62は受信したライトリプライトランザクションをメモリコントローラ3に送出する。以降は逆の経路を辿ってメモリコントローラ3、FSB2を経てトランザクションの送出元であるCPUにライトリプライトランザクションが返却さる。
PCIバス7上でのアウトバウンド・ライト・トランザクション実行中にPCIバスエラー(アドレス・パリティエラー、データ・パリティエラー、SERR#検出)が発生した場合は、PCIバス制御部66内のバス信号制御部661がエラーを検出してバス障害インジケータ664aおよびバスリセット抑止インジケータ664bを点灯させる。同時にバス信号制御部661は、アウトバウンド制御部662から受信したポステッド・ライト・リクエストトランザクションは破棄する。また、アウトバウンド制御部662から受信したディファード・ライト・リクエストトランザクションは破棄し、正常ライトリプライトランザクションをインバウンド制御部663に送出する。インバウンド制御部663は、受け取ったライトリプライトランザクションをインバウンドバッファ制御部64のバッファ64aに格納する。インバウンドバッファ制御部64は、バッファ64aに格納されたライトリプライトランザクションを出力インタフェース制御部62に送出する。出力インタフェース制御部62は受信したライトリプライトランザクションをメモリコントローラ3に送出する。以降は逆の経路を辿ってメモリコントローラ3、FSB2を経てトランザクションの送出元であるCPUにライトリプライトランザクションを返却する。バス障害インジケータ664aの点灯後はPCIバス7は縮退状態となる。
次に、PCIデバイスからのメモリリード(インバウンド・リード)について説明する。図5は、このメモリリードの処理フローを示す図である。
メモリリードを行うPCIバス7の配下のPCIデバイスは、リクエスト信号線REQ#をドライブし、アービトレーション部665に対してPCIバス7の使用権を要求する。これに対してアービトレーション部665は調停を行い、要求元のPCIデバイスに対してPCIバス7の使用を許可する。PCIバス7の使用権を獲得したPCIデバイスは、インバウンド・リード・リクエストトランザクションをIOCのPCIバスコントローラ6に送信する。リード・リクエストトランザクションを受信したバス信号制御部661は、受信したPCIトランザクションをプラットフォームの内部形式へ変換し、インバウンド制御部(IBC)663に送信する。
インバウンド制御部663は、受信したトランザクションがインバウンド・リード・リクエストトランザクションであるため、インバウンドリードデータ制御部65に送信する。リード・リクエストトランザクションを受け取ったインバウンドリードデータ制御部65は、バッファ65aにリード・リクエストトランザクションに対応するリードデータがあるかチェックする。ここでは最初のリード・リクエストトランザクションであるため当該リードデータはバッファ65aには存在しない。このためインバウンドリードデータ制御部65は、主記憶部4からリクエストトランザクションに対応するデータを読み出すためにリード・リクエストトランザクションをインバウンドバッファ制御部64に送る。これと並行して当該データが存在していない旨をバス信号制御部661に対して通知する。通知を受けたバス信号制御部661は要求元のPCIデバイスに対してリトライの指示を出す。
リード・リクエストトランザクションを受け取ったインバウンドバッファ制御部64は出力インタフェース制御部62に送り、出力インタフェース制御部62はメモリコントローラ3へリード・リクエストトランザクションを送信する。
メモリコントローラ3はIOC5から受け取ったトランザクションに従い主記憶部4をアクセスする。主記憶部4からのリプライデータはインバウンド・リード・リプライトランザクションとして、逆の経路を辿ってメモリコントローラ3からIOCへ送出され、PCIバスコントローラ6内の入力インタフェース制御部61で受信される。
インバウンド・リード・リプライトランザクションを受信した入力インタフェース制御部61は、インバウンド・トランザクションのため、インバウンドリードデータ制御部65にルーティングし、インバウンドリードデータ制御部65はバッファ65aに格納する。
その後、PCIデバイスから、前回と同じリード・リクエストトランザクションをバス信号制御部661が受信すると、上述した動作と同様にリード・リクエストトランザクションはインバウンドリードデータ制御部65に送信される。
トランザクションを受信したインバウンドリードデータ制御部65はバッファ65aに対応するリードデータがあるかをチェックする。今回はデータが存在するため、リード・リクエストトランザクションに対応するリードデータをアウトバウンド制御部662に送信する。
アウトバウンド制御部662は、受信したリードデータをバス信号制御部661に送信する。バス信号制御部661は、受信したリードデータをPCIバストランザクションに変換してPCIバス7へ送出し、リード要求元のPCIデバイスへ到達させる。このPCIバス7上でのリトライやリードデータの伝達動作は、一般的なPCIサイクルのため当業者によく知られており、その詳細な説明を省略する。
PCIバス7上でのインバウンド・リード・トランザクション実行中にPCIバスエラー(アドレス・パリティエラー、データ・パリティエラー、SERR#検出)が発生した場合は、PCIバス制御部66内のバス信号制御部661がエラーを検出してバス障害インジケータ664aおよびバスリセット抑止インジケータ664bを点灯させる。同時にバス信号制御部661は、PCIバス7から受信したインバウンド・リード・トランザクションを破棄する。バス障害インジケータ664aの点灯後はPCIバス7は縮退状態となる。
次に、PCIデバイスからのメモリライト(インバウンド・ライト)について説明する。図6は、このメモリライトの処理フローを示す図である。
メモリライトを行うPCIバス7の配下のPCIデバイスは、リクエスト信号線REQ#をドライブし、アービトレーション部665に対してPCIバス7の使用権を要求する。これに対してアービトレーション部665は調停を行い、要求元のPCIデバイスに対してPCIバス7の使用を許可する。PCIバス7の使用権を獲得したPCIデバイスは、インバウンド・ライト・リクエストトランザクションをIOC5のPCIバスコントローラ6に送信する。
ライト・リクエストトランザクションを受信したバス信号制御部661は、受信したPCIトランザクションをプラットフォームの内部形式へ変換し、インバウンド制御部663に送信する。インバウンド制御部663は受信したライト・リクエストトランザクションをインバウンドバッファ制御部64に送信する。
インバウンドバッファ制御部64は受け取ったライト・リクエストトランザクションをバッファ64aに格納する。PCIデバイスから全てのライト・リクエストトランザクション受信完了後、インバウンドバッファ制御部64は、バッファ64aに格納していたトランザクションを出力インタフェース制御部62に送信する。
出力インタフェース制御部62は受信したライト・リクエストトランザクションをメモリコントローラ3へ送出する。メモリコントローラ3はIOCから受け取ったトランザクションに従い主記憶部4に対して書き込みを行う。このPCIバス7上でのライトデータの伝達動作は、一般的なPCIサイクルのため当業者によく知られており、その詳細な説明を省略する。
PCIバス7上でのインバウンド・ライト・トランザクション実行中にPCIバスエラー(アドレス・パリティエラー、データ・パリティエラー、SERR#検出)が発生した場合は、PCIバス制御部66内のバス信号制御部661がエラーを検出してバス障害インジケータ664aおよびバスリセット抑止インジケータ664bを点灯させる。バス障害インジケータ664aを点灯させたバス信号制御部661は、PCIバス7から受信するインバウンド・ライト・リクエストトランザクションを破棄する。バス障害インジケータ664aの点灯後はPCIバス7は縮退状態となる。
次に、縮退状態でのトランザクション処理について説明する。
PCIバスコントローラ6は、PCIバスエラーが発生してバス障害インジケータ664aを点灯した後、配下のPCIバス7を縮退状態として扱い、後続のトランザクションを以下のように処理する。
PCIデバイスへのアウトバウンド・リードトランザクションに関しては、上述した同様の動作でPBC6に送信される。送信されたトランザクションは入力インタフェース制御部61からアウトバウンドバッファ制御部63を経由してアウトバウンド制御部662に到達する。
アウトバウンド制御部662は、受け取ったトランザクションをバス信号制御部661経由でPCIバス7に出力せずに、アウトバウンド制御部662内でリードデータをALL"1"とした正常リードリプライトランザクションに変換し、インバウンド制御部663経由でインバウンドバッファ制御部64のバッファ64aに格納する。
インバウンドバッファ制御部64は、バッファ64aに格納されたリードリプライトランザクションを出力インタフェース制御部62に送出する。出力インタフェース制御部62は、受信したリードリプライトランザクションをメモリコントローラ3に送出する。以降は逆の経路を辿ってメモリコントローラ3、FSB2を経てトランザクションの送出元であるCPUに返却され、リードトランザクション発行元のブリッジドライバに返却される。
また、PCIデバイスへのアウトバウンド・ライト・トランザクションに関しては、上述した同様の動作でPBC6に送信される。送信されたトランザクションは入力インタフェース制御部61からアウトバウンドバッファ制御部63を経由してアウトバウンド制御部662に到達する。受け取ったトランザクションがポステッド・ライトの場合、アウトバウンド制御部662は、受信したトランザクションをバス信号制御部661経由でPCIバス7に出力せず破棄する。また、受け取ったトランザクションがディファード・ライトの場合、アウトバウンド制御部662は、受信したトランザクションをバス信号制御部661経由でPCIバス7に出力せず破棄し、正常ライトリプライトランザクションをインバウンド制御部663経由でインバウンドバッファ制御部64のバッファ64aに格納する。インバウンドバッファ制御部64は、バッファ64aに格納されたライトリプライトランザクションを出力インタフェース制御部62に送出する。出力インタフェース制御部62は受信したライトリプライトランザクションをメモリコントローラ3に送出する。以降は逆の経路を辿ってメモリコントローラ3、FSB2を経てトランザクションの送出元であるCPUに返却される。
また、PCIデバイスからのインバウンド・トランザクションに関しては、アービトレーション部665が配下のPCIバス7に接続されているPCIデバイスからのリクエスト信号線REQ#をマスクする。これによりインバウンド・トランザクションを受け付けないようにし、PCIバス障害伝搬による更なるエラー発生を抑止する。
次に、ログ収集部67によるログ収集処理について説明する。
PCIバスコントローラ6のログ収集部67は、PCIバスエラーが発生してバス障害インジケータ664aを点灯した後、PCIの各種詳細ログ情報の収集に関して以下のように処理する。ログ収集部67は、PCIバス障害の発生を契機に障害発生部位に関する各種詳細ログ情報を収集する。収集する情報は、PCIバスコントローラ6の内部レジスタ情報と障害PCIバスの配下に実装されたPCIカードのレジスタの保持値を対象とする。PCIバスコントローラ6の内部レジスタ情報の収集に関しては、ログ収集部67は情報収集用の専用インタフェース(I/F)を各部位に対して有しており、これを用いて収集を行う。PCIカードのレジスタに関しては、ログ収集部67がPCIバス制御部66内のバス信号制御部661を直接駆動して、PCIカードの全コンフィグレーション空間およびコンフィグレーション空間内に存在するBAR(ベースアドレスレジスタ)によって指し示されるメモリ空間(収集するメモリ空間の大きさは実装により任意)を収集する。収集したログ情報は、ログ収集部67内のログバッファ67aに格納する。ログ収集部67は、一連のログ収集処理の完了を契機に、バスリセット抑止インジケータ664bのリセットを行う。言い換えれば、バスリセット抑止インジケータ664bは、リセットの抑止を解除する。
次に、ブリッジドライバによる障害検出処理について説明する。
アウトバウンド・リード・トランザクションに関しての障害検出処理は次のように行われる。ブリッジドライバは返却されたリードデータをチェックする。ここで受け取ったリードデータがALL"1"である場合、ブリッジドライバはPCIバスエラーが発生した可能性があることを検知する。PCIバスエラー発生の可能性を検知したブリッジドライバは、PCIバスコントローラ6宛にコンフィグレーション・リード・トランザクションを送信し、バス障害インジケータ664aの点灯状況の確認を行う。ここで、バス障害インジケータ664aが点灯していた場合、ブリッジドライバはデバイスドライバに対して障害発生を通知する。通知を受けたデバイスドライバは、自身の障害復旧プログラムを起動する。
アウトバウンド・ライト・トランザクションに関しての障害検出処理は次のように行われる。デバイスドライバはトランザクションが正常終了したかは不明のため、適切なタイミングでブリッジドライバが提供する縮退チェック関数(pci_bus_check())をコールし、PCIバス7の状態確認を行う。これによりブリッジドライバは、PCIバスコントローラ6宛にコンフィグレーション・リード・トランザクションを送信し、バス障害インジケータ664aの点灯状況の確認を行う。ここでバス障害インジケータ664aが点灯していた場合、ブリッジドライバはデバイスドライバに対して障害発生を通知する。通知を受けたデバイスドライバは、自身の障害復旧プログラムを起動する。
インバウンド・トランザクションに関しての障害検出処理は次のように行われる。PCIバス7の縮退時はインバウンド・トランザクションはPCIデバイスから送信されないために、デバイスドライバが障害を検出するタイミングが無い。障害を検出するためにブリッジドライバは、定期的にPCIバスコントローラ6宛にコンフィグレーション・リード・トランザクションを送信し、バス障害インジケータ664aの確認を行う。ここでバス障害インジケータ664aが点灯していた場合、ブリッジドライバはデバイスドライバに対して障害発生を通知する。通知を受けたデバイスドライバは、自身の障害復旧プログラムを起動する。
次に縮退状態からの復旧処理について説明する。
バス縮退状態からの復旧は次のように行われる。上述したように、障害発生を通知されたデバイスドライバは、自身の障害復旧プログラムの中でPCIバス縮退状態復旧要求関数(pci_bus_recovery())をコールする。復旧要求を受け取ったブリッジドライバは、障害が発生したPCIバス7をリセットするために、PCIバスコントローラ6に対してバスリセットを要求するコンフィグレーション・ライト・リクエストトランザクションを送信し、デバイスドライバに対しては復旧処理中を通知する。
また、当該PCIバス7が既に復旧処理中ならば、デバイスドライバに対して復旧処理中のみを通知する。コンフィグレーション・ライト・リクエストトランザクションは、アウトバウンド・トランザクションと同様の動作でPCIバスコントローラ6に到達する。PCIバスコントローラ6に到達したトランザクションは、PCIバスコントローラ6内の入力インタフェース制御部61で受信される。
トランザクションを受信した入力インタフェース制御部61は、当該トランザクションがコンフィグレーション・ライト・リクエストトランザクションであるため、アウトバウンドバッファ制御部63にルーティングし、バッファ63aに当該トランザクションを格納する。トランザクションを格納したアウトバウンドバッファ制御部63は、アービトレーション部665に対してPCIバス7の使用権を要求する。これを受け取ったアービトレーション部665は、PCIバス7の調停を行い、PCIバス7の使用許可をアウトバウンドバッファ制御部63に通知する。
通知を受けたアウトバウンドバッファ制御部63は、バッファ63aに格納されているトランザクションをアウトバウンド制御部662に送信する。アウトバウンド制御部662は、アウトバウンドバッファ制御部63から受信したPCIバスコントローラ6宛のコンフィグレーション・リクエストトランザクションがPCIバス7のリセット指示であるかを判定する。アウトバウンド制御部662は、該PCIバスコントローラ6宛のコンフィグレーション・リクエストトランザクションがPCIバス7のリセット指示であり、バスリセット抑止インジケータ664bが非点灯状態の場合は該リセット指示をコンフィグレーション部664に送出し、バスリセット抑止インジケータ664bが点灯状態の場合には該リセット指示をバスリセット指示保持部662aに保持(保留)する。
バスリセット指示保持部662aは、バスリセット抑止インジケータ664bの状態を監視し、リセットへの遷移した時に保持(保留)しているバスリセット指示を再開するよう動作し、該リセット指示をコンフィグレーション部664に送出する。
コンフィグレーション部664は受信したリセット指示であるコンフィグレーション・ライト・トランザクションに従い、PCIバス7のリセット信号をドライブすることでPCIバス7の関連部位の初期化を行う。
PCIバス7のリセット完了後、コンフィグレーション部664は、コンフィグレーション・ライト・リプライトランザクションをインバウンド制御部663に送信する。インバウンド制御部663は、受け取ったコンフィグレーション・ライト・リプライトランザクションをインバウンドバッファ制御部64のバッファ64aに格納する。
インバウンドバッファ制御部64は、バッファ64aに格納されたコンフィグレーション・ライト・リプライトランザクションを出力インタフェース制御部62に送出する。出力インタフェース制御部62は受信したコンフィグレーション・ライト・リプライトランザクションをメモリコントローラ3に送出する。
以降は逆の経路を辿ってメモリコントローラ3とFSB2とを経てトランザクションの送出元であるCPUに返却される。コンフィグレーション・ライトの完了を確認したブリッジドライバは、PCIバス7のリセット完了を認識し、ログ収集部67のログバッファ67aを読み出し、収集されているPCIの各種詳細ログ情報をシステムのログとして記録する。ブリッジドライバは、その後、当該PCIバス7の縮退状態を解除するために、PCIバスコントローラ6に対してバス障害インジケータ664aをリセットするコンフィグレーション・ライト・リクエストトランザクションを送信する。当該コンフィグレーション・ライト・リクエストトランザクションは、アウトバウンド・トランザクションと同様の動作でPCIバスコントローラ6に到達する。
PCIバスコントローラ6に到達したトランザクションは、PCIバスコントローラ6内の入力インタフェース制御部61で受信される。トランザクションを受信した入力インタフェース制御部61は、当該トランザクションがコンフィグレーション・ライト・リクエストトランザクションであるため、アウトバウンドバッファ制御部63にルーティングし、バッファ63aに当該トランザクションを格納する。
トランザクションを格納したアウトバウンドバッファ制御部63は、アービトレーション部665に対してPCIバス7の使用権を要求する。これを受け取ったアービトレーション部665は、PCIバス7の調停を行い、PCIバス7の使用許可をアウトバウンドバッファ制御部63に通知する。通知を受けたアウトバウンドバッファ制御部63は、バッファ63aに格納されているトランザクションをアウトバウンド制御部662に送信する。
アウトバウンド制御部662は、アウトバウンドバッファ制御部63から受信したPCIバスコントローラ6宛のコンフィグレーション・リクエストトランザクションをコンフィグレーション部664に送出する。
コンフィグレーション部664は受信したコンフィグレーション・ライト・トランザクションに従い、バス障害インジケータ664aのリセットを行い縮退状態からの復旧を行う。
コンフィグレーション部664は、バス障害インジケータ664aのリセット後、コンフィグレーション・ライト・リプライトランザクションをインバウンド制御部663に送信する。インバウンド制御部663は、受け取ったコンフィグレーション・ライト・リプライトランザクションをインバウンドバッファ制御部64のバッファ64aに格納する。インバウンドバッファ制御部64は、バッファ64aに格納されたコンフィグレーション・ライト・リプライトランザクションを出力インタフェース制御部62に送出する。出力インタフェース制御部62は受信したコンフィグレーション・ライト・リプライトランザクションをメモリコントローラ3に送出する。
以降は逆の経路を辿ってメモリコントローラ3とFSB2とを経てトランザクションの送出元であるCPUに返却される。コンフィグレーション・ライトの完了を確認したブリッジドライバは、復旧要求を指示したデバイスドライバへ復旧完了を通知する。復旧完了を通知されたデバイスドライバは、PCIデバイスをシステムに再組み込みするための処理を行う。
上記第1の実施形態のコンピュータシステムが奏する作用効果は以下の通りである。上述の通り、ログ収集部67は、PCIバス7の障害発生に伴う縮退状態への遷移中であっても、PCIバス制御部(PXC)66のバス信号制御部661を直接制御し、障害が発生したPCIバス7の配下に実装されたPCIデバイスの情報を取得する。バスリセット抑止インジケータ664bは、配下のPCIバス7のリセットを一時的に抑止(禁止)するための制御を行うもので、PCIバス7の障害の発生を契機にセットされ、ログ収集部67によるログ情報収集の完了でリセットされる。バスリセット指示保持部662aは、PCIバス7のリセット指示を一時的に保持するもので、バスリセット抑止インジケータ664bがセットされている期間中(ログ収集部67がログ情報を収集している期間中)に当該PCIバス7へ発行されたPCIバスリセット指示を保持(保留)し、バスリセット抑止インジケータ664bのリセットを契機に保持した処理を再開するよう制御する。
また、ブリッジドライバは、PCIバス7の障害検出に伴う復旧処理にて障害となったPCIバス7のリセット処理を実行するが、前記バスリセット抑止インジケータ664b、バスリセット指示保持部662aおよびログ収集部67の動作により、ブリッジドライバによるPCIバス7のリセット処理とログ収集部67によるログ収集処理の競合を適切に回避し、ログ収集の確実な処理完了を保証することができる。
また、バス障害インジケータ664aは、PCIバス7の障害の発生を契機にセットされ、ブリッジドライバの指示によりリセットされる。ブリッジドライバは、PCIバス7の障害検出に伴う復旧処理にて障害となったPCIバス7のリセットが完了すると、ログ収集部67のログバッファ(Log Buffer)67aを読み出し、システムのログ情報として記録する。その後、当該PCIバス7の縮退状態を解除するために、バス障害インジケータ664aをリセットする。ブリッジドライバは、PCIバス7の障害が発生したタイミングからPCIバス7のリセット完了のタイミングまでの間、バス障害インジケータ664aのセット状態を保証することで、PCIバス7のリセット処理期間中に不慮に発行され得る障害PCIバスへのトランザクションに対して、特殊処理(書込み系処理は全て正常リプライ返却、読出し系処理は全て正常リプライでALL"1"としたデータの返却)を保証し、PCIバス7のリセットとトランザクション競合によるトランザクションのロスト発生(重度の障害)を回避する。
これらの動作により、PCIバス7の障害時のログ情報(内部チップセットおよびPCIカードのレジスタ情報)を確実に収集し、かつ、PCIバスリセットを安全に実行することができる。また、PCIバス7のリセット処理期間中に不慮に発行され得る障害PCIバスへのトランザクションに対して特殊処理(書込み系処理は全て正常リプライ返却、読出し系処理は全て正常リプライでALL"1"としたデータの返却)が保証されるので、PCIバス7のリセットと不慮に発行され得るトランザクションとの競合によるトランザクションのロスト等の重度の障害の発生を回避することができ、安全にPCIバス7の障害からの復旧処理を実行することができる。
(第2の実施形態)
次に、本発明に係る第2の実施形態について説明する。図7は、第2の実施形態のPCIバスコントローラ(PBC)6の概略構成を示すブロック図である。図7のPCIバスコントローラ6は、サービスプロセッサ用ログ収集部68を有する点を除いて、図2に示したPCIバスコントローラ6と同一構成を有する。
サービスプロセッサ(SVP)は、コンピュータシステムの運用関連の処理全般を行うもので、比較的大規模なコンピュータシステムでは広く採用されている。サービスプロセッサ(SVP)は、一般的に、障害発生時のログ情報の収集・記録処理も実行しており、上記実施形態に示したログ収集部67に関する機能をサービスプロセッサ(SVP)の制御により実現することも可能である。
図7は、サービスプロセッサ(SVP)が導入されたコンピュータシステムにおけるPCIバスコントローラの一例を示している。図7におけるサービスプロセッサ用ログ収集部(SVPC)68は、サービスプロセッサとのインタフェース機能を有し、サービスプロセッサ(SVP)からの指示により、PCIバスコントローラ6内部の各種制御(内部レジスタの読み出しや書き込み)を行うことができる。
SVPC68は、バス信号制御部661からPCIバスの障害の報告を受け、サービスプロセッサ(SVP)に障害の発生を通知する。PCIバスの障害発生を通知されたサービスプロセッサ(SVP)は、SVPC68を経由して、PCIの各種詳細ログ情報を収集してシステムのログ情報として記録する。サービスプロセッサ(SVP)は、一連のログ収集処理の完了に伴い、PCIバスのリセットを一時的に抑止(禁止)するための制御を行うためにセットされているバスリセット抑止インジケータ664bのリセットをSVPC68を経由して行う。図1におけるログ収集部67の機能が、サービスプロセッサ(SVP)とSVPC68の機能により実現されるもので、他の動作は、上記第1の実施形態の動作と基本的に同じである。なお、図1の構成では、ブリッジドライバがログ収集部67のログバッファ67aを読み出す処理が存在したが、この処理は、本実施形態では、サービスプロセッサ(SVP)により実行されるため、ブリッジドライバとしては処理不要である。
(第3の実施形態)
次に、本発明に係る第3の実施形態について説明する。図8は、第3の実施形態に係る大規模システムの構成を示す図である。この大規模システムは、複数のセル20,…と、複数のI/Oコントローラ(IOC)5と、これらセル20,…およびI/Oコントローラ5を接続するクロスバー・スイッチ21とを有する。図9は、セル20の構成を示す図であり、図10は、I/Oコントローラ5の構成を示す図である。図10の構成は、図1に示したI/Oコントローラ5の構成と実質的に同じである。
図9に示されるように、各セル20は、プロセッサ(CPU)11〜14、プロセッサバス2、メモリコントローラ3および主記憶部4を構成単位として有する。図1のプロセッサ1の数を増やし、図2のメモリコントローラ3とI/Oコントローラ5のインタフェース(I/F)機能をクロスバー・スイッチ(XBC)21に集約し、I/Oコントローラ5とPCIバス数を増やして構築したものが、図8の大規模システム(マルチプロセッサシステム)である。このようなクロスバー・スイッチ21を用いたシステムに関しては当該事業者により広く知られた技術であるため、ここでは詳細な説明を省略する。
この大規模システムは、8つのセルで構成された32ウェイプロセッサ機である。このような大規模マルチプロセッサシステムにおいても、CPUからのI/Oリード、CPUからのI/Oライト、PCIデバイスからのメモリリード、PCIデバイスからのメモリライトという動作は、上記に説明してきたようなアウトバウンド・リード、アウトバウンド・ライト、インバウンド・リードおよびインバウンド・ライトといったトランザクションの送受信により行われる。大規模システムでは構成要素としてクロスバー・スイッチ(XBC)21が追加されているが、各種トランザクションはクロスバー・スイッチ21を経由するだけである。
したがって、第3の実施形態では、マルチプロセッサシステムの構成規模に左右されずに、上述の第1の実施形態と同様の効果を発揮することが可能である。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。たとえば、上記実施形態では、入出力バスと入出力デバイスとして、それぞれ、PCI規格に準拠したバスとデバイスを例示したが、これに限定されるものではない。信号伝送路に障害が発生し得る規格であれば、本発明を適用することができる。
(付記1)
データ処理を行うプロセッサと、
少なくとも1つの入出力デバイスが接続された入出力バスと、
前記プロセッサと前記入出力バスとの間に介在しかつ前記入出力バスの動作を制御するバス制御装置と、を備え、
前記バス制御装置は、
リセット指示を受信するとこれに応じて前記入出力バスをリセットするリセット制御手段と、
前記入出力バスの障害の発生を契機として、前記入出力バスのリセットを抑止するリセット抑止手段と、
前記入出力バスの障害の発生を契機として、前記入出力バスにおける当該障害の発生部位に接続された入出力デバイスのログ情報を収集するログ収集手段と、
前記ログ収集手段により収集されたログ情報を前記プロセッサに転送する入出力インタフェースと、
を含み、
前記リセット抑止手段は、前記ログ収集手段による前記ログ情報の収集が完了した後に前記リセットの抑止を解除する、コンピュータシステム。
(付記2)
付記1記載のコンピュータシステムであって、前記バス制御装置は、前記入出力バスの障害の発生を契機として前記入出力バスを縮退状態に遷移させるバス障害インジケータを更に含み、
前記バス障害インジケータは、前記リセット制御手段による前記入出力バスのリセットが完了した後に前記入出力バスの縮退状態を解除する、コンピュータシステム。
(付記3)
付記2記載のコンピュータシステムであって、前記プロセッサは、前記入出力バスの障害の発生を契機として前記バス障害インジケータに対して前記入出力バスの縮退状態への遷移を指示するブリッジドライバを有し、
前記ブリッジドライバは、前記リセット制御手段による前記入出力バスのリセットが完了した後に、前記バス障害インジケータに対して前記入出力バスの縮退状態の解除を指示する、コンピュータシステム。
(付記4)
付記1から3のうちのいずれか1つに記載のコンピュータシステムであって、前記バス制御装置は、前記リセット抑止手段によって前記リセットの抑止が解除されるまで前記リセット指示を保持するリセット指示保持手段を更に含み、
前記リセット指示保持手段は、前記リセットの抑止が解除された後に、当該保持していたリセット指示を前記リセット制御手段に送信する、コンピュータシステム。
(付記5)
付記4記載のコンピュータシステムであって、前記プロセッサは、前記入出力バスの障害の発生を契機として、前記リセット指示を表すトランザクションを発行する、コンピュータシステム。
(付記6)
付記1から5のうちのいずれか1つに記載のコンピュータシステムであって、前記ログ収集手段は、当該収集されたログ情報を一時的に記憶するログバッファを有し、
前記入出力インタフェースは、前記リセット制御手段による前記入出力バスのリセットが完了した後に、前記ログバッファから前記ログ情報を読み出し前記プロセッサに転送する、コンピュータシステム。
(付記7)
付記1から6のうちのいずれか1つに記載のコンピュータシステムであって、前記バス制御装置は、前記入出力バスの動作に対する制御状態を表すデータを保持するレジスタを含み、
前記ログ収集手段は、前記レジスタから前記制御状態を表すデータをログ情報として収集し、前記入出力インタフェースは、前記ログ情報を前記プロセッサに転送する、コンピュータシステム。
(付記8)
付記1から7のうちのいずれか1つに記載のコンピュータシステムであって、前記入出力バスがPCI(Peripheral Component Interconnect)バスである、コンピュータシステム。
(付記9)
データ処理を行うプロセッサと、少なくとも1つの入出力デバイスが接続された入出力バスとの間に介在しかつ前記入出力バスの動作を制御するバス制御装置であって、
リセット指示を受信するとこれに応じて前記入出力バスをリセットするリセット制御手段と、
前記入出力バスの障害の発生を契機として、前記入出力バスのリセットを抑止するリセット抑止手段と、
前記入出力バスの障害の発生を契機として、前記入出力バスにおける当該障害の発生部位に接続された入出力デバイスのログ情報を収集するログ収集手段と、
前記ログ収集手段により収集されたログ情報を前記プロセッサに転送する入出力インタフェースと、
を含み、
前記リセット抑止手段は、前記ログ収集手段による前記ログ情報の収集が完了した後に前記リセットの抑止を解除する、バス制御装置。
(付記10)
付記9記載のバス制御装置であって、前記入出力バスの障害の発生を契機として前記入出力バスを縮退状態に遷移させるバス障害インジケータを更に含み、
前記バス障害インジケータは、前記リセット制御手段による前記入出力バスのリセットが完了した後に、前記入出力バスの縮退状態を解除する、バス制御装置。
(付記11)
付記9または10記載のバス制御装置であって、前記リセット抑止手段によって前記リセットの抑止が解除されるまで前記リセット指示を保持するリセット指示保持手段を更に含み、
前記リセット指示保持手段は、前記リセットの抑止が解除された後に、当該保持していたリセット指示を前記リセット制御手段に送信する、バス制御装置。
(付記12)
付記9から11のうちのいずれか1つに記載のバス制御装置であって、前記ログ収集手段は、当該収集されたログ情報を一時的に記憶するログバッファを有し、
前記入出力インタフェースは、前記リセット制御手段による前記入出力バスのリセットが完了した後に、前記ログバッファから前記ログ情報を読み出し前記プロセッサに転送する、バス制御装置。
(付記13)
付記9から12のうちのいずれか1つに記載のバス制御装置であって、前記入出力バスの動作に対する制御状態を表すデータを保持するレジスタを含み、
前記ログ収集手段は、前記レジスタから前記制御状態を表すデータをログ情報として収集し、前記入出力インタフェースは、前記ログ情報を前記プロセッサに転送する、バス制御装置。
(付記14)
付記9から13のうちのいずれか1つに記載のバス制御装置であって、前記入出力バスがPCI(Peripheral Component Interconnect)バスである、バス制御装置。

本発明に係る第1の実施形態のコンピュータシステムの概略構成を示すブロック図である。 第1の実施形態のPCIバスコントローラ(PBC)の概略構成を示すブロック図である。 I/Oリードの処理フローを示す図である。 I/Oライトの処理フローを示す図である。 メモリリードの処理フローを示す図である。 メモリライトの処理フローを示す図である。 本発明に係る第2の実施形態のPCIバスコントローラ(PBC)の概略構成を示すブロック図である。 本発明に係る第3の実施形態の大規模システムの構成を示す図である。 第3の実施形態の大規模システムを構成するセルの構成を示す図である。 第3の実施形態の大規模なシステムを構成するI/Oコントローラの構成を示す図である。
符号の説明
1 プロセッサ(CPU)
2 プロセッサバス(FSB:Front Side Bus)
3 メモリコントローラ(MMC:Main Memory Control)
4 主記憶部
5 I/Oコントローラ(IOC)
6 PCIバスコントローラ(PBC)
61 入力インタフェース制御部(INC)
62 出力インタフェース制御部(OTC)
63 アウトバウンドバッファ制御部(OBQ)
64 インバウンドバッファ制御部(IBQ)
65 インバウンドリードデータ制御部(DRQ)
66 PCIバス制御部(PXC)
661 バス信号制御部(BS)
662 アウトバウンド制御部(OBC)
662a バスリセット指示保持部(RPB)
663 インバウンド制御部(IBC)
664 コンフィグレーション部(CFG)
664a バス障害インジケータ(ERI)
664b バスリセット抑止インジケータ(RII)
665 アービトレーション部(ARB)
67 ログ収集部(PLC)
67a ログバッファ
68 サービスプロセッサ用ログ収集部(SVPC)
7 PCIバス
11,12,13,14 プロセッサ
20 セル
21 クロスバー・スイッチ(XBC)
22 サービスプロセッサ(SVP)

Claims (9)

  1. 少なくとも1つの入出力デバイスが接続された入出力バスと、
    デバイスドライバと、該デバイスドライバと前記入出力デバイスとの間のデータのやりとりを仲介するブリッジドライバとを実現するプロセッサと、
    前記プロセッサと前記入出力バスとの間に介在しかつ前記入出力バスの動作を制御するバス制御装置と、を備え、
    前記バス制御装置は、
    前記入出力バスの障害の発生を契機として、前記入出力バスにおける当該障害の発生部位に接続された入出力デバイスのログ情報を収集するログ収集手段と、
    前記入出力バスの障害の発生を契機として前記入出力バスのリセットを抑止し、前記ログ収集手段による前記ログ情報の収集が完了した後に前記リセットの抑止を解除するリセット抑止手段と、
    前記ログ収集手段により収集されたログ情報を保持するログバッファと、
    前記入出力バスの障害の発生を契機として前記入出力バスを縮退状態に遷移させ、前記入出力バスのリセットを要求するトランザクションに基づいて前記入出力バスの縮退状態を解除するバス障害インジケータと、
    前記入出力バスのリセット指示を示すトランザクションに応じて前記入出力バスをリセットし、前記入出力バスのリセット完了後、該リセット完了を示すリプライトランザクションを前記プロセッサ方向に送出し、前記入出力バスの縮退状態を解除するためのトランザクションに応じて前記バス障害インジケータを前記入出力バスの縮退状態が解除される状態にするコンフィグレーション部と、
    を含み、
    前記ブリッジドライバは、前記デバイスドライバからの要求に応じて前記入出力バスのリセット指示を示すトランザクションを前記バス制御装置に送信し、前記入出力バスのリセット完了を示すリプライトランザクションを受信した後、前記ログバッファに保持されるログ情報を読み出し、該ログ情報の読み出し後、前記入出力バスの縮退状態を解除するためのトランザクションを前記バス制御装置に送信する、
    コンピュータシステム。
  2. 請求項1に記載のコンピュータシステムであって、
    前記バス制御装置は、前記リセット抑止手段によって前記リセットの抑止が解除されるまで前記リセット指示を保持するリセット指示保持手段を更に含み、
    前記リセット指示保持手段は、前記リセットの抑止が解除された後に、当該保持していたリセット指示を前記リセット制御手段に送信する、
    コンピュータシステム。
  3. 請求項1又は2に記載のコンピュータシステムであって、
    前記ブリッジドライバは、前記バス障害インジケータが示す状態を確認し、前記バス障害インジケータが前記入出力バスの縮退状態を示す場合に、前記デバイスドライバに対して障害発生を通知する、コンピュータシステム。
  4. 請求項1から3のいずれか1項に記載のコンピュータシステムであって、
    前記バス制御装置は、前記入出力バスの動作に対する制御状態を表すデータを保持するレジスタを含み、
    前記ログ収集手段は、前記レジスタから前記制御状態を表すデータを前記ログ情報として収集する、
    コンピュータシステム。
  5. 請求項1から4のいずれか1項に記載のコンピュータシステムであって、前記入出力バスがPCI(Peripheral Component Interconnect)バスである、コンピュータシステム。
  6. デバイスドライバと少なくとも1つの入出力デバイスとの間のデータのやりとりを仲介するブリッジドライバ及び該デバイスドライバを実現するプロセッサと、少なくとも1つの入出力デバイスが接続された入出力バスと、の間に介在しかつ前記入出力バスの動作を制御するバス制御装置であって
    前記入出力バスの障害の発生を契機として、前記入出力バスにおける当該障害の発生部位に接続された入出力デバイスのログ情報を収集するログ収集手段と、
    前記入出力バスの障害の発生を契機として前記入出力バスのリセットを抑止し、前記ログ収集手段による前記ログ情報の収集が完了した後に前記リセットの抑止を解除するリセット抑止手段と、
    前記ログ収集手段により収集されたログ情報を保持するログバッファと、
    前記入出力バスの障害の発生を契機として前記入出力バスを縮退状態に遷移させ、前記入出力バスのリセットを要求するトランザクションに基づいて前記入出力バスの縮退状態を解除するバス障害インジケータと、
    前記入出力バスのリセット指示を示すトランザクションに応じて前記入出力バスをリセットし、前記入出力バスのリセット完了後、該リセット完了を示すリプライトランザクションを前記プロセッサ方向に送出し、前記入出力バスのリセット完了後前記ブリッジドライバにより前記ログバッファに保持されるログ情報が読み出された後に前記ブリッジドライバから送信される前記入出力バスの縮退状態を解除するためのトランザクションに応じて前記バス障害インジケータを前記入出力バスの縮退状態が解除される状態にするコンフィグレーション部と、
    を含む、
    バス制御装置。
  7. 請求項6記載のバス制御装置であって、
    前記リセット抑止手段によって前記リセットの抑止が解除されるまで前記リセット指示を保持するリセット指示保持手段を更に含み、
    前記リセット指示保持手段は、前記リセットの抑止が解除された後に、当該保持していたリセット指示を前記リセット制御手段に送信する、
    バス制御装置。
  8. 請求項6又は7に記載のバス制御装置であって、
    前記入出力バスの動作に対する制御状態を表すデータを保持するレジスタを含み、
    前記ログ収集手段は、前記レジスタから前記制御状態を表すデータを前記ログ情報として収集する、
    バス制御装置。
  9. 請求項6から8のいずれか1項に記載のバス制御装置であって、前記入出力バスがPCI(Peripheral Component Interconnect)バスである、バス制御装置。
JP2008066831A 2008-03-14 2008-03-14 コンピュータシステムおよびバス制御装置 Expired - Fee Related JP5151580B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008066831A JP5151580B2 (ja) 2008-03-14 2008-03-14 コンピュータシステムおよびバス制御装置
US12/402,960 US8028190B2 (en) 2008-03-14 2009-03-12 Computer system and bus control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008066831A JP5151580B2 (ja) 2008-03-14 2008-03-14 コンピュータシステムおよびバス制御装置

Publications (2)

Publication Number Publication Date
JP2009223584A JP2009223584A (ja) 2009-10-01
JP5151580B2 true JP5151580B2 (ja) 2013-02-27

Family

ID=41064314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008066831A Expired - Fee Related JP5151580B2 (ja) 2008-03-14 2008-03-14 コンピュータシステムおよびバス制御装置

Country Status (2)

Country Link
US (1) US8028190B2 (ja)
JP (1) JP5151580B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014048782A (ja) 2012-08-30 2014-03-17 Fujitsu Ltd 情報処理装置、及び情報処理装置の障害処理方法
US9684633B2 (en) * 2013-01-24 2017-06-20 Samsung Electronics Co., Ltd. Adaptive service controller, system on chip and method of controlling the same
JP6357879B2 (ja) * 2014-05-28 2018-07-18 富士ゼロックス株式会社 システムおよび障害処理方法
US10216591B1 (en) * 2016-06-30 2019-02-26 EMC IP Holding Company LLC Method and apparatus of a profiling algorithm to quickly detect faulty disks/HBA to avoid application disruptions and higher latencies
CN117092933B (zh) * 2023-07-26 2024-04-16 天津通信广播集团有限公司 转动机械设备控制方法、装置、设备和计算机可读介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5755454A (en) * 1980-09-19 1982-04-02 Hitachi Ltd Failure recovery system
JPS62241041A (ja) * 1986-04-11 1987-10-21 Nec Corp 情報処理装置
JPH02294753A (ja) * 1989-05-09 1990-12-05 Fujitsu Ltd 入出力処理装置の初期化方式
JPH0328948A (ja) * 1989-06-27 1991-02-07 Nec Corp 入出力制御装置の動作状態情報収集方式
KR20000009836A (ko) * 1998-07-29 2000-02-15 윤종용 국 데이터의 입력 데이터 시험 방법
US20020184576A1 (en) * 2001-03-29 2002-12-05 International Business Machines Corporation Method and apparatus for isolating failing hardware in a PCI recoverable error
US20040003160A1 (en) * 2002-06-28 2004-01-01 Lee John P. Method and apparatus for provision, access and control of an event log for a plurality of internal modules of a chipset
JP4218538B2 (ja) * 2004-01-28 2009-02-04 日本電気株式会社 コンピュータシステム、バスコントローラ及びそれらに用いるバス障害処理方法
JP4728896B2 (ja) * 2006-07-13 2011-07-20 エヌイーシーコンピュータテクノ株式会社 コンピュータシステム

Also Published As

Publication number Publication date
US20090235123A1 (en) 2009-09-17
JP2009223584A (ja) 2009-10-01
US8028190B2 (en) 2011-09-27

Similar Documents

Publication Publication Date Title
EP1088273B1 (en) Processor bridge with posted write buffer
EP1090349B1 (en) Processor bridge with dissimilar data registers
US5991900A (en) Bus controller
US7631226B2 (en) Computer system, bus controller, and bus fault handling method used in the same computer system and bus controller
EP1090350B1 (en) Multi-processor system bridge with controlled access
US6643727B1 (en) Isolation of I/O bus errors to a single partition in an LPAR environment
US6223230B1 (en) Direct memory access in a bridge for a multi-processor system
US7343515B1 (en) System and method for performing error recovery in a data processing system having multiple processing partitions
US6173351B1 (en) Multi-processor system bridge
JP4658122B2 (ja) Dmaコントローラ、ノード、データ転送制御方法、及びプログラム
US20110246686A1 (en) Apparatus and system having pci root port and direct memory access device functionality
US20080082713A1 (en) Interrupt control system and storage control system using the same
JP5151580B2 (ja) コンピュータシステムおよびバス制御装置
US7873880B2 (en) Data relay device, storage device, and response delay monitoring method
US7685473B2 (en) Computer system, method of detecting a stall in a computer system, and signal-bearing medium embodying a program causing a computer system to perform a method of detecting a stall in a computer system
EP1088271B1 (en) Processor bridge with dissimilar data access
EP1145131B1 (en) Resource control in a computer system
JP2005208972A (ja) コンピュータ装置及びシステム
JP7427887B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JPH05224964A (ja) バス異常通知方式
JP4597484B2 (ja) 複合計算機システム
JPH10254736A (ja) 障害情報収集システム
CN1811722A (zh) 冗余处理器中的差错处理***
JPH01140357A (ja) メモリアクセス制御装置
JPH07146850A (ja) マルチプロセッサ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120514

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121119

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

Free format text: PAYMENT UNTIL: 20151214

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5151580

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees