(57)【要約】      （修正有）【課題】既存のシステムにも容易に導入が可能で且つ、複数台の記憶装置を接続した場合でも動作効率が良い状態で、記憶装置の起動時間に依存せずに、システムの起動処理を速やかに実行する。【解決手段】キャッシュ制御処理とコマンド／データ制御処理を行うデータフロー制御部２と、制御上の上位の制御装置１０とのインターフェイスと、制御対象となる少なくとも１つの記憶装置２０とのインターフェイスと、少なくとも１つの不揮発性メモリ４とを備えており、上位の制御装置１０及び記憶装置２０に対して着脱可能にすることで、様々な形態のシステムに対して、記憶装置２０とのデータアクセスのスピード向上やシステムの起動処理時間の向上の実現を可能とすると共に、接続している各記憶装置２０の状況に依存して、記憶装置２０毎に不揮発性メモリ４によるキャッシュメモリを分割して割り当てることで複数台の記憶装置２０を接続した場合の効率を最適化する。【選択図】図１
2010044727.tif 000002
【特許請求の範囲】
【請求項１】
キャッシュ制御処理とコマンド／データ制御処理を行うデータフー制御部と、制御上の上位の制御装置とのインターフェイスを形成し、前記データフロー制御部と接続されている第１のインターフェイス制御部と、制御対象となる少なくとも１つの記憶装置とのインターフェイスを形成し、前記データフロー制御部と接続されている少なくとも１つの第２のインターフェイス制御部と、キャッシュメモリとして前記データフロー制御部と接続されている少なくとも１つの不揮発性メモリと、を有し、前記上位の制御装置及び前記記憶装置に対して着脱可能であることを特徴とするデータストレージ・キャッシュ装置。
【請求項２】
前記データフロー制御部と接続されていてキャッシュ内容の破棄を指示するキャッシュ破棄指示手段を有することを特徴とする請求項１記載のデータストレージ・キャッシュ装置。
【請求項３】
前記キャッシュ破棄指示手段がキャッシュ内容の破棄を指示している時に、キャッシュ内容の破棄をするキャッシュ破棄処理手段を有することを特徴とする請求項２記載のデータストレージ・キャッシュ装置。
【請求項４】
キャッシュ処理スルー指示手段と、該指示手段の指示を検出するキャッシュ処理スルー指示検出手段とを有し、該指示検出手段がキャッシュ処理スルー指示を検出した場合に、前記キャッシュ制御手段がキャッシュ処理を行わずにコマンド／データを素通りさせるように制御するスルー制御機能を有することを特徴とする請求項１〜請求項３のいずれかに記載のデータストレージ・キャッシュ装置。
【請求項５】
不揮発性メモリの異常を検出するメモリ異常検出手段を有し、該異常検出手段が不揮発性メモリの異常を検出した場合に、前記キャッシュ制御手段がキャッシュ処理を行わずにコマンド／データを素通りさせるように制御するスルー制御機能を有することを特徴とする請求項１〜請求項３のいずれかに記載のデータストレージ・キャッシュ装置。
【請求項６】
本装置を含むシステムの電源が投入された時に、前記不揮発性メモリにキャッシュされている情報をシステムの起動処理に利用することを可能としたことを特徴とする請求項１〜請求項５のいずれかに記載のデータストレージ・キャッシュ装置。
【請求項７】
前記起動処理に必要な情報を前記不揮発性メモリに書き込んでおくことが可能であることを特徴とする請求項６記載のデータストレージ・キャッシュ装置。
【請求項８】
起動処理に必要な情報として不揮発性メモリに書き込んでおく情報は、接続されている前記記憶装置に記録されている情報であることを特徴とする請求項７記載のデータストレージ・キャッシュ装置。
【請求項９】
前記不揮発性メモリが着脱可能であることを特徴とする請求項１〜請求項８のいずれかに記載のデータストレージ・キャッシュ装置。
【請求項１０】
前記不揮発性メモリの構成で、少なくとも１つの不揮発性メモリが着脱不能でかつ、それとは別に少なくとも１つの不揮発性メモリが着脱可能である構成を有することを特徴とする請求項９記載のデータストレージ・キャッシュ装置。
【請求項１１】
着脱可能な不揮発性メモリについて、全く装着されていない状態も含めて、装着されている着脱可能な不揮発性メモリの容量を検出するメモリ容量検出手段を有することを特徴とする請求項９ないし請求項１０のいずれかに記載のデータストレージ・キャッシュ装置。
【請求項１２】
前記データフロー制御部のキャッシュ制御処理が、着脱不能な不揮発性メモリと着脱可能な不揮発性メモリの両方を有する構成において、着脱不能な不揮発性メモリをＬ１キャッシュ、着脱可能な不揮発性メモリをＬ２キャッシュとしてキャッシュ制御するキャッシュ制御手段を有することを特徴とする請求項１０ないし請求項１１のいずれかに記載のデータストレージ・キャッシュ装置。
【請求項１３】
前記記憶装置の接続状態について、１台も接続されていない状態を含めて、記憶装置の接続状態を検出する接続状態検出手段を有することを特徴とする請求項１〜請求項１２のいずれかに記載のデータストレージ・キャッシュ装置。
【請求項１４】
前記不揮発性メモリで構成されるキャッシュメモリを領域分割し、記憶装置毎に個々のキャッシュ領域を割り当てるキャッシュ分割割当手段を有することを特徴とする請求項１〜請求項１３のいずれかに記載のデータストレージ・キャッシュ装置。
【請求項１５】
キャッシュ領域の割当分割方法を指示するキャッシュ割当指示手段と、該指示手段による指示を検出するキャッシュ割当指示検出手段とを有し、前記キャッシュ分割割当手段が、該割当指示検出手段によって検出されたキャッシュ割当分割方法に則ってキャッシュ領域を分割割当する機能を有することを特徴とする請求項１４記載のデータストレージ・キャッシュ装置。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、ディスク装置等の記憶装置（データストレージ）に関わるキャッシュ装置について、不揮発性メモリを用いたキャッシュメモリを備えて、かつ記憶装置に対して着脱可能なキャッシュ装置に関する。
【背景技術】
【０００２】  ＦＬＡＳＨメモリ等が安価で大容量になったことにより、不揮発性メモリを用いたディスクキャッシュシステムが提案されてきている。【０００３】  この種の技術としては、特開平１１−４５２１０号公報のディスクキャッシュシステムでは、キャッシュメモリに不揮発性メモリを利用し、電源ＯＦＦされる前にキャッシュ内容をハードディスクに書き戻す必要がないことを利用して、見かけ上のディスクアクセス性能の向上をさせている。【０００４】  また、特開２００３−８５０４１号公報のディスクキャッシュシステムでは、不揮発性メモリによるキャッシュメモリに、起動処理に必要なデータを予め書き込んでおくことで、電源ＯＮ時に接続されているハードディスクが交換されていなければ、キャッシュメモリに書き込まれている起動処理データを用いて起動処理を可能とすることで、ハードディスクの起動を待たずに起動処理を行うことを可能とし、起動処理時間の向上をさせている。【０００５】  Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  Ｖｉｓｔａ（登録商標）に搭載された「Ｗｉｎｄｏｗｓ  ＲｅａｄｙＤｒｉｖｅ」機能に対応する記憶装置として、不揮発性メモリ（ＦＬＡＳＨメモリ等）によるキャッシュメモリを搭載したハードディスク（ハイブリッド・ハードディスク）も登場している。
【特許文献１】  特開平１１−４５２１０号公報
【特許文献２】  特開２００３−８５０４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】  従来の揮発性メモリによるキャッシュメモリを搭載したハードディスクを備えた装置において「Ｗｉｎｄｏｗｓ  ＲｅａｄｙＤｒｉｖｅ」の恩恵を受けるために、ハードディスクをハイブリッド・ハードディスクに換装すると、それまで使用していたハードディスクが無駄になってしまう。【０００７】  特開２００３−８５０４１号公報のディスクキャッシュシステムを応用すれば、従来の揮発性メモリによるキャッシュメモリを搭載したハードディスクでも「Ｗｉｎｄｏｗｓ  ＲｅａｄｙＤｒｉｖｅ」に対応することは可能であるが、電源ＯＮ時にハードディスクの交換を検出するとキャッシュメモリ内の起動処理データを使用しなくなってしまうため、複数台のハードディスク等の記憶装置を該ディスクキャッシュシステムに接続する場合に不都合を生じてしまう。【０００８】  そもそも、「Ｗｉｎｄｏｗｓ  ＲｅａｄｙＤｒｉｖｅ」は限られたＯＳにのみ搭載された機能であり、使用しているＯＳが異なるものであればその恩恵は受けられない。【０００９】  また、キャッシュメモリとして必要とされる容量は、データの性質や使い方などにより多様化することが知られており、柔軟に対応できるシステムが望まれている。【００１０】  本発明は、これらのような問題点を鑑みてなされたものであって、従来からの揮発性メモリによるキャッシュメモリを搭載した記憶装置を用いて構成されているシステムに対して装着することが可能であると共に、複数台の記憶装置を備えた場合でも不揮発性メモリによってキャッシュメモリを構成した利点を損なうことなく適正に動作しかつ、キャッシュメモリの容量も状況に応じて柔軟に対応可能なデータストレージ・キャッシュ装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】  上記の課題を解決するために、本発明の請求項１では、キャッシュ制御処理とコマンド／データ制御処理を行うデータフロー制御部と、制御上の上位の制御装置とのインターフェイスを形成し、前記データフロー制御部と接続されている第１のインターフェイス制御部と、制御対象となる少なくとも１つの記憶装置とのインターフェイスを形成し、前記データフロー制御部と接続されている少なくとも１つの第２のインターフェイス制御部と、キャッシュメモリとして前記データフロー制御部と接続されている少なくとも１つの不揮発性メモリとを有し、前記上位の制御装置及び前記記憶装置に対して着脱可能であることを特徴とすることで従来のシステムへの搭載を可能にしている。【００１２】  また、本発明の請求項２では、データフロー制御部と接続されていてキャッシュ内容の破棄を指示するキャッシュ破棄指示手段を有することを、そして  本発明の請求項９では、不揮発性メモリが着脱可能であることを、そして請求項１０では、前記不揮発性メモリの構成で、少なくとも１つの不揮発性メモリが着脱不能でかつ、それとは別に少なくとも１つの不揮発性メモリが着脱可能である構成を有することを特徴とすることでキャッシュメモリの容量に柔軟性をもたせている。【００１３】  本発明の請求項１４では、キャッシュメモリを領域分割し、記憶装置毎に個々のキャッシュ領域を割り当てるキャッシュ分割割当手段を有することを、更に本発明の請求項１５では、キャッシュ領域の割当分割方法を指示するキャッシュ割当指示手段と、該指示手段による指示を検出するキャッシュ割当指示検出手段とを有し、前記キャッシュ分割割当手段が、該割当指示検出手段によって検出されたキャッシュ割当分割方法に則ってキャッシュ領域を分割割当する機能を有することを特徴とすることで、キャッシュメモリを有効かつ状況に応じた柔軟な利用を可能にしている。
【発明の効果】
【００１４】  以上詳述したように、本発明によれば、記憶装置にアクセスするホスト側と接続するインターフェイスと、記憶装置と接続するインターフェイスの双方を持ち、ホスト側及び記憶装置の両方に対して着脱可能なため、従来のシステムに付加して機能させることが可能な上、不揮発性メモリをキャッシュメモリとしているのでシステム起動用のデータをキャッシュメモリに記憶させておくことで、システム起動を速やかにすることが可能になる。【００１５】  また、着脱可能な不揮発性メモリを使用可能にすることで、使用状況に応じたキャッシュメモリ容量の変更に容易に対応できる上、Ｌ１キャッシュ／Ｌ２キャッシュの構成を適用すればアクセス速度の向上や安定化も可能になる。【００１６】  更には、複数台の記憶装置を接続した場合でも適正かつ安定した動作をさせることができる。
【発明を実施するための最良の形態】
【００１７】  以下、本発明の実施の形態を、図面を参照して説明する。
【実施例１】
【００１８】  図１は、本発明に係るデータストレージ・キャッシュ装置の一実施例の形態の構成のブロック図である。【００１９】  図１において、本装置（ハイブリッド・データ・アダプタ１）はデータフロー制御部２、オンボード不揮発性メモリ３、リムーバブル不揮発性メモリ４、ホストＩ／Ｆ制御部５、ハードディスクＩ／Ｆ制御部６、キャッシュ破棄ＳＷ７を備えて構成されている。【００２０】  本実施例では、ハイブリッド・データ・アダプタ１にホストＩ／Ｆ制御部５を使用してホスト制御部１０と接続、ハードディスクＩ／Ｆ制御部６を使用して記憶装置であるハードディスクドライブ２０と接続することでシステムを構成している。【００２１】  データフロー制御部２は、キャッシュ制御処理を含むコマンド／データの流れを制御するものである。【００２２】  オンボード不揮発性メモリ３は、ＦｅＲＡＭからなり、本実施例ではＬ１キャッシュメモリとして機能する。【００２３】  本実施例では、アクセス速度と構成の容易性からＦｅＲＡＭを用いているが、バッテリバックアップを付加したＳＲＡＭによる構成やＦＬＡＳＨ  ＲＯＭを用いても良い。【００２４】  リムーバブル不揮発性メモリ４は、不揮発性メモリにより構成されるメモリーカードと該メモリーカードを装着するソケットからなり、本実施例ではＬ２キャッシュメモリとして機能する。【００２５】  ホストＩ／Ｆ制御部５は、ＡＴＡ−Ｉ／Ｆ制御部と該Ｉ／Ｆ規格に合致したコネクタからなり、ホスト制御部１０との接続を確立するものである。【００２６】  ホストＩ／Ｆ制御部５及びデータフロー制御部２により、本装置はホスト制御部１０から、ＡＴＡ−Ｉ／Ｆを搭載した記憶装置として認識される。【００２７】  本実施例ではＡＴＡをホスト制御部とのインターフェイスとして用いているが、ＰＣＩ、ＰＣＩ−Ｅｘｐｒｅｓｓ、ＵＳＢ、ＳＣＳＩ、ＴＣＰ／ＩＰなどのインターフェイスを用いても良い。【００２８】  ハードディスクＩ／Ｆ制御部６は、ＡＴＡ−Ｉ／Ｆ制御部と該Ｉ／Ｆ規格に合致したコネクタからなり、記憶装置であるハードディスクドライブ２０との接続を確立するものである。【００２９】  本実施例ではＡＴＡを記憶装置とのインターフェイスとして用いているが、ＳＣＳＩ、ＵＳＢ，ＴＣＰ／ＩＰなどのインターフェイスを用いても良く、更には、複数台の記憶装置が接続可能な構成においては、異なるインターフェイスが混在していても良い。【００３０】  キャッシュ破棄ＳＷ７は、ＤＩＰスイッチからなり、スイッチの状態を変化させることにより、データフロー制御部２にキャッシュ破棄の指示を認識させるものである。【００３１】  本実施例ではＤＩＰスイッチを用いたが、状態保持が可能なスイッチであれば如何なるスイッチでも用いることが可能である。【００３２】  もちろん、不揮発性メモリを用いたデータスイッチ（ソフトウェアスイッチ）も含まれる。【００３３】  ホスト制御部１０は、ＰＣマザーボードである。【００３４】  本実施例では、ＰＣマザーボードを用いているが、記憶装置にたいしてデータアクセスを行うホストとなり得るものであればＰＣマザーボードに限られるものではない。【００３５】  ハードディスクドライブ２０は、ＡＴＡ−Ｉ／Ｆを備えた���ードディスクドライブである。【００３６】  本実施例では、ハードディスクドライブを用いたが、ＣＤ／ＤＶＤドライブやその他の記憶装置を用いても良く、Ｉ／Ｆ規格に関してもハードディスクＩ／Ｆ制御部６のＩ／Ｆ規格と合致するものを用いることが可能である。【００３７】  また、記憶装置の台数は説明の便宜上２台としているが、実際の台数はこれに限られることではなく、Ｉ／Ｆ毎に決められた上限内で設定可能である。【００３８】  なお、この２台のハードディスクドライブの記憶容量は同じものを使用している。【００３９】  図２は、上述のデータフロー制御部２の機能の一部を記したものである。【００４０】  図２において、コマンド・データ・フロー制御３１は、ホスト制御部１０とハードディスクドライブ２０の間で交換されるコマンド及びデータの流れをキャッシュ制御３５と連携して行うものである。【００４１】  キャッシュ制御３５は、コマンド・データ・フロー制御３１でコントロールされるデータのキャッシュ動作を制御する。【００４２】  同時に、キャッシュメモリアクセス制御３６を使って、キャッシュメモリである不揮発性メモリへのアクセス制御を行っている。【００４３】  コマンドインタラプタ３２はホスト制御部１０から送られてくるコマンドを解釈する機能である。【００４４】  キャッシュ制御３５内のキャッシュ破棄制御３８は、キャッシュ破棄ＳＷ７の信号を受けて、キャッシュ破棄の指示を認識した場合にキャッシュ情報を破棄する機能である。【００４５】  スルー指示検知３３は、スルー指示が出ているか否かを検出し、スルー制御３４にスルー指示の情報を提供する機能である。【００４６】  本実施例では、ホスト制御部１０から、専用のコマンドを用いて与えられるスルー指示をコマンドインタラプタ３２が解釈してスルー指示検知３３にスルー指示を伝える。【００４７】  ここで、スルー指示を与える手段は、本実施例ではソフトウェア（コマンド）によるものを用いたが、ＤＩＰスイッチなどのハード手段によるものを用いることも可能である。【００４８】  スルー指示を検出したスルー指示検知３３は、スルー制御３４にスルー指示が検出されたことを通知する。【００４９】  スルー制御３４は、スルー指示検知３３によりスルー指示が検出されていることの情報を受け取ると、キャッシュ制御を抑制してホスト制御部１０とハードディスクドライブ２０の間で交換されるコマンド及びデータを素通りさせる。【００５０】  メモリ異常検出３７は、不揮発性メモリ３，４の異常やアクセス上の異常を検出しする機能である。【００５１】  メモリ異常検出３７が不揮発性メモリ３，４に異常を検出すると、異常検出通知をスルー制御３４に行う。【００５２】  スルー制御３４は、メモリ異常検出３７から異常検出通知を受け取ると、キャッシュ制御を抑制してホスト制御部１０とハードディスクドライブ２０の間で交換されるコマンド及びデータを素通りさせる。【００５３】  この制御を行うことで、メモリ異常で不揮発性メモリが使用できず、キャッシュ動作ができないことによるシステムの動作への悪影響を自動的に回避できている。【００５４】  図３は、上述のシステムがシャットダウンする際のハイブリッド・データ・アダプ��１の処理を説明するフローチャートである。【００５５】  ３−１では、オンボード不揮発性メモリ３及びリムーバブル不揮発性メモリ４によるキャッシュメモリに記録されていて、ハードディスクドライブ２０に未書込みのデータをハードディスクドライブ２０に書き込む。【００５６】  ３−２では、次回起動時用のデータをキャッシュメモリに記録しておく必要があるかどうかを判断する。【００５７】  必要がある場合は、３−３で次回起動時用のデータを取得し、３−４でキャッシュメモリに書き込む。【００５８】  ここで、次回起動時用のデータとは、ハードディスクドライブ２０に記録されているシステム起動データ（ＯＳ等）の先頭部分或いは全部であることも当然可能である。【００５９】  図４は、電源ＯＮ直後のホスト制御部１０からハードディスクドライブ２０へのデータリードコマンドの処理を説明するためのフローチャートである。【００６０】  ホスト制御部の電源が入ると４−１の処理が始まる。【００６１】  ４−１では、ホスト制御部１０からホストＩ／Ｆ制御部５を通じてハードディスクドライブ２０へのデータリードコマンドを受け取ると、コマンドインタラプタ３２がデータリードコマンドであることを解釈し、最初に、ハードディスクＩ／Ｆ制御部６を通じてハードディスクドライブ１０を起動する。【００６２】  次に４−２及び４−３で該当のデータがキャッシュされているかどうかを調査する。【００６３】  キャッシュの調査は、ＣＭＤ信号５１を用いてキャッシュ制御３５が請け負う。【００６４】  最初に、４−２でＬ１キャッシュに記録されているかを調査する。【００６５】  Ｌ１キャッシュに記録されている場合は、ハードディスクドライブ２０をアクセスすることなく、４−５で該当のデータを読み出して、ホストＩ／Ｆ制御部５を通じてホスト制御部１０に転送する。【００６６】  Ｌ１キャッシュに記録されていない場合は、４−３でＬ２キャッシュを同様に調査する。【００６７】  Ｌ２キャッシュに記録されている場合も、ハードディスクドライブ２０をアクセスすることなく、４−４で該当のデータを読み出して、ホストＩ／Ｆ制御部５を通じてホスト制御部１０に転送する。【００６８】  ここで、Ｌ２キャッシュに記録されていない場合、４−６でハードディスクドライブ２０の準備完了を確認の後に、４−７でハードディスクＩ／Ｆ制御部６を通じてハードディスクドライブ２０から該当のデータを読み出して、ホストＩ／Ｆ制御部５を通じてホスト制御部１０に転送する。【００６９】  図３と図４の動作の組み合わせにより、シャットダウン後の起動時にハードディスクドライブ２０の起動時間を待つ必要が無く、システムの迅速な起動が可能になっている。【００７０】  図５は、キャッシュ破棄に関わる処理を説明するためのフローチャートである。【００７１】  キャッシュ破棄に関わる処理は、電源ＯＮ直後、本ハイブリッド・データ・アダプタ１自体の初期処理が完了後、ホスト制御部１０からのコマンドを受け付ける前に必ず行われる。【００７２】  まず、５−１でキャッシュ破棄ＳＷ７の状態が、前回から変わっているかをキャッシュ破棄制御３８が調査する。【００７３】  前回から変わっていなければ、５−２でキャッシュ制御３５はハードディスク毎に割り当てるキャッシュメモリ領域の設定を前回と同じに設定する。【００７４】  キャッシュ破棄ＳＷ７の状態が前回から変わっている場合は、５−３でキャッシュ破棄制御３８がキャッシュメモリのデータを無効化し、その後に５−４でキャッシュ制御３５がハードディスク毎に割り当てるキャッシュメモリ領域の設定を指定の割当分割方法に従って設定する。【００７５】  図６は、ハードディスクドライブ毎のキャッシュメモリ割当に関わる機能を示した図である。【００７６】  図６において、割当指示検知３９は、ホスト制御部１０からのコマンドによる割当分割方法の指示を検知し、指示された割当分割方法毎に必要となる情報と共にキャッシュ制御３５に割当分割方法を通知する。【００７７】  キャッシュ制御３５は通知された割当分割方式に従って、ハードディスクドライブ毎にキャッシュメモリを分割割当し、キャッシュ制御を行う。【００７８】  ハードディスク検知４０は、本ハイブリッド・データ・アダプタが備えているハードディスクドライブ２０とのインターフェースの数及び、接続されているハードディスクドライブ２０の数及び、各ハードディスクドライブの記憶容量を検出する。【００７９】  本実施例では、インターフェイス数：２、ハードディスクドライブ数：２を検知している。【００８０】  また、本２台のハードディスクドライブの記憶容量は同じであると検知している。【００８１】  ハードディスクアクセス状況検知４１は、ハードディスクドライブ毎のアクセス頻度とアクセスデータ量を検出する。【００８２】  本実施例における割当指示の方法は、ホスト制御部からのコマンドを用いているが、ＤＩＰスイッチなどを本アダプタ上に設置して割当指示を設定する方法を割当指示に用いることも可能である。【００８３】  本実施例では、指示できる割当分割方法は下記の８つである。【００８４】    モード０．  分割しない（キャッシュを使用するハードディスクドライブを指定）    モード１．  インターフェイス数で等分割    モード２．  インターフェイス毎に分割割合を指定    モード３．  ハードディスクドライブ数で等分割    モード４．  ハードディスクドライブ毎に分割割合を指定    モード５．  ハードディスクドライブ毎の記憶容量の比率に等しく分割    モード６．  ハードディスクドライブ毎のアクセス頻度の比率に等しく分割    モード７．  ハードディスクドライブ毎のアクセスデータ量の比率に等しく分割また、起動時点の割当分割方法と動作中の割当分割方式をそれぞれ上記の８つのモードから選んで設定できるようにした。【００８５】  動作の一例として、    起動時：モード５（ハードディスクドライブ毎の記憶容量の比率に等しく分割）    動作中：モード７（ハードディスクドライブ毎のアクセスデータ量の比率に等しく分割）を指定した場合の動作を図７及び図８を用いて説明する。【００８６】  電源投入後の起動時は、ハードディスクドライブの記憶容量比による分割割当が図７のフローチャートのように行われる。【００８７】  まず、ハードディスク検知４０が、７−１で接続されているハードディスクの台数（本実施例では２台）を検知し、７−２で接続されている全てのハードディスク（本実施例ではＨＤＤ−Ａ��ＨＤＤ−Ｂの２台）の各々の容量を取得する。【００８８】  続いて、コマンド・データ・フロー制御３１が７−３で全てのハードディスクの合計容量に対する各ハードディスクの容量の比率を計算する。【００８９】  最後に、７−４で算出した容量の比率に従って、キャッシュメモリの容量割当を決定し、キャッシュ制御３５がキャッシュメモリ領域の割り振りを設定する。【００９０】  本実施例では当分割して各ハードディスクドライブに割り当てる。【００９１】  ハードディスクドライブ２０へのアクセス開始時点では、このキャッシュメモリ割当の状態でキャッシュ制御が行われる。【００９２】  その後、ハードディスクドライブへのアクセスが行われることで、動作中の割当分割方法であるハードディスクドライブ毎のアクセスデータ量の比率に従った分割割当が行われる。【００９３】  アクセスデータ量の比率の場合の制御を図８で説明する。【００９４】  ＨＤＤ−ＡとＨＤＤ−Ｂという２台のハードディスクドライブが接続されている。【００９５】  起動時点では上記の通り、キャッシュメモリ領域の分配がＨＤＤ−Ａ用キャッシュ：５０％、ＨＤＤ−Ｂ用キャッシュ：５０％となっている。【００９６】  時間ａにＨＤＤ−Ｂへのアクセスが増え、アクセスデータの比率が、ＨＤＤ−Ａアクセス：１０％、ＨＤＤ−Ｂアクセス：９０％に変わる。【００９７】  この状態が規定時間γ続くと、データフローコントローラ２はキャッシュメモリ領域比率を変化させるタイミングと判断し、アクセスデータ比率に合わせるべく、キャッシュメモリ領域の比率を変えて設定する。【００９８】  ここでは、仮に５％ずつキャッシュメモリ領域の比率を変化させることとすると、この時点で、ＨＤＤ−Ａ用キャッシュ：４５％、ＨＤＤ−Ｂ用キャッシュ：５５％に設定される。【００９９】  更に、規定時間γの間続くと、同様にしてＨＤＤ−Ａ用キャッシュ：４０％、ＨＤＤＢ用キャッシュ６０％に設定変更される。【０１００】  この状態が更に続き、ＨＤＤ−Ａ用キャッシュ：３０％、ＨＤＤ−Ｂ用キャッシュ：７０％の設定になっている時間ｂに２台のハードディスクへのアクセスデータの比率がＨＤＤ−Ａアクセス：５０％、ＨＤＤ−Ｂアクセス：５０％に変わる。【０１０１】  この状態が規定時間γの間続くと、アクセスデータ比率に合わせるべく、ＨＤＤ−Ａ用キャッシュ：３５％、ＨＤＤ−Ｂ用キャッシュ：６５％とキャッシュメモリ領域の比率を変化させていく。【０１０２】  このようなキャッシュメモリの動的割当をすることで、使い方に合わせたキャッシュの効率的利用が実現された。
【図面の簡単な説明】
【０１０３】
【図１】  本発明のデータストレージ・キャッシュ装置を構成する一実施例を示すブロック図
【図２】  データフロー制御部２の基本機能を示した図
【図３】  シャットダウン時の処理を示すフローチャート
【図４】  電源ＯＮ直後のホスト制御部からのハードディスクリードコマンドの処理を示すフローチャート
【図５】  キャッシュ破棄に関する処理を示すフローチャート
【図６】  ハードディスクドライブ毎のキャッシュメモリ割当に関わる機能を示した図
【図７】  ハードディスク容量比によるキャッシュ領域分割処理を示すフローチャート
【図８】  ハードディスクアクセス量比によるキャッシュ領域分割を説明する図
【符号の説明】
【０１０４】  １  ハイブリッド・データ・アダプタ
２  データフロー制御部
３  オンボード不揮発性メモリ
４  リムーバブル不揮発性メモリ
５  ホストＩ／Ｆ制御部
６  ハードディスクＩ／Ｆ制御部
７  キャッシュ破棄ＳＷ
１０  ホスト制御部
２０  ハードディスクドライブ
３１  コマンド・データ・フロー制御
３２  コマンドインタラプタ
３３  スルー指示検知
３４  スルー制御
３５  キャッシュ制御
３６  キャッシュメモリアクセス制御
３７  メモリ異常検出
３８  キャッシュ破棄制御
３９  割当指示検知
４０  ハードディスク検知
４１  ハードディスクアクセス状況検知
５１  ＣＭＤ信号
５２  ＲＳＰ信号
【図１】
2010044727.tif 000003
【図２】
2010044727.tif 000004
【図３】
2010044727.tif 000005
【図４】
2010044727.tif 000006
【図５】
2010044727.tif 000007
【図６】
2010044727.tif 000008
【図７】
2010044727.tif 000009
【図８】
2010044727.tif 000010