(57)【要約】【課題】従来、記憶階層はホスト上プログラムにより実現されていたり、論理ディスク単位で実現されていたため、計算機への依存度が高く、柔軟なシステム構成や、管理の容易化に制限があった。また、ファイル特性に応じてファイルを最適配置することへの配慮がなかった。【解決手段】記憶装置は、ファイルＩ／Ｏインタフェース制御装置と、複数のディスクプールを備える。ファイルＩ／Ｏインタフェース制御装置は、ディスクプール内のＬＵに、複数のストレージクラスと呼ばれる記憶階層のいずれかを設定し、ＬＵにファイルシステムを構成する。ファイルＩ／Ｏインタフェース制御装置は、ファイルの静的特性とファイルの動的特性に基づき、最適なストレージクラスのＬＵにファイルをマイグレーションする。【選択図】  図７
2004295457.tif 000002
【特許請求の範囲】
【請求項１】
一又は複数の計算機と接続される記憶装置であって、
計算機からファイルの識別情報を指定したアクセス要求を受信する第一のインタフェース制御装置と、
前記第一のインタフェース制御装置と接続される第二のインタフェース制御装置と、
前記第二のインタフェース制御装置に接続される複数のディスクとを有し、
前記複数のディスクには、一又は複数の第一のディスクと、一又は複数の第二のディスクが含まれており、第一のディスクと第二のディスクは種類の異なるディスクであり、
前記第一のインタフェース制御装置は、計算機から受信した識別情報に基づいて、該識別情報によって指定されるファイルのデータの、前記複数のディスク内での格納位置を決定し、
前記第二のインタフェース制御装置は、前記第一のインタフェース制御装置によって決定された格納位置に、前記識別情報によって指定されるファイルのデータを格納するよう制御することを特徴とする記憶装置。
【請求項２】
請求項１記載の記憶装置において、
前記第一のディスクはファイバチャネル型のインタフェースを備えるファイバチャネルディスクであり、前記第二のディスクはシリアルＡＴＡ型のインタフェースを備えるシリアルＡＴＡディスクであることを特徴とする記憶装置。
【請求項３】
請求項１記載の記憶装置において、
更に、メモリと、
前記メモリを制御するためのメモリコントローラと、
各々前記メモリコントローラに接続される、複数の第一のインタフェース制御装置と、
各々前記メモリコントローラに接続される、複数の第二のインタフェース制御装置とを有し、
計算機からファイルの識別情報とファイルのデータを受信した第一のインタフェース制御装置は、ファイルのデータを前記メモリに格納し、
前記第一のインタフェース制御装置によって決定される前記ファイルのデータの格納位置に応じて、前記ファイルのデータが格納されるディスクに接続されている第二のインタフェース制御装置が、前記メモリに格納されている前記ファイルのデータをディスクに格納するよう制御することを特徴とする、記憶装置。
【請求項４】
請求項１記載の記憶装置において、
前記一又は複数の第一のディスクには第一の記憶領域が存在し、
前記一又は複数の第二のディスクには第二の記憶領域が存在し、
前記第一のインタフェース制御装置は、前記第一の記憶領域に第一のファイルシステムを、前記第二の記憶領域に第二のファイルシステムを設定することを特徴とする記憶装置。
【請求項５】
請求項４記載の記憶装置において、
前記第一のインタフェース制御装置は、計算機から受信した識別情報によって指定されるファイルの、予め定められている特徴である静的特性と、該ファイルが作成された時点からの時間の経過と共に変化する特徴である動的特性とに応じて、前記第一の記憶領域若しくは前記第二の記憶領域のいずれに、前記識別情報が示すファイルのデータを格納するかを決定することを特徴とする記憶装置。
【請求項６】
請求項５記載の記憶装置において、
前記第一のインタフェース制御装置は、前記動的特性の変化に応じて、前記第一の記憶領域若しくは前記第二の記憶領域のいずれか一方に格納されているファイルのデータを、他方の記憶領域に移行するよう制御し、
該ファイルを特定するための識別情報と、該ファイルの格納位置との対応関係を示す情報を変更することを特徴とする記憶装置。
【請求項７】
請求項６記載の記憶装置において、
前記静的特性には、ファイルの種類を特定するための情報、若しくは、ファイルが作成された日付を特定するための情報、若しくは、ファイルの価値を特定するための情報が含まれており、
前記動的特性には、ファイルへのアクセス特性に関する情報、若しくは、ファイルが作成されてからの経過時間に関する情報が含まれていることを特徴とする記憶装置。
【請求項８】
計算機に接続される記憶装置であって、
前記計算機からファイルの識別情報を有するアクセス要求を受信する一又は複数の第一のインタフェース制御装置と、
前記一又は複数の第一のインタフェース制御装置に接続される一又は複数の第二のインタフェース制御装置と、
各々が、前記一又は複数の第二のインタフェース制御装置のいずれかに接続される、複数の第一のディスクとを有し、
前記一又は複数の第一のインタフェース制御装置のいずれかは、複数の第二のディスクを有する第二の記憶装置に接続され、
前記複数の第一のディスクには第一の記憶領域が設定されており、
前記複数の第二のディスクには第二の記憶領域が設定されており、
前記計算機からアクセス要求を受信した第一のインタフェース制御装置は、受信したアクセス要求に含まれる識別情報によって指定されるファイルの特性に応じて、該ファイルのデータを前記第一の記憶領域若しくは前記第二の記憶領域のいずれに格納するかを決定し、
前記ファイルのデータが前記第一の記憶領域に格納される場合には、前記一又は複数の第二のインタフェース制御装置のいずれかが、該ファイルのデータを前記複数の第一のディスクのいずれかに格納し、
前記ファイルのデータが前記第二の記憶領域に格納される場合には、前記第二の計算機と接続されている第一のインタフェース制御装置を介して、前記ファイルのデータを前記第二の記憶装置に送信するよう、前記計算機からアクセス要求を受信した第一のインタフェース制御装置が制御することを特徴とする記憶装置。
【請求項９】
請求項８記載の記憶装置において、
前記第二の記憶装置は、ファイルの識別情報を有するアクセス要求を受信して、受信した識別情報に対応付けられた前記第二の記憶領域内の記憶領域にアクセスすることによって、該識別情報によって特定されるファイルのデータにアクセスする、第三のインタフェース制御装置を有し、
前記第三のインタフェース制御装置は、前記第二の記憶領域にファイルシステムを設定しており、
前記計算機からアクセス要求を受信した第一のインタフェース制御装置は、該アクセス要求に含まれる識別情報によって指定されるファイルのデータを、前記第二の記憶領域に格納する場合に、前記第二の記憶装置に接続されている第一のインタフェース制御装置を介して、該ファイルに対応付けられている識別情報を有するアクセス要求を、前記第三のインタフェース制御装置に送信するよう制御することを特徴とする記憶装置。
【請求項１０】
請求項９記載の記憶装置において、
前記第二の記憶装置と接続されている第一のインタフェース制御装置が、前記計算機からアクセス要求を受信することを特徴とする記憶装置。
【請求項１１】
請求項９記載の記憶装置において、
第一のインタフェース制御装置は、前記第一の記憶領域にデータが格納されているファイルの特性に基づいて、該ファイルのデータを前記第一の記憶領域から前記第二の記憶領域に、前記第三のインタフェース制御装置を介して移行するよう制御することを特徴とする記憶装置。
【請求項１２】
請求項１１記載の記憶装置において、
第一のインタフェース制御装置は、前記第一の記憶領域に格納されているファイルのデータを、前記第二の記憶領域に移行する場合に、該ファイルに対応付けられている識別情報を有するアクセス要求を、前記第三のインタフェース制御装置に送信し、前記計算機から受信する該ファイルの識別情報と前記第二の記憶領域に設定されているファイルシステムとを対応付けて記憶することを特徴とする記憶装置。
【請求項１３】
請求項１２記載の記憶装置において、
第一のインタフェース制御装置は、ファイルの特性に関する情報と前記第一の記憶領域及び前記第二の記憶領域の特性に関する情報を記憶しており、ファイルの特性に関する情報と、前記第一の記憶領域及び前記第二の記憶領域の特性に関する情報とに基づいて、前記第一の記憶領域に格納されているファイルのデータを前記第二の記憶領域に移行するか否かを決定することを特徴とする記憶装置。
【請求項１４】
計算機に接続される記憶装置であって、
前記計算機からファイルを指定するための識別情報を有するアクセス要求を受信する第一のインタフェース制御装置と、
前記第一のインタフェース制御装置に接続される第二のインタフェース制御装置と、
前記第二のインタフェース制御装置に接続される複数の第一のディスクと、
データの格納位置を示すアドレス情報が含まれるアクセス要求を受信する第四のインタフェース制御装置と、該第四のインタフェース制御装置に接続される複数の第二のディスクとを有する第二の記憶装置に接続される、第三のインタフェース制御装置とを有し、
前記複数の第一のディスクには第一の記憶領域が存在し、
前記複数の第二のディスクには第二の記憶領域が存在し、
前記計算機からアクセス要求を受信した第一のインタフェース制御装置は、受信したアクセス要求に含まれる識別情報が示すファイルの特性に応じて、該ファイルのデータを前記第一の記憶領域若しくは前記第二の記憶領域のいずれに格納するかを決定し、
前記ファイルのデータが前記第一の記憶領域に格納される場合には、前記第二のインタフェース制御装置が、該ファイルのデータを前記複数の第一のディスクのいずれかに格納し、
前記ファイルのデータが前記第二の記憶領域に格納される場合には、前記第一のインタフェース制御装置が、該ファイルのデータが格納される前記第二の記憶領域内のアドレス情報を含むアクセス要求を、前記第三のインタフェース制御装置を介して、前記第四のインタフェース制御装置に送信するよう制御することを特徴とする記憶装置。
【請求項１５】
請求項１４記載の記憶装置において、
前記第三のインタフェース制御装置は、ブロックＩ／Ｏインタフェースに対応するインタフェース制御装置であることを特徴とする記憶装置。
【請求項１６】
請求項１５記載の記憶装置において、
前記第一のインタフェース制御装置は、前記第二の記憶領域に、ファイルシステムを設定することを特徴とする記憶装置。
【請求項１７】
請求項１６記載の記憶装置において、
前記第一のインタフェース制御装置は、前記第一の記憶領域にデータが格納されているファイルの特性に基づいて、該ファイルのデータを前記第一の記憶領域から前記第二の記憶領域に、前記第三のインタフェース制御装置を介して移行するよう制御することを特徴とする記憶装置。
【請求項１８】
請求項１７記載の記憶装置において、
前記第一のインタフェース制御装置は、前記第一の記憶領域に格納されているファイルのデータを、前記第二の記憶領域に移行する場合に、該ファイルのデータが格納される前記第二の記憶領域内の記憶領域のアドレスを含むアクセス要求を、前記第三のインタフェース制御装置を介して前記第二の記憶装置に送信するよう制御し、
該ファイルの識別情報と、該ファイルのデータが格納される記憶領域を示す情報との対応関係を変更することを特徴とする記憶装置。
【請求項１９】
計算機に接続される記憶装置において、
前記計算機からファイルの識別情報を有するアクセス要求を受け付ける第一のノードと、
一又は複数の第一のディスクに接続される第二のノードと、
一又は複数の第二のディスクと、該一又は複数の第二のディスクに接続され、ファイルの識別情報を有するアクセス要求を受け付けるファイルＩ／Ｏインタフェース制御装置を有する第二の記憶装置に接続される、第三のノードと、
一又は複数の第三のディスクと、該一又は複数の第三のディスクに接続され、データの該一又は複数の第三のディスク内での格納位置を示すアドレス情報を有するアクセス要求を受け付けるブロックＩ／Ｏインタフェース制御装置を有する第三の記憶装置に接続される、第四のノードと、
前記第一のノードと、前記第二のノードと、前記第三のノードと、前記第四のノードとを相互に接続するスイッチとを有し、
前記一又は複数の第一のディスク内には第一の記憶領域が、前記一又は複数の第二のディスク内には第二の記憶領域が、前記一又は複数の第三のディスク内には第三の記憶領域が存在し、
前記第一のノードは、前記計算機から受信した識別情報によって特定されるファイルの特性に応じて、該ファイルを前記第一の記憶領域、前記第二の記憶領域、前記第三の記憶領域のいずれかに格納するよう制御することを特徴とする記憶装置。
【請求項２０】
請求項１９記載の記憶装置において、
ファイルのデータを前記第一の記憶領域に格納する場合には、前記計算機から受信した識別情報に対応付けられている、前記一又は複数の第一のディスク内の記憶領域に、前記第二のノードが、該ファイルのデータを格納するよう制御し、ファイルのデータを前記第二の記憶領域に格納する場合には、前記第一のノードが、該ファイルに対応付けられた識別情報を含むアクセス要求を、前記第三のノードを介して前記第二の記憶装置に送信するよう制御し、
ファイルのデータを前記第三の記憶領域に格納する場合には、前記第一のノードが、該ファイルのデータの前記第三の記憶領域内での格納位置を示すアドレス情報を含むアクセス要求を、前記第四のノードを介して前記第三の記憶装置に送信するよう制御することを特徴とする記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、計算機システムで用いられる記憶装置に関する。
【０００２】
【従来の技術】
特許文献１には、階層記憶装置とよぶ計算機に、高速記憶装置と低速記憶装置を接続したシステムが開示されている。特許文献１では、使用頻度の高いファイルは磁気ディスク装置などの高速記憶装置に格納され、使用頻度の低いファイルはテープ装置などの安価な低速記憶装置に格納される。そして、ファイル毎のアクセス頻度を管理するテーブルを用いて、どのファイルをどの記憶装置に配置する、即ち格納するかが決定されている。
【０００３】
また、特許文献２では、ディスクアレイサブシステムに代表されるような、計算機に接続して使用される記憶装置の内部に、処理速度や記憶容量の異なる複数の論理記憶装置を構成したシステムが開示されている。記憶装置は、記憶装置に格納されているデータに対する計算機からのアクセス頻度を、統計情報として管理し、この統計情報を基に、アクセス頻度の高いデータをより高性能な論理記憶装置へ移動させるための技術を開示している。
【０００４】
【特許文献１】
特開平９−２９７６９９号公報（第３−４頁、図１）
【特許文献２】
特開平０９−２７４５４４号公報（第３頁、図６、７）
【０００５】
【発明が解決しようとする課題】
従来の技術における第一の課題は、記憶装置に接続される計算機への依存度が高く、システム構成に制約があり、システム管理の容易化が困難であることである。
【０００６】
特許文献１では、計算機上で動作するソフトウェアにより階層記憶制御を実現している。ここで階層記憶制御とは、処理速度や記憶容量の異なる複数の記憶領域に、データの使用頻度に応じて記憶領域を変更できるよう制御するデータ記憶制御のことである。即ち、階層記憶制御とは、データの使用頻度等データの特性に応じて、処理速度や記憶容量等の特性が異なる複数の記憶領域から適切な記憶領域を選択して、選択された記憶領域にデータを記憶させるよう制御することである。しかし古い計算機を新しい計算機にリプレイスする場合等、システム構成を変更しようとした際に、ソフトウェアの制御情報を引き継ぐことができない等の理由により、システムの維持が困難になることがある。
【０００７】
特許文献２では、論理記憶装置単位で階層記憶制御が実施されているが、記憶装置が論理記憶装置に記憶されているデータのデータ構造を認識するための技術や、排他制御を実行するための技術は開示されていない。従って、複数の計算機で同一の論理記憶装置を共有することは困難であり、複数の計算機によって使用される記憶装置を集約化して、計算機システムの管理コストを低減するためには、計算機毎に論理記憶装置を割り当てる等、計算機システムの構成に一定の制約が必要となる。
【０００８】
第二の課題は、データのライフサイクルや種類に応じたデータの最適配置が困難であることである。
【０００９】
従来技術では、過去にアクセス頻度が高かったデータは、将来もアクセス頻度が高いものと推定し、データのアクセス頻度に関する統計情報や、高速にアクセスできる記憶領域の使用容量に応じて、データを記憶させる記憶領域を決定している。そして、アクセス頻度の高いデータが高速にアクセスできる記憶装置に存在する確率を高めることで、処理効率の向上を図っている。しかし、データのライフサイクル、すなわちファイル生成後からの経過時間や、データを生成したり使用したりするアプリケーションの種類ややデータ自体の種類に依存する、データの特性の相違を考慮して、データを記憶させる記憶領域を決定する技術は開示されていない。
【００１０】
第三の課題は、階層記憶制御の効果が小さいことである。
【００１１】
特許文献１では、磁気テープと磁気ディスクの容量差と価格差を利用して階層記憶制御を実行しているが、近年、磁気テープと磁気ディスクの容量差、価格差は縮小しており、これに伴って階層記憶制御によるコストの適正化、低コスト化の効果は小さくなっている。更に、磁気テープへのアクセススピードは磁気ディスクへのアクセススピードに比べて非常に遅いので、磁気テープをオンラインアクセス用の記憶装置に用いるのは困難である。
特許文献２では、磁気ディスクのＲＡＩＤ構成の違いによる価格差と性能差を利用して階層記憶制御を実行しているが、価格差はＲＡＩＤ構成における冗長度の差に起因するだけなので、冗長度の差分のみの低コスト化しか望めない。
【００１２】
本発明の目的は、ホスト計算機で実行されるＯＳやアプリケーションに依存することなく、ファイルの格納位置についての階層記憶制御が実行できる制御方法又は記憶装置を提供することである。
【００１３】
本発明の他の目的は、複数の計算機からファイルを共用することができる階層記憶制御方法、又は階層記憶制御を実行する記憶装置を提供することである。
【００１４】
本発明の他の目的は、ファイルの特性に応じた階層記憶制御を実行できる制御方法又は記憶装置を提供することである。
【００１５】
本発明の他の目的は、低コスト化の効果の高い階層記憶制御方法、又は階層記憶制御を実行する記憶装置を提供することである。
【００１６】
【課題を解決するための手段】
記憶装置は、特性の異なる複数の記憶領域と、一又は複数の計算機からファイルの識別情報を有するアクセス要求を受け付けるインタフェース制御装置と、識別情報によって指定されるファイルのデータが格納されている記憶領域にアクセスするためのインタフェース制御装置とを有し、インタフェース制御装置がファイルの特性に応じて、ファイルのデータを複数の記憶領域のいずれかに格納するよう制御する。
【００１７】
【発明の実施の形態】
本発明の実施形態を以下に説明する。尚本実施形態によって本発明が限定されるものではない。
［実施形態１］
（１）システム構成の一例（図１）
図１は、本発明が適用される、記憶装置１を含む計算機システムの一例を示した図である。以下、ｘは任意の整数を表す。
【００１８】
記憶装置１は、ディスクコントローラ（以下、「ＤＫＣ」と称する）１１及び複数の磁気ディスク装置（以下単にディスクと称する）１７０ｘ、１７１ｘを有するディスクアレイシステムである。本実施形態においては、記憶装置１は２種類のディスク１７０ｘ、１７１ｘを備えている。１７０ｘはＦｉｂｒｅ  Ｃｈａｎｎｅｌ（以下、「ＦＣ」と称する）型のインタフェースを備えるＦＣディスク、１７１ｘはｓｅｒｉａｌ  ＡＴ  Ａｔｔａｃｈｅｄ（以下、「ＳＡＴＡ」と称する）型のインタフェースを備えるＳＡＴＡディスクである。そして、複数のＦＣディスク１７０ｘはＦＣディスクプール０（１７０）を、複数のＳＡＴＡディスク１７１ｘはＳＡＴＡディスクプール１（１７１）を構成している。ディスクプールの詳細は後述する。
【００１９】
次に、記憶装置１のＤＫＣ１１の構成を説明する。ＤＫＣ１１は、一又は複数のＮＡＳチャネルアダプタ１１０ｘ、一又は複数のファイバチャネルアダプタ１１１ｘ、複数のディスクアダプタ１２ｘ、共有メモリ１３（以下「ＳＭ」と呼ぶ。）、共有メモリコントローラ１５（以下「ＳＭＣ」と呼ぶ。）、キャッシュメモリ１４（以下「ＣＭ」と呼ぶ。）、キャッシュメモリコントローラ１６（以下「ＣＭＣ」と呼ぶ）を有する。
【００２０】
ＮＡＳチャネルアダプタ（以下「ＣＨＮ」と称する）１１０ｘは、ローカルエリアネットワーク（以下ＬＡＮと称する。）２０やＬＡＮ２１と接続される計算機４０ｘ（以下、ＮＡＳホストと称する）と、ファイルＩ／Ｏインタフェースで接続されるインタフェース制御装置である。
【００２１】
ファイバチャネルアダプタ（以下、「ＣＨＦ」と称する）１１１ｘは、ストレージエリアネットワーク（以下ＳＡＮと称する。）３０に接続される計算機（以下、ＳＡＮホストと称する）５０ｘと、ブロックＩ／Ｏインタフェースで接続されるインタフェース制御装置である。以下、ＣＨＮ及びＣＨＦをまとめてチャネルアダプタ（以下「ＣＨ」）と称する。
【００２２】
ディスク１７ｘは、ディスクアダプタ１２ｘに接続されている。各ディスクアダプタ（以下、「ＤＫＡ」と称する）１２ｘは、自身に接続されている一又は複数のディスク１７ｘへの入出力を制御する。
【００２３】
ＳＭＣ１５は、ＣＨＮ１１０ｘ、ＣＨＦ１１１ｘ、ＤＫＡ１２ｘ及びＳＭ１３と接続される。ＳＭＣ１５は、ＣＨＮ１１０ｘ、ＣＨＦ１１１ｘ、及びＤＫＡ１２ｘとＳＭ１３との間のデータ転送を制御する。ＣＭＣ１６は、ＣＨＮ１１０ｘ、ＣＨＦ１１１ｘ、ＤＫＡ１２ｘ及びＣＭ１４と接続される。ＣＭＣ１６は、ＣＨＮ１１０ｘ、ＣＨＦ１１１ｘ、及びＤＫＡ１２ｘとＣＭ１４との間のデータ転送を制御する。
【００２４】
ＳＭ１３は、ディスクプール管理テーブル１３１を記憶している。ディスクプール管理テーブル１３１は、ディスクプールの構成を管理するために用いられる情報である。
【００２５】
ＬＡＮ２０及び２１は、ＣＨＮ１１０ｘとＮＡＳホスト４０ｘとを接続する。一般的に、ＬＡＮにはＥｔｈｅｒｎｅｔ（登録商標）が用いられる。ＳＡＮ３０は、ＣＨＦ１１１ｘ及びＳＡＮホスト５０ｘとを接続する。一般的に、ＳＡＮにはＦｉｂｒｅ  Ｃｈａｎｎｅｌが用いられる。しかしＳＡＮとしてＩＰネットワークを用い、ＳＡＮに接続される機器間ではＳＣＳＩプロトコルに従ったＳＣＳＩコマンドをＩＰパケットでカプセル化して送受信する、ｉＳＣＳＩを用いることとしても良い。ＳＡＮ３５は、本実施形態においては、記憶装置を接続するための専用のＳＡＮであるものとし、ＳＡＮ３５にはＳＡＮホストは接続していないものとする。
【００２６】
記憶装置１では、すべてのＣＨが、ＣＭＣ１６又はＳＭＣ１５を介して、ＣＭ１４、ＳＭ１３、全てのＤＫＡ１２ｘ、及びすべてのディスク１７ｘへアクセスすることが出来る。
【００２７】
尚図１に示す記憶装置１は、ＳＡＮホスト５０ｘに接続するためのＳＡＮインタフェース（ＣＨＦ１１１ｘ）と、ＮＡＳホスト４０ｘと接続するためＮＡＳインタフェース（ＣＨＮ１１０ｘ）の双方を有するが、本実施形態は、記憶装置１がＮＡＳインタフェースのみを有する場合であっても、実施可能な実施形態である。
【００２８】
（２）記憶装置の外観例（図２）
図２は、記憶装置１の外観の一例を示す図である。
【００２９】
ＤＫＣユニット１９は、ＤＫＣ１１の構成要素である、ＣＨＮ１１０ｘ、ＣＨＦ１１１ｘ、ＤＫＡ１２ｘ、ＳＭ１３、及びＣＭ１４を格納する。ＳＭ１３は、実際には複数のコントローラボード１３ｘで構成される。また、ＣＭ１４も、複数のキャッシュボード１４ｘで構成される。記憶装置１の使用者は、これらのボードの枚数を増減して、所望の記憶容量のＣＭ１４又はＳＭ１３を有する記憶装置１を構成することができる。ディスクユニット（以下、「ＤＫＵ」と称する）１８０及びＤＫＵ１８１は、ディスクプール１７０及びディスクプール１７１を格納する。
【００３０】
スロット１９０には、ＣＨＮ１１０ｘ、ＣＨＦ１１１ｘ、ＤＫＡ１２ｘ、コントローラボード１３ｘ、キャッシュボード１４ｘ等が作りこまれたアダプタボードが格納される。本実施形態においては、スロット１９０の形状、アダプタボードのサイズ及びコネクタの形状を、アダプタボードの種類やインタフェースの種類を問わず一定にし、互換性を保つようにする。したがって、ＤＫＣユニット１９には、アダプタボードの種類、インタフェースの種類を問わず、任意のスロット１９０に任意のアダプタボードを装填することができる。また、記憶装置１の使用者は、ＣＨＮ１１０ｘ及びＣＨＦ１１１ｘのアダプタボードの数を自由に選択して、ＤＫＣユニット１９のスロットに選択された数のＣＨＮ及びＣＨＦを装填することが出来る。
【００３１】
（３）ＣＨＮ１１０ｘが作りこまれたアダプタボード（以下「ＮＡＳボード」と称する。）の外観構成の一例（図３）
図３は、ＮＡＳボードの外観構成の一例を示す図である。コネクタ１１００７は、ＤＫＣユニット１９が有するコネクタと接続される。インタフェースコネクタ２００１は、イーサネット（登録商標）に対応し、イーサネット（登録商標）と接続可能である。
【００３２】
本実施形態においては、上述したように、アダプタボードのコネクタの形状は、アダプタボードの種類によらず一定であるため、ＣＨＮ１１０ｘが作りこまれたアダプタボードとＣＨＦ１１１ｘが作りこまれたアダプタボードとは同一形状のコネクタを有する。尚、ＣＨＦ１１１ｘが作りこまれたアダプタボードの場合、インタフェースコネクタ２００１は、ファイバチャネルに対応し、ファイバチャネルと接続できるように構成されている。
【００３３】
（４）ＮＡＳボード（若しくはＣＨＮ）の構成の一例（図４）
図４は、ＣＨＮ１１０ｘの構成の一例を示す図である。ファイルアクセス制御用ＣＰＵ１１００１は、ファイルアクセスを制御するプロセッサである。ＬＡＮコントローラ１１００２は、インタフェースコネクタ２００１を介してＬＡＮと接続され、ＬＡＮとの間のデータの送受信を制御する。ファイルアクセス制御用メモリ１１００４は、ファイルアクセス制御用ＣＰＵ１１００１と接続される。ファイルアクセス制御用メモリ１１００４には、ファイルアクセス制御用ＣＰＵ１１００１が実行するプログラムや、制御データが格納されている。
【００３４】
ディスクアレイ制御用ＣＰＵ１１００８は、ディスクアレイを制御するプロセッサであるである。ここで、ディスクアレイとは、複数のディスクから構成される記憶装置のことである。特に複数のディスクのうち少なくとも１台以上に冗長データを格納し、耐障害性を備えたディスクアレイのことをＲＡＩＤと呼ぶ。ＲＡＩＤについては後述する。ディスクアレイ制御用メモリ１１００９は、ディスクアレイ制御用ＣＰＵ１１００８と接続され、ディスクアレイ制御用ＣＰＵ１１００９が実行するプログラムや、制御データが格納されている。ＳＭ  Ｉ／Ｆ制御回路１１００５は、ＣＨＮ１１０ｘからＳＭ１３へのアクセスを制御する回路である。ＣＭ  Ｉ／Ｆ制御回路１１００６は、ＣＨＮ１１０ｘからＣＭ１４へのアクセスを制御する回路である。ＣＰＵ間通信回路１１００７は、ファイルアクセス制御用ＣＰＵ１１００１がディスクアクセスのためにディスクアレイ制御用ＣＰＵ１１００８と通信する際に用いられる通信回路である。
【００３５】
なお、本実施形態では、ＣＨＮにファイルアクセス制御用ＣＰＵ１１００１とディスクアレイ制御用ＣＰＵ１１００８の２つのプロセッサが搭載された、非対象型のマルチプロセッサ構成の例を示しているが、ファイルアクセス制御とディスクアレイ制御を単一のプロセッサで実行するようＣＨＮを構成して実装することもできるし、ファイルアクセス制御とディスクアレイ制御を二つ以上のプロセッサで対等に実行する対称型マルチプロセッサ構成としてＣＨＮを実装することもできる。
【００３６】
尚、ＣＨＦ１１１ｘの構成は、図４の上半分に示された構成要素である、ＬＡＮコントローラ１１００２とファイルアクセス制御用ＣＰＵ１１００１とファイルアクセス制御用メモリ１１００４とＣＰＵ間通信回路１１００７とが、ファイバチャネルコントローラに置き換えられた構成である。
【００３７】
（５）ファイルアクセス制御用メモリに格納されているプログラムの一例（図５）
図５は、ＣＨＮ１１０ｘが有するファイルアクセス制御メモリ１１００４に格納されているプログラムや制御データの一例を示す図である。オペレーティングシステムプログラム１１００４０は、プログラム全体の管理や入出力制御に用いられる。ＬＡＮコントローラドライバプログラム１１００４１は、ＬＡＮコントローラ１１００２の制御に用いられる。ＴＣＰ／ＩＰプログラム１１００４２は、ＬＡＮ上の通信プロトコルであるＴＣＰ／ＩＰの制御に用いられる。ファイルシステムプログラム１１００４３は、記憶装置に格納されるファイルの管理に用いられる。ネットワークファイルシステムプログラム１１００４４は、記憶装置に格納されるファイルを、ＮＡＳホスト４０ｘに提供するためのプロトコルであるＮＦＳやＣＩＦＳ等の制御に用いられる。ボリューム制御プログラム１１００４５は、ディスクプール１７ｘ内に設定された記憶領域の一単位である論理ディスクユニット（以下ＬＵと称する）を複数組み合わせて論理ボリュームを構成するための制御に用いられる。ＣＰＵ間通信ドライバプログラム１１００４６は、ファイルアクセス制御用ＣＰＵ１１００１とディスクアレイ制御用ＣＰＵ１１００８間で通信を行うためのＣＰＵ間通信回路１１００７の制御に用いられる。
【００３８】
ファイルシステムプログラム１１００４３には、
１）ファイルを使用する際に、ファイルのオープン処理を実行するファイルオープン処理部１１００４３１、
２）ファイルアクセス要求を受信した際に、アクセス要求に従った処理を実行する要求処理部１１００４３２、
３）ファイルをブロック化し、ブロックのディスク上での格納位置を決定して、ブロックの格納位置を管理するファイル格納管理部１１００４３３、
４）ブロックと、メモリ上に構成されるバッファとの対応づけを管理するバッファ管理部１１００４３４、
５）ファイルを構成するブロックを格納している、ディスク上の記憶領域のアドレスを管理するために用いられる、ファイル格納管理テーブル１１００４３５、
６）オープンされたファイルのファイル名と、そのファイルのファイル格納管理テーブル１１００４３５にアクセスするために用いられるファイルハンドラとを管理するために用いられるファイル名管理テーブル１１００４３６、
７）ファイルを構成するブロックの、バッファ内での格納領域を示すバッファアドレスを管理するためのバッファ管理テーブル１１００４３７、
８）ファイルの種類、ファイルを生成したアプリケーション、ファイルの生成者の意図などのファイル静的特性と、ファイルのライフサイクルに従い変化するファイルの価値やファイルのアクセス特性などのファイル動的特性とを格納する、ファイル特性情報テーブル１１００４３８、
９）ファイルをＬＵ間で移行するための処理を実行する際に用いられるマイグレーション管理部１１００４３Ａ、
１０）ストレージプール内に構成されたＬＵ毎に、後述するストレージクラスや、ＬＵが存在する記憶装置の識別情報等を登録している、ストレージクラス管理テーブル１１００４３９が含まれる。
【００３９】
（６）ディスクアレイ制御用メモリの構成（図６）
図６は、ディスクアレイ制御メモリ１１００９に格納されているプログラムの一例を示す図である。オペレーティングシステムプログラム１１００９０は、プログラム全体の管理や入出力制御に用いられる。ディスクアレイ制御プログラム１１００９１は、ディスクプール１７ｘ内にＬＵを構築したり、ファイルアクセス制御用ＣＰＵ１１００１からのアクセス要求を処理するのに用いられる。ディスクプール管理プログラム１１００９２は、ディスクプール１７ｘの構成を、ＳＭ１３に格納されたディスクプール管理テーブル１３１の情報を用いて管理するために用いられる。ＣＰＵ間通信ドライバプログラム１１００９３は、ファイルアクセス制御用ＣＰＵ１１００１とディスクアレイ制御用ＣＰＵ１１００８との間で通信を行うためのＣＰＵ間通信回路１１００７の制御に用いられる。キャッシュ制御プログラム１１００９４は、ＣＭ１４に格納されているデータの管理や、キャッシュヒット／ミス判定等の制御に用いられる。ＤＫＡ通信ドライバプログラム１１００９５は、ＬＵにアクセスする際に、当該ＬＵを構成するディスク１７０ｘや１７１ｘを制御するＤＫＡ１２ｘと通信するために用いられる。
（７）ディスクプール構成（図７）
図７はディスクプールの構成例を示す図である。
【００４０】
ＦＣディスクプール１７０にはＬＵ０（５１）、ＬＵ１（５２）の２つのＬＵが設定されている。ＬＵ０（５１）は、ＤＫ０００、ＤＫ０１０の２台のＦＣディスクにより構成されており、ＤＫ０００、ＤＫ０１０はＲＡＩＤ１を構成している。ＬＵ１（５２）はＤＫ００１、ＤＫ００２、ＤＫ００３、ＤＫ００４、ＤＫ００５の５台のＦＣディスクにより構成されており、これら５台のＦＣディスクは、４Ｄ＋１ＰのＲＡＩＤ５を構成している。尚、ＲＡＩＤ１及びＲＡＩＤ５とは、それぞれディスクアレイにおけるデータの配置方法のことであり詳しくは、１９８８年に開催されたＡＣＭ  ＳＩＧＭＯＤ会議のプロシーディングｐ．１０９−１１６に掲載されている、Ｄ  Ｐａｔｔｅｒｓｏｎ外２名著、「Ａ  Ｃａｓｅ  ｆｏｒ  Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ  （ＲＡＩＤ）」に記載されている。ＲＡＩＤ１構成のＬＵ０では、２台のＦＣディスクＤＫ０００及びＤＫ０１０はミラーの関係にある。一方ＲＡＩＤ５構成のＬＵ１は、ホスト計算機からアクセスされるファイルのデータが格納されるデータストライプを記憶する一又は複数のディスクと、データストライプに格納されるデータを回復するために用いられるパリティストライプを記憶する一又は複数のディスクから構成される。ＬＵ１は４Ｄ＋１ＰのＲＡＩＤ５構成であるが、「４Ｄ＋１Ｐ」は４つのデータストライプと１つのパリティストライプから構成されるＲＡＩＤ５であることを示している。以下同様の表示にてＲＡＩＤ５構成のＬＵにおける、データストライプ数とパリティストライプ数を表示する。
【００４１】
ＳＡＴＡディスクプール１７１にはＬＵ２（５２）が設定されている。ＬＵ２（５２）はＤＫ１００、ＤＦ１０１、ＤＫ１０２、ＤＫ１０３、ＤＫ１０４、ＤＫ１１０、ＤＫ１１１、ＤＫ１１２、ＤＫ１１３の９台のＳＡＴＡディスクにより構成されており、これら９台のＳＡＴＡディスクは、８Ｄ＋１Ｐ構成のＲＡＩＤ５を構成している。
【００４２】
各々のディスクの容量を１４０ＧＢとすると、ＬＵ０（５１）は１４０ＧＢ、ＬＵ１（５２）は５６０ＧＢ、ＬＵ２（５３）は１１２０ＧＢの利用可能な記憶容量を持つ。
【００４３】
尚、各ＬＵには独立したローカルファイルシステムＬＦＳ０（６０）、ＬＦＳ１（６１）、ＬＦＳ２（６２）が設定、構築されている。
【００４４】
（８）ストレージクラス管理テーブル（図８）
図８は、ＣＨＮ１１０ｘが有するファイルアクセス制御メモリ１１００４に格納されているストレージクラス管理テーブル１１００４５１の構成例を示している。ストレージクラス管理テーブル１１００４５１は、ファイルアクセス制御用ＣＰＵがファイルシステムプログラム１１００４３を実行することによって、ＳＭ１３上のディスクプール管理テーブル１３１に格納された情報を参照し、作成したものである。
【００４５】
ディスクプール管理テーブル１３１については図示しないが、ディスクプール管理テーブル１３１はＳＭ１３に格納されており、ストレージクラス管理テーブル１１００４５１と同様の情報を全ＣＨについて有する。すなわち、あるＣＨＮ１１０ｘのファイルアクセス制御メモリ１１００４に格納されているストレージクラス管理テーブル１１００４５１は、ディスクプール管理テーブル１３１が有する情報のうち、当該ＣＨＮ１１０ｘが使用するＬＵに関する情報について、ストレージクラスをキーとして配列し直したものである。
以下ストレージクラス管理テーブルの構成を説明する。ＳｔｏｒａｇｅＣｌａｓｓ欄（１１００４５１ａ）には、ストレージクラスを示す情報が格納される。ＳｔｏｒａｇｅＮｏｄｅ＃欄（１１００４５１ｂ）には、当該ストレージクラスを構成する記憶装置の識別番号（ストレージノード番号と呼ぶ）が格納される。ＤｉｓｋＰＯＯＬ＃欄（１１００４５１ｃ）には、当該ストレージクラスを構成するディスクプール番号が格納される。ＬＵ＃欄（１１００４５１ｄ）には、当該ディスクプールに設定されたＬＵの番号が格納される。ＬＵ  Ｔｙｐｅ欄（１１００４５１ｅ）には、ＬＵが当該記憶装置の内部（Ｌｏｃａｌ）と外部（Ｒｅｍｏｔｅ）のどちらに設定されているかと、ＬＵ内にファイルシステムが設定されているかいないかを示す情報が格納される。即ち、ＬＵが記憶装置内に存在する場合には“Ｌｏｃａｌ”が、ＬＵが他の記憶装置内に存在する場合には“Ｒｅｍｏｔｅ”がＬＵ  Ｔｙｐｅ欄に登録され、ＬＵにファイルシステムが構築されている場合には“Ｆｉｌｅ”が、ＬＵにファイルシステムが構築されていない場合には“Ｂｌｏｃｋ”がＬＵ  Ｔｙｐｅ欄に登録される。ＲＡＩＤＣｏｎｆ．欄（１１００４５１ｆ）には、当該ＬＵを構成するディスクアレイのＲＡＩＤレベルと、パリティグループ内のデータレコードとパリティレコードの数等、ディスクアレイの構造を示す情報が格納される。Ｕｓａｂｌｅ  Ｃａｐａｃｉｔｙ欄（１１００４５１ｇ）とＵｓｅｄＣａｐａｃｉｔｙ欄（１１００４５１ｈ）には各々、当該ＬＵの総記憶容量と使用中の記憶容量を示す情報が格納される。
【００４６】
ストレージクラスとは、データの格納用途別に設けられた、記憶領域の階層的な属性であり、本実施形態では、ＯｎＬｉｎｅ  Ｓｔｏｒａｇｅ、ＮｅａｒＬｉｎｅ  Ｓｔｏａｒｇｅ、Ａｒｃｈｉｖｅ  Ｓｔｏｒａｇｅの３つの属性を定義している。また、ＯｎＬｉｎｅ  Ｓｔｏｒａｇｅについては、副属性としてＰｒｅｍｉｕｍ、Ｎｏｒｍａｌを定義している。ＯｎＬｉｎｅ  Ｓｔｏｒａｇｅは、オンラインアクセス中のファイルや、生成途上のファイル等、頻繁にアクセスされるファイルのデータを格納するのに適するＬＵに設定される属性である。特に、Ｐｒｅｍｉｕｍは早いレスポンスを要求されるデータを格納するのに適したＬＵに設定される属性である。ＮｅａｒＬｉｎｅ  Ｓｔｏｒａｇｅは、あまり頻繁には使用されないが、まれにアクセスされるファイルのデータを格納するのに適するＬＵに設定される属性である。Ａｒｃｈｉｖｅ  Ｓｔｏｒａｇｅは、ほぼアクセスされることはなく、長期保存のためのファイルのデータを格納するのに適するＬＵに設定される属性である。
【００４７】
図８では、記憶装置１（ＳＴＲ０と呼ぶ）が有するＦＣディスクプール１７０にＯｎＬｉｎｅ  Ｓｔｏｒａｇｅ（Ｐｒｅｍｉｕｍ）クラスのＬＵ０（５０）とＯｎＬｉｎｅ  Ｓｔｏｒａｇｅ（Ｎｏｒｍａｌ）クラスのＬＵ１（５１）が存在していることを示している。また、同じ記憶装置１（ＳＴＲ０）内の、ＳＡＴＡディスクプール１７１には、ＮｅａＬｉｎｅ  ＳｔｏｒａｇｅクラスのＬＵ２（５２）が存在する。また、別の記憶装置（ＳＴＲ１）には、ＳＡＴＡディスクプールにＡｒｃｈｉｖｅ  ＳｔｏｒａｇｅクラスのＬＵ３（５３）が存在する。なお、異なる記憶装置にディスクプールを構築する例は後述する。
（９）ファイル名管理テーブル（図９）
図９には、ファイルアクセス制御用メモリ１１００４に格納されている、ファイル名管理テーブル１１００４３６の一例を示す。ファイル名管理テーブルはファイルシステム毎に用意されるテーブルであり、ファイル名とファイルハンドラが、容易に検索できるように、木構造で格納されている。ファイルがＮＡＳホスト４０ｘからアクセスされる際には、ＮＡＳホストからＣＨＮが受信するアクセス要求にファイル名が含まれている。ＣＨＮはこのファイル名を用いてファイル名管理テーブル１１００４を検索し、ファイル名に対応するファイルハンドラを取得して、このファイルハンドラと対応付けられているファイル格納管理テーブル１１００４３５を参照することができる。
【００４８】
なお、ファイル名管理テーブルは、ファイル名管理テーブルに対応するファイルシステムが構築されているＬＵ上に格納されており、必要な時にメモリに読み込まれてファイルアクセス制御用ＣＰＵによって使用される。
（１０）ファイル格納管理テーブル（図１０）
図１０はファイル格納管理テーブル１１００４３５及びバッファ管理テーブル１１００４３７の一例を示す図である。ファイル格納管理テーブルは、ファイル毎にファイルアクセス制御用メモリに備えられており、ファイルの格納アドレスを管理するテーブルである。ファイル格納管理テーブルは、ファイルを示すファイルハンドラを指定することによって参照される。
【００４９】
ファイル特性情報管理テーブル欄には、対応するファイルについてのファイル特性情報管理テーブル１１００４３８を参照するためのポインタが格納されている。大きさはファイルのバイト単位の大きさを示す。ブロック数は、ファイルを論理ブロックと呼ぶブロックに分割して管理する際に使用している論理ブロックの数を表す。また、ファイルが格納される論理ブロックごとに、その論理ブロックについてのバッファ管理テーブル１１００４３７へのポインタが格納されている。
【００５０】
バッファ管理テーブル１１００４３７は、各論理ブロック毎に１つ存在し、以下の内容が格納されている。ハッシュリンク欄にはバッファが有効かどうかすばやく判定するためのハッシュ表へのリンクポインタが格納されている。待ち行列リンク欄には待ち行列を形成するためのリンクポインタが格納されている。フラグ欄にはバッファの状態すなわち、有効なデータが格納されているかどうか、バッファは使用されているかどうか、バッファの内容がディスクに未反映となっているかどうか、等を示すフラグが格納されている。機器番号欄には論理ブロックが格納される記憶装置の識別子及びＬＵの識別子が格納されている。ブロック番号欄には機器番号で示された記憶装置内での、論理ブロックの格納位置を示すディスクアドレス番号が格納されている。バイト数欄には論理ブロックに格納された有効なデータのバイト数が格納されている。バッファサイズ欄には本バッファのバイト単位の大きさが格納されている。バッファポインタ欄には物理バッファメモリへのポインタが格納されている。
【００５１】
なお、ファイル格納管理テーブルは、対応するファイルが格納されるＬＵ内に格納され、必要な時にメモリに読み込まれて使用される。
（１１）ファイル特性情報管理テーブル（図１１）
図１１は、ファイルアクセス制御用メモリ１１００４に格納されているファイル特性情報管理テーブル１１００４３８の一例を示す図である。ファイル特性情報管理テーブルは、静的特性情報と動的特性情報を格納する。静的特性情報は、ファイルを構成した際に決定され、その後も引き継がれる情報である。もちろん静的特性情報を意図的に変更することもできるが、その時以外は変更されることはない。動的特性情報は、ファイルが作成された後、時間の経過に従って逐次変更されていく情報である。
（１２）静的特性情報
静的特性情報には、ファイル情報カテゴリとポリシーカテゴリがある。
【００５２】
ファイル情報カテゴリには、ファイルの基礎情報が含まれる。ファイル情報カテゴリにおいて、ファイル種類は、テキストファイル、ドキュメントファイル、画像ファイル、動画ファイル、音声ファイル等、当該ファイルの種類を示す。アプリケーションは、当該ファイルを生成したアプリケーションを示す。作成日は、最初にファイルが生成された日付を示す。作成日としてファイルが作成された日付だけでなく作成時間も登録しても良い。所有者はファイルを作成したユーザ名を示す。アクセス識別子は当該ファイルのアクセス許可範囲を示す。
【００５３】
ポリシーカテゴリは、ファイルを生成したユーザ又はアプリケーションによって設定される情報であり、ファイルの格納条件等について、ユーザ又はアプリケーションにより指定される情報である。初期ストレージクラスは、ファイルを最初に記憶装置に格納する際に、そのファイルを格納すべきＬＵのストレージクラスを示す情報である。資産価値タイプは、当該ファイルの資産価値を示す。ライフサイクルモデルは、あらかじめ定義されたライフサイクルモデルのうち、当該ファイルに適用されるモデルを示す。マイグレーションプランは、あらかじめ定義されたファイルの移行（以下、マイグレーションと称する。）に関するプランのうち、当該ファイルに適用されるプランを示す。
【００５４】
ここで、資産価値とは、ファイルがどのような重要性や価値を持っているかを指定する属性である。資産価値としては例えば、「特別重要」、「重要」、「普通」等の属性を指定できる。例えば、「重要」以上の属性のファイルはＰｒｅｍｉｕｍ属性のストレージクラスに属するＬＵに格納する等、資産価値をストレージクラス選定の際の補足基準として用いたり、ライフサイクルモデルが指定されていないときのストレージクラス選定の基準として使用することができる。
【００５５】
以下本実施形態の説明には、「重要」以上のファイルは「Ｐｒｅｍｉｕｍ」クラスのストレージクラスに属するＬＵに格納することと仮定する。勿論、本発明はこの様な仮定に限定されることはなく、ファイルを格納するＬＵのストレージクラスを選択する際に、異なる基準を用いることも可能である。
【００５６】
ライフサイクルとは、データが生成される時期を誕生、データが更新され又利用される時期を成長、データが更新されることは少なく、参照されることが主となる時期を成熟、そしてデータがやがて使用されなくなり保管されるようになる時期を老齢といった様に、ファイルの使用状況が時間経過によって移り変わってゆくのを、人の生涯に見立て、名付けられたものである。ライフサイクルモデルとは、ファイルがどのようなライフサイクルを送るかを定義したものである。最も汎用的な定義の方法としては、ファイル生成後の経過時間で定義する方法がある。一例としては、更新が頻発する「成長期」もしくは「更新期」を１ヶ月、参照が主体となる「成熟期」もしくは「参照期」を１年、それ以降を「老齢期」もしくは「保管期」と定義する方法がある。以下、この定義を「モデル１」と称し、以下の説明に用いる。ライフサイクルモデルの時間間隔を変更したり、さらなる分解能をもった期間を定義することで、色々なライフサイクルモデルを定義し、複数のライフサイクルモデルからあるライフサイクルモデルを選択して使用することができる。特定のファイル種類に特定のライフサイクルモデルを適用したり、アプリケーション毎にそのアプリケーションが生成したファイルに対して適用するライフサイクルモデルを用意してもよい。なお、ライフサイクルの名称には、人の生涯に対応した「成長期」「成熟期」「老齢期」という表現を用いる場合や、ファイル挙動に基づく「更新期」「参照期」「保管期」という表現を用いる場合がある。以下本実施形態では挙動を明確にするため後者を用いることにする。
【００５７】
マイグレーションプランとは、ライフサイクルに従い、ファイルをどのようなストレージクラスのＬＵに移動していくかを定義したものである。一例として、「更新期」のファイルをＯｎＬｉｎｅ  Ｓｔｏｒａｇｅクラスの、「参照期」のファイルをＮｅａｒＬｉｎｅ  Ｓｔｏｒａｇｅクラスの、「保管期」のファイルをＡｒｃｈｉｖｅ  ＳｔｏｒａｇｅクラスのＬＵに格納する方法がある。以下、この定義を「プラン１」と称し、以下の説明で用いる。このプラン以外にも、「更新期」のファイルはＯｎＬｉｎｅ  Ｓｔｏｒａｇｅ  （ｐｒｅｍｉｕｍ）クラスに、「参照期」のファイルはＯｎＬｉｎｅ  Ｓｔｏｒａｇｅ（Ｎｏｒｍａｌ）クラスに格納するよう定義したり、「保管期」のファイルもＮｅａｒＬｉｎｅ  Ｓｔｏｒａｇｅクラスに格納したままにする等、いろいろなプランを定義し、その中からプランを選択して使用できるようにすることができる。特定のファイル種類のファイルに特定のマイグレーションプランを適用したり、アプリケーション毎にそのアプリケーションが生成したファイルに適用するマイグレーションプランを用意してもよい。
（１３）動的特性情報
動的特性情報には、アクセス情報カテゴリと、ライフサイクル情報カテゴリがある。
【００５８】
アクセス情報カテゴリには、ファイルのアクセス統計情報が含まれる。アクセス情報カテゴリにおいて、タイムスタンプはファイルが最後に読み書きされた日付や時刻や、ファイルのファイル格納管理テーブルが最後に更新された日付や時刻を示す。アクセスカウントはファイルに対する総アクセス回数を示す。リードカウント、ライトカウントは各々、ファイルへのリード回数、ライト回数を示す。リードサイズ、ライトサイズはファイルのリード時とライト時それぞれにおける、データ転送サイズの平均値を示す。リードシーケンシャルカウント、ライトシーケンシャルカウントは、リード時とライト時それぞれにおいて、連続する複数の２回のアクセス間にアドレス連続性、すなわちシーケンシャル性がある場合の回数を示す。
【００５９】
ライフサイクル情報カテゴリには、ファイルのライフサイクルに関連する情報が含まれる。ライフサイクル情報カテゴリにおいて、現行ライフサイクルは、更新期、参照期、保管期等、現時点でのファイルのライフサイクルにおける位置づけを示す。現行ストレージクラスは、現時点においてファイルが格納されているＬＵが設定されているストレージプールのストレージクラスを示す。
【００６０】
以上、図１１には、ファイル特性情報の一例を示したが、これら以外にも色々な特性情報を定義してファイル特性情報管理テーブル１１００４３８に格納することができる。また、これらの特性情報の一部のみを必要に応じて用いる実施形態とすることもできる。
（１４）ファイル初期配置：ファイルオープン処理
次に、ファイルを記憶装置に最初に格納する初期配置処理の際に行われる、ファイルオープン処理について説明する。
【００６１】
ＮＡＳホスト０（４００）がファイルａｂｃ．ｄｏｃを生成したとする。
【００６２】
ＮＡＳホスト０（４００）は、ＣＨＮ０（１１００）に対してファイルａｂｃ．ｄｏｃのオープン要求を発行する。オープン要求には、ファイルを識別するための識別情報としてファイル名が含まれる。今回のオープン処理は、ファイルの新規格納のために実行されるので、ＮＡＳホスト０（４００）は、ファイル特性情報の静的特性情報として、ファイル情報カテゴリとポリシーカテゴリに含まれる以下の情報をオープン要求と共にＣＨＮ０（１１００）へ送信する。送信される情報は、ファイル情報カテゴリに含まれる情報として、ファイル種類「ドキュメント」、ファイルを生成したアプリケーション「ＸＹＺワード」、アクセス識別子「−ｒｗ−ｒｗ−ｒｗ−」と、ポリシーカテゴリに含まれる情報として、初期ストレージクラス「指定なし」、資産価値タイプ「重要」、ライフサイクルモデル「モデル１」、マイグレーションプラン「プラン１」である。
【００６３】
ＣＨＮ０（１１００）は、ＬＡＮコントローラ１１００２経由でＮＡＳホストからファイルのオープン要求を受信し、ファイルアクセス制御用ＣＰＵ１１００１はファイルシステムプログラム１１００４３を実行する。
【００６４】
ファイルシステムプログラム１１００４３が実行されると、ファイルアクセス制御用ＣＰＵ１１００１の制御により、受信されたオープン要求は、ファイル名のディレクトリ情報に基づき、ローカルファイルシステムＬＦＳ０（６０）へのアクセス要求であることが特定される。そして、ファイルオープン処理部１１００４３１は、ＬＦＳ０（６０）のファイル名管理テーブル１１００４３６を参照し、ａｂｃ．ｄｏｃを検索する。その結果、ａｂｃ．ｄｏｃがまだファイル名管理テーブル１１００４３６には存在しない新たに格納されるファイルであることが判明するので、ファイルオープン処理部１１００４３１は、ファイル名管理テーブルにａｂｃ．ｄｏｃを登録しファイルハンドラを割り当てる。
【００６５】
次にファイル格納管理部１１００４３３がファイルａｂｃ．ｄｏｃに割り当てられたファイルハンドラと対応させてファイル格納管理テーブル１１００４３５を作成する。
【００６６】
次にファイル格納管理部１１００４３３が、ファイル特性情報管理テーブル１１００４３８を生成して、ファイル格納管理テーブル１１００４３５に関連づけた上で（即ちファイル格納管理テーブルにファイル特性情報管理テーブルへのポインタを格納した上で）、ＮＡＳホスト０から取得したファイル特性情報の静的特性情報と、ファイルの作成日、所有者をファイル特性情報管理テーブル１１００４３８に格納する。そして、このファイルが属するファイルシステムが構築されているＬＵに、ファイル格納管理テーブル及びファイル特性情報管理テーブルが書き込まれる。
【００６７】
その後、ＣＨＮ０（１１００）はファイルハンドラをＮＡＳホスト０に返しオープン処理が終了する。
（１５）ファイル初期配置：データライト処理
次にファイルの初期配置処理の際に実行されるデータライト処理について説明する。
【００６８】
ＮＡＳホスト０（４００）は、ファイルａｂｃ．ｄｏｃのデータを記憶装置１に格納すべく、オープン処理で獲得したファイルハンドラを用いてライト要求をＣＨＮ０（１１００）に発行する。
【００６９】
ＣＨＮ０（１１００）では、ライト要求を受信するとファイルアクセス制御用ＣＰＵ１１００１がファイルシステムプログラム１１００４３を実行し、オープン処理の際と同様の方法によってこのライト要求がローカルファイルシステムＬＦＳ０（６０）へのアクセス要求であることを特定する。
【００７０】
ファイルシステムプログラム１１００４３の要求処理部１１００４３２は、受信したアクセス要求内に含まれる情報に基づいてこのアクセス要求がライト要求であることを解釈し、ライト要求内で指定されているファイルハンドラを用いて、このファイルハンドラに対応付けられているファイルのファイル格納管理テーブル１１００４３５を獲得する。
【００７１】
次にファイル格納管理部１１００４３３は、データを格納するのに必要なバッファを確保するとともに、ファイルのディスク上での格納位置を決定する。
【００７２】
格納位置の決定に際しては、ファイル格納管理部１１００４３３は、ファイル特性情報管理テーブル１１００４３８の静的特性情報を参照する。ここで、ライト要求の対象となっているファイルａｂｃ．ｄｏｃのライフサイクルモデルは「モデル１」であり、受信したライト要求はファイルの初期配置の際のアクセス要求であるからファイル生成後１ヶ月以内のアクセスなので、ファイル格納管理部１１００４３３はファイルａｂｃ．ｄｏｃの現行ライフサイクルは「成長期」であると特定する。また、初期ストレージクラスは「指定なし」であり、資産価値タイプは「重要」であるので、ファイル格納管理部は、ファイルａｂｃ．ｄｏｃを格納すべきストレージプールのストレージクラスとして「ＯｎＬｉｎｅ  Ｓｔｏｒａｇｅ（Ｐｒｅｍｉｕｍ）」を選択する。
【００７３】
次にファイル格納管理部１１００４３３は、ストレージクラス管理テーブル１１００４３９を参照し、ストレージクラス「ＯｎＬｉｎｅ  Ｓｔｏｒａｇｅ（Ｐｒｅｍｉｕｍ）」に該当する、ストレージノード「ＳＴＲ０（すなわち自記憶装置１）」、ＤｉｓｋＰｏｏｌ＃「ＦＣディスクプール１７００」、ＬＵ＃「ＬＵ０（すなわちローカルファイルシステムはＬＦＳ０）」で特定されるＬＵにファイルを格納することを決定する。そしてファイル格納管理部１１００４３３は、適切なアルゴリズムの下、ファイル内のデータを一又は複数の論理ブロックに分割し、論理ブロック毎にＬＵ０上の格納アドレスを決定し、バッファ管理テーブル１１００４３７を生成して決定された格納アドレスを登録し、ファイル格納管理テーブル１１００４３５のバッファ管理テーブルエントリに、生成されたバッファ管理テーブルへのポインタを格納する。更に、ファイル格納管理部１１００４３３は、ファイル格納管理テーブル１１００４３５の残りのエントリに情報を格納する。なお、本実施形態においては、ファイル格納管理テーブルのリンク先のエントリは全てＮＵＬＬとする。
【００７４】
そして、ファイル格納管理部１１００４３３は、ファイル特性情報管理テーブル１１００４３８の動的特性情報のライフサイクル情報カテゴリについて、現行ライフサイクルを「更新期」と、現行ストレージクラスを「ＯｎＬｉｎｅ  Ｓｔｏｒａｇｅ（Ｐｒｅｍｉｕｍ）」と設定する。また、ファイル格納管理部１１００４３３は、動的特性情報のアクセス情報カテゴリに含まれる情報について、適切に計算した上で、ファイル特性情報管理テーブルに登録する。
【００７５】
要求処理部１１００４３２は、受信したライト要求に従った処理を実行し、ＬＡＮコントローラドライバプログラム１１００４１、ＴＣＰ／ＩＰプログラム１１００４２、ネットワークファイルシステムプログラム１１００４４がファイルアクセス制御用ＣＰＵ１１００１によって実行された結果、ＮＡＳホスト０（４００）からライトデータがＣＨＮ０（１１００）に転送され、ファイルアクセス制御用メモリ１１００４のバッファに一旦格納される。その後、ＣＰＵ間通信ドライバプログラム１１００４６がファイルアクセス制御用ＣＰＵ１１００１によって実行され、この結果適切なタイミングでディスクアレイ制御用ＣＰＵにライト要求が転送される。ライト要求を受信したディスクアレイ制御用ＣＰＵ１１００８は、ＣＭ１４にライトデータを一旦キャッシュし、ＮＡＳホスト０（４００）からのライト要求に対して完了応答を返信する。
【００７６】
その後、適切なタイミングで、ＬＵ０を構成するディスクを制御するＤＫＡ１２０の制御の下、当該ディスクにライトデータが格納される。
【００７７】
以上のように、ファイルの静的特性情報に基づき、適切なストレージクラスに属する記憶領域にファイルを初期配置することができる。
（１６）ファイルマイグレーション処理（図１２）
次にファイルのマイグレーション処理について説明する。
【００７８】
ファイルシステムプログラム１１００４３のマイグレーション管理部１１００４３Ａは、あらかじめ設定されたタイミングで、ファイルアクセス制御用ＣＰＵによって起動される。
【００７９】
そして、マイグレーション管理部１１００４３Ａは、あらかじめマイグレーション処理の対象として設定されているローカルファイルシステムについて、そのファイルシステムに含まれるファイルのファイル特性管理テーブルを参照することにより、マイグレーションの対象となるファイルが存在するかどうか調査する。以下、ファイルａｂｃ．ｄｏｃがマイグレーション処理の対象となる場合について、具体的に説明する。
【００８０】
マイグレーション管理部１１００４３Ａは、ａｂｃ．ｄｏｃのファイル特性情報管理テーブル１１００４３８を参照し、作成日と現在の日付及び時刻を比較する。既に作成日から１ヶ月が経過していたとすると、静的特性情報のライフサイクルモデルが「モデル１」であり、「更新期」の期間である１ヶ月間が経過していることから、既に現行ライフサイクルが「更新期」から「参照期」に変化しているということをマイグレーション管理部１１００４３Ａが認識する。
【００８１】
更にマイグレーションプランが「プラン１」であることから、ファイルを、ストレージクラスが「ＯｎＬｉｎｅ  Ｓｔｏｒａｇｅ  （Ｐｒｅｍｉｕｍ）」であるＬＵから「ＮｅａｒＬｉｎｅ  Ｓｔｏｒａｇｅ」であるＬＵに移行しなくてはならないことを、マイグレーション管理部１１００４３Ａは認識する。
【００８２】
そこでマイグレーション管理部１１００４３Ａは、ストレージクラス管理テーブル１１００４３９を参照し、「ＮｅａｒＬｉｎｅ  Ｓｔｏｒａｇｅ」クラスに属する、ストレージノード「ＳＴＲ０（すなわち自記憶装置１）」、ＤｉｓｋＰｏｏｌ＃「ＳＡＴＡディスクプール１７１０」、ＬＵ＃「ＬＵ２（すなわちローカルファイルシステムはＬＦＳ２）」で指定されるＬＵに、当該ファイルを移動することを決定する。
【００８３】
次にマイグレーション管理部１１００４３Ａは、ファイル特性情報管理テーブル１１００４３８の動的特性情報の、現行ライフサイクルを「参照期」に、現行ストレージクラスを「ＮｅａｒＬｉｎｅ」にそれぞれ変更する。
【００８４】
そして、マイグレーション管理部１１００４３Ａは、ファイルａｂｃ．ｄｏｃを記憶装置ＳＴＲ０（１）内部で管理する際に使用するための、一意なファイル名（ここではＦＩＬＥ００００１とする）を定義する。
【００８５】
ファイルオープン処理部１１００４３１は、ＬＦＳ２（６０）のファイル名管理テーブル１１００４３６を参照し、ＦＩＬＥ００００１のファイル名が未だファイル名管理テーブル１１００４３６に登録されていないことを確認し、登録されていなければ、ファイル名管理テーブル１１００４３６にファイル名ＦＩＬＥ００００１を登録し、ファイルハンドラを割り当てる。
【００８６】
次にファイル格納管理部１１００４３３が、ファイルＦＩＬＥ００００１に割り当てられたファイルハンドラと対応させて、ファイル格納管理テーブル１１００４３５とファイル特性情報管理テーブル１１００４３８を生成する。生成されたファイル特性情報管理テーブル１１００４３８には、ａｂｃ．ｄｏｃのファイル特性情報管理テーブルに登録されている内容と同じ内容が格納される。そして、ファイル格納管理部１１００４３３は、ＦＩＬＥ００００１が格納されるＬＵに、ＦＩＬＥ００００１のファイル格納管理テーブルとファイル特性情報管理テーブルを書き込む。
【００８７】
次にファイル格納管理部１１００４３３は、ＦＩＬＥ００００１のデータを格納するのに必要なバッファ領域を確保するとともに、このファイルを格納するためのＬＵ２内の記憶領域（若しくは格納位置）を決定する。そして前述のデータライト処理の際と同様の方法で、ファイル格納管理部１１００４３３は、バッファ管理テーブル１１００４３８を生成して決定された格納位置を登録し、ファイル格納管理テーブル１１００４３５のバッファ管理テーブルエントリに生成されたバッファ管理テーブルへのポインタを登録する。尚、ＬＦＳ２に格納されるファイルＦＩＬＥ００００１のファイル格納管理テーブル１１００４３５のリンク先エントリは、全てＮＵＬＬであるものとする。
【００８８】
また、ファイル格納管理部１１００４３３は、図１２に示すように、ＬＦＳ０のａｂｃ．ｄｏｃのファイル格納管理テーブル１１００４３５のリンク先ノード名をＳＴＲ０、リンク先ＦＳ名をＬＦＳ２、リンク先ファイル名をＦＩＬＥ００００１に変更する。
【００８９】
次に要求処理部１１００４３２は、ａｂｃ．ｄｏｃのデータをＬＵ０を構成しているディスクからファイルアクセス制御用メモリ１１００４内のバッファに読み込む。そして、ファイルアクセス制御用メモリ１１００４内のバッファに読み込まれたこのデータを、ＬＵ２を構成しているディスクに書き込まれるＦＩＬＥ０００１のデータとして、上述のファイル格納管理部１１００４３３によって決定され、バッファ管理テーブルに登録されているバッファ内の格納領域に、要求処理部１１００４３２が書き出す。
【００９０】
そして、ファイル格納管理部１１００４３３は、ＬＦＳ０のａｂｃ．ｄｏｃのファイル格納管理テーブル１１００４３５に登録されているポインタから参照可能なバッファ管理テーブルを全て解放し、これらのバッファ管理テーブル内のエントリにＮＵＬＬを登録する。
【００９１】
バッファに格納されたＦＩＬＥ００００１のデータは、適切なタイミングで前述の初期配置処理におけるデータライト処理と同様の手順により、記憶装置１のＣＭ１４を経由て、ＬＵ２に格納される。これでマイグレーション処理が終了する。
【００９２】
以上のように、本実施形態によれば、ファイルのマイグレーションプランに基づき、ファイルのライフサイクルを考慮した適切なストレージクラスの記憶領域に、ファイルをマイグレーションすることができる。
【００９３】
本実施形態によれば、ホスト計算機やホスト計算機で実行されるアプリケーションに依存することなく、ストレージクラスという概念に基づいてファイルを格納するためのＬＵを選択し、またファイルを格納するＬＵを変更することができる。この結果、ホスト計算機に依存することなく、コスト効果の高い記憶階層、すなわち、特性の異なる複数の記憶領域、を有する記憶装置を実現することができる。
【００９４】
また、ファイル単位でデータの移行が実行されるので、ファイルＩ／Ｏインタフェースを用いれば、ファイルの移行後も、複数のホスト計算機から同じファイルにアクセスすることができる。
【００９５】
更に、ファイルの種類やファイルを生成したアプリケーションの種類、ファイル生成者の意図（ポリシー）といったファイルの静的特性や、ファイルのライフサイクルや、価値、アクセス特性の変化といったファイルの動的特性に基づいたファイルベースの階層記憶制御を実行することができる。
【００９６】
［実施形態２］
（１）システム構成の一例（図１３）
次に第２の実施形態のシステム構成の一例を図１３を用いて説明する。本実施形態においては、第１実施形態の記憶装置１（以下ＳＴＲ０と称する）と、別の記憶装置１ａ（以下ＳＴＲ１と称する）をネットワークで接続したシステムにおいて、記憶装置間で階層記憶制御が実行される。
【００９７】
図１３において、記憶装置ＳＴＲ１（１ａ）は、記憶装置ＳＴＲ０（１）にＬＡＮ２０を介して接続される他の記憶装置であり、その他のシステム構成要素は図１と共通である。
【００９８】
ＳＴＲ１（１ａ）において、ＮＣＴＬ０（１１００ａ）及びＮＣＴＬ１（１１０１ａ）はＮＡＳコントローラ、ディスクプール０（１７０ａ）はＮＣＴＬ０、ＮＣＴＬ１に接続されたディスクプールである。
【００９９】
ＮＡＳコントローラＮＣＴＬｘは、図４に示す第１実施形態のＣＨＮ１１００の構成のうち、ＳＭ  Ｉ／Ｆ制御回路１１００５及びＣＭ  Ｉ／Ｆ制御回路１１００６に代わり、ディスクプール０１７００ａを接続するためのＦＣコントローラ１１０１０ａを備える。また、ＮＡＳコントローラＮＣＴＬｘは、キャッシュメモリＣＭ１４ａをＮＡＳコントローラ内に有し、またキャッシュメモリＣＭ１４ａのための制御回路であるデータ転送回路１１０１１ａを備える。更にＮＡＳコントローラＮＣＴＬｘは、データ転送回路１１０１１ａを有し、データ転送回路を介してＮＡＳコントローラ１１００ａ、ＮＡＳコントローラ１１０１ｂは相互に接続されている。図１３ではＮＡＳコントローラＮＣＴＬ１（１１０１ａ）の構成の詳細は図示していないが、ＮＡＳコントローラ１１０１ａは、ＮＡＳコントローラ１１００ａと同様の構成を有する。尚、第一の実施形態において説明したＣＨＮ１１００と同じ番号が振られた構成要素はＣＨＮ１１００の該当要素と同様の構成を有し、同様の機能を有する。
【０１００】
ＳＴＲ１は、ＳＴＲ０に比べて小規模かつ低価格な記憶装置であるとする。また、図１３に示す通り、ＳＴＲ０のＣＨＮ０とＳＴＲ１のＮＣＴＬ０はＬＡＮ２０により接続されている。
（２）他の記憶装置へのファイルの移行処理
次に本実施形態の動作を説明する。
【０１０１】
記憶装置１（ＳＴＲ０）のＣＨＮ０（１１００）は、ＬＡＮ２０に種類の異なる記憶装置１ａ（ＳＴＲ１）が接続していることを認識する。異なる記憶装置の認識は、あらかじめ管理者から指定された情報に基づき行う方法や、ＬＡＮ２０のネットワークセグメントに認識のためのコマンドを同報送信することにより反応した装置の有無により行う方法等がある。ＳＴＲ０のＣＨＮ０はＳＴＲ１の構成を把握するため、自身がイニシエータとなり、情報を採取するためのコマンドをＳＴＲ１に発行する。このコマンドに対するＳＴＲ１からの応答には、ＳＴＲ１が有するディスクプールの種類やＬＵの構成が含まれているので、この応答を参照することによって、ＣＨＮ０は、ＳＴＲ１がＳＡＴＡディスクプール１７０ａを所持し、このディスクプール１７０ａ内に、１５Ｄ＋１ＰのＲＡＩＤ５構成を有し２１００ＧＢ容量の大容量で低コストなＦｉｌｅ  ＴｙｐｅのＬＵを所持していることを認識することができる。そして、ＳＴＲ０のＣＨＮ０は、ＳＴＲ１が有するＬＵを、リモートＬＵ、即ち他の記憶装置ＳＴＲ１（１ａ）に存在するが自記憶装置ＳＴＲ０（１）が管理する一つのＬＵとして、管理することを決定する。
【０１０２】
ＣＨＮ０はＳＴＲ１が有するＬＵにＬＵ３の番号を割り当て、またこのＬＵ内に構築されるファイルシステムにはリモートファイルシステムＲＦＳ３の番号を割り当てる。また、このＬＵは大容量低コストなディスクプールに存在するので、このＬＵのストレージクラスを「Ａｒｃｈｉｖｅ  Ｓｔｏｒａｇｅ」に設定する。そしてＣＨＮ０のディスクアレイ制御用ＣＰＵ１１００８の制御によって、上述のディスクプールの種類、ＬＵの構成、ＬＵ番号、ストレージクラス等、ＳＴＲ１に存在するＬＵ３に関する情報が、記憶装置１（ＳＴＲ０）が有するＳＭ１３のディスクプール管理テーブル１３１に格納される。記憶装置１が有するＣＨＮは、ファイルシステムプログラム１１００４３をファイルアクセス制御用ＣＰＵ１１００１が実行することによって、ディスクプール管理テーブル１３１を参照し、ディスクプール管理テーブル１３１からＬＵ０３に関する情報をコピーすることによって、ＬＵ０３についての情報をファイルアクセス制御用メモリ内のストレージクラス管理テーブル１１００４５１に登録することができる。
【０１０３】
以下、第１実施形態で説明したように、ＮＡＳホスト０（４００）がファイルａｂｃ．ｄｏｃをＣＨＮ０経由でＳＴＲ０のＬＵ０に格納し、その後ＣＨＮ０の制御によってファイルａｂｃ．ｄｏｃがＳＴＲ０のＬＵ２に移行されたと仮定して、本実施形態において、ファイルａｂｃ．ｄｏｃを更に他の記憶装置ＳＴＲ１内のＬＵ３に移行するために実行される処理について、第１実施形態との相違点のみを説明する。
【０１０４】
第１実施形態で説明した通り、ファイルａｂｃ．ｄｏｃは、図１１、図１２に示すように、現行ライフサイクルが「参照期」で、現行ストレージクラスは「ＮｅａｒＬｉｎｅ  Ｓｔｏｒａｇｅ」で、ＳＴＲ０のＳＡＴＡディスクプールに構築されたＬＵ２上のＬＦＳ２にＦＩＬＥ００００１という名称でデータ部が格納されている。ファイル名「ａｂｃ．ｄｏｃ」が登録されているファイル名管理テーブル１１００４３６と、ファイルａｂｃ．ｄｏｃに関するファイル格納管理テーブル１１００４３５は、ＬＦＳ０に存在する。即ち、ＬＦＳ０用のファイル名管理テーブル１１０４３６及びＬＦＳ０内のファイル用のファイル格納管理テーブルに、ａｂｃ．ｄｏｃに関する情報が登録されている。一方、ファイル特性管理情報管理テーブル１１００４３８はＬＦＳ０とＬＦＳ２の両方に存在している。尚、ファイルａｂｃ．ｄｏｃのデータ部はＬＦＳ２が構築されているＬＵ２にマイグレーション済みなので、ＬＦＳ０が構築されているＬＵ０にはａｂｃ．ｄｏｃのデータ部は存在しない。
【０１０５】
ＳＴＲ０のマイグレーション管理部１１００４３Ａは、ａｂｃ．ｄｏｃのファイル特性情報管理テーブル１１００４３８を参照し、作成日と現日付及び時刻を比較する。既にマイグレーション後１年が経過していたとすると、ａｂｃ．ｄｏｃの静的特性情報のライフサイクルモデルは「モデル１」であるから、「参照期」の期間である１年間が経過しており、既に現行ライフサイクルが「参照期」から「保管期」に変化しているということを、マイグレーション管理部１１００４３Ａは認識する。そして、ａｂｃ．ｄｏｃのマイグレーションプランが「プラン１」であることから、マイグレーション管理部１１００４３Ａは、このファイルをストレージクラスが「ＮｅａｒＬｉｎｅ  Ｓｔｏｒａｇｅ」であるＬＵからストレージクラスが「Ａｒｃｈｉｖｅ  Ｓｔｏｒａｇｅ」であるＬＵに移行しなくてはならないことを認識する。
【０１０６】
次にマイグレーション管理部１１００４３Ａは、ストレージクラス管理テーブル１１００４３９を参照し、「Ａｒｃｈｉｖｅ  Ｓｔｏｒａｇｅ」クラスに属するＬＵ３を選択して、ＬＵ３にファイルａｂｃ．ｄｏｃを移動することを決定する。ＬＵ３は、ストレージノードが「ＳＴＲ１（すなわち他の記憶装置１ａ）」、ＤｉｓｋＰｏｏｌ＃が「ＳＡＴＡディスクプール」、ＬＵ  Ｔｙｐｅが「Ｒｅｍｏｔｅ  Ｆｉｌｅ」という属性を備える。
【０１０７】
次にマイグレーション管理部１１００４３Ａは、ａｂｃ．ｄｏｃのファイル特性情報管理テーブル１１００４３８の動的特性情報の、現行ライフサイクルを「保管期」に、現行ストレージクラスを「Ａｒｃｈｉｖｅ」にそれぞれ変更する。
【０１０８】
次にマイグレーション管理部１１００４３Ａは、記憶装置ＳＴＲ０（１）内でファイルａｂｃ．ｄｏｃを管理するための一意なファイル名（ここではＳＴＲ１−ＦＩＬＥ００００１とする）を定義する。
【０１０９】
マイグレーション管理部１１００４３Ａは、自身がＮＡＳホストのごとく動作し、ＳＴＲ１に対してファイルＳＴＲ１−ＦＩＬＥ００００１のオープン要求を発行する。今回のオープン処理は、ＳＴＲ１にとってはファイルの新規格納のために実行されるオープン処理である。そこでＳＴＲ０は、ファイルａｂｃ．ｄｏｃの静的特性情報として、ＳＴＲ０がファイル特性情報管理テーブル内に所持している情報を、オープン要求内に含めて、ＳＴＲ１に送信する。ただし、静的特性情報のうち初期ストレージクラスのみ「Ａｒｃｈｉｖｅ」に変更して送信することで、ＳＴＲ０はＳＴＲ１に対して、ファイルＳＴＲ１−ＦＩＬＥ０００１を最初からＡｒｃｈｉｖｅストレージクラスに格納するよう明示的に指定する。
【０１１０】
ＳＴＲ１のＮＣＴＬ０は、ＬＡＮコントローラ１１００２ａ経由でオープン要求を受信し、ファイルアクセス制御用ＣＰＵ１１００１ａはファイルシステムプログラム１１００４３ａを実行する。
【０１１１】
ファイルシステムプログラム１１００４３ａが実行されると、第１実施形態と同様に、受信したオープン要求がローカルファイルシステムＲＦＳ３へのアクセス要求であることが特定され、ファイルアクセス制御用ＣＰＵ１１００１ａの制御によって、ファイルアクセス制御用メモリ１１００４ａ内のファイル名管理テーブル１１００４３６ａにＳＴＲ１−ＦＩＬＥ００００１が登録されてファイルハンドラが割り当てられ、ファイルアクセス制御用メモリ１１００４ａ内にファイル格納管理テーブル１１００４３５ａ及びファイル特性情報管理テーブル１１００４３８ａが作成され各テーブル内に登録されるべき情報が設定される。そして、ＮＣＴＬ０はＳＴＲ１−ＦＩＬＥ００００１に対して割り当てられたファイルハンドラを、ＣＨＮ０のマイグレーション管理部１１００４３Ａに宛てて送信し、オープン処理が終了する。
【０１１２】
次にＳＴＲ０のマイグレーション管理部は、第１実施形態のデータライト処理におけるＮＡＳホストと同様、オープン処理でＳＴＲ１のＮＣＴＬ０から取得したファイルハンドラを有するライト要求をＳＴＲ１に対して発行し、ａｂｃ．ｄｏｃの実データ（即ちＦＩＬＥ０００００１の実データでもあるデータ）をファイルＳＴＲ１−ＦＩＬＥ００００１の実データとしてライトするよう要求する。
【０１１３】
ＳＴＲ１のファイル格納管理部１１００４３３ａは、ライトデータを保存するために必要なバッファ領域を確保し、ファイルの実データのディスク上での格納位置を決定し、又、ＳＴＲ０から受信したライトデータをバッファに格納する。
【０１１４】
格納位置の決定に際しては、ファイル格納管理部１１００４３３ａによってファイル特性情報管理テーブル１１００４３８ａの静的特性情報が参照される。ここで、ファイルＳＴＲ１−ＦＩＬＥ００００１のライフサイクルモデルは「モデル１」であり、ファイル生成後１年１ヶ月以上経過しているので、ＳＴＲ１−ＦＩＬＥ００００１の現行ライフサイクルは「保管期」であるとファイル格納管理部１１００４３３ａは特定する。また、初期ストレージクラスはＳＴＲ０から指定された「Ａｒｃｈｉｖｅ  Ｓｔｏｒａｇｅ」であるとファイル格納管理部１１００３４４ａは特定する。
【０１１５】
そしてファイル格納管理部１１００４３３ａは、ファイル特性情報管理テーブル１１００４３８ａの動的特性情報のライフサイクル情報カテゴリについて、現行ライフサイクルを「保管期」と、現行ストレージクラスを「Ａｒｃｈｉｖｅ  Ｓｔｏｒａｇｅ」と設定する。更にファイル格納管理部１１００４３３ａは、ファイルＳＴＲ１−ＦＩＬＥ００００１に関するアクセス情報を適切に計算し、ファイル特性情報管理テーブルのアクセス情報カテゴリ内の情報更新する。尚、ＳＴＲ１−ＦＩＬＥ００００１のファイル格納管理テーブル１１００４３５ａのリンク先エントリには全てＮＵＬＬが登録されるものとする。
【０１１６】
その後、ＮＣＴＬ０の制御により、適切なタイミングで、ＬＵ３を構成するディスクにファイルＳＴＲ１−ＦＩＬＥ００００１のデータ部分が格納される。
【０１１７】
以上でＳＴＲ１におけるライト処理が終了し、処理がＳＴＲ０に戻る。
【０１１８】
ＳＴＲ０のファイル格納管理部１１００４３３は、ＬＦＳ２のＦＩＬＥ００００１のファイル格納管理テーブル１１００４３５のリンク先ノード名をＳＴＲ１、リンク先ＦＳ名をＬＦＳ３、リンク先ファイル名をＳＴＲ１−ＦＩＬＥ００００１に変更する。そして、ファイル格納管理部１１００４３３は、ＦＩＬＥ００００１のファイル格納管理テーブル１１００４３５に登録されているポインタから参照されるバッファ管理テーブルを全て開放し、これらのバッファ管理テーブルのエントリをＮＵＬＬとする。
【０１１９】
以上により、ファイルａｂｃ．ｄｏｃのデータ部の実態はＳＴＲ０のＬＦＳ２にあったＦＩＬＥ００００１から、ＳＴＲ１のＲＦＳ３にあるＳＴＲ１−ＦＩＬＥ００００１へ移動したことになる。
【０１２０】
以降、ＮＡＳホストからファイルａｂｃ．ｄｏｃに対するアクセス要求が発行された場合には、ＳＴＲ０のＣＨＮが一旦ＬＦＳ０のａｂｃ．ｄｏｃのファイル格納管理テーブルを参照してリンク先ノード名、ＦＳ名、ファイル名を取得し、取得したリンク先の識別情報（即ち、ＳＴＲ０、ＬＦＳ２、ＦＩＬＥ００００１）に基づいて、ＬＦＳ２のＦＩＬＥ００００１のファイル格納管理テーブルを参照する。そしてＳＴＲ０のＣＨＮは更に、ＬＦＳ２のＦＩＬＥ００００１のファイル格納管理テーブルから再びリンク先ノード名、ＦＳ名、ファイル名を取得し、取得したリンク先の識別情報（即ち、ＳＴＲ１、ＬＦＳ３、ＳＴＲ１−ＦＩＬＥ００００１）を指定したアクセス要求を、ＳＴＲ１のＮＣＴＬへ発行することによって、ＳＴＲ１のＲＦＳ３のＳＴＲ１−ＦＩＬＥ００００１にたどり着き、ＳＴＲ１のＮＣＴＬを介してａｂｃ．ｄｏｃのデータ部にアクセスできる。
【０１２１】
このように本実施形態においては、ＳＴＲ１が有するＬＵ３内に移行されたファイルにアクセスするためには、複数のファイル格納管理テーブルを参照しなければならないため、アクセス速度は若干低下する。しかしＳＴＲ１が有するＬＵ３に格納されるファイルは、現行ライフサイクルが「保管期」のファイルであり、ほとんどアクセス要求がこないファイルであるので、実用上は問題ない。仮に、「保管期」のファイルのデータに対してホスト計算機からアクセス要求が発行された場合であっても、Ａｒｃｈｉｖｅクラスに属するファイルとはいえ磁気ディスク内に格納されているため、従来の様にテープにファイルが格納されている場合と比べれば、テープ制御のための多大なアクセス時間を必要とせず、一旦テープからディスクにデータを移動しなおす必要もなく、データが記憶されているディスク上の記憶位置からそのままリアルタイムでデータを取り出すことができる。
【０１２２】
以上のように、本実施形態によれば、ライフサイクルに従いファイルの格納位置を決定しているので、ライフサイクルが老いた「保管期」のファイルには保管に適したＡｒｃｈｉｖｅストレージクラスが、選択される。
【０１２３】
また、自記憶装置に他の記憶装置を接続することができ、記憶装置毎の特徴の違いを利用した記憶階層を構築することができる。そして、マイグレーションプランにそって、自記憶装置内ばかりでなく、他の記憶装置内のＬＵへファイルを移行することができ、１台の記憶装置で階層記憶制御を実現する場合と比較して、一層記憶装置にかかるコストを最適化することができる。
【０１２４】
また、ストレージクラスが「Ａｒｃｈｉｖｅ  Ｓｔｏｒａｇｅ」であるＬＵを構成するディスク装置は、ドライブを停止させてしまい、低消費電力を実現するとともに、ディスク寿命を延ばすようにすることも可能である。
【０１２５】
また、さらに低コストな記憶装置を、本実施形態の記憶装置ＳＴＲ１に接続することもできるため、複数の記憶装置間により一層深い記憶階層を設定し、階層記憶制御を実行することでさらにコストを最適化することができる。
【０１２６】
［実施形態３］
（１）システム構成の一例（図１４）
次に第３の実施形態におけるシステム構成の一例を図１４を用いて説明する。本実施形態においては、第２実施形態と同様、記憶装置ＳＴＲ０（１）に別の記憶装置ＳＴＲ２（１ｂ）がネットワークを介して接続されたシステムにおいて、記憶装置間での階層記憶制御が実行される。第２の実施形態との相違は、記憶装置間を接続するネットワークが、第２の実施形態ではＬＡＮ２０であり、記憶装置間ではファイルＩ／Ｏインタフェースが用いられるのに対し、第３の実施形態では記憶装置間を接続するネットワークが記憶装置間の接続専用のＳＡＮ３５であり、記憶装置間ではブロックＩ／Ｏインタフェースが用いられることである。
【０１２７】
図１４において、記憶装置ＳＴＲ２（１ｂ）は、第２の実施形態の記憶装置ＳＴＲ１（１ａ）と同様の小規模な構成の記憶装置であるが、第二の実施形態における記憶装置ＳＴＲ１（１ａ）のＮＡＳコントローラＮＣＴＬ０に代えて、ＳＡＮコントローラＦＣＴＬｘを有している。ＦＣＴＬｘはＳＡＮ３５に接続できるよう、ＦＣコントローラ１１０１２ｂを備えており、また、ＳＴＲ１のようなファイルアクセス制御用ＣＰＵ１１００１ａやその周辺回路が存在せず、ファイル制御は行わない。それ以外は、本実施形態における記憶装置ＳＴＲ２（１ｂ）は、第二の実施形態における記憶装置ＳＴＲ１（１ａ）と同様の構成を有する。
【０１２８】
ＳＡＮ３５は記憶装置ＳＴＲ０（１）と記憶装置ＳＴＲ２（１ｂ）を接続するための専用ネットワークであり、ＳＡＮ３５にはＳＡＮホストは接続されていない。なお、本実施形態では説明の簡単化のため、記憶装置間を接続するネットワークであるＳＡＮ３５にはＳＡＮホストが接続されないものとし、また、記憶装置間を接続するネットワークの本数も１本であるとしている。しかし、ＳＡＮ３５にＳＡＮホストを接続させることも、また、記憶装置間を接続するネットワークの数を複数にして耐障害性を向上させることも可能である。
【０１２９】
本実施形態においては、記憶装置ＳＴＲ０（１）の制御下に記憶装置ＳＴＲ２（１ｂ）がおかれ、ＮＡＳホスト０からのファイルアクセスは記憶装置ＳＴＲ０（１）を経由して記憶装置ＳＴＲ２（１ｂ）に到達する。このような構成を以下「異種記憶装置接続」と呼ぶことにする。
（２）他の記憶装置へのファイルの移行処理
次にＳＴＲ０に格納されているファイルをＳＴＲ２移行するための処理について、第２実施形態との相違点を中心に説明する。
【０１３０】
記憶装置ＳＴＲ０（１）のＣＨＦ１（１１１１）は、ＳＡＮ３５に異種記憶装置である記憶装置ＳＴＲ２（１ｂ）が接続していることを認識する。ＣＨＦ１（１１１１）はイニシエータとなり情報を採取するコマンドを発行することにより、ＳＴＲ２（１ｂ）がＳＡＮ３５に接続されていることを認識する。ＣＨＦ１（１１１１）はＳＴＲ２の記憶領域をあたかも第１実施形態の自装置内部のディスクプールであるかのように扱う。ＣＨＮ０（１１１０）はＣＨＦ１（１１１１）経由でこのディスクプールを使用することができる。ディスクプールの管理方法については後述する。記憶装置ＳＴＲ０（１）のＣＨＮ０（１１００）はＳＴＲ２の構成を把握するため、自身がイニシエータとなり情報を採取するためのコマンドをＣＨＦ１（１１１１）を介してＳＴＲ２に発行する。そして、ＳＴＲ０のＣＨＮ０（１１００）は、コマンドに対するＳＴＲ２からの応答をＣＨＦ１（１１１１）を介して受信し、応答に含まれる情報から、ＳＴＲ２がＳＡＴＡディスクプールを所持し、１５Ｄ＋１Ｐ、ＲＡＩＤ５構成で、２１００ＧＢの大容量を有する低コストなＢｌｏｃｋ  ＴｙｐｅのＬＵを所持していることを認識し、このＬＵをリモートＬＵとして管理することを決定する。またＳＴＲ２が有するディスクプールは、大容量低コストなディスクプールなので、そのディスクプールのストレージクラスは「Ａｒｃｈｉｖｅ  Ｓｔｏｒａｇｅ」とすることを、ＳＴＲ０のＣＨＮ０（１１００）が決定する。そしてＳＴＲ０のＣＨＮ０（１１００）は、ＳＴＲ２内のＬＵにＬＵ４の番号を割り当て、このＬＵに関する情報、即ちＳｔｏｒａｇｅ  Ｃｌａｓｓ＃「Ａｒｃｈｉｖｅ  Ｓｔｏｒａｇｅ」、Ｓｔｏｒａｇｅ  Ｎｏｄｅ＃「ＳＴＲ２」、Ｄｉｓｋ  Ｐｏｏｌ＃「ＳＡＴＡ  Ｐｏｏｌ」、ＬＵ＃「ＬＵ４」、ＬＵ  Ｔｙｐｅ「Ｒｅｍｏｔｅ  Ｂｌｏｃｋ」、ＲＡＩＤ  Ｃｏｎｆ．「ＲＡＩＤ５  １５Ｄ＋Ｐ」、Ｕｓａｂｌｅ  Ｃａｐａｃｉｔｙ「２１００ＧＢ」を、ＳＭ１３のディスクプール管理テーブル１３１に格納する。ＳＴＲ０のＣＨＮ（１１００）でファイルシステムプログラムが実行された場合には、ディスクプール管理テーブル１３１が参照され、このＬＵに関する情報がディスクプール管理テーブル１３１からファイルアクセス制御用メモリのストレージクラス管理テーブル１１００４５１に複写される。
【０１３１】
第２の実施形態と同様に、ＳＴＲ０のＣＨＮ０（１１００）のマイグレーション管理部１１００４３Ａがファイルａｂｃ．ｄｏｃをＮｅａｒＬｉｎｅストレージクラスからＡｒｃｈｉｖｅストレージクラスに移行することを決定したとして、以下にこの場合に実行されるファイルの移行処理を説明する。
【０１３２】
ＳＴＲ０のマイグレーション管理部１１００４３Ａは、ストレージクラス管理テーブル１１００４３９を参照し、「Ａｒｃｈｉｖｅ  Ｓｔｏｒａｇｅ」クラスに該当するＬＵ４を選択し、ファイルａｂｃ．ｄｏｃをＬＵ４に移動することを決定する。ＬＵ４は、ストレージノードが「ＳＴＲ２（すなわち他の記憶装置１ｂ」、ＤｉｓｋＰｏｏｌ＃が「ＳＡＴＡディスクプール」、ＬＵ  Ｔｙｐｅが「Ｒｅｍｏｔｅ  Ｂｌｏｃｋ」という属性を備える。
【０１３３】
第２実施形態とは異なり、ＬＵ４のＬＵ  Ｔｙｐｔｅは「Ｂｌｏｃｋ」型であるので、ＬＵ４にはファイルシステムが存在していない。そこで、ＣＨＮ０（１１００）に格納されているファイルシステムプログラムはこのＬＵ４にローカルファイルシステムＬＦＳ４を構築する。ＬＵ４が設定されているディスクプールはＳＴＲ０から見ると他の記憶装置ＳＴＲ２に存在するので、「リモート」のディスクプールであり、ＬＵ４もリモートＬＵであるが、ＬＵ４内に設定されるファイルシステムＬＦＳ４の制御はＣＨＮ０（１１００）が行うので、ファイルシステムＬＦＳ４はローカルファイルシステムになる。
【０１３４】
ＬＦＳ４はローカルファイルシステムとして管理されることになり、またＬＦＳ４が構築されるＬＵ４はブロックタイプの異種記憶装置内に存在するＬＵであるので、本実施形態においては、ファイル格納管理テーブルの取り扱いが第１および第２の実施形態とは異なる。すなわち、ＳＴＲ０のＣＨＮ０（１１００）のファイル格納管理部１１００４３３は、リンク先ノード名には「ＳＴＲ２」、リンク先ＦＳ名には「ＬＦＳ４」、リンク先ファイル名にはＳＴＲ２−ＦＩＬＥ００００１を割り当て、これを、ａｂｃ．ｄｏｃについてのファイル格納管理テーブルに設定する。尚、ａｂｃ．ｄｏｃは既にＦＩＬＥ００００１のファイル名でＬＵ２に移行されているので、ＣＨＮ０（１１００）は、割り当てられたリンク先ノード名、リンク先ＦＳ名、リンク先ファイル名を、ＬＦＳ２のファイルＦＩＬＥ００００１についてのファイル格納管理テーブルに設定しても良い。また、ＬＵ４が実際に存在するＳＴＲ２は、上述の通りファイルアクセス制御を実行しないので、ＳＴＲ２内にはＳＴＲ２−ＦＩＬＥ００００１に関するファイル格納管理テーブルが作成されない。
【０１３５】
ＣＨＮ０（１１００）のファイルシステムプログラム１１００４が実行されることによって行われる処理は、ファイルａｂｃ．ｄｏｃのリンク先ノード（即ちファイルａｂｃ．ｄｏｃの実データが格納されている記憶装置）がＳＴＲ２であると意識されて処理が実行されること以外は、ファイルのオープン処理、ライト処理、マイグレーション処理ともに、第１実施形態で述べたローカルファイルシステムに対する処理と同様である。
【０１３６】
しかし、ファイルを自記憶装置ＳＴＲ０内に存在するＬＵへ移動する第一の実施形態とは異なり、本実施形態では他の記憶装置ＳＴＲ２内に存在するＬＵへファイルのデータを移動するため、ディスクへの入出力処理は第一の実施形態とは異なる。第１実施形態ではディスクへの入出力処理をＳＴＲ０のＤＫＡ１２ｘが制御したが、本実施形態の構成では、ＳＴＲ０のＣＨＦ１（１１１１）が制御する。そこで、ＣＨＮ０のディスクアレイ制御用メモリ１１００９には、ＣＨＦ通信ドライバプログラム１１００９６が格納されている。ディスクアレイ制御用ＣＰＵ１１００８がＣＨＦ通信ドライバプログラムを実行することにより、ＣＨＦ通信ドライバ部が実現される。ＣＨＦ通信ドライバ部は、ＳＭ１３にディスク入出力コマンド（以下Ｉ／Ｏコマンドとする）を送信する。このＩ／Ｏコマンドには、データの格納位置を示すアドレス情報が含まれる。ＣＨＦ１（１１１１）はこのＩ／ＯコマンドをＳＭ１３経由で受信し、受信したＩ／Ｏコマンドに基づいてＳＡＮ３５経由で記憶装置１ｂ（ＳＴＲ２）にＩ／Ｏコマンドを発行する。ＣＨＦ１（１１１１）が発行するＩ／Ｏコマンドには、記憶装置１ｂ（ＳＴＲ２）内でのデータの格納位置を示すアドレス情報が含まれている。記憶装置１ｂ（ＳＴＲ２）は、通常のホストからディスクＩ／Ｏコマンドを受信した場合と同様の手順で、ＣＨＦ１（１１１１）から受信したＩ／Ｏコマンドを処理する。すなわちＳＴＲ２から見るとＳＴＲ０のＣＨＦ１がホストとして認識されることになる。
【０１３７】
本実施形態によれば、ブロックＩ／Ｏインタフェースを備える異種記憶装置ＳＴＲ２が有するディスクプールを、記憶装置ＳＴＲ０のディスクプールの一つとして扱い、ＳＴＲ２が有するディスクプールに存在するＬＵに、ＳＴＲ０が管理するファイルシステムを構築することができる。更に、ＳＴＲ０内のＬＵに格納されているファイルをＳＴＲ２内のＬＵに移行することができ、コスト効果に優れ、柔軟な記憶階層を構築することができる。
［実施形態４］
（１）システム構成の一例（図１５）
次に第４の実施形態を説明する。本実施形態は、記憶装置の構成が前述の実施形態と異なる。
【０１３８】
図１５は、本実施形態におけるシステム構成の一例を示す図である。記憶装置ＳＴＲ３（１ｃ）は、ＤＫＣ７０とディスクプールを備えている。ＤＫＣ７０において、ＳＷ７１はスイッチ、ＮＮＯＤＥ（７２ｘ）はＬＡＮに接続するためのファイルＩ／Ｏ制御機構を備えたＮＡＳ  ノード、ＦＮＯＤＥ（７３ｘ）はＳＡＮに接続するためのブロックＩ／Ｏ制御機構を備えたＦＣ  ノード、ＩＮＯＤＥ（７４ｘ）はＩＰネットワークに接続するためのＩＰネットワーク制御機構を備えたＩＰ  ノード、ＤＮＯＤＥ（７５ｘ）はディスクプールを接続するためのディスク制御機構を備えたＤｉｓｋ  Ｃｏｎｔｒｏｌ  ノードである。スイッチＳＷ７１には、一又は複数のＮＮＯＤＥ７２ｘ、一又は複数のＦＮＯＤＥ７３ｘ、一又は複数のＩＮＯＤＥ７４ｘ、一又は複数のＤＮＯＤＥ７５ｘが接続されている。なお、スイッチにｉＳＣＳＩを制御するノードを接続させ、ＩＰ  ＳＡＮを構築することもできる。ｉＳＣＳＩを制御するノードはＦＮＯＤＥと同様の機能を有し、同様の構成を有する。
【０１３９】
ＤＮＯＤＥ０及びＤＮＯＤＥ１は、ＦＣディスクプール１７０とＳＡＴＡディスクプール１７１の２種類のディスクプール０及びディスクプール１を接続し、制御している。
【０１４０】
ＩＮＯＤＥ０及びＩＮＯＤＥ１は、記憶装置ＳＴＲ３の外部に存在する、第２の実施形態で説明したファイルＩ／Ｏインタフェースを備えた記憶装置である、ＮＡＳ型の異種記憶装置ＳＴＲ１（１ａ）と接続する。ＦＮＯＤＥ２及びＦＮＯＤＥ３は、記憶装置ＳＴＲ３の外部に存在する、第３実施形態で説明したブロックＩ／Ｏインタフェースを備えた記憶装置である、ＳＡＮ型の異種記憶装置ＳＴＲ２（１ｂ）と接続する。
【０１４１】
（２）ＮＮＯＤＥの構成の一例（図１６）
図１６はＮＮＯＤＥの構成の一例を示す図である。ＮＮＯＤＥ７２０は図４に示すＣＨＮ１１００のＣＰＵ間通信回路１１００７以下の構成要素を取り外し、ＳＷノードコントローラ７４０４に代えたものと等価である。その他の構成要素については、ＣＨＮと構成、機能ともに同様である。
【０１４２】
ＳＷノードコントローラ７２０４はＳＷ７１と接続するためのコントローラ回路であり、コマンドやデータ、制御情報を、記憶装置ＳＴＲ３（１ｃ）内部で送受信される内部フレームのフォーマットに形成し、ＤＮＯＤＥ等の他のノードにディスクＩ／Ｏとして送信する。
【０１４３】
（３）ＦＮＯＤＥの構成の一例（図１７）
図１７はＦＮＯＤＥの構成の一例を示す図である。ＦＮＯＤＥ７３０は図１４のＦＣＴＬ１１００ｂのＦＣコントローラ１１０１２ｂにＳＷノードコントローラ７３０２を接続した構成を有し、ＳＷノードコントローラを介してＳＷ７１に接続できる。ＦＣコントローラ７３０１はターゲットデバイスとして動作し、ＳＡＮとの間でコマンドやデータや制御情報のフレームを授受する。ＳＷノードコントローラ７３０２はＦＣコントローラが送受信するフレームを、記憶装置ＳＴＲ３（１ｃ）の内部フレームの構成に変換し、ＤＮＯＤＥ等の他ノードとの間で送受信する。
【０１４４】
また、ＦＮＯＤＥ７３ｘはイニシエータデバイスとしても動作し、ＮＮＯＤＥや他のＦＮＯＤＥから受信したディスクＩ／Ｏコマンドに基づいて、記憶装置ＳＴＲ３の外部に接続されている他の記憶装置にＩ／Ｏコマンドを送信することもできる。例えば、図１５のＦＮＯＤＥ２及びＦＮＯＤＥ３は、記憶装置ＳＴＲ３のＮＮＯＤＥや他のＦＮＯＤＥから受信したコマンドに基づいて、記憶装置ＳＴＲ３の外部に接続された異種記憶装置ＳＴＲ２（１ｂ）にＩ／Ｏコマンドを送信することができる。この場合、ＳＴＲ２から見るとＦＮＯＤＥ２及びＦＮＯＤＥ３はホスト計算機として動作しているよう見える。
【０１４５】
図１７では簡単化のため、ＦＣコントローラ７３０１とＳＷノードコントローラ７３０２のみ記載しているが、ターゲット処理やイニシエータ処理、もしくは内部フレーム生成処理のために、ＣＰＵをＦＮＯＤＥに搭載する実装とすることも可能である。
【０１４６】
尚、ＦＣコントローラ７３０１に代えてｉＳＣＳＩコントローラを設置すれば、ｉＳＣＳＩを制御するノードを構成することができ、このノードをＳＷ７１に接続すれば、ＩＰ  ＳＡＮを構成することもできる。
【０１４７】
（４）ＩＮＯＤＥの構成の一例（図１８）
図１８はＩＮＯＤＥの構成の一例を示す図である。ＩＮＯＤＥ７４０は図１３に示すＮＣＴＬ０（１１００ａ）が有するＬＡＮコントローラ７４０１にＳＷノードコントローラ７４０２を接続した行製を有し、ＳＷノードコントローラを介してＳＷ７１に接続することができる。ＩＮＯＤＥは、ＳＴＲ３に外部ＮＡＳ型の記憶装置ＳＴＲ１ａを接続するために、記憶装置ＳＴＲ３（１ｃ）に備えられている。
【０１４８】
（５）ＤＮＯＤＥの構成の一例（図１９）
図１９はＤＮＯＤＥの構成の一例を示す図である。ＤＮＯＤＥ７５０は図１４に示すＦＣＴＬ１１００ｂのＦＣコントローラ１１０１２ｂを取り外し、ＳＷノードコントローラ７５０１に代えたものである。ＤＮＯＤＥ７５０は、ディスクＩ／ＯコマンドをＳＷ７１経由でＮＮＯＤＥ又はＦＮＯＤＥから受信すると動作し、この結果、図１５の点線で囲った１ｄ部分が、あたかも独立した図１４の記憶装置ＳＴＲ２のごとく動作する。本実施形態では、ＤＮＯＤＥ０（７５０）とＤＮＯＤＥ１（７５１）とが二重化コントローラとしてペアを組み動作する。ＤＮＯＤＥが二重化されている点も、ＦＣＴＬが二重化されている図１４の記憶装置ＳＴＲ２の構成と同様である。
（６）ファイルの移行処理
本実施形態は、第１の実施形態、第２の実施形態、第３の実施形態と記憶装置の構成が異なるだけで、階層記憶制御を実行するための処理手順は、第１の実施形態、第２の実施形態、第３の実施形態と同様であるため、記憶装置の構成の相違により生ずる動作上の相違点のみ説明する。
【０１４９】
本実施形態においては、第１の実施形態と同様の手順で、記憶装置ＳＴＲ３の内部で階層記憶制御を実行することができる。ＮＮＯＤＥ７２ｘのファイルアクセス制御用メモリに格納されているファイルシステムプログラム１１００４３は、使用可能なＬＵを管理するためのストレージクラス管理テーブル１１００４３９を備え、ＤＮＯＤＥ７５ｘが管理するディスクプールおよびＬＵを、ストレージクラス管理テーブルを参照することで認識することができる。ただし、第１実施形態とは異なり共通情報を格納するＳＭ１３が存在しないので、あらかじめＮＮＯＤＥ７２ｘが全ＤＮＯＤＥ７５ｘに問い合わせ、使用可能なＬＵを特定し、ストレージクラス管理テーブルに登録しておく必要がある。もちろん本実施形態においても、ＳＭを接続するためのＳＭノードを、ＳＷに接続できるようにしておき、第１の実施形態と同様にＳＭに格納されている情報からストレージクラス管理テーブルを構成することとしてもよい。
【０１５０】
ＮＮＯＤＥ７２ｘが使用可能なディスクプールおよびＬＵを特定し、ストレージクラス管理テーブル１１００４３９を作成し、ストレージクラスを定義すれば、後は第１実施形態と同様の処理にて、記憶装置ＳＴＲ３（１ｃ）内での階層記憶制御、即ちディスクプール０及びディスクプール１内に設定されたＬＵを用いた階層記憶制御を実行することができる。
【０１５１】
なお、ディスクＩ／Ｏコマンドの発行に関しては、ＮＮＯＤＥのファイルアクセス制御用メモリ７２０３に格納されているＳＷノードドライバプログラムが、ファイルアクセス制御用ＣＰＵ７２０２によって実行されることにより、ＳＷノード経由でアクセス対象ＬＵを管理するＤＮＯＤＥ７５０に対しディスクＩ／Ｏコマンドが発行される。
【０１５２】
以上のような構成、処理により、第１の実施形態の様な、記憶装置ＳＴＲ３の内部にファイルベースの記憶階層を構築したシステムを実現することができる。
【０１５３】
また、第２の実施形態と同様に、記憶装置ＳＴＲ３の外部にファイルＩ／Ｏインタフェースを備えたＮＡＳ型の異種記憶装置ＳＴＲ１（１ａ）を接続し、記憶階層を構成することができる。ＮＮＯＤＥ７２ｘのファイルアクセス制御用メモリ７２０３に格納されているファイルシステムプログラム１１００４３は、ファイルアクセス制御用ＣＰＵによって実行されることにより、ＩＮＯＤＥ７４ｘに接続しているＮＡＳ型の異種記憶装置が存在するか否かをＩＮＯＤＥ７４ｘに問い合わせ、異種記憶装置が存在する場合には、この異種記憶装置内に存在するリモートＬＵ、およびリモートファイルシステムを識別するための情報を異種記憶装置から取得する。そして、ファイルアクセス制御用ＣＰＵの制御によって、このリモートＬＵおよびリモートファイルシステムにストレージクラスを定義し、ストレージクラス管理テーブル１１００４３９にこのＬＵに関する情報を登録して管理する。後は第２の実施形態における処理手順と同様である。
【０１５４】
なお、ディスクＩ／Ｏコマンドの発行に関しては、ＮＮＯＤＥのファイルアクセス制御用メモリ７２０３に格納されているＳＷノードドライバプログラムが、ファイルアクセス制御用ＣＰＵ７２０２によって実行されることにより、ＮＮＯＤＥからＳＷノード経由で、アクセス対象ＬＵを備えた記憶装置ＳＴＲ１（１ａ）を接続するＩＮＯＤＥ７４０に対し、ディスクＩ／Ｏコマンドを発行する。ＩＮＯＤＥ７４０は受信したＩ／Ｏコマンドに基づいて、ファイルアクセスを行うためのディスクＩ／Ｏコマンドを記憶装置ＳＴＲ１（１ａ）に発行するとともに、ファイルの実データや制御情報をＳＴＲ１（１ａ）との間で送受信する。
【０１５５】
なお、ＩＮＯＤＥ７４ｘはファイルの制御情報には一切関与せず、単なるＩＰネットワーク用のゲートウェイとして動作する。この場合、他のＮＡＳホスト等のデバイスからの干渉を受けることがない階層記憶構成を実現できる。もちろん、第２実施形態と同様にＮＮＯＤＥ７２０が接続するＬＡＮ２０に異種記憶装置ＳＴＲ１（１ａ）を接続しても差し支えない。
【０１５６】
以上のような構成、処理により第２の実施形態の様な、外部の異種記憶装置が有するストレージプールを用いたファイルベースの記憶階層を構築することができる。
【０１５７】
また、第３実施形態と同様に、記憶装置ＳＴＲ３の外部にブロックＩ／Ｏインタフェースを備えた記憶装置である、ＳＡＮ型の異種記憶装置ＳＴＲ２（１ｂ）を接続し、記憶階層を構成することもできる。ＮＮＯＤＥ７２ｘのファイルアクセス制御用メモリに格納されているファイルシステムプログラム１１００４３が、ファイルアクセス制御用ＣＰＵによって実行されると、ＮＮＯＤＥはＦＮＯＤＥ７３ｘに接続しているＳＡＮ型の異種記憶装置が存在するか否かをＦＮＯＤＥ７３ｘに問い合わせる。そして異種記憶装置が存在する場合には、ＮＮＯＤＥは問合せに対するＦＮＯＤＥからの応答内容に基づいて、この異種記憶装置が有するリモートＬＵを認識し、このリモートＬＵにローカルファイルシステムを構築する。そしてＮＮＯＤＥは、このリモートＬＵとローカルファイルシステムにストレージクラスを定義し、ストレージクラス管理テーブル１１００４３９にこのＬＵに関する情報を登録して管理する。後は第３の実施形態と同様の処理が実行される。
【０１５８】
なお、ディスクＩ／Ｏコマンドの発行に関しては、ファイルアクセス制御用ＣＰＵ７２０２がＳＷノードドライバプログラムを実行することにより、ＮＮＯＤＥからＳＷノード経由で、アクセス対象ＬＵを備えた記憶装置ＳＴＲ２（１ｂ）を接続するＦＮＯＤＥ７３２に対し、ディスクＩ／Ｏコマンドが発行される。ＦＮＯＤＥ７３２はディスクＩ／Ｏコマンドを記憶装置ＳＴＲ２に発行するとともに、データおよび制御情報を記憶装置ＳＴＲ２との間で送受信する。以上のような構成、処理手順により、第３実施形態と同様、外部の記憶装置ＳＴＲ２に構築され、記憶装置ＳＴＲ３によって管理されるファイルシステムを利用した、ファイルベースの記憶階層を構築することができる。
【０１５９】
本実施形態によれば、記憶装置ＳＴＲ３があたかも階層記憶システムを構築するための中央制御コントローラであるかのように動作し、その記憶装置ＳＴＲ３の内部と外部に様々な種類の記憶装置を接続できるので、きわめて柔軟かつスケーラブルな大規模な階層記憶システムを構築することができる。また、記憶装置ＳＴＲ３のＳＷの一ノードとして、記憶装置の内部にも外部にもディスクや他の記憶装置を接続できるので、高速なデータ転送を行うことができる。
（７）さらなる応用
以上、第１から第４の実施形態においては、ファイルのデータライフサイクルを基準としてファイルの階層的な移行処理を実行するファイルの移動方法及び記憶装置を説明してきたが、それ以外の基準でファイルを移動させることや、複数の基準を併用することももちろん可能である。データライフサイクル以外の基準としては、ファイルのアクセス特性やＬＵの使用容量などが考えられる。そして、ファイルのアクセス特性やＬＵの使用容量に基づくマイグレーションプランを設け、ファイルの移動を制御することができる。
【０１６０】
ファイルのアクセス特性に基づくマイグレーションプランの例としては、ファイルのアクセス頻度が一定水準を超えたら、一階層上位のストレージクラスにファイルを再移動するプランや、シーケンシャルアクセスに特化したストレージクラスを設け、あるファイルに対するシーケンシャルアクセス頻度が一定水準を超えたら、そのストレージクラスにファイル移動するプラン等が考えられる。
【０１６１】
ＬＵの使用容量に基づくマイグレーションプランの例としては、ＬＵの使用容量が一定水準を超えたら、現行ライフサイクルが変化していないファイルであっても、そのＬＵに格納されているアクセス頻度の低いファイルや、作成日からの経過時間が長いファイルを一階層下のストレージクラスに移行するプランが考えられる。
【０１６２】
上述の実施形態におけるファイル特性管理テーブル１１００４３８にはファイル毎の動的特性としてアクセス情報を管理している。またストレージクラス管理テーブルにはＬＵ毎の総容量と使用容量を管理している。これらの情報を活用することで、上述のマイグレーションプランを容易に実現することができる。
【０１６３】
【発明の効果】
ホスト計算機に依存することなく、記憶装置内部での処理によって、ファイルが有する特性に応じた階層記憶制御を実現することができる。
【図面の簡単な説明】
【図１】本発明が適用される計算機システムの構成例を示す図である。
【図２】記憶装置の外観の一例を示す図である。
【図３】アダプタボードの外観の一例を示す図である。
【図４】ＮＡＳチャネルアダプタの構成の一例を示す図である。
【図５】ファイルシステム制御用メモリに格納されているプログラムの一例を示す図である。
【図６】ディスクアレイ制御用メモリに格納されているプログラムの一例を示す図である。
【図７】ディスクプールと、ＬＵと、ファイルシステムの、対応関係の一例を示す図である。
【図８】ストレージクラス管理テーブルの一例を示す図である。
【図９】ファイル名管理テーブルの一例を示す図である。
【図１０】ファイル格納管理テーブルとバッファ管理テーブルの一例を示す図である。
【図１１】ファイル特性情報管理テーブルの一例を示す図である。
【図１２】ファイル格納管理テーブルの一例を示す図である。
【図１３】本発明が適用されるシステムの第二の構成例を示す図である。
【図１４】本発明が適用されるシステムの第三の構成例を示す図である。
【図１５】本発明が適用されるシステムの第四の構成例を示す図である。
【図１６】ＮＡＳノードの構成例を示す図である。
【図１７】ファイバチャネルノードの構成例を示す図である。
【図１８】ＩＰノードの構成例を示す図である。
【図１９】ディスクアレイノードの構成例を示す図である。
【符号の説明】
１…記憶装置
１１００…ＮＡＳチャネルアダプタ
１１１０…ファイバチャネルアダプタ
１２０…ディスク制御アダプタ
１３…共有メモリ
１４…キャッシュメモリ
１５…共有メモリコントローラ
１６…キャッシュメモリコントローラ
１７０…ディスクプール、
４００…ＮＡＳホスト
５００…ＳＡＮホスト
２０…ＬＡＮ
２１…ＬＡＮ
３０…ＳＡＮ
３５…ＳＡＮ
【図１】
2004295457.tif 000003
【図２】
2004295457.tif 000004
【図３】
2004295457.tif 000005
【図４】
2004295457.tif 000006
【図５】
2004295457.tif 000007
【図６】
2004295457.tif 000008
【図７】
2004295457.tif 000009
【図８】
2004295457.tif 000010
【図９】
2004295457.tif 000011
【図１０】
2004295457.tif 000012
【図１１】
2004295457.tif 000013
【図１２】
2004295457.tif 000014
【図１３】
2004295457.tif 000015
【図１４】
2004295457.tif 000016
【図１５】
2004295457.tif 000017
【図１６】
2004295457.tif 000018
【図１７】
2004295457.tif 000019
【図１８】
2004295457.tif 000020
【図１９】
2004295457.tif 000021