JP2006120119A - 二重制御装置を有する冗長データ記憶システムおよびその動作方法 - Google Patents

二重制御装置を有する冗長データ記憶システムおよびその動作方法 Download PDF

Info

Publication number
JP2006120119A
JP2006120119A JP2005141035A JP2005141035A JP2006120119A JP 2006120119 A JP2006120119 A JP 2006120119A JP 2005141035 A JP2005141035 A JP 2005141035A JP 2005141035 A JP2005141035 A JP 2005141035A JP 2006120119 A JP2006120119 A JP 2006120119A
Authority
JP
Japan
Prior art keywords
controller
memory space
state information
memory
data storage
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
JP2005141035A
Other languages
English (en)
Other versions
JP5403849B2 (ja
Inventor
Ayman M Ghanem
モハンマド ガーナム アイマン
Robert G Bean
ジョージ ビーン ロバート
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seagate Technology LLC
Original Assignee
Seagate Technology LLC
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 Seagate Technology LLC filed Critical Seagate Technology LLC
Publication of JP2006120119A publication Critical patent/JP2006120119A/ja
Application granted granted Critical
Publication of JP5403849B2 publication Critical patent/JP5403849B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • 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/2056Error 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 by mirroring
    • G06F11/2071Error 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 by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • 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

【課題】冗長データ記憶システムおよびこれに関連する方法を提供する。
【解決手段】冗長データ記憶システム100は、第1のメモリ空間128A1のトップレベル制御を行う第1の制御装置108A1と、第1のメモリ空間とは異なる第2のメモリ空間128A2のトップレベル制御を行う第2の制御装置108A2とを含む。このシステムは、第2のメモリ空間に第1の制御装置により状態情報を非同期的に反射的に書込み、あるいは、第1のメモリ空間に第2の制御装置により状態情報を非同期的に反射的に書込む。現存の状態情報と、状態情報変更要求に関連して変更された状態情報との間の不一致を解決することにより冗長データ記憶システム100を動作させるための、また冗長データ記憶システムにおける制御を両制御装置108A1、108A2の間でスイッチするための方法が提供される。
【選択図】図3

Description

本発明は、一般的にはコンピュータ・システムに関し、特に、冗長データ記憶システムにおけるフェイルオーバ(failover)制御に関するが、これのみに関するわけではない。
コンピュータ・システムは、入力装置、出力装置、1つまたはそれ以上のプロセッサ、および記憶媒体を含むことができる。オペレーティング・システムは、アプリケーション環境と、ファイルが作成され、変更され、または削除される時に記憶容量を割り当てる(また割り当てを解除する)ためのファイル・システムとを提供する。例えば、サーバおよび記憶装置アレイのような、特殊化されたコンピュータ・システムもまた、ネットワークまたは他の接続を経てアクセスされる記憶容量を割り当てるためのファイル・システムを用いる。サーバおよび記憶装置アレイは、例えば、RAIDレベルなどの所望の記憶フォーマットに依存して、複数のディスク・ドライブ上にファイルを記憶する。ユーザ・データ・ファイルは、1つまたはそれ以上のディスク・ドライブ上の、1つまたはそれ以上の領域にマップされる。マッピングは、ミラー・データまたはパリティ・データの記憶を含む。データ・ファイルの、1つまたはそれ以上のディスク・ドライブへのマップされ方を記述する構成情報は、テーブルまたはメタデータと呼ばれる他のデータ構造内に含まれる。ファイルが作成され、変更され、または削除される時は、記憶容量の割り当て、または割り当ての解除を反映するようにメタデータは更新される。
システムは、マルチスレッド式に、またマルチタスキング式に、同時に多くのプロセスを実行することができる。(システム・プロセスまたはユーザ・アプリケーションなどの)1つのプロセスの異常な実行は、1つまたはそれ以上のプロセスを不完全に終わらせて、システム障害(system failure)の可能性を増大させうる。必要とされるのは、そのような障害に続いて行われる、システムの強力な再起動の支援におけるマスタ制御装置から冗長制御装置へのスイッチングのような、そのような障害から回復するための高度の解決法である。
ここで具現されるように、また特許請求の範囲に後述されるように、本発明は、一般的には、冗長データ記憶システムを動作させる装置および関連の方法を提供することを目的とする。
ある実施例においては、第1のメモリ空間のトップレベル制御を行う第1の制御装置と、第1のメモリ空間とは異なる第2のメモリ空間のトップレベル制御を行う第2の制御装置とを含む、冗長データ記憶システムが提供される。このシステムは、第2のメモリ空間に第1の制御装置により状態情報を非同期的に書込むようにされ、あるいは、このシステムは第1のメモリ空間に第2の制御装置により状態情報を非同期的に書込むようにされる。ある実施例においては、メモリ空間は反射メモリ(reflective memory)を含むことができる。このシステムは、現存する状態についての状態情報変更要求に関連して、制御装置の1つにより作成されたクラッシュ回復記録を利用する。このクラッシュ回復記録および変更された状態情報は、メモリ空間のバス結合マップト・メモリ領域(bus joining mapped memory region)を含むデータ転送ウィンドウなどの通信リンクを経て反射的に書込まれる。
ある実施例においては、第1の制御装置および第2の制御装置を有する冗長データ記憶システムを動作させる方法が提供される。この方法は、第1の制御装置のトップレベル制御のもとで第1の制御装置により第1のメモリ空間内に状態情報を書込むステップと、第1のメモリ空間とは異なる第2のメモリ空間であって、第2の制御装置のトップレベル制御のもとにあるこの第2のメモリ空間に状態情報を非同期的に反射的に書込むステップとを含む。この方法はさらに、冗長データ記憶システムによる状態情報変更要求に応答して、第1のメモリ空間において第1の制御装置により状態情報を変更するステップと、第2のメモリ空間に変更された状態情報を非同期的に反射的に書込むステップとを含む。好ましくは、この方法は、現存する状態についての状態情報変更要求に関連させることにより、状態情報を変更するステップに先立ってクラッシュ回復記録を作成するステップと、第2のメモリにクラッシュ回復記録を非同期的に反射的に書込むステップとを含む。この方法は、第2の制御装置に関連するプロセッサ・キャッシュを無効化することにより、現存の状態情報と、変更された状態情報との間の不一致を解決するステップを含むことができる。この方法は、前に第2のメモリに書込まれた状態情報を用いることにより、冗長記憶システムにおける制御を第2の制御装置にスイッチするステップを含むことができる。このスイッチするステップは、前に第2のメモリに書込まれた状態情報を、クラッシュ回復記録と組み合わせるステップを含むことができる。解決するステップは、変更された状態情報を成功裏に反射的に書込んだ後に、クラッシュ回復記録をクリアするステップをさらに含みうる。
ある実施例においては、少なくとも2つの独立した制御装置と、制御をこれらの制御装置の間でスイッチする手段とを有する記憶装置アレイを含む、冗長データ記憶システムが提供される。このスイッチする手段は、状態情報変更要求に関連する制御装置の1つによりクラッシュ回復記録を作成することを特徴とする。このスイッチする手段は、制御装置の1つにより、他の制御装置のメモリ空間へ、状態情報を非同期的に反射的に変更することを特徴とする。このスイッチする手段は、状態情報の変更に関連する制御装置の間の状態情報の不一致を解決することを特徴とする。
特許請求の範囲に記載されている本発明の実施例の特徴である、これらの特徴および他の特徴は、以下の詳細な説明を読み、また関連する図面を点検するとき明らかとなろう。
本発明の実施例を有利に実行できる代表的な環境を説明するために、図1は、大容量記憶装置を利用した記憶領域ネットワーク(SAN)を特徴とする冗長データ記憶システム100を示す。
システム100は、ホストA、B、およびCとしてそれぞれが特定されている、いくつかのホスト・コンピュータ102を含む。ホスト・コンピュータ102は、組織若しくはファブリック(fabric)106を経て、互いに対話すると共に、(AおよびBによりそれぞれ示されている)1対のデータ記憶装置アレイ104とも対話する。組織106は、好ましくは、ファイバチャネルに基づく交換ネットワークであることを特徴とするが、インタネットを含む他の構成も同様に利用することができる。
それぞれのアレイ104は、(A1、A2およびB1、B2により示されている)1対の制御装置108と、好ましくは、RAID(独立ディスクの冗長アレイ)として動作するハード・ディスク・ドライブであることを特徴とする一組のデータ記憶装置110とを含む。制御装置108およびデータ記憶装置110は、好ましくは、さまざまな制御装置108が並列冗長リンクを利用し、またシステム100により記憶されるユーザ・データの少なくともいくらかが、少なくとも一組のデータ記憶装置110内に冗長フォーマットで記憶されるように、障害許容構成を利用する。
さらに、Aホスト・コンピュータ102およびAデータ記憶装置アレイ104は、第1のサイトに物理的に位置することができ、Bホスト・コンピュータ102およびBデータ記憶装置アレイ104は、第2のサイトに物理的に位置することができ、Cホスト・コンピュータ102は、さらに第3のサイトにありうるものと考えるが、これは単に例としてのことであって、このように限定されるわけではない。
図2は、制御装置108の選択された1つを詳細に示す。制御装置108は、単一集積回路内に具現することができ、または所望するように、いくつかの別個の回路の間に分散させることができる。好ましくは、プログラム可能なコンピュータ・プロセッサであることを特徴とする、関連するキャッシュ113を有するメイン・プロセッサ112は、(フラッシュ・メモリなどのような)不揮発性メモリ114内、およびダイナミック・ランダム・アクセス・メモリ(DRAM)116内に記憶されているプログラミング・ステップおよび処理データに従って、トップレベル制御を行う。
組織インタフェース(I/F)回路118は、組織106を経て他の制御装置108およびホスト・コンピュータ102と通信し、装置I/F回路120は、記憶装置110と通信する。I/F回路118、120および経路制御装置122は、キャッシュ・メモリ124の使用によるなどして、記憶装置アレイ104とホスト102との間に、指令およびデータのための通過通信経路を形成する。それぞれの経路制御装置122および対応するI/F回路118、120は、別個に図示されているが、一体的に構成できることを理解すべきである。(図2に部分的に示されている)バス126のような通信リンクは、制御装置108A1、108A2を接続し、万一の制御装置108の障害の場合における障害許容構成を提供する。
図3は、バス126による経路制御装置122A1、122A2のリンキングの方法を示す、システム100の部分の図である。システム100は、制御装置108A1、108A2の一方を、アレイ104の動作を処理するためのマスタ制御を行うものとして、また他方の制御装置108A1、108A2を、マスタ制御装置の万一の障害または使用不可能の場合の冗長制御装置として、指定することができる。その目的のために、制御装置108A1は、メモリ空間128A1のトップレベル制御を行い、また制御装置108A2は、メモリ空間128A1とは異なるメモリ空間128A2のトップレベル制御を行う。メモリ空間128は、DRAM116の部分を含むことができる。
メモリ128A1は、メモリ128A2のマップト・メモリ領域130A2内にミラーリングされるマップト・メモリ領域130A1を有する。同様にして、マップト・メモリ領域130A2は、メモリ128A1のマップト・メモリ領域130A1内にミラーリングされる。バス126と協働するこれらのマップト・メモリ領域130A1、130A2は、データをマスタ制御装置108に局所的に書込む時に、データを冗長制御装置108に反射的に書込むためのデータ転送ウィンドウ132を画定する。
換言すれば、マップト・メモリ領域130A1、130A2は、それぞれのメモリ128A1、128A2の反射メモリ部分であることを特徴とする。例えば、データが制御装置108A1により、局所的書込み指令に応答してメモリ128A1に書込まれた時は、経路制御装置122A1はそのデータを1つまたはそれ以上のパケット内に付随的にパケット化し、そのパケットをデータ転送ウィンドウを通らせ、そのデータを反射メモリ130A2内の対応するアドレスに反射的に書込む。同様にして、経路制御装置122A2により、局所的書込み指令に応答してメモリ128A2に書込まれたデータは、反射メモリ130A1に反射的に書込まれる。
アレイ104のデータ記憶容量は、与えられたアレイ104内のデータ記憶装置110のエクステントにより定められる。状態情報は、アレイ104に書込むことができ、またアレイ104から読取ることができる順序付きデータであり、データ構造およびオブジェクト属性を定める。例えば、状態情報は、論理ディスクの存在および論理ディスクの識別を定めることができる。状態情報はまた、論理ディスクをホストに呈示するための環境を特定することができる。
状態情報は、オブジェクト属性を変更するためのユーザ指令が到着した時には変更される。本発明の実施例は、冗長制御装置108に対し、万一のフェイルオーバの場合に、常に変化し続ける状態情報により定められるシステム100の現在の状態を冗長制御装置108に供給するための、高速かつ効率的な装置および関連する方法を意図している。その目的のために、マスタ制御装置108は、好ましくは、最新の状態情報に対する冗長制御装置108の実質的に即時のアクセスのために、変更された状態情報を非同期的に反射的に書込む。「非同期的に」とは、冗長制御装置108からマスタ制御装置108へ返送される反射的書込みの受理通知に関連する遅延なしに、変更された状態情報がデータ転送ウィンドウ132を通して、関連する反射メモリ130に直接記憶されることを意味する。
統一された外部状態内に存在する、この比較的にゆるく結合された構成の多重プロセッサ112A1、112A2の利点は、万一のフェイルオーバの場合における、現在の状態に対する冗長制御装置108の即時のアクセス可能性を含む。これは、フェイルオーバからの回復時に、直ちにシステム100の強力な再起動を可能にする。例えば、本発明の実施例により実行される実施例は、フェイルオーバに続く1秒未満内でのシステム100の再起動を支援するように意図されている。
マスタ制御装置108が状態情報を更新している間に生じるフェイルオーバは、制御装置108の間の安定した状態を不確実なままとしうる。この潜在的問題を解決する1つの方法は、マスタ制御装置108によりクラッシュ回復記録を作成し、それを冗長制御装置108に反射的に書込むことである。このクラッシュ回復記録は、システム100の現在の状態に対しての、システム100による状態情報変更要求に関連する。換言すれば、クラッシュ回復記録は、システム100による構成変更要求から生じる状態変更を定める記憶データである。クラッシュ回復記録は、制御装置108により、現在の状態を損失させ、または不整合とするイベントを矯正するために用いられる。
クラッシュ回復記録は、好ましくは、可能な限りそれが状態回復中になんらかのプロセスを再開するために用いられないように、処方データでなく、結果データのみから成るようにする。このようにして、回復記録は、回復のために知能または意思決定を必要としない。むしろ、クラッシュ回復は、アドレス決定および書込みのような機械的計算のみを含む。
この構成は、回復コードを簡単かつ信頼性の高いものとする。データを書込むべき場所の実際のアドレスは、回復記録内の位置により暗に示すことができ、他の構成物(すなわち、論理装置番号)を参照することにより暗に示すことができ、または、回復記録内の実際のアドレスにより明示することができる。特に有利なのは、これが、回復記録を状態情報のべき等更新(idem potent updating)のためのコード内に用いられうるようにし、可能な最も速い回復を保証することである。システム100内のアドレス特定用の位置は、更新されるべきそれぞれのマップ、テーブルまたは他のデータ構造のための回復記録に書込むことができる。あるいは、論理装置番号および記憶装置格子番号のような回復記録内の情報は、記憶アドレスを発生できる情報を与えることができる。
図4は、本発明の実施例による冗長データ記憶システム100を動作させる方法140における諸ステップを示すフロー・チャートである。システム100は、最初ブロック142において、マスタ制御装置に制御を割り当てる。マスタ制御装置108は、どちらか一方の制御装置108A1、108A2でありえ、それに応じて、冗長制御装置108は、他方の制御装置108A1、108A2となる。説明のため、以下の記述において方法140は、制御装置108A1をマスタ制御装置と仮定して開始される。
制御装置108A1の制御のもとで、システム100は、ブロック144において、通常のデータ転送および操作動作を行う。ブロック146においては、システム100により、割り当て(または割り当て解除)要求またはオブジェクト属性変更などに関連するような、状態情報変更要求が指令されたかどうかが決定される。もしブロック146の決定が、ノー(no)であれば制御はブロック144における通常動作に戻る。そうでなければ、制御はブロック148に進み、そこでは制御装置108A1が、クラッシュ回復記録を作成し、そのクラッシュ回復記録をメモリ128A1内に局所的に書込む。ブロック150においては、制御装置108A1が、そのクラッシュ回復記録をメモリ128A2に非同期的に反射的に書込む。
有効なクラッシュ回復記録を完了した後、制御はブロック152に進み、そこでは制御装置108A1が、メモリ128A1内の状態情報を、状態情報変更要求に従って、一度に1フィールドずつ局所的に変更する。ブロック154においては、制御装置108A1が、変更された状態情報をメモリ128A2に非同期的に反射的に書込む。決定ブロック156は、制御装置108A1が、変更された状態情報の最後のフィールドを書込み終わったかどうかを確認し、もし書込み終わっていなければ、ブロック158において次のフィールドに進み、さらなる変更のために制御をブロック152に戻す。そうでなければ、変更された状態情報の完全なセットがメモリ128A1に書込まれ、ブロック160において、プロセッサ・キャッシュ113A2内のアドレスが反射的書込み(状態更新)により影響を受ける限度まで、制御装置108A1が、指令をデータ転送ウィンドウ132を通過させて冗長制御装置108A2のプロセッサ・キャッシュ113A2を無効化する。これは、制御装置108A1、108A2の間の前の状態と現在の状態との間の不一致を解決する。次に、ブロック162において、制御装置108A1は、クラッシュ回復記録をクリアし、制御はブロック144における通常動作に戻る。
ブロック164は、制御装置108A1、108A2の間で動作制御をスイッチするためのスイッチング動作を示す。スイッチングは、システム100の通常動作144中、または状態情報変更要求146に関連する状態情報の更新中に行うことができる。図5は、システム100の制御を制御装置108A1から制御装置108A2にスイッチする方法の諸ステップを示すフロー・チャートである。図5には示されていないが、スイッチング動作164は、同様にして、制御を制御装置108A2から制御装置108A1にスイッチすることができる。
説明のため、図4のブロック142において割り当てたように、方法164は、最初ブロック166において制御装置108A1をマスタ制御を行うものとして認める。決定ブロック168は、制御装置108A2への制御のスイッチングが、制御装置108A1のフェイルオーバ・イベントまたは他の使用不可能の場合におけるように、必要とされているかどうかを確認する。もしスイッチングが必要とされていなければ、制御はブロック166へ戻る。
決定ブロック168においてシステム100からスイッチングの指令があると、ブロック170において制御装置108A2は、メモリ128A2内に有効なクラッシュ回復記録が存在するかどうかを決定する。もし存在すれば、ブロック172において制御装置108A2は、前にブロック174においてメモリ128A2内に記憶された状態情報を得て、それを前にブロック176において記憶されたメモリ128A2からのクラッシュ回復記録と組み合わせる。次に、制御はブロック178に進み、そこでは制御装置108A2が、制御装置108の間の状態情報の不一致を、プロセッサ・キャッシュ113A1を無効化し、かつ記憶されているクラッシュ回復記録をクリアすることによるなどして解決する。
もしブロック170において、有効なクラッシュ回復記録が存在しないことが決定されれば、制御はブロック180に進み、そこでは制御装置108A2が、ブロック174から状態情報を得る。いずれにせよ、制御は次にブロック182に進み、次にこのブロックは制御を図4のブロック142に進め、そこでは制御装置108A2が、アレイ104のマスタ制御を行う。
一般に、本発明の実施例は、少なくとも2つの独立した制御装置と、制御をこれらの制御装置の間でスイッチするための手段とを有する記憶装置アレイを含む冗長データ記憶システムを意図している。スイッチするための手段は、制御装置の1つが、クラッシュ回復記録を作成し、状態情報変更要求に関連する状態情報を変更し、かつクラッシュ回復記録および変更された状態情報の両者を他の制御装置に非同期的に反射的に書込むことを特徴とする。スイッチするための手段はまた、制御が実際にスイッチされるかどうかにかかわらず、制御装置の間での状態情報の不一致を解決することを特徴とする。
上述の例は、データ記憶システムの構成に向けてのものである(また、ディスク・ドライブ、WORMドライブ、書込み可能なCD−ROM、DVD、EPROM、半導体RAM、およびEEPROMを含む、しかしこれらに限られるわけではない、任意の媒体を用いた記憶システムに適用することができる)が、本発明の実施例は、ネットワーク・インタフェースおよびグラフィックス・アダプタのような部品および接続構成を含む、コンピュータ・システムの他のハードウェアおよびソフトウェア構成が可能な要素に対し、また、アプリケーション環境の設定、レジスタの設定、パスワードなどのようなソフトウェア構成に対し、適用可能である。例えば、本発明の方法は、もしパスワードが変更されつつある間にクラッシュが起こってパスワードが破損されても、非破損パスワードを書込むために回復記録を用いることができるように、パスワードの設定に適用することができる。従って、システム情報変更要求は、システムの構成情報を更新する任意の要求を含む。
以上の説明においては、本発明のさまざまな実施例の構造および機能の詳細と共に、本発明のさまざまな実施例の多くの特徴および利点を提示したが、この詳細な記述は説明用のものに過ぎず、本発明の原理内において、特に部品の構造および配置につき細部において、添付の特許請求の範囲を記述している用語の広い一般的意味により示される限度まで、変更を行うことができる。例えば、特定の要素は、本発明の精神および範囲から逸脱することなく、特定のデータ記憶装置の構造に依存して変更することができる。
大容量記憶装置を利用した記憶領域ネットワーク(SAN)としての特徴を有する冗長データ記憶システムのトップ・レベル機能ブロック図である。(実施例1) 図1の制御装置の選択された1つを示す機能ブロック図である。 図1のシステム内の両制御装置の部分の図である。 本発明の実施例による冗長アレイ記憶システムを動作させる方法を実行するための諸ステップを示すフロー・チャートである。(実施例2) 図4の方法において、制御をスイッチする方法を実行するための諸ステップを示すフロー・チャートである。
符号の説明
108A1 制御装置
108A2 制御装置
113A1 プロセッサ・キャッシュ
113A2 プロセッサ・キャッシュ
128A1 メモリ空間
128A2 メモリ空間
130A1 マップト・メモリ領域
130A2 マップト・メモリ領域
132 データ転送ウィンドウ

Claims (20)

  1. 第1のメモリ空間のトップレベル制御を行う第1の制御装置と、前記第1のメモリ空間とは異なる第2のメモリ空間のトップレベル制御を行う第2の制御装置とを含み、前記第2のメモリ空間に前記第1の制御装置により状態情報を非同期的に書込むように構成されている冗長データ記憶システム。
  2. 前記第2のメモリ空間は反射メモリを含む請求項1記載のシステム。
  3. 前記第1のメモリ空間は反射メモリを含む請求項2記載のシステム。
  4. もう1つの選択肢として、前記第1のメモリ空間に前記第2の制御装置により状態情報を非同期的に書込むようにされている請求項3記載のシステム。
  5. 前記冗長データ記憶システムの現存する状態についての状態情報変更要求に関連して前記制御装置の1つにより作成されたクラッシュ回復記録を含む請求項4記載のシステム。
  6. 前記両メモリ空間の間で前記状態情報および前記クラッシュ回復記録を伝送するようにされた通信リンクを含む請求項5記載のシステム。
  7. 前記通信リンクはデータ転送ウィンドウを含む請求項6記載のシステム。
  8. 第1の制御装置および第2の制御装置を有する冗長データ記憶システムを動作させる方法において、該方法は、
    前記第1の制御装置のトップレベル制御のもとで前記第1の制御装置により第1のメモリ空間内に状態情報を書込むステップと、
    前記第1のメモリ空間とは異なる第2のメモリ空間であって、前記第2の制御装置のトップレベル制御のもとにある前記第2のメモリ空間に前記状態情報を非同期的に反射的に書込むステップと、
    を含む前記方法。
  9. 前記冗長データ記憶システムによる状態情報変更要求に応答して、前記第1のメモリ空間において前記第1の制御装置により前記状態情報を変更するステップと、
    前記第2のメモリ空間に前記変更された状態情報を非同期的に反射的に書込むステップと、
    をさらに含む請求項8記載の方法。
  10. 現存する状態についての前記状態情報変更要求に関連させることにより、前記状態情報を変更するステップに先立ってクラッシュ回復記録を作成するステップと、
    前記第2のメモリに前記クラッシュ回復記録を非同期的に反射的に書込むステップと、
    をさらに含む請求項9記載の方法。
  11. 前記第2の制御装置に関連するキャッシュを無効化することにより、現存の状態情報と、前記変更された状態情報との間の不一致を解決するステップをさらに含む請求項10記載の方法。
  12. 前に前記第2のメモリに書込まれた状態情報を用いることにより、前記冗長記憶システムにおける制御を前記第2の制御装置にスイッチするステップをさらに含む請求項11記載の方法。
  13. 前記スイッチするステップは、前に前記第2のメモリに書込まれた状態情報を、前記クラッシュ回復記録と組み合わせるステップを含む請求項12記載の方法。
  14. 前記解決するステップは、前記クラッシュ回復記録をクリアするステップをさらに含む請求項13記載の方法。
  15. 前記非同期的に反射的に書込むステップは、前記第1および第2のメモリのそれぞれの中のメモリ領域をマッピングするステップと、前記両制御装置をリンクするステップとを特徴とする請求項8記載の方法。
  16. 前記マッピングするステップおよびリンクするステップは、データ転送ウィンドウを特徴とする請求項15記載の方法。
  17. 少なくとも2つの独立した制御装置と、制御を第1の制御装置から第2の制御装置にスイッチする手段とを備えたデータ記憶装置アレイを含む冗長データ記憶システム。
  18. 前記スイッチする手段は、状態情報変更要求に関連する前記第1の制御装置によりクラッシュ回復記録を作成することを特徴とする請求項17記載のシステム。
  19. 前記スイッチする手段は、前記第1の制御装置により、前記第2の制御装置のメモリ空間へ、状態情報を非同期的に反射的に変更することを特徴とする請求項17記載のシステム。
  20. 前記スイッチする手段は、前記状態情報の変更に関連する前記制御装置の間の状態情報の不一致を解決することを特徴とする請求項19記載のシステム。
JP2005141035A 2004-10-20 2005-05-13 二重制御装置を有する冗長データ記憶システムおよびその動作方法 Expired - Fee Related JP5403849B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/969149 2004-10-20
US10/969,149 US20060083102A1 (en) 2004-10-20 2004-10-20 Failover control of dual controllers in a redundant data storage system

Publications (2)

Publication Number Publication Date
JP2006120119A true JP2006120119A (ja) 2006-05-11
JP5403849B2 JP5403849B2 (ja) 2014-01-29

Family

ID=36180600

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005141035A Expired - Fee Related JP5403849B2 (ja) 2004-10-20 2005-05-13 二重制御装置を有する冗長データ記憶システムおよびその動作方法

Country Status (2)

Country Link
US (2) US20060083102A1 (ja)
JP (1) JP5403849B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017131729A1 (en) * 2016-01-29 2017-08-03 Hewlett Packard Enterprise Development Lp Managing a storage system

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7263581B2 (en) * 2005-03-31 2007-08-28 Inventec Corporation System and method for accessing and verifying the validity of data content stored in the cache memory on disk
US7711989B2 (en) * 2005-04-01 2010-05-04 Dot Hill Systems Corporation Storage system with automatic redundant code component failure detection, notification, and repair
US7523350B2 (en) * 2005-04-01 2009-04-21 Dot Hill Systems Corporation Timer-based apparatus and method for fault-tolerant booting of a storage controller
JP4901316B2 (ja) * 2006-06-06 2012-03-21 株式会社日立製作所 ストレージシステム及び記憶制御装置
JP5224038B2 (ja) * 2008-02-27 2013-07-03 日本電気株式会社 コンピュータ装置、コンピュータ装置の運用継続方法及びプログラム
CN102375699A (zh) * 2010-08-23 2012-03-14 英业达股份有限公司 一种存储器系统
US9645738B2 (en) 2012-08-09 2017-05-09 Spectra Logic Corporation Direct memory access of remote data
US9218133B2 (en) 2012-08-17 2015-12-22 Spectra Logic, Corp Data deduplication in a removable storage device
JP6359192B2 (ja) * 2015-07-23 2018-07-18 三菱電機株式会社 二重化プロセス制御装置
US9952974B2 (en) 2016-06-07 2018-04-24 International Business Machines Corporation Preservation of modified cache data in local non-volatile storage following a failover
CN112835519B (zh) * 2021-01-29 2023-03-14 杭州海康威视数字技术股份有限公司 一种数据读取方法、装置、电子设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02276398A (ja) * 1988-11-09 1990-11-13 Gibraltar Technol Corp 電子クロスコネクト装置およびその方法
JPH08241173A (ja) * 1995-01-06 1996-09-17 Hewlett Packard Co <Hp> ディスク記憶装置制御システム
JPH09146842A (ja) * 1995-11-20 1997-06-06 Hitachi Ltd 記憶サブシステム
US20010016878A1 (en) * 2000-02-17 2001-08-23 Hideki Yamanaka Communicating system and communicating method for controlling throughput
JP2001517844A (ja) * 1997-09-23 2001-10-09 アイコア・テクノロジーズ・インコーポレイテッド マルチポートメモリを用いる知的データバスインタフェース
JP2001308939A (ja) * 2000-02-17 2001-11-02 Fujitsu Ltd スループットを制御する通信システムおよび方法
JP2002358210A (ja) * 2001-03-15 2002-12-13 Hewlett Packard Co <Hp> コントローラリセットを処理する方法、及びコントローラリセットを処理するシステム及び方法を有する冗長コントローラデータ格納システム
US20040024807A1 (en) * 2002-07-31 2004-02-05 Microsoft Corporation Asynchronous updates of weakly consistent distributed state information
JP2004054916A (ja) * 2002-07-19 2004-02-19 Hewlett-Packard Development Co Lp プロセッサ間のハードウェア支援通信を実行する方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2677454B2 (ja) * 1992-03-25 1997-11-17 エンコアー コンピューター ユーエス インコーポレイテッド リアルタイム処理システム
US6691250B1 (en) * 2000-06-29 2004-02-10 Cisco Technology, Inc. Fault handling process for enabling recovery, diagnosis, and self-testing of computer systems
US7538772B1 (en) * 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US7177866B2 (en) * 2001-03-16 2007-02-13 Gravic, Inc. Asynchronous coordinated commit replication and dual write with replication transmission and locking of target database on updates only
US6915397B2 (en) * 2001-06-01 2005-07-05 Hewlett-Packard Development Company, L.P. System and method for generating point in time storage copy
US6895467B2 (en) * 2001-10-22 2005-05-17 Hewlett-Packard Development Company, L.P. System and method for atomizing storage
US20030110233A1 (en) * 2001-12-10 2003-06-12 Vmic Reflective memory system and method capable of dynamically sizing data packets
US6779093B1 (en) * 2002-02-15 2004-08-17 Veritas Operating Corporation Control facility for processing in-band control messages during data replication
US7380113B2 (en) * 2002-05-17 2008-05-27 Xiotech Corporation Method for updating memory resident firmware as a background operation
US7216258B2 (en) * 2002-05-17 2007-05-08 Xiotech Corporation Method and apparatus for recovering from a non-fatal fault during background operations
US7158998B2 (en) * 2002-07-31 2007-01-02 Cingular Wireless Ii, Llc Efficient synchronous and asynchronous database replication

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02276398A (ja) * 1988-11-09 1990-11-13 Gibraltar Technol Corp 電子クロスコネクト装置およびその方法
JPH08241173A (ja) * 1995-01-06 1996-09-17 Hewlett Packard Co <Hp> ディスク記憶装置制御システム
JPH09146842A (ja) * 1995-11-20 1997-06-06 Hitachi Ltd 記憶サブシステム
JP2001517844A (ja) * 1997-09-23 2001-10-09 アイコア・テクノロジーズ・インコーポレイテッド マルチポートメモリを用いる知的データバスインタフェース
US20010016878A1 (en) * 2000-02-17 2001-08-23 Hideki Yamanaka Communicating system and communicating method for controlling throughput
JP2001308939A (ja) * 2000-02-17 2001-11-02 Fujitsu Ltd スループットを制御する通信システムおよび方法
JP2002358210A (ja) * 2001-03-15 2002-12-13 Hewlett Packard Co <Hp> コントローラリセットを処理する方法、及びコントローラリセットを処理するシステム及び方法を有する冗長コントローラデータ格納システム
JP2004054916A (ja) * 2002-07-19 2004-02-19 Hewlett-Packard Development Co Lp プロセッサ間のハードウェア支援通信を実行する方法
US20040024807A1 (en) * 2002-07-31 2004-02-05 Microsoft Corporation Asynchronous updates of weakly consistent distributed state information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017131729A1 (en) * 2016-01-29 2017-08-03 Hewlett Packard Enterprise Development Lp Managing a storage system

Also Published As

Publication number Publication date
US20060083102A1 (en) 2006-04-20
US8275959B2 (en) 2012-09-25
US20100325480A1 (en) 2010-12-23
JP5403849B2 (ja) 2014-01-29

Similar Documents

Publication Publication Date Title
JP5403849B2 (ja) 二重制御装置を有する冗長データ記憶システムおよびその動作方法
US8209595B2 (en) Storage sub-system and method for controlling the same
JP3505093B2 (ja) ファイル管理システム
JP4248510B2 (ja) 計算機システム、ディスク装置およびデータ更新制御方法
JP5353887B2 (ja) ディスクアレイ装置の制御ユニット、データ転送装置及び復電処理方法
CN107430494B (zh) 用于远程直接存储器访问的系统、方法和介质
JP2001166993A (ja) 記憶制御装置およびキャッシュメモリの制御方法
CN107430585B (zh) 用于远程直接存储器访问的系统和方法
JP2004127274A (ja) Raidコントローラおよびデータ記憶システム管理方法
CN107533537B (zh) 存储系统、用于存储的方法和非暂时性计算机可读介质
JP2008117253A (ja) 記憶装置システムと計算機システムおよびその処理方法
US7412577B2 (en) Shared data mirroring apparatus, method, and system
US8375187B1 (en) I/O scheduling for flash drives
JP2006099802A (ja) 記憶制御装置およびキャッシュメモリの制御方法
US7484038B1 (en) Method and apparatus to manage storage devices
JP3687111B2 (ja) 記憶装置システムおよび記憶装置の制御方法
JP2006114008A (ja) システム構成を更新するための回復記録を構成するための方法および装置
US9513809B2 (en) Obtaining additional data storage from another data storage system
JP6764927B2 (ja) ストレージシステム、ストレージ装置、およびストレージシステムの制御方法
JP2000293389A (ja) フォールトトレラントシステムにおけるミラーディスク復旧方式
JP6318769B2 (ja) ストレージ制御装置、制御プログラム、および制御方法
JP2001356882A (ja) データ読み書き制御方法及びディスクアレイ装置並びにデータ読み書き制御用プログラムを記憶した記録媒体
JP4622914B2 (ja) 複製ボリューム作成装置、複製ボリューム作成方法、複製ボリューム作成プログラム
JPH07319637A (ja) ディスク装置の制御装置およびディスク装置の制御方 法
US20240103756A1 (en) Non-volatile storage device offloading of host tasks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080512

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110104

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111101

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120131

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120228

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121102

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20121109

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20121214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131029

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees