[go: up one dir, main page]

JP5401679B2 - 計算機システム、管理方法及び管理サーバ - Google Patents

計算機システム、管理方法及び管理サーバ Download PDF

Info

Publication number
JP5401679B2
JP5401679B2 JP2009036962A JP2009036962A JP5401679B2 JP 5401679 B2 JP5401679 B2 JP 5401679B2 JP 2009036962 A JP2009036962 A JP 2009036962A JP 2009036962 A JP2009036962 A JP 2009036962A JP 5401679 B2 JP5401679 B2 JP 5401679B2
Authority
JP
Japan
Prior art keywords
switch
port
virtual
computer
pci
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
JP2009036962A
Other languages
English (en)
Other versions
JP2010191814A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009036962A priority Critical patent/JP5401679B2/ja
Priority to US12/709,405 priority patent/US8533381B2/en
Publication of JP2010191814A publication Critical patent/JP2010191814A/ja
Application granted granted Critical
Publication of JP5401679B2 publication Critical patent/JP5401679B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)

Description

本発明は、計算機システム、管理方法及びサーバに関し、特にPCIスイッチを用いた管理をする計算機システムに関する。
近年、サーバの管理を容易にするために、一つの装置に複数の計算機を搭載したブレードサーバが用いられるようになっている。また、CPUに複数のプロセッサコアを持つマルチコア化によってCPUの処理性能が向上し、それに伴い効率的にCPUを使用するため一つの計算機に複数の仮想的なサーバを起動させる仮想サーバ技術が用いられるようになっている。
また、CPU性能の向上に比べて、入出力のためのコネクタ及びポートを必要とするI/Oデバイス数が不足することとなっている。このため、I/Oデバイス数の不足を補うため、PCIスイッチ技術を用いることによって、I/Oデバイスの拡張性及び柔軟性を強化することが可能となる。
I/Oデバイス構成をサーバ起動後に動的に変更して柔軟性を高める技術には、Hot−Plugが知られている。PCI−SIGの定めるPCIexpress規格には、Hot−Plugを制御するHot Plugコントローラのレジスタ仕様などが策定されている。このHot−Plugは、PCIexpress Hot−Plugに対応したOSであれば、I/Oデバイスの種類を問わず用いられることが可能である。
また、将来的なPCIのHot−Plugの使用に備え、PCIスイッチ内に擬似デバイスを用意し、サーバ起動時にI/Oデバイス分のリソースを確保しておくことによって、実際にI/Oデバイスを追加した時にHot Plugの仕組みを用いて、I/Oデバイスの構成を動的に再構成することが可能となる(例えば、特許文献1参照)。
一方、PCI−SIGにおいては、従来の単一サーバが使用するPCIスイッチを拡張し、複数の計算機と複数のI/OデバイスであるPCI(Peripheral Component Interconnect)デバイス(又はPCIexpressデバイス)とを接続可能とするマルチルートPCIスイッチ技術が策定されている(例えば、非特許文献1参照)。
特開2008−046722公報 PCI−SIG、"Multi−Root I/O Virtualization and Sharing 1.0 Specification"、[online]、2008年5月、PCI−SIG、[平成21年1月6日検索]、インターネット<URL:http://www.pcisig.com/specifications/iov/multi−root/>
PCIexpress規格のHot−Plugの規定に従うためには、Hot−Plugが用いられる可能性のあるスロットに、対応するHot−Plugコントローラ(スイッチの場合、下流ブリッジ)を用意する必要がある。すなわち、PCIexpressでは、バスとデバイスとの関係が基本的に1対1であるため、Hot−Plugコントローラは下流側のブリッジにしか存在せず、スロット単位で予めブリッジを用意しておく必要がある。前述の従来技術における、将来Hot−Plugが用いられる可能性のあるI/Oデバイスの分だけリソースを予め確保しておく技術は、PCIスイッチが単一ホストから使用される場合は、スロット分のリソースを用意するだけでよいため、現実的な解法であった。
しかし、複数ホストから共有される可能性のあるマルチルートPCIスイッチの場合、共有されるホストの総数と、スロットに接続される可能性のあるデバイスの総数との積の数のリソースを用意する必要がある。
例えば、上流ポートが8個であり、下流ポートが8個であるマルチルートPCIスイッチの場合、8×8=64(個)の下流ブリッジ、及び下流ブリッジに各々対応するHot−Plugコントローラのリソースを用意する必要がある。
また、マルチルートPCIスイッチを多段で構成する場合、スロットを使用する可能性のあるホスト数はさらに増加する。例えば上流ポート8かつ下流ポート8のマルチルートPCIスイッチを2段構成とした場合、2段目のマルチルートPCIスイッチのスロットには、最大8×8=64(個)のホストが接続される可能性があり、マルチルートPCIスイッチ全体においては、64×8=512(個)の下流ブリッジ、及び下流ブリッジに各々対応するHot−Plugコントローラのリソースが必要となる。
実際のI/Oデバイスにおいては、一つのI/Oデバイスを共有可能なホストの上限は決まっているため、接続する可能性のあるホストの数のリソース全てが同時に使われることはない。このため、将来Hot−Plugが用いられる可能性のあるI/Oデバイスの分だけリソースを予め確保し、動的に接続される可能性のあるリソース全てを用意する前述の技術では、マルチルートPCIスイッチを構成するLSIの肥大化及びコスト上昇を招くという問題があった。
そこで、本発明は上記問題点に鑑みてなされたものであり、マルチルートPCIスイッチに用意するLSI等のリソースが増大するのを抑制しながら、複数のホストでI/Oデバイスを利用することを目的とする。
本発明の代表的な一例を示せば以下の通りである。すなわち、プロセッサとメモリとインターフェースとを有する複数の計算機と、PCIスイッチに接続されたI/Oデバイスと、前記複数の計算機のインターフェースにそれぞれ接続される第1のポートと、前記I/Oデバイスに接続される第2のポートと、を備えたPCIスイッチと、前記PCIスイッチの構成を管理するスイッチ管理部と、前記複数の計算機に接続されて各計算機の電源をそれぞれ制御する電源制御部と、を備えた計算機システムにおいて、前記スイッチ管理部は、前記計算機のうち起動する計算機が接続された前記第1のポートを判定し、前記PCIスイッチに通知する判定部と、前記第1のポートに接続された計算機の起動を前記電源制御部に指令する指令部と、前記計算機に対するI/Oデバイスの割り当てを管理し、前記計算機の起動後に前記計算機に対するI/Oデバイスの割り当てを前記PCIスイッチに通知する割り当て管理部と、を備え、前記PCIスイッチは、前記第1のポートの判定の結果前記起動する計算機にI/Oデバイスが割り当てられておらず、前記第1のポートのそれぞれについて、前記第1のポートを上流ポートとする仮想スイッチが存在しない場合、前記第1のポートと前記計算機とのリンクアップを抑止し、リンクの確立を抑止することによって、前記計算機からの前記第1のポートに対する構成認識を抑止するリンクアップ抑止制御部と、前記スイッチ管理部による前記I/Oデバイスの割り当てが、一つ以上のI/Oデバイスの割り当てである場合、前記I/Oデバイスが割り当てられた一つ以上の前記第2のポートに対応する下流の仮想ブリッジと、前記第1のポートに対応する上流の仮想ブリッジとを含む仮想スイッチを生成し、さらに、前記第2のポートに対応する仮想ブリッジと共に存在する仮想ホットプラグコントローラと割り当てることによって、前記第1のポートと第2のポートとを接続する仮想スイッチを生成する仮想スイッチ生成部と、を備える。
本発明の一実施形態によれば、I/Oデバイスが必要になった時にのみPCIスイッチのリソースを割り当てることができるため、PCIスイッチに用意するリソース量を抑えることができる。
以下、本発明の実施形態を添付図面に基づいて説明する。
(第1の実施形態)
〔構成〕
図1は、第1及び第2の実施形態の、計算機システムの構成を示すブロック図である。
第1の実施形態の計算機システムは、ホスト100a及びホスト100b、ホスト100a及びホスト100bが利用するI/Oデバイス420a−1〜I/Oデバイス420a−2及びI/Oデバイス420b−1〜I/Oデバイス420b−4、各ホスト100と各I/Oデバイス420とを接続するマルチルートスイッチ300a及びマルチルートスイッチ300b、マルチルートスイッチ300a及びマルチルートスイッチ300bを管理するPCIマネージャー250(管理サーバ)、並びにホスト100a、100bを管理するサービスプロセッサ220を備える。なお、サービスプロセッサ220は、ホスト100a、100bとPCIマネージャー250の通信を中継する機能を有する。あるいは、ホスト100a、100bとPCIマネージャー250を接続するネットワークを設けてもよい。
ホスト100aとホスト100bとは、同じ構成を持つ計算機であり、以下、ホスト100aの構成について説明し、他の計算機に関する説明を省略する。また、ホスト100aとホスト100bとを総称して、ホスト100と記載する。また、マルチルートスイッチ300a及びマルチルートスイッチ300bの総称をマルチルートスイッチ300とする。同様に、I/Oデバイス420a−1〜I/Oデバイス420a−2及びI/Oデバイス420b−1〜I/Oデバイス420b−4の総称をI/Oデバイス420と記載する。
ホスト100aは、演算処理を行うCPU(プロセッサ)110a−1及び110a−2、データ及び命令を格納するメモリ130a−1〜メモリ130a−4、CPU接続バス115a−1及びCPU接続バス115a−2を介してCPU110に接続されたI/Oハブ150a、並びにサービスプロセッサ220に接続するためのインターフェースであるホスト管理ポート105aを備える。
図1においてメモリ130は、CPU110に搭載されたメモリコントローラ120を介してCPU110と接続されているが、メモリコントローラ120がCPU110の外(ノースブリッジと呼ばれるチップセット)に存在する構成でもよい。いずれの構成であっても本発明の実施形態には相違を生じない。また、複数のCPU110をCPU接続バス115で相互に接続する構成でもよい。
起動後の計算機システムにおいて、OS210a及びBIOS200aはCPU110によってメモリ130にロードされ、CPU110が、メモリ130を参照することによって、実行される。なお、BIOS200aはメモリ130へロードせずに、図示しないROM等からCPU110が直接読み込むようにしても良い。また、OS210aは、ホストバスアダプタに接続された記憶媒体としてのストレージ装置に格納しておくことができる。
I/Oハブ150aは、PCI−ExpressにおけるPCIスイッチの根幹となるルートコンプレックスとしての機能を備え、マルチルートスイッチ300a及びマルチルートスイッチ300bと接続するためのインターフェースとしてルートポート160a−1とルートポート160a−2とを備えている。そして、I/Oハブ150aは、CPU110a−1、110a−2とマルチルートスイッチ300a、300bとの間で通信を行うためのインターフェースとして機能する。
ホスト100aは、これらのルートポート160a−1及びルートポート160a−2を介してマルチルートスイッチ300a及びマルチルートスイッチ300bに接続されたI/Oデバイス420a−1及びI/Oデバイス420a−2、並びにI/Oデバイス420b−1及びI/Oデバイス420b−4にアクセスする。なお、ルートポート160a−1、160a−2及びホスト100bのルートポート160b−1、160b−2の総称をルートポート160とする。
なお、I/Oデバイス420は、ホストバスアダプタ(HBA)又はネットワークインターフェースカード(NIC)によって構成されてもよい。
また、I/Oハブ150aは、各ルートポート160に対応してHot−Plugを制御するHot−Plugコントローラ170a−1、170a−2を備える。なお、Hot−Plugコントローラ170a−1、170a−2の総称をHot−Plugコントローラ170とする。
Hot−Plugコントローラ170a−1、170a−2のHot−Plug制御信号180aは、通常はルートポート160aが接続されたI/Oスロットへ接続されるが、本発明の実施形態ではルートポート160はI/Oスロットではなくマルチルートスイッチ300へ接続される。
Hot−Plugコントローラ170のHot−Plug制御信号180aは、ホスト100のHot−Plug信号制御部190aへ接続され、ホスト管理ポート105aを介してサービスプロセッサ220へ接続される。
<サービスプロセッサ220>
サービスプロセッサ220は、ホスト100の起動状態を監視し、ホスト100の電源の投入及び遮断を制御する計算機である。また、サービスプロセッサ220は、ユーザ又はシステム管理者が、情報を入出力する管理コンソール240を備える。PCIマネージャー250は、サービスプロセッサ220からホスト100の起動状態を取得することができ、ホスト100の起動完了または停止完了などの状態を取得することができる。
サービスプロセッサ220は、図示しないプロセッサとメモリとを備える。サービスプロセッサ220は、ホスト管理パス230(ネットワーク)を介してホスト100a及びホスト100bに接続される。また、サービスプロセッサ220は、PCIM(PCIマネージャー)管理パス255(第2ネットワーク)を介してPCIマネージャー250に接続される。
管理コンソール240からホスト100aの電源を投入する指示があった場合、サービスプロセッサ220は、まずPCIマネージャー250に対して、ホスト100aが使用するI/Oデバイス420に到達可能な仮想スイッチがマルチルートスイッチ300内に設定済みであるか否かを問い合わせる。
続いて、PCIマネージャー250は、仮想スイッチを設定する必要がある場合、マルチルートスイッチ300内に仮想スイッチを設定し、サービスプロセッサ220へ応答する。サービスプロセッサ220は、PCIマネージャー250からの応答を受信し、ホスト100aのホスト電源制御部195aに電源を投入する指示を送信し、ホスト100aの電源を投入する。
<マルチルートスイッチ300>
マルチルートスイッチ300a及びマルチルートスイッチ300bは、PCIexpress及びMR−IOV(マルチルートI/O仮想化)規格に準拠した前述の従来技術と同様のマルチルートPCIスイッチで構成される。マルチルートスイッチ300は、複数のホスト100a及びホスト100bと、複数のI/Oデバイス420a−1〜I/Oデバイス420a−2及びI/Oデバイス420b−1〜I/Oデバイス420b−4とを接続する。
マルチルートスイッチ300aとマルチルートスイッチ300bとは、同じ構成であるので、以下ではマルチルートスイッチ300aのみについて説明し、マルチルートスイッチ300bの説明を省略する。
マルチルートスイッチ300aは、ホスト100aのルートポート160a−2及びホスト100bのルートポート160b−2に接続される上流ポート310a−2及び上流ポート310a−1、I/Oデバイス420に接続される下流ポート320a−1〜下流ポート320a−4、上流ポート310a−1〜上流ポート310a−2及び下流ポート320a−1〜下流ポート320a−4の通信経路を設定する仮想スイッチ生成機構390a、並びに設定された通信経路に従ってパケットをルーティングするルーティング制御部360を備える。
なお、以下では、上流ポート310a−1〜上流ポート310a−2の総称を上流ポート310と記載し、下流ポート320a−1〜下流ポート320a−4の総称を下流ポート320と記載する。
また、PCIexpressにおいては、下流ポート320とI/Oデバイス420が接続されるスロットとは1対1であるため、下流ポート320を場合によってはスロット320と記載する。
仮想スイッチ生成機構390aは、後述するように、PCIマネージャー250からの指示に従って上流ポート310と下流ポート320との間を相互に通信する経路(仮想パス)を設定する。このため、仮想スイッチ生成機構390aは、後述する管理表を備えたコントローラを含む。
マルチルートスイッチ300a及びマルチルートスイッチ300bは、スイッチ管理パス335を介してPCIマネージャー250に接続するためのスイッチ管理用ポート330a及びスイッチ管理用ポート330bを備える。図1において、PCIマネージャー250は、直接それぞれのスイッチ管理ポート330a及びスイッチ管理ポート330bへ接続されているが、一方のマルチルートスイッチ300を介してデイジーチェーンで接続されてもよい。
マルチルートスイッチ300aは、上流ポート310と下流ポート320との間を、仮想スイッチと仮想ブリッジとによって接続された仮想パスによって接続し、上流ポート310及び下流ポート320の各々から入力された信号を相互に通信させる。
仮想ブリッジは、物理的な上流ポート310又は下流ポート320を仮想スイッチに接続し、或いは仮想スイッチ同士を接続することが可能である。なお、仮想スイッチ及び仮想ブリッジから仮想パスが構成される。この仮想パスは、仮想スイッチ生成機構390aによって動的に変更でき、PCIマネージャー250がマルチルートスイッチ300aに仮想スイッチの設定を指示することによって、上流ポート310と下流ポート320との間を通信する経路である仮想スイッチを任意に設定することができる。なお、仮想スイッチ生成機構390の詳細については、後述する。
各下流ポート320には、それぞれ対応する物理Hot−Plugコントローラ340a−1〜340a−4が備わる。また、各上流ポート310には、それぞれ対応するリンクアップ抑止制御部370a−1、370a−2が備わる。
リンクアップ抑止制御部370a−1、370a−2は、PCIマネージャー250からの指示によって上流ポート310のリンクアップを抑止し、上流のルートポート160に対して有効なリンクが接続されていないように見せる。
<PCIマネージャー250>
PCIマネージャー250は、プロセッサとメモリとを備えた計算機であり、マルチルートスイッチ300a及びマルチルートスイッチ300bの構成を管理するスイッチ管理計算機である。PCIマネージャー250は、PCIM管理パス255を介してサービスプロセッサ220に備わる管理コンソール240から受信した指示に従い、マルチルートスイッチ300a及びマルチルートスイッチ300bの上流ポート310と下流ポート320との間を相互に通信する経路(仮想パス)を管理する各種表(後述)、並びにサービスプロセッサ220を介してホスト100のHot−Plugコントローラ170に対する制御信号を送信するルートポートHot−Plug制御部540を含む。以下、PCIマネージャー250の詳細について説明する。
図2は、第1の実施形態のPCIマネージャー250の機能要素を示すブロック図である。
PCIマネージャー250は、管理コンソール240経由でユーザ又はシステム管理者によって設定されるホスト−スロット割り当て表500、マルチルートスイッチ300間の接続の構成を示すスイッチポート管理表570、各マルチルートスイッチ300内に設定する仮想スイッチ430の情報を示す仮想スイッチ管理表520及び仮想ブリッジ管理表580、ホスト100が用いる仮想スイッチとホスト100との関連を示すホスト−仮想スイッチ管理表560、各マルチルートスイッチ300の電源の状態を管理するスイッチ電源状態管理表530、並びにマルチルートスイッチ300のリンクアップ抑止機能を有効にするリンクアップ抑止制御判定部550を含む。
図46は、第1の実施形態のPCIマネージャーの構成を示すブロック図である。
図46は、PCIマネージャー250のハードウェア構成と、図2に示す機能要素との関係を示す図である。
PCIマネージャー250は、CPU251とメモリ252とチップセット253とを備えた計算機である。PCIマネージャー250は、外部インターフェースとしてサービスプロセッサ220と通信するPCIM管理パス255、及びマルチルートスイッチ300を管理するスイッチ管理パス335と不揮発メモリ254とを備える。
また、不揮発メモリ254は、PCIマネージャー250によって実行されるPCIマネージャプログラム259を格納する。PCIマネージャー250は、PCIマネージャプログラム259をメモリ252上に展開して、CPU251がPCIマネージャプログラム259を実行する。不揮発メモリ254は、ハードディスクのようなストレージでもよい。
メモリ252には、メモリコード部257とメモリデータ部258とが構成される。メモリコード部257には、リンクアップ抑止制御判定部550とルートポートHot−Plug制御部540とを備えるPCIマネージャー実行コード256が構成される。メモリデータ部258には、ホストースロット割当て表500、仮想スイッチ管理表520、スイッチ電源状態管理表530、ホスト−仮想スイッチ管理表560、スイッチポート管理表570、仮想ブリッジ管理表580、及びスイッチポート制御レジスタ600が構成される。これらの管理表の設定値は、PCIマネージャー250上の不揮発メモリ254又は外部の管理用ストレージに格納され、適宜メモリ252上に展開されて使用される。
PCIマネージャー250によるホスト100とスロット320との割り当て設定の例を図3A及び図3B、図4A及び図4Bに示す。
図3Aは、第1及び第2の実施形態の初期状態におけるホスト−スロット割り当て表500aを示す説明図である。
図3Bは、第1及び第2の実施形態の初期状態におけるホスト−スロット割り当て表500bを示す説明図である。
図3Aに示すホスト−スロット割り当て表500a及び図3Bに示すホスト−スロット割り当て表500bは、ホスト100とスロット320との対応関係を示す。
ホスト−スロット割り当て表500a及びホスト−スロット割り当て表500bは、ホスト100の名前を示すホスト501、マルチルートスイッチ300の名前を示すスイッチ502、及び下流ポート320の名前を示すスロット503を含む。
図3Aに示すホスト−スロット割り当て表500aの内容に従って、PCIマネージャー250がホスト100とスロット320との割り当てを設定する際の、管理コンソール240に表示されるホスト100とスロット320との割り当てを示すGUI画面を、図4A及び図4Bに示す。
図4A及び図4Bは、第1及び第2の実施形態のホスト100とスロット320との割り当てを設定するGUI画面を示す説明図である。
図4Aに示すGUI画面は、図3Aに示すホスト−スロット割り当て表500aに従ってホスト100とスロット320との割り当てが設定される際の、ホストAに対応するスロット320の割り当てを表示している。なお、図4A及び図4Bに示すMRSWは、マルチルートスイッチ300であり、#1〜#4は、スロット320の番号である。
図4Aにおいて、MRSW#1のスロット#1及びスロット#2、MRSW#2のスロット#1及びスロット#2は、ホストAに既に割り当てられているスロット320であるため、実線かつ黒色に塗りつぶされて表示される。MRSW#1のスロット#3及びスロット#4は、ホストBに割り当て済みであり、ホストAに割り当てることができないスロット320であるため、破線かつ薄いグレーに塗りつぶされる。このとき、ユーザ又はシステム管理者は、MRSW#1のスロット#3及びスロット#4を選択することができない。
MRSW#2のスロット#3及びスロット#4は、まだどのホスト100にも割り当てられていないスロットであるため、薄く表示される。
図4Aに示すGUI画面におけるスロット320の表示は、ホスト100に割り当てられていない状態と、ホスト100に割り当て済みになった状態とのどちらかの状態を示し、ユーザ又はシステム管理者によって、変更される。ホスト100に割り当てられていないスロット320と、ホスト100に割り当て済みになったスロット320との表示は、トグルキーの機能を持ってもよい。ユーザ又はシステム管理者は、スロット320の表示に対してクリック等をすることによって、割り当て状態を変更してもよい。
図4Bに示すGUI画面は、図4Aに示すGUI画面と同様に図3Aに示すホスト−スロット割り当て表500aに従ってホスト100とスロット320との割り当てが設定される際の、ホストBに対応するスロット320の割り当てを表示している。
図4Aに示すスロット320の割り当て状態とは逆に、図4Bに示すMRSW#1のスロット#3及びスロット#4は、ホストBによって既に割り当てられているスロット320であるため、実線かつ黒色に塗りつぶされて表示される。また、図4Bに示すMRSW#1のスロット#1及びスロット#2並びにMRSW#2のスロット#1及びスロット#2は、ホストAに割り当てられているため、破線かつ薄いグレーに塗りつぶされる。このとき、ユーザ又はシステム管理者は、図4Bに示すMRSW#1のスロット#1及びスロット#2並びにMRSW#2のスロット#1及びスロット#2を選択することができない。
MRSW#2のスロット#3及びスロット#4は、まだどのホスト100にも割り当てられていないため、薄く表示される。
図4Bに示すGUI画面に表示された、ホスト100に割り当てられていないスロット320、ホストに割り当て済みになったスロット320とは、図4Aと同じであり、ユーザ又はシステム管理者によって、割り当て状態を変更される。
ユーザ又はシステム管理者が、図4A及び図4Bに示すGUI画面を用いてホスト100とスロット320との割り当てを設定すると、図3Aに示されたホスト−スロット割り当て表500aは、GUI画面の内容に従って更新され、PCIマネージャー250へ通知される。
なお、図3Aに示すホスト−スロット割り当て表500aは、ユーザ又はシステム管理者に分かりやすいようなホスト名及びスロット番号によって示したが、PCIマネージャー250内部に格納する際にはPCIマネージャー250が管理しやすい識別子に変換される(ホスト−スロット割り当て表500b)。
図5は、第1の実施形態のスイッチポート管理表570を示す説明図である。
図5に示すスイッチポート管理表570は、PCIマネージャー250が、マルチルートスイッチ300aと300b間の接続の関係(トポロジ)を管理するために用いられる。
スイッチポート管理表570は、スイッチ571、ポート572、方向573、種別574、リンク先575、及びリンク先ポート576を含む。
スイッチ571は、マルチルートスイッチ300の識別子を示す。ポート572は、上流ポート310、下流ポート320、及びスイッチ管理ポート330を示す。
また、方向573は、スイッチ571及びポート572をキーとして、各ポート572の通信する方向を示す。種別574は、各ポート572の先に接続されている種別を示す。リンク先575は、スイッチ571の接続先の識別子を示す。リンク先ポート576は、スイッチ571の接続先がホスト100又はマルチルートスイッチ300の場合に、スイッチ571が接続するポートの識別子を示す。
スイッチポート管理表570は、トポロジ検出と呼ばれる手順を用いてPCIマネージャー250によって作成される(例えば、非特許文献1参照)。
図5に示すスイッチポート管理表570は、第1の実施形態の最初の構成状態(図1参照)におけるホスト100a、100bとマルチルートスイッチ300a、300bとに接続される各ポートのデバイスの関係を示す。
<仮想スイッチ430>
図6は、第1の実施形態の仮想スイッチ430及び仮想ブリッジ440の構成を示すブロック図である。
図6は、図3Aに示すホスト−スロット割り当て表500aに従った際の、マルチルートスイッチ300に含まれる仮想スイッチ430及び仮想ブリッジ440の構成を模式的に示した図である。
仮想スイッチ430(例えば、430a−1)には、一つの上流仮想ブリッジ440(例えば、440a−1)と、任意の数の下流仮想ブリッジ440(例えば、440a−2、440a−3)との組み合わせが備わる。仮想スイッチ430は、仮想スイッチ430に接続されるホスト100から、従来のPCIスイッチとして認識される必要がある。このため、仮想スイッチ430に含まれる上流ポート310に相当する上流仮想ブリッジ440(例えば、440a−1)は、必ず一つである。
図6に示すマルチルートスイッチ300b内には、上流ポート310b−1に接続された仮想スイッチ430b−1と、上流ポート310b−2に接続された仮想スイッチ430b−2との、二つの仮想スイッチ430が備わる。
仮想スイッチ430b−1には、上流ポート310b−1に接続された上流仮想ブリッジ440b−1、下流ポート320b−1に接続された下流仮想ブリッジ440b−2、及び下流ポート320b−2に接続された下流仮想ブリッジ440b−3が備わる。また、仮想スイッチ430b−2には、上流ポート310b−2に接続された上流仮想ブリッジ440b−6、下流ポート320b−3に接続された下流仮想ブリッジ440b−7、及び下流ポート320b−4に接続された下流仮想ブリッジ440b−8が備わる。
一方、マルチルートスイッチ300a内には、上流ポート310a−1に接続された仮想スイッチ430a−1が備わる。仮想スイッチ430a−1には、上流ポート310a−1に接続された上流仮想ブリッジ440a−1、下流ポート320a−1に接続された下流仮想ブリッジ440a−2、下流ポート320a−2に接続された下流仮想ブリッジ440a−3が備わる。
本実施形態において、上流ポート310a−2に接続される仮想スイッチ430は、存在しない。また、ホストB(ホスト100a)がマルチルートスイッチ300aに割り当て済みのスロット320を有していない場合、マルチルートスイッチ300aは、ホストBの起動の前に、予め仮想スイッチ430を用意しない。
従来技術によれば、予め仮想スイッチを用意していない状態においてホストBを起動した場合、ホストBが起動の際に接続先の探索をすると、仮想スイッチが存在しないことによって、ホストBが誤動作する。このため、本実施形態においては、後述するリンクアップ抑止を用いることによって、ホストBに仮想スイッチが存在しないことを認識させない。
図7は、第1の実施形態の仮想スイッチ管理表520a及び仮想ブリッジ管理表580aを示す説明図である。
図7に示す仮想スイッチ管理表520a及び仮想ブリッジ管理表580aは、図6に示す仮想スイッチ430及び仮想ブリッジ440の構成に対応する。
仮想スイッチ管理表520aは、スイッチ521、VS(仮想スイッチ)522、有効523、開始VB(仮想ブリッジ)番号524、及びエントリ数525を含む。
スイッチ521は、マルチルートスイッチ300の識別子を示す。仮想スイッチ番号522は、仮想スイッチの識別子(VS#)を示す。有効523は、仮想スイッチ430が有効である場合“Yes”を、無効である場合“No”を示す。開始VB番号524は、仮想スイッチ430に備わる仮想ブリッジ440が含む仮想ブリッジ管理表580aにおける先頭の仮想ブリッジ番号582(後述)の番号を示す。エントリ数525は、仮想スイッチ430に備わる仮想ブリッジ440のエントリ数を示す。
仮想ブリッジ管理表580aは、スイッチ581、仮想ブリッジ番号582、有効583、方向584、マップ585、ポート番号586、VH587、及びリソース588を含む。
スイッチ581は、マルチルートスイッチ300の識別子を示す。仮想ブリッジ番号582は、仮想ブリッジ440の識別子(VB#)を示す。有効583は、仮想ブリッジ440が有効である場合“Yes”を、無効である場合“No”を示す。方向584は、仮想ブリッジ440が上流仮想ブリッジである場合“up”を、下流仮想ブリッジである場合“down”を示す。マップ585は、ポートにマップされている場合“Yes”を、マップされていない場合“No”を示す。ポート番号586は、仮想ブリッジがポートにマップされている場合の接続先ポート番号を示す。VH(仮想ヒエラルキー)番号587は、接続する場合のVHの識別子を示す。リソース588は、実際に使用するブリッジのリソースの識別子を示す。なお、仮想ヒエラルキー(階層)番号587は、ホスト100が起動したときにI/Oハブ150aのルートコンプレックスがマルチルートスイッチ300から取得したものである。本実施形態においてはリンクアップ抑止制御部370a−1、370a−2によって、ホスト100の起動時には、ルートコンプレックスから仮想スイッチを敢えて認識させない構成となっている。
仮想スイッチ管理表520a及び仮想ブリッジ管理表580aは、図2に示したスイッチポート管理表570とホスト−スロット割り当て表500とに基づいて生成される。また、仮想スイッチ管理表520aと仮想ブリッジ管理表580aとは、スイッチ521を除いたレジスタが各マルチルートスイッチ300に含まれる仮想スイッチ生成機構390に存在する。PCIマネージャー250が、仮想スイッチ管理表520と仮想ブリッジ管理表580aとのレジスタに値を設定することによって、仮想スイッチ430が生成される。また、仮想スイッチ430に従ってパケットのルーティングは、制御される。
仮想ブリッジ管理表580aのリソース588は、ホスト100が仮想スイッチ430に接続するために、実際に接続する物理的なリソースを示している。仮想スイッチ430が接続する物理的なリソースと、仮想ブリッジ440とは一対一の関係にあるため、リソース588は、他の仮想ブリッジ440と重複しないようにマッピングされる必要がある。
本実施形態においては、ポートごとに仮想ヒエラルキーの最大数分の物理的なリソースを用意し、リソース588におけるリソースの番号を“(ポート番号586、VH番号587)”の表記によって指定する。すべてのリソースが一意な識別子によって示される場合、すべてのリソースをプールとして用意し、ポートを表記せずに一意なリソースの識別子を表記することによって、リソースを指定してもよい。
<仮想スイッチ430がない場合のリンクアップ抑止制御>
図8〜図10を用いて、マルチルートスイッチ300内に仮想スイッチ430を持たない場合のリンクアップ抑止制御について説明する。
図8は、第1の実施形態のホスト−仮想スイッチ管理表560を示す説明図である。
仮想スイッチ430は、各マルチルートスイッチ300の中に構成される。複数のマルチルートスイッチ300に分散して存在する仮想スイッチ430は、ホスト−仮想スイッチ管理表560によって、ホスト100ごとに管理される。
ホスト−仮想スイッチ管理表560は、グローバル仮想ヒエラルキー(GVH)番号561、ホスト562、ホストの電源状態563、及び仮想スイッチリスト564を含む。
仮想スイッチリスト564は、マルチルートスイッチ565とマルチルートスイッチ565に含まれる仮想スイッチ番号(VS#)566との組を、一つ以上並べたリストである。
図8に示すホスト−仮想スイッチ管理表560は、本実施形態の初期状態を示す。
図8に示すホスト−仮想スイッチ管理表560において、ホスト100bに接続される仮想スイッチ430は、マルチルートスイッチ300bに含まれるVS#1、及びマルチルートスイッチ300aに含まれるVS#1である。また、ホスト100aに接続される仮想スイッチ430は、マルチルートスイッチ300bに含まれるVS#2である。
ホスト−仮想スイッチ管理表560は、仮想スイッチ管理表520の仮想スイッチ番号522、及び仮想スイッチ番号522に対応する仮想ブリッジ管理表580の方向584がupであるポート番号586、をキーとして、スイッチポート管理表570のリンク先575を検索し、該当するものを、ホスト100をキーにして並び替えることによって作成される。
図9は、第1の実施形態のリンクアップ抑止制御判定表590を示す説明図である。
リンクアップ抑止制御判定表590は、マルチルートスイッチ300ごとに、上流ポート310、上流ポート310に対応するホスト100、及び上流ポート310に対応する仮想スイッチ番号を組にして示し、上流ポート310のリンクアップ抑止をするか否を示す表である。
リンクアップ抑止制御判定表590は、マルチルートスイッチ591、上流ポート592、ホスト593、仮想スイッチ番号(VS#)594、及び抑止状態595、を含む。リンクアップ抑止制御判定表590の各行はマルチルートスイッチ591をキーとして、ソートされる。
多段スイッチ(マルチルートスイッチ300の多段構成)によって仮想スイッチ430が構成され、上流ポート310を複数のホスト100が共有する場合、リンクアップ抑止制御判定表590におけるホスト593と仮想スイッチ番号(VS#)594とは、二つ以上の値が入れられてもよい。
抑止状態595の値は、対応する仮想スイッチ番号(VS#)594が一つ以上あった場合は“No”であり、一つも無い場合は“Yes”である。
図9に示すリンクアップ抑止制御判定表590は、本実施形態の初期状態を示す。
図9に示すリンクアップ抑止制御判定表590において、マルチルートスイッチ300bの上流ポート592aが310b−1である上流ポート310には、ホスト100bの仮想スイッチ番号594aが1である仮想スイッチ430に対応する。マルチルートスイッチ300bにおいて、仮想スイッチ430が一つ以上存在するため、抑止状態595aは“No”である。
また、マルチルートスイッチ300bの上流ポート592bが310b−2である上流ポート310には、ホスト100aの仮想スイッチ番号594bが2である仮想スイッチ430が対応する。マルチルートスイッチ300bにおいて、仮想スイッチ430が一つ以上存在するため、マルチルートスイッチ300bの抑止状態595bは"No"である。
一方、マルチルートスイッチ300aの上流ポート592aが310a−1である上流ポート310には、ホスト100bの仮想スイッチ番号594aが1である仮想スイッチ430が対応する。マルチルートスイッチ300aにおいて、仮想スイッチ430が一つ以上存在するため、マルチルートスイッチ300aの抑止状態595aは"No"である。
マルチルートスイッチ300aの上流ポート592bが310a−2である上流ポート310には、ホスト100aが対応する。しかし、マルチルートスイッチ300aの仮想スイッチ430は一つも存在しないため、抑止状態595bは“Yes”である。
リンクアップ抑止制御判定表590は、ホスト−仮想スイッチ管理表560及びスイッチポート管理表570に基づいて作成される。
図10は、第1の実施形態のスイッチポート制御レジスタ600を示す説明図である。
スイッチポート制御レジスタ600は、マルチルートスイッチ300のポートのリンク状態を制御するためのレジスタである。スイッチポート制御レジスタ600は、PCIマネージャー250によって各マルチルートスイッチに設定され、PCIマネージャー250によってリンク状態を制御する際に用いられる。
スイッチポート制御レジスタ600は、スイッチ番号601、ポート番号602、ポート方向603、及びリンク方向604を含む。
ポート方向603は、スイッチポート管理表570の方向573において設定された値と同じ値を設定される。但し、マルチルートスイッチ300の構成によって、ポートの方向604がup又はdownのどちらも可能であるポートが存在する場合、スイッチポート制御レジスタ600のポート方向603の設定によって、実際に使用するポートの方向が決められてもよい。
リンク方向604は、PCIexpressにおけるリンクをする際のマルチルートスイッチ300の接続方法を設定する。リンク方向604の値は、図11に示す4種類の値である。
図11は、第1の実施形態のリンク方向604の値を示す説明図である。
リンク方向604の設定値が、“up”である場合、対応するポート番号602のポートは、“上流ポートとしてリンク”する。また、リンク方向604の設定値が、“down”である場合、対応するポート番号602のポートは、“下流ポートとしてリンク”する。また、リンク方向604の設定値が、“cross”である場合、対応するポート番号602のポートは、“双方向ポートとしてリンク”する。
リンク方向604の設定値を“リンクしない”に設定した場合、“リンクしない”が設定されたポート310に対応するリンクアップ抑止制御部370は、リンクアップを抑止する。リンクアップを抑止されるためリンク処理は行われず、“リンクしない”が設定されたポート310に接続されたホスト100等の相手先は、リンクが不通であるかのように認識する。
図10に示すスイッチポート制御レジスタ600のリンク方向604において、リンクアップ抑止制御判定表590における抑止状態595が“Yes”となったマルチルートスイッチ300aの上流ポート310a−2は、“リンクしない”に設定される。また、抑止状態595が“No”となったマルチルートスイッチ300のポートのうち、上流ポート310及び管理ポート330は、“up”に設定され、下流ポート320は、“down”に設定される。
図10に示すスイッチポート制御レジスタ600において、ホスト100などのデバイスが接続されていない下流ポート320である下流ポート320b−2、下流ポート320a−3、及び下流ポート320a−4のリンク方向604は、“リンクしない”ではなく“down”である。下流ポート320のリンク方向604が、“down”である理由は、後からホスト100などのデバイスを、スロット320に追加した場合にHot−Plugを使用可能にするためである。
一方、上流ポート310a−2は、リンク方向604が“リンクしない”に設定されているため、上流ポート310a−2に対応するリンクアップ抑止制御部370a−2が、上流ポート310a−2におけるリンクアップを抑止する。
PCIマネージャー250が、スイッチポート制御レジスタ600の設定を、マルチルートスイッチ300aに設定することによって、接続先のホスト100aからはルートポート160a−2のリンクが不通であると認識され、マルチルートスイッチ300a内に対応する仮想スイッチが存在しなくても問題なくホスト100aを起動することができる。
なお、PCIマネージャー250が、スイッチポート制御レジスタ600の設定を、マルチルートスイッチ300に反映するタイミングは、マルチルートスイッチ300の仮想スイッチ430の設定が更新された後のタイミングでもよいし、ホスト100の電源が投入されるタイミングでもよい。
前述のように、マルチルートスイッチ300a、及びマルチルートスイッチ300bに設定することによって、ホスト100a、及びホスト100bを起動できる。
図12は、第1の実施形態のルートポートHot−Plug状態管理表610を示す説明図である。
ルートポートHot−Plug状態管理表610は、ルートポートHot−Plug制御部540に含まれる。ルートポートHot−Plug状態管理表610は、ホスト100のルートポート160ごとに対応するHot−Plugコントローラ170の状態を管理するための表である。
ルートポートHot−Plug状態管理表610は、ホスト番号611、ルートポート612、PWR状態613、PWE LED状態614、及びATN LED状態615を含む。
ホスト番号611は、ホスト100の識別子を示す。ルートポート612は、ルートポート160の識別子を示す。PWR状態613は、ルートポート612に示されたルートポート160の電源状態を示す。PWE LED状態614は、Power Indicatorの状態を示す。ATN LED状態615は、Attention Indicatorの状態を示す。
ルートポートHot−Plug状態管理表610のキーは、ホスト番号611及びルートポート612である。
他にHot−Plugコントローラに関連する設定値が含まれてもよいが、本実施形態には必要ないため記載を省略する。
すなわち、ホスト100の電源が遮断されている状態において、ホスト100の全てのルートポート160の電源状態613、PWE LED状態614及びATN LED状態615の値は、“Off”である。
ホスト100の電源が投入されている場合、リンクアップ抑止制御判定表590に従い、抑止状態595が“No”と判定された上流ポート310に対応するルートポート160(スイッチポート管理表570より検索可能)の電源状態613は、“On”である。
また、ホスト100の電源が投入されている場合、抑止状態595が“Yes”と判定された上流ポート310に対応するルートポート160の電源状態613は、“Off”である。
図13のフローチャートを用いて、上流ポートのリンクアップ抑止処理を説明する。
図13は、第1の実施形態のホスト100が起動する際のリンクアップ抑止を示すフローチャートである。
ホスト100の電源投入問合せに対して仮想スイッチ430を生成する際にマルチルートスイッチ300内に仮想スイッチ430の無い上流ポートにリンクアップ抑止を設定する処理の一例を示すフローチャートである。
管理コンソール240からホスト100の電源を投入する指示がされた場合、ホスト100の電源を投入できるか否かの問合せが、サービスプロセッサ220からPCIマネージャー250へ送られる(ステップ1400)。PCIマネージャー250は、ホスト−スロット割り当て表500及びスイッチポート管理表570に基づいて、仮想スイッチ管理表520及び仮想ブリッジ管理表580を参照し、また、仮想スイッチ管理表520及び仮想ブリッジ管理表580に従ってマルチルートスイッチ300を参照する(ステップ1410)。
また、PCIマネージャー250は、ホスト−スロット割り当て表500、スイッチポート管理表570、仮想スイッチ管理表520、及び仮想ブリッジ管理表580の表に基づいて、ホスト−仮想スイッチ管理表560及びリンクアップ抑止判定表590を更新する(ステップ1420)。
PCIマネージャー250は、リンクアップ抑止判定表590の抑止状態595が“Yes”または“No”の何れであるかを判定する(ステップ1430)。
抑止状態595が“Yes”である場合、PCIマネージャー250は、抑止状態595が“Yes”である上流ポート592に対応する、スイッチポート制御レジスタ600のポートのリンク方向604に、“リンクしない”を設定する(ステップ1440)。さらに、PCIマネージャー250は、抑止状態595が“Yes”である上流ポート592に対応する、ルートポートHot−Plug状態管理表610のポートの電源状態613を“Off”(電源遮断状態)に設定する(ステップ1460)。
一方、抑止状態595が“No”である場合、PCIマネージャー250は、抑止状態595が“No”である上流ポート592に対応する、スイッチポート制御レジスタ600のポートのリンク方向604に“up”を設定する(ステップ1450)。さらに、PCIマネージャー250は、抑止状態595が“No”である上流ポート592に対応する、ルートポートHot−Plug状態管理表610のポートの電源状態613を“On”(電源投入状態)に設定する(ステップ1470)。
ステップ1460又はステップ1470の処理の後、PCIマネージャー250は、サービスプロセッサ220へ、ホストの電源を投入することが可能であると応答する(ステップ1480)。
以上の処理によって、PCIマネージャー250は、停止しているホスト100を起動(電源投入)する問い合わせを受けたときには、マルチルートスイッチ300に対してホスト100が接続された上流ポート310のリンクアップを抑止した状態(上流ポートの電源遮断)とするように指令してから、サービスプロセッサ220にホスト100の電源投入を許可する。
ホスト100はサービスプロセッサ220から電源投入の指令を受けて起動し、ルートポート160は接続されているマルチルートスイッチ300の上流ポート310にアクセスしてPCIバスツリーの構成を認識しようとする。しかし、マルチルートスイッチ300のリンクアップ抑止制御部370がホスト100を起動する上流ポート310の電源を遮断しているため、ホスト100からはマルチルートスイッチ300の構成を隠蔽することになる。
これによって、ホスト100が起動する以前にマルチルートスイッチ300内に仮想スイッチを設定する必要が無くなり、前記従来例のようにマルチルートスイッチ300のLSI等の物量が増大するのを抑制し、計算機システムの製造コストを低減できる。
<未割り当てスロット320に対するHot−Plug>
ホスト100に割り当てられていないスロット320であるマルチルートスイッチ300aの下流ポート320a−4に、新規I/Oデバイス420a−4を挿入した場合の処理について図1及び図14を用いて説明する。
図14は、第1の実施形態のHot−Plugに対応したPCIexpressのスロット320を示す説明図である。
図14に示すPCIexpresssのスロット320は、Attention Button、Power Indicator、Attention Indicatorを備える。図14に示すPCIexpresssのスロット320は、PCIexpress規格に基づいて実装される。
Attention Buttonは、デバイスの抜き挿しをホスト100に通知するために、ユーザが押すためのボタンである。Power Indicatorは、スロット320の電源状態を示し、LED(緑色が望ましい)によって実装されてもよい。Attention Indicatorは、処理中又はエラー状態を示し、LED(褐色又は黄色が望ましい)によって実装されてもよい。
I/OデバイスをHot Add(ホスト100の電源が入った状態において、I/Oデバイスを挿入)したい場合、ユーザ又はシステム管理者は、I/Oデバイスをスロット320に挿入し、その後Attention Buttonを押し、ホスト100へI/Oデバイスを挿入した旨を通知する。ホスト100へI/Oデバイスが挿入された旨を通知することによって、OS210及びBIOS200によってHot−Plug処理がホスト100において実行され、挿入された新たなI/Oデバイスが使用可能となる。
本実施形態のマルチルートスイッチ300において、物理的にI/Oデバイス(以下、物理デバイス)が挿入された際に処理されるHot−Plug(物理Hot−Plugと呼ぶ)は、下流ポート320に1対1に存在する物理Hot−Plugコントローラ340によって検知される。また、物理Hot−Plugの情報は、物理Hot−Plugコントローラ340によって、スイッチ管理ポート330を介してPCIマネージャー250へと通知される。
PCIマネージャー250は、物理デバイスがHot−Plugされたことを通知されると、通知された物理Hot−Plugの情報に基づいてスイッチポート管理表570を更新する。そして、当該物理デバイスが割り当てられたホスト100が存在する場合、当該ホスト100に対してマルチルートスイッチ300を介してHot−Plug信号を通知する(仮想Hot−Plugと呼ぶ)。
物理デバイスがマルチルートI/O仮想化技術に対応している場合、一つの物理デバイスを複数のホスト100が共有する場合もある。一つの物理デバイスを複数のホスト100によって共有する場合は、物理デバイスを挿入した際に、物理Hot−Plugは、ホスト100への通知が1回発生するだけだが、仮想Hot−Plugは、物理デバイスを共有しているホスト100の数だけ通知する。
仮想Hot−Plugを制御するための仮想Hot−Plugコントローラ350は、下流仮想ブリッジ440と共に存在し、仮想スイッチ430の設定に従って割り当てられる。本実施形態において、I/Oデバイス420a−4を挿入した際に、下流ポート320a−4はどのホスト100にも割り当てられていないため、PCIマネージャー250は、スイッチポート管理表570を更新するだけであり、ホスト100への仮想Hot−Plugを通知しない。
図15は、第1の実施形態のスロット320にI/Oデバイス420を追加した後のスイッチポート管理表570bを示す説明図である。
図15に示すスイッチポート管理表570bにおいて、スイッチ571が、マルチルートスイッチ300aを示し、ポート番号572が、下流ポート320a−4を示す行が、PCIマネージャー250によって更新される。スイッチ571が“300a”であり、ポート番号572“320a−4”である行の、種別574が“デバイス”に更新され、リンク先575が“420a−4”に更新される。
<未割り当てスロット320の追加>
次に、ホスト100に割り当てられていないスロット320を、起動中のホスト100に追加する場合の手順について説明する。
図16は、第1の実施形態のホストBと未割り当てスロット320との割り当てを設定するGUI画面を示す説明図である。
図16は、ユーザ又はシステム管理者が、PCIマネージャー250によって、ホストB(ホスト100a)にMRSW#2(マルチルートスイッチ300a)のスロット#3及びスロット#4(下流ポート320a−3及び下流ポート320a−4)を追加するために、管理コンソール240に表示されるGUI画面である。ユーザ又はシステム管理者は、図16に示すGUI画面によって、ホストBに、スロット#3及びスロット#4を割り当てる。
ホストBに、スロット#3及びスロット#4を割り当てる操作によって、未割り当てスロット320である下流ポート320a−3とI/Oデバイス420a−4が挿入されている下流ポート320a−4とが、ホスト100aへ割り当てられる。
図17Aは、第1の実施形態のホスト−スロット割り当て表500cを示す説明図である。
図17Bは、第1の実施形態のホスト−スロット割り当て表500dを示す説明図である。
図17A及び図17Bは、ホスト100aに下流ポート320a−3及び下流ポート320a−4を割り当てた後のホスト−スロット割り当て表500c及びホスト−スロット割り当て表500dを示す。
図3Aに示したホスト−スロット割り当て表500aと比較して、ホスト−スロット割り当て表500cは、ホスト501が“HostB”である行に、スイッチ502が“MRSW#2”でありスロット503が“スロット#3”及び“スロット#4”である行が追加されている。
ホストBに、スロット#3及びスロット#4を割り当てる操作によって、新たに仮想スイッチ430a−2が、マルチルートスイッチ300a内に生成される。
図18は、第1の実施形態の生成された新たな仮想スイッチ430a−2を示す説明図である。
マルチルートスイッチ300aは、仮想スイッチ430a−2を備える。仮想スイッチ430a−2は、上流ポート310a−2に対応する上流仮想ブリッジ440a−6、下流ポート320a−3に対応する下流仮想ブリッジ440a−7、及び下流ポート320a−4に対応する下流仮想ブリッジ440a−8を備える。
図19は、第1の実施形態のホストBにスロット320を割り当てた後の、仮想スイッチ管理表520b及び仮想ブリッジ管理表580bを示す説明図である。
PCIマネージャー250は、新たに生成された仮想スイッチ430a−2の設定値を、仮想スイッチ管理表520b及び仮想ブリッジ管理表580bに追記する。
図7に示す仮想スイッチ管理表520aと比較して、図19に示す仮想スイッチ管理表520bは、スイッチ521がマルチルートスイッチ300aを示し、かつVS番号522が“2”を示す行が更新されている。
また、図7に示す仮想ブリッジ管理表580aと比較して、図19に示す仮想ブリッジ管理表580bは、スイッチ581がマルチルートスイッチ300aを示し、かつVB番号582が"6"、"7"、"8"を示す行が更新されている。
また、仮想スイッチ430の変更によって、ホスト−仮想スイッチ管理表560、リンクアップ抑止制御判定表590、及びスイッチポート制御レジスタ600も更新される。
図20は、第1の実施形態のホスト100にスロット320を割り当てた後の、ホスト−仮想スイッチ管理表560bを示す説明図である。
図8に示すホスト−仮想スイッチ管理表560と比較して、図20に示すホスト−仮想スイッチ管理表560bは、グローバル仮想ヒエラルキー(GVH)番号561が“2”であり、ホスト562が“100a”である仮想スイッチリスト564の、スイッチ565及びVS番号566が更新されている。グローバル仮想ヒエラルキー(GVH)番号561は、計算機システム内での仮想階層を示す識別子である。グローバル仮想ヒエラルキー(GVH)番号561は、PCIマネージャー250が設定するようにしてもよい。
図21は、第1の実施形態のホストにスロットを割り当てた後の、リンクアップ抑止制御判定表590bを示す説明図である。
図9に示すリンクアップ抑止制御判定表590と比較して、図21に示すリンクアップ抑止制御判定表590bは、スイッチ591がマルチルートスイッチ300aを示し、上流ポート592bが上流ポート310a−2を示す行の、仮想スイッチ番号594b及び抑止情報595bが更新されている。
図22は、第1の実施形態のホスト100にスロット320を割り当てた後の、スイッチポート制御レジスタ600bを示す説明図である。
図10に示すスイッチポート制御レジスタ600と比較して、図22に示すスイッチポート制御レジスタ600は、スイッチ601がマルチルートスイッチ300aを示し、かつ、ポート番号602が上流ポート310a−2を示す行のリンク方向604が、“リンクしない”から“up”へ更新されている。
スイッチポート制御レジスタ600の上流ポート310a−2に対応するリンク方向604が“リンクしない”から“up”へ更新されたことによって、上流ポート310a−2のリンクアップ抑止状態は解除され、図1に示したルートポート160a−2と上流ポート310a−2間のPCIeリンク400a−2の物理層及びリンク層の接続が確立する。
スロット320を割り当てる対象となるホスト100aが起動していなかった場合は、仮想スイッチ430の構成の変更が完了した後に、ホスト100aを起動するため、以降の処理は必要ない。以降の処理は、ホスト100aが既に起動済みだった場合に限定する。
ホスト100aが起動した時、マルチルートスイッチ300aの上流ポート310a−2がリンクアップ抑止されているため、ルートポート160a−2にリンクすることができず、ホスト100aは、ルートポート160a−2以下のPCIツリーを認識しない。ホスト100aの起動の後、仮想スイッチ430が追加されても、ホスト100aは仮想スイッチ430を認識しない。
そこでPCIマネージャー250は、ルートポートHot−Plug制御部540によって、ホスト100aのルートポート160a−2に対応するHot−Plugコントローラ170a−2を制御することによって、マルチルートスイッチ300aに含まれる仮想スイッチ430をホスト100aに認識させる。
図23は、第1の実施形態のHot−Plugコントローラ170、Hot−Plug制御信号180a及びHot−Plug信号制御部190aを示すブロック図である。
図23を用いて、図1に示すHot−Plugコントローラ170、Hot−Plug制御信号180a及びHot−Plug信号制御部190aを詳細に説明する。
Hot−Plug制御信号180a−2は、Hot−Plugコントローラ170a−2に関連するいくつかの信号の集合である。
本実施形態において、Hot−Plug制御信号180a−2は、Attention Indicator Control180−1、Power Indicator Control180−2、Power Controller Control180−3、Presence Detect180−4、Attention Button Pressed180−5、及びPower Fault Detected180−6の、6種類の信号である。
Attention Indicator Control 180−1、Power Indicator Control 180−2、及びPower Controller Control 180−3は、Hot−Plugコントローラ170a−2から出力される信号であり、ホスト100a上のOS210a及びBIOS200aによってHot−Plugコントローラ170が操作される場合に用いられる。
Attention Indicator Control180−1は、Attention Indicator状態を変更する場合に用いられる。
Power Indicator Control180−2は、Power Indicator状態を変更する場合に用いられる。
Power Controller Control180−3は、電源状態を変更する場合に用いられる。
Presence Detect180−4、Attention Button Pressed180−5、及びPower Fault Detected180−6は、Hot−Plugコントローラ170a−2へ入力される信号であり、スロット320側の状態及び変更の内容を、ホスト100a上のOS210a及びBIOS200aへ通知するために用いられる。
Presence Detect180−4は、ホスト100aに対応するスロット320に、I/Oデバイス420が存在することを通知する場合に用いられる。
Attention Button Pressed180−5は、スロット320に対応するAttention Buttonが押されたことを通知する場合に用いられる。
Power Fault Detected180−6は何らかの不慮の事態によってスロット320の電源が遮断した場合に用いられる。
Hot−Plug制御信号180a−2の信号群は、従来技術のPCIexpressスロットを用いた場合、スロット320上の電源コントローラ又はAttention Buttonと接続される。しかし、マルチルートスイッチ300に接続されるルートポート160の場合、従来技術のスロット320と違い、スロット320上には、電源コントローラ及びAttention Buttonは存在しない(ホスト100とマルチルートスイッチ300とは、シャーシに搭載され、バックプレーンを介して接続されるような形態が一般的である)。
このため、Hot−Plug制御用の複数の信号は、すべてホスト100a上のHot−Plug信号制御部190aに集められ、Hot−Plug信号制御部190aによって、ホスト管理パス230aを介してサービスプロセッサ220に送受信される。サービスプロセッサ220のHot−Plug制御用の複数の信号が、PCIマネージャー250から制御されることによって、Hot−Plugの仕組みを使って動的に仮想スイッチ430の構成を変更することができる。
Hot−Plugの仕組みのうちHot−Addの具体的な処理手順を図24のフローチャートに示す。
図24は、第1の実施形態のルートポート160へPCIマネージャー250がHot−Addを通知する処理を示すフローチャートである。
PCIマネージャー250は、割り当てられていないスロット320をホスト100に割り当てる処理(ステップ1500)の後、ホスト−スロット割り当て表500及びスイッチポート管理表570を更新し、更新されたホスト−スロット割り当て表500及びスイッチポート管理表570に基づいて仮想スイッチ管理表520及び仮想ブリッジ管理表580を更新する(ステップ1510)。
ステップ1510の後、PCIマネージャー250は、リンクアップ抑止制御判定表590bを更新する(ステップ1520)。続いて、PCIマネージャー250は、ステップ1520において、リンクアップ抑止制御判定表590bの抑止状態595が“Yes”から“No”へ変更された上流ポート310a−2について、スイッチポート制御レジスタ600のリンク方向を“up”に変更する(ステップ1550)。
続いて、PCIマネージャー250は、ルートポートHot−Plug制御部540に対して、Hot−Addを指示する(ステップ1560)。
ルートポートHot−Plug制御部540は、PCIM管理パス255及びホスト管理パス230aを介してHot−Plug信号制御部190aにHot−Addを通知する。Hot−Plug信号制御部190aは、抑止状態595が“No”に変更された上流ポートに対応するルートポート160a−2のHot−Plugコントローラ170a−2にAttention Button Pressed180−5の信号を送る。Attention Button Pressed180−5の信号を受信することによって、Hot−Plugコントローラ170a−2は、Hot−Plugコントローラ170a−2に対応するスロット320のAttention Buttonが押されたと認識し、CPU接続バス115aを介して、Hot−Plug割り込みをCPU110aへ送信する。
Hot−Plug割り込みを受信したOS210a及びBIOS200aは、Hot−Add処理を行う。Hot−Add処理には、OS210aからHot−Plugコントローラ170a−2に、Power Indicator Control180−2の内容を“Blink”に更新せよという指示、続いて、Power Controller Control180−3の内容を“on”に更新せよという指示、続いて、Power Indicator Control180−2の内容を“On”に更新せよという指示の送信が含まれる。
Hot−Plugコントローラ170a−2は、OS210aから受信した指示を実行し、Power Indicator Control180−2、続いて、Power Controller Control180−3、続いて、Power Indicator Control180−2を、順にHot−Plug信号制御部190aに送信する。
Hot−Plug信号制御部190aは、順に送られてくる、Power Indicator Control180−2、Power Controller Control180−3を、Power Indicator Control180−2の信号を、ホスト管理パス230a及びPCIM管理パス255を介して、ルートポートHot−Plug制御部540に、送られてきた順に、送信する。ルートポートHot−Plug制御部540は、受信した信号に基づいて、ルートポートHot−Plug状態管理表610を更新する(ステップ1570)。
以上の処理により、ホスト100は、起動した後のHot−AddによってI/Oデバイス420を認識することができる。すなわち、ホスト100が起動される時点では、上流ポート310を電源遮断状態にしておくことによって、仮想スイッチ430を生成することなくホスト100を円滑に起動する。そして、ホスト100が起動した後に、仮想スイッチ430を生成し、未割り当てスロット320のI/Oデバイス420が利用可能となってから、PCIマネージャー250がホスト100に対してHot−Addを通知する。Hot−Addを受信したホスト100のHot−Plugコントローラ170がOS210に対してHot−Plug割り込みをかけることで、OS210はマルチルートスイッチ300のPCIバスツリーとI/Oデバイス420を認識し、利用することが可能となる。
以上のように、本発明では、ホスト100がI/Oデバイス420を利用するときに、マルチルートスイッチ300内の仮想スイッチ430を生成し、その後Hot−Plugによってホスト100にPCIバスツリーを認識させればよいので、前記従来技術のように、接続可能なホスト100と利用可能なスロット数に応じたリソースを用意する必要がなく、マルチルートスイッチ300に実装するLSI等の物量が増大するのを防ぎながら、ホスト100とI/Oデバイス420とを確実に接続することが可能となる。
図25は、第1の実施形態のルートポートHot−Plug状態管理表610bを示す説明図である。
ルートポートHot−Plug制御部540は、Power Indicator Control180−2を受信すると、ルートポートHot−Plug状態管理表610bのルートポート160a−2に該当するPWE LED状態614の値を、“Off”から“Blink”に更新する。
続いて、ルートポートHot−Plug制御部540は、Power Controller Control180−3を受信すると、ルートポートHot−Plug状態管理表610bのルートポート160a−2に該当するPWR状態613の値を、“Off”から“On”に更新する。
続いて、ルートポートHot−Plug制御部540は、Power Indicator Control180−2を受信すると、ルートポートHot−Plug状態管理表610bのルートポート160a−2に該当するPWE LED状態614の値を、“Blink”から“On”に更新する。
前述の、Hot−Add処理の結果、OS210a及びBIOS200aは、ルートポート160a−2以下のPCIツリーを再度数え直す(再数え上げ:re−enumerate)。また、OS210a及びBIOS200aは、マルチルートスイッチ300a内に新たに生成された仮想スイッチ430a−2を認識し、追加されたスロット320a−3(下流ポート320a−3)、スロット320a−4(下流ポート320a−4)及びI/Oデバイス420a−4を使用可能にする。
また、前述の未割り当てスロット320に対するHot−Plugによって、未割り当てスロット320を、ホスト100が起動している際も、動的に追加することが可能となる。
Hot−Plugとは反対に、既に割り当てられたスロット320を、起動中のホスト100から外す場合は、Hot−Remove処理が用いられる。Hot−Remove処理は、マルチルートスイッチ300に含まれる仮想スイッチ430を除外し、ルートポート160の電源状態を再び遮断するため、後続のスロット320の再割り当てによるHot−Addを可能にする。
図26は、第1の実施形態のHot−Remove処理を示すフローチャートである。
既に割り当てられたスロット320a−4からI/Oデバイス420a−4が取り外された場合、I/Oデバイス420a−4の取り外しがあったマルチルートスイッチ300aからPCIマネージャー250へ、既割り当てスロット320a−4の取り外し要求が送信される(ステップ1600)。
PCIマネージャー250は、ホスト−スロット割り当て表500c及びスイッチポート管理表570bを更新し、更新されたホスト−スロット割り当て表500c及びスイッチポート管理表570bに基づいて、仮想スイッチ管理表520b及び仮想ブリッジ管理表580bを更新する。前述の表を変更することによって、仮想スイッチ430の構成を変更する(ステップ1610)。
PCIマネージャー250は、一つの仮想スイッチ430に対応するスロット320のうち、I/Oデバイス420a−4に割り当てられたスロット320a−4がなくなり、一つの仮想スイッチ430が消されるか否かを判定する(ステップ1620)。
仮想スイッチ430が消されない場合、処理は、ステップ1660に移る。
一つの仮想スイッチ430が消される場合、PCIマネージャー250は、仮想スイッチ430が接続される上流ポート310a−2及びルートポート160a−2の設定を変更するため、上流ポート310a−2に接続されたルートポート160a−2に対してHot Removeの処理を指示する(ステップ1630)。
Hot Remove処理には、Hot−Plugコントローラ170a−2に対してAttention Button Pressed180−5の信号を送信することが含まれる。Attention Button Pressed180−5の信号を受信することによって、Hot−Plugコントローラ170a−2は、Hot−Plugコントローラ170a−2に対応するスロット320のAttention Buttonが押されたと認識し、CPU接続バス115aを介して、Hot−Plug割り込みをCPU110aへ送信する。
Hot−Plug割り込みを受信したOS210a及びBIOS200aは、Hot−Remove処理を行う。OS210aは、Hot−Remove処理の指示を、Hot−Plugコントローラ170a−2及びHot−Plug信号制御部190aを介して、ルートポートHot−Plug制御部540に送信する。ルートポートHot−Plug制御部540は、受信したHot−Remove処理の指示に基づいて、ルートポートHot−Plug状態管理表610bを更新する(ステップ1640)。なお、OS210aからルートポートHot−Plug制御部540への指示は、サービスプロセッサ220が中継することによって送信される。
ルートポートHot−Plug制御部540は、OS210aから、Power Controller Control180−3を“Off”にせよ、という指示を受け、Hot−Remove処理を完了させる(ステップ1650)。なお、OS210aが上記“Off”の指令を送信するタイミングは、PCIマネージャー250からHot−removeの指令を受け付けてから所定時間後としてもよい。
ルートポートHot−Plug制御部540は、ステップ1610によって更新された仮想スイッチ430の構成に従って、リンクアップ抑止判定表590を更新する(ステップ1660)。
ルートポートHot−Plug制御部540は、リンクアップ抑止判定表590のリンクアップ抑止状態595が、“No”から“Yes”へ更新された上流ポート310について、スイッチポート制御レジスタ600のリンク方向604を“リンクしない”へ更新する(ステップ1670)。
前述の処理によって、ホスト100が再起動した場合、仮想スイッチ430が設定されていない上流ポート310から先に、ホスト100によってPCIツリーが探索されることを防ぐ。これによって、仮想スイッチ430が設定されていない場合でも再起動したホスト100を安定して稼働させることが可能となる。
前述の第1の実施形態によると、ホスト100起動後のスロット320の追加及び削除といった動的再構成が可能となる。
(第2の実施形態)
続いて、本発明の第2の実施形態を説明する。第2の実施形態は、マルチルートスイッチ300の電源制御に関する。
第2の実施形態における初期状態は、第1の実施形態における初期状態と同じであり、図3A及び図3Bと、図4A及び図4Bとに示す状態である。
図3B及び図4Bに示すホスト100とスロット320との割り当てにおいて、ホストA(100b)の電源が遮断しており、ホストB(100a)の電源のみが投入されている場合、ホスト100aは、マルチルートスイッチ300a配下のスロット320を使用していないため、マルチルートスイッチ300aの電源を入れる必要はない。マルチルートスイッチ300aに電源を入れる必要がない場合の省電力制御を行う手順を、後述において説明する。
図27は、第2の実施形態のスイッチ電源状態管理表530aを示す説明図である。
スイッチ電源状態管理表530は、マルチルートスイッチ300の識別子を示すスイッチ531をキーとして、マルチルートスイッチ300の電源状態を示す電源状態532、マルチルートスイッチ300に含まれる仮想スイッチ番号(VS#)ごとに対応するホスト100の電源状態を示す仮想スイッチ状態533、及び仮想スイッチ状態533の各状態を集計した結果を示す集計結果534を含む。
各仮想スイッチ430の電源状態を示す仮想スイッチ状態533は、図8に示すホスト−仮想スイッチ管理表560のマルチルートスイッチ300をキーにして並べ直すことによって生成される。集計結果534は、仮想スイッチ430の中に、電源が投入されているものが一つでもある場合は“On”、電源が一つも投入されていない場合は“Off”を示す。図8に示すホスト−仮想スイッチ管理表560において、ホスト100b及びホスト100aは、共に“Off”であるため、対応する仮想スイッチ430も全て“Off”となり、集計したマルチルートスイッチ300の電源状態532も“Off”となる。
<ホスト100の電源投入を契機としたマルチルートスイッチ300の電源投入>
ホスト100bの電源を遮断したまま、ホスト100aの電源を投入した場合の省電力制御について、後述する。
図28は、第2の実施形態のホスト100aの電源が投入されたことを契機として、マルチルートスイッチ300の電源を投入する処理手順を示すフローチャートである。
管理コンソール240から、ホスト100aに対する電源投入の指令が入力されると、PCIマネージャー250は、サービスプロセッサ220から、ホスト100aの電源を投入する、という指令を受け(ステップ1000)、ホスト−スロット割り当て表500、スイッチポート管理表570、仮想スイッチ管理表520、及び仮想ブリッジ管理表580を参照し、ホスト100aに対するスロット320の割り当てを参照する(ステップ1010)。続いて、PCIマネージャー250は、ホスト−スロット割り当て表500に従って、図29に示すように、ホスト仮想スイッチ管理表560cのホスト100aに対応する電源状態のフィールド563を“On”へ更新する。
図29は、第2の実施形態のホスト−仮想スイッチ管理表560cを示す説明図である。
図8に示すホスト−仮想スイッチ管理表560と比較して、図29に示すホスト−仮想スイッチ管理表560cは、ホスト562がホスト100aを示す行の電源状態563が、“On”に更新されている。
図30は、第2の実施形態のスイッチ電源状態管理表530cを示す説明図である。
ホスト100aの電源状態563の更新によって、PCIマネージャー250は、図30に示すスイッチ電源状態管理表530cにおける、マルチルートスイッチ300bのVS#2に対応する仮想スイッチ状態533の値を、“On”に更新する。また、PCIマネージャー250は、マルチルートスイッチ300bに含まれる仮想スイッチ状態533の値に“On”となるものが一つ以上存在するため、集計結果534も“On”に更新する(ステップ1020)。
PCIマネージャー250は、電源状態532が“Off”であり、集計結果534が“On”となるようなマルチルートスイッチ300が存在するか否かを確認する(ステップ1030)。
ステップ1030において、電源状態532が“Off”であり、集計結果534が“On”となるようなマルチルートスイッチ300が存在する場合、該当するマルチルートスイッチ300(第2の実施形態において、マルチルートスイッチ300b)の電源が投入される(ステップ1040)。また、マルチルートスイッチ300bに含まれる仮想スイッチ430が、PCIマネージャー250によって設定される(ステップ1050)。
ステップ1050の後、又は、ステップ1030において、電源状態532が“Off”であり、集計結果534が“On”となるようなマルチルートスイッチ300が存在しない場合、PCIマネージャー250は、サービスプロセッサ220へホスト100aの電源の投入を許可する旨を送信する(ステップ1060)。その後、サービスプロセッサ220は、ホスト100aの電源を投入する。
ホスト100aの起動時、ルートポート160a−1は通常通りリンクアップするが、ルートポート160a−2は、ルートポート160a−2配下のマルチルートスイッチ300aの電源が遮断されているため、リンクアップは成立しない。このため、ホスト100aの起動時、ホスト100aからマルチルート300aは認識されない。これは、第1の実施形態において、マルチルートスイッチ300aの上流ポート310a−2をリンクアップ抑止に設定した後に、ホスト100aの電源を投入した場合と同じ結果である。
続いて、ホスト100bの電源を投入する場合を説明する。
PCIマネージャー250は、サービスプロセッサ220からホスト100bの電源投入の指示を受け、ホスト−仮想スイッチ管理表560のホスト100bの電源状態563を“On”に更新する。
図31は、第2の実施形態のホスト−仮想スイッチ管理表560dを示す説明図である。
図31は、電源状態563をPCIマネージャー250によって“On”に更新された後の、ホスト−仮想スイッチ管理表560dである。
ホスト−仮想スイッチ管理表560dの電源状態563の更新によって、PCIマネージャー250は、スイッチ電源状態管理表530において、マルチルートスイッチ300bの仮想スイッチ番号が1の仮想スイッチ状態533と、マルチルートスイッチ300aの仮想スイッチ番号が1の仮想スイッチ状態533とを、“On”に更新する。
仮想スイッチ状態533の更新によって、マルチルートスイッチ300aの集計結果534が“On”に更新される。集計結果534が“On”に更新されたことによって、スイッチ電源状態管理表530は、マルチルートスイッチ300aの電源を投入する必要があることを示す。
図32は、第2の実施形態のスイッチ電源状態管理表530dを示す説明図である。
図32は、仮想スイッチ状態533と、集計結果534とをPCIマネージャー250によって“On”に更新された後の、スイッチ電源状態管理表530である。
PCIマネージャー250は、マルチルートスイッチ300aの電源を投入した後、仮想スイッチ430を構成する。マルチルートスイッチ300aの電源の投入に伴い、PCIマネージャー250は、第1の実施形態と同様に、図9のリンクアップ抑止制御判定表590に従い、図10のスイッチポート制御レジスタ600に“リンクしない”の設定をする必要がある。
既に、ホスト100aは電源を投入されているため、明示的にリンクアップ抑止をしなくても、自動的にマルチルートスイッチ300aが認識されることはない。しかし、ホスト100aが再起動するようなケースに備えてリンクアップ抑止を設定する必要があるため、前述の通り、PCIマネージャー250がスイッチポート制御レジスタ600の設定をする。
PCIマネージャー250は、仮想スイッチ430の設定と、スイッチポート制御レジスタ600の更新とが完了した後、サービスプロセッサ220に対してホスト100bの電源を投入する許可を出す。続いて、サービスプロセッサ220は、ホスト100bの電源を投入する。
<ホスト100の電源遮断を契機としたマルチルートスイッチ300の電源遮断>
続いて、ホスト100a、及びホスト100bの電源が投入された状態から、ホスト100bの電源を遮断する場合を、以下に説明する。
図33は、第2の実施形態のホスト100bの電源の遮断を契機とした、マルチルートスイッチ300の電源を遮断する処理を示すフローチャートである。
サービスプロセッサ220によってホスト100bの電源が遮断された後、サービスプロセッサ220は、ホスト100bの電源を遮断した旨の通知を、PCIM管理パス255を介して、PCIマネージャー250へ送信する(ステップ1100)。ここで、ホスト100の電源を投入する旨の通知は、ホスト100の電源が投入される前に、サービスプロセッサ220によってPCIマネージャー250へ送信される(ホスト100の電源を投入する前に、仮想スイッチ430を構成する必要があるため)のに対して、ホスト100の電源を遮断する旨の通知は、ホスト100の電源が遮断されてから、サービスプロセッサ220によってPCIマネージャー250へ送信される。
PCIマネージャー250は、ホスト100bの電源を遮断する旨の通知を受信すると、ホスト−スロット割り当て表500に従い(ステップ1110)、ホスト−仮想スイッチ管理表560のホスト100bの電源状態563の値を“Off”に更新する。PCIマネージャー250は、ホスト−仮想スイッチ管理表560の更新によって、スイッチ電源状態管理表530におけるマルチルートスイッチ300bの仮想スイッチ番号が1である仮想スイッチ状態533の値と、マルチルートスイッチ300aの仮想スイッチ番号が1である仮想スイッチ状態533の値とを、“Off”に更新する(ステップ1120)。
図34は、第2の実施形態のホスト−仮想スイッチ管理表560eを示す説明図である。
図34は、図33のステップ1120において、PCIマネージャー250によって更新された結果である。
図35は、第2の実施形態のスイッチ電源状態管理表530eを示す説明図である。
図35は、図33のステップ1120において、PCIマネージャー250によって更新された結果である。
PCIマネージャー250は、電源状態532が“On”であり、集計結果534が“Off”であるマルチルートスイッチ300が存在するか否かを判定する(ステップ1130)。図35に示すスイッチ電源状態管理表530eにおいて、電源状態532が“On”であり、集計結果534が“Off”であるマルチルートスイッチ300aが存在するため、マルチルートスイッチ300aの電源を遮断できる。このため、PCIマネージャー250は、マルチルートスイッチ300aの電源を遮断する(ステップ1140)。
ステップ1140の後、又は、ステップ1130において、電源状態532が“On”であり、集計結果534が“Off”であるマルチルートスイッチ300が存在しない場合、PCIマネージャー250は、サービスプロセッサ220へ電源の遮断が完了したことを送信する(ステップ1150)。
続いて、ホスト100aの電源を遮断する場合を、以下に説明する。
サービスプロセッサ220によってホスト100aの電源が遮断された後、サービスプロセッサ220は、ホスト100aの電源が遮断された旨の通知を、PCIM管理パス255を介してPCIマネージャー250へ送信する。
PCIマネージャー250は、ホスト100aの電源が遮断された旨の通知を受信し、ホスト−仮想スイッチ管理表560のホスト100aの電源状態563を“Off”に更新する。
図36は、第2の実施形態のホスト−仮想スイッチ管理表560fを示す説明図である。
図36は、PCIマネージャー250によって、ホスト−仮想スイッチ管理表560の電源状態563を“Off”に更新された結果である。
ホスト−仮想スイッチ管理表560fの更新によって、PCIマネージャー250は、スイッチ電源状態管理表530fにおける、マルチルートスイッチ300bの仮想スイッチ番号が2の仮想スイッチ状態533を、“Off”に更新する。
図37は、第2の実施形態のスイッチ電源状態管理表530fを示す説明図である。
図37は、PCIマネージャー250によって、スイッチ電源状態管理表530fの仮想スイッチ状態533を、“Off”に更新された結果である。
続いて、PCIマネージャー250は、マルチルートスイッチ300bの集計結果534を“Off”に更新する。更新後のスイッチ電源状態管理表530fは、マルチルートスイッチ300bの電源を遮断することが可能であることを示す。PCIマネージャー250は、マルチルートスイッチ300bの電源を遮断する。
前述の第2の実施形態によると、ホストの電源状態に連動して、必要最低限のマルチルートスイッチのみの電源を投入し、不要なスイッチの電源を遮断が可能であるため、省電力による運用が可能となる。
(第3の実施形態)
<起動済ホストへの未割り当てスロット320の追加を契機としたマルチルートスイッチ300の電源投入>
続いて、本発明の第3の実施形態を説明する。第3の実施形態は、第2の実施形態を応用した実施形態である。
第3の実施形態の初期状態における、計算機システムの構成と、ホスト−スロット割り当て表500とは、第2の実施形態と同じであり、すなわち、第1の実施形態の初期状態と同じである。第3の実施形態の初期状態において、ホスト100bの電源は遮断され、ホスト100aの電源は投入されている。また、第3の実施形態の初期状態において、マルチルートスイッチ300aの電源は遮断され、マルチルートスイッチ300bの電源は投入されている。
第3の実施形態の初期状態における、ホスト−仮想スイッチ管理表560及びスイッチ電源状態管理表530は、図29及び図30に示すホスト−仮想スイッチ管理表560c及びスイッチ電源状態管理表530cと同じである。
第3の実施形態の初期状態において、ホスト100aに対して、未割り当てのスロット320a−3とスロット320a−4とを割り当てる場合を、以下に説明する。
ユーザ又はシステム管理者が、図16及び図17Bに示すホスト100とスロット320との割り当てに基づいて、管理コンソール240を用いてホスト100aにスロット320a−3とスロット320a−4とを割り当てる。未割り当てスロット320のホスト100への割り当てを契機として、マルチルートスイッチ300の電源を投入する処理手順を図38に示す。
図38は、第3の実施形態の未割り当てスロット320のホスト100への割り当てを契機としてマルチルートスイッチ300の電源を投入する処理手順を示すフローチャートである。
ホスト100aが、スロット320a−3とスロット320a−4とを、割り当てられると(ステップ1200)、続いて、PCIマネージャー250は、ホスト−スロット割り当て表500、及びスイッチポート管理表570を更新し、さらに仮想スイッチ管理表520及び仮想ブリッジ管理表580を更新する。PCIマネージャー250によって更新された結果は、図19に示す仮想スイッチ管理表520b及び仮想ブリッジ管理表580bである(ステップ1210)。
さらに、PCIマネージャー250は、ホスト−仮想スイッチ管理表560を更新する。
図39は、第3の実施形態のホスト−仮想スイッチ管理表560gを示す説明図である。
PCIマネージャー250は、ホスト−仮想スイッチ管理表560gのホスト100aの仮想スイッチリスト564のスイッチ565をマルチルートスイッチ300aに、仮想スイッチ番号566を“2”に更新する。
続いて、PCIマネージャー250は、リンクアップ抑止制御判定表590を図21に示す説明図と同じ内容に更新する。さらに、PCIマネージャー250は、スイッチポート制御レジスタ600bを図22に示す内容に更新する。
ホスト−仮想スイッチ管理表560gの更新の後、PCIマネージャー250は。スイッチ電源状態管理表530gを図40に示す内容に更新する。
図40は、第3の実施形態のスイッチ電源状態管理表530gを示す説明図である。
マルチルートスイッチ300aに仮想スイッチ(VS#)番号533が“2”である仮想スイッチ430が追加されたため、PCIマネージャー250は、スイッチ電源状態管理表530gのマルチルートスイッチ300aの仮想スイッチ番号が“2”を示す仮想スイッチ状態533が“−”(なし)から“On”へ更新する(ステップ1220)。
PCIマネージャー250は、スイッチ電源状態管理表530gにおいて、電源状態532が“Off”であり、電源状態532の集計結果534が“On”であるスイッチ531があるか否かを判定する(ステップ1230)。
電源状態532が“Off”であり、電源状態532の集計結果534が“On”であるマルチルートスイッチ300が存在しない場合、処理はステップ1250に移る。
電源状態532が“Off”であり、電源状態532の集計結果534が“On”であるマルチルートスイッチ300が存在する場合、処理はステップ1240に移る。
スイッチ電源状態管理表530gにおいて、マルチルートスイッチ300aが電源状態532が“Off”であり、電源状態532の集計結果534が“On”であるため、PCIマネージャー250は、マルチルートスイッチ300aの電源を投入する(ステップ1240)。
ステップ1240の後、又は、ステップ1230において、電源状態532が“Off”であり、電源状態532の集計結果534が“On”であるマルチルートスイッチ300が存在しない場合、PCIマネージャー250は、仮想スイッチ430を構成し、スイッチポート制御レジスタ600を更新する(ステップ1250)。
さらに、ホスト100aは、既に起動済みであり、ルートポート160a−2配下のPCIツリーを認識していないため、ルートポートHot−Plug制御部540は、ホスト100aのHot−Plugコントローラ170a−2にHot−Add処理を通知する(ステップ1260)。
Hot−Add処理の動作は、第1の実施形態と同じである(ステップ1270)。
前述の通り第3の実施形態によれば、ホスト100の電源を投入するだけでなく、既に電源を投入されているホスト100に対する未割り当てスロット320の割り当てを契機として、マルチルートスイッチ300の電源を投入できる。
<起動済ホスト100から既割り当てスロット320の取り外しを契機としたマルチルートスイッチ300の電源遮断>
最後に、ホスト100aの電源が投入されている状態からスロット320a−3、スロット320a−4を外し、未割り当て状態に戻す場合を、以下に説明する。
図41は、第3の実施形態のホスト100aに割り当てられていたスロット320の取り外しによって、マルチルートスイッチ300の電源を遮断する処理を示すフローチャートである。
図42は、第3の実施形態のホスト100から既割り当てスロット320を取り外す設定をするGUI画面を示す説明図である。
ユーザ又はシステム管理者は、図42に示すGUI画面からの設定によって、管理コンソール240を介してホストB(ホスト100a)からMRSW#2(マルチルートスイッチ300a)のスロット#3及びスロット#4(下流ポート320a−3、下流ポート320a−4)を外し、スロット#3及びスロット#4(下流ポート320a−3、下流ポート320a−4)を未割り当て状態に戻す指示を、PCIマネージャー250に送信する(ステップ1300)。
この時、ホスト−スロット割り当て表500は、図3Aに示すホスト−スロット割り当て表500aである。PCIマネージャー250は、ホスト−スロット割り当て表500aに従って仮想スイッチ管理表520及び仮想ブリッジ管理表580を図7に示す仮想スイッチ管理表520a及び仮想ブリッジ管理表580aに更新する(ステップ1310)。ただし、PCIマネージャー250は、起動中のホスト100aに対する仮想スイッチ430の更新であるため、PCIマネージャー250に含まれる仮想スイッチ管理表520及び仮想ブリッジ管理表580は更新するが、マルチルートスイッチ300aに対しては反映しない。
PCIマネージャー250は、マルチルートスイッチ300aに割り当てられたスロット320a−3及びスロット320a−4が外されたために上流ポート310a−2を介してホスト100aに割り当てられた仮想スイッチ430a−2を外せるか否かを判定する(ステップ1320)。
ステップ1320において、仮想スイッチ430a−2を外すことが不可能である場合、ホスト−仮想スイッチ管理表560及びスイッチ電源状態管理表530を更新する(ステップ1360)。
ステップ1320において、仮想スイッチ430a−2を外すことが可能である場合、PCIマネージャー250のルートポートHot−Plug制御部540は、外す対象の仮想スイッチ430a−2に上流ポート310a−2を介して接続するホスト100aのルートポート160a−2に対して、Hot Remove処理を開始する(ステップ1330)。
PCIM管理パス255・ホスト管理パス230aを介してHot−Plug信号制御部190aに対してHot Remove処理が指示され、Attention Button Pressed180−5信号によってHot−Plugコントローラ170a−2を介してHot−Plug割り込みがCPU110aへ通知される(Attention Buttonはトグルキーの機能を持っており、Add済みのスロット320に対してはHot Remove通知の意味を持つ)。
Hot−Plug割り込みを受けたOS210a及びBIOS200aは、Hot Remove処理を行う。Hot Remove処理の結果、Power Controller Control180−3によってスロット320の電源を遮断する通知がHot−Plugコントローラ170a−2を介してルートポートHot−Plug制御部540に対して通知される。PCIマネージャー250は、通知されたPower Controller Control180−3に従って、ルートポートHot−Plug状態管理表610を更新する(ステップ1340)。
PCIマネージャー250は、ホスト100a上のOS210a及びBIOS200aから、ルートポート160a−2配下のPCIツリーが切り離されたことを通知される。これによって、Hot Remove処理は完了する(ステップ1350)。
PCIマネージャー250は、仮想スイッチ管理表520の更新によって各種表を更新する。図43に示すように、ホスト−仮想スイッチ管理表560hのホスト100aに対応する仮想スイッチリスト564からは、スイッチ300aのVS#2が取り除かれる(ステップ1360)。
図43は、第3の実施形態のホスト−仮想スイッチ管理表560hを示す説明図である。
図44は、第3の実施形態のスイッチ電源状態管理表530hを示す説明図である。
ステップ1360の更新によって、スイッチ電源状態管理表530hのマルチルートスイッチ300aに対応するVS#2の仮想スイッチ状態533は、“On”から“−”(なし)へ更新される。PCIマネージャー250は、電源状態532が“On”であり、集計結果534が“Off”であるマルチルートスイッチ300が存在するか否かを判定する(ステップ1370)。
電源状態532が“On”であり、集計結果534が“Off”であるマルチルートスイッチ300が存在する場合、マルチルートスイッチ300aの電源を遮断できるため、PCIマネージャー250は、マルチルートスイッチ300aの電源を遮断する(ステップ1380)。
前述の通り、ホスト100の電源の遮断だけでなく、起動済みのホスト100に割り当てられたスロット320の動的な取り外しを契機に、マルチルートスイッチ300の電源を遮断できる。
従って、本実施形態によれば、ホスト100の起動時又は起動中に、未割り当てスロット320のみからなるマルチルートスイッチ300内に仮想スイッチ430を用意する必要がなく、ホスト100の起動後、スロット320が割り当てられた後に、動的に仮想スイッチ430の構成を変更することが可能となる。このため、本実施形態によれば、マルチルートスイッチ300内に保持すべき仮想スイッチ430用のリソース量は削減される。
図45A及び図45Bは、従来技術と本実施形態とのリソース量の比較を示す概念図である。
図45Aは、従来技術のリソース数を示す説明図である。
図45Aに示す従来技術は、未割り当てスロット320に対しても、(上流ポート310の数)×(スロット320の数)個の下流ブリッジ440のリソース、及び下流ブリッジ440に対応するHot−Plugコントローラ170を用意する必要がある。図45Aにおいて下流ブリッジ440のリソース数は、上流ポート310が8個であり、スロット320が8個であるため、8×8の計算によって、合計64個分と算出される。
また、従来技術を用いてマルチルートスイッチ300を多段に組み合わせた場合、上流ポート310を複数のホスト100によって共有することになるため、必要な下流ブリッジ440のリソース量はさらに増える。上流ポートが8個であり、下流ポートが8個であるマルチルートスイッチ300を2段組み合わせた場合、2段目のマルチルートスイッチ300の下流ポート320には、8(個)×8(個)×8(個)の計算によって合計512個もの下流ブリッジ440のリソースを用意する必要がある。
図45Bは、本実施形態のリソース数を示す説明図である。
図45Bは本実施形態のリソース配置を示している。本実施形態によれば、スロット320が割り当てられていないホスト100に対しては、マルチルートスイッチ300を認識させないことによって、下流ブリッジ440のリソースを用意する必要がなくなり、LSIに用意するリソース量を抑えることができる。
また、起動中のホスト100に対してスロット320が未割り当てであるマルチルートスイッチ300の電源を、スロット320がホスト100に割り当てられてから投入でき、これによってマルチルートスイッチ300の消費電力を抑えることができる。
なお、上記各実施形態では、サービスプロセッサ220とPCIマネージャー250とを異なる計算機で構成した例を示したが、一つの計算機に統合してもよい。すなわち、ホスト100の電源または起動状態を制御する電源制御部と、マルチルートスイッチ300を管理するスイッチ管理部と、I/Oデバイス420のHot−Plugに関する制御信号をホスト100に通知するルートポートHot−Plug制御部540と、を一つの計算機において実行させるようにしてもよい。
第1及び第2の実施形態の、計算機システムの構成を示すブロック図である。 第1の実施形態のPCIマネージャーの機能要素を示すブロック図である。 第1及び第2の実施形態の初期状態におけるホスト−スロット割り当て表を示す説明図である。 第1及び第2の実施形態の初期状態におけるホスト−スロット割り当て表を示す説明図である。 第1及び第2の実施形態のホストとスロットとの割り当てを設定するGUI画面を示す説明図である。 第1及び第2の実施形態のホストとスロットとの割り当てを設定するGUI画面を示す説明図である。 第1の実施形態のスイッチポート管理表を示す説明図である。 第1の実施形態の仮想スイッチ及び仮想ブリッジの構成を示すブロック図である。 第1の実施形態の仮想スイッチ管理表及び仮想ブリッジ管理表を示す説明図である。 第1の実施形態のホスト−仮想スイッチ管理表を示す説明図である。 第1の実施形態のリンクアップ抑止制御判定表を示す説明図である。 第1の実施形態のスイッチポート制御レジスタを示す説明図である。 第1の実施形態のリンク方向の値を示す説明図である。 第1の実施形態のルートポートHot−Plug状態管理表を示す説明図である。 第1の実施形態のホストが起動する際のリンクアップ抑止を示すフローチャートである。 第1の実施形態のHot−Plugに対応したPCIexpressスロットを示す説明図である。 第1の実施形態のスロットにI/Oデバイスを追加した後のスイッチポート管理表を示す説明図である。 第1の実施形態のホストと未割り当てスロットとの割り当てを設定するGUI画面を示す説明図である。 第1の実施形態のホスト−スロット割り当て表を示す説明図である。 第1の実施形態のホスト−スロット割り当て表を示す説明図である。 第1の実施形態の生成された新たな仮想スイッチを示す説明図である。 第1の実施形態のホストにスロットを割り当てた後の、仮想スイッチ管理表及び仮想ブリッジ管理表を示す説明図である。 第1の実施形態のホストにスロットを割り当てた後の、ホスト−仮想スイッチ管理表を示す説明図である。 第1の実施形態のホストにスロットを割り当てた後の、リンクアップ抑止制御判定表を示す説明図である。 第1の実施形態のホストにスロットを割り当てた後の、スイッチポート制御レジスタを示す説明図である。 第1の実施形態のHot−Plugコントローラ及びHot−Plug制御信号を示すブロック図である。 第1の実施形態のルートポートへHot−Addを通知する処理を示すフローチャートである。 第1の実施形態のルートポートHot−Plug制御部を示す説明図である。 第1の実施形態のHot−Remove処理を示すフローチャートである。 第2の実施形態のスイッチ電源状態管理表を示す説明図である。 第2の実施形態のホストの電源が投入されたことを契機として、マルチルートスイッチの電源を投入する処理手順を示すフローチャートである。 第2の実施形態のホスト−仮想スイッチ管理表を示す説明図である。 第2の実施形態のスイッチ電源状態管理表を示す説明図である。 第2の実施形態のホスト−仮想スイッチ管理表を示す説明図である。 第2の実施形態のスイッチ電源状態管理表を示す説明図である。 第2の実施形態のホストの電源の遮断を契機とした、マルチルートスイッチの電源を遮断する処理を示すフローチャートである。 第2の実施形態のホスト−仮想スイッチ管理表を示す説明図である。 第2の実施形態のスイッチ電源状態管理表を示す説明図である。 第2の実施形態のホスト−仮想スイッチ管理表を示す説明図である。 第2の実施形態のスイッチ電源状態管理表を示す説明図である。 第3の実施形態の未割り当てスロットのホストへの割り当てを契機としてマルチルートスイッチの電源を投入する処理手順を示すフローチャートである。 第3の実施形態のホスト−仮想スイッチ管理表を示す説明図である。 第3の実施形態のスイッチ電源状態管理表を示す説明図である。 第3の実施形態のホストに割り当てられていたスロットの取り外しによって、マルチルートスイッチの電源を遮断する処理を示すフローチャートである。 第3の実施形態のホストから既割り当てスロットを取り外す設定をするGUI画面を示す説明図である。 第3の実施形態のホスト−仮想スイッチ管理表を示す説明図である。 第3の実施形態のスイッチ電源状態管理表を示す説明図である。 従来技術のリソース数を示す説明図である。 本実施形態のリソース数を示す説明図である。 第1の実施形態のPCIマネージャーの構成を示すブロック図である。
100 ホスト
105 ホスト管理ポート
110 CPU
115 CPU接続バス
120 メモリコントローラ
130 メモリ
150 I/Oハブ
160 ルートポート
170 Hot−Plugコントローラ
180 Hot−Plug制御信号
190 Hot−Plug信号制御部
195 ホスト電源制御部
200 BIOS
210 OS
220 サービスプロセッサ
230 ホスト管理パス
240 管理コンソール
250 PCIマネージャー
255 PCIM管理パス
300 マルチルートスイッチ
310 上流ポート
320 下流ポート
330 スイッチ管理ポート
335 スイッチ管理パス
340 物理Hot−Plugコントローラ
350 仮想Hot−Plugコントローラ
360 ルーティング制御部
370 リンクアップ抑止制御部
380 スイッチ電源制御部
390 仮想スイッチ生成機構
400 PCIeリンク
410 PCIeリンク
420 I/Oデバイス
430 仮想スイッチ
440 仮想ブリッジ
500 ホスト−スロット割り当て表
520 仮想スイッチ管理表
530 スイッチ電源状態管理表
540 ルートポートHot−Plug制御部
550 リンクアップ抑止制御判定部
560 ホスト−仮想スイッチ管理表
570 スイッチポート管理表
580 仮想ブリッジ管理表
590 リンクアップ抑止制御判定表
600 スイッチポート制御レジスタ
610 ルートポートHot−Plug状態管理表

Claims (14)

  1. プロセッサとメモリとインターフェースとを有する複数の計算機と、
    PCIスイッチに接続されたI/Oデバイスと、
    前記複数の計算機のインターフェースにそれぞれ接続される第1のポートと、前記I/Oデバイスに接続される第2のポートと、を備えたPCIスイッチと、
    前記PCIスイッチの構成を管理するスイッチ管理部と、
    前記複数の計算機に接続されて各計算機の電源をそれぞれ制御する電源制御部と、
    を備えた計算機システムにおいて、
    前記スイッチ管理部は、
    前記計算機のうち起動する計算機が接続された前記第1のポートを判定し、前記PCIスイッチに通知する判定部と、
    前記第1のポートに接続された計算機の起動を前記電源制御部に指令する指令部と、
    前記計算機に対するI/Oデバイスの割り当てを管理し、前記計算機の起動後に前記計算機に対するI/Oデバイスの割り当てを前記PCIスイッチに通知する割り当て管理部と、
    を備え、
    前記PCIスイッチは、
    前記第1のポートの判定の結果、前記起動する計算機が前記第1のポートに接続され、かつ、前記I/Oデバイスの割り当ての結果、前記起動する計算機にI/Oデバイスが割り当てられておらず、前記第1のポートのそれぞれについて、前記第1のポートを上流ポートとする仮想スイッチが存在しない場合、前記第1のポートと前記計算機とのリンクアップを抑止することによって、前記計算機からの前記第1のポートに対する構成認識を抑止するリンクアップ抑止制御部と、
    前記スイッチ管理部による前記I/Oデバイスの割り当てが、一つ以上のI/Oデバイスの割り当てである場合、前記I/Oデバイスが割り当てられた一つ以上の前記第2のポートに対応する下流の仮想ブリッジと、前記第1のポートに対応する上流の仮想ブリッジとを含む仮想スイッチを生成し、さらに、前記第2のポートに対応する仮想ブリッジと共に存在する仮想ホットプラグコントローラと割り当てることによって、前記第1のポートと第2のポートとを接続する仮想スイッチを生成する仮想スイッチ生成部と、
    を備えたことを特徴とする計算機システム。
  2. 請求項1に記載の計算機システムにおいて、
    前記電源制御部は、前記計算機の起動状態を監視し、
    前記スイッチ管理部は、
    前記電源制御部から前記起動を指令した計算機の起動状態を取得し、前記計算機の起動が完了したときに、前記割り当て管理部に前記通知を発行させ、前記PCIスイッチに対して前記第1のポートの抑止を解除する指令を発行し、前記起動が完了した計算機に対して前記I/OデバイスのHot−Plugを通知することを特徴とする計算機システム。
  3. 請求項1に記載の計算機システムにおいて、
    前記PCIスイッチは、マルチルートスイッチで構成され、
    前記抑止制御部は、前記計算機に接続された前記第1のポートを不通に設定することで、前記計算機からの前記第1のポートに対する構成認識を抑止することを特徴とする計算機システム。
  4. 請求項1に記載の計算機システムにおいて、
    前記PCIスイッチは、
    前記第2のポートに新たなI/Oデバイスが接続されたことを検知して前記スイッチ管理部にHot−Plugを通知する物理Hot−Plug管理部を有し、
    前記スイッチ管理部は、
    前記割り当て管理部でI/Oデバイスを割り当てる計算機の指定を受け、当該受け付けたI/Oデバイスと計算機を接続する仮想スイッチの生成を前記PCIスイッチに通知し、前記計算機に対してHot−Plugを通知し、
    前記PCIスイッチは、前記I/Oデバイスと計算機を接続する仮想スイッチの生成を通知された場合、前記第1のポートと第2のポートとを接続する仮想スイッチを生成する仮想スイッチ生成部を有することを特徴とする計算機システム。
  5. 請求項1に記載の計算機システムにおいて、
    前記PCIスイッチは、
    前記スイッチ管理部からの指令に基づいて電源の投入または遮断を行うスイッチ電源制御部を有し、
    前記スイッチ管理部の前記割り当て管理部は、
    前記起動する計算機が接続された前記PCIスイッチの電源の状態が遮断の場合には、当該PCIスイッチのスイッチ電源制御部に対して電源投入を指令することを特徴とする計算機システム。
  6. 請求項5に記載の計算機システムにおいて、
    前記スイッチ管理部は、前記電源投入を指令したPCIスイッチに対して前記計算機に対するI/Oデバイスの割り当てを前記PCIスイッチに通知し、前記計算機に対して前記I/OデバイスのHot−Plugを通知することを特徴とする計算機システム。
  7. 請求項6に記載の計算機システムにおいて、
    前記スイッチ管理部は、前記I/Oデバイスの取り外しを受け付けたときには、当該I/Oデバイスと計算機を接続する仮想スイッチを削除する指令を前記PCIスイッチに発行し、前記PCIスイッチの仮想スイッチのうち、I/Oデバイスと接続する仮想スイッチが削除されたときは、前記PCIスイッチのスイッチ電源制御部に対して電源遮断を指令し、
    前記PCIスイッチは、前記I/Oデバイスの取り外し要求を送信した場合、仮想スイッチ管理表および仮想ブリッジ管理表が更新されることにより、前記仮想スイッチの構成を変更し、前記計算機起動後のスロットの動的な削除を可能とする機能を有することによって、前記I/Oデバイスが再度割り当てられた場合、削除された前記仮想スイッチの仮想ブリッジを含む他の仮想スイッチを生成し、かつ、当該仮想ブリッジと共に存在する仮想ホットプラグコントローラを割り当てることによって、前記他の仮想スイッチを生成することを可能にする機能を有する仮想スイッチ生成部を備えることを特徴とする計算機システム。
  8. プロセッサとメモリとインターフェースとを有する複数の計算機と、PCIスイッチに接続されたI/Oデバイスと、前記複数の計算機のインターフェースにそれぞれ接続される第1のポートと、前記I/Oデバイスに接続される第2のポートと、を備えたPCIスイッチと、前記PCIスイッチの構成を管理するスイッチ管理部と、前記複数の計算機に接続されて各計算機の電源をそれぞれ制御する電源制御部と、を備えて前記PCIスイッチを管理するPCIスイッチの管理方法であって、
    前記スイッチ管理部が、前記計算機のうち起動する計算機の指定を受け付けるステップと、
    前記スイッチ管理部が、前記指定された起動する計算機が接続された前記第1のポートを判定して、当該第1のポートを前記PCIスイッチに通知するステップと、
    前記スイッチ管理部が、前記計算機に対するI/Oデバイスの割り当てを管理し、前記計算機に対するI/Oデバイスの割り当てを前記PCIスイッチに通知するステップと、
    前記第1のポートの判定の結果、前記起動する計算機が前記第1のポートに接続され、かつ、前記I/Oデバイスの割り当ての結果、前記起動する計算機にI/Oデバイスが割り当てられておらず、前記第1のポートのそれぞれについて、前記第1のポートを上流ポートとする仮想スイッチが存在しない場合、前記PCIスイッチが、前記第1のポートと前記計算機とのリンクアップを抑止することによって、前記計算機からの前記第1のポートに対する構成認識を抑止するステップと、
    前記スイッチ管理部が、前記第1のポートに接続された計算機の起動を前記電源制御部に指令するステップと、
    前記PCIスイッチが、前記スイッチ管理部による前記I/Oデバイスの割り当てが、一つ以上のI/Oデバイスが割り当てである場合、前記I/Oデバイスが割り当てられた一つ以上の前記第2のポートに対応する下流の仮想ブリッジと、前記第1のポートに対応する上流の仮想ブリッジとを含む仮想スイッチを生成し、さらに、前記第2のポートに対応する仮想ブリッジと共に存在する仮想ホットプラグコントローラと割り当てることによって、前記第1のポートと第2のポートとを接続する仮想スイッチを生成するステップと、
    を含むことを特徴とするPCIスイッチの管理方法。
  9. 請求項8に記載のPCIスイッチの管理方法において、
    前記電源制御部は、前記計算機の起動状態を監視し、
    前記スイッチ管理部は、前記電源制御部から前記起動を指令した計算機の起動状態を取得し、前記計算機の起動が完了したときに、前記計算機に対するI/Oデバイスの割り当てを前記PCIスイッチに通知するステップを実行し、前記起動が完了した計算機に対して前記I/OデバイスのHot−Plugを通知することを特徴とするPCIスイッチの管理方法。
  10. 請求項8に記載のPCIスイッチの管理方法において、
    前記PCIスイッチは、マルチルートスイッチで構成されて、
    前記PCIスイッチが、前記第1のポートの判定結果に基づいて、前記計算機からの前記第1のポートに対する構成認識を抑止するステップは、
    前記計算機に接続された前記第1のポートを不通に設定することで、前記計算機からの前記第1のポートに対する構成認識を抑止することを特徴とするPCIスイッチの管理方法。
  11. 請求項8に記載のPCIスイッチの管理方法において、
    前記PCIスイッチが、前記第2のポートに新たなI/Oデバイスが接続されたことを検知したときには、前記スイッチ管理部にHot−Plugを通知するステップと、
    前記スイッチ管理部が、前記Hot−Plugの通知を受信し、前記計算機に対してHot−Plugを通知するステップと、
    前記PCIスイッチが、前記I/Oデバイスと計算機を接続する仮想スイッチの生成を通知された場合、前記第1のポートと第2のポートとを接続する仮想スイッチを生成するステップと、をさらに含むことを特徴とするPCIスイッチの管理方法。
  12. 請求項8に記載のPCIスイッチの管理方法において、
    前記PCIスイッチは、前記スイッチ管理部からの指令に基づいて電源の投入または遮断を行うスイッチ電源制御部を有し、
    前記スイッチ管理部は、
    前記起動する計算機が接続された前記PCIスイッチの電源の状態が遮断の場合には、当該PCIスイッチのスイッチ電源制御部に対して電源投入を指令することを特徴とするPCIスイッチの管理方法。
  13. 請求項12に記載のPCIスイッチの管理方法において、
    前記スイッチ管理部は、前記電源投入を指令したPCIスイッチに対して前記計算機に対するI/Oデバイスの割り当てを前記PCIスイッチに通知し、前記計算機に対して前記I/OデバイスのHot−Plugを通知することを特徴とするPCIスイッチの管理方法。
  14. 請求項13に記載のPCIスイッチの管理方法において、
    前記スイッチ管理部は、前記I/Oデバイスの取り外しを受け付けたときには、当該I/Oデバイスと計算機を接続する仮想スイッチを削除する指令を前記PCIスイッチに発行し、前記PCIスイッチの仮想スイッチのうち、I/Oデバイスと接続する仮想スイッチが削除されたときは、前記PCIスイッチのスイッチ電源制御部に対して電源遮断を指令し、
    前記PCIスイッチは、前記I/Oデバイスの取り外し要求を送信した場合、仮想スイッチ管理表および仮想ブリッジ管理表が更新されることにより、前記仮想スイッチの構成を変更し、前記計算機起動後のスロットの動的な削除を可能とする機能を有することによって、前記I/Oデバイスが再度割り当てられた場合、削除された前記仮想スイッチの仮想ブリッジを含む他の仮想スイッチを生成し、かつ、当該仮想ブリッジと共に存在する仮想ホットプラグコントローラとを割り当てることによって、前記他の仮想スイッチを生成することを可能にする機能を有する仮想スイッチ生成部を備えることを特徴とするPCIスイッチの管理方法。
JP2009036962A 2009-02-19 2009-02-19 計算機システム、管理方法及び管理サーバ Expired - Fee Related JP5401679B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009036962A JP5401679B2 (ja) 2009-02-19 2009-02-19 計算機システム、管理方法及び管理サーバ
US12/709,405 US8533381B2 (en) 2009-02-19 2010-02-19 Computer system, method of managing PCI switch, and management server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009036962A JP5401679B2 (ja) 2009-02-19 2009-02-19 計算機システム、管理方法及び管理サーバ

Publications (2)

Publication Number Publication Date
JP2010191814A JP2010191814A (ja) 2010-09-02
JP5401679B2 true JP5401679B2 (ja) 2014-01-29

Family

ID=42560862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009036962A Expired - Fee Related JP5401679B2 (ja) 2009-02-19 2009-02-19 計算機システム、管理方法及び管理サーバ

Country Status (2)

Country Link
US (1) US8533381B2 (ja)
JP (1) JP5401679B2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5074457B2 (ja) * 2009-06-04 2012-11-14 株式会社日立製作所 計算機システム、スイッチ切り替え方法及びpciスイッチ
US8949499B2 (en) * 2010-06-24 2015-02-03 International Business Machines Corporation Using a PCI standard hot plug controller to modify the hierarchy of a distributed switch
US8990443B2 (en) 2010-12-14 2015-03-24 Hitachi, Ltd. Computer system and management server
US8321617B1 (en) * 2011-05-18 2012-11-27 Hitachi, Ltd. Method and apparatus of server I/O migration management
EP2720111B1 (en) 2011-06-08 2017-07-05 Nec Corporation Computer system, connection device, power supply control method, and power supply control program recording medium
WO2013030910A1 (ja) * 2011-08-26 2013-03-07 株式会社日立製作所 Mraスイッチ、それを用いた計算機システム、及びmraスイッチの設定変更方法
US8719480B2 (en) 2011-11-30 2014-05-06 International Business Machines Corporation Automated network configuration in a dynamic virtual environment
US20130339768A1 (en) * 2012-06-13 2013-12-19 Chiu-Ming LEE Ip power controller
US8843688B2 (en) * 2012-09-11 2014-09-23 International Business Machines Corporation Concurrent repair of PCIE switch units in a tightly-coupled, multi-switch, multi-adapter, multi-host distributed system
US9563256B2 (en) * 2013-01-04 2017-02-07 Intel Corporation Processor hiding its power-up latency with activation of a root port and quickly sending a downstream cycle
US9940291B2 (en) 2013-01-29 2018-04-10 Hewlett Packard Enterprise Development Lp Assigning processors to memory mapped configuration
US9569241B2 (en) * 2013-02-22 2017-02-14 Red Hat Israel, Ltd. Sharing devices assigned to virtual machines using runtime exclusion
JP6264155B2 (ja) * 2014-03-31 2018-01-24 富士通株式会社 情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム
US9858230B2 (en) * 2015-02-20 2018-01-02 Cisco Technology, Inc. Multi-host hot-plugging of multiple cards
EP3341837A4 (en) 2016-05-31 2019-05-22 Avago Technologies International Sales Pte. Limited IMPLEMENTATION OF HOT PLUG HARDWARE AND SOFTWARE
WO2018119710A1 (zh) * 2016-12-27 2018-07-05 深圳前海达闼云端智能科技有限公司 电源管理方法、装置、电子设备和计算机程序产品
US11356388B2 (en) 2017-08-18 2022-06-07 Missing Link Electronics, Inc. Real-time multi-protocol heterogeneous packet-based transport
WO2019036217A1 (en) 2017-08-18 2019-02-21 Missing Link Electronics, Inc. HETEROGENEOUS TRANSPORT BASED ON PACKETS
WO2019117863A1 (en) * 2017-12-12 2019-06-20 Hewlett-Packard Development Company, L.P. Configuration profile updates
CN108829448A (zh) * 2018-06-20 2018-11-16 郑州云海信息技术有限公司 N级pcie扩展箱的控制方法、系统及可读存储介质
CN110580195B (zh) * 2019-08-29 2023-11-07 上海仪电(集团)有限公司中央研究院 一种基于内存热插拔的内存分配方法和装置
US11275817B2 (en) * 2019-09-25 2022-03-15 Dell Products L.P. System lockdown and data protection
JP7435035B2 (ja) * 2020-03-03 2024-02-21 日本電気株式会社 PCIeデバイス、障害復旧方法、プログラム

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6338107B1 (en) * 1998-12-16 2002-01-08 International Business Machines Corporation Method and system for providing hot plug of adapter cards in an expanded slot environment
US6189058B1 (en) * 1999-02-12 2001-02-13 Compaq Computer Corporation Crossbar connect switch mechanism for hot plugability
EP1248179A1 (en) * 2001-04-03 2002-10-09 Hewlett-Packard Company Selective activation and deactivation of peripheral devices connected to a USB system
US6823418B2 (en) * 2001-06-29 2004-11-23 Intel Corporation Virtual PCI device apparatus and method
US6985490B2 (en) * 2001-07-11 2006-01-10 Sancastle Technologies, Ltd. Extension of fibre channel addressing
US7493438B2 (en) * 2001-10-03 2009-02-17 Intel Corporation Apparatus and method for enumeration of processors during hot-plug of a compute node
US7069477B2 (en) * 2002-10-30 2006-06-27 International Business Machines Corporation Methods and arrangements to enhance a bus
JP2004173136A (ja) * 2002-11-22 2004-06-17 Fujitsu Ltd ネットワーク管理装置
JP4256693B2 (ja) * 2003-02-18 2009-04-22 株式会社日立製作所 計算機システム、i/oデバイス及びi/oデバイスの仮想共有方法
US7827258B1 (en) * 2004-03-01 2010-11-02 American Megatrends, Inc. Method, system, and apparatus for communicating with a computer management device
US7058738B2 (en) * 2004-04-28 2006-06-06 Microsoft Corporation Configurable PCI express switch which allows multiple CPUs to be connected to multiple I/O devices
US7835380B1 (en) * 2004-10-19 2010-11-16 Broadcom Corporation Multi-port network interface device with shared processing resources
US20060130137A1 (en) * 2004-12-10 2006-06-15 Storage Technology Corporation Method for preventing data corruption due to improper storage controller connections
US7356636B2 (en) * 2005-04-22 2008-04-08 Sun Microsystems, Inc. Virtualized PCI switch
US8223745B2 (en) * 2005-04-22 2012-07-17 Oracle America, Inc. Adding packet routing information without ECRC recalculation
US7225287B2 (en) * 2005-06-01 2007-05-29 Microsoft Corporation Scalable DMA remapping on a computer bus
US7447934B2 (en) * 2005-06-27 2008-11-04 International Business Machines Corporation System and method for using hot plug configuration for PCI error recovery
US7966402B2 (en) * 2005-06-28 2011-06-21 Hewlett-Packard Development Company, L.P. Switch to selectively couple any of a plurality of video modules to any of a plurality of blades
US7424567B2 (en) * 2005-11-16 2008-09-09 Sun Microsystems, Inc. Method, system, and apparatus for a dynamic retry buffer that holds a packet for transmission
US7424565B2 (en) * 2005-11-16 2008-09-09 Sun Microsystems, Inc. Method and apparatus for providing efficient output buffering and bus speed matching
US7447822B2 (en) * 2005-12-12 2008-11-04 Inventec Corporation Hot-plug control system and method
US20070165596A1 (en) * 2006-01-18 2007-07-19 Boyd William T Creation and management of routing table for PCI bus address based routing with integrated DID
JP4810349B2 (ja) * 2006-08-11 2011-11-09 日本電気株式会社 I/o装置及び方法
US8085673B2 (en) * 2006-11-22 2011-12-27 Ixia Method and apparatus for generating bi-directional network traffic and collecting statistics on same
US7991839B2 (en) * 2006-12-19 2011-08-02 International Business Machines Corporation Communication between host systems using a socket connection and shared memories
US20080183968A1 (en) * 2007-01-30 2008-07-31 Chi-Ting Huang Computer system having cache system directly connected to nonvolatile storage device and method thereof
JP4839484B2 (ja) * 2007-04-06 2011-12-21 日本電気株式会社 バス接続デバイス、バス接続方法およびバス接続用プログラム
JP5080140B2 (ja) * 2007-06-13 2012-11-21 株式会社日立製作所 I/oデバイス切り替え方法
CN101488106A (zh) * 2008-01-18 2009-07-22 鸿富锦精密工业(深圳)有限公司 具有至少两个bios存储器的系统
JP5154238B2 (ja) * 2008-01-18 2013-02-27 株式会社日立製作所 複合型計算機システムの管理方法及び複合型計算機システム
JP5116497B2 (ja) * 2008-01-31 2013-01-09 株式会社日立製作所 情報処理システム、i/oスイッチ及びi/oパスの交替処理方法
WO2009108146A1 (en) * 2008-02-26 2009-09-03 Hewlett-Packard Development Company L.P. Method and apparatus for performing a host enumeration process
WO2009120187A2 (en) * 2008-03-25 2009-10-01 Hewlett-Packard Development Company, L.P. System and method for transforming pcie sr-iov functions to appear as legacy functions
US8838867B2 (en) * 2008-12-24 2014-09-16 Nuon, Inc. Software-based virtual PCI system
US20090292849A1 (en) * 2008-05-22 2009-11-26 Khoo Ken Adaptable pci express controller core
JP2009294828A (ja) * 2008-06-04 2009-12-17 Hitachi Ltd Pciスイッチ、仮想ツリー切り替え方法、及びpciスイッチシステム
JP5180729B2 (ja) 2008-08-05 2013-04-10 株式会社日立製作所 計算機システム及びバス割当方法
JP5272265B2 (ja) * 2008-09-29 2013-08-28 株式会社日立製作所 Pciデバイス共有方法
US8719483B2 (en) * 2008-10-15 2014-05-06 Nec Corporation Multi-root PCI express switch, boot method thereof, and multi-root PCI manager program
US7904633B2 (en) * 2008-10-28 2011-03-08 Hewlett-Packard Development Company, L.P. Switch providing external access to computer-system components and computer-system peripherals
JP5332000B2 (ja) * 2008-12-17 2013-10-30 株式会社日立製作所 複合型計算機装置、複合型計算機の管理方法及び管理サーバ
JP5218252B2 (ja) * 2009-04-24 2013-06-26 富士通株式会社 バススイッチ,コンピュータシステム及びコンピュータシステムの管理方法
JP2011171951A (ja) * 2010-02-18 2011-09-01 Hitachi Ltd 情報処理システムおよび計算機への物理位置情報割り当て方法
JP5742387B2 (ja) * 2011-03-31 2015-07-01 富士通株式会社 情報処理システム、及びi/oスイッチ装置

Also Published As

Publication number Publication date
US8533381B2 (en) 2013-09-10
JP2010191814A (ja) 2010-09-02
US20100211717A1 (en) 2010-08-19

Similar Documents

Publication Publication Date Title
JP5401679B2 (ja) 計算機システム、管理方法及び管理サーバ
US8359415B2 (en) Multi-root I/O virtualization using separate management facilities of multiple logical partitions
JP5154238B2 (ja) 複合型計算機システムの管理方法及び複合型計算機システム
US8346997B2 (en) Use of peripheral component interconnect input/output virtualization devices to create redundant configurations
JP5598148B2 (ja) スイッチング装置、情報処理装置、及びスイッチング装置の制御方法
JP5305866B2 (ja) データ処理システム内で入出力(i/o)仮想化を管理するための方法およびコンピュータ・プログラムならびにデータ処理システム
US8225005B2 (en) Use of peripheral component interconnect input/output virtualization devices to create high-speed, low-latency interconnect
US10333865B2 (en) Transformation of peripheral component interconnect express compliant virtual devices in a network environment
JP5305848B2 (ja) データ処理システム内で入出力(i/o)仮想化を管理するための方法およびデータ処理システムならびにコンピュータ・プログラム
EP1686473B1 (en) Computer system, computer, storage system, and control terminal
JP5074457B2 (ja) 計算機システム、スイッチ切り替え方法及びpciスイッチ
JP5332000B2 (ja) 複合型計算機装置、複合型計算機の管理方法及び管理サーバ
US8141093B2 (en) Management of an IOV adapter through a virtual intermediary in an IOV management partition
JP4295184B2 (ja) 仮想計算機システム
CN108139924B (zh) 热插拔硬件及软件实施方案
JP5733628B2 (ja) 仮想計算機を制御する計算機装置及び仮想計算機の制御方法
JP2011517497A (ja) Pcieのsr−iov機能をレガシー機能として現出するように変換するシステム及び方法
US20130160001A1 (en) Managing configuration and system operations of a non-shared virtualized input/output adapter as virtual peripheral component interconnect root to single function hierarchies
US9361255B2 (en) Method for controlling I/O switch, method for controlling virtual computer, and computer system
US20140282584A1 (en) Allocating Accelerators to Threads in a High Performance Computing System
US8793481B2 (en) Managing hardware resources for soft partitioning
JP2007272275A (ja) コンピュータシステム、並列初期化方法、及びブートプログラム
Tu et al. Seamless fail-over for PCIe switched networks
US11422824B2 (en) Computer activation method
EP2693718B1 (en) Information processing system, collecting program, and collecting method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111026

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120925

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130628

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131001

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131004

LAPS Cancellation because of no payment of annual fees