(57)【要約】【課題】メモリダンプの書き込み時間をより短縮する。【解決手段】システムクラッシュ発生時にメモリ１２の内容をダンプしてダンプ格納部２４に記録する。キャッシュメモリ部２３は、データ格納部２５の内容をコピーして保持するリードキャッシュ領域と、データ格納部２５への書き込みデータを一時保持するライトキャッシュ領域とを有する。ライト制御部２１は、キャッシュメモリ部２３におけるキャッシュ領域を動的に割り当てるようにキャッシュメモリ部２３を制御する。メモリダンプの指示があった場合に、リードキャッシュ領域と、ライトキャッシュ領域の内でデータ格納部２５への書き込みが終了しているライトキャッシュ領域とを、ダンプするメモリ内容を一時保持するダンプキャッシュ領域２３ｄとして割り当てる。【選択図】図２
2007193414.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータとディスク装置との間のデータ転送をキャッシュメモリ部を用いて制御するコンピュータシステムであって、
ディスク装置の内容をコピーして保持するリードキャッシュ領域と、前記ディスク装置への書き込みデータを一時保持するライトキャッシュ領域とを有するキャッシュメモリ部と、
前記キャッシュメモリ部におけるキャッシュ領域を動的に割り当てるように前記キャッシュメモリ部を制御するライト制御部と、
を備え、
前記ライト制御部は、メモリダンプの指示があった場合に、前記リードキャッシュ領域と、前記ライトキャッシュ領域の内で前記ディスク装置への書き込みが終了しているライトキャッシュ領域とを、ダンプするメモリ内容を一時保持するキャッシュ領域（以下、ダンプキャッシュ領域という）として割り当てることを特徴とするコンピュータシステム。
【請求項２】
前記ライト制御部は、前記ライトキャッシュ領域の内で前記ディスク装置への書き込みが終了していないライトキャッシュ領域が存在する場合は、該ライトキャッシュ領域から前記ディスク装置への書き込みが終了する毎に、該書き込みが終了したライトキャッシュ領域を、前記ダンプキャッシュ領域としてさらに割り当てるように前記キャッシュメモリ部を制御することを特徴とする請求項１記載のコンピュータシステム。
【請求項３】
前記ライト制御部は、ダンプするメモリの全てのデータが前記ダンプキャッシュ領域へ書き込まれた時点で前記ホストコンピュータに対して書き込みの完了を通知することを特徴とする請求項１または２記載のコンピュータシステム。
【請求項４】
前記ディスク装置へのメモリダンプ以外の書き込みあるいは前記ディスク装置からの読み出しを行うために前記キャッシュメモリ部を制御するアレイコントローラを備え、
前記アレイコントローラは、前記メモリダンプの指示があってメモリダンプが終了するまでは、前記ディスク装置への書き込みあるいは前記ディスク装置からの読み出しを前記キャッシュメモリ部を介さずに直接前記ディスク装置に対して行うことを特徴とする請求項１または２記載のコンピュータシステム。
【請求項５】
前記ライト制御部は、前記ダンプキャッシュ領域の全てのデータを前記ディスク装置に書き込んだ後、前記ダンプキャッシュ領域を開放し、前記アレイコントローラに対し前記リードキャッシュ領域および前記ライトキャッシュ領域を前記キャッシュメモリ部に再度組み込むように指示し、
前記アレイコントローラは、該指示に基づき前記リードキャッシュ領域および前記ライトキャッシュ領域を前記キャッシュメモリ部に組み込むことを特徴とする請求項４記載のコンピュータシステム。
【請求項６】
ホストコンピュータとディスク装置との間のデータ転送をキャッシュメモリ部を用いて制御するコンピュータシステムがメモリダンプを制御する方法であって、
メモリダンプの指示があった場合に、キャッシュメモリ部のリードキャッシュ領域と、該キャッシュメモリ部のライトキャッシュ領域の内で前記ディスク装置への書き込みが終了しているライトキャッシュ領域とを、ダンプするメモリ内容を一時保持するキャッシュ領域（以下、ダンプキャッシュ領域という）として割り当てることを特徴とするコンピュータシステムにおけるメモリダンプ制御方法。
【請求項７】
前記メモリダンプの指示があった場合であって、前記ライトキャッシュ領域の内で前記ディスク装置への書き込みが終了してないライトキャッシュ領域が存在する場合は、該ライトキャッシュ領域から前記ディスク装置への書き込みが終了する毎に、該書き込みが終了したライトキャッシュ領域を、前記ダンプキャッシュ領域としてさらに割り当てるステップを含むことを特徴とする請求項６記載のコンピュータシステムにおけるメモリダンプ制御方法。
【請求項８】
ダンプするメモリの全てのデータが前記ダンプキャッシュ領域へ書き込まれた時点で前記ホストコンピュータに対して書き込みの完了を通知するステップを含むことを特徴とする請求項６または７記載のコンピュータシステムにおけるメモリダンプ制御方法。
【請求項９】
書き込みが完了した前記ダンプキャッシュ領域の全てのデータを前記ディスク装置に書き込むステップと、
前記ダンプキャッシュ領域を開放するステップと、
開放された前記ダンプキャッシュ領域の代わりに前記リードキャッシュ領域および前記ライトキャッシュ領域を前記キャッシュメモリ部に再度組み込むステップと、
をさらに含むことを特徴とする請求項８記載のコンピュータシステムにおけるメモリダンプ制御方法。
【請求項１０】
前記メモリダンプの指示があってメモリダンプが終了するまでは、前記ディスク装置へのメモリダンプ以外の書き込みあるいは前記ディスク装置からの読み出しを前記キャッシュメモリ部を介さずに直接前記ディスク装置に対して行うことを特徴とする請求項６または７記載のコンピュータシステムにおけるメモリダンプ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムおよびコンピュータシステムにおけるメモリダンプ制御方法に係り、特に、コンピュータシステムにおいてシステムクラッシュが生じた場合にメモリダンプを行う際のキャッシュメモリの制御方法およびこの制御方法を実行するコンピュータシステムに係る。
【背景技術】
【０００２】
コンピュータシステムにおいてシステムクラッシュが生じた場合に、システムクラッシュの原因調査等のためにメモリの内容を記録あるいは表示するメモリダンプが行われることが多い。コンピュータシステムは、システムクラッシュした場合にメモリ内容の採取処理（メモリダンプ処理）を発生させるが、メモリダンプ処理を行っている間は、コンピュータシステムは停止し再起動することができないため、ダウンタイムが生じてしまう。
【０００３】
このようなダウンタイムを短縮するシステムとして、ＰＯＳ端末の例が特許文献１に開示されている。このＰＯＳ端末は、異常発生を検知した際に、ダンプスイッチを押すか、またはアプリケーションプログラムから指示することで、ダンプ格納プログラムを起動する。起動されたダンプ格納プログラムは、メモリの内容をディスクに格納するものである。
【０００４】
また、関連する技術として、特許文献２には、データのキャッシュ領域をより大きく確保することによってキャッシュヒット率を向上させ、ユーザのデータ画面切替の待ち時間を軽減するデータ受信装置が記載されている。
【０００５】
【特許文献１】特開平８−２８６９５７号公報
【特許文献２】特開２００５−１２３９４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、昨今のコンピュータシステムでは、メモリ容量の増加に伴い、ディスク装置へのメモリダンプの書き込み時間が無視できなくなっている。したがって、システムクラッシュからＯＳのリブートまでの時間がより長くなって、システム全体のダウンタイムが長期化してしまう虞がある。
【０００７】
これに対して、特許文献１では、ダウンタイムを短縮するとはいえ、単にメモリの内容をハードディスクにダンプするＰＯＳ端末を開示しているに過ぎず、ディスク装置へのメモリダンプの書き込み時間をより短縮するような技術を何ら開示していない。
【課題を解決するための手段】
【０００８】
そこで、本発明者は、メモリダンプという一過性のライト性能が必要な状況に対し、ライト性能の向上に特化した動作を行うことでシステムクラッシュからＯＳのリブートまでの時間を短縮させることが可能であると考えた。そして、一般的にディスクアレイシステムのキャッシュメモリは、リード／ライト両方の性能向上を両立させるため、リード／ライト双方のキャッシュ領域を混在させているが、メモリダンプ時には、ライトキャッシュ領域を可能な限り広げることでライト性能の向上を図るものとして、本発明を創案するに至った。
【０００９】
本発明の１つのアスペクトに係るコンピュータシステムは、ホストコンピュータとディスク装置との間のデータ転送をキャッシュメモリ部を用いて制御するコンピュータシステムである。このコンピュータシステムは、ディスク装置の内容をコピーして保持するリードキャッシュ領域と、ディスク装置への書き込みデータを一時保持するライトキャッシュ領域とを有するキャッシュメモリ部と、キャッシュメモリ部におけるキャッシュ領域を動的に割り当てるようにキャッシュメモリを制御するライト制御部と、を備える。ライト制御部は、メモリダンプの指示があった場合に、リードキャッシュ領域と、ライトキャッシュ領域の内でディスク装置への書き込みが終了しているライトキャッシュ領域とを、ダンプするメモリ内容を一時保持するキャッシュ領域（以下、ダンプキャッシュ領域という）として割り当てる。
【００１０】
第１の展開形態において、ライト制御部は、ライトキャッシュ領域の内でディスク装置への書き込みが終了していないライトキャッシュ領域が存在する場合は、該ライトキャッシュ領域からディスク装置への書き込みが終了する毎に、該書き込みが終了したライトキャッシュ領域を、ダンプキャッシュ領域としてさらに割り当てるようにキャッシュメモリ部を制御するようにしてもよい。
【００１１】
第２の展開形態において、ライト制御部は、ダンプするメモリの全てのデータがダンプキャッシュ領域へ書き込まれた時点でホストコンピュータに対して書き込みの完了を通知するようにしてもよい。
【００１２】
第３の展開形態において、ディスク装置へのメモリダンプ以外の書き込みあるいはディスク装置からの読み出しを行うためにキャッシュメモリ部を制御するアレイコントローラを備え、アレイコントローラは、メモリダンプの指示があってメモリダンプが終了するまでは、ディスク装置への書き込みあるいはディスク装置からの読み出しをキャッシュメモリ部を介さずに直接ディスク装置に対して行うようにしてもよい。
【００１３】
第４の展開形態において、ライト制御部は、ダンプキャッシュ領域の全てのデータをディスク装置に書き込んだ後、ダンプキャッシュ領域を開放し、アレイコントローラに対しリードキャッシュ領域およびライトキャッシュ領域をキャッシュメモリ部に再度組み込むように指示し、アレイコントローラは、該指示に基づきリードキャッシュ領域およびライトキャッシュ領域をキャッシュメモリ部に組み込むようにしてもよい。
【００１４】
本発明の１つのアスペクトに係るコンピュータシステムにおけるメモリダンプ制御方法は、ホストコンピュータとディスク装置との間のデータ転送をキャッシュメモリ部を用いて制御するコンピュータシステムがメモリダンプを制御する方法である。この方法は、メモリダンプの指示があった場合に、キャッシュメモリ部のリードキャッシュ領域と、該キャッシュメモリ部のライトキャッシュ領域の内でディスク装置への書き込みが終了しているライトキャッシュ領域とを、ダンプするメモリ内容を一時保持するキャッシュ領域として割り当てる。
【発明の効果】
【００１５】
本発明によれば、メモリダンプという一過性のライト処理に合わせてディスクキャッシュを有効利用し、見かけ上のライト性能を向上することでディスク装置へのメモリダンプ書き込み時間を短縮する。したがって、システムクラッシュからＯＳのリブートまでの時間が短くなって、コンピュータシステム全体の停止時間の短縮化を図ることができる。
【発明を実施するための最良の形態】
【００１６】
本発明の実施形態に係るコンピュータシステムは、ホストコンピュータ（図１の１０）と、ホストコンピュータに接続されるディスクアレイシステム（図１の２０）とからなり、ホストコンピュータとディスクアレイシステムのディスク装置（データ格納部およびダンプ格納部）との間のデータ転送をキャッシュメモリ部（図１の２３）を用いて制御する。そして、システムクラッシュ発生時等にホストコンピュータのメモリの内容をダンプしてディスクアレイシステム内のダンプ格納部（図１の２４）に記録する。キャッシュメモリ部は、データ格納部（図１の２５）の内容をコピーして保持するリードキャッシュ領域（図１の２３ａ）と、データ格納部への書き込みデータを一時保持するライトキャッシュ領域（図１の２３ｂ、２３ｃ）とを備える。また、キャッシュメモリ部におけるキャッシュ領域を動的に割り当てるようにキャッシュメモリ部を制御するライト制御部（図１の２１）を備える。
【００１７】
ライト制御部は、ホストコンピュータとディスクアレイシステムとを連携させる。そして、メモリダンプの指示があった場合に、リードキャッシュ領域とライトキャッシュ領域の内でデータ格納部への書き込みが終了しているライトキャッシュ領域とを、ダンプするメモリ内容を一時保持するダンプキャッシュ領域（図２の２３ｄ）として割り当てる。さらに、ライトキャッシュ領域の内でデータ格納部への書き込みが終了してないライトキャッシュ領域について、データ格納部への書き込みが終了する毎に、書き込みが終了したライトキャッシュ領域を、ダンプするメモリ内容を一時保持するダンプキャッシュ領域として割り当てる。
【００１８】
データ格納部へのメモリダンプ以外の書き込みあるいはデータ格納部からの読み出しを行う通常時のＩ／Ｏ処理において、キャッシュメモリ部を制御するアレイコントローラ（図１の２２）を備える。このアレイコントローラは、メモリダンプの指示があってメモリダンプが終了するまでは、データ格納部への書き込みあるいはデータ格納部からの読み出しをキャッシュメモリ部を介さずに直接データ格納部に対して行う。
【００１９】
このように構成されるコンピュータシステムは、メモリダンプ時のＩ／Ｏ処理と通常時のＩ／Ｏ処理とでキャッシュメモリ部のキャッシュ領域の割り当てを異なるように制御する。メモリダンプ時のＩ／Ｏ処理の場合には、キャッシュ制御をライト性能が最大限出せるようにライトキャッシュ領域を拡大してダンプ採取におけるディスクへの見かけ上のディスクライト時間を短縮させる。これによって、システムクラッシュ発生時におけるコンピュータシステムの停止時間の短縮が可能となる。以下、実施例に即し、図面を参照して詳細に説明する。
【実施例１】
【００２０】
図１は、本発明の実施例に係るコンピュータシステムの構成を示すブロック図である。図１において、コンピュータシステムは、ホストコンピュータ１０と、ホストコンピュータ１０に接続されるディスクアレイシステム２０とを備える。ホストコンピュータ１０は、ＣＰＵ１１、メモリ１２、指示部１３およびデータ制御部１４を備える。ディスクアレイシステム２０は、ダンプ制御部３０を構成するライト制御部２１、アレイコントローラ２２、キャッシュメモリ部２３、ダンプ格納部２４、データ格納部２５を備える。ダンプ採取を制御するためのダンプ制御部３０がホストコンピュータ１０とディスクアレイシステム２０とに分散されて存在し、ライト制御部２１、指示部１３およびデータ制御部１４がダンプ制御部３０に相当する。なお、ダンプ格納部２４、データ格納部２５は、ハードディスク等で構成されるディスク装置である。
【００２１】
ダンプ制御部３０は、ダンプ採取を制御する指示部１３とメモリ１２からのダンプデータの転送を制御するデータ制御部１４とをホストコンピュータ１０側に備え、ディスクアレイシステム２０側には、ダンプライト時のキャッシュメモリ制御とＩ／Ｏ制御を行うライト制御部２１と、通常のＩ／Ｏを処理するためのアレイコントローラ２２と、データを格納するためのディスクと、を備える。
【００２２】
はじめに、通常のＩ／Ｏ処理について説明する。図１において通常のＩ／Ｏ処理は、アレイコントローラ２２を介し、キャッシュメモリ部２３とデータ格納部２５とを使用することで実行される（経路Ｐ０ａ）。アレイコントローラ２２は、リード処理の場合に、リードキャッシュにヒットすればキャッシュメモリ部２３からデータを読み出し、ヒットしなければデータ格納部２５からデータを読み出してホストコンピュータ１０に転送する。一方、アレイコントローラ２２は、ライト処理の場合に、ホストコンピュータ１０からキャッシュメモリ部２３にデータを書き込んだ時点で書き込み終了をホストコンピュータ１０側に返す。キャッシュメモリ部２３に書き込まれたデータは、データ格納部２５に格納される。尚、ライト制御部２１は、通常時には動作しない。
【００２３】
このような通常のＩ／Ｏ処理において、キャッシュメモリ部２３には、リードキャッシュ領域２３ａとライトキャッシュ領域２３ｂ、２３ｃとが存在する。一般的にリード／ライトの両方の処理を行うために、リードキャッシュ領域２３ａおよびライトキャッシュ領域２３ｂ、２３ｃのそれぞれは、実際の物理的なキャッシュメモリの容量の５０％程度とされ、かつライトキャッシュ領域２３ｂ、２３ｃは、データ保護のために二重に冗長化される。ライトキャッシュ領域が二重化される場合に、一つのライトキャッシュ領域に対応する容量は、キャッシュメモリ全体の約２５％程度の容量となる。
【００２４】
次に、ダンプ時のＩ／Ｏ処理についてダンプ制御部３０の動作を中心に説明する。図２は、図１に示すコンピュータシステムに対してダンプ時のＩ／Ｏ処理の情報伝達経路を追記した図である。また、図３は、ダンプ時のＩ／Ｏ処理における主としてダンプ制御部の動作を表すフローチャートである。以下、図２の情報伝達経路および図３における各ステップについて説明する。
【００２５】
システムクラッシュが発生すると、ステップＳ１１において、指示部１３は、メモリダンプのライトが発生したことをライト制御部２１に指示する（図２のＰ１）。
【００２６】
ステップＳ１２において、ライト制御部２１は、指示を受け取るとアレイコントローラ２２にキャッシュメモリの開放を要求する（図２のＰ２）。
【００２７】
次に、キャッシュメモリ部２３におけるキャッシュの開放処理を行う。ステップＳ１３ａにおいて、アレイコントローラ２２は、キャッシュメモリの開放要求に基づきキャッシュメモリ部２３における開放可能なキャッシュ領域があるか否かを調べる。開放可能な領域があればステップＳ１３ｂでキャッシュの開放を行い、開放可能な領域が無ければステップＳ２５ａに進む。この場合、ディスク装置（データ格納部２５）のコピーが存在するリードキャッシュ領域２３ａと、ディスク書き込みが終了しているライトキャッシュ領域２３ｂ、２３ｃの一部あるいは全部とが、開放可能な領域に該当する。なお、アレイコントローラ２２は、キャッシュ解放後、ステップＳ２４が終了するまでは、通常のＩ／Ｏ処理（例えば、他のサーバからのＩ／Ｏ等）に関し、キャッシュメモリ部２３を利用せずに処理を行う（図２のＰ０ｂ）。
【００２８】
一方、アレイコントローラ２２は、ステップＳ１３ａにおいて開放できないライトキャッシュ領域２３ｂ、２３ｃの一部については、キャッシュメモリ部２３の内容をデータ格納部２５に書き込み（ステップＳ２５ａ、図２のＰ３）、書き込み完了後に逐次開放する（ステップＳ２５ｂ）。そして開放されたキャッシュ領域の全てを冗長化しないダンプキャッシュ領域として逐次組み込む（ステップＳ２５ｃ、図２のＰ４）。ステップＳ２５ａ、Ｓ２５ｂ、Ｓ２５ｃにおけるダンプキャッシュ領域２３ｄの拡大処理は、ステップＳ１４以降の処理と並行して繰り返し実行される。
【００２９】
ステップＳ１４において、ライト制御部２１は、ステップＳ１３ｂで開放されたキャッシュ領域を、ダンプキャッシュ領域２３ｄとして組み込む。
【００３０】
ステップＳ１５において、ステップＳ１４での組み込みが完了後、ライト制御部２１は、受け取り準備が完了した旨を指示部１３に通知する（図２のＰ５）。
【００３１】
ステップＳ１６において、指示部１３は、通知を受け取ったことで、データ制御部１４に対してメモリダンプの転送開始を指示する（図２のＰ６）。
【００３２】
次に、メモリダンプデータのライト処理を行う。データ制御部１４は、転送開始の指示を受け取ると、ステップＳ１７ａにおいて、メモリ１２におけるダンプデータをライト制御部２１に送付する。ライト制御部２１は、データ制御部１４経由で受け取ったデータをメモリダンプデータとして、ダンプキャッシュ領域２３ｄに書き込む（図２のＰ７）。なお、メモリダンプデータ以外の通常のＩ／Ｏ処理データは、アレイコントローラ２２に渡される。ダンプキャッシュ領域２３ｄに書き込まれたデータは、並行してダンプ格納部２４に書き込みがなされる（図２のＰ１０）。ここで、ホストコンピュータ１０側に対しては、ダンプキャッシュ領域２３ｄへの書き込み終了をライトの終了として見せるものとする（ステップＳ１７ｂ）。なお、キャッシュを利用したディスク装置のデータ書き込みのやりとりは、既存技術を用いる。
【００３３】
ステップＳ１７ｃにおいて、全てのデータのダンプキャッシュ領域への書き込みが完了したかをチェックする。書き込みが完了していなければステップＳ１７ａに戻り、書き込みが完了していれば、ステップＳ１８において、ライト制御部２１は、指示部１３に対して完了を通知する（図２のＰ８）。
【００３４】
ステップＳ１９において、指示部１３は、完了通知を受け取った段階でホストコンピュータ１０におけるＯＳのリブートを行う（図２のＰ９）。
【００３５】
一方、ライト制御部２１は、ステップＳ１８の完了通知と並行して、ダンプキャッシュ領域２３ｄに残ったデータをダンプ格納部２４に書き込み（ステップＳ２０、図２のＰ１０）、書き込みが全て終了したか否かを調べる（ステップＳ２１、図２のＰ１１）。全てのデータを書き込んだ後（ステップＳ２１のＹ）、ダンプキャッシュ領域２３ｄを開放する（ステップＳ２２、図２のＰ１２）。
【００３６】
ステップＳ２３において、ダンプキャッシュ領域２３ｄの解放後、ライト制御部２１は、アレイコントローラ２２に対し通常のＩ／Ｏのリード・ライトキャッシュ領域としてキャッシュメモリを再度組み込むように指示する（図２のＰ１３）。
【００３７】
ステップＳ２４において、アレイコントローラ２２は、再組み込みの指示に基づき通常のリード・ライトキャッシュ領域をキャッシュメモリ部２３に再び組み込む（図２のＰ１４）。以降は、図１のＰ０ａに示すような経路によって通常のＩ／Ｏ処理がキャッシュメモリ部２３を介して行われる。
【００３８】
以上のようにダンプ制御部３０が動作し、ホストコンピュータ１０とディスクアレイシステム２０とを連携させ、メモリダンプ時にはキャッシュメモリ部２３におけるキャッシュ領域を可能な限りライトに特化した領域として拡大するように制御する。そして、ディスクへの見かけ上のライト性能を向上させることでダンプ採取の時間を短縮し、コンピュータシステム全体の中断時間の短縮を実現する。
【図面の簡単な説明】
【００３９】
【図１】本発明の実施例に係るコンピュータシステムの構成を示すブロック図である。
【図２】図１のコンピュータシステムにおいてダンプ時のＩ／Ｏ処理の情報伝達経路を表す図である。
【図３】ダンプ時のＩ／Ｏ処理における主としてダンプ制御部の動作を表すフローチャートである。
【符号の説明】
【００４０】
１０  ホストコンピュータ
１１  ＣＰＵ
１２  メモリ
１３  指示部
１４  データ制御部
２０  ディスクアレイシステム
２１  ライト制御部
２２  アレイコントローラ
２３  キャッシュメモリ部
２３ａ  リードキャッシュ領域
２３ｂ、２３ｃ  ライトキャッシュ領域
２３ｄ  ダンプキャッシュ領域
２４  ダンプ格納部
２５  データ格納部
３０  ダンプ制御部
Ｐ０ａ、Ｐ０ｂ、Ｐ１〜Ｐ１４  情報伝達経路
【図１】
2007193414.tif 000003
【図２】
2007193414.tif 000004
【図３】
2007193414.tif 000005