(57)【要約】【課題】メモリユニットの限られたメモリ容量の中で、情報記憶域のメモリプールを短時間で効率的に配置することを可能にするストレージ装置及びストレージ制御装置を提供する。【解決手段】ストレージ装置及びストレージ制御装置において、ストレージ装置の稼働中にメモリプールをメモリユニットに配置する際に、キャッシュ域管理テーブルを参照してドライブユニットへの書込み待ち状態である書込み待ちデータの量が最も少ないキャッシュ域のメモリ領域を獲得し、獲得したメモリ領域にメモリプールを配置するとともに、配置されたメモリプールを情報記憶域管理テーブルに設定するメモリ制御部を備える。【選択図】図１０
2012203881.tif 000002
【特許請求の範囲】
【請求項１】
ホストシステムから受信したデータをドライブユニットに格納するストレージ装置において、
前記ドライブユニットから読み出したデータ及び前記ドライブユニットに書き込むデータを一時的に格納するキャッシュ域と、前記ストレージ装置の内部処理用の情報を格納するためのメモリプールが割り当てられる情報記憶域が区画されるメモリユニットと、
前記メモリプールの前記メモリユニット上の位置情報を含む情報記憶域管理情報を登録する情報記憶域管理テーブルと、
前記キャッシュ域の使用状況を含むキャッシュ域管理情報を登録するキャッシュ域管理テーブルと、
前記ストレージ装置の稼働中に前記メモリプールを前記メモリユニットに配置する際に、前記キャッシュ域管理テーブルを参照してドライブユニットへの書込み待ち状態である書込み待ちデータの量が最も少ない前記キャッシュ域のメモリ領域を獲得し、獲得したメモリ領域に前記メモリプールを配置するとともに、配置されたメモリプールを前記情報記憶域管理テーブルに設定するメモリ制御部と、
を備えてなることを特徴とするストレージ装置。
【請求項２】
前記メモリ制御部は、前記ストレージ装置の稼働中に獲得した前記メモリプールを解放し、他のメモリプールを再配置するメモリプールの動的配置を実行することを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記メモリ制御部は、前記情報記憶域の全メモリ領域を第１の区画と第２の区画に分けて管理しており、
前記第１の区画は前記メモリプールが固定的に配置される固定配置区画であり、前記第２の区画は前記メモリプールの動的配置が実行される動的配置区画であることを特徴とする請求項２に記載のストレージ装置。
【請求項４】
獲得した前記メモリ領域は、ドライブユニットへの書込みが不可の為に格納されている書込み不可データを含まないことを特徴とする請求項１乃至請求項３のいずれか１項に記載のストレージ装置。
【請求項５】
獲得した前記メモリ領域は、最も最近アクセスされたものよりも前にアクセスされた前記キャッシュ域のメモリ領域の中で、ドライブユニットへの書込み待ち状態である書込み待ちデータの量が最も少ない前記キャッシュ域のメモリ領域であることを特徴とする請求項１乃至請求項４のいずれか１項に記載のストレージ装置。
【請求項６】
前記キャッシュ域管理テーブルは、前記メモリ領域における書込み不可データの位置、書込み待ちデータの位置及び書込み待ちデータの量、使用状況の少なくとも１つが登録されていることを特徴とする請求項２乃至請求項５のいずれか１項に記載のストレージ装置。
【請求項７】
ホストシステムから受信したデータをドライブユニットに格納するストレージ装置の内部制御に用いられるストレージ制御装置において、
前記ドライブユニットから読み出したデータ及び前記ドライブユニットに書き込むデータを一時的に格納するキャッシュ域と、前記ストレージ装置の内部処理用の情報を格納するためのメモリプールが割り当てられる情報記憶域が区画されるメモリユニットと、
前記メモリプールの前記メモリユニット上の位置情報を含む情報記憶域管理情報を登録する情報記憶域管理テーブルと、
前記キャッシュ域の使用状況を含むキャッシュ域管理情報を登録するキャッシュ域管理テーブルと、
前記ストレージ装置の稼働中に前記メモリプールを前記メモリユニットに配置する際に、前記キャッシュ域管理テーブルを参照してドライブユニットへの書込み待ち状態である書込み待ちデータの量が最も少ない前記キャッシュ域のメモリ領域を獲得し、獲得したメモリ領域に前記メモリプールを配置するとともに、配置されたメモリプールを前記情報記憶域管理テーブルに設定するメモリ制御部と、
を備えてなることを特徴とするストレージ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、ストレージ装置及びストレージ装置の内部制御に用いられるストレージ制御装置に関する。
【背景技術】
【０００２】
現在、情報インフラの発達により、企業等で取り扱うデータ量が日々増加し続けており、顧客データや発注データなど重要な情報を保存する手段として、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）／ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）方式のストレージ装置が急速に普及している。
【０００３】
ストレージ装置は、複数のハードディスクドライブ（ＨＤＤ）が搭載された大容量の記憶装置を備え、サーバー等のホストシステムからの要求に従って各ＨＤＤに対してデータの読み出しや書き込みを行うものである。
【０００４】
このようなストレージ装置（ＲＡＩＤ装置：Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）は、社会システムなどの情報基盤インフラの構築に欠かせないものである。そのため、ノンストップ運用を続けながら装置の設定を柔軟に変更できるような高信頼性（Ｈｉｇｈ  Ｒｅｌｉａｂｉｌｉｔｙ）及び高可用性（Ｈｉｇｈ  Ａｖａｉｌａｂｉｌｉｔｙ）を併せ持つストレージ装置を実現することが強く要求されている。
【０００５】
また、ストレージ装置では、データ転送を高速に行いシステム全体の性能を向上させるために、記憶装置内のＨＤＤと比較してアクセス速度が高速なキャッシュメモリを備えている。
【０００６】
このようなストレージ装置は、記憶装置から読み込んだデータをキャッシュメモリに一時保存するとともに、要求されるデータがキャッシュメモリに存在すればキャッシュメモリに対してアクセスすることで、記憶装置内のＨＤＤへのアクセス回数を減らし処理の高速化を図っている。
【０００７】
従って、キャッシュメモリの容量が大きいほど記憶装置内のＨＤＤへのアクセス回数を減らして処理を高速化することができる。しかしながら、キャッシュメモリに用いられる半導体メモリは、ＨＤＤよりビットコストが高い。
【０００８】
また、このキャッシュメモリは、例えばストレージ装置のオペレーティングシステムが使用する制御データや管理データなどを記憶するメモリとしても用いられる。従って、キャッシュメモリの容量のうち、実際にキャッシュとして用いることができる容量は制限される。
【０００９】
このようなキャッシュメモリにおいて、ストレージ装置のオペレーティングシステムやファームウェアが管理用に使用するシステム用のメモリ領域（システム域）、ストレージ装置の管理や制御等の内部処理を行うために必要な管理情報や制御情報を格納するメモリ領域（情報記憶域）、キャッシュとして使用するメモリ領域（キャッシュ域）とがストレージ装置の電源投入時に設定される。
【００１０】
具体的には、ストレージ装置の動作処理において、システム域、情報記憶域（以下、テーブル域と述べる）を必要量確保して、残りをキャッシュ域とするようにメモリ領域が設定される。また、テーブル域は、メモリプールと言われるファームウェアの各タスク（レイヤ）で管理する領域の集合体であり、ファームウェアの主要な情報を保持する。
【００１１】
そして、メモリプールの数と各メモリプールが取り得る最大サイズを計算して、これを元にして将来配置される物理メモリのアドレス及びサイズが定められていた。各メモリプールが必要になった時には、この予め定められた指定領域をキャッシュ域から獲得し、使用していた。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００６−１０７０５４号公報
【特許文献２】特開２００３−１９６１５２号公報
【特許文献３】特開平０８−２０２６１１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
近年、ユーザニーズに応えるために様々なオプション機能がストレージ装置に設けられている。このようなオプション機能に対応した内部処理等をファームウェアが行う為に、各メモリプールが取り得る最大サイズよりも大きなサイズのメモリプールの獲得要求が出される場合がある。
【００１４】
前述したように、各メモリプールの物理メモリの先頭アドレスと取り得る最大サイズで決まる指定領域は電源投入時に定められ、固定される。従って、要求のメモリプールが割り当てられる指定領域が固定されている為、実際にメモリプールを割り当てる際に、この指定領域の物理メモリのサイズが小さいと、メモリプールを獲得することができない場合がある。
【００１５】
また、指定領域にＨＤＤの異常などでＨＤＤへの書き込みができず、解放することが不可能なキャッシュデータ（ピンドデータ）があると、メモリプールを獲得することができない場合がある。
【００１６】
さらに、この指定領域にキャッシュデータが存在する場合、そのデータをＨＤＤに書き込んでメモリ領域を解放する必要があり、メモリプールを獲得するために時間を要した。
【００１７】
そして、このようなメモリプールの獲得要求の増加によって、キャッシュ域のメモリ容量がその分減少することになる。従って、このキャッシュ域の減少により、アクセス性能が低下する可能性がある。
【００１８】
開示の技術は、メモリユニットの限られたメモリ容量の中で、情報記憶域のメモリプールを短時間で効率的に配置することを可能にするストレージ装置及びストレージ制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１９】
開示の技術の一側面によると、ホストシステムから受信したデータをドライブユニットに格納するストレージ装置とそのストレージ制御装置において、ドライブユニットから読み出したデータ及びドライブユニットに書き込むデータを一時的に格納するキャッシュ域と、ストレージ装置の内部処理用の情報を格納するためのメモリプールが割り当てられる情報記憶域が区画されるメモリユニットと、メモリプールの前記メモリユニット上の位置情報を含む情報記憶域管理情報を登録する情報記憶域管理テーブルと、キャッシュ域の使用状況を含むキャッシュ域管理情報を登録するキャッシュ域管理テーブルと、ストレージ装置の稼働中にメモリプールを前記メモリユニットに配置する際に、キャッシュ域管理テーブルを参照してドライブユニットへの書込み待ち状態である書込み待ちデータの量が最も少ないキャッシュ域のメモリ領域を獲得し、獲得したメモリ領域にメモリプールを配置するとともに、配置されたメモリプールを情報記憶域管理テーブルに設定するメモリ制御部と、を備えてなる。
【発明の効果】
【００２０】
開示のストレージ装置及びストレージ制御装置は、メモリプールが必要になった段階で、キャッシュ域管理テーブルを参照して、獲得時間が最も短いメモリ領域を獲得することができる。ゆえに、メモリユニットの限られたメモリ容量の中で、情報記憶域のメモリプールを短時間で効率的に配置することが可能になる。
【図面の簡単な説明】
【００２１】
【図１】図１は、コンピュータシステムのブロック図である。
【図２】図２は、ディスクアレイ装置のファームウェアの構成を示す図である。
【図３】図３は、コントローラモジュールの機能ブロック図である。
【図４】図４は、テーブル域の配置を説明するための模式図である。
【図５】図５は、パワーオン時のメモリプール割当処理のシーケンスを示す図である。
【図６】図６は、パワーオン時のメモリプール割当処理を説明するための図である。
【図７】図７は、メモリプール配設処理のシーケンスを示す図である。
【図８】図８は、メモリプール配設処理を説明するための図である。
【図９】図９は、メモリプール減設処理のシーケンスを示す図である。
【図１０】図１０は、テーブル域管理テーブル及びキャッシュ域管理テーブルを示す図である。
【図１１】図１１は、獲得要求キャッシュ領域の決定処理フロー図である。
【図１２】図１２は、メモリプール配設減設の模式図である。
【発明を実施するための形態】
【００２２】
以下、図面を参照して実施の形態を詳細に説明する。図１は、コンピュータシステムのブロック図である。ストレージ装置の一例であるディスクアレイ装置（ＲＡＩＤ装置）は、ホストシステム（以下、単に「ホスト」とも称す。）２との接続制御を行うチャネルアダプタ（ＣＡ：Ｃｈａｎｎｅｌ  Ａｄａｐｔｅｒ）１０、装置全体の制御を行うコントローラモジュール（ＣＭ：Ｃｏｎｔｒｏｌｌｅｒ  Ｍｏｄｕｌｅ）３０を備える。
【００２３】
各コントローラモジュール３０は、ストレージ制御装置の一例であり、ＣＰＵ３１、ファームウェア３２、及びメモリユニットの一例である大容量メモリ３３を備える。ＣＰＵ３１は、オペレーティングシステム等に従って処理を実行し各種制御を行う。
【００２４】
また、ディスクアレイ装置１は、ドライブユニット７０、及びコントローラモジュール３０とドライブユニット７０との接続制御を行うデバイスアダプタ（ＤＡ：Ｄｅｖｉｃｅ  Ａｄａｐｔｅｒ）５０を備える。
【００２５】
デバイスアダプタ５０は、コントローラモジュール３０とハードディスクユニット７０との接続制御を行う。各デバイスアダプタ５０は、チャネルアダプタ１０と同様に、冗長構成を実現するために少なくとも２つの異なる経路を有している。ドライブユニット７０は、１つあるいは複数のハードディスクドライブ（ＨＤＤ）を備え、ホストから受信したデータを格納する。
【００２６】
なお、図１において、チャネルアダプタ１０、コントローラモジュール３０、デバイスアダプタ５０、ドライブユニット７０、及びホスト２は、それぞれ複数図示しているが、これらの数はそれぞれ任意である。
【００２７】
図２は、ディスクアレイ装置のファームウェア３２の構成を示す図である。ファームウェア３２は、基本機能をサービスするカーネル１１１、装置の保守作業を制御する保守制御レイヤ１１２、装置全体の状態を管理するシステム制御レイヤ１１３を備える。
【００２８】
また、ファームウェア３２は、Ｉ／Ｏ処理の制御を行うＩ／Ｏ制御レイヤ１１４、及びキャッシュ域１０３を管理するキャッシュ域管理レイヤ１１５、さらにテーブル域１０２を管理するテーブル域管理レイヤ１１６などを備える。ＣＰＵ３１は、ファームウェア３２のプログラムを実行することで、メモリ制御部として動作することができる。
【００２９】
大容量メモリ３３は、ハードディスクよりも高速にアクセス可能な半導体メモリ等で構成される。大容量メモリ３３のメモリ領域は、前述したように、システム域１０１、テーブル域１０２、キャッシュ域１０３の３種の領域に区画され、これを単位として管理される。
【００３０】
システム域１０１は、カーネルが管理するデータを格納する領域であり、カーネル１１１により管理される。キャッシュ域１０３は、キャッシュメモリとしてＩ／Ｏデータを一時保存する領域であり、キャッシュ域管理レイヤ１１５により管理される。
【００３１】
テーブル域１０２は、装置の管理／制御を行うために必要な管理情報や制御情報を格納する領域であり、テーブル域管理レイヤ１１６により管理される。テーブル域１０２の各メモリプールには、例えば保守制御レイヤ１１２、システム制御レイヤ１１３、及びＩ／Ｏ制御レイヤ１１４等がそれぞれ処理を実行するために一時的に利用する情報（例えば、装置を制御するための各種設定情報、作業用データなど）が格納される。
【００３２】
また、大容量メモリ３３におけるテーブル域１０２及びキャッシュ域１０３は、ディスクアレイ装置１の稼働中であっても、電源をオン／オフすることなく、それら領域（領域サイズ）を変更することが可能になっている。
【００３３】
テーブル域１０２内の使用していない領域を解放してキャッシュ域１０３として設定することが可能であり、逆にキャッシュ域１０３内の領域をテーブル域１０２として設定することが可能である。このメモリ領域の制御は、キャッシュ域管理レイヤ１１５及びテーブル域管理レイヤ１１６により実現される。
【００３４】
図３は、コントローラモジュールの機能ブロック図である。ディスクアレイ装置１は、複数のコントローラモジュール３０を備えており、これら複数のコントローラモジュール３０は互いに通信可能に構成されている。
【００３５】
また、複数のコントローラモジュール３０のうち、これらコントローラモジュール３０を管理する１つのコントローラモジュール３０を「マスターコントローラモジュール（マスターＣＭ）」と称し、マスターＣＭの管理を受けるその他のコントローラモジュール３０を「スレーブコントローラモジュール（スレーブＣＭ）」と称す。
【００３６】
なお、図３においては、説明の便宜上、マスターＣＭが備える（マスターＣＭにて動作する）機能とスレーブＣＭが備える（スレーブＣＭにて動作する）機能とをそれぞれ分けて図示しているが、マスターＣＭとスレーブＣＭとは交換可能となっており、コントローラモジュール３０はマスターＣＭであるかスレーブＣＭであるかにかかわらず、図３に示す機能を備えている。
【００３７】
図３において、要求元レイヤ２０１は、カーネル１１１、キャッシュ域管理レイヤ１１５、及びテーブル域管理レイヤ１１６を除く、ファームウェア３２においてテーブル域１０２を使用する任意のレイヤである。要求元レイヤ２０１は、パワーオン（Ｐｏｗｅｒ  ＯＮ）時メモリ割当要求送信部２０２とメモリプール配設減設要求送信部２０３とを有する。
【００３８】
パワーオン時メモリ割当要求送信部２０２は、パワーオン時に自らが必要なテーブル域１０２のメモリ容量を申請するメモリ割当申請をマスターＣＭ２０４のテーブル域管理レイヤ１１６に送信する。
【００３９】
また、メモリプール配設減設要求送信部２０３は、装置の稼働中にメモリプールの配置もしくは減設を要求するメモリ配設減設要求を、マスターＣＭ２０４のテーブル域管理レイヤ１１６に送信する。
【００４０】
テーブル域管理レイヤ１１６は、パワーオン（Ｐｏｗｅｒ  ＯＮ）時メモリ割当要求受信部２０６、パワーオン時メモリ割当処理部２０７、テーブル域管理テーブル管理部２０８、メモリ獲得状態応答部２０９、メモリプール配設減設要求受信部２１０、メモリプール配設減設要求送信部２１１、及び他ＣＭテーブル域管理レイヤ同期処理部２１２を有する。
【００４１】
パワーオン時メモリ割当要求受信部２０６は、要求元レイヤ２０１から送信されたメモリ割当申請を受信する。パワーオン時メモリ割当要求受信部２０６は、受信したメモリ割当申請に基づいて、メモリ割当要求をパワーオン時メモリ割当処理部２０７に出力するとともに、他ＣＭ同期要求を他ＣＭテーブル域管理レイヤ同期処理部２１２に出力する。ここで、他ＣＭ同期要求は、マスターＣＭ２０４とスレーブＣＭ２１９とのテーブル域１０２を同期させるためのものである。
【００４２】
パワーオン時メモリ割当処理部２０７は、入力されるメモリ割当要求に基づいてテーブル域１０２に係るメモリ割当を行い、メモリ割当の結果をテーブル域管理テーブル管理部２０８に出力する。テーブル域管理テーブル管理部２０８は、メモリ割当の結果を、テーブル域１０２に係るテーブル域管理テーブルに反映させる。
【００４３】
メモリ獲得状態応答部２０９は、パワーオン時メモリ割当要求送信部２０２からのメモリ獲得状態確認を受け、その応答としてメモリ獲得状態応答を返す。このとき、メモリ獲得状態応答部２０９は、メモリ獲得状態をテーブル域管理テーブル管理部２０８に問い合わせ、得られた結果を応答として返す。
【００４４】
メモリプール配設減設要求受信部２１０は、要求元レイヤ２０１から送信されたメモリプール配設減設要求を受信する。メモリプール配設減設要求受信部２１０は、受信したメモリプール配設減設要求に基づいて、メモリ割当要求をメモリプール配設減設要求送信部２１１に出力するとともに、他ＣＭ同期要求を他ＣＭテーブル域管理レイヤ同期処理部２１２に出力する。
【００４５】
メモリプール配設減設要求送信部２１１は、入力されるメモリ割当要求を基に、キャッシュ域管理レイヤ１１５にメモリ獲得解放要求を送信する。そして、メモリプール配設減設要求送信部２１１は、キャッシュ域管理レイヤ１１５に対してメモリ割当状態の確認を行い、メモリ割当の結果をテーブル域管理テーブル管理部２０８に出力するとともに、メモリプール配設減設要求受信部２１０を介してメモリ割当応答を要求元レイヤ２０１に出力する。
【００４６】
他ＣＭテーブル域管理レイヤ同期処理部２１２は、入力される他ＣＭ同期要求をスレーブＣＭ２１９の他ＣＭテーブル域管理レイヤ同期処理部２１２に送信する。
【００４７】
キャッシュ域管理レイヤ１１５は、テーブル域管理レイヤ要求受信部２１４、キャッシュ域管理テーブル管理部２１５、及びダーティ（Ｄｉｒｔｙ）データ書き出し要求送信部２１６を有する。
【００４８】
テーブル域管理レイヤ要求受信部２１４は、テーブル域管理レイヤ１１６内のメモリプール配設減設要求送信部２１１からのメモリ獲得解放要求を受信して、受信したメモリ獲得解放要求に基づいてメモリ割当を行い、メモリ割当の結果をキャッシュ域管理テーブル管理部２１５に出力する。
【００４９】
キャッシュ域管理テーブル管理部２１５は、メモリ割当の結果を、キャッシュ域１０３に係るキャッシュ域管理テーブルに反映させる。また、テーブル域管理レイヤ要求受信部２１４は、メモリ割当の結果に基づいてその領域に係るダーティデータ書き出し要求を、ダーティデータ書き出し要求送信部２１６を介してＩ／Ｏ制御レイヤ１１４に出力する。
【００５０】
Ｉ／Ｏ制御レイヤ１１４のダーティ（Ｄｉｒｔｙ）データ書き出し要求受信部２１８は、キャッシュ域管理レイヤ２１３からのダーティデータ書き出し要求を受信する。これにより、ダーティデータ書き出し要求により指定される領域に格納され、かつＨＤＤに未書き込みのダーティデータが優先的にハードディスクドライブへ書き出される。
【００５１】
スレーブＣＭ２１９の他ＣＭテーブル域管理レイヤ同期処理部２２０は、マスターＣＭ２０４からの他ＣＭ同期要求を受信し、受信した他ＣＭ同期要求に基づいてマスターＣＭ２０４と同様のメモリ割当を実行するように各機能部に指示する。
【００５２】
図４は、テーブル域の配置を説明するための模式図である。図４に示すように、大容量メモリ３３において、システム領域１０１に、システム域１０１を管理するためのシステム域管理テーブル１０１ｔ、テーブル域１０２を管理するためのテーブル域管理情報を登録するテーブル域管理テーブル１０２ｔ、キャッシュ域１０３を管理するためのキャッシュ域管理情報を登録するキャッシュ域管理テーブル１０３ｔが配置されている。
【００５３】
パワーオン時におけるメモリプールの割り当て処理について説明する。このパワーオン時、図４に示すように、テーブル域１０２の固定配置区画１０２ｘのメモリ領域１０２ａ〜１０２ｃに利用可能性が高い必要最小限のメモリプールＡ〜Ｃが順に割り当てられる。
【００５４】
また、メモリプールＤ〜Ｅを将来配置する為のメモリ領域として、テーブル域１０２の動的配置区画１０２ｙのメモリ領域１０２ｄ〜１０２ｅが割り当てられる。なお、この動的配置区画１０２ｙのメモリ領域１０２ｄ〜１０２ｅは、メモリプール配設要求に応じて、メモリプールＤ〜Ｅ以外のメモリプールも配置することができる。このように、使用頻度や使用形態に対応して２つの区画を利用することで、効率的な使用を行う事ができる。
【００５５】
本実施形態におけるディスクアレイ装置１は、パワーオン時にテーブル域１０２のメモリプール１０２ａ〜１０２ｅを割り当てるために、各レイヤからメモリ割当申請を行うためのインタフェースをテーブル域管理レイヤ１１６に設けている。
【００５６】
また、大容量メモリ３３におけるシステム域１０１の終了位置、つまりテーブル域１０２の開始位置（先頭アドレス）から、各レイヤからのメモリ割当申請に基づいてテーブル域１０２のメモリ領域を割り当てる機能が搭載されている。さらに、テーブル域１０２の固定配置区画１０２ｘのメモリ領域１０２ａ〜１０２ｃに順次メモリプールＡ〜Ｃとしてメモリ領域を割り当てる機能を搭載している。
【００５７】
（パワーオン時）
図５はパワーオン時のメモリプール割当処理のシーケンスを示す図であり、図６はパワーオン時のメモリプール割当処理を説明するための図である。本実施の形態では、使用可能性が高いメモリプールＡ〜Ｅに対して割り当てを行う。
【００５８】
ディスクアレイ装置１がパワーオンされると、テーブル域１０２としてメモリが必要な各要求元レイヤ２０１がテーブル域管理レイヤ１１６に対してメモリプール割当申請Ｓ１０１を行う。
【００５９】
具体的には、要求元レイヤ（１）がメモリプールＡ〜Ｃの割り当て申請を行い（処理Ｐ１０１）、メモリプールＡ〜Ｃに対応して固定配置区画１０２ｘのメモリ領域１０２ａ〜１０２ｃを順次割り当てる。要求元レイヤ（２）がメモリプールＤ、Ｅの割り当て申請を行い（処理Ｐ１０２）、メモリプールＤ、Ｅに対応して動的配置区画１０２ｙのメモリ領域１０２ｄ〜１０２ｅを割り当てる。
【００６０】
この動的配置区画１０２ｙのメモリ領域１０２ｄ〜１０２ｅは、メモリプールＤ、Ｅや他のメモリプールを任意の位置に配置できるように、動的配置区画１０２ｙのメモリ領域１０２ｄ〜１０２ｅに対応するメモリ領域の割り当てが行われる。なお、本実施の形態の動的配置区画１０２ｙは、２つのメモリ領域１０２ｄ〜１０２ｅを例として示しているが、動的配置区画は、装置の利用状況に応じて適宜数量やメモリ容量を設定可能である。
【００６１】
ここで、メモリプールＡ〜Ｅは、パワーオン時はメモリ領域の割り当てを決定するのみで、稼働中にメモリプール配設要求を受信した段階で、実際の配置が行われる。従って、このメモリプールＡ〜Ｅ用の割り当て領域は、メモリプール配設要求が来るまではキャッシュ域として利用可能である。
【００６２】
なお、メモリプールＡ〜Ｃの配置要求によりメモリプールＡ〜Ｃが固定配置区画１０２ｘに実際に配置されると、メモリプールＡ〜Ｃはそのメモリ領域に固定配置（常設）され、キャッシュ域のメモリ領域としては利用することができない。つまり、固定配置区画１０２ｘは、メモリプールが配置された後はメモリプールの減設は不可となる為、メモリ領域１０２ａ〜１０２ｃがキャッシュ域として解放されることはない。
【００６３】
これに対して、メモリプールＤ、Ｅが配置される動的配置区画１０２ｙは、メモリプールＤ、Ｅが配置された後に不要となれば、メモリプールの減設が可能である。従って、メモリ領域１０２ｄ〜１０２ｅは、メモリプールの減設により、キャッシュ域として解放され、再びキャッシュ域のメモリ領域として利用することができる。
【００６４】
また、搭載される大容量メモリ３３の容量に応じて各要求元レイヤ２０１が必要なメモリプールＡ〜Ｅのメモリ容量を記憶したテーブルを予め準備しておく。各要求元レイヤ２０１によるメモリ割当申請Ｓ１０１は、起動時にこのテーブルを参照し、要求するメモリ容量として装置の状態に応じた適切なサイズを取得して行う。
【００６５】
なお、起動時に装置の状態（大容量メモリ３３の容量等）を検出し、要求する適切なメモリ容量を自動計算により算出して行うようにしても良い。また、メモリプールＡ〜Ｅのメモリ容量を記憶したテーブルは、ユーザが予め登録してファームウェア３２の一部として含ませるようにしても良い。さらに、このテーブルをテーブル管理レイヤ１１６に設けてオフライン状態で要求サイズを予め書き込んでおくようにしても良い。
【００６６】
次に、テーブル域管理レイヤ１１６は、各要求元レイヤ２０１からのメモリプール割当申請に基づいて、他ＣＭ同期要求（他ＣＭに対する割当要求）Ｓ１０２を他ＣＭ２１９のテーブル管理レイヤに送信する（処理Ｐ１０３）。また、テーブル域管理レイヤ１１６は、各要求元レイヤ２０１からのメモリプール割当申請に基づきテーブル域の割り当てを行う（処理Ｐ１０４）。
【００６７】
このテーブル域の割り当ては、テーブル域管理レイヤ１１６からの他ＣＭ同期要求Ｓ１０２を基に他ＣＭ２１９でも同期して行われる（処理Ｐ１０５）。すなわち、このテーブル域のメモリプールＡ〜Ｅの割り当て（処理Ｐ１０４、Ｐ１０５）は、ディスクアレイ装置１のすべてのコントローラモジュールにて同期して行われる。
【００６８】
他ＣＭ２１９は、テーブル域管理レイヤ１１６からの他ＣＭ同期要求Ｓ１０２に基づくテーブル域のメモリプールＡ〜Ｅの割り当てが完了すると、その旨を示す割当完了応答をテーブル域管理レイヤ１１６に送信する（処理Ｐ１０６）。
【００６９】
各要求元レイヤ２０１からのメモリプールＡ〜Ｅの割当申請により要求されたテーブル域１０２のメモリプールＡ〜Ｅの割り当てが終了した時点で、パワーオン時のテーブル域のメモリプールの割り当て処理を終了する。
【００７０】
このようにして、テーブル域管理レイヤ１１６は、テーブル域１０２の開始位置（システム域１０１の終了位置）からメモリ領域をテーブル域１０２の固定配置区画１０２ｘのメモリ領域１０２ａ〜１０２ｃ及び動的配置区画１０２ｙのメモリ領域１０２ｄ〜１０２ｅとして割り当て、メモリ割り当ての終了位置がテーブル域１０２の終了位置であるとともにキャッシュ域１０３の先頭位置になる。
【００７１】
テーブル域管理レイヤ１１６によるメモリ割り当てが完了した後、各要求元レイヤ２０１は、テーブル域管理レイヤ１１６に申請したテーブル域１０２のメモリプールＡ〜Ｅの割り当て領域の確認（メモリ獲得状態確認）Ｓ１０３を行う（処理Ｐ１０７、Ｐ１０９）。
【００７２】
そして、テーブル域管理レイヤ１１６は、各要求元レイヤ２０１からの申請に従って正常にメモリプールＡ〜Ｅの割り当てが完了していれば、要求元レイヤに対して割り当てた領域（アドレス）の応答（メモリ獲得状態応答）Ｓ１０４を行う（処理Ｐ１０８、Ｐ１１０）。
【００７３】
以降、要求元レイヤ２０１は、応答Ｓ１０４により通知された固定配置区画１０２ｘのメモリ領域１０２ａ〜１０２ｃの各アドレスが、自らに割り当てられたメモリプールＡ〜Ｃであると認識して、メモリ領域１０２ａ〜１０２ｃをストレージ装置の管理／制御情報用領域として使用する。
【００７４】
また、要求元レイヤ２０１は、応答Ｓ１０４により通知された動的配置区画１０２ｙのメモリ領域１０２ｄ〜１０２ｅのアドレスが、メモリプールＤ、Ｅ等が配置可能な領域であると認識して、メモリ領域１０２ｄ〜１０２ｅをストレージ装置の管理／制御情報用領域として使用する。
【００７５】
（装置稼働中）
次に、装置稼働中におけるテーブル域１０２及びメモリプールの割り当て処理について説明する。ディスクアレイ装置１の稼働中に、所定の要求元レイヤ２０１からのメモリプール割当要求に基づいて、キャッシュ域１０３として利用されている動的配置区画１０２ｙのメモリ領域１０２ｄ〜１０２ｅのいずれかをメモリプールとして割り当てる。
【００７６】
また、本実施の形態の動的配置区画１０２ｙは２つのメモリ領域１０２ｄ〜１０２ｅしか確保していない為、メモリ容量が不足した場合にはメモリプールの増設を行うことができる。その為に、キャッシュ域管理レイヤ１１５からのメモリ獲得／解放完了に応じて、その該当メモリ領域をテーブル域１０２として管理対象又は管理対象外にすることができる。
【００７７】
そこで、キャッシュ域管理レイヤ１１５は、テーブル域管理レイヤ１１６からのメモリ獲得／解放要求に応じて該当メモリ領域をキャッシュ域１０３として管理対象又は管理対象外にする機能を搭載している。
【００７８】
さらに、キャッシュ域管理レイヤ１１５は、テーブル域１０２への割当予定領域に、ダーティデータがある場合には、Ｉ／Ｏ制御レイヤ１１４に優先的なＨＤＤへの書き出し制御を依頼する機能も搭載している。ダーティデータは、ＨＤＤへの書き込みタイミングを待っていて書き込みを行っていない状態の書込み待ちデータである。
【００７９】
まず、装置稼働中に活性で動的配置区画にメモリプールＥを割り当てるメモリプール配設処理について説明する。図７はメモリプール配設処理のシーケンスを示す図であり、図８はメモリプール配設処理を説明するための図である。
【００８０】
まず、ディスクアレイ装置１の稼働中に、メモリプールＥとしてメモリを使用したい要求元レイヤ２０１は、メモリプール配設依頼Ｓ２０１をテーブル域管理レイヤ１１６に要求する（処理Ｐ２０１）。これを受けて、テーブル域管理レイヤ１１６は、キャッシュ域管理レイヤ１１５及び他ＣＭ（スレーブＣＭ）２１９のテーブル域管理レイヤに対してキャッシュ状態獲得要求を送信する（処理Ｐ２０２、Ｐ２０３）。
【００８１】
キャッシュ状態獲得要求を受けたキャッシュ域管理レイヤ１１５及び他ＣＭ（スレーブＣＭ）２１９は、キャッシュ状態の確認を実施する（処理Ｐ２０４、Ｐ２０５）。キャッシュ域管理レイヤ１１５及び他ＣＭ（スレーブＣＭ）２１９は、キャッシュ状態獲得応答をテーブル域管理レイヤ１１６に送信する（処理Ｐ２０６、Ｐ２０７）。
【００８２】
テーブル域管理レイヤ１１６は、キャッシュ状態を集計し（処理Ｐ２０８）、動的配置区画１０２ｙのメモリ領域１０２ｄ〜１０２ｅから獲得要求キャッシュ領域を決定する（処理Ｐ２０９）。なお、動的配置区画１０２ｙのメモリ領域１０２ｄ〜１０２ｅが既に使用中であれば、他のキャシュ領域をキャッシュ状態の集計結果を利用して決定する。具体的な獲得要求キャッシュ領域の決定方法は後述する。
【００８３】
テーブル域管理レイヤ１１６は、メモリ獲得要求をキャッシュ域管理レイヤ１１５及び他ＣＭ（スレーブＣＭ）２１９のテーブル域管理レイヤに送信する（処理Ｐ２１０、Ｐ２１１）。
【００８４】
キャッシュ域管理レイヤ１１５及び他ＣＭ（スレーブＣＭ）２１９は、要求された容量のメモリ領域を獲得し、メモリプールＥに割り当てるメモリ割当を実施する（処理Ｐ２１２、Ｐ２１３）。キャッシュ域管理レイヤ１１５は、キャッシュ域１０３のうち要求されたメモリ容量分をキャッシュ域管理テーブル１０２ｔに管理対象外として設定する。
【００８５】
また、この処理に同期して、他ＣＭ（スレーブＣＭ）２１９は、テーブル域管理レイヤ１１６からの他ＣＭ同期要求Ｓ２０２に基づいて、自らのキャッシュ域１０３のうち要求されたメモリ容量分を自らのキャッシュ域管理テーブル１０２ｔに管理対象外として設定する。
【００８６】
そして、テーブル域管理レイヤ１１６に対して、キャッシュ域管理レイヤ１１５がメモリ獲得応答を送信し（処理Ｐ２１４）、他ＣＭ２１９が割当準備完了応答を送信する（処理Ｐ２１５）。
【００８７】
これにより、メモリプールＥの割当予定領域は、これ以降、キャッシュ域１０３としては使用されない。また、割当予定領域にダーティデータがある場合には、キャッシュ域管理レイヤ１１５が、Ｉ／Ｏ制御レイヤ１１４に優先的にＨＤＤへの書き出しを行うようダーティデータの書き出し要求Ｓ２０３を行う。これにより、割当予定領域にあるダーティデータが、ＨＤＤに書き出される（処理Ｐ２１６、Ｐ２１７）。
【００８８】
そして、テーブル域管理レイヤ１１６は、キャッシュ域管理レイヤ１１５及び他ＣＭ２１９に対してメモリの獲得状況の確認要求Ｓ２０４を行う（処理Ｐ２１８、Ｐ２１９）。キャッシュ域管理レイヤ１１５は、この確認要求に対して割当予定領域にダーティデータが残っている場合には、メモリ使用中応答Ｓ２０４を行う。これにより、キャッシュ域管理レイヤ１１５、他ＣＭ２１９は、ダーティデータのＨＤＤへの書き出しを行う（処理Ｐ２２０、Ｐ２２１）。
【００８９】
キャッシュ域管理レイヤ１１５、他ＣＭ２１９は、割当予定領域が全て空になっている、もしくはダーティデータのＨＤＤへの書き出しが完了していれば、テーブル域管理レイヤ１１６にメモリ獲得確認応答を送信する（処理Ｐ２２２、Ｐ２２３）。テーブル域管理レイヤ１１６は、メモリ獲得確認応答を受けると、他ＣＭ２１９へメモリプール割当要求を送信する（処理Ｐ２２４）。
【００９０】
テーブル域管理レイヤ１１６、他ＣＭ２１９のテーブル域管理レイヤは、割当予定領域をメモリプールＥとして使用するために管理対象として各テーブル域管理テーブル１０２ｔにメモリプール管理設定を行う（処理Ｐ２２５、Ｐ２２６）。他ＣＭ２１９のテーブル域管理レイヤは、メモリプール管理設定が完了すると、メモリプール管理設定完了応答をテーブル域管理レイヤ１１６に送信する（処理Ｐ２２７）。
【００９１】
テーブル域管理レイヤ１１６は、メモリプール管理設定が完了すると、要求元レイヤ２０１に対してメモリプール獲得確認応答Ｓ２０５を返す（処理Ｐ２２８）。これにより要求元レイヤ２０１は、要求したサイズのメモリを、装置の管理／制御情報を格納するためのメモリプールＥとして使用可能となる。
【００９２】
このように、配設要求されたメモリプールＥは、例えば、動的配置区画１０２ｙのメモリ領域１０２ｅではなく、メモリ領域１０２ｄに配置することができる。従って、テーブル域１０２内で、メモリプールＥの先頭を詰めることができ、効率的な配置を実現できる。また、メモリ領域１０２ｅは次の配設要求が来るまで、キャッシュ域として利用することができる。
【００９３】
また、テーブル域管理レイヤ１１６は、メモリプールＥを解放することで、動的配置区画１０２ｙのメモリ領域１０２ｄは未使用になる為、他のメモリプールの配設要求が来たら他のメモリプールを再配置することができる。
【００９４】
次に、装置稼働中に活性でメモリプールＥを解放してキャッシュ域１０３に割り当てるメモリプール減設処理について説明する。図９はメモリプール減設処理のシーケンスを示す図である。
【００９５】
まず、ディスクアレイ装置１の稼働中に、メモリプールＥとして獲得したメモリ領域を解放したい要求元レイヤ２０１は、テーブル域管理レイヤ１１６にメモリプールＥの減設依頼を要求する（処理Ｐ３０１）。その要求を受けて、テーブル域管理レイヤ１１６は、対象メモリプールＥの解放要求をキャッシュ域管理レイヤ１１５及び他ＣＭ（スレーブＣＭ）２１９のテーブル域管理レイヤに対して要求する（処理Ｐ３０２、Ｐ３０３）。
【００９６】
メモリプールＥの解放要求を受けたキャッシュ域管理レイヤ１１５は、解放要求されたメモリ領域をキャッシュ域１０３として使用するためにキャッシュ域管理テーブル１０３ｔに管理設定し、解放を実施する（処理Ｐ３０４）。また、この処理に同期して、他ＣＭ（スレーブＣＭ）２１９のキャッシュ域管理レイヤは解放要求されたメモリ領域を自らのキャッシュ域管理テーブル１０３ｔに管理設定し、解放を実施する（処理Ｐ３０５）。
【００９７】
キャッシュ域管理レイヤ１１５は、解放要求されたメモリ領域を管理対象に設定すると、テーブル域管理レイヤ１１６にメモリプールＥの解放確認を応答する（処理Ｐ３０６）。そして、テーブル域管理レイヤ１１６、他ＣＭ２１９のテーブル域管理レイヤは、該当メモリプールＥをテーブル域管理対象外としてテーブル域管理テーブル１０２ｔに設定する（処理Ｐ３０７、Ｐ３０８）。
【００９８】
他ＣＭ２１９のテーブル域管理レイヤは、テーブル域管理レイヤ１１６にメモリプールＥの解放完了応答を送信する（処理Ｐ３０９）。そして、テーブル域管理レイヤ１１６は、要求元レイヤ２０１に対してメモリプールＥの減設完了応答を返す（処理Ｐ３１０）。これにより、メモリプールＥの解放がなされたメモリ領域をキャッシュ域１０３として使用可能となる。
【００９９】
図１０（Ａ）はテーブル域管理テーブルの一例を示し、図１０（Ｂ）はキャッシュ域管理テーブルの一例を示す。図１０（Ａ）に示すように、テーブル域管理テーブル１０２ｔには、テーブル域管理情報として各メモリプールの割り当て情報が登録されている。例として、メモリプール名、メモリプールのＩＤ、配置情報、メモリユニット上の位置情報であるアドレス、及びサイズが登録されている。
【０１００】
配置情報には、固定配置区画に配置されるものに固定と登録され、動的配置区画に配置されるものに可変と登録される。具体的には、メモリプールＡ〜Ｃは配置情報に固定と設定されており、それぞれに対応する指定領域Ａａａａａ、Ｂｂｂｂｂ、Ｃｃｃｃｃに配置される。また、メモリプールＤ〜Ｆは配置情報に可変と設定されおり、任意の領域、例えば、図１０（Ａ）に示すように、Ｇｇｇｇｇ、Ｄｄｄｄｄ、Ｅｅｅｅｅにそれぞれ配置される。
【０１０１】
なお、キャッシュ域１０３内に分散してテーブル域１０２のメモリプールを設けることができる。その為、メモリプールＤは新たにキャッシュ域１０３から獲得されたアドレスＧｇｇｇｇに配置されている。
【０１０２】
図１０（Ｂ）に示すように、キャッシュ域管理テーブル１０３ｔには、ピンドデータの有無、ダーティデータの量、最新アクセス状況等の利用情報が登録されている。このキャッシュ域管理テーブル１０３ｔを利用して、テーブル域管理レイヤ１１６はキャッシュ状態を集計する。
【０１０３】
ピンドデータの有無の欄には、ピンドデータが有る場合は有、無い場合は無の情報が登録される。ダーティデータ量の欄には、バイト数が登録される。なお、キャッシュ域管理テーブル１０３ｔには、図示はしないが、ダーティデータの位置の情報も登録することができる。
【０１０４】
また、最新アクセス状況は、最も最近アクセスされた日時の履歴情報が登録される。従って、この最新アクセス状況を利用して、ダーティデータ量が少ないキャッシュ域のメモリ領域の中で、その領域が最も最近アクセスされたものであるか、二番目にアクセスされたものであるか、一番古いアクセス履歴を有するものであるか等を認識することができる。
【０１０５】
図１１は、獲得要求キャッシュ領域の決定処理フロー図である。テーブル域管理レイヤ１１６は、キャッシュ状態確認要求をキャッシュ域管理レイヤ１１５及び他ＣＭに送信し、キャッシュ域管理テーブル１０３ｔを確認させる。そして、キャッシュ域管理レイヤ１１５及び他ＣＭは、ピンドデータの有無、ダーティデータの量、アクセス状況等の情報を取得し、テーブル域管理レイヤ１１６に送信する。
【０１０６】
そして、テーブル域管理レイヤ１１６は、全ＣＭのキャッシュ状態の取得を完了する（工程Ｓ３０１）と、未獲得キャッシュ領域ループを開始する（工程Ｓ３０２）。テーブル域管理レイヤ１１６は、全ＣＭに共通に獲得した獲得メモリ領域にピンドデータ（Ｐｉｎｎｅｄ  Ｄａｔａ）がある場合（工程Ｓ３０３、Ｙｅｓ）、獲得不可の為、該当領域を獲得メモリ領域から除外する（工程Ｓ３０４）。従って、ピンドデータがあるキャッシュ域のメモリ領域を選定対象外とすることで、ピンドデータを保護してキャッシュメモリとしての機能を維持することができる。
【０１０７】
テーブル域管理レイヤ１１６は、獲得メモリ領域にピンドデータ（Ｐｉｎｎｅｄ  Ｄａｔａ）がなければ（工程Ｓ３０３、Ｎｏ）、獲得メモリ領域のダーティデータ（Ｄｉｒｔｙ  Ｄａｔａ）の量の大小比較を行う（工程Ｓ３０５）。
【０１０８】
テーブル域管理レイヤ１１６は、キャッシュ域管理テーブル１０３ｔを利用して、獲得メモリ領域の最新アクセス状況（使用状況）を確認し、直近のアクセスがあるか否かを確認する（工程Ｓ３０６）。そして、テーブル域管理レイヤ１１６は、未獲得キャッシュ領域ループを終了する（工程Ｓ３０７）。
【０１０９】
テーブル域管理レイヤ１１６は、ダーティデータの量が小さい領域を選別し（工程Ｓ３０８）、直近のアクセスがない獲得メモリ領域を選別する（工程Ｓ３０９）。テーブル域管理レイヤ１１６は、直近のアクセスがなくダーティデータの量が最も小さいメモリ領域を獲得対象のキャッシュ領域として決定する（工程Ｓ３１０）。
【０１１０】
つまり、最も最近アクセスされたものよりも前にアクセスされたキャッシュ域のメモリ領域の中で、ダーティデータ量が最も少ないキャッシュ域のメモリ領域を選定する。従って、最も最近アクセスされたキャッシュ域のメモリ領域を選定対象外とすることで、キャッシュメモリとしてのアクセス性能の低下を防止することができる。
【０１１１】
そして、テーブル域管理レイヤ１１６は、メモリ獲得処理を開始（工程３１１）し、全ＣＭに対してメモリ獲得要求を送信する。従って、ＨＤＤへの書き出し時間が獲得条件を満足するものの中で、最も短いキャッシュ領域を選定することができ、メモリプールの獲得時間を短縮することができる。
【０１１２】
また、この獲得要求キャッシュ領域の決定手法は、動的配置区画からメモリ領域を決定する際や、キャッシュ域１０３からメモリ領域を新規に獲得してメモリプールを増設する際に利用することができる。
【０１１３】
なお、獲得条件として、ピンドデータの有無、使用状況、ダーティデータ量を例として挙げたが、その他の条件をさらに含めることもできる。
【０１１４】
図１２（Ａ）、（Ｂ）は、メモリプール配設減設の模式図である。図１２（Ａ）において、固定配置区画１０２ｘのメモリ領域１０２ａ〜１０２ｃはメモリプールＡ〜Ｃ用に割り当てられている。動的配置区画１０２ｙのメモリ領域１０２ｄ〜１０２ｅは、動的メモリプール用に割り当てられている。
【０１１５】
メモリ領域１０２ａ、１０２ｃはキャッシュ域１０３から獲得されメモリプールＡ、Ｃが配置されている。メモリプールＢ用のメモリ領域１０２ｂはメモリプールＢが配置されておらず、未使用であるがキャッシュ域１０３から獲得されている。
【０１１６】
動的配置区画１０２ｙのメモリ領域１０２ｄ〜１０２ｅは、キャッシュ域１０３から獲得されメモリプールＥ、Ｆが配置されている。従って、使用メモリ容量Ａは５つのメモリ領域分の容量となる。
【０１１７】
図１２（Ｂ）において、固定配置区画１０２ｘのメモリ領域１０２ａ〜１０２ｃはメモリプールＡ〜Ｃ用に割り当てられている。動的配置区画１０２ｙのメモリ領域１０２ｄ〜１０２ｅは、動的メモリプール用に割り当てられている。メモリ領域１０２ａ、１０２ｃはキャッシュ域１０３から獲得されメモリプールＡ〜Ｃが配置されている。
【０１１８】
動的配置区画１０２ｙのメモリ領域１０２ｄは、キャッシュ域１０３から獲得されメモリプールＥが配置されている。テーブル域管理レイヤ１１６は、図１２（Ａ）で示したメモリプールＦを解放することで、動的配置区画１０２ｙのメモリ領域１０２ｅは未使用になる。従って、使用メモリ容量Ｂは４つのメモリ領域分の容量となり、メモリ領域１０２ｅは未使用の為、キャッシュ域１０３として有効利用される。
【０１１９】
その後、テーブル域管理レイヤ１１６は、他のメモリプールの配設要求が来たら他のメモリプールをメモリ領域１０２ｅに再配置することができる。
【０１２０】
以上のように、本実施形態によるディスクアレイ装置１によれば、必要最低限のメモリプールを配置するための情報記憶域（テーブル域）を割り当てておき、装置稼働中に、メモリプールの配設要求に応じて、この情報記憶域を効率的に割り当て、キャッシュ域１０３から短時間で効率的に獲得することができる。その為、不必要に大きな情報記憶域の割り当てや確保をする必要が無くなる。
【０１２１】
従って、メモリユニットの限られたメモリ容量の中で、キャッシュ域１０３をできるだけ大きく確保することができる。つまり、搭載される大容量メモリ３３を装置の状態に応じて最大限にキャッシュメモリとして使用できるようになり、装置の性能を向上させることができる。
【０１２２】
このメモリプール配設減設処理は、装置の状態に依存せず稼働中に実施可能であるので、社会システムとして構成されることが多いディスクアレイ装置において、ノンストップ運用が実現でき、高信頼性及び高可用性を保つとともに柔軟な装置運用が可能となる。
【０１２３】
本発明は上記実施の形態に限定されるものではない。矛盾のない限りにおいて、複数の実施の形態を組み合わせても構わない。上記実施形態は例示であり、本発明の特許請求の範囲に記載された技術的思想と実質的に同一な構成を有し、同様な作用効果を奏するものは、いかなるものであっても本発明の技術的範囲に包含される。
【符号の説明】
【０１２４】
１      ディスクアレイ装置
２      ホスト
１０    チャネルアダプタ
３０    コントローラモジュール
３１    ＣＰＵ
３２    ファームウェア
３３    大容量メモリ
５０    デバイスアダプタ
７０    ドライブユニット
１０１  システム域
１０２  テーブル域
１０２ｔ  テーブル域管理テーブル
１０２ｘ  固定配置区画
１０２ｙ  動的配置区画
１０３  キャッシュ域
１０３ｔ  キャッシュ域管理テーブル
１１４  Ｉ／Ｏ制御レイヤ
１１５  キャッシュ域管理レイヤ
１１６  テーブル域管理レイヤ
２０１  要求元レイヤ
２０４  マスターＣＭ
２１９  スレーブＣＭ
【図１】
2012203881.tif 000003
【図２】
2012203881.tif 000004
【図３】
2012203881.tif 000005
【図４】
2012203881.tif 000006
【図５】
2012203881.tif 000007
【図６】
2012203881.tif 000008
【図７】
2012203881.tif 000009
【図８】
2012203881.tif 000010
【図９】
2012203881.tif 000011
【図１０】
2012203881.tif 000012
【図１１】
2012203881.tif 000013
【図１２】
2012203881.tif 000014