JPH1049308A - ホスト・ベースraid−5及びnv−ram統合システム - Google Patents
ホスト・ベースraid−5及びnv−ram統合システムInfo
- Publication number
- JPH1049308A JPH1049308A JP9097139A JP9713997A JPH1049308A JP H1049308 A JPH1049308 A JP H1049308A JP 9097139 A JP9097139 A JP 9097139A JP 9713997 A JP9713997 A JP 9713997A JP H1049308 A JPH1049308 A JP H1049308A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- data
- parity
- new
- computing system
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1009—Cache, i.e. caches used in RAID system with parity
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1059—Parity-single bit-RAID5, i.e. RAID 5 implementations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 計算システムにおける冗長記憶装置アレイの
書込み時間を短縮する。 【解決手段】 RAIDディスク・アレイに配置された
冗長記憶装置を利用するコンピュータ・システムにおい
て、システム・メモリから作成されたメモリ・キャッシ
ュおよびディスク・アレイを用いて、コンピュータ・シ
ステムにおいてデータを記憶する。チェックポイント・
モジュールが計算システム内の障害を検出して障害指示
を発生する。キャッシュ・マネージャは、第1モードに
おいてデータおよびパリティをメモリ・キャッシュに書
き込み、第2モードでデータおよびパリティを記憶装置
に書き込む。障害指示に応答して、チェックポイント・
モジュールは、キャッシュ内に含まれているデータをデ
ィスク・アレイにコピーし、キャッシュ・マネージャを
第1モードから第2モードに切り替える。
書込み時間を短縮する。 【解決手段】 RAIDディスク・アレイに配置された
冗長記憶装置を利用するコンピュータ・システムにおい
て、システム・メモリから作成されたメモリ・キャッシ
ュおよびディスク・アレイを用いて、コンピュータ・シ
ステムにおいてデータを記憶する。チェックポイント・
モジュールが計算システム内の障害を検出して障害指示
を発生する。キャッシュ・マネージャは、第1モードに
おいてデータおよびパリティをメモリ・キャッシュに書
き込み、第2モードでデータおよびパリティを記憶装置
に書き込む。障害指示に応答して、チェックポイント・
モジュールは、キャッシュ内に含まれているデータをデ
ィスク・アレイにコピーし、キャッシュ・マネージャを
第1モードから第2モードに切り替える。
Description
【0001】
【発明の属する技術分野】本発明は、一般的に、コンピ
ュータおよびコンピュータ記憶装置の分野に関する。更
に特定すれば、本発明は、計算システムにおける冗長記
憶装置アレイの効率的な管理に関するものである。
ュータおよびコンピュータ記憶装置の分野に関する。更
に特定すれば、本発明は、計算システムにおける冗長記
憶装置アレイの効率的な管理に関するものである。
【0002】
【従来の技術】大きなデータ処理やデータ記憶用途のた
めに設計された計算システムでは、冗長記憶装置を設け
て、記憶装置の障害時に当該システムに保持されている
データの保全性を強化するようにしている。
めに設計された計算システムでは、冗長記憶装置を設け
て、記憶装置の障害時に当該システムに保持されている
データの保全性を強化するようにしている。
【0003】例えば、レベル5のRAID(RAID−
5:Redundant Array of Inexpensive Disks;安価なデ
ィスクの冗長アレイ)は、ディスク・ドライブ・アレイ
を利用した技術であり、アレイ内の各ディスクにデータ
およびパリティ情報を分散して、即ち、分割して(strip
e)収容する。パリティ情報は付加的な必須ではないデー
タであり、1台のドライブに障害が発生した時に、アレ
イのいずれかのドライブに収容されているデータを再構
成するために用いられる。このように、RAID−5デ
ィスク・アレイは、1台のディスク・ドライブの障害に
も拘わらず、データ復元を可能にすることによって、計
算システムのデータ保全性を改善することができる。
5:Redundant Array of Inexpensive Disks;安価なデ
ィスクの冗長アレイ)は、ディスク・ドライブ・アレイ
を利用した技術であり、アレイ内の各ディスクにデータ
およびパリティ情報を分散して、即ち、分割して(strip
e)収容する。パリティ情報は付加的な必須ではないデー
タであり、1台のドライブに障害が発生した時に、アレ
イのいずれかのドライブに収容されているデータを再構
成するために用いられる。このように、RAID−5デ
ィスク・アレイは、1台のディスク・ドライブの障害に
も拘わらず、データ復元を可能にすることによって、計
算システムのデータ保全性を改善することができる。
【0004】RAID−5システムの基本的な必要条件
の1つに、データおよびパリティ情報は、いつでも同期
して保持し、データの破壊(corruption)を回避しなけれ
ばならないことがあげられる。言い換えれば、RAID
−5ディスク・アレイは、記憶システム内に保持されて
いるデータおよびパリティの同期を取り、障害が発生し
たいずれかのディスク・ドライブ上に記憶されていたデ
ータをも正確に再生成しなければならない。
の1つに、データおよびパリティ情報は、いつでも同期
して保持し、データの破壊(corruption)を回避しなけれ
ばならないことがあげられる。言い換えれば、RAID
−5ディスク・アレイは、記憶システム内に保持されて
いるデータおよびパリティの同期を取り、障害が発生し
たいずれかのディスク・ドライブ上に記憶されていたデ
ータをも正確に再生成しなければならない。
【0005】
【発明が解決しようとする課題】ホストを基本とした計
算システム(ホスト・ベース計算システム)としても知
られている汎用コンピュータ内においてRAID−5シ
ステムを実施すると、RAID−5システムにおけるデ
ータとパリティ間の同期保持は複雑化することになる。
ホスト・ベース計算システムでは、データの記憶および
パリティ情報の記憶の間の同期を中断させる可能性のあ
る多数のイベントが発生するので、データとパリティ情
報間の同期維持は更に困難となる。
算システム(ホスト・ベース計算システム)としても知
られている汎用コンピュータ内においてRAID−5シ
ステムを実施すると、RAID−5システムにおけるデ
ータとパリティ間の同期保持は複雑化することになる。
ホスト・ベース計算システムでは、データの記憶および
パリティ情報の記憶の間の同期を中断させる可能性のあ
る多数のイベントが発生するので、データとパリティ情
報間の同期維持は更に困難となる。
【0006】RAID−5アレイに新規データを書き込
むためには、従来のRAID−5技法では、多数のディ
スク・アクセスを行って、新規データおよび新規パリテ
ィの読み出し、修正、および書き込みを行い、同期が維
持されていることを確認する必要がある。上述のよう
に、新規データをRAID−5ディスク・アレイに1回
書き込むには、通常6ないし8回のディスク入出力動作
を必要とする。1回のディスク入出力動作は、動作当た
り約10ミリ秒かかるので、新規データをRAID−5
ディスク・アレイに1回書き込むには、従来では約60
ミリ秒を要していた。
むためには、従来のRAID−5技法では、多数のディ
スク・アクセスを行って、新規データおよび新規パリテ
ィの読み出し、修正、および書き込みを行い、同期が維
持されていることを確認する必要がある。上述のよう
に、新規データをRAID−5ディスク・アレイに1回
書き込むには、通常6ないし8回のディスク入出力動作
を必要とする。1回のディスク入出力動作は、動作当た
り約10ミリ秒かかるので、新規データをRAID−5
ディスク・アレイに1回書き込むには、従来では約60
ミリ秒を要していた。
【0007】したがって、RAID−5ディスク・アレ
イは、1台のディスクに障害が発生した際の計算システ
ムのデータ保全性を改善するものではあるが、RAID
−5ディスク・アレイの性能は、処理速度の低速化とい
う観点から、非常に高価なものとなる。
イは、1台のディスクに障害が発生した際の計算システ
ムのデータ保全性を改善するものではあるが、RAID
−5ディスク・アレイの性能は、処理速度の低速化とい
う観点から、非常に高価なものとなる。
【0008】
【課題を解決するための手段】本発明によれば、システ
ム・メモリと、RAID構成に配置されたドライブ・ア
レイと、バックアップ電力モジュールとを有する計算シ
ステムにおいて、新規データと新規パリティとを書き込
む方法によって、前述の問題は解決される。パリティお
よびデータ情報を記憶するキャッシュを、ホストのシス
テム・メモリ内に設置し、保持する。このキャッシュを
使用することにより、新規データのRAIDディスク・
アレイへの書き込みを実行する際の計算システムの性能
を大幅に改善する。
ム・メモリと、RAID構成に配置されたドライブ・ア
レイと、バックアップ電力モジュールとを有する計算シ
ステムにおいて、新規データと新規パリティとを書き込
む方法によって、前述の問題は解決される。パリティお
よびデータ情報を記憶するキャッシュを、ホストのシス
テム・メモリ内に設置し、保持する。このキャッシュを
使用することにより、新規データのRAIDディスク・
アレイへの書き込みを実行する際の計算システムの性能
を大幅に改善する。
【0009】具体的には、計算システムに記憶されてい
る旧パリティおよび旧データから、新規パリティおよび
新規データを計算する。新規パリティを計算した後、新
規データを記憶のためキャッシュに転送し、新規パリテ
ィをキャシュに記憶のため転送する。こうして、計算シ
ステムは安定したバージョンの新規データおよび新規パ
リティを有する。
る旧パリティおよび旧データから、新規パリティおよび
新規データを計算する。新規パリティを計算した後、新
規データを記憶のためキャッシュに転送し、新規パリテ
ィをキャシュに記憶のため転送する。こうして、計算シ
ステムは安定したバージョンの新規データおよび新規パ
リティを有する。
【0010】次に、新規データはディスクに書き込ま
れ、新規パリティはキャッシュに書き込まれる。最後
に、キャッシュに転送された新規パリティと、キャッシ
ュに転送された新規データは無効としてのマークを付け
られる。
れ、新規パリティはキャッシュに書き込まれる。最後
に、キャッシュに転送された新規パリティと、キャッシ
ュに転送された新規データは無効としてのマークを付け
られる。
【0011】この計算システムのシステム状態を監視
し、障害が検出されると、キャッシュを使用不可(ディ
セーブル)にし、全てのデータのRAID−5処理は、
ディスクのみを用いて実行される。キャッシュの内容
は、対応するチェック・サムと共に、ドライブにコピー
されるので、キャッシュ情報はデータまたはパリティの
再構成(復元)に使用可能となる。
し、障害が検出されると、キャッシュを使用不可(ディ
セーブル)にし、全てのデータのRAID−5処理は、
ディスクのみを用いて実行される。キャッシュの内容
は、対応するチェック・サムと共に、ドライブにコピー
されるので、キャッシュ情報はデータまたはパリティの
再構成(復元)に使用可能となる。
【0012】本発明の別の実施形態における上述のコン
ピュータ実行ステップは、ある製造物、即ち、上述のス
テップを実行するための命令からなるコンピュータ・プ
ログラムを収容したコンピュータ記憶媒体として提供さ
れる。
ピュータ実行ステップは、ある製造物、即ち、上述のス
テップを実行するための命令からなるコンピュータ・プ
ログラムを収容したコンピュータ記憶媒体として提供さ
れる。
【0013】本発明の機械実施形態では、コンピュータ
においてRAIDディスク・アレイとして構成された記
憶装置にデータを記憶する装置が提供され、前記コンピ
ュータは、プロセッサと、入出力装置と、システム・メ
モリと、計算システムに電力を供給するバックアップ電
源とを有する。前記装置は、メモリ・キャッシュと、チ
ェックポイント・モジュールと、キャッシュ・マネージ
ャとから成る。
においてRAIDディスク・アレイとして構成された記
憶装置にデータを記憶する装置が提供され、前記コンピ
ュータは、プロセッサと、入出力装置と、システム・メ
モリと、計算システムに電力を供給するバックアップ電
源とを有する。前記装置は、メモリ・キャッシュと、チ
ェックポイント・モジュールと、キャッシュ・マネージ
ャとから成る。
【0014】メモリ・キャッシュは、システム・メモリ
内に存在し、データを記憶する。チェックポイント・モ
ジュールは、前記計算システムにおける障害を検出し、
障害指示(表示)を行う。検出される障害には、ソフト
ウエア障害、システムの電源における変動、またはハー
ドウエア障害が含まれる。
内に存在し、データを記憶する。チェックポイント・モ
ジュールは、前記計算システムにおける障害を検出し、
障害指示(表示)を行う。検出される障害には、ソフト
ウエア障害、システムの電源における変動、またはハー
ドウエア障害が含まれる。
【0015】キャッシュ・マネージャは、第1モード
で、データおよびパリティをメモリ・キャッシュに書き
込み、第2モードで、データおよびパリティを記憶装置
に書き込む。障害指示に応答して、チェックポイント・
モジュールがキャッシュに含まれているデータのチェッ
クサムを発生し、キャッシュに含まれているデータを記
憶装置にコピーし、キャッシュ・マネージャを第1モー
ドから第2モードに切り替える。
で、データおよびパリティをメモリ・キャッシュに書き
込み、第2モードで、データおよびパリティを記憶装置
に書き込む。障害指示に応答して、チェックポイント・
モジュールがキャッシュに含まれているデータのチェッ
クサムを発生し、キャッシュに含まれているデータを記
憶装置にコピーし、キャッシュ・マネージャを第1モー
ドから第2モードに切り替える。
【0016】本発明の大きな有用性は、RAID−5デ
ィスク・アレイに対する書き込み動作の間に、物理的デ
ィスク・ドライブに必要なアクセス回数を大幅に減少さ
せることによって、1回の書き込み動作を行うために必
要な時間を短縮し、計算システムの性能改良が図られる
ことである。
ィスク・アレイに対する書き込み動作の間に、物理的デ
ィスク・ドライブに必要なアクセス回数を大幅に減少さ
せることによって、1回の書き込み動作を行うために必
要な時間を短縮し、計算システムの性能改良が図られる
ことである。
【0017】本発明の更に他の有用性は、計算システム
の記憶装置内に含まれているデータおよびパリティ情報
間の同期を保持することである。
の記憶装置内に含まれているデータおよびパリティ情報
間の同期を保持することである。
【0018】本発明の更に他の有用性は、RAID−5
ディスク・アレイのホスト・ベースの実施形態におい
て、データおよびパリティ情報間で同期を与えることで
ある。
ディスク・アレイのホスト・ベースの実施形態におい
て、データおよびパリティ情報間で同期を与えることで
ある。
【0019】本発明の更に他の有用性は、障害を発生し
た1台のディスク・ドライブ内に含まれているデータの
復元を可能にすることである。
た1台のディスク・ドライブ内に含まれているデータの
復元を可能にすることである。
【0020】本発明の更に他の有用性は、ソフトウエア
障害またはCPUモジュールの障害のような、計算シス
テムのディクス・ドライブ以外の他の構成要素の単発的
な障害の後、データまたはパリティ情報の復元を可能に
することである。
障害またはCPUモジュールの障害のような、計算シス
テムのディクス・ドライブ以外の他の構成要素の単発的
な障害の後、データまたはパリティ情報の復元を可能に
することである。
【0021】本発明の上述のおよびその他の有用な特徴
ならびに利点は、以下の添付図面に示す本発明の好適実
施例のより詳細な記載から明白となろう。
ならびに利点は、以下の添付図面に示す本発明の好適実
施例のより詳細な記載から明白となろう。
【0022】
【発明の実施の形態】ここに記載する本発明の実施例
は、コンピュータ・システムにおける論理処理として実
施するものである。本発明の論理処理は、(1)コンピ
ュータ・システム上で実行する一連のコンピュータ実行
ステップとして、および(2)コンピュータ・システム
内部の相互接続マシン・モジュールとして、実施する。
実施形態は、本発明を実施するコンピュータ・システム
の性能要件によって決定される選択事項である。したが
って、ここに記載する本発明の実施例を構成する論理処
理については、処理、ステップ、またはモジュールとい
うように様々な呼び方をすることとする。
は、コンピュータ・システムにおける論理処理として実
施するものである。本発明の論理処理は、(1)コンピ
ュータ・システム上で実行する一連のコンピュータ実行
ステップとして、および(2)コンピュータ・システム
内部の相互接続マシン・モジュールとして、実施する。
実施形態は、本発明を実施するコンピュータ・システム
の性能要件によって決定される選択事項である。したが
って、ここに記載する本発明の実施例を構成する論理処
理については、処理、ステップ、またはモジュールとい
うように様々な呼び方をすることとする。
【0023】本発明を用いる動作環境は、単体の(スタ
ンドアロン)計算システムや汎用分散型計算システムを
含む。分散型計算システムの汎用コンピュータでは、ワ
ークステーションまたはパーソナル・コンピュータは、
クライアント−サーバ構成で、種々の形式の通信リンク
を通じて接続し、システムの様々な構成要素が、多くの
場合オブジェクトの形成の、プログラムやデータを使用
可能としている。単体コンピュータまたは汎用ワークス
テーション・コンピュータの要素のいくつかを図1に示
す。図1において、プロセッサ20は、入出力(I/
O)部21、中央演算装置(CPU)22およびメモリ
部23を有するものとして示してある。I/O部21に
は、キーボード24、表示装置25、ディクス記憶装置
26およびCD−ROM駆動装置27が接続してある。
CD−ROM駆動装置27は、典型的にはプログラム2
8およびデータを収容する、CD−ROM媒体29を読
み取ることができる。本発明の装置および方法を作動さ
せる機構を含むコンピュータ・プログラム製品は、図示
のようなシステムのメモリ部23内、あるいはディスク
記憶装置26上、またはCD−ROM29に入れること
ができる。このようなシステムの例には、サン・マイク
ロシステムズ・インコーポレーテッド(Sun Microsystem
s Inc.,)が提供するSPARCシステム、IBMコーポレー
ションおよびその他のIBM互換パーソナル・コンピュ
ータの製造者が提供するパーソナル・コンピュータ、な
らびにUNIXオペレーティング・システムまたはSolaris
(商標)オペレーティング・システムを走らせるシステ
ムが含まれる。
ンドアロン)計算システムや汎用分散型計算システムを
含む。分散型計算システムの汎用コンピュータでは、ワ
ークステーションまたはパーソナル・コンピュータは、
クライアント−サーバ構成で、種々の形式の通信リンク
を通じて接続し、システムの様々な構成要素が、多くの
場合オブジェクトの形成の、プログラムやデータを使用
可能としている。単体コンピュータまたは汎用ワークス
テーション・コンピュータの要素のいくつかを図1に示
す。図1において、プロセッサ20は、入出力(I/
O)部21、中央演算装置(CPU)22およびメモリ
部23を有するものとして示してある。I/O部21に
は、キーボード24、表示装置25、ディクス記憶装置
26およびCD−ROM駆動装置27が接続してある。
CD−ROM駆動装置27は、典型的にはプログラム2
8およびデータを収容する、CD−ROM媒体29を読
み取ることができる。本発明の装置および方法を作動さ
せる機構を含むコンピュータ・プログラム製品は、図示
のようなシステムのメモリ部23内、あるいはディスク
記憶装置26上、またはCD−ROM29に入れること
ができる。このようなシステムの例には、サン・マイク
ロシステムズ・インコーポレーテッド(Sun Microsystem
s Inc.,)が提供するSPARCシステム、IBMコーポレー
ションおよびその他のIBM互換パーソナル・コンピュ
ータの製造者が提供するパーソナル・コンピュータ、な
らびにUNIXオペレーティング・システムまたはSolaris
(商標)オペレーティング・システムを走らせるシステ
ムが含まれる。
【0024】図2は、本発明の好適実施例のブロック図
である。RAID−5キャッシュ・ディレクタ40は、
計算システムからの要求を受け、ディスク・アレイ44
に新規データを書き込む。図2において、個々のディス
ク45は、RAID−5ディスク・アレイ44内に配置
されている。計算システムの観点からは、ディスク・ア
レイ44は単一の論理ディスク・ドライブとして見える
が、物理的にはRAID−5アレイ内に複数のディスク
・ドライブとして実施されている。
である。RAID−5キャッシュ・ディレクタ40は、
計算システムからの要求を受け、ディスク・アレイ44
に新規データを書き込む。図2において、個々のディス
ク45は、RAID−5ディスク・アレイ44内に配置
されている。計算システムの観点からは、ディスク・ア
レイ44は単一の論理ディスク・ドライブとして見える
が、物理的にはRAID−5アレイ内に複数のディスク
・ドライブとして実施されている。
【0025】RAID−5ディスク・アレイの動作につ
いては、"RAID: High Performance,Reliable Secondary
Storage" (Peter Chen, et al., ACM Computing Surve
ysにおいて1993年10月29日発行)に詳細に記載
されている。
いては、"RAID: High Performance,Reliable Secondary
Storage" (Peter Chen, et al., ACM Computing Surve
ysにおいて1993年10月29日発行)に詳細に記載
されている。
【0026】RAID−5キャッシュ・ディレクタ40
は、ホスト・メモリ・キャッシュ42およびディスク・
アレイ44を効率的に利用するための処理を実施する。
以下で詳細に説明するが、RAID−5は、新規データ
の書き込み要求に応答して、ホスト・キャッシュ・メモ
リ42を利用して、ディスク・ドライブ44のアレイを
伴う処理数の減少を図る。
は、ホスト・メモリ・キャッシュ42およびディスク・
アレイ44を効率的に利用するための処理を実施する。
以下で詳細に説明するが、RAID−5は、新規データ
の書き込み要求に応答して、ホスト・キャッシュ・メモ
リ42を利用して、ディスク・ドライブ44のアレイを
伴う処理数の減少を図る。
【0027】また、RAID−5キャッシュ・ディレク
タ40はシステム状態を監視し、キャッシュ42をディ
セーブルすべきか否かについての判定を行う。バックア
ップ電源46は、キャッシュ・ディレクタ40、キャッ
シュ42、およびディスク・ドライブ44のアレイを含
む計算システムに、無停電電力を供給する。
タ40はシステム状態を監視し、キャッシュ42をディ
セーブルすべきか否かについての判定を行う。バックア
ップ電源46は、キャッシュ・ディレクタ40、キャッ
シュ42、およびディスク・ドライブ44のアレイを含
む計算システムに、無停電電力を供給する。
【0028】ホスト・メモリ・キャッシュ42は、典型
的にはシステムRAMにあるホストのシステム・メモリ
から作成される。キャッシュ42は、ホストのシステム
・メモリから永久的に割り当てられ、その中で保存され
る。システム・メモリの一部をキャッシュ42として保
存することによって、他のアプリケーションや装置は、
キャッシュ42に保存されたメモリ空間に保持されてい
る内容を乱すことができなくなる。
的にはシステムRAMにあるホストのシステム・メモリ
から作成される。キャッシュ42は、ホストのシステム
・メモリから永久的に割り当てられ、その中で保存され
る。システム・メモリの一部をキャッシュ42として保
存することによって、他のアプリケーションや装置は、
キャッシュ42に保存されたメモリ空間に保持されてい
る内容を乱すことができなくなる。
【0029】キャッシュ42は、システム・バックアッ
プ電源46の使用によって、ホストの従来からのシステ
ムRAMに安定的に保持される。このようにして、キャ
ッシュの内容はディスク・アレイへのコピーが可能とな
っているが、これについては以下で述べる。キャッシュ
42に利用されるメモリは、本発明の好適実施例を利用
するシステムによって決定される選択事項である。
プ電源46の使用によって、ホストの従来からのシステ
ムRAMに安定的に保持される。このようにして、キャ
ッシュの内容はディスク・アレイへのコピーが可能とな
っているが、これについては以下で述べる。キャッシュ
42に利用されるメモリは、本発明の好適実施例を利用
するシステムによって決定される選択事項である。
【0030】キャッシュ42、ディスク・アレイ44、
およびバックアップ電源46と関連するRAID−5キ
ャッシュ・ディレクタ40の処理を図3、図4、図6お
よび図7に示す。
およびバックアップ電源46と関連するRAID−5キ
ャッシュ・ディレクタ40の処理を図3、図4、図6お
よび図7に示す。
【0031】図3は、キャッシング動作(cachin
g)を行わずに、新規データをディスク・アレイ44に
書き込む際にキャッシュ・ディレクタ40が実行する論
理処理を示す。処理50において、ディスクから旧デー
タを読み出し、処理52において旧パリティをディスク
から読み出す。処理50,52は、新規のパリティ情報
を計算するために必要である。処理54において、まず
パリティ情報から旧データを除去することによって、新
規のパリティ情報を発生する。パリティからの旧データ
の除去は、排他的OR処理によって達成することができ
る。次に、新規データをこのパリティ情報に加入させる
ことによって、新規のパリティ情報を発生する。これ
も、排他的OR計算を用いれば、達成することができ
る。
g)を行わずに、新規データをディスク・アレイ44に
書き込む際にキャッシュ・ディレクタ40が実行する論
理処理を示す。処理50において、ディスクから旧デー
タを読み出し、処理52において旧パリティをディスク
から読み出す。処理50,52は、新規のパリティ情報
を計算するために必要である。処理54において、まず
パリティ情報から旧データを除去することによって、新
規のパリティ情報を発生する。パリティからの旧データ
の除去は、排他的OR処理によって達成することができ
る。次に、新規データをこのパリティ情報に加入させる
ことによって、新規のパリティ情報を発生する。これ
も、排他的OR計算を用いれば、達成することができ
る。
【0032】新規データに対応する新規パリティ情報を
計算してあるので、同期を維持するためには、新規デー
タおよび新規パリティをそれらのディスク上の最終位置
に書き込む前に、ディスク内に新規データおよび新規パ
リティを記録するので有利である。このようにすれば、
新規データおよび新規パリティをディスクに書き込む前
に計算システムが中断した場合、またはある装置が故障
した場合でも、情報の同期が得られる。既に説明したよ
うに、データおよびパリティ間の同期は、障害を発生し
たディスク・ドライブ上に記憶されていたデータを再構
成するために必要である。処理56において、新規デー
タをディスクに記録し、次いで、新規パリティ情報をデ
ィスクに記録する。この情報は、ディスクの既知の位置
に記録されるので、処理56の前、最中、または後にシ
ステムがクラッシュした場合でも、計算システムはこの
情報の既知の位置にアクセスし、必要であれば、いかな
るデータでも再構成することが可能となっている。
計算してあるので、同期を維持するためには、新規デー
タおよび新規パリティをそれらのディスク上の最終位置
に書き込む前に、ディスク内に新規データおよび新規パ
リティを記録するので有利である。このようにすれば、
新規データおよび新規パリティをディスクに書き込む前
に計算システムが中断した場合、またはある装置が故障
した場合でも、情報の同期が得られる。既に説明したよ
うに、データおよびパリティ間の同期は、障害を発生し
たディスク・ドライブ上に記憶されていたデータを再構
成するために必要である。処理56において、新規デー
タをディスクに記録し、次いで、新規パリティ情報をデ
ィスクに記録する。この情報は、ディスクの既知の位置
に記録されるので、処理56の前、最中、または後にシ
ステムがクラッシュした場合でも、計算システムはこの
情報の既知の位置にアクセスし、必要であれば、いかな
るデータでも再構成することが可能となっている。
【0033】新規データおよび新規パリティを永久的に
記録した後、この情報はディスク・ドライブ上のそれら
の各記憶位置に転送することができる。処理58におい
て新規データをディスクに書き込み、処理60において
新規パリティ情報をディスクに書き込む。このように、
新規データおよび新規パリティの双方は、ディスク・ド
ライブ上でも、同期をとって保持される。
記録した後、この情報はディスク・ドライブ上のそれら
の各記憶位置に転送することができる。処理58におい
て新規データをディスクに書き込み、処理60において
新規パリティ情報をディスクに書き込む。このように、
新規データおよび新規パリティの双方は、ディスク・ド
ライブ上でも、同期をとって保持される。
【0034】新規データおよび新規パリティのディスク
への書き込みを完了した後、処理62において、上述の
書き込み処理全体が完了したとしてマークを付けられ
る。完了した処理にマークを付けることによって、書き
込み処理を要求したアプリケーションは、その次の所望
の処理を継続することが可能となる。更に、処理完了を
マークすることによって、処理56において記録したデ
ータおよびパリティの破棄または上書きが可能になった
ことを、システムに知らせる。システム内のディスク・
ドライブが障害を発生した場合、処理60によって書き
込まれたパリティ情報を用いて、障害を起こしたディス
ク・ドライブ上に含まれているデータの再生成が可能と
なる。
への書き込みを完了した後、処理62において、上述の
書き込み処理全体が完了したとしてマークを付けられ
る。完了した処理にマークを付けることによって、書き
込み処理を要求したアプリケーションは、その次の所望
の処理を継続することが可能となる。更に、処理完了を
マークすることによって、処理56において記録したデ
ータおよびパリティの破棄または上書きが可能になった
ことを、システムに知らせる。システム内のディスク・
ドライブが障害を発生した場合、処理60によって書き
込まれたパリティ情報を用いて、障害を起こしたディス
ク・ドライブ上に含まれているデータの再生成が可能と
なる。
【0035】図4は、ホスト・メモリ・キャッシュ42
(図2)をディスク・アレイ44と共に用いて、新規デ
ータを書き込む際に実行する論理処理を示す。RAID
−5キャッシュ・ディレクタがメモリ・キャッシュ42
を利用する場合、メモリ・キャッシュはディスク・アレ
イ44の物理的ディスク45よりも応答時間が格段に短
いため、処理時間の大幅な短縮が実現される。
(図2)をディスク・アレイ44と共に用いて、新規デ
ータを書き込む際に実行する論理処理を示す。RAID
−5キャッシュ・ディレクタがメモリ・キャッシュ42
を利用する場合、メモリ・キャッシュはディスク・アレ
イ44の物理的ディスク45よりも応答時間が格段に短
いため、処理時間の大幅な短縮が実現される。
【0036】ディスク・アレイ44への新規データの書
き込み要求に応答して、処理70において旧データをデ
ィスクから読み出す。旧パリティを読み出し、新規パリ
ティを計算可能とするために、処理72において、旧パ
リティがキャッシュ内に存在するか否かについて判定を
行う。旧パリティがキャッシュ内に記憶されていない場
合、処理74においてディスクから旧パリティを読み出
す。記憶されている場合、処理76において、キャッシ
ュ42(図2)から旧パリティを読み出す。既に説明し
たようにメモリ・キャッシュからのデータの読み出しま
たはメモリ・キャッシュへのデータの書き込みは、物理
的なディスク・ドライブに対するデータの読み出しまた
は書き込みよりも格段に速い。
き込み要求に応答して、処理70において旧データをデ
ィスクから読み出す。旧パリティを読み出し、新規パリ
ティを計算可能とするために、処理72において、旧パ
リティがキャッシュ内に存在するか否かについて判定を
行う。旧パリティがキャッシュ内に記憶されていない場
合、処理74においてディスクから旧パリティを読み出
す。記憶されている場合、処理76において、キャッシ
ュ42(図2)から旧パリティを読み出す。既に説明し
たようにメモリ・キャッシュからのデータの読み出しま
たはメモリ・キャッシュへのデータの書き込みは、物理
的なディスク・ドライブに対するデータの読み出しまた
は書き込みよりも格段に速い。
【0037】旧パリティを取り込んだ後、処理78にお
いて、旧データ、旧パリティ、および新規データを用い
て、新規パリティを発生する。これは、図3の処理54
において説明した通りである。
いて、旧データ、旧パリティ、および新規データを用い
て、新規パリティを発生する。これは、図3の処理54
において説明した通りである。
【0038】この場合も、新規データおよび新規パリテ
ィをディスク上の最終位置に書き込むのに先だって、こ
れらの情報を永久位置に記憶することは有利である。R
AID−5キャッシュ・ディレクタ40(図2)は、再
びホスト・メモリ・キャッシュ42を利用して、これら
の処理の速度性能向上を図る。
ィをディスク上の最終位置に書き込むのに先だって、こ
れらの情報を永久位置に記憶することは有利である。R
AID−5キャッシュ・ディレクタ40(図2)は、再
びホスト・メモリ・キャッシュ42を利用して、これら
の処理の速度性能向上を図る。
【0039】処理80において、新規データをメモリ・
キャッシュに転送する。次に、処理92において、新規
パリティ情報をメモリ・キャッシュに転送する。使用可
能なキャッシュの実施形態には、様々なものがある。例
えば、最低使用頻度(LRU)リンク・リストを用い
て、キャッシュ内に記憶されているデータおよびパリテ
ィ情報を編成することができる。以下で説明するが、キ
ャッシュの内容は、それをディスクに首尾良く転送した
後でなければ、後続の書き込み処理による上書きはでき
ないようになっている。
キャッシュに転送する。次に、処理92において、新規
パリティ情報をメモリ・キャッシュに転送する。使用可
能なキャッシュの実施形態には、様々なものがある。例
えば、最低使用頻度(LRU)リンク・リストを用い
て、キャッシュ内に記憶されているデータおよびパリテ
ィ情報を編成することができる。以下で説明するが、キ
ャッシュの内容は、それをディスクに首尾良く転送した
後でなければ、後続の書き込み処理による上書きはでき
ないようになっている。
【0040】新規データおよび新規パリティをキャッシ
ュ内に記憶した後、処理84において、新規データをデ
ィスクの適切な記憶位置に書き込む。次に、処理86に
おいて、新規パリティ情報をキャッシュに書き込む。処
理86では、キャッシュ内において、処理82とは異な
る記憶領域を利用して、新規パリティ情報を保持する。
処理86の完了時には、新規データおよび新規パリティ
双方が一貫性を保って記憶されているので、同期が維持
されている。
ュ内に記憶した後、処理84において、新規データをデ
ィスクの適切な記憶位置に書き込む。次に、処理86に
おいて、新規パリティ情報をキャッシュに書き込む。処
理86では、キャッシュ内において、処理82とは異な
る記憶領域を利用して、新規パリティ情報を保持する。
処理86の完了時には、新規データおよび新規パリティ
双方が一貫性を保って記憶されているので、同期が維持
されている。
【0041】次に、処理88において、処理80,82
に対応してキャッシュに記憶されたデータおよびパリテ
ィを無効化する。このように、データ復元の目的にはも
はや使用不可能として、この情報にマークを付ける。こ
のように、処理80,82によってキャッシュに記憶し
た情報で占められたメモリは、計算システムにおいて実
行される、その後の書き込み処理において利用すること
ができる。尚、処理86は処理80,82とは異なるキ
ャッシュ領域を利用するので、処理86によってキャッ
シュに記憶された新規パリティ情報は、無効化処理88
による影響は受けないことを注記しておく。
に対応してキャッシュに記憶されたデータおよびパリテ
ィを無効化する。このように、データ復元の目的にはも
はや使用不可能として、この情報にマークを付ける。こ
のように、処理80,82によってキャッシュに記憶し
た情報で占められたメモリは、計算システムにおいて実
行される、その後の書き込み処理において利用すること
ができる。尚、処理86は処理80,82とは異なるキ
ャッシュ領域を利用するので、処理86によってキャッ
シュに記憶された新規パリティ情報は、無効化処理88
による影響は受けないことを注記しておく。
【0042】図4の処理はメモリ・キャッシュ42(図
2)を利用するので、図4の処理70〜88を完了する
のに必要な全体的な時間は、図3の処理50〜62を完
了するのに要する時間よりも大幅に短い。以下で説明す
るが、システム状態(図2)に基づいて、RAID−5
キャッシュ・ディレクタ40は、メモリ・キャッシュ4
2を利用する判断を行う。
2)を利用するので、図4の処理70〜88を完了する
のに必要な全体的な時間は、図3の処理50〜62を完
了するのに要する時間よりも大幅に短い。以下で説明す
るが、システム状態(図2)に基づいて、RAID−5
キャッシュ・ディレクタ40は、メモリ・キャッシュ4
2を利用する判断を行う。
【0043】周期的にキャッシュ(図2および図5)の
「枝刈り(prune)」を行うことによって、処理86(図
4)によってキャッシュに記憶された最も古いパリティ
を、ディスク・アレイ44内の永続的記憶部に移すこと
ができる。この機能は、適当なときに、別個のプロセス
(図示せず)で実行することも可能である。
「枝刈り(prune)」を行うことによって、処理86(図
4)によってキャッシュに記憶された最も古いパリティ
を、ディスク・アレイ44内の永続的記憶部に移すこと
ができる。この機能は、適当なときに、別個のプロセス
(図示せず)で実行することも可能である。
【0044】図5は本発明の代替実施例を示す。チェッ
クポイント・モジュール90、キャッシュ・マネージャ
92、およびディスク・マネージャ94は、RAID−
5キャッシュ・ディレクタ40を構成可能な別個の構成
要素である。チェックポイント・モジュール90はシス
テム状態を監視し、キャッシュ・マネージャ92にコマ
ンドを発行する。キャッシュ・マネージャ92は、新規
データ書き込み要求に応答して、ホスト・メモリ・キャ
ッシュ42およびディスク・マネージャ94を利用し、
キャッシュ42またはディスク・アレイ44のいずれ
か、または双方にデータおよびパリティを書き込む。
クポイント・モジュール90、キャッシュ・マネージャ
92、およびディスク・マネージャ94は、RAID−
5キャッシュ・ディレクタ40を構成可能な別個の構成
要素である。チェックポイント・モジュール90はシス
テム状態を監視し、キャッシュ・マネージャ92にコマ
ンドを発行する。キャッシュ・マネージャ92は、新規
データ書き込み要求に応答して、ホスト・メモリ・キャ
ッシュ42およびディスク・マネージャ94を利用し、
キャッシュ42またはディスク・アレイ44のいずれ
か、または双方にデータおよびパリティを書き込む。
【0045】バックアップ電源46は、キャッシュ4
2、ディスク・アレイ44、チェックポイント・モジュ
ール90、キャッシュ・マネージャ92、およびディス
ク・マネージャ94を含む計算システム全体に無停電電
力を供給する。
2、ディスク・アレイ44、チェックポイント・モジュ
ール90、キャッシュ・マネージャ92、およびディス
ク・マネージャ94を含む計算システム全体に無停電電
力を供給する。
【0046】図6は、チェックポイント・モジュール9
0が実行する論理処理を示す。チェックポイント・モジ
ュール90は、ホスト・メモリ・キャッシュ42の内容
をディスク・アレイ44内の永続的記憶部に転送するこ
とを要求する、システム状態の変化を検出するように設
計されている。更に、チェックポイント・モジュール9
0は、システム状態に基づいて、データおよびパリティ
のキャッシング動作をイネーブルすべきかあるいはディ
セーブルすべきかについての判定を行う。
0が実行する論理処理を示す。チェックポイント・モジ
ュール90は、ホスト・メモリ・キャッシュ42の内容
をディスク・アレイ44内の永続的記憶部に転送するこ
とを要求する、システム状態の変化を検出するように設
計されている。更に、チェックポイント・モジュール9
0は、システム状態に基づいて、データおよびパリティ
のキャッシング動作をイネーブルすべきかあるいはディ
セーブルすべきかについての判定を行う。
【0047】処理100において、計算システムにおい
てソフトウエアに障害が発生したか否かについて判定を
行う。処理102において、システムの電源に変動が発
生したか否かについて判定を行う。処理104において
は、いずれかのハードウエア障害が検出されたか否かに
ついて判定を行う。処理100、102、または104
において検査した条件のいずれかが真であった場合、処
理106において、キャッシュ・メモリ42の内容のチ
ェックサムを発生する。次に、処理108において、キ
ャッシュの内容をチェックサムと共に、永続的記憶部用
ディスク・アレイ(図5)にコピーする。次いで、処理
110において、RAID−5キャッシュ・ディレクタ
におけるキャッシュ動作をディセーブルし、処理10
0、102、または104において検出された条件によ
っては揮発性となっている場合もある、メモリ・キャッ
シュを使用しない。したがって、RAID−5キャッシ
ュ・ディレクタは、図3において以前に論じかつ示した
処理を利用することによって、書き込み要求に応じる。
てソフトウエアに障害が発生したか否かについて判定を
行う。処理102において、システムの電源に変動が発
生したか否かについて判定を行う。処理104において
は、いずれかのハードウエア障害が検出されたか否かに
ついて判定を行う。処理100、102、または104
において検査した条件のいずれかが真であった場合、処
理106において、キャッシュ・メモリ42の内容のチ
ェックサムを発生する。次に、処理108において、キ
ャッシュの内容をチェックサムと共に、永続的記憶部用
ディスク・アレイ(図5)にコピーする。次いで、処理
110において、RAID−5キャッシュ・ディレクタ
におけるキャッシュ動作をディセーブルし、処理10
0、102、または104において検出された条件によ
っては揮発性となっている場合もある、メモリ・キャッ
シュを使用しない。したがって、RAID−5キャッシ
ュ・ディレクタは、図3において以前に論じかつ示した
処理を利用することによって、書き込み要求に応じる。
【0048】図6にしたがってシステム状態を監視する
が、図7は、RAID−5キャッシュ・ディレクタ40
において実施される対応する処理を示す。処理112に
おいて、キャッシュ動作がイネーブルされているか否か
について判定を行い、イネーブルされていれば、処理1
14においてメモリ・キャッシュ42(図2および図
5)を使用して、計算システムにおける書き込み要求に
応じる。処理114では、前述の図4における処理70
〜88を起動し、RAID−5ディスク・アレイ44
(図2および図5)へのデータ書き込みを完了する時間
の短縮を図る。
が、図7は、RAID−5キャッシュ・ディレクタ40
において実施される対応する処理を示す。処理112に
おいて、キャッシュ動作がイネーブルされているか否か
について判定を行い、イネーブルされていれば、処理1
14においてメモリ・キャッシュ42(図2および図
5)を使用して、計算システムにおける書き込み要求に
応じる。処理114では、前述の図4における処理70
〜88を起動し、RAID−5ディスク・アレイ44
(図2および図5)へのデータ書き込みを完了する時間
の短縮を図る。
【0049】処理112においてキャッシュ動作がディ
セーブルされている場合、処理116では、既に述べた
図3の処理50〜62を起動することによって、書き込
み処理を行う。書き込み処理は、RAID−5ディスク
・アレイ44(図2および図5)のみを用いて実行す
る。
セーブルされている場合、処理116では、既に述べた
図3の処理50〜62を起動することによって、書き込
み処理を行う。書き込み処理は、RAID−5ディスク
・アレイ44(図2および図5)のみを用いて実行す
る。
【0050】計算システムにおける単一のディスク障害
の場合、図3および図4の処理はデータおよびパリティ
の一貫性およびそれらの間の同期を保持しているので、
この障害を起こしたディスク上に記憶されていたデータ
の再構成が可能である。
の場合、図3および図4の処理はデータおよびパリティ
の一貫性およびそれらの間の同期を保持しているので、
この障害を起こしたディスク上に記憶されていたデータ
の再構成が可能である。
【0051】更に、データまたはパリティ情報は、計算
システムのディスク・ドライブ以外の構成要素の単発の
障害(即ち、ソフトウエア・エラー、CPUモジュール
の障害)の後に、復元が可能である。これらの障害が、
システムの再ブート(reboot)および障害を起こ
した構成要素の交換が必要であると仮定すると、再ブー
ト時に、図6の処理108による、キャッシュを含むデ
ィスク・ドライブを読み出して、チェックポイント・モ
ジュール90によってキャッシュがセーブされたか否か
について判定を行う(図5、図6)。キャッシュがディ
スク・ドライブにセーブされていた場合、既に述べたよ
うにキャッシュの内容をデータ復元に使用可能である。
CPUモジュールの障害のような重大なハードウエア・
エラーの場合のように、キャッシュがセーブされていな
かった場合、ドライブ・アレイ44(図2、図5)上に
記憶されているデータから、パリティ情報は再生成が可
能である。ドライブ・アレイに記憶されているデータか
らのパリティの再生成は時間のかかるプロセスである
が、計算システムにおいてパリティ情報の復元が可能と
なる。
システムのディスク・ドライブ以外の構成要素の単発の
障害(即ち、ソフトウエア・エラー、CPUモジュール
の障害)の後に、復元が可能である。これらの障害が、
システムの再ブート(reboot)および障害を起こ
した構成要素の交換が必要であると仮定すると、再ブー
ト時に、図6の処理108による、キャッシュを含むデ
ィスク・ドライブを読み出して、チェックポイント・モ
ジュール90によってキャッシュがセーブされたか否か
について判定を行う(図5、図6)。キャッシュがディ
スク・ドライブにセーブされていた場合、既に述べたよ
うにキャッシュの内容をデータ復元に使用可能である。
CPUモジュールの障害のような重大なハードウエア・
エラーの場合のように、キャッシュがセーブされていな
かった場合、ドライブ・アレイ44(図2、図5)上に
記憶されているデータから、パリティ情報は再生成が可
能である。ドライブ・アレイに記憶されているデータか
らのパリティの再生成は時間のかかるプロセスである
が、計算システムにおいてパリティ情報の復元が可能と
なる。
【0052】したがって、本発明は、ホスト・ベースR
AID−5の実施形態において、ホスト・メモリに保持
してあるメモリ・キャッシュを用いて、計算システムが
新規データの書き込み要求を満足するために要する時間
量の大幅な短縮を図るものである。システムに保持され
ているRAID−5情報の保全性は、システム状態を監
視するチェックポイント・モジュールと共に無停電電源
を使用することによって達成される。
AID−5の実施形態において、ホスト・メモリに保持
してあるメモリ・キャッシュを用いて、計算システムが
新規データの書き込み要求を満足するために要する時間
量の大幅な短縮を図るものである。システムに保持され
ているRAID−5情報の保全性は、システム状態を監
視するチェックポイント・モジュールと共に無停電電源
を使用することによって達成される。
【0053】以上本発明について、その好適実施例につ
いて例示して説明したが、本発明の精神および範囲から
逸脱することなく、形態および細部におけるその他様々
な変更も可能であることは、当業者には理解されよう。
いて例示して説明したが、本発明の精神および範囲から
逸脱することなく、形態および細部におけるその他様々
な変更も可能であることは、当業者には理解されよう。
【図1】本発明によるコンピュータ実行ステップを実行
する計算システムを示す図。
する計算システムを示す図。
【図2】本発明の好適実施例を示すブロック図。
【図3】RAID−5ディスク・アレイに新規データを
書き込む際に実行される論理処理を示す図。
書き込む際に実行される論理処理を示す図。
【図4】メモリ・キャッシュを用いて新規データをRA
ID−5ディスク・アレイに書き込む際の論理処理を示
す図。
ID−5ディスク・アレイに書き込む際の論理処理を示
す図。
【図5】図2のキャッシュ・ディレクタの代替実施例を
示す図。
示す図。
【図6】メモリ・キャッシュをイネーブルすべきかある
いはディセーブルすべきかを判定する論理処理を示す
図。
いはディセーブルすべきかを判定する論理処理を示す
図。
【図7】メモリ・キャッシュをイネーブルすべきかある
いはディセーブルすべきかを判定する論理処理を示す
図。
いはディセーブルすべきかを判定する論理処理を示す
図。
20 プロセッサ 21 入出力(I/O) 22 中央演算装置 23 メモリ部 24 キーボード 25 表示装置 26 ディクス記憶装置 27 CD−ROM駆動装置 28 プログラム 29 CD−ROM媒体 40 RAID−5キャッシュ・ディレクタ 42 ホスト・メモリ・キャッシュ 44 ディスク・アレイ 45 ディスク 46 システム・バックアップ電源
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G11B 20/18 570 G11B 20/18 570Z 572 572F (71)出願人 597004720 2550 Garcia Avenue,MS PAL1−521,Mountain V iew,California 94043− 1100,United States of America (72)発明者 ロバート・エス・ギッティンズ アメリカ合衆国コロラド州80866,ウッド ランド・パーク,キングズ・クラウン・ロ ード 102 (72)発明者 ジョン・アール・コービン アメリカ合衆国テキサス州79912,エル・ パソ,インペリアル・リッジ・ドライヴ 6620
Claims (7)
- 【請求項1】 プロセッサと、入出力装置と、システム
・メモリと、計算システムに電力を供給するバックアッ
プ電源と、RAIDディスク・アレイとして構成された
記憶装置とを有するコンピュータにおいて、前記記憶装
置にデータを記憶する装置であって、 前記計算システムのシステム・メモリに設けられ、デー
タを記憶するメモリ・キャッシュと、 前記計算システムにおける障害を検出し、障害指示を発
生するチェックポイント・モジュールと、 第1モードにおいてデータおよびパリティを前記メモリ
・キャッシュに書き込み、第2モードにおいてデータお
よびパリティを前記記憶装置に書き込むキャッシュ・マ
ネージャと、から成り、 前記障害指示に応答して、前記チェックポイント・モジ
ュールが前記キャッシュに含まれているデータのチェッ
クサムを発生し、前記キャッシュに含まれているデータ
を前記記憶装置にコピーし、前記キャッシュ・マネージ
ャを前記第1モードから前記第2モードに切り替える、
装置。 - 【請求項2】請求項1記載の装置において、前記チェッ
クポイント・モジュールによって検出される障害は、ソ
フトウエア障害、電力変動、またはハードウエア障害を
含む装置。 - 【請求項3】計算システムにおいて新規データおよび新
規パリティを書き込む方法であって、前記計算システム
は、システム・メモリと、RAID構成に配置されたド
ライブ・アレイと、前記計算システムに電力を供給する
バックアップ電源モジュールとを有し、前記方法は、コ
ンピュータ実行ステップとして、 前記システム・メモリ内に、パリティおよびデータ情報
を記憶するためのキャッシュを設けるステップと、 前記計算システム内に記憶されている旧パリティおよび
旧データから、前記新規パリティおよび新規データを計
算するステップと、 前記新規データを記憶のため前記キャッシュに転送する
ステップと、 前記新規パリティを記憶のため前記キャッシュに転送す
るステップと、 前記新規データを前記ディスクに書き込むステップと、 前記パリティを前記キャッシュに書き込むステップと、 前記キャッシュに記憶した前記新規パリティおよび新規
データを無効化するステップと、から成る方法。 - 【請求項4】請求項3記載の方法において、更に、 前記コンピュータ・システムの動作状態に基づいて、前
記キャッシュをディセーブルすべきか否かを検出するス
テップを更に含む方法。 - 【請求項5】請求項4記載の方法において、前記検出ス
テップは更に、 前記キャッシュの内容のチェックサムを発生するステッ
プと、 前記キャッシュの内容を、前記ドライブ・アレイの少な
くとも1つのドライブに記憶するステップと、 前記検出ステップに応答して、データ記憶のための前記
キャッシュの使用をディセーブルするステップと、から
成る方法。 - 【請求項6】計算システムによって読み取り可能であ
り、該計算システムにおいて新規データおよび新規パリ
ティを書き込むコンピュータ・プロセスを実行するため
の命令からなるコンピュータ・プログラムをエンコード
したコンピュータ・プログラム記憶媒体であって、前記
計算システムは、システム・メモリと、RAID構成に
配置されたドライブ・アレイと、前記計算システムに電
力を供給するバックアップ電源モジュールとを有し、前
記方法は、 前記システム・メモリ内に、パリティおよびデータ情報
を記憶するためのキャッシュを設けるステップと、 前記計算システム内に記憶されている旧パリティおよび
旧データから、前記新規パリティおよび新規データを計
算するステップと、 前記新規データを記憶のため前記キャッシュに転送する
ステップと、 前記新規パリティを記憶のため前記キャッシュに転送す
るステップと、 前記新規データを前記ディスクに書き込むステップと、 前記パリティを前記キャッシュに書き込むステップと、 前記キャッシュに記憶した前記新規パリティおよび新規
データを無効化するステップと、から成る、コンピュー
タ・プログラム記憶媒体。 - 【請求項7】請求項6記載のコンピュータ・プログラム
記憶媒体において、前記コンピュータ・プロセスは、更
に、 前記キャッシュの内容のチェックサムを発生するステッ
プと、 前記キャッシュの内容を、前記ドライブ・アレイの少な
くとも1つのドライブに記憶するステップと、 前記検出ステップに応答して、データ記憶のための前記
キャッシュの使用をディセーブルするステップと、から
成るコンピュータ・プログラム記憶媒体。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US631934 | 1996-04-15 | ||
| US08/631,934 US5734814A (en) | 1996-04-15 | 1996-04-15 | Host-based RAID-5 and NV-RAM integration |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1049308A true JPH1049308A (ja) | 1998-02-20 |
Family
ID=24533373
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9097139A Pending JPH1049308A (ja) | 1996-04-15 | 1997-04-15 | ホスト・ベースraid−5及びnv−ram統合システム |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5734814A (ja) |
| EP (1) | EP0802485B1 (ja) |
| JP (1) | JPH1049308A (ja) |
| DE (1) | DE69700637T2 (ja) |
Families Citing this family (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0788051B1 (en) * | 1996-01-31 | 2002-05-15 | Kabushiki Kaisha Toshiba | I/O control method having recovery function |
| JP2868080B2 (ja) * | 1996-09-12 | 1999-03-10 | 三菱電機株式会社 | 通信監視制御装置及び通信監視制御方法 |
| KR100208801B1 (ko) * | 1996-09-16 | 1999-07-15 | 윤종용 | 데이타 입/출력 성능을 향상시키기 위한 기억장치 시스템 및 그에 따른 데이타 복구정보 캐시구현방법 |
| US5859965A (en) | 1996-12-17 | 1999-01-12 | Sun Microsystems, Inc. | Method and apparatus for maintaining data consistency in raid |
| US5933593A (en) * | 1997-01-22 | 1999-08-03 | Oracle Corporation | Method for writing modified data from a main memory of a computer back to a database |
| US6223301B1 (en) * | 1997-09-30 | 2001-04-24 | Compaq Computer Corporation | Fault tolerant memory |
| JP3618529B2 (ja) * | 1997-11-04 | 2005-02-09 | 富士通株式会社 | ディスクアレイ装置 |
| JP2000242440A (ja) * | 1999-02-25 | 2000-09-08 | Alps Electric Co Ltd | ディスク装置 |
| US6732290B1 (en) * | 2000-11-22 | 2004-05-04 | Mti Technology Corporation | Recovery system for raid write |
| GB2407896B (en) | 2001-01-31 | 2005-06-22 | Hewlett Packard Co | Storage apparatus |
| US7032123B2 (en) * | 2001-10-19 | 2006-04-18 | Sun Microsystems, Inc. | Error recovery |
| US7043610B2 (en) * | 2002-08-19 | 2006-05-09 | Aristos Logic Corporation | System and method for maintaining cache coherency without external controller intervention |
| US7055010B2 (en) * | 2002-11-06 | 2006-05-30 | Synology Inc. | Snapshot facility allowing preservation of chronological views on block drives |
| US7478275B1 (en) * | 2004-03-29 | 2009-01-13 | Symantec Operating Corporation | Method and apparatus for performing backup storage of checkpoint data within a server cluster |
| US7370163B2 (en) * | 2004-05-03 | 2008-05-06 | Gemini Storage | Adaptive cache engine for storage area network including systems and methods related thereto |
| US7457980B2 (en) * | 2004-08-13 | 2008-11-25 | Ken Qing Yang | Data replication method over a limited bandwidth network by mirroring parities |
| US20060036904A1 (en) * | 2004-08-13 | 2006-02-16 | Gemini Storage | Data replication method over a limited bandwidth network by mirroring parities |
| US20060136664A1 (en) * | 2004-12-16 | 2006-06-22 | Trika Sanjeev N | Method, apparatus and system for disk caching in a dual boot environment |
| US7730257B2 (en) * | 2004-12-16 | 2010-06-01 | Broadcom Corporation | Method and computer program product to increase I/O write performance in a redundant array |
| US20110208933A1 (en) * | 2008-10-27 | 2011-08-25 | Kaminario Technologies Ltd. | Mass-Storage System Utilizing Solid-State Storage and Non-Solid-State Storage |
| WO2010049928A1 (en) * | 2008-10-27 | 2010-05-06 | Kaminario Tehnologies Ltd. | System and methods for raid writing and asynchronous parity computation |
| US8639968B2 (en) * | 2011-01-17 | 2014-01-28 | Hewlett-Packard Development Company, L. P. | Computing system reliability |
| US20120317356A1 (en) * | 2011-06-09 | 2012-12-13 | Advanced Micro Devices, Inc. | Systems and methods for sharing memory between a plurality of processors |
| US9229812B2 (en) * | 2014-02-10 | 2016-01-05 | Infinidat Ltd. | Layered failure protection scheme for protecting destaged data units |
| US10248560B2 (en) | 2016-09-26 | 2019-04-02 | Toshiba Memory Corporation | Storage device that restores data lost during a subsequent data write |
| US10083091B1 (en) * | 2017-03-22 | 2018-09-25 | International Business Machines Corporation | Memory resident storage recovery during computer system failure |
| CN109725824A (zh) * | 2017-10-27 | 2019-05-07 | 伊姆西Ip控股有限责任公司 | 用于向存储系统中的盘阵列写入数据的方法和设备 |
| CN118069410A (zh) * | 2022-11-24 | 2024-05-24 | 长江存储科技有限责任公司 | 操作方法、存储器控制器、系统及电子设备 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2533612B2 (ja) * | 1988-05-16 | 1996-09-11 | 富士通株式会社 | メモリのデ―タ保護方式 |
| US5124987A (en) * | 1990-04-16 | 1992-06-23 | Storage Technology Corporation | Logical track write scheduling system for a parallel disk drive array data storage subsystem |
| JPH0731582B2 (ja) * | 1990-06-21 | 1995-04-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | パリティ保護データを回復するための方法および装置 |
| US5210866A (en) * | 1990-09-12 | 1993-05-11 | Storage Technology Corporation | Incremental disk backup system for a dynamically mapped data storage subsystem |
| US5274799A (en) * | 1991-01-04 | 1993-12-28 | Array Technology Corporation | Storage device array architecture with copyback cache |
| AU653670B2 (en) * | 1992-03-10 | 1994-10-06 | Data General Corporation | Improvements for high availability disk arrays |
| JP2810593B2 (ja) * | 1992-05-13 | 1998-10-15 | 三菱電機株式会社 | 記憶装置 |
| EP0612015A1 (en) * | 1993-02-16 | 1994-08-24 | International Business Machines Corporation | Improved disk array system having special parity groups for data blocks with high update activity |
| US5463765A (en) * | 1993-03-18 | 1995-10-31 | Hitachi, Ltd. | Disk array system, data writing method thereof, and fault recovering method |
| US5572660A (en) * | 1993-10-27 | 1996-11-05 | Dell Usa, L.P. | System and method for selective write-back caching within a disk array subsystem |
| US5586291A (en) * | 1994-12-23 | 1996-12-17 | Emc Corporation | Disk controller with volatile and non-volatile cache memories |
-
1996
- 1996-04-15 US US08/631,934 patent/US5734814A/en not_active Expired - Lifetime
-
1997
- 1997-03-24 EP EP97104950A patent/EP0802485B1/en not_active Expired - Lifetime
- 1997-03-24 DE DE69700637T patent/DE69700637T2/de not_active Expired - Fee Related
- 1997-04-15 JP JP9097139A patent/JPH1049308A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| DE69700637D1 (de) | 1999-11-25 |
| EP0802485B1 (en) | 1999-10-20 |
| EP0802485A1 (en) | 1997-10-22 |
| US5734814A (en) | 1998-03-31 |
| DE69700637T2 (de) | 2000-06-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH1049308A (ja) | ホスト・ベースraid−5及びnv−ram統合システム | |
| US5089958A (en) | Fault tolerant computer backup system | |
| US7152184B2 (en) | Storage device, backup method and computer program code of this storage device | |
| US6738863B2 (en) | Method for rebuilding meta-data in a data storage system and a data storage system | |
| US6052799A (en) | System and method for recovering a directory for a log structured array | |
| US6658542B2 (en) | Method and system for caching data in a storage system | |
| US6151685A (en) | System and method for recovering a segment directory for a log structured array | |
| EP0608344B1 (en) | System for backing-up data for rollback | |
| US6467023B1 (en) | Method for logical unit creation with immediate availability in a raid storage environment | |
| US6041423A (en) | Method and apparatus for using undo/redo logging to perform asynchronous updates of parity and data pages in a redundant array data storage environment | |
| US6408400B2 (en) | Disk array device | |
| US6529995B1 (en) | Method and apparatus for maintaining and restoring mapping table entries and data in a raid system | |
| US7055058B2 (en) | Self-healing log-structured RAID | |
| US7069402B2 (en) | Host-independent incremental backup method, apparatus, and system | |
| JP3129732B2 (ja) | コピーバックキャッシュを有する記憶装置アレイ | |
| WO1999063441A1 (en) | Snapshot backup strategy | |
| JPH08305500A (ja) | 記憶制御装置、それを含むデータ記憶システムおよび二重ペア抑止方法 | |
| EP1535154A1 (en) | Using file system information in raid data reconstruction and migration | |
| US5859965A (en) | Method and apparatus for maintaining data consistency in raid | |
| JPH05143471A (ja) | 記憶装置の冗長アレイ内の故障記憶装置のオンライン再構成方法 | |
| JPH10105467A (ja) | 冗長キャッシュを備えているraidコントローラにおけるキャッシュのコンシステンシーを維持するための方法および装置 | |
| JPH08263228A (ja) | アレイにデータを格納する方法および記憶アレイ・システム | |
| US7721143B2 (en) | Method for reducing rebuild time on a RAID device | |
| WO2004059488A2 (en) | Instant refresh of a data volume copy | |
| JPH10105344A (ja) | データ記録装置システム及びそのデータ書込方法 |