JPH03224045A - データ保全方式 - Google Patents

データ保全方式

Info

Publication number
JPH03224045A
JPH03224045A JP2018075A JP1807590A JPH03224045A JP H03224045 A JPH03224045 A JP H03224045A JP 2018075 A JP2018075 A JP 2018075A JP 1807590 A JP1807590 A JP 1807590A JP H03224045 A JPH03224045 A JP H03224045A
Authority
JP
Japan
Prior art keywords
data
record
directory
write
information
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
JP2018075A
Other languages
English (en)
Other versions
JPH0833864B2 (ja
Inventor
Masakazu Kawamoto
正和 河本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018075A priority Critical patent/JPH0833864B2/ja
Publication of JPH03224045A publication Critical patent/JPH03224045A/ja
Priority to US08/553,822 priority patent/US5590298A/en
Publication of JPH0833864B2 publication Critical patent/JPH0833864B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概 要〕 ディスクキャッシュシステムにおける書込みデータを保
全するデータ保全方式に関し、キャッシュ及び不揮発性
メモリに書き込まれるデータの有効性を詳細に判定して
、ライトバックされるデータを正確に保全することを目
的とし、不揮発性メモリ上に中央処理装置からの書込み
データを蓄え、適当なタイミングでこの書込みデータを
外部記憶装置に転送して書き込むことにより中央処理装
置と外部記憶装置間の高速書込みを行う外部記憶制御シ
ステムのデータを保全するデータ保全方式において、不
揮発性メモリ上に設けられたディレクトリ中に、処理単
位毎の処理情報としてのディレクトリ情報を格納し、同
じく不揮発性メモリ上にレコード形式で書き込まれた中
央処理装置からのデータ中に、レコードの各フィールド
の状態情報としてのレコード情報を埋め込み、前記ディ
レクトリ情報及びレコード情報に基づいてデータの有効
性を判定して外部記憶装置に対するライトバックを行う
ように構成する。
〔産業上の利用分野〕
本発明は、ディスクキャッシュシステムにおけるライト
データのデータ保全機構、特に、不揮発性メモリ上に中
央処理装置(以下、CPUで示す)からの書込みデータ
を蓄え、適当なタイミングでこの書込みデータを外部記
憶装置に転送して書き込むことによりCPUと外部記憶
装置間の高速書込みを行うシステムのデータ保全機構に
関する。
〔従来の技術〕
ディスクキャッシュシステムでは、CPUと外部記憶装
置との間に外部記憶装置よりも高速低容量のキャッシュ
メモリを設け、読出し時は外部記憶装置からの読出しデ
ータをキャッシュメモリに一時蓄え、CPUは適当なタ
イミング(例えば、他の処理がないとき)でこのキャッ
シュメモリ上のデータを読み出す。また、書込み時は書
込みデータをキャッシュメモリに一時蓄え、適当なタイ
ミングでこの書込みデータを外部記憶装置に転送して書
き込むようにする。これにより、CPUは外部記憶装置
との処理速度差や外部記憶装置の現在の動作状態を意識
することなく、通常のメモリに対するのと同様にして外
部記憶装置に対する書込み及び読出しを高速に行うこと
ができる。
特に、外部記憶装置が磁気ディスク装置である場合は、
磁気ディスクの回転待ち等があってアクセスに時間が掛
かるが、ディスクキャッシュシステムを採用することに
より、このような不都合を解消することができる。
このディスクキャッシュシステムにおいては、外部記憶
装置からのデータ読出し時にエラーや電源ダウン等によ
り読出しに失敗しても、必要に応じて外部記憶装置を直
接アクセスして所望データを読み出すことが可能である
ので、データが消失するという不都合は生じない。
しかしながら、データ書込みの場合は、キャッシュメモ
リ上のデータを外部記憶装置に書込みを行っているとき
に電源ダウンや瞬断あるいはエラー等が発生してデータ
書込みに失敗すると、CPUはデータ書込み処理を一度
正常に終了した後は書込みデータをパージしているので
、書込みデータが消失するという問題が生じる。
データ書込み時に生じるこのようなデータ消失という危
険を防止してデータを保全するために、キャッシュメモ
リに書き込まれたデータが電源ダウン等によって消失し
ないように、キャッシュメモリをバッテリバックアップ
する方式が考えられた。しかしながら、このキャッシュ
メモリ全体をパンテリバックアップするデータ保全方式
は、大型システムのようにキャッシュメモリの容量が数
百メガバイトの大容量のものになると、バックアップ用
のバッテリが大容量となるので実際に実施することは困
難である。
この問題に対処するために、キャッシュメモリとは別に
それよりも小容量のバッテリバックアップされた不揮発
性メモリを設け、書込みデータをキャッシュメモリとと
もにこの不揮発性メモリに蓄え、かつ、不揮発性メモリ
に書込みデータの管理情報を書き込むようにしたデータ
保全方式が提案されている(例えば、特開昭63−25
704号公報参照)。
このようにすることにより、キャッシュメモリが大容量
になっても、小容量の不揮発性メモリ及び小型のバック
アップ用バッテリにより、書込みデータを確実にデータ
保全することが可能となった。
〔発明が解決しようとする課題] ディスクキャッシュシステムにおけるデータ保全方式と
して、前述のキャッシュメモリとは別個に設けた小容量
の不揮発性メモリに書込みデータを蓄える方式は、キャ
ッシュメモリ上のデータを外部記憶装置に書込みを行っ
ているときに電源ダウン等により書込みデータが消失す
るのを防止して書込みデータを保全することが可能であ
る。
しかしながら、この従来のデータ保全方式も、不揮発性
メモリにデータ書込み中にデータエラーや瞬断等により
書込みデータ障害が発生した場合には、それらの障害状
態が管理されていないために、障害のあるデータをライ
トバックしてしまうという不都合があった。
本発明は、キャッシュメモリ上すなわち不揮発性メモリ
のデータを外部記憶装置に書込みを行っているときはも
ちろん、不揮発性メモリにデータ書込み中にデータエラ
ーや瞬断等により書込みデータ障害が発生した場合にも
、書込みデータの有効性を詳細に判定して、ライトパン
ク時のデータを正確に保全できるように改良したデータ
保全方式を提供することを目的とする。
〔課題を解決するための手段〕
前述の課題を解決するために本発明が採用した手段を、
第1図を参照して説明する。第1図は、本発明の実施シ
ステムの構成をブロック図で示したものである。
第1図において、11はCPUであり、所望の外部記憶
装置に対する入出力命令を起動し、所定の外部記憶装置
に対する書込み/読込み用のデータを転送する処理を行
う。
12は磁気ディスク装置等の外部記憶装置であり、書込
み/読込みの対象となるデータ及びそれらの管理情報が
格納される。
13はバッテリ14でバックアップされた不揮発性メモ
リであり、キャッシュメモリに書き込まれるデータが並
行して蓄えられるとともに、本発明のディレクトリ情報
及びレコード情報が格納される。131はディレクトリ
情報が格納されるディレクトリであり、132は書込み
データとともにレコード情報が格納されるデータ域であ
る。データ域132は、通常ブロック単位に複数箇所に
存在する。133はレコードディスクリブタであり、不
揮発性メモリ13上にレコード形式で書き込まれたCP
UI 1からのデータのレコード情報が書き込まれる。
15はキャッシュメモリであり、外部記憶装置12に対
する書込み/読込みデータが一時格納される。
16はディスクコントローラ(以下、DKCで示す)で
あり、上位のCPUI 1からの入出力命令の起動を受
けて、ディスクキャッシュ方式によってキャッシュメモ
リ15に書込み/読込みデータを一時格納する処理、書
込みデータを不揮発性メモリ13にも書き込むとともに
そのディレクトリ情報及びレコード情報を書き込む処理
、外部記憶装置12とキャッシュメモリ15との間のデ
ータ転送処理等の動作を制御する。
本発明は以上説明した外部記憶制御システムによって実
施されるものであって、以下のように構成される。
すなわち、不揮発性メモリ13上に中央処理装置11か
らの書込みデータを蓄え、適当なタイミングでこの書込
みデータを外部記憶装置12に転送して書き込むことに
より中央処理装置11と外部記憶装置12間の高速書込
みを行う外部記憶制御システムのデータを保全するデー
タ保全方式において、 (a)  不揮発性メモリ13上に設けられたディレク
トリ131中に、処理単位毎の処理情報として、■ デ
ィレクトリ更新のシーケンス番号、■ 所定外部記憶装
置のトラックアドレス、■ メモリアドレス、 をディレクトリ情報として格納し、 (b)  不揮発性メモリ13上にレコード形式で書き
込まれた中央処理装置からのデータ中に、レコードの各
フィールドの状態情報として、■ レコードが更新中か
更新済かを表示するレコード更新フラグ、 ■ レコード形式を規定するフォーマットライトの有無
を表示するフォーマットライトフラグ、 ■ レコード書込み処理の一時終了を表示する一時終了
フラグ、 をレコード情報として埋め込み、 (c)  前記ディレクトリ情報及びレコード情報に基
づいてデータの有効性を判定して外部記憶装置12に対
するライトバックを行う、ように構成される。
〔作 用〕
CPUI 1よりデータの書込みがあると、DKC15
は、書込みデータをキャッシュメモリ14とともに不揮
発性メモリ13にデータを並列して蓄え、それとともに
、この書込みデータを管理するディレクトリ情報をディ
レクトリ領域131に書き込み、更にそのレコード情報
をデータ域132に書き込まれた書込みデータ中のレコ
ードディスクリブタ133中に書き込む。
ディレクトリ情報として、処理単位(例えば、トラック
単位)毎に下記の諸情報がディレクトリ131に書き込
まれる。
■ ディレクトリ更新のシーケンス番号、■ 所定外部
記憶装置のトランクアドレス、■ メモリアドレス、 また、データ域132の書込みデータ中にレコードのフ
ィールドの状態を示す下記の諸情報が、レコードディス
クリブタ133に書き込まれる。
■ レコードが更新中か更新済かを表示するレコード更
新フラグ、 ■ フォーマットライトの有無を表示するフォーマット
ライトフラグ、 ■ レコード書込み処理の一時終了を表示する一時終了
フラグ。
これらのディレクトリ情報及びレコード情報を書き込む
ことにより、キャッシュメモリ15及び不揮発性メモリ
13に書込みデータ書込み中に電源の瞬断やエラー等に
よりデータ障害が発生しても、ディレクトリ情報の正当
性及び書込みデータのレコードの各フィールド毎の有効
性の有無を確実に識別することが可能となり、障害のな
いデータを確実に保全することができる。なお、ディレ
クトリ情報及びレコード情報を書き込み処理及びこれら
の情報によって書込みデータに関してどのような情報が
得られるかについては、実施例の項で詳述する。
以上のようにして、キャッシュメモリ15及び不揮発性
メモリ13に対する書込みデータ及び必要な各管理情報
の書込みが終了すると、DKC16は、適当なタイミン
グ(例えば、他の処理がないとき)でこの不揮発性メモ
リ13に蓄えられた書込みデータを外部記憶装置12に
転送して所定の位置に格納する。
以上のように、キャッシュメモリ15に書き込まれるデ
ータを不揮発性メモリ13にも書き込むとともに、この
書込みデータの処理単位毎の制御情報であるディレクト
リ情報とCPUデータの処理情報であるレコード情報を
不揮発性メモリ13に書き込むようにしたので、キャッ
シュメモリ15及び不揮発性メモリ13に書き込まれる
データの有効性を、可変長データ形式の場合も含めて正
確に判定することができる。これにより、不揮発性メモ
リ13上のデータを外部記憶装置に書込みを行っている
ときはもちろん、不揮発性メモリにデータ書込み中にエ
ラーや電源障害等により書込みデータに障害や中断が発
生した場合にも、データの有効性を詳細に判定してライ
トバック時のデータを正確に保全し、有効でないデータ
がライトバンクされるのを未然に防止することができる
〔実施例] 本発明の一実施例を、第1図乃至第5図を参照して説明
する。第1図の外部記憶制御システムは、本発明の一実
施例の実施システムとしても使用される。第2図は外部
記憶装置のトランクフォーマットの説明図、第3図は本
発明の一実施例に使用される不揮発性メモリ上のディレ
クトリの説明図、第4図は同実施例に使用される不揮発
性メモリ上のデータフォーマットとレコードディスクリ
ブタのフラグの説明図、第5図は同実施例のデータ書込
み動作説明図である。
キャッシュメモリ14を使用する外部記憶装置12のデ
ータの読込み処理動作は従来方式と同様であるので、以
下、データの書込み動作の場合を中心に、外部記憶装置
15が磁気デスク装置等のDASD (外部記憶装置と
同じ符号15で示す)であり、CPUデータの処理単位
がDASD15のトラック単位である場合を例にとって
説明する。
(A)実施システムの構成 第1図の全体の構成については、既に説明したので、以
下その内部の各構成について説明する。
第2図は、DASD15にデータを書き込む場合のトラ
ックフォーマットを示したものである。
トラックフォーマットは、インデックスで始まりインデ
ックスで終わる。
HAはホームアドレスであり、トラックの物理的位置及
びトラックの正常、異常等の状態を示す。
ROはホームアドレスHAに続く最初のレコードであり
、このトラックが不良のときに交代トラックの指示に使
用される。
ROに続<R1〜RNは、データが書き込まれる各レコ
ードであり、各レコードは、レコードR1に下側に拡大
して示すように、カウント領域C、キー領域K及びデー
タ領域りの3領域で構成される。
カウント領域Cには、トラック内のレコードの番号、キ
ー長及びデータ長が書き込まれ、これよりレコードの大
きさを知ることができる。キー領域Kには、レコードを
サーチする場合の指標となるデータが書き込まれる。
データ領域りには、カウント領域C及びキー領域にで定
められたデータ情報を含め、ユーザのデータがセル(3
2バイト)単位で書き込まれる。
レコードR1〜RNの数は可変であるので、このトラッ
クフォーマットに書き込まれるデータは可変長データで
ある。
第3図は、不揮発性メモリ13内のディレクトリ131
の構成を示したものである。シーケンスナンバ域には、
そのディレクトリ更新のシーケンスナンバが書き込まれ
る。ディレクトリ情報が更新される毎にシーケンスナン
バも更新される。ディレクトリ131は、ディレクトリ
情報の保全とその状態管理のためにコピー(第1図には
図示せず)を有しており、ディレクトリとその更新ディ
レクトリ並びにそれらのコピーディレクトリにそれぞれ
識別可能なシーケンスナンバが付される。
この実施例では、ディレクトリのコピーには、工、3.
5、・・・、N等の奇数ナンバが付され、オリジチルデ
ィレクトリには、2.4.6、・・・、N+1等の偶数
ナンバが付されるものとする。なお、このシーケンスナ
ンバの機能及び効果については、次の動作説明の項で説
明する。
トラックアドレス域には、DASDのデバイス機番、ヘ
ッドの実DASD上のアドレスを示すシリンダ番号、ト
ラックアドレスが書き込まれる。
スタート/エンド域には、不揮発性メモリ13上のメモ
リアドレスとして、データを格納したレコードのスター
ト位is及びエンド位置eの2組が書き込まれる。なお
、2組のスタート/エンドs、   e、及びsz、e
2の機能及び効果については、次の動作説明の項で説明
する。
ブロックアドレス域には、不揮発性メモリ13上のメモ
リアドレスとして、データの格納されるブロックのアド
レスが書き込まれる。トランク内の各データは複数ブロ
ックに区分され、各ブロックはメモリの使用効率を高め
るためにメモリ内に分散して配置されるが、説明を簡単
にするため、論理的に一個のブロックであるとする。
残りの領域には、その他の制御情報が書き込まれる。こ
れらディレクトリ情報が、各トラック毎に書き込まれ、
左端の0OO1001等は、ディレクトリのエントリ番
号を示す。
第4図は、不揮発性メモリ13上に書き込まれるデータ
のフォーマットを示したもので、レコードR1及びレコ
ードR2のデータが例示されている。カウント領域C0
、キー領域に1及びデータ領域り、はレコードR1のデ
ータを示し、カウント領域C2、キー領域に2及びデー
タ領域D2はレコードR2のデータを示す。各領域間に
は、DASD15のトラックフォーマットのようなギャ
ップは存在しない。
RD (RD、 、RD2等)はレコードディスクリブ
タ133であり、2バイトからなり、カウント領域Cの
後に設けられて図示のようなレコード情報が書き込まれ
る。
すなわち、ネクストカウント・イン・プログレスフラグ
は、次のレコードのカウント領域Cが更新中であるとき
1がセントされる。キー・イン・プログレスフラグは、
キー領域Kが更新中であるとき1がセットされる。デー
タ・イン・プログレスフラグは、キー領域Kが更新中で
あるとき1にセットされる。
ネクストカウント・アブデーテドフラグは、次のレコー
ドのカウント領域Cが更新済であるとき1がセントされ
る。キー・アブデーテドフラグは、キー領域Kが更新済
であるとき1がセットされる。
データ・アブデーテドフラグは、キー領域Kが更新済で
あるとき1がセットされる。
フォーマットライトは、データフォーマットが更新され
たか否かを示すフラグで、ライ)CKDのコマンドのよ
うにフォーマットが新しく書替えされたときに1がセッ
トされる。
エンド・プロセスは処理の一時終了を示すフラグであり
、データの書込み処理が一時終了したときにフラグ1が
セットされる。
レコード情報として、この実施例では更に「イレーズ」
が設けられる。イレーズフラグはCPU11からイレー
ズ・コマンドが発行されたときに1がセットされ、その
レコードを含めてトラックの残り部分が消去されたこと
を示す。
(B)実施例の動作 実施例の書込み動作を、一般的な書込み動作であるライ
トCKDによる書込み動作を例にとり、第2図〜第5図
を参照してその処理シーケンスに従って説明する。なお
、以下の各処理は、特に指示しない限りDKC16によ
って行われるものである。また、データの不揮発性メモ
リ13への書込みはキャッシュメモリ15への書込みと
並行して行われるが、キャッシュメモリ14に対する書
込みは従来方式と同様にして行われるので、その書込み
動作に対する説明は省略する。
また、ディレクトリのエントリアドレスと、トランクア
ドレスは便宜上同一とし000とする。
■ ディレクトリの初期化 不揮発性メモリ13を使用する場合、不揮発性メモリ1
3上に当該トラックの有効データが無いときは、ディレ
クトリ131のシーケンスナンバ、トラックアドレス及
びスタート/エンド位置に無効のパターンを書き込んで
、ディレクトリ131を初期化する。
ディレクトリ131の初期化が終了した後に、以下のC
PUデータの書込み処理が行われる。
■ CPUI 1からのデータをDASD12に書き込
む場合は、レコードの位置付けをキャッシュメモリ15
上で行って、書込みデータが格納されるレコード位置を
検出する。位置付はレコードはROであるとする。
■ データの書込みはレコードの内部を更新する形で行
われ、そのために、先ずキャッシュメモリ15上の位置
付はレコードROのカウント97J域C0すなわちカウ
ント部のデータを不揮発性メモリ13のデータ域132
にコピーされる(第5図(a))。
■ CPUI 1から発行された書込みコマンドがトラ
ンクフォーマットを変更するライトCKDのときは、位
置付はレコードROの次に書き込まれるデータのレコー
ド(R1とする)が追加される。
また、ディレクトリ1310当該トラツクのエントリ 
(000とする)のシーケンスナンバ域にシーケンスナ
ンバ(SCIとする)が書き込まれ、そのコピーのディ
レクトリ(図示せず)にシーケンスナンバ(SCIより
1だけ多い奇数の5C2)が書き込まれる。
■ レコードR1のデータとして、先ずそのカウント部
のデータが書き込まれるので、位置付はレコードROの
カウント領域C0のレコードディスクリブタRDoにネ
クストカウント・イン・プログレスフラグが1にセット
される(第5図(b))。
これにより、次のレコードR1のカウント部が更新中で
あることが示される。
■ ディレクトリ131のスタート/エンド域に、スタ
ート位置として、位置付はレコードROのメモリアドレ
ス位置(SZ とする)をセットする。
■ カウント部の更新データが、レコードR1のカウン
ト領域C0に書き込まれる。それとともに、レコードR
1のレコードディスクリブタRD + のキー・イン・
プログレスフラグを1にセットする。
■ カウント領域CIに対する書込みが終わると、位置
付はレコードROのレコードディスクリブタRD、のネ
クストカウント・イン・プログレスフラグを0にリセッ
トし、代わりに、そのレコードディスクリブタRD o
にネクストカウント・アブデーテドフラグを1にセット
する(第5図(c))。
これにより、次のレコードR1のカウント部が更新済で
あることが示される。
このように、レコードR1のカウント部を更新中はその
前のレコードROのレコードディスクリブタRD、にネ
クストカウント・イン・プログレスフラグを1にセット
し、レコードR1のカウント部の更新処理が終了したと
きに、ネクストカウント・イン・プログレスフラグをリ
セットし、ネクストカウント・アブデーテドフラグを1
にセットするようにしたので、ネクストカウント・イン
・プログレスフラグが1で、ネクストカウント・アブデ
ーテドフラグがOのときは、レコードR1のカウント部
の更新中に何らかの原因で処理が中断したことが検出で
きる。また、ネタストカウント・アブデーテドフラグが
1のときは、レコードR1のカウント部の更新処理が正
常に終了したことが検出される。これらのことは、次に
説明するキ一部及びデータ部の更新処理についても同様
である。
■ レコードR1のカウント領域C1への書込みが終了
すると、レコードR1のキー領域に1にキーデータが書
き込まれて、キ一部が更新される。
[相] キー領域に、に対するキーデータの書込みが終
了したときは、レコードR1のレコードディスクリブタ
RD、において、そのキー・イン・プログレスフラグを
Oにリセットし、代わりにキー・アブデーテドフラグを
1にセットするとともに、データ・イン・プログレスを
1にセットする。これにより、レコードR1のキ一部の
更新処理が正常に終了したことが示される。
■ レコードR1のキー領域に、への書込みが終了する
と、レコードR1のデータ領域り、にデータが書き込ま
れて、データ部が更新される。
@ データ領域D1に対するデータの書込みか終了した
ときは、レコードR1のレコードディスクリブタRD、
のデータ・イン・プログレスフラグをOにリセットする
とともに、同レコードディスクリブタRD、のエンド・
プロセスフラグを1にセットする(第5図(d))。
更に、ディレクトリ131のスタート/エンド域にエン
ド位置(ezとする)をセットする。これにより、レコ
ードR1のデータ部の更新処理及びレコードR1の更新
処理が正常に終了したことが示される。
■ 書込みされるレコードが複数あるときは、CPu1
lよりライトCKDコマンドが発行される。
このライトCKDを受けると、レコードR1のレコード
ディスクリブタRD、のエンド・プロセスフラグをOに
リセットした後に基づいて前述の■で書き込んだレコー
ドR1のカウント部のレコードディスクリブタRD、を
位置付はレコードとし、前述の■〜@の各処理を繰り返
すことにより、レコードR1に続いてレコードR2のレ
コードの書込み処理が実行される。以下これをくりかえ
す。
[相] 当該トラックに対するレコードの書込みがすべ
て終了したときは、最終レコードのレコードディスクリ
ブタのDエンド・プロセスフラグが1にセットされる。
[相] 更に、ディレクトリ131のスタート/エンド
位置を更新する処理が行われる。いま、レコードR1の
次にレコードR2が書き込まれるとすると、レコードR
2の書込み処理中は、デイレクトI7131のスタート
/エンド域には、その前のレコードR1のスタート/エ
ンド位置を示すS、/e、と今回のレコードR2のスタ
ート位置s2がセットされる。レコードR2の書込み処
理が正常に終了したときは、第5図(e)に示すように
、レコードR1及びR2のスタート/エンド位置S+/
e1及びSz/ezの両者がセントされた状態になる。
スタート/エンド位置は、正常に書き込まれたデータの
メモリアドレスを示すものであるので、レコードR1及
びR2の書込みが正常に終了したときは、レコードR1
のエンド位wet及びレコードR2のスタート位置s2
は不要である。
そこで、レコードR2の書込み処理が正常に終了したと
きは、レコードR1及びR2の個々のスタート/エンド
位置sl/e、及びSz/ezの両者を、第5図(f)
に示すように、レコードR1及びR2全体のスタート/
エンド位置を示すs、/e2で以前のS 1 / e 
1 を更新する処理が行われる。以下同様にして、ライ
トCKDにより新たなレコードの書込み処理が終了する
毎に、ディレクトリ131のスタート/エンド位置を更
新する処理が行われる。
このようにレコードの書込み処理とともにディレクトリ
131のスタート/エンド位置の更新を行うことにより
、複数のレコードの書込み処理中に処理が中断しても、
書込み処理が正常に終了したレコード部分の検出が可能
となるとともに、中断したレコード位置が確定できるの
で、誤ったライトバックが行われるのを未然に防止する
ことができる。
例えば、スタート/エンド位置にS+/ezがセットさ
れているとは、レコードR1及びR2の書込み処理が正
常に終了しているので両レコードデータは有効と判定さ
れる。もし、スタート/エンド位置にSl/e1及びS
2がセットされているが、レコードR2のエンド位置を
示すC2がセットされていないときは、レコードR2の
書込み処理中に処理が中断したことが検出され、レコー
ドR1は有効であるが、レコードR2及びそれ以降のレ
コードは有効でないと判定される。
■ ディレクトリ131における当該トラックのエント
リ(000)のディレクトリ情報の更新処理がすべて終
了すると、エントリ(000)のディレクトリ情報がコ
ピーのディレクトリ(図示せず)にコピーされる。
その際、コピーディレクトリのエントリ (000)の
シーケンスナンバは、オリジナルディレクトリのシーケ
ンスナンバSC1よりも1多い奇数SC2にセットされ
る。
[株] 次に、前述の各レコードR1、R2等が書き込
まれたトラックに対し、別のデータを書き込んでそれら
の内容を更新する処理を行うときは、前述の■〜■の処
理が繰り返されて、当該トラックのエントリ(000)
に対する新たなデータの書込み処理が実行される。
■ その場合、ディレクトリ131のシーケンスナンバ
は前回のシーケンスナンバSCIよりも大きい次の偶数
(SC3とする)に更新される。
@ トラック000に対するデータの更新処理及びディ
レクトリ131の更新処理が終了すると、ディレクトリ
情報が図示しないコピーディレクトリにコピーされると
ともに、コピーディレクトリのトラック000のシーケ
ンスナンバが、元トラックのシーケンスナンバSC3よ
りも1多い奇数(SC4とする)に更新される。
このように、ディレクトリ情報とコピーディレクトリ情
報にそれぞれ識別可能なシーケンスナンバを付するよう
にすることにより、ディレクトリ更新中の異常中断を検
出することにより、当該トラックに対するディレクトリ
の更新処理が正常に行われたか否かを検出することが可
能となり、誤ったディレクトリによるライトバックが行
われるのを未然に防止することができる。
例えば、元ディレクトリのシーケンスナンバがSC3で
そのコピーディレクトリのシーケンスナンバがSC2(
コピーディレクトリのシーケンスナンバが若番)のとき
は、シーケンスナンバS04のディレクトリデータ更新
中に処理が中断したことが検出され、コピーディレクト
リのデータは有効でないと判定される。一方、コピーデ
ィレクトリのシーケンスナンバがSC4で(コピーディ
レクトリのシーケンスナンバが老番)あるときは、ディ
レクトリの更新処理が正常に終了したことが検出され、
そのディレクトリのデータは有効と判定される。
@ 以上のようにして、キャッシュメモリ14及び不揮
発性メモリ13に対する所定のデータの書込み処理が終
了すると、DKC16は他の処理がない適当なタイミン
グで、不揮発性メモリ13に書き込まれたデータを、D
ASD12に転送し、ディレクトリ131の指示する所
定のアドレス位置にライトバックする。
そのライトバックに際しては、ディレクトリ及びそのコ
ピーディレクトリの各シーケンスナンバの大小関係を比
較することにより、前述のように当該トラックのデータ
の全体の有効性が判定される。
トラック処理が中断されているときは、ディレクトリ上
のSt/e+ とs2により、前述のように、どのレコ
ードから中断した処理が開始されているかを判定するこ
とができる。従って各レコードディスクリブタを順次調
べることによって、中断レコードを知ることができる。
また、有効でないレコードについても、そのカウント部
のレコードディスクリブタの各イン・プログレスフラグ
及びアブデーテドフラグを見ることにより、前述のよう
に、レコード中のカウント、キー及びデータのいずれの
部分まで有効であるかを判定することができる。
以上のようにして、不揮発性メモリ13上のデータの有
効性を正確に判定して、有効なデータのみをDASD 
12にライトバックすることができる。
以上本発明の一実施例について説明したが、本発明はこ
の実施例に限定される物ではなく、そのディレクトリ情
報及びレコード情報として実施例に示した各情報以外の
各種情報を含ませることができるものである。
〔発明の効果] 以上説明したように、本発明によれば次の諸効果が得ら
れる。
(1)キャッシュメモリ15に書き込まれるデータを不
揮発性メモリ13にも書き込むとともに、この書込みデ
ータの処理単位毎の制御情報であるディレクトリ情報と
CPUデータの処理情報であるレコード情報を不揮発性
メモリ13に書き込むようにしたので、キャッシュメモ
リ15及び不揮発性メモリ13に書き込まれたデータの
有効性を、可変長データ形式の場合も含めて正確に判定
することができる。
(2)不揮発性メモリ13上のデータを外部記憶装置に
書込みを行っているときはもちろん、不揮発性メモリに
データ書込み中にエラーや電源障害等により書込みデー
タに障害や中断が発生した場合にも、データの有効性を
詳細に判定してライトバック時のデータを正確に保全し
、有効でないデータがライトバックされるのを未然に防
止することができる。
【図面の簡単な説明】
第1図は本発明の実施システムの説明図、第2図は外部
記憶装置のトラックフォーマットの説明図、 第3図は本発明の一実施例に使用される不揮発性メモリ
上のディレクトリの説明図、 第4図は同実施例に使用される不揮発性メモリ上のデー
タフォーマットと、レコードディスクリブタのフラグの
説明図、 第5図は同実施例のデータ書込み動作説明図である。 第1図において、 11・・・中央処理装置(cPU)、12・・・外部記
憶装置、磁気ディスク(DASD)、13・・・不揮発
性メモリ、131・・・ディレクトリ、132・・・デ
ータ域、133・・・レコードディスクリブタ、14・
・・バッテリ、15・・・キャッシュメモリ、16・・
・ディスクコントローラ゛(DKC)。

Claims (2)

    【特許請求の範囲】
  1. (1)不揮発性メモリ(13)上に中央処理装置(11
    )からの書込みデータを蓄え、適当なタイミングでこの
    書込みデータを外部記憶装置(12)に転送して書き込
    むことにより中央処理装置(11)と外部記憶装置(1
    2)間の高速書込みを行う外部記憶制御システムのデー
    タを保全するデータ保全方式において、 (a)不揮発性メモリ(13)上に設けられたディレク
    トリ(131)中に、処理単位毎の処理情報として、 [1]ディレクトリ更新のシーケンス番号、 [2]所定外部記憶装置のトラックアドレス、 [3]メモリアドレス、 をディレクトリ情報として格納し、 (b)不揮発性メモリ(13)上にレコード形式で書き
    込まれた中央処理装置(11)からのデータ中に、レコ
    ードの各フィールドの状態情報として、 [1]レコードが更新中か更新済かを表示するレコード
    更新フラグ、 [2]レコード形式を規定するフォーマットライトの有
    無を表示するフォーマットライトフラグ、 [3]レコード書込み処理の一時終了を表示する一時終
    了フラグ、 をレコード情報として埋め込み、 (c)前記ディレクトリ情報及びレコード情報に基づい
    てデータの有効性を判定して外部記憶装置(12)に対
    するライトバックを行う、ことを特徴とするデータ保全
    方式。
  2. (2)不揮発性メモリ(13)上にディレクトリ情報の
    コピーを設け、ディレクトリ情報とその更新ディレクト
    リ情報並びにそれらのコピーディレクトリ情報にそれぞ
    れ識別可能なシーケンスナンバを付するようにしたこと
    を特徴とする請求項(1)記載のデータの保全方式。
JP2018075A 1990-01-30 1990-01-30 データ保全方式 Expired - Fee Related JPH0833864B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018075A JPH0833864B2 (ja) 1990-01-30 1990-01-30 データ保全方式
US08/553,822 US5590298A (en) 1990-01-30 1995-11-06 Method of restoring and updating records in a disk cache system during disk drive idle time using start and end addresses

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018075A JPH0833864B2 (ja) 1990-01-30 1990-01-30 データ保全方式

Publications (2)

Publication Number Publication Date
JPH03224045A true JPH03224045A (ja) 1991-10-03
JPH0833864B2 JPH0833864B2 (ja) 1996-03-29

Family

ID=11961539

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018075A Expired - Fee Related JPH0833864B2 (ja) 1990-01-30 1990-01-30 データ保全方式

Country Status (2)

Country Link
US (1) US5590298A (ja)
JP (1) JPH0833864B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2743606B2 (ja) * 1991-04-11 1998-04-22 三菱電機株式会社 アレイ型記録装置
US5446904A (en) * 1991-05-17 1995-08-29 Zenith Data Systems Corporation Suspend/resume capability for a protected mode microprocessor
US6101574A (en) * 1995-02-16 2000-08-08 Fujitsu Limited Disk control unit for holding track data in non-volatile cache memory
US6009498A (en) * 1995-02-16 1999-12-28 Fujitsu Limited Disk control unit for holding track data in cache memory
JP3260999B2 (ja) * 1995-03-03 2002-02-25 富士通株式会社 ディスク制御装置の制御方法
JP3597247B2 (ja) * 1995-03-15 2004-12-02 富士通株式会社 可換媒体型記憶装置及び光ディスク装置及びデータ転送制御方法
US5774643A (en) * 1995-10-13 1998-06-30 Digital Equipment Corporation Enhanced raid write hole protection and recovery
US5996088A (en) * 1997-01-22 1999-11-30 Oracle Corporation High-speed database checkpointing through sequential I/O to disk
CN1281560A (zh) 1997-10-08 2001-01-24 西加特技术有限责任公司 混合数据存储和重建系统以及用于数据存储装置的方法
US6957302B2 (en) * 2001-09-20 2005-10-18 Hewlett-Packard Development Company, L.P. System and method for performing write operations in a disk drive using a write stack drive
US6938184B2 (en) * 2002-10-17 2005-08-30 Spinnaker Networks, Inc. Method and system for providing persistent storage of user data
US6925523B2 (en) * 2003-03-03 2005-08-02 Agilent Technologies, Inc. Managing monotonically increasing counter values to minimize impact on non-volatile storage
US7137033B2 (en) * 2003-11-20 2006-11-14 International Business Machines Corporation Method, system, and program for synchronizing subtasks using sequence numbers
US7966450B2 (en) 2005-09-01 2011-06-21 Micron Technology, Inc. Non-volatile hard disk drive cache system and method
CN101286086B (zh) * 2008-06-10 2010-08-11 杭州华三通信技术有限公司 硬盘掉电保护方法、装置以及硬盘和硬盘掉电保护系统
US10714176B2 (en) * 2018-08-14 2020-07-14 Micron Technology, Inc. Read-write cycle execution based on history
US11860947B2 (en) * 2019-01-31 2024-01-02 International Business Machines Corporation Deleted data restoration
US10978097B1 (en) * 2020-01-16 2021-04-13 International Business Machines Corporation Indicating tracks as erased without deleting data for the tracks

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4419725A (en) * 1980-11-14 1983-12-06 Sperry Corporation Cache/disk subsystem with tagalong copy
US4638425A (en) * 1982-09-29 1987-01-20 International Business Machines Corporation Peripheral data storage having access controls with error recovery
JPS59153251A (ja) * 1983-02-18 1984-09-01 Toshiba Corp デイスクキヤツシユシステム
US4916605A (en) * 1984-03-27 1990-04-10 International Business Machines Corporation Fast write operations
US4827462A (en) * 1987-03-26 1989-05-02 International Business Machines Corporation Modular data storage directories for large-capacity data storage units
JPH0731640B2 (ja) * 1987-09-08 1995-04-10 富士通株式会社 ディスクアクセス制御方式

Also Published As

Publication number Publication date
US5590298A (en) 1996-12-31
JPH0833864B2 (ja) 1996-03-29

Similar Documents

Publication Publication Date Title
JP3485938B2 (ja) 不揮発性半導体メモリ装置
TWI375962B (en) Data writing method for flash memory and storage system and controller using the same
JPH03224045A (ja) データ保全方式
US8762661B2 (en) System and method of managing metadata
US7441085B2 (en) Memory control method for restoring data in a cache memory
WO1995018407A1 (en) Solid state memory system
JP2002123421A (ja) フラッシュメモリのための再写像制御方法及びこれによるフラッシュメモリの構造
JP4993020B2 (ja) 仮想テープ装置、制御方法、制御部
JP2006099802A (ja) 記憶制御装置およびキャッシュメモリの制御方法
JP4026588B2 (ja) ディスクアレイ装置およびディスクキャッシュ管理方法ならびにプログラム
US8055853B2 (en) Data storage system and data storage program for atomic transactions
JP2005353046A (ja) 記録媒体、ホスト機器及びデータ処理方法
JP3898968B2 (ja) 情報記録方法および情報記録システム
JPH0241776B2 (ja)
US6463502B1 (en) Backup copying of data to a tape unit with a cache memory
JPH0519981A (ja) 光デイスク装置のデータ書込み正常終了判定方法
JP3271935B2 (ja) 制御システム
JP2006338731A (ja) データ書き込み方法
JPH03192436A (ja) 情報記録再生方式
JPH0520196A (ja) デイスク・キヤツシユ制御装置
JP2003263894A (ja) 不揮発性半導体メモリ装置の制御方法
JPH06131123A (ja) 計算機の外部記憶装置
JP3620110B2 (ja) ファイル記憶装置
JP2960455B2 (ja) 外部記憶制御方式
JP3526160B2 (ja) データキャッシュ制御方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees