(57)【要約】【課題】ホスト計算機と記憶装置が接続された計算機システムにおいて、記憶装置がファイルを単位として動作することを可能にする。【解決手段】ホスト計算機１３はクライアント計算機１１からの要求に応じて、ファイル属性制御プログラム１３３１を実行してファイルに特別な属性を付加し、付加された属性に応じて記憶装置１４が動作するようにファイル属性制御部１３３１と記憶装置１４が連携して処理を行う。【選択図】　図１
2004005289.tif 000002
【特許請求の範囲】
【請求項１】
ファイルシステムを制御する計算部と記憶装置を有する記憶装置システムにおいて、
前記計算部は、制御部及びメモリを有し、
前記制御部は、
ネットワークを介して接続される他の計算機から指定されたファイルを前記ファイルシステムに格納されたファイルから選択し、前記選択されたファイルに関する情報を前記記憶装置に送信し、
前記記憶装置は、
コントローラ、ディスク装置及びキャッシュメモリを有し、
前記コントローラは、
前記送信されたファイルに関する情報に基づいて、前記ファイルに対応するデータブロックに対して所定の処理を行うことを特徴とする記憶装置システム。
【請求項２】
前記所定の処理とは、前記ファイルに対応するデータブロックを前記キャッシュメモリに保持する処理であることを特徴とする記憶装置システム。
【請求項３】
前記所定の処理とは、前記ファイルに関する情報に基づいて、前記ファイルに対応するデータブロックを前記キャッシュメモリから削除する処理であることを特徴とする請求項１記載の記憶装置システム。
【請求項４】
前記記憶装置に接続される第二の記憶装置を有し、
前記所定の処理とは、前記送信されたファイルに関する情報に基づいて、前記ファイルに対応するデータブロックを前記第二の記憶装置に転送する処理であることを特徴とする、請求項１及び２のうちいずれか一つに記載された記憶装置システム
【請求項５】
ファイルシステムを制御する計算部、前記計算部に接続される第一記憶装置、及び前記第一の記憶装置に接続される第二の記憶装置を有する記憶装置システムにおいて、
前記計算部は、制御部及びメモリを有し、
前記制御部は、
ネットワークを介して接続される他の計算機から指定されたファイルを前記ファイルシステムに格納されたファイルから選択し、前記選択されたファイルに関する情報を前記記憶装置に送信し、
前記第一の記憶装置は、
コントローラ、ディスク装置及びキャッシュメモリを有し、
前記コントローラは、
前記送信されたファイルに関する情報に基づいて、前記ファイルに対応するデータブロックを前記第二の記憶装置に転送することを特徴とする記憶装置システム。
【請求項６】
ファイルシステムを制御するオペレーティングシステムを有する計算機と記憶装置を有する記憶装置システムにおいて、
前記計算機は、制御部及びメモリを有し、
前記制御部は、
ネットワークを介して接続される他の計算機から指定されたファイルを前記ファイルシステムに格納されたファイルから選択し、前記選択されたファイルに関する情報を前記記憶装置に送信し、
前記記憶装置は、
コントローラ、ディスク装置及びキャッシュメモリを有し、
前記コントローラは、
前記送信されたファイルに関する情報に基づいて、前記ファイルに対応するデータブロックを前記キャッシュメモリに保持することを特徴とする記憶装置システム。
【請求項７】
ファイルシステムを制御するオペレーティングシステムを有する計算機と記憶装置を有する記憶装置システムにネットワークを介して接続される計算機であって、
制御部、メモリ及び表示画面を有し、
前記制御部は、
前記ファイルシステムに登録されているディレクトリ及びファイルの情報、並びに、前記ディレクトリ及びファイルの状態を示す情報を前記表示画面に表示し、
前記表示画面を介して、ユーザが前記ディレクトリ及びファイルの状態を示す情報を変更する手段とを有することを特徴とする計算機。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理システムなどにおける記憶装置システムのデータ管理方法に関する。
【０００２】
【従来の技術】
近年、異なるアーキテクチャや異なるオペレーティングシステムをもつ複数の計算機から、ネットワークを経由して１つの記憶装置を共有しようという技術が考案されている。ＮＡＳ（Ｎｅｔｗｏｒｋ　Ａｔｔａｃｈｅｄ　Ｓｔｏｒａｇｅ）は、記憶装置にオペレーティングシステムを付加した記憶装置システムである。ＮＡＳを使用することにより、ネットワークに接続された計算機が、ＮＡＳに格納されたファイルを単位としたデータを共有することができる。
【０００３】
ＮＡＳのようなネットワーク共有型の記憶装置システムでは、複数の計算機からのデータ参照を効率よく処理し、高速な応答を要求されるとともに、何らかの原因で共有データを失うことを防ぐ安全性が期待される。
【０００４】
一般の記憶装置では、高速な応答のためにキャッシュメモリが利用される。
また、高速な応答のために、オペレーティングシステムの機能であるスティッキビットを用いる方法もある。
【０００５】
記憶装置が有するディスク装置から計算機の主記憶にファイルが読み込まれると、スティッキビットが付加されているファイルは、そのファイルの実行中および実行後も主記憶に常駐される。
【０００６】
一般にディスク装置よりも主記憶に格納されているデータの方が高速に参照できる。したがって、主記憶にファイルを常駐させることにより、そのファイルの実行が高速に行える。
【０００７】
一方、データの安全性のために、記憶装置自身が、該装置に格納されているデータを別の媒体に複製する技術がある。
【０００８】
【発明が解決しようとする課題】
一般的に、記憶装置は所定のデータ単位であるブロックでデータを管理している。したがって、記憶装置にキャッシュを設けると、ブロック単位でのデータの高速参照が可能になる。
【０００９】
ここで、ＮＡＳ装置にキャッシュを採用した場合、ＮＡＳの利用者はファイルを単位としたデータ参照を行うので、ファイルを構成するブロックすべてがキャッシュに格納されることが望ましい。
【００１０】
しかし、ＮＡＳが有する記憶装置はファイルの構造が分からないため、ブロックの一部だけがキャッシュに格納されている状態や、時間の経過とともにキャッシュ上のデータがキャッシュから追い出される現象が発生する。このような現象が発生すると、ファイル単位でデータを参照しようとした場合に、データ参照の効率が上がらない。
【００１１】
また、スティッキビットによる方法では、ファイルを主記憶に常駐させることができる。しかし、複数の計算機から同一ファイルへの読み出し要求が発生するＮＡＳ装置の場合、ＮＡＳ装置へのデータ読み出し要求が頻繁に発生する可能性がある。しかし、ＮＡＳが有する記憶装置が、ファイルを構成するブロックをキャッシュに保存するとは限らないため、記憶装置におけるデータ更新の負荷が高まり、高速な応答ができないことがあり得る。
【００１２】
さらに、従来の技術では、データの複製を取る単位がディスク全体であり、ファイルとして未使用の部分のブロックもまとめてコピーしてしまう。この場合、複製されたデータが格納される記憶媒体が物理的に離れた場所であると、データを流す回線の容量（一定の時間に転送できるデータ量）が小さいことが多いため、複製にかかる時間が非常に増大してしまう。
【００１３】
本発明の目的は、ネットワークに接続される記憶装置システムにおいて、ファイル単位のデータの処理を高速にする技術を提供することである。
【００１４】
【課題を解決するための手段】
上記目的を解決するために、本発明では、記憶装置システムにおける記憶装置とオペレーティングシステムを実行する計算機とが連携して動作するように、ファイルシステムのファイルの属性に特定の属性を設ける。そして、計算機が記憶装置に対してファイル単位で所定の命令を発行することで、記憶装置は、所定の処理を実行する。
【００１５】
具体的な実施態様としては、記憶装置は、指定されたファイルに対応するデータブロックを、キャッシュメモリに保持する。この場合、ファイルの属性としてキャッシュ装置への常駐の要否を表す情報が与えられる。
【００１６】
別の実施態様としては、記憶装置は、指定されたファイルに対応するデータブロックを、他の記憶装置へ転送する。この場合、ファイルの属性として複製の要否を表す情報が与えられる。
【００１７】
【発明の実施の形態】
図１は、本発明を適用した計算機システムの第一の実施形態の構成を示す図である。
計算機システムは、記憶装置システム及びクライアントが使用する計算機（以下「クライアント計算機」）１１を有し、これらがネットワーク１２を介して接続される。
【００１８】
記憶装置システムは、ホスト計算機１３、記憶装置１４、およびホスト計算機と記憶装置の状態を管理する管理端末１５とを有する。ホスト計算機１３は、ネットワーク１２を介してクライアント計算機１１ａ及び１１ｂに接続される。尚、図１では簡単のために２台のクライアント計算機を記しているが、クライアント計算機の数は本発明には影響を与えない。
【００１９】
ホスト計算機１３は、ネットワーク１２と接続するためのインターフェース１３１、記憶装置１４と接続するためのインターフェース１３４、演算部及びメモリを有する。メモリには、記憶装置機能拡張をクライアント計算機１１ａと１１ｂに提供するためのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ　Ｐｒｏｇｒａｍ　Ｉｎｔｅｒｆａｃｅ）１３２及びオペレーティングシステム１３３が格納される。ＡＰＩ等は、演算部にて実行されるプログラムである。
【００２０】
また、オペレーティングシステム１３３は、記憶装置の機能拡張を実施するためのファイル属性制御プログラム１３３１を有する。ＡＰＩ１３２は、クライアント計算機１１から受けた指示を、ファイル属性制御プログラム１３３１に伝える際に、制御部で実行されるプログラムである。
【００２１】
記憶装置１４は、ホスト計算機１１と接続されるインターフェース１４１、ディスク装置１４３、キャッシュ装置１４４、およびディスク装置１４３とキャッシュ装置１４４を制御するコントローラ１４２とを有する。一般にはディスク装置１４３には磁気媒体が用いられることが多いが、光学的媒体を利用する装置であってもよい。
【００２２】
また、記憶装置１４は、一つのディスク装置１４３を有する装置であっても、ＲＡＩＤといった、複数のディスク装置１４３を有する装置でも良い。
【００２３】
クライアント計算機１１ａと１１ｂ（まとめて「クライアント計算機１１」）は、ネットワークと接続されるインターフェース１１３、制御部及びメモリ（図示しない）を有する。メモリには、ホスト計算機１３の機能を利用するクライアントプログラム１１１、オペレーティングシステム１１２が格納される。
【００２４】
クライアント計算機１１からの指示は、インターフェース１１３及びホスト計算機１３のインターフェース１３１を経由してホスト計算機の制御部に伝えられる。
【００２５】
図２は、ディスク装置１４３に格納され、コントローラ１４２に管理されるブロック属性表の例を示す図である。
ディスク装置１４３は、特定の大きさのブロックに分割されており、そのブロック位置はＬＢＡ（Ｌｏｇｉｃａｌ　Ｂｌｏｃｋ　Ａｄｄｒｅｓｓ）で一意に定められる。例えばオペレーティングシステム１３３からのデータ参照は、ＬＢＡを用いて、ディスク装置上の位置とブロック数を指定して行われる。
【００２６】
ブロック属性表は、ＬＢＡエントリ２０１及び属性ビット列エントリ２０２を有する。属性ビット列エントリ２０２には、０と１とからなるビット列が登録される。登録されるビット列の特定のビット又はビット列は、何らかの属性を示す情報であることが、予め定義されている。記憶装置１４は、予め定義された属性に従って動作する。
【００２７】
本発明においては、属性ビット列エントリ２０２に登録されるビット列の一部の予め定義されたビット又は新たに追加されたビット２０３（以下「属性ビット２０３」）が、オペレーティングシステム１３３を通して制御される。記憶装置１４は、ＬＢＡと属性ビット位置、ビット値の組を命令としてホスト計算機１３から受け取り、指定の値をブロック属性表に設定する。
【００２８】
図３は、属性ビット２０３に、ディスクブロックのキャッシュ常駐属性が定義されている場合の処理の流れを示す図である。キャッシュ常駐属性とは、データブロックのキャッシュにおける常駐の可否に関する情報を示す属性である。本処理は、ユーザ等がファイルの常駐を指示した時に実行される。
【００２９】
コントローラ１４２は、指定されたＬＢＡに対する属性ビットを、ブロック属性表から求める（ステップ３０１）。その後、コントローラ１４２は、求めた属性ビットの内、キャッシュ常駐の要否を表す属性ビット２０３の値が１かどうかを判定する（ステップ３０２）。もし１であれば、コントローラ１４２は、指定されたＬＢＡに対するブロックがキャッシュ装置１４４に保存されていないかを判定する（ステップ３０３）。
【００３０】
キャッシュ装置１４４に、指定されたＬＢＡに対応するブロックが保存されていない場合、コントローラ１４２は、指定されたブロックをディスク装置１４３から読み出して、キャッシュ装置１４４に保存する。キャッシュ装置１４４に指定されたブロックが保存されていない場合、コントローラ１４２は、処理を終了する。
【００３１】
一方、ステップ３０２で属性ビット２０３の値が０である場合、コントローラ１４２は、指定のＬＢＡに対するブロックが既にキャッシュ装置１４４に保存されているかを判定する（ステップ３０５）。指定のＬＢＡに対するブロックがキャッシュ装置１４４に保存されている場合、コントローラ１４２は、指定されたブロックをキャッシュ装置１４４から除去する。指定のＬＢＡに対するブロックがキャッシュ装置１４４に保存されていない場合、コントローラ１４２は処理を終了する（ステップ３０６）。
【００３２】
図４は、ディスク装置１４３に構築されるファイルシステムの構成例を示す図である。
オペレーティングシステム１３３は、ディスク装置１４３にファイルシステムを構築し、ファイルを単位としてデータを管理する。ファイルシステムは、ファイルシステム管理情報領域４０１、ファイル属性配列領域４０２、及びデータブロック配列領域４０３とから構成される。
【００３３】
また、ファイルシステム管理情報領域４０１及びファイル属性配列領域４０２を合わせてメタデータ領域４０４と呼ぶ。これらの領域は、ディスク装置１４３に、図４の左から右の順に配置される。
【００３４】
ファイルシステム管理情報領域４０１には、ファイル属性数、データブロック数、及びブロックサイズを示す情報が登録される。ファイル属性数は、ファイル属性配列４０２の要素数を表す。データブロック数は、データブロック配列４０３の要素数を表す。
【００３５】
ファイル属性数及びデータブロック数は、ファイルシステムが構築される時に設定される。ブロックサイズは、ディスク装置１４３のデータブロックの大きさである。ファイルはこのブロックサイズを単位として分割され、ディスク装置１４３に保存される。
一つのファイルは、ファイルのデータそのものを構成する複数のデータブロックと、ファイルに関する情報を保持するファイル属性とからなる。
【００３６】
ファイル属性配列領域４０２には、ファイルの種別、ファイルの作成日、ファイルの所有者、ファイルの参照権、及びデータブロック番号の配列を示す情報が登録される。
ファイルの種別は、ファイルが通常のファイルかディレクトリファイルかを表す情報である。ディレクトリファイルは、ファイルシステムでは通常のファイルと同じように扱われる。ディレクトリファイルには、ディレクトリ内に格納されているファイルのファイル名、及びファイル名に対応するファイル属性番号（ファイル属性番号配列４０２の要素番号）の対応関係の一覧を示す情報が含まれる。
【００３７】
ファイル参照権は、そのファイルを参照する権利を指定する情報である。参照権についての詳細は「Ｔｈｅ　Ｄｅｓｉｇｎ　ａｎｄ　Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ　ｏｆ　ｔｈｅ　４．３ＢＳＤ　ＵＮＩＸ　Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ」（Ｓａｍｕｅｌ　Ｊ．　Ｌｅｆｆｌｅｒ，　ｅｔ　ａｌ，　Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ，　１９８９）第５８ページから第６０ページに示されるので、本明細書では説明を省略する。
【００３８】
データブロック番号の配列は、ファイルを構成するディスク上のデータブロック番号（データブロック配列４０３の要素番号）を順に列挙した配列である。データブロック番号配列の要素数は、通常は固定値である。尚、その固定要素数とブロックサイズの積を超えるサイズを持つファイルの場合は、ブロック番号を収めるためのデータブロックを別途割り当て、その新データブロックの番号をデータブロック番号配列の末端に保持させる。詳細については「Ｔｈｅ　Ｄｅｓｉｇｎ　ａｎｄ　Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ　ｏｆ　ｔｈｅ　４．３ＢＳＤ　ＵＮＩＸ　Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ」（Ｓａｍｕｅｌ　Ｊ．　Ｌｅｆｆｌｅｒ，　ｅｔ　ａｌ，　Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ，　１９８９）第１９１ページから第１９５ページに開示された従来技術なので、本明細書では説明を省略する。
【００３９】
ファイルシステムが構築される時には、固定要素数のファイル属性の配列と固定要素数のデータブロックの配列が作成される。新規にファイルを作成する場合は、ホスト計算機１３のオペレーティングシステム１３３は、データブロック配列４０３からファイルのデータを収めるのに十分な数のブロックを確保してデータを書き込んだ後、ファイル属性配列４０２から未使用の要素を一つ取り出し、その要素にファイルの属性を設定する。
【００４０】
図５は、ディレクトリとファイルの関連関係を表す図である。
ファイル属性８０１には、ファイル種別としてディレクトリ６０１ａが設定されており、データブロック番号６０５ａとして１００番が格納されている。１００番のデータブロック８０２は、ディレクトリファイルであり、ファイル名”ｆｉｌｅ１”（７０１ａ）とそのファイルのファイル属性番号２０番（７０２ａ）、およびファイル名”ｄｉｒ２”（７０１ｂ）とそのファイルのファイル属性番号２３番（７０２ｂ）が格納されている。
【００４１】
ファイル属性番号２０番（８０３）は、種別がファイル（６０１ｂ）であり、そのファイルを構成するデータブロックは１０２番と１１５番と１３０番であることが格納されている（６０５ｂ）。ファイル属性８０４と８０６、ディレクトリファイル８０５も同様の仕方で関連付けされる。
尚、ディレクトリとファイルの接続関係において、最も上位にあるディレクトリをルートディレクトリと呼ぶ。
【００４２】
以下、簡単に拡張ファイル属性の構成について説明する。拡張ファイル属性とは、先に説明したファイル属性のエントリに、キャッシュ要否を表す属性が追加されたものである。キャッシュ要否を示す属性の真偽によって、対応するファイルのすべてのデータブロックを記憶装置１４のキャッシュ装置１４４に常駐させるか否かをコントローラ１４２が指示する。この動作の詳細は、図６から図９を用いて詳しく説明する。
【００４３】
尚、本実施例において、属性ビット２０３の属性は、データのキャッシュ装置１４４への常駐が行われるか否かであるとし、属性ビット２０３の値が１の場合はデータがキャッシュに常駐されることを示し、０の場合はデータがキャッシュに常駐されないことを示すものとする。
【００４４】
図６は、第一の実施形態におけるキャッシュ常駐機能の登録・解除のフローチャートである。
キャッシュ常駐機能を登録・解除する対象のファイルまたはディレクトリが決定される。このステップはクライアント計算機１１、あるいは管理端末１５上で実行される。この詳細については後に詳しく説明する。決定されたファイル等の情報は、ネットワーク１２を介して、ホスト計算機１３に転送される（ステップ１００１）。
【００４５】
ステップ１００２からステップ１００４の処理は、ホスト計算機１３がファイル属性制御プログラム１３３１を実行することで行われる。
ホスト計算機１３は、転送された情報に基づいて、指定されたファイルをファイルシステムから一つ選択し、そのファイル名、キャッシュ常駐機能変更後の状態、キャッシュ常駐機能をディレクトリに対して指定した場合にディレクトリ以下のファイルを再帰的に設定するか否かを指定する真偽値をそれぞれ変数Ｎ、Ｃ、Ｒに代入し、以降の処理で使用できるようにする（ステップ１００２）。
【００４６】
その後、ホスト計算機１３は、指定したファイルＮに対してキャッシュ常駐機能の登録・解除を設定する。この詳細については後述する（ステップ１００３）。
その後、ホスト計算機１３は、処理すべきファイルがまだあるか検査し、あればステップ１００２に戻って処理を繰り返す。無ければキャッシュ常駐機能の登録・解除を終了する（ステップ１００４）。
【００４７】
図７は、キャッシュ常駐機能を登録・解除するファイルを指定するための画面例を示す図である。
図７の画面は、クライアント計算機１１で実行されるクライアントプログラム、あるいはホスト計算機１３に接続されている管理端末１５が、キャッシュ常駐機能の登録・解除を行う使用者に、各々の計算機等が有する表示画面を介して提示するものである。
【００４８】
画面には、現在対象となっているディレクトリを示す領域１１０１、領域１１０１に表示されたディレクトリに格納されるファイルとディレクトリの一覧を示す領域１１０２、各々のファイルの常駐状態を表示し、さらに常駐機能の登録・解除を指定するためのチェックボタン１１０３、表示されたディレクトリに対して再帰的にキャッシュ常駐機能を設定するか否かを指示するチェックボタン１１０４とが表示される。
【００４９】
画面が最初に表示されたときは、各表示は、現在の登録・解除状態を表示する。使用者は、必要に応じて各々のチェックボタンを操作して、画面に表示されたファイル等の状態を変更することができる。
【００５０】
ホスト計算機１３は、図７の画面で使用者が状態を変更したファイルまたはディレクトリの情報を取得し、ＡＰＩ１３２を通してファイル属性制御プログラム１３３１に渡し、記憶装置１４へファイル等を指定するコマンドを作成する。
【００５１】
キャッシュ常駐機能を登録・解除するファイルを指定するためのコマンドは、クライアント計算機１１で動作するオペレーティングシステム１１２が持つコマンドを拡張するか、あるいは新規にコマンドをオペレーティングシステムに登録することで設定される。具体的には、以下のようなコマンドである。
【００５２】
ｃｈｍｏｄ　ｃａｃｈｅ　ｏｎ　／ｕｓｅｒ／ｈｏｍｅ／ｓｏｍｅｂｏｄｙ／ｆｉｌｅ１．ｔｘｔ
ここで、「ｃａｃｈｅ」は、キャッシュ常駐機能の登録・解除を表す指示子、「ｏｎ」は、登録・解除を表す文字列、「／ｕｓｅｒ／ｈｏｍｅ／ｓｏｍｅｂｏｄｙ／ｆｉｌｅ１．ｔｘｔ」は、登録・解除されるファイルまたはディレクトリ名を示す。
【００５３】
図８は、図６のステップ１００３の内容を詳細に説明した流れ図である。
【００５４】
ホスト計算機１３は、ファイルＮを構成する各データブロックに対して、キャッシュ常駐機能の登録・解除状態Ｃを設定する。ファイルＮがディレクトリであっても、ファイルシステムではファイルと同じ扱いなので、ここでは特別な処理は不要である。この処理の詳細については後述する（ステップ１３０１）。
【００５５】
ホスト計算機１３は、ファイルＮがディレクトリファイルかどうかを検査する。ファイルＮがディレクトリファイルでなければ、ホスト計算機１３は、本処理を終了する（ステップ１３０２）。
【００５６】
ファイルＮがディレクトリファイルであれば、ホスト計算機１３は、ディレクトリを再帰的に処理、即ち、ディレクトリ内のファイルについて、登録、解除状態を設定するか否かを判定する。再帰的に処理しないのであれば、ホスト計算機１３は、本処理を終了する（ステップ１３０３）。
【００５７】
ディレクトリを再帰的に処理するのであれば、ディレクトリファイルＮに対するデータブロックには、ディレクトリが持つファイルの一覧が保存されているので、ホスト計算機１３は、そのファイル一覧を集合Ｓとする（ステップ１３０４）。
【００５８】
その後、ホスト計算機は集合Ｓが空かどうかを検査する。集合Ｓが空であれば、ホスト計算機１３は本処理を終了する（ステップ１３０５）。
集合Ｓが空でなければ、集合Ｓからファイルを一つ取り出しＮ’とする（ステップ１３０６）。
【００５９】
その後、ホスト計算機１３は、Ｎ’を所与のファイルとして、ステップ１００３の処理、即ち本処理を再帰的に実行する（ステップ１３０７）。
【００６０】
図９は、ステップ１３０１の内容を詳細に説明した流れ図である。
ホスト計算機１３は、ファイルＮに対する拡張ファイル属性Ａを取り出す。拡張ファイル属性Ａは、ファイルＮが格納されているディレクトリを、ルートディレクトリから、ディレクトリファイルのファイルＮとファイル名が一致するファイル名に対応するファイル属性番号をたどることで得られる（ステップ１４０１）。
【００６１】
次に、ホスト計算機１３は、キャッシュ常駐の登録・解除のどちらを行うかを判定する（ステップ１４０２）。
常駐登録の場合は、ホスト計算機１３は、拡張ファイル属性Ａのキャッシュ要否を真にする（ステップ１４０３）。一方、常駐解除の場合には、ホスト計算機１３は、拡張ファイル属性Ａのキャッシュ要否属性を偽にする（ステップ１４０４）。これによってファイルＮのキャッシュ常駐状態を設定する。
【００６２】
その後、ホスト計算機１３は、拡張ファイル属性Ａのデータブロック番号配列から、データブロック番号を一つ取り出す。以下、このデータブロック番号Ｌとする（ステップ１４０５）。
その後、ホスト計算機１３は、ステップ１４０５で求めたブロック番号Ｌを、ディスク装置１４３のブロック位置を表すＬＢＡに変換する。以下、このＬＢＡをＰとする。ＬからＰへの変換は、オペレーティングシステム１３３が持つ変換表に基づいて行われる（ステップ１４０６）。
【００６３】
ホスト計算機１３は、再びキャッシュ常駐の登録・解除のどちらを行うかを判定する（ステップ１４０７）。
常駐登録の場合には、ホスト計算機１３は、Ｐに対する属性ビット２０３に１をセットするよう、記憶装置１４に命令を送る（ステップ１４０８）。一方、常駐解除の場合は、ホスト計算機１３は、Ｐに対する属性ビット２０３に０をセットするよう、記憶装置１４に命令を送る（ステップ１４０９）。命令を受信した記憶装置１４は、図３に示すステップで、指定されたブロックのキャッシュ常駐の処理を行う。
【００６４】
その後、ホスト計算機１３は、ファイルＮに未処理のデータブロックがあるかどうかを判定する。未処理のデータブロックがあれば、ホスト計算機１３は、ステップ１４０５に戻り処理を繰り返す。未処理のデータブロックが無ければ、ホスト計算機１３は、ステップ１３０１の処理を終了する（ステップ１４１０）。
【００６５】
図１０は、本発明を適用した計算機システムの第二の実施形態の構成を示す図である。
本実施形態においては、記憶装置１４は、別の記憶装置１４ａとインターフェース１５０１および１５０２を介して接続される。記憶装置間は、公衆網などを介して接続される場合や、一つの筺体の中で隣接して接続される場合などがある。また、記憶装置１４ａは、記憶装置１４と同じ構成である。
【００６６】
また、本実施形態における拡張ファイルシステム管理情報には、第一の実施形態で説明したファイルシステム管理情報の内容に加え、複製実行の有無を表す属性が含まれる。この属性は、ファイルシステム中の、一つ以上のファイルの複製が、記憶装置１４ａに作成されているか否かを表す。
【００６７】
さらに、本実施形態における拡張ファイルシステム属性は、第一の実施形態におけるファイル属性に、複製実行の要否を表す属性が追加されたものである。本属性は、対応するファイルに対する複製を記憶装置１４ａ上に作成することの要否を指示するための属性である。
【００６８】
本実施形態においては、属性ビット２０３の意味として、複製作成の要否を与え、その値が１の場合は複製を作成することを表し、０の場合は複製を作成しないことを表すものとする。
【００６９】
図１１は、第二の実施形態における複製機能の登録・解除の流れを示す図である。
まず、複製機能を登録・解除する対象のファイルまたはディレクトリが決定される。この処理は、クライアント計算機１１、又は管理端末１５で実行される。この詳細については後に詳しく説明する（ステップ１８０１）。
【００７０】
ステップ１８０２からステップ１８０６は、ホスト計算機１３がファイル属性制御プログラム１３３１を実行することで実行される。
ホスト計算機１３は、ステップ１８０１で得られたファイルをファイルシステムから一つ選択し、そのファイル名、複製機能変更後の状態をそれぞれ変数Ｎ、Ｃに代入し、以降の処理で使用できるようにする（ステップ１８０２）。
【００７１】
ホスト計算機１３は、ファイルＮの複製登録を行うか否かを検出する（ステップ１８０３）。
ファイルＮの複製登録を行う場合、ホスト計算機１３は、ファイルの複製に先立ってファイルシステムのメタデータ４０４を複製する処理を行う。この処理の詳細は後述する（ステップ１８０４）。
ファイルＮの複製登録を行わない場合、ホスト計算機１３は、ファイルＮに対して複製機能の登録・解除を設定する。この詳細についても後述する（ステップ１８０５）。
【００７２】
その後、ホスト計算機１３は、処理すべきファイルがまだあるかどうかを判定し、あるならばステップ１８０２に戻って処理を繰り返し、無ければ複製実行機能の登録・解除の処理を終了する（ステップ１８０６）。
【００７３】
図１２は、ステップ１８０４の処理手順を示した図である。
ホスト計算機１３は、ファイルＮの属するファイルシステムの拡張ファイルシステム管理情報を取り出す。以下、この情報をＳとする（ステップ１９０１）。
【００７４】
その後、ホスト計算機１３は、拡張ファイルシステム管理情報Ｓの複製実行属性の真偽を判定する。真ならばすでにメタデータは複製されたものとしてステップ１８０４の処理を終了する（ステップ１９０２）。
複製実行属性の値が偽であれば、ホスト計算機１３は、メタデータ領域のＬＢＡ範囲を求める。メタデータ領域はディスク装置１４３上で連続した領域に保存されているため、複製をとるべきＬＢＡの範囲は一つである（ステップ１９０３）。
【００７５】
その後、ホスト計算機１３は、ステップ１９０３で求めたＬＢＡ範囲を複製するように、記憶装置１４に命令を送る。命令を受け取った記憶装置１４は、ディスク装置１４３の指定されたＬＢＡの範囲に格納されているデータを、インターフェース１５０１と１５０２を介して記憶装置１４ａに送信する。データを受信した記憶装置１４ａのコントローラ１４２ａは、ディスク装置１４３ａに受信したデータを書き込む（ステップ１９０４）。
その後、ホスト計算機１３は、拡張ファイルシステム管理情報Ｓの複製実行属性を真に設定する（ステップ１９０５）。
【００７６】
図１３は、本実施形態における複製機能の登録・解除するファイルを指定するために、クライアント計算機１１等が表示画面を用いて表示する例を示した図である。
本図の画面は、クライアント計算機１１で実行されるクライアントプログラム、あるいはホスト計算機１３に接続されている管理端末１５が、複製機能の登録・解除を行う使用者に提示するものである。
【００７７】
画面には、現在処理の対象となっているディレクトリの情報を示す領域２００１、ディレクトリ２００１内にあるファイルとディレクトリの一覧を示す領域２００２、及び各々のファイルの複製状態を表示し、さらに複製機能の登録・解除を指定するためのチェックボタン２００３が表示される。ボタン２００３は、画面が最初に表示されたときには現在の複製登録・解除状態が表示されており、使用者は必要に応じてその状態を変更することができる。
【００７８】
ホスト計算機１３は、画面上で使用者が状態を変更したファイルまたはディレクトリの一覧を示す情報を、ネットワーク１２を介して取得し、ホスト計算機上のＡＰＩ１３２を通して、ステップ１８０１における出力、即ち、登録・解除するファイルを指定するためのコマンドとする。
【００７９】
登録・解除するファイルを指定するためのコマンドは、クライアント計算機１１で動作しているオペレーティングシステム１１２が持つコマンドを拡張するか、あるいは新規にコマンドをオペレーティングシステムに登録することで得られる。具体的なコマンドの例は以下のとおりである。
【００８０】
ｃｈｍｏｄ　ｒｅｍｏｔｅｃｏｐｙ　ｏｎ　／ｕｓｅｒ／ｈｏｍｅ／ｓｏｍｅｂｏｄｙ／ｆｉｌｅ１．ｔｘｔ
ここで、「ｒｅｍｏｔｅｃｏｐｙ」は、複製機能の登録・解除を表す指示子、「ｏｎ」は、登録・解除を表す文字列、「／ｕｓｅｒ／ｈｏｍｅ／ｓｏｍｅｂｏｄｙ／ｆｉｌｅ１．ｔｘｔ」は、登録・解除するファイルまたはディレクトリ名を示す。
【００８１】
図１４は、ステップ１８０５の処理を詳細に説明した流れ図である。
ホスト計算機１３は、ファイルＮに対する拡張ファイル属性Ａを取り出す（ステップ２２０１）。ファイルＮに対する拡張ファイル属性Ａは、ファイルＮが格納されているディレクトリを、ルートディレクトリから、ディレクトリファイルのファイルＮとファイル名が一致するファイル名に対応するファイル属性番号をたどることで得られる。
【００８２】
ホスト計算機１３は、Ａに対して複製実行属性の真偽値としてＣを設定する（ステップ２２０２）。
ホスト計算機１３は、Ａの種別を見て、Ｎがディレクトリか否かを検査する。ディレクトリで無いならば、ホスト計算機１３は、ステップ１８０５の処理を終了する（ステップ２２０３）。
【００８３】
ディレクトリを再帰的に処理するのであれば、ディレクトリファイルＮに対するデータブロックには、ディレクトリが持つファイルの一覧が保存されているので、ホスト計算機１３は、そのファイル一覧を集合Ｓとする（ステップ２２０４）。
【００８４】
その後、ホスト計算機１３は、集合Ｓが空かどうかを検査する。集合Ｓが空であれば、ホスト計算機１３は本処理を終了する（ステップ２２０５）。
集合Ｓが空でなければ、集合Ｓからファイルを一つ取り出しＮ’とする（ステップ２２０６）。
その後、ホスト計算機１３は、Ｎ’を所与のファイルとして、ステップ１８０５の処理、即ち本処理を再帰的に実行する（ステップ２２０７）。
【００８５】
図１５は、本実施形態における複製実行処理を表す流れ図である。この処理は、オペレーティングシステム１３３が持つファイル更新処理を拡張したものであり、ステップ２３０１は元々のオペレーティングシステムの処理、ステップ２３０２からステップ２３０５は、本実施形態における拡張処理である。
【００８６】
ホスト計算機１３は、ファイル内容を更新する（ステップ２３０１）。その後、ホスト計算機１３は、更新したファイルＮの拡張ファイル属性を取り出すし、これをＡとする（ステップ２３０２）。
その後、ホスト計算機は、拡張ファイル属性Ａの複製実行フラグの真偽値を判定し、偽であれば複製を実行する必要が無いので処理を終了する（ステップ２３０３）。
【００８７】
複製実行フラグの値が真であれば、ホスト計算機１３は、拡張ファイル属性ＡからファイルＮを構成するすべてのディスクブロックに対して、ブロック番号をＬＢＡに変換した後、それぞれのＬＢＡに対するデータの複製を作成するよう記憶装置１４に命令を送る。命令を受け取った記憶装置１４は、データブロックを記憶装置１４ａに送信する。記憶装置１４ａは、受信したデータブロックをディスク装置１４３に書き込む（ステップ２３０４）。
【００８８】
その後、ホスト計算機１３は、拡張ファイル属性Ａを格納するＬＢＡに対するデータの複製を作成するよう記憶装置１４に命令を送る（ステップ２３０５）。
【００８９】
上述した各実施形態に依れば、第一の実施形態では、ファイル参照を高速に行うことが出来、第二の実施形態では、ファイル単位でのデータ複製が可能になる。
【００９０】
【発明の効果】
本発明によれば、ファイルに対して付加された情報に応じて記憶装置が動作することが可能になる。
【図面の簡単な説明】
【図１】本発明の第一の実施形態におけるシステム図である。
【図２】ブロック属性表の例を示す図である。
【図３】ディスクブロックのキャッシュ常駐属性が定義されている場合の制御の流れ図である。
【図４】ファイルシステムの構成例を示す図である。
【図５】ディレクトリとファイルの接続関係を表す図である。
【図６】本発明の第一の実施例における、キャッシュ常駐機能の登録・解除処理の流れ図である。
【図７】本発明の第一の実施例における、キャッシュ常駐機能を登録・解除するファイルを指定する画面例である。
【図８】本発明の第一の実施例における、キャッシュ常駐機能の要否をファイルに設定する処理の流れ図である。
【図９】本発明の第一の実施例における、キャッシュ常駐機能の要否をブロックに設定する処理の流れ図である。
【図１０】本発明の第二の実施形態における、記憶装置システム図である。
【図１１】本発明の第二の実施形態における、複製機能の登録・解除処理の流れ図である。
【図１２】本発明の第二の実施形態における、メタデータの複製処理の流れ図である。
【図１３】本発明の第二の実施形態における、複製機能を登録・解除するファイルを指定する画面例である。
【図１４】本発明の第二の実施形態における、複製機能の要否をファイルに設定する処理の流れ図である。
【図１５】本発明の第二の実施形態における、複製実行の流れ図である。
【符号の説明】
１１…クライアント計算機、１２…ネットワーク、１３…ホスト計算機、１４…記憶装置、１５…管理端末、１３１…インターフェース、１３４…インターフェース、１４１…インターフェース、１４２…コントローラ、１４３…ディスク装置、１４４…キャッシュ装置。
【図１】
2004005289.tif 000003
【図２】
2004005289.tif 000004
【図３】
2004005289.tif 000005
【図４】
2004005289.tif 000006
【図５】
2004005289.tif 000007
【図６】
2004005289.tif 000008
【図７】
2004005289.tif 000009
【図８】
2004005289.tif 000010
【図９】
2004005289.tif 000011
【図１０】
2004005289.tif 000012
【図１１】
2004005289.tif 000013
【図１２】
2004005289.tif 000014
【図１３】
2004005289.tif 000015
【図１４】
2004005289.tif 000016
【図１５】
2004005289.tif 000017