(57)【特許請求の範囲】
【請求項１】
揮発性メモリと不揮発性メモリとの間におけるデータの転送を制御するメモリコントローラであって、
リフレッシュ動作モードとセルフリフレッシュ動作モードとを含む複数の動作モードの何れかで動作する複数の揮発性メモリに保持されているデータを不揮発性メモリへ転送するデータ転送手段と、
前記データ転送手段による前記複数の揮発性メモリの少なくとも一つからのデータ読出が終了すると、前記データ読出が終了した揮発性メモリを前記リフレッシュ動作モードから前記セルフリフレッシュ動作モードへ移行させる制御手段とを有し、
前記制御手段は、第1のモードにおいて前記複数の揮発性メモリに許可信号を供給して前記複数の揮発性メモリからデータを読み出し、第2のモードにおいて前記複数の揮発性メモリの一部に前記許可信号を供給し、前記許可信号が供給されていない揮発性メモリを前記セルフリフレッシュモードに遷移させることを特徴とするメモリコントローラ。
【請求項２】
前記制御手段は、前記不揮発性メモリへのデータ書込の進行状況に応じて、当該不揮発性メモリを前記セルフリフレッシュ動作モードから前記リフレッシュ動作モードに復帰させる制御を行うことを特徴とする請求項1に記載されたメモリコントローラ。
【請求項３】
主電源に代わって電源を供給するバックアップ電源から電源が供給される場合、前記データ転送手段と前記制御手段は、前記揮発性メモリに保持されているデータを前記不揮発性メモリへ転送することを特徴とする請求項1または請求項2に記載されたメモリコントローラ。
【請求項４】
前記データ転送手段による前記揮発性メモリから前記不揮発性メモリへのデータ転送は、前記メモリコントローラの内部に備えられたデータ保持手段を介して行われることを特徴とする請求項1から請求項3の何れか一項に記載されたメモリコントローラ。
【請求項５】
前記データ転送手段により前記揮発性メモリから読み出されたデータは前記データ保持手段に保持され、前記保持されたデータは所定のデータサイズに分割されて前記不揮発性メモリへ転送されることを特徴とする請求項4に記載されたメモリコントローラ。
【請求項６】
前記不揮発性メモリへのデータ書込の進行状況は、前記不揮発性メモリへのデータ書込み数をカウントするか、前記不揮発性メモリへの書込みサイクルから計算される時間をタイマで計測するかにより判定することを特徴とする請求項2に記載されたメモリコントローラ。
【請求項７】
前記データ転送手段は、前記複数の揮発性メモリに保持されているデータの読み出し動作と、前記不揮発性メモリへの該データの書き込み動作とを並行して行うことを特徴とする請求項1に記載されたメモリコントローラ。
【請求項８】
第1バスを介して記憶装置と接続され、第2バスを介して複数の揮発性メモリと接続されるメモリコントローラであって、
リフレッシュ動作モードとセルフリフレッシュ動作モードとを含む複数の動作モードの何れかで動作する前記複数の揮発性メモリが保持するデータを前記記憶装置に転送する転送手段と、
前記転送手段による前記複数の揮発性メモリの少なくとも一つからのデータ読出が終了すると、前記データ読出が終了した揮発性メモリを前記リフレッシュ動作モードから前記セルフリフレッシュ動作モードへ移行させる制御手段とを有し、
前記制御手段は、第1のモードにおいて前記複数の揮発性メモリに許可信号を供給して前記複数の揮発性メモリからデータを読み出し、第2のモードにおいて前記複数の揮発性メモリの一部に前記許可信号を供給し、前記許可信号が供給されていない揮発性メモリを前記セルフリフレッシュ動作モードに遷移させることを特徴とするメモリコントローラ。
【請求項９】
前記第2バスは前記第1バスよりもスループットが大きいことを特徴とする請求項8に記載されたメモリコントローラ。
【請求項１０】
前記揮発性メモリはSDRAMであることを特徴とする請求項8または請求項9に記載されたメモリコントローラ。
【請求項１１】
前記データ転送手段は、前記複数の揮発性メモリに保持されているデータの読み出し動作と、前記記憶装置への該データの書き込み動作とを並行して行うことを特徴とする請求項8に記載されたメモリコントローラ。
【請求項１２】
揮発性メモリと不揮発性メモリとの間におけるデータの転送を制御するメモリコントローラの制御方法であって、
リフレッシュ動作モードとセルフリフレッシュ動作モードとを含む複数の動作モードの何れかで動作する複数の揮発性メモリに保持されているデータを不揮発性メモリへ転送するデータ転送工程と、
前記データ転送工程における前記複数の揮発性メモリの少なくとも一つからのデータ読出が終了すると、前記データ読出が終了した揮発性メモリを前記リフレッシュ動作モードから前記セルフリフレッシュ動作モードへ移行させる制御工程とを有し、
前記制御工程は、第1のモードにおいて前記複数の揮発性メモリに許可信号を供給して前記複数の揮発性メモリからデータを読み出し、第2のモードにおいて前記複数の揮発性メモリの一部に前記許可信号を供給し、前記許可信号が供給されていない揮発性メモリを前記セルフリフレッシュ動作モードに遷移させることを特徴とするメモリコントローラの制御方法。
【請求項１３】
第1バスを介して記憶装置と接続され、前記第1バスよりスループットが大きい第2バスを介して複数の揮発性メモリと接続されるメモリコントローラの制御方法であって、
リフレッシュ動作モードとセルフリフレッシュ動作モードとを含む複数の動作モードの何れかで動作する前記複数の揮発性メモリが保持するデータを前記記憶装置に転送する転送工程と、
前記転送工程における前記複数の揮発性メモリの少なくとも一つからのデータ読み出が終了すると、前記データ読出が終了した揮発性メモリを前記リフレッシュ動作モードから前記セルフリフレッシュ動作モードへ移行させる制御工程とを有し、
前記制御工程は、第1のモードにおいて前記複数の揮発性メモリに許可信号を供給して前記複数の揮発性メモリからデータを読み出し、第2のモードにおいて前記複数の揮発性メモリの一部に前記許可信号を供給し、前記許可信号が供給されていない揮発性メモリを前記セルフリフレッシュ動作モードに遷移させることを特徴とするメモリコントローラの制御方法。
【請求項１４】
コンピュータを、
揮発性メモリと不揮発性メモリとの間におけるデータの転送を制御するメモリコントローラであって、
リフレッシュ動作モードとセルフリフレッシュ動作モードとを含む複数の動作モードの何れかで動作する複数の揮発性メモリに保持されているデータを不揮発性メモリへ転送するデータ転送手段と、
前記データ転送手段による前記複数の揮発性メモリの少なくとも一つからのデータ読出が終了すると、前記データ読出が終了した揮発性メモリを前記リフレッシュ動作モードから前記セルフリフレッシュ動作モードへ移行させる制御手段とを有し、
前記制御手段は、第1のモードにおいて前記複数の揮発性メモリに許可信号を供給して前記複数の揮発性メモリからデータを読み出し、第2のモードにおいて前記複数の揮発性メモリの一部に前記許可信号を供給し、前記許可信号が供給されていない揮発性メモリを前記セルフリフレッシュモードに遷移させることを特徴とするメモリコントローラとして機能させるためのプログラム。
【請求項１５】
コンピュータを、
第1バスを介して記憶装置と接続され、第2バスを介して複数の揮発性メモリと接続されるメモリコントローラであって、
リフレッシュ動作モードとセルフリフレッシュ動作モードとを含む複数の動作モードの何れかで動作する前記複数の揮発性メモリが保持するデータを前記記憶装置に転送する転送手段と、
前記転送手段による前記複数の揮発性メモリの少なくとも一つからのデータ読出が終了すると、前記データ読出が終了した揮発性メモリを前記リフレッシュ動作モードから前記セルフリフレッシュ動作モードへ移行させる制御手段とを有し、
前記制御手段は、第1のモードにおいて前記複数の揮発性メモリに許可信号を供給して前記複数の揮発性メモリからデータを読み出し、第2のモードにおいて前記複数の揮発性メモリの一部に前記許可信号を供給し、前記許可信号が供給されていない揮発性メモリを前記セルフリフレッシュ動作モードに遷移させることを特徴とするメモリコントローラとして機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、揮発性メモリに保持されているデータを不揮発性メモリに転送することでデータの保護を行なう技術に関する。
【背景技術】
【０００２】
大容量で高速なデータ処理を必要とする装置においては、一般的に揮発性メモリであるＤＲＡＭ（ダイナミックＲＡＭ）が用いられ、近年ではクロック同期式であるＳＤＲＡＭ（シンクロナスＤＲＡＭ）が主流となっている。このような揮発性メモリを利用する装置では、停電などの予期しない電源遮断の発生により、メモリに保持していたデータが消失し、ユーザに不利益を与える可能性がある。そこで、このような状況でメモリに保持していたデータが失われることを回避する技術（例えば、特許文献１、２、３）が提案されている。
【０００３】
特許文献１には、揮発性メモリにバックアップ電源を供給してデータを保持させ、電源遮断時に電源電圧が所定レベルに低下した場合に、揮発性メモリに保持していたデータをフラッシュメモリに退避させることでデータ消失を回避する方法が記載されている。
【０００４】
また、特許文献２、３にも同様にデータ消失を回避するため、電源供給状態を監視し、データ保持が困難な状況と判断すると、揮発性メモリから不揮発性メモリへデータを退避させる方法が開示されている。
【０００５】
このように、通常の動作では高速なアクセスが可能な揮発性メモリを用い、異常が発生してデータ保持が困難な状況に至ると、消失しては不都合なデータをフラッシュメモリに退避させる構成とすることで、信頼性が高く、実用的な装置を実現している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平０８−１６１２３６号公報
【特許文献２】特開平０６−０２８２６７号公報
【特許文献３】特開平０６−２３１０５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述のＤＲＡＭからフラッシュメモリへデータを退避する場合、データ転送が完了するまでの動作を保障するバックアップ用電源の供給が必要になる。そして、退避すべきデータ量が増大すると、そのバックアップ電源の供給元となるバッテリ部品のコスト増大を招くという問題に繋がる。
【０００８】
特に、データ転送元であるＤＲＡＭは退避が済むまでデータを維持させるリフレッシュ動作を継続する必要があり、その動作に費やす電力はデータ保持時間に応じて大きくなるため、できる限り短時間でデータ退避を完了する必要がある。一方、退避先であるフラッシュメモリは、ＤＲＡＭからの読み出し速度に比べて書換え速度が非常に遅い。そのため、上記のようなデータ退避動作においては、フラッシュメモリへの書込みがボトルネックとなり、ＤＲＡＭからの読み出しが待たされ、その結果、データ維持に要する電力の低減が困難な状況となっている。
【０００９】
更に、近年、システム性能の向上に伴い、ＤＲＡＭで構成するメモリ部は動作速度だけでなく、データバス幅を拡大させることで処理性能の向上が図られている。データバス幅の拡大は、複数のデバイスを配置して同時に動作させるため、デバイスの数に応じて動作に要する供給電流が増大する。従って、上述のバックアップ用電源に用いるバッテリ部品には、このような供給電流の増加に対応する性能が求められ、更にコスト増の要因となっている。
【００１０】
本発明は、揮発性メモリから不揮発性メモリへのデータ退避動作に費やされる電力量を抑えて、データ退避動作に必要な供給電力を低減することを目的とする。
【課題を解決するための手段】
【００１１】
本発明にかかるメモリコントローラは、揮発性メモリと不揮発性メモリとの間におけるデータの転送を制御するメモリコントローラであって、リフレッシュ動作モードとセルフリフレッシュ動作モードとを含む複数の動作モードの何れかで動作する複数の揮発性メモリに保持されているデータを不揮発性メモリへ転送するデータ転送手段と、前記データ転送手段による前記複数の揮発性メモリの少なくとも一つからのデータ読出が終了すると、前記データ読出が終了した揮発性メモリを前記リフレッシュ動作モードから前記セルフリフレッシュ動作モードへ移行させる制御手段とを有し、前記制御手段は、第1のモードにおいて前記複数の揮発性メモリに許可信号を供給して前記複数の揮発性メモリからデータを読み出し、第2のモードにおいて前記複数の揮発性メモリの一部に前記許可信号を供給し、前記許可信号が供給されていない揮発性メモリを前記セルフリフレッシュモードに遷移させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、揮発性メモリから不揮発性メモリへのデータ退避動作に費やされる電力量を抑えて、データ退避動作に必要な供給電力を低減することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態におけるデータ退避制御方法を適用する回路構成の一例を示すブロック図。
【図２】図１に示すメモリコントローラとメインメモリ部及びフラッシュメモリとの接続関係の一例を示すブロック図。
【図３】ＳＤＲＡＭにおけるセルフリフレッシュ動作モードの制御例を示すタイミングチャート。
【図４】データ退避動作における各ＳＤＲＡＭに与えられるｃｋｅ１〜ｃｋｅ８の制御例を示すタイミングチャート。
【図５】バックアップ電源制御部の動作を示すフローチャート。
【図６】メモリコントローラのデータ退避処理を示すフローチャート。
【図７】第２の実施形態におけるデータ退避制御方法を適用する回路構成の一例を示すブロック図。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。
＜第１の実施形態＞
（構成説明）
図１は、第１の実施形態におけるデータ退避制御方法を適用する回路構成の一例を示すブロック図である。図１に示すように、ＡＳＩＣ１０１に内蔵されるメモリコントローラ１０２は複数のメモリデバイスで構成されるメインメモリ部１０３とデータ退避時の格納用として利用する不揮発性メモリのフラッシュメモリ１０４とに接続される。実施形態では、メモリデバイスとして、揮発性メモリであるＳＤＲＡＭ（シンクロナスＤＲＡＭ）を例に挙げて説明する。
【００１５】
メモリコントローラ１０２は、ＣＰＵ、ゲートアレー、或いはスタンダードセルなどで実現される制御回路、ＤＭＡなどのデータ転送回路、バッファとしてのデータ保持回路を含む。そして、メモリコントローラ１０２はバックアップ電源制御部１０５からのデータ退避動作を要求する信号１０６によりメインメモリ部１０３のデータをフラッシュメモリ１０４へ退避させるデータ退避処理を実行する。
【００１６】
バックアップ電源制御部１０５は、主電源の遮断があった場合に、主電源に代わり電源供給を行なう補助的な電源供給回路を備える。この電源供給回路としては２次電池やキャパシタ部品などの充放電を制御可能な部品が用いられ、主電源から電力が供給されている時に充電しておくことで、主電源の遮断に備えるように制御される。また、バックアップ電源制御部１０５は、主電源の電圧を監視し、所定のレベル以下となったことを検出する電源監視回路を内蔵している。更に、この電源監視回路による検出結果に基づき主電源に代わり補助的な電源供給回路から電源供給を行なうように制御する制御回路を備える。
【００１７】
バックアップ電源制御部１０５は、主電源の電圧レベルを監視し、主電源が遮断されたことを検出すると、主電源に代わり内蔵された電源供給回路により電源供給を開始する。また、バックアップ電源制御部１０５は、この主電源の遮断検出により、データ退避動作を要求する信号１０６をＡＳＩＣ１０１のメモリコントローラ１０２に送出する。
【００１８】
図２は、図１に示すメモリコントローラ１０２とメインメモリ部１０３及びフラッシュメモリ１０４との接続関係の一例を示すブロック図である。ＳＤＲＡＭ１０３ａ〜１０３ｈは、各８ｂｉｔのデータ幅を持ち、メモリコントローラ１０２からの制御信号により、６４ｂｉｔ幅のメインメモリ部１０３として動作する。また、フラッシュメモリ１０４は８ｂｉｔのデータ幅を持つデバイスであり、メインメモリ部１０３のＳＤＲＡＭから退避させるデータ量に対して十分な書込みエリアが確保されている。
【００１９】
以上の構成において、メモリコントローラ１０２はメインメモリ部１０３に保持されている予め定められたデータ量のデータを読み出し、そのデータをフラッシュメモリ１０４に書き込むという一連のデータ退避処理を実行する。
【００２０】
また、バックアップ電源制御部１０５はフラッシュメモリ１０４への書込み処理の進行状況に合わせ、複数のＳＤＲＡＭを活性化或いは非活性化させるべくメモリコントローラ１０２に指示を与え、データ退避動作に要する供給電力を抑制する。
【００２１】
ここで、上述した構成で生じるメインメモリ部１０３からのデータ転送の実行における待ち時間について説明する。ＳＤＲＡＭの動作周波数は、フラッシュメモリ１０４の動作周波数より遥かに高く、更に上述した構成ではデータ幅にも大きな差があるため、両者のデータ転送能力には格段の違いが生ずる。
【００２２】
従って、このような構成で実行されるデータ退避動作では、フラッシュメモリ１０４への書込み動作に対して、メインメモリ部１０３からのデータ読み出し動作が間欠的に実行され、データ転送が行なわれない「待ち時間」が発生する。このデータ退避処理中に生じる待ち時間は上述の転送能力の差に応じて増え、その間も揮発性メモリであるメインメモリ部１０３はデータ保持を継続するため、リフレッシュ動作を実行する必要がある。
【００２３】
ＳＤＲＡＭは、大別すると、２種類のリフレッシュ動作モードを備えている。１つは、通常動作でアクセスを実行している状況で用いるリフレッシュ動作モードであり、活性化された状態でデータを保持するためには所定の期間に指定された回数のリフレッシュ動作を実行する必要がある。もう１つは、ＳＤＲＡＭへのアクセスを実行せずに、データ保持だけを目的としたリフレッシュ動作であり、セルフリフレッシュ動作モードという。このセルフリフレッシュ動作モードは、ＳＤＲＡＭの内部で自動的にリフレッシュ動作を実行する機能を提供する動作モードである。このセルフリフレッシュ動作モードで動作中は、アクセス時に必要な外部とのインターフェース部などを省電力制御することで活性化時に比べ非常に小さな電力でデータ保持が可能である。
【００２４】
第１の実施形態では、図２に示すメインメモリ部１０３を構成するＳＤＲＡＭ１０３ａ〜１０３ｈの中から読み出し対象とするＳＤＲＡＭを１つ選択して活性化させ、それ以外のＳＤＲＡＭをセルフリフレッシュ動作モードに移行させるように制御する。例えば、ＳＤＲＡＭ１０３ａを読み出し対象として設定し、それ以外のＳＤＲＡＭ１０３ｂ〜１０３ｈをセルフリフレッシュ動作モードに移行させるべく、メモリコントローラ１０２から各ＳＤＲＡＭに制御信号を与える。そして、所定数量のデータ退避動作が終了すると、次のＳＤＲＡＭ１０３ｂを非活性状態から復帰させ、逆にＳＤＲＡＭ１０３ａを非活性状態に移行させて同様にデータ退避処理を実行する。
【００２５】
このように順次活性状態とするＳＤＲＡＭを切り替えていき、退避対象のデータを全て処理する。尚、読み出し対象となるデータは、ＳＤＲＡＭに保持されている全てのデータであっても、或いはその一部であっても良い。例えば、退避すべきデータの保存先と容量を固定しておけば、退避動作時にこれに該当するエリアの先頭アドレスとデータサイズを指定してデータ読み出しを実行すれば良い。
【００２６】
また、データの保存先が動的に変更する場合であっても、その保存先を示す情報を逐次記憶しておき、同様に退避動作時に読み出しエリアを指定することも可能である。また、退避対象となるデータの格納先を特定のＳＤＲＡＭに限定することで、制御を簡略化することも可能である。例えば、６４ｂｉｔ幅のメインメモリ部１０３に対して、退避すべきデータとしては１６ｂｉｔ分だけを有効として格納させることで、ＳＤＲＡＭ切替制御を２つのＳＤＲＡＭのみに適用させるようにすることができる。また、退避処理の信頼性を向上させるために、より重要度の高いデータを優先して退避させるべく、優先度に従って格納先となるＳＤＲＡＭを割り当てておくことも可能である。
【００２７】
次に、ＳＤＲＡＭの非活性状態への移行及び復帰制御について説明する。ＳＤＲＡＭの非活性状態への移行及び復帰は、図２に示す「ｃｌｋ」と記載した同期クロック信号と、「ｃｋｅ」と記載したクロックイネーブル信号とによって制御される。更に、「ｃｍｄ」と記載したコマンド信号（ＲＡＳ／ＣＡＳ／ＷＥなど各信号の組み合わせで既定される）により、リフレッシュ動作モードの制御が行なわれる。図２の構成に従えば、ＳＤＲＡＭ１０３ａ〜１０３ｈに独立したｃｋｅ１〜ｃｋｅ８を与え、個々に非活性状態への移行及び復帰を制御することができる。
【００２８】
図３は、ＳＤＲＡＭにおけるセルフリフレッシュ動作モードの制御例を示すタイミングチャートである。図３において、ｃｋｅ信号はハイレベルからローレベルに変化すると同時にリフレッシュコマンドが与えられることでセルフリフレッシュ動作が開始され、その後、ｃｋｅ信号がハイレベルに戻されるまでその状態が継続される。また、同じリフレッシュコマンドが発生されてもｃｋｅ信号がハイレベルのままであればオートリフレッシュ動作が行なわれる。従って、図２に示す構成で、上述のようにｃｋｅ１〜ｃｋｅ８を制御することで、非活性状態に移行させるデバイスに対してはセルフリフレッシュへの移行を指示し、活性状態の場合はオートリフレッシュ動作を指示することができる。第１の実施形態では、ｃｋｅ信号以外の制御信号を共通に与える構成としたが、ｃｋｅ以外の信号についてもそれぞれデバイス毎に独立して与える構成としても構わない。
【００２９】
図４は、データ退避動作における各ＳＤＲＡＭに与えられるｃｋｅ１〜ｃｋｅ８の制御例を示すタイミングチャートである。上述したように、図２に示すメインメモリ部１０３は、通常動作では６４ｂｉｔ幅にてアクセス制御されており、この時ｃｋｅ１〜ｃｋｅ８は全てハイレベルとなる。データ退避動作を要求する信号１０６に基づき、データ退避動作を開始すると、最初に読み出し対象となるＳＤＲＡＭ１０３ａに対する制御信号であるｃｋｅ１を除く全てのｃｋｅ信号をローレベルとする。
【００３０】
これにより、各ＳＤＲＡＭは非活性状態でのデータ保持を継続するセルフリフレッシュ動作モードに移行する。その後、読み出し対象を順次切り替えていくデータ退避動作に合わせてｃｋｅ１〜ｃｋｅ８を図４に示すように駆動することで各ＳＤＲＡＭのセルフリフレッシュ動作モードへの移行及び復帰を制御する。
【００３１】
また、図４に示す円で囲んだ拡大部分は、読み出し対象のＳＤＲＡＭに対して退避動作を行なっている間でも、逐次セルフリフレッシュ動作モードへの移行及び復帰を制御する様子を示している。これは、上述したデータ転送実行時に生ずる待ち時間に対する省電力制御を目的とした動作である。データ退避動作では、フラッシュメモリ１０４に対して、その書換え速度に合わせて可能な限り間を空けず書換えを実行させることが処理時間の短縮となり、退避処理に要する電力の抑制にも繋がる。そのため、読み出し対象のＳＤＲＡＭからのデータ転送は、一群のデータを一括してＡＳＩＣ１０１に取り込み、これを保持させた上で、該データをフラッシュメモリ１０４のデータ幅である８ｂｉｔ毎に分けて順次転送するように制御を行なう。このＳＤＲＡＭからの読み出し動作に、バーストリードモードを適用して高速にデータ転送を実行させることが可能である。
【００３２】
このように、データ退避動作は、ＳＤＲＡＭから読み出したデータを一括してバッファ（データ保持回路）に保持させるようにすることで、上述の待ち時間を積極的に作り出し、その待ち時間を非活性状態に移行させるように制御する。
【００３３】
尚、上述した構成では、図２に示す８個のＳＤＲＡＭを個々に制御し、その中の１つを読み出し対象としたが、本発明はこれだけに限定されるものではなく、ＳＤＲＡＭを１つ以上のグループ毎に制御するようにしても良い。例えば、ＳＤＲＡＭ１０３ａ〜１０３ｈを２つのグループ（１０３ａ〜１０３ｄ及び１０３ｅ〜１０３ｈ）に分割し、グループ毎に制御することも可能である。この場合、ｃｋｅ信号はグループ毎に割り当てれば良いので、上述した構成より制御を簡略化することができる。また、転送時に同時に動作するデバイスは４個に制限される。このように、該グループ分割については、適用する装置構成に応じて選択することができる。
【００３４】
上述したように、フラッシュメモリ１０４に対して、その書換え速度に合わせて間隔を空けず書換えを実行できるのであれば、メインメモリ部１０３のＳＤＲＡＭはできるだけ非活性状態に移行させ、電力消費を抑制することが望ましい。従って、グループの分割は上述したメインメモリ部１０３からの読み出し動作と、フラッシュメモリ１０４への書込み動作との能力差に応じて選択することができる。この能力差が大きい場合には、分割数を増やし、非活性状態となるデバイス数を多くするようにしても良い。
【００３５】
また、バックアップ電源制御部１０５から供給可能な電流量に応じて、同時に動作するＳＤＲＡＭ数を制限するように分割することができる。バックアップ電源の供給元となるバッテリ部品は、その電流供給性能に応じてコストアップとなるので、データ退避動作時に要する電流供給を抑えることで、コスト低減を図ることも可能となる。
（動作説明）
ここで、上述したデータ退避処理を指示するバックアップ電源制御部１０５の動作を、図５を用いて説明する。電源監視回路が主電源の電圧レベルを検出し（Ｓ５０１）、電圧レベルが所定のレベル以下に低下したか否かを判定する（Ｓ５０２）。判定の結果、主電源の電圧が所定のレベル以下と判定されると、制御回路がデータ退避動作を要求する信号を送出してＡＳＩＣ１０１のメモリコントローラ１０２に通知する（Ｓ５０３）。そして、制御回路がバックアップ電源である電源供給回路に切り替え、補助的な電源供給を開始する（Ｓ５０４）。
【００３６】
次に、バックアップ電源制御部１０５からの指示に基づき、メモリコントローラ１０２が実行するデータ退避処理を、図６を用いて説明する。まず、メモリコントローラ１０２がバックアップ電源制御部１０５から送出されたデータ退避要求信号１０６によりデータ退避の開始要求を検出すると（Ｓ４０１）、データ退避処理に関係する初期化を実行する（Ｓ６０２）。そして、初期化が終了すると、メモリコントローラ１０２はメインメモリ部１０３からフラッシュメモリ１０４へのデータ退避動作を開始する。
【００３７】
ここでは、データ退避動作時に読み出し対象となるＳＤＲＡＭだけを活性状態とし、それ以外のＳＤＲＡＭを非活性状態に移行させるべく制御を行なう。ここでは、図２に示すＳＤＲＡＭ１０３ａ〜１０３ｈの中で、まずＳＤＲＡＭ１０３ａを活性デバイスに選定する（Ｓ６０３）。それ以外のＳＤＲＡＭ１０３ｂ〜１０３ｈをセルフリフレッシュ動作モードに移行させる（Ｓ６０４）。
【００３８】
次に、読み出し対象のＳＤＲＡＭから一括して取り込む一群のデータ量に基づいて実行する転送回数Ｎを求める（Ｓ６０５）。そして、この一群のデータを転送すべく不図示のＤＭＡに情報を与え（Ｓ６０６）、読み出し対象のＳＤＲＡＭからデータ読み出しを開始する（Ｓ６０７）。一方、フラッシュメモリ１０４への書込みでは、ＳＤＲＡＭから読み出されたデータがメモリコントローラ１０２に取り込まれるのを待ち（Ｓ６０８）、取り込まれた最初のデータが書込み可能な状態になると即座に開始する（Ｓ６０９）。
【００３９】
このように、ＳＤＲＡＭからの読み出しとフラッシュメモリ１０４への書込みとを並行して実行する。ＳＤＲＡＭからの読み出しは、所定のデータ量である一群のデータの転送が終了するまで継続し（Ｓ６１０）、終了するとＳ６０５で求めたＮから１を引いて（Ｓ６１１）、Ｎ回の転送が完了したか（Ｎ＝０に達したか）否かを判定する（Ｓ６１２）。判定の結果、Ｎ回の転送が完了していない場合はフラッシュメモリ１０４への書込み待ちとなっているデータ量に基づき、非活性状態に移行させるか否かを判定する（Ｓ６１３）。ＳＤＲＡＭを一旦非活性状態に遷移させた場合（Ｓ６１４）、フラッシュメモリ１０４への書込み処理の進行状況に応じて、その非活性状態からの復帰タイミングを判断する（Ｓ６１５）。そして、次の転送を開始する前に活性状態に復帰させて（Ｓ６１６）、上述のＳ６０８に戻る。
【００４０】
尚、非活性状態からの復帰タイミングについては、フラッシュメモリ１０４への書込みを滞りなく実行するため、データが不足する前に復帰させて転送を開始できるように制御する。例えば、フラッシュメモリ１０４へのデータ書込み数をカウントし、所定数に達することで復帰タイミングを制御することが可能である。また、フラッシュメモリ１０４への書込みサイクルに基づいて計算される時間を計測するタイマを用いても良い。
【００４１】
一方、Ｓ６１２における判定の結果、Ｎ回の転送が完了した場合は取り込んだデータがフラッシュメモリ１０４に書込み終わるまで待つ（Ｓ６１７）。その後、上述のＳ６０３〜Ｓ６１７に至る処理で読み出し対象として選定されたＳＤＲＡＭデバイスからのデータ退避が完了すると、次の読み出し対象のＳＤＲＡＭが残っているか確認する（Ｓ６１８）。ここで残っていれば、上述のＳ６０３に戻り、次の読み出し対象を選定して処理を繰り返し実行する。また、全ての読み出し対象のＳＤＲＡＭからのデータ退避が完了した場合はデータ退避終了を設定し（Ｓ６１９）、この処理を終了する。
【００４２】
第１の実施形態によれば、複数のメモリデバイスを個々に制御してデータ退避動作時に同時に動作するメモリデバイスの数を制限することで、供給電流を抑えながらデータ退避動作を実行させることが可能となる。従って、データ退避動作時に電力を供給するバックアップ用電源に用いるバッテリ部品のコスト低減を図ることができる。
＜第２の実施形態＞
次に、図面を参照しながら本発明に係る第２の実施形態を詳細に説明する。第２の実施形態は、メモリデバイスとしてのＳＤＲＡＭに供給する電圧を下げて動作時の消費電力を低減させるものである。
【００４３】
図７は、第２の実施形態におけるデータ退避制御方法を適用する回路構成の一例を示すブロック図である。図１に示す第１の実施形態との相違点は、メインメモリ用電源制御部１０７及びメインメモリ電源切替信号１０８が追加されている点である。
【００４４】
メインメモリ用電源制御部１０７は、メインメモリ部１０３の複数のＳＤＲＡＭに供給する電源を制御する電源制御回路で構成される。この電源制御回路は、供給電圧を通常動作時の電圧レベルとデータ退避動作時の電圧レベルの２つの電圧レベルに切り替える機能を有する。また、ＳＤＲＡＭの終端電圧もこれに応じて切り替わるように制御する。
【００４５】
また、メインメモリ電源切替信号１０８は、ＡＳＩＣ１０１のメモリコントローラ１０２がデータ退避動作をメインメモリ用電源制御部１０７に通知する信号であり、この信号に基づき、メインメモリ用電源制御部１０７が供給電圧の変更を行なう。
【００４６】
前述したように、メインメモリ部１０３からの読み出し動作とフラッシュメモリ１０４への書込み動作とでは転送能力に大きな差があり、上述のデータ退避動作時に、通常時の速度でメインメモリ部１０３にアクセスする必要はない。そこで、第２の実施形態では、ＳＤＲＡＭに供給する電圧を下げて動作時の消費電力を低減させる。また、ＳＤＲＡＭへのアクセス速度を低減させるべく、メモリコントローラ１０２がＳＤＲＡＭの動作周波数を下げるように制御してデータ退避動作時の省電力化を実現する。
【００４７】
［他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005524551.tif 000002
【図２】
0005524551.tif 000003
【図３】
0005524551.tif 000004
【図４】
0005524551.tif 000005
【図５】
0005524551.tif 000006
【図６】
0005524551.tif 000007
【図７】
0005524551.tif 000008