[go: up one dir, main page]

JP3923563B2 - Disk cache system and disk cache method - Google Patents

Disk cache system and disk cache method Download PDF

Info

Publication number
JP3923563B2
JP3923563B2 JP12485396A JP12485396A JP3923563B2 JP 3923563 B2 JP3923563 B2 JP 3923563B2 JP 12485396 A JP12485396 A JP 12485396A JP 12485396 A JP12485396 A JP 12485396A JP 3923563 B2 JP3923563 B2 JP 3923563B2
Authority
JP
Japan
Prior art keywords
data
written
disk
area
writing
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.)
Expired - Fee Related
Application number
JP12485396A
Other languages
Japanese (ja)
Other versions
JPH09305491A (en
Inventor
隆 石井
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP12485396A priority Critical patent/JP3923563B2/en
Publication of JPH09305491A publication Critical patent/JPH09305491A/en
Application granted granted Critical
Publication of JP3923563B2 publication Critical patent/JP3923563B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ライトバック方式を採用するディスクキャッシュシステムに係わるもので、ライトバックキャッシュデータの保護に好適なディスクキャッシュシステム及びディスクキャッシュ方法に関する。
【0002】
【従来の技術】
コンピュータシステムにおいては、ハードディスク装置等の外部の接続装置に対する実効的アクセス速度を向上させるためにディスクキャッシュが用いられている。ディスクキャッシュを用いることによって最近アクセスされたディスクのブロックデータを高速にアクセスできるメモリに保存され、次にアクセス要求があったデータがメモリに保存されていれば実際にディスクをアクセスすることなく直ちにデータを転送することができる。
【0003】
近年、ディスクキャッシュとしてライトバック方式を採るディスクコントローラでは、ディスクキャッシュ用メモリの他に不揮発メモリを併用し、この不揮発メモリに対してもデータを保存することがある。着脱可能な不揮発性メモリを併用することで、例えばディスクコントローラに故障が発生した場合に、不揮発性メモリを正常なディスクコントローラに着装して交換することで、故障発生前の状態に戻せるといった保守が可能となる。
【0004】
こうした目的を達成するための手頃な不揮発性メモリとして、JEIDA(Japan Electronic Industry Development Assosiation )(PCMCIA(Personal Computer Memory Card Interface ))規格のSRAMカードがあり、このメモリを不揮発メモリとしてライトバック方式のディスクキャッシュシステムが構成されることがあった。
【0005】
【発明が解決しようとする課題】
このように従来のディスクキャッシュシステムでは、ディスクキャッシュ用メモリと併用して不揮発性メモリとしてSRAMカードを用いていた。
しかしながら、上記した従来技術においては、一般的なJEIDA(PCMCIA)規格のSRAMカードにはパリティビットがないことから、保存データの信頼性確保が一部システムの要求に対しては不十分であった。
【0006】
また、SRAMカードの電池寿命に関しては、電圧監視により交換時期が迫るとその旨の信号が出力されるため、その信号を監視することにより、電池が切れた場合にはライトバック動作を禁止することでデータの保護は可能である。しかし、それ以前に電池の残余時間を知るための信号がないことから、電池の交換時期が判りづらく、数ケ月に一度しか行われない定期保守期間が設定されている運用形態では、定期保守期間の間に電池切れが発生し、ライトバック動作が禁止された性能劣化状態での運用を強要されることがあった。
【0007】
また、SRAMカードを使用するライトバック方式のキャッシュシステムでは、コントローラに故障対応機能を盛り込むことが想定されるが、もとよりSRAMカード自体にはこのための何らの機能もなく、単純な適用では、保守作業を実施する作業員のミス等により、誤ったデータを装置に書き込んで本来のデータを破壊してしまう可能性がある等の問題があった。
【0008】
本発明は前記の問題を解決するためになされたものであり、ディスクキャッシュにおいてキャッシュ用メモリと併用して使用される不揮発性メモリの保存データの信頼性の向上と確実な保護が可能なディスクキャッシュシステム及びディスクキャッシュ方法を提供することを目的とする。
【0009】
【課題を解決するための手段】
本発明は、キャッシング対象となるディスク装置に対する書き込み方式としてライトバック方式を採るディスクキャッシュシステムにおいて、内部エリアがブロック管理され、ブロックを基本単位として前記ディスク装置に対する書き込み要求のあったデータが書き込まれる不揮発性記憶手段と、前記不揮発性記憶手段に対して書き込むべき通常のデータとデータ転送の正常性を判定するために使用する少なくとも1ブロック分の所定の診断データを転送すると共に、前記ブロック毎に、ブロックに書き込むべきデータに基づくチェックコードを生成して前記不揮発性記憶手段に書き込むデータ転送手段と、前記データ転送手段によって転送された前記診断データに基づくチェックコードが、前記所定の診断データに応じたチェックコードとして正しいか否かを判定する診断データ判定手段と、前記データ判定手段によって異常があることが判定された場合に通常の動作を禁止する制御手段とを具備したことを特徴とする。
【0010】
ブロック単位でデータに対するチェックコードを付加して、正当性のチェックを可能としたことにより、パリティ等のチェック機能を持たない不揮発性記憶手段、すなわちJEIDA/PCMCIA規格のSRAMカードであっても、チェックコード用に比較的少ないメモリ容量を必要とするのみで、SRAMカードに格納されたデータの正常性のチェックが可能となり信頼性向上が図れる。
通常の転送データに所定の診断データを付加して転送することにより、診断データに対して生成されるチェックコードが既知であるので、診断データに対するチェックコードの判定により、システムのデータ転送系全般にわたる通常動作時の診断が可能となり、不揮発性記憶手段(SRAMカード)に格納されたデータの信頼性向上が図れる。
【0013】
また、前記不揮発性記憶手段に設けられる前記ディスク装置に対するデータ転送用の領域とは別の領域と、システムに接続されたディスク装置の特定の領域に対して、システムに接続されたディスク装置を特定する装置情報を書き込む第1の書き込み手段と、適時において前記第1の書き込み手段によって前記不揮発性記憶手段に記憶された装置情報と、この時点で実際にシステムに接続されているディスク装置の特定の領域に書き込まれた装置情報とを比較して、接続されたディスク装置が正しいか否かを判定する装置判定手段とをさらに具備し、前記制御手段は、前記装置判定手段によって異常があることが判定された場合に通常の動作を禁止することを特徴とする。
【0014】
これにより、例えばシステムに障害が発生するなどして、原因追及等のためにディスク装置を取り外し、再立ち上げ時に誤ったディスク装置を接続してしまった場合や、使用すべき不揮発性記憶手段を誤ったとしても、実際にシステムに接続されているディスク装置を、不揮発性記憶手段とディスク装置に書き込まれているべき装置情報(例えばキャッシュシステム初期化時に格納された両者の間に一貫性をもつ接続装置のシリアル番号)から正当性を判定することができるため、誤った運用によりデータを破壊するおそれがない。
【0015】
また、前記不揮発性記憶手段に設けられる前記ディスク装置に対するデータ転送用の領域とは別の領域と、システムに接続されたディスク装置の特定の領域に対して、システムに接続されたディスク装置を特定する装置情報を書き込む第1の書き込み手段と、適時において前記第1の書き込み手段によって前記不揮発性記憶手段に記憶された装置情報と、この時点で実際にシステムに接続されているディスク装置の特定の領域に書き込まれた装置情報とを比較して、接続されたディスク装置が正しいか否かを判定する装置判定手段とをさらに具備し、前記制御手段は、前記装置判定手段によって異常があることが判定された場合に通常の動作を禁止することを特徴とする。
【0016】
これにより、不揮発性記憶手段(SRAMカード)に記憶されたデータが使用すべきでないことが、データの新旧を判断できる情報(例えばキャッシュシステム初期化日時)から明確に判定されるため、例えばアクセス異常発生後の復旧作業時に誤ったSRAMカードを接続した場合であっても、データ破壊を回避することができる。
【0017】
また、前記不揮発性記憶手段に書き込まれたデータをバックアップするための電池と、前記不揮発性記憶手段における所定の領域に前記電池が交換された交換日付を書き込む書き込み手段と、前記書き込み手段によって前記不揮発性記憶手段の所定の領域に書き込まれた交換日付を読み出して提示する読み出し手段とをさらに具備したことを特徴とする。
【0018】
これにより、電池によりデータがバックアップされる不揮発性記憶手段(SRAMカード)の電池残余寿命が判別し易くなり、例えば定期保守を実施する運用形態を採る場合には、次の保守期間までに電池寿命が切れることが明確に判断でき、予め電池交換をするなどの対処を施すことができる。従って、不揮発性記憶手段(SRAMカード)に記憶されるデータが確実に保護できる。
【0019】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。図1は本実施形態に係わるディスクキャッシュシステムを有するコンピュータシステムの概略構成を示すブロック図である。本実施形態におけるディスクキャッシュシステムは、書き込み方式としてライトバック方式を採用している。
【0020】
図1に示すように、コンピュータシステムは、ホストシステム10、ディスクコントローラ12、ハードディスク装置14(ハードディスク装置(HDD0〜HDDn)14−0〜14−n)から構成されている。ホストシステム10とディスクコントローラ12は、接続用コネクタ16を介して接続されている。接続用コネクタ16は、例えばPCIバスに相当する。
【0021】
ホストシステム10は、CPU20、CPUローカルメモリ22、外部回路接続用バス変換回路24等を含んで構成されている。
CPU20は、システム全体の制御を司るもので、CPUローカルメモリ22に格納されたプログラム、データに基づいて動作する。本実施形態では、CPU20は、一定時間毎、及びアイドル状態となった時に、ディスクコントローラ12におけるSRAMカード38(後述する)に格納されたデータの正常性をチェックするための診断要求コマンドをデータ管理機構44に対して発行する。また、CPU20は、ディスクコントローラ12におけるSRAMカード38の電池交換日時データを読み出すためのコマンドをデータ管理機構44に対して発行する。
【0022】
CPUローカルメモリ22は、CPU20によってアクセスされるメモリであり、CPU20の動作を規定するOS(オペレーティングシステム)、アプリケーションプログラムの他、各種データを格納する。CPUローカルメモリ22には、ホストシステム10からディスクコントローラ12へのデータ転送が正常に行なわれたかをチェックするための診断データが含まれる。本実施形態では2種類の診断データA,Bが用意されているものとする。
【0023】
外部回路接続用バス変換回路24は、外部回路とのデータやコマンドの入出力のためのインタフェースであり、CPUローカルメモリ22とディスクコントローラ12のディスクキャッシュ用メモリ36やハードディスク装置14の間でデータ等を入出力するデータパスや、CPU20とディスクコントローラ12のCPU30との間のコマンド等を入出力するコマンドパスが設けられる。外部回路接続用バス変換回路24は、接続用コネクタ16を介して、ディスクコントローラ12と接続される。
【0024】
ディスクコントローラ12は、ホストシステム10からのハードディスク装置14に対するアクセスを制御するもので、CPU30、F/W(ファームウェア)用メモリ32、DMA(Direct Memory Access)コントローラ34、ディスクキャッシュ用メモリ36、コネクタ37、SRAMカード38、外部回路接続用バス変換回路40、SCSI(Small Computer System Interface )チップ42を含んで構成されている。また、CPU30とF/W用メモリ32によってデータ管理機構44を構成し、ホストシステム10からハードディスク装置14へのアクセスに対するディスクキャッシュの機能を制御する。
【0025】
CPU30は、ディスクコントローラ12の制御を司るもので、F/W用メモリ32に格納されたプログラムに基づいて、ホストシステム10からのハードディスク装置14に対するアクセスを制御する。
【0026】
F/W用メモリ32は、CPU30の動作を規定するプログラム等が格納されるもので、ホストシステム10からのハードディスク装置14に対するアクセス制御、及びディスクキャッシュの機能を実現するプログラムが含まれる。
【0027】
DMAコントローラ34(データ転送手段)は、データ管理機構44(CPU30)による制御のもとで、ディスクキャッシュ用メモリ36とSRAMカード38に対するアクセスを制御するもので、外部回路接続用バス変換回路40とSCSIチップ42との間でデータの入出力を行なう。また、DMAコントローラ34は、SRAMカード38に対する各ブロックデータの書き込み時に(データ領域)、ブロックデータに基づいてチェックコードを生成し、このチェックコードもSRAMカード38に書き込む(チェックコード領域)。また、DMAコントローラ34は、データ管理機構44の制御のもとで、データ書き込み時に通常の転送データに加えて、1ブロック以上の診断データ(本実施形態では2ブロックの診断データA,B)をSRAMカード38に書き込む(診断データ領域)。なお、本実施形態では、256バイトを転送の基本単位とするブロックとする。
【0028】
データ管理機構44(制御手段、書き込み手段)は、ホストシステム10からの書き込みデータについての、ディスクキャッシュ用メモリ36とSRAMカード38への書き込み制御、ハードディスク装置14に対するアクセスの他、電源やコントローラにおける障害発生時のデータ復旧(ディスクキャッシュ用メモリ36に格納されたデータの復元)を行なう機能を有している。
【0029】
また本実施形態における、データ管理機構44は、立ち上げ時にSRAMカード38に格納されたデータの正常性のチェックを含む各種チェックの他(装置判定手段)、ホストシステム10からのコマンドに応じて、ライトコマンド受信時には診断データを用いたデータ転送の正常性のチェック(診断データ判定手段)、診断要求コマンド受信時にはSRAMカード38に格納されたデータについてのチェックコマンドを用いた正常性のチェック(データ判定手段)等を制御する。
【0030】
ディスクキャッシュ用メモリ36は、ディスクキャッシュの機能において使用されるメモリであり、例えばDRAMによって構成される。
コネクタ37は、SRAMカード38を接続するためのもので、例えばJEIDA(Japan Electronic Industry Development Assosiation )(PCMCIA(Personal Computer Memory Card Interface ))規格に準拠した仕様によって構成されている。
【0031】
SRAMカード38(不揮発性記憶手段)は、コネクタ37によってシステムから取り外し可能な記憶媒体であり、ホストシステム10からのデータ書き込みに用いられる。SRAMカード38は、データバックアップ用の電池が設けられた構成をしており、システムから取り外しても記憶しているデータを保持することが可能な高速不揮発性記憶媒体として用いられる。
【0032】
外部回路接続用バス変換回路40は、外部回路とのデータやコマンドの入出力のためのインタフェースであり、ディスクキャッシュ用メモリ36やハードディスク装置14とホストシステム10のCPUローカルメモリ22との間でデータを入出力するデータパスや、CPU30とホストシステム10のCPU20との間のコマンド等を入出力するコマンドパスが設けられる。外部回路接続用バス変換回路40は、接続用コネクタ16を介して、ホストシステム10と接続される。
【0033】
SCSIチップ42は、ハードディスク装置14を接続するためのインタフェースである。
ハードディスク装置14は、データやプログラム等を保存するためのもので、通常の使用に用いられるキャッシングの対象となるディスク領域(以下、ユーザ領域とする)の他に、装置毎に設定されるシリアル番号やキャッシュシステムの初期化日時を格納するための専用ディスク領域(以下、コントローラ領域とする)が設けられる。本実施形態では、複数(n台)のハードディスク装置14−0〜14−n(HDD0〜HDDn)が接続されているものとする。
【0034】
次に、本実施形態における動作について説明する。
はじめに、図2に示すフローチャートを参照しながら、ホストシステム10からのデータの書き込みの処理(ライトコマンド処理)の基本的な動作について説明する。図3にはホストシステム10からの指示及びデータに対する処理についての概略を説明するための図を示している。
【0035】
なお、本実施形態では、ディスクコントローラ12において、ライトコマンドを受信した場合には図2のフローチャートに示す処理と共に、図8のフローチャートに示すようなデータ転送の正常性を判定する処理が実行される。詳細については後述する。
【0036】
まず、ホストシステム10のCPU20からコマンドパスを介して、CPUローカルメモリ22に格納されたデータのハードディスク装置14に対する書き込み要求(ライトコマンド)があった場合、ディスクコントローラ12のデータ管理機構44(CPU30)は、データパスを介して得られるデータに対するライトコマンド処理を起動する。
【0037】
データ管理機構44は、ディスクキャッシュ用メモリ36とSRAMカード38の双方に対して、データを書き込むための領域を獲得できるか否かをチェックする(ステップS1)。
【0038】
ここで、データを書き込むための領域が獲得できた場合(ステップS2)、データ管理機構44は、ディスクキャッシュ用メモリ36とSRAMカード38の双方にデータの書き込みを行なう(ステップS3)。
【0039】
この時、ディスクキャッシュ用メモリ36に対する書き込みは、一般的なライトバック方式に従い、セグメント管理された複数の領域の中から、その後のサーチ処理(読み出し、書き込み時)に対する簡便さが考慮された適当なセグメントが選択されて実行される。
【0040】
一方、SRAMカード38に対するデータの書き込みは、空いた領域から任意の領域が選択されて実行される。同時に、書き込みを行なったデータに対するディレクトリ情報、すなわちデータのハードディスク装置14に対する書き込み位置(ディスク領域)を示すアドレスと、ディスクキャッシュ用メモリ36に対して書き込みを行なった位置(メモリ領域)を示すアドレスからなるアドレス情報も書き込む。
【0041】
また、ディレクトリ情報(あるいはデータ)には、データの有効性を保証するための処理に用いられるフラグが付加される。具体的には、データ書き込みを行なうための領域を獲得した際に、フラグをコマンド実行中を表わすように設定し、ホストシステム10から正常にデータが転送されるとフラグをデータ有効を表わすように書き替える。
【0042】
データ管理機構44は、フラグ書き込みを正常に終了した後に、ホストシステム10に対してライトコマンド処理の終了を通知する。
なお、SRAMカード38に対する書き込みは、ディスクキャッシュ用メモリ36に対して適当なセグメントが選択されて書き込まれるのとは関係なく、ディスクへの書き込みを効率的にできる形式によって書き込まれる。例えば、書き込みデータをハードディスク装置14に対して書き込みを行なう際のデータ単位(例えばセクタ単位)となる連続的なデータとする(ブロックデータ)。
【0043】
一方、ステップS2において、データを書き込むための領域が獲得できなかった場合、データ管理機構44は、書き込み要求のあったデータをハードディスク装置14のユーザ領域における該当する領域に書き込み、書き込みが完了した後にホストシステム10に対してライトコマンド処理の終了を通知する。
【0044】
以上のようなライトコマンド処理が複数回行なわれる間に所定の状態となった時(アイドル時、もしくは一定時間が経過した時など)、通常のライトバック方式に従って、ディスクキャッシュ用メモリ36に格納されたデータを、ハードディスク装置14のユーザ領域中の書き込み要求アドレスに対して書き込む処理が実施される。
【0045】
なお、本実施形態では、ディスクコントローラ12において、ホストシステム10からアイドル時、もしくは一定時間が経過した時などに発行される診断要求に応じて、図9のフローチャートに示すSRAMカード38に格納されたデータの正常性を判定する処理が実行される。詳細については後述する。
【0046】
図4にはSRAMカード38内のデータ形態の一例を示している。図4に示すように、SRAMカード38のメモリ空間には、システム領域、データ領域、チェックコード領域が設けられ、それぞれブロック毎にデータが格納されている。また、データ領域の一部には診断データ領域が設けられる。
【0047】
システム領域には、SRAMカード38のデータバックアップ用の電池を交換した日付を示すデータ(電池交換日付)、ハードディスク装置14−1〜14−n(HDD0〜HDDn)のそれぞれに設定されるHDDシリアル番号、キャッシュシステムを初期化した日時を示すデータ(キャッシュシステム初期化日時)、ディレクトリ情報等のその他キャッシュ制御情報が含まれる。ディレクトリ情報には、データ領域に格納されるキャッシュデータの有効性を保証するための処理に用いられるフラグが付加される。
【0048】
データ領域には、ブロック毎に複数のデータ(キャッシュデータ)が格納される(図4中では4つのキャッシュデータを示す)。また、データ領域には、2ブロック分の診断データ領域(診断データ1,2)が設けられている。
【0049】
チェックコード領域には、システム領域とデータ領域におけるブロック管理された各ブロックのデータに対応するチェックコードが格納される。本実施形態におけるチェックコードは、データ転送時にDMAコントローラ34のチェックコード生成機能によって、対応するブロック中の全データを、初期値を“0”としてXOR(EXCLUSIVE-OR)演算することによって求められる。ただし、システム領域に格納されるデータについては、DMAコントローラ34によるDMA(Direct Memory Access)の対象外であるため、同データに対応するチェックコードをデータ管理機構44が必要に応じて適時に生成され、SRAMカード38のチェックコード領域に格納されるものとする。
【0050】
図4においては、システム領域に対応するチェックコードは「code0 」、キャッシュデータ0に対応するチェックコードは「code1 」、診断データ2に対応するチェックコードは「code6 」となる。チェックコード領域中のチェックコードが格納されていない有効データ以外の領域を空き領域としているが、システム領域として割り当てることも可能である。
【0051】
なお、図4に示すデータ形態は、説明を簡単にするために簡略化したデータ形態であり、実際にはSRAMカード38の容量が1MB程度以上あり、ブロックが数千個存在する。このため、図4では、チェックコード領域が1ブロックしかないが、実際にはシステム領域とデータ領域に格納されるデータ量に応じたチェックコード分の複数ブロックがチェックコード領域として割り当てられる。また、システム領域についても、キャッシュ制御情報が容量的に大きいため複数ブロックが割り当てられる。これに対して、診断データ領域は、本実施形態では2つの診断データA,B(詳細については図4を用いて後述する)を用いるものとしているため2ブロック(診断データ1,2)の消費のみであり、全体容量に占める割合は少なくてよい。
【0052】
図5には本実施形態における診断データA,Bの一例を示している。診断データA,Bは、データバスのあるビットが固定値しかとれない、または他のビットの状態に影響される場合に異常検出できるように配慮したデータパターンである。
【0053】
例えば、図5(a)に示すように、診断データAは、同データに対するチェックコードが図5(b)に示すように、「AA」(1ワード=1バイト、16進表記)となるデータパターンである。また、図5(c)に示すように、診断データBは、同データに対するチェックコードが図5(d)に示すように、「55」(1ワード=1バイト、16進表記)となるデータパターンである。診断データAと診断データBは、「00」となるデータを除いて、同じバイト位置のデータが互いに各ビットの値が異なるデータであり、同時に使用することで異常検出の確率を向上させることができる。
【0054】
診断データA,Bは、図6に示すように、ホストシステム10からのデータ転送毎に、交互に診断データ1,2として転送順序を替えて送信される。すなわち、転送1では、診断データ1として診断データA、診断データ2として診断データBを用い、転送2では、診断データ1として診断データB、診断データ2として診断データAを用いる。同様にして、転送3以降についても、データ転送毎に診断データ1,2として、診断データA,Bを交互に順序を変更する。
【0055】
次に、本実施形態におけるSRAMカード38の保存データの信頼性の向上と確実な保護を行なうための動作についてフローチャートを参照しながら説明する。本発明に係わる主な動作は、立ち上げ処理中と通常動作中(ライトコマンド受信時、診断要求受信時)の2種に分けられ、それぞれの処理手順を図7、図8、図9に示している。
【0056】
ただし、フローチャートにより特に図示しなかったが、本発明を実施するためには、キャッシュシステムの初期化処理が必要である。キャッシュシステムの初期化処理では、データ管理機構44は、初期化時点でSCSIチップ42を介して接続されている各接続装置(ハードディスク装置14−0〜14−n)のシリアル番号と初期化日時とをSRAMカード38のシステム領域に格納すると共に、ハードディスク装置14−0〜14−nのコントローラ領域にもシリアル番号と初期化日時とを書き込み、SRAMカード38内のデータと接続装置内のデータとを一致させておく。初期化日時のデータは、ホストシステム10から取得しても良いし、データ管理機構44において発生させても良い。
【0057】
また、SRAMカード38の電池交換を実施した場合には、同様にSRAMカード38上のシステム領域に交換日付を書き込む必要がある。例えば、電池交換後に、ホストシステム10において、ディスクコントローラ12の管理用プログラムを実行して、電池交換日付を示すデータをSRAMカード38に書き込ませるコマンドを発行することで、データ管理機構44によってSRAMカード38のシステム領域中に電池交換日付を示すデータを格納する。
【0058】
また、SRAMカード38に格納された電池交換日付のデータは、例えばホストシステム10において、SRAMカード38の管理用プログラムが実行され、電池交換日付の表示の実行が要求されることによってデータ管理機構44が読み出す。ホストシステム10は、データ管理機構44によって読み出された電池交換日付のデータに基づいて、電池交換日付を表示させる。
【0059】
すなわち、任意の時点での要求に応じてSRAMカード38のシステム領域に格納されたデータにから電池交換日付を表示できる機能を持たせることにより、その情報を取得した者が電池交換日付と電池の寿命(通常1、2年)とを比較することで残余期間を的確に判断することができる。
【0060】
次に、データ管理機構44の立ち上げ時の動作について、図7を参照しながら説明する。
ライトバック方式を用いるキャッシュシステムでは、通常動作中に(電源断・コントローラ障害等により)ハードディスク装置14に対してデータの書き込みが出来なかった場合、データ管理機構44は、次の立ち上げ時にSRAMカード38に蓄えられたデータをハードディスク装置14に書き込む処理の実行を試みる。
【0061】
本発明では、この時にデータの信頼性を保障するために、図7のフローチャートに示すようにして各種のチェックを実施する。
まず、データ管理機構44は、SRAMカード38上の全ブロックのそれぞれについて、チェックコードの正常性を判定する(ステップA1)。データ管理機構44は、SRAMカード38のシステム領域とデータ領域に格納された各ブロックに格納されたデータからそれぞれチェックコードを生成し(XOR演算による)、チェックコード領域に既に格納されている対象ブロックに対応するチェックコードとそれぞれ比較して同一であるか否かをチェックする。なお、データ転送中の電源断時には、システム領域・データ領域の1ブロックで不正が発生するが、そのブロックは正当であるものとみなす。
【0062】
チェックコードの比較の結果、正常でないと判断できる場合には(ステップA2)、データ管理機構44は、ホストシステム10に対して、SRAMカード38に格納されたデータの不正を通知して停止する(ステップA3)。ホストシステム10は、データ管理機構44からの通知に応じて、図示せぬ表示装置においてSRAMカード38に格納されたデータの不正を通知する旨を表示させる。
【0063】
SRAMカード38のデータが不正であった場合には、人間系においてSRAMカード38の点検が実施されることになる。作業員が適切な処置を施すことでデータの破壊を防止することができる。
【0064】
一方、チェックコードによる正常性判定により正常と判断できた場合、データ管理機構44は、SRAMカード38のシステム領域中に書き込まれている、キャッシュ制御情報中のディレクトリ情報に付加されたデータ有効を表すフラグを参照して、ハードディスク装置14に吐き出すべきデータ(ライトバックデータ)の有無をチェックする(ステップA4)。ここで、ライトバックデータが存在しない場合には(ステップA5)、データ管理機構44は、立ち上げ処理を終了する(ステップA6)。
【0065】
ライトバックデータが存在する場合、データ管理機構44は、SRAMカード38上のシステム領域中のHDDシリアル番号をチェックして、実際に接続されているハードディスク装置14−0〜14−n(HDD0〜HDDn)の正当性を判定する(ステップA7)。すなわち、データ管理機構44は、キャッシュシステムの初期化処理の際に、SRAMカード38のシステム領域に書き込まれたシリアル番号と、ハードディスク装置14−0〜14−nのコントローラ領域に格納されたシリアル番号とを比較し、シリアル番号が一致しているか否かを判断する。
【0066】
この結果、シリアル番号が一致せずに、現在の接続装置が正当ではないと判断された場合には(ステップA8)、データ管理機構44は、ホストシステム10に対して、接続装置異常を通知して停止する(ステップA9)。ホストシステム10は、データ管理機構44からの通知に応じて、図示せぬ表示装置において接続装置異常を通知する旨を表示させる。
【0067】
接続装置異常があった場合には、人間系において使用しているSRAMカード38が正しいか否かの点検、及び現在接続されている接続装置(ハードディスク装置14)が正しいか否かの点検が実施される。
【0068】
一方、接続されたハードディスク装置14が正当である場合、データ管理機構44は、SRAMカード38上のシステム領域に書き込まれたキャッシュシステム初期化日時(タイムスタンプ)と、ハードディスク装置14−0〜14−nのコントローラ領域に格納された初期化日時(接続装置タイムスタンプ)とを比較し、初期化日時が一致しているか否かを判定する(ステップA10)。
【0069】
この結果、初期化日時が一致せずに、SRAMカード38に格納されたデータが正当でないと判断された場合、例えばデータが古い場合には(ステップA11)、データ管理機構44は、ホストシステム10に対して、タイムスタンプ異常を通知して停止する(ステップA12)。ホストシステム10は、データ管理機構44からの通知に応じて、図示せぬ表示装置においてタイムスタンプ異常を通知する旨を表示させる。
【0070】
タイムスタンプ異常があった場合には、人間系において使用しているSRAMカード38が正しいか否かの点検が実施される。
一方、使用されているSRAMカード38に書き込まれた初期化日時が正当である場合、データ管理機構44は、システム領域中のキャッシュ制御情報(ディレクトリ情報等)に基づいて、データ領域内に残っている有効データをハードディスク装置14に吐き出すことで、ライトバックキャッシュ動作を完了させる(ステップA13)。
【0071】
こうして、データ管理機構44の立ち上げ時には、SRAMカード38に書き込まれたデータ、すなわちチェックコード領域に書き込まれたチェックコード、システム領域中に書き込まれたキャッシュシステム初期化日時を用いて、SRAMカード38のデータ正常性をチェックすることができる。
【0072】
また、SRAMカード38のシステム領域に電池交換日時を書き込み、任意に読み出して表示させることができるので、不用意に電池切れの状態を招いて、ライトバック動作が禁止された性能劣化状態での運用を回避することができる。
【0073】
次に、通常動作中におけるライトコマンド受信時の動作を、図8に示すフローチャートを参照しながら説明する。
データ管理機構44は、ホストシステム10からコマンドパスを介して、CPUローカルメモリ22に格納されたデータのハードディスク装置14に対する書き込み要求(ライトコマンド)があった場合、DMAコントローラ34に対して、通常のデータ転送後に診断データの転送を実行するように設定する(ステップB1)。
【0074】
DMAコントローラ34は、データ管理機構44の制御のもとで、256バイトのブロックデータ転送を行なうと共に、チェックコード生成機能により1ブロックのデータ転送毎にXOR演算によりチェックコードを生成し、SRAMカード38のチェックコード領域に書き込む(ステップB2)。
【0075】
通常のデータ転送後には2つの診断データ1,2が転送されるが、診断データ1,2についても同様にしてチェックコードが生成される。データ管理機構44は、診断データ1,2に対するチェックコードをチェックして、データ転送の正常性を判定する(ステップB3)。
【0076】
すなわち、図6を用いて説明したように、診断データAと診断データBは、データ転送毎に、交互に診断データ1,2として転送される。従って、正常にデータ転送が行なわれた場合の診断データ1,2に対するチェックコードの値が、それぞれ「AA」「55」(図5参照)の何れであるか既知となっている。
【0077】
データ管理機構44は、2つの診断データ1,2に対応するチェックコードをSRAMカード38のチェックコード領域から読出し、既知のチェックコードと比較することにより正常性を判定する。
【0078】
データ管理機構44は、診断データ1,2に対するチェックコードが、正当なチェックコードの値と同じあれば、DMAコントローラ34のチェックコード生成機能、データバスの全ビット、アドレスラインなどを含めたシステム全体のデータ転送系全般に渡る通常動作が正常であるものと判断して処理を終了する(ステップB4)。
【0079】
一方、診断データに対するチェックコードが一致せずに、正常でないものと判断された場合には、データ管理機構44は、リトライ動作を実行させる。それでも正常とならない場合、データ管理機構44は、ディスクキャッシュ用メモリ36から有効データを吐き出し、通常動作を禁止する状態、すなわちライトバック動作を禁止した動作モードに移行する(ステップB5)。
【0080】
さらに、データ管理機構44は、ハードディスク装置14−1〜14−nのコントローラ領域に格納されている初期化日時(タイムスタンプ)のデータを更新して、SRAMカード38上のデータが古くなったことを明示するように変更する。
【0081】
ここで、ハードディスク装置14−1〜14−nのコントローラ領域に格納されている初期化日時と、SRAMカード38のシステム領域に格納されたキャッシュシステム初期化日時とを不一致としておくことで、前述した図7における処理のステップA10において、タイムスタンプ異常が検出されてデータの保護が可能となる。
【0082】
次に、通常動作中における診断要求受信時の動作を、図9に示すフローチャートを参照しながら説明する。
ホストシステム10は、一定時間毎、及びアイドル状態となった時に、ディスクコントローラ12におけるSRAMカード38に格納されたデータの正常性をチェックするための診断要求コマンドをデータ管理機構44に対して発行する。
【0083】
データ管理機構44は、診断要求コマンドを受信すると、SRAMカード38のデータ領域から各ブロックのデータを読み込み、XOR演算によって各ブロックに対応するチェックコードを生成する(ステップC1)。
【0084】
データ管理機構44は、SRAMカード38のチェックコード領域に格納された、データ転送時に書き込まれた各ブロックのデータに対応するチェックコードを読み込み、ステップC1において生成したチェックコードと各ブロック毎に比較する(ステップC3)。
【0085】
各ブロックのチェックコードが一致している場合(ステップC4)、データ管理機構44は、SRAMカード38に格納されているデータが正常であるものと判断して診断処理を終了する。
【0086】
一方、チェックコードが一致していない場合(ステップC4)、データ管理機構44は、ディスクキャッシュ用メモリ36から有効データを吐き出し、通常動作を禁止する状態、すなわちライトバック動作を禁止した動作モードに移行する(ステップC5)。
【0087】
さらに、データ管理機構44は、ハードディスク装置14−1〜14−nのコントローラ領域に格納されている初期化日時(タイムスタンプ)のデータを更新して、SRAMカード38上のデータが古くなったことを明示するように変更する。この場合も前述したライトコマンド受信時の処理と同様に、図7における処理のステップA10において、タイムスタンプ異常が検出されてデータの保護が可能となる。
【0088】
このようにして、通常のデータ転送時に、診断用データの転送を付加し、診断用データにから求められるチェックコードの判定により、データ転送の正常性を検証するので信頼性を向上させることができる。
【0089】
また、SRAMカード38に格納される各ブロックのデータに対してチェックコードを付加することにより、ホストシステム10から、一定時間毎、及びアイドル状態となった時に明示的にデータに対する診断要求を出して、データの異常検出を行なうことができるので信頼性を向上させることができる。
【0090】
以下、本発明の効果が発揮されると想定できる具体的状況の一例について説明する。
例えば、通常運用では、ディスクコントローラ12に故障が発生した場合には、即時システム停止とし、正常なディスクコントローラ12に交換した後、この交換したディスクコントローラ12にSRAMカード38を差し替えて再立ち上げを実行することで通常運用に復帰させる。この時、故障原因の追求のためにハードディスク装置14−1〜14−nから任意の装置を取り外すことがあるが、誤って間違ったハードディスク装置を再接続してしまうことが想定される。
【0091】
また、SRAMカード38に対するアクセス異常がチェックコードによる診断で検出され、ライトバックキャッシュ動作を停止した状態でシステム運用を実施する。その後、故障原因追究のため、別のSRAMカードを用意してキャッシュ動作確認を実行した後、結局コントローラ側の問題であることが判明し、新規コントローラに元のSRAMカード38を結合して再立ち上げを実行することが想定できる。
【0092】
このような場合、本発明では再立ち上げ時に、図7のフローチャートに示すように各種チェックが施され、以上が検出されて処理が停止されるため、データ破壊が防止でき、エラー表示(図7中ステップA3,A9,A10)から問題点が判定される。これにより、SRAMカード38の接続を正しくする、またはキャッシュシステムの再初期化を実施する等の対策を実施することで、通常運用に戻すことができる。
【0093】
このようにして、パリティビットに代わる冗長コード(チェックコード)をSRAMカード38に持たせ、このチェックコードを用いて書き込まれたデータの正当性をチェックすることで保存データの信頼性を向上させ、かつ、その冗長コードを使用して通常動作中のデータ転送の信頼性をも向上させることができる。
【0094】
また、電池交換日付を明示的に表示させることにより電池交換時期を推測可能として、確実に電池切れに至る以前に電池交換を可能とすることにより、ライトバック動作の禁止期間を最小限に止どめることができる。
【0095】
さらに、幾つかの保護機能を持たせることで、保守作業時の作業ミス等が発生した場合であっても異常通知がなされるので、人間系による点検を促し、データ保護を行なうことができる。
【0096】
なお、前述した実施形態においては、キャッシング対象とする接続装置をハードディスク装置14としているが、他の記憶媒体を用いる記憶装置であっても勿論良い。
【0097】
【発明の効果】
以上詳述したように本発明によれば、ディスクキャッシュにおいてキャッシュ用メモリと併用して使用される不揮発性メモリの保存データの信頼性の向上と確実な保護が可能となるものである。
【図面の簡単な説明】
【図1】本発明の実施形態に係わるディスクキャッシュを有するコンピュータシステムの概略構成を示すブロック図。
【図2】本実施形態におけるホストシステム10からのデータの書き込みの処理(ライトコマンド処理)の基本的な動作について説明するためのフローチャート。
【図3】本実施形態におけるホストシステム10からの指示及びデータに対する処理についての概略を説明するための図。
【図4】本実施形態におけるSRAMカード38内のデータ形態の一例を示す図。
【図5】本実施形態における診断データA,Bの一例を示す図。
【図6】本実施形態における診断データA,Bの転送順序を説明するための図。
【図7】本実施形態におけるデータ管理機構44の立ち上げ時の動作について説明するためのフローチャート。
【図8】本実施形態における通常動作中におけるライトコマンド受信時の動作を説明するためのフローチャート。
【図9】本実施形態における通常動作中における診断要求受信時の動作を説明するためのフローチャート。
【符号の説明】
10…ホストシステム
12…ディスクコントローラ
14,14−0〜14−n…ハードディスク装置
16…接続用コネクタ
20,30…CPU
22…CPUローカルメモリ
24,40…外部回路接続用バス変換回路
32…F/W用メモリ
34…DMAコントローラ
36…ディスクキャッシュ用メモリ
37…コネクタ
38…SRAMカード
38、外部回路接続用バス変換回路
42…SCSIチップ
44…データ管理機構
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a disk cache system that employs a write-back method, and relates to a disk cache system and a disk cache method that are suitable for protecting write-back cache data.
[0002]
[Prior art]
In a computer system, a disk cache is used to improve an effective access speed to an external connection device such as a hard disk device. By using the disk cache, the recently accessed disk block data is stored in a memory that can be accessed at high speed, and if the next requested data is stored in the memory, the data is immediately accessed without actually accessing the disk. Can be transferred.
[0003]
In recent years, a disk controller that employs a write-back method as a disk cache sometimes uses a nonvolatile memory in addition to the disk cache memory and stores data in the nonvolatile memory. By using a detachable non-volatile memory together, for example, when a failure occurs in the disk controller, the maintenance can be restored by attaching the non-volatile memory to a normal disk controller and replacing it. It becomes possible.
[0004]
As an affordable non-volatile memory for achieving these purposes, there is an SRAM card of JEIDA (Japan Electronic Industry Development Assosiation) (PCMCIA (Personal Computer Memory Card Interface)) standard. A cache system was sometimes configured.
[0005]
[Problems to be solved by the invention]
As described above, in the conventional disk cache system, the SRAM card is used as the nonvolatile memory in combination with the disk cache memory.
However, in the above-described prior art, a general JEIDA (PCMCIA) standard SRAM card does not have a parity bit, so that the reliability of stored data is insufficient for some system requirements. .
[0006]
In addition, regarding the battery life of the SRAM card, a signal to that effect is output when the replacement time is approaching due to voltage monitoring. By monitoring this signal, the write back operation is prohibited when the battery runs out. Data protection is possible. However, since there is no signal to know the remaining battery time before that, it is difficult to know when to replace the battery, and in an operation mode that has a regular maintenance period that is performed only once every several months, the regular maintenance period During this period, the battery runs out, and the operation in a performance degradation state where the write-back operation is prohibited may be forced.
[0007]
In addition, in a write-back type cache system using an SRAM card, it is assumed that a failure handling function is incorporated in the controller. However, the SRAM card itself does not have any function for this purpose. There has been a problem that erroneous data may be written in the apparatus and the original data may be destroyed due to an error of a worker who performs the work.
[0008]
The present invention has been made to solve the above-described problem, and is a disk cache capable of improving the reliability of data stored in a nonvolatile memory used in combination with a cache memory in the disk cache and ensuring protection. It is an object to provide a system and a disk cache method.
[0009]
[Means for Solving the Problems]
  The present invention relates to a disk cache system that employs a write-back method as a writing method for a disk device to be cached. The internal area is managed as a block, and a non-volatile data in which a write request to the disk device is written using a block as a basic unit. And the normal data to be written to the non-volatile storage means and the predetermined diagnostic data for at least one block used for determining the normality of the data transfer, and for each block, A data transfer unit that generates a check code based on data to be written to the block and writes the check code to the nonvolatile storage unit, and a check code based on the diagnostic data transferred by the data transfer unit corresponds to the predetermined diagnostic data Check code and And determining diagnostic data determining means for determining correct or not in, characterized by comprising a control means for inhibiting normal operation when it is determined that there is abnormal by the data determining unit.
[0010]
  By adding a check code to the data in units of blocks to enable the validity check, it is possible to check even non-volatile storage means that does not have a parity check function, ie, JEIDA / PCMCIA standard SRAM cards. Only by requiring a relatively small memory capacity for the code, the normality of the data stored in the SRAM card can be checked and the reliability can be improved.
  By adding predetermined diagnostic data to normal transfer data and transferring it, the check code generated for the diagnostic data is already known. Diagnosis during normal operation is possible, and the reliability of data stored in the nonvolatile storage means (SRAM card) can be improved.
[0013]
  Also,An apparatus for specifying a disk device connected to the system with respect to an area different from an area for data transfer to the disk apparatus provided in the nonvolatile storage means and a specific area of the disk device connected to the system A first writing means for writing information, device information stored in the non-volatile storage means by the first writing means at the appropriate time, and a specific area of the disk device actually connected to the system at this time It further comprises device determination means for comparing the written device information with each other to determine whether or not the connected disk device is correct, and the control means is determined to be abnormal by the device determination means. In this case, normal operation is prohibited.
[0014]
As a result, for example, when a system failure occurs, the disk device is removed for the purpose of pursuing the cause and the wrong disk device is connected at the time of restart, or the nonvolatile storage means to be used Even if there is a mistake, the disk device actually connected to the system is made consistent between the nonvolatile storage means and the device information to be written in the disk device (for example, there is consistency between both stored at the time of cache system initialization). Since the legitimacy can be determined from the serial number of the connection device, there is no possibility of destroying data due to incorrect operation.
[0015]
  Also,An apparatus for specifying a disk device connected to the system with respect to an area different from an area for data transfer to the disk apparatus provided in the nonvolatile storage means and a specific area of the disk device connected to the system A first writing means for writing information, device information stored in the non-volatile storage means by the first writing means at the appropriate time, and a specific area of the disk device actually connected to the system at this time It further comprises device determination means for comparing the written device information with each other to determine whether or not the connected disk device is correct, and the control means is determined to be abnormal by the device determination means. In this case, normal operation is prohibited.
[0016]
As a result, it is clearly determined that the data stored in the nonvolatile storage means (SRAM card) should not be used from information (for example, cache system initialization date and time) that can determine whether the data is new or old. Even if an incorrect SRAM card is connected during recovery after occurrence, data destruction can be avoided.
[0017]
  Also,A battery for backing up data written in the nonvolatile storage means, a writing means for writing a replacement date when the battery is replaced in a predetermined area in the nonvolatile storage means, and the nonvolatile storage by the writing means It further comprises reading means for reading and presenting an exchange date written in a predetermined area of the means.
[0018]
This makes it easy to determine the remaining battery life of the non-volatile storage means (SRAM card) whose data is backed up by the battery. For example, when an operation mode in which periodic maintenance is performed is adopted, the battery life is reached by the next maintenance period. It can be clearly determined that the battery will run out, and measures such as replacing the battery in advance can be taken. Therefore, the data stored in the nonvolatile storage means (SRAM card) can be reliably protected.
[0019]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a schematic configuration of a computer system having a disk cache system according to the present embodiment. The disk cache system in the present embodiment employs a write back method as a write method.
[0020]
As shown in FIG. 1, the computer system comprises a host system 10, a disk controller 12, and a hard disk device 14 (hard disk devices (HDD0 to HDDn) 14-0 to 14-n). The host system 10 and the disk controller 12 are connected via a connection connector 16. The connection connector 16 corresponds to, for example, a PCI bus.
[0021]
The host system 10 includes a CPU 20, a CPU local memory 22, an external circuit connection bus conversion circuit 24, and the like.
The CPU 20 controls the entire system and operates based on programs and data stored in the CPU local memory 22. In this embodiment, the CPU 20 manages a diagnosis request command for checking the normality of data stored in an SRAM card 38 (described later) in the disk controller 12 at regular time intervals and when an idle state is entered. Issue to mechanism 44. Further, the CPU 20 issues a command for reading the battery replacement date / time data of the SRAM card 38 in the disk controller 12 to the data management mechanism 44.
[0022]
The CPU local memory 22 is a memory accessed by the CPU 20 and stores various data in addition to an OS (operating system) and application programs that define the operation of the CPU 20. The CPU local memory 22 includes diagnostic data for checking whether data transfer from the host system 10 to the disk controller 12 has been normally performed. In the present embodiment, two types of diagnostic data A and B are prepared.
[0023]
The external circuit connection bus conversion circuit 24 is an interface for inputting / outputting data and commands to / from an external circuit, and data between the CPU local memory 22 and the disk cache memory 36 of the disk controller 12 and the hard disk device 14. And a command path for inputting and outputting commands between the CPU 20 and the CPU 30 of the disk controller 12 are provided. The external circuit connection bus conversion circuit 24 is connected to the disk controller 12 via the connection connector 16.
[0024]
The disk controller 12 controls access from the host system 10 to the hard disk device 14, and includes a CPU 30, F / W (firmware) memory 32, a DMA (Direct Memory Access) controller 34, a disk cache memory 36, and a connector 37. , An SRAM card 38, an external circuit connection bus conversion circuit 40, and a SCSI (Small Computer System Interface) chip 42. The CPU 30 and the F / W memory 32 constitute a data management mechanism 44 to control the function of the disk cache for accessing the hard disk device 14 from the host system 10.
[0025]
The CPU 30 controls the disk controller 12 and controls access from the host system 10 to the hard disk device 14 based on a program stored in the F / W memory 32.
[0026]
The F / W memory 32 stores a program that defines the operation of the CPU 30, and includes a program that realizes access control from the host system 10 to the hard disk device 14 and a disk cache function.
[0027]
The DMA controller 34 (data transfer means) controls access to the disk cache memory 36 and the SRAM card 38 under the control of the data management mechanism 44 (CPU 30). Data is input / output from / to the SCSI chip 42. Further, the DMA controller 34 generates a check code based on the block data when writing each block data to the SRAM card 38 (data area), and also writes this check code to the SRAM card 38 (check code area). Further, the DMA controller 34, under the control of the data management mechanism 44, supplies one or more blocks of diagnostic data (in this embodiment, two blocks of diagnostic data A and B) in addition to normal transfer data when writing data. Write to the SRAM card 38 (diagnosis data area). In this embodiment, a block having 256 bytes as a basic unit of transfer is used.
[0028]
The data management mechanism 44 (control means, writing means) controls the writing of data written from the host system 10 to the disk cache memory 36 and the SRAM card 38, accesses to the hard disk device 14, and faults in the power supply and controller. It has a function of performing data recovery at the time of occurrence (restoration of data stored in the disk cache memory 36).
[0029]
In addition, the data management mechanism 44 in the present embodiment, in addition to various checks including a check of the normality of the data stored in the SRAM card 38 at startup (apparatus determination means), according to a command from the host system 10, Check normality of data transfer using diagnostic data when receiving a write command (diagnosis data determination means), and check normality using a check command for data stored in the SRAM card 38 when receiving a diagnosis request command (data determination) Means) and the like.
[0030]
The disk cache memory 36 is a memory used in the function of the disk cache, and is configured by a DRAM, for example.
The connector 37 is used to connect the SRAM card 38, and is configured according to specifications conforming to, for example, JEIDA (Japan Electronic Industry Development Assosiation) (PCMCIA (Personal Computer Memory Card Interface)) standard.
[0031]
The SRAM card 38 (nonvolatile storage means) is a storage medium that can be removed from the system by the connector 37 and is used for data writing from the host system 10. The SRAM card 38 has a configuration in which a battery for data backup is provided, and is used as a high-speed nonvolatile storage medium that can retain stored data even when it is removed from the system.
[0032]
The external circuit connection bus conversion circuit 40 is an interface for inputting / outputting data and commands to / from an external circuit, and data between the disk cache memory 36 and the hard disk device 14 and the CPU local memory 22 of the host system 10. And a command path for inputting and outputting commands between the CPU 30 and the CPU 20 of the host system 10 are provided. The external circuit connection bus conversion circuit 40 is connected to the host system 10 via the connection connector 16.
[0033]
The SCSI chip 42 is an interface for connecting the hard disk device 14.
The hard disk device 14 is used for storing data, programs, and the like. In addition to a disk area (hereinafter referred to as a user area) to be used for normal use, a serial number set for each apparatus. And a dedicated disk area (hereinafter referred to as a controller area) for storing the initialization date and time of the cache system. In the present embodiment, it is assumed that a plurality (n) of hard disk devices 14-0 to 14-n (HDD0 to HDDn) are connected.
[0034]
Next, the operation in this embodiment will be described.
First, the basic operation of data write processing (write command processing) from the host system 10 will be described with reference to the flowchart shown in FIG. FIG. 3 is a diagram for explaining an outline of processing for instructions and data from the host system 10.
[0035]
In the present embodiment, when a write command is received in the disk controller 12, a process for determining the normality of data transfer as shown in the flowchart of FIG. 8 is executed together with the process shown in the flowchart of FIG. . Details will be described later.
[0036]
First, when there is a write request (write command) of data stored in the CPU local memory 22 from the CPU 20 of the host system 10 to the hard disk device 14 via a command path, the data management mechanism 44 (CPU 30) of the disk controller 12 Activates write command processing for data obtained via the data path.
[0037]
The data management mechanism 44 checks whether an area for writing data can be acquired for both the disk cache memory 36 and the SRAM card 38 (step S1).
[0038]
If an area for writing data is acquired (step S2), the data management mechanism 44 writes data to both the disk cache memory 36 and the SRAM card 38 (step S3).
[0039]
At this time, the writing to the disk cache memory 36 is performed in accordance with a general write-back method, taking into account the simplicity of the subsequent search processing (during reading and writing) from a plurality of segment-managed areas. A segment is selected and executed.
[0040]
On the other hand, writing of data to the SRAM card 38 is executed by selecting an arbitrary area from the free area. At the same time, from the directory information for the written data, that is, the address indicating the write position (disk area) of the data to the hard disk device 14 and the address indicating the position (memory area) where the data is written to the disk cache memory 36. Write address information.
[0041]
Further, a flag used for processing for guaranteeing the validity of data is added to the directory information (or data). Specifically, when an area for writing data is acquired, a flag is set so as to indicate that a command is being executed, and when data is normally transferred from the host system 10, the flag is set to indicate that the data is valid. Rewrite.
[0042]
The data management mechanism 44 notifies the host system 10 of the end of the write command processing after successfully completing the flag writing.
Note that writing to the SRAM card 38 is performed in a format that allows efficient writing to the disk, regardless of whether an appropriate segment is selected and written to the disk cache memory 36. For example, the write data is continuous data (block data) serving as a data unit (for example, sector unit) when writing to the hard disk device 14.
[0043]
On the other hand, if an area for writing data cannot be acquired in step S2, the data management mechanism 44 writes the requested data to the corresponding area in the user area of the hard disk device 14, and after the writing is completed. The host system 10 is notified of the end of the write command process.
[0044]
When a predetermined state is reached while the write command processing as described above is performed a plurality of times (when idling or when a certain time has elapsed, etc.), it is stored in the disk cache memory 36 according to a normal write-back method. The process of writing the data to the write request address in the user area of the hard disk device 14 is performed.
[0045]
In the present embodiment, the disk controller 12 stores the data in the SRAM card 38 shown in the flowchart of FIG. 9 in response to a diagnosis request issued from the host system 10 when it is idle or when a certain time has elapsed. Processing for determining the normality of the data is executed. Details will be described later.
[0046]
FIG. 4 shows an example of the data form in the SRAM card 38. As shown in FIG. 4, a system area, a data area, and a check code area are provided in the memory space of the SRAM card 38, and data is stored for each block. A diagnostic data area is provided in a part of the data area.
[0047]
In the system area, data indicating the date when the battery for data backup of the SRAM card 38 is replaced (battery replacement date), and HDD serial numbers set in the hard disk devices 14-1 to 14-n (HDD0 to HDDn), respectively. , Data indicating the date and time when the cache system was initialized (cache system initialization date and time), and other cache control information such as directory information. A flag used for processing for guaranteeing the validity of the cache data stored in the data area is added to the directory information.
[0048]
In the data area, a plurality of data (cache data) is stored for each block (in FIG. 4, four cache data are shown). In the data area, two blocks of diagnostic data areas (diagnostic data 1 and 2) are provided.
[0049]
In the check code area, check codes corresponding to the data of each block managed in the system area and the data area are stored. The check code in this embodiment is obtained by performing an XOR (EXCLUSIVE-OR) operation on all data in the corresponding block with an initial value of “0” by the check code generation function of the DMA controller 34 during data transfer. However, since the data stored in the system area is not subject to DMA (Direct Memory Access) by the DMA controller 34, the data management mechanism 44 generates a check code corresponding to the data as needed. It is assumed that it is stored in the check code area of the SRAM card 38.
[0050]
In FIG. 4, the check code corresponding to the system area is “code0”, the check code corresponding to the cache data 0 is “code1”, and the check code corresponding to the diagnostic data 2 is “code6”. An area other than valid data in which no check code is stored in the check code area is an empty area, but it can also be assigned as a system area.
[0051]
Note that the data format shown in FIG. 4 is a simplified data format for the sake of simplicity of description. Actually, the capacity of the SRAM card 38 is about 1 MB or more, and there are thousands of blocks. For this reason, in FIG. 4, the check code area has only one block, but actually, a plurality of blocks corresponding to the check code corresponding to the amount of data stored in the system area and the data area are allocated as the check code area. In the system area, a plurality of blocks are allocated because the cache control information is large in capacity. On the other hand, since the diagnosis data area uses two diagnosis data A and B (details will be described later with reference to FIG. 4) in this embodiment, it consumes 2 blocks (diagnosis data 1 and 2). The ratio of the total capacity may be small.
[0052]
FIG. 5 shows an example of the diagnostic data A and B in the present embodiment. The diagnostic data A and B is a data pattern in which an abnormality can be detected when a certain bit of the data bus can take only a fixed value or is affected by the state of another bit.
[0053]
For example, as shown in FIG. 5A, the diagnostic data A is data in which the check code for the data is “AA” (1 word = 1 byte, hexadecimal notation) as shown in FIG. 5B. It is a pattern. Further, as shown in FIG. 5C, the diagnosis data B is data in which the check code for the data is “55” (1 word = 1 byte, hexadecimal notation) as shown in FIG. 5D. It is a pattern. Diagnostic data A and diagnostic data B, except for data that is “00”, are data in which the value of each bit is different from each other at the same byte position, and the probability of abnormality detection can be improved by using them simultaneously. it can.
[0054]
As shown in FIG. 6, the diagnostic data A and B are transmitted as diagnostic data 1 and 2 alternately with the transfer order changed every time data is transferred from the host system 10. That is, in transfer 1, diagnostic data A is used as diagnostic data 1 and diagnostic data B is used as diagnostic data 2. In transfer 2, diagnostic data B is used as diagnostic data 1 and diagnostic data A is used as diagnostic data 2. Similarly, for transfer 3 and later, the order of diagnostic data A and B is alternately changed as diagnostic data 1 and 2 for each data transfer.
[0055]
Next, the operation for improving the reliability of the data stored in the SRAM card 38 and reliably protecting the SRAM card 38 in this embodiment will be described with reference to the flowchart. The main operation according to the present invention is divided into two types, that is, during start-up processing and during normal operation (when a write command is received and when a diagnosis request is received). The respective processing procedures are shown in FIG. 7, FIG. 8, and FIG. ing.
[0056]
However, although not specifically shown in the flowchart, in order to implement the present invention, initialization processing of the cache system is necessary. In the initialization process of the cache system, the data management mechanism 44 determines the serial number, initialization date and time of each connection device (hard disk device 14-0 to 14-n) connected via the SCSI chip 42 at the time of initialization. Is stored in the system area of the SRAM card 38, and the serial number and the initialization date / time are written in the controller area of the hard disk devices 14-0 to 14-n, and the data in the SRAM card 38 and the data in the connection device are written. Keep them consistent. The initialization date / time data may be acquired from the host system 10 or may be generated by the data management mechanism 44.
[0057]
When the battery of the SRAM card 38 is replaced, it is necessary to write the replacement date in the system area on the SRAM card 38 in the same manner. For example, after the battery is replaced, the host system 10 executes the management program of the disk controller 12 and issues a command for writing the data indicating the battery replacement date to the SRAM card 38. Data indicating the battery replacement date is stored in 38 system areas.
[0058]
The data of the battery replacement date stored in the SRAM card 38 is, for example, the data management mechanism 44 when the host system 10 executes the management program for the SRAM card 38 and requests the battery replacement date to be displayed. Read out. The host system 10 displays the battery replacement date based on the battery replacement date data read by the data management mechanism 44.
[0059]
That is, by providing a function that can display the battery replacement date from the data stored in the system area of the SRAM card 38 in response to a request at an arbitrary time, the person who acquired the information can change the battery replacement date and the battery The remaining period can be accurately determined by comparing the lifetime (usually 1 or 2 years).
[0060]
Next, the operation when starting up the data management mechanism 44 will be described with reference to FIG.
In a cache system using the write-back method, if data cannot be written to the hard disk device 14 during normal operation (due to a power failure, controller failure, etc.), the data management mechanism 44 uses the SRAM card at the next startup. An attempt is made to execute a process for writing the data stored in the hard disk device 14 to the hard disk device 14.
[0061]
In the present invention, in order to ensure the reliability of data at this time, various checks are performed as shown in the flowchart of FIG.
First, the data management mechanism 44 determines the normality of the check code for each of all blocks on the SRAM card 38 (step A1). The data management mechanism 44 generates a check code from the data stored in each block stored in the system area and the data area of the SRAM card 38 (by XOR operation), and the target block already stored in the check code area Each check code corresponding to is compared to check whether it is the same. When power is cut off during data transfer, fraud occurs in one block of the system area / data area, but the block is regarded as valid.
[0062]
As a result of the check code comparison, if it can be determined that the data is not normal (step A2), the data management mechanism 44 notifies the host system 10 of the illegality of the data stored in the SRAM card 38 and stops ( Step A3). In response to the notification from the data management mechanism 44, the host system 10 displays a message indicating that the data stored in the SRAM card 38 is informed on a display device (not shown).
[0063]
If the data in the SRAM card 38 is invalid, the SRAM card 38 is inspected in the human system. Data can be prevented from being destroyed by appropriate measures taken by workers.
[0064]
On the other hand, if it is determined that the normality is determined by the check code, the data management mechanism 44 indicates the validity of the data added to the directory information in the cache control information written in the system area of the SRAM card 38. With reference to the flag, the presence or absence of data (write back data) to be discharged to the hard disk device 14 is checked (step A4). If there is no write-back data (step A5), the data management mechanism 44 ends the start-up process (step A6).
[0065]
When write-back data exists, the data management mechanism 44 checks the HDD serial number in the system area on the SRAM card 38 and actually connects the hard disk devices 14-0 to 14-n (HDD0 to HDDn). ) Is determined (step A7). That is, the data management mechanism 44 uses the serial number written in the system area of the SRAM card 38 and the serial number stored in the controller area of the hard disk devices 14-0 to 14-n during the initialization process of the cache system. To determine whether the serial numbers match.
[0066]
As a result, when the serial numbers do not match and it is determined that the current connection device is not valid (step A8), the data management mechanism 44 notifies the host system 10 of the connection device abnormality. (Step A9). In response to the notification from the data management mechanism 44, the host system 10 displays on the display device (not shown) that the connection device abnormality is notified.
[0067]
If there is an abnormality in the connection device, check whether the SRAM card 38 used in the human system is correct and check whether the connection device (hard disk device 14) currently connected is correct. Is done.
[0068]
On the other hand, if the connected hard disk device 14 is valid, the data management mechanism 44 sends the cache system initialization date and time (time stamp) written in the system area on the SRAM card 38 and the hard disk devices 14-0 to 14- The initialization date and time (connection device time stamp) stored in the n controller area is compared to determine whether or not the initialization date and time match (step A10).
[0069]
As a result, when the initialization date and time do not match and it is determined that the data stored in the SRAM card 38 is not valid, for example, when the data is old (step A11), the data management mechanism 44 determines that the host system 10 In response to this, the time stamp abnormality is notified and stopped (step A12). In response to the notification from the data management mechanism 44, the host system 10 causes a display device (not shown) to display a notification that a time stamp abnormality has been notified.
[0070]
When there is a time stamp abnormality, an inspection is performed to determine whether the SRAM card 38 used in the human system is correct.
On the other hand, if the initialization date written in the SRAM card 38 being used is valid, the data management mechanism 44 remains in the data area based on the cache control information (directory information, etc.) in the system area. The write-back cache operation is completed by discharging the valid data to the hard disk device 14 (step A13).
[0071]
Thus, when the data management mechanism 44 is started up, the data written in the SRAM card 38, that is, the check code written in the check code area and the cache system initialization date / time written in the system area are used. Data normality can be checked.
[0072]
In addition, since the battery replacement date and time can be written in the system area of the SRAM card 38 and arbitrarily read out and displayed, operation in a performance deterioration state in which the battery is inadvertently run out and the write back operation is prohibited. Can be avoided.
[0073]
Next, the operation at the time of receiving a write command during normal operation will be described with reference to the flowchart shown in FIG.
When there is a write request (write command) to the hard disk device 14 for data stored in the CPU local memory 22 from the host system 10 via the command path, the data management mechanism 44 sends a normal request to the DMA controller 34. It is set to transfer diagnostic data after data transfer (step B1).
[0074]
The DMA controller 34 transfers 256-byte block data under the control of the data management mechanism 44, and generates a check code by an XOR operation for each block of data transfer by the check code generation function. Is written in the check code area (step B2).
[0075]
Two diagnostic data 1 and 2 are transferred after normal data transfer, and a check code is generated in the same way for the diagnostic data 1 and 2. The data management mechanism 44 checks the check code for the diagnostic data 1 and 2 to determine the normality of the data transfer (step B3).
[0076]
That is, as described with reference to FIG. 6, the diagnosis data A and the diagnosis data B are alternately transferred as the diagnosis data 1 and 2 every time the data is transferred. Accordingly, it is already known whether the value of the check code for the diagnostic data 1 and 2 when the data transfer is normally performed is “AA” or “55” (see FIG. 5).
[0077]
The data management mechanism 44 reads the check code corresponding to the two diagnostic data 1 and 2 from the check code area of the SRAM card 38 and compares the check code with a known check code to determine normality.
[0078]
If the check code for the diagnostic data 1 and 2 is the same as the value of the valid check code, the data management mechanism 44 provides the entire system including the check code generation function of the DMA controller 34, all bits of the data bus, address lines, etc. The normal operation over the entire data transfer system is determined to be normal, and the process is terminated (step B4).
[0079]
On the other hand, when the check codes for the diagnostic data do not match and it is determined that the diagnosis data is not normal, the data management mechanism 44 executes a retry operation. If it still does not become normal, the data management mechanism 44 ejects valid data from the disk cache memory 36, and shifts to a state in which normal operation is prohibited, that is, an operation mode in which write back operation is prohibited (step B5).
[0080]
Further, the data management mechanism 44 updates the data of the initialization date (time stamp) stored in the controller area of the hard disk devices 14-1 to 14-n, and the data on the SRAM card 38 becomes out of date. Change to be explicit.
[0081]
Here, the initialization date and time stored in the controller area of the hard disk devices 14-1 to 14-n and the cache system initialization date and time stored in the system area of the SRAM card 38 are made inconsistent with each other. In step A10 of the process in FIG. 7, a time stamp abnormality is detected, and data can be protected.
[0082]
Next, the operation at the time of receiving a diagnosis request during normal operation will be described with reference to the flowchart shown in FIG.
The host system 10 issues a diagnosis request command for checking the normality of the data stored in the SRAM card 38 in the disk controller 12 to the data management mechanism 44 at regular time intervals and when the host system 10 becomes idle. .
[0083]
When receiving the diagnosis request command, the data management mechanism 44 reads the data of each block from the data area of the SRAM card 38 and generates a check code corresponding to each block by XOR operation (step C1).
[0084]
The data management mechanism 44 reads the check code corresponding to the data of each block written at the time of data transfer stored in the check code area of the SRAM card 38, and compares it with the check code generated in step C1 for each block. (Step C3).
[0085]
When the check codes of the respective blocks match (step C4), the data management mechanism 44 determines that the data stored in the SRAM card 38 is normal and ends the diagnosis process.
[0086]
On the other hand, if the check codes do not match (step C4), the data management mechanism 44 ejects valid data from the disk cache memory 36 and shifts to a state in which normal operation is prohibited, that is, an operation mode in which write back operation is prohibited. (Step C5).
[0087]
Further, the data management mechanism 44 updates the data of the initialization date (time stamp) stored in the controller area of the hard disk devices 14-1 to 14-n, and the data on the SRAM card 38 becomes out of date. Change to be explicit. In this case as well, similar to the process at the time of receiving the write command, the time stamp abnormality is detected at step A10 of the process in FIG. 7, and the data can be protected.
[0088]
In this way, the transfer of diagnostic data is added during normal data transfer, and the normality of the data transfer is verified by determining the check code required from the diagnostic data, so that the reliability can be improved. .
[0089]
Further, by adding a check code to the data of each block stored in the SRAM card 38, the host system 10 explicitly issues a diagnosis request for the data at regular time intervals and when it enters an idle state. Since the abnormality of data can be detected, the reliability can be improved.
[0090]
Hereinafter, an example of a specific situation that can be assumed to exhibit the effect of the present invention will be described.
For example, in normal operation, if a failure occurs in the disk controller 12, the system is immediately stopped, and after replacement with a normal disk controller 12, the SRAM card 38 is replaced with the replaced disk controller 12, and the system is restarted. Return to normal operation by executing. At this time, an arbitrary device may be removed from the hard disk devices 14-1 to 14-n to pursue the cause of the failure, but it is assumed that the wrong hard disk device is reconnected by mistake.
[0091]
In addition, an access abnormality to the SRAM card 38 is detected by a check code diagnosis, and the system operation is performed with the write-back cache operation stopped. After that, after investigating the cause of failure, preparing another SRAM card and executing the cache operation check, it was eventually found that the problem was on the controller side, and the original SRAM card 38 was joined to the new controller and restarted. It can be assumed that the raising is performed.
[0092]
In such a case, according to the present invention, at the time of restart, various checks are performed as shown in the flowchart of FIG. 7, and the above is detected and the processing is stopped. The problem is determined from the middle steps A3, A9, A10). As a result, the normal operation can be restored by implementing measures such as correct connection of the SRAM card 38 or re-initialization of the cache system.
[0093]
In this way, the SRAM card 38 is provided with a redundant code (check code) in place of the parity bit, and the reliability of the stored data is improved by checking the validity of the data written using this check code, In addition, the reliability of data transfer during normal operation can be improved by using the redundant code.
[0094]
In addition, by explicitly displaying the battery replacement date, it is possible to estimate the battery replacement time, and by making it possible to replace the battery before the battery runs out, the write-back operation prohibition period is minimized. You can
[0095]
Further, by providing some protection functions, even when a work mistake or the like at the time of maintenance work occurs, an abnormality notification is given, so that the inspection by a human system can be promoted and data protection can be performed.
[0096]
In the above-described embodiment, the connection device to be cached is the hard disk device 14, but may be a storage device using another storage medium.
[0097]
【The invention's effect】
As described in detail above, according to the present invention, it is possible to improve the reliability of data stored in a nonvolatile memory used in combination with a cache memory in a disk cache and to reliably protect the data.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a schematic configuration of a computer system having a disk cache according to an embodiment of the present invention.
FIG. 2 is a flowchart for explaining a basic operation of data write processing (write command processing) from the host system 10 in the present embodiment.
FIG. 3 is a diagram for explaining an outline of processing for instructions and data from the host system 10 in the present embodiment;
FIG. 4 is a diagram showing an example of a data form in an SRAM card 38 in the present embodiment.
FIG. 5 is a diagram showing an example of diagnostic data A and B in the present embodiment.
FIG. 6 is a diagram for explaining a transfer order of diagnostic data A and B in the present embodiment.
FIG. 7 is a flowchart for explaining an operation at the time of start-up of the data management mechanism 44 in the embodiment.
FIG. 8 is a flowchart for explaining an operation when a write command is received during a normal operation in the embodiment.
FIG. 9 is a flowchart for explaining an operation when a diagnosis request is received during a normal operation in the embodiment.
[Explanation of symbols]
10 ... Host system
12 ... Disk controller
14, 14-0 to 14-n... Hard disk device
16 ... Connector for connection
20, 30 ... CPU
22 ... CPU local memory
24, 40 ... Bus conversion circuit for external circuit connection
32 ... F / W memory
34 ... DMA controller
36 ... Memory for disk cache
37 ... Connector
38 ... SRAM card
38, bus conversion circuit for external circuit connection
42. SCSI chip
44 ... Data management mechanism

Claims (5)

キャッシング対象となるディスク装置に対する書き込み方式としてライトバック方式を採るディスクキャッシュシステムにおいて、
内部エリアがブロック管理され、ブロックを基本単位として前記ディスク装置に対する書き込み要求のあったデータが書き込まれる不揮発性記憶手段と、
前記不揮発性記憶手段に対して書き込むべき通常のデータとデータ転送の正常性を判定するために使用する少なくとも1ブロック分の所定の診断データを転送すると共に、前記ブロック毎に、ブロックに書き込むべきデータに基づくチェックコードを生成して前記不揮発性記憶手段に書き込むデータ転送手段と、
前記データ転送手段によって転送された前記診断データに基づくチェックコードが、前記所定の診断データに応じたチェックコードとして正しいか否かを判定する診断データ判定手段と、
前記データ判定手段によって異常があることが判定された場合に通常の動作を禁止する制御手段と
を具備したことを特徴とするディスクキャッシュシステム。
In a disk cache system that adopts a write-back method as a writing method for a disk device to be cached,
Non-volatile storage means in which block management of the internal area is performed, and data for which a write request has been made to the disk device as a basic unit is written;
The normal data to be written to the nonvolatile storage means and the predetermined diagnostic data for at least one block used for determining the normality of the data transfer are transferred, and the data to be written to the block for each block A data transfer unit that generates a check code based on the non-volatile storage unit and
Diagnostic data determination means for determining whether a check code based on the diagnostic data transferred by the data transfer means is correct as a check code according to the predetermined diagnostic data;
A disk cache system comprising: control means for prohibiting normal operation when the data judging means judges that there is an abnormality.
前記不揮発性記憶手段に設けられる前記ディスク装置に対するデータ転送用の領域とは別の領域と、システムに接続されたディスク装置の特定の領域に対して、システムに接続されたディスク装置を特定する装置情報を書き込む第1の書き込み手段と、An apparatus for specifying a disk device connected to the system with respect to an area different from an area for data transfer to the disk apparatus provided in the nonvolatile storage means and a specific area of the disk apparatus connected to the system A first writing means for writing information;
適時において前記第1の書き込み手段によって前記不揮発性記憶手段に記憶された装置情報と、この時点で実際にシステムに接続されているディスク装置の特定の領域に書き込まれた装置情報とを比較して、接続されたディスク装置が正しいか否かを判定する装置判定手段とをさらに具備し、  Compare the device information stored in the non-volatile storage means by the first writing means at the appropriate time with the device information written in a specific area of the disk device actually connected to the system at this time. And a device determination means for determining whether or not the connected disk device is correct,
前記制御手段は、前記装置判定手段によって異常があることが判定された場合に通常の動作を禁止することを特徴とする請求項1記載のディスクキャッシュシステム。  2. The disk cache system according to claim 1, wherein the control unit prohibits a normal operation when the device determination unit determines that there is an abnormality.
前記不揮発性記憶手段に設けられる前記ディスク装置に対するデータ転送用の領域とは別の領域と、システムに接続されたディスク装置の特定の領域に対して、前記不揮発性記憶手段に記憶されたデータの新旧を判断できる情報を書き込む第2の書き込み手段と、The data stored in the non-volatile storage means is stored in an area different from the area for data transfer to the disk apparatus provided in the non-volatile storage means and a specific area of the disk device connected to the system. A second writing means for writing information capable of determining old and new;
適時において前記第2の書き込み手段によって前記不揮発性記憶手段に記憶された情報と、この時点で実際にシステムに接続されているディスク装置の特定の領域に書き込まれた情報とを比較して、情報の正当性を判定する判定手段とをさらに具備し、  The information stored in the non-volatile storage means by the second writing means at the appropriate time is compared with the information actually written in a specific area of the disk device currently connected to the system at this time. And determining means for determining the legitimacy of
前記制御手段は、前記判定手段によって情報が正当でないと判定された場合に通常の動作を禁止することを特徴とする請求項1記載のディスクキャッシュシステム。  2. The disk cache system according to claim 1, wherein the control unit prohibits a normal operation when the determination unit determines that the information is not valid.
前記不揮発性記憶手段に書き込まれたデータをバックアップするための電池と、A battery for backing up data written in the nonvolatile storage means;
前記不揮発性記憶手段における所定の領域に前記電池が交換された交換日付を書き込む書き込み手段と、  Writing means for writing a replacement date when the battery was replaced in a predetermined area in the nonvolatile storage means;
前記書き込み手段によって前記不揮発性記憶手段の所定の領域に書き込まれた交換日付を読み出して提示する読み出し手段と  Reading means for reading and presenting the replacement date written in a predetermined area of the nonvolatile storage means by the writing means;
をさらに具備したことを特徴とする請求項1記載のディスクキャッシュシステム。The disk cache system according to claim 1, further comprising:
キャッシング対象となるディスク装置に対する書き込み方式としてライトバック方式を採るディスクキャッシュ方法において、
内部エリアがブロック管理され、ブロックを基本単位として前記ディスク装置に対する書き込み要求のあったデータが書き込まれる不揮発性記憶手段に対して、書き込むべき通常のデータとデータ転送の正常性を判定するために使用する少なくとも1ブロック分の所定の診断データと共に、前記ブロック毎に、ブロックに書き込むべきデータに基づいてチェックコードを生成して書き込み、
この書き込まれた前記診断データに基づいて生成されたチェックコードが、前記所定の診断データに応じたチェックコードとして正しいか否かを判定し、
この判定によって異常があることが判定された場合に通常の動作を禁止することを特徴とするディスクキャッシュ方法。
In a disk cache method that adopts a write-back method as a writing method for a disk device to be cached,
Used to determine the normal data to be written and the normality of data transfer to the non-volatile storage means in which the internal area is managed as a block and the data requested to be written to the disk unit is written using the block as a basic unit Along with predetermined diagnostic data for at least one block, a check code is generated and written for each block based on data to be written to the block,
It is determined whether the check code generated based on the written diagnostic data is correct as a check code according to the predetermined diagnostic data,
A disk cache method characterized by prohibiting normal operation when it is determined by this determination that there is an abnormality.
JP12485396A 1996-05-20 1996-05-20 Disk cache system and disk cache method Expired - Fee Related JP3923563B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12485396A JP3923563B2 (en) 1996-05-20 1996-05-20 Disk cache system and disk cache method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12485396A JP3923563B2 (en) 1996-05-20 1996-05-20 Disk cache system and disk cache method

Publications (2)

Publication Number Publication Date
JPH09305491A JPH09305491A (en) 1997-11-28
JP3923563B2 true JP3923563B2 (en) 2007-06-06

Family

ID=14895721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12485396A Expired - Fee Related JP3923563B2 (en) 1996-05-20 1996-05-20 Disk cache system and disk cache method

Country Status (1)

Country Link
JP (1) JP3923563B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003076498A (en) * 2001-09-05 2003-03-14 Hitachi Ltd Disk storage device
JP5398551B2 (en) 2008-02-08 2014-01-29 富士通株式会社 Backup method, controller, and disk array system
JP6318769B2 (en) * 2014-03-28 2018-05-09 富士通株式会社 Storage control device, control program, and control method
JP2016170536A (en) * 2015-03-11 2016-09-23 日本電気株式会社 Information processing device, information processing method, and program

Also Published As

Publication number Publication date
JPH09305491A (en) 1997-11-28

Similar Documents

Publication Publication Date Title
US6415350B2 (en) Card-type storage medium
KR0128218B1 (en) Nonvolatile memory with flash erase capability
US6243827B1 (en) Multiple-channel failure detection in raid systems
US8065492B2 (en) System and method for early detection of failure of a solid-state data storage system
US6851071B2 (en) Apparatus and method of repairing a processor array for a failure detected at runtime
JP3058743B2 (en) Disk array controller
US7793166B2 (en) Methods and systems for recovering meta-data in a cache memory after a corruption event
US7900084B2 (en) Reliable memory for memory controller with multiple channels
US20060206752A1 (en) Storage system, control method thereof, and program
BR112014005623B1 (en) METHOD OF RECORDING PENDING WRITINGS IN A STORAGE SET AND COMPUTER-READABLE STORAGE MEDIA
JP2004234052A (en) Storage device
JP2002333935A (en) Method and system for hot-inserting controller in redundant controller system
US7818609B2 (en) Methods and systems for managing corrupted meta-data in a computer system or network
JP2004021811A5 (en)
WO2014132373A1 (en) Storage system and memory device fault recovery method
KR20140079285A (en) Salvaging event trace information in power loss interruption scenarios
JP2004021811A (en) Disk control device using non-volatile memory
CN112650612B (en) A memory fault location method and device
US5421003A (en) Disk storage system with fault tolerant media maintenance
US7356744B2 (en) Method and system for optimizing testing of memory stores
JP2002529853A (en) Write protected disk cache apparatus and method for subsystem hard disk with large capacity memory
JP3923563B2 (en) Disk cache system and disk cache method
JPH10161938A (en) Disk controller
JP2001075741A (en) Disk control system and data maintenance method
JPH10302485A (en) Information processing device having flash memory

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070202

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: 20070220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070222

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100302

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110302

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120302

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees