JP2021039606A - 情報処理システム - Google Patents

情報処理システム Download PDF

Info

Publication number
JP2021039606A
JP2021039606A JP2019161497A JP2019161497A JP2021039606A JP 2021039606 A JP2021039606 A JP 2021039606A JP 2019161497 A JP2019161497 A JP 2019161497A JP 2019161497 A JP2019161497 A JP 2019161497A JP 2021039606 A JP2021039606 A JP 2021039606A
Authority
JP
Japan
Prior art keywords
relay device
information processing
unit
control unit
restart
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019161497A
Other languages
English (en)
Other versions
JP6700569B1 (ja
Inventor
木村 真敏
Masatoshi Kimura
真敏 木村
智弘 石田
Tomohiro Ishida
智弘 石田
勇気 河間
Yuki Kawama
勇気 河間
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.)
Fujitsu Client Computing Ltd
Original Assignee
Fujitsu Client Computing Ltd
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 Fujitsu Client Computing Ltd filed Critical Fujitsu Client Computing Ltd
Priority to JP2019161497A priority Critical patent/JP6700569B1/ja
Application granted granted Critical
Publication of JP6700569B1 publication Critical patent/JP6700569B1/ja
Priority to GBGB2011262.9A priority patent/GB202011262D0/en
Priority to CN202010703008.XA priority patent/CN112445736A/zh
Priority to US16/939,593 priority patent/US20210064108A1/en
Publication of JP2021039606A publication Critical patent/JP2021039606A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • 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/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/36Repeater circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Abstract

【課題】中継装置を介した通信を継続する。
【解決手段】電源投入時の挿抜である活性挿抜に対応した第1の接続部を有する第1の情報処理装置と、複数の第2の情報処理装置とを中継装置を介して通信可能に接続した情報処理システムである。前記第2の情報処理装置は、前記中継装置と接続する第2の接続部と、前記第2の情報処理装置の再起動を実行する第1の再起動部を備える。前記中継装置は、前記中継装置の再起動時にも前記第1の情報処理装置及び前記第2の情報処理装置に電力を供給する電源制御ユニットと、通信障害を検出した場合に前記中継装置を再起動する第2の再起動部と、を備える。前記第1の情報処理装置は、前記中継装置と接続する前記第1の接続部と、再起動した前記中継装置を検出する第1の検出部と、前記第1の検出部が前記中継装置を検出した場合に、前記中継装置を介した通信に関する設定を初期化する初期化部と、を備える。
【選択図】図5

Description

本発明は、情報処理システムに関する。
従来、複数の情報処理装置を中継装置に接続することで情報処理装置間のデータ通信を行う情報処理システムが提案されている。
さらには、情報処理システムにおいては、一つの装置内に、複数の情報処理装置に加えて、中継装置を内蔵することで、複数の情報処理装置間で中継装置を介して通信を行う技術も提案されている。当該情報処理システムでは、処理するデータに応じて様々な種類の情報処理装置が含まれている。このような情報処理システムにおいて、中継装置は、障害等が発生した場合に再起動する事がある。このような場合に、中継装置を介した通信の継続するために、当該情報処理システム内の情報処理装置は、中継装置の再起動に合わせて、初期化等の処理を行うことが求められる。
特開2005−275818号公報 特開2007−274375号公報
しかしながら、情報処理システムにおいては、活性挿抜(例えば、HPD(Hot Plug Detect))の対応/非対応など様々な情報処理装置が含まれているため、中継装置が再起動した場合に、情報処理装置に応じた処理を行う必要がある。
本発明は、上記に鑑みてなされたものであって、情報処理装置間で中継装置を介した通信を継続することを目的とする。
本発明の第1態様に係る情報処理システムは、電源投入時の挿抜である活性挿抜に対応した第1の接続部を有する第1の情報処理装置と、複数の第2の情報処理装置とを中継装置を介して通信可能に接続した情報処理システムである。前記第2の情報処理装置は、前記中継装置と接続する第2の接続部と、前記第2の情報処理装置の再起動を実行する第1の再起動部を備える。前記中継装置は、前記中継装置の再起動時にも前記第1の情報処理装置及び前記第2の情報処理装置に電力を供給する電源制御ユニットと、通信障害を検出した場合に前記中継装置を再起動する第2の再起動部と、を備える。前記第1の情報処理装置は、前記中継装置と接続する前記第1の接続部と、再起動した前記中継装置を検出する第1の検出部と、前記第1の検出部が前記中継装置を検出した場合に、前記中継装置を介した通信に関する設定を初期化する初期化部と、を備える。
本発明に係る情報処理システムは、中継装置を介した通信ができなくなってしまうことを防止するという効果を奏する。
図1は、本実施例に係る中継装置内蔵コンピュータの全体構成の一例を示す図である。 図2は、中継装置内蔵コンピュータの各装置のハードウェア構成の一例を示す図である。 図3は、電源制御ユニットのハードウェア構成の一例を示す図である。 図4は、本実施例に係るプラットフォーム間の通信処理の一例を説明するための図である。 図5は、中継装置内蔵コンピュータが有する各部の機能の一例を示す機能ブロック図である。 図6は、本実施例に係る復旧処理の一例を示すシーケンス図である。
以下に、本発明に係る情報処理システムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、本実施例に係る中継装置内蔵コンピュータ1の全体構成の一例を示す図である。中継装置内蔵コンピュータ1は、電源投入時の挿抜である活性挿抜に対応したインタフェースを有するプラットフォーム10−1と、複数のプラットフォーム10−2〜10−8とを中継装置30を介して通信可能に接続した情報処理システムである。図1に示すように、実施例に係る中継装置内蔵コンピュータ1は、プラットフォーム10−1〜10−8と、中継装置30とを備えている。
プラットフォーム10−1〜10−8は、中継装置30を介して、通信可能に接続されている。プラットフォーム10−1〜10−8は、例えば、中継装置30が設けられたボード上のスロットに挿入される。また、複数のスロットのうち、何れかのスロットは、プラットフォーム10−1〜10−8が挿入されていない空き状態であってもよい。以下の説明では、各プラットフォーム10−1〜10−8を区別する必要がなく、任意のプラットフォーム10−1〜10−8を示す場合には、プラットフォーム10と記載する。
プラットフォーム10−1は、第1の情報処理装置の一例である。プラットフォーム10−1は、プラットフォーム10−2〜10−8を管理して、プラットフォーム10−2〜10−8に各種処理を実行させるメインの情報処理装置である。
プラットフォーム10−1には、モニタ21と、入力装置22とが接続されている。モニタ21は、例えば液晶表示装置等の各種画面を表示する。入力装置22は、例えばキーボードやマウス等の各種操作を受け付ける。
プラットフォーム10−2〜10−8は、第2の情報処理装置の一例である。プラットフォーム10−2〜10−8は、プラットフォーム10−1の要求に基づいて、例えばAI(Artificial Intelligence)推論処理や画像処理等を実行するサブの情報処理装置である。また、プラットフォーム10−2〜10−8は、それぞれが異なる機能を有していてもよいし、複数のプラットフォーム10毎に機能を有していてもよい。
プラットフォーム10−1〜10−8は、ホスト側として動作可能なルートコンプレックス(RC:Root Complex)11−1〜11−8有する。以下の説明では、各ルートコンプレックス11−1〜11−8を区別する必要がなく、任意のルートコンプレックス11−1〜11−8を示す場合には、ルートコンプレックス11と記載する。
ルートコンプレックス11は、中継装置30の各エンドポイント31−1〜31−8との通信を実行する。すなわち、プラットフォーム10と中継装置30とは、PCIe(Peripheral Component Interconnect Express)等の通信規格により通信可能に接続される。プラットフォーム10と中継装置30とは、PCIeに限らず他の通信規格により接続されていてもよい。
中継装置30は、複数のエンドポイント(EP:End Point)31−1〜31−8を有する。また、中継装置30は、エンドポイント31−1〜31−8に接続されたルートコンプレックス11を有する複数のプラットフォーム10間での通信を中継する。
エンドポイント31−1〜31−8は、プラットフォーム10のルートコンプレックス11との通信を実行する。以下の説明では、各エンドポイント31−1〜31−8を区別する必要がなく、任意のエンドポイント31−1〜31−8を示す場合には、エンドポイント31と記載する。
次に、中継装置内蔵コンピュータ1の各装置のハードウェア構成について説明する。図2は、中継装置内蔵コンピュータ1の各装置のハードウェア構成の一例を示す図である。ここでは、プラットフォーム10−1のハードウェア構成を例に説明する。しかし、プラットフォーム10−2〜10−8も同様の構成になっている。
プラットフォーム10−1は、AI処理や画像処理等の演算処理を行なうコンピュータである。プラットフォーム10は、ルートコンプレックス11−1と、プロセッサ12−1と、メモリ13−1と、記憶部14−1と、通信部15−1とを備える。また、これらは、バスを介して通信可能に接続される。
プロセッサ12−1は、プラットフォーム10−1全体を制御する。プロセッサ12−1は、マルチプロセッサであってもよい。また、プロセッサ12−1は、例えばCPU(Central Processing Unit),MPU(Micro Processing Unit),GPU(Graphics Processing Unit),DSP(Digital Signal Processor),ASIC(Application Specific Integrated Circuit),PLD(Programmable Logic Device),FPGA(Field Programmable Gate Array)のいずれか一つであってもよい。また、プロセッサ12は、CPU,MPU,GPU,DSP,ASIC,PLD,FPGAのうちの2種類以上の要素の組み合わせであってもよい。以下の説明では、プロセッサ12−1〜12−8を区別する必要がなく、任意のプロセッサ12−1〜12−8を示す場合には、プロセッサ12と記載する。
メモリ13−1は、ROM(Read Only Memory)およびRAM(Random Access Memory)を含む記憶メモリである。メモリ13−1のROMには、各種ソフトウェアプログラムやこのプログラム用のデータ類が書き込まれている。メモリ13−1上のソフトウェアプログラムは、プロセッサ12に適宜読み込まれて実行される。また、メモリ13−1のRAMは、一次記憶メモリあるいはワーキングメモリとして利用される。以下の説明では、メモリ13−1〜13−8を区別する必要がなく、任意のメモリ13−1〜13−8を示す場合には、メモリ13と記載する。
記憶部14−1は、ハードディスクドライブ(Hard Disk Drive:HDD)、SSD(Solid State Drive)、ストレージクラスメモリ(Storage Class Memory:SCM)等の記憶装置であって、種々のデータを格納するものである。例えば、記憶部14−1には各種ソフトウェアプログラムが記憶される。以下の説明では、記憶部14−1〜14−8を区別する必要がなく、任意の記憶部14−1〜14−8を示す場合には、記憶部14と記載する。
プラットフォーム10においては、プロセッサ12がメモリ13や記憶部14に格納されたソフトウェアプログラムを実行することで各種機能を実現する。
なお、上記の各種ソフトウェアプログラムは、必ずしもメモリ13や記憶部14に記憶されている必要はない。例えば、媒体読取装置等が読み取り可能な記憶媒体に記憶されたプログラムを、プラットフォーム10が読み出して実行するようにしてもよい。プラットフォーム10が読み取り可能な記憶媒体は、例えば、CD−ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にこの情報処理プログラムを記憶させておき、プラットフォーム10がこれらから情報処理プログラムを読み出して実行するようにしてもよい。
通信部15−1は、電源制御ユニット40との通信を実行するためのインタフェースである。例えば、通信部15−1は、I2C(Inter-Integrated Circuit)等の通信規格により通信を実行する。以下の説明では、通信部15−1〜15−8を区別する必要がなく、任意の通信部15−1〜15−8を示す場合には、通信部15と記載する。
次に、中継装置30について説明する。中継装置30は、プラットフォーム10毎に設けられたエンドポイント31−1〜31−8と、プロセッサ32と、メモリ33と、記憶部34と、内部バス35と、PCIeバス36と、電源制御ユニット40とを備える。以下の説明では、各エンドポイント31−1〜31−8を区別する必要がなく、任意のエンドポイント31−1〜31−8を示す場合には、エンドポイント31と記載する。
エンドポイント31は、プラットフォーム10毎に設けられ、データの送受信を実行する。例えば、エンドポイント31は、接続されたプラットフォーム10からデータを受信した場合に、PCIeバス36を介して、送信先のプラットフォーム10に接続されたエンドポイント31に受信したデータを送信する。
例えば、ルートコンプレックス11は、DMA(Direct Memory Access)転送により他のプラットフォーム10にデータを送信する。また、エンドポイント31は、データの送信元のプラットフォーム10に接続されたエンドポイント31から、PCIeバス36を介してデータを受信した場合に、接続されたプラットフォーム10に受信したデータを送信する。
プロセッサ32は、中継装置30全体を制御する。プロセッサ32は、マルチプロセッサであってもよい。また、プロセッサ32は、例えばCPU,MPU,GPU,DSP,ASIC,PLD,FPGAのいずれか一つであってもよい。また、プロセッサ32は、CPU,MPU,GPU,DSP,ASIC,PLD,FPGAのうちの2種類以上の要素の組み合わせであってもよい。
メモリ33は、ROM、及びRAMを含む記憶装置である。ROMには、各種ソフトウェアプログラムやこのプログラム用のデータ類が書き込まれている。メモリ33に記憶されたプログラムは、プロセッサ32に読み込まれて実行される。また、RAMは、ワーキングメモリとして利用される。
記憶部34は、ハードディスクドライブ、SSD、ストレージクラスメモリ等の記憶装置であって、種々のデータを格納するものである。例えば、記憶部34には各種ソフトウェアプログラムが記憶される。
内部バス35は、プロセッサ32、メモリ33、記憶部34、及びPCIeバス36を通信可能に接続する。
PCIeバス36は、複数のエンドポイント31、及び内部バス35を通信可能に接続する。すなわち、PCIeバス36は、複数のエンドポイント31間でデータを転送可能に接続する。また、PCIeバス36は、例えばPCIe規格に準拠したバスである。
電源制御ユニット40は、プラットフォーム10への電力の供給を制御する。電源制御ユニット40は、例えば、マイクロコンピュータやマイクロコントローラと呼ばれる集積回路である。電源制御ユニット40は、中継装置30の再起動時にもプラットフォーム10に電力を供給する。また、電源制御ユニット40は、プラットフォーム10−1及び中継装置30のプロセッサ32と接続されている。
次に、電源制御ユニット40のハードウェア構成について説明する。図3は、電源制御ユニット40のハードウェア構成の一例を示す図である。
電源制御ユニット40は、プロセッサ41と、メモリ42と、第1接続部43と、第2接続部44とを備える。プロセッサ41と、メモリ42と、第1接続部43と、第2接続部44とは、バス45を介して通信可能に接続される。
プロセッサ41は、電源制御ユニット40全体を制御する。プロセッサ41は、マルチプロセッサであってもよい。また、プロセッサ41は、例えばCPU,MPU,GPU,DSP,ASIC,PLD,FPGAのいずれか一つであってもよい。また、プロセッサ41は、CPU,MPU,GPU,DSP,ASIC,PLD,FPGAのうちの2種類以上の要素の組み合わせであってもよい。
メモリ42は、ROM、及びRAMを含む記憶装置である。ROMには、各種ソフトウェアプログラムやこのプログラム用のデータ類が書き込まれている。メモリ42に記憶されたプログラムは、プロセッサ41に読み込まれて実行される。また、RAMは、ワーキングメモリとして利用される。
第1接続部43は、プラットフォーム10−1と接続するためのインタフェースである。例えば、第1接続部43は、I2C等のインタフェースである。
第2接続部44は、中継装置30のプロセッサ32と接続するためのインタフェースである。例えば、第2接続部44は、GPIO(General Purpose Input Output)を介して接続されている。
次に、中継装置30に接続されるプラットフォーム10−1とプラットフォーム10−2との間における通信処理の一例について説明する。図4は、本実施例に係るプラットフォーム10間の通信処理の一例を説明するための図である。ここでは、プラットフォーム10−1と、プラットフォーム10−2との間での通信処理の一例について説明するが、他のプラットフォーム10間も同様に通信を行う。
図4に示すように、中継装置内蔵コンピュータ1は、例えば、PCIeの規格で規定されたレイヤー構造を有している。そして、中継装置内蔵コンピュータ1は、各階層を介して、プラットフォーム10間の通信を実行する。
送信元のプラットフォーム10−1は、ソフトウェアが指定したデータを、トランザクション層、データリンク層、及び物理層(PHY)を介して、中継装置30の物理層(PHY)に転送する。
中継装置30は、送信元のプラットフォーム10−1から転送されてきたデータを、物理層(PHY)、及びデータリンク層を介して、トランザクション層に受け渡す。中継装置30は、トランザクション層において、送信先のプラットフォーム10−2に対応するエンドポイント31にトンネリングによりデータを転送する。中継装置30は、トランザクション層、データリンク層、及び物理層(PHY)を介して、送信先のプラットフォーム10−2の物理層(PHY)に転送する。このように、中継装置30は、エンドポイント31間でデータをトンネリングさせることで、送信元のプラットフォーム10−1からから送信先のプラットフォーム10−2にデータを転送する。
送信先のプラットフォーム10−2では、物理層(PHY)、データリンク層、及びトランザクション層を介して、データがソフトウェアに受け渡される。
また、中継装置30に接続された複数のプラットフォーム10のうち、一のプラットフォーム10にデータの転送が集中しない場合、異なる任意の組み合わせのプラットフォーム10間で並行してデータを転送することができる。
例えば、プラットフォーム10−1に対して、プラットフォーム10−2、及びプラットフォーム10−3が通信する場合には、中継装置30は、プラットフォーム10−2、及びプラットフォーム10−3との通信をシリアル処理により実行する。一方、異なるプラットフォーム10同士が通信し、特定のプラットフォーム10に通信が集中しない場合には、中継装置30は、プラットフォーム10間の通信を並列処理により実行する。
次に、本実施形態の中継装置内蔵コンピュータ1が有する各部の特徴的な機能について説明する。図5は、中継装置内蔵コンピュータ1が有する各部の機能の一例を示す機能ブロック図である。
まず、プラットフォーム10−1について説明する。
プラットフォーム10−1のプロセッサ12−1は、メモリ13−1や記憶部14−1等に記憶されるプログラムを実行することによって、図5に示す機能を実現する。具体的には、プロセッサ12−1は、機能部として、通信制御部1011、接続検出部1012、初期化制御部1013、状態取得部1014、及び表示設定部1015を備える。
通信制御部1011は、第1の接続部の一例である。通信制御部1011は、ルートコンプレックス11−1を制御して、中継装置30を介したプラットフォーム10−2〜10−8との通信を実行する。すなわち、通信制御部1011は、中継装置30と接続する。そして、通信制御部1011は、中継装置30に対してデータの送受信を実行する。また、プラットフォーム10−1は、System BIOS(Basic Input Output System)でHPDに対応したデバイスとして設定される。すなわち、通信制御部1011は、電源投入時の挿抜である活性挿抜に対応している。よって、プラットフォーム10−1は、電源投入時に挿抜されても中継装置30との通信を実行することができる。
接続検出部1012は、第1の検出部の一例である。接続検出部1012は、中継装置30が接続されたことを検出する。例えば、中継装置30が再起動した場合に、接続検出部1012は、再起動した中継装置30を検出する。
初期化制御部1013は、初期化部の一例である。初期化制御部1013は、接続検出部1012が中継装置30を検出した場合に、中継装置30を介した通信に関する設定を初期化する。更に詳しくは、初期化制御部1013は、BIOSで中継装置30が接続されたことを検出した場合に、各種設定を初期化する。例えば、初期化制御部1013は、BAR(Base Address Register)、割込みレジスタ、その他のレジスタ等を初期化する。
状態取得部1014は、中継装置30が再起動したことを示す情報を取得する。更に詳しくは、状態取得部1014は、通信部15−1を制御して、中継装置30が再起動されたことが示された「Error Status」を電源制御ユニット40に要求する。そして、状態取得部1014は、中継装置30から応答として送信された「Error Status」を取得する。
表示設定部1015は、設定変更部の一例である。表示設定部1015は、プラットフォーム10と中継装置30との接続を切断する否かを切り替える表示を非表示設定に変更する。例えば、例えばWindows(登録商標)のタスクバーの「ハードウェアの取り外し」において、プラットフォーム10と中継装置30との接続を切断する操作が入力されると、プラットフォーム10と中継装置30との接続は切断される。この場合、プラットフォーム10と中継装置30とが切断されるため通信を継続することができなくなってしまう。そこで、表示設定部1015は、ドライバプログラム内でKMDF(Kernel-Mode Driver Framework)のAPI(Application Programming Interface)を経由してレジストリの値を変更することで非表示に変更する。
また、Windows(登録商標)のコントロールパネルの「デバイスとプリンター」においてもプラットフォーム10と中継装置30との接続は切断される。そこで、表示設定部1015は、INFファイルで直接レジストリの値を書き換えることで非表示に変更する。これにより、表示設定部1015は、プラットフォーム10と中継装置30との接続が切断されてしまうことを防止する。すなわち、表示設定部1015は、中継装置30を介した通信を継続させることができる。
次に、中継装置30について説明する。
中継装置30のプロセッサ32は、メモリ33や記憶部34等に記憶されるプログラムを実行することによって、図5に示す機能を実現する。具体的には、プロセッサ32は、機能部として、中継制御部3001、障害検出部3002、再起動制御部3003、及びメッセージ制御部3004を備える。
中継制御部3001は、プラットフォーム10間における通信を制御する。更に詳しくは、中継制御部3001は、図4に示すように、プラットフォーム10間のデータ転送を制御する。
障害検出部3002は、プラットフォーム10間の通信に障害が発生したことを検出する。例えば、障害検出部3002は、所定期間内に通信が行われない場合に、障害が発生したとして検出する。
再起動制御部3003は、第2の再起動部の一例である。再起動制御部3003は、障害検出部3002が通信障害を検出した場合に中継装置30を再起動する。
メッセージ制御部3004は、通知部の一例である。メッセージ制御部3004は、中継装置30が再起動したことをプラットフォーム10−1〜10−8に通知する。更に詳しくは、メッセージ制御部3004は、中継装置30の再起動が完了した場合に、再起動したことを示す情報をプラットフォーム10−1〜10−8に送信する。例えば、メッセージ制御部3004は、PCIeのLinkup時に「DRS(Device Readiness Status) Message」をプラットフォーム10−1〜10−8に送信する。
次に、電源制御ユニット40について説明する。
電源制御ユニット40のプロセッサ41は、メモリ42等に記憶されるプログラムを実行することによって、図5に示す機能を実現する。具体的には、プロセッサ41は、機能部として、電源制御部4001、再起動検出部4002、及び状態制御部4003を備える。
電源制御部4001は、プラットフォーム10への電力供給を制御する。また、電源制御部4001は、中継装置30の再起動時にもプラットフォーム10に電力を供給する。
再起動検出部4002は、第2の検出部の一例である。再起動検出部4002は、中継装置30が再起動したことを検出する。更に詳しくは、再起動検出部4002は、第2接続部44を介して、中継装置30が再起動したことを示す情報を受信する。例えば、再起動検出部4002は、GPIOを介して、FW(Firm Ware)の起動時に中継装置30が再起動したことを示すフラグを受信する。
状態制御部4003は、第1接続部43を介して、中継装置30が再起動したことを示す情報が要求された場合に、中継装置30の状態変化を示す情報を送信する。すなわち、状態制御部4003は、I2Cを介して、中継装置30が再起動したことを示す「Error Status」が要求された場合に、応答として「Error Status」を送信する。
次に、プラットフォーム10−2〜10−8について説明する。
プラットフォーム10−2〜10−8のプロセッサ12−2〜12−8は、メモリ13−2〜13−8や記憶部14−2〜14−8等に記憶されるプログラムを実行することによって、図5に示す機能を実現する。具体的には、プロセッサ12−2〜12−8は、機能部として、通信制御部1021、再起動制御部1022、及び初期化制御部1023を備える。
通信制御部1021は、第2の接続部の一例である。通信制御部1021は、ルートコンプレックス11−2〜11−8を制御して、中継装置30を介してプラットフォーム10との通信を実行する。すなわち、通信制御部1021は、中継装置30と接続する。そして、通信制御部1021は、中継装置30に対してデータの送受信を実行する。
再起動制御部1022は、第1の再起動部の一例である。再起動制御部1022は、プラットフォーム10−2〜10−8の再起動を実行する。更に詳しくは、再起動制御部1022は、自装置であるプラットフォーム10−2〜10−8に障害等が発生した場合に、自装置であるプラットフォーム10−2〜10−8を再起動する。
初期化制御部1023は、プラットフォーム10−2〜10−8の再起動に伴い、プラットフォーム10−2〜10−8を初期化する。更に詳しくは、初期化制御部1023は、ドライバをロードする。また、初期化制御部1023は、BAR等のレジスタ初期化して、「Base Address」を割当てる。
次に、復旧処理について説明する。図6は、本実施例に係る復旧処理の一例を示すシーケンス図である。復旧処理は、中継装置30を介した通信において、通信障害から復旧させる処理である。
中継装置内蔵コンピュータ1の各部は、動作状態になっている(ステップS1)。
中継装置内蔵コンピュータ1の各部は、中継装置30を介した通信を実行する(ステップS2)。例えば、送信元のプラットフォーム10−1の通信制御部1011は、送信先のプラットフォーム10−2〜10−8を指定して送信データを中継装置30に送信する。中継装置30に設けられたプロセッサ32の中継制御部3001は、指定さえたプラットフォーム10−2〜10−8に送信データを送信する。送信先のプラットフォーム10−2〜10−8の通信制御部1021は、送信データを受信する。
プロセッサ32の障害検出部3002は、「Bus Fault」が発生する(ステップS3)。すなわち、障害検出部3002は、PCIeバス36に通信障害が発生する。
プロセッサ32の障害検出部3002は、「Bus Transaction Error」のをプラットフォーム10−1に送信する(ステップS4)。すなわち、障害検出部3002は、プラットフォーム10間の通信にエラーが発生したことを送信する。
プロセッサ32の再起動制御部3003は、自装置を再起動する(ステップS5)。再起動制御部3003は、各種設定を初期化する(ステップS6)。
プロセッサ32の再起動制御部3003は、ステップS6の再起動において起動が完了した場合に、起動完了通知を送信する(ステップS7)。更に詳しくは、再起動制御部3003は、起動完了信号を有効して、起動完了通知を送信する。
プロセッサ32のメッセージ制御部3004は、「DRS Message」を設定する(ステップS8)。すなわち、メッセージ制御部3004は、中継装置30が再起動したことを示す情報を生成する。
電源制御ユニット40の再起動検出部4002は、起動完了通知に基づいて、プロセッサ32の再起動を検出する(ステップS9)。また、電源制御ユニット40の再起動検出部4002は、プロセッサ32の再起動の検出通知をプラットフォーム10−2〜10−8に送信する(ステップS10)。
プロセッサ32の再起動制御部3003は、起動完了通知の送信を終了する(ステップS11)。更に詳しくは、再起動制御部3003は、起動完了信号を無効して、起動完了通知の送信を終了する。
プラットフォーム10−1と中継装置30とは、「PCIe Link up」になる(ステップS12)。すなわち、プラットフォーム10−1と中継装置30とは、PCIeにおいて通信可能に接続される。
プロセッサ32のメッセージ制御部3004は、「DRS Message」を発行する(ステップS13)。すなわち、メッセージ制御部3004は、中継装置30が再起動したことを示す情報をプラットフォーム10に送信する。
プラットフォーム10−1の接続検出部1012は、プロセッサ32の再起動が完了したことに伴い、中継装置30が接続されたことを検出する(ステップS14)。
プラットフォーム10−1の初期化制御部1013は、BIOSの初期化を実行する(ステップS15)。すなわち、初期化制御部1013は、レジスタ等を初期化して「Base Address」を割当てる。
プラットフォーム10−1の初期化制御部1013は、ドライバの初期化を実行する(ステップS16)。
プラットフォーム10−2〜10−8の再起動制御部1022は、プロセッサ32の再起動を検出した場合に、自装置を再起動する処理を開始する(ステップS17)。例えば、再起動制御部1022は、自装置に通信障害等が発生した場合に、再起動を実行する。
プラットフォーム10−2〜10−8の再起動制御部1022は、ステップS3の再起動に伴い起動する(ステップS18)。
プラットフォーム10−2〜10−8の初期化制御部1023は、ドライバをロードする(ステップS19)。初期化制御部1023は、レジスタ等の初期化を実行する(ステップS20)。すなわち、初期化制御部1023は、「Base Address」を割当てる。
中継装置30とプラットフォーム10−2〜10−8とは、「PCIe Link up」になる(ステップS21)。すなわち、プラットフォーム10−2〜10−8と中継装置30とは、PCIeにおいて通信可能に接続される。
プロセッサ32のメッセージ制御部3004は、「DRS Message」を発行する(ステップS22)。
中継装置内蔵コンピュータ1の各部は、動作状態になっている(ステップS23)。
プラットフォーム10−1の状態取得部1014は、「Error Status」を要求する(ステップS24)。
電源制御ユニット40の状態制御部4003は、「Error Status」要求の応答として、「Error Status」を送信する(ステップS25)。
以上のように、本実施例に係る中継装置内蔵コンピュータ1は、中継装置30を介してプラットフォーム10−1〜10−8が通信可能に接続されている。プラットフォーム10−1〜10−8のうち、少なくともプラットフォーム10−1は、HPDに対応している。しかし、プラットフォーム10−2〜10−8の何れかはHPDに対応していない。このような場合に、例えばプラットフォーム10−2〜10−8が再起動したことに中継装置30を介した通信に障害が発生すると、中継装置30は自装置を再起動する。これにより、プラットフォーム10と中継装置30との接続が活性挿抜されたかのような状態が発生する。プラットフォーム10−1は、中継装置30の再起動を検出した場合に、ドライバやレジスタ値等の中継装置30を介した通信に関する設定を初期化する。これにより、中継装置内蔵コンピュータ1は、プラットフォーム10−1を再起動させることなく、中継装置30を介した通信をできるようにする。よって、中継装置内蔵コンピュータ1は、中継装置30を介した通信を継続することができる。
上述の実施形態では、各部のバス(例えば、拡張バス)又はI/OインタフェースとしてPCIeを例に挙げて説明したが、バスまたはI/OインタフェースはPCIeに限定されない。例えば、各部のバスまたはI/Oインタフェースは、データ転送バスによって、デバイス(周辺制御コントローラ)とプロセッサとの間でデータ転送を行える技術であればよい。データ転送バスは、1個の筐体等に設けられたローカルな環境(例えば、1つのシステム又は1つの装置)で高速にデータを転送できる汎用のバスであってもよい。I/Oインタフェースは、パラレルインタフェース及びシリアルインタフェースの何れであってもよい。
I/Oインタフェースは、シリアル転送の場合、ポイント・ツー・ポイント接続ができ、データをパケットベースで転送可能な構成でよい。なお、I/Oインタフェースは、シリアル転送の場合、複数のレーンを有してよい。I/Oインタフェースのレイヤー構造は、パケットの生成及び復号を行うトランザクション層と、エラー検出等を行うデータリンク層と、シリアルとパラレルとを変換する物理層とを有してよい。また、I/Oインタフェースは、階層の最上位であり1又は複数のポートを有するルートコンプレックス、I/Oデバイスであるエンドポイント、ポートを増やすためのスイッチ、及び、プロトコルを変換するブリッジ等を含んでよい。I/Oインタフェースは、送信するデータとクロック信号とをマルチプレクサによって多重化して送信してもよい。この場合、受信側は、デマルチプレクサでデータとクロック信号を分離してよい。
1 中継装置内蔵コンピュータ
10 プラットフォーム
30 中継装置
40 電源制御ユニット
1011、1021 通信制御部
1012 接続検出部
1013、1023 初期化制御部
1014 状態取得部
1015 表示設定部
3001 中継制御部
3002 障害検出部
1022、3003 再起動制御部
3004 メッセージ制御部
4001 電源制御部
4002 再起動検出部
4003 状態制御部
本発明の第1態様に係る情報処理システムは、電源投入時の挿抜である活性挿抜に対応した第1の接続部を有する第1の情報処理装置と、複数の第2の情報処理装置とを中継装置を介して通信可能に接続した情報処理システムであって、前記中継装置は、前記中継装置の再起動時にも前記第1の情報処理装置及び前記第2の情報処理装置に電力を供給する電源制御ユニットと、通信障害を検出した場合に前記中継装置を再起動する第2の再起動部と、前記中継装置の再起動を検出した場合に、再起動の検知通知を、前記第2の情報処理装置に送信する再起動検出部と、を備え、前記第2の情報処理装置は、前記中継装置と接続する第2の接続部と、前記再起動の検知通知によって前記中継装置の再起動を検出した場合に、前記第2の情報処理装置の再起動を実行する第1の再起動部と、を備え、前記第1の情報処理装置は、前記中継装置と接続する前記第1の接続部と、再起動した前記中継装置を検出する第1の検出部と、前記第1の検出部が前記中継装置を検出した場合に、前記中継装置を介した通信に関する設定を初期化する初期化部と、を備える。

Claims (4)

  1. 電源投入時の挿抜である活性挿抜に対応した第1の接続部を有する第1の情報処理装置と、複数の第2の情報処理装置とを中継装置を介して通信可能に接続した情報処理システムであって、
    前記第2の情報処理装置は、
    前記中継装置と接続する第2の接続部と、
    前記第2の情報処理装置の再起動を実行する第1の再起動部と、を備え、
    前記中継装置は、
    前記中継装置の再起動時にも前記第1の情報処理装置及び前記第2の情報処理装置に電力を供給する電源制御ユニットと、
    通信障害を検出した場合に前記中継装置を再起動する第2の再起動部と、を備え、
    前記第1の情報処理装置は、
    前記中継装置と接続する前記第1の接続部と、
    再起動した前記中継装置を検出する第1の検出部と、
    前記第1の検出部が前記中継装置を検出した場合に、前記中継装置を介した通信に関する設定を初期化する初期化部と、
    を備える情報処理システム。
  2. 前記第1の情報処理装置は、前記第1の情報処理装置及び前記第2の情報処理装置と、前記中継装置との接続を切断する否かを切り替える表示を非表示設定に変更する設定変更部を更に備える、
    請求項1に記載の情報処理システム。
  3. 前記中継装置は、
    前記中継装置が再起動したことを前記第1の情報処理装置と、前記第2の情報処理装置とに通知する通知部を更に備える、
    請求項1又は2に記載の情報処理システム。
  4. 前記電源制御ユニットは、
    前記中継装置が再起動したことを検出する第2の検出部を更に備え、
    前記第1の情報処理装置は、
    前記中継装置が再起動したことを示す情報を取得する取得部を更に備える、
    請求項1〜3の何れか一項に記載の情報処理システム。
JP2019161497A 2019-09-04 2019-09-04 情報処理システム Active JP6700569B1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019161497A JP6700569B1 (ja) 2019-09-04 2019-09-04 情報処理システム
GBGB2011262.9A GB202011262D0 (en) 2019-09-04 2020-07-21 Information processing system
CN202010703008.XA CN112445736A (zh) 2019-09-04 2020-07-21 信息处理系统
US16/939,593 US20210064108A1 (en) 2019-09-04 2020-07-27 Information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019161497A JP6700569B1 (ja) 2019-09-04 2019-09-04 情報処理システム

Publications (2)

Publication Number Publication Date
JP6700569B1 JP6700569B1 (ja) 2020-05-27
JP2021039606A true JP2021039606A (ja) 2021-03-11

Family

ID=70776087

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019161497A Active JP6700569B1 (ja) 2019-09-04 2019-09-04 情報処理システム

Country Status (4)

Country Link
US (1) US20210064108A1 (ja)
JP (1) JP6700569B1 (ja)
CN (1) CN112445736A (ja)
GB (1) GB202011262D0 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006191338A (ja) * 2005-01-06 2006-07-20 Fujitsu Ten Ltd バス内のデバイスの故障診断を行うゲートウエイ装置
JP2010114835A (ja) * 2008-11-10 2010-05-20 Daikin Ind Ltd 設備機器の通信制御装置、管理システム及び通信制御方法
US20170315861A1 (en) * 2015-10-26 2017-11-02 International Business Machines Corporation Multiple reset modes for a pci host bridge

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006191338A (ja) * 2005-01-06 2006-07-20 Fujitsu Ten Ltd バス内のデバイスの故障診断を行うゲートウエイ装置
JP2010114835A (ja) * 2008-11-10 2010-05-20 Daikin Ind Ltd 設備機器の通信制御装置、管理システム及び通信制御方法
US20170315861A1 (en) * 2015-10-26 2017-11-02 International Business Machines Corporation Multiple reset modes for a pci host bridge

Also Published As

Publication number Publication date
CN112445736A (zh) 2021-03-05
US20210064108A1 (en) 2021-03-04
GB202011262D0 (en) 2020-09-02
JP6700569B1 (ja) 2020-05-27

Similar Documents

Publication Publication Date Title
US11567895B2 (en) Method, apparatus and system for dynamic control of clock signaling on a bus
CN107423169B (zh) 用于测试高速外围设备互连设备的方法和系统
JP3974288B2 (ja) 周辺装置をコンピュータに登録する方法及び装置
US10855739B2 (en) Video redirection across multiple information handling systems (IHSs) using a graphics core and a bus bridge integrated into an enclosure controller (EC)
JP4839484B2 (ja) バス接続デバイス、バス接続方法およびバス接続用プログラム
JP2018116648A (ja) 情報処理装置、その制御方法、及びプログラム
CN104021047A (zh) 虚拟功能分配系统、方法及其管理主机
JP6659989B1 (ja) 情報処理システム、中継装置、及びプログラム
US8346981B2 (en) Connection of peripherals to operating systems
JP6700569B1 (ja) 情報処理システム
US10719310B1 (en) Systems and methods for reducing keyboard, video, and mouse (KVM) downtime during firmware update or failover events in a chassis with redundant enclosure controllers (ECs)
JP2002032324A (ja) Pciバスデバイス接続制御方式
US7383364B2 (en) Device address locking to facilitate optimum usage of the industry standard IIC bus
KR102635457B1 (ko) PCIe 장치 및 이를 포함하는 컴퓨팅 시스템
US20050182615A1 (en) Method and system for creating an automatically adjusting USB mass storage device
JP4915113B2 (ja) バスシステム、リセットイニシャライズ回路、及びバスシステムにおける障害復旧方法
JP6802511B1 (ja) 情報処理装置、およびプログラム
JP6579255B1 (ja) 情報処理システム、および中継装置
JP6802512B1 (ja) 情報処理装置、プログラム、および情報処理システム
JP5970846B2 (ja) 計算機システム及び計算機システムの制御方法
US11726870B2 (en) Peripheral component interconnect express interface device and system including the same
JP6795782B1 (ja) 情報処理システム、情報処理装置及びプログラム
JP2019128696A (ja) 通信支援装置及び通信支援プログラム
JP2001027920A (ja) バスブリッジ回路及びそのパワーマネージメント方法
JP2020053030A (ja) プロセッサモジュールのフレキシブル接続

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190930

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191024

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20191029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200319

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200413

R150 Certificate of patent or registration of utility model

Ref document number: 6700569

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250