JP2002328815A - 冗長コントローラシステムからコントローラをオンライン除去する方法 - Google Patents

冗長コントローラシステムからコントローラをオンライン除去する方法

Info

Publication number
JP2002328815A
JP2002328815A JP2002045800A JP2002045800A JP2002328815A JP 2002328815 A JP2002328815 A JP 2002328815A JP 2002045800 A JP2002045800 A JP 2002045800A JP 2002045800 A JP2002045800 A JP 2002045800A JP 2002328815 A JP2002328815 A JP 2002328815A
Authority
JP
Japan
Prior art keywords
controller
memory
redundant
processor
task
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.)
Granted
Application number
JP2002045800A
Other languages
English (en)
Other versions
JP2002328815A5 (ja
JP4097436B2 (ja
Inventor
Barry J Oldfield
バリー・ジェイ・オールドフィールド
Christopher W Johansson
クリストファー・ダブリュ・ヨハンソン
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2002328815A publication Critical patent/JP2002328815A/ja
Publication of JP2002328815A5 publication Critical patent/JP2002328815A5/ja
Application granted granted Critical
Publication of JP4097436B2 publication Critical patent/JP4097436B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/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

Abstract

(57)【要約】 【課題】 オンラインコントローラ除去システムを有す
る冗長コントローラデータ格納システムおよび方法を提
供すること。 【解決手段】 オンラインコントローラ除去システムを
有する冗長コントローラデータ格納システム(30、1
10)および方法で、第1のコントローラ(32、11
2)および第2のコントローラ(34、114)を有す
る冗長コントローラシステム(30、110)を備えて
いる。冗長コントローラシステムから上記第1のコント
ローラの部分除去が検出される(452)。未処理のメ
モリアクセスの完了(458)を含むシャットダウンシ
ーケンスが、第1のコントローラおよび第2のコントロ
ーラに対して実行される(454)。第1のコントロー
ラは、第1のメモリを有するように定義され、第1のメ
モリが自己リフレッシュモードに置かれ(460)、冗
長コントローラシステムからの第1のコントローラの除
去が終了する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般に、冗長コント
ローラを使用した冗長コントローラシステムおよびデー
タ格納システムに関し、さらに詳細には、オンラインコ
ントローラ除去システムを有する冗長コントローラデー
タ格納システムおよび方法に関する。
【0002】
【従来の技術】極めて信頼性の高い冗長データ格納シス
テムを提供するために、多重コントローラシステムが使
用されている。例えば、ハードディスクドライブ業界に
おいては、多重コントローラシステムは、ディスクドラ
イブの耐故障性およびディスクドライブ性能を向上させ
るために複数のディスクドライブを組み合わせて使用す
る、RAID(redundant array of
independent disksの略)システム
の一部として使用されている。動作時には、RAIDシ
ステムは、多重コントローラを使用することによって冗
長性を持たせている。多重コントローラは、ユーザのデ
ータを複数のハードディスク間でストライプしている。
上記冗長アレイは、任意のコントローラから動作させる
ことができる。多重コントローラが存在する場合、それ
らのコントローラを使用することにより性能が向上し、
および/またはホストコンピュータシステムの接続ポー
ト数が増加する。データにアクセスする場合、多重コン
トローラRAIDシステムにより、すべてのハードディ
スクが同時に作動し、速度および信頼性が大幅に向上す
る。
【0003】RAIDシステムの構成は、様々なRAI
Dレベルによって定義される。その様々なRAIDレベ
ルの範囲は、データのストライピング(各ファイルのデ
ータブロックを複数のハードディスクに分散して格納す
る)を提供し、冗長性を持たせることなくディスクドラ
イブの速度および性能を向上させるLEVEL0から始
まっている。RAID LEVEL1は、ディスクのミ
ラリングを提供し、ミラーハードディスク対を介して、
データの100%の冗長度をもたらしている(すなわ
ち、データの同一ブロックが2つのハードディスクに書
き込まれる)。他のディスクドライブにおけるRAID
LEVELでは、様々なデータストライピングおよび
ディスクミラリングを提供し、性能を向上させるための
エラー修正、耐故障性、効率および/またはコストを改
善している。
【0004】RAID LEVEL5は、データをブロ
ックに区切り、それらをディスクドライブに渡ってスト
ライプしている。データブロックからパリティブロック
が計算され、ディスクに格納される。すべてのデータブ
ロックおよびパリティブロックは、異なるディスク上に
格納される(ストライプされる)。ディスクドライブの
いずれの1つが故障しても、データブロックまたはパリ
ティブロックの1つが失われるだけである。その場合、
冗長アレイは、失われたブロックを数学的に再生成する
ことができる。また、RAID5は、データブロックお
よびパリティブロックが格納されるディスクを循環させ
る(つまり、すべてのディスクは、そのディスク上にい
くつかのパリティブロックを格納する)。RAID L
EVEL6は、上記ステップをさらに進め、異なる数学
式を用いて2つの「パリティ」ブロックを計算してい
る。これにより上記冗長アレイは、2つの故障ディスク
ドライブを許容することができ、すべてのデータを再生
成することができる。
【0005】知られている多重コントローラシステム
は、ミラー二重コントローラデータ格納システムを備え
ている。各コントローラはそれぞれ独自のメモリを含ん
でおり、そのほとんどは、「ミラーイメージ」すなわち
他のメモリと同じ「メモリイメージ」である。ミラーメ
モリを二重コントローラで使用することにより、コント
ローラの1つまたはそのメモリが破損または失われた場
合、速やかに復旧することができ、かつ、データの損失
を防止することができる。メモリのミラーコピーがなけ
れば、コントローラが突然故障した場合に、そのコント
ローラ上の重要なデータが失われてしまうであろう。
【0006】例えば、コントローラAおよびコントロー
ラBを有するミラーメモリ二重コントローラシステムで
は、ミラー読出しおよび書込みにより、コントローラA
のメモリが、コントローラBのメモリの「ミラーイメー
ジ」になる。損失すなわちコントローラBが故障する
と、すべてのシステムの動作は自動的にコントローラA
に切り換わり、コントローラAがシステム全体をラン、
すなわち動作させる。
【0007】コンピュータシステムのアプリケーション
数の増加により、プロセッサ故障時間の極めて大きな制
限を始めとする、非常に高度の信頼性が要求されてい
る。例えば、知られているシステムでは、コントローラ
の総故障時間は、1年当たり5分未満であることが要求
されている。通常、損失すなわちコントローラの1つが
故障すると、関連するデータ格納システムの冗長性およ
び信頼性を維持するために、直ちにコントローラを交換
しなければならない。上記の要求により、通常、高度の
信頼性および「動作可能時間」が要求されるシステムの
場合、交換するコントローラを、オンライン挿入すなわ
ち「ホット」挿入しなければならず、その間、他のコン
トローラ(例えば、コントローラA)は、動作状態を維
持していなければならない。オペレーティングシステム
は、交換コントローラが挿入されたことを自動的に認識
する。
【0008】通常、多重コントローラシステムはホスト
に接続される。従ってホストシステムは、しばしばコン
トローラボードを交換することでかなりの長時間の間デ
ータ格納システムを停止させたり、ホストシステムのタ
イムアウトを引き起こしたりしないよう要求する。
【0009】動作中のシステムに交換コントローラを挿
入すると、交換コントローラが、動作中のシステムにお
いて試験され加えられるまでの間、システム利用上の損
失をしばしば引き起こす。ミラーメモリシステムの一部
として交換コントローラが追加される場合、動作中のシ
ステムに交換コントローラを追加することに関連して問
題が増加する。
【0010】知られているミラーメモリ二重コントロー
ラシステムでは、コントローラAをシステム内で動作中
に交換コントローラBをホット挿入する場合、コントロ
ーラAおよび交換コントローラBの両方をリセットし、
コントローラの各々に、プロセッサのサブシステムを自
己診断させなければならない。
【0011】各コントローラは、自己の共用メモリシス
テムを試験し、ハードウェアが正常に動作していること
を確認する。各コントローラは、その共用メモリの内容
をチェックし、システムに対するメモリイメージの「有
効」性を確認する。この例では、コントローラAのみ
が、システムの有効メモリイメージを持つことになる。
【0012】次に、各コントローラは、互いのレビジョ
ン、システムの最新ビュー、およびシステムが最後にア
クティブであったときのシステム状態、に関する情報を
交換する。これらの情報を共有した後、ファームウェア
は、いずれのコントローラが有効メモリイメージを有し
ているかを決定する。この例の場合、コントローラAが
有効メモリイメージを有している。コントローラAの共
用メモリイメージは、コントローラBにコピーされ検証
されるが、そのためには、コントローラAのプロセッサ
は、コントローラAのすべての共用メモリを読み出し、
コントローラBのすべての共用メモリロケーションに書
き込まなければならない。
【0013】次に、コピーオペレーションが成功したこ
とを検証するために、両コントローラのメモリが読み出
され、比較される。メモリシステムが大きい場合、上記
のプロセスには数分の時間が必要である。最終構成ステ
ップが実行されると、コントローラはオンラインにな
り、全動作状態になる。
【0014】上記プロセスの多くのステップは、実行す
るにあたり数十秒の時間が必要なことがある。コントロ
ーラAの共用メモリイメージをコントローラBにコピー
し、検証するプロセスには、数分の時間が必要なことが
ある。ホット挿入に必要なこの延長期間の間に、ほとん
どのホストコンピュータのオペレーティングシステムが
タイムアウトすることになる。
【0015】
【発明が解決しようとする課題】システムの故障時間を
短縮し、かつ、ホストコンピュータのオペレーティング
システムタイムアウトの原因になることのない冗長ミラ
ーメモリ多重コントローラシステムに使用するためのホ
ット挿入および/またはシステムおよび方法を持つこと
が望ましい。また、システムの故障時間またはホストの
タイムアウトを最小にする、有効なコントローラリセッ
ト処理方法を持つことが望ましい。
【0016】
【課題を解決するための手段】本発明は、冗長コントロ
ーラを使用した多重コントローラシステムおよびデータ
格納システムに関し、さらに詳細には、オンラインコン
トローラ除去システムを有する冗長コントローラデータ
格納システムおよび方法に関する。
【0017】本発明の一実施形態によれば、冗長コント
ローラシステムからコントローラをオンライン除去する
方法が提供される。上記冗長コントローラシステムは、
第1のコントローラおよび第2のコントローラを備えて
おり、上記方法には、冗長コントローラシステムから
の、上記第1のコントローラの部分除去を検出するステ
ップが含まれている。未処理のメモリアクセスの完了を
含むシャットダウンシーケンスが、第1のコントローラ
および第2のコントローラに対して実行される。第1の
コントローラは、自己リフレッシュモードに置かれる第
1のメモリを有するように定義されている。冗長コント
ローラシステムからの第1のコントローラの除去は、上
記第1のメモリによってモード化される自己リフレッシ
ュが完了した後、終了する。
【0018】本発明の他の実施形態によれば、冗長コン
トローラシステムからコントローラをオンライン除去す
る方法が提供される。上記冗長コントローラシステム
は、第1のコントローラおよび第2のコントローラを備
えている。第1のコントローラは、第1のプロセッサを
備えるように定義され、第2のコントローラは、第2の
プロセッサを備えるように定義されている。冗長コント
ローラシステムからの上記第1のコントローラの部分除
去が検出される。上記第1のコントローラおよび第2の
コントローラの未処理のメモリアクセスを完了させるた
めの上記第1のプロセッサへの割込みおよび第2のプロ
セッサへの割込みを含むシャットダウンシーケンスが、
第1のコントローラおよび第2のコントローラに対して
実行される。第1のコントローラは、第1のメモリを有
するように定義され、第1のメモリを自己リフレッシュ
モードにしている。冗長コントローラシステムからの第
1のコントローラの除去は、上記第1のメモリによる自
己リフレッシュモードが完了した後、終了する。
【0019】本発明の他の実施形態によれば、冗長コン
トローラをオンライン除去するために構成された冗長コ
ントローラシステムが提供される。システムは、第1の
メモリを含む第1のコントローラ、第1のプロセッサ、
および上記第1のコントローラの部分除去を早期検出す
るためのシステムを備えており、第1のコントローラの
部分除去が検出されると、第1のコントローラは、上記
第1のメモリに対して未処理になっているメモリアクセ
スの完了を含むシャットダウンシーケンスを実行する。
第2のコントローラは、第2のメモリおよび第2のプロ
セッサを備えており、上記第1のコントローラの部分除
去が検出されると、上記第1のメモリに対して未処理に
なっているメモリアクセスの完了を含むシャットダウン
モードを実行する。第1のコントローラおよび第2のコ
ントローラによるシャットダウンシーケンスが完了する
と、上記第2のメモリが自己リフレッシュモードに置か
れ、冗長コントローラシステムからの第1のコントロー
ラの除去が完了する。
【0020】
【発明の実施の形態】本発明の好ましい実施形態につい
て、本発明を実践することができる特定の実施形態の説
明用として示す、本明細書の一部を形成する添付の図面
に照らして、以下に詳細に説明する。本発明の範囲を逸
脱することなく他の実施形態を利用し、また、構造ある
いはロジックを変更することができることを理解しなけ
ればならない。したがって以下の詳細説明を、本発明を
制限するものとして捕えてはならない。本発明の範囲に
ついては、特許請求の範囲の各クレームによって定義さ
れている。
【0021】図1は、本発明による冗長コントローラデ
ータ格納システムの一例示的実施形態を、符号30で総
括して示したものである。冗長コントローラデータ格納
システムは、冗長ミラーメモリ、オンラインすなわち
「ホット」挿入システムを有する多重コントローラシス
テム、及びシステム故障時間を短縮しかつコントローラ
の交換中にホストコンピュータのオペレーティングシス
テムがタイムアウトしないための方法を提供している。
本発明の一態様では、冗長コントローラデータ格納シス
テム30は、二重コントローラシステムである。本明細
書において説明する例示的実施形態は、二重コントロー
ラシステムを採用しているが、これらの実施形態は、他
の多重コントローラ環境(つまり、3つ以上のコントロ
ーラを有するシステム)にも適用することができる。
【0022】本発明によるコンポーネントは、マイクロ
プロセッサ、プログラマブルロジックすなわち状態マシ
ン、およびファームウェアを介してハードウェアで実施
することができ、あるいは所定の装置内のソフトウェア
で実施することもできる。好ましい一実施形態では、ソ
フトウェア中に本発明による1つまたは複数のコンポー
ネントが存在し、ハードウェアを介して使用されてい
る。また、本発明によるコンポーネントは、1つまたは
複数のコンピュータ可読媒体のソフトウェア中に存在さ
せることもできる。本明細書で使用されているコンピュ
ータ可読媒体という用語は、フロッピー(登録商標)デ
ィスク、ハードディスク、CD−ROM、フラッシュメ
モリ、読出し専用メモリ(ROM)、およびランダムア
クセスメモリ(RAM)など、任意の種類の揮発性メモ
リまたは不揮発性メモリを含むものとして定義されてい
る。また、本発明によるシステムは、注文製作装置ハー
ドウェアおよび/または専用単一目的ハードウェアが組
み込まれた、マイクロプロセッサ埋込みシステム/装置
を使用することができる。
【0023】一例示的実施形態では、システム30は、
第1のコントローラ32および第2のコントローラ34
を有する冗長ミラーコントローラデータ格納システムで
ある。第1のコントローラ32および第2のコントロー
ラ34は、(例えば)ディスクアレイなど、データ格納
システム36へのデータの冗長又はミラーによる読出し
及び書込み用に構成されているが、このデータ格納シス
テム36は通信バス38を介しており、(例えば)RA
ID LEVEL1においてはここで、ミラー書込み
や、アレイがコピーからの読み出しを行うモードを含
み、RAID LEVEL5または6の場合、ユーザの
アクセスは、上記ディスクアレイ間でストライプされ
る。さらに、第1のコントローラ32および第2のコン
トローラ34は、通信バス40を介して互いに通信して
いる。第1のコントローラ32および第2のコントロー
ラ34は、通信バスプロトコルを使用してデータ格納シ
ステム36と通信し、かつ、相互に通信している。一態
様では、上記通信バスプロトコルは標準プロトコルであ
る。他の適切な通信バスプロトコルは、本出願から当分
野の技術者には明らかになるであろう。データ格納シス
テム36は、磁気ハードディスクデータ格納システムを
備えている。他の態様では、データ格納システム36
は、フラッシュメモリ、ランダムアクセスメモリ(RA
M)、CD書込み可能媒体、光磁気媒体等、他の読出し
/書込み可能データ格納媒体を備えている。
【0024】冗長コントローラデータ格納システムは、
ホストまたはコントロールシステムインタフェース42
を介して、ホストまたはコントロールシステムと通信す
るように構成されている。ホストまたはコントロールシ
ステムは、サーバであり、コンピュータネットワークで
あり、中央計算機であり、あるいは他のコントロールシ
ステムである。一態様では、冗長コントローラデータ格
納システム30は、ホストとインタフェースし、RAI
Dシステム(例えばRAID LEVEL0、RAID
LEVEL1、RAID LEVEL2、RAID
LEVEL3、RAID LEVEL4、RAID L
EVEL5、またはRAID LEVEL6システム)
として動作するように構成される。
【0025】一実施形態では、第1のコントローラ32
は、「ミラーされた」メモリ50、タスクプロセッサ5
2、およびシステムオペレーションプロセッサ54を備
えている。同様に、第2のコントローラ34も、「ミラ
ーされた」メモリ56、タスクプロセッサ58、および
システムオペレーションプロセッサ60を備えている。
第1のコントローラ32および第2のコントローラ34
は、メモリ50およびメモリ56をミラーメモリシステ
ムの一部として動作させる「メモリコントローラ」を備
えている。本明細書で使用される「ミラーメモリ」とい
う用語は、1つのメモリのメモリイメージが他のメモリ
に複製すなわち「ミラーされている」システムを含むも
のとして定義されている。本発明においては、第1のコ
ントローラ32のメモリ50は、第2のコントローラ3
4のメモリ56に複製すなわち「ミラーされている」。
二重コントローラミラーメモリシステムは、冗長コント
ローラシステム30に故障許容環境を提供しており、コ
ントローラの一方、あるいはコントローラメモリシステ
ムの一方が故障した場合に、もう一方のコントローラお
よびそのミラーメモリが存在することにより、中断する
ことなく故障が復旧され、システムコマンドの処理が継
続される。また、コントローラの一方を除去し、かつ、
挿入する場合、本発明により、もう一方のコントローラ
を介してオペレーティングシステムが維持され、ホスト
がタイムアウトする期間以内にシステム故障時間が短縮
される。ミラーメモリ二重コントローラディスク格納シ
ステムの一例示的実施形態が、本出願人に譲渡された、
1997年12月16日発行の米国特許第5,699,
510号に開示されている。また、同じくこの出願の出
願人に譲渡された、1999年7月27日発行の米国特
許出願第5,928,367号に、他のミラーメモリ二
重コントローラディスク格納システムが開示されてい
る。
【0026】本発明による冗長コントローラデータ格納
システム30では、各コントローラ32および34は、
それぞれ独自のメモリ50および56を備えており、メ
モリは「ミラーイメージ」、すなわち上で示したよう
に、他のメモリと同じ「ミラーイメージ」を有してい
る。ミラーメモリは、一方のコントローラまたはそのメ
モリが故障すなわち損失した場合における迅速な復旧を
可能にしている。一態様では、ミラー読出しおよびミラ
ー書込みにより、第1のコントローラ32のメモリ50
が、第2のコントローラ34のメモリ56の「ミラーイ
メージ」になる。第2のコントローラ34が損失すなわ
ち故障すると、すべてのシステムオペレーションは、第
1のコントローラ32に自動的に切り換えられ、システ
ムに他のコントローラが挿入されるまでの間、単一コン
トローラシステムとして第1のコントローラ32がシス
テム全体をラン、すなわち動作させる。
【0027】本発明による冗長コントローラデータ格納
システム30により、一方のコントローラのホット挿入
時、すなわちオンライン挿入時における冗長コントロー
ラシステムの継続動作が提供される。例えば、第2のコ
ントローラ34が損失すなわち故障すると、冗長コント
ローラシステムは、第1のコントローラ32を介して動
作する。第2のコントローラ34は、システム30にオ
ンライン挿入すなわちホット挿入することができる。詳
細には、システムに第2のコントローラ34をもたらす
ためのホット挿入プロセスの間、システムオペレーショ
ンプロセッサ54が、データ格納システム36に対す
る、メモリ50を介したデータ読出しおよび書込みなど
のシステムオペレーションコマンドの処理を継続する。
タスクプロセッサ52は、システムオペレーションプロ
セッサ54がシステムオペレーションコマンドを処理し
ている間、冗長コントローラデータ格納システム30を
遅延させることなく、バックグラウンドタスクを処理す
る。
【0028】好ましい一実施形態では、タスクプロセッ
サ52は、システムオペレーションプロセッサ54がシ
ステムオペレーションコマンドの処理を継続している
間、第1のミラーメモリ50のメモリイメージを第2の
メモリ56にコピーするように動作している。したがっ
て、第2のコントローラ34を冗長コントローラシステ
ム30にホット挿入することにより、システムオペレー
ションコマンドの処理が遅延することはなく、および/
または、ホストシステムインタフェース42を介したホ
ストシステムがタイムアウトすることもない。一例示的
実施形態では、タスクプロセッサ52は、システムオペ
レーションプロセッサ54またはた他のシステムプロセ
ッサを直接煩わせることなく、専用データ処理ハードウ
ェアを介してバックグラウンドタスクを実行している。
一態様では、上記データ処理ハードウェアは、専用集積
回路(ASIC)の一部として、インテリジェントDM
Aエンジンに結合されている。タスクプロセッサ52
は、第1のコントローラ32がシステムオペレーション
プロセッサ54を介して動作を継続している間、特定の
バックグラウンドタスクを処理する能力を有している。
一態様では、タスクプロセッサ52は、メモリ間コピー
タスク、メモリ自己診断、およびその他のタスクを実行
している。
【0029】図2は、一括して80で示される、本発明
による冗長コントローラデータ格納システムにコントロ
ーラをホット挿入する方法の一例示的実施形態を示した
ものである。上記方法には、第1のメモリ、タスクプロ
セッサ、およびシステムオペレーションプロセッサを備
えるように第1のコントローラを構成するステップが含
まれている。上記第1のメモリは、第1のメモリイメー
ジを含んでいる。図に示す一例示的実施形態では、第1
のコントローラ32は、メモリ50、タスクプロセッサ
52、およびシステムオペレーションプロセッサ54を
備えるように構成されている。冗長コントローラシステ
ム30は、84に示すように、単一コントローラシステ
ムとして、第1のコントローラ32を介して動作する。
85で、システムオペレーションコマンドが、システム
オペレーションプロセッサ54を介して処理される。8
6で、冗長コントローラシステム30に第2のコントロ
ーラ34が挿入される。第2のコントローラ34は、第
2のメモリ56を備えている。88で、第1のコントロ
ーラを介してシステムオペレーションコマンドが処理さ
れている間に、タスクプロセッサ52を用いてバックグ
ラウンドタスクが処理される。上記バックグラウンドタ
スクには、メモリ50の第1のイメージの、第2のメモ
リ56へのコピーが含まれている。
【0030】図3は、一括して90で示される、本発明
による冗長コントローラデータ格納システムにコントロ
ーラをホット挿入する方法の他の例示的実施形態を示し
たものである。上記方法には、一括して92で示され
る、第1のメモリ50、タスクプロセッサ52、および
システムオペレーションプロセッサ54を備えるように
第1のコントローラ32を構成するステップが含まれて
いる。第1のメモリ50は、第1のメモリイメージを含
んでいる。94で、冗長コントローラシステム30は、
第1のコントローラ32を介して動作する。96で、シ
ステムオペレーションコマンドが、システムオペレーシ
ョンプロセッサ54を介して処理される。98で、冗長
コントローラシステム30に第2のコントローラ34が
挿入される。第2のコントローラ34は、第2のメモリ
56を備えている。100で、第1のメモリ50は、第
2のメモリ56へのミラー書込み用、及び共用すなわち
ミラーメモリ50に対するローカル読取り専用として構
成される。従って第1のコントローラ32は、その独自
のメモリイメージを読み出すために動作することができ
るが、第2のコントローラ34が、冗長コントローラデ
ータ格納システム30内で完全に動作状態になるまで
(すなわち自己診断が終了し、オンラインになるま
で)、ミラー書込みおよびミラー読出しとして動作する
ことはない。102で、第1のコントローラ32を介し
てシステムオペレーションコマンドが処理されている間
に、バックグラウンドタスクが処理される。バックグラ
ウンドタスクは、タスクプロセッサ52を使用して処理
される。バックグラウンドタスクには、メモリ50の第
1のイメージの、第2のメモリ56へのコピーが含まれ
ている。
【0031】図4は、本発明による冗長コントローラデ
ータ格納システムの他の例示的実施形態を、一括して1
10で示したものである。冗長コントローラデータ格納
システム110は、本明細書において既に説明した冗長
コントローラデータ格納システム30と類似している。
冗長コントローラデータ格納システム110は、ホスト
システムのタイムアウトの原因になり得る、システムオ
ペレーティングコマンドの処理に対するあらゆる割込み
を最小化する、冗長コントローラデータ格納システムへ
のコントローラのホット挿入システムおよび方法を備え
ている。
【0032】冗長コントローラデータ格納システム11
0は、第1の冗長コントローラ112および第2の冗長
コントローラ114を備えている。第1のコントローラ
112は、第1のミラーメモリ120、第1のメモリコ
ントローラ122、および第1のシステムオペレーショ
ンプロセッサ124を備えている。一態様では、第1の
コントローラ112は、ディスクインタフェース126
およびディスクインタフェース128を介してデータ格
納システムと通信し、また、ホストインタフェース13
0を介して、ホストまたはコントロールシステムと通信
している。一態様では、第1のコントローラ112は、
通信バス132を介してディスクインタフェース12
6、ディスクインタフェース128、およびホストイン
タフェース130と通信している。一実施形態では、通
信バス132は、当分野の技術者に知られているPCI
バスとして構成されている。一実施形態では、130、
126および128で示すホストインタフェースおよび
ディスクインタフェースは、「FCループ」として動作
することができるファイバチャネルバスである。他の適
切なバス構成については、本出願を読めば、当分野の技
術者には明らかになるであろう。
【0033】一態様では、メモリコントローラ122
は、タスクプロセッサ134、割込みロジック136、
およびメモリバッファ/通信モジュール138を備えて
いる。一態様では、タスクプロセッサ134は、専用フ
ァームウェアおよび/またはメモリバッファコンポーネ
ントを備えており、システムオペレーションプロセッサ
136を介したシステムオペレーションコマンドの処理
を中断することなく、定義済みバックグラウンドタスク
を処理している。メモリコントローラ122のためのホ
ットプラグ警告/早期検出システムが、142で示され
ている。同様に、メモリコントローラ122のためのリ
セットロジックが、140で示されている。
【0034】同様に、第2の冗長コントローラ114
は、第2の共用すなわちミラーメモリ160、第2のメ
モリコントローラ162、および第2のシステムオペレ
ーションプロセッサ164を備えている。第2のコント
ローラ114は、ディスクインタフェース166および
ディスクインタフェース168を介してデータ格納シス
テムと通信し、また、ホストインタフェース170を介
して、ホスト/コントロールシステムと通信している。
第2のコントローラ114は、通信バス172を介して
ディスクインタフェース166、ディスクインタフェー
ス168、およびホストインタフェース170と通信し
ている。
【0035】第2のメモリコントローラ162は、タス
クプロセッサ174、割込みロジック176、およびメ
モリ/通信モジュール178を備えている。第2のコン
トローラ114のためのリセットロジックは、180で
示されている。ホットプラグ警告/早期検出システムが
第2のメモリコントローラ162に設けられており、1
82で示されている。第1のコントローラ112および
第2のコントローラ114は、両コントローラ間の通信
バスを介して通信している。一態様では、ミラーバス2
00が、第1のコントローラ112の第1のメモリコン
トローラ122と、第2のコントローラ114の第2の
メモリコントローラ162とをリンクしている。また、
交互通信経路が、第1のメモリコントローラ122と第
2のメモリコントローラ162の間に設けられており、
202で示されている。交互通信経路202は、第1の
メモリコントローラ122のメモリ/通信モジュール1
38にリンクされ、かつ、第2のメモリコントローラ1
62の第2のメモリ/通信モジュール178にリンクさ
れている。存在検出ライン204は、コントローラの存
在について第1のコントローラ112と第2のコントロ
ーラ114の間の通信を提供している(例えば、ホット
挿入プロセスの一部として)。
【0036】一実施形態では、メモリ120およびメモ
リ160は、ランダムアクセスメモリ(RAM)であ
る。一例示的実施形態では、上記ランダムアクセスメモ
リは、同期ダイナミックRAM(SDRAM)である。
一態様では、メモリ120およびメモリ160のサイズ
は、512バイトから数ギガバイトの範囲に及んでい
る。好ましい一実施形態では、メモリ120およびメモ
リ160は、バッテリバックアップ式RAMなどの不揮
発性メモリであり、そのため、電源がシャットダウン
(例えばコントローラリセット)された場合において
も、メモリはその記憶内容(すなわち、記憶状態)を保
持している。
【0037】一態様では、メモリコントローラ122お
よびメモリコントローラ162は、特定用途向け専用集
積回路(ASIC)チップまたはモジュールの一部であ
る。タスクプロセッサ134およびタスクプロセッサ1
74は、システムオペレーションプロセッサを介してシ
ステムコマンドが処理されている間に、定義済み専用バ
ックグラウンドタスクを処理するように動作する。
【0038】一実施形態では、タスクプロセッサ134
によって実行されるすべてのバックグラウンドタスクす
なわち機能は、メモリ120およびメモリ160に格納
されているデータに対して働き、これらのタスクの結果
は、適当なメモリ120またはメモリ160に置き戻さ
れる。タスクプロセッサ134およびタスクプロセッサ
174は、専用データ処理ハードウェアを使用して、プ
ロセッサ124あるいはプロセッサ164などの他のシ
ステムプロセッサを直接煩わせることなく、バックグラ
ウンドタスク機能を実行する。一態様では、タスクプロ
セッサ134および/またはタスクプロセッサ174
は、インテリジェントDMAエンジンに結合された、A
SICチップまたはモジュールの一部であるデータ処理
ハードウェアを利用している。タスクプロセッサ134
およびタスクプロセッサ174の例示的実施形態のさら
に詳細については、本明細書の中で後述する。
【0039】一態様では、第1のメモリ120と第2の
メモリ160の間のミラー読出しおよびミラー書込み
は、ミラーバス200を介して達成される。さらに、交
互通信経路すなわちバス202が、メモリコントローラ
122とメモリコントローラ162の間に設けられてい
る。したがって、冗長コントローラデータ格納システム
にコントローラが挿入され、冗長コントローラシステム
の一部として未だオンラインになっていない状態におい
て、第1のメモリコントローラ122は、交互通信経路
202を介して第2のメモリコントローラ162と通信
することができる。このような通信には、ハードウェア
およびファームウェアのレビジョン情報の交換、システ
ム内でコントローラが交換された場合に検出するシリア
ル番号の交換、互いの動作状態に関する情報の交換、お
よびホット挿入シーケンスにおける次のステップへの移
行のタイミングの相互通知が含まれている。また、故障
によりミラーバス200を介した通信が妨害された場合
に、通信バスを用いて、いずれのコントローラが動作状
態を維持すべきかが交渉される。ファームウェアの他の
領域は、他の目的のためにこの通信バスを使用してい
る。ホットプラグ警告142およびホットプラグ警告1
82は、コントローラがホット挿入されていることを冗
長コントローラシステムに知らせる早期検出信号を、対
応するメモリコントローラ122およびメモリコントロ
ーラ162に提供するように動作する。早期警告ロジッ
クは、リセットロジックと共同して、ホット挿入される
コントローラがオンラインになるまで、コントローラを
リセット状態に保持する。コントローラがホット除去さ
れている間、早期検出信号は、コントローラが除去され
ていることについての早期警告を提供する。ホットプラ
グ警告142およびホットプラグ警告182早期検出シ
ステムは、機械的手段あるいは電気的手段、例えばコネ
クタピン、押しボタン警告、センサ検出(例えば光セン
サ)、またはその他の検出システムの使用を介して、早
期検出信号を受け取ることができる。存在検出ライン2
04は、コントローラがシステムから除去されたこと、
あるいはシステムに挿入されたことを他のコントローラ
に知らせるように動作する。
【0040】プロセッサ124およびプロセッサ164
は、メモリコントローラ122およびメモリコントロー
ラ164を介して、対応するメモリ120およびメモリ
160と通信する、システムコマンドを操作するための
システムオペレーションプロセッサである。このような
システムコマンドには、ディスクインタフェース12
6、132、166および168を介して、対応するデ
ータ格納システムからデータを読出し、かつ、システム
にデータを書込むための、ホストインタフェース130
およびホストインタフェース170を介して受け取るシ
ステムコマンドが含まれている。プロセッサ124およ
びプロセッサ164は、システム割込みオペレーショ
ン、リセットオペレーション、または他のシステムプロ
セスの処理および管理など、他のシステムオペレーショ
ンを実行するように動作する。
【0041】図5は、本発明による冗長コントローラシ
ステムに使用されるタスクプロセッサの一例示的実施形
態を示したものである。タスクプロセッサ134は、一
例として示したものであるが、タスクプロセッサ174
についても、タスクプロセッサ134と同様である。タ
スクプロセッサ134は、データ処理ハードウェアを介
して、定義済み機能を実行することが好ましい。これら
のタスクは、「バックグラウンドタスク」として処理さ
れるため、システムオペレーションプロセッサ124を
介してシステムコマンドが動作している間に完了させる
ことができる。一例示的実施形態では、タスクプロセッ
サ134は、メモリイメージをメモリ120とメモリ1
60の間でコピーするためのメモリ間コピータスク20
6を含んでいる。また、タスクプロセッサ134は、関
連するメモリ120の自己診断を実行するための、1つ
または複数のメモリ自己診断タスク208を含んでい
る。メモリ自己診断208は、冗長コントローラシステ
ムへのコントローラの挿入時、あるいは冗長コントロー
ラシステム110が動作中の任意のタイミングで実行さ
せることができる。典型的なメモリ自己診断には、メモ
リイメージ、メモリチャンクすなわちデータブロックの
読出し、および内部バッファ(例えば、メモリコントロ
ーラ122の内部バッファ)への保管が含まれている。
テストパターンがメモリブロックに書き込まれ、それが
リードバックされて正当性が検証される。このステップ
は、多くのテストパターンを用いて繰り返される。一態
様では、タスクプロセッサは、1回のテストで1ないし
30のパターンを実行することができる。内部バッファ
に格納されていた元のデータブロックが、外部メモリブ
ロックにライトバックされる。このプロセスは、メモリ
のすべてのブロックのテストが終了するまで繰り返され
る。タスクプロセッサ134の他のタスクには、二重ブ
ロックパリティ生成210、単一ブロックパリティ生成
212、ブロックパターン認識214、およびチェック
サム生成216が含まれている。
【0042】図6は、タスクオペレーションを処理する
ために、タスクプロセッサ134およびタスクプロセッ
サ174によって使用されるデータ構造の一例示的実施
形態を示したものである。他の適切なデータ構造につい
ては、本出願を読めば、当分野の技術者には明らかにな
るであろう。一例示的実施形態では、要求元プロセッサ
が、タスク記述ブロック(TDB)をメモリ120に書
き込んでいる。タスク記述ブロックには、コマンドコー
ドおよび要求を処理するために必要なコマンド専用情報
(ブロックアドレス、ブロックサイズ、データパター
ン、パリティ係数に対するポインタ等)が含まれてい
る。要求元プロセッサは、次に、タスクプロセッサ13
4に対して局部的に、要求エントリを要求キュー(例え
ば、220で示されるキュー「0」)に挿入する。この
エントリには、コマンドコード要求ヘッダ222、関連
するタスク記述ブロックに対するTDBポインタ22
4、およびキューポインタ226で示される、応答のた
めのキュー番号が含まれている。
【0043】キュー「0」220信号が、空ではない信
号を送ると、タスクプロセッサは、キュー220から要
求エントリを読み出す。タスクプロセッサは、要求情報
を用いてタスクデータブロック228を読み出し、読み
出したタスクデータブロック228が要求と一致してい
ることを確認する。次に、タスクプロセッサは、所望の
機能を実行する。タスクプロセッサは、完了応答エント
リを、230で示される指定応答キューに置き、応答キ
ュー230を通して要求元プロセッサ124に完了通知
される。
【0044】図7は、タスクプロセッサ134による処
理に適したメモリブロックに分割された第1のメモリ1
20に含まれるメモリイメージの一例示的実施形態を示
したものである。詳細には、タスクプロセッサ134に
よって処理されるバックグラウンドタスクは、特定のタ
スクプロセッサ134を備えるメモリコントローラ12
2の内部にバッファリングするには大き過ぎる、メモリ
120に格納されているデータブロックに対して働くこ
とができる。したがってタスクプロセッサ134は、メ
モリイメージすなわちブロックを、タスクプロセッサに
よって処理することができるサイズに対応するメモリブ
ロックすなわちチャンク中に構成するように動作する。
図に示す例示的実施形態では、第1のメモリ120に格
納されているメモリイメージは、メモリブロック「1」
232、メモリブロック「2」234、メモリブロック
「3」236、メモリブロック「4」238ないしメモ
リブロック「N」240中に構成される。一態様では、
各チャンクは最大512バイトであり、メモリコントロ
ーラ122の内部に内部バッファリングするには十分に
小さく、かつ、タスク処理システムを有効に使用するに
は十分な大きさである。一態様では、タスクプロセッサ
134は、メモリコントローラ122の制限内で動作し
つつ、メモリイメージ当たりのメモリブロック数が最小
になるメモリブロックサイズを構成するように動作して
いる。最大使用可能メモリブロックが512バイトであ
る一態様では、タスクプロセッサ134は、ブロック中
にメモリイメージを構成し、第1のメモリブロックおよ
び最後のメモリブロックのみ、最大すなわち512バイ
ト未満にすることができる。図に示す例示的実施形態で
は、メモリブロック「1」232およびメモリブロック
「N」240を、最大メモリブロックサイズ未満にする
ことができる。メモリブロック「2」234、メモリブ
ロック「3」236、およびメモリブロック「4」23
8等は、最大メモリブロックサイズ(例えば512バイ
ト)にすることができる。
【0045】タスクプロセッサ134およびシステムオ
ペレーションプロセッサ124は、いずれもメモリ12
0に格納されているデータに対して動作する。冗長コン
トローラシステム110は、冗長コントローラシステム
への第2のコントローラの追加を含め、タスクプロセッ
サ134を介してタスクが処理されている間、システム
コマンドの処理を継続することができるように構成され
ることが望ましい。したがって優先順位は、タスクプロ
セッサ134と他のシステムオペレーションとの間で割
り振られるが、これにはメモリ120にアクセスするた
めのプロセッサ124を介して達成されるものなどが挙
げられる。好ましい一実施形態では、タスクプロセッサ
134に割り当てられている優先順位は、オペレーティ
ングシステムの性能が、タスクプロセッサ134を介し
たバックグラウンドタスクの動作によって極端に低下し
ないように、プロセッサ124よりも低い優先順位(例
えば、最下位の優先順位)になっている。別法として
は、タスクプロセッサ134のメモリアクセス優先順位
を、他のシステムオペレーションと同じか、あるいはそ
れより高くすることができる。あるいは、ファームウェ
アを利用して、タスクプロセッサ134を介して達成さ
れる個々のタスクのメモリアクセス優先順位を高くする
ことができる。
【0046】図8ないし図10は、システムの中断を最
小にする、本発明による冗長コントローラシステムへの
コントローラのオンライン「ホット」挿入の一例示的実
施形態を示したもので、ここでも、本明細書において既
に説明した図1ないし図7が参照されている。
【0047】図8に、本発明による冗長コントローラシ
ステムにコントローラをホット挿入する方法の一例示的
実施形態を示す図が、一括して250で示されている。
この例示的実施形態では、冗長コントローラシステム
は、第1のコントローラ112を介して動作しており、
第2のコントローラは、冗長コントローラシステムから
除去されている。252で、冗長コントローラシステム
110は、単一コントローラシステムとして、第1のコ
ントローラ112を介して動作する。254で、第1の
コントローラ112が、冗長コントローラシステム11
0に第2のコントローラ114が追加されたことを検出
する。冗長コントローラシステム110に第2のコント
ローラ114が追加されたことを検出した後、第1のコ
ントローラ112は、単一コントローラシステムとして
の動作を継続する。第1のコントローラは、冗長コント
ローラシステム110に第2のコントローラ114が追
加されたことを示す検出信号を受け取る。一態様では、
冗長コントローラシステム110に第2のコントローラ
114がホット挿入される場合、ホット挿入されるコン
トローラは、コントローラが完全に挿入され、所定の位
置にラッチされるまで、リセット状態に保持される。存
在検出ラインが、新しいコントローラの装着を検出し、
挿入されたコントローラ114の存在が、存在検出ライ
ン204を介して第1のコントローラ112に通信され
る。
【0048】256で、第2のコントローラ114に電
源が投入され、所定の位置へのラッチ待ち状態になり、
次に、プロセッササブシステムの自己診断が実行され
る。プロセッササブシステムの自己診断には、フラッシ
ュROMに存在しているプロセッササブシステムのファ
ームウェアイメージのテスト、およびマイクロプロセッ
サローカルメモリのテストが含まれており、周辺チップ
レジスタおよびデータ経路のテストが実行される。25
8で、第1のコントローラ112および第2のコントロ
ーラ114が、交互通信経路202を介して通信する。
第2のコントローラ114が冗長コントローラシステム
110の一部として未だ「オンライン」になっていない
状態であっても、第1のコントローラ112および第2
のコントローラ114は、交互通信経路202、メモリ
/通信モジュール138、およびメモリ/通信モジュー
ル178を介して、相互に通信する。交互通信経路20
2を介した、第1のコントローラ112と第2のコント
ローラ114の間のサンプル通信には、コントローラ間
の互換性を確認するためのハードウェアおよびファーム
ウェアのレビジョン情報の交換、テストの結果が出てテ
ストが完了した時の通知、及びホット挿入プロセス中に
おけるコントローラ間の同期点の通信が含まれている。
【0049】260で、第2のコントローラ114が、
その共用メモリに対する自己診断の実行を含む自己診断
を継続する。本明細書において既に説明したように、こ
れらのテストを、バックグラウンドタスクとしてタスク
プロセッサ174を介して、システムを中断させること
なく実行することができる。262で、すべてのテスト
に合格しない場合、リカバリモード264に入る。リカ
バリモード264には、冗長コントローラシステムおよ
び/またはホストへのエラー状態の提供が含まれてい
る。一実施形態では、コントローラに不良のマークが施
され、オフラインに維持される。もう一方のコントロー
ラに対して、上記プロセスが繰り返される。すべてのテ
ストに合格した場合は、266で、第2のコントローラ
114が、第1のコントローラ112にメッセージを送
り、冗長コントローラシステム110に追加されるべく
準備が整ったことを知らせる。
【0050】図9に、本発明による冗長コントローラシ
ステムにコントローラをホット挿入する方法をさらに示
す図が、一括して220で示されている。272で、第
1のコントローラ112は、メモリ120を共用書込み
およびローカル読出し専用として位置づける。したがっ
て、その時点以降、メモリ120に書き込まれるデータ
はすべて、同時に第2のコントローラ114のメモリ1
60にミラーすなわち書き込まれる。この時点では、メ
モリ160のメモリイメージは、メモリ120のメモリ
イメージの「ミラー」コピーではないため、冗長コント
ローラシステム110の一部として、メモリ120から
読み出すことができるのはデータのみである。274
で、第1のコントローラ112の許可が出るまで(例え
ば、交互通信経路202を介して)、第2のコントロー
ラ114による共用メモリ120および独自のメモリ1
60への書込みが禁止される。
【0051】276で、第1のコントローラ112が、
バックグラウンドタスクを介して、その共用メモリ12
0のすべてを、共用メモリ120の同一ロケーションに
コピーバックする。詳細にはタスクプロセッサ134は
バックグラウンドタスクを含んでいるが、ここでタスク
プロセッサ134は、メモリ120からメモリブロック
を読み出し、読み出したメモリブロックをバッファに格
納し、そしてメモリ120の同一ロケーションに書き込
んでいる。第1のコントローラ112は、共用書込みモ
ードに構成されているため、上記オペレーションの結
果、第1のコントローラ112は、メモリブロック12
0からメモリブロックをローカルに読み出すことになる
が、第1のコントローラ112が、メモリ120の同一
ロケーションにライトバックする場合、同時に第2のコ
ントローラ114のメモリ160の同一ロケーションに
書き込むことになる。278で、上記バックグラウンド
タスクの間、第1のコントローラ112は、プロセッサ
124を介してシステムオペレーションコマンドを実行
する動作状態を継続する。一態様では、メモリイメージ
は、一度に1つのメモリブロックがコピーされる。バッ
クグラウンドタスク完了後、ここで第1のメモリ120
のメモリイメージは第2のメモリ160のメモリイメー
ジのミラーであり、冗長コントローラシステム110へ
の第2のコントローラ114の追加プロセスが、280
で示す通り継続される。
【0052】図10は、本発明による冗長コントローラ
システムへのコントローラの追加方法の一例示的実施形
態を示したものであり、290で示す通り、第1のコン
トローラ112のメモリイメージが第2のコントローラ
メモリ160のメモリにミラーされた後又はコピーされ
た後のものである。292で、第1のコントローラ11
2が再構成され、ミラー書込みおよびミラー読出しモー
ドに構成される。ここで第1のメモリ120および第2
のメモリ160の両メモリに対して、データロケーショ
ンの読み出し及び書き込みが可能となる。294で、第
1のコントローラ112がすべてのメモリロケーション
を読み出し、タスクプロセッサ134を介したバックグ
ラウンドタスクを用いて、第1のコントローラの共用メ
モリ120と第2のコントローラの共用メモリ160の
一致性が比較される。したがって、この時点でシステム
オペレーションコマンドが中断されることはない。
【0053】296で、メモリが一致しない場合、リカ
バリモード298に入る。メモリが一致した場合は、3
00で、第1のコントローラ112および第2のコント
ローラ114が再構成され、第2のコントローラが冗長
コントローラシステム110に追加される。この時点で
冗長コントローラシステム110は、ミラーメモリ冗長
コントローラシステムとして完全な動作状態になり、ま
た、第2のコントローラは、ホストをタイムアウトさせ
ることなく、システムオペレーションの処理を最短時間
だけ中断させるだけで、冗長コントローラシステムにホ
ット挿入される。
【0054】コントローラのリセット 知られている二重コントローラシステムでは、一方のコ
ントローラがリセットされると、もう一方のコントロー
ラのマイクロプロセッサへの割込みが生じる。その場
合、割り込まれた側のコントローラのプロセッサは、割
込みおよびリセットの原因を処理しなければならない。
この過去の方法には多くの欠点が知られている。第1の
コントローラと第2のコントローラの間のリセットのタ
イミングは様々である。一方のコントローラが「リセッ
トループ」に入ると、そのリセットは他のコントローラ
のプロセッサに割込みをかけるが、ここでコントローラ
システムの性能に影響を及ぼす拡散動作を備え、洗練度
の劣る、ミラリングインタフェースの状態変化に連動す
る。第2のコントローラが、「スタック」すなわちエラ
ティックプロセッサを有している場合、第2のコントロ
ーラのプロセッサは、割込みを処理するためには役に立
たないため、第1のコントローラにより、第2のコント
ローラをリセットさせることはできない。したがって第
1のコントローラは、システムを復旧させるためには、
リセットを発生する「ウォッチドッグ」モードに頼らざ
るを得ない。第2のコントローラが、システムを使用し
て格納されているデータを損傷させる原因となるために
は、はるかに長い適期が存在している。
【0055】図11および図12は、本発明による冗長
コントローラシステムを使用してコントローラリセット
を処理するシステムおよび方法の一例示的実施形態を示
したものである。本発明による冗長コントローラシステ
ムを使用したコントローラリセット処理方法により、ミ
ラリングバスが使用可能状態になった場合に、リセット
のみが第2のコントローラに伝播することができるよう
に、一方のコントローラに対するリセットがローカライ
ズされる。このローカライズにより、故障したコントロ
ーラが他のすべてのコントローラをリセット状態に保留
することを回避している。図11および図12も、本明
細書において既に説明した図1ないし図10が参照され
ている。
【0056】図11に、本発明による多重冗長コントロ
ーラシステムにおけるコントローラリセット処理方法の
一例示的実施形態が400で示されている。冗長コント
ローラシステムは、アクティブに接続されミラー対とし
て動作する、第1のコントローラ112および第2のコ
ントローラ114を備えており、402で、第2のコン
トローラ114に対するリセット状態が検出される。第
2のコントローラ114はリセットされ、シャットダウ
ンプロセスが開始される。404で、シャットダウンプ
ロセスの一環として、第1のコントローラ112と第2
のコントローラ114の間の通信リンクを介して、第1
のコントローラ112に、コントローラがリセットされ
たことが通知される。好ましい一実施形態では、ミラー
バス200を介して、第1のコントローラ112に、第
2のコントローラがリセットされていることが通知され
る。406で、第1のコントローラ112および第2の
コントローラ114の両コントローラに対して、シャッ
トダウンプロセスが実行される。したがって第1のコン
トローラ112および第2のコントローラ114は、同
時にシャットダウンプロセスを通過する。
【0057】図12に、本発明による二重コントローラ
システムにおけるコントローラリセット方法の一例示的
実施形態をさらに示す図が410で示されている。41
2で、両コントローラに対するシャットダウンプロセス
が完了すると、第1のコントローラ112および第2の
コントローラ114に電源が投入される。シャットダウ
ンプロセスにより、すべての内部バッファがフラッシュ
され、メモリが置かれる。414で、シャットダウンプ
ロセスの一部として、第1のコントローラおよび第2の
コントローラがリセットされる。416で、第1のコン
トローラ112と第2のコントローラ114の間のミラ
ーバス200インタフェースの使用が禁止される。一態
様では、リセットの作用により、第1のコントローラ1
12および第2のコントローラ114が、ミラーバス2
00の使用を禁止している。ミラーバスの使用を禁止す
る動作により、ミラーバスが再び使用可能になるまで、
ボード間でのさらなるリセットの伝播を防止している。
【0058】418で、第1のコントローラ112およ
び第2のコントローラ114の各々が、自己診断を実行
する。通常、自己診断には、内部メモリコントローラA
SIC122および162のテスト、およびすべてのデ
ータ経路バスのテスト以外に、本出願において既に説明
したように、マイクロプロセッササブシステムおよびS
DRAMメモリのテストが含まれている。
【0059】この時点では、第1のコントローラ112
と第2のコントローラ114の間のミラーバス200イ
ンタフェースは、使用禁止の状態が維持されている。し
たがってコントローラの一方によって生じる、あるいは
自己診断の結果として生じるあらゆるリセットまたは割
込みによって、もう一方のコントローラが影響されるこ
とはない。420で、自己診断に合格しなかった場合、
自己診断が不合格となったコントローラは、422のリ
カバリモードに入る。通常リカバリモードには、ホスト
コンピュータシステムに対するエラーの発生、故障の通
知、及びアレイ中の「不良」コントローラが使用禁止さ
れないよう除去することが含まれている。残った「正
常」コントローラは、データのミラーが必要ない単一コ
ントローラモードで動作を開始する。
【0060】第1のコントローラ112および第2のコ
ントローラ114の自己診断に合格すると、424で、
第1のコントローラ112と第2のコントローラ114
の間のミラーバス200インタフェースが使用可能にな
る。したがって第1のコントローラ112および第2の
コントローラ114は、リセットまたはリセットの原因
が除去されたことを確認し、ミラー対としての動作を、
再び継続することができる。
【0061】本発明による冗長コントローラシステムを
使用した上述のコントローラリセット処理方法による
と、ミラーバスと共に使用可能状態にされない限りリセ
ットが第2のコントローラに伝播できないように、1つ
のコントローラに対するリセットをローカライズする。
このローカライズにより、1つのコントローラに、シス
テム内の他のすべてのコントローラをリセットさせるこ
とのないシステムファームウェアのための方法が可能と
なる一方で、多重コントローラボード間のリセットの同
期化を、ハードウェアで管理する利点がもたらされる。
【0062】コントローラの除去 冗長コントローラデータ格納システムからオンラインコ
ントローラを除去する場合、コントローラが「部分除
去」されるかあるいは正しく除去されない場合、故障時
間が発生することになる。これは、通常、コントローラ
がオンライン除去されている間、冗長コントローラが静
止状態になるか、あるいはリセット状態に保持されるこ
とによって生じる。
【0063】冗長コントローラシステムからコントロー
ラをオンライン除去するための知られているプロセスに
は早期警告スイッチすなわち短コネクタピンが含まれて
おり、これはコントローラが除去されていることを冗長
コントローラシステムに警告するものである。この警告
により、コントローラはその時点のコントローラのメモ
リアクセスを終了させ、コントローラの不揮発メモリを
自己リフレッシュモードにすることができる。
【0064】コントローラが完全に分離(例えば、長コ
ントローラ検出ピンが開放)されると、「対になってい
る」コントローラのもう一方のコントローラが、冗長コ
ントローラシステムを制御するための動作を再開するこ
とができる。検出ピンコネクタを利用しているシステム
の場合、部分除去されるコントローラは検出ピンが完全
に接点をシャットダウンするまでの間、システムを使用
不可の状態に保持することができる。このセットアップ
では、例えばコントローラが冗長コントローラシステム
から「部分的にのみ除去」される等の誤った手順によ
り、オンライン除去故障時間が延長し、ホストオペレー
ティングシステムのタイムアウト期間を超過するという
場合がある。
【0065】図13は、本発明による冗長コントローラ
システムからコントローラをオンライン除去する方法の
一例示的実施形態を示したものである。上記方法は45
0で示されている。オンライン除去方法450により、
冗長コントローラシステムの故障時間を最短にする一方
で、コントローラを冗長コントローラシステムから安全
にオンライン除去することができる。
【0066】452で、冗長コントローラシステム11
0からコントローラが除去されていることが検出され
る。ここでも、本明細書において既に説明した図1から
図12を参照する。一態様では、コネクタ上の早期警告
スイッチ又は短コネクタピンが、コントローラが除去さ
れていることをシステム110に警告するが、検出は冗
長コントローラシステム110からコントローラが完全
に開放される前になされることが好ましい。上記警告
は、ホットプラグ警告142またはホットプラグ警告1
82を介して受信される。本明細書で説明する一例示的
実施形態では、第1のコントローラ112が冗長コント
ローラシステム110から除去される。
【0067】454で、冗長コントローラシステム11
0から第1のコントローラ112が除去されていること
が検出されると、第1のコントローラ112および第2
のコントローラ114に対するシャットダウンシーケン
スが実行される。一態様では、456で、各コントロー
ラに対するシャットダウンシーケンスでは、コントロー
ラのプロセッサに割込みがかけられ、プロセッサによる
稼動中の処理タスクの終了を可能にしている。458
で、各コントローラに対するシャットダウンシーケンス
ではさらに、メモリ120およびメモリ160に対する
未処理のメモリアクセスを完了し、内部バッファをフラ
ッシングする。シャットダウンシーケンスの一部とし
て、メモリコントローラ122によって状態語がメモリ
120に書き込まれ、また、メモリコントローラ162
によって状態語がメモリ160に書き込まれる。
【0068】好ましい一実施形態では、第1のメモリ1
20および第2のメモリ160は、自己リフレッシュモ
ードを有しており、さらに好ましくは、バッテリバック
アップを備えている。第1のコントローラ112および
第2のコントローラ114に対するシャットダウンシー
ケンスが完了すると、第1のメモリ120および第2の
メモリ160が、それぞれ対応する第1のメモリコント
ローラ122および第2のメモリコントローラ162に
よって自己リフレッシュモードに置かれる。462で、
除去を検出するコントローラーはオフラインに留まり、
除去の終了を待つ。そのメモリは、自己リフレッシュモ
ードに留まっている。464で、除去を検出しないコン
トローラによって、オンラインになるプロセスが直ちに
開始される。
【0069】本明細書で説明する例示的実施形態では、
メモリ120に対する自己リフレッシュプロセスが完了
すると、除去を検出する第1のコントローラ112がオ
フラインに留まり、除去の終了を待ち、およびメモリ1
20が自己リフレッシュモードに留まる(一態様では、
メモリは、バッテリでバックアップされたDRAMであ
る)。除去を検出しない第2のコントローラ114は、
直ちにオンラインになるプロセスを開始し、冗長コント
ローラシステムの故障時間を最短にする。メモリ160
(例えばバッテリバックアップDRAM)は、自己リフ
レッシュモードを解除され、メモリコントローラが使用
する、予め書き込まれている状態語を保持している。
【0070】以上、好ましい実施形態について説明する
ために、本明細書において特定の実施形態を示し、か
つ、記述したが、本発明の範囲を逸脱することなく、広
範囲の様々な代替実施態様および/または等価実施態様
を、上に示し、かつ、説明した特定の実施形態と置き換
えることができることは、当分野の技術者には理解され
よう。本発明を、極めて広範囲の様々な実施形態の中で
実施することができることは、化学、機械、電気機械、
電気、およびコンピュータ技術の分野の技術者には、容
易に理解されよう。本出願は、本明細書において説明し
た好ましい実施形態のあらゆる応用、すなわち変形形態
を包含することを意図している。したがって本発明は、
特許請求の範囲の各クレームおよびその相当によっての
み制限されることを、明確に意図している。
【0071】(1)第1のコントローラ(32、11
2)および第2のコントローラ(34、114)を有す
る冗長コントローラシステム(30、110)からコン
トローラをオンライン除去する方法であって、早期警告
検出を介して、前記冗長コントローラシステムからの前
記第1のコントローラの部分除去を検出するステップ
(452)と、前記第1のコントローラおよび前記第2
のコントローラに対して、未処理のメモリアクセスを完
了させるステップ(458)を含むシャットダウンシー
ケンスを実行するステップ(454)と、第1のメモリ
(50、120)を有するように前記第1のコントロー
ラを定義し、かつ、前記第1のメモリを自己リフレッシ
ュモードにするステップ(460)と、前記冗長コント
ローラシステムからの前記第1のコントローラの除去を
終了させるステップとを含む方法。
【0072】(2)第1のプロセッサ(54、124)
を含むように前記第1のコントローラを定義するステッ
プと、第2のプロセッサを含むように前記第2のコント
ローラを定義するステップとを含み、前記第1のコント
ローラおよび前記第2のコントローラに対してシャット
ダウンシーケンスを実行する前記ステップ(454)
が、前記第1のプロセッサに割り込むステップおよび前
記第2のプロセッサに割り込むステップ(456)をさ
らに含む、(1)に記載の方法。
【0073】(3)前記第1のプロセッサに割り込む前
記ステップが、前記第1のプロセッサによる未処理のプ
ロセッサタスクの終了を可能にするステップを含み、か
つ、前記第2のプロセッサに割り込む前記ステップが、
前記第2のプロセッサによる未処理のプロセッサタスク
の終了を可能にするステップ(456)を含む、(3)
に記載の方法。
【0074】(4)前記第1のメモリを前記自己リフレ
ッシュモードにする前記ステップ(460)が、前記第
1のメモリを、メモリの内容を維持するためのメモリコ
ントローラからの外部リフレッシュサイクルを必要とし
ないモードにするステップを含む、(1)に記載の方
法。
【0075】(5)第2のメモリを備えるように前記第
2のコントローラを定義し、かつ、前記第2のメモリを
自己リフレッシュモードにするステップ(460)を含
む、(1)に記載の方法。
【0076】(6)前記第2のメモリを自己リフレッシ
ュプロセスに置く前記ステップ(460)が、前記第2
のメモリを、メモリの内容を維持するためのメモリコン
トローラからの外部リフレッシュサイクルを必要としな
いモードにするステップを含む、(5)に記載の方法。
【0077】(7)前記第2のメモリの自己リフレッシ
ュモードを終了させた後で、前記第2のコントローラ
に、オンラインになるプロセスを開始させるステップ
(464)を含む、(5)に記載の方法。
【0078】(8)前記オンラインになるプロセスが、
前記自己リフレッシュモードを終了させた後で、かつ、
前記冗長コントローラシステムからの前記第1のコント
ローラの除去を終了させる前に、直ちに開始されるよう
に構成される(464)、(7)に記載の方法。
【0079】(9)第1のプロセッサ(54、124)
を含むように前記第1のコントローラを定義し、かつ、
第2のプロセッサ(60、164)を含むように前記第
2のコントローラを定義するステップと、前記第1のコ
ントローラおよび前記第2のコントローラに対して、前
記第1のプロセッサおよび前記第2のプロセッサに割り
込み、前記第1のコントローラおよび前記第2のコント
ローラに対する未処理のメモリアクセスを完了させるス
テップ(456)を含むシャットダウンシーケンスを実
行するステップ(454)と、前記第1のメモリの自己
リフレッシュモードを解除した後、前記冗長コントロー
ラシステムからの前記第1のコントローラの除去を終了
させるステップとを含む、(1)に記載の方法。
【0080】(10)(1)から(9)に記載の方法を
実行するように構成された冗長コントローラシステム
(30、110)。
【図面の簡単な説明】
【図1】冗長コントローラをホット挿入するために構成
された、本発明による冗長コントローラデータ格納シス
テムの一例示的実施形態を示す図である。
【図2】本発明による冗長コントローラデータ格納シス
テムにコントローラをホット挿入するための方法の一例
示的実施形態を示す図である。
【図3】本発明による冗長コントローラシステムにコン
トローラをホット挿入する方法の他の例示的実施形態を
示す図である。
【図4】本発明による冗長コントローラをホット挿入す
るために構成された冗長コントローラデータ格納システ
ムの他の例示的実施形態を示す構成図である。
【図5】本発明による冗長コントローラデータ格納シス
テムに使用されるタスクプロセッサの一例示的実施形態
を示す図である。
【図6】本発明による冗長コントローラシステムのタス
クプロセッサによって利用されるデータ構造の一例示的
実施形態を示す図である。
【図7】本発明による冗長コントローラデータ格納シス
テムに使用される、メモリブロック中に構成されたメモ
リイメージを有するコントローラ共用メモリの一例示的
実施形態を示す図である。
【図8】本発明による冗長コントローラシステムにコン
トローラをホット挿入する方法の一例示的実施形態を示
す図である。
【図9】本発明による冗長コントローラシステムにコン
トローラをホット挿入する方法の一例示的実施形態をさ
らに示す図である。
【図10】本発明による冗長コントローラシステムにコ
ントローラをホット挿入する方法の一例示的実施形態を
さらに示す図である。
【図11】本発明による冗長コントローラシステムにお
けるコントローラリセット処理方法の一例示的実施形態
を示す図である。
【図12】本発明による冗長コントローラシステムにお
けるコントローラリセット処理方法の一例示的実施形態
をさらに示す図である。
【図13】本発明による冗長コントローラシステムから
コントローラを除去する方法の一例示的実施形態を示す
図である。
【符号の説明】
32、112 第1のコントローラ 30、110 冗長コントローラシステム 34、114 第2のコントローラ 50、120 第1のメモリ 54、124 第1のプロセッサ 60、164 第2のプロセッサ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 バリー・ジェイ・オールドフィールド アメリカ合衆国83713アイダホ州ボイジー、 ウェスト・ダニエル・コート 11302 (72)発明者 クリストファー・ダブリュ・ヨハンソン アメリカ合衆国83629アイダホ州ホースシ ュー・ベンド、リバー・ブラフ・レーン 32 Fターム(参考) 5B034 BB15 CC01 DD07

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 第1のコントローラおよび第2のコント
    ローラを有する冗長コントローラシステムからコントロ
    ーラをオンライン除去する方法であって、 早期警告検出を介して、前記冗長コントローラシステム
    からの前記第1のコントローラの部分除去を検出するス
    テップと、 前記第1のコントローラおよび前記第2のコントローラ
    に対して、未処理のメモリアクセスを完了させるステッ
    プを含むシャットダウンシーケンスを実行するステップ
    と、 第1のメモリを有するように前記第1のコントローラを
    定義し、かつ、前記第1のメモリを自己リフレッシュモ
    ードにするステップと、 前記冗長コントローラシステムからの前記第1のコント
    ローラの除去を終了させるステップとを含む方法。
JP2002045800A 2001-03-15 2002-02-22 冗長コントローラシステムからコントローラをオンライン除去する方法 Expired - Fee Related JP4097436B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/810,103 US6715101B2 (en) 2001-03-15 2001-03-15 Redundant controller data storage system having an on-line controller removal system and method
US09/810,103 2001-03-15

Publications (3)

Publication Number Publication Date
JP2002328815A true JP2002328815A (ja) 2002-11-15
JP2002328815A5 JP2002328815A5 (ja) 2005-08-11
JP4097436B2 JP4097436B2 (ja) 2008-06-11

Family

ID=25203005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002045800A Expired - Fee Related JP4097436B2 (ja) 2001-03-15 2002-02-22 冗長コントローラシステムからコントローラをオンライン除去する方法

Country Status (3)

Country Link
US (1) US6715101B2 (ja)
JP (1) JP4097436B2 (ja)
GB (1) GB2375632B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010280314A (ja) * 2009-06-05 2010-12-16 Toyota Motor Corp 車載電子システム
JP2016013789A (ja) * 2014-07-03 2016-01-28 日本精工株式会社 電動パワーステアリング装置の制御装置

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243829B1 (en) * 1998-05-27 2001-06-05 Hewlett-Packard Company Memory controller supporting redundant synchronous memories
US6968463B2 (en) 2001-01-17 2005-11-22 Hewlett-Packard Development Company, L.P. System for controlling access to resources in a storage area network
US6915397B2 (en) * 2001-06-01 2005-07-05 Hewlett-Packard Development Company, L.P. System and method for generating point in time storage copy
US6931487B2 (en) * 2001-10-22 2005-08-16 Hewlett-Packard Development Company L.P. High performance multi-controller processing
US7028177B2 (en) * 2002-01-31 2006-04-11 Hewlett-Packard Development Company, L.P. Array controller ROM cloning in redundant controllers
US6947981B2 (en) * 2002-03-26 2005-09-20 Hewlett-Packard Development Company, L.P. Flexible data replication mechanism
US7032131B2 (en) * 2002-03-26 2006-04-18 Hewlett-Packard Development Company, L.P. System and method for ensuring merge completion in a storage area network
US7007042B2 (en) * 2002-03-28 2006-02-28 Hewlett-Packard Development Company, L.P. System and method for automatic site failover in a storage area network
US7480831B2 (en) * 2003-01-23 2009-01-20 Dell Products L.P. Method and apparatus for recovering from a failed I/O controller in an information handling system
US7117388B2 (en) * 2003-04-28 2006-10-03 International Business Machines Corporation Dynamic, Non-invasive detection of hot-pluggable problem components and re-active re-allocation of system resources from problem components
US7209809B2 (en) * 2003-10-15 2007-04-24 The Boeing Company Method and apparatus for obtaining high integrity and availability in multi-channel systems
US7290170B2 (en) * 2004-04-07 2007-10-30 International Business Machines Corporation Arbitration method and system for redundant controllers, with output interlock and automatic switching capabilities
TWI306241B (en) * 2004-07-12 2009-02-11 Infortrend Technology Inc A controller capable of self-monitoring, a redundant storage system having the same, and its method
ITMI20050063A1 (it) 2005-01-20 2006-07-21 Atmel Corp Metodo e sistema per la gestione di una richiesta di sospensione in una memoria flash
US8127088B2 (en) * 2005-01-27 2012-02-28 Hewlett-Packard Development Company, L.P. Intelligent cache management
US7301718B2 (en) * 2005-01-31 2007-11-27 Hewlett-Packard Development Company, L.P. Recording errors in tape drives
US20060230243A1 (en) * 2005-04-06 2006-10-12 Robert Cochran Cascaded snapshots
US20060294149A1 (en) * 2005-06-24 2006-12-28 Intel Corporation Method and apparatus for supporting memory hotplug operations using a dedicated processor core
JP4831599B2 (ja) 2005-06-28 2011-12-07 ルネサスエレクトロニクス株式会社 処理装置
US7779218B2 (en) * 2005-07-22 2010-08-17 Hewlett-Packard Development Company, L.P. Data synchronization management
US7206156B2 (en) * 2005-07-27 2007-04-17 Hewlett-Packard Development Company, L.P. Tape drive error management
US7325078B2 (en) * 2005-10-06 2008-01-29 Hewlett-Packard Development Company, L.P. Secure data scrubbing
US7721053B2 (en) * 2005-10-24 2010-05-18 Hewlett-Packard Development Company, L.P. Intelligent logical unit provisioning
US7467268B2 (en) 2006-04-14 2008-12-16 Hewlett-Packard Development Company, L.P. Concurrent data restore and background copy operations in storage networks
US7430487B2 (en) * 2006-09-06 2008-09-30 International Business Machines Corporation System and method for implementing a programmable DMA master with data checking utilizing a drone system controller
US7934027B2 (en) * 2007-01-19 2011-04-26 Hewlett-Packard Development Company, L.P. Critical resource management
US7861031B2 (en) * 2007-03-01 2010-12-28 Hewlett-Packard Development Company, L.P. Access control management
US8024514B2 (en) * 2007-03-01 2011-09-20 Hewlett-Packard Development Company, L.P. Access control management
US7694079B2 (en) 2007-04-04 2010-04-06 Hewlett-Packard Development Company, L.P. Tagged sequential read operations
US8555042B2 (en) * 2008-05-29 2013-10-08 International Business Machines Corporation Apparatus, system, and method for resetting and bypassing microcontroller stations
US20090300291A1 (en) * 2008-06-03 2009-12-03 Gerald Keith Bartley Implementing Cache Coherency and Reduced Latency Using Multiple Controllers for Memory System
US20090300411A1 (en) * 2008-06-03 2009-12-03 Gerald Keith Bartley Implementing Redundant Memory Access Using Multiple Controllers for Memory System
JP5038237B2 (ja) * 2008-06-06 2012-10-03 株式会社リコー 電子機器、画像形成装置、電子機器の起動制御方法、起動制御プログラム及び記録媒体
US8166351B2 (en) * 2008-10-21 2012-04-24 At&T Intellectual Property I, L.P. Filtering redundant events based on a statistical correlation between events
US7936260B2 (en) * 2008-11-05 2011-05-03 At&T Intellectual Property I, L.P. Identifying redundant alarms by determining coefficients of correlation between alarm categories
US20100146039A1 (en) * 2008-12-08 2010-06-10 Dell Products L.P. System and Method for Providing Access to a Shared System Image
US8069217B2 (en) * 2009-04-16 2011-11-29 Dell Products L.P. System and method for providing access to a shared system image
WO2012131761A1 (ja) * 2011-03-28 2012-10-04 富士通株式会社 情報処理システム及び情報処理システムの処理方法
US10031820B2 (en) * 2013-01-17 2018-07-24 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Mirroring high performance and high availablity applications across server computers

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5193154A (en) 1987-07-10 1993-03-09 Hitachi, Ltd. Buffered peripheral system and method for backing up and retrieving data to and from backup memory device
US4958273A (en) 1987-08-26 1990-09-18 International Business Machines Corporation Multiprocessor system architecture with high availability
US5204952A (en) 1988-07-18 1993-04-20 Northern Telecom Limited Duplex processor arrangement for a switching system
EP0415545B1 (en) 1989-08-01 1996-06-19 Digital Equipment Corporation Method of handling errors in software
JPH03132143A (ja) 1989-10-17 1991-06-05 Fujitsu Ltd 交換機システムにおける非常再開処理方式
US5195100A (en) 1990-03-02 1993-03-16 Micro Technology, Inc. Non-volatile memory storage of write operation identifier in data sotrage device
US5140592A (en) 1990-03-02 1992-08-18 Sf2 Corporation Disk array system
US5212785A (en) 1990-04-06 1993-05-18 Micro Technology, Inc. Apparatus and method for controlling data flow between a computer and memory devices
US5214778A (en) 1990-04-06 1993-05-25 Micro Technology, Inc. Resource management in a multiple resource system
US5155845A (en) 1990-06-15 1992-10-13 Storage Technology Corporation Data storage system for providing redundant copies of data on different disk drives
US5212784A (en) 1990-10-22 1993-05-18 Delphi Data, A Division Of Sparks Industries, Inc. Automated concurrent data backup system
US5155835A (en) 1990-11-19 1992-10-13 Storage Technology Corporation Multilevel, hierarchical, dynamically mapped data storage subsystem
US5278838A (en) 1991-06-18 1994-01-11 Ibm Corp. Recovery from errors in a redundant array of disk drives
DE69227956T2 (de) 1991-07-18 1999-06-10 Tandem Computers Inc Multiprozessorsystem mit gespiegeltem Speicher
US5237658A (en) 1991-10-01 1993-08-17 Tandem Computers Incorporated Linear and orthogonal expansion of array storage in multiprocessor computing systems
US5297258A (en) 1991-11-21 1994-03-22 Ast Research, Inc. Data logging for hard disk data storage systems
US5287462A (en) 1991-12-20 1994-02-15 Ncr Corporation Bufferless SCSI to SCSI data transfer scheme for disk array applications
US5289418A (en) 1992-02-14 1994-02-22 Extended Systems, Inc. Memory apparatus with built-in parity generation
US5388254A (en) 1992-03-27 1995-02-07 International Business Machines Corporation Method and means for limiting duration of input/output (I/O) requests
US5418921A (en) 1992-05-05 1995-05-23 International Business Machines Corporation Method and means for fast writing data to LRU cached based DASD arrays under diverse fault tolerant modes
US5459857A (en) 1992-05-15 1995-10-17 Storage Technology Corporation Fault tolerant disk array data storage subsystem
US5379415A (en) 1992-09-29 1995-01-03 Zitel Corporation Fault tolerant memory system
US5437022A (en) 1992-12-17 1995-07-25 International Business Machines Corporation Storage controller having additional cache memory and a means for recovering from failure and reconfiguring a control unit thereof in response thereto
US5473770A (en) * 1993-03-02 1995-12-05 Tandem Computers Incorporated Fault-tolerant computer system with hidden local memory refresh
US5546539A (en) 1993-12-29 1996-08-13 Intel Corporation Method and system for updating files of a plurality of storage devices through propogation of files over a nework
US5555510A (en) * 1994-08-02 1996-09-10 Intel Corporation Automatic computer card insertion and removal algorithm
JP3231561B2 (ja) * 1994-09-22 2001-11-26 日本電気株式会社 バックアップメモリ制御方式
US5682471A (en) 1994-10-06 1997-10-28 Billings; Thomas Neal System for transparently storing inputs to non-volatile storage and automatically re-entering them to reconstruct work if volatile memory is lost
US5574863A (en) 1994-10-25 1996-11-12 Hewlett-Packard Company System for using mirrored memory as a robust communication path between dual disk storage controllers
EP0717358B1 (en) 1994-12-15 2001-10-10 Hewlett-Packard Company, A Delaware Corporation Failure detection system for a mirrored memory dual controller disk storage system
EP0721162A2 (en) 1995-01-06 1996-07-10 Hewlett-Packard Company Mirrored memory dual controller disk storage system
US5568641A (en) 1995-01-18 1996-10-22 Hewlett-Packard Company Powerfail durable flash EEPROM upgrade
US5553230A (en) 1995-01-18 1996-09-03 Hewlett-Packard Company Identifying controller pairs in a dual controller disk array
US5666512A (en) 1995-02-10 1997-09-09 Hewlett-Packard Company Disk array having hot spare resources and methods for using hot spare resources to store user data
US6591374B1 (en) * 1995-12-22 2003-07-08 Cisco Technology, Inc. Method and apparatus for forcing system components to temporarily enter a standby mode of operation during switching events
US5856989A (en) 1996-08-13 1999-01-05 Hewlett-Packard Company Method and apparatus for parity block generation
US6092168A (en) 1996-10-25 2000-07-18 Hewlett-Packard Co. Data storage system and method for deallocating space by writing and detecting a predefined data pattern
US5964855A (en) * 1997-04-07 1999-10-12 International Business Machines Corporation Method and system for enabling nondisruptive live insertion and removal of feature cards in a computer system
US6247079B1 (en) * 1997-05-13 2001-06-12 Micron Electronics, Inc Apparatus for computer implemented hot-swap and hot-add
US5960451A (en) 1997-09-16 1999-09-28 Hewlett-Packard Company System and method for reporting available capacity in a data storage system with variable consumption characteristics
US6026458A (en) * 1997-10-14 2000-02-15 International Business Machines Corporation System with pluggable adapter card and hot-swap interface controller
US6505281B1 (en) * 1998-06-02 2003-01-07 Raymond C. Sherry Hard disk drives employing high speed distribution bus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010280314A (ja) * 2009-06-05 2010-12-16 Toyota Motor Corp 車載電子システム
JP2016013789A (ja) * 2014-07-03 2016-01-28 日本精工株式会社 電動パワーステアリング装置の制御装置

Also Published As

Publication number Publication date
US6715101B2 (en) 2004-03-30
GB2375632B (en) 2005-03-23
GB2375632A (en) 2002-11-20
GB2375632A8 (en) 2003-05-12
US20020133744A1 (en) 2002-09-19
JP4097436B2 (ja) 2008-06-11
GB0205556D0 (en) 2002-04-24

Similar Documents

Publication Publication Date Title
JP4097436B2 (ja) 冗長コントローラシステムからコントローラをオンライン除去する方法
US6802023B2 (en) Redundant controller data storage system having hot insertion system and method
US6708285B2 (en) Redundant controller data storage system having system and method for handling controller resets
JP3732440B2 (ja) ミラーリング・デバイス群に格納されているデータの一貫性を維持する方法および装置
US7549020B2 (en) Method and apparatus for raid on memory
US8498967B1 (en) Two-node high availability cluster storage solution using an intelligent initiator to avoid split brain syndrome
JPH09128305A (ja) 外部記憶装置
JPH04205519A (ja) データ復元中のライト方法
TWI773155B (zh) 用以進行全快閃記憶體陣列伺服器的碟管理的方法與設備
US7530000B2 (en) Early detection of storage device degradation
JP2006268673A (ja) 記憶制御装置及び記憶デバイスのエラー制御方法
US6938188B1 (en) Method for verifying functional integrity of computer hardware, particularly data storage devices
JP4669263B2 (ja) ストレージ装置
JPH1195933A (ja) ディスクアレイ装置
US7260680B2 (en) Storage apparatus having microprocessor redundancy for recovery from soft errors
JP2001075741A (ja) ディスク制御システムおよびデータ保全方法
JPH1027070A (ja) データバックアップシステム
JPH10133926A (ja) ミラー化ディスク復旧方法と復旧システム
CN113868000B (zh) 一种链路故障修复方法、系统及相关组件
JPH11154058A (ja) ディスクアレイ装置及びデータ保守方法
JPH083807B2 (ja) 2重化磁気デイスク装置の自動切換装置
JP2001265536A (ja) 階層的記憶システム用のデータ破損試験方法
CN116679875A (zh) 冗余磁盘阵列控制器切换系统、方法、电子设备及介质
JP2002351755A (ja) 障害発生装置およびコンピュータシステムの試験方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050119

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080304

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080311

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110321

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120321

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130321

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130321

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20130321

Year of fee payment: 5

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

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

Free format text: PAYMENT UNTIL: 20130321

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20130321

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20140321

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees