JP6996757B2 - カード、システム、カードが実行する制御方法及びプログラム - Google Patents
カード、システム、カードが実行する制御方法及びプログラム Download PDFInfo
- Publication number
- JP6996757B2 JP6996757B2 JP2019061030A JP2019061030A JP6996757B2 JP 6996757 B2 JP6996757 B2 JP 6996757B2 JP 2019061030 A JP2019061030 A JP 2019061030A JP 2019061030 A JP2019061030 A JP 2019061030A JP 6996757 B2 JP6996757 B2 JP 6996757B2
- Authority
- JP
- Japan
- Prior art keywords
- pcie bus
- pcie
- bus
- multiplexers
- control device
- 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.)
- Active
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Description
特許文献1には、関連する技術として、ストレージコントローラ内のコンポーネントがPCIeで接続された内部ネットワークを持つストレージ装置に関する技術が開示されている。
<実施形態>
本発明の一実施形態によるシステム1は、Network Interface Card(以下、「NIC」と記載、カードの一例)1000、Peripheral Component Interconnect Expressルートコンプレックス(以下、「PCIeルートコンプレックス」と記載)2000、Platform Controller Hub(以下、「PCH」と記載)3000、CPU4000を備える。
PCH3000は、周辺機器の処理を行うチップセットである。
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と呼ぶ。
PCH3000とマルチプレクサ1031~1038は、PCIeスロット1011)を経由するパスと、PCIeスロット1012を経由するパスの、2系統で接続されている。仮に片方のPCIeスロットで障害が発生した場合であっても、もう片方のPCIeスロットでSMバスが接続されているため、PCH3000とマルチプレクサ1031~1038は、通信を継続することができる。
例えば、切り替え制御部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と通信を実行することができる。
PCIeスロット1012は、Side Band信号を伝送するSMバス3011と電源1402とを接続する。
図3は、本発明の一実施形態によるNIC1000を、Peripheral Component Interconnect Expressカード(以下、「PCIeカード」と記載)上で実現する場合の具体的なシステム1の構成を示す図である。なお、図3では、図1に示したシステム1と構成の異なる箇所のみを示している。
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は、マルチプレクサ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のパスの順番で通信が行われる。
切り替え制御部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コントローラ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というパスの順番で行われる。
なお、図3に示すシステム1において、仮にマルチプレクサ1031やEthernetコントローラ1041で不具合が発生した場合には、通信を継続することができない。しかしながら、Ethernetコントローラ1041以外のEthernetコントローラ1042、1043、1044、1045、1046、1047、1048のそれぞれを経由して行われる通信には影響を与えない。そのため、図3に示すシステム1は、不具合発生時の影響範囲を最低限に留めることができる構成となっている。
このように、NIC1000を構成することで、PCIeバスの冗長性を確保し、仮に1系統のPCIeバスで不具合が発生しても残りの系統のPCIeバスでEthernetコントローラを動作させることができる。
また、NIC1000において、PCIeバスの冗長性を確保できない部分についても、不具合の影響を受ける範囲を1ポートに留められるようになっており、1つの不具合で複数ポートが使用不能に陥ることを防ぐことができる。切り替え制御部4001は、ユニークIDを確認することでPCIeバスが切り替わった場合であっても、PCIeバスの切り替えを意識することなく、Ethernetコントローラを動作させることができる。
本発明の実施形態による最小構成のNIC1000は、図5に示すように、マルチプレクサ1031、Ethernetコントローラ1041を備える。
マルチプレクサ1031は、制御信号に基づいて、複数のPCIeバスのうちの1つを選択して切り替え可能なマルチプレクサである。マルチプレクサ1031は、選択しているPCIeバスに不具合が発生している場合に、選択しているPCIeバスとは別のPCIeバスを選択させる制御信号に基づいて、PCIeバスを選択して切り替える。
Ethernetコントローラ1041は、前記選択され切り替えられた前記PCIeバスを介して送信される制御信号に応じて動作する。
図6は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ5は、図6に示すように、CPU6、メインメモリ7、ストレージ8、インターフェース9を備える。
例えば、上述のシステム1、NIC1000、その他の制御装置のそれぞれは、コンピュータ5に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ8に記憶されている。CPU6は、プログラムをストレージ8から読み出してメインメモリ7に展開し、当該プログラムに従って上記処理を実行する。また、CPU6は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ7に確保する。
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 (4)
- 制御装置から受信する制御信号に基づいて、複数のPCIeバスのうちの1つを選択して前記複数のPCIeバスのうちの1つとは異なる1つのPCIeバスの接続先に切り替え可能な複数のマルチプレクサであって、前記複数のマルチプレクサそれぞれが選択しているPCIeバスに不具合が発生している場合に、前記不具合が発生しているPCIeバスとは別のPCIeバスを選択させる前記制御装置から受信する制御信号に基づいて、前記不具合が発生しているPCIeバスとは別のPCIeバスを選択して切り替える前記複数のマルチプレクサと、
前記異なる1つのPCIeバスに接続され、前記選択され切り替えられた前記別のPCIeバスを介して送信される制御信号に応じて前記制御装置をネットワークに接続させるEthernetコントローラであって、前記複数のマルチプレクサと1対1で接続され複数のEthernetポートに対応する複数のEthernetコントローラと、
前記複数のPCIeバスそれぞれに接続され、前記制御装置と前記複数のマルチプレクサとの間に設けられている複数の中継器と、
を備え、
前記複数のマルチプレクサそれぞれは、
前記別のPCIeバスを選択させる制御信号に基づいて、前記PCIeバスを選択して切り替えることにより、前記複数の中継器のうちの1つを介して前記制御装置に接続される、
カード。 - 請求項1に記載のカードと、
前記複数のマルチプレクサそれぞれが選択しているPCIeバスに不具合が発生しているか否かを判定する判定部と、
前記複数のマルチプレクサそれぞれが選択しているPCIeバスのいずれかに不具合が発生していると前記判定部が判定した場合に、前記不具合が発生しているPCIeバスとは別のPCIeバスを選択させる制御信号を、前記不具合が発生しているPCIeバスを選択しているマルチプレクサに送信する送信部を有する前記制御装置と、
を備え、
前記別のPCIeバスを選択させる制御信号を、前記送信部が前記不具合が発生しているPCIeバスを選択しているマルチプレクサに送信した場合に、前記マルチプレクサは、前記別のPCIeバスを選択させる制御信号に基づいて、前記PCIeバスを選択して切り替える、
システム。 - 複数のマルチプレクサと、前記複数のマルチプレクサと1対1で接続され複数のEthernetポートに対応する複数のEthernetコントローラとを備えるカードであり、複数のPCIeバスそれぞれに接続され、制御装置と前記複数のマルチプレクサとの間に設けられている複数の中継器を備えるカードが実行する制御方法であって、
前記制御装置から受信する制御信号に基づいて、前記複数のPCIeバスのうちの1つを選択して前記複数のPCIeバスのうちの1つとは異なる1つのPCIeバスの接続先に切り替えることであって、前記複数のマルチプレクサそれぞれが選択しているPCIeバスに不具合が発生している場合に、前記不具合が発生しているPCIeバスとは別のPCIeバスを選択させる前記制御装置から受信する制御信号に基づいて、前記不具合が発生しているPCIeバスとは別のPCIeバスを選択して切り替えることと、
前記選択され切り替えられた前記別のPCIeバスを介して送信される制御信号に応じて前記制御装置をネットワークに接続させることと、
前記別のPCIeバスを選択させる制御信号に基づいて、前記PCIeバスを選択して切り替えることにより、前記複数の中継器のうちの1つを介して前記制御装置に接続されることと、
を含むカードが実行する制御方法。 - 複数のマルチプレクサと、前記複数のマルチプレクサと1対1で接続され複数のEthernetポートに対応する複数のEthernetコントローラとを備えるカードであり、複数のPCIeバスそれぞれに接続され、制御装置と前記複数のマルチプレクサとの間に設けられている複数の中継器を備えるカードが備えるコンピュータに、
前記制御装置から受信する制御信号に基づいて、前記複数のPCIeバスのうちの1つを選択して前記複数のPCIeバスのうちの1つとは異なる1つのPCIeバスの接続先を切り替えることであって、前記複数のマルチプレクサそれぞれが選択しているPCIeバスに不具合が発生している場合に、前記不具合が発生しているPCIeバスとは別のPCIeバスを選択させる前記制御装置から受信する制御信号に基づいて、前記不具合が発生しているPCIeバスとは別のPCIeバスを選択して切り替えることと、
前記選択され切り替えられた前記別のPCIeバスを介して送信される制御信号に応じて前記制御装置をネットワークに接続させることと、
前記別のPCIeバスを選択させる制御信号に基づいて、前記PCIeバスを選択して切り替えることにより、前記複数の中継器のうちの1つを介して前記制御装置に接続されることと、
を実行させるプログラム。
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 JP2020160919A (ja) | 2020-10-01 |
JP6996757B2 true 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)
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相互接続に対するケーブル冗長性およびフェイルオーバのための方法、装置、およびコンピュータ・プログラム |
-
2019
- 2019-03-27 JP JP2019061030A patent/JP6996757B2/ja active Active
Patent Citations (4)
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 |
---|---|
JP2020160919A (ja) | 2020-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110312999B (zh) | 基于软件配置/策略分发的PCIe盘阵列的动态划分 | |
US8953438B2 (en) | Multiple source virtual link reversion in safety critical switched networks | |
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 | |
US7904744B2 (en) | Data storage using multiple protocols | |
US7568119B2 (en) | Storage control device and storage control device path switching method | |
CN102571450A (zh) | 网络接口模块的端口配置方法、装置及框式通信设备 | |
WO2014128859A1 (ja) | スイッチ及びプログラム | |
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) | 中継装置 | |
JP3279248B2 (ja) | スイッチ機構およびこれを有するディスクアレイ装置およびコンピュータシステム | |
JP6996757B2 (ja) | カード、システム、カードが実行する制御方法及びプログラム | |
US8848517B2 (en) | Fencing off switch domains | |
US10235045B2 (en) | Storage system and control apparatus | |
JP5176914B2 (ja) | 伝送装置及び冗長構成部の系切替え方法 | |
US9246848B2 (en) | Relay apparatus, storage system, and method of controlling relay apparatus | |
JP6394727B1 (ja) | 制御装置、制御方法、及び、フォールトトレラント装置 | |
US7681082B2 (en) | Method and apparatus for improved error avoidance in a redundant data path system | |
JP7150334B2 (ja) | 集合型シャーシシステム及び通信システム | |
JP4096849B2 (ja) | 回線多重化構造を用いた入出力制御システム | |
CN117349217A (zh) | Pcie扩展设备及子卡自适应选择方法、扩展系统 | |
JP2017220267A (ja) | ディスクアレイ装置およびそのケーブル誤接続検出方法 | |
JP2017220719A (ja) | 中継装置、ファブリックカード | |
JP2002247142A (ja) | 多重系伝送システム | |
JPH09258906A (ja) | ディスク装置接続装置 |
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 | Written amendment |
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 | Written amendment |
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 |