(57)【要約】【課題】ライトキャッシュ付きの記憶制御装置の処理性能を向上させる。【解決手段】複数のディスク装置３０００とホストコンピュータ１０００との間に介在し、両者間で授受されるリードデータ／ライトデータを一時的に保持する不揮発性のキャッシュ２４００を備えた記憶制御装置２０００において、キャッシュ２４００上のユーザデータの管理情報を、キャッシュ２４００内のキャッシュ内管理情報領域２４２０と、より高速なアクセスが可能な揮発性のローカルメモリ２２１０内のローカルメモリ内管理情報領域２２２１に２元管理し、正常時の管理情報の参照は高速なローカルメモリ内管理情報領域２２２１から実施し、障害時には不揮発性のキャッシュ内管理情報領域２４２０からローカルメモリ内管理情報領域２２２１に管理情報を復元することにより、信頼性を落とすことなくキャッシュ２４００のアクセス処理の高速化を図る。【選択図】図１
2006099802.tif 000002
【特許請求の範囲】
【請求項１】
上位装置と記憶装置との間に介在し、前記上位装置と前記記憶装置との間におけるデータの授受を制御するとともに、前記データを一時的に格納するキャッシュメモリを備えた記憶制御装置であって、前記キャッシュメモリに格納された前記データの管理情報は、不揮発性の第１の記憶手段と、前記第１の記憶手段よりもアクセス動作が高速な第２の記憶手段に多重に格納され、前記管理情報の参照は前記第２の記憶手段に対して実行され、前記管理情報の更新は前記第１および第２の記憶手段に対して実行されることを特徴とする記憶制御装置。
【請求項２】
請求項１記載の記憶制御装置において、前記キャッシュメモリは不揮発性記憶媒体で構成され、前記第１の記憶手段は前記不揮発性記憶媒体の一部に設定され、前記第２の記憶手段は、前記記憶制御装置の動作を制御するマイクロプロセッサの制御プログラムが格納されるローカルメモリの一部に設定されることを特徴とする記憶制御装置。
【請求項３】
請求項１または２記載の記憶制御装置において、前記記憶制御装置における障害停止後の再起動時に、前記第１の記憶手段に保持されている健全な前記管理情報を前記第２の記憶手段に複写して稼働を再開することを特徴とする記憶制御装置。
【請求項４】
データの転送経路に介在し、前記データを一時的に保持するキャッシュメモリの制御方法であって、前記キャッシュメモリに格納された前記データの管理情報を、不揮発性の第１の記憶手段と、前記第１の記憶手段よりもアクセス動作が高速な第２の記憶手段に多重に格納し、前記管理情報の参照は前記第２の記憶手段に対して実行し、前記管理情報の更新は前記第１および第２の記憶手段に対して実行することを特徴とするキャッシュメモリの制御方法。
【請求項５】
請求項４記載のキャッシュメモリの制御方法において、前記キャッシュメモリを不揮発性記憶媒体で構成し、前記第１の記憶手段を前記不揮発性記憶媒体の一部に設定し、前記第２の記憶手段を、前記キャッシュメモリの動作を制御するマイクロプロセッサの制御プログラムが格納されるローカルメモリの一部に設定することを特徴とするキャッシュメモリの制御方法。
【請求項６】
上位装置と記憶装置との間でユーザデータを交換する記憶制御装置であって、
少なくとも１つのマイクロプロセッサと、
制御プログラム用およびメモリ内管理情報用であるが、前記ユーザデータ用でないローカルメモリと、
前記ユーザデータ用のキャッシュメモリであって、前記キャッシュメモリが内部にキャッシュ内管理情報を格納し、前記メモリ内管理情報が前記キャッシュ内管理情報を表し、前記メモリ内管理情報と前記キャッシュ内管理情報とがそれぞれ前記キャッシュメモリ内に格納したユーザデータに関連する情報であるキャッシュメモリとを有し、
前記マイクロプロセッサと前記ローカルメモリとの間でアクセス動作を行うアクセス時間が、同じアクセス動作に対して前記マイクロプロセッサと前記キャッシュメモリとの間でのアクセス時間より短く、
前記ローカルメモリおよび前記キャッシュメモリが前記少なくとも１つのマイクロプロセッサによってのみ使用される管理情報を格納し、
前記ローカルメモリおよび前記キャッシュメモリが、前記少なくとも１つのマイクロプロセッサと異なるマイクロプロセッサによって使用される管理情報を含まず、
前記制御プログラムが、前記ローカルメモリにアクセスして前記メモリ内管理情報にアクセスする工程と、前記メモリ内管理情報に基づいて読み込み要求に関連する読み込みデータが前記キャッシュメモリ内に格納された否かを決定する工程と、読み込みデータが前記キャッシュメモリ内に格納されている場合には前記キャッシュメモリにアクセスして前記読み込みデータにアクセスする工程と、前記読み込みデータが前記キャッシュメモリ内に格納されていない場合には前記データ記憶装置にアクセスして前記読み込みデータにアクセスし、前記キャッシュメモリ内の前記読み込みデータを格納し、前記メモリ内管理情報および前記キャッシュ内管理情報を更新して前記キャッシュメモリの更新を指し示す工程を行うことによって、前記マイクロプロセッサを作動させて前記読み込み要求を処理するように構成されていることを特徴とする記憶制御装置。
【請求項７】
請求項６記載の記憶制御装置において、
前記制御プログラムが、前記ローカルメモリにアクセスして前記メモリ内管理情報にアクセスする工程と、
前記メモリ内管理情報に基づいて前記キャッシュメモリ内の空のエリアを識別する工程と、
前記書き込み要求に関連される書き込みデータを前記空のエリアに格納する工程と、
前記メモリ内管理情報および前記キャッシュ内管理情報を更新して前記キャッシュメモリの更新を指し示す工程とを行うことによって、前記マイクロプロセッサを作動して前記書き込み要求を処理するようにさらに構成されていることを特徴とする記憶制御装置。
【請求項８】
請求項６記載の記憶制御装置において、
前記ローカルメモリが前記マイクロプロセッサによってのみアクセス可能であることを特徴とする記憶制御装置。
【請求項９】
請求項８記載の記憶制御装置において、
前記ローカルメモリが前記マイクロプロセッサの構成要素であることを特徴とする記憶制御装置。
【請求項１０】
記憶制御装置と、上位装置からのデータを格納する複数の記憶装置とを有するディスクサブシステムであって、
前記記憶制御装置が、前記上位装置と前記記憶装置との間で転送されるユーザデータ用のキャッシュメモリと、
前記記憶制御装置を制御するように動作可能であり、前記キャッシュメモリ内に格納されたデータに関連する制御プログラム用および管理情報用のローカルメモリを有する少なくとも１つのプロセッサとを有し、
前記プロセッサが、前記キャッシュメモリよりも高速で前記ローカルメモリにアクセス可能であり、
前記ローカルメモリおよび前記キャッシュメモリが、前記少なくとも１つのプロセッサによってのみ使用される管理情報を格納し、
前記ローカルメモリおよび前記キャッシュメモリが、前記少なくとも１つのプロセッサと異なるプロセッサによって使用される管理情報を含まず、
前記ローカルメモリが前記ユーザデータを格納せず、
前記制御プログラムが、前記プロセッサを作動させて、書き込み動作に応答して前記ローカルメモリ内の前記管理情報にアクセスし前記書き込み動作に関連するデータを格納するために前記キャッシュメモリ内に利用可能な空間を識別し、読み込み動作に応答して前記キャッシュメモリ内の前記管理情報にアクセスし前記読み込み動作に関連して要求されたデータが前記キャッシュメモリ内に含まれているか否か決定し、もし含まれていない場合には、前記ローカルメモリ内の前記管理情報にアクセスして前記要求されたデータを格納するために前記キャッシュメモリ内に利用可能な空間を識別し、前記記憶装置からの前記要求されたデータを獲得し、前記キャッシュメモリ内の前記利用可能な空間に前記要求されたデータを格納するように構成されたことを特徴とするディスクサブシステム。
【請求項１１】
請求項１０記載のディスクサブシステムにおいて、
前記プロセッサ内の前記メモリが不揮発性メモリであることを特徴とするディスクサブシステム。
【請求項１２】
請求項１０記載のディスクサブシステムにおいて、
前記管理情報もまた前記キャッシュメモリ内に格納されていることを特徴とするディスクサブシステム。
【請求項１３】
請求項１２記載のディスクサブシステムにおいて、
前記プロセッサが、前記プロセッサ内の前記管理情報と一緒に、前記キャッシュメモリ内の前記管理情報を更新することを特徴とするディスクサブシステム。
【請求項１４】
請求項１０記載のディスクサブシステムにおいて、
前記記憶装置がＲＡＩＤ構成を有することを特徴とするディスクサブシステム。
【請求項１５】
請求項１０記載のディスクサブシステムにおいて、
前記記憶装置が磁気ディスク装置であることを特徴とするディスクサブシステム。
【請求項１６】
複数の記憶装置と少なくとも１つの上位装置とのデータ通信用の記憶制御装置であって、
前記上位装置との通信用の第１の制御部と、
前記記憶装置との通信用の第２の制御部と、
前記上位装置と前記記憶装置との間に転送されるユーザデータ用であり、内部に格納されたユーザデータに関連する管理情報を格納するキャッシュメモリと、
前記第１の制御部と前記キャッシュメモリとの間におよび前記第２の制御部と前記キャッシュメモリとの間にデータを転送するように構成されたデータ転送制御部と、
前記記憶制御装置を制御するとともに前記管理情報を記憶するために内部にローカルメモリを有する少なくとも１つのプロセッサとを有し、
前記ローカルメモリおよび前記キャッシュメモリが、前記少なくとも１つのプロセッサによってのみ使用される管理情報を格納し、
前記ローカルメモリおよび前記キャッシュメモリが前記少なくとも１つのプロセッサと異なるプロセッサによって使用される管理情報を含まず、
前記ローカルメモリが前記ユーザデータを格納せず、
書き込みデータまたは読み込みデータへの動作に応答する前記プロセッサが、前記ローカルメモリ内に格納された前記管理情報にアクセスし、前記キャッシュメモリが前記動作に適応可能であるか否かを決定し、前記キャッシュメモリが前記動作に適応可能である場合には前記キャッシュメモリにアクセスして前記キャッシュメモリ内の前記書き込みデータまたは前記読み込みデータを格納するように構成されていることを特徴とする記憶制御装置。
【請求項１７】
請求項１６記載の記憶制御装置において、
前記プロセッサと前記ローカルメモリとの間でのアクセス速度が、前記プロセッサと前記キャッシュメモリとの間でのアクセス速度より速いことを特徴とする記憶制御装置。
【請求項１８】
請求項１６記載の記憶制御装置において、
前記データ転送制御部が、前記キャッシュメモリから前記ローカルメモリまで前記管理情報を複写することを特徴とする記憶制御装置。
【請求項１９】
請求項１６記載の記憶制御装置において、
前記データ転送制御部が、前記ローカルメモリから前記キャッシュメモリまで前記管理情報を複写することを特徴とする記憶制御装置。
【請求項２０】
記憶制御装置と、上位装置からのデータを格納する複数の記憶装置とを有するディスクサブシステムであって、
前記記憶制御装置が、前記上位装置と前記記憶装置との間に転送されたデータを一時的に格納するとともに、内部に格納されたユーザデータに関連する管理情報を格納するキャッシュメモリと、
前記記憶制御装置を制御し内部にローカルメモリを有する少なくとも１つのプロセッサとを有し、
前記プロセッサが、前記キャッシュメモリ内に格納された前記データに関連する前記管理情報の少なくとも１部分を前記ローカルメモリに格納するように構成され、
前記プロセッサが、前記ローカルメモリ内の前記管理情報にアクセスして、前記キャッシュメモリが書き込みデータまたは読み込みデータへの動作に適応可能か否かを決定し、前記キャッシュメモリにアクセスして、前記キャッシュメモリが前記動作に適応可能である場合には、前記キャッシュメモリ内の書き込みデータまたは読み込みデータを格納するようにさらに構成され、
前記ローカルメモリおよび前記キャッシュメモリが、前記少なくとも１つのプロセッサによってのみ使用される管理情報を格納し、
前記ローカルメモリおよび前記キャッシュメモリが、前記少なくとも１つのプロセッサと異なるプロセッサによって使用される管理情報を含まず、
前記ローカルメモリが前記ユーザデータを格納しないことを特徴とするディスクサブシステム。
【請求項２１】
請求項２０記載のディスクサブシステムにおいて、
前記プロセッサ内の前記メモリが、前記記憶制御装置を制御する制御プログラムを格納していることを特徴とするディスクサブシステム。
【請求項２２】
請求項２０記載のディスクサブシステムにおいて、
前記ローカルメモリが不揮発性メモリであることを特徴とするディスクサブシステム。
【請求項２３】
請求項２０記載のディスクサブシステムにおいて、
前記管理情報が、前記キャッシュメモリ内の前記データを管理するデータ属性と、前記キャッシュメモリ内の前記データの論理アドレスと、前記キャッシュメモリ内の利用可能な記憶エリア情報と、前記キャッシュメモリのキャッシュ記憶内容の置き換えにおける優先順位の管理情報とのうち少なくとも１つを含むことを特徴とするディスクサブシステム。
【請求項２４】
請求項２３記載のディスクサブシステムにおいて、
前記上位装置と前記記憶装置との間に前記キャッシュメモリ内の前記ユーザデータを転送するデータ転送制御部をさらに備えていることを特徴とするディスクサブシステム。
【請求項２５】
請求項２０記載のディスクサブシステムにおいて、
前記プロセッサが、前記キャッシュメモリおよび前記ローカルメモリ内の前記管理情報を更新することを特徴とするディスクサブシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶制御技術およびキャッシュメモリの制御技術に関し、特に、ユーザデータを一時的に格納する不揮発なキャッシュメモリを搭載する記憶制御装置等に適用して有効な技術に関する。
【背景技術】
【０００２】
最近の市場動向として、記憶装置の高性能化、大容量化、低価格化の要求が高まっており、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ Ａｒｒａｙ ｏｆ Ｉｎｅｘｐｅｎｓｉｖｅ Ｄｉｓｋｓ）の技術が重視されている。ＲＡＩＤにおいては、複数のディスク装置をアレイ状に構成し、データ書き込み時には、書き込みデータに加えて冗長データを書き込みデータを格納したディスク装置とは異なるディスク装置へ書き込むことで、アレイ構成内の任意のディスク装置の故障に対しても他のディスク装置のデータと前記冗長データから該障害ディスク装置上のデータを修復可能とすることによって、ディスク装置のデータの保全性の向上を図っている。しかし、ＲＡＩＤは、データの保全性が向上する反面、上記冗長データ生成／書き込みのための処理時間が増大し、ホストからのライト性能が大幅に劣化する。
【０００３】
このため、従来では、ＲＡＩＤ支援にあたっては、ライトキャッシュの技術が不可欠となっている。ライトキャッシュとは、コントローラ内に搭載された、データを一時的に書き込むキャッシュであり、ホストからのライト要求では、このキャッシュに書き込みを行った時点で、ホストに終了報告を返す。そして、ホストのＩ／Ｏ処理とは非同期に冗長データの生成、ライトデータおよび冗長データのディスク装置への格納を行うことにより書き込み処理時の性能低下を防いでいる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来技術は、冗長データの生成／ライトデータおよび冗長データのディスク装置への書き込みをホストＩ／Ｏとは同期させずに非同期に行う技術であり、この技術は、応答性能は向上するが、制御装置の処理性能自体を向上させるものではない。
【０００５】
また、ライトキャッシュを用いると、データをキャッシュ上に書き込んだ時点でホストに終了報告をするため、キャッシュ上にディスク装置に未反映のホストデータが存在する。従って、突発的な電源断等の障害発生時のユーザデータロストを防ぐため、このライトキャッシュは、不揮発である必要がある。この際、ユーザデータだけでなく、このユーザデータを管理する管理情報もこのライトキャッシュ上または他の不揮発メモリ上に格納しておく必要がある。
【０００６】
このライトキャッシュおよび不揮発メモリは、一般的にプロセッサ外部に位置する。このため、ライトキャッシュおよび不揮発メモリに対するプロセッサからのアクセスは、プロセッサ内部にあるローカルメモリへのアクセスに比べると極めて低速である。このことは処理性能の低下を招いている。
【０００７】
本発明の目的は、キャッシュメモリを備えた記憶制御装置において、信頼性を低下させることなく、キャッシュメモリの制御に伴う処理時間を削減し、記憶制御装置としての処理性能を向上させることにある。
【０００８】
本発明の他の目的は、キャッシュメモリを備えた記憶制御装置において、ライト性能だけでなくリード性能についても同様に向上させることにある。
【０００９】
本発明の他の目的は、信頼性を維持しつつライトキャッシュ等のキャッシュメモリの制御に伴う処理時間を短縮し、キャッシュメモリを経由したデータ転送の処理速度を向上させることが可能なキャッシュメモリの制御技術を提供することにある。
【課題を解決するための手段】
【００１０】
本発明は、上位装置と記憶装置との間に介在し、上位装置と記憶装置との間におけるデータの授受を制御するとともに、データを一時的に格納するキャッシュメモリを備えた記憶制御装置において、キャッシュメモリに格納されたデータの管理情報は、不揮発性の第１の記憶手段と、第１の記憶手段よりもアクセス動作が高速な第２の記憶手段に多重に格納され、管理情報の参照は第２の記憶手段に対して実行され、管理情報の更新は第１および第２の記憶手段に対して実行されるようにしたものである。
【００１１】
また、本発明は、データの転送経路に介在し、データを一時的に保持するキャッシュメモリの制御方法において、キャッシュメモリに格納されたデータの管理情報を、不揮発性の第１の記憶手段と、第１の記憶手段よりもアクセス動作が高速な第２の記憶手段に多重に格納し、管理情報の参照は第２の記憶手段に対して実行し、管理情報の更新は第１および第２の記憶手段に対して実行するものである。
【００１２】
より具体的には、一例として、ホストコンピュータとディスク等の記憶装置の間に位置し、ホストコンピュータの指示に基づいて記憶装置の制御、またはＲＡＩＤ制御を伴う記憶装置制御を行う、独立型またはホスト一体型、またはデバイス一体型の記憶制御装置において、当該記憶制御装置は、ユーザデータを一時的に格納しておく不揮発性のキャッシュ機構を持ち、当該キャッシュ上のユーザデータの管理情報を、低速であるが不揮発なメモリ上と、高速であるが揮発するメモリ上に２元管理するものである。そして、正常時の管理情報の参照は、高速な揮発メモリから行うことにより高速化を図る。突発的な電源断等の障害発生時には、不揮発メモリ上のユーザデータ／管理情報によりデータ消失を防ぎ、信頼性を向上させる。
【００１３】
これらの制御機能を実現すべく、記憶制御装置の制御論理として、ユーザデータの管理情報を低速な不揮発メモリ上と高速な揮発メモリ上に２重書きする手段と、正常時には当該管理情報を高速な揮発メモリから参照する手段と、突発的な電源断等の障害発生時には、当該管理情報を不揮発メモリから参照する手段と、当該参照情報を揮発メモリ上に復元する手段を設ける。
【発明の効果】
【００１４】
本発明の記憶制御装置によれば、キャッシュメモリを備えた記憶制御装置において、信頼性を低下させることなく、キャッシュメモリの制御に伴う処理時間を削減し、記憶制御装置としての処理性能を向上させることができる、という効果が得られる。
【００１５】
本発明の記憶制御装置によれば、キャッシュメモリを備えた記憶制御装置において、ライト性能だけでなくリード性能についても同様に向上させることができる、という効果が得られる。
【００１６】
本発明のキャッシュメモリの制御方法によれば、信頼性を維持しつつライトキャッシュ等のキャッシュメモリの制御に伴う処理時間を短縮し、キャッシュメモリを経由したデータ転送の処理速度を向上させることができる、という効果が得られる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を図面を参照しながら詳細に説明する。
【００１８】
なお、以下の本実施の形態に示した構成は、あくまで一例であり、別の構成による実現も可能である。
【００１９】
図１は、本発明の一実施の形態である記憶制御装置およびキャッシュメモリの制御方法をディスクアレイ装置に適用した場合の構成の一例を示す概念図である。
【００２０】
図１において、１０００はデータ処理を行う中央処理装置としてのホストコンピュータ、２０００はディスク装置の制御を行う記憶制御装置、３０００はホストデータを格納するディスク装置である。ここで、記憶制御装置２０００は、ホストバスに直結したスロットに差し込みホスト筐体内に組み込む構成、記憶制御装置として独立した筐体に組み込む構成、ディスク装置を組み込んだ筐体として実現する構成のいずれの構成でもよい。
【００２１】
一例として、複数のディスク装置３０００はディスクアレイを構成し、記憶制御装置２０００のＲＡＩＤ制御により、ホストコンピュータ１０００から受領したユーザデータおよび当該ユーザデータから生成された冗長データが複数のディスク装置３０００に分散して格納される。
【００２２】
記憶制御装置２０００は、ホストコンピュータ１０００とのプロトコル制御を行うホストＩ／Ｆ制御部２１００、コントローラ全体を制御するマイクロプロセッサ（以下、プロセッサと称す）２２００、データの転送を実行するデータ転送制御部２３００、ホストコンピュータ１０００とディスク装置３０００との間のデータ転送時に、リードデータおよびライトデータ等のユーザデータの一時的な格納に用いられる不揮発性のキャッシュメモリ（以下、キャッシュと称す）２４００、各ディスク装置３０００とのプロトコル制御を行うＤＲＶＩ／Ｆ制御部２５００より構成する。
【００２３】
プロセッサ２２００に内部には、ローカルメモリ２２１０を内蔵している。
【００２４】
キャッシュ２４００の内容について、図２を用いて説明する。キャッシュ２４００は、ユーザデータ領域２４１０、当該ユーザデータを管理するためのキャッシュ内管理情報領域２４２０とから構成される。ユーザデータ領域２４１０には、実際のユーザデータが一時的に格納され、キャッシュ内管理情報領域２４２０には、当該ユーザデータを管理する上で必要な、データ属性（ライトデータ／リードデータ）、ホストコンピュータ１０００が指定する当該ユーザデータの論理アドレス、空きエリア情報、キャッシュ記憶内容の置き換えにおける優先順位の管理情報等の情報が格納されている。本実施の形態では、管理情報領域をキャッシュ内に置いたが不揮発メモリであれば、他のメモリを用いても構わない。
【００２５】
ローカルメモリ２２１０の内容について、図３を用いて説明する。ローカルメモリ２２１０は、上述のキャッシュ内管理情報領域２４２０と同等の情報を格納しているローカルメモリ内管理情報領域２２２１、記憶制御装置２０００の全体を制御するマイクロプログラムを格納しているプログラム領域２２２２とからなる。本実施の形態では、管理情報領域をローカルメモリ２２１０内に置いたが高速であれば、他のメモリを用いても構わない。
【００２６】
プロセッサ２２００は、逐次プログラム領域をデコードしながら実行し、記憶制御装置２０００を制御している。また、プロセッサ２２００は、ユーザデータ領域２４１０に格納されているデータの管理情報をキャッシュ内管理情報領域２４２０とローカルメモリ内管理情報領域２２２１に２重書きして２元管理している。
【００２７】
ここで、ローカルメモリ２２１０は、プロセッサ２２００の内部に位置しているため、プロセッサからのアクセスは高速に行える。これに比べキャッシュ２４００は、外部メモリにあたるため、プロセッサ２２００からのアクセスは極めて低速となる。近年、後述のＰＣＩバスの発展によりポスティッド・ライト方式が採用されキャッシュ２４００等の外部メモリに対してもライト（更新）速度は内部メモリ（ローカルメモリ２２１０）並みに高速化が図られているが、リード速度は、内部メモリの方がはるかに高速である。従って、データの管理情報の参照は、キャッシュ内管理情報領域２４２０を参照するよりローカルメモリ内管理情報領域２２２１の方を参照する方がメモリアクセスにかかるオーバヘッドを削減できる。
【００２８】
図４に、一例として、ＰＣＩバス４０００を用いて、プロセッサ２２００と、ホストＩ／Ｆ制御部２１００、配下のデータ転送制御部２３００、キャッシュ２４００、ＤＲＶＩ／Ｆ制御部２５００を制御する場合の接続構成例を示す。この場合、プロセッサ２２００内には、ローカルメモリ２２１０のプログラム領域２２２２に格納されたマイクロプログラムにて動作するマイクロプロセッサユニット（ＭＰＵ）２２０１、ＭＰＵ２２０１と外部との間におけるＰＣＩバスＩ／Ｆを実現するバスコントローラ２２０２が設けられている。
【００２９】
上述のポスティッド・ライトでは、たとえばＭＰＵ２２０１からバスコントローラ２２０２を経由したキャッシュ２４００に対するデータライトに際しては、バスコントローラ２２０２に対するデータライト完にて、ＭＰＵ２２０１でのデータライト処理が完結するため、キャッシュ２４００でのライト完了を待つ必要がなく、外部への高速なデータライトが可能となる。これに対して、外部のキャッシュ２４００等からのからＭＰＵ２２０１へのデータリード処理では、キャッシュ２４００のアクセス速度に依存するため高速なデータリード（キャッシュ２４００のキャッシュ内管理情報領域２４２０の参照等）が期待できない。
【００３０】
そこで、本実施の形態の場合には、キャッシュ２４００のキャッシュ内管理情報領域２４２０の参照する代わりに、等価な管理情報を保持するローカルメモリ２２１０のローカルメモリ内管理情報領域２２２１を参照することで、キャッシュ２４００の制御の高速化を実現する。
【００３１】
次に、本実施の形態における、ディスクサブシステムでの、ホストコンピュータ１０００からのＩ／Ｏ処理について図１、図２、図３、図６を用いて説明する。ホストコンピュータ１０００からの書き込み処理について説明する。
【００３２】
ホストコンピュータ１０００からの書き込み要求時、プロセッサ２２００は、ホストＩ／Ｆ制御部２１００により、書き込み論理データを受領し、当該データをデータ転送制御部２３００を通じてユーザデータ領域２４１０に書き込み、ホストコンピュータ１０００に終了を報告する。このキャッシュ上のユーザデータ領域２４１０への書き込みを行うためには、空きエリアを検索する必要がある。この検索においては、プロセッサ２２００は低速なキャッシュ内管理情報領域２４２０ではなく高速なローカルメモリ内管理情報領域２２２１を用いて検索する。空きエリアが見つかれば、当該エリアにデータを書き込み、キャッシュ内管理情報領域２４２０とローカルメモリ内管理情報領域２２２１の両方を更新する。この更新は、プロセッサ２２００が両方を更新しても構わないし、プロセッサ２２００の指示によりデータ転送制御部２３００がキャッシュ内管理情報領域２４２０とローカルメモリ内管理情報領域２２２１に自動的に２重書きしても構わない。
【００３３】
このようにキャッシュ２４００上のデータの管理情報を参照する場合には、高速なローカルメモリ２２１０から参照し、更新する場合にはキャッシュ２４００とローカルメモリ２２１０の両方を更新する。前述のようにキャッシュ２４００のリードアクセス速度が極めて低速（たとえばローカルメモリ２２１０の２０倍程度）であるのに対し、キャッシュ２４００のライトアクセス速度は、ポスティッド・ライトの採用によりローカルメモリ並みのため、この方式は有用である。
【００３４】
すなわち、キャッシュ２４００の管理情報をローカルメモリ２２１０にも２重書きするためのオーバヘッドの増加より、当該管理情報をキャッシュリードからローカルメモリリードに変更することによるオーバヘッドの削減の方がはるかに大きい。
【００３５】
上記は、ホストコンピュータ１０００からキャッシュ２４００への書き込み処理について説明したが、本実施の形態によれば、この後、ホストコンピュータ１０００とは非同期に行われる冗長データの生成、ライトデータおよび冗長データのディスク装置３０００への書き込みにおいても同様にオーバヘッドの削減が図れる。例えば、ライトデータのディスク装置３０００への書き込みにおいては、ユーザデータ領域２４１０上のライトデータの検索が必要であり、またライトデータのディスク装置３０００への書き込み位置決定のために当該データの論理アドレスの参照が必要である。これらのデータ管理情報の参照をすべて高速なローカルメモリ内管理情報領域２２２１から行うことによりオーバヘッドを削減し、記憶制御装置２０００におけるキャッシュ２４００を経由したデータ転送速度等の高速化による処理性能の向上を実現することができる。
【００３６】
また、この高速化はホストコンピュータ１０００からの読み込み処理においても同様に図ることができる。例えば、ホストコンピュータ１０００から要求されたデータがユーザデータ領域２４１０上に存在するか否か（ヒット／ミス）判定するためには管理情報の参照が必要である。また、ユーザデータ領域２４１０上に存在しない場合には、ディスク装置３０００からユーザデータ領域２４１０に読み込むために、ユーザデータ領域２４１０の空きエリアを検索する必要があり、やはり管理情報の参照が必要である。
【００３７】
このように、それが読み込み処理であれ、書き込み処理であれ、ホストコンピュータ１０００とディスク装置３０００間のデータ転送を制御するプロセッサ２２００のオーバヘッドの多くは、ユーザデータ領域２４１０上のデータを管理する管理情報（２４２０および２２２１）の参照、更新である。本実施の形態は、この内、従来、特出して低速であった参照処理のオーバヘッドを削減する方式であり、あらゆるアクセス形態においても大幅にオーバヘッドの削減を実現し、記憶制御装置２０００の高速化を図ることができる。上述のホストＩ／Ｏ処理の一例を図６のフローチャートにまとめて示す。
【００３８】
次に、突発的な電源断等の障害時の復旧方式について図１、図２、図３、図５を用いて説明する。
【００３９】
突発的な電源断等の障害によりプロセッサ２２００への電源供給が停止した場合、一般にプロセッサ内部メモリであるローカルメモリ２２１０は揮発メモリであり、ローカルメモリ２２１０内の情報は全て失われる。これに対し、キャッシュ２４００は不揮発メモリであり、ユーザデータ領域２４１０、キャッシュ内管理情報領域２４２０ともに情報は保持される。
【００４０】
ここで、障害が回復し、電源の再投入が実施されると、まずプロセッサ２２００は、情報が失われてしまったローカルメモリ内管理情報領域２２２１の情報を復元するため、キャッシュ内管理情報領域２４２０内の情報を用いてローカルメモリ内管理情報領域２２２１を復元する。この復元はプロセッサ２２００が自ら行っても構わないし、プロセッサ２２００の指示により、データ転送制御部２３００が行っても構わない。
【００４１】
この復元処理をしている間は、ホストコンピュータ１０００からのＩ／Ｏ処理を一時止めておく（ホストコンピュータ１０００からの要求を受けつけなくても構わないし、要求は受けつけキューイングのみは行い、実行のみを止めても構わない）か、または、データの管理情報の参照は、キャッシュ内管理情報領域２４２０から参照することで対応可能である。
【００４２】
ローカルメモリ内管理情報領域２２２１の復元が完了すれば、これまでどおりのＩ／Ｏ処理を実行する。上述の電源投入時の一連の処理を図５のフローチャートに例示する。
【００４３】
このように、正常時はあたかも揮発するローカルメモリ２２１０でキャッシュ２４００上のユーザデータを管理しているように見せながらも障害時には不揮発のキャッシュ２４００上のキャッシュ内管理情報領域２４２０の管理情報等を用いてデータ消失を防ぎ、信頼性を低下させることなくキャッシュ２４００を経由したデータ転送速度等の高速化を図ることができる。
【００４４】
以上説明したように、本実施の形態の記憶制御装置およびキャッシュメモリの制御方法によれば、ライトキャッシュを備えた記憶制御装置において、データの信頼性を落とすことなく、キャッシュ上のユーザデータに対するアクセス管理のオーバヘッドを大幅に削減できるようになり、あらゆるアクセス形態においても記憶制御装置の処理性能を向上することができる。
【００４５】
以上本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【図面の簡単な説明】
【００４６】
【図１】本発明の一実施の形態である記憶制御装置およびキャッシュメモリの制御方法をディスクアレイ装置に適用した場合の構成の一例を示す概念図である。
【図２】本発明の一実施の形態である記憶制御装置およびキャッシュメモリの制御方法におけるキャッシュメモリ内の情報内容の一例を示す概念図である。
【図３】本発明の一実施の形態である記憶制御装置およびキャッシュメモリの制御方法におけるローカルメモリ内の情報内容の一例を示す概念図である。
【図４】本発明の一実施の形態である記憶制御装置およびキャッシュメモリの制御方法が適用されるディスクアレイ装置においてマイクロプロセッサと外部との情報の授受をＰＣＩバスを用いて行う場合の構成の一例を示す概念図である。
【図５】本発明の一実施の形態である記憶制御装置およびキャッシュメモリの制御方法の作用の一例を示すフローチャートである。
【図６】本発明の一実施の形態である記憶制御装置およびキャッシュメモリの制御方法の作用の一例を示すフローチャートである。
【符号の説明】
【００４７】
１０００…ホストコンピュータ（上位装置）、２０００…記憶制御装置、２１００…ホストＩ／Ｆ制御部、２２００…マイクロプロセッサ、２２０１…マイクロプロセッサユニット（ＭＰＵ）、２２０２…バスコントローラ、２２１０…ローカルメモリ、２２２１…ローカルメモリ内管理情報領域（第２の記憶領域）、２２２２…プログラム領域、２３００…データ転送制御部、２４００…キャッシュメモリ、２４１０…ユーザデータ領域、２４２０…キャッシュ内管理情報領域（第１の記憶領域）、２５００…ＤＲＶＩ／Ｆ制御部、３０００…ディスク装置（記憶装置）、４０００…ＰＣＩバス。
【図１】
2006099802.tif 000003
【図２】
2006099802.tif 000004
【図３】
2006099802.tif 000005
【図４】
2006099802.tif 000006
【図５】
2006099802.tif 000007
【図６】
2006099802.tif 000008