(57)【要約】【課題】  ディスクアレイ装置の状態に応じて適切にメモリ領域を割り当て、搭載されるメモリを有効に活用できるようにする。【解決手段】  複数のハードディスクユニット７０を有するディスクアレイ装置１Ｂの装置全体を制御するコントローラモジュール３０Ｂに搭載される大容量メモリ３３Ｂに、ＯＳが管理するシステム域１０１とキャッシュメモリとしてのキャッシュ域１０３に加え、装置の管理・制御情報を格納し、かつ任意の時点で領域サイズを変更可能なテーブル域１０２を設け、電源のオン／オフを行うことなく装置の状態に応じてテーブル域を活性で変更し、テーブル域の使用しない領域は解放しキャッシュ領域として使用できるようにして、テーブル域及びキャッシュ域を運用中に活性で適宜増減させ、大容量メモリを有効に活用できるようにする。【選択図】  図４
2006107054.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとメモリとを搭載し、自装置の制御を行う制御手段と、
上記制御手段によりデータが読み書きされるとともに、データを記憶する複数のディスク装置とを備え、
上記メモリは、
オペレーティングシステムが管理するシステム領域と、
キャッシュメモリとして入出力データを一時保存するキャッシュ領域と、
自装置に係る管理・制御情報を格納し、かつ任意の時点で領域サイズを変更可能なテーブル領域と
を有することを特徴とするディスクアレイ装置。
【請求項２】
上記メモリのシステム領域を管理するシステム域管理手段と、
上記メモリのキャッシュ領域を管理するキャッシュ域管理手段と、
上記メモリのテーブル領域を管理するテーブル域管理手段とを備えることを特徴とする請求項１記載のディスクアレイ装置。
【請求項３】
上記制御手段は、自装置内部の制御を行う複数の内部制御手段を有し、
上記内部制御手段から上記テーブル域管理手段に対して、装置運用中に活性状態で上記テーブル領域の増減設要求を行うインタフェースを設けることを特徴とする請求項２記載のディスクアレイ装置。
【請求項４】
上記内部制御手段からの上記テーブル領域の増減設要求を基に、上記テーブル域管理手段から上記キャッシュ域管理手段に対して、メモリ獲得解放要求を行うインタフェースを設けることを特徴とする請求項３記載のディスクアレイ装置。
【請求項５】
上記テーブル域管理手段は、上記内部制御手段からの上記テーブル領域の増設要求を受信した場合に、当該増設要求により要求されるメモリ容量の獲得を上記キャッシュ域管理手段に要求し、
上記キャッシュ域管理手段は、上記テーブル域管理手段より要求されたメモリ容量分の上記キャッシュ領域を上記テーブル領域の割当予定領域として管理対象外に設定することを特徴とする請求項４記載のディスクアレイ装置。
【請求項６】
上記テーブル域管理手段は、上記内部制御手段からの上記テーブル領域の減設要求を受信した場合に、当該減設要求により要求されるメモリ領域の解放を上記キャッシュ域管理手段に要求し、
上記キャッシュ域管理手段は、上記テーブル域管理手段より解放要求されたメモリ領域を管理対象に設定することを特徴とする請求項４記載のディスクアレイ装置。
【請求項７】
上記制御手段は、自装置内部の制御を行う複数の内部制御手段を有し、
上記内部制御手段から上記テーブル域管理手段に対して、装置起動時に上記テーブル領域として要求するメモリ容量を申請するインタフェースを設けることを特徴とする請求項２〜６の何れか１項に記載のディスクアレイ装置。
【請求項８】
上記制御手段は、自装置内部の制御を行う複数の内部制御手段を有し、
上記内部制御手段からの上記テーブル領域の増減設要求に基づいて、装置運用中の活性状態で上記テーブル領域の領域サイズを変更することを特徴とする請求項２記載のディスクアレイ装置。
【請求項９】
上記テーブル域管理手段は、上記内部制御手段からの上記テーブル領域の増減設要求に応じて、上記キャッシュ域管理手段にメモリ領域の獲得解放を要求するメモリ獲得解放要求手段を有することを特徴とする請求項８記載のディスクアレイ装置。
【請求項１０】
上記制御手段は、自装置内部の制御を行う複数の内部制御手段を有し、
上記内部制御手段からの上記テーブル領域として要求するメモリ容量の申請内容に基づいて、装置起動時に上記テーブル領域を順次割り当てるとともに、上記内部制御手段から要求するメモリ容量は上記制御手段に搭載されるメモリの容量に応じて任意に設定可能であることを特徴とする請求項２、８、及び９の何れか１項に記載のディスクアレイ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイ装置に関し、特に、ディスクアレイ装置に搭載されるメモリの領域割り当て制御技術に関する。
【背景技術】
【０００２】
現在、情報インフラの発達により、企業等で取り扱うデータ量が日々増加し続けており、顧客データや発注データなど重要な情報を保存する手段として、ＳＡＮ（Storage Area Network）／ＮＡＳ（Network Attached Storage）方式のディスクアレイ装置が急速に普及している。ディスクアレイ装置は、複数のハードディスク（磁気ディスク装置）で構成される大容量の記憶装置を備え、サーバー等からの要求に従ってハードディスクに対してデータの読み出しや書き込みを行うものである。
【０００３】
このようなディスクアレイ装置は、社会システムなどの情報基盤インフラの構築に欠かせないものである。そのため、ノンストップ運用を続けながら装置の設定を柔軟に変更できるような高信頼性（High Reliability）及び高可用性（High Availability）を併せ持つディスクアレイ装置を実現することが強く要求されている。
【０００４】
また、一般に上述したディスクアレイ装置を含むコンピュータ・システムでは、データ転送を高速に行いシステム全体の性能を向上させるために、主となる記憶装置（例えば、上述したディスクアレイ装置であれば磁気ディスク装置）と比較してアクセス速度が高速なキャッシュメモリ（以下、単に「キャッシュ」とも称す。）と呼ばれるメモリを備えている。このようなコンピュータ・システムは、主となる記憶装置から読み込んだデータをキャッシュに一時保存するとともに、要求されるデータがキャッシュに存在すればキャッシュに対してアクセスすることで、主となる記憶装置へのアクセス回数を減らし処理の高速化を図っている。
【０００５】
ここで、キャッシュを備えるコンピュータ・システムは、一般的にキャッシュの容量が大きいほど主となる記憶装置へのアクセス回数を減らして処理を高速化することができる。しかしながら、キャッシュとして使用されるメモリは、主となる記憶装置よりビットコストが高く、また例えばＯＳ（オペレーティングシステム）等の他の機能に係る制御情報（データ）を記憶するメモリとしても用いられることが多く、キャッシュとして使用できる容量には制限がある。コンピュータ・システムの動作形態等に適合させ、キャッシュを用いて実現されるキャッシュ機能を最適化する技術が提案されている（例えば、特許文献１、２、３等参照。）。
【０００６】
【特許文献１】特開２０００−２２７８６６号公報
【特許文献２】特開平１１−２８８３８７号公報
【特許文献３】特開平７−７２９８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述したようにキャッシュを備えるコンピュータ・システムは、一般的にキャッシュの容量が大きいほど性能を向上させることが可能であり、ディスクアレイ装置についても同様である。従来、ディスクアレイ装置に搭載されるメモリにおいては、ＯＳやファームウェアが管理用に使用するシステム用のメモリ領域（システム域）とキャッシュとして使用するメモリ領域（キャッシュ域）とが電源投入時に設定され、装置運用時には固定され変更不可能であった。具体的には、装置の動作処理において必要な最大容量をシステム域として確保し、残りをキャッシュ域とするようにメモリ領域が電源投入時に設定されている。
【０００８】
しかしながら、従来のディスクアレイ装置において、システム域として確保する最大容量は、装置運用中のある処理動作で一時的に使用し恒常的には使用しない領域等も含んでいる。そのような領域は、実際の運用時にほとんど使用されることがなく、かつキャッシュとしても使用できないため、メモリが有効に活用されない（メモリの使用効率が低下する）。
本発明は、このような事情に鑑みてなされたものであり、ディスクアレイ装置の状態に応じて適切にメモリ領域を割り当て、ディスクアレイ装置に搭載されるメモリを有効に活用できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明のディスクアレイ装置は、自装置の制御を行う制御手段とデータを記憶する複数のディスク装置とを備え、制御手段に搭載されるメモリが、オペレーティングシステムが管理するシステム領域とキャッシュメモリとして入出力データを一時保存するキャッシュ領域に加え、さらに自装置に係る管理・制御情報を格納し、かつ任意の時点で領域サイズを変更可能なテーブル領域を有することを特徴とする。
上記構成によれば、従来、システム領域に格納されていた自装置に係る管理・制御情報を格納するためのテーブル領域を新たに設け、かつテーブル領域の領域サイズを任意の時点で変更可能とすることにより、電源のオン／オフを行うことなくテーブル領域を装置の状態に応じて随時設定することができ、テーブル領域の使用しない領域は解放しキャッシュ領域として使用することができるようになる。
【発明の効果】
【００１０】
本発明によれば、ディスクアレイ装置の制御手段に搭載されるメモリに、オペレーティングシステムが管理するシステム領域とキャッシュメモリとしてのキャッシュ領域と自装置に係る管理・制御情報を格納し任意の時点で領域サイズを変更可能なテーブル領域を設ける。これにより、装置の運用中であっても電源のオン／オフを行うことなく、装置の状態に応じてテーブル領域を活性状態で任意に変更することができ、テーブル領域の使用しない領域は解放しキャッシュ領域として使用することができる。したがって、キャッシュメモリとしてのキャッシュ領域及び管理・制御情報を格納するためのテーブル領域を、運用中に活性で適宜増減させることができ、ディスクアレイ装置の状態に応じて各領域を適切に割り当て、メモリを有効に活用することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施形態を図面に基づいて説明する。
まず、図１〜図３を参照し、ディスクアレイ装置における課題について説明する。
【００１２】
図１は、ディスクアレイ装置１Ａの構成例を示すブロック図である。
ディスクアレイ装置１Ａは、ホストコンピュータ（以下、単に「ホスト」とも称す。）２との接続制御を行うチャネルアダプタ（ＣＡ：Channel Adapter）１０、装置全体の制御を行うコントローラモジュール（ＣＭ：Controller Module）３０Ａ、１つあるいは複数のハードディスクから構成されデータを格納するためのハードディスクユニット７０、及びコントローラモジュール３０Ａとハードディスクユニット７０との接続制御を行うデバイスアダプタ（ＤＡ：Device Adapter）５０を有し構成される。
【００１３】
各コントローラモジュール３０Ａは、ＣＰＵ３１、ファームウェア３２Ａ、及び大容量メモリ３３Ａを有し構成される。
ＣＰＵ３１は、ＯＳ（オペレーティングシステム）等に従って処理を実行し各種制御を行う。ファームウェア３２Ａは、基本機能をサービスするカーネル３４、装置の保守作業を制御する保守制御レイヤ３５、装置全体の状態を管理するシステム制御レイヤ３６、入出力（Ｉ／Ｏ）処理の制御を行うＩ／Ｏ制御レイヤ３７、大容量メモリ３３Ａにおけるキャッシュ域４１のメモリを管理するキャッシュ域管理レイヤ３８などから構成される。
【００１４】
また、大容量メモリ３３Ａは、ハードディスクユニット７０より高速にアクセス可能な半導体メモリ等で構成される。大容量メモリ３３Ａは、ファームウェア３２Ａのカーネル３４が管理するデータや装置の管理・制御を行うために必要な管理・制御情報を格納する、ＯＳやファームウェア３２Ａの管理用に設けるシステム域４１と、キャッシュメモリとして入出力（Ｉ／Ｏ）データを一時保存する領域であるキャッシュ域４２に分かれる。
【００１５】
大容量メモリ３３Ａにおけるシステム域４１とキャッシュ域４２とのメモリ領域の割り当ては、ディスクアレイ装置１Ａのパワーオン時（電源投入時）に決定される。まず、最初にシステム域４１のサイズを決定する。このシステム域４１のサイズは、ＯＳやファームウェア３２Ａの管理用として必要な最大メモリ使用量に合わせて予め固定で決定しているので、その決められたサイズをシステム域として確保する。そして、大容量メモリ３３Ａのうち、システム域４１に割り当てたメモリ領域を除いた残りすべての部分が、キャッシュ域４２に割り当てられることになる。
【００１６】
なお、図１において、チャネルアダプタ１０、コントローラモジュール３０Ａ、デバイスアダプタ５０、ハードディスクユニット７０、及びホスト２は、それぞれ２つ図示しているが、これらの数はそれぞれ任意である。
【００１７】
上述のようにして割り当てられたキャッシュ域４２を用いたディスクアレイ装置１ＡでのＩ／Ｏ処理の基本的な動作原理を、図２及び図３を参照して説明する。
【００１８】
図２は、キャッシュヒット時のＩ／Ｏ処理動作を示す図である。
まず、ホスト２からディスクアレイ装置１Ａに対してリード（Ｒｅａｄ）要求又はライト（Ｗｒｉｔｅ）要求があると、ファームウェア３２Ａ内のＩ／Ｏ制御レイヤ３７がそれを受信し、当該要求に係るアクセス対象のデータがキャッシュ域４２に存在するか否かを確認する（処理Ｐ１１）。
【００１９】
アクセス対象のデータがキャッシュ域４２に存在する、つまりアクセス対象のデータがキャッシュ域４２に展開され保存されている場合（これを「キャッシュヒット」という。）には、そのキャッシュ域４２のデータをリード／ライトし、ホスト２に応答して処理完了となる（処理Ｐ１２）。なお、キャッシュ域４２上に書き込まれたデータのハードディスクユニット７０（ハードディスク）への書き出し（これを「ライトバック」という。）は、コントローラモジュール３０Ａ（ファームウェア３２Ａ内のＩ／Ｏ制御レイヤ３７）がホスト２に対する処理とは非同期で実行する（処理Ｐ１３）。
【００２０】
このようにホスト２からのリード／ライト要求において、キャッシュヒットした場合には、キャッシュ域４２にすでに一時保存されているデータのリード／ライトのみを実行する。したがって、キャッシュ域４２に対するリード／ライトのみを実施してホスト２に応答するため、Ｉ／Ｏ処理が高速に実行可能である。
【００２１】
図３は、キャッシュミス時のＩ／Ｏ処理動作を示す図である。
まず、ホスト２からディスクアレイ装置１Ａに対してリード／ライト要求があると、図２に示した処理動作と同様に、Ｉ／Ｏ制御レイヤ３７がそれを受信し、当該要求に係るアクセス対象のデータがキャッシュ域４２上に存在するか否かを確認する（処理Ｐ２１）。
【００２２】
図３に示す例では、アクセス対象のデータがキャッシュ域４２に存在しない（これを「キャッシュミス」という。）ので、次にアクセス対象のデータ領域をハードディスクユニット７０からキャッシュ域４２に転送する（処理Ｐ２２）。その後、キャッシュ域４２に転送され展開されたアクセス対象のデータをリード／ライトし、ホスト２に応答して処理完了となる（処理Ｐ２３）。
【００２３】
なお、図２に示したキャッシュヒット時と同様に、キャッシュ域４２上に書き込まれたデータのハードディスクへの書き出しは、コントローラモジュール３０Ａ（Ｉ／Ｏ制御レイヤ３７）がホスト２に対する処理とは非同期で実行する（処理Ｐ２４）。
【００２４】
このようにホスト２からのリード／ライト要求において、キャッシュミスした場合には、大容量メモリ（一般に半導体メモリが用いられる）３３Ａより速度が遅いハードディスクユニット７０からキャッシュ域４２にアクセス対象のデータを転送する処理が必要である。そのため、Ｉ／Ｏ処理動作には、キャッシュヒット時と比較して多くの時間が必要となる。
【００２５】
ここでディスクアレイ装置１Ａでは、大容量メモリ３３Ａ内のシステム域４１に装置の管理・制御情報も含めて格納しているが、このシステム域４１のサイズは、上述したように予め最大メモリ使用量に合わせて固定となっている。したがって、システム域４１は、装置運用中には変更不可能である。
【００２６】
しかしながら、装置の管理・制御情報の中には、一時的にしか使用しない情報や、ある機能を使用するときのみ使用する情報が存在することが考えられる。ディスクアレイ装置は、図２及び図３に示した処理動作から明らかなように、キャッシュ域（キャッシュメモリ）４２の領域が大きい方がキャッシュヒットの確率が上がり、引いては装置の性能を向上させることにつながる。このため、ディスクアレイ装置ではキャッシュメモリを有効に使用することが求められるが、搭載される大容量メモリ３３Ａにおいてシステム域４１として一度確保した領域は必ずキャッシュ域４２として使用することができないので、上述したようなメモリ管理方式では大容量メモリ３３Ａ（より詳しくはキャッシュ域４２のメモリ領域）が有効に活用できなくなるという課題がある。
【００２７】
また、装置の電源オフ／オンを伴う装置の設定変更を実施すれば、大容量メモリ３３Ａにおけるシステム域４１とキャッシュ域４２の使用割合を使用用途に合わせて変更することが可能である。しかしながら、装置の管理・制御情報を記憶するメモリ領域（使用量）、つまりシステム域４１として確保する領域を、大容量メモリ３３Ａの大きさや使用用途に応じてユーザ側で手動にてその都度計算し設定する必要がある。したがって、装置の状態に応じたメモリ領域の設定が煩雑かつ困難になるという課題がある。
【００２８】
さらに、社会システムに用いる装置として構成されていることが多いディスクアレイ装置ではノンストップ運用が要求されるため、電源オフ／オンして装置の設定を変更する作業を実際に行うことは困難であると考えられる。また、仮に電源オフ／オンを伴う装置の設定変更を行うことが可能であっても、装置の設定変更作業に伴うメンテナンスコストが増大してしまうこと、及び短時間であってもシステムが停止することになり装置の可用性を維持できないという課題がある。
【００２９】
そこで、以下に説明する本発明の実施形態によるディスクアレイ装置は、コントローラモジュールに搭載される大容量メモリにおける領域設定を任意の時点で変更できるようにし、高信頼性及び高可用性を有し、かつ大容量メモリを有効に活用できるようにするものである。
【００３０】
図４は、本発明の実施形態によるディスクアレイ装置１Ｂの構成例を示すブロック図である。この図４において、図１に示したブロック等と同一の機能を有するブロック等には同一の符号を付している。
【００３１】
ディスクアレイ装置１Ｂは、チャネルアダプタ（ＣＡ）１０、コントローラモジュール（ＣＭ）３０Ｂ、デバイスアダプタ（ＤＡ）５０、及びハードディスクユニット７０を有し構成される。なお、図４において、チャネルアダプタ１０、コントローラモジュール３０Ｂ、デバイスアダプタ５０、ハードディスクユニット７０、及びホスト２は、それぞれ２つ図示しているが、これらの数はそれぞれ任意である。
【００３２】
チャネルアダプタ１０は、ホスト２とコントローラモジュール３０Ｂとの接続制御（チャネル制御）を行う。チャネルアダプタ１０は、例えばホスト２からの要求を受け付けてコントローラモジュール３０Ｂに供給する。
各チャネルアダプタ１０は、複数のコントローラモジュール３０Ｂに接続可能になっている。すなわち、１つのチャネルアダプタ１０は、冗長構成が実現されるように、少なくとも２つの異なるコントローラモジュール３０Ｂにそれぞれ接続するための経路を有している。
【００３３】
コントローラモジュール３０Ｂは、装置全体の制御を行う。各コントローラモジュール３０Ｂは、ＯＳ等に従って処理を実行し各種制御を行うＣＰＵ３１、ハードウェア等を制御するためのファームウェア３２Ｂ、及び大容量メモリ３３Ｂを有する。
【００３４】
図５は、本実施形態によるディスクアレイ装置１Ｂのファームウェア３２Ｂの構成例を示す図である。ファームウェア３２Ｂは、基本機能をサービスするカーネル１１１、装置の保守作業を制御する保守制御レイヤ１１２、装置全体の状態を管理するシステム制御レイヤ１１３、Ｉ／Ｏ処理の制御を行うＩ／Ｏ制御レイヤ１１４、及びキャッシュ域１０３を管理するキャッシュ域管理レイヤ１１５に加え、さらに大容量メモリ３３Ｂに新たに設けるテーブル域１０２を管理するテーブル域管理レイヤ１１６などから構成される。
【００３５】
大容量メモリ３３Ｂは、ハードディスクよりも高速にアクセス可能な半導体メモリ等で構成される。大容量メモリ３３Ｂのメモリ領域は、システム域１０１及びキャッシュ域１０３に加えて、テーブル域１０２が新たに設けられ３種の領域に分かれ、これを単位として管理される。
【００３６】
システム域１０１は、カーネルが管理するデータを格納する領域であり、カーネル１１１により管理される。キャッシュ域１０３は、キャッシュメモリとしてＩ／Ｏデータを一時保存する領域であり、キャッシュ域管理レイヤ１１５により管理される。
【００３７】
テーブル域１０２は、装置の管理・制御を行うために必要な管理・制御情報を格納する領域であり、テーブル域管理レイヤ１１６により管理される。テーブル域１０２には、例えば保守制御レイヤ１１２、システム制御レイヤ１１３、及びＩ／Ｏ制御レイヤ１１４等がそれぞれ処理を制御・実行するために一時的に利用する情報（例えば、装置を制御するためのテーブルデータなど）が格納される。
【００３８】
このように本実施形態におけるディスクアレイ装置１Ｂでは、大容量メモリ３３Ｂに新たにテーブル域１０２を設け、図１に示したディスクアレイ装置１Ａではシステム域４１に格納していた管理・制御情報をテーブル域１０２に格納する。そして、システム域１０１はカーネルが管理するデータのみの管理に専念する。
【００３９】
また、大容量メモリ３３Ｂにおけるテーブル域１０２及びキャッシュ域１０３は、ディスクアレイ装置１Ｂの運用中（動作中）であっても、電源をオン／オフすることなく、それら領域（領域サイズ）を変更することが可能になっている。テーブル域１０２内の使用していない領域を解放してキャッシュ域１０３として設定することが可能であり、逆にキャッシュ域１０３内の領域をテーブル域１０２として設定することが可能である。このメモリ領域の制御は、キャッシュ域管理レイヤ１１５及びテーブル域管理レイヤ１１６により実現される。
【００４０】
デバイスアダプタ５０は、コントローラモジュール３０Ｂとハードディスクユニット７０との接続制御を行う。各デバイスアダプタ５０は、チャネルアダプタ１０と同様に、冗長構成を実現するために少なくとも２つの異なる経路を有している。
ハードディスクユニット７０は、データを記憶するものであり、１つあるいは複数のハードディスクから構成される。
【００４１】
図６は、コントローラモジュール３０Ｂの機能構成例を示すブロック図である。
上述したように本実施形態によるディスクアレイ装置１Ｂは、複数のコントローラモジュール３０Ｂを備えており、これら複数のコントローラモジュール３０Ｂは互いに通信可能に構成されている。また、複数のコントローラモジュール３０Ｂのうち、これらコントローラモジュール３０Ｂを管理する１つのコントローラモジュール３０Ｂを「マスターコントローラモジュール（マスターＣＭ）」と称し、マスターＣＭの管理を受けるその他のコントローラモジュール３０Ｂを「スレーブコントローラモジュール（スレーブＣＭ）」と称す。
【００４２】
なお、図６においては、説明の便宜上、マスターＣＭが備える（マスターＣＭにて動作する）機能とスレーブＣＭが備える（スレーブＣＭにて動作する）機能とをそれぞれ分けて図示しているが、マスターＣＭとスレーブＣＭとは交換可能となっており、コントローラモジュール３０ＢはマスターＣＭであるかスレーブＣＭであるかにかかわらず、図６に示す機能を備えている。
【００４３】
図６において、要求元レイヤ２０１は、カーネル１１１、キャッシュ域管理レイヤ１１５、及びテーブル域管理レイヤ１１６を除く、ファームウェア３２Ｂにおいてテーブル域１０２を使用する任意のレイヤである。要求元レイヤ２０１は、パワーオン時メモリ割当要求送信部２０２と活性メモリ増減設要求送信部２０３とを有する。
【００４４】
パワーオン時メモリ割当要求送信部２０２は、パワーオン時に自らが必要なテーブル域１０２のメモリ容量を申請するメモリ割当申請をマスターＣＭ２０４のテーブル域管理レイヤ１１６に送信する。
【００４５】
また、活性メモリ増減設要求送信部２０３は、装置の運用中にテーブル域１０２のメモリ容量の増加もしくは減少を要求するメモリ増減設要求を、マスターＣＭ２０４のテーブル域管理レイヤ１１６に送信する。
【００４６】
テーブル域管理レイヤ１１６は、パワーオン時メモリ割当要求受信部２０６、パワーオン時メモリ割当処理部２０７、テーブル域管理テーブル管理部２０８、メモリ獲得状態応答部２０９、活性メモリ増減設要求受信部２１０、活性メモリ増減設要求送信部２１１、及び他ＣＭテーブル域管理レイヤ同期処理部２１２を有する。
【００４７】
パワーオン時メモリ割当要求受信部２０６は、要求元レイヤ２０１から送信されたメモリ割当申請を受信する。パワーオン時メモリ割当要求受信部２０６は、受信したメモリ割当申請に基づいて、メモリ割当要求をパワーオン時メモリ割当処理部２０７に出力するとともに、他ＣＭ同期要求を他ＣＭテーブル域管理レイヤ同期処理部２１２に出力する。ここで、他ＣＭ同期要求は、マスターＣＭ２０４とスレーブＣＭ２１９とのテーブル域１０２を同期させるためのものである。
【００４８】
パワーオン時メモリ割当処理部２０７は、入力されるメモリ割当要求に基づいてテーブル域１０２に係るメモリ割当を行い、メモリ割当の結果をテーブル域管理テーブル管理部２０８に出力する。テーブル域管理テーブル管理部２０８は、メモリ割当の結果を、テーブル域１０２に係るテーブル域管理テーブルに反映させる。
【００４９】
メモリ獲得状態応答部２０９は、パワーオン時メモリ割当要求送信部２０２からのメモリ獲得状態確認を受け、その応答としてメモリ獲得状態応答を返す。このとき、メモリ獲得状態応答部２０９は、メモリ獲得状態をテーブル域管理テーブル管理部２０８に問い合わせ、得られた結果を応答として返す。
【００５０】
活性メモリ増減設要求受信部２１０は、要求元レイヤ２０１から送信されたメモリ増減設要求を受信する。活性メモリ増減設要求受信部２１０は、受信したメモリ増減設要求に基づいて、メモリ割当要求を活性メモリ増減設要求送信部２１１に出力するとともに、他ＣＭ同期要求を他ＣＭテーブル域管理レイヤ同期処理部２１２に出力する。
【００５１】
活性メモリ増減設要求送信部２１１は、入力されるメモリ割当要求を基に、キャッシュ域管理レイヤ１１５にメモリ獲得解放要求を送信する。そして、活性メモリ増減設要求送信部２１１は、キャッシュ域管理レイヤ１１５に対してメモリ割当状態の確認を行い、メモリ割当の結果をテーブル域管理テーブル管理部２０８に出力するとともに、活性メモリ増減設要求受信部２１０を介してメモリ割当応答を要求元レイヤ２０１に出力する。
【００５２】
他ＣＭテーブル域管理レイヤ同期処理部２１２は、入力される他ＣＭ同期要求をスレーブＣＭ２１９の他ＣＭテーブル域管理レイヤ同期処理部２１２に送信する。
【００５３】
キャッシュ域管理レイヤ１１５は、テーブル域管理レイヤ要求受信部２１４、キャッシュ域管理テーブル管理部２１５、及びダーティデータ書き出し要求送信部２１６を有する。
【００５４】
テーブル域管理レイヤ要求受信部２１４は、テーブル域管理レイヤ１１６内の活性メモリ増減設要求送信部２１１からのメモリ獲得解放要求を受信して、受信したメモリ獲得解放要求に基づいてメモリ割当を行い、メモリ割当の結果をキャッシュ域管理テーブル管理部２１５に出力する。キャッシュ域管理テーブル管理部２１５は、メモリ割当の結果を、キャッシュ域１０３に係るキャッシュ域管理テーブルに反映させる。また、テーブル域管理レイヤ要求受信部２１４は、メモリ割当の結果に基づいてその領域に係るダーティデータ書き出し要求を、ダーティデータ書き出し要求送信部２１６を介してＩ／Ｏ制御レイヤ１１４に出力する。
【００５５】
Ｉ／Ｏ制御レイヤ１１４のダーティデータ書き出し要求受信部２１８は、キャッシュ域管理レイヤ２１３からのダーティデータ書き出し要求を受信する。これにより、ダーティデータ書き出し要求により指定される領域に格納され、かつハードディスクに未書き込みのダーティデータが優先的にハードディスクへ書き出される。
【００５６】
スレーブＣＭ２１９の他ＣＭテーブル域管理レイヤ同期処理部２２０は、マスターＣＭ２０４からの他ＣＭ同期要求を受信し、受信した他ＣＭ同期要求に基づいてマスターＣＭ２０４と同様のメモリ割当を実行するように各機能部に指示する。
【００５７】
次に、本実施形態によるディスクアレイ装置１Ｂでのテーブル域１０２の割り当て動作について説明する。本実施形態におけるテーブル域管理レイヤ１１６は、大容量メモリ３０Ｂ内に装置の管理・制御情報を格納するテーブル域１０２を割り当てる方法として２つの方法を設けている。
【００５８】
第１の方法は、ディスクアレイ装置１Ｂのパワーオン時に各レイヤからのメモリ割当申請に基づいてテーブル域１０２を割り当てる方法である。第２の方法は、ディスクアレイ装置１Ｂの運用中における各レイヤからのメモリ増減設要求に基づいて活性でキャッシュ域１０３の一部をテーブル域１０２として割り当てる方法である。
【００５９】
（第１の方法：パワーオン時）
第１の方法によるテーブル域１０２の割り当て処理について説明する。
本実施形態におけるディスクアレイ装置１Ｂは、パワーオン時にテーブル域１０２を割り当てるために、各レイヤからメモリ割当申請を行うためのインタフェースをテーブル域管理レイヤ１１６に設けている。また、大容量メモリ３０Ｂにおけるシステム域１０１の終了位置、つまりテーブル域１０２の開始位置から、各レイヤからのメモリ割当申請に基づいて順次テーブル域１０２としてメモリ領域を割り当てる機能を搭載している。
【００６０】
図７はパワーオン時のメモリ割当処理の流れを示すシーケンス図であり、図８はパワーオン時のメモリ割当処理に係る情報の流れを示す図である。
まず、ディスクアレイ装置１Ｂがパワーオンされると、テーブル域１０２としてメモリが必要な各要求元レイヤ２０１がテーブル域管理レイヤ１１６に対してメモリ割当申請Ｓ１０１を行う（処理Ｐ１０１、Ｐ１０２）。各要求元レイヤ２０１によるメモリ割当申請Ｓ１０１は、搭載される大容量メモリ３３Ｂの容量に応じて要求元レイヤ２０１が必要なメモリ容量を記憶したテーブルを予め準備しておき、起動時にこのテーブルを参照し、要求するメモリ容量として装置の状態に応じた適切なサイズを取得して行う。なお、起動時に装置の状態（大容量メモリ３３Ｂの容量等）を検出し、要求する適切なメモリ容量を自動計算により算出して行うようにしても良い。また、要求元レイヤ２０１が必要なメモリ容量を記憶したテーブルは、ユーザが予め登録してファームウェア３２Ｂの一部として含ませるようにしても良いし、このテーブルをテーブル管理レイヤ１１６に設けてオフライン状態で要求サイズを予め書き込んでおくようにしても良い。
【００６１】
次に、テーブル域管理レイヤ１１６は、各要求元レイヤ２０１からのメモリ割当申請に基づいて、他ＣＭ同期要求（他ＣＭに対する割当要求）Ｓ１０２を他ＣＭ（より詳細にはスレーブＣＭ２１９のテーブル管理レイヤ１１６）に送信する（処理Ｐ１０３）。また、テーブル域管理レイヤ１１６は、各要求元レイヤ２０１からのメモリ割当申請に基づき順次テーブル域割り当てを行う（処理Ｐ１０４）。
【００６２】
このテーブル域割り当ては、テーブル域管理レイヤ１１６からの他ＣＭ同期要求Ｓ１０２を基に他ＣＭ２１９でも同期して行われる（処理Ｐ１０５）。すなわち、このテーブル域割り当て（処理Ｐ１０４、Ｐ１０５）は、ディスクアレイ装置１Ｂのすべてのコントローラモジュールにて同期して行われる。
他ＣＭ２１９は、テーブル域管理レイヤ１１６からの他ＣＭ同期要求Ｓ１０２に基づくテーブル域割り当てが完了すると、その旨を示す割当完了応答をテーブル域管理レイヤ１１６に送信する（処理Ｐ１０６）。
【００６３】
各要求元レイヤ２０１からのメモリ割当申請により要求されたテーブル域１０２の割り当てが終了した時点で、パワーオン時のテーブル域割り当て処理を終了する。このようにして、テーブル域管理レイヤ１１６は、テーブル域１０２の開始位置（システム域１０１の終了位置）からメモリ領域をテーブル域１０２として順次割り当て、メモリ割り当ての終了位置がテーブル域１０２の終了位置であるとともにキャッシュ域１０３の先頭位置になる。
【００６４】
テーブル域管理レイヤ１１６によるメモリ割り当てが完了した後、各要求元レイヤ２０１は、テーブル域管理レイヤ１１６に申請したテーブル域１０２の割り当て領域の確認（メモリ獲得状態確認）Ｓ１０３を行う（処理Ｐ１０７、Ｐ１０９）。そして、テーブル域管理レイヤ１１６は、各要求元レイヤ２０１からの申請に従って正常にメモリ割り当てが完了していれば、要求元レイヤに対して割り当てた領域アドレスの応答（メモリ獲得状態応答）Ｓ１０４を行う（処理Ｐ１０８、Ｐ１０９）。
【００６５】
以降、要求元レイヤ２０１は、応答Ｓ１０４により通知された領域アドレスが、自らに割り当てられたテーブル域１０２であると認識して、装置管理・制御情報用領域として使用する。
【００６６】
図９はパワーオン時のメモリ割当の一例を示す図である。
図９（ａ）は、２ＧＢの記憶容量を有する大容量メモリ３３Ｂを搭載した場合を示し、図９（ｂ）は、４ＧＢの記憶容量を有する大容量メモリ３３Ｂを搭載した場合を示している。なお、図９（ａ）、（ｂ）において、システム域１０１のサイズは６４ＭＢ固定とする。
【００６７】
図９（ａ）に示すように、２ＧＢの大容量メモリ３３Ｂを搭載している場合には、保守制御レイヤ１１２とシステム制御レイヤ１１３が６４ＭＢ分のメモリ容量を申請し、Ｉ／Ｏ制御レイヤ１１４が１２８ＭＢ分のメモリ容量を申請する。各要求元レイヤ２０１からメモリ割当申請により申請されたテーブル域１０２の合計サイズは２５６ＭＢとなる。
【００６８】
ディスクアレイ装置１Ｂがパワーオンされると、最初にシステム域１０１が大容量メモリ３３Ｂの先頭領域から６４ＭＢ分確保される。
次に、テーブル域管理レイヤ１１６は、各要求元レイヤ２０１から申請されたメモリ容量をテーブル域１０２として順次割り当てる。このときテーブル域１０２として２５６ＭＢ分の記憶容量が割り当てられる。したがって、キャッシュ域１０３は、システム域１０１とテーブル域１０２で割り当てた残りの１７２８ＭＢ分の領域となる。
【００６９】
一方、図９（ｂ）に示すように４ＧＢの大容量メモリ３３Ｂを搭載している場合には、保守制御レイヤ１１２とシステム制御レイヤ１１３が２ＧＢ搭載時と同じ６４ＭＢ分の容量を申請するが、Ｉ／Ｏ制御レイヤ１１４は大容量メモリ３３Ｂが図９（ａ）に示したものの２倍である４ＧＢになったことを検知して、装置管理・制御情報用メモリの必要量を計算して申請を行う。この例では、Ｉ／Ｏ制御レイヤ１１４は２ＧＢ搭載時の２倍の容量である２５６ＭＢ分のメモリ容量を申請する。
【００７０】
ディスクアレイ装置１Ｂがパワーオンされると、最初にシステム域１０１が大容量メモリ３３Ｂの先頭領域から６４ＭＢ分確保される。
次に、テーブル域管理レイヤ１１６は、各要求元レイヤ２０１から申請されたメモリ容量をテーブル域１０２として順次割り当て、この例ではテーブル域１０２として３８４ＭＢ分が割り当てられる。したがって、キャッシュ域１０３は、システム域１０１とテーブル域１０２で割り当てた残りの３６４８ＭＢ分となる。
【００７１】
このように本実施形態によるディスクアレイ装置１Ｂは、パワーオン時には各要求元レイヤ２０１からのメモリ割当申請に基づいて、テーブル域管理レイヤ１１６がテーブル域１０２に係るメモリ割り当てを実施する。これにより、各要求元レイヤ２０１から申請されないメモリ容量を装置の管理・制御情報用領域として確保することがなく、必要十分なテーブル域１０２を確保することができる。したがって、ディスクアレイ装置１Ｂの状態に応じた適切なメモリ割り当てを実施し、そのときのシステム設定に応じた最適なメモリ割り当てを行い、ディスクアレイ装置１Ｂの運用を開始することができる。
【００７２】
また、このメモリ割り当ては、パワーオン時にディスクアレイ装置１Ｂ内の各要求元レイヤ２０１が、搭載されている大容量メモリ３３Ｂのサイズに応じて、必要なメモリ容量を自動的に判断してメモリ割当申請を行うため、ユーザにてメモリ使用量を計算するような作業を行う必要がなくなりユーザに負荷を与えることなく最適な状態を実現することができる。
【００７３】
（第２の方法：装置運用中）
次に、第２の方法によるテーブル域１０２の割り当て処理について説明する。
第２の方法は、上述したようにディスクアレイ装置１Ｂの運用中に、各要求元レイヤ２０１からのメモリ割当要求に基づいてキャッシュ域１０３の一部をテーブル域１０２として割り当てる方法である。
【００７４】
本実施形態におけるディスクアレイ装置１Ｂは、活性で（装置運用中に電源オン／オフすることなく）テーブル域１０２の増減設を実施するために、テーブル域管理レイヤ１１６に以下に示す３つのインタフェースを設けている。
（１）要求元レイヤ２０１からのテーブル域管理レイヤ１１６に対する活性メモリ増減設要求を受け付けるためのインタフェース。
（２）テーブル域管理レイヤ１１６で活性メモリ増減設要求を受け取った場合にキャッシュ域管理レイヤ１１５に対してメモリ獲得・解放要求を行うためのインタフェース。
（３）メモリ獲得・解放をすべてのコントローラモジュールに対して同期して要求するためのインタフェース。
また、キャッシュ域管理レイヤ１１５からのメモリ獲得・解放完了に応じて、その該当メモリ領域をテーブル域１０２として管理対象又は管理対象外にする機能を搭載している。
【００７５】
一方、キャッシュ域管理レイヤ１１５は、テーブル域管理レイヤ１１６からのメモリ獲得・解放要求を受け付けるためのインタフェースを設けている。また、この要求に応じて該当メモリ領域をキャッシュ域１０３として管理対象又は管理対象外にする機能を搭載している。さらに、テーブル域１０２への割当予定領域に、ハードディスクへの書き込みを行っていないデータ（ダーティデータ）がある場合には、Ｉ／Ｏ制御レイヤ１１４に対して優先的なハードディスクへの書き出し制御を依頼する機能も搭載している。
【００７６】
上述したようなインタフェース及び機能を用いて装置運用中に活性でメモリ（テーブル域１０２及びキャッシュ域１０３）を増減設する動作を以下に示す。
まず、装置運用中に活性でキャッシュ域１０３の一部をテーブル域１０２に割り当てる活性メモリ増設処理について説明する。
【００７７】
図１０は活性メモリ増設処理の流れを示すシーケンス図であり、図１１は活性メモリ増設処理に係る情報の流れを示す図である。
まず、ディスクアレイ装置１Ｂの運用中に、テーブル域１０２として新規にメモリを使用したい要求元レイヤ２０１は、メモリ増設依頼Ｓ２０１をテーブル域管理レイヤ１１６に要求する（処理Ｐ２０１）。これを受けて、テーブル域管理レイヤ１１６は、キャッシュ域管理レイヤ１１５及び他ＣＭ（スレーブＣＭ）２１９に対して必要なメモリの獲得を要求する（処理Ｐ２０２、Ｐ２０３）。
【００７８】
メモリの獲得要求を受けたキャッシュ域管理レイヤ１１５は、要求された容量のメモリ領域を割り当てるために、キャッシュ域１０３のうち要求されたメモリ容量分をテーブル域１０２に割り当てるメモリとして管理対象外に設定する（処理Ｐ２０４）。また、この処理に同期して、他ＣＭ（スレーブＣＭ）２１９は、テーブル域管理レイヤ１１６からの他ＣＭ同期要求Ｓ２０２に基づいて、自らのキャッシュ域１０３のうち要求されたメモリ容量分をテーブル域１０２に割り当てるメモリとして管理対象外に設定する（処理Ｐ２０５）。
【００７９】
そして、テーブル域１０２に割り当てる領域を管理対象外に設定すると、テーブル域管理レイヤ１１６に対して、キャッシュ域管理レイヤ１１５がメモリ獲得応答を送信し、他ＣＭ２１９が割当準備完了応答を送信する（処理Ｐ２０６、Ｐ２０７）。
【００８０】
これにより、テーブル域１０２に割り当てる領域として管理対象外に設定されたメモリ領域は、これ以降、キャッシュ域１０３としては使用されない。また、割当予定領域にダーティデータがある場合には、キャッシュ域管理レイヤ１１５が、Ｉ／Ｏ制御レイヤ１１４に優先的にハードディスクへの書き出しを行うようダーティデータの書き出し要求Ｓ２０３を行う。これにより、割当予定領域にあるダーティデータが、ハードディスクに書き出される（処理Ｐ２０８、Ｐ２０９）。
【００８１】
そして、テーブル域管理レイヤ１１６は、キャッシュ域管理レイヤ１１５及び他ＣＭ２１９に対してメモリの獲得状況の確認要求Ｓ２０４を行う（処理Ｐ２１０、Ｐ２１１）。キャッシュ域管理レイヤ１１５、他ＣＭ２１９は、この確認要求に対して割当予定領域にダーティデータが残っている場合には、メモリ使用中応答Ｓ２０４を行う。一方、割当予定領域が全て空になっている、すなわちダーティデータのハードディスクへの書き出しが完了しているならば、テーブル域管理レイヤ１１６にメモリ獲得完了を応答する（処理Ｐ２１４、Ｐ２１５）。
【００８２】
テーブル域管理レイヤ１１６は、メモリ獲得が完了した応答を受けると、割当予定領域をテーブル域１０２として使用するためにテーブル域管理レイヤ１１６の管理対象とする（処理Ｐ２１７）。なお、この処理も他ＣＭにおいて同期して行われている（処理Ｐ２１６、Ｐ２１８、Ｐ２１９）。
【００８３】
テーブル域管理レイヤ１１６は、割当予定領域のテーブル域１０２としての管理設定が完了すると、要求元レイヤ２０１に対してメモリ増設完了応答Ｓ２０５を返す（処理Ｐ２２０）。これにより要求元レイヤ２０１は、要求したサイズのメモリを、装置の管理・制御情報を格納するためのテーブル域１０２として使用可能となる。
【００８４】
図１２は、活性メモリ増設の一例を示す図である。図１２において、大容量メモリ３３Ｂの搭載容量は２ＧＢ、システム域１０１のサイズは６４ＭＢとし、活性メモリ増設前のテーブル域１０２のサイズは２５６ＭＢ、キャッシュ域１０３のサイズは１７２８ＭＢとする。
【００８５】
図１２（ａ）に示すように、テーブル域管理レイヤ１１６は、装置の運用中に例えばシステム制御レイヤ１１３から２５６ＭＢ分のメモリ増設要求を受けると（Ｓ３０１）、キャッシュ域管理レイヤ１１５にメモリ獲得要求を行う（Ｓ３０２）。キャッシュ域管理レイヤ１１５は、メモリ獲得要求を受けると、キャッシュ域１０３のうち２５６ＭＢ分をテーブル域用として割り当てる（Ｓ３０３）。また、キャッシュ域管理レイヤ１１５は、対象メモリ領域（割当予定領域）のダーティデータ書き出し要求をＩ／Ｏ制御レイヤ１１４に行い（Ｓ３０４）、Ｉ／Ｏ制御レイヤ１１４は、ダーティデータを優先的にハードディスクに書き出す処理を実施する（Ｓ３０５）。
【００８６】
その結果、キャッシュ域管理レイヤ１１５からメモリ獲得完了応答がテーブル域管理レイヤ１１６に送信され（Ｓ３０６）、テーブル域１０２として使用するための管理対象設定が完了した後、システム制御レイヤ１１３に活性メモリ増設完了応答が送信される（Ｓ３０７）。
これにより、システム制御レイヤ１１３は装置管理・制御情報用メモリとして新たに２５６ＭＢ分のメモリを使用可能になる（図１２（ｂ）参照）。図１２（ｂ）は、活性メモリ増設完了後の状態を示しており、テーブル域１０２が５１２ＭＢに、キャッシュ域１０３が１４７２ＭＢに変更されている。
【００８７】
次に、装置運用中に活性でテーブル域１０２の一部を解放してキャッシュ域１０３に割り当てる活性メモリ減設処理について説明する。
図１３は活性メモリ減設処理の流れを示すシーケンス図である。
【００８８】
まず、ディスクアレイ装置１Ｂの運用中に、テーブル域１０２として確保したメモリ領域を解放したい要求元レイヤ２０１は、テーブル域管理レイヤ１１６に活性メモリ減設依頼を要求する（処理Ｐ３０１）。その要求を受けて、テーブル域管理レイヤ１１６は、対象メモリの解放要求をキャッシュ域管理レイヤ１１５及び他ＣＭ（スレーブＣＭ）２１９に対して要求する（処理Ｐ３０２、Ｐ３０３）。
【００８９】
メモリの解放要求を受けたキャッシュ域管理レイヤ１１５は、解放要求されたメモリ領域をキャッシュ域１０３として使用するためにキャッシュ域管理レイヤ１１５の管理対象とする（処理Ｐ３０４）。また、この処理に同期して、他ＣＭ（スレーブＣＭ）２１９は、解放要求されたメモリ領域を自らのキャッシュ域管理レイヤ１１５の管理対象とする（処理Ｐ３０５）。
【００９０】
解放要求されたメモリ領域を管理対象に設定すると、キャッシュ域管理レイヤ１１５は、テーブル域管理レイヤ１１６にメモリ解放確認を応答する（処理Ｐ３０６）。テーブル域管理レイヤ１１６は、メモリ解放確認の応答を受けると、該当メモリをテーブル域管理レイヤ１１６の管理対象外に設定する（処理Ｐ３０７）。そして、テーブル域管理レイヤ１１６は、準備が完了すると要求元レイヤ２０１に対してメモリ減設完了応答を返す（処理Ｐ３１０）。これにより、テーブル域１０２からの解放が要求されたメモリ領域をキャッシュ域１０３として使用可能となる。
【００９１】
図１４は、活性メモリ減設の一例を示す図である。図１４において、大容量メモリ３３Ｂの搭載容量とメモリ割り当て状態は、図１２（ｂ）に示した活性メモリ増設処理が完了したときと同じとする。
図１４（ａ）に示すように、テーブル域管理レイヤ１１６は、装置の運用中に例えばシステム制御レイヤ１１３から２５６ＭＢ分のメモリ減設要求を受けると（Ｓ４０１）、キャッシュ域管理レイヤ１１５にメモリ解放要求を行う（Ｓ４０２）。キャッシュ域管理レイヤ１１６は、メモリ解放要求を受けると、要求された２５６ＭＢ分の対象メモリ領域をキャッシュ域１０２として使用するために管理対象設定を行う（Ｓ４０３）。
【００９２】
この設定が完了した後、キャッシュ域管理レイヤ１１５は、メモリ解放完了応答をテーブル域管理レイヤ１１６に送信する（Ｓ４０４）。さらに、その後テーブル域管理レイヤ１１６が、該当メモリ領域をテーブル域管理レイヤ１１６の管理対象外とする設定を行った後、システム制御レイヤ１１３に活性メモリ減設完了応答を送信する（Ｓ４０５）。
【００９３】
これにより、テーブル域１０２より解放された２５６ＭＢ分のメモリ領域は、キャッシュ域１０３として使用可能となる（図１４（ｂ）参照）。図１４（ｂ）は、活性メモリ減設完了後の状態を示しており、テーブル域１０２が２５６ＭＢに、キャッシュ域１０３が１７２８ＭＢに変更されており、図１２（ａ）に示した活性メモリ増設が行われる前の状態に戻ったことになる。このように、ディスクアレイ装置１Ｂの状態に応じて柔軟に使用メモリの使用用途変更を実施することができる。
【００９４】
このように本実施形態によれば、装置運用中であっても、任意の時点で装置の管理・制御情報用領域、つまりテーブル域１０２を活性で獲得ならびに解放することができる。これにより、装置管理・制御情報用領域が不必要の期間は、この領域をキャッシュ域１０３として割り当てておき、装置管理・制御情報用領域の需要発生に応じてキャッシュ域１０３の一部領域をテーブル域１０２として割り当てる運用が可能となる。したがって、装置運用中であってもテーブル域１０２及びキャッシュ域１０３を活性で増減することができ、限られた資源であるキャッシュメモリをより有効に活用することができる。
【００９５】
以上のように、本実施形態によるディスクアレイ装置１Ｂでは、パワーオン時に限らず、装置の運用中であっても、管理・制御情報を格納するためのテーブル域１０２をそのときの装置の状態に応じて必要十分なだけ確保し、必要でない場合には適宜解放できるようにしたことで、搭載される大容量メモリ３３Ｂを装置の状態に応じて最大限にキャッシュメモリとして使用できるようになり、装置の性能を向上させることができる。さらに、この活性メモリ増減設処理は、装置の状態に依存せず運用中に実施可能であるので、社会システムとして構成されることが多いディスクアレイ装置において、ノンストップ運用が実現でき、高信頼性及び高可用性を保つとともに柔軟な装置運用が可能となる。
【００９６】
なお、上述した説明では、大容量メモリ３３Ｂにおける各領域１０１、１０２、１０３はそれぞれ連続した１つの領域としているが、複数の不連続な領域で構成されていても良い。例えば、テーブル域１０２とキャッシュ域１０３は、所定容量（例えば２ＭＢ）を１つの管理単位として任意に設定可能とし、キャッシュ域１０３内に分散してテーブル域１０２が設けられても良い。
【００９７】
また、上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
【００９８】
（付記１）プロセッサとメモリとを搭載し、自装置の制御を行う制御手段と、
上記制御手段によりデータが読み書きされるとともに、データを記憶する複数のディスク装置とを備え、
上記メモリは、
オペレーティングシステムが管理するシステム領域と、
キャッシュメモリとして入出力データを一時保存するキャッシュ領域と、
自装置に係る管理・制御情報を格納し、かつ任意の時点で領域サイズを変更可能なテーブル領域と
を有することを特徴とするディスクアレイ装置。
（付記２）上記メモリのシステム領域を管理するシステム域管理手段と、
上記メモリのキャッシュ領域を管理するキャッシュ域管理手段と、
上記メモリのテーブル領域を管理するテーブル域管理手段とを備えることを特徴とする付記１記載のディスクアレイ装置。
（付記３）上記制御手段は、自装置内部の制御を行う複数の内部制御手段を有し、
上記内部制御手段から上記テーブル域管理手段に対して、装置運用中に活性状態で上記テーブル領域の増減設要求を行うインタフェースを設けることを特徴とする付記２記載のディスクアレイ装置。
（付記４）上記内部制御手段からの上記テーブル領域の増減設要求を基に、上記テーブル域管理手段から上記キャッシュ域管理手段に対して、メモリ獲得解放要求を行うインタフェースを設けることを特徴とする付記３記載のディスクアレイ装置。
（付記５）上記テーブル域管理手段は、上記内部制御手段からの上記テーブル領域の増設要求を受信した場合に、当該増設要求により要求されるメモリ容量の獲得を上記キャッシュ域管理手段に要求し、
上記キャッシュ域管理手段は、上記テーブル域管理手段より要求されたメモリ容量分の上記キャッシュ領域を上記テーブル領域の割当予定領域として管理対象外に設定することを特徴とする付記４記載のディスクアレイ装置。
（付記６）上記ディスク装置に未書き込みのデータが上記割当予定領域に存在する場合には、当該データの上記ディスク装置への優先書き出し制御を行うことを特徴とする付記５記載のディスクアレイ装置。
（付記７）上記テーブル域管理手段は、上記メモリ獲得解放要求の結果を確認し、上記テーブル領域の増設要求により要求されたメモリ容量の獲得が完了したことを確認した場合には、上記割当予定領域を管理対象に設定することを特徴とする付記６記載のディスクアレイ装置。
（付記８）上記テーブル域管理手段は、上記内部制御手段からの上記テーブル領域の減設要求を受信した場合に、当該減設要求により要求されるメモリ領域の解放を上記キャッシュ域管理手段に要求し、
上記キャッシュ域管理手段は、上記テーブル域管理手段より解放要求されたメモリ領域を管理対象に設定することを特徴とする付記４記載のディスクアレイ装置。
（付記９）上記テーブル域管理手段は、上記メモリ獲得解放要求の結果を確認し、上記テーブル領域の減設要求により要求されたメモリ領域の解放が完了したことを確認した場合には、当該メモリ領域を管理対象外に設定することを特徴とする付記８記載のディスクアレイ装置。
（付記１０）上記制御手段を複数有し、
上記複数の制御手段に対し、上記内部制御手段からの上記テーブル領域の増減設要求を同期して行うことを特徴とする付記３記載のディスクアレイ装置。
（付記１１）上記制御手段は、自装置内部の制御を行う複数の内部制御手段を有し、
上記内部制御手段から上記テーブル域管理手段に対して、装置起動時に上記テーブル領域として要求するメモリ容量を申請するインタフェースを設けることを特徴とする付記２記載のディスクアレイ装置。
（付記１２）上記テーブル域管理手段は、上記内部制御手段からの申請内容に基づいて、装置起動時に上記内部制御手段に上記テーブル領域を順次割り当てることを特徴とする付記１１記載のディスクアレイ装置。
（付記１３）上記制御手段を複数有し、
上記複数の制御手段に対し、上記内部制御手段からの申請を同期して行うことを特徴とする付記１１記載のディスクアレイ装置。
（付記１４）上記制御手段は、自装置内部の制御を行う複数の内部制御手段を有し、
上記内部制御手段からの上記テーブル領域の増減設要求に基づいて、装置運用中の活性状態で上記テーブル領域の領域サイズを変更することを特徴とする付記２記載のディスクアレイ装置。
（付記１５）上記テーブル域管理手段は、上記内部制御手段からの上記テーブル領域の増減設要求に応じて、上記キャッシュ域管理手段にメモリ領域の獲得解放を要求するメモリ獲得解放要求手段を有することを特徴とする付記１４記載のディスクアレイ装置。
（付記１６）上記テーブル域管理手段は、上記メモリ獲得解放要求手段からの要求を基に獲得したメモリ領域を上記テーブル領域に設定するテーブル領域設定手段を有することを特徴とする付記１５記載のディスクアレイ装置。
（付記１７）上記キャッシュ域管理手段は、上記メモリ獲得解放要求手段からの要求を基に解放されたメモリ領域を上記キャッシュ領域に設定するキャッシュ領域設定手段を有することを特徴とする付記１５記載のディスクアレイ装置。
（付記１８）上記制御手段を複数有し、
上記各制御手段は、上記内部制御手段からの上記テーブル領域の増減設要求を互いに送受信する通信手段を有することを特徴とする付記１４記載のディスクアレイ装置。
（付記１９）上記制御手段は、自装置内部の制御を行う複数の内部制御手段を有し、
上記内部制御手段からの上記テーブル領域として要求するメモリ容量の申請内容に基づいて、装置起動時に上記テーブル領域を順次割り当てるとともに、上記内部制御手段から要求するメモリ容量は上記制御手段に搭載されるメモリの容量に応じて任意に設定可能であることを特徴とする付記２記載のディスクアレイ装置。
【図面の簡単な説明】
【００９９】
【図１】ディスクアレイ装置の構成例を示すブロック図である。
【図２】図１に示したディスクアレイ装置のＩ／Ｏ処理動作（キャッシュヒット）を示す図である。
【図３】図１に示したディスクアレイ装置のＩ／Ｏ処理動作（キャッシュミス）を示す図である。
【図４】本発明の実施形態によるディスクアレイ装置の構成例を示すブロック図である。
【図５】本実施形態におけるファームウェアの構成例を示す図である。
【図６】本実施形態におけるコントローラモジュールの機能構成例を示すブロック図である。
【図７】本実施形態におけるパワーオン時のメモリ割当処理の流れを示すシーケンス図である。
【図８】本実施形態におけるパワーオン時のメモリ割当処理に係る情報の流れを示す図である。
【図９】本実施形態におけるパワーオン時のメモリ割当の一例を示す図である。
【図１０】本実施形態における活性メモリ増設処理の流れを示すシーケンス図である。
【図１１】本実施形態における活性メモリ増減設処理に係る情報の流れを示す図である。
【図１２】本実施形態における活性メモリ増設の一例を示す図である。
【図１３】本実施形態における活性メモリ減設処理の流れを示すシーケンス図である。
【図１４】本実施形態における活性メモリ減設の一例を示す図である。
【符号の説明】
【０１００】
１Ａ、１Ｂ  ディスクアレイ装置
２  ホストコンピュータ
１０  チャネルアダプタ
３０Ａ、３０Ｂ  コントローラモジュール
３１  ＣＰＵ
３２Ａ、３２Ｂ  ファームウェア
３３Ａ、３３Ｂ  大容量メモリ
５０  デバイスアダプタ
７０  ハードディスクユニット
１０１  システム域
１０２  テーブル域
１０３  キャッシュ域
１１１  カーネル
１１５  キャッシュ域管理レイヤ
１１６  テーブル域管理レイヤ
【図１】
2006107054.tif 000003
【図２】
2006107054.tif 000004
【図３】
2006107054.tif 000005
【図４】
2006107054.tif 000006
【図５】
2006107054.tif 000007
【図６】
2006107054.tif 000008
【図７】
2006107054.tif 000009
【図８】
2006107054.tif 000010
【図９】
2006107054.tif 000011
【図１０】
2006107054.tif 000012
【図１１】
2006107054.tif 000013
【図１２】
2006107054.tif 000014
【図１３】
2006107054.tif 000015
【図１４】
2006107054.tif 000016