(57)【要約】【課題】実際に入出力エラーが発生した位置を含む最小割り当て単位のファイルスペースを、最小割り当て単位の代替ファイルスペースを確保して置換するように復旧する。【解決手段】ファイルアクセス手段６は、ジョブ５からのファイルアクセス命令に基づいて実ファイル入出力手段１１に二重化ファイル３のアクセスを指示する。参照の場合は正ファイル４ａから読み込み、更新の場合は正ファイル４ａおよび副ファイル４ｂへ書き出す。実ファイル入出力手段１１から入出力エラーが返却された場合、ファイル復旧手段７は、エラー発生位置を含む最小割り当て単位のファイルスペースの代りに最小割り当て単位の代替ファイルスペース１０を確保して内容を書き出す。この際、代替ファイルスペース１０をエラー発生個所のファイルスペースの代りとするように、ファイルスペース情報８ａまたはファイルスペース情報８ｂを更新する。【選択図】　図１
2004013439.tif 000002
【特許請求の範囲】
【請求項１】
正ファイルおよび副ファイルにより二重化された二重化ファイルに対して、参照時に正ファイルまたは副ファイルから内容を読み込み、更新時に正ファイルおよび副ファイルに同一の内容を書き出すコンピュータシステムにおいて、
参照時に正ファイルの入出力エラーが発生したときに最小割り当て単位の代替ファイルスペースを記憶部に確保して副ファイルから読み出した内容を書き込み、その書き込み時に入出力エラーが発生した場合に、再度、最小割り当て単位の代替ファイルペースを前記記憶部の別位置に確保して副ファイルから読み出した内容を書き込み、以下、代替ファイルスペースの書き込みができるまで繰り返して正ファイルを復旧する工程と、
更新時に正ファイルまたは副ファイルの入出力エラーが発生したときに最小割り当て単位の代替ファイルスペースを前記記憶部に確保して該代替ファイルスペースを使用して再書き込みを行い、その書き込み時に入出力エラーが発生した場合に、再度、最小割り当て単位の代替ファイルペースを前記記憶部の別位置に確保して該代替ファイルスペースを使用して再書き込みを行い、以下、代替ファイルスペースの書き込みができるまで繰り返して正ファイルまたは副ファイルを復旧する工程と
を含むことを特徴とする二重化ファイルの入出力エラーの省スペース復旧方法。
【請求項２】
前記正ファイルのファイルスペースと前記副ファイルのファイルスペースとが、別々の独立した記憶デバイスに割り付けられることを特徴とする請求項１記載の二重化ファイルの入出力エラーの省スペース復旧方法。
【請求項３】
それぞれにファイルスペース情報を持つ正ファイルおよび副ファイルからなる二重化ファイル，および該二重化ファイルへのファイルアクセス時に入出力エラーが発生した場合にそのファイル復旧のために使用される最小割り当て単位の代替ファイルスペースが確保される補助記憶装置と、
前記補助記憶装置への入出力要求を発行し、入出力エラーが発生した場合、エラー発生個所のファイルスペースの代わりに最小割り当て単位の代替ファイルスペースを前記補助記憶装置に確保し、該代替ファイルスペースに内容を書き込み、その書き込み時に入出力エラーが発生した場合は、再度、最小割り当て単位の代替ファイルスペースを前記補助記憶装置の別位置に確保し、該代替ファイルスペースに内容を書き込み、以下、代替ファイルスペースへの書き込みができるまで繰り返し、該代替ファイルスペースへの書き込みができた後に書き込みが終了した代替ファイルスペースを、エラー発生個所のファイルスペースの代わりとするように、対応するファイルスペース情報を更新するデータ処理装置と
を具備することを特徴とする二重化ファイルの入出力エラーの省スペース復旧装置。
【請求項４】
前記ファイルスペース情報が、対応するファイルの記憶位置情報，および該ファイルに入出力エラーが発生した後に復旧できなかったことがあるか否かを示すエラー情報からなることを特徴とする請求項３記載の二重化ファイルの入出力エラーの省スペース復旧装置。
【請求項５】
それぞれにファイルスペース情報を持つ正ファイルおよび副ファイルからなる二重化ファイルと、
該二重化ファイルへのファイルアクセスにおいて入出力エラーが発生したときにそのファイル復旧のために使用される最小割り当て単位の代替ファイルスペースが確保されるデータ格納手段と、
前記二重化ファイルに対してファイルアクセス命令を発行するファイルアクセス命令発行手段と、
正ファイルおよび副ファイルへの入出力要求を記憶デバイスに対して発行し、入出力エラー発生時には入出力エラーおよびエラー発生個所を呼び出し元に返却する実ファイル入出力手段と、
前記ファイルアクセスにおいて入出力エラーが発生したとき、エラー発生個所のファイルスペースの代りに、最小割り当て単位の代替ファイルスペースを前記データ格納手段に確保し、該代替ファイルスペースに対して内容を書き込み、その書き込み時にエラーが発生した場合は、再度、最小割り当て単位の代替ファイルスペースを前記データ格納手段の別位置に確保し、該代替ファイルスペースに内容を書き込み、以下、代替ファイルスペースの書き込みができるまで繰り返し、該代替ファイルスペースへの書き込みができた後に書き込みが終了した代替ファイルスペースを有効とするために対応するファイルスペース情報を更新するファイル復旧手段と、
前記ファイルアクセス命令発行手段からの二重化ファイルへのファイルアクセス命令を受け付け、対応する二重化ファイルのファイルスペース情報をチェックして内容を参照または更新するために前記実ファイル入出力手段を動作させ、前記実ファイル入出力手段から入出力正常終了が通知されたときにはファイルアクセス正常終了を前記ファイルアクセス命令発行手段に通知するとともに、前記実ファイル入出力手段から入出力エラーおよびエラー発生個所が返却されたときに前記ファイル復旧手段を起動するファイルアクセス手段と
を具備することを特徴とする二重化ファイルの入出力エラーの省スペース復旧装置。
【請求項６】
前記ファイルアクセス手段が、ファイルアクセス命令が参照である場合、正ファイルのファイルスペース情報をチェックすることにより以前のファイルアクセス時に入出力エラーが発生し復旧できなかったことがあるエラー状態であるか否かを知り、否のときに正ファイルのファイルスペースから内容を読み込み、エラー状態であった場合，または正ファイルへのアクセス時に入出力エラーが発生した場合、前記ファイル復旧手段を起動してエラー発生個所のファイルスペースの内容を副ファイルから復旧させることを特徴とする請求項５記載の二重化ファイルの入出力エラーの省スペース復旧装置。
【請求項７】
前記ファイルアクセス手段が、ファイルアクセス命令が更新である場合、正ファイルおよび副ファイルのファイルスペース情報をチェックすることにより以前のファイルアクセス時に入出力エラーが発生し復旧できなかったことがあるエラー状態であるか否かを知り、否のときに正ファイルスペースおよび副ファイルスペースに対して内容を書き込み、エラー状態であった場合，または正ファイルもしくは副ファイルのいずれかへのファイルアクセス時に入出力エラーが発生した場合、ファイル復旧手段を起動してエラー発生個所のファイルスペースの内容を代替ファイルスペースから復旧させることを特徴とする請求項５記載の二重化ファイルの入出力エラーの省スペース復旧装置。
【請求項８】
前記ファイル復旧手段が、エラー発生個所のファイルスペースの代りに、最小割り当て単位の代替ファイルスペースを確保し、復旧対象となるファイルのファイルスペース情報を更新して以降その代替ファイルスペースを有効とし、ファイルアクセス命令が参照だった場合、副ファイルスペースから内容を読み出し正ファイルスペースに書き込むとともに、ファイルアクセス命令が更新だった場合、代替ファイルスペースに対して再度書き込みを行いファイルアクセス手段に制御を渡すことを特徴とする請求項５記載の二重化ファイルの入出力エラーの省スペース復旧装置。
【請求項９】
前記ファイル復旧手段が、最小割り当て単位の代替ファイルスペースの確保に失敗した場合，または正ファイルもしくは副ファイルのいずれかへのファイルアクセス時に入出力エラーが発生した場合、復旧の対象となる、またはアクセス対象となるファイルのファイルスペース情報にエラー状態を設定することを特徴とする請求項８記載の二重化ファイルの入出力エラーの省スペース復旧装置。
【請求項１０】
正ファイルおよび副ファイルにより二重化された二重化ファイルの参照時に正ファイルから内容を読み込み、更新時に正ファイルおよび副ファイルに同一の内容を書き出すコンピュータシステムに、ファイルアクセス要求の種別を判断するステップと、参照である場合にアクセス対象となる正ファイルのファイルスペース情報をチェックすることにより以前のファイルアクセス時に入出力エラーが発生し復旧できなかったことがあるエラー状態か否かを知るステップと、否のときにそのファイルスペースから内容を読み込むステップと、正ファイルのアクセス時に入出力エラーが発生した場合、ファイル復旧手段を起動して、最小割り当て単位の代替ファイルスペースを記憶部に確保して副ファイルから読み出した内容を書き込み、その書き込み時にエラーが発生した場合に、再度、代替ファイルペースを前記記憶部の別位置に確保して副ファイルから読み出した内容を書き込み、以下、代替ファイルスペースの書き込みができるまで繰り返すことによりエラー発生個所のファイルスペースの内容を副ファイルから復旧させるステップと、ファイルアクセス要求が更新である場合、アクセス対象となる正ファイルおよび副ファイルのファイルスペース情報をチェックすることにより以前のファイルアクセス時に入出力エラーが発生し復旧できなかったことがあるエラー状態か否かを知るステップと、否のときに正ファイルスペースおよび副ファイルスペースに対して内容を書き出すステップと、その正ファイルまたは副ファイルのいずれかへの書き出し時に入出力エラーが発生した場合、ファイル復旧手段を起動して、最小割り当て単位の代替ファイルスペースを前記記憶部に確保して該代替ファイルスペースを使用して再書き込みを行い、その書き込み時にエラーが発生した場合に、再度、最小割り当て単位の代替ファイルペースを前記記憶部の別位置に確保して該代替ファイルスペースを使用して再書き込みを行い、以下、代替ファイルスペースの書き込みができるまで繰り返すことによりエラー発生個所のファイルスペースを復旧させるステップとを実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は二重化ファイルの入出力エラーの省スペース復旧方法および装置に関し、特に正ファイルおよび副ファイルにより二重化された二重化ファイルに対する入出力エラーの省スペース復旧方法および装置に関する。
【０００２】
【従来の技術】
従来の二重化ファイルのアクセスにおいては、参照時は正ファイルから読み込み、更新時は正ファイルおよび副ファイルに書き出す方式が一般的である。ただし、正ファイルおよび副ファイルのいずれかへのファイルアクセスで入出力エラーが発生した時、そのファイルを使用不能とし、その後はまるで二重化がされていないかのように入出力エラーが発生していない正常なファイルだけをアクセスするようにしていた。
【０００３】
これに加え、耐久性を向上させるために、本願出願人は、特開２０００−２１５１０９に開示するような技術をすでに提案した。特開２０００−２１５１０９記載の技術は、ジョブが二重化ファイルへのファイル参照命令を出した時に正ファイルから内容を読み込むが、正ファイルの読み込み時に入出力エラーが発生した場合、ファイル復旧手段が代替ファイルスペースを確保し、副ファイルから内容を復旧する。一方、ジョブが二重化ファイルへのファイル更新命令を出した時に正ファイルおよび副ファイルの両方に内容を書き出すが、書き出し時に入出力エラーが発生した場合、ファイル復旧手段が代替ファイルスペースを確保し再度更新して復旧することにより、復旧に用いる代替ファイルスペースが確保できる限り復旧を行い、二重化ファイルの障害耐久性を向上させるようにしたものである。
【０００４】
【発明が解決しようとする課題】
しかし、この従来の技術には、代替ファイルスペースの利用方法に無駄があり、補助記憶装置のファイルスペースの利用効率があまり良くないという問題点があった。その理由は、代替ファイルスペースを確保するサイズをファイルアクセスサイズとしてしまい、実際の入出力エラーとは関係ない部分のファイルスペースまでも置換し、無駄なファイルスペースの置換を行っていたからである。
【０００５】
本発明の目的は、入出力エラーの発生位置を含む最小割り当て単位のファイルスペース（以下、エラー発生個所のファイルスペースという）のみを置換するように最小割り当て単位の代替ファイルスペースを確保してファイルを復旧し、補助記憶装置のファイルスペースの利用効率を向上させるようにした二重化ファイルの入出力エラーの省スペース復旧方法および装置を提供することにある。ここで、最小割り当て単位とは、オペレーティングシステムやファイルシステム等で規定されているファイルスペースの最小割り当て単位であり、例えば、Ｗｉｎｄｏｗｓ（登録商標）では「クラスタ」、ＵＮＩＸ（登録商標）では「論理ブロック」という名称が付けられているものに相当する。
【０００６】
【課題を解決するための手段】
本発明の二重化ファイルの入出力エラーの省スペース復旧方法は、正ファイルおよび副ファイルにより二重化された二重化ファイルに対して、参照時に正ファイルまたは副ファイルから内容を読み込み、更新時に正ファイルおよび副ファイルに同一の内容を書き出すコンピュータシステムにおいて、参照時に正ファイルの入出力エラーが発生したときに最小割り当て単位の代替ファイルスペースを記憶部に確保して副ファイルから読み出した内容を書き込み、その書き込み時に入出力エラーが発生した場合に、再度、最小割り当て単位の代替ファイルペースを前記記憶部の別位置に確保して副ファイルから読み出した内容を書き込み、以下、代替ファイルスペースの書き込みができるまで繰り返して正ファイルを復旧する工程と、更新時に正ファイルまたは副ファイルの入出力エラーが発生したときに最小割り当て単位の代替ファイルスペースを前記記憶部に確保して該代替ファイルスペースを使用して再書き込みを行い、その書き込み時に入出力エラーが発生した場合に、再度、最小割り当て単位の代替ファイルペースを前記記憶部の別位置に確保して該代替ファイルスペースを使用して再書き込みを行い、以下、代替ファイルスペースの書き込みができるまで繰り返して正ファイルまたは副ファイルを復旧する工程とを含むことを特徴とする。
【０００７】
また、本発明の二重化ファイルの入出力エラーの省スペース復旧方法は、前記正ファイルのファイルスペースと前記副ファイルのファイルスペースとが、別々の独立した記憶デバイスに割り付けられることを特徴とする。
【０００８】
一方、本発明の二重化ファイルの入出力エラーの省スペース復旧装置は、それぞれにファイルスペース情報を持つ正ファイルおよび副ファイルからなる二重化ファイル，および該二重化ファイルへのファイルアクセス時に入出力エラーが発生した場合にそのファイル復旧のために使用される最小割り当て単位の代替ファイルスペースが確保される補助記憶装置と、前記補助記憶装置への入出力要求を発行し、入出力エラーが発生した場合、エラー発生個所のファイルスペースの代わりに最小割り当て単位の代替ファイルスペースを前記補助記憶装置に確保し、該代替ファイルスペースに内容を書き込み、その書き込み時に入出力エラーが発生した場合は、再度、最小割り当て単位の代替ファイルスペースを前記補助記憶装置の別位置に確保し、該代替ファイルスペースに内容を書き込み、以下、代替ファイルスペースへの書き込みができるまで繰り返し、該代替ファイルスペースへの書き込みができた後に書き込みが終了した代替ファイルスペースを、エラー発生個所のファイルスペースの代わりとするように、対応するファイルスペース情報を更新するデータ処理装置とを具備することを特徴とする。
【０００９】
また、本発明の二重化ファイルの入出力エラーの省スペース復旧装置は、前記ファイルスペース情報が、対応するファイルの記憶位置情報，および該ファイルに入出力エラーが発生した後に復旧できなかったことがあるか否かを示すエラー情報からなることを特徴とする。
【００１０】
さらに、本発明の二重化ファイルの入出力エラーの省スペース復旧装置は、それぞれにファイルスペース情報を持つ正ファイルおよび副ファイルからなる二重化ファイルと、該二重化ファイルへのファイルアクセスにおいて入出力エラーが発生したときにそのファイル復旧のために使用される最小割り当て単位の代替ファイルスペースが確保されるデータ格納手段と、前記二重化ファイルに対してファイルアクセス命令を発行するファイルアクセス命令発行手段と、正ファイルおよび副ファイルへの入出力要求を記憶デバイスに対して発行し、入出力エラー発生時には入出力エラーおよびエラー発生個所を呼び出し元に返却する実ファイル入出力手段と、前記ファイルアクセスにおいて入出力エラーが発生したとき、エラー発生個所のファイルスペースの代りに、最小割り当て単位の代替ファイルスペースを前記データ格納手段に確保し、該代替ファイルスペースに対して内容を書き込み、その書き込み時にエラーが発生した場合は、再度、最小割り当て単位の代替ファイルスペースを前記データ格納手段の別位置に確保し、該代替ファイルスペースに内容を書き込み、以下、代替ファイルスペースの書き込みができるまで繰り返し、該代替ファイルスペースへの書き込みができた後に書き込みが終了した代替ファイルスペースを有効とするために対応するファイルスペース情報を更新するファイル復旧手段と、前記ファイルアクセス命令発行手段からの二重化ファイルへのファイルアクセス命令を受け付け、対応する二重化ファイルのファイルスペース情報をチェックして内容を参照または更新するために前記実ファイル入出力手段を動作させ、前記実ファイル入出力手段から入出力正常終了が通知されたときにはファイルアクセス正常終了を前記ファイルアクセス命令発行手段に通知するとともに、前記実ファイル入出力手段から入出力エラーおよびエラー発生個所が返却されたときに前記ファイル復旧手段を起動するファイルアクセス手段とを具備することを特徴とする。
【００１１】
さらにまた、本発明の二重化ファイルの入出力エラーの省スペース復旧装置は、前記ファイルアクセス手段が、ファイルアクセス命令が参照である場合、正ファイルのファイルスペース情報をチェックすることにより以前のファイルアクセス時に入出力エラーが発生し復旧できなかったことがあるエラー状態であるか否かを知り、否のときに正ファイルのファイルスペースから内容を読み込み、エラー状態であった場合，または正ファイルへのアクセス時に入出力エラーが発生した場合、前記ファイル復旧手段を起動してエラー発生個所のファイルスペースの内容を副ファイルから復旧させることを特徴とする。
【００１２】
また、本発明の二重化ファイルの入出力エラーの省スペース復旧装置は、前記ファイルアクセス手段が、ファイルアクセス命令が更新である場合、正ファイルおよび副ファイルのファイルスペース情報をチェックすることにより以前のファイルアクセス時に入出力エラーが発生し復旧できなかったことがあるエラー状態であるか否かを知り、否のときに正ファイルスペースおよび副ファイルスペースに対して内容を書き込み、エラー状態であった場合、または正ファイルもしくは副ファイルのいずれかへのファイルアクセス時に入出力エラーが発生した場合、ファイル復旧手段を起動してエラー発生個所のファイルスペースの内容を代替ファイルスペースから復旧させることを特徴とする。
【００１３】
さらに、本発明の二重化ファイルの入出力エラーの省スペース復旧装置は、前記ファイル復旧手段が、エラー発生個所のファイルスペースの代りに、最小割り当て単位の代替ファイルスペースを確保し、復旧対象となるファイルのファイルスペース情報を更新して以降その代替ファイルスペースを有効とし、ファイルアクセス命令が参照だった場合、副ファイルスペースから内容を読み出し正ファイルスペースに書き込むとともに、ファイルアクセス命令が更新だった場合、代替ファイルスペースに対して再度書き込みを行いファイルアクセス手段に制御を渡すことを特徴とする。
【００１４】
さらにまた、本発明の二重化ファイルの入出力エラーの省スペース復旧装置は、前記ファイル復旧手段が、最小割り当て単位の代替ファイルスペースの確保に失敗した場合，または正ファイルもしくは副ファイルのいずれかへのファイルアクセス時に入出力エラーが発生した場合、復旧の対象となる、またはアクセス対象となるファイルのファイルスペース情報にエラー状態を設定することを特徴とする。
【００１５】
他方、本発明のプログラムは、正ファイルおよび副ファイルにより二重化された二重化ファイルの参照時に正ファイルから内容を読み込み、更新時に正ファイルおよび副ファイルに同一の内容を書き出すコンピュータシステムに、ファイルアクセス要求の種別を判断するステップと、参照である場合、アクセス対象となる正ファイルのファイルスペース情報をチェックすることにより以前のファイルアクセス時に入出力エラーが発生し復旧できなかったことがあるエラー状態か否かを知るステップと、否のときにそのファイルスペースから内容を読み込むステップと、正ファイルのアクセス時に入出力エラーが発生した場合、ファイル復旧手段を起動して、最小割り当て単位の代替ファイルスペースを記憶部に確保して副ファイルから読み出した内容を書き込み、その書き込み時にエラーが発生した場合に、再度、代替ファイルペースを前記記憶部の別位置に確保して副ファイルから読み出した内容を書き込み、以下、代替ファイルスペースの書き込みができるまで繰り返すことによりエラー発生個所のファイルスペースの内容を副ファイルから復旧させるステップと、ファイルアクセス要求が更新である場合、アクセス対象となる正ファイルおよび副ファイルのファイルスペース情報をチェックすることにより以前のファイルアクセス時に入出力エラーが発生し復旧できなかったことがあるエラー状態か否かを知るステップと、否のときにその正ファイルスペースおよび副ファイルスペースに対して内容を書き出すステップと、正ファイルまたは副ファイルのいずれかへの書き出し時に入出力エラーが発生した場合、ファイル復旧手段を起動して、最小割り当て単位の代替ファイルスペースを前記記憶部に確保して該代替ファイルスペースを使用して再書き込みを行い、その書き込み時にエラーが発生した場合に、再度、最小割り当て単位の代替ファイルペースを前記記憶部の別位置に確保して該代替ファイルスペースを使用して再書き込みを行い、以下、代替ファイルスペースの書き込みができるまで繰り返すことによりエラー発生個所のファイルスペースを復旧させるステップとを実行させることを特徴とする。
【００１６】
本発明の二重化ファイルの入出力エラーの省スペース復旧方法および装置は、二重化ファイルのアクセスの構成を提供するものであり、図１において、ファイルアクセス時に入出力エラーが発生し、ファイル復旧手段７が代替ファイルスペース１０をとって副ファイル４ｂから内容を復旧する場合、実ファイル入出力手段１１から返却される入出力エラーが発生して使用不能になった位置を含む最小割り当て単位のファイルスペースを代替する、最小割り当て単位の代替のファイルスペース１０のみを確保し、資源（ファイルスペース）の効率利用を行うことを可能にする。なお、本発明は、特開２０００−２１５１０９の技術を改良発展させたものである。
【００１７】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００１８】
［第１の実施の形態］
図１を参照すると、本発明の第１の実施の形態に係る二重化ファイルの入出力エラーの省スペース復旧装置は、プログラム制御により動作するデータ処理装置１と、ディスク装置などでなる補助記憶装置２とから、その主要部が構成されている。なお、本実施の形態と特開２０００−２１５１０９記載の実施の形態との表面的な構成上の違いは、ファイル入出力手段が、ファイルアクセス手段６と実ファイル入出力手段１１とに分割されている点である。
【００１９】
データ処理装置１は、ジョブ５と、ファイルアクセス手段６と、ファイル復旧手段７と、実ファイル入出力手段１１とを備える。
【００２０】
補助記憶装置２は、二重化ファイル３と、入出力エラー発生時のファイル復旧に用いる最小割り当て単位の代替ファイルスペース１０とを備える。なお、補助記憶装置２は、２台以上の記憶デバイスから構成されているものとする。
【００２１】
二重化ファイル３は、正ファイル４ａと、副ファイル４ｂとからなり、正ファイル４ａは、ファイルスペース情報（正）８ａと、ファイルスペース（正）９ａとからなる。同様に、副ファイル４ｂは、ファイルスペース情報（副）８ｂと、ファイルスペース（副）９ｂとからなる。なお、正ファイル４ａと副ファイル４ｂとは、別々の記憶デバイス上に作成される。
【００２２】
これらの手段は、それぞれ次のように動作する。
【００２３】
ジョブ５は、二重化ファイル３へのファイルアクセス命令をファイルアクセス手段６に出し、二重化ファイル３の参照あるいは更新を指示する。
【００２４】
ファイルアクセス手段６は、ジョブ５からのファイルアクセス命令に基づいて実際の入出力要求を実ファイル入出力手段１１に指示する。ファイルアクセス命令が参照の場合は正ファイル４ａから内容を読み込み、ファイルアクセス命令が更新の場合は正ファイル４ａおよび副ファイル４ｂの両ファイルへ内容の書き出しを行うように指示する。実ファイル入出力手段１１から入出力エラーが返却された場合は、ファイルアクセス手段６は、ファイル復旧手段７を動作させる。
【００２５】
ファイル復旧手段７は、エラー発生個所のファイルスペースの代りに、最小割り当て単位の代替ファイルスペース１０を補助記憶装置２に確保し、代替ファイルスペース１０に内容を書き出す。この際、代替ファイルスペース１０をエラー発生個所のファイルスペースの代りとするように、ファイルスペース情報（正）８ａまたはファイルスペース情報（副）８ｂを更新する。
【００２６】
ファイルスペース情報（正）８ａは、ファイルスペース（正）９ａの位置情報およびエラー情報を持つ。エラー情報とは、正ファイル４ａに入出力エラーが発生した後に復旧できなかったことがあるエラー状態であるか否かを示すＯＮまたはＯＦＦの情報である。
【００２７】
ファイルスペース情報（副）８ｂは、ファイルスペース情報（正）８ａと同様に、ファイルスペース（副）９ｂの位置情報およびエラー情報を持つ。エラー情報とは、副ファイル４ｂに入出力エラーが発生した後に復旧できなかったことがあるエラー状態であるか否かを示すＯＮまたはＯＦＦの情報である。
【００２８】
ファイルスペース（正）９ａは、内容が格納されている。
【００２９】
ファイルスペース（副）９ｂは、ファイルスペース（正）９ａと同様に、内容が格納されており、入出力エラーが発生しない限り、ファイルスペース（正）９ａと同じ内容となる。なお、ファイルスペース（副）９ｂは、ファイルスペース（正）９ａとは異なる記憶デバイス上にとられる。
【００３０】
代替ファイルスペース１０は、ファイル復旧時にとられ、エラー発生個所のファイルスペースの代わりとして使用される。代替ファイルスペース１０が確保されるサイズは、ＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）やファイルシステム等で規定されているファイルスペースの最小割り当て単位とする。
【００３１】
実ファイル入出力手段１１は、ファイルアクセス手段６またはファイル復旧手段７からの指示に基づいて実際のファイルへの入出力要求を記憶デバイスに対して発行する。また、実ファイル入出力手段１１は、入出力エラーの発生時に入出力エラーおよびエラー発生個所を呼び出し元に返却する。
【００３２】
図２を参照すると、ファイルアクセス手段６の処理は、参照判定ステップＡ１と、正ファイルエラー状態判定ステップＡ２と、実ファイル入出力手段動作ステップＡ３と、入出力エラー発生判定ステップＡ４と、ファイル復旧手段動作ステップＡ５と、復旧成功判定ステップＡ６と、副ファイルエラー状態判定ステップＡ７と、実ファイル入出力手段動作ステップＡ８と、入出力エラー発生判定ステップＡ９と、エラー状態設定ステップＡ１０と、正ファイルエラー状態判定ステップＡ１１と、実ファイル入出力手段動作ステップＡ１２と、入出力エラー発生判定ステップＡ１３と、ファイル復旧手段動作ステップＡ１４と、副ファイルエラー状態判定ステップＡ１５と、実ファイル入出力手段動作ステップＡ１６と、入出力エラー発生判定ステップＡ１７と、ファイル復旧手段動作ステップＡ１８と、正・副両ファイルエラー状態判定ステップＡ１９と、ファイルアクセス正常終了返却ステップＡ２０と、ファイルアクセス異常終了返却ステップＡ２１とからなる。
【００３３】
図３を参照すると、ファイル復旧手段７の処理は、代替ファイルスペース確保ステップＢ１と、代替ファイルスペース確保成功判定ステップＢ２と、エラー発生個所ファイルスペース情報更新ステップＢ３と、参照判定ステップＢ４と、実ファイル入出力手段動作ステップＢ５と、入出力エラー発生判定ステップＢ６と、実ファイル入出力手段動作ステップＢ７と、入出力エラー発生判定ステップＢ８と、復旧成功ステップＢ９と、正・副両ファイルスペース情報エラー状態設定ステップＢ１０と、復旧失敗ステップＢ１１と、実ファイル入出力手段動作ステップＢ１２と、入出力エラー発生判定ステップＢ１３と、ファイルスペース情報エラー状態設定ステップＢ１４とからなる。
【００３４】
図４を参照すると、実ファイル入出力手段１１の処理は、入出力要求発行ステップＣ１と、入出力エラー発生判定ステップＣ２と、入出力正常終了返却ステップＣ３と、入出力エラーおよびエラー発生個所返却ステップＣ４とからなる。
【００３５】
次に、このように構成された第１の実施の形態に係る二重化ファイルの入出力エラーの省スペース復旧装置の動作について、図１，図２，図３，および図４を参照して詳細に説明する。
【００３６】
ジョブ５が二重化ファイル３の参照，更新等のファイルアクセス命令を出すと、ファイルアクセス手段６がその要求を受け取る。
【００３７】
まず、ファイルアクセス手段６の動作について説明する。
【００３８】
ファイルアクセス手段６は、ファイルアクセス命令が参照であるか更新であるかを判断し（ステップＡ１）、参照の場合は二重化ファイル３のファイルスペース情報（正）８ａに基づいて正ファイル４ａがエラー状態かどうかを調べる（ステップＡ２）。エラー状態とは、以前の二重化ファイル３への入出力時に入出力エラーが発生し、復旧できなかったことがある状態のことである。
【００３９】
正ファイル４ａがエラー状態でなければ、ファイルアクセス手段６は、ファイルスペース（正）９ａから内容を読み込むように実ファイル入出力手段１１を動作させる（ステップＡ３）。
【００４０】
実ファイル入出力手段１１で入出力エラーが発生して入出力エラーおよびエラー発生個所が返却された場合（ステップＡ４でイエス）、ファイルアクセス手段６は、エラー発生個所を渡してファイル復旧手段７を動作させる（ステップＡ５）。
【００４１】
ファイル復旧手段７は、エラー発生個所のファイルスペースの内容を副ファイル４ｂから復旧する。
【００４２】
実ファイル入出力手段１１から入出力正常終了が返却された場合（ステップＡ４でノー），またはファイル復旧手段７から復旧成功が返却された場合（ステップＡ６でイエス）、ファイルアクセス手段６は、ファイルアクセス正常終了をジョブ５に返し（ステップＡ２０）、処理を終了する。
【００４３】
しかし、ファイル復旧手段７から正ファイル４ａの復旧失敗が返却された場合（ステップＡ６でノー），または正ファイル４ａが最初からエラー状態の場合（ステップＡ２でイエス）、ファイルアクセス手段６は、副ファイル４ｂがエラー状態か否かを判定する（ステップＡ７）。なお、ファイルアクセス手段６は、以後、ファイルスペース（正）９ａをエラー状態として参照および更新を行わない。
【００４４】
正ファイル４ａおよび副ファイル４ｂの両ファイルがエラー状態の場合（ステップＡ７でイエス）、復旧も入出力も不可能なため、ファイルアクセス手段６は、ファイルアクセス異常終了をジョブ５に返し（ステップＡ２１）、処理を終了する。
【００４５】
副ファイル４ｂがエラー状態でない場合（ステップＡ７でノー）、ファイルアクセス手段６は、ファイルスペース（副）９ｂから読み込むように実ファイル入出力手段１１を動作させる（ステップＡ８）。
【００４６】
このとき、実ファイル入出力手段１１で入出力エラーが発生して入出力エラーおよびエラー発生個所が返却された場合（ステップＡ９でイエス）、同様に復旧は不可能なため、ファイルアクセス手段６は、ファイルスペース情報（副）８ｂのエラー情報をＯＮとすることにより副ファイル４ｂをエラー状態に設定し（ステップＡ１０）、ファイルアクセス異常終了をジョブ５に返し（ステップＡ２１）、処理を終了する。以後、二重化ファイル３は、ユーザが復旧を行わなければ参照および更新を行えない。
【００４７】
ジョブ５からのファイルアクセス命令が更新だった場合（ステップＡ１でノー）、ファイルアクセス手段６は、ファイルスペース情報（正）８ａのエラー情報に基づいて正ファイル４ａがエラー状態かどうかを判定し（ステップＡ１１）、エラー状態でなかった場合は、ファイルスペース（正）９ａに内容を書き出すように実ファイル入出力手段１１を動作させる（ステップＡ１２）。
【００４８】
実ファイル入出力手段１１で入出力エラーが発生して入出力エラーおよびエラー発生個所が返却された場合（ステップＡ１３でイエス）、ファイルアクセス手段６は、正ファイル４ａを復旧するために、エラー発生個所を渡してファイル復旧手段７を動作させる（ステップＡ１４）。
【００４９】
正ファイル４ａの更新または復旧が完了した後に、副ファイル４ｂを更新する。ここでも、正ファイル４ａと同様に、副ファイル４ｂがエラー状態でなかった場合（ステップＡ１５でノー）、ファイルアクセス手段６は、ファイルスペース（副）９ｂを更新するように実ファイル入出力手段１１を動作させる（ステップＡ１６）。
【００５０】
実ファイル入出力手段１１で入出力エラーが発生し入出力エラーおよびエラー発生個所が返却された場合（ステップＡ１７でイエス）、ファイルアクセス手段６は、副ファイル４ｂを復旧するために、エラー発生個所を渡してファイル復旧手段７を動作させる（ステップＡ１８）。
【００５１】
ファイル復旧手段７が終了した場合，または副ファイル４ｂがエラー状態で書き出ししなかった場合は（ステップ１５でイエス）、ファイルアクセス手段６は、ファイルスペース情報（正）８ａおよびファイルスペース情報（副）８ｂのエラー情報に基づいて正ファイル４ａおよび副ファイル４ｂの両ファイルがエラー状態かどうかをチェックし（ステップＡ１９）、両ファイルともエラー状態だった場合は、ファイルアクセス異常終了をジョブ５に返し（ステップＡ２１）、処理を終了する。
【００５２】
また、実ファイル入出力手段１１から副ファイル４ｂへの書き出しの入出力正常終了が返却された場合（ステップＡ１７でノー），または正ファイル４ａもしくは副ファイル４ｂのどちらかがエラー状態でなかった場合（ステップＡ１９でノー）、ファイルアクセス手段６は、ファイルアクセス正常終了をジョブ５に返して（ステップＡ２０）、処理を終了する。
【００５３】
次に、ファイル復旧手段７の動作について説明する。
【００５４】
ファイル復旧手段７は、まず、エラー発生個所のファイルスペースの代りとなる最小割り当て単位の代替ファイルスペース１０を補助記憶装置２に確保する（ステップＢ１）。このとき、確保する代替ファイルスペースのサイズは、ＯＳやファイルシステム等で規定されているファイルスペースの割り当て最小割り当て単位とする。すなわち、エラー発生個所のファイルスペースを置換するだけの最小割り当て単位のファイルスペースのみを代替ファイルスペース１０として確保する。
【００５５】
最小割り当て単位の代替ファイルスペース１０の確保に失敗した場合（ステップＢ２でノー）、ファイル復旧手段７は、復旧が不可能なため、復旧対象の正ファイル４ａのファイルスペース情報８ａまたは副ファイル４ｂのファイルスペース情報８ｂにおけるエラー情報をＯＮにすることによりエラー状態を設定し（ステップＢ１４）、復旧失敗として（ステップＢ１１）、ファイルアクセス手段６に制御を戻す。
【００５６】
最小割り当て単位の代替ファイルスペース１０の確保に成功した場合（ステップＢ２でイエス）、ファイル復旧手段７は、復旧対象の正ファイル４ａのファイルスペース情報（正）８ａのエラー発生個所，または副ファイル４ｂのファイルスペース情報（副）８ｂのエラー発生個所を置換するように更新して（ステップＢ３）、代替ファイルスペース１０をエラー発生個所のファイルスペースに置換する。この場合、エラー発生個所のファイルスペースは、入出力エラーの発生時に実ファイル入出力手段１１により得られたエラー発生個所が、ファイルアクセス手段６からファイル復旧手段７に渡されることによって認識できる。
【００５７】
次に、ファイル復旧手段７は、ジョブ５からのファイルアクセス命令が参照だった場合（ステップＢ４でイエス）、ファイルスペース（副）９ｂから内容を読み込むように実ファイル入出力手段１１を動作させる（ステップＢ５）。
【００５８】
続いて、ファイル復旧手段７は、実ファイル入出力手段１１から入出力エラーおよびエラー発生個所が返却されたかどうかに基づいて入出力エラーが発生したかどうかを判定し（ステップＢ６）、入出力エラーが発生しなかった場合には、その読み込んだ内容のうち、代替ファイルスペース１０に該当する部分をファイルスペース（正）９ａに書き出すように実ファイル入出力手段１１を動作させる（ステップＢ７）。
【００５９】
ファイルスペース（副）９ｂから内容は読み込めたが（ステップＢ６でノー）、ファイルスペース（正）９ａへの書き出し時に（ステップＢ７）、再び入出力エラーが発生した場合（ステップＢ８でイエス）、ファイル復旧手段７は、ステップＢ１に制御を戻して、最小割り当て単位の代替ファイルスペース１０の確保からの処理をもう一度やり直す。
【００６０】
ファイルスペース（副）９ｂの読み込み時にも入出力エラーが発生した場合（ステップＢ６でイエス）、ファイル復旧手段７は、復旧が行えないため、ファイルスペース情報８ａおよびファイルスペース情報８ｂのエラー情報をＯＮにして正ファイル４ａおよび副ファイル４ｂをエラー状態に設定し（ステップＢ１０）、復旧失敗として（ステップＢ１１）、ファイルアクセス手段６に制御を戻す。
【００６１】
ファイルスペース（正）９ａへの書き出しが成功して入出力エラーが発生しなかった場合（ステップＢ８でノー）、ファイル復旧手段７は、復旧成功として（ステップＢ９）、ファイルアクセス手段６に制御を戻す。
【００６２】
ジョブ５からのファイルアクセス命令が更新だった場合（ステップＢ４でノー）、ファイル復旧手段７は、代替ファイルスペース１０に置換したファイルへ再度更新を行うように実ファイル入出力手段１１を動作させる（ステップＢ１２）。
【００６３】
ここで、入出力エラーが発生した場合（ステップＢ１３でイエス）、ファイル復旧手段７は、ステップＢ１に制御を戻して代替ファイルスペース１０の確保からの処理をもう一度やり直す。
【００６４】
更新が成功して入出力エラーが発生しなかった場合（ステップＢ１３でノー）、ファイル復旧手段７は、復旧成功として（ステップＢ９）、ファイルアクセス手段６へ制御を戻す。
【００６５】
最後に、実ファイル入出力手段１１の動作について説明する。
【００６６】
実ファイル入出力手段１１は、ファイルアクセス手段６またはファイル復旧手段７からの指示に従って、入出力要求を記憶デバイスに発行する（ステップＣ１）。
【００６７】
入出力エラーが発生せずに正常に終了した場合（ステップＣ２でノー）、実ファイル入出力手段１１は、入出力正常終了を呼び出し元であるファイルアクセス手段６またはファイル復旧手段７に返却する（ステップＣ３）。
【００６８】
一方、入出力エラーが発生した場合（ステップＣ２でイエス）、実ファイル入出力手段１１は、入出力エラーおよびエラー発生個所を呼び出し元であるファイルアクセス手段６またはファイル復旧手段７へ返却する（ステップＣ４）。エラー発生個所は、呼び出し元であるファイルアクセス手段６またはファイル復旧手段７に戻され、最終的にファイル復旧手段７のファイルスペース情報の更新時（ステップＢ３）に利用される。
【００６９】
次に、具体例を用いて説明する。
【００７０】
以下の具体例においては、ファイルスペースの最小割り当て単位のサイズは５とする。すなわち、ファイル復旧手段７において代替ファイルスペース１０を確保する場合（ステップＢ１）、そのサイズは５となる。
【００７１】
まず、参照時の動作について説明する。
【００７２】
二重化ファイル３が図５（ａ）および（ｂ）に示すようなファイルスペース情報（正）８ａおよびファイルスペース情報（副）８ｂを持っている場合、ジョブ５が二重化ファイル３に対してファイル内相対位置１５０からサイズ２０のファイルアクセス命令（参照）を出すと（ステップＡ１でイエス）、ファイルアクセス手段６は、ファイルスペース情報（正）８ａのエラー情報ＯＦＦに基づいて正ファイル４ａがエラー状態でないと判定し（ステップＡ２でノー）、ファイルスペース（正）９ａから内容を読み込むように実ファイル入出力手段１１を動作させる（ステップＡ３）。
【００７３】
実ファイル入出力手段１１は、入出力要求を正ファイル４ａが割り付けられている記憶デバイスに発行するが（ステップＣ１）、ここで入出力エラーが発生すると（ステップＣ２でイエス）、入出力エラーおよびエラー発生個所を呼び出し元であるファイルアクセス手段６へ返却する（ステップＣ４）。この例では、図６のような入出力エラーが発生したとする。
【００７４】
ファイルアクセス手段６は、入出力エラーが発生したため（ステップＡ４でイエス）、ファイル復旧手段７を動作させる（ステップＡ５）。
【００７５】
ファイル復旧手段７は、図６のようなファイルスペースの最小割り当て単位であるサイズ５の代替ファイルスペース１０を確保し（ステップＢ１）、エラー発生個所のファイルスペースを置換するようにファイルスペース情報（正）８ａを図５（ａ）から図６（ａ）の状態へ更新する（ステップＢ２，Ｂ３）。
【００７６】
この後、ファイル復旧手段７は、参照であるので（ステップＢ４でイエス）、ファイルスペース（副）９ｂのファイル内相対位置１５０からサイズ２０の内容を読み込むように実ファイル入出力手段１１を動作させる（ステップＢ５）。
【００７７】
実ファイル入出力手段１１は、入出力要求を副ファイル４ｂが割り付けられている記憶デバイスに発行し（ステップＣ１）、入出力エラーが発生しなければ（ステップＣ２でノー）、入出力正常終了を呼び出し元であるファイル復旧手段７へ返却する（ステップＣ３）。
【００７８】
ファイル復旧手段７は、入出力エラーが発生しなかったので（ステップＢ６でノー）、読み込んだ内容のうち、代替ファイルスペース１０に該当する部分（ファイル内相対位置：１６０，ファイルサイズ５）をファイルスペース（正）９ａに書き出すように実ファイル入出力手段１１を動作させる（ステップＢ７）。
【００７９】
実ファイル入出力手段１１の動作は、これまでの説明と同様のため、以後省略する。
【００８０】
これで、ファイルスペース（正）９ａとファイルスペース（副）９ｂとは同じ内容となり、正ファイル４ａの復旧が成功したことになる（ステップＢ８，Ｂ９）。
【００８１】
そして、ファイル復旧手段７からファイルアクセス手段６に制御が戻ると、復旧が成功しているので（ステップＡ６でイエス）、ファイルアクセス手段６は、ファイルアクセス正常終了をジョブ５に返し（ステップＡ２０）、処理を終了する。
【００８２】
二重化ファイル３のファイルスペース情報（正）８ａおよびファイルスペース情報（副）８ｂが図５（ａ）および（ｂ）に示すようであり、かつジョブ５からのファイルアクセス命令が上記と同様の参照だった時、ファイル復旧手段７は、ファイルスペース（副）９ｂの読み込み時に入出力エラーが発生した場合（ステップＢ６でイエス）、ファイルスペース情報（正）８ａおよびファイルスペース情報（副）８ｂを図６（ａ）および（ｂ）から図７（ａ）および（ｂ）の状態へ更新してエラー情報をＯＮに設定し（ステップＢ１０）、復旧失敗として（ステップＢ１１）、ファイルアクセス手段６に制御を戻す。
【００８３】
ファイルアクセス手段６は、復旧失敗であり（ステップＡ６でノー）、ファイルスペース情報（副）８ｂのエラー情報ＯＮに基づいて副ファイル４ｂがエラー状態であると判定し（ステップＡ７でイエス）、ファイルアクセス異常終了をジョブ５に返し（ステップＡ２１）、処理を終了する。
【００８４】
また、二重化ファイル３が図８（ａ）および（ｂ）に示すようなファイルスペース情報（正）８ａおよびファイルスペース情報（副）８ｂを持っている場合、ジョブ５が二重化ファイル３に対してファイル内相対位置１５０からサイズ２０のファイルアクセス命令（参照）を出すと（ステップＡ１）、ファイルアクセス手段６は、ファイルスペース情報（正）８ａのエラー情報ＯＮに基づいて正ファイル４ａがエラー状態であると判定する（ステップＡ２でイエス）。次に、ファイルアクセス手段６は、ファイルスペース情報（副）８ｂのエラー情報ＯＦＦに基づいて副ファイル４ｂがエラー状態でないと判定し（ステップＡ７でノー）、ファイルスペース（副）９ｂのファイル内相対位置１５０からサイズ２０の内容を読み込むように実ファイル入出力手段１１を動作させる（ステップＡ８）。
【００８５】
実ファイル入出力手段１１による副ファイル４ｂの内容の読み込みが入出力エラーが発生せずに正常に行われると（ステップＡ９でノー）、ファイルアクセス手段６は、ファイルアクセス正常終了をジョブ５に返し（ステップＡ２０）、処理を終了する。
【００８６】
二重化ファイル３のファイルスペース情報（正）８ａおよびファイルスペース情報（副）８ｂが図８（ａ）および（ｂ）に示すようであり、かつジョブ５からのファイルアクセス命令が上記と同じ参照だった場合、ファイルスペース（副）９ｂの読み込み時に入出力エラーが発生すると（ステップＡ９）、復旧は不可能なため、ファイルスペース情報（副）８ｂのエラー情報をＯＮにすることにより副ファイル４ｂをエラー状態に設定する（ステップＡ１０）。このとき、ファイルスペース情報（副）８ｂは、図８（ｂ）から図７（ｂ）の状態へ遷移する。
【００８７】
この後、ファイルアクセス手段６は、ファイルアクセス異常終了をジョブ５に返し（ステップＡ２１）、処理を終了する。
【００８８】
次に、更新時の動作について説明する。
【００８９】
二重化ファイル３が図５（ａ）および（ｂ）に示すようなファイルスペース情報（正）８ａおよびファイルスペース情報（副）８ｂを持っている場合、ジョブ５が二重化ファイル３に対してファイル内相対位置１５０からサイズ２０のファイルアクセス命令（更新）を出すと、ファイルアクセス手段６は、更新であることを判定し（ステップＡ１でノー）、ファイルスペース情報（正）８ａのエラー情報ＯＦＦに基づいて正ファイル４ａがエラー状態でないと判定し（ステップＡ１１でノー）、ファイルスペース（正）９ａに内容を書き出すように実ファイル入出力手段１１を動作させる（ステップＡ１２）。
【００９０】
このとき、図６のような入出力エラーが発生すると（ステップＡ１３でイエス）、ファイルアクセス手段６は、ファイル復旧手段７を動作させる（ステップＡ１４）。
【００９１】
ファイル復旧手段７は、図６のようなファイルスペースの最小割り当て単位であるサイズ５の代替ファイルスペース１０を確保し（ステップＢ１）、代替ファイルスペース１０の確保が成功すると（ステップＢ２でイエス）、エラー発生個所のファイルスペースを置換するようにファイルスペース情報（正）８ａを図５（ａ）から図６（ａ）の状態へ更新する（ステップＢ３）。
【００９２】
そして、ファイル復旧手段７は、更新であるので（ステップＢ４でノー）、改めてファイルスペース（正）９ａのファイル内相対位置１５０からサイズ２０の更新を行うように実ファイル入出力手段１１を動作させる（ステップＢ１２）。
【００９３】
実ファイル入出力手段１１で入出力エラーが発生しなければ（ステップＢ１３でノー）、ファイル復旧手段７は、正ファイル４ａは正しく更新され、復旧が成功したことになる（ステップＢ９）。
【００９４】
正ファイル４ａの復旧が成功し、かつ副ファイル４ｂがエラー状態でないので（ステップＡ１５でノー）、ファイルアクセス手段６は、ファイルスペース（副）９ｂへ同様の書き出し（ファイル内相対位置１５０からサイズ２０）を行うように実ファイル入出力手段１１を動作させる（ステップＡ１６）。
【００９５】
実ファイル入出力手段１１によるファイルスペース（副）９ｂへの書き出しが入出力エラーが発生することなく完了すると（ステップＡ１７でノー）、ファイルアクセス手段６は、ファイルアクセス正常終了をジョブ５に返し（ステップＡ２０）、処理を終了する。
【００９６】
ファイルスペース情報（正）８ａおよびファイルスペース情報（副）８ｂが図５（ａ）および（ｂ）に示すようであり、かつジョブ５のファイルアクセス命令が上記と同じ更新だった場合（ステップＡ１でノー）、ファイルアクセス手段６は、ファイルスペース情報（正）８ａのエラー情報ＯＦＦに基づいて正ファイル４ａがエラー状態でないと判定し（ステップＡ１１でノー）、ファイルスペース（正）９ａに内容を書き出すように実ファイル入出力手段１１を動作させる（ステップＡ１２）。
【００９７】
このとき、実ファイル入出力手段１１で入出力エラーが発生すると（ステップＡ１３でイエス）、ファイルアクセス手段６は、ファイル復旧手段７を動作させる（ステップＡ１４）。
【００９８】
ファイル復旧手段７は、最小割り当て単位の代替ファイルスペース１０を確保しようとして（ステップＢ１）、代替ファイルスペース１０を確保できなかった場合（ステップＢ２でノー）、ファイルスペース情報（正）８ａを図５（ａ）から図９（ａ）の状態へ更新してエラー情報をＯＮにすることにより正ファイル４ａをエラー状態に設定し（ステップＢ１４）、復旧失敗として（ステップＢ１１）、ファイルアクセス手段６に制御を戻す。
【００９９】
この後、ファイルアクセス手段６は、副ファイル４ｂがエラー状態でなければ（ステップＡ１５でノー）、ファイルスペース（副）９ｂへの更新を行うように実ファイル入出力手段１１を動作させる（ステップＡ１６）。
【０１００】
ファイルスペース（副）９ｂへの書き出しが入出力エラーが発生することなく完了すると（ステップＡ１７でノー）、ファイルアクセス手段６は、ファイルアクセス正常終了をジョブ５に返し（ステップＡ２０）、処理を終了する。
【０１０１】
また、二重化ファイル３が図８（ａ）および（ｂ）に示すようなファイルスペース情報（正）８ａおよびファイルスペース情報（副）８ｂを持っている場合に、ジョブ５が二重化ファイル３に対してファイル内相対位置１５０からサイズ２０のファイルアクセス命令（更新）を出すと（ステップＡ１でノー）、ファイルアクセス手段６は、ファイルスペース情報（正）８ａのエラー情報ＯＮに基づいて正ファイル４ａがエラー状態であると判定し（ステップＡ１１でイエス）、正ファイル４ａの更新をスキップする。
【０１０２】
次に、ファイルアクセス手段６は、ファイルスペース情報（副）８ｂのエラー情報ＯＦＦに基づいて副ファイル４ｂがエラー状態でないと判定し（ステップＡ１５でノー）、ファイルスペース（副）９ｂへ書き出すように実ファイル入出力手段１１を動作させる（ステップＡ１６）。
【０１０３】
実ファイル入出力手段１１で入出力エラーが発生した場合（ステップＡ１７でイエス）、ファイルアクセス手段６は、ファイル復旧手段７を動作させる（ステップＡ１８）。
【０１０４】
前述した例と同様に、ファイル復旧手段７が入出力エラーによって復旧に失敗した場合は、ファイルアクセス手段６は、ファイルスペース情報（副）８ｂが図８（ｂ）から図７（ｂ）と同じ状態になり、正ファイル４ａおよび副ファイル４ｂがエラー状態になるため（ステップＡ１９でイエス）、ファイルアクセス異常終了をジョブ５に返し（ステップＡ２１）、処理を終了する。
【０１０５】
このように第１の実施の形態によれば、実際に入出力エラーが発生した位置を含む最小割り当て単位のファイルスペースを、最小割り当て単位の代替ファイルスペース１０を確保して置換するように復旧し、無駄な代替ファイルスペースを確保しないため、資源（ファイルスペース）の利用効率が向上する。
【０１０６】
［第２の実施の形態］
図１０は、本発明の第２の実施の形態に係る二重化ファイルの入出力エラーの省スペース復旧装置の構成を示すブロック図である。本実施の形態に係る二重化ファイルの入出力エラーの省スペース復旧装置は、図１に示した第１の実施の形態に係る二重化ファイルの入出力エラーの省スペース復旧装置に対して、データ処理装置１にファイル制御プログラム１００が備えられている点だけが異なっている。したがって、その他の特に言及しない部分については、同一符号を付して、それらの詳しい説明を省略する。
【０１０７】
このように構成された第２の実施の形態に係る二重化ファイルの入出力エラーの省スペース復旧装置では、ファイル制御プログラム１００は、データ処理装置１に読み込まれ、当該データ処理装置１の動作をファイルアクセス手段６，ファイル復旧手段７および実ファイル入出力手段１１として制御する。ファイル制御プログラム１００の制御によるデータ処理装置１の動作は、第１の実施の形態に係る二重化ファイルの入出力エラーの省スペース復旧装置におけるデータ処理装置１の動作と全く同様になるので、その詳しい説明を割愛する。
【０１０８】
【発明の効果】
第１の効果は、資源（ファイルスペース）の利用効率が向上することである。その理由は、従来の技術（特開２０００−２１５１０９）では、入出力エラー発生時に確保する代替ファイルスペースのサイズはそのときに発行したファイルアクセスサイズであり、ファイルアクセスサイズが大きいほど置換するファイルスペースのサイズが大きくなり、正常な部分のファイルスペースまで置換する可能性も高くなっていて、代替ファイルスペースの無駄な利用があったが、本発明では、実際に入出力エラーが発生した位置を含む最小割り当て単位のファイルスペースを、最小割り当て単位の代替ファイルスペースを確保して置換するように復旧し、無駄な代替ファイルスペースを確保しないためである。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る二重化ファイルの入出力エラーの省スペース復旧装置の構成を示すブロック図である。
【図２】図１中のファイルアクセス手段の処理を示すフローチャートである。
【図３】図１中のファイル復旧手段の処理を示すフローチャートである。
【図４】図１中の実ファイル入出力手段の処理を示すフローチャートである。
【図５】図１中のファイルスペース情報の遷移例１を示す図である。
【図６】図１中のファイルスペース情報の遷移例２を示す図である。
【図７】図１中のファイルスペース情報の遷移例３を示す図である。
【図８】図１中のファイルスペース情報の遷移例４を示す図である。
【図９】図１中のファイルスペース情報の遷移例５を示す図である。
【図１０】本発明の第２の実施の形態に係る二重化ファイルの入出力エラーの省スペース復旧装置の構成を示すブロック図である。
【符号の説明】
１　データ処理装置
２　補助記憶装置
３　二重化ファイル
４ａ　正ファイル
４ｂ　副ファイル
５　ジョブ
６　ファイルアクセス手段
７　ファイル復旧手段
８ａ　ファイルスペース情報（正）
８ｂ　ファイルスペース情報（副）
９ａ　ファイルスペース（正）
９ｂ　ファイルスペース（副）
１０　代替ファイルスペース
１１　実ファイル入出力手段
Ａ１　参照判定ステップ
Ａ２　正ファイルエラー状態判定ステップ
Ａ３　実ファイル入出力手段動作ステップ
Ａ４　入出力エラー発生判定ステップ
Ａ５　ファイル復旧手段動作ステップ
Ａ６　復旧成功判定ステップ
Ａ７　副ファイルエラー状態判定ステップ
Ａ８　実ファイル入出力手段動作ステップ
Ａ９　入出力エラー発生判定ステップ
Ａ１０　エラー状態設定ステップ
Ａ１１　正ファイルエラー状態判定ステップ
Ａ１２　実ファイル入出力手段動作ステップ
Ａ１３　入出力エラー発生判定ステップ
Ａ１４　ファイル復旧手段動作ステップ
Ａ１５　副ファイルエラー状態判定ステップ
Ａ１６　実ファイル入出力手段動作ステップ
Ａ１７　入出力エラー発生判定ステップ
Ａ１８　ファイル復旧手段動作ステップ
Ａ１９　正・副両ファイルエラー状態判定ステップ
Ａ２０　ファイルアクセス正常終了返却ステップ
Ａ２１　ファイルアクセス異常終了返却ステップ
Ｂ１　代替ファイルスペース確保ステップ
Ｂ２　代替ファイルスペース確保成功判定ステップ
Ｂ３　ファイルスペース情報更新ステップ
Ｂ４　参照判定ステップ
Ｂ５　実ファイル入出力手段動作ステップ
Ｂ６　入出力エラー発生判定ステップ
Ｂ７　実ファイル入出力手段動作ステップ
Ｂ８　入出力エラー発生判定ステップ
Ｂ９　復旧成功ステップ
Ｂ１０　正・副両ファイルスペース情報エラー状態設定ステップ
Ｂ１１　復旧失敗ステップ
Ｂ１２　実ファイル入出力手段動作ステップ
Ｂ１３　入出力エラー発生判定ステップ
Ｂ１４　ファイルスペース情報エラー状態設定ステップ
Ｃ１　入出力要求発行ステップ
Ｃ２　入出力エラー発生判定ステップ
Ｃ３　入出力正常終了返却ステップ
Ｃ４　入出力エラーおよびエラー発生個所返却ステップ
【図１】
2004013439.tif 000003
【図２】
2004013439.tif 000004
【図３】
2004013439.tif 000005
【図４】
2004013439.tif 000006
【図５】
2004013439.tif 000007
【図６】
2004013439.tif 000008
【図７】
2004013439.tif 000009
【図８】
2004013439.tif 000010
【図９】
2004013439.tif 000011
【図１０】
2004013439.tif 000012