JP2009540436A - 障害を分離するsasエクスパンダ - Google Patents

障害を分離するsasエクスパンダ Download PDF

Info

Publication number
JP2009540436A
JP2009540436A JP2009514447A JP2009514447A JP2009540436A JP 2009540436 A JP2009540436 A JP 2009540436A JP 2009514447 A JP2009514447 A JP 2009514447A JP 2009514447 A JP2009514447 A JP 2009514447A JP 2009540436 A JP2009540436 A JP 2009540436A
Authority
JP
Japan
Prior art keywords
sas
expander
sas expander
phy
microprocessor
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.)
Withdrawn
Application number
JP2009514447A
Other languages
English (en)
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.)
Seagate Cloud Systems Corp
Original Assignee
Dot Hill Systems Corp
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
Priority claimed from US11/552,140 external-priority patent/US7536584B2/en
Application filed by Dot Hill Systems Corp filed Critical Dot Hill Systems Corp
Publication of JP2009540436A publication Critical patent/JP2009540436A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Hardware Redundancy (AREA)

Abstract

SASエクスパンダは、SAS PHYに結合された対応するSASリンク上でSASデバイスとの信号の送受信を行うために、SAS PHYを含む。SASエクスパンダは、SASリンク上の通信に関する障害検出パラメータを提供する状態レジスタを含む。SASエクスパンダのマイクロプロセッサは障害検出パラメータに基づいて、SASリンクのうちの1つで障害のある通信を識別し、マイクロプロセッサが障害のある通信を識別したSASリンクに結合されたSAS PHYのうちの対応する1つを無効にする。このマイクロプロセッサはまた、PHYを無効にしたことをSASイニシエータに報告してもよい。このマイクロプロセッサはまた、例えばSASデバイスからの表示であるユーザ入力に応じて、または修正アクションを自動的に検出することに応じて、修正アクションが行われた後にPHYを再び有効にしてもよい。このエクスパンダはまた、自動的に修正アクションを行ってもよい。障害検出パラメータはエラーカウンタおよび対応するしきい値、割り込みインジケータ、ならびに状態値を含んでもよい。
【その他】 本願に係る特許出願人の国際段階での記載住所は「アメリカ合衆国92008カリフォルニア州カールスバッド、ファラディ・ドライブ・2200、スイート・100」ですが、識別番号305049089を付与された国内書面に記載の住所が適正な住所表記であります。

Description

本出願は、参照により本明細書に組み込まれている、2006年6月8日に出願した米国仮出願第60/804,267号の優先権を主張するものである。
本発明は一般に、シリアルアタッチドSCSI(SAS)システムに関し、より詳細にはSASエクスパンダに関する。
シリアルアタッチドSCSI(SAS)システムは、現代のコンピュータシステムにおいて、ますます一般的なものになっている。SASシステムは、その原型であるスモールコンピュータシステムインタフェース(SCSI)がそうであるように、SASイニシエータデバイスおよびSASターゲットデバイスを含む。SASターゲットデバイスは典型的に、低価格ディスク冗長アレイ(RAID)(Redundant Arrays of Inexpensive Disks)コントローラのホストコンピュータまたはSASI/OコントローラのSASホストバスアダプタなどのSASイニシエータデバイスからコマンドを受信するディスクドライブなどのストレージデバイスである。
SASの実装例および使用法は、すべての意図および目的について、各々がその全体において参照により本明細書に組み込まれている、以下の文書の中で詳細に説明されている。
・「Serial Attached SCSI−1.1(SAS−1.1)」、改訂10、2005年9月21日、作業草案、プロジェクトT10/1601−D、整理番号ISO/IEC14776−151:200x、米国規格協会(http://www.t10.org/ftp/t10/drafts/sas1/sas1r10.pdf)
・「Serial Attached SCSI−2(SAS−2)」、改訂6、2006年9月22日、作業草案、プロジェクトT10/1760−D、整理番号ISO/IEC14776−152:200x、米国規格協会(http://www.t10.org/ftp/t10/drafts/sas2/sas2r06.pdf)
SASシステムは、SAS装置の間のポイント対ポイントのシリアル接続上に構築されている。各ポイント対ポイント接続はリンクまたはレーンと呼ばれ、2つのエンドポイントは、PHYと呼ばれる。PHYはトランシーバを含み、リンクの一方のエンドにある別のPHYと通信するために、リンクに電気的に接続する。このリンクまたはレーンは、各方向にある2つの異なる信号ペアを含む。SASポートは1つまたは複数のPHYを含む。まとめられた2つ以上のPHYを有するSASポートは、ワイドポートと呼ばれ、2つのワイドポートを結合する2つ以上のリンクは、ワイドリンクと呼ばれる。ワイドポートおよびリンクは、SASエンドポイントの間で、増加されたデータ転送速度を提供する。
最も単純なSASトポロジは、単一のSASターゲットのSASポートへの単一のSASリンクによって接続された、SASポートを有する単一のSASイニシエータである。しかしながら、高データアベイラビリティRAIDシステムなど、多くのアプリケーションでは、1つまたは複数のSASイニシエータが、複数のSASターゲットデバイスと通信できるようにすることが望ましい。イニシエータおよびターゲットの他に、SASは、より複雑なトポロジを達成するためにSASシステムの中で用いられる、第3の種類のデバイスであるエクスパンダを含む。SASエクスパンダは、SASイニシエータおよびターゲットがSASポイント対ポイント接続を介して通信することができるように、ルーティングなどのスイッチと同様の機能を実行する。
本発明者は、論理的なエラー、不適切なPHYのアナログ設定、不良もしくは限界にあるPHY、または不良もしくは限界にあるケーブル、コネクタもしくはプリントされた回路基盤組立物の見取り図を含んでもよい、不良もしくは限界にあるリンクを生成するSASデバイスなど、構成要素が限界または不良になった場合に、複雑なトポロジのSASシステムの中で様々な問題を見てきた。いくつかの障害のある構成要素の症状は、SASデバイス間の断続的な通信エラー、SASリンクの完全なロス、SAS領域全体の故障を含む。その他の症状は、SASデバイスが、トポロジの中に入ることを許されるには十分によく機能するようにするが、SASデバイス間の効果的な通信を妨げるには十分に障害があるようにする断続的な故障によって、イニシエータがトポロジの中のSASターゲットを見ることができないということである。
これらの問題に対処する1つの方法は、イニシエータに基づく解決法である。イニシエータは障害のある構成要素を識別して、イニシエータが問題を分離するまで、試行錯誤のアプローチの中の領域にある様々なPHYを無効にし、迂回するために、SAS領域を通じてコマンドを送信する。しかしながら本発明者は、このイニシエータに基づく方法によって満足に修復されることが不可能な、いくつかの欠点のあるシナリオを見てきた。例えば、SASエクスパンダが、最初にSASリンクが適切に動作していることを検出し、その後、リンクが適切に動作していないことを検出するようにし、比較的長い時間この連続が継続するようにする限界にあるPHYなど、コンポーネントが断続的に故障すると仮定する。SAS規格に従って、SASエクスパンダは、別のSAS装置にSAS領域内の状態の変化を通知するために、そのSASポートの各々でBROADCASTプリミティブを送信しなければならない。SASイニシエータがBROADCASTプリミティブを受信する度に、デバイスの種類、SASのアドレス、およびSAS領域の中の各SAS装置の支援されるプロトコルを発見するため、ならびに必要に応じてSASエクスパンダ内でルーティング表を構成するために、SAS発見プロセスを実行することが必要とされる。SAS発見プロセスには、比較的多くの時間がかかる可能性がある。SASエクスパンダが、SAS発見プロセスの時間に相当する期間に応じた動作可能リンクから動作不可能リンクへの移行によって、BROADCASTプリミティブを送信する場合、結果的にSASイニシエータは、問題を識別し、修復するために、SAS領域を通じてコマンドを効果的に送信することができない場合がある。または、たとえイニシエータが問題をうまく識別し、解決することができたとしても、SAS領域は許容不可能な長さのために、ユーザデータの転送を提供するために効果的に利用することができなかった場合がある。
したがって、前述の問題を起こしやすいSASシステムの中で、データ可用性を改善するための解決法が必要とされている。
本発明は、リンクのうちの1つで障害のある通信を自動的に検出し、障害のある通信を検出する、リンクに接続されたPHYを無効にすることによって、その障害を分離する高機能SASエクスパンダを提供する。1つの実施形態で、高機能SASエクスパンダはまた、PHYを無効にすることを報告する。1つの実施形態で、高機能SASエクスパンダはまた、修正アクションが行われた後で、以前に無効にされたPHYを再び有効にすることによって回復を行う。高機能SASエクスパンダは、障害のある通信を検出し、PHYを無効にすることによって障害のある構成要素を分離するために、様々な障害検出パラメータを監視し、分析する。
1つの態様で、本発明は、シリアルアタッチドSCSI(SAS)デバイス間の通信を容易にするためにSASエクスパンダを提供する。このSASエクスパンダは、複数のSAS PHYに接続された対応する複数のSASリンクでSASデバイスとの信号の送受信を行うために、複数のSAS PHYを含む。このSASエクスパンダはまた、SASリンク上の通信に関する障害検出パラメータを提供するように構成された、複数のSAS PHYに結合された状態レジスタも含む。このSASエクスパンダはまた、状態レジスタに結合されたマイクロプロセッサも含む。このマイクロプロセッサは、状態レジスタによって提供された障害検出パラメータに基づいて、SASリンクのうちの1つで障害のある通信を識別する。このマイクロプロセッサはまた、マイクロプロセッサが障害のある通信を識別したSASリンクのうちの1つに結合された、複数のSAS PHYのうちの対応する1つを無効にする。
別の態様で、本発明は、シリアルアタッチドSCSI(SAS)イニシエータと複数のSASターゲットストレージデバイスとの通信を容易にするためにPHYを有するSASエクスパンダを含むSASシステムの中で、データ可用性を増加させるための方法を提供する。この方法は、SASエクスパンダのPHYに接続されたSASリンク上で障害のある通信を識別するSASエクスパンダを含む。この方法はまた、障害のある通信を識別することに応じて、SASエクスパンダのPHYを無効にするSASエクスパンダを含む。
別の態様で、本発明はシリアルアタッチドSCSI(SAS)システムを提供する。このシステムはSASイニシエータ、複数のSASターゲットストレージデバイス、および複数のSASリンクによって、SASイニシエータと複数のSASターゲットデバイスとに接続されたSASエクスパンダを含む。このSASエクスパンダは、複数のSASリンクに結合するために、複数のPHYを含む。このSASエクスパンダは、複数のSASリンクのうちの1つの上で障害のある通信を識別し、それに応じて、複数のSASリンクのうちの識別された1つに接続された複数のPHYのうちの1つを無効にする。
本発明の利点は、本発明が、SASシステムの中の障害に反応するために、SASイニシエータに基づく解決法よりも直接的、決定的および強力な方法を提供するということである。特に、本明細書で説明されている高機能SASエクスパンダは、本明細書で説明されているように、一部の障害のあるモードでは効果的ではないか、または許容できない場合があるイニシエータに基づく解決法によって必要とされるように、PHYを無効にするためにSAS領域を通じたコマンドの送信に依存することなく、PHYを制御するSASエクスパンダ内のレジスタに直接アクセスすることによって、検出された障害に関連したPHYを直接無効にすることができる。
ここで図1を参照すると、本発明によるSASシステム100のブロック図が示されている。SASシステム100は、各々がイーサネット(登録商標)、ファイバチャネル等のホスト相互接続を介して2つのSASベースRAIDコントローラ104に結合されている2つのホストコンピュータ108を含む。各RAIDコントローラ104は、ワイドSASリンク112を介して、対応するSASエクスパンダ102に結合されている。図1の実施形態では、RAIDコントローラ104とSASエクスパンダ102との間のワイドSASリンク112は、4xの幅である。SASエクスパンダ102の各々は、対応するSASリンク112を介して複数のSASディスク106に結合されている。図1の実施形態では、SASエクスパンダ102とSASディスク106との間のSASリンク112はナロー(すなわち1x)SASリンク112である。RAIDコントローラ104、SASエクスパンダ102およびSASディスク106は、エンクロージャ114で囲まれている。さらに、エンクロージャ114内部のSASエクスパンダ102は、SASリンク112を介して接続されている。1つの実施形態で、エクスパンダ間SASリンク112は4x幅のリンクである。エクスパンダ間SASリンク112は有利にも、もう一方のRAIDコントローラ104に直接接続されたSASエクスパンダ102を通じてSASディスク106の各々と通信するために、各RAIDコントローラ104のための第2SAS経路を提供する。
SASシステム100のSASエクスパンダ102は有利にも、SASエクスパンダ102PHYのうちの1つに接続されたSAS112リンク上で障害のある通信を識別する能力を含む高機能SASエクスパンダ102である。さらに、高機能SASエクスパンダ102は、識別されたPHYを無効にして、PHY自体であってもよい障害のある構成を、SASシステム100の残りのものから分離する能力を含む。さらに高機能SASエクスパンダ102は、無効にされたPHYを報告する能力を含む。最後に、高機能SASエクスパンダ102は、障害のある状態から回復する能力を含む。1つの実施形態で、ユーザは、障害のある構成要素(例えば障害のあるケーブル、障害のあるSASディスク106、またはその他の障害のある構成要素など)の交換などの修正アクションを行うSASエクスパンダ102に通知を行い、SASエクスパンダ102はそれに応じて、以前に無効にされたPHYを再び有効にすることによって、SASエクスパンダ102とその他のデバイスとの間の通信を修復する。1つの実施形態で、SASエクスパンダ102は、ユーザが障害を修復したことを自動的に検出し、それに応じてPHYを再び有効にするために十分に高機能である。1つの実施形態で、SASエクスパンダ102は、信頼できる通信が復元されるまで、PHYのアナログ設定を調整することなどの障害を修復するためのアクションを自動的に行うために十分に高機能なものである。SASエクスパンダ102は、以下で詳細に説明されるように、SASリンク112上の障害のある通信を識別するために、PHYに関連した状態レジスタを監視し、レジスタを制御してPHYを無効および再び有効にすることの書き込みを行い、報告機能を実行するマイクロプロセッサを含む。
図1のSASシステム100はまた、上で説明された第1エンクロージャ114と同様の第2および第3エンクロージャ114を含むが、第2および第3エンクロージャ114はRAIDコントローラ104を含まず、SASディスク106および2つのSASエクスパンダ102だけを囲むために用いられる。第1エンクロージャ114の中の各SASエクスパンダ102は、対応するワイドSASリンク112を介して、第2エンクロージャ114の中のSASエクスパンダ102のうちの対応する1つに接続されている。同様に、第2エンクロージャ114の中の各SASエクスパンダ102は、対応するワイドSASリンク112を介して、第3エンクロージャ114の中のSASエクスパンダ102のうちの対応する1つに接続されている。1つの実施形態で、各エンクロージャ114はRAIDコントローラ104、SASエクスパンダ102、電源、冷却システム、管理コントローラ、およびストレージシステム業界でよく知られているその他の構成要素に加えて、12個までのSASディスク106を囲むことができる。
図1のSASシステム100は有利にも、SASシステム100の障害許容度を増加させるために、冗長な方法で配置されている。特に、各SASディスク106はRAIDコントローラ104の各々によってアクセス可能なので、RAIDコントローラ104、SASリンク112またはSASエクスパンダ102が故障した場合、ホスト108は故障していないRAIDコントローラ104またはSAS経路を介して、SASディスク106にアクセスし続けてもよい。図1のSASシステム100は、本発明が用いられてもよいSASシステム100の例であることが意図されている。しかしながら、本発明は図1に示されているシステム構成に限定されるわけではない。本発明はむしろ、SASエクスパンダを含む様々なSASトポロジの中で用いられてもよい。一部の実施形態で、ホスト108はまた、第1エンクロージャ114の中に含まれてもよい。
上述のように、SASリンク112はケーブル、コネクタ、および信号コンダクタを含むプリントされた回路基盤組立物などの様々な構成要素を含んでもよい。1つの実施形態で、SASエクスパンダ102は、本発明者が本明細書で説明されている本発明の障害識別、分離、報告および修理ステップを実行するために(以下で論じられる)コード222を変更している、カリフォルニア州サンタクララのPMC−Sierra社から入手可能なPM8388SXP24x3G24ポートSASエクスパンダを含む。別の実施形態では、SASエクスパンダ102はPM8387SXP36x3G36ポートSASエクスパンダ、PM8399SXP24x3GSEC24ポートSASエクスパンダまたはPM8398SXP36x3GSEC24ポートSASエクスパンダの以下のPMC−Sierraモデルの変更バージョンを備える。
図1は、SASディスク106を含むSASシステム100を示しているが、本発明は、SAS領域内でSASディスクと共用利用可能なSATAディスク106を含むSASシステム100の中で用いられてもよい。特にSATAトンネルプロトコル(STP)は、SAS/SATAイニシエータがSASハードウェアインフラ上でSATAディスクと通信する手段を提供する。
ここで図2を参照すると、図1のSASエクスパンダ102をより詳細に示すブロック図が示されている。SASエクスパンダ102はメモリ204および複数のSASポート216に結合されたマイクロプロセッサ202を含む。メモリ204は、本明細書で説明されている障害識別、分離、報告および修理ステップを達成するために、マイクロプロセッサ202によってフェッチされ、実行されるコード222命令を格納する。メモリ204はまた、以下で論じられるように、マイクロプロセッサ202が障害のある通信を検出するために(図3に関して以下で説明される)カウンタ値392と比較する、しきい値224も格納する。
各SASポート216は、図1のSASリンク112のうちの1つに接続された1つまたは複数のSAS PHY208を含む。示されているように、SASポート216のうちのいくつかはワイドSASポート216であり、いくつかはナローSASポート216である。各SASポート216はまた、SAS SERDES回路(不図示)も含む。
SASエクスパンダ102はまた、マイクロプロセッサ202が(図3に関して以下で説明される)障害検出パラメータ300を監視し、PHY208を無効および有効にするなど、PHY208を制御するために読み出しおよび書き込みを行う、各PHY208に関連した制御および状態レジスタ(CSR)206のセットも含む。障害検出パラメータ300およびそれらの使用法は、残りの図面に関して以下でより詳細に説明される。さらに障害検出パラメータ300は、SASリンク112上の通信に関連したイベントをマイクロプロセッサ202に知らせるために示される、PHY208からの割り込みインジケータ218を含む。
SASエクスパンダ102はまた、様々なPHY208が1つのPHY208から別のものへコマンドおよびデータを転送して、SASエクスパンダ102の切り換え機能を実行することができるようにするために様々なPHY208を相互接続する、多重化されたデータ経路(例えばクロスバーなど)および切り換え回路(不図示)も含む。SASエクスパンダ102はまた、ポート216の中で受信し、ポート216の外で送信されるのを待機している場合にコマンドおよびデータをバッファするために、PHY208の各々に関連したバッファリング回路も含んでよい。コマンドおよびデータは、1つの実施形態ではメモリ204の中に格納されているルーティング表情報に基づいて、ポート216間のネットワークを通じて発送される。
ここで図3を参照すると、本発明による障害検出パラメータ300を示すブロック図が示されている。障害検出パラメータ300は割り込みインジケータ218、CSR206に格納された値、および図2のメモリ204に格納された値を含む。障害検出パラメータ300は一般に、カウンタ392、割り込みインジケータ218、状態394、CSR206に格納されたしきい値396、および図2のメモリ204に格納されたしきい値224に分類することができる。障害検出パラメータ300はまた、CSR206に格納されたパフォーマンス監視期間372も含み、その使用法は以下で説明される。
マイクロプロセッサ202は、各カウンタ392の各々のために、対応するしきい値396を維持する。しきい値396のうちのいくつか、すなわちディスパリティエラーインターバルしきい値362およびコード違反エラーインターバルしきい値364はCSR206の中に格納され、SASエクスパンダ102ハードウェアは、それらを自動的に対応するカウンタ392値と比較し、しきい値を超えている場合には割り込みを生成する。その他のカウンタ392値に対応するしきい値224はメモリ204の中に格納され、マイクロプロセッサ202はSASリンク112上の障害のある通信を識別するために、カウンタ392値か、または周期的にサンプリングされたカウンタ392値から導き出された累積カウントを、しきい値224と周期的に比較する。
カウンタ392は、PHY再設定シーケンスの外部で受信された無効なDWORDの数を示す無効DWORDカウント302、PHY再設定シーケンスの外部で受信された実行中ディスパリティエラーの数を示すディスパリティエラーカウント304、ビットストリーム上でデコードエラーが検出された回数を示すコード違反カウント306、dword同期を失ったためにPHY208がリンク再設定シーケンスを再開した回数(すなわちPHY208がPHY準備状態からCOMINIT状態になった回数)を示すDWORD同期のロスカウント308、最終SAS速度の折衝の間にPHY208がdword同期の取得に失敗した回数を示すPHY再設定の失敗カウント312、受信されたIDENTIFYおよびOPENアドレスフレームのために検出されたCRC DWORDエラーの数を示すCRCエラーカウント314、接続中のCRCエラーの数を示す接続中CRCエラーカウント316および生成されたPHY変更イベントの数を示すPHY変更カウント318を含む。
割り込みインジケータ218は、PHY208が初期化を完了し、データを送受信する準備ができていることを示す(PHY208は、COMINITが検出された後にだけ準備完了となる)PHY準備割り込み322、有効COMINITバンド外(OOB)シーケンスがうまく折衝を完了したことを示すCOMINIT割り込み324、有効DWORDが受信され、内部エラスティックストアまたはバッファがいっぱいであることを示すエラスティックストア超過割り込み326、パフォーマンス監視期間372の中で特定されたクロックサイクル数の間にディスパリティエラーインターバルしきい値362を上回ったことを示すディスパリティエラー割り込み328、パフォーマンス監視インターバル372の中で特定されたクロックサイクル数の間に、コード違反エラーインターバルしきい値364を上回ったことを示すコード違反エラー割り込み332、PHY208上のDWORD同期が失われ、その結果PHY208がリンク再設定シーケンスを再開したことを示すDWORD同期のロス割り込み334を含む。
状態394は、ポート216が接続された状態にあるかどうかを示すリンク接続状態342、PHY208が現在DWORD同期を失っていることを示すDWORD同期紛失状態344、ポート216がうまくリンク初期化シーケンスを完了したかどうかを示すinitパス状態346、デバイスがPHY208に接続されているかどうかを示すデバイスの存在状態348、SASまたはSATAデバイスが接続されているものとして検出されたかどうかを示す添付デバイス型状態352、最後の折衝されたライン速度が1.5または3.0Gbits/secであるかどうかを示す速度状態354、PHY208再設定しきい値に達したことを示すPHY再設定限界飽和状態356を含む。
1つの実施形態で、SASエクスパンダ102は、様々な障害検出パラメータ300を設定および取得し、PHY208の状態を取得し、個々のPHY208を直接有効または無効にするRAIDコントローラ104からSCSIエンクロージャサービス(SES)ページを受信するように構成されている。1つの実施形態で、SESページなどの制御および状態情報は、IC接続またはその他の通信経路など、エンクロージャ114内部のSASエクスパンダ102間のバンド外通信経路を介して送信されてもよい。PHY208を接続しているSASケーブルに障害がある場合に起こる可能性があることだが、SASエクスパンダ102が、SASエクスパンダ102をアップストリームのSASエクスパンダ102に接続するすべてのPHY208を無効にしている場合、有利にもバンド外通信経路が用いられてもよい。SASエクスパンダ102が無効化を行うことは、PHY208を無効にしたことを示す状態情報を、エンクロージャ114の中の別のSASエクスパンダ102に通信してもよい。この状況で再起動を回避するために、ユーザは、エンクロージャ114の中の別のSASエクスパンダ102が、PHYを無効にされたSASエクスパンダ102に、バンド外通信経路を介してSESページをブロードキャストして、ケーブルが交換された後に無効にされたPHY208を再び有効にするように、PHYを無効にされたSASエクスパンダ102に指示を出すようにしてもよい。バンド外通信経路は、SASの仕様がSASトポロジ内部でループを認めないために存在しない可能性があるエクスパンダ間SASリンク112を持たないエンクロージャ114の内部にあるSASエクスパンダ102にとって、特に有用である。さらに、SASエクスパンダ102は、SASエクスパンダ102の不揮発性メモリの中に格納されており、SASエクスパンダ102の起動時に用いられる障害検出パラメータ300のデフォルト値を含む。このデフォルト値は、動作の間にRAIDコントローラ104か、またはマイクロプロセッサ202によって変更されてもよい。
ここで図4を参照すると、本発明の1つの実施形態による図1のSASシステム100の動作を示す流れ図が示されている。流れはブロック402で開始する。
ブロック402で、図1のSASエクスパンダ102の図2のマイクロプロセッサ202は、そのPHY208の各々の図3の障害検出パラメータ300を周期的に監視する。割り込みインジケータ218は、マイクロプロセッサ202によってポーリングされる。1つの実施形態で、割り込みインジケータ218は割り込み要求信号として、マイクロプロセッサ202によって非同期で受信される。1つの実施形態で、障害検出パラメータ300の監視に応じて、マイクロプロセッサ202はまた、状態情報をRAIDコントローラ104に提供するために維持するデータベースを更新する。1つの実施形態で、状態情報はSESページを介して提供される。1つの実施形態で、障害検出パラメータ300の監視に応じて、マイクロプロセッサ202はまた、複数の監視期間にわたりメモリ204の中に格納された累積エラーカウントを維持し、更新する。1つの実施形態で、この監視期間はマイクロプロセッサ202に対するタイマ割り込みによって判定される。流れはブロック404へ進む。
ブロック404で、マイクロプロセッサ202は、ブロック402での監視に基づいて、そのPHY208のうちの1つに接続されたSASリンク112上で障害のある通信を識別する。マイクロプロセッサ202は、PHY208を無効にする必要があるかどうかを判定するために、障害の表示のためにコード222の中で具体化された分離規則に従って、障害検出パラメータ300を分析する。障害のある通信の識別は、本明細書で論じられているような様々な基準を含んでもよい。分離規則は、PHY208が1つまたは複数の特定の状態に達したこと、1つまたは複数の割り込みインジケータ218によって示されるように、1つまたは複数の特定のイベントが生じていること、およびそれらの様々な組合せを検出することによって、しきい値を超える1つまたは複数の様々なカウントによって起動されてもよい。1つの実施形態で、マイクロプロセッサ202は、PHY208が有効である場合には、PHY208に関連した障害のある通信だけを識別する。1つの実施形態で、マイクロプロセッサ202は、分離がPHY208のために許可されている場合には、PHY208に関連した障害のある通信だけを識別する。1つの実施形態で、SASエクスパンダ102は、個々のPHY208を選択的に有効および無効にするため、ならびに個々のPHY208の分離を選択的に許可および否認するために、RAIDコントローラ104からSESページを受信する。流れはブロック406へ進む。
ブロック406で、マイクロプロセッサ202は、ブロック404で識別されたPHY208を無効にするために、制御レジスタ206へ書き込みを行う。流れはブロック408へ進む。
ブロック408で、SASエクスパンダ102は、PHY208がRAIDコントローラ104の1つか、または両方に対して無効にされたという事実を報告する。1つの実施形態で、SASエクスパンダ102はまた、PHYが無効にされた理由も報告する。1つの実施形態で、SASエクスパンダ102はまた、PHY208を無効にする判定を行うために、SASエクスパンダ102によって使用されるすべてのしきい値も報告する。1つの実施形態で、SASエクスパンダ102は、RAIDコントローラ104にSES診断ページを送信することによって報告を行う。1つの実施形態で、SASエクスパンダ102は、RAIDコントローラ104にシリアル管理プロトコル(SMP)メッセージを送信することによって報告を行う。1つの実施形態で、SASエクスパンダ102は、RAIDコントローラ104が各PHY208の状態、ならびに現在のエラーカウント、状態および本明細書で説明されているイベントを取得することが可能となるように、RAIDコントローラ104に対してインタフェースを提供する。流れはブロック412へ進む。
ブロック412で、RAIDコントローラ104は、PHY208が無効にされたことをユーザに報告する。1つの実施形態で、RAIDコントローラ104は、管理インタフェースを介してユーザに報告を行う。1つの実施形態で、RAIDコントローラ104は、次にユーザに通知するホスト108の1つか、または両方に報告することによって、ユーザに報告を行う。流れはブロック414へ進む。
ブロック414で、無効にされたPHY208はワイドポート216の一部であると仮定すると、SASエクスパンダポート102とポート216に接続されたSASデバイスとの間の通信は、適切に機能しているポート216のうちの残りのPHY208および関連したSASリンク112を介して継続する。SASシステム100は、無効にされたPHY208およびその各々のSASリンク112のために、比較的低いデータスループットになる場合があるということに留意されたい。しかしながら有利にも、障害のあるSASリンク112に関連したPHY208(またはPHY208自体が障害のあるものになっている場合がある)を無効にすることによって、SASシステム100が通常通りに機能し続ける可能性は増加し、それによって、本明細書で説明されている様々な問題を経験するのではなく、ホスト108に対するSASディスク106上のデータの可用性を改善する。流れはブロック414で終了する。
ここで図5を参照すると、本発明の代替実施形態による図1のSASシステム100の動作を示す流れ図が示されている。図5で説明されるSASシステム100の動作は、無効にされたPHY208が(図4に関して仮定されているように、ワイドポート216ではなく)ナローポート216の一部であったことが仮定されているので、SASエクスパンダ102と、ブロック406で無効にされたPHY208に接続されたSASデバイスとの間の通信は、もはやナローSASリンク112を介して、SASエクスパンダ102とSASデバイスとの間で可能ではない。さらに図5は、例えば図6から図8までに関して説明されているように、障害のあるSASリンク112の通常の機能を回復するための試みを説明していない。通常の機能の回復が実行される状況では、SASシステム100は通常の機能の回復が達成されるまで、(無効にされたPHY208がワイドポート216であったのか、またはナローポート216であったのかどうかによって)図4または図5に関して説明されているように動作し続けてもよい。
流れはブロック402で開始する。図5のブロック402から412までは、図4の同じ番号のブロックと同様であり、簡潔にするために、ここで再度説明されることはない。流れは図5のブロック412からブロック514へ進む。
ブロック514で、ホスト108は、無効にされたPHY208を含まない代替経路を介して、ブロック406で無効にされたPHY208によって、関係するSASディスク106にアクセスし続ける。図1のSASシステム100に関して、ホスト108は別のRAIDコントローラ104を介して、SASディスク106と通信する。流れはブロック512で終了する。
ここで図6を参照すると、本発明の代替実施形態による図1のSASシステム100の動作を示す流れ図が示されている。図6は、SASエクスパンダ102がさらに、障害が修正されたというユーザの入力に応じて、以前に無効にされたPHY208を再び有効にする、図1のSASシステム100の動作を説明する。
流れはブロック402で開始する。図6のブロック402から412までは図4の同じ番号のブロックと同様であり、簡潔にするために、ここで再度説明されることはない。流れは図6のブロック412からブロック614へ進む。
ブロック614で、ユーザは、ブロック412での無効にされたPHY208の報告に応じて、障害のある構成要素を修正するためのアクションを行う。ユーザが障害のある構成要素を修正するために行ってもよいアクションの例は、以下のものに限定されるわけではないが、ケーブルの交換、コネクタの交換、SASディスク106の交換、SASエクスパンダ102の交換、RAIDコントローラ104の交換、および例えば、そのアナログ設定を調整するためのPHY208の再構成を含む。流れはブロック616へ進む。
ブロック616で、ユーザはRAIDコントローラ104のうちの1つに、ブロック614で修正アクションを行ったことを通知する。1つの実施形態で、ユーザは管理インタフェースを介してRAIDコントローラ104に通知を行う。1つの実施形態で、ユーザは、次にRAIDコントローラ104に通知するホスト108のうちの1つに通知を行う。流れはブロック618へ進む。
ブロック618で、RAIDコントローラ104はSASエクスパンダ102に、修正アクションが行われたことを通知する。1つの実施形態で、SASエクスパンダ102は、RAIDコントローラ104からSCSIエンクロージャサービス(SES)診断ページを受信することによって通知される。1つの実施形態で、SASエクスパンダ102は、RAIDコントローラ104からシリアル管理プロトコル(SMP)メッセージを受信することによって通知される。1つの実施形態で、RAIDコントローラ104は、明示的にSASエクスパンダ102にPHY208を再び有効にすることを指示することによって、SASエクスパンダ102に通知を行う。流れはブロック622へ進む。
ブロック622で、マイクロプロセッサ202は、修正アクションが行われたという通知に応じて、以前にブロック406で無効にされたPHY208を再び有効にするために、制御レジスタ206へ書き込みを行う。流れはブロック622で終了する。
1つの実施形態で、マイクロプロセッサ202は、PHY208が、障害を検出したSASエクスパンダ102に接続されたRAIDコントローラ104からのダウンストリームである別のSASエクスパンダ102へ接続されている場合、ブロック406でPHY208を無効にすることはない。このことは有利にも、図1のSASシステム100などのカスケードにされたSASエクスパンダ102が関与するSASトポロジ上で、特定の故障モードを回復することを簡略化する。例えば、図1の2つのエンクロージャ114の各々の中のSASエクスパンダ102を接続するケーブルに障害があり、SASエクスパンダ102の両方が障害を検出し、それらの各々のPHY208を無効にすると仮定する。この例では、一旦ケーブルが交換されたSASリンク112の動作を回復することは、2つのSASエクスパンダ102の間、および場合によっては2つのRAIDコントローラ104の間の調整を必要とする可能性がある。対照的に、PHY208がダウンストリームのSASエクスパンダ102に接続されている場合には、ブロック406でPHY208を無効しないことによって、調整の必要性が回避される。
ここで図7を参照すると、本発明の代替実施形態による図1のSASシステム100の動作を示す流れ図が示されている。図7は、SASエクスパンダ102がさらに、障害が修正されたことを自動的に検出することに応じて、以前に無効にされたPHY208を再び有効にする図1のSASシステム100の動作を説明する。
流れはブロック402で開始する。図7のブロック402から412および614までは図6の同じ番号のブロックと同様であり、簡潔にするために、ここで再度説明されることはない。流れは図7のブロック614から716へ進む。
ブロック716で、マイクロプロセッサ202は、ユーザがブロック614で修正アクションを行ったことを自動的に検出する。1つの実施形態で、マイクロプロセッサ202によって自動的に検出されるユーザの修正アクションは、ユーザがケーブルを交換することである。マイクロプロセッサ202は、リンク接続状態342障害検出パラメータ300を介して、接続されていないリンクから、接続されたリンクへの状態の変化を検出することによって、ケーブルの交換を自動的に検出する。1つの実施形態で、マイクロプロセッサ202によって自動的に検出されるユーザの修正アクションは、ユーザがSASディスク106またはSATAディスクを交換することである。マイクロプロセッサ202は、装置存在状態348障害検出パラメータ300を介して、存在しないデバイスから存在するデバイスへの状態の変化を検出することによって、ディスクの交換を自動的に検出し、添付されたデバイス型状態352を介して、交換されたディスクがSASディスクであるのか、またはSATAディスクであるのかを検出する。1つの実施形態で、マイクロプロセッサ202によって自動的に検出されるユーザの修正アクションは、ユーザがSASエクスパンダ102を交換することである。マイクロプロセッサ202は、図1のエクスパンダ間SASリンク112を介してか、または図3に関して先に論じられたバンド外通信経路の状態を受信することを介して、交換されたSASエクスパンダ102に接続されたPHY208のデバイス存在状態348障害検出パラメータ300を介して、存在しないデバイスから存在するデバイスへの状態の変化を検出することによって、SASエクスパンダ102の交換を自動的に検出する。1つの実施形態で、マイクロプロセッサ202によって自動的に検出されるユーザの修正アクションは、ユーザがRAIDコントローラ104を交換することである。マイクロプロセッサ202は、SASエクスパンダ102を交換されたRAIDコントローラ104へ接続するPHY208のデバイス存在状態348障害検出パラメータ300を介して、存在しないデバイスから存在するデバイスへの状態の変化を検出することによって、RAIDコントローラ104の交換を自動的に検出する。上述のものは、マイクロプロセッサ202によって実行される、自動的に検出されるユーザの修正アクションの例として示されているが、本発明は上述の実施形態に限定されるわけではなく、その他のユーザの修正アクションのために用いられてもよい。流れはブロック718へ進む。
ブロック718で、マイクロプロセッサ202は、ユーザによって修正アクションが行われたブロック716での自動検出に応じて、以前にブロック406で無効にされたPHY208を再び有効にするために、制御レジスタ206に書き込みを行う。流れはブロック718で終了する。
ここで図8を参照すると、本発明の代替実施形態による図1のSASシステム100の動作を示す流れ図が示されている。図8は、SASエクスパンダ102が、障害のある状態を修正し、以前に無効にされたPHY208上での通信を回復しようとするためのアクションを自動的に行う、図1のSASシステム100の動作を説明する。
流れはブロック402で開始する。図8のブロック402から412までは図4の同じ番号のブロックと同様であり、簡潔にするために、ここで再度説明されることはない。流れは図8のブロック412からブロック814へ進む。
ブロック814で、マイクロプロセッサ202は、自動的に修正アクションを行う。1つの実施形態で、マイクロプロセッサ202によって行われる自動修正アクションは、PHY208のアナログ設定を自動的に調整することであり、これによって、例えば前回PHY208のアナログ設定が設定されてからケーブルの長さが変更されている場合に、SASリンク112は適切に機能し始めることができる。流れはブロック816へ進む。
ブロック816で、マイクロプロセッサ202は、以前にブロック406で無効にされたPHY208を再び有効にするために、制御レジスタ206に書き込みを行う。流れは判定ブロック818へ進む。
判定ブロック818で、マイクロプロセッサ202は、PHY208を再び有効にした後、SASリンク112上で通常の通信が回復されたかどうかを判定する。回復されている場合、流れは終了し、回復されていない場合、流れはブロック822へ進む。
ブロック822で、マイクロプロセッサ202はPHY208を再度無効にする。流れはブロック822からブロック814へ戻る。
1つの実施形態で、マイクロプロセッサ202は再試行カウントしきい値を維持し、一旦マイクロプロセッサ202が、ブロック814から822までのループの中のステップを再試行しきい値を超える回数実行すると、マイクロプロセッサ202は、PHY208を無効にし、PHY208を再び有効にしなければならないことを示すイベントを検出するまで、障害の自動的な修復を試みることを止める。
1つの実施形態で、マイクロプロセッサ202は、PHY208の無効/再有効化に応じて実行しなければならないSAS回復プロセスの回数を減らすために、ブロック822でPHY208を無効にする度に、ブロック814から822までのループの中で実行されるステップの期間を増やす。管理アプリケーションクライアントは、SAS領域の中のすべてのSASデバイスおよびエクスパンダデバイスを発見するために、SAS発見プロセスを実行する(すなわちそれらのデバイスの型、SASアドレスおよび支援されるプロトコルを判定する)。SASイニシエータデバイスは、接続を確立することができるSASアドレスを判定するために、この情報を使用する。セルフ構成エクスパンダデバイスは、そのエクスパンダルート表を満たすために、この情報を使用する。さらに、再有効化を必要とする複数の無効にされたPHY208が存在する場合、マイクロプロセッサ202は実行されなければならないSAS領域発見プロセスの回数をさらに減らすために、無効にされたPHY208のすべてを同時に再び有効にする。
本発明およびその目的、特徴ならびに利点が詳細に説明されてきたが、その他の実施形態は本発明によって包含される。例えば、SASイニシエータがRAIDコントローラである実施形態が説明されているが、その他の種類のSASイニシエータが用いられるその他の実施形態が考えられる。さらに、SASターゲットがディスクドライブである実施形態が説明されているが、その他の種類のSASストレージデバイスが用いられる、その他の実施形態が考えられる。
最後に、当業者であれば、添付の特許請求の範囲によって定義される本発明の精神および範囲から逸脱することなく、本発明と同じ目的を実行するために、その他の構造を構成または修正するための基準として、開示されている概念および特定の実施形態を簡単に使用することができるということを当業者には理解されたい。
本発明によるSASシステムのブロック図である。 図1のSASエクスパンダをより詳細に示すブロック図である。 本発明による障害検出パラメータを示すブロック図である。 本発明の1つの実施形態による図1のSASシステムの動作を示す流れ図である。 本発明の代替実施形態による図1のSASシステムの動作を示す流れ図である。 本発明の代替実施形態による図1のSASシステムの動作を示す流れ図である。 本発明の代替実施形態による図1のSASシステムの動作を示す流れ図である。 本発明の代替実施形態による図1のSASシステムの動作を示す流れ図である。

Claims (60)

  1. シリアルアタッチドSCSI(SAS)デバイス間の通信を容易にするためのSASエクスパンダであって、
    複数のSAS PHYに結合された対応する複数のSASリンク上で、SASデバイスとの信号の送受信を行うための複数のSAS PHYと、
    前記複数のSAS PHYに結合され、前記SASリンク上の通信に関する障害検出パラメータを提供するように構成された状態レジスタと、
    前記状態レジスタに結合されたマイクロプロセッサであって、前記状態レジスタによって提供された前記障害検出パラメータに基づいて、前記SASリンクのうちの1つの障害のある通信を識別し、
    前記マイクロプロセッサが前記障害のある通信を識別した前記SASリンクのうちの前記1つに結合された、前記複数のSAS PHYのうちの対応する1つを無効にするように構成されたマイクロプロセッサとを備える、SASエクスパンダ。
  2. 前記マイクロプロセッサが、前記複数のSAS PHYのうちの前記1つが第2SASエクスパンダに接続されている場合、前記複数のSAS PHYのうちの前記1つを無効にしないように構成されており、前記第2SASエクスパンダが、第1SASエクスパンダに接続されたSASイニシエータからのダウンストリームである、請求項1に記載のSASエクスパンダ。
  3. 前記状態レジスタによって提供される前記障害検出パラメータが、前記SASリンクの各々の上の前記通信に関連した障害カウントを含む、請求項1に記載のSASエクスパンダ。
  4. 前記マイクロプロセッサが、前記障害カウントのうちの1つまたは複数が対応する所定のしきい値を超えるかどうかに基づいて、前記複数のSAS PHYのうちの前記1つを無効にするように構成されている、請求項3に記載のSASエクスパンダ。
  5. 前記障害カウントが、前記SASリンク上で受信されたディスパリティエラーのカウントを含む、請求項3に記載のSASエクスパンダ。
  6. 前記障害カウントが、前記SASリンク上で検出されたデコードエラーのカウントを含む、請求項3に記載のSASエクスパンダ。
  7. 前記障害カウントが、前記SASリンク上のリンク再設定シーケンスを再開させるdword同期のロスのカウントを含む、請求項3に記載のSASエクスパンダ。
  8. 前記障害カウントが、前記SASリンク上のdword同期の失敗のカウントを含む、請求項3に記載のSASエクスパンダ。
  9. 前記障害カウントが、前記SASリンク上で検出されたCRCdwordエラーのカウントを含む、請求項3に記載のSASエクスパンダ。
  10. 検出されたCRCdwordエラーの前記カウントが、IDENTIFYおよびOPENアドレスフレームのために検出されたCRCdwordエラーを含む、請求項9に記載のSASエクスパンダ。
  11. 検出されたCRCdwordエラーの前記カウントが、SAS接続の間に検出されたCRCdwordエラーを含む、請求項9に記載のSASエクスパンダ。
  12. 前記障害カウントが、前記SASリンク上で生成されたPHY変更イベントのカウントを含む、請求項3に記載のSASエクスパンダ。
  13. 前記マイクロプロセッサが、前記障害のある通信を識別するため、および前記複数のSAS PHYのうちの前記対応する1つを無効にするためのコード命令をフェッチし、実行するように構成されている、請求項1に記載のSASエクスパンダ。
  14. 前記複数のSAS PHYを制御するために、前記マイクロプロセッサに結合された制御レジスタをさらに備え、
    前記マイクロプロセッサが、前記複数のSAS PHYのうちの前記1つを無効にするために、前記制御レジスタに書き込みを行うように構成されている、請求項1に記載のSASエクスパンダ。
  15. 前記SASリンク上の前記通信に関するイベントを前記マイクロプロセッサに通知するために、前記マイクロプロセッサに結合され、前記複数のSAS PHYによって生成される割り込みインジケータをさらに備え、
    前記マイクロプロセッサが、前記割り込みインジケータに基づいて前記障害のある通信を識別するように構成されている、請求項1に記載のSASエクスパンダ。
  16. 前記複数のSAS PHYに結合され、前記複数のSAS PHYからデータを受信するように構成された入力バッファをさらに備え、
    前記イベントが、前記入力バッファのうちの1つからの前記受信されたデータの超過を含む、請求項15に記載のSASエクスパンダ。
  17. 前記イベントが、前記複数のSAS PHYのうちの1つから準備完了状態への移行を含む、請求項15に記載のSASエクスパンダ。
  18. 前記イベントが、前記複数のSAS PHYのうちの1つを含むSAS COMINITシーケンスの実行の成功を含む、請求項15に記載のSASエクスパンダ。
  19. 前記状態レジスタによって提供される前記障害検出パラメータが、前記SASリンクの各々の上での前記通信に関連した状態を含み、前記マイクロプロセッサが、前記状態に基づいて、前記SASリンクの前記1つの上で前記障害のある通信を識別するように構成されている、請求項1に記載のSASエクスパンダ。
  20. 前記状態が、前記SAS PHYが所定の回数、再設定されたかどうかを示す、請求項19に記載のSASエクスパンダ。
  21. 前記状態が、SASデバイスが前記SAS PHYに結合された前記対応するSASリンクに接続されているかどうかを示す、請求項19に記載のSASエクスパンダ。
  22. 前記状態が、対応するSASリンクが前記SAS PHYに接続されているかどうかを示す、請求項19に記載のSASエクスパンダ。
  23. 前記状態が、前記SAS PHYに接続された対応するSASリンクが初期化に成功したかどうかを示す、請求項19に記載のSASエクスパンダ。
  24. 前記障害検出パラメータをさらに格納するために、前記マイクロプロセッサに結合されたメモリをさらに備え、前記マイクロプロセッサが、前記メモリの中に格納された前記障害検出パラメータにさらに基づいて、前記障害のある通信を識別するように構成されている、請求項1に記載のSASエクスパンダ。
  25. シリアルアタッチドSCSI(SAS)イニシエータと複数のSASターゲットストレージデバイスとの間の通信を容易にするために、PHYを有するSASエクスパンダを含むSASシステムの中でデータ可用性を増加させるための方法であって、
    SASエクスパンダのPHYに接続されたSASリンク上で障害のある通信を、SASエクスパンダによって識別することと、
    前記障害のある通信を識別することに応じて、SASエクスパンダによってSASエクスパンダのPHYを無効にすることとを含む、方法。
  26. SASエクスパンダによって、前記無効にすることを報告することをさらに含む、請求項25に記載の方法。
  27. 前記無効にすることを前記SASエクスパンダによって報告することが、前記無効にすることをSASエクスパンダによってSASイニシエータに報告することである、請求項26に記載の方法。
  28. 前記無効にすることをSASエクスパンダによってSASイニシエータに報告することが、SASイニシエータがユーザに対して報告するための、前記無効にすることの状態情報をSASエクスパンダによってSASイニシエータに報告することである、請求項27に記載の方法。
  29. 前記無効にすることをSASエクスパンダによって報告することが、SCSIエンクロージャサービス(SES)ページを介して、前記無効にすることをSASエクスパンダによって報告することである、請求項26に記載の方法。
  30. 前記無効にすることをSASエクスパンダによって報告することが、シリアル管理プロトコル(SMP)メッセージを介して、前記無効にすることをSASエクスパンダによって報告することである、請求項26に記載の方法。
  31. 前記SASエクスパンダのPHYを無効にすることの後で、障害のある通信を修正するためにアクションが行われたことをSASエクスパンダによって検出することと、
    前記検出することに応じて、SASエクスパンダのPHYをSASエクスパンダによって再び有効にすることをさらに含む、請求項25に記載の方法。
  32. 前記検出することが、ユーザが修正アクションを行ったという情報をSASイニシエータから受信することを含む、請求項31に記載の方法。
  33. 前記検出することが、ユーザが修正アクションを行ったという情報を複数のSASターゲットストレージデバイスのうちの1つから受信することを含む、請求項31に記載の方法。
  34. 修正アクションが、SASエクスパンダのPHYに結合されたSASケーブルを交換することを含む、請求項31に記載の方法。
  35. 修正アクションが、SASコントローラを交換することを含む、請求項31に記載の方法。
  36. 修正アクションが、複数のSASターゲットストレージデバイスのうちの1つを交換することを含む、請求項31に記載の方法。
  37. 修正アクションが、SASイニシエータがSASシステムの中のPHYを再構成するためのコマンドを送信することを含む、請求項31に記載の方法。
  38. 修正アクションが、SASエクスパンダが修正アクションを行うことを含む、請求項31に記載の方法。
  39. SASエクスパンダが修正アクションを行うことが、SASエクスパンダがSASエクスパンダのPHYのアナログ設定を調整することを含む、請求項38に記載の方法。
  40. 前記検出することが、SASエクスパンダのPHYに結合されたSASケーブルが交換されたことをSASエクスパンダによって自動的に検出することである、請求項31に記載の方法。
  41. 前記検出することが、SASイニシエータが交換されたことをSASエクスパンダによって自動的に検出することである、請求項31に記載の方法。
  42. 前記検出することが、複数のSASターゲットストレージデバイスのうちの前記1つが交換されたことをSASエクスパンダによって自動的に検出することである、請求項31に記載の方法。
  43. 前記検出することが、SASイニシエータがSASシステムの中のPHYを再構成するためのコマンドを送信したことを含む、請求項31に記載の方法。
  44. 前記検出することが、SASエクスパンダが修正アクションを行うことをSASエクスパンダによって検出することである、請求項31に記載の方法。
  45. SASエクスパンダが修正アクションを行うことが、SASエクスパンダがSASエクスパンダのPHYのアナログ設定を調整することを含む、請求項44に記載の方法。
  46. (1)前記無効にすることの後で、SASエクスパンダによってSASエクスパンダのPHYを再び有効にすることと、
    (2)前記SASエクスパンダのPHYを再び有効にすることの後で、障害のある通信が持続しているかどうかをSASエクスパンダによって判定することと、
    (3)障害のある通信が存続している場合に、SASエクスパンダのPHYをSASエクスパンダによって再度無効にすることと、
    障害のある通信がステップ(2)で、もはや持続しなくなるまで、前記ステップ(1)、(2)および(3)をSASエクスパンダによって繰り返すこととをさらに含む、請求項25に記載の方法。
  47. 前記繰り返すことが周期的に実行される、請求項46に記載の方法。
  48. 前記繰り返すことが単調に増加する期間で実行される、請求項47に記載の方法。
  49. (4)前記ステップ(3)の後で、SASエクスパンダのPHYのアナログ設定をSASエクスパンダによって調整することと、
    障害のある通信がステップ(2)で、もはや持続しなくなるまで、前記ステップ(1)、(2)、(3)および(4)をSASエクスパンダによって繰り返すことをさらに含む、請求項46に記載の方法。
  50. SASエクスパンダによって維持される障害検出パラメータをSASエクスパンダによって監視することをさらに含み、
    前記識別することが、前記監視することに基づいてSASエクスパンダによって実行される、請求項49に記載の方法。
  51. 前記監視することが、SASエクスパンダのマイクロプロセッサによって周期的に実行される、請求項50に記載の方法。
  52. SASイニシエータが、低価格ディスク冗長アレイ(RAID)コントローラを備える、請求項51に記載の方法。
  53. 障害検出パラメータが、SASエクスパンダのPHYに接続されたSASリンク上の通信に関連したエラーカウント値を含む、請求項50に記載の方法。
  54. 障害検出パラメータが、エラーカウント値と比較するためのしきい値を含み、そのしきい値を超えたかどうかを判定する、請求項53に記載の方法。
  55. 障害検出パラメータが、SASエクスパンダのPHYに接続されたSASリンク上の通信に関連したイベントを示す、SASエクスパンダのPHYのマイクロプロセッサに対する割り込みインジケータを含む、請求項50に記載の方法。
  56. 障害検出パラメータが、SASエクスパンダのPHYに接続されたSASリンク上の通信に関連した状態値を含む、請求項50に記載の方法。
  57. 前記繰り返すことが所定の回数しか実行されない、請求項49に記載の方法。
  58. SASイニシエータと、
    複数のSASターゲットストレージデバイスと、
    複数のSASリンクによって、前記SASイニシエータおよび前記複数のSASターゲットデバイスに接続されたSASエクスパンダであって、前記複数のSASリンクに結合するために複数のPHYを備えるSASエクスパンダとを備え、前記SASエクスパンダが、前記複数のSASリンクの1つの上で障害のある通信を識別し、それに応じて、前記複数のSASリンクのうちの前記識別された1つに接続された前記複数のPHYのうちの1つを無効にするように構成されている、シリアルアタッチドSCSI(SAS)システム。
  59. 第2SASイニシエータと、
    第2の複数のSASリンクによって、前記第2SASイニシエータおよび前記複数のSASターゲットデバイスに接続された第2SASエクスパンダとをさらに備え、
    前記第2SASイニシエータが、前記第1SASエクスパンダが前記複数のSASリンクのうちの前記識別された1つに接続された前記複数のPHYのうちの前記1つを無効にした後で、前記第2の複数のSASリンクを介して、前記複数のSASターゲットデバイスと通信し続けるように構成されている、請求項58に記載のシステム。
  60. 前記複数のPHYのうちの少なくとも2つが、前記複数のSASリンクのうちの対応する少なくとも2つを備えたワイドSASリンク上での前記SASイニシエータとの通信のためにワイドSASポートにまとめられ、前記SASエクスパンダが、前記ワイドSASポートの前記複数のPHYの前記少なくとも2つのうちの1つを無効にするように構成されており、前記SASエクスパンダが、前記ワイドSASポートの前記複数のPHYの前記少なくとも2つのうちの前記1つを前記SASエクスパンダが無効にした後で、前記複数のPHYの前記少なくとも2つのうちの残りの1つを介して、前記SASイニシエータと通信し続けるように構成されている、請求項58に記載のシステム。
JP2009514447A 2006-06-08 2007-05-09 障害を分離するsasエクスパンダ Withdrawn JP2009540436A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US80426706P 2006-06-08 2006-06-08
US11/552,140 US7536584B2 (en) 2006-06-08 2006-10-23 Fault-isolating SAS expander
PCT/US2007/068579 WO2007146515A2 (en) 2006-06-08 2007-05-09 Fault-isolating sas expander

Publications (1)

Publication Number Publication Date
JP2009540436A true JP2009540436A (ja) 2009-11-19

Family

ID=38832599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009514447A Withdrawn JP2009540436A (ja) 2006-06-08 2007-05-09 障害を分離するsasエクスパンダ

Country Status (5)

Country Link
EP (1) EP2052326B1 (ja)
JP (1) JP2009540436A (ja)
HK (1) HK1132054A1 (ja)
TW (1) TW200809521A (ja)
WO (1) WO2007146515A2 (ja)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010061666A (ja) * 2008-09-05 2010-03-18 Lsi Corp Sasペア・サブストラクティブルーティング
JP2011129052A (ja) * 2009-12-21 2011-06-30 Fujitsu Ltd 記憶装置接続装置,ストレージ装置,情報管理方法及び情報管理プログラム
JP2012108905A (ja) * 2010-11-15 2012-06-07 Lsi Corp 決定論的sasディスカバリ及びコンフィギュレーションの方法
WO2012127529A1 (en) 2011-03-23 2012-09-27 Hitachi, Ltd. Storage apparatus and failure detection method
JP2013515981A (ja) * 2010-05-12 2013-05-09 株式会社日立製作所 ストレージ装置、及びストレージ装置の制御方法
JP2013516686A (ja) * 2010-04-21 2013-05-13 株式会社日立製作所 ディスクアレイ装置及びトラフィック制御方法
JP2013516666A (ja) * 2010-06-02 2013-05-13 株式会社日立製作所 バックエンドでの通信の規格がsasであるストレージシステム
JP2013246713A (ja) * 2012-05-28 2013-12-09 Fujitsu Ltd 中継装置、接続管理方法、及び情報通信システム
US8645587B2 (en) 2011-12-27 2014-02-04 Fujitsu Limited Connection apparatus, processing method for connection apparatus and computer-readable recording medium in which processing program is recorded
US8904065B2 (en) 2011-03-14 2014-12-02 Kabushiki Kaisha Toshiba Buffer management device, buffer management method, and storage device
US9686195B2 (en) 2014-02-27 2017-06-20 Fujitsu Limited Relaying apparatus and storage apparatus
US10142169B2 (en) 2016-01-19 2018-11-27 Fujitsu Limited Diagnosis device, diagnosis method, and non-transitory recording medium storing diagnosis program
JP2021006950A (ja) * 2019-06-28 2021-01-21 富士通株式会社 ストレージ装置およびデータ伝送路管理プログラム
US10997006B2 (en) 2018-02-01 2021-05-04 Fujitsu Limited Transfer apparatus and transfer method

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8077605B2 (en) * 2008-09-05 2011-12-13 Lsi Corporation Method for providing path failover for multiple SAS expanders operating as a single SAS expander
US7849248B2 (en) 2008-09-05 2010-12-07 Lsi Corporation Method and system for combining multiple serial attached small computer system interface (SAS) expanders
US8244948B2 (en) 2008-09-05 2012-08-14 Lsi Corporation Method and system for combining multiple SAS expanders into a SAS switch
US7913023B2 (en) 2008-09-05 2011-03-22 Lsi Corporation Specifying lanes for SAS wide port connections
US8656058B2 (en) 2008-09-05 2014-02-18 Lsi Corporation Back-off retry with priority routing
CN101488108B (zh) * 2008-12-17 2010-10-27 成都市华为赛门铁克科技有限公司 一种提高sas域运行稳定性的方法、装置及***
US8566682B2 (en) * 2010-06-24 2013-10-22 International Business Machines Corporation Failing bus lane detection using syndrome analysis
US9129068B2 (en) 2013-01-04 2015-09-08 Avago Technologies General Ip (Singapore) Pte Ltd Methods and structure for buffering host requests in serial attached SCSI expanders
US20140195672A1 (en) * 2013-01-09 2014-07-10 Microsoft Corporation Automated failure handling through isolation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078979A (en) * 1998-06-19 2000-06-20 Dell Usa, L.P. Selective isolation of a storage subsystem bus utilzing a subsystem controller
US8301809B2 (en) * 2003-07-02 2012-10-30 Infortrend Technology, Inc. Storage virtualization computer system and external controller thereof
US7039741B2 (en) * 2003-09-25 2006-05-02 International Business Machines Corporation Method and apparatus for implementing resilient connectivity in a serial attached SCSI (SAS) domain
US7619984B2 (en) * 2005-08-30 2009-11-17 Intel Corporation Mechanism for error handling of corrupted repeating primitives during frame reception

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010061666A (ja) * 2008-09-05 2010-03-18 Lsi Corp Sasペア・サブストラクティブルーティング
JP2011129052A (ja) * 2009-12-21 2011-06-30 Fujitsu Ltd 記憶装置接続装置,ストレージ装置,情報管理方法及び情報管理プログラム
JP2013516686A (ja) * 2010-04-21 2013-05-13 株式会社日立製作所 ディスクアレイ装置及びトラフィック制御方法
JP2013515981A (ja) * 2010-05-12 2013-05-09 株式会社日立製作所 ストレージ装置、及びストレージ装置の制御方法
JP2013516666A (ja) * 2010-06-02 2013-05-13 株式会社日立製作所 バックエンドでの通信の規格がsasであるストレージシステム
US8843680B2 (en) 2010-06-02 2014-09-23 Hitachi, Ltd. Storage system having SAS as its backend communication standard
JP2012108905A (ja) * 2010-11-15 2012-06-07 Lsi Corp 決定論的sasディスカバリ及びコンフィギュレーションの方法
US8904065B2 (en) 2011-03-14 2014-12-02 Kabushiki Kaisha Toshiba Buffer management device, buffer management method, and storage device
WO2012127529A1 (en) 2011-03-23 2012-09-27 Hitachi, Ltd. Storage apparatus and failure detection method
US8560878B2 (en) 2011-03-23 2013-10-15 Hitachi, Ltd. System and method for failure detection by a storage expander preceding an expander experiencing a failure
US8645587B2 (en) 2011-12-27 2014-02-04 Fujitsu Limited Connection apparatus, processing method for connection apparatus and computer-readable recording medium in which processing program is recorded
JP2013246713A (ja) * 2012-05-28 2013-12-09 Fujitsu Ltd 中継装置、接続管理方法、及び情報通信システム
US9686195B2 (en) 2014-02-27 2017-06-20 Fujitsu Limited Relaying apparatus and storage apparatus
US10142169B2 (en) 2016-01-19 2018-11-27 Fujitsu Limited Diagnosis device, diagnosis method, and non-transitory recording medium storing diagnosis program
US10997006B2 (en) 2018-02-01 2021-05-04 Fujitsu Limited Transfer apparatus and transfer method
JP2021006950A (ja) * 2019-06-28 2021-01-21 富士通株式会社 ストレージ装置およびデータ伝送路管理プログラム
JP7255393B2 (ja) 2019-06-28 2023-04-11 富士通株式会社 ストレージ装置およびデータ伝送路管理プログラム

Also Published As

Publication number Publication date
TW200809521A (en) 2008-02-16
HK1132054A1 (en) 2010-02-12
WO2007146515A3 (en) 2008-05-02
WO2007146515A2 (en) 2007-12-21
EP2052326A2 (en) 2009-04-29
EP2052326B1 (en) 2012-08-15

Similar Documents

Publication Publication Date Title
US7536584B2 (en) Fault-isolating SAS expander
JP2009540436A (ja) 障害を分離するsasエクスパンダ
US7673185B2 (en) Adaptive SAS PHY configuration
US8074105B2 (en) High data availability SAS-based RAID system
US6625761B1 (en) Fault tolerant USB method and apparatus
US7370147B2 (en) Disk array device and control method therefor
US20090279423A1 (en) Recovering from Failures Without Impact on Data Traffic in a Shared Bus Architecture
US7568119B2 (en) Storage control device and storage control device path switching method
US8667337B2 (en) Storage apparatus and method of controlling the same
JP2006338626A (ja) ディスクアレイ装置及びその制御方法
JP2017010390A (ja) ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法
US7912995B1 (en) Managing SAS topology
WO2024113818A1 (zh) 交换机的复位***及方法、非易失性可读存储介质、电子设备
JP2006072717A (ja) ディスクサブシステム
TW201911813A (zh) 網路切換控制系統
US20100185896A1 (en) Method and apparatus for fully redundant control of low-speed peripherals
US20140298076A1 (en) Processing apparatus, recording medium storing processing program, and processing method
US20150098317A1 (en) Linear protection switching method and apparatus for protecting network segmented into multi-domain
JP5407230B2 (ja) Pciカード、マザーボード、pciバスシステム、制御方法、及びプログラム
KR102018225B1 (ko) 연결 방법
US8639967B2 (en) Controlling apparatus, method for controlling apparatus and information processing apparatus
JP2003115896A (ja) 保守管理方法および保守管理システムならびに情報処理システム
JP2010136038A (ja) 伝送装置及び冗長構成部の系切替え方法
JP2006309292A (ja) サーバ装置、サーバシステム、及びサーバシステムでの系切り換え方法
JP2004013723A (ja) 共有メモリを使ったクラスタ構成を採用した情報処理システムの障害処理装置と方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100803