(57)【要約】【課題】ディスク装置にデータを格納する際にストライピングを行うか否かを迅速に判断し、ディスク装置に対するデータ入出力処理を有効に高速化し得る情報記憶システム，情報記憶方法及びプログラムを提供する。【解決手段】ディスクアクセス制御装置３が、上位システム４からのファイル読出／書込要求の履歴情報として少なくとも発行元のアプリケーション名とシーケンシャルかランダムかのディスクアクセスパターンとを各要求毎に記憶する入出力履歴記録用メモリ３４と、ファイル書込要求に係るアプリケーション名のディスクアクセスパターンを入出力履歴記録用メモリ３４から読み出してシーケンシャル回数及びランダム回数の大小関係に基づいて書込要求を分散格納ディスク装置１又は非分散格納ディスク装置２のいずれに送るかを判断する分散有無判断手段３１とを備えている。【選択図】図１
2011107983.tif 000002
【特許請求の範囲】
【請求項１】
複数のディスク装置を備え入力データを分割して当該複数のディスク装置に分散格納する分散格納ディスク装置と、少なくとも１つのディスク装置を備え入力データを分散せずに単一のディスク装置に格納する非分散格納ディスク装置と、上位システムから発行されてくるファイル読出／書込要求を受信すると共に当該受信したファイル読出／書込要求を前記分散格納ディスク装置又は前記非分散格納ディスク装置のいずれか一方へ送り込むディスクアクセス制御装置とを備え、
前記ディスクアクセス制御装置が、
前記受信したファイル読出／書込要求のディスクアクセスパターンをシーケンシャルアクセスかランダムアクセスか判別するアクセスパターン判別手段と、
前記ファイル読出／書込要求に関する履歴情報として、少なくとも前記判別されたディスクアクセスパターンと発行元のアプリケーション名とを前記各要求毎に記憶する入出力履歴記録用メモリと、
前記受信したファイル書込要求の送り先を前記入出力履歴記録用メモリに記憶された履歴情報に基づいて判断する分散有無判断手段と、
この判断結果に従って前記分散格納ディスク装置又は前記非分散格納ディスク装置のいずれか一方を選択し前記ファイル書込要求を送り込む記憶装置選択切換手段とを備え、
前記分散有無判断手段は、前記ファイル書込要求の送り先の判断に際して、前記入出力履歴記録用メモリに記憶された前記履歴情報から当該ファイル書込要求に記されたアプリケーション名に対応する全てのディスクアクセスパターンを読み出してシーケンシャルアクセス回数及びランダムアクセス回数を計数しこの両回数の大小関係に基づいて判断する機能を備えたことを特徴とする情報記憶システム。
【請求項２】
前記請求項１に記載の情報記憶システムにおいて、
前記分散有無判断手段は、前記ファイル書込要求の送り先を判断する際の判断基準に、当該ファイル書込要求に係るファイルのサイズを含むことを特徴とする情報記憶システム。
【請求項３】
前記請求項２に記載の情報記憶システムにおいて、
前記分散有無判断手段は、前記シーケンシャルアクセス回数及びランダムアクセス回数の計算に際して、発行日時が新しいものに重みを置いた重み付けを行うことを特徴とする情報記憶システム。
【請求項４】
前記請求項３に記載の情報記憶システムにおいて、
前記分散有無判断手段は、前記ファイル書込要求の送り先の判断に際し、前記計数したシーケンシャルアクセス回数が前記ランダムアクセス回数より大きければ前記分散格納ディスク装置を送り先と判断し、前記シーケンシャルアクセス回数が前記ランダムアクセス回数以下であれば当該ファイル書込要求に係るファイルサイズが閾値以上か否かを判定し、閾値以上の場合に前記分散格納ディスク装置を送り先と判断し閾値未満の場合に前記非分散格納ディスク装置を送り先と判断する機能を備えたことを特徴とする情報記憶システム。
【請求項５】
前記請求項４に記載の情報記憶システムにおいて、
前記分散有無判断手段は、前記ファイル書込要求の送り先の判断に際し、前記入出力履歴記録用メモリから読み出した前記ファイル書込要求に記されたアプリケーション名に対応する全てのディスクアクセスパターンの合計が予め設定された下限値未満であれば前記分散格納ディスク装置を送り先と判断する機能を備えたことを特徴とする情報記憶システム。
【請求項６】
複数のディスク装置を備え入力データを分割して当該複数のディスク装置に分散格納する分散格納ディスク装置と、少なくとも１つのディスク装置を備え入力データを分散せずに単一のディスク装置に格納する非分散格納ディスク装置と、上位システムから発行されてくるファイル読出／書込要求を前記分散格納ディスク装置又は前記非分散格納ディスク装置のいずれか一方に送り込むディスクアクセス制御装置と、を備えた情報記録システムにあって、
前記ディスクアクセス制御装置が、前記ファイル読出／書込要求を受ける度に、当該要求のディスクアクセスパターンをシーケンシャルアクセスかランダムアクセスか判別し、
この判別結果とその要求に記されている発行元のアプリケーション名とを対応付けて予め装備したメモリに記録すると共に、
前記ファイル書込要求を受けた場合に、前記メモリに蓄積された情報から当該ファイル書込要求に記されたアプリケーション名に対応する全てのディスクアクセスパターンを読み出してシーケンシャルアクセス回数及びランダムアクセス回数を計数し、
この両回数の大小関係に基づいて前記ファイル書込要求の送り先を前記分散格納ディスク装置又は前記非分散格納ディスク装置のいずれか一方に決定し、
この決定された前記分散格納ディスク装置又は前記非分散格納ディスク装置のいずれか一方へ前記ファイル書込要求を送り込むことを特徴とする情報記憶方法。
【請求項７】
前記請求項６に記載の情報記憶方法において
前記ファイル書込要求の送り先の判断に際しては、当該ファイル書込要求に係るファイルのサイズを前記判断基準に含めることを特徴とする情報記憶方法。
【請求項８】
前記請求項７に記載の情報記憶方法において、
前記シーケンシャルアクセス回数及びランダムアクセス回数の計数に際しては、発行日時が新しいものに重みを置いた重み付けを行うことを特徴とする情報記憶方法。
【請求項９】
前記請求項８に記載の情報記憶方法において、
前記ファイル書込要求の送り先を判断する際に、前記計数したシーケンシャルアクセス回数が前記ランダムアクセス回数より多ければ前記分散格納ディスク装置を送り先と判断し、前記シーケンシャルアクセス回数が前記ランダムアクセス回数以下であれば当該ファイル書込要求に係るファイルサイズが閾値以上か否かを判定し閾値以上の場合に前記分散格納ディスク装置を送り先と判断し閾値未満の場合に前記非分散格納ディスク装置を送り先と判断することを特徴とする情報記憶方法。
【請求項１０】
前記請求項９に記載の情報記憶方法において、
前記分散有無判断手段は、前記ファイル書込要求の送り先を判断する際に、前記計数したシーケンシャルアクセス回数及びランダムアクセス回数の合計が予め設定された下限値未満であれば前記分散格納ディスク装置を送り先と判断することを特徴とする情報記憶方法。
【請求項１１】
複数のディスク装置を備え入力データを分割して当該複数のディスク装置に分散格納する分散格納ディスク装置と、少なくとも１つのディスク装置を備え入力データを分散せずに単一のディスク装置に格納する非分散格納ディスク装置とに接続したコンピュータに、
上位システムからファイル読出／書込要求を受ける度に当該要求のディスクアクセスパターンをシーケンシャルまたはランダムか判別しこの判別結果と当該要求に記されているアプリケーション名とを対応付けて予め装備されたメモリに記録する機能と、
前記ファイル書込要求を受けたときに、前記メモリに蓄積された情報から当該ファイル書込要求に記されたアプリケーション名に対応する全てのディスクアクセスパターンを読み出してシーケンシャルアクセス回数及びランダムアクセス回数を計数する機能と、
この両回数の大小関係に基づいて前記ファイル書込要求の送り先を前記分散格納ディスク装置又は前記非分散格納ディスク装置のいずれか一方に決定する機能と、
この決定された前記分散格納ディスク装置又は前記非分散格納ディスク装置のいずれか一方に対して前記ファイル書込要求を送出する機能と、を実行させることを特徴とする情報記憶用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションからのディスクＩ／Ｏ要求に従ってディスク媒体に対しデータの入出力を行う情報記憶システム，情報記憶方法及びプログラムに関し、特に、データを分割して複数のディスク記憶に分散配置する技術に関する。
【背景技術】
【０００２】
ファイルを分割してディスク媒体や論理ボリューム単位で分散配置することによりディスク装置に対するＩ／Ｏ（Input/Output）の分散を実現したストライピング（ＲＡＩＤ：Redundant Arrays of Inexpensive Disks）という技術が広く知られている。ストライピングを行うと、複数のディスクドライブへ並列にアクセスし、データ入出力の高速化を図ることができる。このストライピングには、ハードウェアで構成されたものとソフトウェアで実現されたものがある。
【０００３】
しかし、通常のストライピングにおいては、すべてのデータを分散配置してしまうと、データ特性上ストライピングが不要なデータに対してもストライピングが行われてしまい、ディスク装置に対するデータ入出力処理のＴＡＴ（Turn Around Time）が増大し、ディスクＩ／Ｏのスループットが逆に低下してしまうことがあった。
【０００４】
また、ソフトウェアによるストライピングでは、ＣＰＵ（Central Processing Unit）の使用量が増大し、ＲＡＩＤ−５やＲＡＩＤ−６を採用した場合はパリティ計算や既存の更新時データ読み込みなどのオーバーヘッドがかかるので、パーソナルコンピュータのようにＣＰＵやメモリなどのハードウェアリソース量が大きくないコンピュータではディスクＩ／Ｏ分散しているにもかかわらずディスクＩ／Ｏ分散しない場合よりデータアクセスにかかる時間が増大する場合があった。
【０００５】
これに対し、ストライピングに関連する技術が特許文献１乃至３に開示されている。特許文献１に開示された関連技術は、アクセス要求に係るファイルが新規ファイルか既存ファイルかを判定し、既存ファイルであればランダムアクセス性が大か小か、転送長が大か小かの判定を行い、新規ファイルはＲＡＩＤ−１、ランダムアクセス性が大のファイルはＲＡＩＤ−５、ランダムアクセス性が小で転送長が大のファイルはＲＡＩＤ−３、そのほかはＲＡＩＤ−１を選択するという技術である。
【０００６】
特許文献２には、データサイズが閾値より小さければ、１つの光ディスクに記録し、閾値より大きいサイズのデータは、分割して複数の光ディスクに分散記録する技術が開示されている。
【０００７】
特許文献３には、２組のコントローラに各々キャッシュ機構を設け、各系統に同一データを格納する信頼性重視モード、各系統ごとに独立にデータを格納する性能重視モード、両者を折衷した平均モードのいずれかで動作可能とすることで、ＲＡＩＤ−５の動作でもディスクリードを必要とせずにパリティを計算できるＲＡＩＤ−３的なアクセスを可能とするようにキャッシャブロック上に有効データを準備でき、ＲＡＩＤ−０，１，３，５で動作するディスクアレイを対象としたキャッシュ処理を効率的に行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−１３５０５５号公報
【特許文献２】特開平７−３６６３４号公報
【特許文献３】特開平７−１１０７８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した特許文献１に記載の関連技術では、新規のファイルはすべて、ファイル管理情報が記録されておらずファイル特性が未知なので、適したＲＡＩＤを選ぶことはできないという問題があった。また、ファイル毎に管理情報が必要になるので管理情報全体の容量が膨大になってしまい情報記憶処理の負荷が増加してしまう問題があった。
【００１０】
特許文献２に記載の関連技術では、データを分割配置するか否かの判断をデータサイズに応じて行っているので、ランダムアクセスデータが分割配置されてしまった場合に、データ入出力が高速にならないという問題があった。
【００１１】
特許文献３に記載の関連技術では、データ特性上ストライピングが不要なデータに対してもストライピングが行われてしまい、逆にデータアクセス時間が増大してしまうという問題を解消できなかった。
【００１２】
また、データ特性を考慮したディスクＩ／Ｏ分散配置を検討することは理論上可能だが、すべてのデータ特性を抑えてディスクＩ／Ｏ分散設計を行うことは非常にコストがかかるため、データ特性を考慮したディスクＩ／Ｏ分散配置の検討は、実質検討されていないのが現状である。
【００１３】
そこで、本発明は、上記関連技術が有する課題を解決し、上位システムからのファイル書込要求に係るファイルをストライピング状態にするか否かを迅速に判断して対応するディスク装置に格納し、ディスク装置へのデータ入出力処理にかかる時間を有効に短縮し得る情報記憶システム，情報記憶方法及びプログラムを提供することを、その目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、本発明の情報記憶システムは、複数のディスク装置を備え入力データを分割して当該複数のディスク装置に分散格納する分散格納ディスク装置と、少なくとも１つのディスク装置を備え入力データを分散せずに単一のディスク装置に格納する非分散格納ディスク装置と、上位システムから発行されてくるファイル読出／書込要求を受信すると共に当該受信したファイル読出／書込要求を前記分散格納ディスク装置又は前記非分散格納ディスク装置のいずれか一方へ送り込むディスクアクセス制御装置とを備え、前記ディスクアクセス制御装置が、前記受信したファイル読出／書込要求のディスクアクセスパターンをシーケンシャルアクセスかランダムアクセスか判別するアクセスパターン判別手段と、前記ファイル読出／書込要求に関する履歴情報として、少なくとも前記判別されたディスクアクセスパターンと、発行元のアプリケーション名とを前記各要求毎に記憶する入出力履歴記録用メモリと、前記受信したファイル書込要求の送り先を前記入出力履歴記録用メモリに記憶された履歴情報に基づいて判断する分散有無判断手段と、この判断結果に従って前記分散格納ディスク装置又は前記非分散格納ディスク装置のいずれか一方を選択し前記ファイル書込要求を送り込む記憶装置選択切換手段とを備え、前記分散有無判断手段は、前記ファイル書込要求の送り先の判断に際して、前記入出力履歴記録用メモリに記憶された前記履歴情報から当該ファイル書込要求に記されたアプリケーション名に対応する全てのディスクアクセスパターンを読み出してシーケンシャルアクセス回数及びランダムアクセス回数を計数しこの両回数の大小に基づいて判断する機能を備えたことを特徴とする。
【００１５】
また、本発明の情報記憶方法は、複数のディスク装置を備え入力データを分割して当該複数のディスク装置に分散格納する分散格納ディスク装置と、少なくとも１つのディスク装置を備え入力データを分散せずに単一のディスク装置に格納する非分散格納ディスク装置と、上位システムから発行されてくるファイル読出／書込要求を前記分散格納ディスク装置又は前記非分散格納ディスク装置のいずれか一方に送出するディスクアクセス制御装置と、を備えた情報記録システムにあって、前記ディスクアクセス制御装置が、前記ファイル読出／書込要求に対して応答する度に、当該要求のディスクアクセスパターンをシーケンシャルアクセスかランダムアクセスか判別し、この判別結果とその要求に記されている発行元のアプリケーション名とを対応付けて予め装備されたメモリに記録すると共に、
前記ファイル書込要求を受けた場合に、前記メモリに蓄積された情報から当該ファイル書込要求に記されたアプリケーション名に対応する全てのディスクアクセスパターンを読み出してシーケンシャルアクセス回数及びランダムアクセス回数を計数し、この両回数の大小に基づいて前記ファイル書込要求の送り先を前記分散格納ディスク装置又は前記非分散格納ディスク装置のいずれか一方に決定し、この決定された前記分散格納ディスク装置又は前記非分散格納ディスク装置のいずれか一方へ前記ファイル書込要求を送り込むことを特徴とする。
【００１６】
また、本発明の情報記憶用プログラムは、複数のディスク装置を備え入力データを分割して当該複数のディスク装置に分散格納する分散格納ディスク装置と、少なくとも１つのディスク装置を備え入力データを分散せずに単一のディスク装置に格納する非分散格納ディスク装置とに接続して、上位システムから発行されるファイル読出／書込要求を前記分散格納ディスク装置及び前記非分散格納ディスク装置のいずれか一方に送り込むディスクアクセス制御装置に搭載されたコンピュータに、前記ファイル読出／書込要求を受ける度に、当該要求のディスクアクセスパターンをシーケンシャルまたはランダムか判別しこの判別結果と当該要求に記されているアプリケーション名とを対応付けて予め装備されたメモリに記憶する機能と、前記ファイル書込要求を受けたときに、前記メモリに蓄積された情報から当該ファイル書込要求に記されたアプリケーション名に対応する全てのディスクアクセスパターンを読み出してシーケンシャルアクセス回数及びランダムアクセス回数を計数する機能と、この両回数の大小に基づいて前記ファイル書込要求の送り先を前記分散格納ディスク装置又は前記非分散格納ディスク装置のいずれか一方に決定する機能と、を実行させることを特徴とする。
【発明の効果】
【００１７】
本発明は、以上のように構成したため、これにより、ファイル書込要求に対してストライピングを行うか否かを、その要求元のアプリケーションのそれまでに集計済みのファイル読出／書込要求のシーケンシャルアクセス数とランダムアクセス数の大小に基づいて判断するので、新規のファイルを書き込む場合であっても、その書込要求元のアプリケーションに応じてストライピングにするか否かを迅速に判断することができ、不要なストライピングを行うことで生じるオーバーヘッドを抑制して、ディスク装置に対するデータ入出力処理にかかる時間を有効に短縮し、データ入出力処理のスループットを向上させることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明にかかる一実施形態の情報記憶システムの構成を示す機能ブロック図である。
【図２】図１に開示した実施形態におけるファイル書込要求の送り先判断基準を表す表である。
【図３】図１に開示した実施形態におけるディスクアクセス制御装置の動作を示すフローチャートである。
【図４】図１に開示した実施形態の情報記憶システム全体の動作を示すシーケンス図である。
【発明を実施するための形態】
【００１９】
以下、本発明にかかる一実施形態を、図面に基づいて説明する。
【００２０】
図１は、本実施形態の情報記憶システムの構成を示す機能ブロック図である。本実施形態の情報記憶システムの基本構成は、入力データを分割して分散格納する複数のディスク装置を備えた分散格納ディスク装置１と、入力データを分割せずに格納するディスク装置を備えた非分散格納ディスク装置２と、上位システム４から発行されるファイル書込要求又はファイル読出要求を分散格納ディスク装置１又は非分散格納ディスク装置２のいずれか一方へ送りこむディスクアクセス制御装置３とを備えた構成である。ここで、上位システム４は、アプリケーションの処理を実行するシステムであり、アプリケーションとしては、テキストエディタ、ワードプロセッサ、表計算、画像編集、データベース管理、メディアプレーヤーなどがある。
【００２１】
そして、ディスクアクセス制御装置３は、ファイル書込要求又はファイル読出要求を受信すると共にこの受信したファイル読出／書込要求の送り先を判断する分散有無判断手段３１と、この判断結果に従って分散格納ディスク装置１又は非分散格納ディスク装置２のいずれか一方へファイル書込要求又はファイル読出要求を送り込む記憶装置選択切換手段３２と、受信したファイル読出／書込要求のディスクアクセスパターンをシーケンシャルアクセスかランダムアクセスか判別するアクセスパターン判別手段３３と、受信したファイル読出／書込要求に関する履歴情報として、少なくとも、アクセスパターン判別手段３３に判別されたディスクアクセスパターンと、発行元のアプリケーション名とを各要求毎に記憶する入出力履歴記録用メモリ３４とを備えており、分散有無判断手段３１が、ファイル書込要求の送り先の判断に際して、入出力履歴記録用メモリ３４に蓄積された情報から当該ファイル書込要求に記されたアプリケーション名に対応するディスクアクセスパターンを読み出してシーケンシャルアクセス回数及びランダムアクセス回数を計数しこの両回数の大小関係に基づいて判断する機能を備えている。
【００２２】
ここで、上述したアプリケーション名とは、ファイル読出／書込要求を発行したアプリケーションあるいは、プロセスの名前であり、他のアプリケーションやプロセスから一意に特定できるものを指す。また、ProcessＩＤ（ＰＩＤ）のようにシステム（Operation System）起動中は一意で不変だがシステムの再起動後に変わるものは、ここでのアプリケーション名に含まれない。
【００２３】
また、上述したディスクアクセスパターンとは、ディスク媒体に対するアクセスの方式であり、シーケンシャルアクセスとランダムアクセスのいずれかである。シーケンシャルアクセスとは、データを先頭から順番に読み出し／書き込みする方式であり、ランダムアクセスとは、ディスク媒体上の位置を指定して必要な部分のデータにアクセスする方式である。
【００２４】
分散格納ディスク装置１は、複数のディスク装置を１つの記憶装置として管理しており、この複数のディスク装置に対してストライピングを行う。ストライピングとは、入力データをブロック単位に分割して複数のディスク装置に分散して並行処理で書き込むことである。
【００２５】
非分散格納ディスク装置２は、少なくとも１つのディスク装置を有し、入力データを分散せずに単一のディスク装置に書き込む機能を備えている。
【００２６】
ディスクアクセス制御装置３における分散有無判断手段３１は、ファイル書込要求の送り先を判断した後に、その判断結果を入出力履歴記録用メモリ３４に記憶させる機能を備え、次回、それと同じファイルに対する読出／書込要求があったときに入出力履歴記録用メモリ３４に記録されている前回の判断結果と同じ判断をする。
【００２７】
また、分散有無判断手段３１は、例えば、ディスク着込要求に記されたアプリケーション名に関しそれまでのシーケンシャルアクセス回数及びランダムアクセス回数を計数した結果が、シーケンシャルアクセス回数の方が多い場合に分散格納ディスク装置１を送り先と判断し、ランダムアクセス回数の方が多い場合に非分散格納ディスク装置２を送り先と判断するように構成してもよい。
【００２８】
このような基本構成を有する情報記憶システムによれば、ファイル書込要求を分散格納ディスク装置１又は非分散格納ディスク装置２のどちらに送るべきかを、このファイル書込要求の発行元であるアプリケーションがそれまでに発行したファイル読出／書込要求のシーケンシャルアクセス回数及びランダムアクセス回数の比較に基づいて判断するので、新規のファイルを書き込む場合であってもその要求元のアプリケーションが既に別のファイル書き込みを実行していれば、ストライピングを行うか否かを迅速に判定することができる。
【００２９】
また、本実施形態では、ファイル書込要求に記されたアプリケーション名に応じてストライピングの有無を判断するので、ファイル毎にシーケンシャルデータかランダムアクセスデータか判別してストライピングの有無を判断する場合と比べて、判断処理にかかる負荷や管理情報の容量を減少させることができる。
【００３０】
次に、本実施形態の構成を詳細に説明する。
【００３１】
本実施形態の情報記憶システムは、図１に示すように、上述した分散格納ディスク装置１と、非分散格納ディスク装置２と、ディスクアクセス制御装置３とを備えており、ディスクアクセス制御装置３は、分散有無判断手段３１と、記憶装置選択切換手段３２と、アクセスパターン判別手段３３と、入出力履歴記録用メモリ３４と共に、入出力履歴記録用メモリ３４に記憶されたデータ量が上限値に達した場合に最近使用されていないアプリケーションの情報を入出力履歴記録用メモリ３４から削除する履歴情報整理手段３５とを備えて構成されている。
【００３２】
ディスクアクセス制御装置３における分散有無判断手段３１は、アプリケーションの処理を実行する上位システム４から発行されるファイル読出要求（read()システムコール）又はファイル書込要求（write()システムコール）に応答して分散格納ディスク装置１又は非分散格納ディスク装置２のいずれか一方をそのファイル読出要求又はファイル書込要求の送り先に決定する機能を備えており、ファイル書込要求を受けた場合には、その要求に記された発行元のアプリケーション名に基づいて分散格納ディスク装置１又は非分散格納ディスク装置２のいずれか一方を選択する機能を備えている。
【００３３】
また、本実施形態の分散有無判断手段３１は、ファイル書込要求の送り先の判断に際して、当該ファイル書込要求に記されたアプリケーション名に対応する全てのディスクアクセスパターンを入出力履歴記録用メモリ３４に蓄積された履歴情報から読み出し、この読み出したディスクアクセスパターンがＮ回の要求分あるか否かを判定し、Ｎ回分に達していなければ、分散格納ディスク装置１を送り先に決定し、Ｎ回分に達していれば、読み出した情報からシーケンシャルアクセス回数及びランダムアクセス回数を計数し、回数が多い方を当該アプリケーション名に係るディスクアクセス特性と判定し、このディスクアクセス特性に基づいて送り先を判断するように構成されている。
【００３４】
ここで、上述した‘Ｎ’の値は変更可能とする。この‘Ｎ’は、大きい値のほうが分散すべきか否かを正確に判断できるが、その分入出力履歴記録用メモリ３４の記憶容量を使用し、情報収集に時間がかかるので、ユーザが任意に値を設定するのがよい。
【００３５】
また、本実施形態の分散有無判断手段３１は、ファイル書込要求に記されたアプリケーション名に対応する全てのディスクアクセスパターンからシーケンシャルアクセス回数及びランダムアクセス回数を計数する際に、発行日時が新しいものに重みを置いた重み付けを行うようにしてもよい。これにより、より正確にそのアプリケーション名のディスクアクセス特性を判定することができる。
【００３６】
また、分散有無判断手段３１は、ファイル書込要求の送り先を判断する際の判断基準に、ファイル書込要求に含まれたアプリケーション名だけではなく、その書き込むファイルサイズを用いる機能を備えてもよい。これにより、ファイル書込要求に係るファイルがストライピングする必要があるものか否かを細かく分けることができる。
【００３７】
具体的には、ファイル書込要求に記されたアプリケーション名に対応する全てのディスクアクセスパターンの内、シーケンシャルアクセスの各ファイル読出／書込要求の発行日時に応じた重み値をそれぞれＷｉ（ｉ＝１，２，〜，Ｌ）とし、ランダムアクセスの各ファイル読出／書込要求の発行日時に応じた重み値をそれぞれｗｊ（ｊ＝１，２，〜，Ｍ）とすると、シーケンシャルアクセス回数及びランダムアクセス回数を［数１］式に従って計数する。
【００３８】
【数１】
2011107983.tif 000003
【００３９】
そして、「（シーケンシャルアクセス回数）＞（ランダムアクセス回数）」であれば、このアプリケーションのディスクアクセス特性をシーケンシャルと判定し、「（シーケンシャルアクセス回数）＝＜（ランダムアクセス回数）」であれば、このアプリケーションのディスクアクセス特性をランダムアクセスと判定する。
【００４０】
ファイル書込要求に記されたアプリケーション名に係るディスクアクセス特性がシーケンシャルアクセスの場合には、分散格納ディスク装置１を送り先と判断し、ランダムアクセスの場合には、そのファイル書込要求に係るファイルサイズが予め設定された閾値以上か否かを判定して閾値以上であれば分散格納ディスク装置１を送り先と判断し閾値未満なら非分散格納ディスク装置２を送り先と判断する。
【００４１】
図２は、このような判断基準を示した表である。図２に示す表においては、縦軸がアプリケーションのディスクアクセス特性であり、横軸がファイルサイズである。ここで、本実施形態の分散有無判断手段３１に設定される判断基準は、ファイル書込要求に記されたアプリケーション名に係るディスクアクセス特性がシーケンシャルかランダムかを含むものであれば、図２の表で示すような判断基準に限らず、単にシーケンシャルは分散格納ディスク装置１でランダムは非分散格納ディスク装置２とする判断基準や、シーケンシャルであってもファイルサイズが閾値以下であれば非分散格納ディスク装置２とする判断基準などであってもよく、ファイル数を含む願断基準であてもよい。
【００４２】
さらに、本実施形態の分散有無判断手段３１は、判断結果を、アプリケーション名とファイル名と送り先とを対応付けた情報にして、入出力履歴記録用メモリ３４に記録する機能を備えており、次回、同じアプリケーションからのファイル書込要求に対して、既に判断した結果に基づいた送り先の判断を行う機能を備えている。これにより、１度ディスクアクセス特性を判定したアプリケーションからのファイル書込要求に対しては、ストライピングをするか否かの判断をより迅速に行うことができる。
【００４３】
また、分散有無判断手段３１は、ファイル読出要求を受けた場合、入出力履歴記録用メモリ３４を参照して、前回の判断結果から読み出すファイルが格納されているディスク装置を判断する機能を備えている。
【００４４】
アクセスパターン判別手段３３は、ファイル読出要求又はファイル書込要求のディスクアクセスパターンがシーケンシャルかランダムかを、当該要求に係るファイルサイズや当該要求に指定されたディスク装置に対する位置情報に基づいて判別する機能を備えると共に、この判別結果とその要求に記されているアプリケーション名，発行日時，ファイル数，ファイル名，ファイルサイズを入出力履歴記録用メモリ３４へ出力する機能を備えている。
【００４５】
入出力履歴記録用メモリ３４は、受信したファイル読出要求及びファイル書込要求の履歴情報として、各要求毎に、発行日時と、発行元のアプリケーション名と、ディスクアクセスパターンと、ファイル名、ファイルサイズ、ファイル数、送り先とを記憶する。このうち送り先については、分散有無判断手段３１の判断結果をもとに記録される。
【００４６】
履歴情報整理手段３５は、入出力履歴記録用メモリ３４内の情報量が予め設定された上限量に達した場合に、ＬＲＵ（Least Recently Used）アルゴリズムなどを利用して、最近使用されていないアプリケーションのアクセス管理情報を削除する。これにより、ファイル書込／読出要求が発行される度に入出力履歴記録用メモリ３４にアクセス管理情報が格納されても、入出力履歴記録用メモリ３４内の情報量が限界になることを回避し、情報の利用効率を向上させることができる。
【００４７】
このように構成された本実施形態の情報記憶システムによれば、どのアプリケーションから、何時、どのようなファイル読出／書込要求が発行されたかを管理することができ、そのアプリケーションから新規のファイル書込要求があった場合もストライピングを行うか否かを正確に判断することができる。
【００４８】
次に、本実施形態の情報記憶システムの動作について説明する。ここで、以下の動作説明は、本発明の情報記憶方法の実施形態となる。
【００４９】
図３は、本実施形態におけるディスクアクセス制御装置３の動作を示すフローチャートである。図３に示すように、本実施形態のディスクアクセス制御装置３では、まず、分散有無判断手段３１が、上位システム４からファイル書込要求を受けた場合（図３のステップＳ３１のはい）、入出力履歴記録用メモリ３４に記憶された履歴情報から、そのファイル書込要求に記されたプリケーション名に対応するディスクアクセスパターンを収集する（図３のステップＳ３２）。
【００５０】
そして、分散有無判断手段３１が、収集したディスクアクセスパターンがＮ回分あるか否かを判定し（図３のステップＳ３３）、Ｎ回分に達していない場合は分散格納ディスク装置１を送り先と判断し、記憶装置選択切換手段３２が分散格納ディスク装置１へファイル書込要求を送出する（図３のステップＳ３８）。
【００５１】
Ｎ回分に達していた場合、分散有無判断手段３１は、収集したディスクアクセスパターンからシーケンシャルアクセス回数及びランダムアクセス回数を集計する（図３のステップＳ３４）。
【００５２】
シーケンシャルアクセス回数の方が多い場合には（図３のステップＳ３５のはい）、分散有無判断手段３１が分散格納ディスク装置１を送り先と判断し、記憶装置選択切換手段３２が分散格納ディスク装置１へファイル書込要求を送出する（図３のステップＳ３８）。
【００５３】
ランダムアクセス回数の方が多い場合には（図３のステップＳ３５のいいえ）、分散有無判断手段３１がそのファイル書込要求に係るファイルのサイズが予め設定された閾値以上か否かを判定し（図３のステップＳ３６）、閾値以上であれば、分散有無判断手段３１が分散格納ディスク装置１を送り先と判断し、記憶装置選択切換手段３２が分散格納ディスク装置１へファイル書込要求を送出し（図３のステップＳ３８）、閾値未満であれば、分散有無判断手段３１が非分散格納ディスク装置２を送り先と判断し、記憶装置選択切換手段３２が非分散格納ディスク装置２へファイル書込要求を送出する（図３のステップＳ３７）。
【００５４】
そして、アクセスパターン判別手段３３が、今回のファイル書込要求のディスクアクセスパターンと判別してそのアプリケーション名とを対応付けて入出力履歴記録用メモリ３４に格納し、分散有無判断手段３１が、今回のファイル書込要求の送り先をそのアプリケーション名と対応付けて入出力履歴記録用メモリ３４に格納する（図３のステップＳ３９）。
【００５５】
本実施形態のディスクアクセス制御装置３は、このように動作するため、常時、ファイル読出／書込要求の履歴を採取し、その履歴情報を活用して、アプリケーション毎にストライピングの有無を判断することができるので、ファイル毎にシーケンシャルデータかランダムデータかを判別する方法に比べて、ファイル書込要求をストライピングすべきか否かの判断にかかる負荷を軽減でき、新規ファイルの書込みに対しても要求元のアプリケーションが既に別のファイル書込要求を出していれば、ストライピングの有無を判断することができる。
【００５６】
次に、本実施形態の情報記憶システム全体の動作について、図４のシーケンス図に基づいて説明する。図４に示すシーケンス図は、上位システム４からファイル書込要求が発行された場合の情報記憶システムの動作の一例を示す。
【００５７】
本実施形態の情報記憶システムでは、まず、アプリケーションの処理を実行した上位システム４からファイル書込要求がディスクアクセス制御装置３へ送信される（図４のステップＳ４１）。
【００５８】
ファイル書込要求を受けたディスクアクセス制御装置３が、当該ファイル書込要求に記されたアプリケーション名を基に、履歴情報から同じアプリケーション名に対するディスアクセスパターンを収集する（図４のステップＳ４２）。この収集したディスアクセスパターンのシーケンシャルアクセス回数及びランダムアクセス回数を集計する（図４のステップＳ４３）。
【００５９】
この集計したシーケンシャルアクセス回数及びランダムアクセス回数の合計がＮ回に達していなければ、分散格納ディスク装置１にファイル書込要求を送出すると判断し、Ｎ回に達している場合は、シーケンシャルアクセス回数のほうが多ければ分散格納ディスク装置１に送出すると判断し、ランダムアクセス回数の方が多くてファイルサイズが閾値未満であれば非分散格納ディスク装置２に送出すると判断し、ランダムアクセス回数の方が多くてファイルサイズが閾値以上であれば分散格納ディスク装置１に送出すると判断する（図４のステップＳ４４）。そして、この判断結果に従ってファイル書込要求を送出する（図４のステップＳ４５）。
【００６０】
ファイル書込要求を受けた分散格納ディスク装置１又は非分散格納ディスク装置２が、当該ファイル書込要求に対する応答をディスクアクセス制御装置３を経由して上位システム４に返す（図４のステップＳ４６）。
【００６１】
そして、ディスクアクセス制御装置３が、今回のファイル書込要求のディスクアクセスパターンと、送り先と、アプリケーション名と、ファイル名とを記憶する（図４のステップＳ４７）。
【００６２】
このように、アプリケーション毎のファイル読出／書込要求の履歴を用いて、ストライピングの有無を判断することで、ハードウェアリソース（ＣＰＵならびに物理メモリ）は必要だが、一回のディスクＩ／ＯのＴＡＴ（Turn Around Time）ならびにディスクＩ／Ｏのスループットが向上する。
【００６３】
ここで、上述した分散有無判断手段３１，記憶装置選択切換手段３２，アクセスパターン判別手段３３，履歴情報整理手段３５については、その機能内容をプログラム化して、コンピュータに実行させるように構成してもよい。
【００６４】
以上のように、本実施形態の情報記憶システムは、アプリケーションの処理を実行する上位システム４からファイル書込要求が発行されると、要求発行元のアプリケーションのそれまでのファイル読出／書込要求においてシーケンシャルアクセス回数とランダムアクセス回数のどちらが多いかを判定し、この判定結果に基づいてファイル書込要求を分散格納ディスク装置１又は非分散格納ディスク装置２のどちらに送るか判断する。
【００６５】
これは、アプリケーションには、画像データなどのシーケンシャルデータを頻繁に扱うものと、そうでないものとがあるということに着目し、例えば、実際にシーケンシャルアクセスでのファイル読出／書込の頻度が高いアプリケーションからのファイル書込をストライピングにし、ランダムアクセスでのファイル読出／書込の頻度が高いアプリケーションからのファイル書込はストライピングにしないようにすることで、ストライピングを行うファイルデータの大半をストライピングに適したシーケンシャルデータにして、オーバーヘッドを軽減し、ストライピングによる入出力の一層の高速化を可能にしたシステムである。
これにより、システム構築前にディスクをストライピングするための設計ならびに運用管理設計を行う必要が無くなると共に、システムの稼働後の保守管理作業も不要になるので、システムコストを有効に軽減することができる。
また、本実施形態の情報記憶システムによれば、ファイル書込要求をストライピングにするか否かを判断する際に、ファイルデータ自体を扱うことなく、そのファイル書込要求に記されているアプリケーション名に基づいて判断するため、この判断処理にかかる負荷が軽減され、より迅速な判断処理が可能になる。
【００６６】
さらに、本実施形態の情報記憶システムは、ファイル書き込みのストライピングの有無を、その書込の要求元であるアプリケーションのそれまでのファイル読出／書込要求のディスクアクセスパターンの実績（シーケンシャルとランダムのどちらが多いか）に基づいて判断しているので、新規のファイルを書き込む場合も要求元のアプリケーションから既に別のファイル書込／読出要求が発行されていれば、ストライピングの有無を判断することができる。
【産業上の利用可能性】
【００６７】
本発明は、ヒューリスティックレベルで決まった処理をするパーソナルコンピュータなどのコンピュータを含め、エントリモデルのコンピュータからハイエンドなコンピュータへの適用が可能である。
【符号の説明】
【００６８】
１  分散格納ディスク装置
２  非分散格納ディスク装置
３  ディスクアクセス制御装置
４  上位システム
３１  分散有無判断手段
３２  記憶装置選択切換手段
３３  アクセスパターン判別手段
３４  入出力履歴記録用メモリ
３５  履歴情報整理手段
【図１】
2011107983.tif 000004
【図２】
2011107983.tif 000005
【図３】
2011107983.tif 000006
【図４】
2011107983.tif 000007