(57)【要約】【課題】  メモリ搭載モジュールの機能を維持したままで、メモリ搭載モジュール又はメモリの電源をオフして消費電力の削減を図る。【解決手段】  ＣＰＵが使ったキャッシュメモリの内容を書き戻す特定エリアを有するメインメモリを含むメモリ搭載モジュールと、管理メモリを備え、前記メインメモリの特定エリアに書き戻された前記キャッシュメモリの内容を定期的に読み出して前記管理メモリに蓄積し、前記メモリ搭載モジュールのＣＰＵのメモリ使用量に応じて省電力状態の設定を制御するメモリ管理・電源制御手段を含む管理モジュールとを備え、前記メモリ搭載モジュールは、前記省電力状態の設定の指示を受けると、前記管理メモリに蓄積された前記キャッシュメモリの内容を引き継いで動作を継続することを特徴とする。【選択図】      図１
2010271867.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵが使ったキャッシュメモリの内容を書き戻す特定エリアを有するメインメモリを含むメモリ搭載モジュールと、
管理メモリを備え、前記メインメモリの特定エリアに書き戻された前記キャッシュメモリの内容を定期的に読み出して前記管理メモリに蓄積し、前記メモリ搭載モジュールのＣＰＵのメモリ使用量に応じて省電力状態の設定を制御するメモリ管理・電源制御手段を含む管理モジュールと
を備え、
前記メモリ搭載モジュールは、前記省電力状態の設定の指示を受けると、前記管理メモリに蓄積された前記キャッシュメモリの内容を引き継いで動作を継続することを特徴とするメモリ管理システム。
【請求項２】
少なくとも２つの前記メモリ搭載モジュールを含み、
前記メモリ管理・電源制御手段は、それぞれの前記メモリ搭載モジュールのＣＰＵのメモリ使用量の合計値が予め定めた第１の基準値を下回った場合に、特定のメモリ搭載モジュールのメインメモリに他のメモリ搭載モジュールの前記蓄積したキャッシュメモリの内容を転送し、前記他のメモリ搭載モジュールの電源をオフにして省電力状態に設定し、
前記特定のメモリ搭載モジュールは、前記省電力状態の設定の指示を受けると、転送された前記他のメモリ搭載モジュールの前記蓄積したキャッシュメモリの内容を引き継いで前記他のメモリ搭載モジュールの動作を継続することを特徴とする請求項１に記載のメモリ管理システム。
【請求項３】
前記メモリ管理・電源制御手段は、それぞれのメモリ搭載モジュールから定期的に読み出した前記メインメモリの前記特定エリアに書き戻された前記キャッシュメモリの内容を、前記管理メモリに備えたそれぞれのメモリ搭載モジュールに対応する蓄積エリアに蓄積することを特徴とする請求項２に記載のメモリ管理システム。
【請求項４】
前記蓄積エリアに蓄積された前記キャッシュメモリの内容は、対応する前記メモリ搭載モジュールのメインメモリ上の物理アドレスを特定する情報を含むことを特徴とする請求項３記載のメモリ管理システム。
【請求項５】
前記メモリ管理・電源制御手段は、前記他のメモリ搭載モジュールに対応する前記蓄積エリアのメモリ内容を、前記特定のメモリ搭載モジュールのメインメモリに備えた前記他のメモリ搭載モジュールに対応するワークエリアに転送し、
前記特定のメモリ搭載モジュールは、前記省電力状態の設定の指示を受けると、前記ワークエリアに転送された前記他のメモリ搭載モジュールの前記蓄積したキャッシュメモリの内容を引き継いで前記他のメモリ搭載モジュールの動作を継続することを特徴とする請求項４に記載のメモリ管理システム。
【請求項６】
前記メモリ管理・電源制御手段は、前記特定のメモリ搭載モジュールのＣＰＵのメモリ使用量が予め定めた第２の基準値を上回った場合に、前記他のメモリ搭載モジュールの電源をオンにして、前記他のメモリ搭載モジュールに対応する前記ワークエリアのメモリ内容を、対応する前記他のメモリ搭載モジュールのメインメモリに転送して通常状態に復帰させることを特徴とする請求項５に記載のメモリ管理システム。
【請求項７】
前記第１の基準値及び前記第２の基準値は、前記メモリ搭載モジュールのメインメモリの実装容量に基づいて定める値であることを特徴とする請求項６に記載のメモリ管理システム。
【請求項８】
前記メモリ管理・電源制御手段は、それぞれの前記メモリ搭載モジュールのＣＰＵのメモリ使用量に応じて前記特定のメモリ搭載モジュールを決めることを特徴とする請求項２乃至請求項７のいずれかの請求項に記載のメモリ管理システム。
【請求項９】
前記メモリ管理・電源制御手段は、前記メモリ搭載モジュールのＣＰＵのメモリ使用量が予め定めた第１の基準値を下回った場合に、前記メモリ搭載モジュールに省電力状態の設定の指示を出し、
前記メモリ搭載モジュールは、前記省電力状態の設定の指示を受けると、前記キャッシュメモリのアクセス経路を前記メインメモリにアクセスする経路から前記管理メモリにアクセスする経路に切り替え、前記管理メモリに蓄積された前記キャッシュメモリの内容を引き継いで動作を継続し、前記メインメモリの電源をオフ状態に設定する
ことを特徴とする請求項１に記載のメモリ管理システム。
【請求項１０】
前記メモリ管理・電源制御手段は、前記メモリ搭載モジュールのメインメモリの特定エリアから定期的に読み出した前記キャッシュメモリの内容を、前記管理メモリの前記メモリ搭載モジュールに対応する蓄積エリアに蓄積することを特徴とする請求項９に記載のメモリ管理システム。
【請求項１１】
前記蓄積エリアに蓄積された前記キャッシュメモリの内容は、対応する前記メモリ搭載モジュールのメインメモリ上の物理アドレスを特定する情報を含むことを特徴とする請求項１０記載のメモリ管理システム。
【請求項１２】
前記メモリ管理・電源制御手段は、前記メモリ搭載モジュールのＣＰＵのメモリ使用量が予め定めた第２の基準値を上回った場合に、前記メモリ搭載モジュールに通常状態への復帰の指示を出し、前記メモリ搭載モジュールに対応する前記蓄積エリアに蓄積されたメモリ内容を前記メモリ搭載モジュールに転送し、
前記メモリ搭載モジュールは、前記通常状態への復帰の指示を受けると、前記メインメモリの電源をオンに設定し、転送された前記蓄積エリアに蓄積されたメモリ内容を前記メインメモリに書き戻す
ことを特徴とする請求項１１に記載のメモリ管理システム。
【請求項１３】
前記第１の基準値及び前記第２の基準値は、前記メモリ搭載モジュールに対応する前記管理メモリの前記蓄積エリアの使用量に基づいて定める値であることを特徴とする請求項１２に記載のメモリ管理システム。
【請求項１４】
メモリ搭載モジュールのＣＰＵが使ったキャッシュメモリの内容を当該メモリ搭載モジュールのメインメモリの特定エリアに定期的に書き出し、
前記メインメモリの特定エリアに書き戻された前記キャッシュメモリの内容を定期的に読み出して管理モジュールの管理メモリに蓄積し、
前記メモリ搭載モジュールのＣＰＵのメモリ使用量に応じて省電力状態の設定要否を判断し、
前記省電力状態の設定の指示を受けると、前記メモリ搭載モジュールは前記管理メモリに蓄積された前記キャッシュメモリの内容を引き継いで動作を継続する
ことを特徴とするメモリ管理方法。
【請求項１５】
少なくとも２つの前記メモリ搭載モジュールを含み、
それぞれの前記メモリ搭載モジュールのＣＰＵのメモリ使用量の合計値が予め定めた第１の基準値を下回った場合に、特定のメモリ搭載モジュールのメインメモリに他のメモリ搭載モジュールの前記蓄積したキャッシュメモリの内容を転送し、前記他のメモリ搭載モジュールの電源をオフにして省電力状態に設定し、
前記省電力状態の設定の指示を受けると、前記特定のメモリ搭載モジュールは、転送された前記他のメモリ搭載モジュールの前記蓄積したキャッシュメモリの内容を引き継いで前記他のメモリ搭載モジュールの動作を継続する
ことを特徴とする請求項１４に記載のメモリ管理方法。
【請求項１６】
それぞれのメモリ搭載モジュールから定期的に読み出した前記メインメモリの前記特定エリアに書き戻された前記キャッシュメモリの内容は、前記管理メモリに備えたそれぞれのメモリ搭載モジュールに対応する蓄積エリアに蓄積することを特徴とする請求項１５に記載のメモリ管理方法。
【請求項１７】
前記蓄積エリアに蓄積された前記キャッシュメモリの内容は、対応する前記メモリ搭載モジュールのメインメモリ上の物理アドレスを特定する情報を含むことを特徴とする請求項１６記載のメモリ管理方法。
【請求項１８】
前記他のメモリ搭載モジュールに対応する前記蓄積エリアのメモリ内容は、前記特定のメモリ搭載モジュールのメインメモリに備えた前記他のメモリ搭載モジュールに対応するワークエリアに転送し、
前記省電力状態の設定の指示を受けると、前記特定のメモリ搭載モジュールは、前記ワークエリアに転送された前記他のメモリ搭載モジュールの前記蓄積したキャッシュメモリの内容を引き継いで前記他のメモリ搭載モジュールの動作を継続することを特徴とする請求項１７に記載のメモリ管理方法。
【請求項１９】
前記特定のメモリ搭載モジュールのＣＰＵのメモリ使用量が予め定めた第２の基準値を上回った場合に、
前記他のメモリ搭載モジュールの電源をオンにし、
前記特定のメモリ搭載モジュールの前記他のメモリ搭載モジュールに対応する前記ワークエリアのメモリ内容を、対応する前記他のメモリ搭載モジュールのメインメモリに転送して通常状態に復帰させる
ことを特徴とする請求項１８に記載のメモリ管理方法。
【請求項２０】
前記第１の基準値及び前記第２の基準値は、前記メモリ搭載モジュールのメインメモリの実装容量に基づいて定める値であることを特徴とする請求項１９に記載のメモリ管理方法。
【請求項２１】
前記特定のメモリ搭載モジュールは、それぞれの前記メモリ搭載モジュールのＣＰＵのメモリ使用量に応じて決めることを特徴とする請求項１５乃至請求項１９のいずれかの請求項に記載のメモリ管理方法。
【請求項２２】
前記メモリ搭載モジュールのＣＰＵのメモリ使用量が予め定めた第１の基準値を下回った場合に、前記メモリ搭載モジュールに省電力状態の設定の指示を出し、
前記省電力状態の設定の指示を受けると、前記メモリ搭載モジュールは、
前記キャッシュメモリのアクセス経路を前記メインメモリにアクセスする経路から前記管理メモリにアクセスする経路に切り替え、
前記管理メモリに蓄積された前記キャッシュメモリの内容を引き継いで動作を継続し、
前記メインメモリの電源をオフ状態に設定する
ことを特徴とする請求項１４に記載のメモリ管理方法。
【請求項２３】
前記メモリ搭載モジュールのメインメモリの特定エリアから定期的に読み出した前記キャッシュメモリの内容は、前記管理メモリの前記メモリ搭載モジュールに対応する蓄積エリアに蓄積することを特徴とする請求項２２に記載のメモリ管理方法。
【請求項２４】
前記蓄積エリアに蓄積された前記キャッシュメモリの内容は、対応する前記メモリ搭載モジュールのメインメモリ上の物理アドレスを特定する情報を含むことを特徴とする請求項２３記載のメモリ管理方法。
【請求項２５】
前記メモリ搭載モジュールのＣＰＵのメモリ使用量が予め定めた第２の基準値を上回った場合に、
管理モジュールは、
前記メモリ搭載モジュールに通常状態への復帰の指示を出し、
前記メモリ搭載モジュールに対応する前記蓄積エリアに蓄積されたメモリ内容を前記メモリ搭載モジュールに転送し、
前記通常状態への復帰の指示を受けると、前記メモリ搭載モジュールは、
前記メインメモリの電源をオンに設定し、
転送された前記蓄積エリアに蓄積されたメモリ内容を前記メインメモリに書き戻す
ことを特徴とする請求項２４に記載のメモリ管理方法。
【請求項２６】
前記第１の基準値及び前記第２の基準値は、前記メモリ搭載モジュールに対応する前記管理メモリの前記蓄積エリアの使用量に基づいて定める値であることを特徴とする請求項２５に記載のメモリ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ管理システム及びその方法に関し、特に、メモリ搭載モジュールの機能を維持したままで低消費電力化を図るメモリ管理システム及びその方法に関する。
【背景技術】
【０００２】
装置全体の消費電力の削減やメモリの効率的な利用を目的としたメモリ管理に関する技術が各種開示されている（たとえば、特許文献１及び特許文献２参照）。
【０００３】
特許文献１は、サスペンド時に消費電力を削減する目的で、不要なＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）の電源をオフにするメモリーバックアップ装置に関する技術を開示する。なお、サスペンドとは、携帯端末やノート型パソコン等において、作業途中で一時作業を中断したい時に実行する動作モードである。電源を完全に切ってしまうと作業を再開したときに再びシステムを立ち上げ直さなければならないので、立ち上げ時間の無駄が生じる。サスペンド状態では、プロセッサはスタンバイ状態に置かれ、ＤＲＡＭ等のメモリはセルフ・リフレッシュモード等によりメモリ保持が行われる。そして、システムが再起動時されると、作業を中断した時点の状態に素早く復帰できるように処理が行われる。
【０００４】
特許文献１によれば、サスペンド要求を通知されたプロセッサは、現在処理中の作業を終了させて低消費電力モードの設定を行う。その際に、プロセッサは、ＤＲＡＭに保持されているデータの圧縮を行い、圧縮されたデータを保持するのに十分なＤＲＡＭの個数を決める。そして、プロセッサは、データを保持する必要の無いＤＲＡＭの電源をオフする。たとえば、それぞれが８ＭＢ（メガバイト）のＤＲＡＭを４つ使っているシステムにおいて、サスペンド時にデータ圧縮した結果の総メモリ使用量が１２ＭＢであったとする。この場合には、２個のＤＲＡＭを使えばそのバックアップデータを保持することができる。そこで、プロセッサは、残りの２つのＤＲＡＭの電源をオフすることにより消費電力の削減を図る。
【０００５】
また、特許文献２は、バックアップメモリや運用メモリの容量を小さくすることができるメモリ転写制御方法に関する技術を開示する。特許文献２が開示する技術は、装置を動作させている装置メモリと、緊急立ち上げ用のメモリであるバックアップメモリと、各基板に搭載された運用メモリとの間で行われるメモリ転写制御に関する技術である。運用メモリは、装置内メモリの内容を必要とする基板に搭載されるメモリであって、装置内メモリと同じ内容が書かれる。また、バックアップメモリと装置内メモリは同一のＣＰＵ盤に搭載されており、それぞれの内容は常に一致している。
【０００６】
特許文献２では、２つのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）盤を用意して、それぞれのＣＰＵ盤に搭載される装置内メモリは、それぞれ相手側のＣＰＵ盤に搭載されている装置内メモリの内容も保持している。このような状態で、緊急立ち上げ時には、バックアップメモリの内容が、装置内メモリ、そして運用メモリに転写されてそれぞれのメモリ内容の一致が図られる。また、片方のＣＰＵ盤を取り替えた場合に、新しいＣＰＵ盤は、相手側のＣＰＵ盤の装置内メモリから自ＣＰＵ盤に必要なメモリ内容を取り出して、自装置内メモリに転写する。転写したメモリ内容は、それぞれバックアップアップメモリと運用メモリに転写されてそれぞれのメモリ内容の一致が図られる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１−２８２５８７号公報
【特許文献２】特開平９−１０１９１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ＣＰＵと、そのＣＰＵの動作に必要なプログラムやデータを記憶したメモリ及び関連装置基板を搭載した基板搭載モジュールを、装置ラックに複数実装して構成されるシステムがある。たとえば、通信装置のように、装置ラックに実装された各基板搭載モジュールがそれぞれ異なる機能を実現し、全体として複雑な通信機能を実現するようなシステムがある。なお、このようなＣＰＵとメモリ等を搭載して一つの機能を実現している基板搭載モジュールを、以降は、メモリ搭載モジュールと称する。
【０００９】
ネットワークを構成する通信装置は、一般的に、ネットワークに加わる負荷が最も大きい時間帯に一定のサービスレベルで機能を継続することができるような数のメモリ搭載モジュールを設備している。しかし、ネットワークに加わる負荷は常に一定ではないので、負荷が少ない時間帯には、機能を維持したままで可能な限り消費電力を低減することが望まれる。
【００１０】
メモリ搭載モジュールの場合、搭載されたメモリ電源をオフにすることにより低消費電力化が図れるが、メモリ電源をオフにしてしまうと当該メモリ搭載モジュールの機能が停止してしまい、システムとしての全体の機能が失われてしまう。つまり、このような通信装置を構成するメモリ搭載モジュールは、それぞれが異なる機能を具備しているので、たとえメモリ搭載モジュールのメモリ電源がオフになったとしても、その機能を維持する必要がある。
【００１１】
特許文献１に開示されている技術は、システムとして機能を停止してもかまわない状態のときに適用される技術であって、システムが稼動状態を維持したままで、一部のメモリの電源をオフすることは考慮されていない。
【００１２】
また、特許文献２に開示されている技術は、緊急立ち上げ時やＣＰＵ盤の交換時に必要なメモリのバックアップ方法を開示する技術であって、ＣＰＵを含む装置又はメモリの電源をオフにして、消費電力の削減を図ることに関しては考慮されていない。
【００１３】
本発明の目的は、上記の課題を解決して、メモリ搭載モジュールの機能を維持したままでメモリ搭載モジュール又はメモリの電源をオフして消費電力の削減を図ることができるメモリ管理システム及びその方法を提供することにある。
【課題を解決するための手段】
【００１４】
本発明に係るメモリ管理システムは、メモリ搭載モジュールと管理モジュールとを備える。メモリ搭載モジュールは、ＣＰＵが使ったキャッシュメモリの内容を書き戻す特定エリアを有するメインメモリを含む。管理モジュールは、管理メモリを備え、前記メインメモリの特定エリアに書き戻された前記キャッシュメモリの内容を定期的に読み出して前記管理メモリに蓄積し、前記メモリ搭載モジュールのＣＰＵのメモリ使用量に応じて省電力状態の設定を制御するメモリ管理・電源制御手段を含む。そして、前記メモリ搭載モジュールは、前記省電力状態の設定の指示を受けると、前記管理メモリに蓄積された前記キャッシュメモリの内容を引き継いで動作を継続することを特徴とする。
【００１５】
また、本発明に係るメモリ管理方法は、メモリ搭載モジュールのＣＰＵが使ったキャッシュメモリの内容を当該メモリ搭載モジュールのメインメモリの特定エリアに定期的に書き出し、前記メインメモリの特定エリアに書き戻された前記キャッシュメモリの内容を定期的に読み出して管理モジュールの管理メモリに蓄積し、前記メモリ搭載モジュールのＣＰＵのメモリ使用量に応じて省電力状態の設定要否を判断し、前記省電力状態の設定の指示を受けると、前記メモリ搭載モジュールは前記管理メモリに蓄積された前記キャッシュメモリの内容を引き継いで動作を継続することを特徴とする。
【発明の効果】
【００１６】
本発明は、メモリ搭載モジュールの機能を維持したまま、メモリ搭載モジュール又はメモリの電源をオフして消費電力の削減を図ることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の基本実施形態を示すブロック構成図
【図２】本発明の実施形態における装置ラックレイアウト図
【図３】第１の実施形態の構成を示すブロック構成図
【図４】第１の実施形態のメモリ搭載モジュールの構成を示すブロック構成図
【図５】第１の実施形態の管理モジュールの構成を示すブロック構成図
【図６】第１の実施形態の他のメモリ搭載モジュールの構成を示すブロック構成図
【図７】本発明の実施形態の管理メモリへのデータ書き出し動作を示すフローチャート
【図８】第１の実施形態の省電力モードへの移行、及び省電力モードから通常モードへの復帰を判定する動作を示すフローチャート
【図９】第１の実施形態の省電力モードへの移行の動作を示すフローチャート
【図１０】第１の実施形態の省電力モードから通常モードへの復帰の動作を示すフローチャート
【図１１】第２の実施形態のメモリ搭載モジュールの構成を示すブロック構成図
【図１２】第２の実施形態の省電力モードへの移行、及び省電力モードから通常モードへの復帰を判定する動作を示すフローチャート
【図１３】第２の実施形態の省電力モードへの移行の動作を示すフローチャート
【図１４】第２の実施形態の省電力モードから通常モードへの復帰の動作を示すフローチャート
【図１５】第３の実施形態の管理モジュールの構成を示すブロック構成図
【発明を実施するための形態】
【００１８】
本発明を実施するための形態について図面を参照して説明する。
【００１９】
図１は、本発明の基本実施形態を示すブロック構成図である。
【００２０】
本発明の基本実施形態のメモリ管理システムは、メモリ搭載モジュール２０と管理モジュール１０とを備える。メモリ搭載モジュール２０は、ＣＰＵ２０１が使ったキャッシュメモリ２０２の内容を書き戻す特定エリアを有するメインメモリ２０３を含む。管理モジュール１０は、管理メモリ１０２とメモリ管理・電源制御手段１０１を備える。メモリ管理・電源制御手段１０１は、メインメモリ２０３の特定エリアに書き戻されたキャッシュメモリ２０２の内容を定期的に読み出して管理メモリ１０に蓄積する。そして、メモリ管理・電源制御手段１０１は、メモリ搭載モジュール２０のＣＰＵ２０１のメモリ使用量に応じて省電力状態の設定を制御する。メモリ搭載モジュール２０は、前記省電力状態の設定の指示を受けると、管理メモリ１０２に蓄積されたキャッシュメモリ２０２の内容を引き継いで動作を継続する。
【００２１】
本実施形態は、ＣＰＵ２０１が使ったキャッシュメモリ２０２の内容を、メインメモリ２０３の特定エリアに蓄積する。本来、キャッシュメモリ２０２の内容は、キャッシュメモリ２０２として取り出されたメインメモリ２０３の物理アドレスの同じ場所に書き戻される。しかし、本実施形態は、メインメモリ２０３の本来の書き戻し場所とは別の特定エリアにも書き戻しを行う。そして、メモリ管理・電源制御手段１０１は、メインメモリ２０３のこの特定エリアを定期的に読み出して、そのメモリ内容を管理メモリ１０２に蓄積する。このことは、ＣＰＵ２０１が使ったキャッシュメモリ２０２の最新の内容が管理メモリ１０２に蓄積されていることになる。
【００２２】
一方、メモリ管理・電源制御手段１０１は、メモリ搭載モジュール２０のＣＰＵ２０１のメモリ使用量に応じて省電力状態の設定を制御する。これにより、省電力状態の設定の指示を受けたメモリ搭載モジュール２０は、管理メモリ１０２に蓄積されたキャッシュメモリ２０２の最新の内容を引き継いだ形態で動作を継続する。
【００２３】
ＣＰＵのメモリ使用量が少なく、管理メモリに蓄積されているメモリ量で十分に動作できるような場合には、本実施形態は、管理メモリに蓄積されているメモリ内容を引き継いで動作を継続することと省電力状態の設定の両方を可能にする。
【００２４】
より具体的な実施形態を以下に説明する。
【００２５】
本発明に係るメモリ管理システムを導入した通信装置を実施形態として説明する。図２は、本発明の実施形態における通信装置１の装置ラックレイアウト図である。本発明の実施形態の通信装置１は、３つの装置ラック１００〜３００で構成され、各装置ラックは、管理モジュールと複数のメモリ搭載モジュールを実装する。たとえば、装置ラック１００は、管理モジュール１０と２つのメモリ搭載モジュール２０、３０を実装している。装置ラック２００は、管理モジュール１０aと３つのメモリ搭載モジュール２０ａ〜４０ａを実装している。そして、装置ラック３００は、管理モジュール１０ｂと４つのメモリ搭載モジュール２０ｂ〜５０ｂを実装している。
【００２６】
この通信装置１は、これらの３つの装置ラックに実装されたメモリ搭載モジュールにより、例えば、ネットワークを構成する通信機器として機能する。
【００２７】
図３は、第１の実施形態の構成を示すブロック構成図である。
【００２８】
図３は、図２における装置ラック１００に実装されている管理モジュール１０と２つのメモリ搭載モジュール２０、３０のブロック構成を例示する。
【００２９】
各メモリ搭載モジュールは、ＣＰＵ２０１がメインメモリ２０３から読み込んだプログラムやデータに基づいて、そのメモリ搭載モジュールに与えられた機能を実現する。各メモリ搭載モジュールは、ＣＰＵの高速動作を実現するためにキャッシュメモリ２０２を備えている。
【００３０】
管理モジュール１０は、メモリ管理・電源制御手段１０１と管理メモリ１０２を備えて、後述する第１の実施形態の省電力モードの制御を行う。管理モジュール１０とメモリ搭載モジュール２０、３０とは、装置ラック内のバス４０により接続されている。
【００３１】
なお、図３は、図２における装置ラック１００を例にしているが、図２における装置ラック３００であれば、管理モジュール１０と４つのメモリ搭載モジュール１０ｂ〜５０ｂがバス４０に接続される。もちろん、本発明の実施形態は、１つの装置ラックに５以上のメモリ搭載モジュールが実装される構成であってもかまわない。つまり、第１の実施形態は、ｎ（２以上の整数）個のメモリ搭載モジュールがバス４０を介して管理モジュール１０と接続される形態であってかまわない。
【００３２】
第１の実施形態を図４〜図１０を参照して説明する。
【００３３】
第１の実施形態は、装置ラック単位で異なる機能を実現し、同一の装置ラックに実装される各メモリ搭載モジュールは、同一の機能を実現する形態の通信装置である。つまり、各装置ラックは、当該通信装置が処理する負荷が最も大きい時間帯に一定のサービスレベルで、その装置ラックが提供する機能を継続することができるような数のメモリ搭載モジュールを設備している。そして、第１の実施形態は、通信装置が処理する負荷が少なく、実装されている全てのメモリ搭載モジュールを使う必要がないときに、特定のメモリ搭載モジュールを残して、他のメモリ搭載モジュールの電源を切断する省電力モード動作を行う。省電力モードになると、管理モジュールは、電源を切断するメモリ搭載モジュールに対応して蓄積した管理メモリの内容を特定のメモリ搭載モジュールに転送する。その特定のメモリ搭載モジュールは、転送された他のメモリ搭載モジュールに対応して蓄積した管理メモリの内容を引き継いで、他のメモリ搭載モジュールの機能も継続する。つまり、特定のメモリ搭載モジュールは、自メモリ搭載モジュールの動作に加えて、他のメモリ搭載モジュールから引き継いだ動作も継続する。
【００３４】
説明を簡単にするために、図２の装置ラック１００、つまり図３に示した２つのメモリ搭載モジュール２０、３０がバス４０を介して管理モジュール２０と接続する構成を例にして第１の実施形態を説明する。
【００３５】
図４〜図６は、第１の実施形態におけるメモリ搭載モジュールと管理モジュールの構成を示すブロック構成図である。図４はメモリ搭載モジュール２０の構成を示す。図５は管理モジュール１０の構成を示す。また、図６はメモリ搭載モジュール３０の構成を示す。
【００３６】
図４に示すメモリ搭載モジュール２０と図６に示すメモリ搭載モジュール３０は、省電力モード時のそれぞれの動作が異なる。本説明においては、省電力モード時に電源が切断されるモジュールをメモリ搭載モジュール２０とし、動作を継続するモジュールをメモリ搭載モジュール３０として説明する。つまり、前述した特定のメモリ搭載モジュールをメモリ搭載モジュール３０とし、他のメモリ搭載モジュールをメモリ搭載モジュール２０として説明する。
【００３７】
図４を参照して、メモリ搭載モジュール２０の構成を説明する。図３を参照して説明した以外の構成として、メモリ搭載モジュール２０は、ライトバックバッファ２０４と電源制御手段２０５を備える。ライトバックバッファ２０４は、キャッシュメモリ２０２の内容をメインメモリ２０３に書き戻すライトバック動作時に使用されるバッファメモリである。ライトバック動作は、ＣＰＵ２０１がキャッシュフラッシュ命令を発行したときに行われる処理動作である。
【００３８】
キャッシュメモリ２０２をライトバックモードで使用するときは、キャッシュメモリ２０２の内容とメインメモリ２０３の内容は一致していない。ＣＰＵ２０１がキャッシュフラッシュ命令を発行してキャッシュメモリ２０２の内容をメインメモリ２０３にライトバックすると両者の内容が一致する。本実施形態では、ＣＰＵ２０１は定期的にキャッシュフラッシュ命令を発行する。
【００３９】
メインメモリ２０３は、通常のメモリデータエリア以外に特定エリアを備えている。ライトバック動作が行われると、キャッシュメモリ２０２の内容はライトバックバッファ２０４を介してメインメモリ２０３の対応する物理アドレスに書き込まれると同時に、この特定エリアにも書き込まれる。このとき、特定エリアに書き込まれるデータは、メインメモリの本来書き込まれるべき物理アドレスを識別することができるアドレス識別情報とともに書き込まれる。
【００４０】
つまり、キャッシュメモリ２０３の内容は、本実施形態のライトバック動作時にメインメモリ２０３の２箇所のエリアに書き込まれる。２箇所のエリアとは、キャッシュメモリとして読み出されたときのメインメモリの物理アドレスと、特定エリアである。
【００４１】
電源制御手段２０５は、省電力モード時に当該メモリ搭載モジュール２０の電源を切断したり（電源オフ）、通常モードに復帰する時に当該メモリ搭載モジュール２０の電源を入れたり（電源オン）する電源制御を行う装置である。
【００４２】
次に図５を参照して管理モジュール１０の構成を説明する。
【００４３】
管理モジュール１０は、メモリ管理・電源制御手段１０１と管理メモリ１０２を備える。
【００４４】
メモリ管理・電源制御手段１０１は、バス４０を介して、メモリ搭載モジュールのメインメモリ上の特定エリアから定期的に読み出し動作を行い、特定エリアに書き込まれているメモリ内容を読み出す。そして、メモリ管理・電源制御手段１０１は、管理メモリ１０２の読み出したメモリ搭載モジュール対応する蓄積エリアに書き込む制御を行う。図５に示す管理メモリ１０２の蓄積エリアＡは、メモリ搭載モジュール２０に対応する蓄積エリアで、蓄積エリアＢは、メモリ搭載モジュール３０に対応する蓄積エリアを示している。
【００４５】
このように、メモリ管理・電源制御手段１０１は、メモリ搭載モジュールのメインメモリ上の特定エリアのメモリ内容を、定期的に管理メモリのメモリ搭載モジュール対応の蓄積エリアに書き込む制御を行う。なお、メモリ搭載モジュールのメインメモリ上の特定エリアから読み出されて管理メモリに書き込まれるデータは、キャッシュメモリから書き戻されたデータであり、前述したアドレス識別情報を含む。従って、管理メモリに書き込まれているデータは、蓄積エリアにより対応するメモリ搭載モジュールを識別することができ、また、各データの中の識別情報によりメインメモリの対応する物理アドレスを識別することができる。
【００４６】
また、メモリ管理・電源制御手段１０１は、各メモリ搭載モジュールのＣＰＵのメモリ使用量の報告を受けて、通常モードから省電力モードへの移行、省電力モードから通常モードへの復帰の制御を行う。これらの制御については後述する。
【００４７】
次に図６を参照してメモリ搭載モジュール３０について説明する。図６は、メモリ搭載モジュール３０の構成を示すブロック構成図である。メモリ搭載モジュール３０が備える装置構成はメモリ搭載モジュール２０の装置構成と同じであるが、メインメモリ３０３の使い方が異なる。
【００４８】
メインメモリ３０３は、前述した特定エリアに加えてワークエリアを、通常のメモリデータエリア以外に備えている。ワークエリアは、後述する省電力モードのときに、電源をオフされたメモリ搭載モジュールに対応する管理メモリの蓄積エリアのメモリ内容を書き込むエリアである。
【００４９】
図６では、ワークエリアＡとして示しているように、このワークエリアＡには、省電力モードのときに図５の管理メモリ１０２の蓄積エリアＡの内容が転送される。なお、蓄積エリアＡは、メモリ搭載モジュール２０に対応する蓄積エリアである。従って、特定のメモリ搭載モジュールに書き込まれているデータは、ワークエリアにより対応するメモリ搭載モジュールを識別することができ、また、各データの中の識別情報によりメインメモリの対応する物理アドレスを識別することができる。
【００５０】
第１の実施形態における各モジュールの構成について以上のように説明したが、省電力モード時に電源が切断されるモジュールをメモリ搭載モジュール３０とし、動作を継続するモジュールをメモリ搭載モジュール２０としてもよい。その場合には、メモリ搭載モジュール２０が図６の構成を有し、メモリ搭載モジュール３０が図４の構成を有することになる。
【００５１】
ここで、メインメモリの特定エリア、ワークエリア及び管理メモリ１０２のメモリ搭載モジュール対応の蓄積エリアのサイズについて説明する。
【００５２】
まず、メインメモリの特定エリアのサイズは、ＣＰＵが定期的に発行するキャッシュフラッシュ命令の頻度と、管理モジュール１０により読み出される頻度に応じて決める。つまり、特定エリアのサイズは、ライトバックされるキャッシュメモリの各データサイズに前述のアドレス識別情報サイズを加えた大きさのデータが蓄積されて行くデータ量と、管理モジュール１０が読み出して行くデータ量とのバランスで決めればよい。例えば、ライトバックの頻度が多く、管理モジュール１０の読み出し頻度が少ない場合には、特定エリアのサイズは大きくする必要がある。逆に、ライトバックの頻度が少なく、管理モジュール１０の読み出し頻度が多い場合には、特定エリアのサイズは小さくてもかまわない。
【００５３】
また、管理メモリの各メモリ搭載モジュール対応の蓄積エリアのサイズは、省電力モードになったときに動作継続が可能な程度のデータ量を蓄積することができるサイズを必要とする。ＣＰＵのメモリ空間として、例えば、５〜６ページ分に相当するデータ量を蓄積する必要があるとすると、１ページあたり４Ｋバイトと仮定して２４Ｋバイト、それに付加情報のサイズを加えて３０Ｋバイトのエリアサイズが例示される。したがって、管理メモリは、３０Ｋバイトの蓄積エリアを、対象となるメモリ搭載モジュールの数だけ必要とする。なお、上記は例示であって、各種条件により数値は変わることを付け加えておく。
【００５４】
メインメモリのワークエリアは、前述した管理メモリのメモリ搭載モジュール対応の蓄積エリアに蓄積されている他のメモリ搭載モジュールのデータを、省電力モードのときに転送するエリアとして使われる。したがって、ワークエリアのサイズは、管理メモリの各メモリ搭載モジュール対応の蓄積エリアのサイズを、転送の対象とする他のメモリ搭載モジュールの数だけ必要とする。
【００５５】
次に、第１の実施形態の動作を説明する。
【００５６】
図７は、本発明の実施形態の管理メモリへのデータ書き出し動作を示すフローチャートである。つまり、図７のフローチャートは、第１の実施形態及び後述する第２の実施形態、第３の実施形態に共通する動作を示す。
【００５７】
この動作は、図３に示す管理モジュール１０がメモリ搭載モジュール２０、３０のそれぞれのメインメモリの特定エリアに書き戻されたキャッシュメモリの内容を読み出して、管理メモリ１０２のメモリ搭載モジュール対応の蓄積エリアに書き込む動作である。この動作は、管理モジュール１０のメモリ管理・電源制御手段１０１が実行する動作である。
【００５８】
前述したように、各メモリ搭載モジュールでは、ＣＰＵが定期的にキャッシュフラッシュ命令を発行することにより、その都度、ライトバック動作が行われる。キャッシュメモリの内容は、ライトバック動作によりメインメモリのメモリデータエリアに書き戻されると同時に特定エリアにも書き込まれる。このとき特定エリアに書き込まれるデータは、キャッシュメモリの内容に加えて、書き戻されるメモリデータエリアの物理アドレスを識別することができるアドレス識別情報を含む。
【００５９】
メモリ管理・電源制御手段１０１は、このようにしてメインメモリの特定エリアに書き戻されたキャッシュメモリの内容を、定期的に各メモリ搭載モジュールから読み出して、管理メモリのメモリ搭載モジュールに対応した蓄積エリアに蓄積する。
【００６０】
この処理は周期起動される。そして、周期起動された最初のステップＳ７０１は、メモリ搭載モジュール数を初期設定する動作である。つまり、メモリ管理・電源制御手段１０１は、対象となるメモリ搭載モジュール数の最大値Ｎを２に指定し、最初に処理を実行するメモリ搭載モジュール番号ｎを１に指定して動作を開始する。
【００６１】
ステップＳ７０２は、メモリ管理・電源制御手段１０１が、指定したメモリ搭載モジュールの特定エリアに書き戻されたキャッシュメモリの内容を読み出して、管理メモリ１０２の当該メモリ搭載モジュール対応の蓄積エリアに書き込む動作である。つまり、メモリ管理・電源制御手段１０１は、図４のメインメモリ２０３の特定エリアから、そこに書き戻されたキャッシュメモリの内容を読み出す。そして、メモリ管理・電源制御手段１０１は、そのキャッシュメモリの内容を、バス４０を介して管理モジュール１０に取り込み、図５の管理メモリ１０２のメモリ搭載モジュール２０に対応する蓄積エリアＡに書き込む。
【００６２】
ステップＳ７０３は、次に処理を行うメモリ搭載モジュール番号を指定するために、ｎをインクリメントする（ｎは２に設定される）。
【００６３】
ステップＳ７０４は、メモリ搭載モジュール数の最大値Ｎまで処理が完了しているか否かを判定する。Ｎ＝２、ｎ＝２なので、Ｎ＜ｎの条件を満たさず（Ｓ７０４、ＮＯ）、処理はステップＳ７０２に戻る。
【００６４】
今回のステップＳ７０２では、ｎ＝２となっているので２番目のメモリ搭載モジュールに対して処理が実行される。つまり、メモリ管理・電源制御手段１０１は、図５のメインメモリ３０３の特定エリアから、そこに書き戻されたキャッシュメモリの内容を読み出す。そして、メモリ管理・電源制御手段１０１は、そのキャッシュメモリの内容を、バス４０を介して管理モジュール１０に取り込み、図５の管理メモリ１０２のメモリ搭載モジュール３０に対応する蓄積エリアＢに書き込む。
【００６５】
次の処理に進み、今回のステップＳ７０３ではｎがインクリメントされてｎ＝３になる。したがって、続くステップＳ７０４の判定では、Ｎ＝２、ｎ＝３なので、Ｎ＜ｎの条件を満たすことになる（Ｓ７０４、ＹＥＳ）。つまり、メモリ搭載モジュール数の最大値Ｎまで処理が完了したので、この周期での処理は終了する。
【００６６】
以上に説明したように、メモリ管理・電源制御手段１０１は、各メモリ搭載モジュールの特定エリアに書き戻されているキャッシュメモリの内容を読み出して、管理メモリ１０２の当該メモリ搭載モジュール用に指定された蓄積エリアに書き込む動作を周期的に実行している。この動作により、各メモリ搭載モジュールのＣＰＵが処理した最新のデータが管理メモリ１０２の各メモリ搭載モジュールの対応する蓄積エリアに順次書き込まれて行く。なお、蓄積エリア内の各データは、各メモリ搭載モジュールのメインメモリの物理アドレスを識別するアドレス識別情報に基づいて、管理メモリ内でのアドレスとの対応付けがなされている。例えば、メモリ管理・電源制御手段１０１は、管理メモリに書き込みを行う度に、メモリ搭載モジュールのメインメモリの物理アドレスにしたがってソーティングを行ってから書き込む。従って、同一物理アドレスのデータは後から書き込まれるデータにより上書きされる。また、各メモリ搭載モジュールの対応するエリアが満杯になった場合には、最も古いデータが新しいデータで上書きされる。
【００６７】
次に、図８を参照して第１の実施形態の省電力モードへの移行、及び省電力モードから通常モードへの復帰を判定する動作を説明する。
【００６８】
図８は、第１の実施形態の省電力モードへの移行、及び省電力モードから通常モードへの復帰を判定する動作を示すフローチャートである。
【００６９】
管理モジュール１０のメモリ管理・電源制御手段１０１は、通常モード時に、定期的に各メモリ搭載モジュールのＣＰＵのメモリ使用状況を調べ、省電力モードの動作に移行する必要があるか否かを判定する。また、メモリ管理・電源制御手段１０１は、省電力モード時に、定期的に特定のメモリ搭載モジュールのＣＰＵのメモリ使用状況を調べ、通常モードの動作に復帰する必要があるか否かを判定する。この処理は周期起動される。
【００７０】
なお、通常モードとは、メモリ搭載モジュールの全ての電源がオン状態で、各メモリ搭載モジュールが処理を行っている状態の動作を言う。また、省電力モードとは、特定のメモリ搭載モジュールのみの電源がオンで、他のメモリ搭載モジュールの電源はオフになっている状態の動作を言う。そして、省電力モードでは、特定のメモリ搭載モジュールが他のメモリ搭載モジュールの処理も継続している状態である。
【００７１】
周期起動されるとメモリ管理・電源制御手段１０１は、現在、どちらのモードで動作しているかをステップＳ８０１で識別する。メモリ管理・電源制御手段１０１は、後述するように、省電力モードフラグを有しており、省電力モードでは省電力モードフラグがオンに設定され、通常モードでは省電力モードフラグがオフに設定されている。したがって、メモリ管理・電源制御手段１０１は、この省電力モードフラグの設定状態を識別することにより、現在の動作モードを識別することができる。
【００７２】
現在の動作モードが通常モードであるとすると（Ｓ８０１、ＮＯ）、メモリ管理・電源制御手段１０１は、動作中の各メモリ搭載モジュールのＣＰＵのメモリ使用状況を調べる動作を開始する。
【００７３】
ステップＳ８０２は、メモリ搭載モジュール数を初期設定する動作である。つまり、メモリ管理・電源制御手段１０１は、対象となるメモリ搭載モジュール数の最大値Ｎを２に指定し、最初に処理を実行するメモリ搭載モジュール番号ｎを１に指定して動作を開始する。
【００７４】
ステップＳ８０３は、指定したメモリ搭載モジュール２０のＣＰＵに対してメモリの使用量を報告させる命令を発行する。バス４０を介してメモリ使用量報告の命令を受けたＣＰＵは、当該ＣＰＵで現在使用中のメモリ量をメモリ管理・電源制御手段１０１に報告する。メモリ管理・電源制御手段１０１は、報告を受けたＣＰＵのメモリ搭載モジュール２０に対応させてメモリ使用量を記憶する。
【００７５】
ステップＳ８０４は、次に処理を行うメモリ搭載モジュール番号を指定するために、ｎをインクリメントする（ｎは２に設定される）。
【００７６】
ステップＳ８０５は、メモリ搭載モジュール数の最大値Ｎまで処理が完了しているか否かを判定する。Ｎ＝２、ｎ＝２なので、Ｎ＜ｎの条件を満たさず（Ｓ８０５、ＮＯ）、処理はステップＳ８０３に戻る。
【００７７】
今回のステップＳ８０３では、ｎ＝２となっているので２番目のメモリ搭載モジュールに対して処理が実行される。つまり、メモリ管理・電源制御手段１０１は、メモリ搭載モジュール３０のＣＰＵに対してメモリの使用量を報告させる命令を発行する。バス４０を介してメモリ使用量報告の命令を受けたＣＰＵは、当該ＣＰＵで現在使用中のメモリ量をメモリ管理・電源制御手段１０１に報告する。メモリ管理・電源制御手段１０１は、報告を受けたＣＰＵのメモリ搭載モジュール３０に対応させてメモリ使用量を記憶する。
【００７８】
次の処理に進み、今回のステップＳ８０４ではｎがインクリメントされてｎ＝３になる。したがって、続くステップＳ８０５の判定では、Ｎ＝２、ｎ＝３なので、Ｎ＜ｎの条件を満たすことになる（Ｓ８０５、ＹＥＳ）。つまり、メモリ搭載モジュール数の最大値Ｎまで処理が完了したので、この周期でのＣＰＵのメモリ使用状況を調べる処理は終了する。
【００７９】
次に、メモリ管理・電源制御手段１０１は、ステップＳ８０６で、省電力モードへの移行要否を判定する。つまり、メモリ管理・電源制御手段１０１は、ステップＳ８０２からステップＳ８０５の処理で取得した各ＣＰＵのメモリ使用量に基づいて、通常モードから省電力モードへの移行要否を判定する。
【００８０】
本実施形態では、各ＣＰＵのメモリ使用量の合計値がメインメモリの実装容量を大きく下回った場合に通常モードから省電力モードへの移行が行われる。本実施形態では、各ＣＰＵのメモリ使用量の合計値がメインメモリの実装容量の６０％を下回った場合に通常モードから省電力モードに移行するものとしている。しかし、この６０％という数値はメインメモリの実装容量を超えない範囲で任意に規定してかまわない。
【００８１】
ステップＳ８０６の判定で、各ＣＰＵのメモリ使用量の合計値がメインメモリの実装容量の６０％を下回っていない場合（Ｓ８０６、ＮＯ）、メモリ管理・電源制御手段１０１は、通常モードでの動作を継続するとしてこの周期での処理を終了する。
【００８２】
一方、ステップＳ８０６の判定で、各ＣＰＵのメモリ使用量の合計値がメインメモリの実装容量の６０％を下回っている場合（Ｓ８０６、ＹＥＳ）には、メモリ管理・電源制御手段１０１は、省電力モードに移行する動作を開始する。省電力モードに移行する動作は、図９を参照して後述する。
【００８３】
以上が、第１の実施形態における通常モードから省電力モードに移行するまでの判定動作である。
【００８４】
続いて、さらに図８を参照して、省電力モードから通常モードに復帰判定する動作を説明する。
【００８５】
ステップＳ８０１の判定処理で、現在の動作モードが省電力モードであるとすると（Ｓ８０１、ＹＥＳ）、メモリ管理・電源制御手段１０１は、動作中の特定のメモリ搭載モジュールのＣＰＵのメモリ使用状況を調べる動作を開始する。
【００８６】
メモリ管理・電源制御手段１０１は、ステップＳ８０７で、省電力モードで動作中の特定のメモリ搭載モジュールのＣＰＵに対してメモリの使用量を報告させる命令を発行する。バス４０を介してメモリ使用量報告の命令を受けたＣＰＵは、当該ＣＰＵで現在使用中のメモリ量をメモリ管理・電源制御手段１０１に報告する。メモリ管理・電源制御手段１０１は、報告を受けたＣＰＵの特定のメモリ搭載モジュール番号に対応させてメモリ使用量を記憶する。
【００８７】
メモリ管理・電源制御手段１０１は、ステップＳ８０７の処理で取得した特定のメモリ搭載モジュールのＣＰＵのメモリ使用量に基づいて、省電力モードから通常モードへの復帰の要否を判定する。
【００８８】
本実施形態では、特定のメモリ搭載モジュールのＣＰＵのメモリ使用量がメインメモリの実装容量に近づいてきた場合に省電力モードから通常モードへの復帰が行われる。本実施形態では、特定のメモリ搭載モジュールのＣＰＵのメモリ使用量がメインメモリの実装容量の８０％を超えた場合に省電力モードから通常モードに復帰するものとしている。しかし、この８０％という数値はメインメモリの実装容量を超えない範囲で任意に規定してかまわない。
【００８９】
ステップＳ８０８の判定で、特定のメモリ搭載モジュールのＣＰＵのメモリ使用量がメインメモリの実装容量の８０％を超えていない場合（Ｓ８０８、ＮＯ）、メモリ管理・電源制御手段１０１は、省電力モードでの動作を継続するとしてこの周期での処理を終了する。
【００９０】
一方、ステップＳ８０８の判定で、特定のメモリ搭載モジュールのＣＰＵのメモリ使用量がメインメモリの実装容量の８０％を超えた場合（Ｓ８０８、ＹＥＳ）には、メモリ管理・電源制御手段１０１は、通常モードに復帰する動作を開始する。通常モードに移行する動作は、図１０を参照して後述する。
【００９１】
以上が、第１の実施形態における省電力モードから通常モードに復帰するまでの判定動作である。
【００９２】
次に、以上のようにして通常モードから省電力モードに移行する必要があると判定された場合に実行される省電力モードへの移行の動作を説明する。
【００９３】
図９は、第１の実施形態の省電力モードへの移行の動作を示すフローチャートである。図８のステップＳ８０６の判定で、通常モードから省電力モードへの移行が必要であると判定すると、メモリ管理・電源制御手段１０１は、図９に示す処理動作を開始する。メモリ管理・電源制御手段１０１は、ステップＳ９０１で、どのメモリ搭載モジュールを特定のメモリ搭載モジュールに指定するかを決める。
【００９４】
本実施形態では、図８のステップＳ８０２からステップＳ８０５の処理で収集した各ＣＰＵのメモリ使用量の値に基づいて決めるものとする。本実施形態では、メモリ管理・電源制御手段１０１は、ＣＰＵのメモリ使用量の値が最も多いメモリ搭載モジュールを特定のメモリ搭載モジュールに指定する。例えば、メモリ搭載モジュール３０が特定のメモリ搭載モジュールに指定されたとする。
【００９５】
なお、この特定のメモリ搭載モジュールは、任意に決めてかまわない。各ＣＰＵのメモリ使用量の値に基づいて決める場合であっても、ＣＰＵのメモリ使用量の値が最も少ないメモリ搭載モジュールを特定のメモリ搭載モジュールに指定してもよい。また、メモリ搭載モジュールの数が３以上あった場合で、ＣＰＵのメモリ使用量の値が中間のメモリ搭載モジュールを特定のメモリ搭載モジュールに指定してもよい。さらに、各ＣＰＵのメモリ使用量の値に基づいて決めることなく常に同一のメモリ搭載モジュールを特定のメモリ搭載モジュールに指定してもよい。そして、さらに、各ＣＰＵのメモリ使用量の値に基づいて決めることなく、一定の順序又はランダムに特定のメモリ搭載モジュールを指定してもよい。
【００９６】
メモリ管理・電源制御手段１０１は、ステップＳ９０２で、管理メモリ１０２のメモリ搭載モジュール対応の蓄積エリアに蓄積している各メモリ搭載モジュールのデータを、特定のメモリ搭載モジュールのワークエリアに転送する。このデータは、前述したように、ＣＰＵが使用したキャッシュメモリの内容を常に最新の状態で蓄積してあるデータである。
【００９７】
例えば、メモリ搭載モジュール３０を特定のメモリ搭載モジュールに指定した場合、メモリ管理・電源制御手段１０１は、メモリ搭載モジュール２０に対応する蓄積エリアのデータを、メモリ搭載モジュール３０のワークエリアに転送する。なお、ワークエリアに書き込まれた各データは、各メモリ搭載モジュールのメインメモリの物理アドレスを識別するアドレス識別情報に基づいて、ワークエリア内でのアドレスとの対応付けがなされている。つまり、メモリ搭載モジュール３０のメインメモリ３０３のワークエリアに書き込まれたメモリ搭載モジュール２０に対応する各データは、ワークエリア内でのアドレスとメインメモリ２０３の物理アドレスとの対応が保たれている。
【００９８】
メモリ管理・電源制御手段１０１は、特定のメモリ搭載モジュールのワークエリアに、他のメモリ搭載モジュールのデータを転送すると、ステップＳ９０３で、特定のメモリ搭載モジュールに再起動の指示を送る。続いて、メモリ管理・電源制御手段１０１は、ステップＳ９０４で、他のメモリ搭載モジュールに電源オフの指示を送る。
【００９９】
再起動の指示を受けた特定のメモリ搭載モジュールは、ＣＰＵの再起動処理を実行して、ワークエリアに転送されたデータを当該ＣＰＵのメモリ空間に組み込んで処理を再開する。一方、電源オフの指示を受けた他のメモリ搭載モジュールは、電源制御手段が当該メモリ搭載モジュールの電源をオフにする。つまり、メモリ搭載モジュール３０は、メモリ搭載モジュール２０のデータを引き継いで、双方のメモリ搭載モジュール２０、３０の処理を継続する。そして、メモリ搭載モジュール２０では、電源制御手段２０５がメモリ搭載モジュール２０の電源をオフにする。
【０１００】
以上の処理でメモリ管理・電源制御手段１０１は、通常モードから省電力モードへの移行処理を完了する。そして、メモリ管理・電源制御手段１０１は、ステップＳ９０５で、省電力モードフラグをオンに設定して、省電力モードで動作していることを記憶する。
【０１０１】
省電力モード状態になった場合の特定のメモリ搭載モジュール３０での動作を説明する。
【０１０２】
ＣＰＵ３０１は、メインメモリ３０３のワークエリアに組み込まれたデータも参照して処理を継続する。そして、ＣＰＵ３０１がキャッシュフラッシュ命令を発行してライトバック動作が行われると、キャッシュメモリ３０２の内容はライトバックバッファ３０４を介してメインメモリ３０３の対応するメモリデータエリアに書き込まれる。
【０１０３】
このとき、特定のメモリ搭載モジュール３０の固有のメモリデータエリアに書き込まれるデータは、特定エリアにも書き込まれる。そして、図７を参照して説明した動作により、管理モジュール１０の管理メモリ１０２のメモリ搭載モジュール３０に対応する蓄積エリアに順次書き込まれる。
【０１０４】
一方、メモリ搭載モジュール３０のワークエリアに転送されたデータに対しては、ライトバック動作が行われると、そのままワークエリア上で書き込みが行われる。
【０１０５】
このようにして、省電力モード状態で動作している場合も、ＣＰＵ３０１が各メモリ搭載モジュールに対応するデータをキャッシュメモリで使用すると、その最新のデータが、対応するワークエリア上で順次更新、蓄積されて行く。
【０１０６】
続いて、図１０を参照して、省電力モードから通常モードに復帰する必要があると判定された場合に実行される、通常モードへの復帰の動作を説明する。
【０１０７】
図１０は、第１の実施形態の省電力モードから通常モードへの復帰の動作を示すフローチャートである。図８のステップＳ８０８の判定で、省電力モードから通常モードへの移行が必要であると判定されると、メモリ管理・電源制御手段１０１は、図１０に示す処理動作を開始する。
【０１０８】
メモリ管理・電源制御手段１０１は、ステップＳ１００１で、省電力モード状態で電源がオフに設定されていたメモリ搭載モジュールに対して電源オンを指示する。バス４０を介して電源オンの指示を受けたメモリ搭載モジュールの電源制御手段は、当該メモリ搭載モジュール内の電源をオンにする。
【０１０９】
続いて、メモリ管理・電源制御手段１０１は、特定のメモリ搭載モジュールのワークエリアから、他のメモリ搭載モジュールに対応するキャッシュメモリの蓄積データを、管理メモリを経由して他のメモリ搭載モジュールに転送する。つまり、メモリ管理・電源制御手段１０１は、ワークエリアで更新された他のメモリ搭載モジュールに対応するキャッシュメモリの蓄積データを読み出し、管理メモリ１０２の各メモリ搭載モジュールに対応する蓄積エリアに書き込む。そして、メモリ管理・電源制御手段１０１は、対応するメモリ搭載モジュールにそれぞれのデータを転送する。これらの処理は、ステップＳ１００２で行われる。
【０１１０】
次に、メモリ管理・電源制御手段１０１は、ステップＳ１００３で、新たに電源がオンに設定されたメモリ搭載モジュールに対してＣＰＵの起動を指示する。
【０１１１】
新たに電源がオンに設定されたメモリ搭載モジュールにおいては、管理モジュール１０から転送されたデータをメインメモリの対応するアドレスに上書きする。そして、管理モジュール１０からＣＰＵの起動の指示を受けるとＣＰＵを起動して、新たに上書きされたメインメモリのデータに基づいて処理を再開する。
【０１１２】
そして、メモリ管理・電源制御手段１０１は、ステップＳ１００４で、省電力フラグをオフに設定して、省電力モードから通常モードへの復帰処理を完了する。
【０１１３】
以上に説明したように、第１の実施形態においては、装置ラック単位で異なる機能を実現し、同一の装置ラックに実装される各メモリ搭載モジュールは、同一の機能を実現する形態の装置である。そして、各装置ラックは、当該装置が処理する負荷が最も大きい時間帯に一定のサービスレベルで、その装置ラックが提供する機能を継続することができるような数のメモリ搭載モジュールを設備している。そのため、処理負荷が少なく、実装されている全てのメモリ搭載モジュールを使う必要がないときには、特定のメモリ搭載モジュールを残して、他のメモリ搭載モジュールの電源を切断する省電力モードで動作を行うことができる。しかも、電源を切断するメモリ搭載モジュールで使用されていた最新のキャッシュメモリの蓄積データを特定のメモリ搭載モジュールに転送するので、特定のメモリ搭載モジュールが、他のメモリ搭載モジュールの機能を継続することができる。
【０１１４】
第１の実施形態は、説明を簡単にするために、メモリ搭載モジュールが２つ実装されている場合を例にして説明した。しかし、この形態に限ることなく、少なくとも２つのメモリ搭載モジュールが管理モジュールと接続される形態であればよい。
【０１１５】
また、対象となるメモリ搭載モジュールが多数ある場合には、電源を切断しない特定のメモリ搭載モジュールの数は、1つに限ることなく複数あってもかまわない。この場合、管理モジュールは、任意の複数のメモリ搭載モジュールを特定のメモリ搭載モジュールとして指定し、各特定のメモリ搭載モジュールにデータを転送する他のメモリ搭載モジュールとの対応関係を管理しておけばよい。つまり、管理モジュールは、各メモリ搭載モジュールのメインメモリの物理アドレスと転送先の特定のメモリ搭載モジュールのメインメモリの物理アドレスとの対応関係を管理することにより、本実施形態の各モードへの移行制御が可能になる。
【０１１６】
また、さらに、本実施形態は、実装されているメモリ搭載モジュールが同一の機能を提供するものであれば、複数の装置ラックを対象とした形態であってもかまわない。この場合は、装置ラック毎に管理モジュールを設置し、管理モジュール間で情報交換を行うことにより、装置ラックを１台とした場合の動作と同様の制御を装置ラック間で行うことができる。
【０１１７】
次に、第２の実施形態を図１１〜図１４を参照して説明する。なお、第１の実施形態と同じ構成については、それらの図面を参照して説明する。
【０１１８】
第２の実施形態は、異なる機能を提供するメモリ搭載モジュールが装置ラックに実装されている形態の通信装置である。第２の実施形態は、メモリ搭載モジュールで処理する負荷が少なく、実装されている全てのメモリを使う必要がないときに、メモリ搭載モジュールのメモリの電源を切断する省電力モード動作を行う。第２の実施形態の省電力モードに設定されたメモリ搭載モジュールは、管理モジュールのメモリ搭載モジュールに対応する蓄積エリアに蓄積された最新のキャッシュメモリの内容を引き継いで処理を継続する。
【０１１９】
図２は、第２の実施形態においても適用される。
【０１２０】
ただし、第２の実施形態においては、図２に示す各装置ラックに実装されているメモリ搭載モジュール１０、２０、１０ａ〜４０ａ、１０ｂ〜５０ｂは、それぞれ異なる機能を実現する装置モジュールである。
【０１２１】
第２の実施形態は、少なくとも一つのメモリ搭載モジュールと管理モジュールが接続される形態で実現される。つまり、第２の実施形態は、後述する図１１に示す構成のメモリ搭載モジュールが一つと管理モジュールとで実現できる。
【０１２２】
しかし、説明をわかり易くするために、図２の装置ラック１００、つまり、２つのメモリ搭載モジュール２０、３０が管理モジュール２０と接続する構成を例にして第２の実施形態を説明する。
【０１２３】
第２の実施形態における管理モジュール１０は、第１の実施形態の図５を参照して説明した管理モジュールと同じ構成を備えている。従って、第１の実施形態で説明した図３の接続形態を参照して第２の実施形態を説明する。
【０１２４】
第２の実施形態におけるメモリ搭載モジュールの構成を図１１に示す。
【０１２５】
図１１は、第２の実施形態のメモリ搭載モジュールの構成を示すブロック構成図である。
【０１２６】
第１の実施形態と異なる構成は、メモリ切替部２０６を備える点と、電源制御手段２０５が電源のオン、オフ制御を行う対象がメインメモリ２０３に限定される点である。他の構成は、図４を参照して説明した第１の実施形態のメモリ搭載モジュールと同じ構成を備える。
【０１２７】
メモリ切替部２０６は、通常モードで使用するメモリと省電力モードに設定されたときに使用するメモリとを切り替える機能を有する。つまり、メモリ切替部２０６は、通常モードでは、キャッシュメモリのアクセス経路をメインメモリにアクセスする経路に接続する。そして、メモリ切替部２０６は、省電力モードでは、キャッシュメモリのアクセス経路を管理メモリにアクセスする経路に切り替える。
【０１２８】
図７は、管理メモリ１０２にキャッシュメモリの内容を書き込む動作を示すフローチャートであり、第１の実施形態で説明した動作と同じである。
【０１２９】
この動作は、図３に示す管理モジュール１０がメモリ搭載モジュール２０、３０のそれぞれのメインメモリから、蓄積されたキャッシュメモリの内容を読み出して、管理メモリ１０２のメモリ搭載モジュール対応の蓄積エリアに書き込む動作である。この動作は、管理モジュール１０のメモリ管理・電源制御手段１０１が実行する動作である。
【０１３０】
第１の実施形態で説明したように、各メモリ搭載モジュールでは、キャッシュメモリの内容は、ライトバック動作によりメインメモリのメモリデータエリアに書き戻されると同時に特定エリアにも書き込まれる。このとき特定エリアに書き込まれるデータは、キャッシュメモリの内容に加えて、書き戻されるメモリデータエリアの本来の物理アドレスを識別することができるアドレス識別情報を含む。
【０１３１】
メモリ管理・電源制御手段１０１は、このようにして特定エリアに蓄積されたキャッシュメモリの内容を、定期的に各メモリ搭載モジュールから読み出して、管理メモリ１０２のメモリ搭載モジュールに対応する蓄積エリアに蓄積する。なお、図６の詳細動作は第１の実施形態で説明したので、ここではその説明を省略する。
【０１３２】
メモリ管理・電源制御手段１０１は、図７に示した動作を周期的に実行している。この動作により、各メモリ搭載モジュールのＣＰＵが処理した最新のデータが管理メモリ１０２の各メモリ搭載モジュールの対応する蓄積エリアに順次書き込まれて行く。なお、蓄積エリア内の各データは、各メモリ搭載モジュールのメインメモリの物理アドレスを識別するアドレス識別情報に基づいて、管理メモリ内でのアドレスとの対応付けがなされている。例えば、メモリ管理・電源制御手段１０１は、管理メモリに書き込みを行う度に、メモリ搭載モジュールのメインメモリの物理アドレスにしたがってソーティングを行ってから書き込む。従って、同一物理アドレスのデータは後から書き込まれるデータにより上書きされる。また、各メモリ搭載モジュールの対応するエリアが満杯になった場合には、最も古いデータが新しいデータで上書きされる。
【０１３３】
メインメモリの特定エリア及び管理メモリのメモリ搭載モジュール対応の蓄積エリアのサイズについては、第１の実施形態で説明した考え方を適用してかまわない。
【０１３４】
つまり、メインメモリの特定エリアのサイズは、ＣＰＵが定期的に発行するキャッシュフラッシュ命令の頻度と、管理モジュールにより読み出される頻度に応じて決める。つまり、特定エリアのサイズは、ライトバックされるキャッシュメモリの各データサイズに前述のアドレス識別情報サイズを加えた大きさのデータが蓄積されて行くデータ量と、管理モジュール１０が読み出して行くデータ量とのバランスで決めればよい。例えば、ライトバックの頻度が多く、管理モジュール１０の読み出し頻度が少ない場合には、特定エリアのサイズは大きくする必要がある。逆に、ライトバックの頻度が少なく、管理モジュール１０の読み出し頻度が多い場合には、特定エリアのサイズは小さくてもかまわない。
【０１３５】
また、管理メモリの各メモリ搭載モジュール対応の蓄積エリアのサイズは、省電力モードになったときに動作継続が可能な程度のデータ量を蓄積することができるサイズを必要とする。ＣＰＵのメモリ空間として、例えば、５〜６ページ分に相当するデータ量を蓄積する必要があるとすると、１ページあたり４Ｋバイトと仮定して２４Ｋバイト、それに付加情報のサイズを加えて３０Ｋバイトのエリアサイズが例示される。したがって、管理メモリは、３０Ｋバイトの蓄積エリアを、対象となるメモリ搭載モジュールの数だけ必要とする。
【０１３６】
なお、上記は例示であって、各種条件により数値は変わることを付け加えておく。特に、第２の実施形態においては、第１の実施形態と異なり、管理メモリの各メモリ搭載モジュール対応の蓄積エリアの内容を特定のメモリ搭載モジュールに転送する必要が無い。そのため、管理メモリの各メモリ搭載モジュール対応の蓄積エリアの容量は、第１の実施形態の考え方で決めた容量よりも大きな容量であってもかまわない。
【０１３７】
次に、第２の実施形態の動作を図１２〜図１４を参照して説明する。
【０１３８】
図１２は、第２の実施形態の省電力モードへの移行、及び省電力モードから通常モードへの復帰を判定する動作を示すフローチャートである。この動作は、管理モジュール１０のメモリ管理・電源制御手段１０１が実行する動作である。
【０１３９】
メモリ管理・電源制御手段１０１は、定期的に各メモリ搭載モジュールのＣＰＵのメモリ使用状況を調べ、各メモリ搭載モジュールの動作モードを変更する必要があるか否かを判定する。つまり、第２の実施形態では、メモリ搭載モジュール毎に動作モードを、通常モードから省電力モードに、また、省電力モードから通常モードに変更する必要があるか否かを判定する。この処理は周期起動される。
【０１４０】
なお、第２の実施形態における通常モードとは、メモリ搭載モジュールのメインメモリの電源がオン状態で、ＣＰＵが当該モジュールのメインメモリのデータを使用して処理を行っている状態の動作を言う。また、第２の実施形態における省電力モードとは、メモリ搭載モジュールのメインメモリの電源がオフ状態で、ＣＰＵが管理メモリの当該メモリ搭載モジュール対応の蓄積エリアに蓄積されたデータを使用して処理を行っている状態の動作を言う。
【０１４１】
周期起動されるとメモリ管理・電源制御手段１０１は、ステップＳ１２０１で、判定処理の対象となるメモリ搭載モジュール数を初期設定する動作を行う。つまり、メモリ管理・電源制御手段１０１は、対象となるメモリ搭載モジュール数の最大値Ｎを２に指定し、最初に処理を実行するメモリ搭載モジュール番号ｎを１に指定して動作を開始する。
【０１４２】
まず、メモリ管理・電源制御手段１０１は、ステップＳ１２０２で、判定対象として指定したメモリ搭載モジュール２０のＣＰＵに対してメモリの使用量を報告させる命令を発行する。バス４０を介してメモリ使用量報告の命令を受けたＣＰＵは、当該ＣＰＵで現在使用中のメモリ量をメモリ管理・電源制御手段１０１に報告する。
【０１４３】
次に、メモリ管理・電源制御手段１０１は、ステップＳ１２０３で、指定したメモリ搭載モジュールが、現在どちらのモードで動作しているかを識別する。メモリ管理・電源制御手段１０１は、後述するように、メモリ搭載モジュール毎に省電力モードフラグを有しており、省電力モードでは省電力モードフラグがオンに設定され、通常モードでは省電力モードフラグがオフに設定されている。したがって、メモリ管理・電源制御手段１０１は、この省電力モードフラグの設定状態を識別することにより、メモリ搭載モジュール毎に現在の動作モードを識別することができる。
【０１４４】
現在の動作モードが通常モードであるとすると（Ｓ１２０３、ＮＯ）、メモリ管理・電源制御手段１０１は、ステップＳ１２０４で、省電力モードへの移行要否を判定する。つまり、メモリ管理・電源制御手段１０１は、ステップＳ１２０２の処理で取得したＣＰＵのメモリ使用量に基づいて、通常モードから省電力モードへの移行要否を判定する。
【０１４５】
本実施形態では、ＣＰＵのメモリ使用量が管理モジュール１０の管理メモリ１０２の当該メモリ搭載モジュール対応の蓄積エリアのデータ蓄積量（使用量）を下回った場合に通常モードから省電力モードへの移行が行われる。本実施形態では、ＣＰＵのメモリ使用量が管理メモリ１０２の当該メモリ搭載モジュール対応の蓄積エリアの使用量の６０％を下回った場合に通常モードから省電力モードに移行するものとしている。なお、この６０％という値は任意に設定してかまわない。
【０１４６】
ステップＳ１２０４の判定で、ＣＰＵのメモリ使用量が管理メモリ１０２の当該メモリ搭載モジュール対応の蓄積エリアの使用量の６０％を下回っていない場合（Ｓ１２０４、ＮＯ）、メモリ管理・電源制御手段１０１は、当該メモリ搭載モジュールは通常モードを継続すると判定する。そして、メモリ管理・電源制御手段１０１は、ステップＳ１２０５で、判定対象とする次のメモリ搭載モジュールを指定するために、ｎをインクリメントする（ｎは２に設定される）。
【０１４７】
一方、ステップＳ１２０４の判定で、ＣＰＵのメモリ使用量が管理メモリ１０２の当該メモリ搭載モジュール対応エリアの使用量の６０％を下回っている場合（Ｓ１２０４、ＹＥＳ）には、メモリ管理・電源制御手段１０１は、当該メモリ搭載モジュールは省電力モードに移行すると判定する。省電力モードに移行すると判定した場合、メモリ管理・電源制御手段１０１は、ステップＳ１２０８で、図１３に示す省電力モードへの移行動作を行う別タスクを起動する。そして、ステップＳ１２０５に進み、メモリ管理・電源制御手段１０１は、判定対象とする次のメモリ搭載モジュールを指定するために、ｎをインクリメントする（ｎは２に設定される）。
【０１４８】
メモリ管理・電源制御手段１０１は、ステップＳ１２０６で、メモリ搭載モジュール数の最大値Ｎまで処理が完了しているか否かを判定する。Ｎ＝２、ｎ＝２なので、Ｎ＜ｎの条件を満たさず（Ｓ１２０６、ＮＯ）、処理はステップＳ１１０２に戻る。
【０１４９】
メモリ管理・電源制御手段１０１は、ｎ＝２で指定される２番目のメモリ搭載モジュールに対して、上述したステップＳ１２０２からステップＳ１２０４の処理を実行する。
【０１５０】
ｎ＝２で指定される２番目のメモリ搭載モジュールに対する処理が終了すると、メモリ管理・電源制御手段１０１は、ステップＳ１２０５で、判定対象とする次のメモリ搭載モジュールを指定するために、ｎをインクリメントする。このときｎは３に設定され、続くステップＳ１２０６の判定では、Ｎ＝２、ｎ＝３なので、Ｎ＜ｎの条件を満たすことになる（Ｓ１２０６、ＹＥＳ）。つまり、メモリ搭載モジュール数の最大値Ｎまで処理が完了したので、メモリ管理・電源制御手段１０１は、この周期での動作モード移行判定の処理を終了する。
【０１５１】
以上が、第２の実施形態における通常モードから省電力モードに移行するまでの判定動作である。
【０１５２】
続いて、さらに図１２を参照して、省電力モードから通常モードに復帰判定する動作を説明する。
【０１５３】
ステップＳ１２０３の判定処理で、判定対象のメモリ搭載モジュールが省電力モードであると判定すると（Ｓ１２０３、ＹＥＳ）、メモリ管理・電源制御手段１０１は、ステップＳ１２０７で、通常モードへの復帰要否を判定する。つまり、メモリ管理・電源制御手段１０１は、ステップＳ１２０２の処理で取得したＣＰＵのメモリ使用量に基づいて、省電力モードから通常モードへの復帰要否を判定する。
【０１５４】
本実施形態では、メモリ搭載モジュールのＣＰＵのメモリ使用量が管理メモリ１０２の当該メモリ搭載モジュール対応の蓄積エリアの使用量の８０％を超えた場合に省電力モードから通常モードへの復帰が行われる。なお、この８０％という値は任意に設定してかまわない。
【０１５５】
ステップＳ１２０７の判定で、メモリ搭載モジュールのＣＰＵのメモリ使用量が管理メモリ１０２の当該メモリ搭載モジュール対応エリアの使用量の８０％を超えていない場合（Ｓ１２０７、ＮＯ）、メモリ管理・電源制御手段１０１は、省電力モードでの動作を継続すると判定する。そして、メモリ管理・電源制御手段１０１は、このメモリ搭載モジュールに対する判定処理を終了して、ステップＳ１２０５に進み、次のメモリ搭載モジュールを指定する。
【０１５６】
一方、ステップＳ１２０７の判定で、メモリ搭載モジュールのＣＰＵのメモリ使用量が管理メモリ１０２の当該メモリ搭載モジュール対応エリアの使用量の８０％を超えた場合（Ｓ１２０７、ＹＥＳ）には、メモリ管理・電源制御手段１０１は、通常モードに復帰すると判定する。通常モードに復帰すると判定した場合、メモリ管理・電源制御手段１０１は、ステップＳ１２０９で、図１４に示す通常モードへの復帰動作を行う別タスクを起動する。そして、メモリ管理・電源制御手段１０１は、このメモリ搭載モジュールに対する判定処理を終了して、ステップＳ１１０５に進み、次のメモリ搭載モジュールを指定する。
【０１５７】
以上が、第２の実施形態における省電力モードから通常モードに復帰するまでの判定動作である。
【０１５８】
次に、以上のようにして通常モードから省電力モードに移行する必要があると判定された場合に実行される省電力モードへの移行の動作を説明する。
【０１５９】
図１３は、第２の実施形態の省電力モードへの移行の動作を示すフローチャートである。図１２のステップＳ１２０４の判定で、通常モードから省電力モードへの移行が必要であると判定すると、メモリ管理・電源制御手段１０１は、別タスクを起動して図１３に示す処理を実行する。
【０１６０】
メモリ管理・電源制御手段１０１は、ステップＳ１３０１で、省電力モードに移行する対象となるメモリ搭載モジュールを識別する。この識別情報は、当該タスクが起動されるときのインタフェース条件として与えられている。
【０１６１】
メモリ管理・電源制御手段１０１は、ステップＳ１３０２で、識別したメモリ搭載モジュールに対して、メモリ切替指示を送る。
【０１６２】
バス４０経由で管理モジュール１０からメモリ切替指示を受け取った図１１に示すメモリ搭載モジュールのメモリ切替部２０６は、ライトバックバッファ２０４からの接続をメインメモリ２０３側からバス４０側に切り替える。この切り替えにより、当該モジュールにおけるメモリアクセスは、バス４０を介して、管理メモリの当該メモリ搭載モジュールに対応する蓄積エリアのメモリデータに対して行われるようになる。
【０１６３】
メモリ管理・電源制御手段１０１は、ステップＳ１３０３で、このメモリ搭載モジュールに対して、メモリ電源オフの指示を送る。
【０１６４】
バス４０経由で管理モジュール１０からメモリ電源オフの指示を受け取ったメモリ搭載モジュールの電源制御手段２０５は、メインメモリ２０３の電源をオフに設定する。
【０１６５】
以上の動作で、このメモリ搭載モジュールに対する省電力モードへの移行が完了したので、メモリ管理・電源制御手段１０１は、ステップＳ１３０４で、このメモリ搭載モジュールに対応する省電力モードフラグをオンに設定して動作を終了する。
【０１６６】
省電力モードに移行したメモリ搭載モジュールのＣＰＵは、管理メモリの当該メモリ搭載モジュールに対応する蓄積エリアのメモリデータを引き継いで処理を継続する。このとき、ライトバック動作によるキャッシュメモリの書き戻しは、管理メモリの当該メモリ搭載モジュールに対応する蓄積エリアのメモリデータに対して行われる。
【０１６７】
次に、省電力モードから通常モードに復帰する必要があると判定された場合に実行される通常モードへの復帰の動作を説明する。
【０１６８】
図１４は、第２の実施形態の通常モードへの復帰の動作を示すフローチャートである。図１２のステップＳ１２０７の判定で、省電力モードから通常モードへの復帰が必要であると判定すると、メモリ管理・電源制御手段１０１は、別タスクを起動して図１４に示す処理を実行する。
【０１６９】
メモリ管理・電源制御手段１０１は、ステップＳ１４０１で、通常モードに復帰する対象となるメモリ搭載モジュールを識別する。この識別情報は、当該タスクが起動されるときのインタフェース条件として与えられている。
【０１７０】
メモリ管理・電源制御手段１０１は、ステップＳ１４０２で、識別したメモリ搭載モジュールに対して、メモリ電源オンの指示を送る。
【０１７１】
バス４０経由で管理モジュール１０からメモリ電源オンの指示を受け取った図１１に示すメモリ搭載モジュールの電源制御手段２０５は、メインメモリ２０３の電源をオンに設定する。
【０１７２】
続いて、メモリ管理・電源制御手段１０１は、ステップＳ１４０３で、当該メモリ搭載モジュールに対応する蓄積エリアのメモリデータをメインメモリ２０３に転送する。メインメモリ２０３の電源がオンに設定されたメモリ搭載モジュールにおいては、管理モジュール１０から転送されたメモリデータをメインメモリ２０３の対応するアドレスに上書きする。
【０１７３】
メモリ管理・電源制御手段１０１は、ステップＳ１４０４で、このメモリ搭載モジュールに対して、メモリ切替部２０６の切替指示を送る。
【０１７４】
バス４０経由で管理モジュール１０からメモリ切替指示を受け取ったメモリ搭載モジュールのメモリ切替部２０６は、ライトバックバッファ２０４からの接続をバス４０側からメインメモリ２０３側に切り替える。この切り替えにより、当該モジュールにおけるメモリアクセスは、メインメモリ２０３のメモリデータに対して行われるようになる。
【０１７５】
以上の動作により、このメモリ搭載モジュールに対する通常モードへの復帰が完了したので、メモリ管理・電源制御手段１０１は、ステップＳ１４０５で、このメモリ搭載モジュールに対応する省電力モードフラグをオフに設定して動作を終了する。
【０１７６】
以上に説明したように、第２の実施形態は、異なる機能を提供するメモリ搭載モジュールが装置ラックに実装される形態の装置である。そして、第２の実施形態は、メモリ搭載モジュールで処理する負荷が少なく、実装されている全てのメモリを使う必要がないときに、メモリ搭載モジュールのメモリの電源を切断する省電力モード動作を行う。省電力モードに設定されたメモリ搭載モジュールは、管理モジュールのメモリ搭載モジュールに対応する蓄積エリアに蓄積している最新のデータを引き継いで処理を継続することができる。
【０１７７】
第２の実施形態は、説明をわかり易くするために、メモリ搭載モジュールが２つ実装されている場合を例にして説明した。しかし、この形態に限ることなく、少なくとも１つのメモリ搭載モジュールが管理モジュールと接続される形態であればよい。つまり、第２の実施形態は、メモリ搭載モジュールが一つの場合であっても、また３つ以上の場合であっても上記に説明した省電力モードへの移行や省電力モードから通常モードへの復帰の動作が可能である。
【０１７８】
また、本実施形態は、複数の装置ラックを対象とした形態であってもかまわない。この場合は、装置ラック毎に管理モジュールを設置し、管理モジュール間で情報交換を行うことにより、装置ラックを１台とした場合の動作と同様な制御を装置ラック間で行うことができる。
【０１７９】
次に、第３の実施形態を説明する。
【０１８０】
第３の実施形態は、第１の実施形態のメモリ搭載モジュールと第２の実施形態のメモリ搭載モジュールが、装置ラックに混在して実装されている形態である。
【０１８１】
図２に示す装置ラック３００を参照すると、当該装置ラックに実装されている４つのメモリ搭載モジュールのうち、２つが第１の実施形態のメモリ搭載モジュールであって、他の２つが第２の実施形態のメモリ搭載モジュールである場合が例示される。
【０１８２】
例えば、メモリ搭載モジュール２０ｂ、３０ｂがそれぞれ第１の実施形態のメモリ搭載モジュールであって、メモリ搭載モジュール４０ｂ、５０ｂがそれぞれ第２の実施形態のメモリ搭載モジュールとする。そして、メモリ搭載モジュール２０ｂ、３０ｂは、それぞれが同一の機能を実現する形態の装置であり、メモリ搭載モジュール４０ｂ、５０ｂは、それぞれが異なる機能を実現する形態の装置である。
【０１８３】
従って、メモリ搭載モジュール２０ｂ、３０ｂは、処理負荷が少なく、両方のメモリ搭載モジュールを使う必要がないときに、どちらかのメモリ搭載モジュールを残して、他のメモリ搭載モジュールの電源を切断する省電力モード動作を行う。省電力モードになると、管理モジュールは、電源を切断するメモリ搭載モジュールで使用されていた最新の蓄積データを、動作を継続するメモリ搭載モジュールに転送する。動作を継続するメモリ搭載モジュールは、転送された他のメモリ搭載モジュールの最新の蓄積データを引き継いで、電源を切断するメモリ搭載モジュールの機能を継続する。メモリ搭載モジュール２０ｂ、３０ｂの構成は、図４及び図６を参照して説明したメモリ搭載モジュールの構成と同じである。
【０１８４】
また、メモリ搭載モジュール４０ｂ、５０ｂは、処理負荷が少なく、実装されている全てのメモリを使う必要がないときに、メモリ搭載モジュールのメモリの電源を切断する省電力モード動作を行う。省電力モードに設定されたメモリ搭載モジュールは、管理モジュールのメモリ搭載モジュールに対応する蓄積エリアに蓄積している最新のデータを引き継いで処理を継続する。メモリ搭載モジュール４０ｂ、５０ｂの構成は、図１１を参照して説明したメモリ搭載モジュールの構成と同じである。
【０１８５】
つまり、上記の動作を実現するために、第３の実施形態では、管理モジュール１０の構成が第１及び第２の実施形態と異なる。
【０１８６】
図１５は、第３の実施形態の管理モジュールの構成を示すブロック構成図である。
【０１８７】
図１５において、メモリ管理・電源制御手段１１１は、第１の実施形態で説明した制御と第２の実施形態で説明した制御とのいずれの制御も実行できる構成を備える。そして、メモリ管理・電源制御手段１１１は、どのメモリ搭載モジュールがどちらの実施形態に対応する動作を行うメモリ搭載モジュールであるかを識別することができるモジュール種別情報を予め備えている。
【０１８８】
管理メモリＡ１１２は、第１の実施形態のメモリ搭載モジュール２０ｂ、３０ｂ対応の蓄積エリアを備えた管理メモリであり、管理メモリＢ１１２は、第２の実施形態のメモリ搭載モジュール４０ｂ、５０ｂ対応の蓄積エリアを備えた管理メモリである。
【０１８９】
図７を参照して説明したように、メモリ管理・電源制御手段１１１は、各メモリ搭載モジュールのそれぞれのメインメモリの特定エリアに蓄積されたキャッシュメモリの内容を読み出す。そして、メモリ管理・電源制御手段１１１は、読み出したキャッシュメモリの内容をモジュール種別情報に応じて管理メモリＡ１１２、管理メモリＢ１１３のいずれかのメモリ搭載モジュール対応の蓄積エリアに書き込む動作を行う。
【０１９０】
前述したように、各メモリ搭載モジュールでは、ＣＰＵが定期的にキャッシュフラッシュ命令を発行することにより、その都度、ライトバック動作が行われる。キャッシュメモリの内容は、ライトバック動作によりメインメモリのメモリデータエリアに書き戻されると同時に特定エリアにも書き込まれる。このとき特定エリアに書き込まれるデータは、キャッシュメモリの内容に加えて、書き戻されるメモリデータエリアの物理アドレスを識別することができるアドレス識別情報を含む。
【０１９１】
メモリ管理・電源制御手段１１１は、このようにして蓄積されたキャッシュメモリの内容を、定期的に各メモリ搭載モジュールから読み出して、モジュール種別情報に対応する管理メモリに蓄積する。この動作に関し、上記の動作以外のメモリ管理・電源制御手段１１１の動作は、図７を参照して説明したメモリ管理・電源制御手段１０１の動作と同じなので説明を省略する。
【０１９２】
従って、第３の実施形態においても、各メモリ搭載モジュールのＣＰＵが処理した最新のキャッシュメモリの内容は、管理メモリＡ１１２、管理メモリＢ１１３の各メモリ搭載モジュールの対応する蓄積エリアに順次書き込まれて行く。なお、蓄積エリア内の各データは、各メモリ搭載モジュールのメインメモリの物理アドレスを識別するアドレス識別情報に基づいて、管理メモリ内でのアドレスとの対応付けがなされている。例えば、メモリ管理・電源制御手段１０１は、管理メモリに書き込みを行う度に、メモリ搭載モジュールのメインメモリの物理アドレスにしたがってソーティングを行ってから書き込む。従って、同一物理アドレスのデータは後から書き込まれるデータにより上書きされる。また、各メモリ搭載モジュールの対応するエリアが満杯になった場合には、最も古いデータが新しいデータで上書きされる。
【０１９３】
また、メモリ管理・電源制御手段１１１は、省電力モードへの移行、及び省電力モードから通常モードへの復帰を判定する動作に関して、モジュール種別情報に基づいて２種類の動作を実行する。つまり、第１の実施形態に対応するメモリ搭載モジュール２０ｂ、３０ｂに対しては図８で説明した判定動作を実行し、第２の実施形態に対応するメモリ搭載モジュール４０ｂ、５０ｂに対しては図１２で説明した判定動作を実行する。
【０１９４】
そして、メモリ管理・電源制御手段１１１は、各メモリ搭載モジュールの状況に応じて、省電力モードへの移行動作、及び省電力モードから通常モードへの復帰動作を行う。つまり、メモリ管理・電源制御手段１１１は、メモリ搭載モジュール２０ｂ、３０ｂに対しては図９、図１０で説明した動作を実行し、メモリ搭載モジュール４０ｂ、５０ｂに対しては図１３、図１４で説明した動作を実行する。
【０１９５】
このようにして、第３の実施形態においても、モジュール種別情報に対応した形態で省電力モード動作を行うことができる。
【０１９６】
つまり、メモリ搭載モジュール２０ｂ、３０ｂは、処理負荷が少なく、両方のメモリ搭載モジュールを使う必要がないときに、どちらかのメモリ搭載モジュールを残して、他のメモリ搭載モジュールの電源を切断する省電力モード動作を行うことができる。そして、省電力モードになると、管理モジュールは、電源を切断するメモリ搭載モジュールで使用されていた最新の蓄積データを、動作を継続するメモリ搭載モジュールに転送する。これにより、動作を継続するメモリ搭載モジュールは、転送された他のメモリ搭載モジュールの最新の蓄積データを引き継いで、電源を切断するメモリ搭載モジュールの機能を継続することができる。
【０１９７】
また、メモリ搭載モジュール４０ｂ、５０ｂは、処理負荷が少なく、実装されている全てのメモリを使う必要がないときに、メモリ搭載モジュールのメモリの電源を切断する省電力モード動作を行うことができる。そして、省電力モードに設定されたメモリ搭載モジュールは、管理モジュールのメモリ搭載モジュールに対応する蓄積エリアに蓄積している最新のデータを引き継いで処理を継続することができる。
【０１９８】
第３の実施形態は、説明をわかり易くするために、２つの第１の実施形態のメモリ搭載モジュールと２つの第２の実施形態のメモリ搭載モジュールが、装置ラックに混在して実装されている形態を例にして説明した。しかし、この形態に限ることなく、少なくとも２つの第１の実施形態のメモリ搭載モジュールと少なくとも一つの第２の実施形態のメモリ搭載モジュールが管理モジュールと接続される形態であればよい。
【０１９９】
本発明は、通信装置に限らず、装置ラックに実装されるモジュール単位で機能を提供する装置に適用することができる。
【符号の説明】
【０２００】
１    通信装置
１０、１０ａ、１０ｂ    管理モジュール
２０、２０ａ、２０ｂ    メモリ搭載モジュール
３０、３０ａ、３０ｂ    メモリ搭載モジュール
４０ａ、４０ｂ、５０ｂ    メモリ搭載モジュール
１００、２００、３００    装置ラック
１０１、１１１    メモリ管理・電源制御手段
１０２    管理メモリ
１１２    管理メモリＡ
１１３    管理メモリＢ
２０１、３０１    ＣＰＵ
２０２、３０２    キャッシュメモリ
２０３、３０３    メインメモリ
２０４、３０４    ライトバックバッファ
２０５、３０５    電源制御手段
２０６    メモリ切替部
【図１】
2010271867.tif 000003
【図２】
2010271867.tif 000004
【図３】
2010271867.tif 000005
【図４】
2010271867.tif 000006
【図５】
2010271867.tif 000007
【図６】
2010271867.tif 000008
【図７】
2010271867.tif 000009
【図８】
2010271867.tif 000010
【図９】
2010271867.tif 000011
【図１０】
2010271867.tif 000012
【図１１】
2010271867.tif 000013
【図１２】
2010271867.tif 000014
【図１３】
2010271867.tif 000015
【図１４】
2010271867.tif 000016
【図１５】
2010271867.tif 000017