JP4871729B2 - ストレージシェルフ内で発生するエラー及びイベントをハンドリングする方法 - Google Patents

ストレージシェルフ内で発生するエラー及びイベントをハンドリングする方法 Download PDF

Info

Publication number
JP4871729B2
JP4871729B2 JP2006533820A JP2006533820A JP4871729B2 JP 4871729 B2 JP4871729 B2 JP 4871729B2 JP 2006533820 A JP2006533820 A JP 2006533820A JP 2006533820 A JP2006533820 A JP 2006533820A JP 4871729 B2 JP4871729 B2 JP 4871729B2
Authority
JP
Japan
Prior art keywords
storage shelf
card
shelf router
error
detected
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.)
Expired - Fee Related
Application number
JP2006533820A
Other languages
English (en)
Other versions
JP2007501986A (ja
Inventor
スタインメッツ、ジョゼフ・エイチ
コンペラ、マーシー
ウォークレイ、マシュー・ピー
Original Assignee
エミュレックス デザイン アンド マニュファクチュアリング コーポレーション
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 US10/602,529 external-priority patent/US7353321B2/en
Priority claimed from US10/830,419 external-priority patent/US7320084B2/en
Application filed by エミュレックス デザイン アンド マニュファクチュアリング コーポレーション filed Critical エミュレックス デザイン アンド マニュファクチュアリング コーポレーション
Publication of JP2007501986A publication Critical patent/JP2007501986A/ja
Application granted granted Critical
Publication of JP4871729B2 publication Critical patent/JP4871729B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/079Root cause analysis, i.e. error or fault diagnosis
    • 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/0766Error or fault reporting or storing
    • G06F11/0781Error filtering or prioritizing based on a policy defined by the user or on a policy defined by a hardware/software module, e.g. according to a severity level
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、多数の個別の大容量記憶デバイスにより構成されたディスクアレイ及びその他の大容量記憶デバイスに関し、特に、ストレージシェルフ・ルータ内、並びに、ストレージシェルフ・ルータと相互接続された高帯域幅通信媒体、パス・コントローラ・カード、及び大容量記憶デバイス内で発生するエラーのためのストレージシェルフ・ルータによるエラー及びイベントの検出、診断、並びにハンドリングに関する。
(相互参照)
本願は、2003年1月23日に出願された米国出願第10/341835号の一部継続出願である2003年6月23日に出願された米国出願第10/602529号の一部継続出願である2004年4月8日に出願された米国出願第10/822228号の一部継続出願である。
(背景技術)
本願は、米国出願第10/341835号の一部継続出願であり、参照によって全体がここに組み込まれた米国出願第10/602529号、“Integrated-Circuit Implementation Of a Storage-Shelf Router And a Path Controller Card For Combined Use In High-Availability Mass-Storage-Device Shelves That May Be Incorporated Within Disk-Arrays”の一部継続出願である2004年4月8日に出願された米国出願第10/822228号の一部継続出願である。米国出願第10/341835号の一部継続出願である米国出願第10/602529号(以下「親出願」という)は、本発明の開示された実施形態が実施されるストレージシェルフ・ルータ、パス・コントローラ・カード、及び、高可用性ストレージシェルフに関係する広範囲に亘る背景情報を含む。親出願は、さらに、ファイバ・チャネル(Fibre Channel:FC)、スモール・コンピュータ・システム・インターフェイス(small computer system interface:SCSI)、アドバンスト・テクノロジ・アタッチメント(Advanced Technology Attachment:ATA)ディスクドライブ、及び、シリアルATA(Serial ATA:SATA)ディスクドライブに関係する広範囲に亘る背景情報を含む。
図1は典型的な高可用性ストレージシェルフを示す。より詳細な説明図及び解説は親出願で入手できる。図1では、多数のSATAディスクドライブ102−117がストレージシェルフ内に設置される。各SATAディスクドライブは、xファブリックFCリンク120及びyファブリックFCリンク122の一方又は両方を介してアクセスされる。ディスクアレイ・コントローラによってxファブリックFCリンク120及びyファブリックFCリンク122を介してSATAディスクドライブへ向けられたデータ及び制御情報は、2つのストレージシェルフ・ルータ・カード(storage-shelf-router card:SRカード)124及び126によって受信され、個別のSATAディスクドライブ102−117へ送られる。SRカード124及び126は、SATAディスクドライブ102−117からデータ及びコマンド応答を受信し、そのデータ及びコマンド応答をx及びyのFCリンク120及び122を介して、ディスクアレイ・コントローラへ送信する。典型的なストレージシェルフ100において、各SRカード124及び126は、2つの集積回路型のストレージシェルフ・ルータ(storage-shelf router:SR)を含み、SRカード124はSR128及び130を含み、SRカード126はSR132及び134を含む。各SATAディスクドライブは、単一のシリアル通信リンクを介して、パス・コントローラ・カードに相互接続される。例えば、SATAディスクドライブ114は、単一のシリアル通信リンク136を介して、パス・コントローラ・カード(path-controller card:PCカード)138に相互接続される。PCカードは、それぞれ、次に、以降の図面を参照して説明される2本のシリアルSATAリンク及び2本の管理リンク(management link)を介して、2つのSRと相互接続される。SR128、130、132及び134は、それぞれ、1本以上のICバスと相互接続され、SRは、そのICバスを介して非同期イベント通知(asynchronous event notification:AEN)を、SCSIエンクロージャサービス(SCSI Enclosure Service:SES)プロセッサを経由してストレージシェルフの外部にあるエンティティへ送信可能である。
図1に示された高可用性ストレージシェルフ100は、親出願に開示された発明の実施形態を共に表すSR及びPCカードの実施形態を利用する。親出願に詳細に記載されているように、この典型的な高可用性記憶デバイスは、非常に多数のあまり高価ではないSATAディスクドライブが、FCディスクドライブを収容するように設計されたディスクアレイ内に組み込まれることを可能にする。典型的な実施形態は親出願に開示された発明の多数の実現可能な実施形態のうちの一つにすぎない。ストレージシェルフは、例えば、単一のSR、それぞれが単一のSRカード上に存在する多数のSR、単一のSRカードに含まれた多数のSR、及び、多数のSRカードのそれぞれに含まれた多数のSRを含んでもよい。本発明の実施形態はこれらのストレージシェルフの実施形態のいずれにも適用可能である。
FCベースのディスクアレイ内でSATAディスクドライブを使用する際に生じる重要な問題はFCディスクドライブがデュアルポートであり、一方、SATAディスクドライブがシングルポートであることである。シングルポート又はシングルパスの故障にかかわらず、各ディスクドライブに依然としてアクセス可能であるために、FCベースのディスクアレイのため設計されたディスクアレイ・コントローラは、ディスクドライブが冗長なポートを有することを要求する。ディスクアレイ及びディスクアレイコンポーネントの設計者及び製造業者は、FCベースのディスクアレイ・コントローラの実装、SATAディスクドライブ、及び、SATAディスクドライブコントローラの大規模な修正を伴うことなく、あまり高価ではないSATAディスクドライブがFCベースのディスクアレイ内に組み込まれることを可能にするための、相互接続スキームと、エラー及びイベントの検出、診断、並びに、ハンドリング方法の必要性を認識している。
本発明の一実施形態は、高可用性ストレージシェルフ内で発生するエラー状態を改善するために、動的な再編成による影響を受けやすい高可用性ストレージシェルフ内でストレージシェルフ・ルータとディスクドライブを相互接続する方法である。本実施形態において、ストレージシェルフ内の各パス・コントローラ・カードは、2本の管理リンク及び2本のデータリンクを介して、別個のストレージシェルフ・ルータ・カード上の2つのストレージシェルフ・ルータに相互接続される。ストレージシェルフ内で発生する異なるタイプのエラー及びイベントは、多数の異なるエラーハンドリング技術及びイベントハンドリング技術に関して分類される。あるクラスのエラー及びイベントに対し、一次データリンク及び管理リンクを介してストレージシェルフ・ルータに相互接続されるディスクドライブは、ディスクドライブが二次管理リンク及びデータリンクを介して相互接続される第2のストレージシェルフ・ルータへフェイルオーバ(failover)される。このように、通常は2つのストレージシェルフ・ルータが、それぞれディスクドライブの半分に対して主たる責任を有するのに対して、2つのストレージシェルフ・ルータのうちの一方が、ディスクドライブのすべてに対して管理と通信の責任を担う。別のクラスのエラー及びイベントは、一方のストレージシェルフ・ルータとの一次相互接続から別のストレージシェルフ・ルータとの一次相互接続への単一ディスクドライブのフェイルオーバを伴うシングル・パス・フェイルオーバ(single path failover)を生じる。さらなるクラスのエラー及びイベントは、ディスクアレイ・コントローラ及びストレージシェルフ監視用外部プロセッサを含む外部エンティティによるハンドリング(handling:取り扱い、処理)のための、外部エンティティへのエラー報告、並びに、オプション的にフラッシュメモリへのエラー記録を含む他の方法によって処理される。多数の実装において、ストレージシェルフ内のエラー関連及びイベント関連の挙動を、ストレージシェルフを含むシステムの需要及び要件に適合させるために、特有のエラーハンドリング(error handling)方法及びイベントハンドリング方法が、設定可能なように(configurably)、特有のエラー及びイベントに関連付けられる。本発明のさらなる実施形態は、ストレージシェルフ内で発生するエラー及びイベントのハンドリングの他に、エラー及びイベントの検出と診断に関係する。
本発明の一実施形態は、SATAディスクドライブをストレージシェルフ・ルータ(Storage-shelf Router:SR)と相互接続し、ストレージシェルフ・ルータ内で発生する種々のエラー状態及びイベントが、SRとパス・コントローラ・カード間の相互接続の再構成によってハンドリングされることを可能にする方法である。この本発明の実施形態は、ストレージシェルフ内で発生する種々のタイプのエラー及びイベントを、異なる方法によってそれぞれがハンドリングされるエラー及びイベントクラスに分類する方法を含む。これにより、例えば、ディスクアレイ内のFCディスクドライブを制御するため設計されたディスクアレイ・コントローラが、大きな修正や再実装なしにストレージシェルフ内のSATAディスクドライブを制御できる。エラー及びイベントが認識された状態でのストレージシェルフの挙動は、FCベースのディスクアレイのディスクアレイ・コントローラによって予期されるエラー及びイベントによって導き出された挙動の範囲内に収まる。本発明は、図1に示された典型的なストレージシェルフに関して説明されるが、本発明は多種多様なストレージシェルフコンフィギュレーションに適用可能である。例えば、本発明は、単一SR型のカードを2つ収容するストレージシェルフ、及び、2又は4つのストレージシェルフ・ルータ型のSRカードを5つ以上収容するストレージシェルフに適用可能である。
図2は本発明の一実施形態を利用するストレージシェルフ内の相互接続アーキテクチャを説明する図である。図2は図1で利用されたのと同様の説明方法を利用し、後述の図3−5も同様である。簡潔さと明瞭さのため、ストレージシェルフの種々のコンポーネントの説明は繰り返されず、図1で使用されたのと同じ符号が図2−5において使用される。
図2において、単一のリンク、又は、パスは、各パスコントローラ(path controller:PC)とPCを管理する一次責任(primary responsibility)を担うSRとの間に示されている。例えば、SATAディスクドライブ102と相互接続されたPC202はパス204を介してSR128にリンクされる。図2においては、明瞭さの目的のためにパス204が単一リンクで表現されている。実際には、この単一リンクの説明方法は、2本の別個のシリアルリンク、すなわち、管理リンク及びSATAデータリンクを表す。図2からわかるように、SATAディスクドライブ及び対応するPCの一次制御(primary control)はSR128、130、132及び134の間で分割され、各SRは4つのSATAディスクドライブを一次制御する。好ましい一実施形態では、各SRは、32ドライブ型のストレージシェルフ内の8つのSATAディスクドライブを一次制御する。図2及びそれ以降の図では、説明図の明瞭さのため、4つのSATAディスクドライブが各SRに接続されることが示されている。よって、図2に示されるように、SR128はSATAディスクドライブ102−105を一次制御し、SR130はSATAディスクドライブ106−109を一次制御し、SR134はSATAディスクドライブ110−113を一次制御し、SR132はSATAディスクドライブ114−117を一次制御する。
図3は、本発明の一実施形態による典型的なストレージシェルフのSRとPCカードとの間の二次(secondary)リンク、又は、パスを表す。図3は図2で使用されたのと同様の説明方法を使用する。注意すべきことは、図3に示されているようにSR128が、図2に示されているようにSR132の一次制御下にあるSATAディスクドライブ114−117への二次パスを有することである。SR132は、同様に、図2に表されているようにSR128の一次制御下にあるSATAディスクドライブ102−105への二次リンクを有する。同様に、SR130はSR134の一次制御下にあるSATAディスクドライブへの二次パスを有し、SR134はSR130の一次制御下にあるSATAディスクドライブへの二次パスを有する。よって、各SATAディスクドライブは第1のSRカード上の1つのSRの一次制御下にあり、他のSRカード上のピアSRへの二次管理リンク及びデータパスリンクを有する。
図4はローカルパス・フェイルオーバ(local path fail over:LPFO)を説明する。図4は、図1及び図2と同じ方法を採用する。図4において、SRカード126は、図2に示されるように、初めは一次制御をしていたSATAディスクドライブ110−117の一次制御を放棄するか、又は、失っている。図4において、SRカード124のSRは、ここでは、16のSATAディスクドライブすべての一次制御を担う。図4に示された状況は、ローカルパス・フェイルオーバ(LPFO)の結果を表現する。LPFOはストレージシェルフ内で発生する多種多様なタイプのエラー及びイベントに応じて行われてもよい。例えば、SRカード126上のSRが故障するか、又は、SRカード126がストレージシェルフから手動で取り外された場合に、動作中のSRカード126の欠如がSRカード124上のSRによって検出され、これら2つのSR128及び130が二次管理リンク及びデータリンクを介して接続されたSATAディスクドライブの一次制御を担う。LPFOは、ディスクアレイ・コントローラのような外部エンティティが2つのSRカードのうちの一方の故障又は取り外しにもかかわらず16個すべてのディスクドライブにアクセスし続けることを可能にする。注意すべきことは、図2に表されるようなSRとPC間の相互接続スキームは、SRの間で管理タスクのバランスが保てるように、4つのSRの間でSATAディスクドライブをほぼ均一に分配し若しくは分割し、そして、SRカード故障の場合に、全SATAディスクドライブがファイバ・チャネルを介して外部エンティティからアクセス可能な状態に保たれることを保証することである。
PCカードのアーキテクチャは親出願に詳細に記載されている。各PCカードは、PCカードを一次低速管理リンク及び一次高速SATAデータリンクと二次低速管理リンク及び二次高速SATAデータリンクとに相互接続するために必要な4つのシリアルポートを提供する。PCカードは、一次データリンク又は二次データリンクの両方から同時ではなく、いずれかからのデータがPCカードによって受容されることを可能にするため、2:1のマルチプレクサを含む。PCカードが一次及び二次データリンクの両方からSATAディスクドライブへデータを同時に送れないことがローカルパス・フェイルオーバ(LFPO)戦略を動かす。2つのSRカードのうちの一方を危険にさらす、又は、休止させるエラー又はイベントが発生するとき、残りの動作中のSRカードは、二次SATAデータリンクを介するSATAディスクドライブへのデータの受信及び送信にPCカードを切り換えるために、換言すれば、PCカード及び対応するSATAディスクドライブを前の一次SATAリンク及び一次管理リンクから二次SATAリンク及び管理リンクへフェイルオーバするために、二次管理リンクを利用する必要がある。逆のプロセスでは、回復した又は新たに挿入された、適切に機能するSRは、別のSRカードへフェイルオーバされたデータリンクが回復又は新たに挿入されたSRへフェイルバックされること、すなわち、「ローカルパス・フェイルバック(local path fail back:LPFB)」と適切に称されるプロセスを要求できる。
図5は単一パス・フェイルオーバ(single path fail over:SPFO)を説明する。図5は、SRとPCカードとの間の相互接続の再構成を含む第2のエラーおよびイベントのハンドリング戦略を説明する。図5において、SR134上のポート502が故障している。この場合に、故障したポートに対応するSR134とPCカード504との間の単一の一次リンクはSR130にフェイルオーバされ、SR130が今度はPCカード504及び対応するSATAディスクドライブ110を一次制御する。このプロセスは、単一パス・フェイルオーバ(SPFO)と称される。ストレージシェルフは、ディスクアレイ・コントローラがSPFO及びLPFOを命令することを可能にするか、又は、その代わりに、エラー状態を自動的にハンドリングするためにSPFO及びLPFOを引き受ける。
図6A−Cは、仮想的な2つのSRカードを備えたストレージシェルフの実装に関する故障領域(failure domain)及び故障点(failure point)を説明する。図6Aは、ファイバ・チャネル606通信媒体(カード内リンク)によって相互接続された2つのSRカード602及び604を表し、各カードはそれぞれ、ファイバ・チャネル媒体606のカード常駐部分であるカード内リンク612及び613によって相互接続された2つのSR608−609及び610−611を有する。上記のように、そして、親出願において、SRは、それぞれがSATAディスクドライブへのデュアルポート型接続を提供するPCカードを制御する。図6A及び後述の図6B−Cにおいて、単一のSATAドライブ616にリンクされた単一のPCカード614は、一次SATAリンク618及び一次管理リンク620を介してSR608に接続され、二次SATAリンク622及び二次管理リンク624を介してSR610に接続されることが表されている。明瞭さのために、単一のPCカードだけが示されているが、好ましい一実施形態では、各SRは一般に16個のPCカードに接続される。
図6Bは、本発明の実施形態を表すエラー及びイベント検出、診断、並びに、ハンドリング方法によって処理される一次故障領域を説明する。第1の故障領域630は、PCカード614、SATAディスクドライブ616、及び、種々の通信リンク接続及びポートを含むSATAディスクドライブキャリアを含む。第2の故障領域は、そのうちの二つの領域634及び636が図6Bに示され、SRカードのプリント回路板と、通信リンク及びポートを含む付属コンポーネントとを含む。この故障領域は、SRと、カード内及びカード間の通信リンクと、システム・エンクロージャ・サービス(system enclosure service:SES)プロセッサと、SRカードのその他のコンポーネントとを含む。最後の故障領域638は、通信媒体、電源、処理及びデータ記憶コンポーネント、並びに、その他のシステムコンポーネントだけでなく、ディスクアレイ・コントローラ、又は、最初の二つの故障領域に属するSRカード及びSATAディスクドライブを含むストレージシェルフを制御するその他の装置を含む。最後の故障領域638は、ストレージシェルフの外部にあると考えられ、この故障領域で発生するエラー及びイベントは、本発明の実施形態では説明されない方法を使用して、ディスクアレイ・コントローラを含む外部処理エレメントによってハンドリングされる。
図6Bに表された故障領域レイアウト内には多数の曖昧な領域内故障エリアが存在する。例えば、一次及び二次のSATAリンク、並びに管理リンク618、620、622及び624は、故障領域630と634と636との間にあり、FC媒体640のカード内部分は故障領域634と636との間にある。両方の領域内故障領域はSRカード及びPCカードが接続されるバックプレーン内に存在し、よって、典型的に受動的であり、故障確率の低い媒体である。バックプレーン及びリンクエラーは、明らかに検出され、診断される場合と、バックプレーンに関連したエラーは曖昧なエラー状態を生じる場合がある。
図6Cは、本発明の実施形態を表現するエラー及びイベント検出、診断、並びに、回復方法によってハンドリングされるある種の特定の故障点及びイベント領域を説明する。これらの故障点及びイベント領域は、(1)外部FCリンク故障(external FC link failure:EFCLF)、すなわち、外部FCリンクと相互接続されたFCポート及びFCに相互接続されたその他のSRカードコンポーネントを含む、SRまでの外部FCリンク650における故障と、(2)内部リンク故障(internal link failure:ILF)、すなわち、SRカード上の内部FC通信媒体、及び、リンクによって相互接続されたSRのFCポートを含む、カード内通信リンク652における故障と、(3)カード間ポート故障(inter-card port failure:ICPF)、すなわち、カード間FC媒体656に相互接続されたFCポートの故障と、(4)カード間リンク故障(inter-port link failure:ICLF)、すなわち、2つのカードを相互接続するFC媒体656内の故障と、(5)SATAポート故障(SATA port failure:SPF)658と、(6)管理ポート故障(management port failure:MPF)、すなわち、管理リンクポート660の故障と、(7)制御されない致命的故障(uncontrolled critical failure:UCF)、すなわち、SR662のファームウェア又はハードウェアの予期できない故障と、(8)制御された致命的故障(controlled critical failure:CCF)、すなわち、アサート、パニック、又は、その他のメカニズムを介してSR662によって検出され、SRの制御された故障を生じさせるエラー状態と、(9)ピア・フィールド交換式ユニット(field replaceable unit:FRU」)の取り外し(peer FRU removal:PFR)、すなわち、ストレージシェルフからのSRカード664の取り外しと、(10)ICポート故障(I2C port failure:I2CF)、すなわち、ICポート若しくはICリンクの故障又はSRカード664内の故障と、(11)FRC挿入フェイルバック(FRU insertion fail back:FBE)、すなわち、SRカード664のストレージシェルフへの挿入と、(12)SATAリンク故障(SATA link failure:SLF)、すなわち、一次又は二次SATAリンク666の故障と、(13)SATA管理リンク故障(SATA management link failure:MLF)、すなわち、ディスクドライブキャリア領域内の一次又は二次SATA管理リンク668の故障と、(14)SATAドライブ故障(SATA drive failure:SDF)、すなわち、SATAディスクドライブ670の故障と、(15)ドライブFRU取り外し(drive-FRU removal:FRE)、すなわち、ストレージシェルフからのディスクドライブ・キャニスタ672の取り外しと、(16)ドライブFRU挿入(drive-FRU insertion:FIE)、すなわち、ディスクドライブ・キャニスタ672のストレージシェルフへの挿入と、を含む。これらの異なるタイプの故障及びイベントの検出、診断、及び、それぞれからの回復が以下で詳述される。
最初に、PCカードの内部コンポーネントに関するさらなる詳細を記載する。図7は、パス・コントローラ・カード及びSATAドライブを含むディスクドライブキャリアの2つの異なるストレージシェルフ・ルータとの相互接続を説明する。図7に示されるように、各SR702及び704は、SATAリンク708−709、及び、管理リンク710−711を介して、ディスクドライブ・キャリア706と相互接続される。SATAディスクドライブを含むディスクドライブ・キャリアの一次責任を負うSRカードは、一次SATAリンク708及び一次管理リンク710を有すると考えられ、一方、バックアップSRは二次SATAリンク709及び二次管理リンク711を有すると考えられる。ディスクドライブ・キャリア706のPCカード716内の2:1マルチプレクサ(multiplexer:MUX)714は、一次SATAリンク又は二次SATAリンクのいずれかからの通信を受け付けるようにPCマイクロコントローラ718によって制御される。パス・フェイルオーバは、管理リンクを介してPCコントローラに、2本のSATAリンクの一方による通信の受け付けから、もう一方のSATAリンクによる通信の受け付けへ切り換えるように命令し、よって、SATAリンクの一次/二次の指定を逆転し、より一般的には、二次リンクを一次リンクに切り換えるので、二次リンクを介して最初に相互接続されていたSRカードは、外部処理エンティティとSATAディスクドライブとの間の通信を妨害することなく取り外される。さらに注意すべきことは、一次管理リンク、PCマイクロコントローラ、及び、二次管理リンクを使用するPCメールボックス通信メカニズム720が存在し、2つのSRカードがそのPCメールボックスメカニズムを介して相互に通信することを可能にすることである。SRカード間のこの冗長な相互接続は、FCポート又はFCリンクが故障しているときにSRカードが通信できるようにする。その上、SATAパケットは、二次リンク及びオプション的に2:1マルチプレクサを介して、SRにループバックされる。
図8は、PCマイクロコントローラ808が、ディスクドライブキャリア上のLEDのような種々の出力信号を制御し、それに加えて、ディスクドライブキャリア内の種々の環境状態を監視することを可能にする種々のオプショナルリンク802−806を含むPCカードに関するさらなる詳細を表す。
図9は、ICバスと内部FCミニハブの両方を介してSRと相互接続されたSESプロセッサを含むあるタイプのSRカードの実施形態を表す。図9に表されるように、SESプロセッサ902は、ICバス906を介してSRカード上のSR904と相互通信する。SESプロセッサは、イベントを記録し、ディスクアレイ・コントローラにエラー状態を通知するために、FCミニハブ908を介してディスクアレイ・コントローラと直接通信する。図10は、SRカードの別の実施形態を示す。この別の実施形態では、SESプロセッサ1002は、ICバス1006だけを介して、SR1004及びFCと相互接続され、ディスクアレイ・コントローラは、ICバス上でカプセル化されたプロトコルを使用してSESプロセッサに対してFCトラフィックを伝達するため、プロキシメカニズムを使用してSRを介してSESプロセッサと通信する。
図11は汎用ストレージシェルフ動作を説明する制御フロー図である。図11に表された制御フローは、単一のSR、又は、より一般的には、ストレージシェルフ・ルータ内の複数のSRカード上の多数のSRの協調動作に関係することが仮定される。異なる実施形態では、SR間の協調は、その代わりに、制御タスクとその他のプロセス及び運転中の動作の区分として実施される。図11及び12の汎用制御フロー図は、ストレージシェルフ動作の全体的なスキームにおいて、本発明の実施形態を表す特定のエラー及びイベント検出、診断、並びに、回復戦略が、全体的なストレージシェルフ動作と一体化する場合を示すことを目的とする。図11において、通常のストレージシェルフ動作は、ステップ1102−1106からなる無限のwhileループによって表現される。ステップ1103において、ストレージシェルフ内のエラー又はイベントは、割り込み又はその他の通知メカニズムによって非同期的に検出される。ステップ1103は、ストレージシェルフ動作を表すwhileループ内のどこでも行われ得ることに注意すべきである。エラー又はイベントがステップ1103において非同期的に検出されたならば、エラー及びイベント・ハンドリング・ルーチン1108が呼び出される。そうでなければ、通常のストレージシェルフの動作がステップ1104で実行される。周期的に、通常のストレージシェルフ動作を表すwhileループの各反復の間に、SRは、エラー又はイベントが発生したかどうかを同期的に判定するために、ステップ1105においてよって示されたエラー及びイベント検出を同期的に引き受ける。ステップ1106において検出されるように、もしそうであるならば、エラー及びイベント・ハンドリング・ルーチンがステップ1108で呼び出される。ステップ1108におけるエラー及びイベントハンドリングに続いて、ストレージシェルフ又はSRが、ステップ1109で検出されるときに、未だ動作中であるならば、無限のwhileループが継続する。そうでなければ、SR動作は終わる。
図12は図11のステップ1108で呼び出されるエラー及びイベント・ハンドリング・ルーチンの制御フロー図である。ステップ1202において、多数のエラー及び/又はイベントが検出されたならば、多数のエラー及び/又はイベントは優先順位付けされ、その結果、最も重要なエラーが最初にハンドリングされる。次に、ステップ1204−1210のforループにおいて、優先順位付きエラーリストから検出されたエラー及び/又はイベントのそれぞれがハンドリングされる。最初に、ステップ1205において、検出されたエラー及び/又はイベントが診断される。次に、ステップ1206において、エラー状態又はイベントが実際に発生したかどうかを判定するために、ステップ1205で行われたエラー及び/又はイベント再評価が考慮される。もしそうであるならば、ステップ1207において、エラー及び/又はイベント・ハンドリング・ルーチンが、検出され診断されたエラー又はイベントから回復するか、又は、それらをハンドリングするために呼び出される。エラー及び/又はイベントハンドリングに続いて、ステップ1208で検出されるように、さらなるエラー及び/又はイベントが優先順位付きエラーリスト上に残っているならば、forループはステップ1205で次の反復を続ける。そうでなければ、forループは終了する。診断に続いて、検出されたエラー状態及び/又はイベントは発生していないと判定されるならば、ステップ1209において、エラー及び/又はイベント・ハンドリング・ルーチンは、関連するエラー及び/又はイベントが発生したかどうかを判定する。もしそうであるならば、関連するエラー及び/又はイベントは、それらが未だリストに存在せず、forループがステップ1205において継続するならば、ステップ1210において、エラー及び/又はイベントの優先順位付きリストに挿入される。
図6Cに示された故障状態のタイプ毎に、検出ルーチン、診断ルーチン、及び、ハンドリングルーチンが一般に設けられる。検出ルーチンは、エラー又はイベントが図11のステップ1103において非同期的に、或いは、図11のステップ1105において同期的に検出されるときに用いられる方法を示す。図12のステップ1205で呼び出される診断ルーチンは、SRが検出されたエラー又はイベントを確認し、検出されたエラー又はイベントが実際に異なるエラーを示すかどうかを判定し、或いは、エラー状態又はイベントが、実際には、発生しなかったかどうかを判定することを可能にする。最後に、ハンドリングルーチンは、検出され診断されたエラー又はイベントをハンドリングするために図12のステップ1207で呼び出される。
図13はEFCLF検出を説明する制御フロー図である。EFCLFエラーは、SR内のFCハードウェアによって生成されたリンクダウン(link-down)イベントとして、ステップ1302で検出される。あるいは、EFCLFエラーは、ステップ1304において、SRがしきい値を上回る個数の巡回冗長検査(cyclic redundant check:CRC)エラーが先行する時間間隔内に発生したと判定するときに検出される。ステップ1306によって表されるように、SRが、EFCLFエラーが検出されたとみなす他のタイプの状態又はイベントが存在してもよい。リンクダウンエラー、CRCのしきい値エラー、又は、その他のこのような状態がSRによって検出されるならば、EFCLFエラーはステップ1308で検出されると考えられる。そうでなければ、ステップ1310によって示されるようにEFCLFエラー無しが検出される。EFCLFエラーは、一般に、外部FCリンクへ直接的に接続されたSRによって検出される。
図14はEFCLF診断を説明する制御フロー図である。ステップ1402は、SRカードが、内部FCを介してSRに接続されたSESプロセッサを含むかどうかを判定する。もしそうであるならば、SRは、ステップ1404において、ポートバイパス回路の作動によって、内部ミニハブを外部環境から分離するようSESプロセッサに命令する。そうでなければ、SR自体が、ステップ1406において、ポートバイパス回路の作動によって、内部ミニハブを外部環境から分離する。図14には表されないが、リンクを機能させ得ないことは、以下の診断の実行を阻止する。内部FCミニハブの分離は、SRがSRカード内の内部FCコンポーネント全体にループバックフレームを送信し、内部コンポーネントの中に故障したものがあるかどうかをテストすることを可能にする。ステップ1408−1411のforループでは、SRは、ステップ1409において、内部ループ中で種々の異なるテストフレームを送信し、ステップ1410において、CRCエラーが発生したかどうかを判定する。状態1410によって表現されるようにCRCエラーが発生したならば、EFCLFエラーが発生したものとして診断される。そうでなければ、すべてのテストフレームが正しくループバックされたならば、図14に状態1412によって表現されるように、EFCLFエラーは診断されない。
図15はEFCLFハンドリングを説明する制御フロー図である。すべてのエラー回復ルーチンでは、テストが最初に行われて、EFCLFハンドリングルーチンのステップ1502において、エラー状態が診断されたかどうかを判定する。もしエラー状態が診断されれば、何も実行すべきことはない。そうでなければ、ステップ1504において、SRがEFCLFをハンドリングすることを自動的に試行すべきか、又は、ディスクアレイ・コントローラによる後のハンドリングのためEFCLFを単に報告するべきであるかに関してチェックが行われる。このタイプの判定は、本発明の実施形態を表す種々のエラー及び/又はイベント・ハンドリング・ルーチンを通じて観察される。ストレージシェルフがディスクアレイ又はそれらが含まれたその他のシステムと互換性のあるエラー及び/又はイベント・ハンドリングのために構成されることができるように、これらの判定を制御するパラメータは、一般に設定可能(configurable)である。一部の場合には、エラー及び/又はイベント・ハンドリング、並びに、エラー及び/又はイベント診断でさえ、そのシステム内で利用されるタイミング及びプロトコルの妨げとなる場合がある。例えば、上記のループバックベースの診断で使用されるテストフレームはある種のシステムにおいては、混乱を起こすと考えられるため構成されない。このような場合には、ストレージシェルフが単にエラー及びイベントを報告し、診断及びハンドリングを保留することが望ましい場合もある。その他の場合には、システム又はディスクアレイ・コントローラのベンダは、システム及びディスクアレイ・コントローラの実装を簡単化するために、ストレージシェルフがエラー又はイベントを内部的に取り扱えるようにすることを決定する。図15において、ステップ1504において判定されるように自動EFCLFハンドリングが望ましいとき、ステップ1506において、EFCLFを検出したSRは、制御された故障を実行し、ストレージシェルフ内の異なるSRカード上の相互に協働するSRカードが機能していることを保証するために使用されるハートビート(heartbeat)メカニズムをシャットダウンする。ステップ1507において、残存(surviving)SRカードは、故障(failing)SRカードの故障を検知し、ステップ1508において、すべてのPCカードが残存SRカードによって直接的に制御されるようにするため、故障SRカードによって現在制御されるPCカードにそれらのマルチプレクサを切り換えるように命令する。換言すれば、残存SRカードがLPFOを実行する。自動EFCLFハンドリングが望ましくないならば、ステップ1510において、SRは、SESプロセッサにEFCLF通知を記録するように命令する。外部FCリンクが動作しないとき、当然ながら、SESは冗長FCリンクによってアクセスされる必要がある。親出願に記載されているように、一般に、SR、SRカード、及び、外部処理エンティティを相互接続する2種類のFCループが存在する。ステップ1511において判定されるように、リセット方法が利用されるとき、ステップ1512では、ディスクアレイ・コントローラは、故障SRカードのSESプロセッサに、SRを、又は、多重SR型の実装ではマスタSRを、本質的に故障SRカードの動作を中止するリセットに保持するように命令する。制御はステップ1507へ進み、ストレージシェルフの残存SRカードがLPFOを介してすべてのPCカードを制御する。リセットモードが利用されない場合、ステップ1513において、ディスクアレイ・コントローラは、EFCLFを検出したSRカード上のマスタSRにそれ自体を機能しなくなるようにすることを命令し、制御はステップ1506へ進む。
多種多様なテストフレームはEFCLF診断のためSRによって実行されるループバック・テスト中にSRによって利用される。付録Aはテストフレームのいくつかを含んでいる。
図16はILF検出を説明する制御フロー図である。ILF検出は、図13を参照して説明されたICPF検出に類似することに注意すべきである。一つの相違点は、リンクエラー及びCRCエラーが、外部FC媒体(external FC medium)ではなく、カード内FC媒体と相互接続されたFCポート上で検出されることである。注意すべきことは、「外部FC媒体」と称されるが、FCリンクは、それにもかかわらず、ストレージシェルフのバックプレーン内に部分的に含まれることである。
図17はILF診断を説明する制御フロー図である。ステップ1702において、マスタSRは上記のPCメールボックスメカニズムを介して他方のSRカード上のマスタSRと通信する。PCメールボックス経由の他方のSRからの応答によって判定されるように、他方のSRが問題なく残存するならば、ILFエラーは、ステップ1706によって表されるように、診断される。そうでなければ、ステップ1708によって表されるように、UCFエラーのような異なるタイプのエラーがおそらく発生している。
図18はILFハンドリングを説明する制御フロー図である。ILFハンドリングは、図15を参照して既に説明したEFCLF改善に類似するが、但し、自動回復が望ましいとき、一方のSRカードのマスタSRが、ステップ1802において、他方のSRカードのマスタSRにそれ自体を機能しなくさせるために、内部FCリンクは信頼できないか、又は、動作不可能であるのでPCメールボックスメカニズムを使用する点を除く。
図19はICPF検出を説明する制御フロー図である。ICPFエラーは、ステップ1902において、ストレージシェルフ内の各SRカードがストレージシェルフ内の他方のSRカードの存続可能性を周期的に確認するために用いるハートビート信号(heartbeat signal)の損失によって検出される。ハートビートの損失が検出されるとき、図19のステップ1904に表されるように、おそらく発生しているが、ICPF及びICLFを診断する際に、ICPF又はICLFエラーでなくCCF又はUCFが発生していると判定されることがある。そうでなければ、図19のステップ1906によって表されるように、ICPFエラー無しが検出される。
図20はICPF診断を説明する制御フロー図である。ステップ2002で判定されるときに、ICPFエラー無しが検出されたならば、診断を行う必要はない。そうでなければ、ステップ2004において、一方のSRカードのマスタSRは、PCメールボックスメカニズムを介してストレージシェルフ内の他方のSRカードのマスタSRと協調し、その他方のSRカードが残存し機能しているかどうかを確認する。ステップ2006において判定されるときに、応答が得られないならば、ストレージシェルフ内の他方のSRカードはおそらく故障していて、図20のステップ2008によって表されるように、CCF又はUCFエラーがおそらく発生している。そうでなければ、自動診断が、ステップ2010において判定されるように、構成されているならば、ステップ2012において、両方のSRカードのSRは、カード間FCポートが故障しているか否かを確認するためにパッドテストを実行する。ステップ2014で判定されるときに、両方のSRカードが、機能的なカード間FCポートを有することが判明するならば、図20の状態2016によって表されるように、一時的な故障又はICLF状態が発生している。そうではなく、ステップ2016で判定されるときに、ストレージシェルフ内の第1のSRカードにFCポート故障が起きているならば、図20の状態2020によって表されるように、第1のSRカードにおいてICPF故障が発生している。そうではなく、ステップ2022で判定されるときに、FCポート故障がストレージシェルフ内の第2のSRカード上で発生しているならば、図20の状態2024によって表されるように、第2のSRカードにおいてICPF故障が発生している。そうでなければ、図20の状態2026によって表されるように、まず起こりそうにないが両方のSRカードが故障しているか、又は、ICLFエラーが発生している。自動診断が構成されないならば、ステップ2028において、SRはICPF故障をディスクアレイ・コントローラへ転送するためSESプロセッサに報告し、ディスクアレイ・コントローラは、診断されたICPFから回復し始める。
図21はICPFハンドリングを説明する制御フロー図である。ステップ2102において、FCポート故障が生じているSRカードは、LPFOを始めるために、ストレージシェルフ内の残存SRカードと協調する。故障SRカードは、制御されたシャットダウンを実行し、ファイバ・チャネル上のループ初期化プロトコル(loop initialization protocol:LIP)を呼び出し、次に、ステップ2104において、故障SRカードのSATAドライブに割り当てられたAL_PAアドレスを放棄する。ステップ2106において、残存SRカードは故障カードのシャットダウンを検知し、ステップ2108において、これまで故障SRカードによって制御されていたPCカードのPCカードマルチプレクサに、残存SRカードへの切り替えを命令する。
図22は、FCポートをテストするためにストレージシェルフ・ルータによって引き受けられたパッドテストを説明する。FCフレームは、発信TXバッファ2202からFCポートのシリアライザ/デシリアライザ2204へ送り返され、本質的にFCポートのコンポーネントの大部分を通るループバックを生じさせる。ループバックが成功するならば、エラーはFCポートの外部で発生している可能性が高い。フレームがFCから受信されるときに通るRXバッファ2206は、パッドテストによってテストされないことに注意すべきである。
図23A及び23BはICLF検出及びICLF診断を説明する制御フロー図を与える。図23A−Bからわかるように、ICLF検出及び診断ルーチンは、上記のICPF検出及びICPF診断ルーチンに類似している。
図24はICLFハンドリングを説明する制御フロー図である。ICLFハンドリングルーチンは、図21を参照して説明したICPFエラーハンドリング・ルーチンに類似しているので、それ以上に説明しない。
図25はSPF検出を説明する制御フロー図である。SPFは、ステップ2502におけるリンクダウン・イベントによって、または、ステップ2504における最近の時間ピリオド内のCRCエラーのしきい値を上回るリンク上の多数のCRCエラーによって、又は、ステップ2506によって表されるように、SATAリンクエラーを示すその他の類似したタイプの状態によって、SRで検出される。SPFエラー表示が示されるならば、SPFエラーが、図25に状態2508によって表されるように、検出されたと考えられる。そうでなければ、図25に状態2510によって表されるように、SPFエラー無しが検出される。
図26はSPF診断を説明する制御フロー図である。ステップ2602で判定されるように、一次SATAポートが故障したであろうとき、SRは、ステップ2604において、SATAポート上で外部パッドテスト(external pad test)を実施する。ステップ2606において判定されるように、テストが成功したならば、図26に状態2608によって表されるように、SLFエラーが示される。そうでなければ、図26に状態2610によって表されるように、SPFエラーが示される。そうでなく、二次SATAポートに故障が生じている可能性があるならば、ステップ2612において、SRは、二次SATAポートを介してSRと相互接続されたPCカードの2:1マルチプレクサ(MUX)に対して連続的に実行されたバックグラウンドのループバック・テストが最近成功したかどうかを記録する。ステップ2614で判定するときにループバック・テストが成功したならば、図26に状態2616によって表されるように、一時的なエラー状態が発生しているか、又は、エラーは発生していない。そうでなければ、外部パッドテストがステップ2618で実行され、外部パッドテストが成功したかどうかに応じて、SPFの表示2620又はSLFの表示2622が与えられる。使用されるループバック・テストパターンは付録Bに含まれる。
図27はSPFハンドリングを説明する制御フロー図である。ステップ2702で定められるように、自動エラー回復が構成されているとき、不良SATAポートを備えたSRカードは、ステップ2704において、制御されたシャットダウンを実行し、ストレージシェルフ内の残存SRカードは、ステップ2706において、ハートビート故障を検知し、ステップ2708でLPFOを実行する。そうでなければ、SRは、ステップ2710において非同期イベント通知(asynchronous event notification:AEN)をSRカード上のSESプロセッサに送信し、その非同期イベント通知は次に、ステップ2712でSESプロセッサによってディスクアレイ・コントローラへ転送される。ディスクアレイ・コントローラは、故障したSATAポートを備えたSRカードのシャットダウンを含む多数の異なる回復スキームのうちのいずれかを実行してもよい。
図28はSLFハンドリングを説明する制御フロー図である。SLFは、図26を参照して説明したSPF診断中に診断される。SLFの場合、AENは、ディスクアレイ・コントローラへの転送のためSESプロセッサへ送信され、SESプロセッサが次に回復動作を引き受ける。
図29はMPF検出を説明する制御フロー図である。ステップ2902−2905のforループにおいて、SRは、各PCマイクロコントローラ上のレジスタに周期的にアクセスし、SRとPCカードとの間の管理リンクが機能しているかどうかを判定する。PCマイクロコントローラのレジスタへのアクセスが失敗であるならば、ステップ2906−2909のループにおいて、SRはある設定回数に亘って管理リンクを介してPCマイクロコントローラのレジスタにアクセスしようとする。レジスタへのアクセスが成功するならば、図29に状態2910によって表されるように、エラー又は一時的なエラー状態は発生していない。そうでなければ、レジスタにアクセスできないならば、図29に状態2912によって表されるようにMPFが発生している。
図30はMPF診断を説明する制御フロー図である。MPF診断ルーチンは、ステップ3002において、SR内のループバックを試みる。ループバックが成功するならば、図30に状態3004によって表されるように、MLFエラーが示される。そうでなければ、図30に状態3006によって表されるように、MPFエラーが示される。
図31はMPFハンドリングを説明する制御フロー図である。MPFハンドリングは、管理ポート故障をSESプロセッサへ報告するだけであり、SESプロセッサはAENをディスクアレイ・コントローラへ転送する。ディスクアレイ・コントローラは次に訂正動作を受け持つ。
図32はUCF検出を説明する制御フロー図である。UCFエラーは、ステップ3204で検出されるように、最初にハートビート故障によって示される。ハートビート故障を検出した場合、一方のSRカード上のマスタSRは、ステップ3206において、PCメールボックスメカニズムを使用して、ストレージシェルフの他方のSRカード上のマスタSRとの通信を試みる。通信が成功するならば、他方のSRカードは機能し、図32にステップ3208で示されるように、ICPF、ICLF又はその他のこのようなエラーが示される。そうでなければ、図32に状態3210によって表されるように、UCFエラーが示される。
図33A−Bは、UCF診断及びUCFハンドリングを説明する制御フロー図を記載する。図33Aに表されているように、UCF検出エラーのための付加的な診断は行われない。図33Bに表されているように、UCFハンドリングは、本質的に、ストレージシェルフ内の残存SRカードによるLPFOと、SESプロセッサを介するAENのディスクアレイ・コントローラへの報告とを含む。
図34はCCF検出を説明する制御フロー図である。CCFエラーは、図34のステップ3402において、SRが、SRのファームウェア内のパニック、アサート、又は、その他のトラップのような故障状態に入り、制御されたシャットダウン(controlled shut down)を実行するときに、検出される。SRは、制御されたシャットダウンのプロセスにおいて、ステップ3404でハートビートを打ち切り、次に他方のSRカードによって検出される。
図35A−Bは、CCF診断及びCCFハンドリングを説明する制御フロー図を記載する。CCF診断ルーチンとCCFハンドリングルーチンの両方は、図33A−Bを参照してUCFエラーについて説明したルーチンと同等である。
図36はPFR検出を説明する制御フロー図である。ステップ3602において、ストレージシェルフ内のSRカードは、PEER_PRESENT信号のデアサートを検出する。次に、ステップ3604で、正しく機能するSRカード内のSRは、ストレージシェルフの他方のSRカードと通信することによりカード間FCリンクが適切に機能するかどうかを判定する。ステップ3606において判定されるときに、リンクが作動しているならば、状態3608によって図36に表されるように、誤ったPEER_PRESENT信号が示され、SESへ報告される。そうでなければ、図36に状態3610によって表されるように、PFRが示される。PFRイベントは付加的な診断は行われず、ストレージシェルフ内に残存するSRカードによって実行されるLPFOによって回復される。
図37はICF検出を説明する制御フロー図である。図37に表されるように、タイマーがSESプロセッサ上のICレジスタへのアクセスの試行後にSR内で終了するとき、ICFエラーが検出される。一般に、SRは側波帯(side-band)信号を使用してSESプロセスへの割り込みを発生しており、この割り込みがタイムアウトより前に認識されないとき、エラー状態になる。PFRエラーと同様に、付加的な診断は行われず、ストレージシェルフ内の正しく機能するSRカードは、すべてのPCカード及びストレージシェルフ内のSATAディスクの責任を負うためにLPFOを実行する。LPFOは設定可能な選択肢である。
図38はFBE検出を説明する制御フロー図である。FBEイベントは、ステップ3802において、PEER_PRESENT信号が、PEER_PRESENT信号のデアサートに続いてアサートされるときに、SRによって検出される。PEER_PRESENT信号を検出した場合、SRは、ステップ3804において、新たに挿入されたSRを用いてランデブー・プロトコル(rendezvous protocol)を実行する。ステップ3806において判定するときに、ランデブーが成功しているならば、FBEイベントが、状態3808によって図38に表されるように、検出される。そうでなければ、図38に状態3810によって表されるように、誤ったPEER_PRESENT信号、又は、ICLF若しくはICPFエラーがおそらく発生している。
図39A−Bは、FBE診断及びFBEハンドリングを説明する制御フロー図を記載する。図39Aに表されるように、FBEイベントについてのさらなる診断は不要である。FBEハンドリングは、ステップ3902において、SRがストレージシェルフ内の近傍SRカードの更新された有無を記録するときに行われる。SRはステップ3904において新たに挿入されたSRカードとの通信を再確立する。SRは次に、ステップ3906においてメモリ内でルーティングテーブル及び種々のデータ構造を更新し、ステップ3908においてLPFB動作を実行する。新たに挿入されたSRカードは、次に、ステップ3910において、ストレージシェルフ内のSATAディスクドライブの一部分の責任を負う。
図40はMLFハンドリングを説明する制御フロー図である。MLFハンドリングは、SESプロセッサを介するディスクアレイ・コントローラへのAENの報告により構成される。ディスクアレイ・コントローラは、次に、必要に応じて、ドライブの交換、又は、究極的にはバックプレーンの交換を含む訂正処置を引き受ける。
図41A−Cは、SDF検出、診断及びハンドリングを説明する制御フロー図を記載する。SDFエラーは、ステップ4102において、SATAディスクの初期化の失敗、SATAディスクへ命令されたリード動作の失敗、及び、その他のこのようなエラーによって検出される。図41Bに示されるように、さらなる診断は不要であり、SDFハンドリングは、SESプロセッサを介するディスクアレイ・コントローラへのAENの報告だけにより構成される。
図42A−Cは、FRE検出、診断及びハンドリングを説明する制御フロー図を記載する。FREイベントは、ステップ4202において、FRU_PRESENT信号のデアサートによって検出される。さらなる診断は不要であり、FREイベントはLIPを発生することにより取り扱われ、LIPベースのハンドリングが構成されるときに、取り外されたディスクドライブのAL_PAを廃棄する。FREは次にSESプロセッサを介してディスクアレイ・コントローラへ報告される。
図43A−Cは、FIE検出、診断及びハンドリングを説明する制御フロー図を記載する。SRは、ステップ4302で、FRU_PRESENT信号のアサートによってFIEを検出する。さらなる診断は不要であり、FIEイベントは新たに挿入されたディスクを初期化し、これによってLIP及びAL_PAを取得することにより取り扱われる。AENはSESプロセッサによってディスクアレイ・コントローラへ送信され、種々の状態情報がステップ4308で更新される。
SRカードのメモリに保持され、親出願において説明されている種々のデータ構造及びテーブルは、ストレージシェルフ及びストレージシェルフコンポーネントの現在状態を反映させるため常に更新されることに注意する必要がある。例えば、データ構造は、LPFO、SPFO、LPFB及びその他のこのようなイベントの結果として更新される。
図44A−Bは、第1のルータカード交換手順を説明する制御フロー図を記載する。この手順は、停止時間を伴わず、2つの交換カードが、ストレージシェルフ内で現在動作しているSRカードのファームウェアの同じメジャーバージョン、又は、それよりも上位のファームウェア改訂版を利用可能であることが必要である。ルータカード交換方法は、図44Aにおいて、第1のSRカードの故障4402で始まる。ステップ4404において、第2のSRカードは、この故障を検出し、LPFOを実行し、第1のカードは、故障によって妨げられないならば、LIPを発生し、AL_PAを廃棄する。SESプロセッサは、ステップ4406において、故障を検出し、故障したカード上のハードリセットをアサートする。新しいSRカードが、ステップ4408において、故障したSRカードを交換するために挿入される。第2のSRカードのSESプロセッサは、ステップ4410において、新しいSRカードの挿入を検出し、第1のSRカードのハードリセットをデアサートする。これは、新たに挿入されたSRカードが、ステップ4412において、起動することを可能にする。ステップ4414で判定されるときに、起動が成功しているならば、ルータカード交換はステップ4416で終了し、LPBFはSRカード間で管理タスクのバランスを取り直すために行われる。そうでなければ、ステップ4418において、新たに挿入されたSRカードはLPFOを実行し、新たに挿入されたSRカードのSESプロセッサは、ステップ4420において、LPFOを検出し、第2のSRカードが機能しなくなるようにハードリセットをアサートする。新しい交換カードはステップ4422で第2のSRカードを置き換えるために挿入される。第1のSRカードのSESプロセッサはステップ4424で新しいカードを検知し、ハードリセットをデアサートする。これは、ステップ4426において、新たに挿入されたSRカードが起動することを可能にする。ステップ4428において判定されるときに、起動が成功しているならば、状態4430によって表されるように、ルータカード交換は正しく完了している。そうでなければ、図44Bに状態4432によって表されるように、新しいミッドプレーン故障が示される。
図45は第2のルータカード交換手順を説明する制御フロー図を記載する。この手順は、停止時間を伴わず、1つの交換SRカードと、ファームウェア不一致を解決するオンラインダウンロード手順を必要とする。ルータカード交換方法は、ステップ4502で、第1のSRカードの故障から始まる。ステップ4504において、第2のSRカードは、LPFOを行い、SESプロセッサはイベントを検出する。ステップ4506において、新しいカードが故障したカードと置き換えるために挿入される。新しいカードはステップ4508で起動する。ステップ4510において、重大なファームウェア不一致が検出されるならば、ステップ4512においてオンラインのファームウェア(FW)ダウンロード・ルーチンが呼び出され、ステップ4508において起動が再び行われる。そうでなければ、新たに挿入され、新たに起動されたカードは、ステップ4514において、LPFBを行う。ステップ4516で判定されるときに、LPFBが成功しているならば、図45に状態4518によって示されるように、ルータカード交換は終了する。そうでなければ、新たに挿入されたカードはステップ4520でLPFOを行う。次にステップ4522において第2のSRカードを置き換えるために新しいカードが挿入される。新しいカードはステップ4524で起動し、LPFBを行う。ステップ4526で判定されるときに、LPFBが成功しているならば、図45に状態4528によって表されるように、ルータカード交換は成功である。そうでなければ、新たに挿入されたカードはステップ4530でLPFOを行い、図45に状態4532で表されるように、ミッドプレーン故障が示される。
本発明は、特定の実施形態の観点で説明されているが、本発明がこの実施形態に限定されることは意図されていない。本発明の精神の範囲内における変更は当業者に明白である。例えば、異なる制御フロー、データ構造、モジュラー組織、及び、その他のこのような変形を使用するあらゆる個数の異なる検出、診断、及び、改善ルーチンが上記の方法を実行するために利用されてもよい。多数のさらなるエラー状態がストレージシェルフ内の1つ以上のSRによって検出され、診断され、回復されてもよい。エラー検出、診断及び回復は、単一のSRカード上の複数のSRの協調、及び、異なるSRカード上の複数のSRの協調を含んでもよい。ディスクアレイ・コントローラのような外部処理エンティティと、ストレージシェルフ・ルータ内のSRとの間の診断及び回復タスクの分割は部分的又は完全にコンフィギュラブルであってもよく、ディスクアレイ・コントローラ及びその他の外部処理エンティティの実装詳細に依存してもよい。ある種の場合に、シングル・パス・フェイルオーバが、ある種のディスクキャリア故障及びSATAリンク故障を訂正するために、SRの指示又はディスクアレイ・コントローラの指示で行われてもよい。将来の実施では、多数の異なる状況で完全自動化された徹底的なエラー回復を可能にするために、さらなる冗長コンポーネントがストレージシェル内に含まれてもよい。
上記の解説は、説明の目的のため、本発明の全体を通じた理解を与えるために特定の名称を使用した。しかし、当業者に明らかであるように、具体的な詳細は本発明を実施するために必要とはされない。本発明の具体的な実施形態の上記の解説は、例示と説明のために記載されたものである。それらは、網羅的であること、或いは、発明を開示された形式そのままに制限することを意図しない。明らかに多数の変更及び変形が上記の教示内容に照らして可能である。実施形態は、本発明の原理及びその実際的な適用を最もよく説明し、それによって、当業者が本発明及び検討された特定用途に適するような種々の変更を伴う種々の実施形態を最もうまく利用することを可能にするために明らかにされ説明されている。本発明の範囲は特許請求の範囲及びその均等の範囲によって定められることが意図されている。

付録A
以下に示すテストフレームは、本発明の実施形態におけるFCループバック・テストに用いられる。SR−1216は、以下のテストを実行する。

CRPAT
CRPATは、有効FCフレームにおける、規格に準拠したランダム・データ・パターン(Compliant Random data Pattern)である。ランダムなテストパターンの意義は、コンポーネントおよびシステムのレベルテストに用いることができる広範囲のスペクトル成分および最小のピーク値をもつデータパターンを提供することである。スペクトル成分パターンは、TXジッタテストの間の任意のピークがコンポーネントのせいであり、データのスペクトル成分のせいではないことを保証するために用いられる。表1は、CRPATのテスト・ビット・シーケンスを示す。
Figure 0004871729
CJTPAT
CJTPATは、有効FCフレームにおける、規格に準拠したジッタ許容差パターン(Compliant Jitter Tolerance Pattern)である。レシーバのジッタ許容差テストのため、パターンは、レシーバのクロック・データ・リカバリ(Clock Data Recovery:CDR)メカニズムを瞬間的な位相のジャンプにさらさなければならない。そうするために、全体パターンは、低伝送密度パターンを高伝送密度パターンと繰り返し交互にする。10bキャラクタの繰り返し時間は、レシーバクロックリカバリ回路の時間定数より長い。この継続時間は、クロック位相がシステマティックパターンジッタに追従しており、データ変換回路がすシステマティック位相のジャンプにさらされることを保証する。これは、時間マージンを強調する。表2は、CJTPATのテスト・ビット・シーケンスを示す。
Figure 0004871729
付録B
以下に示すテストフレームは、本発明の実施形態におけるSATAループバック・テストに用いられる。

テスト・ビット・パターンおよびシーケンス特性
テスト・ビット・シーケンスは、通信リンク性能と同様にシリアルATAインタフェースのジッタ・コンプライアンス(jitter compliance)をテストするために、シリアルリンク上で伝送されるビット・シーケンスである。
ジッタは、一般に、ランダム・ジッタ(Random Jitter:RJ)および確定的ジッタ(Deterministic Jitter:DJ)として識別される。RJはガウシアン(Gaussian)の性質があり、電力成分に付加し、RMS値として計測される。DJは、システマティック・ジッタ(systematic jitter)とも言われ、デューティサイクルひずみ(duty cycle distortion)、電源ノイズ、基板ノイズ、または符号間干渉(inter-symbol interference)のせいで通常はシリアルリンクに添加される。
テストは、低/高周波数パターンと同様に低/高遷移密度(transition density)パターンを目立たせるさまざまなタイプのビットシーケンスパターンを使用する。
a) 低遷移密度パターンは、1および0の長ラン(long run)を含んでおり、作動信号レベルの極値において変位時間(excursion times)を変化させることによって符号間干渉を生成するために用いられる。
b) 高遷移密度パターンは、1および0の短ラン(short run)を含んでおり、符号間干渉を生成するために用いられる。
c) 低周波数スペクトルのコンポーネントを含むビットパターンは、入力ハイパスフィルタ回路のテストに適しており、より詳細には、限界値の設計のせいで振幅信号ひずみを生じさせる。これらのビットパターンは、高周波数スペクトルの内容をもつビットパターンよりもテストに適している。
d) 同時切替出力パターン(simultaneous switching outputs patterns)は、レシーバでのリカバリ用の1の相補的なビットパターン(10ビット)を交互に伝送することによって達成される。これらのパターンは、電源ノイズまたはチップ基板ノイズの最悪なケースを生成し、回復されたビットパターンのパラレルシーケンスにおける現在の極値を最大にするようなビットテストパターンシーケンスを選択することにより達成される。これらのパターンは、Ldi/dtノイズを基板部位に誘導し、レシーバ回路のテストに適している。
e) ランダムビットパターンの意義は、十分に広範囲のスペクトル成分および最小のピーク値を含むパターンを提供することである。これらのパターンは、コンポーネント、ジッタ出力のシステムレベル構成の計測、およびビットエラー率性能のために利用することができる。これらのパターンは、システム/コンポーネント製造業者の比較テストのために、伝送ジッタ出力計測をコンポーネント性能に帰する共通規定線パターン刺激となるように用いられ、用いられるデータパターンのスペクトル特性にならないように用いられる。
これらのパターンは、シリアルSATAインタフェースのコンプライアンスをテストするために用いられる。パターンは、a)非準拠(non-compliant)パターンおよびb)準拠(compliant)パターンという2つのカテゴリに識別される。
非準拠パターンは、基準線ジッタ計測(baseline jitter measurement)および信号の品質の評価に用いられ、指定された刺激を与えられるパターンである。これらのパターンは、要求されるFIS形式に準拠せず、ただ繰り返し選択される8b/10bキャラクタの組である。
準拠パターンは、先頭SOF基本要素(primitive)、データコンテンツのように指定されたパターン、後続CRC、およびEOF基本要素を含む指定パターンである。このクラスのパターンに伴う刺激の間では、二重連続(dual-consecutive)ALIGN基本要素は抑制されていない。
以下のセクションで示されるテストパターンは、各シーケンス用のワイヤ上を伝送される符号化10bパターンを伝達するために、説明を容易にするために負のディスパリティ(negative running disparity)で始まるように示されている。

低伝送密度ビットパターンシーケンス
低伝送密度ビットパターンは、1および0の長ランを含むパターンである。これらのパターンは、符号間干渉のせいで高周波数ジッタを生成する。このことは、複合パターンの一部が以降のセクションで説明される際に再び強調される。表3は、低伝送密度パターン(SATA)を示す。
Figure 0004871729
高伝送密度ビットパターンシーケンス
高伝送密度パターンは、1および0の短ランを含むパターンである。このパターンも、符号間干渉のせいで高周波数ジッタを生成する。このことは、複合パターンの一部が以降のセクションで説明される際に再び強調される。高伝送密度パターンは、a)ハーフレート(half rate)高伝送密度ビットパターンシーケンスおよびb)クォーターレート(quarter rate)高伝送密度ビットパターンシーケンスという2つのサブクラスを含む。高伝送密度ビットパターンの2つのサブクラスを混合したものが、高伝送密度テストパターンを表すのに用いられる。表4は、ハーフレート/クォーターレート高伝送密度ビットパターン(SATA)を示す。
Figure 0004871729
低周波数スペクトル成分ビットパターンシーケンス
低周波数スペクトルコンポーネントを含むビットパターンは、限界値の設計のせいで信号ひずみを生じさせる限り、入力ハイパスフィルタ回路のテストに適している。表5は、低周波数スペクトル成分パターン(SATA)を示す。
Figure 0004871729
同時切替出力ビットパターンシーケンス
同時切替出力ビットパターンシーケンスは、Ldi/dtノイズを基板部位に誘導し、レシーバ回路のテストに適している。このパターンは、レシーバでのリカバリ用の1の相補的なビットパターン(10ビット)を交互に伝送することによって達成される。表6は、同時切替出力パターン(SATA)を示す。
Figure 0004871729
複合ビットパターンシーケンス
ジッタの計測のために、低周波数、低伝送密度、および高伝送密度のパターンが合成されるべきである。低周波数スペクトル成分クラス以外のこれら全ての混合は、ジッタおよび性能計測のために、比較的短いテスト時間間隔で実施することができる。
低周波数パターンは、比較的長い時間間隔でテストする必要があり、インタフェース上の低周波数ジッタ効果を監視することができる。
引用したパターンの複合セットを含むことにより、結果生じる複合パターンは、低/高周波数ジッタ、コンポーネント用テスト、および、レシーバ入力回路やインタフェースコンポーネントによるさまざまな振幅ひずみを用いて、リンク内のインタフェースコンポーネントを強調する。表7は、複合パターン(SATA)を示す。
Figure 0004871729
典型的な高可用性ストレージシェルフを説明する図である。 本発明の一実施形態を利用するストレージシェルフ内の相互接続アーキテクチャを説明する図である。 本発明の一実施形態による典型的なストレージシェルフのストレージシェルフ・ルータとパス・コントローラ・カードとの間の二次リンク又はパスを表す図である。 ローカルパス・フェイルオーバを説明する図である。 シングル・パス・フェイルオーバを説明する図である。 仮想的な2つのストレージ・ルータ・カードによるストレージシェルフの実装に対する故障領域及び認識された故障点を説明する図である。 仮想的な2つのストレージ・ルータ・カードによるストレージシェルフの実装に対する故障領域及び認識された故障点を説明する図である。 仮想的な2つのストレージ・ルータ・カードによるストレージシェルフの実装に対する故障領域及び認識された故障点を説明する図である。 パス・コントローラ・カード及びSATAドライブを含むディスクドライブキャリアの2つの異なるストレージシェルフ・ルータとの相互接続を説明する図である。 パスコントローラのマイクロコントローラがディスクドライブ・キャリア上でLEDのような種々の出力信号を制御し、並びに、ディスクドライブ・キャリア内の種々の環境状態を監視することを可能にする種々のオプショナルリンクを含むパス・コントローラ・カードに関するさらなる詳細を表す図である。 Cバスと内部FCミニハブの両方を介してストレージシェルフ・ルータと相互接続されたSESプロセッサを含むあるタイプのストレージシェルフ・ルータ・カードの実施形態を表す図である。 ストレージシェルフ・ルータの別の実施形態を表す図である。 汎用ストレージシェルフ・ルータ動作を説明する制御フロー図である。 図11のステップ1108で呼び出されるエラーハンドリング・ルーチンを説明する制御フロー図である。 EFCLF検出を説明する制御フロー図である。 EFCLF診断を説明する制御フロー図である。 EFCLFハンドリングを説明する制御フロー図である。 ILF検出を説明する制御フロー図である。 ILF診断を説明する制御フロー図である。 ILFハンドリングを説明する制御フロー図である。 ICPF検出を説明する制御フロー図である。 ICPF診断を説明する制御フロー図である。 ICPFハンドリングを説明する制御フロー図である。 FCポートをテストするためにストレージシェルフ・ルータによって行われるパッドテストを説明する図である。 ICLF検出を説明する制御フロー図である。 ICLF診断を説明する制御フロー図である。 ICLFハンドリングを説明する制御フロー図である。 SPF検出を説明する制御フロー図である。 SPF診断を説明する制御フロー図である。 SPFハンドリングを説明する制御フロー図である。 SLFハンドリングを説明する制御フロー図である。 MPF検出を説明する制御フロー図である。 MPF診断を説明する制御フロー図である。 MPFハンドリングを説明する制御フロー図である。 UCF検出を説明する制御フロー図である。 UCF診断を説明するフロー制御図である。 UCFハンドリングを説明するフロー制御図である。 CCF検出を説明するフロー制御図である。 CCF診断を説明するフロー制御図である。 CCFハンドリングを説明するフロー制御図である。 PFR検出を説明するフロー制御図である。 CF検出を説明するフロー制御図である。 FBE検出を説明するフロー制御図である。 FBE診断を説明するフロー制御図である。 FBEハンドリングを説明するフロー制御図である。 MLFハンドリングを説明するフロー制御図である。 SDF検出を説明するフロー制御図である。 SDF診断を説明するフロー制御図である。 SDFハンドリングを説明するフロー制御図である。 FRE検出を説明するフロー制御図である。 FRE診断を説明するフロー制御図である。 FREハンドリングを説明するフロー制御図である。 FIE検出を説明するフロー制御図である。 FIE診断を説明するフロー制御図である。 FIEハンドリングを説明するフロー制御図である。 第1のルータカード交換手順を説明するフロー制御図である。 第1のルータカード交換手順を説明するフロー制御図である。 第2のルータカード交換手順を説明するフロー制御図である。

Claims (16)

  1. シングルポートの複数の記憶デバイスを収容するストレージシェルフにおいて発生するエラー及びイベントをハンドリングする方法であって、該記憶デバイスは、ストレージシェルフ・ルータ・カード上に実装される集積回路であるストレージシェルフ・ルータに、パス・コントローラ・カードを介して相互接続されており、
    前記ストレージシェルフ・ルータがエラー又はイベントを検出するステップと、
    前記ストレージシェルフ・ルータが前記エラー又はイベントを診断するステップと、
    トレージシェルフ・ルータ・カードの交換によって救済されるべきエラー又はイベントについては、前記ストレージシェルフ・ルータが、交換されるべき前記ストレージシェルフ・ルータ・カード上の1つ以上のストレージシェルフ・ルータによって主として管理されていたパス・コントローラ・カードを、残存するストレージシェルフ・ルータ・カード上の1つ以上の別のストレージシェルフ・ルータへフェイルオーバするステップと、
    前記シングルポートの複数の記憶デバイスまたはパス・コントローラ・カード内のエラー又はイベント、並びに、前記ストレージシェルフの外部にある外部装置によって管理されるべきエラー及びイベントについては、前記外部装置によるハンドリングのため、前記ストレージシェルフ・ルータが当該エラー又はイベントを報告し記録するステップと、
    を含む方法。
  2. 前記検出されたエラーが、前記ストレージシェルフと前記外部管理用エレメントを接続する外部FCリンク(650)故障(EFCLF)であり、前記外部FC(650)のリンクダウン・イベント及び巡回冗長検査エラーの発生を含むイベントによって検出され、ストレージシェルフ・ルータ・カード上の内部FCミニハブの分離の後に続くループバック・テストによって診断され、ストレージ・ルータ・カードの自動的な又は命令されたフェイルオーバによって救済される、請求項1記載の方法。
  3. 前記検出されたエラーが、前記ストレージシェルフ・ルータ・カード内の前記ストレージシェルフ・ルータを接続する内部リンク(652)故障(ILF)であり、前記内部リンク(652)のリンクダウン・イベント及び巡回冗長検査エラーの発生を含むイベントによって検出され、ストレージシェルフ・ルータ・カード上の内部FCミニハブの分離の後に続くループバック・テストによって診断され、ストレージシェルフ・ルータ・カードの自動的な又は命令されたフェイルオーバによって救済される、請求項1記載の方法。
  4. 前記検出されたエラーが、前記ストレージシェルフ・ルータ・カード間ポート故障(ICPF)であり、該ストレージシェルフ・ルータ・カードのハートビートの損失によって検出され、代替的なパス・コントローラ・カード内のメールボックスに基づくストレージシェルフ・ルータ・カード間の通信とパッドテストとによって診断され、ストレージ・ルータ・カードのフェイルオーバによって救済される、請求項1記載の方法。
  5. 前記検出されたエラーが、前記ストレージシェルフ・ルータ・カード間のリンク(656)故障(ICLF)であり、該ストレージシェルフ・ルータ・カードのハートビートの損失によって検出され、代替的なパス・コントローラ・カード内のメールボックスに基づくストレージシェルフ・ルータ・カード間の通信とパッドテストとによって診断され、ストレージシェルフ・ルータ・カードのフェイルオーバによって救済される、請求項1記載の方法。
  6. 前記検出されたエラーが、前記ストレージシェルフ・ルータ・カードのSATAポート(658)故障(SPF)であり、前記SATAポート(658)のリンクダウン・イベント及び巡回冗長検査エラーの発生を含むイベントによって検出され、パッドテスト及びループバック・テストによって診断され、前記エラーが検出されたストレージシェルフ・ルータ・カードのフェイルオーバによって救済される、請求項1記載の方法。
  7. 前記検出されたエラーが、前記ストレージシェルフ・ルータ・カードの管理ポート(660)故障(MPF)であり、前記ストレージシェルフ・ルータを用いてパス・コントローラ・マイクロプロセッサのレジスタに周期的にアクセスすることによって検出され、内部ストレージ・ルータのループバックによって診断され、前記外部装置への前記エラーが報告される、請求項1記載の方法。
  8. 前記検出されたエラーが、前記ストレージシェルフ・ルータのファームウェア又はハードウェアの予期できない故障である制御されない致命的故障(UCF)であり、前記ストレージシェルフ・ルータ・カードのハートビートの損失によって検出され、ストレージシェルフ・ルータ・カードのフェイルオーバによって救済される、請求項1記載の方法。
  9. 前記検出されたエラーが、前記ストレージシェルフ・ルータのファームウェア内のパニック、アサート又はトラップのような故障である制御された致命的故障(CCF)であり、前記ストレージシェルフ・ルータ・カードのハートビートの損失によって検出され、ストレージシェルフ・ルータ・カードのフェイルオーバによって救済される、請求項1記載の方法。
  10. 前記検出されたエラーが、前記ストレージシェルフからの前記ストレージシェルフ・ルータ・カードの取り外し(PFR)であり、前記ストレージシェルフ・ルータ・カードの存在を示す信号のデアサートによって検出され、リンクテストによって診断され、ストレージシェルフ・ルータ・カードのフェイルオーバによって救済される、請求項1記載の方法。
  11. 前記検出されたエラーが、新たにストレージシェルフ・ルータ・カードを前記ストレージシェルフへ挿入する挿入フェイルバック(FBE)であり、前記ストレージシェルフ・ルータ・カードの存在を示す信号のアサートによって検出され、前記ストレージシェルフ・ルータ・カードの挿入が成功しているならば、前記新たに挿入されたストレージシェルフ・ルータ・カードへのフェイルバックによって救済される、請求項1記載の方法。
  12. 前記検出されたエラーが、前記シングルポートの記憶デバイスと前記ストレージシェルフ・ルータを接続するSATA管理リンク(668)故障(MLF)であり、前記ストレージシェルフ・ルータを用いてパス・コントローラ・マイクロプロセッサのレジスタに周期的にアクセスすることによって検出され、内部ストレージ・ルータ・ループバックによって診断され、前記外部装置へ前記エラーが報告される、請求項1記載の方法。
  13. 前記検出されたエラーが、前記シングルポートの記憶デバイス(670)故障(SDF)であり、前記シングルポートの記憶デバイスへ命令されたコマンドの失敗によって検出され、前記外部装置へ前記SDFが報告される、請求項1記載の方法。
  14. 前記検出されたエラーが、前記シングルポートの記憶デバイスおよび前記ストレージシェルフ・ルータ・カードを含むディスクドライブ・キャニスタ(672)の取り外し(FRE)であり、前記ディスクドライブ・キャニスタ(672)の存在を示す信号のデアサートによって検出され、前記外部装置へ前記FREが報告される、請求項1記載の方法。
  15. 前記検出されたエラーが、前記シングルポートの記憶デバイスおよび前記ストレージシェルフ・ルータ・カードを含むディスクドライブ・キャニスタ(672)の挿入(FIE)であり、前記ディスクドライブ・キャニスタ(672)の存在を示す信号のアサートによって検出され、前記挿入された前記シングルポートの記憶デバイスが初期化され、前記外部装置へ前記FIEが報告される、請求項1記載の方法。
  16. 単一のパス・コントローラ・カードをフェイルオーバすることによって救済されるエラー又はイベントについては、第1のストレージシェルフ・ルータ・カード上の第1のストレージシェルフ・ルータから第2のストレージシェルフ・ルータ・カード上の第2のストレージシェルフ・ルータへ前記パス・コントローラ・カードをフェイルオーバするステップをさらに含む、請求項1記載の方法。
JP2006533820A 2003-06-23 2004-06-23 ストレージシェルフ内で発生するエラー及びイベントをハンドリングする方法 Expired - Fee Related JP4871729B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US10/602,529 US7353321B2 (en) 2003-01-13 2003-06-23 Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves that may be incorporated within disk arrays
US10/602,529 2003-06-23
US82222804A 2004-04-08 2004-04-08
US10/822,228 2004-04-08
US10/830,419 US7320084B2 (en) 2003-01-13 2004-04-22 Management of error conditions in high-availability mass-storage-device shelves by storage-shelf routers
US10/830,419 2004-04-22
PCT/US2004/020395 WO2006022610A1 (en) 2003-06-23 2004-06-23 Management of error conditions in high-availability mass-storage-device shelves by storage-shelf routers

Publications (2)

Publication Number Publication Date
JP2007501986A JP2007501986A (ja) 2007-02-01
JP4871729B2 true JP4871729B2 (ja) 2012-02-08

Family

ID=45782015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006533820A Expired - Fee Related JP4871729B2 (ja) 2003-06-23 2004-06-23 ストレージシェルフ内で発生するエラー及びイベントをハンドリングする方法

Country Status (1)

Country Link
JP (1) JP4871729B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5485500B2 (ja) * 2007-04-20 2014-05-07 テクトロニクス・インコーポレイテッド デジタル信号分析装置及び方法
JP6773974B2 (ja) * 2016-10-06 2020-10-21 富士通株式会社 ストレージ制御装置およびストレージ装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5140592A (en) * 1990-03-02 1992-08-18 Sf2 Corporation Disk array system
JP4457184B2 (ja) * 2001-02-13 2010-04-28 ネットアップ,インコーポレイテッド ストレージシステムにおけるフェイルオーバー処理

Also Published As

Publication number Publication date
JP2007501986A (ja) 2007-02-01

Similar Documents

Publication Publication Date Title
US7320084B2 (en) Management of error conditions in high-availability mass-storage-device shelves by storage-shelf routers
US7281167B2 (en) Multi-purpose network diagnostic modules
US6961767B2 (en) Fibre channel diagnostics in a storage enclosure
US7571356B2 (en) Storage control device, and error information management method for storage control device
JP3752150B2 (ja) ストレージ・エリア・ネットワーク(san)内でのエラー処理方法及びデータ処理システム
US6192027B1 (en) Apparatus, system, and method for dual-active fibre channel loop resiliency during controller failure
US7673185B2 (en) Adaptive SAS PHY configuration
US7848232B2 (en) Time division multiplexed communication bus and related methods
US8510606B2 (en) Method and apparatus for SAS speed adjustment
US20070233821A1 (en) Managing system availability
CA2419000A1 (en) Method and apparatus for imparting fault tolerance in a switch or the like
US7912995B1 (en) Managing SAS topology
IES20010395A2 (en) Crosspoint switch for a fibre channel arbitrated loop
GB2376612A (en) Fault location in a loop network
JP2006072717A (ja) ディスクサブシステム
JP4045282B2 (ja) 高可用性クラスタノードの除去および通信
US7757123B1 (en) Managing faults
US7861123B1 (en) Managing loop interface failure
JP4871729B2 (ja) ストレージシェルフ内で発生するエラー及びイベントをハンドリングする方法
US20040168008A1 (en) High speed multiple ported bus interface port state identification system
US7388843B2 (en) Method and apparatus for testing loop pathway integrity in a fibre channel arbitrated loop
US6865689B1 (en) Method and apparatus for fault isolation on network loops using low level error counters
US20030101020A1 (en) Devices connected to fiber channels and margin test method for the devices, and method for specifying problems in system having devices connected to fiber channels
US20040153685A1 (en) Detecting intermittent losses of synchronization in a fibre channel loop
US7765343B2 (en) Method and system for robust elastic FIFO (EFIFO) in a port bypass controller

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090330

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091027

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100226

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100304

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20101228

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110928

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111121

R150 Certificate of patent or registration of utility model

Ref document number: 4871729

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141125

Year of fee payment: 3

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees