(57)【要約】      （修正有）【課題】アクセスパターンの特殊性によっても記憶システムの性能が向上し得る記憶システム及びその制御方法を提供する。【解決手段】複数のホスト装置２又は複数のアプリケーション２０は、夫々のホスト装置又は夫々のアプリケーションを識別する識別子をアクセス情報に挿入して送信する挿入部を備え、記憶制御装置４は、アクセス情報に含まれる識別子に基づいてホスト装置又はアプリケーションを識別し、識別したホスト装置又はアプリケーションから送信されるアクセス情報のアクセスパターンを解析する解析部と、アクセス情報に含まれる識別子と、アクセスパターンの解析結果と、解析結果に基づいてホスト装置から送信されるデータ又は論理ボリュームに格納されるデータの処理を制御する制御方法と、を管理する管理部と、ホスト装置から送信されるデータ又は論理ボリュームに格納されるデータの処理を制御するデータ処理制御部と、を備える。【選択図】図１
2008269015.tif 000002
【特許請求の範囲】
【請求項１】
アクセス情報を送信する複数のホスト装置又は複数のアプリケーションと、データを物理ディスクの記憶領域上に提供される論理ボリュームに格納する記憶制御装置と、を有する記憶システムにおいて、
前記複数のホスト装置又は前記複数のアプリケーションは、
夫々のホスト装置又は夫々のアプリケーションを識別する識別子を前記アクセス情報に挿入して送信する挿入部を備え、
前記記憶制御装置は、
前記アクセス情報に含まれる識別子に基づいてホスト装置又はアプリケーションを識別し、識別したホスト装置又はアプリケーションから送信されるアクセス情報のアクセスパターンを解析する解析部と、
前記ホスト装置又は前記アプリケーションの識別子と、前記解析部で解析したアクセスパターンの解析結果と、前記解析結果に基づいてホスト装置から送信されるデータ又は論理ボリュームに格納されるデータの処理を制御する制御方法と、を管理する管理部と、
ホスト装置から送信されるデータ又は論理ボリュームに格納されるデータの処理を前記管理部で管理する制御方法で制御するデータ処理制御部と、を備える
ことを特徴とする記憶システム。
【請求項２】
前記データ処理制御部は、
前記複数のホスト装置又は複数のアプリケーションのうち前記管理部で管理するホスト装置の識別子を含むアクセス情報を受信する場合に、ホスト装置から送信されるデータ又は論理ボリュームに格納されるデータの処理を制御する
ことを特徴とする請求項１記載の記憶システム。
【請求項３】
前記データ処理制御部は、
前記制御方法が前記管理部で管理されていない場合に、ホスト装置から送信されるデータ又は論理ボリュームに格納されるデータの処理を制御する方法を判断し、
前記管理部は、
前記データ処理制御部で判断した制御方法を管理する
ことを特徴とする請求項１記載の記憶システム。
【請求項４】
前記解析部は、
前記データ処理制御部において、前記複数のホスト装置又は複数のアプリケーションのうち前記管理部で管理するホスト装置の識別子を含まないアクセス情報を受信すると、当該アクセス情報のアクセスパターンを解析する
ことを特徴とする請求項１記載の記憶システム。
【請求項５】
前記識別子は、
前記複数のホスト装置を識別するホスト識別子又は前記複数のアプリケーションを識別するアプリケーション識別子である
ことを特徴とする請求項１記載の記憶システム。
【請求項６】
前記解析部は、
シーケンシャルアクセス又はランダムアクセスのアクセス情報を判定し、判定したアクセス情報のアクセスパターンを解析する
ことを特徴とする請求項１記載の記憶システム。
【請求項７】
前記解析部は、
データの転送長、論理ボリュームにデータを書き込む書き込み開始位置、論理ボリュームにデータを格納する格納順序又は論理ボリュームに対するアクセスサイクルのアクセスパターンを解析する
ことを特徴とする請求項６記載の記憶システム。
【請求項８】
前記記憶制御装置は、
前記解析部で解析した結果、前記論理ボリュームにデータを書き込む書き込み開始位置にずれが生じた場合には、書き込み開始位置をずれ分だけずらした論理ボリュームを作成する
ことを特徴とする請求項７記載の記憶システム。
【請求項９】
アクセス情報を送信する複数のホスト装置又は複数のアプリケーションと、データを物理ディスクの記憶領域上に提供される論理ボリュームに格納する記憶制御装置と、を有する記憶システムの制御方法において、
前記複数のホスト装置又は前記複数のアプリケーションでは、夫々のホスト装置又は夫々のアプリケーションを識別する識別子を前記アクセス情報に挿入して送信する挿入ステップを備え、
前記記憶制御装置では、前記アクセス情報に含まれる識別子に基づいてホスト装置又はアプリケーションを識別し、識別したホスト装置又はアプリケーションから送信されるアクセス情報のアクセスパターンを解析する解析ステップと、
前記ホスト装置又は前記アプリケーションの識別子と、前記解析ステップで解析したアクセスパターンの解析結果と、前記解析結果に基づいてホスト装置から送信されるデータ又は論理ボリュームに格納されるデータの処理を制御する制御方法と、を管理する管理ステップと、
ホスト装置から送信されるデータ又は論理ボリュームに格納されるデータの処理を前記管理ステップで管理する制御方法で制御するデータ処理制御ステップと、を備える
ことを特徴とする記憶システムの制御方法。
【請求項１０】
前記データ処理制御ステップでは、
前記複数のホスト装置又は前記複数のアプリケーションのうち前記管理ステップで管理するホスト装置又はアプリケーションの識別子を含むアクセス情報を受信すると、ホスト装置から送信されるデータ又は論理ボリュームに格納されるデータの処理を制御する
ことを特徴とする請求項９記載の記憶システムの制御方法。
【請求項１１】
前記データ処理制御ステップでは、
前記管理ステップにおいて前記制御方法が管理されていないときに、ホスト装置から送信されるデータ又は論理ボリュームに格納されるデータの処理を制御する方法を判断し、
前記管理ステップでは、
前記データ処理制御ステップで判断した制御方法を管理する
ことを特徴とする請求項９記載の記憶システムの制御方法。
【請求項１２】
前記データ処理制御ステップで、
前記複数のホスト装置のうち前記管理ステップで管理するホスト装置の識別子を含まないアクセス情報を受信すると、
前記解析ステップでは、当該アクセス情報のアクセスパターンを解析する
ことを特徴とする請求項９記載の記憶システムの制御方法。
【請求項１３】
前記識別子は、
前記複数のホスト装置を識別するホスト識別子又は前記複数のアプリケーションを識別するアプリケーション識別子である
ことを特徴とする請求項９記載の記憶システムの制御方法。
【請求項１４】
前記解析ステップでは、
シーケンシャルアクセス又はランダムアクセスのアクセス情報を判定し、判定したアクセス情報のアクセスパターンを解析する
ことを特徴とする請求項９記載の記憶システムの制御方法。
【請求項１５】
前記解析ステップでは、
データの転送長、論理ボリュームにデータを書き込む書き込み開始位置、論理ボリュームにデータを格納する格納順序又は論理ボリュームに対するアクセスサイクルのアクセスパターンを解析する
ことを特徴とする請求項１４記載の記憶システムの制御方法。
【請求項１６】
前記記憶制御装置では、
前記解析ステップにおいて解析した結果、前記論理ボリュームにデータを書き込む書き込み開始位置にずれが生じた場合には、書き込み開始位置をずれ分だけずらした論理ボリュームを作成する
ことを特徴とする請求項１５記載の記憶システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶システム及びその制御方法に関し、特に、ホスト装置からのアクセス情報に基づいて記憶制御装置を制御する記憶システムに適用して好適なものである。
【背景技術】
【０００２】
近年、大規模なデータを取り扱う記憶システムにおいて、ホスト装置からの大容量のデータを格納するために、ホスト装置からのデータの入出力を制御する記憶制御装置が用いられている。
【０００３】
記憶制御装置は、ＲＡＩＤ（Redundant Array of Independent Inexpensive Disks）方式で運用するように構築された多数のハードディスクデバイスが提供する物理的な記憶領域上に形成される論理的なボリューム（以下、これを論理ボリュームという）を有している。
【０００４】
そして記憶制御装置は、ホスト装置から受信したリード／ライト要求のアクセスパターン情報に伴ったデータ処理を行う。
【０００５】
そして、リード／ライト要求を受信した記憶制御装置が行うデータの処理速度を速め、記憶システム全体の性能を向上させる技術が開示されている。
【０００６】
特許文献１では、複数のアクセスパターンのデータを１つのキャッシュメモリで扱う場合に、アクセス頻度の低いデータがキャッシュメモリから掃きだされても内部にある記憶装置に記憶させることで、システム性能の低下を軽減する技術が開示されている。
【０００７】
特許文献２では、磁気ディスクを制御するコントローラが論理ボリュームに関する情報を記憶制御装置に提供し、記憶制御装置が先読みするキャッシュメモリを論理ボリュームごとに割り振ることで、システム性能の低下を軽減する技術が開示されている。
【０００８】
特許文献３では、ホスト装置からのアクセスパターンの特性に基づいて記憶制御装置が有するリソースを割当てることで、システム性能の低下を軽減する技術が開示されている。
【０００９】
特許文献４では、ホスト装置からのアクセスパターンに応じて、論理ボリュームの性能負荷を算出し、性能負荷を分散する対象の論理ボリュームを異なるＲＡＩＤグループに再配置することで、システム性能の低下を軽減できる旨記載されている。
【特許文献１】特開平１０−２４０４５０号公報
【特許文献２】特開平１１―２１２７３３号公報
【特許文献３】特開２００３−１３１８１４号公報
【特許文献４】特願２００６−３０４５２６号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来の記憶制御装置は、ホスト装置から論理ボリュームに対するアクセスパターンに従ってデータの処理を行うにとどまるため、アクセスパターンの特殊性によって記憶システムの性能劣化が生じてしまうという問題があった。
【００１１】
また、記憶制御装置自らが、ホスト装置から論理ボリュームに対するアクセスパターンを解析して、最適な制御をして対応することはできなかった。
【００１２】
本発明は以上の点を考慮してなされたもので、ホスト装置から論理ボリュームに対するアクセスパターンを解析して最適な制御をすることで、アクセスパターンの特殊性によっても記憶システムの性能が向上し得る記憶システム及びその制御方法を提案しようとするものである。
【課題を解決するための手段】
【００１３】
かかる課題を解決するため本発明は、アクセス情報を送信する複数のホスト装置又は複数のアプリケーションと、データを物理ディスクの記憶領域上に提供される論理ボリュームに格納する記憶制御装置と、を有する記憶システムにおいて、複数のホスト装置又は複数のアプリケーションは、夫々のホスト装置又は夫々のアプリケーションを識別する識別子をアクセス情報に追加して送信する追加部を備え、記憶制御装置は、アクセス情報に含まれる識別子に基づいてホスト装置又はアプリケーションを識別し、識別したホスト装置又はアプリケーションから送信されるアクセス情報のアクセスパターンを解析する解析部と、ホスト装置又はアプリケーションの識別子と、解析部で解析したアクセスパターンの解析結果と、解析結果に基づいてホスト装置から送信されるデータ又は論理ボリュームに格納されるデータの処理を制御する制御方法と、を管理する管理部と、ホスト装置から送信されるデータ又は論理ボリュームに格納されるデータの処理を管理部で管理する制御方法で制御するデータ処理制御部と、を備えることを特徴とする。
【００１４】
その結果、記憶制御装置自らが、ホスト装置から論理ボリュームに対するアクセスパターンを解析して最適な制御を行って対応することができる。
【００１５】
また本発明は、アクセス情報を送信する複数のホスト装置又は複数のアプリケーションと、データを物理ディスクの記憶領域上に提供される論理ボリュームに格納する記憶制御装置と、を有する記憶システムの制御方法において、複数のホスト装置又は複数のアプリケーションでは、夫々のホスト装置又は夫々のアプリケーションを識別する識別子を前記アクセス情報に追加して送信する追加ステップを備え、記憶制御装置では、アクセス情報に含まれる識別子に基づいてホスト装置又はアプリケーションを識別し、識別したホスト装置又はアプリケーションから送信されるアクセス情報のアクセスパターンを解析する解析ステップと、ホスト装置又はアプリケーションの識別子と、解析ステップで解析したアクセスパターンの解析結果と、解析結果に基づいてホスト装置から送信されるデータ又は論理ボリュームに格納されるデータの処理を制御する制御方法と、を管理する管理ステップと、ホスト装置から送信されるデータ又は論理ボリュームに格納されるデータの処理を管理ステップで管理する制御方法で制御するデータ処理制御ステップと、を備えることを特徴とする。
【００１６】
その結果、記憶制御装置自らが、ホスト装置から論理ボリュームに対するアクセスパターンを解析して最適な制御を行って対応することができる。
【発明の効果】
【００１７】
本発明によれば、記憶制御装置自らが、ホスト装置から論理ボリュームに対するアクセスパターンを解析して最適な制御を行って対応することができるので、アクセスパターンの特殊性によっても記憶システムの性能の向上を図ることができる。
【発明を実施するための最良の形態】
【００１８】
以下図面について、本発明の一実施の形態を詳述する。
【００１９】
（１）第１の実施の形態による記憶システムの構成
まず、第１の実施の形態による記憶システムについて以下に説明する。
【００２０】
図１において、１は全体として本実施の形態による記憶システムを示す。この記憶システム１は、ホスト装置２がネットワーク３を介してストレージ装置４と接続され、ストレージ装置４が管理端末１２と接続され、管理端末１２がネットワーク１３を介してサポートシステム１４と接続される構成である。
【００２１】
ホスト装置２は、ＣＰＵ（Central Processing Unit）やメモリ等の情報処理資源を備えたコンピュータ装置であって、キーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置（図示せず）と、モニタディスプレイやスピーカ等の情報出力装置（図示せず）とを備える。そしてホスト装置２は、各種のアプリケーションソフトウェアＡ〜Ｃを有したアプリケーション２０とドライバ２１とを備える構成である。
【００２２】
ドライバ２１は、本発明を達成するためのソフトウェアであり、識別子追加プログラム２２とデータ長変更プログラム２３とを有する。
【００２３】
識別子追加プログラム２２は、ホスト装置からストレージ装置４にデータを送信する際に、ストレージ装置４に当該データであることを識別させるための識別子をデータに付与するためのプログラムである。
【００２４】
データ長変更プログラム２３は、ストレージ装置４から送信されるデータのデータ転送長を変更するためのプログラムである。
【００２５】
なお、ホスト装置２には、ＯＳ（Operating System）又はファイルを管理するファイルシステムも含まれる。
【００２６】
ネットワーク３、１３は、例えばＳＡＮ（Storage Area Network）、ＬＡＮ（Local Area Network）、インターネット、公衆回線又は専用回線などから構成される。このネットワーク３を介したホスト装置２及びストレージ装置４間の通信は、例えばネットワーク３がＳＡＮである場合にはファイバチャネルプロトコルに従って行われ、ネットワーク１３がＬＡＮである場合にはＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）プロトコルに従って行われる。
【００２７】
ストレージ装置４は、ホスト装置２からのデータの入出力を制御するコントローラ部５と、ホスト装置２からのデータを保存するハードディスクドライブ部１１とを備える記憶制御装置である。
【００２８】
コントローラ部５では、チャネルアダプタ６、共有メモリ７、キャッシュメモリ９、ディスクアダプタ１０が接続部８を介して接続される構成である。そして、チャネルアダプタ６、共有メモリ７、キャッシュメモリ９、ディスクアダプタ１０間のデータやコマンドの授受は、例えば高速スイッチングによりデータ伝送を行う超高速クロスバススイッチなどのスイッチ又はバス等を介して行われる。
【００２９】
チャネルアダプタ６は、マイクロプロセッサ、ローカルメモリ及び通信インタフェース等（図示せず）を備えたマイクロコンピュータシステムとして構成されており、ネットワーク３に接続するためのポート（図示せず）を備える。チャネルアダプタ５Ａ、５Ｂは、ホスト装置２から送信される各種コマンドを解釈して、必要な処理を実行する。チャネルアダプタ６のポートには、それぞれを識別するためのネットワークアドレス（例えば、ＩＰアドレスやＷＷＮ）が割り当てられており、これにより、各チャネルアダプタ６がそれぞれ個別にＮＡＳ（Network Attached Storage）として振る舞うことができるようになされている。
【００３０】
共有メモリ７は、チャネルアダプタ６及びディスクアダプタ１０により共有される記憶メモリである。共有メモリ７は、主にストレージ装置４の電源投入時にシステムボリュームから読み出されたシステム構成情報及び各種制御プログラムや、ホスト装置２からのコマンドなどを記憶するために利用される。
【００３１】
キャッシュメモリ９も、チャネルアダプタ６及びディスクアダプタ１０により共有される記憶メモリである。このキャッシュメモリ９は、主にストレージ装置４に入出力するユーザデータを一時的に記憶するために利用される。
【００３２】
キャッシュメモリ９には、複数の異なるアクセスパターンを解析するためのパターン解析プログラム９０、このパターン解析プログラム９０に基づいた結果を登録するパターン結果テーブル９１、記憶システム1全体の性能速度を監視するための性能モニタリングプログラム９２、論理ボリュームの用途を管理するための用途テーブル９３、ハードディスクドライブ部１１で形成される論理ボリュームを管理するＬＵ管理テーブル９４、パターン解析結果に基づいて制御処理を行うための制御プログラム９５及び制御後のパラメータで新規な論理ボリュームを作成するボリューム作成プログラム９６を備えている。パターン結果テーブル９１、用途テーブル９３及びＬＵ管理テーブル９４については、後述する。
【００３３】
ディスクアダプタ１０は、マイクロプロセッサやメモリ等を備えたマイクロコンピュータシステムとして構成され、ハードディスクドライブ部１１との通信時におけるプロトコル制御を行うインタフェースとして機能する。ディスクアダプタ１０は、例えばファイバチャネルケーブルを介してハードディスクドライブ部１１と接続されており、ファイバチャネルプロトコルに従ってハードディスクドライブ部１１との間でデータの授受を行う。
【００３４】
ハードディスクドライブ部１１は、例えばＳＣＳＩ（Small Computer System Interface）ディスク等の高価なハードディスクドライブ１１０又はＳＡＴＡ（Serial AT Attachment）ディスク等の安価なハードディスクドライブでなる複数のハードディスクドライブ１１０から構成される。
【００３５】
これらハードディスクドライブ１１０が提供する記憶領域上には、１又は複数の論理ボリュームＬＵが定義される。そして、この論理ボリュームＬＵにホスト装置２からのデータが所定大きさのブロックを単位として読み書きされる。
【００３６】
各論理ボリュームＬＵには、それぞれ固有の識別子（ＬＵＮ：Logical Unit Number）が割り当てられる。本実施の形態の場合、ユーザデータの入出力は、この識別子と、各ブロックにそれぞれ割り当てられるそのブロックに固有の番号（ＬＢＡ：Logical Block Address）との組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
【００３７】
管理端末１２は、ストレージ装置４を管理するために操作されるサーバ用のコンピュータ装置であり、例えばノート型のパーソナルコンピュータから構成される。管理端末１２は、ストレージ装置４内の障害発生を監視してディスプレイ画面（図示せず）に表示することができる。
【００３８】
サポートシステム１４は、ストレージ装置４の保守のために操作され、監視されるコンピュータシステムである。サポートシステム１４では、ストレージ装置4を管理する管理端末１２から、ストレージ装置4に関する情報が送られる。
【００３９】
（２）テーブル
（２−１）パターン結果テーブル
次に、キャッシュメモリ９に記憶されるパターン結果テーブル９１について説明をする。
【００４０】
パターン結果テーブル９１は、ホスト装置２から送信される複数の異なるアクセスパターンを解析した結果を格納して管理するテーブルである。図２に示すように、パターン結果テーブル９１は、「パターン番号」フィールド９１Ａ、「論理ボリューム番号」フィールド９１Ｂ、「ホスト装置番号」フィールド９１Ｃ、「アプリケーション」フィールド９１Ｄ、「用途」フィールド９１Ｅ、「性能閾値」フィールド９１Ｆ、「Ｉ／Ｏの種類」フィールド９１Ｇ、「サイクル」フィールド９１Ｈ、「パウンダリ」フィールド９１Ｉ及び「制御方法」フィールド９１Ｊから構成される。
【００４１】
「パターン番号」フィールド９１Ａには、ホスト装置２から送信される複数の異なるアクセスパターンを解析し、解析したパターンに付与した番号が格納されている。
【００４２】
「論理ボリューム番号」フィールド９１Ｂには、解析したアクセスパターンに基づくデータを保存する論理ボリュームＬＵの番号が格納されている。
【００４３】
「ホスト装置番号」フィールド９１Ｃには、アクセスパターンをストレージ装置4に送信したホスト装置２の番号が格納されている。
【００４４】
「アプリケーション」フィールド９１Ｄには、ホスト装置に搭載された、アクセス情報の発信元であるアプリケーションの種類が格納されている。
【００４５】
「用途」フィールド９１Ｅには、論理ボリュームＬＵの用途が格納されている。用途としては、データベース用とアーカイブ用とがある。詳細については、後述する。
【００４６】
「性能閾値」フィールド９１Ｆには、該当する論理ボリュームＬＵの性能の閾値が格納される。この閾値は、ユーザが設定するものである。ユーザが特に何らの入力もしない場合には「０」設定となる。
【００４７】
「Ｉ／Ｏの種類」フィールド９１Ｇには、ホスト装置２から論理ボリュームＬＵに対するアクセスパターンの種類が格納される。
【００４８】
アクセスパターンの種類は、ランダムアクセス及びシーケンシャルアクセスに大別される。ランダムアクセスとは、連続的に発行される読込み又は書込み要求が隣接したデータを示していない入出力負荷をいう。ランダムアクセスは、データ配置の分散が真にランダムであるかに関わりなく、一般にシーケンシャルではないあらゆる入出力負荷を意味している。ランダムアクセスは、入出力要求のインテンシブなアプリケーションの特徴である。ランダムアクセスには、ランダムライトとランダムリードとがある。
【００４９】
シーケンシャルアクセスは、隣接したデータの連続的な読込み又は書込み要求からなる入出力負荷をいう。シーケンシャルアクセスは、大きなデータ転送を行うアプリケーションに特有のものである。シーケンシャルアクセスには、シーケンシャルリードとシーケンシャルライトとがある。
【００５０】
「サイクル」フィールド９１Ｈには、ストレージ装置４が認識するリード／ライト要求の１サイクルが格納される。
【００５１】
「パウンダリ」フィールド９１Ｉには、論理ボリュームＬＵに書き込まれるデータの開始位置のずれ値が格納される。
【００５２】
「制御方法」フィールド９１Ｊには、解析したアクセスパターンに基づいて、ストレージ装置４が行う制御方法が格納される。
【００５３】
（２−２）用途テーブル
ここで「用途」フィールド９１Ｅに格納される情報について図３に基づく用途テーブル９３を用いて説明する。
【００５４】
「用途」フィールド９１Ｅに格納される情報としては、データベース用の情報となる「テーブル」、「インデックス」、「ジャーナル」及び「ログ」情報と、アーカイブ用の情報である「アーカイブ」情報がある。
【００５５】
「テーブル」情報及び「インデックス」情報を「用途」フィールド９１Ｅに格納する場合には、ストレージ装置４側で予めランダムリードのアクセスが論理ボリュームＬＵに対して主に行われる動作であると推測して当該情報を選択する。
【００５６】
「ジャーナル」情報及び「ログ」情報を「用途」フィールド９１Ｅに格納する場合には、ストレージ装置４側で予めシーケンシャルライトのアクセスが論理ボリュームＬＵに対して主に行われる動作であると推測して当該情報を選択する。なお、ジャーナルとは、論理ボリュームＬＵ内に格納されるデータの更新履歴を保存するデータのことである。
【００５７】
「アーカイブ」情報を「用途」フィールド９１Ｅに格納する場合には、ストレージ装置４側で予めシーケンシャルリードアクセスが論理ボリュームＬＵに対して主に行われる動作であると推測して当該情報を選択する。
【００５８】
（２−３）ＬＵ管理テーブル
図４に示すようにＬＵ管理テーブル９４は、ストレージ装置４に形成された論理ボリュームＬＵを管理するテーブルである。ＬＵ管理テーブル９４は、「論理ボリューム番号」フィールド９４Ａ、「エイリアス」フィールド９４Ｂ、「ホスト装置番号」９４Ｃ及び「容量」フィールド９４Ｄから構成される。
【００５９】
「論理ボリューム番号」フィールド９４Ａには、論理ボリュームＬＵに付与された番号が格納される。
【００６０】
「エイリアス」フィールド９４Ｂには、論理ボリュームＬＵの通称名が格納されている。例えば、論理ボリュームＬＵが「１」である場合には、店舗用のマスタデータを格納するための論理ボリュームであることを示している。
【００６１】
「ホスト装置番号」フィールド９４Ｃには、ある論理ボリュームＬＵをアクセス対象先とするホスト装置２の番号が格納されている。
【００６２】
「容量」フィールド９４Ｄには、論理ボリュームＬＵが現在使用されている容量情報が格納されている。
【００６３】
（３）パターン解析機能及び制御機能
この記憶システム１は、ホスト装置２からストレージ装置４へのアクセス情報に識別子を含めることによって、ストレージ装置４がアクセス情報に基づいてアクセスパターンを解析し（パターン解析機能）、解析結果に基づいて最適な制御を行う（制御機能）ことで、ストレージ装置４側でアクセスパターンを意識したアクセスを行える点が特徴である。
【００６４】
ここでアクセス情報とは、ホスト装置２からのリード／ライト要求をいう。
【００６５】
それでは次に、本願の特徴点を実現するための説明をする。
【００６６】
まずアクセスパターンには、複数のパターンがあるが、ここでは、全てのアクセスパターンに該当するパターン解析処理及び制御処理について説明する。個別具体的なアクセスパターンに基づくパターン解析処理及び制御処理については後述する。
【００６７】
（３−１）パターン解析処理
まず、ストレージ装置４がホスト装置２からのアクセス情報に基づいて何らかのアクセスパターンを解析するパターン解析処理について説明する。パターン解析処理は、ストレージ装置４のチャネルアダプタ６がパターン解析プログラム９０に基づいて実行する。
【００６８】
まず、図５に示すように、ホスト装置２がストレージ装置４にデータを送信するときに、パターン解析処理を開始する（Ｓ０、Ｓ１）。
【００６９】
ホスト装置２は、ストレージ装置４に送信するアクセス情報に、識別子を挿入する（Ｓ２）。例えば、ホスト装置２は、ＳＣＳＩの空きビットを使用して識別子を挿入する。ここでは識別子とは、ホスト識別子やアプリケーション識別子であって、例えばＳＣＳＩの空きビットを使用して送信するアクセス情報にホスト装置の番号やアプリケーションの種類を挿入する。なお本実施の形態において、識別子としてホスト識別子及びアプリケーション識別子をアクセス情報に挿入するが、ホスト識別子又はアプリケーション識別子のいずれか一方を挿入するだけでもよい。
【００７０】
ホスト装置２は、送信するアクセス情報に識別子を挿入すると、ストレージ装置４にデータを送信し（Ｓ３）、ホスト装置２側での処理を終了する（Ｓ８）。
【００７１】
ストレージ装置４は、ホスト装置２からのアクセス情報を受信すると（Ｓ４）、アクセス情報を判定し、判定したアクセス情報のアクセスパターンを解析して判定する（Ｓ５）。
【００７２】
その後、ストレージ装置４は、識別子、アクセス情報及びアクセスパターンの解析結果をパターン結果テーブル９１に入力する（Ｓ６）。例えば、ストレージ装置４は、ホスト装置２からの所定のアクセスパターンを受信して、解析した結果をパターン「１」として入力する。パターン「１」に該当しないホスト装置２からの他のアクセスパターンを、パターン「２」、パターン「３」と入力する。
【００７３】
ストレージ装置４は、パターン結果テーブル９１への入力が終ると、ストレージ装置4側での処理を終了する（Ｓ９）。
【００７４】
また、ステップＳ４において、ストレージ装置４は、アクセス情報を受信すると（Ｓ４）、ホスト装置２からのアクセス情報に従って通常のデータ処理を行う（Ｓ７）。ステップＳ５及びＳ７とは並行して処理が行われる。
【００７５】
例えばアクセス情報がライト要求の場合には、ストレージ装置４は、アクセス情報に続いて送信されるデータをキャッシュメモリ９に一時的に格納し、アクセス情報で指定されている論理ボリュームＬＵに向けてデステージを行う。
【００７６】
アクセス情報がリード要求の場合には、ストレージ装置４はホスト装置２が要求するデータを保存する論理ボリュームＬＵから読み出して、ホスト装置２に送信する。
【００７７】
そして、通常の処理を終えるとストレージ装置４は、パターン解析処理を終了する（Ｓ９）。
【００７８】
（３−２）制御処理
では次に、ストレージ装置４がホスト装置２から識別子を含んだアクセス情報を複数回受信したことでパターン結果テーブル９１にパターン毎の解析結果が登録された以後に、ストレージ装置４が行う制御処理について説明する。制御処理とは、ストレージ装置４側で、ホスト装置２に搭載されるアプリケーションを意識した制御を行う処理をいう。
【００７９】
制御処理は、ストレージ装置４のチャネルアダプタ６が主に制御プログラム９５に基づいて実行する。
【００８０】
まず、図６及び図７に示すように、ホスト装置２がストレージ装置４にデータを送信するときに、制御処理を開始する（Ｓ２０、Ｓ２１）。
【００８１】
ホスト装置２は、ストレージ装置４に送信するアクセス情報に、識別子を挿入する（Ｓ２２）。パターン解析処理と同様に、ホスト装置２は、ＳＣＳＩの空きビットを使用して識別子をアクセス情報に挿入する。ここでは識別子は、ホスト識別子及びアプリケーション識別子であり、例えばホスト装置の番号及びアプリケーションの種類が挿入される。
【００８２】
ホスト装置２は、送信するアクセス情報に識別子を挿入すると、ストレージ装置４にアクセス情報を送信すると（Ｓ２３）、この処理を終了する（Ｓ３４）。
【００８３】
ストレージ装置４は、ホスト装置２からのアクセス情報を受信すると（Ｓ２４）、受信したアクセス情報に含まれる識別子を確認する（Ｓ２５）。
【００８４】
そして、ストレージ装置４は、パターン結果テーブル９１を参照し、アクセス情報に含まれる識別子がパターンテーブル結果テーブル９１に登録された既存のアクセスパターンに該当するか否かを判断する（Ｓ２６）。
【００８５】
ストレージ装置４は、ホスト装置２からのアクセス情報がパターンテーブル結果テーブル９１に登録された既存のアクセスパターンであると判断すると（Ｓ２６：ＹＥＳ）、送信されたアクセス情報に対する制御方法がパターン結果テーブル９１の「制御方法」フィールド９１Ｊに、入力されているか否かを判断する（Ｓ２７）。
【００８６】
そして、ストレージ装置４は、送信されたアクセス情報に対する制御方法が「制御方法」フィールド９１Ｊに何らの入力もされていないと判断すると（Ｓ２７：ＮＯ）、ストレージ装置４は送信されたアクセス情報に対する制御方法を判断し（Ｓ２８）、判断した制御方法に基づいて制御処理を行う（Ｓ２９）。
【００８７】
その後ストレージ装置４は、性能モニタリングプログラム９２を起動させて、記憶システム１の処理速度を検出し（Ｓ３０）、記憶システム１の処理速度が向上したか否かを判断する（Ｓ３１）。
【００８８】
ストレージ装置４は、制御処理を行ったことで、記憶システム１の処理速度が向上したと判断すると（Ｓ３１：ＹＥＳ）、パターン結果テーブル９１の「制御方法」フィールド９１ＪにステップＳ２８で判断をした制御方法を登録し（Ｓ３２）、この処理を終了する（Ｓ３５）。
【００８９】
ステップＳ２７において、ストレージ装置４は、送信されたデータの識別子を登録した「制御方法」フィールド９１Ｊに入力されていると判断すると（Ｓ２７：ＹＥＳ）、「制御方法」フィールド９１J内の記載事項に従った制御処理を行い（Ｓ３３）、この処理を終了する（Ｓ３５）。
【００９０】
ステップＳ２６において、ストレージ装置４は、ホスト装置２からのアクセス情報がパターンテーブル結果テーブル９１に登録された既存のアクセスパターンではないと判断すると（Ｓ２６：ＮＯ）、再びパターン解析プログラム９０を起動させる。
【００９１】
そしてパターン解析プログラム９０を起動後、ストレージ装置４は、ホスト装置２から受信したアクセス情報に従って通常の処理を行った後（Ｓ７）終了する（Ｓ９）。また、アクセス情報については、ストレージ装置４は、解析及び判定して（Ｓ５）、解析結果をパターン結果テーブル９１に登録して（Ｓ６）終了する（Ｓ９）。
【００９２】
なお、ステップＳ３１において、ストレージ装置４は、記憶システム１の処理速度が向上していないと判断すると（Ｓ３１：ＮＯ）、この処理を終了する（Ｓ３５）。
【００９３】
（３−３）論理ボリューム作成処理
パターン解析処理や制御処理を行う際に、ストレージ環境によっては、制御したパラメータで新規な論理ボリュームＬＵを作成することで、記憶システム１の性能が向上する場合がある。ここでは、ストレージ装置４が、このような場合に新規な論理ボリュームＬＵを作成する処理について説明する。論理ボリューム作成処理は、ストレージ装置４のチャネルアダプタ６が主にボリューム作成プログラム９６に基づいて実行する。
【００９４】
まず、図８及び図９に示すように、ストレージ装置４が管理端末１２に新規な論理ボリュームＬＵを作成する旨のメッセージを送信し、管理端末１２がメッセージを受信したときに、論理ボリューム作成処理を開始する（Ｓ４０、Ｓ４１）。
【００９５】
次に、管理端末１２はストレージ装置４に論理ボリュームＬＵに対して作成指示を行う（Ｓ４２）。
【００９６】
ストレージ装置４は、論理ボリューム作成指示を受領すると（Ｓ４３）、ＬＵ管理テーブル９４を管理端末１２に送信する（Ｓ４４）。
【００９７】
管理端末１２は、ＬＵ管理テーブル９４を受け取ると既存の論理ボリュームＬＵの一覧を管理端末１２上の画面に表示する（Ｓ４５）。
【００９８】
管理端末１２は、作成したい新規な論理ボリュームＬＵと同じパラメータを持つ既存の論理ボリュームＬＵがＬＵ管理テーブル９４にあるか否かを判断する（Ｓ４６）。
【００９９】
そして、管理端末１２は、作成したい新規な論理ボリュームＬＵと同じパラメータを持つ既存の論理ボリュームＬＵがＬＵ管理テーブル９４にない、又は、既存の論理ボリュームＬＵがあっても選択しないと判断した場合には（Ｓ４６：ＮＯ）、パラメータを入力し、新規な論理ボリュームＬＵを作成する（Ｓ４７）。
【０１００】
ここでパラメータとは、例えば、ホスト装置２の番号及びアプリケーションＡ〜Ｃの種類をいう。論理ボリュームＬＵの用途は、図３に示す用途テーブル９３にある一覧から任意に選択する。またパラメータとして、ユーザが性能閾値も任意に入力することができる。
【０１０１】
管理端末１２は、パラメータを入力すると、このパラメータをストレージ装置４に送信して（Ｓ４８）、論理ボリューム作成処理を終了する（Ｓ５６）。
【０１０２】
一方、パラメータを受信したストレージ装置４は、このパラメータと同じ特性をもつ論理ボリュームＬＵがパターン結果テーブル９１にあるか否かを判断する（Ｓ４９）。
【０１０３】
そして、ストレージ装置４は、パラメータと同じ特性をもつ論理ボリュームＬＵがパターン結果テーブル９１にあると判断した場合には（Ｓ４９：ＹＥＳ）、パターン結果テーブル９１の該当する論理ボリュームＬＵ情報を参照して、この論理ボリューム情報に基づいて論理ボリュームＬＵを作成する（Ｓ５０）。
【０１０４】
ストレージ装置４は、作成した新規な論理ボリュームＬＵの番号及び参照した論理ボリューム情報をパターン結果テーブル９１に登録すると（Ｓ５１）、論理ボリューム作成処理を終了する（Ｓ５７）。
【０１０５】
一方、ステップＳ４９において、ストレージ装置４は、パラメータと同じ特性をもつ論理ボリュームＬＵがパターン結果テーブル９１にないと判断した場合には（Ｓ４９：ＮＯ）、論理ボリュームＬＵを作成し、作成した新規な論理ボリュームＬＵの番号及びパラメータをパターン結果テーブル９１に登録して（Ｓ５２）、論理ボリューム作成処理を終了する（Ｓ５７）。
【０１０６】
ステップＳ４６において、管理端末１２は、作成したい新規な論理ボリュームＬＵと同じパラメータを持つ既存の論理ボリュームＬＵがＬＵ管理テーブル９４にあると判断した場合には（Ｓ４６：ＹＥＳ）、ステップＳ５３〜Ｓ５５までの処理をステップＳ５０、Ｓ５１及びＳ５７までの処理と同様の処理手順で行う。
【０１０７】
（３−４）具体的なアクセスパターンに基づく処理
それでは次に具体的なアクセスパターンに基づいて、ストレージ装置４が具体的に行うパターン解析処理及び制御処理について説明する。
【０１０８】
（３−４−１）ライト−リード−ライトの混在アクセスパターン
まず、アクセスパターン１として、ライト−リード−ライトを１サイクルとしたホスト装置２からのリード／ライト要求をストレージ装置４が受けた場合について説明する。
【０１０９】
本実施の形態による制御を行う前のストレージ環境では、次のようであった。
【０１１０】
すなわち、最初のライトアクセス要求をストレージ装置４が受けると、まずホスト装置２からのデータがキャッシュメモリ９に書き込まれる。ここでのライト時間は、約0.1(ms)かかっていた。
【０１１１】
次に、キャッシュメモリ９に一時的に書き込まれたデータをハードディスクドライブ１１０へデステージする。デステージは、データがキャッシュメモリ９に書き込まれる毎に毎回行われる。そしてデステージをしている間は、キャッシュメモリ９内の他の領域にアクセスできないようにキャッシュメモリ９がロックされる。このとき、デステージ時間は、約10(ms)かかっていた。
【０１１２】
次にリードアクセス要求をストレージ装置４が受けると、ハードディスクドライブ１１０に書き込まれたデータが、キャッシュメモリ９のロックが解除された後に読み出される。ここでのリード時間は、約0.1(ms)かかっていた。
【０１１３】
そして、キャッシュメモリ９がデータを上書きするためのライトアクセス要求を受け取る。ホスト装置２からの上書きデータがキャッシュメモリ９に書き込まれる。ここでのライト時間は、約0.1(ms)かかっていた。
【０１１４】
これにより、制御を行う前のストレージ環境下で、ライト−リード−ライトを１サイクルとしたリード／ライト要求をストレージ装置４が受け取ると、全て処理するまでに約10.3(ms)かかっていたことになる。
【０１１５】
そこで、上述したパターン解析処理及び制御処理を具体的に適用し、制御後のストレージ環境が確立される。
【０１１６】
図１０は、パターン解析処理の一部を示したフローチャートである。
【０１１７】
まずホスト装置２及びストレージ装置４は、図５で説明をしたステップＳ０〜Ｓ４までを実行する。
【０１１８】
そしてストレージ装置４は、ホスト装置２から送信されるデータには識別子が含まれているので、１つの論理ボリュームに対するアクセスのサイクルを検知して、判定する（Ｓ５Ａ）。具体的にストレージ装置４は、論理ボリュームＬＵに対するアクセスのサイクルが、ライト−リード−ライトを１サイクルであると判定する。
【０１１９】
そうしてパターンの解析と判定が終了すると、ストレージ装置４は、「ライト−リード−ライトが１サイクル」であることをパターン結果テーブル９１の「サイクル」フィールド９１Ｈに入力する（Ｓ６Ａ）。その後、ストレージ装置４は、パターン解析処理を終了する（Ｓ９）。
【０１２０】
図１１は、制御処理の一部を示したフローチャートである。
【０１２１】
ホスト装置２及びストレージ装置４は、図６及び図７で説明したステップＳ２０〜Ｓ２７までを実行する。
【０１２２】
そしてストレージ装置４は、パターン結果テーブル９１の「制御」フィールド９１Ｊに未だ入力されていないと判断すると（Ｓ２７：ＮＯ）、「ライト−リード−ライト」を１サイクルとし、この１サイクル分のリード／ライト要求を処理した後に、キャッシュメモリ９に一時的に記憶されるデータをハードディスクドライブ１１０へデステージすると、制御方法を判断する（Ｓ２８Ａ）。
【０１２３】
ストレージ装置４は、判断結果に基づき、１サイクル分のリード／ライト要求を処理した後にハードディスクドライブ１１０へデステージを行う（Ｓ２９Ａ）。
【０１２４】
その後ストレージ装置４は、性能モニタリングプログラム９２を起動させて、記憶システム１の処理速度を検出し（Ｓ３０Ａ）、記憶システム１の処理速度が向上したか否かを判断する（Ｓ３１Ａ）。
【０１２５】
ストレージ装置４は、記憶システム１の処理速度が向上したと判断すると（Ｓ３１：ＹＥＳ）、パターン結果テーブル９１の「制御」フィールド９１Ｊに「１サイクル終了後にデステージを行う」という制御方法を登録し（Ｓ３２Ａ）、この処理を終了する（Ｓ３５）。
【０１２６】
これにより、ホスト装置２からリード／ライト要求を受領してキャッシュメモリ９からハードディスクドライブ１１０へデータをデステージする順序は、図１２に示す順序となる。
【０１２７】
以上により、ストレージ装置４は、ライト−リード−ライトの混在アクセスパターンを解析することで、ライト−リード−ライトのリード／ライト要求を１サイクルと認識することができる。このため、ストレージ装置４が制御前に必要としていたリード／ライト要求中に行われていたデータのデステージ時間を省くことができる。
【０１２８】
また、コンソリデーション環境下では、１つのストレージ装置４が複数のホスト装置２や複数のアプリケーションの種類をつなぐ環境であることから、多様なアクセスが混在する場合がある。このような場合には、ストレージ装置４は、アクセス情報に挿入される識別子を確認することで、１サイクル内のリード／ライト要求を見分けることができる。
【０１２９】
さらに本具体例は、１つのホスト装置２又はアプリケーションが１つの論理ボリュームＬＵを使用している場合でも、複数のホスト装置２又はアプリケーションが１つの論理ボリュームＬＵを使用している場合にでもよく、アプリケーション同士で連携して１つの論理ボリュームＬＵに対してアクセスパターンが成立すればよい。
【０１３０】
（３−４−２）アクセスパターンにおけるパウンダリ調整
次に、アクセスパターン２として、シーケンシャルリード若しくはライト又はランダムリード若しくはライトであるホスト装置２からのリード／ライト要求をストレージ装置４が受けた場合について説明する。ここでは便宜上、シーケンシャルライトであるリード／ライト要求をストレージ装置４が受け取った場合を例に挙げて説明する。
【０１３１】
本実施の形態は、ＲＡＩＤレベルに関係なく適用できるが、ここでは図１３に示すように、２台のハードディスクドライブ１１０（図中、ＨＤＤ１，ＨＤＤ２と記載）がＲＡＩＤ０のストライピング構成である場合を例に説明する。
【０１３２】
具体的には、ストライピング構成でのハードディスクドライブ１１０は、キャッシュメモリ９からハードディスクドライブ１１０に書き込まれる１回のデータ転送長を格納する記憶領域（ストライプＳＴ）を64ＫＢとし、ホスト装置２からのデータ転送長（セグメントＳＧ）を16ＫＢとする場合を説明する。ハードディスクドライブ１１０への書き込み時には、キャッシュメモリ９上の４つのセグメントをまとめて書き込む。
【０１３３】
制御を行う前のストレージ環境では、次のようであった。
【０１３４】
ホスト装置２が特定のＯＳ又はアプリケーション上でのデータを処理するためにデータの最初の数ＫＢ使用するため、キャッシュメモリ９への書き込み開始位置が数ＫＢずれて書き込まれる。このずれを、パウンダリＰと呼ぶ。
【０１３５】
例えば、パウンダリＰが0.5ＫＢとすると、キャッシュメモリ９に書き込まれる１回のデータ転送長は16ＫＢなので、書き込み開始位置は0.5ＫＢから始まり書き込み終了位置は16.5ＫＢとなる。
【０１３６】
このとき、２つのセグメントがロックされるため、次のリード／ライト要求によって生じるハードディスクドライブ１１０への書き込みを待たなければならない。
【０１３７】
この待機時間が生じることによって、ハードディスクドライブ１１０の使用効率が低減してしまう。同様に、キャッシュメモリ９のセグメントをまとめてハードディスクドライブ１１０に書き込む際にも、同様のパウンダリＰが生じるため、本来、ハードディスクドライブＨＤＤ１のみへの書き込みのはずが、ハードディスクドライブＨＤＤ１、ＨＤＤ２の両方に書き込みを行うことになる。
【０１３８】
そこで、上述したパターン解析処理及び制御処理を具体的に適用し、制御後のストレージ環境が確立される。
【０１３９】
まず記憶システム１のテスト環境下で、ホスト装置２及びストレージ装置４は、パターン解析処理を実行する。このときテスト環境下で、ある論理ボリュームＬＵに対してリード／ライト要求を受領した場合について説明する。
【０１４０】
図１４は、パターン解析処理の一部を示したフローチャートである。
【０１４１】
まずホスト装置２及びストレージ装置４は、図５で説明をしたステップＳ０〜Ｓ４までを実行する。
【０１４２】
そしてストレージ装置４は、ホスト装置２から送信される全てのアクセス情報には識別子が含まれているので、先頭のＬＢＡのパウンダリＰを計測しパウンダリＰの統計をとる（Ｓ５Ｂ）。そしてストレージ装置４は、パウンダリＰの有無及びパウンダリＰの大きさを解析して判定する（Ｓ５Ｂ）。具体的にストレージ装置４は、例えばパウンダリＰが有り、そのパウンダリＰは0.5ＫＢであると判定する。
【０１４３】
そうしてパターンの解析と判定が終了すると、ストレージ装置４は、「パウンダリが有り、そのパウンダリは0.5ＫＢ」であることをパターン結果テーブル９１の「パウンダリ」フィールド９１Ｉに入力する（Ｓ６Ｂ）。
【０１４４】
本実施の具体例ではパウンダリＰが生じている場合なので、ストレージ装置４は、「別の論理ボリュームＬＵによる性能最適化を推奨する」旨のメッセージを管理端末１２に送信する（Ｓ６Ｂ）。
【０１４５】
なおパウンダリＰが生じていない場合には、パウンダリＰが「０」であることをパターン結果テーブル９１に入力する。
【０１４６】
その後、ストレージ装置４は、パターン解析処理を終了する（Ｓ９）。
【０１４７】
図１５は、論理ボリューム作成処理の一部を示すフローチャートである。
【０１４８】
ステップＳ６Ｂにおいて、ストレージ装置４は管理端末１２にメッセージを送信すると、ストレージ装置４及び管理端末１２は、ステップＳ４０からＳ４４までの処理を実行する。
【０１４９】
管理端末１２は、ストレージ装置４からＬＵ管理テーブル９４を受け取ると既存の論理ボリュームＬＵの一覧を管理端末１２上の画面に表示する（Ｓ４５Ｂ）。
【０１５０】
加えて管理端末１２は、既存の論理ボリュームＬＵの一覧から、テスト環境下で使用した論理ボリュームＬＵを選択する（Ｓ４５Ｂ）。
【０１５１】
管理端末１２は、作成したい新規な論理ボリュームＬＵと同じパラメータを持つ既存の論理ボリュームＬＵがＬＵ管理テーブル９４にあるか否かを判断する（Ｓ４６Ｂ）。
【０１５２】
そして、管理端末１２は、ステップＳ４５Bにおいてテスト環境下で使用した既存の論理ボリュームを選択したので、既存の論理ボリュームはあると判断する（Ｓ４６Ｂ：ＹＥＳ）。
【０１５３】
ストレージ装置４は、パターン結果テーブル９１の「パウンダリ」フィールド９１Ｉを参照して、先頭のＬＢＡをパウンダリに合わせた論理ボリュームＬＵを作成する（Ｓ５３Ｂ）。本実施の具体例によれば、ステップＳ６Ｂでパウンダリが0.5ＫＢであると判定したので、先頭のＬＢＡを0.5ＫＢずらした論理ボリュームＬＵを作成する。すなわち先頭のＬＢＡは、図１３に示すように、15.5ＫＢ又は−0.5ＫＢずれたアドレスとなる。
【０１５４】
その後、ストレージ装置４は、図８で説明したように、作成した新規な論理ボリュームＬＵの番号をパターン結果テーブル９１に登録する（Ｓ５４）。加えてストレージ装置４は、論理ボリューム情報であるパウンダリ数値として、パウンダリＰ分を差し引いたアドレスをパターン結果テーブル９１に登録し（Ｓ５４）、論理ボリューム作成処理を終了する（Ｓ５５）。
【０１５５】
本実施の具体例は、ハードディスクドライブ１１０から固定容量の論理ボリュームＬＵを作成せず、ホスト装置２に仮想的な論理ボリュームを提供し、ホスト装置２からの要求に応じて、仮想的な論理ボリュームにハードディスクドライブ１１０の記憶領域を動的に割り当てる、いわゆるＡＯＵ（Allocation on Use）ボリュームを使用しても実現できる。
【０１５６】
さらに、このＡＯＵボリュームに対してホスト装置２からのリード／ライト要求があった場合に、ホスト装置２からの要求に従ってストレージ装置４が対象となるＡＯＵボリュームを削除することができる。
【０１５７】
具体的には、ホスト装置２は、業務を実行するアプリケーションＡ〜Ｃと、アプリケーションＡ〜Ｃが利用するＡＯＵボリュームの記憶領域を管理するＯＳ又はファイルシステムとを有している。
【０１５８】
ＯＳ又はファイルシステムは、ＡＯＵボリュームの記憶領域に格納されているファイルと、このファイルが格納されているアドレスを管理する管理テーブルを有している。
【０１５９】
ＯＳ又はファイルシステムは、アプリケーションＡ〜Ｃからファイルのリード要求を受け取ると、管理テーブルからリード要求を受けたファイルが格納されているアドレスを、リード要求と共にストレージ装置４に送信する。
【０１６０】
同様に、ＯＳ又はファイルシステムは、アプリケーションＡ〜Ｃからファイルのライト要求を受け取ると、管理テーブルから空き領域のアドレスと、ファイルのデータ及びライト要求とをストレージ装置４に送信する。
【０１６１】
リード／ライト要求を受けたストレージ装置４の制御部５は、該当するアドレスに物理的な記憶領域が割当てられていない場合には、物理的な記憶領域を割当て、ホスト装置２からのデータを、割当てた物理領域に格納する。
【０１６２】
また、ＯＳ又はファイルシステムは、アプリケーションＡ〜Ｃから削除(Delete)要求を受け取ると、管理テーブルから削除対象となるファイルを削除する。さらに、このＯＳ又はファイルシステムは、削除したファイルのアドレスを削除要求と共にストレージ装置４に送信する。
【０１６３】
ストレージ装置４の制御部５は、削除要求を受け取ると、このアドレスに該当する物理的な記憶領域を開放する。
【０１６４】
以上により、ストレージ装置４は、アクセスパターンを解析してパウンダリを検出し、予めパウンダリを考慮して新規な論理ボリュームＬＵを作成することができるので、ハードディスクドライブ１１０の使用効率の低減を回避することができる。
【０１６５】
さらに削除要求をアクセス情報とすることで、ＯＳ又はファイルシステムが削除要求を送信し、ストレージ装置側で削除要求を受信するシステム構成とすることができる。
【０１６６】
（３−４−３）シーケンシャルアクセス
次に、アクセスパターン２として、シーケンシャルリード又はライトであるリード／ライト要求をストレージ装置４が受けた場合について説明する。
【０１６７】
（３−４−３−１）シーケンシャルライト
ここでは、まずストレージ装置４がシーケンシャルライト要求を受信した場合を例に挙げて説明する。
【０１６８】
まず、制御を行う前のストレージ環境では、次のようであった。
【０１６９】
ストレージ装置４が、ホスト装置２Ａとホスト装置２Ｂからシーケンシャルライト要求であるアクセス情報を同時に受信してしまうと、両ホスト装置２の受信を同時に認識するため、ランダムライト要求を受信したように見えてしまっていた。
【０１７０】
そこで、パターン解析処理及び制御処理を具体的に適用し、制御後のストレージ環境が確立される。
【０１７１】
図１６は、パターン解析処理の一部を示したフローチャートである。
【０１７２】
まずホスト装置２及びストレージ装置４は、図５で説明をしたステップＳ０〜Ｓ４までを実行する。
【０１７３】
そしてストレージ装置４は、ホスト装置２から送信される全てのアクセス情報には識別子が含まれているので、リード／ライト要求の種類を検知して判定する（Ｓ５Ｃ）。具体的にストレージ装置４は、Ｉ／Ｏの種類は、識別子からシーケンシャルライトであると判定する。
【０１７４】
そうしてパターンの解析と判定が終了すると、ストレージ装置４は、「シーケンシャルライト」であることをパターン結果テーブル９１の「Ｉ／Ｏの種類」フィールド９１Ｈに入力する（Ｓ６Ｃ）。その後、ストレージ装置４は、パターン解析処理を終了する（Ｓ９）。
【０１７５】
図１７は、制御処理の一部を示したフローチャートである。
【０１７６】
ホスト装置２及びストレージ装置４は、ステップＳ２０〜Ｓ２７までを実行する。
【０１７７】
そしてストレージ装置４は、パターン結果テーブル９１の「制御」フィールド９１Ｊに未だ入力されていないと判断すると（Ｓ２７：ＮＯ）、「シーケンシャルライト」を受信した場合の制御方法を判断する（Ｓ２８Ｃ）。
【０１７８】
具体的には、夫々のホスト装置２から受信したデータをキャッシュメモリ９上の異なる記憶領域にためて、ハードディスクドライブ１１０へまとめ書きをするという制御方法を判断する。
【０１７９】
ストレージ装置４は、この判断結果に基づき、ハードディスクドライブ１１０へまとめ書きをする（Ｓ２９Ｃ）。
【０１８０】
その後ストレージ装置４は、性能モニタリングプログラム９２を起動させて、記憶システム１の処理速度を検出し（Ｓ３０Ｃ）、記憶システム１の処理速度が向上したか否かを判断する（Ｓ３１Ｃ）。
【０１８１】
ストレージ装置４は、記憶システム１の処理速度が向上したと判断すると（Ｓ３１Ｃ：ＹＥＳ）、パターン結果テーブル９１の「制御」フィールド９１Ｊに「ハードディスクドライブ１１０へまとめ書きをする」という制御方法を登録し（Ｓ３２Ｃ）、この処理を終了する（Ｓ３５）。
【０１８２】
（３−４−３−２）シーケンシャルリード
続いて、まずストレージ装置４がシーケンシャルリード要求であるアクセス情報を受信した場合を例に挙げて説明する。
【０１８３】
シーケンシャルライト要求を受信した場合と同様に、制御を行う前のストレージ環境ではストレージ装置４が、ホスト装置２Ａとホスト装置２Ｂからシーケンシャルリード要求を同時に受信してしまうと、両ホスト装置２の受信を同時に認識するため、ランダムリード要求を受信したように見えてしまっていた。
【０１８４】
図１８は、パターン解析処理の一部を示したフローチャートである。
【０１８５】
まずホスト装置２及びストレージ装置４は、図５で説明をしたステップＳ０〜Ｓ４までを実行する。
【０１８６】
そしてストレージ装置４は、ホスト装置２から送信される全てのアクセス情報には識別子が含まれているので、リード／ライト要求の種類を検知して判定する（Ｓ５Ｄ）。具体的にストレージ装置４は、Ｉ／Ｏの種類は、識別子からシーケンシャルリード要求のアクセス情報であると判定する。
【０１８７】
そうしてパターンの解析と判定が終了すると、ストレージ装置４は、「シーケンシャルリード」であることをパターン結果テーブル９１の「Ｉ／Ｏの種類」フィールド９１Ｈに入力する（Ｓ６Ｄ）。その後、ストレージ装置４は、パターン解析処理を終了する（Ｓ９）。
【０１８８】
図１９は、制御処理の一部を示したフローチャートである。
【０１８９】
ホスト装置２及びストレージ装置４は、ステップＳ２０〜Ｓ２７までを実行する。
【０１９０】
そしてストレージ装置４は、パターン結果テーブル９１の「制御」フィールド９１Ｊに未だ入力されていないと判断すると（Ｓ２７：ＮＯ）、「シーケンシャルリード」を受信した場合の制御方法を判断する（Ｓ２８Ｄ）。
【０１９１】
具体的には、夫々のホスト装置２に送信する必要なデータを、ハードディスクドライブ１１０からキャッシュメモリ９に先読みする、という制御方法を判断する。
【０１９２】
ストレージ装置４は、この判断結果に基づき、ハードディスクドライブ１１０から必要なデータを先読みしてキャッシュメモリ９上に記憶させる（Ｓ２９Ｄ）。
【０１９３】
その後ストレージ装置４は、性能モニタリングプログラム９２を起動させて、記憶システム１の処理速度を検出し（Ｓ３０Ｄ）、記憶システム１の処理速度が向上したか否かを判断する（Ｓ３１Ｄ）。
【０１９４】
ストレージ装置４は、記憶システム１の処理速度が向上したと判断すると（Ｓ３１Ｄ：ＹＥＳ）、パターン結果テーブル９１の「制御」フィールド９１Ｊに「キャッシュメモリ９に先読みする」という制御方法を登録し（Ｓ３２Ｄ）、この処理を終了する（Ｓ３５）。
【０１９５】
以上のように、アクセス情報に挿入される識別子によって、識別子を挿入して送るホスト装置側の環境に合わせたストレージ環境を構築できるように、ストレージ装置４がアクセスパターンを解析して制御することができる。
【０１９６】
このように、リード／ライト要求の種類によって、ストレージ装置４が制御できる事項を図２０に示す。
【０１９７】
リード／ライト要求の種類がシーケンシャルリードの場合には、上述したように、ストレージ装置４はハードディスクドライブ１１０からキャッシュメモリ９に先読みするデータを予測して最適化を行う、という制御方法が実行される。加えてパターン解析処理の時に、ストレージ装置４は先読みするデータの量を把握することで制御時に先読み量の最適化を行う、と言う制御方法が実行される。
【０１９８】
リード／ライト要求の種類がシーケンシャルライトの場合には、上述したように、ストレージ装置４はキャッシュメモリ９からハードディスクドライブ１１０にまとめ書きする必要データを予測して最適化を行う、という制御方法が実行される。
【０１９９】
また、リード／ライト要求の種類がシーケンシャルライトの場合には、ストレージ装置４は、データ転送長に応じてストライプサイズを調整する、という制御方法が実行される。
【０２００】
リード／ライト要求の種類がシーケンシャルライトの場合には、ホスト装置２が、データ長変更プログラム２３に基づいてデータ転送長を変更させる、という制御方法が実行される。
【０２０１】
リード／ライト要求の種類がシーケンシャルライトの場合には、ユーザが指定する性能閾値に応じて優先的にデータをハードディスクドライブ１１０へデステージする、という制御方法が実行される。
【０２０２】
リード／ライト要求の種類がランダムリードの場合には、ストレージ装置４がアクセスパターンによって、以後読出しが予想されるハードディスクドライブ１１０内の記憶領域に保存されるデータをキャッシュメモリ９に読み出しておく、という制御方法が実行される。
【０２０３】
リード／ライト要求の種類がランダムリードの場合には、ストレージ装置４が、空き時間に読み出し頻度の高いデータを、一箇所にまとめて保存する、という制御方法が実行される。この制御方法は、ＲＡＩＤレベルの移行も含まれる。
【０２０４】
リード／ライト要求の種類がランダムリードの場合には、ホスト装置２が、データ長変更プログラム２３に基づいてデータ転送長を変更させ、データ長の長さとタグ数の最適化を行う、という制御方法が実行される。
【０２０５】
リード／ライト要求の種類がランダムライトの場合には、ストレージ装置４は上書き頻度が高く、ハードディスク１１０内の異なる記憶領域に保存されるデータを一箇所にまとめて保存する、若しくは書き込み速度を上げるため複数のハードディスクドライブに分散させる、という制御方法が実行される。この制御方法は、ＲＡＩＤレベルの移行も含まれる。
【０２０６】
リード／ライト要求の種類がランダムライトの場合には、ストレージ装置４はストライプサイズを最適化する、という制御方法が実行される。
【０２０７】
リード／ライト要求の種類がランダムライトの場合には、ホスト装置２が、データ長変更プログラム２３に基づいてデータ転送長を変更させる、という制御方法が実行される。
【０２０８】
（４）第１の実施の形態の効果
本実施の形態によれば、記憶制御装置自らが、ホスト装置から論理ボリュームに対するアクセスパターンを解析して最適な制御を行って対応することができるので、アクセスパターンの特殊性によっても記憶システムの性能の向上を図ることができる。
【０２０９】
（５）第２の実施の形態
それでは次に、第２の実施の形態による記憶システムについて以下に説明する。
【０２１０】
図２１において、１’は全体として第２の実施の形態による記憶システムを示す。この記憶システム１’は、ホスト装置２がネットワーク３を介してストレージ装置４’と接続され、ストレージ装置４’が管理端末１２と接続され、管理端末１２がネットワーク１３を介してサポートシステム１４と接続される構成である。
【０２１１】
ストレージ装置４’は、記憶制御装置であって、ホスト装置２からのデータの入出力を制御するコントローラ部５’と、ホスト装置２からのデータを保存するハードディスクドライブ部１１とを備える記憶制御装置である。
【０２１２】
コントローラ部５’では、ホスト装置２との通信制御を行うホストインターフェース（図中ホストＩ／Ｆと表記）６０、プロセッサ６’、共有メモリ７、キャッシュメモリ９、ハードディスクドライブ部１１との通信制御を行うディスクインターフェース（図中ディスクＩ／Ｆと表記）１０’が転送制御回路８’を介して接続される構成である。
【０２１３】
プロセッサ６’は、キャッシュメモリ９に格納される各種テーブル９１，９３，９４を参照して、各種プログラム９０，９２，９５，９６の実行を行うものである。
【０２１４】
転送制御回路８’は、ホストインターフェース６０、プロセッサ６’、共有メモリ７、キャッシュメモリ９及びディスクインターフェース１０’間でのデータ転送を制御する回路である。
【０２１５】
なお、その他の構成要素については、上述した対応する構成要素と同じであるので、説明を省略する。また、本実施の形態のコントローラ部５’は１つで示しているが、ストレージ装置４’内にこのコントローラ部５’を複数も受けてもよい。
【０２１６】
このような構成であっても、記憶制御装置自らが、ホスト装置から論理ボリュームに対するアクセスパターンを解析して最適な制御を行って対応することができるので、アクセスパターンの特殊性によっても記憶システムの性能の向上を図ることができる。
【０２１７】
（６）他の実施の形態
複数のホスト装置２又は複数のアプリケーションＡ〜Ｃは、夫々のホスト装置又は夫々のアプリケーションを識別する識別子をアクセス情報に追加して送信する追加部をドライバ２１に備えたが、追加部を個別のハードウェア構成としてもよい。
【０２１８】
ストレージ装置（記憶制御装置）４は、アクセス情報に含まれる識別子に基づいてホスト装置２又はアプリケーションＡ〜Ｃを識別し、識別したホスト装置又はアプリケーションから送信されるアクセス情報のアクセスパターンを解析する解析部と、ホスト装置２又はアプリケーションＡ〜Ｃの識別子と、解析部で解析したアクセスパターンの解析結果と、解析結果に基づいてホスト装置から送信されるデータ又は論理ボリュームに格納されるデータの処理を制御する制御方法と、を管理する管理部と、ホスト装置２から送信されるデータ又は論理ボリュームＬＵに格納されるデータの処理を管理部で管理する制御方法で制御するデータ処理制御部と、をキャッシュメモリ９に設けたが、解析部、管理部及びデータ処理制御部を個別のハードウェア構成としてもよい。
【産業上の利用可能性】
【０２１９】
本発明は、１又は複数の記憶制御装置を有する記憶システムや、その他の形態の記憶システムに広く適用することができる。
【図面の簡単な説明】
【０２２０】
【図１】第１の実施の形態における記憶システムの全体構成を示すブロック図である。
【図２】第１の実施の形態におけるパターン結果テーブルを示す図表である。
【図３】第１の実施の形態における用途テーブルを示す図表である。
【図４】第１の実施の形態におけるＬＵ管理テーブルを示す図表である。
【図５】第１の実施の形態におけるパターン解析処理を示すフローチャートである。
【図６】第１の実施の形態における制御処理を示すフローチャートである。
【図７】第１の実施の形態における制御処理を示すフローチャートである。
【図８】第１の実施の形態における新規論理ボリュームの作成処理を示すフローチャートである。
【図９】第１の実施の形態における新規論理ボリュームの作成処理を示すフローチャートである。
【図１０】第１の実施の形態におけるパターン解析処理の一部を示すフローチャートである。
【図１１】第１の実施の形態における制御処理の一部を示すフローチャートである。
【図１２】第１の実施の形態におけるデステージの順序を示す概念図である。
【図１３】第１の実施の形態におけるパウンダリ調整の説明に供する概念図である。
【図１４】第１の実施の形態におけるパターン解析処理の一部を示すフローチャートである。
【図１５】第１の実施の形態における新規論理ボリュームの作成処理の一部を示すフローチャートである。
【図１６】第１の実施の形態におけるシーケンスライト要求を受信したときのパターン解析処理の一部を示すフローチャートである。
【図１７】第１の実施の形態におけるシーケンスライト要求を受信したときの制御処理の一部を示すフローチャートである。
【図１８】第１の実施の形態におけるシーケンスリード要求を受信したときのパターン解析処理の一部を示すフローチャートである。
【図１９】第１の実施の形態における制御処理の一部を示すフローチャートである。
【図２０】第１の実施の形態における制御方法の一覧図である。
【図２１】第２の実施の形態における記憶システムの全体構成を示すブロック図である。
【符号の説明】
【０２２１】
１、１’……記憶システム、２……ホスト装置、４、４’……ストレージ装置、５、５’……コントローラ部、６……チャネルアダプタ、９……キャッシュメモリ、９０……パターン解析プログラム、９１……パターン解析テーブル、９２……性能モニタリングプログラム、９３……用途テーブル、９４……ＬＵ管理テーブル、９５……制御プログラム、９６……ボリューム作成プログラム、１０……ディスクアダプタ、ＬＵ……論理ボリューム。
【図１】
2008269015.tif 000003
【図２】
2008269015.tif 000004
【図３】
2008269015.tif 000005
【図４】
2008269015.tif 000006
【図５】
2008269015.tif 000007
【図６】
2008269015.tif 000008
【図７】
2008269015.tif 000009
【図８】
2008269015.tif 000010
【図９】
2008269015.tif 000011
【図１０】
2008269015.tif 000012
【図１１】
2008269015.tif 000013
【図１２】
2008269015.tif 000014
【図１３】
2008269015.tif 000015
【図１４】
2008269015.tif 000016
【図１５】
2008269015.tif 000017
【図１６】
2008269015.tif 000018
【図１７】
2008269015.tif 000019
【図１８】
2008269015.tif 000020
【図１９】
2008269015.tif 000021
【図２０】
2008269015.tif 000022
【図２１】
2008269015.tif 000023