JP2020160919A - カード、システム、カードによる制御方法、システムによる制御方法及びプログラム - Google Patents

カード、システム、カードによる制御方法、システムによる制御方法及びプログラム Download PDF

Info

Publication number
JP2020160919A
JP2020160919A JP2019061030A JP2019061030A JP2020160919A JP 2020160919 A JP2020160919 A JP 2020160919A JP 2019061030 A JP2019061030 A JP 2019061030A JP 2019061030 A JP2019061030 A JP 2019061030A JP 2020160919 A JP2020160919 A JP 2020160919A
Authority
JP
Japan
Prior art keywords
pcie bus
pcie
multiplexer
control signal
bus
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
JP2019061030A
Other languages
English (en)
Other versions
JP6996757B2 (ja
Inventor
貴文 渡邉
Takafumi Watanabe
貴文 渡邉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC Platforms 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 NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2019061030A priority Critical patent/JP6996757B2/ja
Publication of JP2020160919A publication Critical patent/JP2020160919A/ja
Application granted granted Critical
Publication of JP6996757B2 publication Critical patent/JP6996757B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

【課題】PCIeバスで障害が発生した場合であっても、冗長性を確保しつつ、動作を継続することのできるNICを提供する。【解決手段】カードは、制御信号に基づいて、複数のPCIeバスのうちの1つを選択して切り替え可能なマルチプレクサであって、前記マルチプレクサが選択しているPCIeバスに不具合が発生している場合に、前記マルチプレクサが選択しているPCIeバスとは別のPCIeバスを選択させる制御信号に基づいて、前記PCIeバスを選択して切り替える前記マルチプレクサと、前記選択され切り替えられた前記PCIeバスを介して送信されるドライバに応じて動作するEthernetコントローラと、を備える。【選択図】図5

Description

本発明は、カード、システム、カードによる制御方法、システムによる制御方法及びプログラムに関する。
通信機器では、PCIe(Peripheral Component Interconnect Express)(登録商標)カード上に複数のEthernet(登録商標)ポートを備えたマルチポートNIC(Network Interface Card)が使用されている場合がある。
特許文献1には、関連する技術として、ストレージコントローラ内のコンポーネントがPCIeで接続された内部ネットワークを持つストレージ装置に関する技術が開示されている。
特開2010−108211号公報
ところで、複数のEthernetポートを備えた関連するNICでは、1つのPCIeバスに1つのEthernetコントローラが接続され、複数のポートを制御している。このため、PCIeバスやEthernetコントローラで不具合が発生した場合、すべてのポートが使用できなくなってしまう可能性がある。
本発明の各態様は、上記の課題を解決することのできるカード、システム、カードによる制御方法、システムによる制御方法及びプログラムを提供することを目的としている。
上記目的を達成するために、本発明の一態様によれば、カードは、制御信号に基づいて、複数のPCIeバスのうちの1つを選択して切り替え可能なマルチプレクサであって、前記マルチプレクサが選択しているPCIeバスに不具合が発生している場合に、前記マルチプレクサが選択しているPCIeバスとは別のPCIeバスを選択させる制御信号に基づいて、前記PCIeバスを選択して切り替える前記マルチプレクサと、前記選択され切り替えられた前記PCIeバスを介して送信される制御信号に応じて動作するEthernetコントローラと、を備える。
上記目的を達成するために、本発明の別の態様によれば、システムは、上記のカードと、前記マルチプレクサが選択しているPCIeバスに不具合が発生しているか否かを判定する判定部と、前記マルチプレクサが選択しているPCIeバスに不具合が発生していると前記判定部が判定した場合に、前記マルチプレクサが選択しているPCIeバスとは別のPCIeバスを選択させる制御信号を、前記マルチプレクサに送信する送信部と、を備え、前記別のPCIeバスを選択させる制御信号を、前記送信部が前記マルチプレクサに送信した場合に、前記マルチプレクサは、前記別のPCIeバスを選択させる制御信号に基づいて、前記PCIeバスを選択して切り替える。
上記目的を達成するために、本発明の別の態様によれば、カードによる制御方法は、制御信号に基づいて、複数のPCIeバスのうちの1つを選択して切り替え可能なマルチプレクサと、前記選択され切り替えられた前記PCIeバスを介して送信される制御信号に応じて動作するEthernetコントローラと、を備えるカードによる制御方法であって、前記マルチプレクサが選択しているPCIeバスに不具合が発生している場合に、前記マルチプレクサが選択しているPCIeバスとは別のPCIeバスを選択させる制御信号に基づいて、前記PCIeバスを選択して切り替えること、前記選択され切り替えられた前記PCIeバスを介して送信される制御信号に応じて動作することと、を含む。
上記目的を達成するために、本発明の別の態様によれば、システムによる制御方法は、制御信号に基づいて、複数のPCIeバスのうちの1つを選択して切り替え可能なマルチプレクサと、前記マルチプレクサに接続されるEthernetコントローラと、判定部と、送信部と、を備えるシステムによる制御方法であって、前記マルチプレクサが選択しているPCIeバスに不具合が発生しているか否かを判定することと、前記マルチプレクサが選択しているPCIeバスに不具合が発生していると判定した場合に、前記マルチプレクサが選択しているPCIeバスとは別のPCIeバスを選択させる制御信号を、前記マルチプレクサに送信することと、前記別のPCIeバスを選択させる制御信号を、前記送信部が前記マルチプレクサに送信した場合に、前記別のPCIeバスを選択させる制御信号に基づいて、前記PCIeバスを選択して切り替えることと、を含む。
上記目的を達成するために、本発明の一態様によれば、プログラムは、制御信号に基づいて、複数のPCIeバスのうちの1つを選択して切り替え可能なマルチプレクサと、前記選択され切り替えられた前記PCIeバスを介して送信される制御信号に応じて動作するEthernetコントローラと、を備えるカードのコンピュータに、前記マルチプレクサが選択しているPCIeバスに不具合が発生している場合に、前記マルチプレクサが選択しているPCIeバスとは別のPCIeバスを選択させる制御信号に基づいて、前記PCIeバスを選択して切り替えること、前記選択され切り替えられた前記PCIeバスを介して送信される制御信号に応じて動作させることと、を実行させる。
本発明の各態様によれば、PCIeバスで障害が発生した場合であっても、動作を継続することができる。
本発明の一実施形態によるシステムの構成を示す図である。 少なくとも1つの実施形態に係るマルチプレクサの動作を説明するための図である。 本発明の一実施形態によるシステムの具体例を示す図である。 本発明の一実施形態によるシステムの処理フローを示す図である。 本発明の実施形態による最小構成のNICを示す図である。 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
以下、図面を参照しながら実施形態について詳しく説明する。
<実施形態>
本発明の一実施形態によるシステム1は、Network Interface Card(以下、「NIC」と記載、カードの一例)1000、Peripheral Component Interconnect Expressルートコンプレックス(以下、「PCIeルートコンプレックス」と記載)2000、Platform Controller Hub(以下、「PCH」と記載)3000、CPU4000を備える。
NIC1000は、図1に示すように、Peripheral Component Interconnect Expressスロット(以下、「PCIeスロット」と記載)1011、1012、Peripheral Component Interconnect Expressスイッチ(以下、「PCIeスイッチ」と記載、中継器の一例)1021、1022、RJ−45コネクタ(Ethernetポートの一例)1051、1052、1053、1054、1055、1056、1057、1058、Ethernetコントローラ1041、1042、1043、1044、1045、1046、1047、1048、マルチプレクサ1031、1032、1033、1034、1035、1036、1037、1038、Peripheral Component Interconnect Expressバス(以下、「PCIeバス」と記載)1101、1102、1111、1112、1113、2011、2012、System Managementバス(以下、「SMバス」と記載)1201、3011、電源1401、1402、OR回路1061、1064、DDコンバータ1062、1063を備える。
PCIeルートコンプレックス2000は、PCIeバスを介して接続される装置とPCIeバス以外の配線で接続される装置とを接続する。また、PCIeルートコンプレックス2000は、PCIeバスを介して接続される装置どうしを接続する。
PCH3000は、周辺機器の処理を行うチップセットである。
CPU4000は、PCIeルートコンプレックス2000及びPCH3000を介して、NIC1000を制御する。CPU4000は、Operating System(以下、「OS」と記載)上で、プログラム(ドライバを含む)が実行されることで、切り替え制御部4001(判定部の一例、送信部の一例)を実現する。切り替え制御部4001は、Ethernetコントローラ1041〜1048のそれぞれと通信を行い、OS上のEthernetコントローラデバイスドライバ4002を用いてEthernetコントローラ1041〜1048のそれぞれを制御する。このとき、Ethernetコントローラデバイスドライバ4002は、切り替え制御部4001を介してPCIeルートコンプレックス2000に通信データを渡し、Ethernetコントローラ1041〜1048と通信を行う。
PCIeスイッチ1021とマルチプレクサ1031、1032、1033、1034、1035、1036、1037、1038のそれぞれとを接続する8つのバスを総称してPCIeバス1111と呼ぶ。
PCIeスイッチ1022とマルチプレクサ1031、1032、1033、1034、1035、1036、1037、1038のそれぞれとを接続する8つのバスを総称してPCIeバス1112と呼ぶ。
マルチプレクサ1031とEthernetコントローラ1041、マルチプレクサ1032とEthernetコントローラ1042、マルチプレクサ1033とEthernetコントローラ1043、マルチプレクサ1034とEthernetコントローラ1044、マルチプレクサ1035とEthernetコントローラ1045、マルチプレクサ1036とEthernetコントローラ1046、マルチプレクサ1037とEthernetコントローラ1047、マルチプレクサ1038とEthernetコントローラ1048を接続する8つのバスを総称してPCIeバス1113と呼ぶ。
PCIeスイッチ1021、1022のそれぞれは、1つのPCIeバスを複数のPCIeバスに分岐する。図1に示すシステム1では、PCIeスイッチ1021は、PCIeバス1101をPCIeバス1111の8つのバスに分岐している。すなわち、PCIeスイッチ1021は、PCIeバス1101とPCIeバス1111の8つのバスとを接続している。また、図1に示すシステム1では、PCIeスイッチ1022は、PCIeバス1102をPCIeバス1112の8つのバスに分岐している。すなわち、PCIeスイッチ1022は、PCIeバス1102とPCIeバス1112の8つのバスとを接続している。
Ethernetコントローラ1041は、CPU4000を、RJ−45コネクタ1051を介してネットワーク(例えば、LAN(Local Area Network)など)に接続するための制御器である。Ethernetコントローラ1041は、マルチプレクサ1031と、PCIeバス1111およびPCIeバス1112を介してCPU4000に接続されている。
Ethernetコントローラ1042は、CPU4000を、RJ−45コネクタ1052を介してネットワークに接続するための制御器である。Ethernetコントローラ1042は、マルチプレクサ1032と、PCIeバス1111およびPCIeバス1112を介してCPU4000に接続されている。
Ethernetコントローラ1043は、CPU4000を、RJ−45コネクタ1053を介してネットワークに接続するための制御器である。Ethernetコントローラ1043は、マルチプレクサ1033と、PCIeバス1111およびPCIeバス1112を介してCPU4000に接続されている。
Ethernetコントローラ1044は、CPU4000を、RJ−45コネクタ1054を介してネットワークに接続するための制御器である。Ethernetコントローラ1044は、マルチプレクサ1034と、PCIeバス1111およびPCIeバス1112を介してCPU4000に接続されている。
Ethernetコントローラ1045は、CPU4000を、RJ−45コネクタ1055を介してネットワークに接続するための制御器である。Ethernetコントローラ1045は、マルチプレクサ1035と、PCIeバス1111およびPCIeバス1112を介してCPU4000に接続されている。
Ethernetコントローラ1046は、CPU4000を、RJ−45コネクタ1056を介してネットワークに接続するための制御器である。Ethernetコントローラ1046は、マルチプレクサ1036と、PCIeバス1111およびPCIeバス1112を介してCPU4000に接続されている。
Ethernetコントローラ1047は、CPU4000を、RJ−45コネクタ1057を介してネットワークに接続するための制御器である。Ethernetコントローラ1047は、マルチプレクサ1037と、PCIeバス1111およびPCIeバス1112を介してCPU4000に接続されている。
Ethernetコントローラ1048は、CPU4000を、RJ−45コネクタ1058を介してネットワークに接続するための制御器である。Ethernetコントローラ1048は、マルチプレクサ1038と、PCIeバス1111およびPCIeバス1112を介してCPU4000に接続されている。
マルチプレクサ1031、1032、1033、1034、1035、1036、1037、1038のそれぞれは、図2に示すように、SMバス1201を経由して受け取った制御信号に応じて、PCIeバス1113を、PCIeバス1111またはPCIeバス1112に接続させるように構成されている。制御信号は、PCIeスロット1011及び1012に接続されているSMバス1201を介して、切り替え制御部4001から制御信号をマルチプレクサ1031、1032、1033、1034、1035、1036、1037、1038のそれぞれに供給される。
電源1401、1402のそれぞれは、OR回路1061を介して、二重化されたDDコンバータ1062、1063へ接続されている。また、DDコンバータ1062、1063は、OR回路1064を介して、各デバイスへ接続されている。OR回路1061、1064のそれぞれは、もっとも単純な例では2個のダイオードだけで構成され、十分にシンプルな仕組みである。そのため、OR回路1061、1064のそれぞれは、一般的に冗長化されていなくとも十分な信頼性を確保できるものとみなすことができる。
PCIeバス2011とPCIeバス1101は、PCIeスロット1011で接続されている。PCIeバス2011とPCIeバス1101は、同じものである。また、PCIeバス2012とPCIeバス1102は、PCIeスロット1012で接続されている。PCIeバス2012とPCIeバス1102は、同じものである。
SMバス3011とSMバス1201は、PCIeスロット1011で接続されている。SMバス3011とSMバス1201は、同じものである。
PCH3000とマルチプレクサ1031〜1038は、PCIeスロット1011)を経由するパスと、PCIeスロット1012を経由するパスの、2系統で接続されている。仮に片方のPCIeスロットで障害が発生した場合であっても、もう片方のPCIeスロットでSMバスが接続されているため、PCH3000とマルチプレクサ1031〜1038は、通信を継続することができる。
切り替え制御部4001は、PCH3000を介して、PCIeスロット1011及び1012を制御することによって、PCIeスイッチ1021と接続されているPCIeバス1101、または、PCIeスイッチ1022と接続されているPCIeバス1102を選択可能となっている。
例えば、切り替え制御部4001は、Ethernetコントローラ1041〜1048がどのPCIeバスに接続されているかを把握しており、Ethernetコントローラデバイスドライバ4002からの通信をどのPCIeバスを介して行うべきかを判断し、実際にPCIeバスを介して通信を行うようにPCIeルートコンプレックス2000に対して指示を出している。
具体的には、次に示すように、選択可能となっている。切り替え制御部4001は、Ethernetコントローラデバイスドライバ4002がEthernetコントローラ1041〜1048に対して行う通信を、PCIeルートコンプレックス2000に対して中継している。この時、PCIeルートコンプレックス2000に対して2系統のPCIeバス(PCIeバス1101とPCIeバス2011とを含む系統、および、PCIeバス1102とPCIeバス2012とを含む系統)のどちらを介して通信を行うかを指示(制御)しており、PCIeルートコンプレックス2000を通してEthernetコントローラ1041〜1048への通信を任意のPCIeバスを介して行うことができるようになっている。また、切り替え制御部4001は、PCH3000を経由してSMバス3011、3012を使用することで、マルチプレクサ1031〜1038と通信を実行することができる。
切り替え制御部4001による制御によって選択されたPCIeスイッチ1021と接続されているPCIeバス1101、または、PCIeスイッチ1022と接続されているPCIeバス1102を介して、切り替え制御部4001と、Ethernetコントローラ1041、1042、1043、1044、1045、1046、1047、1048のそれぞれとが接続される。切り替え制御部4001は、PCIeスイッチ1021と接続されているPCIeバス1101、または、PCIeスイッチ1022と接続されているPCIeバス1102を介して、Ethernetコントローラ1041、1042、1043、1044、1045、1046、1047、1048のそれぞれを、Ethernetコントローラデバイスドライバを用いて動作させる。
PCIeスロット1011は、PCIe以外の信号(一般的に、「Side Band信号」と呼ばれる。以下、「Side Band信号」と記載)を伝送するSMバス3011と電源1401とを接続する。
PCIeスロット1012は、Side Band信号を伝送するSMバス3011と電源1402とを接続する。
(具体例1)
図3は、本発明の一実施形態によるNIC1000を、Peripheral Component Interconnect Expressカード(以下、「PCIeカード」と記載)上で実現する場合の具体的なシステム1の構成を示す図である。なお、図3では、図1に示したシステム1と構成の異なる箇所のみを示している。
図1に示したシステム1では説明の都合上、1枚のNIC1000上に8つのRJ−45コネクタ1051、1052、1053、1054、1055、1056、1057、1058を備える構成を示した。しかしながら、図3に示す具体例によるシステム1では、NIC1000aにRJ−45コネクタ1051、1052、1053、1054が搭載され、NIC1000bにRJ−45コネクタ1055、1056、1057、1058が搭載されている。
図3に示す具体例によるシステム1における2枚のNIC1000aと1000bは、上下に重ねて固定した状態で使用される。NIC1000aと1000bとの間のバス(図3におけるA、B、C)は、ケーブルや連結ピンを使用して接続される。すなわち、NIC1000aにおけるAとNIC1000bにおけるAどうし、NIC1000aにおけるBとNIC1000bにおけるBどうし、NIC1000aにおけるCとNIC1000bにおけるCどうしが、ケーブルや連結ピンを介して接続される。また、電源からの電力を供給する配線は、ケーブルや連結ピンを使用して接続される。すなわち、NIC1000aにおけるDとNIC1000bにおけるDどうし、NIC1000aにおけるEとNIC1000bにおけるEどうし、NIC1000aにおけるFとNIC1000bにおけるFどうし、NIC1000aにおけるGとNIC1000bにおけるGどうしが、ケーブルや連結ピンを介して接続される。
なお、図1に示したシステム1では、OR回路1061、1064の2つのみが搭載されている。しかしながら、図3に示す具体例によるシステム1では、2枚のNIC1000a、1000bに分割させた都合上、NIC1000aにはOR回路1061a、1064aの2つが搭載され、NIC1000bにはOR回路1061b、1064bの2つが搭載されている。図3に示す具体例によるシステム1のそれ以外の構成は、図1に示したシステム1の構成と同じである。
次に、図3に示した具体例によるシステム1の動作について説明する。ここでは、図4に示す処理フローについて説明する。なお、図3に示した具体例によるシステム1の動作を簡潔に説明するために、Ethernetコントローラ1041、1042、1043、1044、1045、1046、1047、1048それぞれは、同様に動作を考えることができるため、ここでは、Ethernetコントローラ1041についてのみ動作を説明する。
PCIeスロット1011は、PCIeバス1101を介してPCIeスイッチ1021に接続されている。また、PCIeスロット1012は、PCIeバス1102を介してPCIeスイッチ1022に接続されている。
PCIeスイッチ1021は、PCIeバス1111及びマルチプレクサ1031を介してEthernetコントローラ1041に接続されている。また、PCIeスイッチ1022は、PCIeバス1112及びマルチプレクサ1031を介してEthernetコントローラ1041に接続されている。
PCIeスロット1011、1012は、コネクタであり、PCIe信号を伝送するバス、Side Band信号を伝送するバス、電源が接続されている。
Ethernetコントローラ1041は、切り替え制御部4001からの制御信号に従って動作するマルチプレクサ1031によって、PCIeバス1111及び1112のいずれかに接続される。
切り替え制御部4001は、Ethernetコントローラ1041がPCIeバス1111及び1112のどちらに接続された場合でも、PCIeバス1111に接続されている場合と同様に、Ethernetコントローラデバイスドライバを用いて、Ethernetコントローラ1041を動作させる。
通常の状態では、切り替え制御部4001は、マルチプレクサ1031に、PCIeスイッチ1021側、すなわち、PCIeバス1111を選択する制御信号をSMバス1201経由で送信している。また、Ethernetコントローラ1041は、PCIeバス1111に接続されている。また、切り替え制御部4001は、Ethernetコントローラデバイスドライバ4002からEthernetコントローラ1041への通信を、PCIeバス2011を介して行うように制御を行う。具体的には、切り替え制御部4001は、Ethernetコントローラ1041宛のデータをPCIeルートコンプレックス2000に渡す時に、そのデータをPCIeバス2011に流すよう指定する。この状態では、Ethernetコントローラデバイスドライバ4002、切り替え制御部4001、PCIeルートコンプレックス2000、PCIeバス2011、PCIeスロット1011、PCIeバス1101、PCIeスイッチ1021、PCIeバス1111、マルチプレクサ1031、PCIeバス1113、Ethernetコントローラ1041のパスの順番で通信が行われる。
この状態でPCIeスロット1011またはPCIeスイッチ1021で不具合が発生した場合を考える。
切り替え制御部4001は、Ethernetコントローラ1041が実際に接続されているPCIeバスに関わらず、Ethernetコントローラ1041がPCIeバス1111に接続されているものとして、Ethernetコントローラデバイスドライバを用いてEthernetコントローラ1041を動作させる処理を行っている。
PCIeスロット1011またはPCIeスイッチ1021で不具合が発生した場合、CPU4000とEthernetコントローラ1041の間で正しく通信を行えなくなることから、切り替え制御部4001あるいはEthernetコントローラデバイスドライバ4002が異常を検出する(すなわち、不具合が発生したと判定する)。
例えば、切り替え制御部4001は、PCIeバス1111の不具合を検出する(ステップS1)。
なお、異常を検出する箇所は、異常の内容によって、切り替え制御部4001のこともあれば、Ethernetコントローラデバイスドライバ4002のこともある。仮にEthernetコントローラデバイスドライバ4002が異常を検出した場合は、Ethernetコントローラデバイスドライバ4002は、切り替え制御部4001に対して異常を検出したことを通知する。そして、切り替え制御部4001は、上述のステップS1及びステップS2の処理を行い、現在のPCIeバスと別のPCIeバスに切り替える制御信号を、SMバス3011を介してマルチプレクサ1031に送信すればよい。
切り替え制御部4001は、異常を自身で検出すると、または、Ethernetコントローラデバイスドライバ4002から異常を検出したことを通知されると、Ethernetコントローラ1041をホットプラグで切断する(ステップS2)。
切り替え制御部4001は、マルチプレクサ1031に対して、切り替え指示する制御信号を、PCH3000、SMBus3011、SMBus1201を経由して送信する。
マルチプレクサ1031は、切り替え制御部4001からの制御信号を受けて、PCIeバス1112を選択し(すなわち、PCIeバスを切り替えて)(ステップS3)、Ethernetコントローラ1041の接続先をPCIeスイッチ1021からPCIeスイッチ1022に切り替える。その結果、Ethernetコントローラ1041は、PCIeバス1111に接続されていたマルチプレクサ1031をPCIeバス1112に接続させる。
切り替え制御部4001は、PCIeバス1112に新しいデバイスが接続されたことを公知技術を用いて検出すると(例えば、配線が接続されその配線を介して電気信号が流れることによってデバイスが接続されたことを検出すると)、そのデバイスのユニークIDentification(以下、「ユニークID」と記載)を確認する(ステップS4)。このユニークIDは、デバイスに設定されたシリアル番号やUniversally Unique Identifier(UUID)等でもよいし、Ethernetコントローラの場合はMACアドレスでもよい。切り替え処理前に確認していたEthernetコントローラ1041と同じユニークIDが確認された場合、切り替え制御部4001は、このデバイスをEthernetコントローラ1041と判断し、それ以降、PCIeバス1112を介してEthernetコントローラデバイスドライバを用いてEthernetコントローラ1041を動作させる(ステップS5)。
これ以降、切り替え制御部4001は、Ethernetコントローラ1041へ送信するデータをPCIeルートコンプレックス2000へ渡す時には、そのデータをPCIeバス2012を介して送信するよう指定する。この結果、Ethernetコントローラ1041への通信は、Ethernetコントローラデバイスドライバ4002、切り替え制御部4001、PCIeルートコンプレックス2000、PCIeバス2012、PCIeスロット1012、PCIeバス1102、PCIeスイッチ1022、PCIeバス1112、マルチプレクサ1031、PCIeバス1113、Ethernetコントローラ1041というパスの順番で行われる。
切り替え制御部4001は、このような制御を行うため、切り替え制御部4001がPCIeバス1111からPCIeバス1112に切り替えた後でも、Ethernetコントローラデバイスドライバを用いて、PCIeバス1111が正常であった時と同様にEthernetコントローラ1041を継続して動作させることができる。
なお、図3に示すシステム1において、仮にマルチプレクサ1031やEthernetコントローラ1041で不具合が発生した場合には、通信を継続することができない。しかしながら、Ethernetコントローラ1041以外のEthernetコントローラ1042、1043、1044、1045、1046、1047、1048のそれぞれを経由して行われる通信には影響を与えない。そのため、図3に示すシステム1は、不具合発生時の影響範囲を最低限に留めることができる構成となっている。
以上、本発明の一実施形態によるシステム1について説明した。システム1のNIC1000において、マルチプレクサ1031は、制御信号に基づいて、複数のPCIeバスのうちの1つを選択して切り替え可能なマルチプレクサである。マルチプレクサ1031は、選択しているPCIeバスに不具合が発生している場合に、選択しているPCIeバスとは別のPCIeバスを選択させる制御信号に基づいて、PCIeバスを選択して切り替える。Ethernetコントローラ1041は、前記選択され切り替えられた前記PCIeバスを介して送信される制御信号に応じて動作する。
このように、NIC1000を構成することで、PCIeバスの冗長性を確保し、仮に1系統のPCIeバスで不具合が発生しても残りの系統のPCIeバスでEthernetコントローラを動作させることができる。
また、NIC1000において、PCIeバスの冗長性を確保できない部分についても、不具合の影響を受ける範囲を1ポートに留められるようになっており、1つの不具合で複数ポートが使用不能に陥ることを防ぐことができる。切り替え制御部4001は、ユニークIDを確認することでPCIeバスが切り替わった場合であっても、PCIeバスの切り替えを意識することなく、Ethernetコントローラを動作させることができる。
本発明の実施形態による最小構成のNIC1000について説明する。
本発明の実施形態による最小構成のNIC1000は、図5に示すように、マルチプレクサ1031、Ethernetコントローラ1041を備える。
マルチプレクサ1031は、制御信号に基づいて、複数のPCIeバスのうちの1つを選択して切り替え可能なマルチプレクサである。マルチプレクサ1031は、選択しているPCIeバスに不具合が発生している場合に、選択しているPCIeバスとは別のPCIeバスを選択させる制御信号に基づいて、PCIeバスを選択して切り替える。
Ethernetコントローラ1041は、前記選択され切り替えられた前記PCIeバスを介して送信される制御信号に応じて動作する。
なお、本発明の一実施形態では、RJ−45コネクタを例に説明したが、RJ−45コネクタに限定するものではない。本発明の別の実施形態では、RJ−45コネクタの代わりに別のコネクタを用いるものであってもよい。また、本発明の別の実施形態では、NIC1000に光信号と電気信号とを変換する変換器を接続し、NIC1000から光ケーブルを介して、外部装置に光信号が伝送されるものであってもよい。
なお、本発明の一実施形態では、Ethernet規格を例に説明したが、Ethernet規格に限定するものではない。本発明の別の実施形態では、Ethernetインターフェース以外のインターフェースであってもよい。
なお、本発明の一実施形態では、PCH3000がSMバスを制御しているものとして説明した。しかしながら、本発明の別の実施形態では、PCH3000以外の装置がSMバスを制御してもよい。
なお、本発明の一実施形態では、ポート数を8ポートとして説明した。しかしながら、本発明の別の実施形態では、ポート数は8つ以外であってもよい。
なお、本発明の一実施形態では、PCIeスロットを2つ備え、PCIeバスが二重化されているものとして説明した。しかしながら、本発明の別の実施形態では、複数のPCIeスロットを備え、PCIeバスが多重化されているもの、例えば、3つのPCIeスロットを備え、PCIeバスが三重化されているもの、であってもよい。
なお、本発明の実施形態における処理は、適切な処理が行われる範囲において、処理の順番が入れ替わってもよい。
本発明の実施形態における記憶装置、その他の記憶装置のそれぞれは、適切な情報の送受信が行われる範囲においてどこに備えられていてもよい。また、本発明の実施形態における記憶装置、その他の記憶装置のそれぞれは、適切な情報の送受信が行われる範囲において複数存在しデータを分散して記憶していてもよい。
本発明の実施形態について説明したが、上述のシステム1、NIC1000、その他の制御装置は内部に、コンピュータシステムを有していてもよい。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。コンピュータの具体例を以下に示す。
図6は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ5は、図6に示すように、CPU6、メインメモリ7、ストレージ8、インターフェース9を備える。
例えば、上述のシステム1、NIC1000、その他の制御装置のそれぞれは、コンピュータ5に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ8に記憶されている。CPU6は、プログラムをストレージ8から読み出してメインメモリ7に展開し、当該プログラムに従って上記処理を実行する。また、CPU6は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ7に確保する。
ストレージ8の例としては、HDD(Hard Disk Drive)、SSD(Solid State Drive)、磁気ディスク、光磁気ディスク、CD−ROM(Compact Disc Read Only Memory)、DVD−ROM(Digital Versatile Disc Read Only Memory)、半導体メモリ等が挙げられる。ストレージ8は、コンピュータ5のバスに直接接続された内部メディアであってもよいし、インターフェース9または通信回線を介してコンピュータ5に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ5に配信される場合、配信を受けたコンピュータ5が当該プログラムをメインメモリ7に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ8は、一時的でない有形の記憶媒体である。
また、上記プログラムは、前述した機能の一部を実現してもよい。さらに、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるファイル、いわゆる差分ファイル(差分プログラム)であってもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例であり、発明の範囲を限定しない。これらの実施形態は、発明の要旨を逸脱しない範囲で、種々の追加、省略、置き換え、変更を行ってよい。
1・・・システム
5・・・コンピュータ
6、4000・・・CPU
7・・・メインメモリ
8・・・ストレージ
9・・・インターフェース
1000・・・Network Interface Card(NIC)
1011、1012・・・Peripheral Component Interconnect Expressスロット(PCIeスロット)
1021、1022・・・Peripheral Component Interconnect Expressスイッチ(PCIeスイッチ)
1031、1032、1033、1034、1035、1036、1037、1038・・・マルチプレクサ
1041、1042、1043、1044、1045、1046、1047、1048・・・Ethernetコントローラ
1051、1052、1053、1054、1055、1056、1057、1058・・・RJ−45コネクタ
1061、1064・・・OR回路
1062、1063・・・DDコンバータ
1101、1102、1111、1112、1113、2011、2012・・・Peripheral Component Interconnect Expressバス(PCIeバス)
1201、3011・・・System Managementバス(SMバス)
1401、1402・・・電源

2000・・・Peripheral Component Interconnect Expressルートコンプレックス(PCIeルートコンプレックス
3000・・・Platform Controller Hub(PCH)

Claims (6)

  1. 制御信号に基づいて、複数のPCIeバスのうちの1つを選択して切り替え可能なマルチプレクサであって、前記マルチプレクサが選択しているPCIeバスに不具合が発生している場合に、前記マルチプレクサが選択しているPCIeバスとは別のPCIeバスを選択させる制御信号に基づいて、前記PCIeバスを選択して切り替える前記マルチプレクサと、
    前記選択され切り替えられた前記PCIeバスを介して送信される制御信号に応じて動作するEthernetコントローラと、
    を備える、
    カード。
  2. 前記複数のPCIeバスそれぞれに接続される複数の中継器を備え、
    前記マルチプレクサは、
    前記複数の中継器のうちの1つを介して、前記別のPCIeバスを選択させる制御信号に基づいて、前記PCIeバスを選択して切り替える、
    請求項1に記載のカード。
  3. 請求項1または請求項2に記載のカードと、
    前記マルチプレクサが選択しているPCIeバスに不具合が発生しているか否かを判定する判定部と、
    前記マルチプレクサが選択しているPCIeバスに不具合が発生していると前記判定部が判定した場合に、前記マルチプレクサが選択しているPCIeバスとは別のPCIeバスを選択させる制御信号を、前記マルチプレクサに送信する送信部と、
    を備え、
    前記別のPCIeバスを選択させる制御信号を、前記送信部が前記マルチプレクサに送信した場合に、前記マルチプレクサは、前記別のPCIeバスを選択させる制御信号に基づいて、前記PCIeバスを選択して切り替える、
    システム。
  4. 制御信号に基づいて、複数のPCIeバスのうちの1つを選択して切り替え可能なマルチプレクサと、前記選択され切り替えられた前記PCIeバスを介して送信される制御信号に応じて動作するEthernetコントローラと、を備えるカードによる制御方法であって、
    前記マルチプレクサが選択しているPCIeバスに不具合が発生している場合に、前記マルチプレクサが選択しているPCIeバスとは別のPCIeバスを選択させる制御信号に基づいて、前記PCIeバスを選択して切り替えること、
    前記選択され切り替えられた前記PCIeバスを介して送信される制御信号に応じて動作することと、
    を含むカードによる制御方法。
  5. 制御信号に基づいて、複数のPCIeバスのうちの1つを選択して切り替え可能なマルチプレクサと、前記マルチプレクサに接続されるEthernetコントローラと、判定部と、送信部と、を備えるシステムによる制御方法であって、
    前記マルチプレクサが選択しているPCIeバスに不具合が発生しているか否かを判定することと、
    前記マルチプレクサが選択しているPCIeバスに不具合が発生していると判定した場合に、前記マルチプレクサが選択しているPCIeバスとは別のPCIeバスを選択させる制御信号を、前記マルチプレクサに送信することと、
    前記別のPCIeバスを選択させる制御信号を、前記送信部が前記マルチプレクサに送信した場合に、前記別のPCIeバスを選択させる制御信号に基づいて、前記PCIeバスを選択して切り替えることと、
    を含むシステムによる制御方法。
  6. 制御信号に基づいて、複数のPCIeバスのうちの1つを選択して切り替え可能なマルチプレクサと、前記選択され切り替えられた前記PCIeバスを介して送信される制御信号に応じて動作するEthernetコントローラと、を備えるカードのコンピュータに、
    前記マルチプレクサが選択しているPCIeバスに不具合が発生している場合に、前記マルチプレクサが選択しているPCIeバスとは別のPCIeバスを選択させる制御信号に基づいて、前記PCIeバスを選択して切り替えること、
    前記選択され切り替えられた前記PCIeバスを介して送信される制御信号に応じて動作させることと、
    を実行させるプログラム。
JP2019061030A 2019-03-27 2019-03-27 カード、システム、カードが実行する制御方法及びプログラム Active JP6996757B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019061030A JP6996757B2 (ja) 2019-03-27 2019-03-27 カード、システム、カードが実行する制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019061030A JP6996757B2 (ja) 2019-03-27 2019-03-27 カード、システム、カードが実行する制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2020160919A true JP2020160919A (ja) 2020-10-01
JP6996757B2 JP6996757B2 (ja) 2022-01-17

Family

ID=72639510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019061030A Active JP6996757B2 (ja) 2019-03-27 2019-03-27 カード、システム、カードが実行する制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6996757B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007287156A (ja) * 2006-04-19 2007-11-01 Internatl Business Mach Corp <Ibm> 周辺構成要素相互接続装置拡張読取り専用メモリ・データをキャッシュする方法、システムおよびプログラム
JP2009267771A (ja) * 2008-04-25 2009-11-12 Hitachi Ltd 情報処理装置及びパス制御方法
JP2010108211A (ja) * 2008-10-30 2010-05-13 Hitachi Ltd ストレージ装置、及びストレージコントローラ内部ネットワークのデータ経路フェイルオーバー方法
JP2012118969A (ja) * 2010-12-03 2012-06-21 Internatl Business Mach Corp <Ibm> マルチレーンpciエクスプレスio相互接続に対するケーブル冗長性およびフェイルオーバのための方法、装置、およびコンピュータ・プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007287156A (ja) * 2006-04-19 2007-11-01 Internatl Business Mach Corp <Ibm> 周辺構成要素相互接続装置拡張読取り専用メモリ・データをキャッシュする方法、システムおよびプログラム
JP2009267771A (ja) * 2008-04-25 2009-11-12 Hitachi Ltd 情報処理装置及びパス制御方法
JP2010108211A (ja) * 2008-10-30 2010-05-13 Hitachi Ltd ストレージ装置、及びストレージコントローラ内部ネットワークのデータ経路フェイルオーバー方法
JP2012118969A (ja) * 2010-12-03 2012-06-21 Internatl Business Mach Corp <Ibm> マルチレーンpciエクスプレスio相互接続に対するケーブル冗長性およびフェイルオーバのための方法、装置、およびコンピュータ・プログラム

Also Published As

Publication number Publication date
JP6996757B2 (ja) 2022-01-17

Similar Documents

Publication Publication Date Title
CN110312999B (zh) 基于软件配置/策略分发的PCIe盘阵列的动态划分
US8953438B2 (en) Multiple source virtual link reversion in safety critical switched networks
JP4982304B2 (ja) 電源障害の発生を把握するストレージシステム
US7356638B2 (en) Using out-of-band signaling to provide communication between storage controllers in a computer storage system
US7200108B2 (en) Method and apparatus for recovery from faults in a loop network
CN104734998A (zh) 一种网络设备及信息传输方法
US20070002847A1 (en) Storage control device and storage control device path switching method
CN102571450A (zh) 网络接口模块的端口配置方法、装置及框式通信设备
GB2377144A (en) A method and apparatus for recovery from faults in a loop network by bypassing and selectively un-bypassing ports to ascertain location of fault
JP6429188B2 (ja) 中継装置
JP6996757B2 (ja) カード、システム、カードが実行する制御方法及びプログラム
US8848517B2 (en) Fencing off switch domains
JP5176914B2 (ja) 伝送装置及び冗長構成部の系切替え方法
US10235045B2 (en) Storage system and control apparatus
US9246848B2 (en) Relay apparatus, storage system, and method of controlling relay apparatus
JP6394727B1 (ja) 制御装置、制御方法、及び、フォールトトレラント装置
CN111382014A (zh) 一种基于服务器系统盘故障的冗余控制系统及方法
GB2378621A (en) Method and apparatus for improving performance of a loop network by selectively bypassing redundant ports and also bypassing faulty ports
JP2007172172A (ja) ファイバーチャネルスイッチおよびそれを用いたコンピュータシステム
JP7150334B2 (ja) 集合型シャーシシステム及び通信システム
US7681082B2 (en) Method and apparatus for improved error avoidance in a redundant data path system
JPH03504673A (ja) データ送信システム
TWI733614B (zh) 通信介面控制系統及其方法
CN110660429B (zh) 存储系统和存储控制装置
TW201643740A (zh) 用來管理一儲存系統之方法與裝置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200707

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210607

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210914

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20210914

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20210924

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20210928

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211209

R150 Certificate of patent or registration of utility model

Ref document number: 6996757

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150