(57)【特許請求の範囲】
【請求項１】
ネットワークを介しクライアント端末からのアクセスを受け付けて通信するサーバ装置において、
保護対象のメモリに供給される第１の電源の異常を検出する電源監視手段と、前記第１の電源に異常が検出され、前記サーバ装置のシステムが終了する場合に、前記保護対象のメモリへ第２の電源を供給するように切り替え、前記保護対象のメモリをメモリコントローラから切り離して制御を行うメモリ制御手段とを備えた記憶保護部を含み、
前記サーバ装置が起動し前記第１の電源が復帰する場合に、前回の前記サーバ装置のシステムの終了が異常終了であったときには、前記保護対象のメモリ以外のメモリに対し起動時の初期化処理をした後に、前記保護対象のメモリへの電源供給元を前記第２の電源から前記第１の電源に復帰するよう前記記憶保護部に指示することを特徴とするサーバ装置。
【請求項２】
前記第１の電源が復帰する場合に、前回の前記サーバ装置のシステムの終了が正常終了であったときには、前記保護対象のメモリへの電源供給元を前記第２の電源から前記第１の電源に復帰するよう前記記憶保護部に指示し復帰させた後に、全てのメモリに対し起動時の初期化処理をすることを特徴とする請求項１に記載のサーバ装置。
【請求項３】
前記メモリ制御手段は、
前記第１の電源の異常の解消後には、
前記保護対象のメモリに対する制御を前記メモリコントローラに戻し電源の供給元を前記第２の電源から前記第１の電源に戻すことを特徴とする請求項１または請求項２に記載のサーバ装置。
【請求項４】
前記クライアントから送信されるデータを、前記保護対象のメモリに記録した時点で、前記クライアントに対し前記データの記録完了を通知することを特徴とする請求項１から請求項３のいずれか一つに記載のサーバ装置。
【請求項５】
前記メモリ制御手段は、
前記保護対象のメモリへの電源の供給元を前記第２電源へ切り替える時に、前記保護対象のメモリを低消費電力による動作に切り替えることを特徴とする請求項１から請求項４のいずれか一つに記載のサーバ装置。
【請求項６】
前記保護対象のメモリを、ＳＤＲＡＭとすることを特徴とする請求項１から請求項５のいずれか一つに記載のサーバ装置。
【請求項７】
前記保護対象のメモリを、ＤＩＭＭとすることを特徴とする請求項１から請求項６のいずれか一つに記載のサーバ装置。
【請求項８】
前記記憶保護部は、
ＤＩＭＭである前記保護対象のメモリのＳＰＤと、前記メモリコントローラとの間のＩ２Ｃバスにスイッチを備え、
前記切り替えられた状態においては、前記ＳＰＤと前記メモリコントローラとの間を遮断することを特徴とする請求項７に記載のサーバ装置。
【請求項９】
前記記憶保護部は、
前記Ｉ２Ｃバスを介して、前記保護対象のメモリの前記ＳＰＤを制御することを特徴とする請求項８に記載のサーバ装置。
【請求項１０】
ネットワーク・アタッチド・ストレージであることを特徴とする請求項１から請求項９のいずれか一つに記載のサーバ装置。
【請求項１１】
ファイルサーバであることを特徴とする請求項１から請求項９のいずれか一つに記載のサーバ装置。
【請求項１２】
クライアント端末とサーバとの間で、ネットワークを介して相互に通信するコンピュータシステムにおいて、
前記サーバは、
保護対象のメモリに供給される第１の電源の異常を検出する電源監視手段と、前記第１の電源に異常が検出され、前記サーバ装置のシステムが終了する場合に、前記保護対象のメモリへ第２の電源を供給するように切り替え、前記保護対象のメモリをメモリコントローラから切り離して制御を行うメモリ制御手段とを備えた記憶保護部を含み、
前記サーバ装置が起動し前記第１の電源が復帰する場合に、前回の前記サーバ装置のシステムの終了が異常終了であったときには、前記保護対象のメモリ以外のメモリに対し起動時の初期化処理をした後に、前記保護対象のメモリへの電源供給元を前記第２の電源から前記第１の電源に復帰するよう前記記憶保護部に指示することを特徴とするコンピュータシステム。
【請求項１３】
前記第１の電源が復帰する場合に、前回の前記サーバ装置のシステムの終了が正常終了であったときには、前記保護対象のメモリへの電源供給元を前記第２の電源から前記第１の電源に復帰するよう前記記憶保護部に指示し復帰させた後に、全てのメモリに対し起動時の初期化処理をすることを特徴とする請求項１２に記載のコンピュータシステム。
【請求項１４】
前記メモリ制御手段は、
前記第１の電源の異常の解消後には、
前記保護対象のメモリに対する制御を前記サーバの前記メモリコントローラに戻し電源の供給元を前記第２の電源から前記第１の電源に戻すことを特徴とする請求項１２または請求項１３に記載のコンピュータシステム。
【請求項１５】
前記サーバは、
前記クライアントから送信されるデータを、前記保護対象のメモリに記録した時点で、前記クライアントに対し前記データの記録完了を通知することを特徴とする請求項１２から請求項１４のいずれか一つに記載のコンピュータシステム。
【請求項１６】
前記メモリ制御手段は、
前記保護対象のメモリへの電源の供給元を前記第２の電源へ切り替える時に、前記保護対象のメモリを低消費電力による動作に切り替えることを特徴とする請求項１２から請求項１５のいずれか一つに記載のコンピュータシステム。
【請求項１７】
前記サーバを、ネットワーク・アタッチド・ストレージとすることを特徴とする請求項１２から請求項１６のいずれか一つに記載のコンピュータシステム。
【請求項１８】
前記サーバを、ファイルサーバとすることを特徴とする請求項１２から請求項１７のいずれか一つに記載のコンピュータシステム。
【請求項１９】
ネットワークを介しクライアント端末からのアクセスを受け付けて通信するサーバ装置のメモリ管理方法において、
保護対象のメモリに供給される第１の電源の異常を検出するステップと、
前記第１の電源に異常が検出され、前記サーバ装置のシステムが終了する合に、前記保護対象のメモリへ第２の電源を供給するように切り替え、前記保護対象のメモリをメモリコントローラから切り離して制御を行うステップと、
前記サーバ装置が起動し前記第１の電源が復帰する場合に、前回の前記サーバのシステムの終了が異常終了であったときには、前記保護対象のメモリ以外のメモリに対し起動時の初期化処理をした後に、前記保護対象のメモリへの電源供給元を前記第２の電源から前記第１の電源に復帰させるステップとを含むことを特徴とするメモリ管理方法。
【請求項２０】
前記第１の電源が復帰する場合に、前回の前記サーバのシステムの終了が正常終了であったときには、前記保護対象のメモリへの電源供給元を前記第２の電源から前記第１の電源に復帰するよう前記記憶保護部に指示し復帰させた後に、全てのメモリに対し起動時の初期化処理をするステップを含むことを特徴とする請求項１９に記載のメモリ管理方法。
【請求項２１】
前記第１の電源の異常の解消後には、
前記保護対象のメモリに対する制御を前記メモリコントローラに戻し電源の供給元を前記第２の電源から前記第１の電源に戻すことを特徴とする請求項１９または請求項２０に記載のメモリ管理方法。
【請求項２２】
前記クライアントから送信されるデータを、前記保護対象のメモリに記録した時点で、前記クライアントに対し前記データの記録完了を通知することを特徴とする請求項１９から請求項２１のいずれか一つに記載のメモリ管理方法。
【請求項２３】
前記保護対象のメモリへの電源の供給元を前記第２の電源へ切り替える時に、前記保護対象のメモリを低消費電力による動作に切り替えることを特徴とする請求項１９から請求項２２のいずれか一つに記載のメモリ管理方法。
【請求項２４】
前記保護対象のメモリを、ＳＤＲＡＭとすることを特徴とする請求項１９から請求項２３のいずれか一つに記載のメモリ管理方法。
【請求項２５】
前記保護対象のメモリを、ＤＩＭＭとすることを特徴とする請求項１９から請求項２４のいずれか一つに記載のメモリ管理方法。
【請求項２６】
ＤＩＭＭである前記保護対象のメモリのＳＰＤと、前記メモリコントローラとの間のＩ２Ｃバスにスイッチを備え、前記切り替えられた状態においては、前記ＳＰＤと前記メモリコントローラとの間を遮断することを特徴とする請求項２５に記載のメモリ管理方法。
【請求項２７】
前記Ｉ２Ｃバスを介して、前記保護対象のメモリの前記ＳＰＤを制御することを特徴とする請求項２６に記載のメモリ管理方法。
【請求項２８】
前記サーバを、ネットワーク・アタッチド・ストレージとすることを特徴とする請求項１９から請求項２７のいずれか一つに記載のメモリ管理方法。
【請求項２９】
前記サーバを、ファイルサーバとすることを特徴とする請求項１９から請求項２７のいずれか一つに記載のメモリ管理方法。
【請求項３０】
ネットワークを介しクライアント端末からのアクセスを受け付けて通信するサーバ装置のメモリ管理プログラムを記録した記録媒体において、
保護対象のメモリに供給される第１の電源の異常を検出するステップと、
前記第１の電源に異常が検出され、前記サーバ装置のシステムが終了する場合に、前記保護対象のメモリへ第２の電源を供給するように切り替え、前記保護対象のメモリをメモリコントローラから切り離して制御を行うステップと、
前記サーバ装置が起動し前記第１の電源が復帰する場合に、前回の前記サーバのシステムの終了が異常終了であったときには、前記保護対象のメモリ以外のメモリに対し起動時の初期化処理をした後に、前記保護対象のメモリへの電源供給元を前記第２の電源から前記第１の電源に復帰させることを特徴とするコンピュータにより読み取り可能なメモリ管理プログラムを記録した記録媒体。
【請求項３１】
前記第１の電源が復帰する場合に、前回の前記サーバ装置のシステムの終了が正常終了であったときには、前記保護対象のメモリへの電源供給元を前記第２の電源から前記第１の電源に復帰するよう前記記憶保護部に指示し復帰させた後に、全てのメモリに対し起動時の初期化処理をすることを特徴とする請求項３０に記載のコンピュータにより読み取り可能なメモリ管理プログラムを記録した記録媒体。
【請求項３２】
前記第１の電源の異常の解消後には、前記保護対象のメモリに対する制御を前記メモリコントローラに戻し電源の供給元を前記第２の電源から前記第１の電源に戻すことを特徴とする請求項３０または請求項３１に記載のコンピュータにより読み取り可能なメモリ管理プログラムを記録した記録媒体。
【請求項３３】
前記クライアントから送信されるデータを、前記保護対象のメモリに記録した時点で、前記クライアントに対し前記データの記録完了を通知することを特徴とする請求項３０から請求項３２のいずれか一つに記載のコンピュータにより読み取り可能なメモリ管理プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータシステムのメモリ管理に関し、特にＮＡＳ（Network Attached Storage：ネットワーク・アタッチド・ストレージ）やファイルサーバ等において効率よくメモリを管理するコンピュータシステムとそのメモリ管理方法に関する。
【０００２】
【従来の技術】
従来より、ＬＡＮや通信ネットワークを介してクライアントとサーバ間でデータを送受する様々なコンピュータシステムが広く利用されている。このようなコンピュータシステムには、ファイルサーバ（File Server）や、ＮＡＳ（Network Attached Storage：ネットワーク・アタッチド・ストレージ）等のシステムのように、サーバをファイルやその他のデータの記録のために使用するものもある。
【０００３】
ＮＡＳは、ネットワークインターフェイスを内蔵するストレージサブシステムである。ＮＡＳは、ＲＡＩＤ構成等、多数のハードディスクドライブを搭載したストレージサブシステムをネットワークに直接接続して使用することができる。また、ＮＡＳでは、複数のサーバで1つのストレージを共有できるため障害発生時において処理を引き継ぐことができる等の利点がある。
【０００４】
図６は、従来のＮＡＳサーバの構成を示すブロック図である。
【０００５】
こうした、ファイルサーバやＮＡＳ等のコンピュータシステムでは、例えば、記録しているデータのクライアント２００による読み出しの処理は、クライアント２００からＮＩＣ（Network Interface Card：ネットワークインタフェースカード）６０を介して、ＨＤＤ５１に記録されているファイルのリードアクセス要求を受け付けると、ファイバチャネル（Fiber Channel：ＦＣ）コントローラ５０等を介して所定のＨＤＤ５１をアクセスし、クライアント２００にデータを返送し一連のリード処理を終える。
【０００６】
一方、クライアント２００からのライト要求の場合は、ＮＡＳサーバは、クライアント２００からデータを受信し、ＨＤＤ５１にデータを書き込み、次いでクライアント２００に対して正常にライトが完了したことを通知して一連のライト処理を終える。
【０００７】
また従来より、このライト要求の処理においては、より早くクライアント２００に対し記録完了を通知することにより、ＮＡＳ等の処理性能を向上させる手法も用いられている。
【０００８】
これは、クライアント２００から受信したライトデータを、一旦メモリ内に記録した時点で、ＨＤＤ５１への書き込みの終了を待つことなく、直ちにクライアント２００へ記録完了を通知するのである。
【０００９】
一連のライト動作において最も処理時間を必要とするのは、唯一機械的要素の存在するＨＤＤ５１への書き込みである。ここで、一旦メモリに貯められたライトデータを、比較的ＨＤＤ５１の負荷が低いときに一括して書き込みを行うことにより、クライアント側はライト処理を速く終えることができ、ＮＡＳの性能が高いと認識される。また、ＮＡＳ側は、ＨＤＤ５１へのライトデータの書き込み処理を一括してまとめて処理できるため、効率が向上し高い処理性能を実現することができる。
【００１０】
しかし、この従来の方式では、予期せぬ電源断などの発生によりサーバがダウンした場合に、ＨＨＤ５１に記録すべきデータが記録される前に消失してしまうという問題点があった。
【００１１】
更に、クライアント２００においても、一旦ライトデータの完了通知を受け取ると、それまで保持していたライトデータを保持する必要がなくなり破棄される場合があり、ＮＡＳサーバのダウンによりＮＡＳサーバにもクライアントにもその記録されるべきデータが保持されていない状況になり、データのロストが引き起こされることがあった。
【００１２】
この問題点に対応する従来の技術としては、ライトデータをＮＶＲＡＭ（Nonvolatile Memory：不揮発性メモリ）に保持するという手法が広く採用されている。ＮＶＲＡＭは、例えば、図６の例に示されるようにＰＣＩカードに配してＮＶＲＡＭカードを構成される。
【００１３】
図７は、この場合の従来のＮＡＳのライトデータの流れを示すフローチャートである。ＮＡＳサーバは、クライアント２００から受信してメモリ３１に記録されたライトデータを（ステップ７０３）、逐次ＰＣＩバス上のＮＶＲＡＭカードへデータを転送し（ステップ７０４）、ＮＶＲＡＭへの書き込みの確認を完了した後（ステップ７０５）、クライアントへ完了通知を返していた（ステップ７０６）。
【００１４】
【発明が解決しようとする課題】
しかし、上述した従来の技術では、以下に述べるような問題点があった。
【００１５】
近年では、Giga bit Ether等の登場によりネットワークのスピードが向上したため、結果的にＮＡＳサーバの負荷が増加し処理能力が追いつかないという問題が起きている。原因としてはネットワークのＴＣＰ／ＩＰ処理の速度の他に、ＰＣＩバス、メモリ・バスのバンド幅不足が挙げられる。
【００１６】
例えば、クライアントからのライト要求は、前述のＮＶＲＡＭカードを利用した方法においては、ＰＣＩバス上を何度もデータが行き来する必要があり、バスのバンド幅不足の原因となっている。
【００１７】
本発明の第１の目的は、上記従来技術の欠点を解決し、メインメモリ自体を不揮発性メモリ化することにより、特にクライアントからのライト時のライトデータの移動回数の削減によるＰＣＩバスの負荷を軽減し、更にメインメモリにライトデータが渡った時点でクライアントに対し記録の完了を通知することにより、より安全でかつより高速な処理を実現するコンピュータシステムとそのメモリ管理方法を提供することである。
【００１８】
【課題を解決するための手段】
上記目的を達成するため本発明のサーバ装置は、ネットワークを介しクライアント端末からのアクセスを受け付けて通信するサーバ装置において、保護対象のメモリに供給される第１の電源の異常を検出する電源監視手段と、前記第１の電源に異常が検出され、前記サーバ装置のシステムが終了する場合に、前記保護対象のメモリへ第２の電源を供給するように切り替え、前記保護対象のメモリをメモリコントローラから切り離して制御を行うメモリ制御手段とを備えた記憶保護部を含み、前記サーバ装置が起動し前記第１の電源が復帰する場合に、前回の前記サーバ装置のシステムの終了が異常終了であったときには、前記保護対象のメモリ以外のメモリに対し起動時の初期化処理をした後に、前記保護対象のメモリへの電源供給元を前記第２の電源から前記第１の電源に復帰するよう前記記憶保護部に指示することを特徴とする。
【００１９】
請求項２の本発明のサーバ装置は、前記第１の電源が復帰する場合に、前回の前記サーバ装置のシステムの終了が正常終了であったときには、前記保護対象のメモリへの電源供給元を前記第２の電源から前記第１の電源に復帰するよう前記記憶保護部に指示し復帰させた後に、全てのメモリに対し起動時の初期化処理をすることを特徴とする。
【００２０】
請求項３の本発明のサーバ装置は、前記メモリ制御手段は、前記第１の電源の異常の解消後には、前記保護対象のメモリに対する制御を前記メモリコントローラに戻し電源の供給元を前記第２の電源から前記第１の電源に戻すことを特徴とする。
【００２１】
請求項４の本発明のサーバ装置は、前記クライアントから送信されるデータを、前記保護対象のメモリに記録した時点で、前記クライアントに対し前記データの記録完了を通知することを特徴とする。
【００２２】
請求項５の本発明のサーバ装置は、前記メモリ制御手段は、前記保護対象のメモリへの電源の供給元を前記第２電源へ切り替える時に、前記保護対象のメモリを低消費電力による動作に切り替えることを特徴とする。
【００２３】
請求項６の本発明のサーバ装置は、前記保護対象のメモリを、ＳＤＲＡＭとすることを特徴とする。
【００２４】
請求項７の本発明のサーバ装置は、前記保護対象のメモリを、ＤＩＭＭとすることを特徴とする。
【００２５】
請求項８の本発明のサーバ装置は、前記記憶保護部は、ＤＩＭＭである前記保護対象のメモリのＳＰＤと、前記メモリコントローラとの間のＩ２Ｃバスにスイッチを備え、前記切り替えられた状態においては、前記ＳＰＤと前記メモリコントローラとの間を遮断することを特徴とする。
【００２６】
請求項９の本発明のサーバ装置は、前記記憶保護部は、前記Ｉ２Ｃバスを介して、前記保護対象のメモリの前記ＳＰＤを制御することを特徴とする。
【００２７】
請求項１０の本発明のサーバ装置は、ネットワーク・アタッチド・ストレージであることを特徴とする。
【００２８】
請求項１１の本発明のサーバ装置は、ファイルサーバであることを特徴とする。
【００２９】
請求項１２の本発明のコンピュータシステムは、クライアント端末とサーバとの間で、ネットワークを介して相互に通信するコンピュータシステムにおいて、前記サーバは、保護対象のメモリに供給される第１の電源の異常を検出する電源監視手段と、前記第１の電源に異常が検出され、前記サーバ装置のシステムが終了する場合に、前記保護対象のメモリへ第２の電源を供給するように切り替え、前記保護対象のメモリをメモリコントローラから切り離して制御を行うメモリ制御手段とを備えた記憶保護部を含み、前記サーバ装置が起動し前記第１の電源が復帰する場合に、前回の前記サーバ装置のシステムの終了が異常終了であったときには、前記保護対象のメモリ以外のメモリに対し起動時の初期化処理をした後に、前記保護対象のメモリへの電源供給元を前記第２の電源から前記第１の電源に復帰するよう前記記憶保護部に指示することを特徴とする。
【００３０】
請求項１３の本発明のコンピュータシステムは、前記第１の電源が復帰する場合に、前回の前記サーバ装置のシステムの終了が正常終了であったときには、前記保護対象のメモリへの電源供給元を前記第２の電源から前記第１の電源に復帰するよう前記記憶保護部に指示し復帰させた後に、全てのメモリに対し起動時の初期化処理をすることを特徴とする。
【００３１】
請求項１４の本発明のコンピュータシステムは、前記メモリ制御手段は、前記第１の電源の異常の解消後には、前記保護対象のメモリに対する制御を前記サーバの前記メモリコントローラに戻し電源の供給元を前記第２の電源から前記第１の電源に戻すことを特徴とする。
【００３２】
請求項１５の本発明のコンピュータシステムは、前記サーバは、前記クライアントから送信されるデータを、前記保護対象のメモリに記録した時点で、前記クライアントに対し前記データの記録完了を通知することを特徴とする。
【００３３】
請求項１６の本発明のコンピュータシステムは、前記メモリ制御手段は、
前記保護対象のメモリへの電源の供給元を前記第２の電源へ切り替える時に、前記保護対象のメモリを低消費電力による動作に切り替えることを特徴とする。
【００３４】
請求項１７の本発明のコンピュータシステムは、前記サーバを、ネットワーク・アタッチド・ストレージとすることを特徴とする。
【００３５】
請求項１８の本発明のコンピュータシステムは、前記サーバを、ファイルサーバとすることを特徴とする。
【００３６】
請求項１９の本発明のメモリ管理方法は、ネットワークを介しクライアント端末からのアクセスを受け付けて通信するサーバ装置のメモリ管理方法において、保護対象のメモリに供給される第１の電源の異常を検出するステップと、前記第１の電源に異常が検出され、前記サーバ装置のシステムが終了する合に、前記保護対象のメモリへ第２の電源を供給するように切り替え、前記保護対象のメモリをメモリコントローラから切り離して制御を行うステップと、前記サーバ装置が起動し前記第１の電源が復帰する場合に、前回の前記サーバのシステムの終了が異常終了であったときには、前記保護対象のメモリ以外のメモリに対し起動時の初期化処理をした後に、前記保護対象のメモリへの電源供給元を前記第２の電源から前記第１の電源に復帰させるステップとを含むことを特徴とする。
【００３７】
請求項２０の本発明のメモリ管理方法は、前記第１の電源が復帰する場合に、前回の前記サーバのシステムの終了が正常終了であったときには、前記保護対象のメモリへの電源供給元を前記第２の電源から前記第１の電源に復帰するよう前記記憶保護部に指示し復帰させた後に、全てのメモリに対し起動時の初期化処理をするステップを含むことを特徴とする。
【００３８】
請求項２１の本発明のメモリ管理方法は、前記第１の電源の異常の解消後には、前記保護対象のメモリに対する制御を前記メモリコントローラに戻し電源の供給元を前記第２の電源から前記第１の電源に戻すことを特徴とする。
【００３９】
請求項２２の本発明のメモリ管理方法は、前記クライアントから送信されるデータを、前記保護対象のメモリに記録した時点で、前記クライアントに対し前記データの記録完了を通知することを特徴とする。
【００４０】
請求項２３の本発明のメモリ管理方法は、前記保護対象のメモリへの電源の供給元を前記第２の電源へ切り替える時に、前記保護対象のメモリを低消費電力による動作に切り替えることを特徴とする。
【００４１】
請求項２４の本発明のメモリ管理方法は、前記保護対象のメモリを、ＳＤＲＡＭとすることを特徴とする。
【００４２】
請求項２５の本発明のメモリ管理方法は、前記保護対象のメモリを、ＤＩＭＭとすることを特徴とする。
【００４３】
請求項２６の本発明のメモリ管理方法は、ＤＩＭＭである前記保護対象のメモリのＳＰＤと、前記メモリコントローラとの間のＩ２Ｃバスにスイッチを備え、前記切り替えられた状態においては、前記ＳＰＤと前記メモリコントローラとの間を遮断することを特徴とする。
【００４４】
請求項２７の本発明のメモリ管理方法は、前記Ｉ２Ｃバスを介して、前記保護対象のメモリの前記ＳＰＤを制御することを特徴とする。
【００４５】
請求項２８の本発明のメモリ管理方法は、前記サーバを、ネットワーク・アタッチド・ストレージとすることを特徴とする。
【００４６】
請求項２９の本発明のメモリ管理方法は、前記サーバを、ファイルサーバとすることを特徴とする。
【００４７】
請求項３０の本発明のコンピュータにより読み取り可能なメモリ管理プログラムを記録した記録媒体は、ネットワークを介しクライアント端末からのアクセスを受け付けて通信するサーバ装置のメモリ管理プログラムを記録した記録媒体において、保護対象のメモリに供給される第１の電源の異常を検出するステップと、前記第１の電源に異常が検出され、前記サーバ装置のシステムが終了する場合に、前記保護対象のメモリへ第２の電源を供給するように切り替え、前記保護対象のメモリをメモリコントローラから切り離して制御を行うステップと、前記サーバ装置が起動し前記第１の電源が復帰する場合に、前回の前記サーバのシステムの終了が異常終了であったときには、前記保護対象のメモリ以外のメモリに対し起動時の初期化処理をした後に、前記保護対象のメモリへの電源供給元を前記第２の電源から前記第１の電源に復帰させることを特徴とする。
【００４８】
請求項３１の本発明のコンピュータにより読み取り可能なメモリ管理プログラムを記録した記録媒体は、前記第１の電源が復帰する場合に、前回の前記サーバ装置のシステムの終了が正常終了であったときには、前記保護対象のメモリへの電源供給元を前記第２の電源から前記第１の電源に復帰するよう前記記憶保護部に指示し復帰させた後に、全てのメモリに対し起動時の初期化処理をすることを特徴とする。
【００４９】
請求項３２の本発明のコンピュータにより読み取り可能なメモリ管理プログラムを記録した記録媒体は、前記第１の電源の異常の解消後には、前記保護対象のメモリに対する制御を前記メモリコントローラに戻し電源の供給元を前記第２の電源から前記第１の電源に戻すことを特徴とする。
【００５０】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００５１】
本発明では、ＣＰＵ、メモリ、入出力部等を備える一般的なコンピュータシステムにおいて、メインメモリに記憶されたデータを保護し不揮発性メモリ化するための簡単な制御回路（記憶保護部１０）を付加することにより、メインメモリの一部を不揮発性メモリ化し、予期せぬ電源断によるデータの消失を防ぎ、更にＮＡＳ（Network Attached Storage：ネットワーク・アタッチド・ストレージ）やファイルサーバ（File Server）に用いることにより、クライアントへの応答性能を向上させることを特徴とする。
【００５２】
コンピュータシステムに、ＮＩＣ（Network Interface Card：ネットワークインタフェースカード）や、ＳＣＳＩやファイバチャネル（ＦＣ）といったハードディスクインタフェースを備えたＮＡＳ及びファイルサーバ（以後まとめてＮＡＳ、基本構成は図６を参照）においては、性能向上のために、クライアントからのライト要求があった場合ＨＤＤ（Hard Disk Drive：ハードディスクドライブ）にデータを書き込む前にＮＶＲＡＭ（Nonvolatile Memory：不揮発性メモリ）に一旦データを保持し、またこの時点でクライアントには正常にライトが完了した旨を通知し、その後ＮＶＲＡＭからＨＤＤへのデータの書き込みが行われる。
【００５３】
本発明では、従来ＰＣＩバス配下にあったＮＶＲＡＭに代わり、一般的なチップセットのメモリインタフェースに単純な制御回路（記憶保護部１０）を付加することによりメインメモリを不揮発性メモリ化し、高性能なＮＡＳの処理を実現する。
【００５４】
図１は、本発明の第１の実施の形態によるＮＡＳサーバ１００の構成を示すブロック図であり、図２は、メインメモリを不揮発性メモリ化する本実施の形態の記憶保護部１０の構成を示すブロック図である。
【００５５】
ここで本実施の形態では、メモリに、ＳＤＲＡＭ（一般的なＳＤＲＡＭ、ＤＤＲ  ＳＤＲＡＭを指す）を採用するが、特にメモリの種類をＳＤＲＡＭに限定する必要はなく、他のメモリの場合においても本発明の方式を同様に適応することができる。また、メモリインタフェースのコマンド信号及びバンク信号と、記憶保護部（メインメモリ不揮発性メモリ化制御回路、ＭＮＣ）１０からのコマンド信号及びバンク信号を２対１のスイッチを介してバックアップ対象の（保護対象の）ＳＤＲＡＭ  ＤＩＭＭ３１に接続する。
【００５６】
記憶保護部１０は、各スイッチ１１、１２のセレクト信号を制御することにより、記憶保護部１０から直接ＤＩＭＭ３１を制御することが可能である。また、記憶保護部１０には、予期せぬ異常電源断やリセットを検知する電確信号とリセット信号、及び外部からスイッチのセレクト信号を制御できるようにＤＩＭＭ３１のＳＰＤに接続されるＩ２Ｃバスの信号を記憶保護部１０にも接続する。
【００５７】
これらバックアップ対象のＤＩＭＭ３１や記憶保護部１０の電源は、予備電源であるバッテリに接続することにより、予期せぬ電源断に対しＤＩＭＭ３１のデータのバックアップを保証する。
【００５８】
つまり、記憶保護部１０は、予期せぬ異常電源断やリセットを検知すると、直ちにスイッチ１１、１２を切り替えることにより、ＤＩＭＭ３１の制御権をチップセットから記憶保護部１０へ移し、決まったシーケンスのコマンドをＤＩＭＭ３１に対して発行しＤＩＭＭ３１を低消費電力モードに設定する。電源モジュールからの電源断通知から実際にマザーボード上に供給される電源断までは、数ミリ秒の時間があり、前記低消費電力モードへの移行には十分な時間がある。また、電源断後クロック供給の停止した記憶保護部１０及び低消費電力モードに入ったＤＩＭＭ３１の消費電力は、ごくわずかであり、長期間のバックアップが可能となる。
【００５９】
記憶保護部１０は、電確信号またはリセット信号により電源の復帰またはリセットの解除を検知した場合は、メモリインタフェースに接続されたスイッチを切り替え、ＤＩＭＭの制御権を記憶保護部１０からチップセットへ戻す。
【００６０】
バイオス（ＢＩＯＳ）は、ＮＡＳ起動の際に前回のシステムの終了の状態を確認し、通常のシャットダウンやリセットであったのか、予期せぬ異常電源断やリセットであったのかを区別するためのＮＶＲＡＭ内のフラグを読み込み、通常時の場合はそのままＤＩＭＭの初期化を続けるが、異常時は一切の初期化を実施しない。
【００６１】
なお、記憶保護部１０へＳＰＤ用のＩ２Ｃバスを接続する実施の形態においては、電源復帰後もバックアップ対象ＤＩＭＭ３１のメモリインタフェースに接続されたスイッチを記憶保護部１０側にしておき、バイオス及びＯＳからのＩ２Ｃを介した記憶保護部１０へのアクセスがあるまでバックアップ対象ＤＩＭＭ３１の制御権をチップセットに渡さない、つまりチップセットからバックアップ対象ＤＩＭＭ３１を不可視とする方法もあり、不揮発性メモリ化しないメインメモリと切り離した制御を行うことも可能である。
【００６２】
以上説明したように、単純なハードウェアの追加により（又、そのソフトウェア制御により）、不揮発性メモリ化されたメインメモリにライトデータを書き込んだ時点で、クライアント側にライト完了の通知を出すことができ、従来行われているメインメモリからＰＣＩ  ＮＶＲＡＭカードへのデータ転送が不要となり、ＮＡＳの性能の向上が可能となる。
【００６３】
また、ＰＣＩバス上のＮＶＲＡＭへのライトデータ転送が不要となることからＮＡＳシステム全体のデータ転送バンド幅の有効活用が図られることとなり、スループットの向上も可能となる。
【００６４】
次に、本実施の形態のコンピュータシステムの各部の機能をより詳細に説明する。なお、本実施の形態では、バックアップ対象の（保護対象の）メインメモリをＳＤＲＡＭのＤＩＭＭとして説明するが、メモリの種類はこれに限定されるものではない。
【００６５】
ＮＡＳサーバ１００は、ＣＰＵ２０と、複数のメインメモリであるＤＩＭＭ３１が接続されＤＩＭＭを制御するメモリコントローラ３０と、ＮＩＣ（Network Interface Card：ネットワークインタフェースカード）６０及びＨＤＤ（Hard Disk Drive：ハードディスクドライブ）５１と接続されＨＤＤ５１を制御するファイバチャネルコントローラ５０が接続され入出力全体を制御する入出力コントローラ４０からなり、ＬＡＮを介して複数のクライアント２００が接続される。
【００６６】
これらのメモリコントローラ３０や入出力コントローラ４０は、一般的なチップセットであり、また本実施の形態のメインメモリを不揮発性メモリ化する機能を備えるものではない。
【００６７】
不揮発性メモリ化するバックアップ対象のＤＩＭＭ３１には、記憶保護部（メインメモリ不揮発性メモリ化制御回路、ＭＮＣ）１０が接続されている。記憶保護部１０は、非常に単純な内部論理を備えるものであり、プログラマブルなロジック回路、例えばＦＰＧＡなどで安価に構成することが可能である。
【００６８】
図２の、ＤＩＭＭ３１及び記憶保護部１０近辺の詳細図を参照すると、この複数のＤＩＭＭ３１は、メモリコントローラ３０に接続されたデータ線やアドレス線、及びスイッチを介してコマンド線と接続される。
【００６９】
記憶保護部１０は、電源断を及び電源投入を検知する電確信号、リセットを検出するリセット信号、バックアップ対象ＤＩＭＭ３１をメモリコントローラに代わり制御するためのコマンド線、スイッチ１１のセレクタ、スイッチ１２のセレクタ、及びスイッチの切り替えをソフトウェアから制御するためのＩ２Ｃバスが接続されている。Ｉ２Ｃバスは、本来ＤＩＭＭ３１上のＳＰＤを読むためのもので、ＳＤＲＡＭをサポートするチップセットであれば必ず存在するバスである。
【００７０】
次に、本実施の形態のコンピュータシステムの全体の処理動作を説明する。
【００７１】
ＮＡＳサーバ１００は、ネットワークを介したファイルシステムを提供するサーバであり、これによりクライアント２００はＬＡＮを介してＨＤＤ５１にアクセスすることができる。
【００７２】
クライアント２００がＨＤＤ５１内のファイルをリードする場合には、クライアント２００からリード要求が、ＬＡＮ及びＮＩＣを経由してＣＰＵ２０に通知される。ＣＰＵ２０は、リードすべきファイルを、入出力コントローラ４０及びファイバチャネルコントローラ５０を介してＨＤＤ５１からファイル内容を読み出し、ＮＩＣ６０を介してクライアント２００へリードデータを返す。以上のように、ＮＡＳからのデータの読み出しの場合には従来と同様の動作を行う。
【００７３】
図３は、本実施の形態によるＮＡＳのライトデータの流れを示すフローチャートである。
【００７４】
図３を参照すると、クライアント２００がＨＤＤ５１へファイルへの書き込みを行う場合には、ＮＩＣ６０を経由してライトデータは、まずバックアップ対象のＤＩＭＭ３１へ格納される（ステップ３０２、３０３）。
【００７５】
ＤＩＭＭ３１はバックアップの保証がされているため、ＤＩＭＭ３１への記録が終了した時点で（ステップ３０４）、ＣＰＵ２０は即座にＮＩＣ６０を介してクライアント２００へライト完了通知を発行する（ステップ３０５）。
【００７６】
その後、ＤＩＭＭ３１内に記録されたライトデータを、ＨＤＤ５１の所定の場所に適当な機会に書き込みを行うことにより一連のライト処理が終了する。
【００７７】
図７に示される従来のデータの流れと、図３に示される本実施の形態のデータの流れを比較すると、本実施の形態ではメインメモリに記録されるデータが保証されることにより従来より明らか短縮された処理を採用することができ、クライアント２００へより速くライト完了通知を発行することが可能となり、クライアント２００から見たライト処理性能が向上していることが分かる。更に、本実施の形態のはＰＣＩバス上のデータの通過量も削減されており、結果的にＰＣＩバスの負荷を下げている。
【００７８】
図３や図７のフローチャートには示していないが、実際にはこの後にメモリ（ＤＩＭＭ３１又はＮＶＲＡＭ７０）からＨＤＤ５１へのライトデータ書き込みのためのデータの移動が発生するため、ＰＣＩバスの負荷を減らすことは性能上、非常に重要である。
【００７９】
次に、予期せぬ異常電源断及びリセットがかかった場合の、ハードウェアのバックアップ方法を説明する。
【００８０】
ここでは、ＤＩＭＭ３１には、ＳＤＲＡＭを想定している。通常動作時は、スイッチ１１により、バックアップ対象のＤＩＭＭ３１とメモリコントローラからのコマンド線が接続状態となっている。また同様に、スイッチ１２により、ＤＩＭＭ３１上のＳＰＤ読み出しのためのＩ２Ｃバスも接続状態になっている。
【００８１】
記憶保護部１０が、異常電源断を電確信号により検出した場合や、異常リセットをリセット信号により検出した場合には、記憶保護部１０は、直ちにスイッチセレクタ信号により記憶保護部１０によって制御されるコマンド信号線をバックアップ対象のＤＩＭＭ３１に接続し、メモリコントローラ３０からの制御を不能とする。同様に、スイッチセレクタ信号により、Ｉ２Ｃバスも切り離しメモリコントローラ３０から存在を認識できないようにする。
【００８２】
記憶保護部１０は、ＤＩＭＭ３１がアイドル状態になると思われる時間、“２０Ｔ”程待ち合わせてから、コマンド信号を介してバックアップ対象ＤＩＭＭ３１を低消費電力モードに設定する。ここで“Ｔ”は、クロックのターン数を示すものである。
【００８３】
図４は、本実施の形態によるＮＡＳの異常電源断時の動作を説明するためのタイミングチャートであり、以下のように動作する。
（１）電確信号PowerGoodのネゲートを記憶保護部１０が検知すると即座に各スイッチ１１、１２のセレクトを切り替えてＤＩＭＭの制御権を記憶保護部１０に移す。
（２）ＤＩＭＭがメモリコントローラからの何らかのオペレーション中であったことを考慮し、２０Ｔ程のウェイトを入れる。
（３）ＤＩＭＭの全バンクに対するプリチャージを発行する。
（３）ＤＩＭＭの全ワードに対してオート・リフレッシュを発行する。例えば、５１２Ｍｂｉｔ構成のＤＩＭＭであれば８１９２回のオート・リフレッシュを発行する必要がある。
（４）セルフ・リフレッシュを発行し、ＣＫＥをディアサートする。
【００８４】
以上の手順によりＤＩＭＭ３１は、低消費電力モードに入りバッテリによる電源供給に切り替わる。以後、電源断やクロック停止に至っても、ＤＩＭＭ３１内のデータはバッテリの電源供給が続く限り保証される。
【００８５】
なお、あくまでも図４は、メインメモリにＳＤＲＡＭを採用した場合を説明するための図であり、これ以外のメモリを採用した場合には、そのメモリの低消費電力モードの設定に沿う。
【００８６】
次に、ＮＡＳサーバ起動時の処理を説明する。図５は、本実施の形態によるＮＡＳの電源投入時におけるバイオスの処理を説明するためのフローチャートである。
【００８７】
記憶保護部１０は、電源起動後も引き続きバックアップ対象ＤＩＭＭ３１に対しメモリコントローラ３０からの切り離し状態を維持する。電源起動と同時にＤＩＭＭ３１を低消費電力モードから復帰させないのは、メモリコントローラ３０がまだ初期化されていないためＤＩＭＭ３１へのリフレッシュ命令が発行されず、ＤＩＭＭ３１内データが消失する恐れがあるからである。
【００８８】
電源起動後バイオスは、前回の終了が異常終了であったのか正常終了であったのかを起動時に調べ（ステップ５０１、５０２）、もし正常終了後の起動であれば、ＳＰＤ用のＩ２Ｃバスを介して記憶保護部１０に対してスイッチングの指示を出す（ステップ５０３）。
【００８９】
指示を受けた記憶保護部１０は、コマンド信号中のＣＫＥをアサートし、ＤＩＭＭを低消費電力モードから復帰させ、次いでスイッチ１１、１２を制御してコマンド信号とメモリコントローラの接続、及びＳＰＤのＩ２Ｃバスの接続を行い、ＤＩＭＭのコントロール権をメモリコントローラに渡す（ステップ５０４）。これ以後は通常のメモリ初期化シーケンス、及びメモリテストを実施する（ステップ５０５）。
【００９０】
一方、異常終了後の起動の場合は、バックアップ対象ではないメモリのメモリ初期化（ステップ５０６）、そのメモリテストを完了後に（ステップ５０７）ＳＰＤ用のＩ２Ｃバスを介して記憶保護部１０に対してスイッチングの指示を出し、バックアップ対象ＤＩＭＭを復帰させる（ステップ５０８）。
【００９１】
なお、本実施の形態のコンピュータシステムは、記憶保護部１０によるメインメモリの不揮発メモリ化の処理や、ライトデータの記録完了の従来よりも早いクライアントへの応答処理、システム起動時における前回の終了の状態に対応するメモリ初期化処理等の機能や、その他の機能をハードウェア的に実現することは勿論として、各機能を備えるコンピュータプログラムを、コンピュータ処理装置のメモリにロードされることで実現することができる。このコンピュータプログラムは、磁気ディスク、半導体メモリその他の記録媒体９０に格納される。そして、その記録媒体からコンピュータ処理装置にロードされ、コンピュータ処理装置の動作を制御することにより、上述した各機能を実現する。
【００９２】
以上好ましい実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
【００９３】
【発明の効果】
以上説明したように本発明のコンピュータシステムによれば、以下のような効果が達成される。
【００９４】
第１に、メインメモリへ供給される電力を監視し、電源断の発生時には瞬時にメインメモリの制御と電源の供給を切り替えることができるため、メインメモリ自身を、メモリの処理速度を犠牲にすることなく不揮発性メモリ化することができ、予期せぬ電源断やリセットからのデータの消失を効果的に防止することができる。このため、ＮＡＳサーバやファイルサーバ等において、クライアントからのライトデータをより高速に、かつより安全に処理することができる。
【００９５】
第２に、メインメモリ自身を不揮発性メモリ化することにより、従来のＰＣＩバスにＮＶＲＡＭカードを置く構成に比べて、メモリからＮＶＲＡＭカードにライトデータを転送する必要がなくなり、このためＰＣＩバスの負荷が軽減され、クライアントからのより多くのデータを処理することが可能となり、高い性能を実現することができる。
【００９６】
第３に、従来のサーバ装置では、クライアントからの送信データをメモリに受信後、メモリから更にハードディスクやＮＶＲＡＭカードへの書き込みが完了した時点でクライアントに対し書込完了を通知するのであったが、本発明ではメモリに受信し書き込まれた時点で直ちにクライアントへ書込完了を通知することができる。このため、クライアントからのライト処理性能が大幅に向上する。
【図面の簡単な説明】
【図１】  本発明の第１の実施の形態によるＮＡＳの構成を示すブロック図である。
【図２】  本発明の第１の実施の形態のメインメモリを不揮発性メモリ化する記憶保護部の構成を示すブロック図である。
【図３】  本発明の第１の実施の形態によるＮＡＳのライトデータの流れを示すフローチャートである。
【図４】  本発明の第１の実施の形態によるＮＡＳの異常電源断時の動作を説明するためのタイミングチャートである。
【図５】  本発明の第１の実施の形態によるＮＡＳの電源投入時におけるバイオスの処理を説明するためのフローチャートである。
【図６】  従来のＮＡＳの構成を示すブロック図である。
【図７】  従来のＮＡＳのライトデータの流れを示すフローチャートである。
【符号の説明】
１００  ＮＡＳサーバ
１０  記憶保護部
１１、１２  スイッチ
２０  ＣＰＵ
３０  メモリコントローラ
３１  ＤＩＭＭ
４０  入出力コントローラ
５０  ファイバチャネルコントローラ
５１  ＨＤＤ
６０  ＮＩＣ
７０  ＮＶＲＡＭ
９０  記録媒体
２００  クライアント
【図１】
0003646303.tif 000002
【図２】
0003646303.tif 000003
【図３】
0003646303.tif 000004
【図４】
0003646303.tif 000005
【図５】
0003646303.tif 000006
【図６】
0003646303.tif 000007
【図７】
0003646303.tif 000008