説明

バス変換装置、情報処理装置、制御方法

【課題】 SASコントローラが単一で故障した場合でもデータの損失なく継続的にデバイス機器が使用可能となるバス変換装置を提供する。
【解決手段】 第1バス上の第1形式データと第2バス上の第2形式データとを互いに変換するSASコントローラ3、4を有するバス変換装置であって、第1バスから受信した第1形式データをSASコントローラ3、4に分配して入力させるPCIe冗長制御部2と、第2バスから受信した第2形式データをSASコントローラ3、4に分配して入力させるSAS冗長制御部6と、SASコントローラ3が変換した第1形式データとSASコントローラ4が変換した第1形式データのうち、いずれかを選択して第1バスに出力するPCIeセレクタ1と、SASコントローラ3が変換した第2形式データとSASコントローラ4が変換した第2形式データのうち、いずれかを選択して第2バスに出力するSASセレクタ5を備えた。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、磁気ディスク装置等のデバイスとコンピュータとの接続を可能にするバス変換装置、およびバス変換装置を備えた情報処理装置、バス変換装置の制御方法に関する。
【背景技術】
【0002】
コンピュータとHDD(Hard Disk Drive)等との接続インターフェイスとしてSAS(Serial Attached SCSI)がある。
【0003】
図6は、従来のSASインタフェースを有する機器の接続を示すブロック図である。SASコントローラ500は、PCI−Expressバス(第1のバス)のインタフェースとSASインタフェース(第2のバス)を備え、PCI−Expressバス上で使用されるデータ形式(第1の形式)のデータとSASインタフェース上で使用されるデータ形式(第2の形式)のデータとを変換するとともに、HDD等のSASデバイス機器600を制御するコントローラである。
【0004】
SASコントローラ500は、PCI−Expressバスから受けたコマンドに応じてSASデバイス機器600に対しコマンドを発行し、SASデバイス機器600を制御している。SASデバイス機器600は、HDDをはじめ、RAID(Redundant Arrays of Inexpensive Disks)装置やTape装置などの記憶装置であり、制御するインタフェースにSASインタフェースを持つ機器である。
【0005】
PCI−Expressバスとは、パソコン機器やサーバシステムなどで使用されている拡張用の汎用インタフェースである。またSASインタフェースとは、パソコン機器やサーバシステムなどでHDDやTape装置等のデバイスを接続するための汎用インタフェースである。
【0006】
図6で示すようなSASコントローラによって、パソコン機器やサーバシステムは、HDDをはじめSASデバイス機器とデータの送受信を行う。
【0007】
尚、関連ある技術として、以下の文献が開示されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2006−107151号公報
【特許文献2】特開2006−309375号公報
【特許文献3】特開2007−148621号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
現在はSASデバイス機器を汎用的に冗長化する方法(RAID機能など)はあるが、SASコントローラ自体を冗長化した装置は無く、よってSASコントローラ自体が故障すると故障時のデータが保証されない。またSASコントローラに冗長性が無いため、SASコントローラに故障が生じた場合、接続されているSASデバイス機器が使用不能となる。特に、オペレーティングシステムがHDD等のSASデバイス機器に格納されている場合、システムを継続的に運用することができなくなる。
【0010】
尚、ドライバやアプリケーションなどのソフトウェアを使用して、エラーをソフトウェアが認識した上で切り替える手段はあるが、ソフトウェアが意識することなくSASコントローラを冗長化する方法は無い。また、ソフトウェアを使用することによるバスを二重化する方法は機器を揃えることから大掛かりな構成となり、コストも高価となる。また、一時的なエラーが発生した場合において、リトライ処理を行う必要がある。
【0011】
本発明は上述した問題点を解決するためになされたものであり、SASコントローラを冗長化することができるバス変換装置、情報処理装置、およびバス変換装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【0012】
バス変換装置は、第1のバスと第2のバスの間を接続するとともに、前記第1のバス上の第1の形式のデータと前記第2のバス上の第2の形式のデータを互いに変換するバス変換装置において、入力された前記第1の形式のデータを前記第2の形式のデータに変換して出力するとともに、入力された前記第2の形式のデータを、前記第1の形式のデータに変換して出力することにより、前記第1の形式のデータと前記第2の形式のデータを互いに変換する第1のバス変換回路と、入力された前記第1の形式のデータを前記第2の形式のデータに変換して出力するとともに、入力された前記第2の形式のデータを、前記第1の形式のデータに変換して出力することにより、前記第1の形式のデータと前記第2の形式のデータを互いに変換する第2のバス変換回路と、前記第1のバスと前記第1及び第2のバス変換回路にそれぞれ接続されるとともに、前記第1のバスから受信した前記第1の形式のデータを、前記第1及び第2のバス変換回路に分配して入力させる第1の分配回路と、前記第2のバスと前記第1及び第2のバス変換回路にそれぞれ接続されるとともに、前記第2のバスから受信した前記第2の形式のデータを、前記第1及び第2のバス変換回路に分配して入力させる第2の分配回路と、前記第1及び第2のバス変換回路と前記第1のバスにそれぞれ接続されるとともに、前記第1のバス変換回路が変換した前記第1の形式のデータと前記第2のバス変換回路が変換した前記第1の形式のデータのうち、いずれかを選択して前記第1のバスに出力する第1の選択回路と、前記第1及び第2のバス変換回路と前記第2のバスにそれぞれ接続されるとともに、前記第1のバス変換回路が変換した前記第2の形式のデータと前記第2のバス変換回路が変換した前記第2の形式のデータのうち、いずれかを選択して前記第2のバスに出力する第2の選択回路を有することを特徴とする。
【0013】
また、情報処理装置は、演算処理装置と、記憶装置と、入出力装置と、を有し、前記入出力装置は、第1のバスと第2のバスの間を接続するとともに、前記第1のバス上の第1の形式のデータと前記第2のバス上の第2の形式のデータを互いに変換するバス変換装置を有し、前記バス変換装置は、入力された前記第1の形式のデータを前記第2の形式のデータに変換して出力するとともに、入力された前記第2の形式のデータを、前記第1の形式のデータに変換して出力することにより、前記第1の形式のデータと前記第2の形式のデータを互いに変換する第1のバス変換回路と、入力された前記第1の形式のデータを前記第2の形式のデータに変換して出力するとともに、入力された前記第2の形式のデータを、前記第1の形式のデータに変換して出力することにより、前記第1の形式のデータと前記第2の形式のデータを互いに変換する第2のバス変換回路と、前記第1のバスと前記第1及び第2のバス変換回路にそれぞれ接続されるとともに、前記第1のバスから受信した前記第1の形式のデータを、前記第1及び第2のバス変換回路に分配して入力させる第1の分配回路と、前記第2のバスと前記第1及び第2のバス変換回路にそれぞれ接続されるとともに、前記第2のバスから受信した前記第2の形式のデータを、前記第1及び第2のバス変換回路に分配して入力させる第2の分配回路と、前記第1及び第2のバス変換回路と前記第1のバスにそれぞれ接続されるとともに、前記第1のバス変換回路が変換した前記第1の形式のデータと前記第2のバス変換回路が変換した前記第1の形式のデータのうち、いずれかを選択して前記第1のバスに出力する第1の選択回路と、前記第1及び第2のバス変換回路と前記第2のバスにそれぞれ接続されるとともに、前記第1のバス変換回路が変換した前記第2の形式のデータと前記第2のバス変換回路が変換した前記第2の形式のデータのうち、いずれかを選択して前記第2のバスに出力する第2の選択回路を有することを特徴とする。
【0014】
制御方法は、第1のバスと第2のバスの間を接続するとともに、前記第1のバス上の第1の形式のデータと前記第2のバス上の第2の形式のデータを互いに変換するバス変換装置の制御方法であって、前記バス変換装置は、入力された前記第1の形式のデータを前記第2の形式のデータに変換して出力するとともに、入力された前記第2の形式のデータを、前記第1の形式のデータに変換して出力することにより、前記第1の形式のデータと前記第2の形式のデータを互いに変換する第1のバス変換回路と、入力された前記第1の形式のデータを前記第2の形式のデータに変換して出力するとともに、入力された前記第2の形式のデータを、前記第1の形式のデータに変換して出力することにより、前記第1の形式のデータと前記第2の形式のデータを互いに変換する第2のバス変換回路と、を有し、前記制御方法は、前記第1のバスから受信した前記第1の形式のデータを、前記第1及び第2のバス変換回路に分配して入力させる第1の分配ステップと、前記第1のバス変換回路によって変換された前記第2の形式のデータと前記第2のバス変換回路によって変換された前記第2の形式のデータのうち、いずれかを選択して前記第2のバスに出力する第1の選択ステップと、前記第2のバスから受信した前記第2の形式のデータを、前記第1及び第2のバス変換回路に分配して入力させる第2の分配ステップと、前記第1のバス変換回路によって変換された前記第1の形式のデータと前記第2のバス変換回路によって変換された前記第1の形式のデータのうち、いずれかを選択して前記第1のバスに出力する第2の選択ステップと、を実行する。
【発明の効果】
【0015】
第1のバス変換回路、第2のバス変換回路が単一で故障した場合においても、データの損失がなく、継続的にデバイス機器が使用可能となる。
【図面の簡単な説明】
【0016】
【図1】本実施の形態に係る情報処理装置のハードウェア構成の一例を示す図である。
【図2】本実施の形態に係るバス変換装置の構成の一例を示す図である。
【図3】本実施の形態に係るSAS冗長制御部6、SASセレクタ5の構成の一例を示す図である。
【図4】本実施の形態に係るPCIe冗長制御部、PCIeセレクタの構成の一例を示す図である。
【図5】本実施の形態に係るバス変換装置の動作の一例を示すフローチャートである。
【図6】従来のSASインタフェースを有する機器の接続を示すブロック図である。
【発明を実施するための形態】
【0017】
図1に、本実施の形態における情報処理装置のハードウェア構成を示す。情報処理装置100は、演算処理装置であるCPU101、データを保持する記憶装置であるメモリ102を有し、さらに、CPU101、メモリ102と接続されたメインボードであるシステムボード103を有する。また情報処理装置100は、LANボードやハードディスクなどの機器を備える入出力装置であるIO部105、およびシステムボード103とIO部105とを相互結合するクロスバー104を有する。
【0018】
IO部105は、FLI151、FLP152、PXH153、LANボード154、マネジメントボード155、バス変換装置200、SASデバイス201を備える。
【0019】
FLI151は、クロスバー104とFLP152とのインタフェースを制御するLSIである。FLP152は、FLI151とPXH153、マネジメントボード155のインタフェースを制御するLSIであり、PCI−Expressバスを持ち制御することができる。
【0020】
PXH153は、PCI−ExpressバスとPCIバスの変換を制御するためのLSIである。LANボード154は、外部の情報処理装置との間でLAN(Local Area Network)を形成するためのボードであり、マネジメントボード155は、外部の装置、または情報処理装置100内部の電源、温度、電圧等を監視するためのボードである。
【0021】
バス変換装置200は、従来のSASコントローラの冗長化を可能にした装置であり、PXH153とSASデバイス201との接続を可能にする。SASデバイス201は、SASインタフェースを有し、SASでの接続を可能にしたデバイスであり、本実施の形態では磁気ディスク装置とする。尚、バス変換装置200以外の上述の各装置、各LSIは既知、既存のものである。
【0022】
ここで、バス変換装置200の構成について、図2を参照しつつ説明する。尚、以下に説明するバス変換装置200内の各ユニットは、LSIで実装されている。
【0023】
バス変換装置200は、SASコントローラ3(第1のバス変換回路)、SASコントローラ4(第2のバス変換回路)、PCIe冗長制御部2(第1の分配回路)、SASセレクタ5(第2の選択回路)、SAS冗長制御部6(第2の分配回路)、PCIeセレクタ1(第1の選択回路)を備える。
【0024】
SASコントローラ3、SASコントローラ4は、PCI−ExpressバスのインタフェースとSASインタフェースを持ち、SASデバイス201を制御するコントローラである。SASコントローラ3、SASコントローラ4は、PCI−Expressバスから受けたコマンドに応じてSASデバイス201に対してコマンドを発行し、SASデバイス201を制御する。尚、SASコントローラ3、SASコントローラ4は上述図6で開示した既知のSASコントローラであり、本実施の形態では、SASコントローラを冗長構成にするためにSASコントローラ3、SASコントローラ4の2つが用意されている。
【0025】
PCIe冗長制御部2は、PCI−ExpressバスからSASコントローラ3、SASコントローラ4の送信信号の途中に位置するもので、PCI−Expressバスの送信信号をSASコントローラ3、SASコントローラ4に分配する機能を持つ。
【0026】
SASセレクタ5は、SASコントローラ3、SASコントローラ4からSASデバイス201の送信信号の途中に位置するもので、送信信号の切り替えを行う。SASセレクタ5にはエラー検出部があり、エラーが検出された時にSASコントローラ3と、SASコントローラ4との切り替えを行うことができる。
【0027】
SAS冗長制御部6は、SASデバイス201からSASコントローラ3、SASコントローラ4への送信信号の途中に位置するもので、SASデバイス201からの送信信号をSASコントローラ3、SASコントローラ4に分配する機能を持つ。
【0028】
PCIeセレクタ1は、SASコントローラ3、SASコントローラ4からPCI−Expressバスの送信信号の途中に位置するもので、PCI−Expressバス信号の切り替えを行う。PCIeセレクタ1にはエラー検出部があり、エラー検出時にSASコントローラ3と、SASコントローラ4との切り替えを行うことができる。
【0029】
尚、PCIeセレクタ1とSASセレクタ5とは連動しており、どちらかがエラーを検出して切り替えた場合に、同期して切り替えが行われる。
【0030】
次に、バス変換装置200の動作について説明する。PCI−Express側から送信されたデータをPCIe冗長制御部2がSASコントローラ3とSASコントローラ4へ同じデータを送信する。SASコントローラ3、SASコントローラ4を経由したデータはSASセレクタ5内に一旦バッファされ、SASセレクタ5は双方からのデータが来たことをチェックする。このことにより双方からのデータがSASセレクタ5によって同期する。SASセレクタ5でセレクトされている側のデータがSASデバイス201へ送信される。
【0031】
SASデバイス201が処理したデータをSAS冗長制御部6が受け取り、SAS冗長制御部6がSASコントローラ3とSASコントローラ4へ同じデータを送信する。SASコントローラ3、SASコントローラ4を経由したデータはPCIeセレクタ1内に一旦バッファされ、PCIeセレクタ1は双方からデータが来たことをチェックする。PCIeセレクタ1でセレクトされている側のデータがPCI−Expressバスを経由してPXH153に出力される。
【0032】
図3、図4にPCIeセレクタ1、PCIe冗長制御部2、SASセレクタ5、SAS冗長制御部6の内部を示すとともに、各ユニットの処理の詳細を説明する。尚、図3(A)にSAS冗長制御部6、図3(B)にSASセレクタ5の内部構成を示し、図4(A)にPCIe冗長制御部2、図4(B)にPCIeセレクタ1の内部構成を示す。
【0033】
まず、SAS冗長制御部6の詳細について、図3(A)に基づき説明する。SAS冗長制御部6には、SASコントローラ3及びSASコントローラ4との接続ポート及びSASデバイス201に対する接続ポートがある。通常、信号送受部62によってSASデバイス201からの信号がSASコントローラ3及びSASコントローラ4に送信される。ここで、SASコントローラ3及びSASコントローラ4と接続するポートにおけるリンク切断、CRCエラーのいずれか、または両方をエラー検出部61が検知した場合、セレクタとの通信部63は、SASセレクタ5に対し切替信号を送信し、PCIeセレクタ1、SASセレクタ5はそれぞれSASコントローラ3からのデータ信号を採用すべきかSASコントローラ4からのデータ信号を採用すべきかを切り替える。
【0034】
SAS冗長制御部6は、両系が稼動している状態でSASコントローラ3との接続ポートで異常が検知された場合、SASコントローラ4のみにSASデバイス201からの信号を送信する。一方、両系が稼動している状態でSASコントローラ4との接続ポートで異常が検知された場合、SAS冗長制御部6は異常を検知したことを記録する。
【0035】
SASコントローラ3、SASコントローラ4の切替信号は、SAS冗長制御部6とSASセレクタ5とを直結する信号線(図2の一点鎖線)を経由してSASセレクタ5に通知される。また、切り替え信号は、SASセレクタ5とPCIeセレクタ1を直結する信号線(図2の二点鎖線)を経由してPCIeセレクタ1に通知され、またPCIeセレクタ1とPCIe冗長制御部2を直結する信号線(図2の一点鎖線)を経由してPCIe冗長制御部2に通知される。
【0036】
既に片側の接続ポートで異常が発生している状態で反対側のポートで異常が検知された場合は従来技術と同じ動作となる。すなわち、ソフトウェアの監視機能によりSASデバイス機器が閉塞される。
【0037】
次に、SASセレクタ5の詳細について図3(B)に基づき説明する。SASセレクタ5には、SASコントローラ3及びSASコントローラ4との接続ポート及びSASデバイス201に対する接続ポートがある。SASコントローラ3及びSASコントローラ4の両方が正常である場合、信号送受/コマンド比較部53によってSASコントローラ3からのデータとSASコントローラ4からのデータとが一旦バッファ52に保持され、チェックされた後、SASコントローラ3からの信号がSASデバイス201に送信される。
【0038】
SASコントローラ3及びSASコントローラ4と接続するポートで、エラー検出/セレクト部51(エラー検出部)によってリンク切断、CRCエラーのいずれかまたは両方のエラーがされた場合が、セレクタの切り替え条件となる。
【0039】
例えば両系が稼動している状態でSASコントローラ3との接続ポートで異常が検知された場合、SASコントローラ3からのパケットは捨てられ、SASコントローラ4から受信したデータがSASデバイス201に送信される。一方、両系が稼動している状態でSASコントローラ4との接続ポートで異常が検知された場合、SASセレクタ5は異常を検知したことを例えばバッファ52に記録する。
【0040】
SASコントローラ3、SASコントローラ4の切替信号は、SASセレクタ5とPCIeセレクタ1を直結する信号線を経由してPCIeセレクタ1に通知され、さらにPCIe冗長制御部2にもPCIeセレクタ1とPCIe冗長制御部2とを直結する信号線を経由して通知される。また切り替え信号は、SASセレクタ5とSAS冗長制御部6を直結する信号線を経由してSAS冗長制御部6に通知される。
【0041】
既に片側の接続ポートで異常が発生している状態で反対側のポートで異常が検知された場合は従来技術と同じ動作となる。すなわち、ソフトウェアの監視機能によりSASデバイス201が閉塞される。
【0042】
次に、PCIe冗長制御部2の詳細について、図4(A)に基づき説明する。PCIe冗長制御部2は、SASコントローラ3及びSASコントローラ4との接続ポート及びPCI−Expressバスに対する接続ポートがある。
【0043】
通常は、信号送受部22によってPCI−Expressバスからの信号がSASコントローラ3及びSASコントローラ4に送信される。
【0044】
SASコントローラ3及びSASコントローラ4と接続するポートで、リンク切断、CRCエラーの事象のうちいずれかまたは両方をエラー検出部21が検知した場合、セレクタとの通信部23を介して切替信号が発信され、PCIeセレクタ1、SASセレクタ5はそれぞれSASコントローラ3からのデータ信号を採用すべきかSASコントローラ4からのデータ信号を採用すべきかを切り替える。
【0045】
例えば両系が稼動している状態でSASコントローラ3との接続ポートで異常が検知された場合、信号送受部22はSASコントローラ4のみにPCI−Expressバスからの信号を送信する。一方、両系が稼動している状態でSASコントローラ4との接続ポートで異常が検知された場合、信号送受部22はSASコントローラ4の接続で異常を検知したことを記録する。
【0046】
SASコントローラ3、SASコントローラ4の切替信号はPCIe冗長制御部2とPCIeセレクタ1を直結する信号線を経由してPCIeセレクタ1に通知される。また切替信号は、PCIeセレクタ1とSASセレクタ5を直結する信号線を経由してSASセレクタ5に通知され、さらにSASセレクタ5とSAS冗長制御部6を直結する信号線を経由してSAS冗長制御部6に通知される。
【0047】
既に片側の接続ポートで異常が発生している状態で反対側のポートで異常が検知された場合は従来技術と同じ動作となる。すなわち、ソフトウェアの監視機能によりSASデバイス201が閉塞される。
【0048】
次に、PCIeセレクタ1の詳細について、図4(B)に基づき説明する。PCIeセレクタ1には、SASコントローラ3及びSASコントローラ4との接続ポート及びPCI−Expressバスに対する接続ポートがある。
【0049】
通常は、信号送受/コマンド比較部13によってSASコントローラ3からのデータとSASコントローラ4からのデータとが一旦バッファ12に保持され、チェックされた後、SASコントローラ3からの信号がPCI−Expressバスに送信される。
【0050】
SASコントローラ3及びSASコントローラ4と接続するポートで、エラー検出/セレクト部11(エラー検出部)によってリンク切断、CRCエラーのいずれかまたは両方のエラーがされた場合が、セレクタの切り替え条件となる。
【0051】
例えば両系が稼動している状態でSASコントローラ3との接続ポートで異常が検知された場合、SASコントローラ3からのパケットは捨てられ、SASコントローラ4から受信したデータがPCI−Expressバスに送信される。一方、両系が稼動している状態でSASコントローラ4との接続ポートで異常が検知された場合は異常を検知したことを記録する。
【0052】
SASコントローラ3、SASコントローラ4の切替信号は、PCIeセレクタ1とSASセレクタ5を直結する信号線を経由してSASセレクタ5に通知され、さらにSAS冗長制御部6にもSASセレクタ5とSAS冗長制御部6とを直結する信号線を経由して通知される。また切替信号は、PCIeセレクタ1とPCIe冗長制御部2を直結する信号線を経由してPCIe冗長制御部2に通知される。
【0053】
既に片側の接続ポートで異常が発生している状態で反対側のポートで異常が検知された場合は従来技術と同じ動作となる。すなわち、ソフトウェアの監視機能によりSASデバイス201が閉塞される。
【0054】
尚、上述のCRCエラーは、それぞれのアーキテクチャ(本実施の形態ではPCI−Expressバス、SASインターフェイス)のルールに従った計算方法が採用される。
【0055】
次に、バス変換装置200の動作について、図5のフローチャートを参照しつつ説明する。
【0056】
例えばユーザからのSASデバイス201への書き込み指示、読み出し指示等、上位でコマンドが実行されることで(S1)、PXH153より実行されたコマンドに応じたコマンドが発行される(S2)。ここで、PCIe冗長制御部2がSASコントローラ3、SASコントローラ4のエラーを検出している場合(S3、Yes)、PCIe冗長制御部2は、PCIeセレクタ1へエラーを検出した方のバス(上述の切替信号)を通知する(S5)。PCIeセレクタ1は、エラーが発生しているバスをSASセレクタ5へ通知する(S6)。SASセレクタ5とPCIeセレクタ1は、それぞれ同期してエラーの発生していないバスに切り替える(S7)。PCIe冗長制御部2は、エラーの発生していないSASコントローラへ上位からのコマンドを発行する(S8)。
【0057】
一方、S3にてPCIe冗長制御部2がSASコントローラのエラーを検出していない場合(S3、No)、PCIe冗長制御部2は、SASコントローラ3、SASコントローラ4へ上位からのコマンドを発行する(S4)。
【0058】
コマンドが発行されたSASコントローラは、SASセレクタ5へコマンドを発行する(S9)。ここで、コマンドを受けたSASセレクタ5は、SASセレクタ5自身でSASコントローラのエラーを検出しているかを判定する(S10)。エラーを検出している場合(S10、Yes)、SASセレクタ5は、PCIeセレクタ1へエラー検出バスを通知し(S12)、SASセレクタ5およびPCIeセレクタ1は、互いに同期してエラーの発生していないバスに切り替える(S13)。SASセレクタ5は、エラーの発生していないSASコントローラからのコマンドをSASデバイス201へ発行する(S14)。
【0059】
一方、SASセレクタ5にてエラーが検出されていない場合(S10、No)、SASセレクタ5は、SASコントローラ3、SASコントローラ4から受けたコマンドを同期させ、コマンドを比較してSASデバイス201へ発行する(S11)。
【0060】
SASデバイス201は、受けたコマンドを処理してSAS冗長制御部6へレスポンスを返信する(S15)。ここで、SAS冗長制御部6は、自身がSASコントローラのエラーを検出しているかを判定する(S16)。ここで、エラーを検出している場合(S16、Yes)、SAS冗長制御部6は、SASセレクタ5へエラー検出バスを通知する(S18)。SASセレクタ5は、エラーが発生しているバスをPCIeセレクタ1へ通知することで(S19)、PCIeセレクタ1、SASセレクタ5はそれぞれ同期してエラーの発生していないSASコントローラのバスに切り替える(S20)。SAS冗長制御部6は、エラーの発生していないSASコントローラへSASデバイス201からのレスポンスを発行する(S21)。
【0061】
一方、S16にてSAS冗長制御部6がエラーを検出していない場合(S16、No)、SAS冗長制御部6は、SASコントローラ3、SASコントローラ4の両方へSASデバイス201から受けたレスポンスを発行し(S17)、レスポンスを受けたSASコントローラは、PCIeセレクタ1にレスポンスを発行する。
【0062】
PCIeセレクタ1は、自身がSASコントローラのエラーを検出しているかを判定する(S22)。ここで、エラーが検出されている場合(S22、Yes)、PCIeセレクタ1はSASセレクタ5へエラー検出バスを通知し(S25
)、SASセレクタ5とPCIeセレクタ1は互いに同期してエラーの発生していないSASコントローラのバスに切り替える(S26)。PCIeセレクタ1は、エラーの発生していないSASコントローラから受け取ったレスポンスをPXH153へ発行する(S27)。
【0063】
一方、S22にてエラーが検出されていない場合(S22、No)、SASコントローラ3、SASコントローラ4は、PCIeセレクタ1へレスポンスを発行し(S23)、PCIeセレクタ1は、SASコントローラ3、SASコントローラ4から受けたレスポンスを同期させ、比較した後にどちらか一方のレスポンスをPXH153へ発行する(S24)。
【0064】
PXH153は、レスポンスを上位へ発行することで、上位でレスポンスの処理が実行される(S28)。
【0065】
本実施の形態の情報処理装置100、バス変換装置200は、以下の効果を奏することができる。
【0066】
本実施の形態の情報処理装置100、バス変換装置200は、OSやマルチパス用のドライバ、アプリケーションが介入することなく、SASコントローラの冗長化を行うことができる。また冗長性を持たせたことにより、SASコントローラの単一故障に対して、データの損失がなく、継続的にSASデバイスが使用可能となる。
【0067】
一時的なエラーが発生した場合においてもリトライ処理を行わず、正常なデータを送信することで処理を早めることができる。
【0068】
使用機器が少なく、大掛かりな仕掛けを必要としないためコストも安価である。
【符号の説明】
【0069】
1 PCIeセレクタ、2 PCIe冗長制御部、3、4 SASコントローラ、5 SASセレクタ、6 SAS冗長制御部、100 情報処理装置、101 CPU、102 メモリ、105 IO部、200 バス変換装置、201 SASデバイス。

【特許請求の範囲】
【請求項1】
第1のバスと第2のバスの間を接続するとともに、前記第1のバス上の第1の形式のデータと前記第2のバス上の第2の形式のデータを互いに変換するバス変換装置において、
入力された前記第1の形式のデータを前記第2の形式のデータに変換して出力するとともに、入力された前記第2の形式のデータを、前記第1の形式のデータに変換して出力することにより、前記第1の形式のデータと前記第2の形式のデータを互いに変換する第1のバス変換回路と、
入力された前記第1の形式のデータを前記第2の形式のデータに変換して出力するとともに、入力された前記第2の形式のデータを、前記第1の形式のデータに変換して出力することにより、前記第1の形式のデータと前記第2の形式のデータを互いに変換する第2のバス変換回路と、
前記第1のバスと前記第1及び第2のバス変換回路にそれぞれ接続されるとともに、前記第1のバスから受信した前記第1の形式のデータを、前記第1及び第2のバス変換回路に分配して入力させる第1の分配回路と、
前記第2のバスと前記第1及び第2のバス変換回路にそれぞれ接続されるとともに、前記第2のバスから受信した前記第2の形式のデータを、前記第1及び第2のバス変換回路に分配して入力させる第2の分配回路と、
前記第1及び第2のバス変換回路と前記第1のバスにそれぞれ接続されるとともに、前記第1のバス変換回路が変換した前記第1の形式のデータと前記第2のバス変換回路が変換した前記第1の形式のデータのうち、いずれかを選択して前記第1のバスに出力する第1の選択回路と、
前記第1及び第2のバス変換回路と前記第2のバスにそれぞれ接続されるとともに、前記第1のバス変換回路が変換した前記第2の形式のデータと前記第2のバス変換回路が変換した前記第2の形式のデータのうち、いずれかを選択して前記第2のバスに出力する第2の選択回路を有することを特徴とするバス変換装置。
【請求項2】
前記第1の選択回路は、
前記第1のバス変換回路が変換した前記第1の形式のデータと前記第2のバス変換回路が変換した前記第1の形式のデータのうち、前記選択された第1の形式のデータが有するエラーを検出するエラー検出部を有するとともに、
前記エラー検出部が、前記選択された一のバス変換回路が出力する第1の形式のデータが有するエラーを検出した場合には、前記エラーが検出された一のバス変換回路とは異なる他のバス変換回路が出力する第1の形式のデータを選択することを特徴とする請求項1記載のバス変換装置。
【請求項3】
前記第1の選択回路が有する前記エラー検出部は、
前記選択された一のバス変換回路が出力する第1の形式のデータが有するエラーを検出した場合には、前記エラーが検出された一のバス変換回路とは異なる他のバス変換回路が出力する第1の形式のデータを選択する旨を前記第2の選択回路に通知するとともに、
前記第2の選択回路は、
前記エラーが検出された一のバス変換回路とは異なる他のバス変換回路が出力する第2の形式のデータを選択することを特徴とする請求項2記載のバス変換装置。
【請求項4】
前記第2の選択回路は、
前記第1のバス変換回路が変換した前記第2の形式のデータと前記第2のバス変換回路が変換した前記第2の形式のデータのうち、前記選択された第2の形式のデータが有するエラーを検出するエラー検出部を有するとともに、
前記エラー検出部が、前記選択された一のバス変換回路が出力する第2の形式のデータが有するエラーを検出した場合には、前記エラーが検出された一のバス変換回路とは異なる他のバス変換回路が出力する第2の形式のデータを選択することを特徴とする請求項1記載のバス変換装置。
【請求項5】
前記第2の選択回路が有する前記エラー検出部は、
前記選択された一のバス変換回路が出力する第2の形式のデータが有するエラーを検出した場合には、前記エラーが検出された一のバス変換回路とは異なる他のバス変換回路が出力する第2の形式のデータを選択する旨を前記第1の選択回路に通知するとともに、
前記第1の選択回路は、
前記エラーが検出された一のバス変換回路とは異なる他のバス変換回路が出力する第1の形式のデータを選択することを特徴とする請求項4記載のバス変換装置。
【請求項6】
演算処理装置と、
記憶装置と、
入出力装置と、を有し、
前記入出力装置は、第1のバスと第2のバスの間を接続するとともに、前記第1のバス上の第1の形式のデータと前記第2のバス上の第2の形式のデータを互いに変換するバス変換装置を有し、
前記バス変換装置は、
入力された前記第1の形式のデータを前記第2の形式のデータに変換して出力するとともに、入力された前記第2の形式のデータを、前記第1の形式のデータに変換して出力することにより、前記第1の形式のデータと前記第2の形式のデータを互いに変換する第1のバス変換回路と、
入力された前記第1の形式のデータを前記第2の形式のデータに変換して出力するとともに、入力された前記第2の形式のデータを、前記第1の形式のデータに変換して出力することにより、前記第1の形式のデータと前記第2の形式のデータを互いに変換する第2のバス変換回路と、
前記第1のバスと前記第1及び第2のバス変換回路にそれぞれ接続されるとともに、前記第1のバスから受信した前記第1の形式のデータを、前記第1及び第2のバス変換回路に分配して入力させる第1の分配回路と、
前記第2のバスと前記第1及び第2のバス変換回路にそれぞれ接続されるとともに、前記第2のバスから受信した前記第2の形式のデータを、前記第1及び第2のバス変換回路に分配して入力させる第2の分配回路と、
前記第1及び第2のバス変換回路と前記第1のバスにそれぞれ接続されるとともに、前記第1のバス変換回路が変換した前記第1の形式のデータと前記第2のバス変換回路が変換した前記第1の形式のデータのうち、いずれかを選択して前記第1のバスに出力する第1の選択回路と、
前記第1及び第2のバス変換回路と前記第2のバスにそれぞれ接続されるとともに、前記第1のバス変換回路が変換した前記第2の形式のデータと前記第2のバス変換回路が変換した前記第2の形式のデータのうち、いずれかを選択して前記第2のバスに出力する第2の選択回路を有することを特徴とする情報処理装置。
【請求項7】
前記第1の選択回路は、
前記第1のバス変換回路が変換した前記第1の形式のデータと前記第2のバス変換回路が変換した前記第1の形式のデータのうち、前記選択された第1の形式のデータが有するエラーを検出するエラー検出部を有するとともに、
前記エラー検出部が、前記選択された一のバス変換回路が出力する第1の形式のデータが有するエラーを検出した場合には、前記エラーが検出された一のバス変換回路とは異なる他のバス変換回路が出力する第1の形式のデータを選択することを特徴とする請求項6記載のバス変換装置。
【請求項8】
前記第1の選択回路が有する前記エラー検出部は、
前記選択された一のバス変換回路が出力する第1の形式のデータが有するエラーを検出した場合には、前記エラーが検出された一のバス変換回路とは異なる他のバス変換回路が出力する第1の形式のデータを選択する旨を前記第2の選択回路に通知するとともに、
前記第2の選択回路は、
前記エラーが検出された一のバス変換回路とは異なる他のバス変換回路が出力する第2の形式のデータを選択することを特徴とする請求項7記載の情報処理装置。
【請求項9】
前記第2の選択回路は、
前記第1のバス変換回路が変換した前記第2の形式のデータと前記第2のバス変換回路が変換した前記第2の形式のデータのうち、前記選択された第2の形式のデータが有するエラーを検出するエラー検出部を有するとともに、
前記エラー検出部が、前記選択された一のバス変換回路が出力する第2の形式のデータが有するエラーを検出した場合には、前記エラーが検出された一のバス変換回路とは異なる他のバス変換回路が出力する第2の形式のデータを選択することを特徴とする請求項6記載の情報処理装置。
【請求項10】
前記第2の選択回路が有する前記エラー検出部は、
前記選択された一のバス変換回路が出力する第2の形式のデータが有するエラーを検出した場合には、前記エラーが検出された一のバス変換回路とは異なる他のバス変換回路が出力する第2の形式のデータを選択する旨を前記第1の選択回路に通知するとともに、
前記第1の選択回路は、
前記エラーが検出された一のバス変換回路とは異なる他のバス変換回路が出力する第1の形式のデータを選択することを特徴とする請求項8記載の情報処理装置。
【請求項11】
第1のバスと第2のバスの間を接続するとともに、前記第1のバス上の第1の形式のデータと前記第2のバス上の第2の形式のデータを互いに変換するバス変換装置を制御する制御方法であって、
前記バス変換装置は、
入力された前記第1の形式のデータを前記第2の形式のデータに変換して出力するとともに、入力された前記第2の形式のデータを、前記第1の形式のデータに変換して出力することにより、前記第1の形式のデータと前記第2の形式のデータを互いに変換する第1のバス変換回路と、
入力された前記第1の形式のデータを前記第2の形式のデータに変換して出力するとともに、入力された前記第2の形式のデータを、前記第1の形式のデータに変換して出力することにより、前記第1の形式のデータと前記第2の形式のデータを互いに変換する第2のバス変換回路と、を有し、
前記制御方法は、
前記第1のバスから受信した前記第1の形式のデータを、前記第1及び第2のバス変換回路に分配して入力させる第1の分配ステップと、
前記第1のバス変換回路によって変換された前記第2の形式のデータと前記第2のバス変換回路によって変換された前記第2の形式のデータのうち、いずれかを選択して前記第2のバスに出力する第1の選択ステップと、
前記第2のバスから受信した前記第2の形式のデータを、前記第1及び第2のバス変換回路に分配して入力させる第2の分配ステップと、
前記第1のバス変換回路によって変換された前記第1の形式のデータと前記第2のバス変換回路によって変換された前記第1の形式のデータのうち、いずれかを選択して前記第1のバスに出力する第2の選択ステップと、
を実行することを特徴とする制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2010−205216(P2010−205216A)
【公開日】平成22年9月16日(2010.9.16)
【国際特許分類】
【出願番号】特願2009−52973(P2009−52973)
【出願日】平成21年3月6日(2009.3.6)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】