(57)【特許請求の範囲】
【請求項１】
データブロック単位でデータを格納する複数の記憶物理デバイスと、前記複数の記憶物理デバイスへのアクセスを制御する手段と、上位装置と、前記記憶物理デバイスの間に設けられたインターフェースを有し、該上位装置から要求のあったファイルを１又は複数の該記憶物理デバイスに格納する記憶システムにおいて、
前記記憶システムにポリシを設定する手段を具備し、前記ポリシは、前記上位装置から見て一つのファイルを前記記憶システムに格納するときに、前記ファイルが、予め定義されたデータ構造を持つファイルである場合、前記ファイルのデータ構造あるいはデータ構造に付属する属性に応じて、前記ファイルを構成するデータブロックを、前記複数の記憶物理デバイスの中から選択された１又は複数の記憶物理デバイスに格納するように設定された、ＸＭＬで定義されたポリシであり、
前記上位装置からファイルの格納要求のアクセスがあった場合、予め設定された前記ポリシを、格納要求のあった前記ファイルに対して適用して評価する手段を具備し、
前記評価手段による評価結果に基づいて、前記ファイルのデータ構造毎に前記データブロックを、前記選択された１又は複数の記憶物理デバイスに配置することを特徴とする記憶システム。
【請求項２】
請求項１の記憶システムであって、
前記上位装置から格納要求のあったファイルが動画像・音声などのマルチメディアデータを含むファイルである場合に、前記マルチメディアデータの各シーン毎のデータ構造に含まれる属性の要素として再生に要する帯域・通信速度の情報、あるいは前記マルチメディアデータがオブジェクト符号化されている場合には各シーン毎のオブジェクト毎のデータ構造に含まれる属性として再生に要する帯域・通信速度の情報がある場合において、
前記ポリシとして、前記各シーン毎、あるいは各シーン毎のオブジェクト毎の帯域・通信速度情報に基づいてデータブロックを配置する記憶物理デバイスを、前記記憶サブシステム内の前記複数の記憶物理デバイスの中から選択して設定することが可能なことを特徴とする記憶システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、計算機システムに用いられる記憶システム装置に係り、特に記憶システム装置内に割当られるファイルのデータブロックの配置を改良した記憶システム方式に関する。
【０００２】
【従来の技術】
現在コンピュータシステムにおいて、２次記憶装置としてディスク装置が用いられ、それはホストプロセッサ等の上位側装置側が処理に必要とするデータを２次記憶装置に格納している。近年、２次記憶装置としてストレージシステムは大容量化への要求の高まりと共に、RAIDなどの複数の物理デバイスと該複数の物理デバイスを制御して上位装置に仮想的な論理デバイスとして見せる制御装置とから構成することにより大容量化されたRAIDなどの２次記憶装置が登場している。また、このような２次記憶装置を構成する複数のデバイスの中にはアクセス速度の速いディスク装置やアクセス速度は遅いが大容量のデバイス等があり、から構成するなど、アクセス速度の異なるものが混在した記憶装置が製品化されている。これらの装置では記憶装置全体の平均的なアクセス速度を向上するために、例えば上位装置からみたファイルへのアクセス頻度に応じて、データブロックを格納する記憶物理デバイスを選択して配置することが行われている。アクセス頻度の計測単位としては、例えば上位装置で管理されるファイル単位で一定時間内のファイルへのアクセス回数を計測することが行われる。その結果に基づいてアクセス頻度の高いファイルやアクセス頻度の高いファイルが含まれる論理ボリュームをアクセス速度の高い記憶装置ドライブに配置することが行われている。
【０００３】
【発明が解決しようとする課題】
近年、電子メールに添付されるファイルのマルチメディア化や、ネットワークの広帯域化が進展すると共にしている。画像や動画像配信に使用されるファイルやまた、企業内の計算機システムで扱われる情報量は飛躍的に増加している。それにする伴って画像や動画像配信に使用されるファイルやデータベースに使用されるファイルなどファイルサイズの大規模化が進んでいる。これらのファイルの中には比較的アクセス頻度の高い部分や、あるいはアクセス頻度の低い部分などのが存在し、ファイル内においてもアクセス頻度について偏りがある。従って、従来行われてきたファイル単位のアクセス頻度によって記憶物理デバイスへのデータブロックの配置を行っていると、ファイルサイズの大規模化に伴い、アクセス頻度が高いファイルをファイル単位でアクセス速度の高い記憶物理デバイスドライブに配置することを行うと、アクセス頻度の低い部分も配置されてしまう。このためにアクセス性能の高い記憶物理デバイスドライブを効率よく使用できなくなってしまう不具合が生じてしまう。
【０００４】
また、アクセス頻度の高いデータブロックのみをファイルの中から抽出してアクセス速度の高い記憶物理デバイスに配置しようとすると、記憶物理デバイスのデータブロック毎にアクセス頻度に対する情報を収集する必要がある。データブロックごとにアクセス頻度を計測しようとすると、記憶物理デバイスの容量の拡大に伴って収集すべきデータブロック数が膨大になる。と共にさらに、近年のアクセス速度の向上に伴って、記憶物理デバイスのディスク装置のデータブロック毎のアクセス頻度のデータ収集に要する負荷や管理装置の負荷が大きくなってしまうという問題点がある。本発明の目的は、多数の磁気ディスク等記憶物理デバイスから構成される記憶システムにおいて、一つのファイル内で高頻度にアクセスされると考えられる部分だけを、アクセス速度の高いディスクに配置することにより効率的にアクセス速度の速いディスクを使用し、上位装置と２次記憶装置間の高速なデータ転送を実現することである。
【０００５】
【課題を解決するための手段】
【０００６】
記憶サブシステムには前記の記憶サブシステムを管理するための管理装置を接続するための管理インターフェースを備え、前記管理インターフェースを通じて接続された管理装置から、前記の上位装置が前記記憶サブシステムをアクセスする際にどの前記記憶物理デバイスを選択してアクセスするかを判断するためのポリシをあらかじめ設定する手段を設け、前記記憶サブシステムは設定されたポリシを記憶する手段を有している。さらに、前記上位装置から記憶サブシステムへのデータへの配置要求があった場合に、前記記憶サブシステムは、前記のアクセスがあらかじめ設定したポリシに合致するかどうかを評価する手段を有し、合致した場合には評価結果に基づいてデータブロックを配置する記憶物理デバイスを決定して配置する。さらに上位装置からのアクセスに使用された前記論理アドレスを記憶サブシステム内の記憶物理デバイスを特定する情報と該記憶物理デバイスの物理アドレスへの対応付けを管理している情報を有するとともにその対応付け変える手段によって対応付けを変える手段を変える手段を具備する。
【０００７】
【発明の実施の形態】
以下に本発明が適用された記憶システムの一実施形態を、図を用いて説明する。図１は、本発明が適用された記憶システムの構成例を示す簡略なブロック図である。(101)は本発明を適用した記憶サブシステムであり、(114)〜(115)はホストプロセッサ等の上位装置であり記憶サブシステム(101)を２次記憶装置として使用することにより種々の処理を実行し、(116)は管理装置であり記憶サブシステム(101)を保守・運用管理を行うために使用される。(101)には複数のディスク等の記憶物理デバイス(102)〜(106)が含まれ、記憶物理デバイスにはアクセス速度の異なるものから構成されてもよく、(107)〜(108)は一つあるいは複数の上装装置とのインターフェースを提供するポートインターフェースであり、SCSI(Small Computer System Interface)、LAN(Local Area Network)あるいはSAN(Storage Area Network)(118)等のネットワークを通じて上位装置と接続される。(109)はディスクコントローラであり、(1103)はネットワークインターフェースでありLAN(117)等を通じて管理装置(116)との接続や、遠隔地の上位装置(107)〜(108)との接続に使用される。
【０００８】
記憶サブシステム(101)は、(107)(108)のポートインターフェースを通じて記憶サブシステム(101)に含まれる複数の物理記憶デバイス(102)〜(106)を統合して一つあるいは複数の論理デバイスとしてホストプロセッサ(114)〜(115)などの上位装置に対して見せる。ポートインターフェース(107)〜(108)として例えばSCSI(Small Computer System Interface)によるインターフェースやLANでアクセスする論理ファイルシステムのインターフェースを提供するNFS(Network File SystemやCIFS(Common Internet File System)やFiber Channelによって接続されるSANなどがある。
【０００９】
ディスクコントローラ(109)はプロセッサ(110)、キャッシュメモリ(111)、制御メモリ(112)を具備し、プロセッサ(110)はホストプロセッサ等の上位装置(114)〜(115)からのリード・ライト要求のアクセスの制御や管理装置(116)からの保守管理の要求処理要求や物理記憶物理デバイス（102）〜(106)の制御を行う。キャッシュメモリ(111)は上位装置からのアクセス処理を高速に行うために一時的に上位装置からの書き込みデータを格納することや、あるいは直近に読み出されたデータを格納するキャッシュメモリとして使用する。制御メモリ(112)には、プロセッサ(110)が実行するプログラムを格納し、複数の記憶物理デバイスを管理するための情報や、また上位層装置からアクセスされた論理アドレスを記憶サブシステム内の複数の記憶物理デバイス(102)〜(106)を選択する情報と、選択された該記憶物理デバイスへのアクセスに使用される物理アドレスに変換するためのテーブルが格納される。
【００１０】
ホストプロセッサ(114)〜(115)等の上位装置上では、CPUやメモリに格納されたオペレーティングシステム、あるいはアプリケーションプログラムを実行することにより、２次記憶装置として(101)の記憶サブシステムを使用する。上位装置は、(101)の記憶サブシステムにアクセスして情報を読み出したり、格納することで所定の機能実現する。
【００１１】
(116)は記憶サブシステム(101)を管理するための管理装置であり、LAN等のネットワーク(117)を通じて記憶サブシステムのネットワークインターフェース(113)に接続される。管理装置(116)は、記憶サブシステム(101)に対して記憶物理デバイス(102)〜(106)の使用状況やアクセス頻度などの統計情報収集や障害監視を行う。さらに上位装置(114)〜(115)から、記憶サブシステム(101)に配置されたデータブロックへの格納アクセスの際に、どの記憶物理デバイスにデータブロックを配置するかを決定するのに使用されるポリシを設定する機能を具備する。
【００１２】
図２は、データブロックを記憶サブシステム(101)のどの物理記憶デバイス(102)〜(106)に格納するかを設定するポリシの条件例である。(201)は格納するファイルに付属する属性の例であり、(202)はファイルの各属性（attribute）毎に対する属性値の例であり内容を示し、(203)は属性に対する評価条件を示している。これらの条件を組み合わせてポリシーの評価条件とする。属性としては、実行ファイルであればファイルの実行者名(204)、ファイルの所有者名(205)、ファイルのサイズ(206)、ファイルの作成日(207)、フィルの更新日(208)、ファイルへの最終アクセス日(209)、ファイルの拡張子(extension)(210)、ファイルへのアクセス頻度(211)などを上げることができる。
【００１３】
図３は、評価条件に合致したファイルをどのように物理記憶物理デバイスに配置するかの配置ルール例を示している。(301)は、ファイル全てを特定の記憶物理デバイスに配置するルールであり、(302)はあらかじめ定めたバイト数をファイルの先頭から特定の記憶物理デバイスに配置する配置ルールであり、(303)は、ファイル先頭から特定の記憶物理デバイス配置する割合を設定する配置ルールである。(304) はあらかじめ定めたバイト数をファイルの末尾から特定の記憶物理デバイスに配置する配置ルールであり、(305)は、ファイル末尾から特定の記憶物理デバイス配置する割合を設定する配置ルールである。(306)は新規に配置されるデータブロックのみを特定の記憶物理デバイスに配置する配置ルールである。
【００１４】
図１に示す管理装置(106116)から記憶サブシステム(101)に設定するポリシは、図２の条件に合致したもの、あるいは複数の条件を組み合わせた条件に合致したものを図３の配置ルールに基づいてデータブロックを配置するもので、 (101)の記憶サブシステムの制御メモリ(112)に記憶される。ホストプロセッサ等の上位装置(114)(115)からデータブロックの配置要求が記憶サブシステム(102101)にあった場合には、(101)内の制御メモリ(112)に記憶されているポリシとその配置要求を(110)のプロセッサにおいて評価し、配置すること配置する記憶物理デバイスを決定する。
【００１５】
ファイルの属性に基づいたポリシの例としては、例えばファイルの拡張子が文書ファイルである.docである場合には、記憶物理デバイスID「１」の記憶物理デバイスに設置する。例えば、受信電子メールのデータを格納するファイルで拡張子が.dbxである場合には、新しいメールが格納されて、良く頻繁にアクセスされると考えられるファイルの後半の20％部分および新規に追加する部分を記憶物理デバイスID「２」の記憶物理デバイスに配置する、といったものが考えられる。
【００１６】
次に、別の実施例としてファイルのデータ構造の定義に従ってデータブロックを格納する例を次に示す。図４はMPEG4などのオブジェクト符号化されたマルチメディアデータのビットストリームを格納するファイルの構成例を示している。マルチメディアデータはシーン毎（１フレーム毎のデータや同期して再生するデータの固まり）のオブジェクト毎に符号化されたデータから構成され、各シーンのオブジェクトデータ毎にヘッダが付加されて格納されている。(401)はあるシーン１を示し、シーン１は例えばビデオのオブジェクトオーディオのオブジェクト(403)、オーディオのオブジェクト圧縮ビデオのオブジェクト(404)、アニメのオブジェクト(405)から構成され、再生デバイスではこれらのオブジェクト毎の復号処理を行った後に、各オブジェクトを同期して再生される。(402)には(401)に続くシーンのオブジェクト毎のデータ(405)〜(407)が格納されている。(408)はシーン１(401)のビデオデータであるオブジェクトを格納しているオブジェクトデータのヘッダ部分で、ヘッダ部分には各オブジェクトと同期して再生させるのに必要な同期データとして、タイムスタンプ情報、シーケンス番号、同期すべきデータで共有する識別子などが含まれている。また、各オブジェクトの再生に必要な符号化の方式や再生・通信に必要な帯域などを格納した特殊なヘッダが含まれている場合もある。前記のようなオブジェクト符号化されたファイルを用いて動画配信等のサービスを行う場合に、ユーザ毎にカスタマイズしたデータを送信することが考えられる。このときにはオブジェクトの中から必要な部分のみを選択して送信することが考えられる。この時には多数の利用者からアクセスされる部分や広い帯域を必要とするオブジェクトをアクセス速度の速い記憶物理デバイスに配置するポリシが考えられる。
【００１７】
図４に示すようなデータ構造を持ったファイルを本発明の記憶システムに格納する場合の動作について以降で説明する。まず、(101)の記憶サブシステムに対して図４のマルチメディアデータのファイルを格納する前に、(106)の管理装置(116)より図４のマルチメディアデータのファイルファイル構造の定義とデータを格納する際にどのように格納するかのポリシについて記憶サブシステム(101)に設定し、前記のポリシの設定内容は記憶サブシステムの制御メモリ(112)に格納される。上位装置(114)(115)より前記のデータ構造に従ったファイル構造を格納するときに、プロセッサ(110)により格納処理時に制御メモリ(112)上のポリシと照らし合わせることでどの記憶物理デバイス(102)〜(106)に格納するか決定して書き込まれる。図５はXML(eXtemnsible Markup Language)のDTD(Document Type Definition文書型定義)の例であり、図４のマルチメディアデータが格納されたファイルのデータ構造の定義を、XMLを用いて定義した例である。(501)はXMLの文書宣言であり、(502)のタグはファイルがファイルヘッダとメディアのシーン毎のオブジェクトデータからできていることを示している。(503)〜(509)のタグは(502)のタグに含まれているファイルヘッダのデータ構造を示しており、(503)のタグはファイルヘッダのデータ構造の定義でファイル名(504)、ファイル名の拡張子(505)、ファイルの大きさ(506)、マルチメディアデータのタイトル名(507)、マルチメディアデータの作者(508)、マルチメディアデータの再生に必要な帯域(509)、マルチメディアデータの再生に要する時間(510)等の構造を持っていることを定義している。(511)のタグはシーン毎のオブジェクトデータがオブジェクトデータのヘッダ(512)とオブジェクトのボディ(523)からできていることを示しており、(512)のタグはシーン毎のオブジェクトデータのヘッダ部分(408)の定義例であり、(512)に含まれる(513)〜(522)のデータ構造をリスト形式で示している。(513)のタグはシーン毎のオブジェクトヘッダとボディとから構成されるシーン毎のオブジェクトのデータ長を示し、(514)のタグはシーン毎に付けられている該シーンのシーケンス番号を示し、(515)のタグは該シーンの時間を示し、(516)のタグは該シーンの再生に要する時間を示している。(517)のタグはオブジェクト毎に一意に付けられたIDで一連のシーン間で同じオブジェクトでは同じID値を持つ。(518)のタグはオブジェクトに対するコマンドでありマルチメディアデータの中でオブジェクトが初めて現れた場合にオブジェクトの作成を指示するコマンドや、該シーンが以降現れない場合にオブジェクトを削除することを示すために使用するコマンドであり、(519)のタグは該シーンのオブジェクトの再生に要する帯域を示している。(520)のタグは例えばオブジェクトがビデオや音声であった場合のオブジェクトボディのエンコード方式(圧縮形式)を示し、(521)のタグは、オブジェクトボディのメディアのタイプ(ビデオ、オーディオ、静止画、アニメ、テキストデータ等)を示しており、(522)はCM等のオブジェクトの内容に関する属性を示している。(523)のタグはオブジェクトボディの属性に関するものでマルチメディアファイル内でのオブジェクトボディの始まりの位置(524)と終わりの位置(525)に関する属性を持っている。
【００１８】
図６は、図４のデータ構造をもったマルチメディアデータが格納されたファイルに対する要素の対応付けを行ったXMLインスタンス例である。(601)のタグは、図５に示すXML定義のデータ構造の定義を使用することを示したタグであり、(602)のタグはマルチメディアデータの始まりを示し、(603)〜(610)のタグはマルチメディアデータ全体に関する情報であり、file-headタグに含まれる要素で定義される。(603)のタグはファイル名がmovie1.mpgであることを示し、(604)のタグはファイルの拡張子がmpgであることを示し、(605)のタグはマルチメディアデータのファイルサイズが2000000バイトであることを示し、(606)のタグはタイトル名を示し、(607)はマルチメディアデータの作者を示し、(608)のタグはこのマルチメディアデータの再生に要する帯域として2Mbpsが必要なことを示し、例えば本サブシステムより離れた場所でデータを再生する場合に必要な通信速度などの目安となり、(609)のタグはマルチメディアデータが7200秒の分データであることを示している。(610)〜(634)のタグはシーン毎のオブジェクトデータのオブジェクトボディ部である。(611)のタグはオブジェクトデータの開始を示すタグであり、(611)のタグはオブジェクトデータ長を示し、(612)のタグはオブジェクトヘッダ長とオブジェクトボディ長を合わした長さを示している。(613)は同じシーンのデータであることを示すために、同じシーンに対して共通に付与されている共通の番号をあらわしており、(614)のタグはシーンの再生の開始時間を示しており、(615)のタグは該オブジェクトデータに含まれているシーンを再生する時間を示しており、(616)のタグはオブジェクトに共通のIDで、一連のシーンで同じオブジェクトに属するものには共通のIDが付与されている。(617)のタグはシーン毎のオブジェクトの生成や削除を示すコマンドであり、オブジェクト作成時には該シーン以降で共通に使用される(613)のオブジェクトID等のタグ(613)の要素を定義・更新・削除の契機を示す。(618)のタグはオブジェクトボディの再生に必要な帯域を示し、(619)はオブジェクトボディのエンコード形式・圧縮形式を示しており、(620)のタグはオブジェクトのタイプがビデオであることを示しており、(621)のタグは内容がTVコマーシャルであることを示している。(622)は、オブジェクトボディのファイルの中での開始位置と終了位置を示しているタグである。(623)〜(634)は、同じシーンに属するオーディオ情報を示しており、(613)と(626)のタグは同じシーケンス番号を使用しており、(614)と(627)のタグは同じ時間に再生されることを示しており、(615)と(628)の再生に要する期間は同じでありことを示しており、(630)は(617)と同様にオブジェクトのコマンドを、(631)は再生に要する帯域が128kbpsであること示している。(632)は、オブジェクトボディのエンコード形式・圧縮形式を示しており、(633)はオブジェクトボディのデータがオーディオであることを示している。(634)は、オブジェクトボディのファイルの中での開始位置と終了位置を示しているタグである。
【００１９】
図７は、データを格納する際にどのように格納するかのポリシについて記憶サブシステム(101)に設定するポリシXMLの定義の例に示す。(701)のタグは、XMLの文書宣言であり、(702)のタグは図６のマルチメディアデータのXMLインスタンスに対して図７のポリシを適用することを示している。(703)のタグは、シーン毎のオブジェクトデータの再生に必要な帯域がある閾値を越えているシーン毎のオブジェクトデータをフィルタリングがポリシ条件に合致していすることを示しており、(704)のタグは(703)のタグで条件付フィルタリングされオブジェクトデータが格納される記憶物理デバイスを(101)の記憶サブシステム中から選択、特定し、（706）のタグは前記の特定フィルタリングされたオブジェクトデータのファイルの中での開始位置を、(707)のタグは特定フィルタリングされたオブジェクトデータのファイルの中での終了位置を返す決定することを示している。
【００２０】
図８は、(101)の記憶サブシステムの論理構造の例を示したもので、(802)のポリシ設定部は、(116)の管理装置から記憶サブシステムの制御メモリ(112)に設定された図５のデータ構造の定義と、図５のデータ構造と対応してどの記憶物理デバイスに格納するかのポリシを定義している図７のポリシXMLを記憶している。ホストプロセッサ等の外部装置(114)が(101)の記憶サブシステムに図５のデータ構造のマルチメディアファイルにアクセスする際には、マルチメディアファイルに図５の定義された構造を適用した結果生成される図６のデータを同時に与えるか、あるいはマルチメディアファイルの所定の部分に含めておく。(801)の物理デバイスアクセス処理部は、ホストプロセッサ等の外部装置(114)からマルチメディアデータの格納要求があった場合には、図６のデータ構造のXMLインスタンスを図７のポリシXMLを適用することにより、各シーン毎のオブジェクトデータ毎に所定の記憶物理デバイスを選択して格納するか、あるいは通常の格納方式に従って格納するかを判断する。ポリシが適用され所定の物理記憶デバイスが選択された場合には、ホストプロセッサ等の上位装置が(101)の記憶サブシステムにアクセスする際に使用される論理アドレスを記憶サブシステム内の物理記憶デバイスを特定した結果と、特定された物理記憶デバイスのどの格納場所に配置したかを示す物理アドレスとを対応付ける論理アドレス−物理アドレスの変換表(803)を操作する。これにことにより格納する記憶物理デバイスを所定のものにするともに、記憶物理アドレスに該データブロックを配置することができる。
【００２１】
図９は記憶サブシステム(101)の制御メモリ(112)に格納される論理アドレス−物理アドレス変換表(803)の構成の一例である。(901)はホストプロセッサ等の外部装置(114)からの論理的なアクセスアドレスを示している。ホストプロセッサからのアクセス形式としては、例えばホストプロセッサセでのファイル名とファイルの先頭からのアクセス領域位置、アクセスバイト数、リード・ライト等のパラメータでアクセスする方式が考えられる。そのほかには(101)の記憶サブシステムを仮想的に一つの記憶デバイスとしてホストプロセッサ等の外部装置(114)に見せ、外部装置からのセクタ等へアクセスを論理的に扱い、(101)の記憶サブシステムの中で物理記憶物理デバイスへのアクセスに変換する方式が考えられる。(901)は、上記のようなホストプロセッサ等の外部装置(114)からの論理的なアクセスアドレスを示しており、(902)は(901)の論理アドレスに対する記憶サブシステム(101)内部での記憶物理デバイス(903)と記憶物理デバイスでの物理アドレス(901)への対応付けを示している。図７に示したポリシMXLを解釈するとその結果として、アクセスしているファイル名（705）と格納すべき記憶物理デバイスの番号(704)とマルチメディアデータの該当シーンの該当オブジェクトデータの開始位置(706)と(707)が返って来る。物理デバイスアクセス処理部(801)は、マルチメディアデータの該当シーンの該当オブジェクトデータを格納する際には、前記ポリシXMLの評価結果に基づいて、物理デバイスが指定された場合には(903)の記憶物理デバイスを指定する領域に前記のポリシXMLの評価結果を設定し、前記ポリシXMLの評価によって指定された記憶物理デバイスの空き領域から割り当てられた物理アドレスを(904)に設定し、前記のポリシXMLの評価点により選択された物理記憶物理デバイスの前記の空き領域から割り当てられた物理アドレスにマルチメディアデータを格納する。(101)の記憶サブシステムに対してホストプロセッサ等の外部装置(114)からの読み出し要求があった場合には、(101)のプロセッサにおいて図９の論理アドレス−物理アドレス変換表を参照することにより、シーン毎のオブジェクトデータが格納されている記憶物理デバイス(903)と記憶物理デバイス上の物理アドレス(904)を変換し、該物理デバイスの該物理記憶デバイスの物理アドレスからから読み出して、ホストプロセッサ等の外部装置(114)に読み出したデータを返す。
【００２２】
また、記憶サブシステム(101)は複数の上位装置に接続されて、(101)内の制御メモリ(112)に図５のデータ構造の定義と図７のポリシXMLを配置して、複数の上位装置間で共用可能にしても良い。
【００２３】
次に、図７に示すポリシを変更した場合に、記憶サブシステム(101)に格納されているファイルを再配置する場合の動作について述べる。ディスクコントローラ(109)内のプロセッサ(110)は、図７に示すポリシが変更された後に、図７のポリシに関連するファイル、あるいは所定のファイルについて再配置を行うように命令を受ける。記憶サブシステム(101)は、再配置の対象となったファイルに対する図５のデータ構造の定義に基づいて記述された図６のMXLファイルに、変更された図７のポリシXMLを適用して評価すると、マルチメディアデータの各シーンのオブジェクト毎に格納すべ記憶物理デバイスの番号とファイル内での該オブジェクトの開始位置と終了位置が返ってくる。プロセッサ(110)は、返って来た開始位置と終了位置を元に、図９の論理アドレスと物理アドレスの対応テーブルを検索して該データブロックが配置されている記憶物理デバイスの番号を取得し、変更された図７のポリシXMLを適用して得られた該オブジェクトを格納すべき記憶物理デバイスと異なる場合には、新たな格納先となる記憶物理デバイスの空きデータブロックから必要な領域を割り当て、現在配置されているデータブロックからデータを読み出した後に、割り当てられた新たな格納先の記憶物理デバイスのデータブロックにコピーする。さらに、図９に示す論理アドレス-物理記憶アドレスの変換表に含まれる該データブロックの記憶物理デバイスの項目を新たに格納された記憶物理デバイス番号と物理アドレスに変更する。次に元の記憶物理デバイスでデータを格納にするために使用されていたデータブロックを空きデータブロックに変更する。
【００２４】
また、記憶サブシステム(101)は、データの格納要求があった場合で、図６のデータ構造を持つファイルに図７に示すポリシXMLを適用した結果、あるオブジェクトを格納するように指示された記憶物理デバイスの空き容量が前記のポリシXMLを評価して得られたオブジェクトの開始位置と終了位置から得られるオブジェクトの格納に必要な量よりも小さい場合がある。このときには、図９に示す論理アドレス-物理記憶アドレスの変換表を検索して前記のオブジェクトを格納するように指示された記憶物理デバイスと同じ記憶物理デバイスを使用しているデータブロックを見つけ、見つかったデータブロックを他の空き領域のある記憶物理デバイスの空きデータブロックから必要な領域を割り当て、前記の見つかったデータブロックからデータを読み出した後に、新たに割り当てられた格納先の記憶物理デバイスのデータブロックにコピーする。さらに、図９に示す論理アドレス-物理記憶アドレスの変換表に含まれる前記のコピーしたデータブロックの記憶物理デバイスの項目を新たに格納された記憶物理デバイス番号と物理アドレスに変更し、前記のオブジェクトを格納するように指示された記憶物理デバイスのコピー元のデータブロックを空きデータブロックに変更する。これを前記のオブジェクトを格納するように指示された記憶物理デバイスの空き容量が十分になるまで繰り返す。これを繰り返して、空き容量を確保した後に、前記のオブジェクトを図７に示すポリシXMLを適用した結果得られる記憶物理デバイスに格納する。
【００２５】
記憶サブシステムは、制御メモリ(112)に格納されたプログラムによりプロセッサ(110)が、定期的あるいは図７に示すポリシXMLを適用した結果、オブジェクトを記憶物理デバイスに格納するように指示された時に、該記憶物理デバイスの空き容量を調べることにより、予め設定されている空き容量の閾値を超えていないかをチェックする。このチェックはプロセッサ（110）の負荷が低いときに定期的に実行されても良い。超えている場合には管理装置(116)等に警告を出し、管理者に対して空き容量が少なくなってきていることを伝える。その際には該当する記憶物理デバイスを選択する元となったファイル名、図７のポリシXML等の情報を付加して通知しても良い。
【００２６】
図１０は、ホストプロセッサ等の上位装置から本発明の記憶サブシステムに、図６に示すようなデータ構造を持ったファイルの格納要求があった場合の記憶サブシステム(101)の動作を示したものである。(1001)のおいて、ファイルの格納要求であるかを判断し格納要求でない場合には他の処理(1002)を実行する。次に格納要求のあったファイルに含まれるデータ構造を定義した図５のXMLファイルが(112)の制御メモリ上にあるかどうかを検索し(1003)、存在しない場合には通常の配置処理(1006)を行う。次に格納要求があったファイルに対して図５のデータ構造の定義に基づいて記述された図６のXMLファイルが(112)の制御メモリ上に存在するか、あるいは格納要求のあったファイルの所定の位置に存在するかを検索し(1004)、存在しない場合には通常の格納処理を行う(1006)。図５のデータ構造の定義に従ったファイルに対してどの物理記憶デバイスを配置するかの処理について記述した図７のXMLが(112)の制御メモリ上にあるかどうかを検索し(1005)、存在しない場合には通常の配置処理(1006)を行う。(1007)で格納要求のあったファイルの最後か判断し、ファイルの最後まで到達すると格納処理を終了する。図６のデータファイルのデータ構造を記述したXMLの中から各シーン毎のオブジェクト毎に図７のデータに対する処理を記述したXMLを適用して評価する(1008)。その結果特定の記憶物理デバイスへの格納すると判断された場合には（1009）、(634)のシーン毎のオブジェクトに含まれるオブジェクトボディの属性のデータファイル内での該オブジェクトの開始位置と終了位置から、該オブジェクトのサイズを計算し、選択された記憶物理デバイスの空き領域から必要な記憶領域を割当てる(1010)。選択されなかった場合には通常の格納処理を行う（1014）。選択された記憶物理デバイスに空き領域がない場合には管理装置（116）に対して選択された記憶物理デバイスに空き領域がないことか、あるいは適用されたポリシについて通知する。領域がない場合には通常の配置処理（1014）を行うか、選択された記憶物理デバイスのすでに割当てられている領域を他の物理記憶デバイスに移動して領域を確保する。次に、割当てられた領域を図９の（101）の記憶サブシステムへのアクセスに使用される論理アドレスを記憶サブシステム内の記憶物理デバイスと該記憶物理デバイスの物理アドレスに変換するテーブルに対して割当てられた領域の情報を設定する（0111）。次に記憶物理デバイスの割当てられた領域にオブジェクトのデータを書き込み（1012）、次のオブジェクトに対する処理を行うために準備をする（1013）。
【００２７】
【発明の効果】
本発明の記憶システムによれば、記憶サブシステム内のアクセス頻度の高いデータブロックをアクセス速度の速い物理記憶物理デバイスに配置することが可能となり、アクセス速度の高い物理記憶デバイスを効率良く使用するという効果を得ることができ、記憶サブシステム内に配置されたデータのへの平均アクセス速度を向上することが可能となる。
【図面の簡単な説明】
【図１】本発明を適用した記憶システムの構成例である。
【図２】本発明のポリシを適用するフィルの条件例である。
【図３】本発明のデータブロックの配置ルールの例である。
【図４】オブジェクト符号化されたマルチメディアデータのフォーマット例である。
【図５】オブジェクト符号化されたファイルのデータ構造のXML型定義例である。
【図６】オブジェクト符号化されたファイルのデータ構造のXMLインスタンス例である。
【図７】オブジェクト符号化されたファイルのデータ構造のXMLインスタンスに適用するポリシの記述例のXMLである。
【図８】本発明を適用した記憶サブシステムの論理構造れい例である。
【図９】本発明を適用した論理アドレス‐物理アドレス変換テーブルの構成例である。
【図１０】本発明を適用した記憶サブシステムのデータブロックの配置時の処理のフローチャートである。
【符号の説明】
101…記憶サブシステム
102〜106…記憶物理デバイス
107〜108…ポートインタフェース
109…ディスクコントローラ
110…プロセッサ
111…キャッシュメモリ
112…制御用メモリ
113…ネットワークインタフェース
114〜115ホストプロセッサ
801…物理デバイスアクセス処理部
802…ポリシ設定部
803…論理アドレス-物理アドレス変換テーブル。
【図１】
0004223729.tif 000002
【図２】
0004223729.tif 000003
【図３】
0004223729.tif 000004
【図４】
0004223729.tif 000005
【図５】
0004223729.tif 000006
【図６】
0004223729.tif 000007
【図７】
0004223729.tif 000008
【図８】
0004223729.tif 000009
【図９】
0004223729.tif 000010
【図１０】
0004223729.tif 000011