JP2000122906A - ディスク内容障害回復方法及び計算装置 - Google Patents

ディスク内容障害回復方法及び計算装置

Info

Publication number
JP2000122906A
JP2000122906A JP10289073A JP28907398A JP2000122906A JP 2000122906 A JP2000122906 A JP 2000122906A JP 10289073 A JP10289073 A JP 10289073A JP 28907398 A JP28907398 A JP 28907398A JP 2000122906 A JP2000122906 A JP 2000122906A
Authority
JP
Japan
Prior art keywords
file system
computer
procedure
contents
area
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
JP10289073A
Other languages
English (en)
Other versions
JP3959870B2 (ja
Inventor
Tomonori Sekiguchi
知紀 関口
Toshiaki Arai
利明 新井
Keiko Yamakawa
恵子 山川
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP28907398A priority Critical patent/JP3959870B2/ja
Publication of JP2000122906A publication Critical patent/JP2000122906A/ja
Application granted granted Critical
Publication of JP3959870B2 publication Critical patent/JP3959870B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】本発明は、計算機再起動後にこれらのデータを
参照できるようにして、障害停止時にキャッシュに格納
されていたデータの回復を可能とするものである。 【解決手段】主記憶のある領域104bのアドレス範囲
を指定する手順と、前記領域104bにディスク内容の
一部、あるいは、ディスク内容の更新情報を記録する手
順と、前記領域104bの内容を保存して計算機を起動
する手順と、前記起動手順により起動した時に、領域1
04bの内容よりディスク内容を更新する手順による。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は計算機の障害回復処
理方法に関し、特に、ディスク内容の回復方法に関す
る。
【0002】
【従来の技術】磁気ディスク等の記憶装置を含む計算機
では、オペレーティングシステム(OS)とアプリケー
ションの性能を向上させるため、記憶装置との間でやり
取りするデータを主記憶にキャッシュする。記憶装置に
実際のI/O操作を発行する前に主記憶にI/O対象と
なっているディスク領域が保存されていないか検査し
て、ある場合はその主記憶内容をI/O操作の結果とし
て利用する。つまり、読み込み操作であればその主記憶
内容を読み込んだデータとし、書込み操作であればその
主記憶への書き込みとする。変更のあったディスク領域
は、ある時点でディスクに書き出される。これにより、
I/O回数を減らし、システム性能の向上を実現してい
る。
【0003】この方式は、OSが管理するファイルシス
テムで実施されるほかに、データベースのようなディス
クI/Oの多いアプリケーションが独自に実施する場合
もある。アプリケーションが実施する場合は、アプリケ
ーション自身が直接ディスク装置にアクセスすること
で、OSのファイルシステムのキャッシュを無効にして
いる。
【0004】このキャッシュ方式を使う場合、計算機に
障害が発生して停止してしまった時に問題が発生する。
つまり、ディスクに書き出されていないデータが主記憶
上のキャッシュにある時にOSが停止した場合、このキ
ャッシュに残っているデータは、計算機の再起動後には
失われてしまう。失われるデータによっては、ファイル
システム、データベースの破壊につながる。
【0005】このような問題を回避するために、重要な
データ、例えばファイルシステムのディレクトリ構造等
に関する変更は同期I/Oにより即座にディスクに反映
する方式が取られる。このようなファイルシステムの実
装例の1つが、TheDesign and Implementation 4.4BSD
Operating System(pp.269--284,Addison-Wesley, 1996)
に述べられている。
【0006】また、障害時のファイルシステムの回復処
理が容易なように、ファイルシステムの構造に関わる変
更をログとしてディスクの予め定めた領域に記録する方
式もある。このようなファイルシステムの実装例の1つ
が、Inside WindowsNT Second Edition(pp. 395-450, M
icrosoft Press, 1998)に述べられている。この場合
は、ディスク上のログを参照することにより容易に障害
回復処理ができる。
【0007】いずれの方式によっても、ファイルシステ
ム構造を変更する処理、例えば、ファイルやディレクト
リの生成・削除、ファイル属性の変更などの操作が大量
に発生する状況では、ディスク上にランダムに分散して
しまう同期I/Oが頻発してシステム性能が低下してし
まう。これを解決する方式として、複数のディスクへの
書き込みを1つにまとめて、シーケンシャルな追記書き
込みとするファイルシステムが、前記の4.4BSD(pp. 285
-306)に述べられている。
【0008】しかしながら、いずれの方法によっても、
障害によるOS停止時にメモリにキャッシュされるてい
るデータが失われてしまう問題を免れることはできな
い。
【0009】
【発明が解決しようとする課題】従来技術では、磁気デ
ィスクの内容、あるいは、更新情報の一部を主記憶上の
キャッシュに保存して、I/O回数を削減してシステム
性能の向上を実現している。ところがこの方式では、計
算機が障害停止した時に主記憶上のキャッシュにディス
クに書き出されていない内容が残っていると、そのキャ
ッシュに記録されていたデータが失われてしまう。ま
た、ディスク上に構成されるファイルシステムの構造を
変更するデータは同期I/Oでディスクへ書き出すた
め、OSの性能低下の原因となる。
【0010】本発明の目的は、障害停止時に主記憶上に
残っているディスク内容のキャッシュ、あるいは、更新
履歴を、計算機起動後に参照可能とする方法を提供し
て、ディスク内容の消失を防ぐ方法を提供する。また、
本発明によれば、同期I/O回数の削減による性能向上
も得られる。
【0011】
【課題を解決するための手段】本発明は主記憶中の領域
を指定する手順と、前記領域にディスク内容の一部、あ
るいは、ディスク内容の更新情報を記録する手順と、前
記領域の内容を保持して計算機を起動する手順と、前記
起動手順により起動した時に、前記領域の内容よりディ
スク内容を更新する手順による。
【0012】
【発明の実施の形態】図面を用いて本発明の実施の形態
を説明する。本実施形態は、ファイルシステムの回復方
法に関する実施の形態である。この実施の形態では、O
Sのファイルシステムが、ファイルシステム構造の更新
履歴(ログ)を主記憶上の定められた領域にキャッシュ
して、前記領域を破壊しない計算機起動方法を設ける。
これにより、計算機の再起動後にキャッシュ内容を参照
して、ファイルシステム構造を再構成する方法を示す。
【0013】図1は、本発明の実施の形態の計算機構成
を示す図である。計算機100は、CPU101,磁気
ディスク装置102、主記憶装置104、読取専用メモ
リ105、および、これらを接続するバス103より構
成される。
【0014】主記憶装置104は、2つの領域104a
と104bに分割される。この内の104bは、計算機
100で実行するOSのファイルシステムのログ、およ
び、ログを管理するデータ領域として利用する。ファイ
ルシステムのログとは、ディスク102上に構成される
ファイルシステムの構造変更履歴のことをいう。例え
ば、ファイルの生成、削除、ファイルへのディスクブロ
ックの割り当て等を記録する。残りの104aは、その
他のOSのコード、データ、および、アプリケーション
プログラムが利用する。また、主記憶104aには、後
述するファイルシステムの障害回復手順と計算機100
の起動時に参照されるパラメータも含まれている。
【0015】主記憶装置104の領域104bは、後で
説明する起動方法により再起動を実行しても、内容が保
持される領域となる。本実施形態は、ファイルシステム
構造の変更がディスクに反映されていない時に、障害に
よりOSの実行が停止した場合でも、再起動後にファイ
ルシステムのログ領域104bを参照することにより、
障害前に実施されたファイルシステムへの更新を引き継
ぐことを可能とするものである。
【0016】主記憶領域104bに格納するデータ構造
について、図2により説明する。図2は、ファイルシス
テム構造の変更の履歴を記録するログキャッシュテーブ
ル200の構造と、テーブルへのインデックス210を
示している。テーブル200には、すべてのファイルシ
ステムの構造、属性の更新操作が記録される。テーブル
200は、主記憶領域104bに格納する。これによ
り、OS停止後の再起動後でも内容が保存される。
【0017】テーブル200は、ファイルシステムに対
する各操作の内容を格納するエントリから構成される。
テーブル200の各エントリは、そのエントリが使用さ
れているかどうかを示す有効フラグ201、操作内容を
記録するログ202、ログ202に記録されているデー
タのチェックサム203からなる。
【0018】次エントリインデックス210は、次のフ
ァイルシステム操作ログを格納するエントリを指してい
る。エントリの割り当て操作によりインデックス210
は次に進められる。テーブルの最後を指している場合
は、先頭エントリを指すように設定する。
【0019】ファイルシステムはなんらかの更新操作を
実行する場合、テーブル200にその操作を記録する。
図3によりその操作手順を説明する。
【0020】まず、更新情報を格納するエントリがテー
ブル200にあるかどうか検査する(ステップ30
1)。エントリがある場合はエントリの割り当て処理へ
進む(ステップ302)。空きエントリがない場合、つ
まり、次エントリインデックス210の指すエントリの
有効フラグ201がセットされている場合は、1つ、な
いし、複数個のエントリのログ202に記録されている
更新操作をディスク102に反映して(ステップ30
5)、それらのエントリの有効フラグをクリアし(ステ
ップ306)、ステップ302へ進む。
【0021】ステップ302では、次エントリインデッ
クス210が指すエントリの有効フラグ201をセット
してエントリを割り当て、次エントリインデックス21
0を次のエントリへ進める。割り当てたエントリのログ
202に、ファイルシステム操作内容を示すログを格納
し(ステップ303)、ログのチェックサムを計算して
203に格納する(ステップ304)。
【0022】チェックサムは、OS再起動後のファイル
システム初期化処理で、ログ202に記録さていている
情報が破壊されていないかを検査するために利用する。
【0023】次に、図4によりOSを再起動する時に参
照するデータ構造について説明する。図4は、本発明の
形態の主記憶104の様子を示している。前述したよう
に主記憶104は、通常の領域104aと、再起動時に
内容が保存される領域104bとに分かれている。領域
104aには、計算機再起動処理中かを示すリブートフ
ラグ401、領域104bのアドレス範囲を記録する保
存範囲402がある。
【0024】フラグ401と範囲402は、OSの停止
時、再起動時に設定する。フラグ401は、計算機起動
時の動作を決める値を格納する。例えば、電源投入時と
同様の初期化処理を実行する、一部の初期化処理を実行
せずに起動する等である。本発明では、主記憶領域10
4bの内容を保持してOSを起動することを示す値が存
在する。範囲402は、領域104bのアドレス範囲を
記録している。
【0025】これらが格納されるメモリのアドレスは予
め決められており、起動処理でもこれらのデータを参照
でき、保持すべき領域104bを発見することができ
る。
【0026】次に、図5により計算機の起動手順を説明
する。図5に示した手順はROM105に格納され、C
PU101がリセットされた時に実行されるように、R
OM105はバス103に接続されている。
【0027】CPU101がリセットされると、ステッ
プ501が実行される。ここでは、主記憶104内のリ
ブートフラグ401を検査する。フラグ401に主記憶
領域104bの保持を示す値が格納されている場合は、
保存範囲402を参照して、以降の起動処理で利用でき
るメモリ領域から402で示される領域を除外して(ス
テップ502)、ステップ503へ進む。そうでない場
合は、ステップ503へ進む。
【0028】ステップ503からの処理は、通常の計算
機起動手順である。主記憶104を初期化し(ステップ
503)、計算機に接続されている入出力装置の初期化
と、OSに渡す構成情報を構築する(ステップ50
4)。構築する構成情報にはOSが利用可能な主記憶範
囲が含まれる。この主記憶範囲からも、保存範囲402
で指定される領域は除外される。
【0029】続くステップ505でOSカーネルをロー
ドして、OSの初期化処理を呼び出す。これらの処理の
間、主記憶領域104bは利用可能な主記憶から除外さ
れているので、使われることはない。したがって、OS
停止による再起動の場合でも、停止時に主記憶領域10
4bに格納されているログキャッシュテーブル200の
内容も保存される。
【0030】ファイルシステムの初期化処理では、ログ
キャッシュテーブル200の初期化処理を実行する。こ
の処理を図6ににより説明する。
【0031】まず、主記憶104内にあるリブートフラ
グ401を見て、主記憶領域104bを保持する再起動
であったかどうか検査する(ステップ601)。そうで
ない場合は、ステップ602へ進む。
【0032】ステップ602からの処理では、ログキャ
ッシュテーブル200の割り当て(ステップ602)
と、テーブル200の初期化(ステップ603)を実行
して、その他のファイルシステム初期化処理を実行す
る。
【0033】主記憶領域104bが保持される再起動処
理中である場合は、ステップ604から実行する。ここ
からの処理により、主記憶領域104bにあるログキャ
ッシュテーブル200をOSのデータ構造として組み込
む。
【0034】OSが起動する時に渡される構成情報で
は、主記憶領域104bは存在しないとされている。し
たがって、図6に示す処理が実行されるまでの間に、主
記憶領域104bの内容が破壊されてしまうことはな
い。
【0035】まず、ログキャッシュテーブル200のア
ドレス範囲を、主記憶104内の保存範囲402より取
得して(ステップ604)、この領域を主記憶から割り
当てられたものとしてカーネル内のメモリ管理のデータ
構造に登録する(ステップ605)。
【0036】次に、テーブル200に格納されているロ
グが破壊されていないかを、テーブル200の各エント
リのチェックサム203により検査する。破壊されてい
る場合は、当該エントリの有効フラグ201をクリアす
る(ステップ606)。
【0037】最後に、テーブル200のログを、ディス
ク102に反映する(ステップ607)。この時、次エ
ントリインデックス210が指すエントリの次のエント
リが、最も過去に実行された操作のログに対応してい
る。したがって、インデックス210の次のエントリか
ら、インデックス210が指すエントリまでの間の有効
フラグがセットされているログ内容をディスク102に
反映すれば良い。
【0038】ディスク102へのログ反映が終了した
ら、テーブル200を初期化し(ステップ603)、そ
の他のファイルシステム初期化処理を実行する。
【0039】これまで説明したデータ構造、計算機起動
処理、および、ファイルシステム初期化処理により、O
S停止前に実行された主記憶のキャッシュに記録された
がディスク102には反映されていないファイルシステ
ム操作を復元できる。また、従来技術では同期I/Oに
より実行しなければならなかったファイルシステム操作
を非同期I/Oにより実行でき、同期I/Oによる性能
劣化を抑止できる。
【0040】また、従来技術では複数のディスクへの書
き込み処理を1つにまとめてシーケンシャルライトとし
ているファイルシステムでは、メモリ上の書き込みデー
タをディスク102に書き込む前にOSが停止してしま
った場合、それらが失われる問題があった。本発明によ
れば、これらのまとめ書きするデータを主記憶領域10
4bに配置することにより、OS停止によるデータの消
失を防ぐことができる。
【0041】次に、本発明の第2の実施の形態について
説明する。第1の実施形態では、ファイルシステムの構
造に関するログのみをOS再起動の前後で保存するよう
にしていた。それに対して、第2の実施形態では、ファ
イルシステム上のファイル自体の内容を回復可能とす
る。
【0042】第2の実施形態のファイルシステムは、デ
ィスク102に格納されているファイル内容を主記憶1
04内にキャッシュする。ファイルを読み書きする場合
は、まず、主記憶104内のキャッシュにファイル内容
が格納されているか検査する。あれば、そのメモリ内容
を利用してファイルアクセスを実行する。なければ、デ
ィスク102からファイル内容を読み出して主記憶10
4内のキャッシュに格納する。ファイルへの書き込みは
キャッシュへの書き込みとなり、書き込みの後の適当な
時点でディスク102への実際の書き込みが実行され
る。
【0043】このようなファイルシステムでは、OSが
障害停止するとキャッシュに書き込まれたがディスクに
反映されていないファイル内容は失われてしまう。ここ
で説明する実施形態では、これを防ぐ方法を示す。
【0044】図7は、第2の実施形態における計算機の
仮想記憶のデータ構造を示している。701は仮想アド
レス空間、704は物理アドレス空間を示している。仮
想アドレス空間701は、ページテーブル703により
構成される。ページテーブル703は、仮想アドレス空
間の仮想ページに対応する物理ページアドレスを記録し
ている。例えば、図7では、仮想ページ701aに対応
する物理ページは703bに記録されており、物理ペー
ジ704aを指している。また、仮想ページ対応する物
理ページがあるかどうかは有効フラグ703aに記録さ
れる。ページテーブルの各エントリには、変更フラグ7
03cがある。これは、仮想ページの内容が変更された
時に自動的にセットされる。
【0045】現在の仮想アドレス空間を構成するページ
テーブル703は、ページテーブルレジスタ702によ
り指定される。
【0046】第2の実施形態におけるOSの仮想アドレ
ス空間構成について説明する。図8は、仮想アドレス空
間の一部を示している。仮想アドレス空間701中の領
域801は、ファイルシステムのキャッシュをマップす
る領域とする。ファイル内容のキャッシュを格納してい
る物理ページは、全て領域801の仮想アドレス領域に
マップして利用する。
【0047】また、ファイルシステムキャッシュとする
物理ページは、主記憶104中の領域104bから割り
当てる。この領域104bは、第1の実施形態と同様に
計算機の再起動前後で内容が保持される領域である。
【0048】図9は、主記憶領域104bに格納される
ファイルシステムキャッシュ管理のためのデータ構造を
示す。キャッシュ管理テーブル900は、ファイルシス
テムキャッシュ領域801内の仮想ページ毎のエントリ
を格納している。各エントリは、有効なキャッシュ内容
を含んでいるかを示す有効フラグ901、仮想ページに
対応する物理ページアドレス902、および、キャッシ
ュしている内容のディスク上の位置を示すアドレス90
3、内容が変更されたかを示す変更フラグ904を格納
している。
【0049】ファイルシステムキャッシュにディスク内
容を読み込んだ時には、テーブル900のエントリを設
定する。キャッシュをマップした仮想ページに対応する
エントリの有効フラグ901をセットし、キャッシュの
物理ページアドレスを902に、読み込んだディスクの
アドレスを903に格納する。更に、変更フラグ904
をクリアする。
【0050】次に、図10により、第2の実施の形態で
のファイルへの書き込み手順について説明する。
【0051】まず、書き込み先のファイル内容がファイ
ルシステムのキャッシュにあるかを検査する(ステップ
1001)。キャッシュにない場合は、キャッシュにフ
ァイル内容を読み込む(ステップ1005)。
【0052】ファイルへの書き込みは、仮想アドレス空
間701のファイルシステムキャッシュ領域801内に
マップされているキャッシュへの書き込みとして実行す
る(ステップ1002)。この書き込みを実行した時点
で、キャッシュがマップされている仮想ページに対応す
るページテーブル703のエントリの変更フラグ703
cが自動的にセットされる。
【0053】次に、キャッシュ管理テーブル900の変
更フラグ904をセットし(ステップ1003)、前の
ステップのメモリ書き込みによりセットされた、ページ
テーブル703の変更フラグ703cをクリアする(ス
テップ1004)。つまり、正規のファイル書き込みの
場合は変更フラグ703cをクリアする。これにより、
ファイルシステムのキャッシュをマップしているページ
テーブルエントリの変更フラグ703cにより、キャッ
シュに対して不正な書き込みがあったかどうかを検出で
きる。
【0054】次に、図11によりOSが障害停止した時
の処理について説明する。ステップ1101からステッ
プ1105は、ファイルシステムキャッシュ領域801
の各ページを検査するループを構成している。
【0055】ステップ1102では、検査対象となって
いる仮想ページがファイルシステムキャッシュとして有
効なデータを格納しているかを、キャッシュ管理テーブ
ル900の有効フラグ901により検査する。有効なデ
ータを格納していない場合は、次のページへ検査対象と
して(ステップ1105)、ステップ1101へ戻る。
【0056】有効なデータを含んでいる場合は、ページ
テーブル703の検査対象仮想ページに対応するエント
リの変更フラグ703cを検査する(ステップ110
3)。ここで、変更フラグが設定されていることは、フ
ァイルシステムの正規の処理以外の処理によりファイル
システムキャッシュに不正な書き込みが行われたことを
示している。この場合は、キャッシュ管理テーブル90
0の有効フラグ901をクリアする(ステップ110
4)。
【0057】上記の処理を、ファイルシステムキャッシ
ュ領域801のすべてのページに対して実行する。
【0058】計算機の再起動処理は、第1の実施形態と
同様である。つまり、主記憶領域104bを保持する再
起動処理を実施する。
【0059】本実施形態での、ファイルシステムの初期
化処理を図12に示す。この処理は、第1の実施形態の
ログキャッシュテーブル初期化処理(ステップ601
〜)の処理と同様に、主記憶領域104bに保存されて
いるデータよりファイルシステムを更新する。
【0060】まず、主記憶104内にあるリブートフラ
グ401を見て、主記憶領域104bを保存する再起動
であったかどうか検査する(ステップ1201)。そう
でない場合は、ステップ1202へ進む。
【0061】テップ1202からの処理では、キャッシ
ュ管理テーブル900とキャッシュ用メモリの割り当て
(ステップ1202)と、テーブル900の初期化(ス
テップ1203)を実行して、その他のファイルシステ
ム初期化処理を実行する。
【0062】主記憶領域104bが保持される再起動処
理中である場合は、ステップ1204から実行する。こ
こからの処理により、主記憶領域104bのキャッシュ
データをファイルシステムに組み込む。
【0063】まず、保存されている主記憶領域104b
を保存範囲402より取得して(ステップ1204)、
この領域を主記憶から割り当てられたものとしてカーネ
ル内のメモリ管理のデータ構造に登録する(ステップ1
205)。
【0064】次に、主記憶領域104b内のキャッシュ
管理テーブル900を参照して、有効フラグ901と変
更フラグ904がセットされているエントリについて、
キャッシュ内容をディスク102へ書き込む(ステップ
1206)。書き込む内容は物理ページアドレス90
2、書き込む位置はディスクアドレス903より取得で
きる。
【0065】ディスク102へのキャッシュ内容書き込
みが終了したら、管理テーブル900を初期化し(ステ
ップ1203)、その他のファイルシステム初期化処理
を実行する。
【0066】本実施形態によれば、OSが障害により停
止した時に、ファイルシステムのキャッシュにディスク
に未反映のファイルデータがある場合でも、OS再起動
時にそれをディスクに反映することができ、データの消
失を防ぐことができる。
【0067】これまで示した第1と第2の実施形態を両
方同一のファイルシステムに組み込んでもよい。これに
より、ファイルシステム構造とファイル内容の両方につ
いて、データ消失を防ぐことができる。
【0068】また、従来技術に示した追記書き込み型フ
ァイルシステムにも本実施形態は適用可能である。追記
書き込み型ファイルシステムにおいては、ファイルシス
テム、および、ファイル内容の更新データは、常に追記
というかたちでディスク102に記録される。すなわ
ち、更新ログの積み重ねによりファイルシステムを構築
している。
【0069】このようなファイルシステムの場合、主記
憶104に構成するキャッシュも更新ログのキャッシュ
とすることができる。ここで、ファイルシステム更新操
作は常に追記によるため、既にキャッシュ上にある更新
ログへの書き込みは発生しない。これらの更新ログを本
実施形態での方法で管理すれば、つまり、ログの破壊を
ページテーブル700の変更フラグ703cにより検査
すれば、障害停止時に更新ログが破壊されていないかど
うかを容易に知ることができる。
【0070】また、これまで示した実施の形態では、O
Sのファイルシステムが計算機再起動の前後で保存され
る領域104bを利用していたが、次の実施形態では、
ユーザプログラムが主記憶領域104bを管理してディ
スク102の内容をキャッシュしている場合について説
明する。
【0071】この場合は、OSは、ユーザプログラムに
対して、主記憶領域104bの割り当て手段1301
と、主記憶領域104b中のメモリのユーザ領域へのマ
ッピング操作手段1302、OS再起動後の主記憶領域
104bの再割り当て手段1303を提供する。このマ
ッピング操作手段は、ページテーブル700を操作する
ことによりにより、主記憶領域104b中のメモリのユ
ーザ空間へのマップ、マップ解除等の操作を実行する。
図13には、主記憶領域104b内のメモリがユーザ領
域にマップされている様子を示している。
【0072】ユーザプログラムは、このマッピング手段
1302を利用して主記憶104b内のメモリを自由に
マップでき、マップ先にディスク102の内容を読み込
むことも可能である。これにより、ユーザプログラムは
ディスク102の内容を主記憶104bにキャッシュす
ることが可能となる。
【0073】ユーザプログラムは、第2の実施の形態で
のキャッシュ管理テーブル900と同様のデータ構造を
保持している。管理テーブル900により、主記憶領域
104bに保存されている内容が、ディスク102上の
どの領域に対応するかを管理する。この管理テーブル9
00も、第2の実施形態と同様に、主記憶領域104b
に配置する。
【0074】OSは、主記憶領域104bに格納されて
いるデータの内容については一切関与しない。但し、ス
テップ500から始まる再起動手順だけは、第1の実施
の形態と同様に、主記憶領域104bが存在することを
保存範囲402より知り、領域104bを保存してOS
の起動処理を実行する。更に、OSに渡す構成情報から
主記憶領域104bを除外して、OSに主記憶領域10
4bを利用させないようにする。
【0075】OSが障害停止して再起動した場合、ユー
ザプログラムは、これまで説明した実施形態と同様に、
主記憶領域再割り当て手段1303により主記憶領域1
04bを再びプログラムの管理下に置く。これにより、
再び記憶領域104bを参照することができるようにな
り、障害停止前にディスク102に反映されなかったキ
ャッシュ内容を取得することが可能となる。
【0076】この実施形態によれば、OSのファイルシ
ステムを経由せずに直接二次記憶装置にアクセスして、
ユーザプログラムの管理するメモリに記憶装置内のデー
タをキャッシュするようなユーザプログラムにおいて、
計算機障害時の再起動後にキャッシュ内容を回復するこ
とが可能となる。
【0077】また、図14に示すように、計算機100
の主電源装置1401とは独立して主記憶104の内容
を保護する補助電源装置1402を備える計算機では、
主電源装置1401の障害により計算機装置が停止して
も、主記憶104の内容を保存することができる。これ
と、これまで説明してきた実施の形態を組み合わせる
と、主電源装置1401の障害により計算機が停止した
場合でも、記憶領域104bの内容より停止時のキャッ
シュの内容を復元できる。
【0078】これまで説明した実施の形態では、主記憶
領域104bに直接キャッシュ内容を格納していたが、
計算機停止時に、OS内のデータ構造より同様のデータ
構造を構築して再起動、および、回復処理を実施しても
良い。
【0079】
【発明の効果】本発明によれば、OS停止前に実行され
主記憶104内のキャッシュに記録されているが、ディ
スク102には反映されていないファイルシステム操作
を復元できる。これにより、従来技術では同期I/Oに
より実行しなければならなかったファイルシステム操作
を非同期I/Oにより実行でき、同期I/Oによる性能
劣化を抑止できる。
【0080】また、従来技術では複数のディスクへ10
2の書き込み処理を1つにまとめてシーケンシャルライ
トとしているファイルシステムでは、メモリ上の書き込
みデータをディスク102に書き込む前にOSが停止し
てしまった場合、それらが失われる問題があった。本発
明によれば、これらのまとめ書きするデータを主記憶領
域104bに配置することにより、OS停止によるデー
タの消失を防ぐことができる。
【0081】また、ファイルシステムのキャッシュにデ
ィスク102に未反映のファイルデータがある場合で
も、OS再起動時にそれをディスク102に反映するこ
とができ、データの消失を防ぐことができる。
【0082】また、OSのファイルシステムを経由せず
に直接二次記憶装置にアクセスして、ユーザプログラム
の管理するメモリに二次記憶装置内のデータをキャッシ
ュするようなユーザプログラムにおいて、計算機障害時
の再起動後にキャッシュ内容を回復することが可能とな
る。
【図面の簡単な説明】
【図1】本発明の実施の形態における計算機を示す図で
ある。
【図2】本発明の第1の実施の形態におけるファイルシ
ステム更新履歴を記録するデータ構造を示す図である。
【図3】本発明の第1の実施の形態におけるファイルシ
ステム構造更新操作手順を示すフローチャートである。
【図4】本発明の第1の実施の形態における計算機再起
動処理に関連するデータ構造を示す図である。
【図5】本発明の第1の実施の形態における計算機の起
動手順を示すフローチャートである。
【図6】本発明の第1の実施の形態におけるファイルシ
ステム初期化処理手順を示すフローチャートである。
【図7】本発明の第2の実施の形態における仮想記憶管
理のデータ構造を示す図である。
【図8】本発明の第2の実施の形態におけるファイルシ
ステムと仮想記憶管理のデータ構造を示す図である。
【図9】本発明の第2の実施の形態におけるファイルシ
ステムキャッシュの管理テーブルのデータ構造を示す図
である。
【図10】本発明の第2の実施の形態におけるファイル
への書き込み手順を示すフローチャートである。
【図11】本発明の第2の実施の形態における障害停止
時のファイルシステム停止処理を示す図である。
【図12】本発明の第2の実施の形態におけるファイル
システム初期化処理手順を示すフローチャートである。
テム停止処理を示す図である。
【図13】本発明の第3の実施の形態におけるメモリ管
理の様子を示す図である。
【図14】本発明の第4の実施の形態における計算機装
置の構成す図である。
【符合の説明】
100…計算機、 101…プロセッサ、 1
02…ディスク装置、103…バス、 104…
主記憶、104a,104b…主記憶104内の領域、
105…読取専用メモリ、200ないし210…デ
ータ構造、 301ないし306…処理ステップ、4
01ないし402…データ構造、501ないし505…
計算機起動時の処理ステップ、601ないし607…フ
ァイルシステムの初期化処理ステップ、701ないし7
04…計算機の仮想記憶管理のためのデータ構造、80
1…ファイルシステムキャッシュを格納する仮想アドレ
ス範囲、900ないし904…ファイルシステムキャッ
シュを管理するデータ構造、1001ないし1005…
ファイル書き込み処理ステップ、1101ないし110
5…計算機停止時のファイルシステム停止処理ステッ
プ、1201ないし1206…計算機再起動時のファイ
ルシステム初期化処理ステップ、1301ないし130
3…OSがユーザプログラムに提供する主記憶管理手
段、1401ないし1402…電源装置。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山川 恵子 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア事業部内 Fターム(参考) 5B065 BA01 CH01 EA24 5B082 DA02 DC03 DC06 DC12 DD07 DE01 FA12

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】計算機障害停止時の二次記憶装置内容の回
    復方法であって、主記憶の定められた領域の内容を保持
    して計算機を起動する手順と、前記領域を指定する手順
    と、前記主記憶領域に二次記憶装置に格納されているデ
    ータ、あるいは格納するデータを構成するためのデータ
    の一部を保存する手順と、前記計算機起動手順による再
    起動後に前記領域の内容より障害停止前の二次記憶装置
    内容を再構成する手順を有し、これら手順により、計算
    機が障害停止した時に主記憶に保存していたデータを再
    起動後に回復できることを特徴とする障害回復方法。
  2. 【請求項2】請求項1の障害回復方法であって、特にO
    Sのファイルシステムに関して、前記主記憶領域をOS
    のファイルシステムのキャッシュとして利用する手順
    と、前記計算機起動手順による再起動後に前記領域の内
    容より障害停止前のファイルシステムの状態を再構成す
    る手順を有し、これら手順により計算機が障害停止した
    時のファイルシステムの状態を、再起動後に回復できる
    ことを特徴とする障害回復方法。
  3. 【請求項3】請求項2の障害回復方法であって、前記主
    記憶領域にファイルシステム構造の更新履歴を保存する
    手順と、前記計算機起動手順による再起動後に前記領域
    にある停止前のファイルシステムの更新履歴よりファイ
    ルシステムを再構成する手順を有し、これら手順により
    計算機が障害停止した時のファイルシステム構造を、再
    起動後に回復できることを特徴とする障害回復方法。
  4. 【請求項4】請求項2の障害回復方法であって、前記主
    記憶領域にファイルシステム上のファイルの内容の一部
    を保存してキャッシュとして利用する手順と、前記計算
    機起動手順による再起動後に前記領域にある停止前のフ
    ァイルシステムキャッシュの内容よりファイルシステム
    を再構成する手順を有し、これら手順により計算機が障
    害停止した時のファイルの内容を、再起動後に回復でき
    ることを特徴とする障害回復方法。
  5. 【請求項5】請求項2の障害回復方法であって、請求項
    3と請求項4の手順を有し、計算機が障害停止した時の
    ファイルシステム構造とファイルの内容を再起動後に回
    復できることを特徴とする障害回復方法。
  6. 【請求項6】請求項2の障害回復方法であって、計算機
    がOS障害により停止した時に、主記憶上にあって二次
    記憶装置に反映されていないファイルシステムの更新履
    歴を前記主記憶領域にコピーする手順と、前記計算機起
    動手順による再起動後に前記領域にある停止前のファイ
    ルシステムの更新履歴よりファイルシステムを再構成す
    る手順を有し、これら手順により計算機が障害停止した
    時のファイルシステム構造を、再起動後に回復できるこ
    とを特徴とする障害回復方法。
  7. 【請求項7】請求項2の障害回復方法であって、計算機
    がOS障害により停止した時に、主記憶上にあって二次
    記憶装置に反映されていないファイルシステム上のファ
    イルの内容のキャッシュを前記主記憶領域にコピーする
    手順と、前記計算機起動手順による再起動後に前記領域
    にある停止前のファイルシステムキャッシュの内容より
    ファイルシステムを再構成する手順を有し、これら手順
    により計算機が障害停止した時のファイル内容を、再起
    動後に回復できることを特徴とする障害回復方法。
  8. 【請求項8】請求項1の障害回復方法であって、前記主
    記憶領域をユーザモードで実行するプログラムが利用す
    る手順と、前記計算機起動手順による再起動後に前記領
    域の内容より障害停止前の前記プログラムが利用してい
    たデータを再構成する手順を有し、これら手順により計
    算機が障害停止した時の処理状態を、再起動後に回復で
    きることを特徴とする障害回復方法。
  9. 【請求項9】計算機装置であって、計算機装置の電源と
    は独立して主記憶装置の内容を保持する電源装置を備
    え、請求項1ないし8のいずれか1項記載の障害回復方
    法を備えていることを特徴とする計算機装置。
JP28907398A 1998-10-12 1998-10-12 ディスク内容障害回復方法及び計算装置 Expired - Fee Related JP3959870B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28907398A JP3959870B2 (ja) 1998-10-12 1998-10-12 ディスク内容障害回復方法及び計算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28907398A JP3959870B2 (ja) 1998-10-12 1998-10-12 ディスク内容障害回復方法及び計算装置

Publications (2)

Publication Number Publication Date
JP2000122906A true JP2000122906A (ja) 2000-04-28
JP3959870B2 JP3959870B2 (ja) 2007-08-15

Family

ID=17738484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28907398A Expired - Fee Related JP3959870B2 (ja) 1998-10-12 1998-10-12 ディスク内容障害回復方法及び計算装置

Country Status (1)

Country Link
JP (1) JP3959870B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009602A (ja) * 2008-08-25 2009-01-15 Dainippon Printing Co Ltd Icカード及びicカードプログラム
JP2010282586A (ja) * 2009-06-08 2010-12-16 Fujitsu Ltd ファイル管理装置、ファイル管理方法、ファイル管理プログラム及び情報システム
JP2012014435A (ja) * 2010-06-30 2012-01-19 Toshiba Corp 情報処理装置およびデータの復旧方法
JP2012068840A (ja) * 2010-09-22 2012-04-05 Mitsubishi Heavy Ind Ltd アドレス変換検査装置、中央処理演算装置、及びアドレス変換検査方法
WO2015045046A1 (ja) * 2013-09-26 2015-04-02 株式会社日立製作所 計算機システムおよび計算機システムのメモリ割当調整方法
JP2021005121A (ja) * 2019-06-25 2021-01-14 株式会社日立製作所 ストレージ装置、及び制御方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009602A (ja) * 2008-08-25 2009-01-15 Dainippon Printing Co Ltd Icカード及びicカードプログラム
JP2010282586A (ja) * 2009-06-08 2010-12-16 Fujitsu Ltd ファイル管理装置、ファイル管理方法、ファイル管理プログラム及び情報システム
JP2012014435A (ja) * 2010-06-30 2012-01-19 Toshiba Corp 情報処理装置およびデータの復旧方法
US8335901B2 (en) 2010-06-30 2012-12-18 Kabushiki Kaisha Toshiba Information processing apparatus and data restoration method
JP2012068840A (ja) * 2010-09-22 2012-04-05 Mitsubishi Heavy Ind Ltd アドレス変換検査装置、中央処理演算装置、及びアドレス変換検査方法
US9009579B2 (en) 2010-09-22 2015-04-14 Mitsubishi Heavy Industries, Ltd. Address translation checking device, central processing unit, and address translation checking method
WO2015045046A1 (ja) * 2013-09-26 2015-04-02 株式会社日立製作所 計算機システムおよび計算機システムのメモリ割当調整方法
US9632931B2 (en) 2013-09-26 2017-04-25 Hitachi, Ltd. Computer system and memory allocation adjustment method for computer system
JP2021005121A (ja) * 2019-06-25 2021-01-14 株式会社日立製作所 ストレージ装置、及び制御方法

Also Published As

Publication number Publication date
JP3959870B2 (ja) 2007-08-15

Similar Documents

Publication Publication Date Title
US11150815B2 (en) Information processing apparatus, information processing method, and computer program product
US8032707B2 (en) Managing cache data and metadata
US9032151B2 (en) Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US8074035B1 (en) System and method for using multivolume snapshots for online data backup
US8010495B1 (en) Method and system for fast generation of file system snapshot bitmap in virtual environment
US7533298B2 (en) Write journaling using battery backed cache
US7882386B1 (en) System and method for recovering a logical volume during failover or reboot of a file server in a data storage environment
US7640276B2 (en) Backup system, program and backup method
US20030236956A1 (en) File system backup in a logical volume management data storage environment
US6272611B1 (en) Computer data storage medium having a virtual disk drive and memory management method therefor
JP2003223287A (ja) 記憶装置、この記憶装置のバックアップ方法及びプログラム
JP2004342050A (ja) 複数のスナップショット維持方法及びサーバ装置及びストレージ装置
US5504857A (en) Highly available fault tolerant relocation of storage with atomicity
US6658541B2 (en) Computer system and a database access method thereof
US7165160B2 (en) Computing system with memory mirroring and snapshot reliability
WO2004111852A2 (en) Managing a relationship between one target volume and one source volume
JPH07152641A (ja) プログラムキャッシュ装置
JP3959870B2 (ja) ディスク内容障害回復方法及び計算装置
US20170039110A1 (en) Computer
US11074003B2 (en) Storage system and restoration method
JP2002258971A (ja) 計算機システムの再立上げ方法
US11893273B2 (en) Crash-safe tiered memory system
JPH04218842A (ja) プログラムの再実行方法
JPH0552538B2 (ja)
JPH0816880B2 (ja) データベースシステムおよびその処理方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051025

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060228

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060417

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061017

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070328

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070424

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070507

LAPS Cancellation because of no payment of annual fees