JPH06508708A - ディスク記憶システム - Google Patents
ディスク記憶システムInfo
- Publication number
- JPH06508708A JPH06508708A JP5519368A JP51936893A JPH06508708A JP H06508708 A JPH06508708 A JP H06508708A JP 5519368 A JP5519368 A JP 5519368A JP 51936893 A JP51936893 A JP 51936893A JP H06508708 A JPH06508708 A JP H06508708A
- Authority
- JP
- Japan
- Prior art keywords
- controller
- physical address
- address
- entry
- disk
- 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
- 238000013500 data storage Methods 0.000 claims description 6
- 108090000248 Deleted entry Proteins 0.000 claims description 2
- 230000004044 response Effects 0.000 description 9
- 238000012217 deletion Methods 0.000 description 7
- 230000037430 deletion Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000000034 method Methods 0.000 description 5
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 230000004888 barrier function Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 208000000044 Amnesia Diseases 0.000 description 2
- 208000026139 Memory disease Diseases 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006984 memory degeneration Effects 0.000 description 2
- 208000023060 memory loss Diseases 0.000 description 2
- 241000555745 Sciuridae Species 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 125000001246 bromo group Chemical group Br* 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/11—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
- G11B20/1252—Formatting, e.g. arrangement of data block or words on the record carriers on discs for discontinuous data, e.g. digital information signals, computer programme data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F2003/0697—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B2020/1264—Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
- G11B2020/1265—Control data, system data or management information, i.e. data used to access or process user data
- G11B2020/1281—Servo information
- G11B2020/1282—Servo information in embedded servo fields
Abstract
(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。
Description
【発明の詳細な説明】
デ スフ9 システム
〔発明の背景〕
本発明は広義には電子計算機に関し、より詳細には磁気媒体等の不揮発性記憶装
置にデータを記憶するシステムに関する。
回転式の磁気ディスク等の記憶媒体上におけるデータの組織化は従来ホストコン
ピュータのファイルシステムによって行われてきた。オペレーティングシステム
、データベースあるいはその他のアプリケーションの一部とすることもできるか
かるファイルシステムは大域システム状態についてローカルディスクコントロー
ラより多くの情報を有する。かかる入城情報を用いることができることによって
、理論的な利点があり、そのため一般にホストプロセッサはローカルディスクコ
ントローラよりディスク上のデータの組織化をより良好に行いうるちのと考えら
れてきた。
実際に、ディスクの性能特性、ディスクの形状等に関する詳細な知識はディスク
コントローラレベルで容易に利用可能であるが、従来ホストプロセッサには利用
されていなかった。この種の詳細な知識を利用することのできるシステムはディ
スクの性能を大きく向上させる可能性がある。かかるシステムが単一スピンドル
ディスクドライブシステム用のものとして提案されている。このシステムはホス
トプロセッサではなくディスクコントローラを用いてディスク上のデータの組織
化を行うが、ディスクに関する詳細な知識を使用する能力があり、性能が大きく
改善されている。
このシステムでは、ディスク上の少数のセグメント(通常約5%以下)が空セグ
メントとして留保される。かかる空セグメントはディスクの表面上に分散されて
いる。あるデータブロックをディスクに書き込むとき、ローカルディスクコント
ローラが現在のヘッド位置に最も近い空セグメントを選択してそこにデータを書
き込む。その結果、非常に高速なデータ書き込みを行うことができる。これはデ
ィスクが1回転の何分の1か回転しただけで空セグメントが現われるためである
。
書き込みは性能を犠牲にすることなく受信される順序で行うことができる。また
、更新は古いデータの上から行われることはない。
各データブロックがディスク上のどこに書かれているかを追跡するための“イン
ディレクションテーブル2がメモリに維持される。“空マツプ”は空セグメント
を効率的に探すのに用いられる。たとえば停電等によるメモリの損失の際にイン
ディレクションテーブルの復元を可能にするために、ディスク上のセグメントに
は逆索引が書かれている。かかる逆索引によってメモリ中のインディレクション
テーブルが失われたときこれを再構築することができるが、これには時間がかか
る。なぜなら、すべての情報を復元するためにはディスク全体を読まなければな
らないためである。このシステムはディスク記憶システムの性能を大幅に向上さ
せる。
上述のシステムによって性能が向上するにもかかわらず、複数のスピンドルを有
するディスクシステムの性能をさらに向上させ、インディレクションテーブル等
のシステム情報が揮発性メモリから失われた場合の復元に要する時間を低減する
方法が必要とされている。
本発明は多スピンドルディスクドライブシステムにおいてデータの書き込みに要
する時間が大幅に低減され、他のディスクドライブシステムに比べて復元速度が
大幅に上がる電子的データ記憶システムを提供する。本発明は所定の“ロールハ
ックグループ”の外では見えない暫定的な記憶動作を容易にする。
つまり、ホストコンピュータが論理アドレスとその論理アドレスに記憶されるデ
ータブロックを有するディスク記憶システムを提供する。
ディスクコントローラがどのセグメントを最も速くアクセスできるかといったア
ルゴリズムにしたがってディスク装置とそのデータのためのセグメントを選択し
、そこにそのデータを書き込む。コントローラは(RAM等の)メモリに論理ア
ドレスと物理アドレスを関係付ける索引を保持する。
好適には、この索引は一部は大域索引として、また一部は1つあるいはそれ以上
の動的に作成されたロールバックグループ索引として保持される。ディスクシス
テムコントローラはこれらの索引をどのセグメントがデータの記憶に利用可能で
あるかを示す空リストとどの記憶セグメントが陳腐化したデータを有するかを示
す陳腐化リストとともに保持する。かかる索引やリストは揮発性メモリに保持さ
れるが、メモリの故障があった場合簡単に復元することができる。かかるリスト
および索引の復元はディスク全部を読むことなく行うことができる。
ディスク上の少数のセグメントだけが“チェックポイントセグメントとして留保
される。かかるセグメントはディスク全体を読むことなく索引を再構築するのに
必要な情報を有する。
本発明の他の特徴および利点は本発明の原理を例示する添付図面を参照しながら
以下の詳細な説明を読むことにより明らかとなるであろう。
〔図面の簡単な説明〕
図1は本発明のディスク記憶システムの実施例のブロック図である。
図2は図1の1ブロツクとして示される種類のディスク装置のブロック図である
。
図3は図2に示すディスク装置の一部の拡大図である。
図1に示すように、本発明の電子データ記憶システム13の一実施例は中央コン
トローラI5、メモ1月7および複数の記憶装置21および23を有する。コン
トローラ15は通信チャンネル19を介してメモリ17と、また通信チャンネル
25を介して記憶装置21.23と通信する。コントローラ15は通信チャンネ
ル27を介してホストプロセッサ11からのコマンドを受け取り、データがコン
トローラ15とホストプロセッサ11の間で通信チャンネル29を介して交換さ
れる。
記憶装置121を図2により詳細に示す。装置コントローラ31は通信チャンネ
ル25を介して中央コントローラ15と通信する。装置メモリ33は通信チャン
ネル35を介してコントローラ31と通信する。コントローラ3】は制御チャン
ネル39とデータチャンネル41を介してディスクサーボ制御回路37と通信す
る。サーボ制御回路37は、複数の磁気ディスク1゜4と、アクチュエータアー
ム106に取り付けられてさまざまなディスク104上の記憶領域123の上に
随時位置決めされる複数の読み出し/書き込みヘッドの電気機械的動作を制御す
る。1つのディスク104の領域47の拡大図を図3に示す。同図にはディスク
104上の複数の他の近接する記憶領域105も示されている。
複数の制御信号および情報が中央コントローラ15によって管理され、中央メモ
1月7に記憶される。入城索引にはエントリが備えられ、各エントリはディスク
に記憶されるデータブロックに関する論理アドレスおよび対応する物理アドレス
(装置およびセグメント識別子)を与える。
データブロックの中にはロールハックグループに割り当てられるものがある。そ
れぞれの指定されたロールパックグループにはグループ索引が動的に作成される
。各索引にはエントリが備えられ、各エントリは、ディスクに記憶され、その索
引に対応する特定のロールパックグループに割り当てられたデータブロックに関
する論理アドレスおよび対応する物理アドレスを与える。1つのグループに属す
るデータブロックがそのブロックの属するグループに対応する索引中のエントリ
だけでなく、大域索引中のエントリあるいは1つあるいはそれ以上の他のグルー
プ索引中のエントリによって参照されることがある。あるグループ索引中の各エ
ントリはその状態が“書き込み”、“非書き込み”あるいは“削除′のいずれで
あるかを指定する状態標識を有する。
“参照リストがコントローラによってメモリ中に保持される。この参照リストは
任意の索引に現われる各物理アドレスの参照カウント値を示す。ある物理アドレ
スの参照カウント値はその物理アドレスがすべての索引中にリストされる回数を
示す。
“陳腐化リスト”もまたコントローラによって保持される。このリストは、陳腐
化したデータを有するが新しいデータのエントリのために解放されていないセグ
メントの物理アドレスを含む。
“動作ログがメモリに保持され、最後の同期コマンドとチェックポイント動作に
続いて発せられたグループ作成コマンド、複写コマンド、削除コマンド、コミッ
トコマンド、中止コマンドおよびバリヤコマンドの記録を含む。“チェックポイ
ントログには最後の同期コマンドとチェックポイント動作に続くすべての索引へ
のすべてのエントリと削除がリストされている。
メモリの入城索引とグループ索引を含む部分はに個の“チェックポイントセクシ
ョン”に分割されている。kは整数である。さまざまなディスク記憶装置21.
23の中で合計でに+1個の“チェックポイントセグメント”が留保されている
。これらはすべて装置21等の1つの記憶装置にあってもよく、あるいはまた従
来のように複数の装置に分散していてもよい。これらのメモリ中のチェックポイ
ントセクション、ディスク上のチェックポイントセグメントおよび動作ログはこ
こに説明するようにメモリ損失がある場合には復元に用いられる。
各記憶装置の装置メモリはその装置中の利用可能な記憶セグメントのリストを示
す空マツプを含む。
別個の要素として説明および図示されるこれらの物理的要素およびメモリ要素は
実際の物理的実施例においては結合することができる。
たとえば、すべてのメモリをRAMメモリの単一のバンク中に実施することがで
きる。かかる空マツプはすべての記憶装置のすべての空セグメントをリストする
1つの空マツプに統合することができる。各種のコントローラ機能のいくつかあ
るいはそのすべてを1つのマイクロプロセッサあるいは他の制御装置で実行する
ことができる。あるいはコントローラ機能は図示するように中央コントローラと
複数のディスク装置コントローラに分散することができる。
ホストプロセッサ11からさまざまなコマンドが発せられる。ホストプロセッサ
は汎用コンピュータ、ネットワークサーバ、あるいはデータ記憶システムを必要
とするその他の装置とすることができる。
本発明で考察する記憶装置はここに説明・図示したような磁気ディスク記憶装置
である。しかし、本発明の原理は光学的媒体、バブルメモリ等の他の種類の記憶
装置にも同様にあてはまる。
ホス ブロモ・ か゛ せ゛ コマン゛記憶システムはホストプロセッサから各
種のコマンドを受け取り、次に説明するようにかかるコマンドに応えて各種の動
作を行う。
“ ′ ”コマン゛
このコマンドは論理アドレス、単独で書き込まれるべき1つのデータブロックあ
るいは多ブロック書き込みとして書き込まれるべき複数のブロックを含み、また
グループ識別子を含む場合がある。
このコマンドに応じて、中央ディスクコントローラ15が書き込まれるべき各ブ
ロックに対する一連のタスクを実行する。まず、コントローラはどの装置が最も
多(の空スペースを有するかといった基準にしたがってディスク装置21やディ
スク装置23等の記憶装置を選択する。
通常は、書き込みをすべての記憶装置に均等に分散するアルゴリズムがより適切
な基準と考えられる。
次に、コントローラは選択された記憶装置の空リストからあるセグメントを選択
する。この選択を行う方法の1つとして、最小限の時間で到達することのできる
セグメントを選択するという方法がある。ディスクドライブ装置の場合、この時
間には探索時間(アクチュエータアーム106に取り付けられた磁気記録ヘッド
をその位置に移動させるのに要する時間)、回転遅延時間(所望のセグメント1
23がその位置まで回転するのに要する時間)、および実際にデータ転送に要す
る時間が含まれる。ヘッドの位置とディスクの角位置をモニターすることによっ
て、利用可能なセグメントの中から最も短い時間でアクセスすることのできるセ
グメントを選択することができる。この選択過程はヘッドとディスクが連続運動
あるいはほとんど連続的な運動をしているため動的であり、中央ディスクコント
ローラ15によって行うか、あるいは必要に応じてディスク装置コントローラ3
1に行わせることができる。
次に、コントローラはこのブロックにタグを付ける。このタグは論理アドレスと
連続番号中の次の連番を含む。このタグはまたそのブロックが多ブロック書き込
みの始めのブロックあるいは中間のブロックでなければ終了フラグを含む。この
ブロックがロールパックグループに属する場合、グループ識別子もまたこのタグ
に含まれる。
次に、このコントローラは選択された物理アドレス(セグメントおよび記憶装置
)ブロックとそのタグを記録し、このセグメントを空マツプから削除し、論理ア
ドレスと物理アドレスを書き込み状態標識とともにグループ索引に入れ、グルー
プ識別子がない場合、入城索引に入れ、その物理アドレスの参照カウント値をイ
ンクリメントする。
同じ論理アドレスが前のエントリ中の前の物理アドレスとともに現われる場合、
コントローラは前のエントリを削除し、この前の物理アドレスの参照カウント値
をデクリメントする。さらに、この前のエントリが入城索引にあった場合、コン
トローラはこの前のエントリをそのアドレスを“非書き込み”エントリとして含
んでいない任意のグループ索引に入れ、前のエントリが入れられるそれぞれの索
引について、この前の物理アドレスの参照カウント値を一度インクリメントする
。
カウント値がゼロまでデクリメントする場合、これはその物理アドレスがどの索
引にもなく、陳腐化リストに移動されていることを示す。
最後に、コントローラはチェックポイントログにすべての挿入と削除を入力する
。
“ロールバ・・ ルーブコマン′
“ロールパックグループ作成″は次のロールパックグループのグループ識別子を
含む。このコマンドに応じて、中央ディスクコントローラ15は次のロールパッ
クグループのグループ索引を作成し、次の連続番号を割り当て、このコマンドを
動作ログに入れる。
″′コマン′
“読み出し”コマンドは論理アドレスと場合によってはグループ識別子を含む。
ごのコマンドに応じて、中央コントローラ15はグループ索引を探索して読み出
すべきデータブロックの物理アドレスを発見する。発見されない場合、あるいは
グループ識別子がない場合、コントローラは大域索引を探索して物理アドレスを
発見する。この物理アドレスはディスクからこのデータブロックを検索するのに
用いられ、このデータブロックはホストプロセッサに送られる。
こ血除ニュヱノ上
“削除″コマンドは論理アドレスと場合によってはグループ識別子を含む。この
コマンドに応じて、中央コントローラ15は次の動作を行う。
グループ識別子があり、ブロックがグループ索引にリストされている場合、コン
トローラはこのエントリを削除エントリに変更し、物理アドレスの参照カウント
値をデクリメントする。グループ識別子があり、ブロックがグループ索引にリス
トされていない場合、コントローラはこのブロックの論理アドレスをグループ索
引に削除エントリとして入れる。
グループ識別子がない場合、コントローラはこのエントリを大域索引から削除し
、この物理アドレスの参照カウント値をデクリメントする。さらに、同じ論理ア
ドレスが大域索引の前のエントリの前の物理アドレスとともに現われる場合、コ
ントローラはこの前のエントリを削除し、この前の物理アドレスの参照カウント
値をデクリメントし、この前のエントリをそのアドレスを“非書き込み”エント
リとして含まない他のすべてのグループ索引に入れ、前のエントリが入れられる
それぞれの索引について、この前の物理アドレスの参照カウント値を一度インク
リメントする。ある物理アドレスの参照カウント値がゼロになると、そのアドレ
スは陳腐化リストに入れられる。
次に、コントローラは次の連続番号を割り当て、このコマンドを動作ログに入れ
、すべての挿入と削除をチェックポイントログに入れる。
“バぜヤ”コマン゛
“バリヤ”コマンドはホストが各種のデータ項目のある状態をそれが復帰するこ
とのできる有効な状態として保存したい場合に随時発せられる。これはその効果
を1つのグループに制限すべき場合には1つのロールパックグループを同定する
ことができる。このコマンドに応じて、コントローラは次の連続番号を割り当て
、このコマンドを動作ログに入れる。
″′コマンド
“中止”コマンドは中止すべきロールパックグループを同定する。
これに応じて、コントローラはグループ索引中のそれぞれの書き込みエントリと
それぞれの非書き込みエントリの物理アドレスの参照カウント値をデクリメント
し、このグループ索引を削除し、次の連続番号を割り当て、このコマンドを動作
ログに入れ、それぞれの削除をチェックポイントログに入れる。
“コミ・・ ”コマンド
“コミット”コマンドはコミットすべきロールパックグループを同定する。この
コマンドに応じて、コントローラは以下の動作を行う。
そのエントリが“書き込み”エントリである場合、コントローラはこのエントリ
をグループ索引から大域索引に移し、同じ論理アドレスが大域索引中の前のエン
トリの前の物理アドレスとともに現われる場合、この前のエントリを削除し、こ
の前の物理アドレスの参照カウント値をデクリメントし、この前のエントリをそ
のアドレスを“非書き込み”エントリとして含まない他のすべてのグループ索引
に入れ、前のエントリが入れられるそれぞれの索引について、この前の物理アド
レスの参照カウント値を一度インクリメントする。
このエントリが非書き込みエントリである場合、コントローラはこの物理アドレ
スの参照カウント値を゛デクリメントする。
そのエントリが削除エントリである場合、コントローラは大域索引から同じ論理
アドレスを有するエントリを削除し、削除されたエントリの物理アドレスの参照
カウント値をデクリメントし、この前のエントリをそのアドレスを“非書き込み
゛エントリとして含まない他のすべてのグループ索引に入れ、前のエントリが入
れられるそれぞれの索引について、この前の物理アドレスの参照カウント値を一
度インクリメントする。
次に、コントローラはグループ索引を削除し、次の連続番号を割り当て、このコ
マンドを動作ログに入れ、すべての挿入と削除をチェックポイントログに入れる
。
他のコマンドと同様に、ある物理アドレスの参照カウント値がゼロになると、そ
のアドレスは陳腐化リストに入れられる。
“コマン゛
このコマンドは複写すべきブロックの論理アドレスとそのブロックを複写すべき
新しい論理アドレスを含む。これらのアドレスの1つあるいは両方に対してグル
ープ識別子を設けることもできる。
このコマンドに応じて、コントローラは複写すべきブロックの物理アドレスを検
索する。次に、この新しい論理アドレスを同定されたグループ索引中の書き込み
エントリとして入力する。なければ、大域索引に複写されるブロックの物理アド
レスとともに入力してその物理アドレスの参照カウント値をインクリメントする
。
同じ論理アドレスが前のエントリ中の前の物理アドレスとともに現われる場合、
コントローラはこの前のエントリを削除してその参照カウント値をデクリメント
し、この前のエントリが大域索引にある場合、この前のエントリをそのアドレス
を“非書き込み゛エントリとして含まない他のすべてのグループ索引に入れ、前
のエントリが入れられるそれぞれの索引について、この前の物理アドレスの参照
カウント値を一度インクリメントする。
次に、コントローラはグループ索引を削除し、次の連続番号を割り当て、このコ
マンドを動作ログに入れ、すべての挿入と削除をチェックポイントログに入れる
。
“0 ”コマン゛
このコマンドはホストプロセッサが前にコントローラに送られたコマンドの完了
を確実にしたい場合に随時発せられる。このコマンドは、その範囲を同定された
グループに限定するグループ識別子を含んでいてもよい。このコマンドに応じて
、グループ識別子がある場合にはコントローラは最後にこのグループに送られた
バリヤの前に発せられた未処理の書き込みコマンドを終了する。未処理の大域書
き込みコマンドが“コミット”コマンドの前に発せられたものも含めて終了され
る。
動作ログと次の連続番号が、利用可能なセグメントに書き込まれ、このログが書
き込まれた物理アドレスが陳腐化リストに追加される。
動作ログは最後のチェックポイント動作に続く任意の動作の記録の復元のために
のみ必要である。したがって、その物理アドレスは直ちに陳腐化リストに入れる
ことができる。
六リス とチェツ ボイン
ある種の動作はホストプロセッサからのコマンドを用いずに中央コントローラに
よって実行される。次にかかる動作について説明する。
“ 工・・ ・・ ン ゛
チェックポイントログとメモリの順次のチェックポイントセクションの像が、次
の連続番号とともにディスクの順次のチェックポイントセクションに書き込まれ
る。次に、陳腐化リスト中の任意の物理アドレスが空マツプに転送される。
二蔓照左交2上蓋−
ある物理アドレスの参照カウント値がゼロになると、その物理アドレスは陳腐化
リストに入れられる。これについては特定のコマンドとともに上に説明した。一
般に、陳腐化リストへの物理アドレスの入力は、カウント値がゼロになるコマン
ドの最後においてのみ発生する。
これによってカウント値がゼロになり、lコマンドの間にふたたび正の値にイン
クリメントされるときに陳腐化リストへの入力が防止される。
どlは自り外1
動作ログが所定のエントリ数に達したとき、あるいは同期コマンドあるいはチェ
ックポイントコマンドが発生したとき、コントローラは動作ログを次の連続番号
とともに利用可能なセグメントに書き込み、そのログが書き込まれた物理アドレ
スを陳腐化リストに追加し、メモリ中の動作ログをクリアする。
こ復兄二
停電その他のメモリを消したり、進行中の書き込みを中断させるような事象が発
生した場合、コントローラはに+1のチェックポイントセグメントを読み、最も
新しく有効であるkのチェックポイントセグメントを得る。これらのセグメント
から復元された情報を最も古いものから順に用いて最後のチェックポイント動作
までの大域索引とグループ索引が再構築される。
次に、コントローラは再構築された索引にリストされていないすべてのセグメン
トを読み、空マツプ中の最後のチェックポイントセグメントより古い連続番号を
有するすべてのセグメントをリストする。次に、残りのセグメントを連続番号の
小さい順に配列し、最も古いものから終了フラグを有する最後のものまでのすべ
てのデータブロックと動作ログを連続番号の空白が出るまで復元し、これらを用
いて索引の再構築を完了する。最後に、連続番号が最も大きい番号をセグメント
のものより大きい数までインクリメントされる。
索引およびリスト中の情報、またディスク上の情報を記憶し符号化するにはさま
ざまな方法があることは明らかである。たとえば、あるグループ索引中のあるエ
ントリの“削除”状態はフラグによって、あるいは物理アドレスの不在または特
殊な不在物理アドレスコードによって示すことができる。同様に、あるブロック
の終了はフラグあるいは他の形態の符号化で示すことができる。状況によっては
、連続番号があれば、ブロックの終了を表示してそのブロックが故障なく完全に
書き込まれたことを確認するのに十分である。
以上、本発明の詳細な説明および図示したが、本発明はここに説明および図示し
た具体的構成や部品の配列には限定されず、本発明の範囲と精神から逸脱するこ
となくさまざまな改造や変更を加えることができる。したがって、本発明は特許
請求の範囲内でここに説明および図示したちの以外の態様で実施することができ
る。
国際調審輻牛
国際調査報告
フロントページの続き
(72)発明者 ジャコブソン、ディピッド・エムアメリカ合衆国カリフォルニ
ア州すンタクララ ドナー・ブレイス 2368
(72)発明者 ウィルクス、アンドリュー・ジョンアメリカ合衆国カリフォル
ニア州パロアルト パーク・ブールバード 3788
Claims (1)
- 1.メモリ(17)、物理アドレスによって同定される、データのブロックを記 憶するための複数のセグメント(123、105)を有する複数の記憶装置(2 1、23)、およびメモリ(17)および記憶装置(21、23)と通信するコ ントローラ(15)を備えて成る電子データ記憶システム(13)であって、前 記コントローラは、前記メモリ中にそれぞれが論理アドレスおよび対応する物理 アドレスを有するエントリを含む索引、陳腐化したデータを含むセグメントの物 理アドレスを含む陳腐化リスト、および記憶すべきデータを受けるのに利用可能 なセグメントの物理アドレスを含む空リストを保持し、あらかじめ選択された論 理アドレスおよび記憶すべき関連するデータブロックを提供する書き込みコマン ドに応じて、(a)所定の基準にしたがって前記空リストから物理アドレスを選 択し、(b)1組の連続番号から次の連続番号を得、(c)前記ブロックに前記 連続番号、前記あらかじめ選択された論理アドレス、および終了フラグを含むタ グを付け、(d)前記ブロックとタグを前記選択された物理アドレスのセグメン トに記憶し、(e)前記選択された物理アドレスを前記空リストから削除し、( f)前記あらかじめ選択された論理アドレスおよび前記選択された物理アドレス を前記索引に入れ、(g)前記あらかじめ選択された論理アドレスと同じ論理ア ドレスを含む任意の先の索引エントリを削除し、(h)かかる削除されたエント リからの前記物理アドレスを前記陳腐化リストにリストする電子データ記憶シス テム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/873,928 US5481694A (en) | 1991-09-26 | 1992-04-24 | High performance multiple-unit electronic data storage system with checkpoint logs for rapid failure recovery |
US07/873,928 | 1992-04-24 | ||
PCT/US1993/003779 WO1993022719A1 (en) | 1992-04-24 | 1993-04-22 | Disk storage system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06508708A true JPH06508708A (ja) | 1994-09-29 |
Family
ID=25362624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5519368A Pending JPH06508708A (ja) | 1992-04-24 | 1993-04-22 | ディスク記憶システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US5481694A (ja) |
EP (1) | EP0591520A1 (ja) |
JP (1) | JPH06508708A (ja) |
WO (1) | WO1993022719A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09198195A (ja) * | 1996-01-19 | 1997-07-31 | Nec Corp | データ再配置可能なディスク装置 |
JP2007529833A (ja) * | 2004-07-15 | 2007-10-25 | 株式会社ソニー・コンピュータエンタテインメント | アウト・オブ・オーダーのdmaコマンドキューにおけるコマンド順序の設定に関する技術 |
Families Citing this family (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5680574A (en) * | 1990-02-26 | 1997-10-21 | Hitachi, Ltd. | Data distribution utilizing a master disk unit for fetching and for writing to remaining disk units |
US6728832B2 (en) | 1990-02-26 | 2004-04-27 | Hitachi, Ltd. | Distribution of I/O requests across multiple disk units |
JP3183719B2 (ja) * | 1992-08-26 | 2001-07-09 | 三菱電機株式会社 | アレイ型記録装置 |
GB2272549B (en) * | 1992-11-03 | 1997-01-29 | Tolsys Ltd | Memory checkpointing |
JPH06332623A (ja) * | 1993-05-24 | 1994-12-02 | Mitsubishi Electric Corp | アレイ型記録装置及び記録装置 |
US5590318A (en) * | 1993-11-18 | 1996-12-31 | Microsoft Corporation | Method and system for tracking files pending processing |
JP3564732B2 (ja) * | 1994-06-30 | 2004-09-15 | ソニー株式会社 | ディスク制御方法および装置 |
US5666551A (en) * | 1994-06-30 | 1997-09-09 | Digital Equipment Corporation | Distributed data bus sequencing for a system bus with separate address and data bus protocols |
US5708793A (en) * | 1995-03-31 | 1998-01-13 | International Business Machines Corporation | Method and apparatus using address and read head location information to provide optimal operation of a disk system |
JP3085899B2 (ja) * | 1995-06-19 | 2000-09-11 | 株式会社東芝 | マルチプロセッサシステム |
US5630047A (en) * | 1995-09-12 | 1997-05-13 | Lucent Technologies Inc. | Method for software error recovery using consistent global checkpoints |
WO1997018661A1 (en) * | 1995-11-13 | 1997-05-22 | Answersoft, Inc. | Intelligent information routing system and method |
SE510050C2 (sv) * | 1997-07-21 | 1999-04-12 | Ericsson Telefon Ab L M | Metod för insamlande av logginformation vid förändring av databas |
US6055604A (en) * | 1997-08-26 | 2000-04-25 | Hewlett-Packard Company | Forced transaction log posting using a least busy storage media without maintaining redundancy of the transaction log |
US6170063B1 (en) * | 1998-03-07 | 2001-01-02 | Hewlett-Packard Company | Method for performing atomic, concurrent read and write operations on multiple storage devices |
CA2244626A1 (en) * | 1998-07-31 | 2000-01-31 | Kom Inc. | A hardware and software system |
US6378038B1 (en) | 1999-03-31 | 2002-04-23 | International Business Machines Corporation | Method and system for caching data using raid level selection |
US6529995B1 (en) * | 1999-06-18 | 2003-03-04 | Storage Technology Corporation | Method and apparatus for maintaining and restoring mapping table entries and data in a raid system |
MXPA02004748A (es) | 1999-11-10 | 2004-01-19 | Thomson Licensing Sa | Un metodo para la recuperacion de desastre para un medio de disco de re-escritrua. |
US6668304B1 (en) | 2000-01-18 | 2003-12-23 | International Business Machines Corporation | Transaction support on logical disks |
US6636941B1 (en) | 2000-01-18 | 2003-10-21 | International Business Machines Corporation | Enhanced stable disk storage |
TW526415B (en) | 2000-02-15 | 2003-04-01 | Ibm | System and method for persistent and robust storage allocation |
US6643754B1 (en) | 2000-02-15 | 2003-11-04 | International Business Machines Corporation | System and method for dynamically allocating computer memory |
US6601137B1 (en) * | 2000-04-19 | 2003-07-29 | Western Digital Technologies, Inc. | Range-based cache control system and method |
SG99941A1 (en) * | 2000-08-30 | 2003-11-27 | Ibm | Transaction support on logical disks |
US6594744B1 (en) * | 2000-12-11 | 2003-07-15 | Lsi Logic Corporation | Managing a snapshot volume or one or more checkpoint volumes with multiple point-in-time images in a single repository |
US6751715B2 (en) * | 2001-12-13 | 2004-06-15 | Lsi Logic Corporation | System and method for disabling and recreating a snapshot volume |
US7085784B2 (en) * | 2002-01-10 | 2006-08-01 | International Business Machines Corporation | System and method for eliminating duplicate copies of activity history logs in bridging two or more backend database systems |
US7103729B2 (en) * | 2002-12-26 | 2006-09-05 | Intel Corporation | Method and apparatus of memory management |
US7231544B2 (en) * | 2003-02-27 | 2007-06-12 | Hewlett-Packard Development Company, L.P. | Restoring data from point-in-time representations of the data |
US7805632B1 (en) * | 2007-09-24 | 2010-09-28 | Net App, Inc. | Storage system and method for rapidly recovering from a system failure |
US7752175B2 (en) * | 2007-10-29 | 2010-07-06 | Objectivity, Inc. | Method, system and computer-readable media for repairing corruption of data record references |
US7958393B2 (en) * | 2007-12-28 | 2011-06-07 | International Business Machines Corporation | Conditional actions based on runtime conditions of a computer system environment |
US8346931B2 (en) * | 2007-12-28 | 2013-01-01 | International Business Machines Corporation | Conditional computer runtime control of an information technology environment based on pairing constructs |
US8428983B2 (en) * | 2007-12-28 | 2013-04-23 | International Business Machines Corporation | Facilitating availability of information technology resources based on pattern system environments |
US20090171708A1 (en) * | 2007-12-28 | 2009-07-02 | International Business Machines Corporation | Using templates in a computing environment |
US8677174B2 (en) * | 2007-12-28 | 2014-03-18 | International Business Machines Corporation | Management of runtime events in a computer environment using a containment region |
US20090171731A1 (en) * | 2007-12-28 | 2009-07-02 | International Business Machines Corporation | Use of graphs in managing computing environments |
US8447859B2 (en) * | 2007-12-28 | 2013-05-21 | International Business Machines Corporation | Adaptive business resiliency computer system for information technology environments |
US20090171730A1 (en) * | 2007-12-28 | 2009-07-02 | International Business Machines Corporation | Non-disruptively changing scope of computer business applications based on detected changes in topology |
US8375244B2 (en) * | 2007-12-28 | 2013-02-12 | International Business Machines Corporation | Managing processing of a computing environment during failures of the environment |
US8682705B2 (en) * | 2007-12-28 | 2014-03-25 | International Business Machines Corporation | Information technology management based on computer dynamically adjusted discrete phases of event correlation |
US8365185B2 (en) * | 2007-12-28 | 2013-01-29 | International Business Machines Corporation | Preventing execution of processes responsive to changes in the environment |
US8326910B2 (en) * | 2007-12-28 | 2012-12-04 | International Business Machines Corporation | Programmatic validation in an information technology environment |
US20090171703A1 (en) * | 2007-12-28 | 2009-07-02 | International Business Machines Corporation | Use of multi-level state assessment in computer business environments |
US8826077B2 (en) * | 2007-12-28 | 2014-09-02 | International Business Machines Corporation | Defining a computer recovery process that matches the scope of outage including determining a root cause and performing escalated recovery operations |
US8868441B2 (en) * | 2007-12-28 | 2014-10-21 | International Business Machines Corporation | Non-disruptively changing a computing environment |
US8990810B2 (en) * | 2007-12-28 | 2015-03-24 | International Business Machines Corporation | Projecting an effect, using a pairing construct, of execution of a proposed action on a computing environment |
US8763006B2 (en) | 2007-12-28 | 2014-06-24 | International Business Machines Corporation | Dynamic generation of processes in computing environments |
US8341014B2 (en) * | 2007-12-28 | 2012-12-25 | International Business Machines Corporation | Recovery segments for computer business applications |
US8782662B2 (en) * | 2007-12-28 | 2014-07-15 | International Business Machines Corporation | Adaptive computer sequencing of actions |
US9558459B2 (en) * | 2007-12-28 | 2017-01-31 | International Business Machines Corporation | Dynamic selection of actions in an information technology environment |
US20090172149A1 (en) * | 2007-12-28 | 2009-07-02 | International Business Machines Corporation | Real-time information technology environments |
US8751283B2 (en) * | 2007-12-28 | 2014-06-10 | International Business Machines Corporation | Defining and using templates in configuring information technology environments |
US20100274772A1 (en) * | 2009-04-23 | 2010-10-28 | Allen Samuels | Compressed data objects referenced via address references and compression references |
DE102009031923A1 (de) * | 2009-07-07 | 2011-01-13 | Sones Gmbh | Verfahren zum Verwalten von Datenobjekten |
JP5463780B2 (ja) * | 2009-07-31 | 2014-04-09 | ブラザー工業株式会社 | 情報処理装置 |
US11449394B2 (en) * | 2010-06-04 | 2022-09-20 | Commvault Systems, Inc. | Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources |
WO2013128789A1 (ja) * | 2012-03-02 | 2013-09-06 | 日本電気株式会社 | キャパシティ管理支援装置、キャパシティ管理方法およびプログラム |
US9015429B2 (en) * | 2013-04-18 | 2015-04-21 | Xerox Corporation | Method and apparatus for an efficient hardware implementation of dictionary based lossless compression |
US10198321B1 (en) * | 2014-04-01 | 2019-02-05 | Storone Ltd. | System and method for continuous data protection |
US9563518B2 (en) | 2014-04-02 | 2017-02-07 | Commvault Systems, Inc. | Information management by a media agent in the absence of communications with a storage manager |
CA2969210C (en) * | 2014-12-01 | 2024-02-20 | Informatica Llc | Method, apparatus, and comuter-readable medium for processing a message by a message broker system |
US9880755B2 (en) * | 2015-02-25 | 2018-01-30 | Western Digital Technologies, Inc. | System and method for copy on write on an SSD |
KR20170051563A (ko) * | 2015-10-29 | 2017-05-12 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US10180886B2 (en) | 2015-11-16 | 2019-01-15 | Red Hat, Inc. | Recreating a computing environment using tags and snapshots |
US10031689B2 (en) * | 2016-09-15 | 2018-07-24 | Western Digital Technologies, Inc. | Stream management for storage devices |
US10417102B2 (en) | 2016-09-30 | 2019-09-17 | Commvault Systems, Inc. | Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including virtual machine distribution logic |
US20190102262A1 (en) * | 2017-09-29 | 2019-04-04 | Intel Corporation | Automated continuous checkpointing |
US11003555B2 (en) * | 2017-12-16 | 2021-05-11 | Vmware, Inc. | Tracking and recovering a disk allocation state |
US10754785B2 (en) | 2018-06-28 | 2020-08-25 | Intel Corporation | Checkpointing for DRAM-less SSD |
US10977137B2 (en) * | 2018-07-23 | 2021-04-13 | EMC IP Holding Company LLC | Intelligent log gap detection to ensure necessary backup promotion |
US10776339B2 (en) | 2018-07-23 | 2020-09-15 | EMC IP Holding Company LLC | Intelligent log gap detection to prevent unnecessary backup promotion |
US11200124B2 (en) | 2018-12-06 | 2021-12-14 | Commvault Systems, Inc. | Assigning backup resources based on failover of partnered data storage servers in a data storage management system |
CN111752913B (zh) * | 2019-03-28 | 2024-03-01 | 阿里云计算有限公司 | 分布式系统的数据恢复方法、介质、计算机设备、装置 |
US11099956B1 (en) | 2020-03-26 | 2021-08-24 | Commvault Systems, Inc. | Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations |
CN111697689B (zh) * | 2020-05-13 | 2021-09-24 | 北京四方继保工程技术有限公司 | 一种供电设备隐性故障监测方法和系统 |
US11645175B2 (en) | 2021-02-12 | 2023-05-09 | Commvault Systems, Inc. | Automatic failover of a storage manager |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5367652A (en) * | 1990-02-02 | 1994-11-22 | Golden Jeffrey A | Disc drive translation and defect management apparatus and method |
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 |
US5193184A (en) * | 1990-06-18 | 1993-03-09 | Storage Technology Corporation | Deleted data file space release system for a dynamically mapped virtual data storage subsystem |
-
1992
- 1992-04-24 US US07/873,928 patent/US5481694A/en not_active Expired - Lifetime
-
1993
- 1993-04-22 JP JP5519368A patent/JPH06508708A/ja active Pending
- 1993-04-22 EP EP93912337A patent/EP0591520A1/en not_active Withdrawn
- 1993-04-22 WO PCT/US1993/003779 patent/WO1993022719A1/en not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09198195A (ja) * | 1996-01-19 | 1997-07-31 | Nec Corp | データ再配置可能なディスク装置 |
JP2007529833A (ja) * | 2004-07-15 | 2007-10-25 | 株式会社ソニー・コンピュータエンタテインメント | アウト・オブ・オーダーのdmaコマンドキューにおけるコマンド順序の設定に関する技術 |
Also Published As
Publication number | Publication date |
---|---|
US5481694A (en) | 1996-01-02 |
WO1993022719A1 (en) | 1993-11-11 |
EP0591520A1 (en) | 1994-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH06508708A (ja) | ディスク記憶システム | |
US5535381A (en) | Apparatus and method for copying and restoring disk files | |
US6311193B1 (en) | Computer system | |
US5499367A (en) | System for database integrity with multiple logs assigned to client subsets | |
US5764880A (en) | Method and system for rebuilding log-structured arrays | |
US5269019A (en) | Non-volatile memory storage and bilevel index structure for fast retrieval of modified records of a disk track | |
US5794242A (en) | Temporally and spatially organized database | |
Gait | The optical file cabinet: a random-access file system for write-once optical disks | |
US8271504B2 (en) | Systems for performing an external (disk-based) sort of a large data file which take advantage of “presorted” data already present in the input | |
EP0871120A2 (en) | Method of storing data in a redundant group of disks and redundant array of disks | |
JPS60250449A (ja) | デ−タ記録方法 | |
BG63096B1 (bg) | Метод и компютърна система за достъп до информация | |
US6636941B1 (en) | Enhanced stable disk storage | |
JP2691087B2 (ja) | データ・ファイルについてのディレクトリ・システム、装置および方法 | |
US6629203B1 (en) | Alternating shadow directories in pairs of storage spaces for data storage | |
US6678787B2 (en) | DASD-free non-volatile updates | |
JPH039494B2 (ja) | ||
US6360296B1 (en) | Disk control apparatus | |
JP2005165485A (ja) | ファイル管理装置、ストレージ管理システム、システム管理方法、プログラム及び記録媒体 | |
KR970004255B1 (ko) | 병렬 디스크 상에서의 고속 데이타 갱신 방법 | |
JPH04246746A (ja) | 記憶装置システム | |
WO1993021579A1 (en) | Method for managing data records in a cached data subsystem with non-volatile memory | |
JPH03166634A (ja) | 情報記録再生方式 | |
JP2784650B2 (ja) | 光ディスクの記憶管理方法 | |
JPH073661B2 (ja) | 情報処理システム及びその制御方法 |