(57)【要約】【課題】ケーブルの誤接続やルーティング設定に誤りがあって、これを自動的に認識し、設定しなおすことのできるディスクドライブの自動認識設定装置を提供する。【解決手段】コントローラは、Expanderに対し、各phyについて、Discover処理を依頼する。コントローラは、Discover処理に対する応答からExpanderに接続されているデバイスの情報を得ると共に、対象のphyを通過する信号のルーティング方法がどのようなものであるべきかを決定する。そして、Discover処理に対する応答で得られたルーティング設定情報から、ルーティング設定が正しいか否かを判断し、間違っている場合には、ルーティング方法の変更コマンドを送信する。個の変更コマンドによってもルーティング方法が変更できなかった場合には、当該phyを使用しないように設定する。【選択図】図３
2008197780.tif 000002
【特許請求の範囲】
【請求項１】
コントローラと、コントローラ、他の拡張手段あるいは、ディスクドライブを接続する拡張手段と、該拡張手段に接続されたディスクドライブとからなるディスクシステムにおけるディスクドライブの自動認識設定装置であって、
該拡張手段の接続ポートのそれぞれについて、どのようなデバイスが接続されているかの情報を取得する情報取得要求を出す情報取得要求手段と、
該取得された情報に基づいて、該接続ポートのルーティング方法が正しく設定されているか否かを判断し、誤っている場合には、誤っているルーティング方法を正しく再設定する再設定要求を送出する再設定要求送出手段と、
を備えることを特徴とする自動認識設定装置。
【請求項２】
前記ディスクシステムは、SAS-1.1インタフェースを搭載したRAID装置であることを特徴とする請求項１に記載の自動認識設定装置。
【請求項３】
前記情報取得要求は、ディスカバリ処理であることを特徴とする請求項２に記載の自動認識設定装置。
【請求項４】
前記ディスカバリ処理に用いるSMPコマンドフレーム内に、変更を実施する接続ポートの識別子、ルーティング方法を変更させるための情報、ルーティング方法を何回変更したかをカウントするための情報を設けることを特徴とする請求項３に記載の自動認識設定装置。
【請求項５】
前記再設定要求に対し、ルーティング方法を再設定できない前記接続ポートは、使用を停止することを特徴とする請求項１に記載の自動認識設定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクドライブの自動認識設定装置に関する。
【背景技術】
【０００２】
図５は、従来技術を説明する図である。
Serial Attached SCSI(SAS) インタフェースを有したハードディスクドライブ（HDD）を搭載したRAID装置では、複数台のHDDを接続させるために、Expanderデバイスが一般的に使用される。Expanderは、図５のように、RAID装置を制御するコントローラ(CM0, CM1)とHDDが搭載されるデバイスエンクロージャ（DE00, DE01, DE02）間に配置され、拡張DEを設置する際にも使用される。
【０００３】
SAS環境では、CM, Expander, HDDは、それぞれphyと呼ばれる送受信のポートをつなげることによって１つのポートを形成しデバイスが接続されるが、Expanderのルーティング方法の設定を考慮して行う必要がある。Expanderに装備されるルーティング方法には、ダイレクト・ルーティング、テーブル・ルーティング、サブトラクティブ・ルーティングという3つの方法があり、その設定は、Expanderのphyごとに指定することができる。ダイレクト・ルーティングというのは、デバイスが１対１に接続されており、SASアドレスの指定に従って、デバイスに直接アクセスするアクセス方法である。テーブル・ルーティングというのは、Expanderに接続されているデバイスのSASアドレスが複数テーブルとして格納されており、SASアドレスの指定によってデバイスへのアクセスが要求された場合に、テーブルを参照して、アクセスデータ等をSASアドレスで示されるデバイスに振り分けるアクセス方法である。サブトラクティブ・ルーティングというのは、アクセス要求されたSASアドレスがルーティングに使うテーブルにない場合には、そのアクセスデータを、他のExpanderが接続されているポートへ転送するというアクセス方法である。ANSIで定められている規格（Serial Attached SCSI - 1.1 (SAS-1.1) Revision 10, p48）では、図５のExpander10, 11, 20, 21のようにホスト側に他のExpanderが接続されているとき、ホスト側のルーティング設定をサブトラクティブ・ルーティングに、逆側をテーブル・ルーティングにすると記述されている。
【０００４】
図５において、Expander00のphyポートphy00〜03には、コントローラCM0のphy00〜03が接続されており、コントローラCM0からExpander00への回線は、４線となっている。また、Expander00のphy08〜0nのｎ−７個のポートには、ディスクエンクロージャDE00に収容されるハードディスクHDDが接続されている。図５では、HDDは、バスに接続されたデバイスのように示されているが、実際には、phy08〜0nのそれぞれのポートに、一対一でHDDが１つずつ接続されている。また、Expander00のphy04〜07には、次に段のExpander10のphy00〜03が接続されている。Expander00とExpander10を接続する線は、４線である。このように、Expanderに次のディスクエンクロージャ（DE）のExpanderを接続し、増設されたExpanderにHDDを接続することで、使用できるHDDの数を多くすることが出来る。また、Expander00のphy00〜03、phy08〜0n、phy04〜07は、それぞれ「Ｔ」と示されている。これは、それぞれのポートがテーブル・ルーティングによってルーティングされることを示している。また、Expander10のphy00〜03は、「Ｓ」と示されており、サブトラクト・ルーティングによってルーティングされることが示されている。Expander10のphy08〜0n、phy04〜07は、やはり「Ｔ」と示されており、テーブル・ルーティングによってルーティングされることが示されている。他の箇所も同様である。
【０００５】
特許文献１には、サーバ、ディスクサブシステム、スイッチ上でそれぞれ稼動するエージェントを設け、エージェントからの情報を使って、ストレージシステムの構成の不整合
を検出する技術が開示されている。
【０００６】
特許文献２には、SCSI及びSASハードウェアの妥当性を確認検査するための技術が開示されている。
【特許文献１】特開２００６−１２１３１号公報
【特許文献２】特開２００３−２６３３４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来の構成において、Expanderのphyの設定が正しくない場合、電源投入時にホスト側からHDDが認識できない可能性があるが、従来のシステムでは、RAID装置の接続形態に合わせて事前にルーティング設定を行っているため、ケーブルの誤接続やルーティング設定に誤りがあった場合など、DE内のHDDすべてにアクセスできなくなってしまう可能性がある。
【０００８】
本発明の課題は、ケーブルの誤接続やルーティング設定に誤りがあって、これを自動的に認識し、設定しなおすことのできるディスクドライブの自動認識設定装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明の自動認識設定装置は、コントローラと、コントローラ、他の拡張手段あるいは、ディスクドライブを接続する拡張手段と、該拡張手段に接続されたディスクドライブとからなるディスクシステムにおけるディスクドライブの自動認識設定装置であって、該拡張手段の接続ポートのそれぞれについて、どのようなデバイスが接続されているかの情報を取得する情報取得要求を出す情報取得要求手段と、該取得された情報に基づいて、該接続ポートのルーティング方法が正しく設定されているか否かを判断し、誤っている場合には、誤っているルーティング方法を正しく再設定する再設定要求を送出する再設定要求送出手段とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ケーブルの誤接続やルーティング設定に誤りがあって、これを自動的に認識し、設定しなおすことのできるハードディスクドライブの自動認識設定装置を提供することができる。
【発明を実施するための最良の形態】
【００１１】
本発明の実施形態においては、RAID装置の電源投入時にExpanderのphyのルーティング設定を確認して、誤っている場合には、CMから自動的に設定を変更するような仕組みを設ける。
【００１２】
図１に本発明の実施形態のブロック図、図２に、ディスカバリ・リスポンス・フレームのフォーマット、図３に設定確認、変更処理のフローチャートを示す。
図１に示されるように、コントローラCM0、ディスクエンクロージャDE00、DE01、DE02、Expander00、10、20からなるディスクシステムは、コントローラCM0の外部インタフェース回路１１により、サーバに接続される。コントローラCM0内部には、RAIDコントローラ１０が設けられている。RAIDコントローラ１０は、SMPコマンド発行部１２とSMPコマンド応答診断部１３からなり、処理に必要な情報を格納しておくメモリ１４が接続されている。Expander00、10、20には、SMPコマンド応答部１５、１６、１７が設けられており、RAIDコントローラ１０から送信されてきたSMPメッセージに応答するように構成されている。
【００１３】
まず、電源投入時には、直結されているデバイス同士（CM0とExpander00、Expander00とディスクエンクロージャDE00のディスク、Expander00とExpander10など）でイニシャライズが行われる。イニシャライズ処理でExpanderデバイスがいることを認識したCM0は、Expander00に対してディスカバリ処理を行い、Expanderに接続されているデバイスの情報取得を行う。このDiscoverコマンドはSMP（Serial Management Protocol）というコントローラがExpanderデバイスを管理するときに使用されるプロトコルを使用する。Discoverの機能自体は、SAS-1.1の仕様書でその機能が規定されている、ポートに何が接続されているかの情報を集めるための機能である。CM0内のRAIDコントローラは、Expanderのphyの最大番号がnのときには、phy0〜nまですべてに対してDiscoverコマンドを発行する。RAIDコントローラ内のSMPコマンド発行部１２は、Expanderの当該のphyに対してDiscover request Frameを発行する。Expanderは、当該phyのデバイス接続状況を確認して、Discover response Frame（図３）を応答する。
【００１４】
図２は、ディスカバリ・レスポンス・フレームのフォーマットを示している。
図２のディスカバリ・レスポンス・フレームにおいては、Functionの値が「１０ｈ」に設定されているが、この設定値が、図２のフレームがディスカバリ・レスポンス・フレームであることを示している。このディスカバリ・レスポンス・フレームに設定されて送られてくる、各phyに接続されたデバイスSASアドレス等の情報をCM0が取得することにより、CM0は、自身に接続されている全てのデバイスの情報を得ることができる。図２のフレームの各部の詳細は、Serial Attached SCSI - 1.1 (SAS-1.1) Revision 10, 10.4.3.5 DISCOVER function (p.452〜459）の記載を必要に応じて参照されたい。
【００１５】
Discover response Frameを受領したCM0内のSMPコマンド応答診断部１３は、Attached デバイス Type(図２のByte12 bit4〜6)がEnd デバイス(CM0, HDD)、新規のExpander デバイス(Expander10)であるときは、Routing Attribute(図２のByte44 bit0〜3)がテーブル・ルーティングであることをチェックする。CM0は、Expander00へのディスカバリによって、Expander10が接続されていることを認識したため、Expander10に対してディスカバリを行なう。このとき、SMPコマンド応答診断部１６は、Attached デバイス Type(図２のByte12 bit4〜6)がEnd デバイス(HDD)、新規のExpander デバイス(Expander20)であるときは、Routing Attribute(図２のByte44 bit0〜3)がテーブル・ルーティングであることをチェックする。また、Attached デバイス Type(図２のByte12 bit4〜6)が既知のExpander
デバイス(Expander00)であるときは、サブトラクティブ・ルーティングであることをチェックする。CM0は、Expander10へのディスカバリによって、Expander20が接続されていることを認識したため、Expander20に対してディスカバリを行なう。このとき、SMPコマンド応答部１７からのDiscover response Frame の情報を読んで、CM0は、Attached デバイス Type(図２のByte12 bit4〜6)がEnd デバイス(HDD)であるときは、Routing Attribute(図２のByte44 bit0〜3)がテーブル・ルーティングであることをチェックする。また、Attached デバイス Type(図２のByte12 bit4〜6)が既知のExpander デバイス(Expander10)であるときは、サブトラクティブ・ルーティングであることをチェックする。さらに、次の拡張DEを構成する場合でも、上記のように、Expanderに接続されているデバイスがEnd デバイスもしくは、ディスカバリによって新たに検出されたExpanderの場合には、テーブル・ルーティングの設定を確認して、既知のExpander デバイスである場合には、サブトラクティブ・ルーティングの設定をチェックする。
【００１６】
SMPコマンド応答診断部１３で異常を検出した場合（ルーティング方法が間違っている場合）、Discoverシーケンスを一時ストップさせてExpanderのphy設定の変更を行うためにSMPコマンド発行部１２でコマンドを作成する。このphyの設定を実現させるために、SMPに新たな機能を設ける。SMPコマンドフレーム内には、リザーブされているフィールドを用いて、変更を実施するphy IDのbit(8bit分), Routing Attributeのレジスタ設定を変更させるためのbit（4bit, Direct routing : 0h, Table routing  : 01b, Subtractive ro
uting : 02h）, Routing方法を何回変更したかをカウントするためのbit(8bit)を用意する。SMPコマンド発行部１２は、そのときの異常内容から、変更させる情報を埋め込んでSMPコマンドを発行する。そのコマンドを受領したExpanderは、phyの設定変更を行い、SMP
Response Frame にて正常終了、異常終了をCMに応答する。正常終了した場合には、次のphyに対してDiscover処理を再開し、異常終了した場合には、CMは、設定変更のためのコマンドを再発行する。それでも、異常終了する際には、SMPのphy Control コマンドを使用して、当該phyを使用できないようにphy を Disableにし、システム全体に影響がでないように当該phy の切り離しを行う。
【００１７】
図３は、本発明の実施形態の処理フローである。
図３の左側がCMの処理であり、真ん中がExpanderの処理であり、ExpanderにHDDが接続されている。まず、ステップＳ１０において、CMがExpanderにDiscover処理を依頼する。Expanderは、Discoverを依頼されたphyの接続状態を確認し、CMにDiscover Response Frameを返す。CMでは、ステップＳ１３において、受信したDiscover Response Frameから、当該phyに接続されているデバイスがEnd Device（ディスクやExpander等が接続されたネットワークの終端部分のデバイス：HDD）か否かを判断する。ステップＳ１３の判断がＹｅｓの場合には、ステップＳ１５に進む。ステップＳ１３の判断がＮｏの場合には、ステップＳ１４において、接続されているデバイスが、Edge Expander（ネットワークの途中につながっているExpander）か否かを判断する。ステップＳ１４の判断がＮｏの場合には、ステップＳ１５で、Routing Attributeをテーブル・ルーティングであるべきとして、ステップＳ１８に進む。ステップＳ１４の判断がＹｅｓの場合には、ステップＳ１６において、接続されているデバイスが既知のExpanderであるか否かを判断する。ステップＳ１６の判断がＮｏの場合には、ステップＳ１５に進む。ステップＳ１６の判断がＹｅｓの場合には、ステップＳ１７に進んで、Routing Attributeをサブトラクティブ・ルーティングであるべきとして、ステップＳ１８に進む。ダイレクト・ルーティングは、コントローラとディスクが１対１に接続される場合に使用されるものであるので、Expanderの設定では必要はない。
【００１８】
ステップＳ１８において、CMは、ルーティング設定のチェックを行う。ステップＳ１８の判断がＯＫの場合には、ステップＳ２７に進む。ステップＳ１８の判断がＮＧの場合には、ステップＳ１９に進んで、SMPコマンドを作成し、ステップＳ２０において、SMPリクエストコマンドの発行を行う。そして、ステップＳ２１において、当該phyのRouting Attributeの変更処理を行う。ステップＳ２２では、変更処理の結果として、SMPリスポンスコマンドを発行し、ステップＳ２３において、リスポンスのチェックを行う。ステップＳ２３の判断が１回目のＮＧだった場合には、ステップＳ１９に戻る。ステップＳ２３の判断が２回目のＮＧだった場合には、ステップＳ２４に進む。ステップＳ２３の判断がＯＫだった場合には、ステップＳ２７に進む。ステップＳ２４では、phy controlコマンドを発行する。ステップＳ２５では、当該phyが使用しないように、phyのDisable処理を行い、ステップＳ２６において、SMPリスポンスコマンドを発行し、ステップＳ２７に進む。
【００１９】
ステップＳ２７では、次のphyへDiscover処理要求を発行し、ステップＳ２８に進む。ステップＳ２８では、全てのExpanderのphyについて、Discoverを行ったか否かを判断する。ステップＳ２８の判断がＮｏの場合には、ステップＳ１０に戻り、Ｙｅｓの場合には、処理を終了する。
【００２０】
図４は、phy control の Frame体系を示す図である。
ここで、ExpanderのphyをDisableにする方法を説明する。図４のフォーマットのByte10に行いたいオペレーション内容を入れるのであるが、phyのDisableにするには、Byte10に03h Operation: Disableを設定する。この処理によって、当該phyは使用できなくなり、物理的にHDDやイニシエータは外さなくてもシステムから切り離すことが出来る。
【００２１】
図４のフォーマットのByte10に設定するオペレーション内容の種類の概要については、以下の表を参照されたい。詳細は、Serial Attached SCSI - 1.1 (SAS-1.1) Revision 10, 10.4.3 SMP functionsの各種フレームフォーマットの説明に記載されている。
【００２２】
【表１】
2008197780.tif 000003
【００２３】
以上の処理をすることによって、磁気ディスク装置の電源投入時に、ケーブルの誤接続やルーティング設定を意識することなく運用を開始させることができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態のブロック図である。
【図２】ディスカバリ・リスポンス・フレームのフォーマットを示す図である。
【図３】本発明の実施形態に従った、設定確認、変更処理のフローチャートである。
【図４】phy control の Frame体系を示す図である。
【図５】従来技術を説明する図である。
【符号の説明】
【００２５】
１０      RAIDコントローラ
１１      外部インタフェース回路
１２      SMPコマンド発行部
１３      SMPコマンド応答診断部
１４      メモリ
１５〜１７      SMPコマンド応答部
【図１】
2008197780.tif 000004
【図３】
2008197780.tif 000005
【図２】
2008197780.tif 000006
【図４】
2008197780.tif 000007
【図５】
2008197780.tif 000008