(57)【特許請求の範囲】
【請求項１】
第１の電源からの電力の供給中に動作する揮発性メモリに保持されるデータの消去を含むメモリリセット処理を、第２の電源の電圧値が所定値に達した後、有効なメモリリセット信号を変化させることにより行うメモリコントローラを備えるメモリ制御回路において、
前記揮発性メモリと前記メモリコントローラとの間にあって、有効なマスク信号が入力されると前記メモリリセット信号をマスクするマスク回路と、
前記第２の電源の前記電圧値を前記所定値より減少させるイベントが発生し、尚且つ前記第１の電源がオンである場合、前記データのバックアップを行うか否かを判別する判別手段と、
前記判別手段による判別の結果、前記バックアップを行う場合、前記マスク信号を有効にして前記マスク回路に出力することで、前記メモリリセット信号を前記マスク回路にマスクさせる出力制御回路と、
前記メモリコントローラに供給される前記第２の電源の前記電圧値を監視し、当該監視する前記第２の電源の電圧値に応じた有効／無効のトリガ信号を切り替え可能に前記出力制御回路に出力するトリガ回路とを備え、
前記トリガ回路は、前記第２の電源の前記電圧値が前記所定値未満となることに従って前記トリガ信号を無効から有効に切り替えて前記出力制御回路に出力し、
前記出力制御回路は、前記トリガ回路からの前記トリガ信号の切り替えがあった後、第１のタイミングで前記マスク信号を無効から有効に切り替えて前記マスク回路に出力すると共に、前記第１のタイミングより遅い第２のタイミングでシステムリセット信号を無効から有効に切り替えて前記メモリコントローラに出力し、
前記メモリコントローラは、前記出力制御回路による前記システムリセット信号の切り替えに従って、前記メモリリセット信号を無効から有効に切り替えて出力することを特徴とするメモリ制御回路。
【請求項２】
前記マスク回路は、その出力側に前記第１の電源によりプルアップされるプルアップ抵抗を有することを特徴とする請求項１記載のメモリ制御回路。
【請求項３】
第１の電源からの電力の供給中に動作する揮発性メモリの内部のバッファに保持されるデータの消去を含むメモリリセット処理を、第２の電源の電圧値が所定値に達した後、有効なメモリリセット信号を変化させることにより行うメモリコントローラを備えるメモリ制御回路において、
前記揮発性メモリと前記メモリコントローラとの間にあって、有効なマスク信号が入力されると前記メモリリセット信号をマスクするマスク回路と、
前記第２の電源のオン制御後、前記第２の電源の前記電圧値が少なくとも前記所定値に達しない間、前記有効なマスク信号を前記マスク回路に対して出力する出力制御回路と、
前記第２の電源のオン制御後に前記第２の電源の前記電圧値が前記所定値以上となったとき、前記第１の電源がオンである場合、前記データにより前記メモリ制御回路の動作を復帰させる復帰手段と、
前記メモリコントローラに供給される前記第２の電源の前記電圧値を監視し、当該監視する第２の電源の前記電圧値に応じた有効／無効のトリガ信号を切り替え可能に前記出力制御回路に出力するトリガ回路とを備え、
前記トリガ回路は、前記第２の電源の前記電圧値が前記所定値以上となることに従って前記トリガ信号を有効から無効に切り替えて前記出力制御回路に出力し、
前記出力制御回路は、前記トリガ回路からの前記トリガ信号の切り替えがあった後、第１のタイミングでシステムリセット信号を有効から無効に切り替えて前記メモリコントローラに出力すると共に、前記第１のタイミングより遅い第２のタイミングで前記マスク信号を有効から無効に切り替えて前記マスク回路に出力し、
前記メモリコントローラは、前記出力制御回路から前記システムリセット信号の切り替えがあった後、前記第２のタイミングより早い前記第３のタイミングで前記メモリリセット信号を有効から無効に切り替えて出力することを特徴とするメモリ制御回路。
【請求項４】
前記揮発性メモリは、ＤＤＲ３−ＳＤＲＡＭであることを特徴とする請求項１乃至３のいずれか１項に記載のメモリ制御回路。
【請求項５】
第１の電源からの電力の供給中に動作する揮発性メモリに保持されるデータの消去を含むメモリリセット処理を、第２の電源の電圧値が所定値に達した後、有効なメモリリセット信号を変化させることにより行うメモリコントローラを備えるメモリ制御回路の制御方法において、
有効なマスク信号の発生に従って前記メモリリセット信号をマスクし、
前記第２の電源の前記電圧値を前記所定値より減少させるイベントが発生し、尚且つ前記第１の電源がオンである場合、前記データのバックアップを行うか否かを判別し、
前記バックアップを行うと判別された場合、前記マスク信号を有効にして、前記メモリリセット信号をマスクし、
前記メモリコントローラに供給される前記第２の電源の前記電圧値を監視して、当該監視する前記第２の電源の電圧値に応じた有効／無効のトリガ信号を切り替え可能に出力し、
前記第２の電源の前記電圧値が前記所定値未満になることに従って前記トリガ信号を無効から有効に切り替え、
前記トリガ信号の切り替えがあった後、第１のタイミングで前記マスク信号を無効から有効に切り替えると共に、前記第１のタイミングより遅い第２のタイミングでシステムリセット信号を無効から有効に切り替えて前記メモリコントローラに出力し、
前記システムリセット信号の切り替えに従って、前記メモリコントローラに、前記メモリリセット信号を無効から有効に切り替えて出力させることを特徴とする制御方法。
【請求項６】
第１の電源からの電力の供給中に動作する揮発性メモリの内部のバッファに保持されるデータの消去を含むメモリリセット処理を、第２の電源の電圧値が所定値に達した後、有効なメモリリセット信号を変化させることにより行うメモリコントローラを備えるメモリ制御回路の制御方法において、
有効なマスク信号の発生に従って前記メモリリセット信号をマスクし、
前記第２の電源のオン制御後、前記第２の電源の前記電圧値が少なくとも前記所定値に達しない間、前記有効なマスク信号を発生させ、
前記第２の電源のオン制御後に前記第２の電源の前記電圧値が前記所定値以上となったとき、前記第１の電源がオンである場合、前記データにより前記メモリ制御回路の動作を復帰させ、
前記メモリコントローラに供給される前記第２の電源の前記電圧値を監視して、当該監視する第２の電源の前記電圧値に応じた有効／無効のトリガ信号を切り替え可能に出力し、
前記第２の電源の前記電圧値が前記所定値以上となったことに従って前記トリガ信号を有効から無効に切り替え、
前記トリガ信号の切り替えがあった後、第１のタイミングでシステムリセット信号を有効から無効に切り替えて前記メモリコントローラに出力すると共に、前記第１のタイミングより遅い第２のタイミングで前記マスク信号を有効から無効に切り替え、
前記システムリセット信号の切り替えがあった後、前記第２のタイミングより早い前記第３のタイミングで、前記メモリコントローラに前記メモリリセット信号を有効から無効に切り替えて出力させることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御回路及びその制御方法、特にＳＤＲＡＭ等の揮発性メモリデバイスの制御を行うメモリ制御回路及びその制御方法に関する。 
【背景技術】
【０００２】
典型的なコンピュータ・ハードウェア・アーキテクチャでは、メモリデバイスは、その通常の動作中にメモリデバイスへのデータの書込み、およびそれからのデータの読出しを制御するメモリコントローラによって制御される。いくつかのメモリデバイスは、メモリコントローラがパワーオフされている場合でも、メモリデバイスがその記憶されているデータを維持するセルフリフレッシュモードで動作することができる。尚、上記メモリデバイスとは、集積回路（ＩＣ）メモリ・デバイス・チップを指し、上記メモリコントローラとは、ＩＣメモリ・コントローラ・チップを指す。
【０００３】
ＤＤＲ２−ＳＤＲＡＭからなるメモリデバイスは、クロック・イネーブル（ＣＫＥ）信号入力をローにしておくことによりメモリデバイスをセルフリフレッシュモードに保持しつつ、メモリコントローラをパワーオフすることができる。これは、ＤＤＲ２−ＳＤＲＡＭは、ＲＥＳＥＴ信号が入力されることが無いため、電源オフからの起動時やセルフリフレッシュモードから復帰する際に、ＣＫＥ信号だけで動作する事が出来るからである。
【０００４】
一方、他のメモリデバイスでは、ＲＥＳＥＴ信号が入力されることが有る。特に、ＤＤＲ３−ＳＤＲＡＭからなるメモリデバイスにおいては、電源オフからの起動時にＲＥＳＥＴ信号が入力される。このため、セルフリフレッシュモードの状態でメモリコントローラをパワーオフすると、その後の起動時においてそのセルフリフレッシュモードを保持することは不可能である。すなわち、セルフリフレッシュモードにおいてメモリデバイスに記憶されていたデータを維持することはできないという問題が生じる。
【０００５】
このような問題を解決する方法として、メモリデバイス、メモリコントローラ、パワーモジュール、及びリセットコントローラを有するメモリ制御回路を動作させる方法がある（例えば、特許文献１参照）。かかる方法では、メモリコントローラは、メモリデバイスのＣＫＥ入力にクロック・イネーブル（ＣＫＥ）信号を印加することによりメモリデバイスの通常の動作を制御する。このＣＫＥ入力は、パワーモジュールによってＣＫＥ終端電圧に電力を供給されるＣＫＥ終端ノードにさらに接続される。
【０００６】
かかる構成により、メモリ制御回路のパワーダウンは、メモリコントローラがＣＫＥ信号をローに駆動した後、パワーモジュールがＣＫＥ終端電圧をパワーダウンし、次いで、パワーモジュールがメモリコントローラをパワーダウンするという手順で行われる。一方、メモリ制御回路のパワーダウン後の通常動作の再開は、まず、パワーモジュールがメモリコントローラをパワーアップする。次いでメモリコントローラがＣＫＥ信号をローに駆動した後、パワーモジュールがＣＫＥ終端電圧をパワーアップするという手順で行われる。
【０００７】
かかる手順により、メモリ制御回路がパワーダウンされてから通常動作が再開するまでの間において、メモリデバイスがセルフリフレッシュモードにとどまることが保証される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第５５９０６０５号
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１の方法では、メモリコントローラの一部であるメモリリセットコントローラのパワーをオフする事ができないため、メモリ制御回路のパワーダウンはできてもパワーオフすることはできなかった。なぜなら、メモリリセットコントローラのパワーをオフすると、メモリリセット信号制御が不確定になり、メモリデバイスをセルフリフレッシュモードに保持できなくなり、メモリデバイスに記憶されているデータの保全性を危うくするからである。
【００１０】
本発明は、メモリコントローラをパワーオフした後に再起動した場合も、ＤＤＲ３−ＳＤＲＡＭ等のメモリデバイスをセルフリフレッシュモードに保持することを可能とするメモリ制御回路及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の第１の実施の形態に係るメモリ制御回路は、第１の電源からの電力の供給中に動作する揮発性メモリに保持されるデータの消去を含むメモリリセット処理を、第２の電源の電圧値が所定値に達した後、有効なメモリリセット信号を変化させることにより行うメモリコントローラを備えるメモリ制御回路において、前記揮発性メモリと前記メモリコントローラとの間にあって、有効なマスク信号が入力されると前記メモリリセット信号をマスクするマスク回路と、前記第２の電源の前記電圧値を前記所定値より減少させるイベントが発生し、尚且つ前記第１の電源がオンである場合、前記データのバックアップを行うか否かを判別する判別手段と、前記判別手段による判別の結果、前記バックアップを行う場合、前記マスク信号を有効にして前記マスク回路に出力することで、前記メモリリセット信号を前記マスク回路にマスクさせる出力制御回路と、前記メモリコントローラに供給される前記第２の電源の前記電圧値を監視し、当該監視する前記第２の電源の電圧値に応じた有効／無効のトリガ信号を切り替え可能に前記出力制御回路に出力するトリガ回路とを備え、前記トリガ回路は、前記第２の電源の前記電圧値が前記所定値未満となることに従って前記トリガ信号を無効から有効に切り替えて前記出力制御回路に出力し、前記出力制御回路は、前記トリガ回路からの前記トリガ信号の切り替えがあった後、第１のタイミングで前記マスク信号を無効から有効に切り替えて前記マスク回路に出力すると共に、前記第１のタイミングより遅い第２のタイミングでシステムリセット信号を無効から有効に切り替えて前記メモリコントローラに出力し、前記メモリコントローラは、前記出力制御回路による前記システムリセット信号の切り替えに従って、前記メモリリセット信号を無効から有効に切り替えて出力することを特徴とする。
【００１２】
本発明の第２の実施の形態に係るメモリ制御回路は、第１の電源からの電力の供給中に動作する揮発性メモリの内部のバッファに保持されるデータの消去を含むメモリリセット処理を、第２の電源の電圧値が所定値に達した後、有効なメモリリセット信号を変化させることにより行うメモリコントローラを備えるメモリ制御回路において、前記揮発性メモリと前記メモリコントローラとの間にあって、有効なマスク信号が入力されると前記メモリリセット信号をマスクするマスク回路と、前記第２の電源のオン制御後、前記第２の電源の前記電圧値が少なくとも前記所定値に達しない間、前記有効なマスク信号を前記マスク回路に対して出力する出力制御回路と、前記第２の電源のオン制御後に前記第２の電源の前記電圧値が前記所定値以上となったとき、前記第１の電源がオンである場合、前記データにより前記メモリ制御回路の動作を復帰させる復帰手段と、前記メモリコントローラに供給される前記第２の電源の前記電圧値を監視し、当該監視する第２の電源の前記電圧値に応じた有効／無効のトリガ信号を切り替え可能に前記出力制御回路に出力するトリガ回路とを備え、前記トリガ回路は、前記第２の電源の前記電圧値が前記所定値以上となることに従って前記トリガ信号を有効から無効に切り替えて前記出力制御回路に出力し、前記出力制御回路は、前記トリガ回路からの前記トリガ信号の切り替えがあった後、第１のタイミングでシステムリセット信号を有効から無効に切り替えて前記メモリコントローラに出力すると共に、前記第１のタイミングより遅い第２のタイミングで前記マスク信号を有効から無効に切り替えて前記マスク回路に出力し、前記メモリコントローラは、前記出力制御回路から前記システムリセット信号の切り替えがあった後、前記第２のタイミングより早い前記第３のタイミングで前記メモリリセット信号を有効から無効に切り替えて出力することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、ＤＤＲ３−ＳＤＲＡＭ等のメモリデバイスを接続して制御するメモリ制御回路において、メモリコントローラをパワーオフした後に再起動した場合も、メモリデバイスをセルフリフレッシュモードに保持することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係るメモリ制御回路を含む画像形成装置の電気的構成を示すブロック図である。
【図２】本発明の実施の形態にかかるメモリ制御回路におけるログデータ保持の流れを示す概略ブロック図である。
【図３】本発明の実施の形態にかかるメモリ制御回路への電源供給の流れを示す詳細ブロック図である。
【図４】本発明の実施の形態にかかるメモリコントローラ動作時の信号処理を説明するための詳細ブロック図であり、（ａ）は従来例を示し、（ｂ）は本発明の実施の形態を示す。
【図５】本発明の実施の形態にかかるメモリコントローラ動作時の信号処理を説明するためのタイミングチャートであり、（ａ）は従来例を示し、（ｂ）は本発明の実施の形態を示す。
【図６】本発明の実施の形態に係るメモリ制御回路の電源オン時のハードウェア上の動作シーケンス及びソフトウェア上の制御処理の手順を示すフローチャートである。
【図７】本発明の実施の形態に係るメモリ制御回路の電源オフ時のハードウェア上の動作シーケンスを示すフローチャートである。
【図８】本発明の実施の形態に係るメモリ制御回路の電源オフ時のソフトウェア上の制御処理の手順を示すフローチャートである。
【図９】本発明の実施の形態にかかるメモリ制御回路のソフトウェアによるメモリデバイスに保持されるログデータ記録処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施の形態を説明する。
【００１７】
なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１８】
図１は、本発明の実施形態に係るメモリ制御回路を含む画像形成装置２００の電気的構成を示すブロック図である。ここで、メモリ制御回路とは、メモリ駆動動作に関わる回路全体を指しており、図１や図４で後述するＡＳＩＣ１０１、リセットＩＣ１２１（トリガ回路）、遅延制御回路１３１（出力回路）、ゲート回路１３０等からなる回路である。
【００１９】
図１において、制御部（ＣＰＵ）１０２は、画像形成装置２００の全体の動作を制御するものであり、各処理部の設定や画像データの入出力制御等を行う。ＮＯＲ−ＲＯＭ１１１は、ＳＰＩ−Ｆｌａｓｈ−ＲＯＭからなる不揮発性のメモリであり、ＣＰＵ１０２が実行するプログラムや各種のデータ等を格納する。ｅＭＭＣ１１２は、各種データを保持するストレージや演算用のワークメモリとして使用される不揮発性のメモリである。メモリデバイス（ＤＲＡＭ）１１３は、ＤＤＲ３−ＳＤＲＡＭからなる揮発性メモリであり、ＣＰＵ１０２が実行するプログラムをＣＰＵ１０２の制御の下に展開する。また更にメモリデバイス１１３は、ＣＰＵ１０２のワークエリア及び、複写機能で使用する第１の画像用メモリ領域や、ファクシミリ機能で使用する第２の画像用メモリ領域、及びログデータの一時格納領域としても利用される。時計回路２１４は、時刻情報を出力するためのものであり、１次電池２１５により駆動される。操作部２０５は、画像形成装置２００をユーザが操作するための各種キーからなり、表示部２０４は、画像形成装置２００を操作するための各種情報を表示する。ＦＡＸ通信部２２６はアナログ電話回線（加入者電話回線）２６０を介してＦＡＸ通信を行うものである。画像読取部２１０は原稿を読み取る画像読取手段である。画像形成部２１１は画像データを記録紙に記録出力する画像形成手段であり、複写動作の場合は画像読取手段２１０で読み取った画像データを記録出力し、プリント動作の場合は外部のＰＣ２５０から転送された画像データを記録出力する。
【００２０】
画像処理部１０３ａは読み取った画像や記録出力する画像データの変換処理を行うものであり、データ処理部１０３ｂはシステム制御における各種データの変換処理を行うものである。符号化復号化部１０３ｃは、画像読取手段２１０で読み取った画像データをＦＡＸ通信部２２６で送信する際に予め所定の方式で符号化したり、ＦＡＸ通信部２２６で受信した画像データをプリント出力する際に予め所定の方式で復号化したりする機能を有する。また更に符号化復号化部１０３ｃは、複写動作をする際に複数ページの画像情報を一時的に蓄積するために符号化したり、印字出力する際に復号化したりする機能を有する。以下必要に応じて、画像処理部１０３ａ、データ処理部１０３ｂ、及び符号化復号化部１０３ｃを全体としてデータ処理回路１０３と呼ぶ。また、ＣＰＵ１０２及びデータ処理回路１０３は、図２にて詳述するＡＳＩＣ１０１を構成する。
【００２１】
リセットＩＣ１２１は、ＡＳＩＣ１０１に供給されるシステムリセット信号を制御するトリガ信号を出力する。このトリガ信号に関しては図４にて詳述する。
【００２２】
ネットワーク通信部２２７は、ＬＡＮ２７０を介して、プリント出力するためにＰＣ２５０から画像データを受信したり、画像読取部２１０で読み取った画像データをＰＣ２５０に転送したりするネットワーク通信手段である。該ネットワーク通信部２２７は、ＰＣ２５０からブラウザでＨＴＴＰ接続をして画像形成装置２００を操作するリモートユーザーインターフェースとしても使用される。ＵＳＢ通信部２２５は、プリント出力するためにＰＣ２５０から画像データを受信したり、画像読取部２１０で読み取った画像データをＰＣ２５０に転送したりするＵＳＢ通信手段である。内部バス２２０は、ＣＰＵ１０２、ＮＯＲ−ＲＯＭ１１１、ｅＭＭＣ１１２、メモリデバイス１１３、操作部２０５、表示部２０４、ＦＡＸ通信部２２６、ネットワーク通信部２２７、画像読取部２１０、画像処理部１０３ａ、データ処理部１０３ｂ、符号化複合化部１０３ｃ、画像形成部２１１、ＵＳＢ通信部２２５、及び時計回路２１４を接続する内部バスである。内部バス２２０は、アドレス信号を転送するアドレスバス、制御信号を転送するコントロールバス及び各種データを転送するデータバスの総称であり、複数の各種バスで構成されている。
【００２３】
電源ユニット２３１は、ユーザ操作によりオンオフ制御でき、オンの場合は、外部の商用交流電源から供給された電力を直流電源に変換し、電源供給部１２２へ供給する。電源供給部１２２は電源ユニット２３１から供給された直流電源を画像形成装置２００内の上記各電子回路部が必要とする電源電圧に変換して供給する。２次電池１２３は、電源ユニット２３１をオフした時にメモリデバイス１１３へＶｄｄ＿ＤＲＡＭ電源２０２を供給するためのバッテリーであり、着脱可能な接続形態としても良い。２次電池１２３は、電源ユニット２３１がオンされている時は電源供給部１２２から供給されたＶｄｄ電源２０１で充電する。
【００２４】
図２は、本発明の実施の形態にかかるメモリ制御回路におけるログデータ保持の流れを示す概略ブロック図である。
【００２５】
図２において、ＡＳＩＣ１０１は、画像形成装置２００のコントローラシステムを制御するＩＣである。ＡＳＩＣ１０１は、ＣＰＵ１０２、データ処理回路１０３、レジスタ１０４、ＮＯＲ−ＲＯＭコントローラ１０５、ｅＭＭＣコントローラ１０６、メモリコントローラ１０７等で構成される。
【００２６】
ここで、メモリデバイス１１３において一時格納されるログデータについて説明する。ログデータとはプログラム実行中の記録データである。ログデータは、プログラム実行において想定外の動作をした場合の解析等にも使用される。従って、該ログデータは、電源ユニット２３１を一旦オフした後でも再起動後に取得できる様にする必要があり、従って不揮発性のメモリかストレージに保持する必要がある。
【００２７】
プログラム実行中に常時取得されるログは、一次格納領域であるメモリデバイス１１３に高速に記録され、一次格納領域が一杯になったらストレージであるｅＭＭＣ１１２にコピーされる。一次格納領域であるメモリデバイス１１３はバッファ１１３ａ（図２のバッファ１）及びバッファ１１３ｂ（図２のバッファ２）からなるダブルバッファ構造を採用し、メモリデバイス１１３からｅＭＭＣ１１２へのコピー中（テキスト展開＋圧縮も含む）に他の処理を妨げないよう低速で処理を行ってもログデータが流れないようにする。メモリデバイス１１３に格納されるログデータはバイナリ形式であるが、ｅＭＭＣ１１２に格納される際にテキスト展開とデータ圧縮が行われる。ｅＭＭＣ１１２に格納されるログデータの上限は変更可能に設定されているが、通常は、通常使用領域が上限に設定されている。ｅＭＭＣ１１２は、ログデータの格納量がその設定された上限以上になった場合は古いログデータから消去を行う。
【００２８】
外部の装置がログデータを画像形成装置２００から取得する手段としては、ネットワーク（ＬＡＮ２７０）経由であったりＵＳＢ通信部２２５経由であったりする。よって、ＣＰＵ１０２が外部の装置へログデータを送信する際には、他のジョブ処理を妨げないように帯域を制限する。そのため、かかる送信処理には数十秒程度以上要することが想定される。また、かかる送信処理の間はｅＭＭＣ１１２内に格納されているログデータを消去できないため、ｅＭＭＣ１１２に格納されるログデータの上限を最大に設定し、この送信処理中にメモリデバイス１１３からｅＭＭＣ１１２へのコピーが発生してもｅＭＭＣ１１２がフルになることを防止する。かかる送信処理が終了した後に、次のログデータをｅＭＭＣ１１２に書き込むタイミングで上記通常使用領域に収まるまで古いログデータを消去する。また、何らかの理由でこの送信処理が失敗してもＩ／Ｆ層（ネットワーク通信部２２７やＵＳＢ通信部２２５）でタイムアウトを発生させ、送信中のログデータが長時間ｅＭＭＣ１１２内でロックしないよう制御する。
【００２９】
図３は、本発明の実施の形態にかかるメモリ制御回路への電源供給の流れを示す詳細ブロック図である。
【００３０】
図３において、ＡＳＩＣ１０１及び、内部のＣＰＵ１０２、データ処理回路１０３、レジスタ１０４、ＮＯＲ−ＲＯＭコントローラ１０５、ｅＭＭＣコントローラ１０６、及びメモリコントローラ１０７へはＶｄｄ電源２０１が供給されている。尚、ＡＳＩＣ１０１の内部は、コア部、入出力部等、複数の電源系が存在するが、本実施の形態では、それらを省略してまとめて１系統として説明する。
【００３１】
また、ＮＯＲ−ＲＯＭ１１１、ｅＭＭＣ１１２、及びリセットＩＣ１２１へも、ＡＳＩＣ１０１と同じく、Ｖｄｄ電源２０１が供給されている。リセットＩＣ１２１は、Ｖｄｄ電源２０１の電圧を監視し、所定の電圧未満であればトリガ信号としてＬｏｗ（有効）を出力し、ＡＳＩＣ１０１に入力されるシステムリセット信号をＬｏｗとする。一方、Ｖｄｄ電源２０１の電圧が上昇して所定の電圧にまで到達した時、リセットＩＣ１２１はトリガ信号をＬｏｗからＨｉｇｈ（無効）に切り替え、ＡＳＩＣ１０１に入力されるシステムリセット信号をＬｏｗからＨｉｇｈへ変化（デアサート）させる。すなわち、Ｖｄｄ電源２０１の電圧に応じてトリガ信号の有効／無効を切り替える。
【００３２】
メモリデバイス１１３へは、Ｖｄｄ電源２０１とは別の電源系統である、Ｖｄｄ＿ＤＲＡＭ電源２０２が供給されている。これは、本実施の形態では、メモリコントローラ１０７に供給されるＶｄｄ電源２０１をオフした後も、メモリデバイス１１３への電源の供給中の間はメモリデバイス１１３をセルフリフレッシュ状態に維持する必要があるからである。
【００３３】
電源供給部１２２は、ＡＳＩＣ１０１やその他の電気回路が動作する為の電源を複数系統供給する。ＡＳＩＣ１０１に供給する電源系統も複数の電源系統が必要である。具体的には、ＣＰＵ１０２の駆動電源電圧１．１Ｖであったり、ＮＯＲ−ＲＯＭ１１１の駆動用の電源電圧３．３Ｖであったり、ｅＭＭＣ１１２のインターフェース用の駆動電源電圧１．８Ｖであったりする。また、メモリデバイス（１１３）用の駆動電源電圧１．５Ｖであったり、ネットワーク通信部２２７の有する、ＬＡＮ２７０と接続するためのＲＧＭＩＩインターフェースの駆動電源電圧１．８Ｖであったりする。また、その他のＩＯポート用ＩＯバッファ駆動用の電源電圧３．３Ｖであったりする。
【００３４】
２次電池１２３は、電源ユニット２３１がオフの時にメモリデバイス１１３へＶｄｄ＿ＤＲＡＭ電源２０２を供給するためのバッテリーであり、着脱可能な接続形態としても良い。２次電池１２３は、電源ユニット２３１がオンされている時は電源供給部１２２から供給されたＶｄｄ電源２０１で充電する。この時は、Ｖｄｄ電源２０１がＳＷ１２４をオンして、Ｖｄｄ電源２０１をＶｄｄ＿ＤＲＡＭ電源２０２としてメモリデバイス１１３へ供給する。電源ユニット２３１がオフされている時は、電源供給部１２２からＶｄｄ電源２０１は供給されないので、２次電池１２３が放電を開始する。このとき、２次電池１２３が十分充電されている場合は、２次電池１２３からバッテリーフル信号１２６が出力される。これによりＳＷ１２５がオンとなり、２次電池１２３からの放電をＶｄｄ＿ＤＲＡＭ電源２０２としてメモリデバイス１１３へ供給する。バッテリーフル信号１２６は、２次電池１２３が充電されていて電力供給可能な状態である場合、２次電池１２３から出力される信号である。一方、２次電池１２３が十分充電されていてない（容量不足の）場合や２次電池１２３が接続されていない場合（２次電池１２３が無効の場合）は、バッテリーフル信号１２６は出力されず、ＳＷ１２５はオフ状態を維持する。
【００３５】
ここで、メモリーバックアップ機能について説明する。
【００３６】
ログデータ、画像データ、文書管理データ等を、電源オフ時にバックアップする方法として、ＤＲＡＭバックアップ、ＮＯＲ−ＲＯＭバックアップ、ｅＭＭＣバックアップがある。
【００３７】
・ＤＲＡＭバックアップ
ＤＲＡＭバックアップでは、保存するデータはメモリデバイス（ＤＲＡＭ）１１３に設けられたＲＡＭＤｉｓｋ（ＦｉｌｅＳｙｓｔｅｍ）にファイル保存され、電源ユニット２３１がオフの時には２次電池１２３により一定時間バックアップされる。
【００３８】
その後、電源ユニット２３１の再起動時に、２次電池１２３の接続の有無及びその容量が十分か否かを、２次電池１２３から出力されるバッテリーフル信号１２６により確認する。２次電池１２３が接続されていない又は容量不足と判定された場合、メモリデバイス１１３を初期化して通常起動を行う。
【００３９】
２次電池１２３の容量が十分（有効）であると判定された場合、メモリデバイス１１３内のデータの整合性チェックを行い、不整合が無ければメモリデバイス１１３内のデータにより動作を復帰する。このバックアップ方法は、２次電池１２３が必要であると言うデメリットはあるが、アクセスの高速性の点で優位性がある。
【００４０】
・ＮＯＲ−ＲＯＭバックアップ
ＮＯＲ−ＲＯＭバックアップでは、ＮＯＲ−ＲＯＭ１１１に電源ユニット２３１がオフの時のバックアップデータを保存する。ＮＯＲ−ＲＯＭ１１１上にＦｉｌｅＳｙｓｔｅｍは設けない。電源ユニット２３１の再起動時にＮＯＲ−ＲＯＭ１１１内のデータの整合性チェックを行い、不整合が無ければＮＯＲ−ＲＯＭ１１１内のデータによりジョブを復帰する。ＮＯＲ−ＲＯＭ１１１は不揮発性メモリであり、電源供給されなくても内部データが保持されるため、２次電池１２３が不要であると言うメリットはあるが、容量及びコスト的に不利であり、高速性で劣る。
【００４１】
・ｅＭＭＣバックアップ
ｅＭＭＣバックアップでは、ｅＭＭＣ１１２に電源ユニット２３１がオフの時のバックアップデータを保存する。
【００４２】
電源ユニット２３１の再起動時にｅＭＭＣ１１２内のデータの整合性チェックを行い、不整合が無ければｅＭＭＣ１１２内のデータによりジョブを復帰する。ｅＭＭＣ１１２は不揮発性メモリであり、電源供給されなくても内部データが保持されるため、２次電池１２３が不要であるとメリットはあるが、高速性の点で劣る。また、プログラム実行中に常時取得されるログは、一次格納領域であるメモリデバイス１１３に高速に記録され、メモリデバイス１１３が一杯になったらストレージであるｅＭＭＣ１１２にコピーされる。従って、動作上の不具合が有ってログデータを取得したい場合であっても、最後のログデータが一次格納領域（メモリデバイス１１３）からストレージ（ｅＭＭＣ１１２）にコピーされる前に電源ユニット２３１がオフされると、取得したいログデータをこのバックアップ方法では取得できないという問題もある。
【００４３】
図４は、本発明の実施の形態にかかるメモリコントローラ１０７動作時の信号処理を説明するための詳細ブロック図であり、（ａ）は従来例を示し、（ｂ）は本発明の実施の形態を示す。
【００４４】
図５は、本発明の実施の形態にかかるメモリコントローラ１０７動作時の信号処理を説明するためのタイミングチャートであり、（ａ）は従来例を示し、（ｂ）は本発明の実施の形態を示す。
【００４５】
図６は、本発明の実施の形態に係るメモリ制御回路の電源オン時のハードウェア上の動作シーケンス及びソフトウェア上の制御処理の手順を示すフローチャートである。ここで、メモリ制御回路のソフトウェア上の制御処理は、メモリ制御回路中にあるＡＳＩＣ１０１の中のＣＰＵ１０２により実行される。
【００４６】
尚、以下に説明する従来例において、本発明の実施形態と同様の構成については同様の符号を付して重複した説明は省略する。
【００４７】
まず、図４（ａ）及び図５（ａ）を用いて、従来例の電源オンオフ動作を説明する。電源ユニット２３１がオンされると、図５（ａ）に示すＶｄｄ電源２０１の電圧が上昇すると同時に、Ｖｄｄ＿ＤＲＡＭ電源２０２の電圧も上昇する。
【００４８】
リセットＩＣ１２１は、Ｖｄｄ電源２０１の電圧（電圧値）を監視し、リセット基準電圧未満（規定値未満）であればシステムリセット信号４０１’としてＬｏｗを出力し（アサート）、リセット基準電圧に到達した時（規定値以上となったとき）にシステムリセット信号４０１’をＬｏｗからＨｉｇｈへ変化させる（デアサート）。
【００４９】
メモリコントローラ１０７は、システムリセット信号４０１’がＬｏｗの期間は、リセット状態を維持し、システムリセット信号４０１’がＬｏｗからＨｉｇｈへ変化すると、リセット解除に伴い初期化動作をする。また、メモリコントローラ１０７は、上記リセット状態を維持している間は、メモリリセットアウト信号４０２’としてＬｏｗを出力（アサート）し、システムリセット信号４０１’がＬｏｗからＨｉｇｈへ変化してから規定の遅延時間ｔが経過したタイミングで、メモリリセットアウト信号４０２’をＬｏｗからＨｉｇｈへ変化（デアサート）させ、メモリデバイス１１３の初期化動作を行う。
【００５０】
また、電源ユニット２３１がオフされた時、２次電池１２３が接続されて無い場合は、図５（ａ）に示すＶｄｄ電源２０１の電圧が下降すると同時に、Ｖｄｄ＿ＤＲＡＭ電源２０２の電圧も下降する。一方、２次電池１２３が接続されている場合は、図５（ａ）に示すＶｄｄ電源２０１の電圧が下降しても、Ｖｄｄ＿ＤＲＡＭ電源２０２の電圧は下降しない。
【００５１】
かかる状態において、リセットＩＣ１２１は、Ｖｄｄ電源２０１の電圧を監視し、リセット基準電圧以下（規定値以下）となったとき、システムリセット信号４０１’をＨｉｇｈからＬｏｗに変化させる。
【００５２】
メモリコントローラ１０７は、システムリセット信号４０１’がＨｉｇｈからＬｏｗに変化すると、メモリリセットアウト信号４０２’をＨｉｇｈからＬｏｗに変化させる。
【００５３】
２次電池１２３が接続されている場合は、図５（ａ）に示すＶｄｄ電源２０１の電圧が下降しても、Ｖｄｄ＿ＤＲＡＭ電源２０２の電圧は下降しないので、メモリデバイス１１３はセルフリフレッシュ状態に移行する。しかしながら、メモリコントローラ１０７からＬｏｗのメモリリセットアウト信号４０２’が出力されるので、セルフリフレッシュ状態を維持できず、リセットされる。
【００５４】
次に、図４（ｂ）及び図５（ｂ）を参照しながら、電源オン時の動作を図６の本発明の実施例の回路動作のフローチャートに沿って説明する。
【００５５】
図４（ｂ）において、ゲート回路１３０は、メモリコントローラ１０７とメモリデバイス１１３との間に接続され、メモリコントローラ１０７から出力されるメモリリセットアウト信号４０２をマスクする回路である。ゲート回路１３０は、後述する遅延制御回路１３１より入力されるメモリリセットマスク信号４０４が無効（Ｈｉｇｈ）の時は、入力レベルにあるメモリリセットアウト信号４０２が、メモリリセットイン信号４０３として出力レベルへ伝搬し、メモリリセットマスク信号４０４が有効（Ｌｏｗ）の時は入力レベルにあるメモリリセットアウト信号４０２は伝搬せず、出力はハイインピーダンスとなりプルアップ抵抗でプルアップされる。遅延制御回路１３１は、リセットＩＣ１２１からのトリガ信号に応じて、メモリリセットマスク信号４０４及びメモリリセットアウト信号４０２を生成するための回路である。遅延制御回路１３１はリセットＩＣ１２１からのトリガ信号がリセット状態（Ｌｏｗ）の時は、即座にメモリリセットマスク信号４０４及びシステムリセット信号４０１をリセット状態（Ｌｏｗ）にして出力する。リセットＩＣ１２１からのトリガ信号がリセット状態（Ｌｏｗ）からリセット解除状態（Ｈｉｇｈ）となった時は、遅延制御回路１３１は、即座にシステムリセット信号４０１をリセット解除状態（Ｈｉｇｈ）にして出力する一方、設定した遅延時間ｔ’の後にメモリリセットマスク信号４０４をリセット解除状態（Ｈｉｇｈ）にして出力する。また、リセットＩＣ１２１からのトリガ信号がリセット解除状態（Ｈｉｇｈ）からリセット状態（Ｌｏｗ）となったときは、遅延制御回路１３１は、即座にメモリリセットマスク信号４０４をリセット状態（Ｌｏｗ）にして出力する一方、設定した遅延時間ｔ”の後にシステムリセット信号４０１をリセット状態（Ｌｏｗ）にして出力する。
【００５６】
図６において、まず画像形成装置２００の電源ユニット２３１がユーザによってオンされると（ステップＳ５０１）、メモリ制御回路のハードウェア上の動作シーケンスが開始し、電源供給部１２２から電源電力が供給され、図５（ｂ）に示すＶｄｄ電源２０１の電圧が上昇する。この時、２次電池１２３からの電源供給が無ければ、Ｖｄｄ電源２０１の電圧が上昇すると同時に、Ｖｄｄ＿ＤＲＡＭ電源２０２の電圧も上昇する。一方、２次電池１２３からの電源供給が有れば、電源ユニット２３１がオンされる前から、Ｖｄｄ＿ＤＲＡＭ電源２０２が既に供給されている状態となる。
【００５７】
電源供給部１２２から電源電力の供給が開始された当初はＶｄｄ電源２０１の電圧はリセット基準電圧未満であるので（ステップＳ５０２でＮＯ）、Ｖｄｄ電源２０１の電圧を監視するリセットＩＣ１２１はＬｏｗのトリガ信号を出力する。これにより、遅延制御回路１３１はシステムリセット信号４０１及びメモリリセットマスク信号４０４を有効（Ｌｏｗ）にして出力する（ステップＳ５０３）。このように、遅延制御回路１３１からＬｏｗのシステムリセット信号４０１が入力されると、ＡＳＩＣ１０１内部はシステムリセット状態となり、メモリコントローラ１０７はＬｏｗのメモリリセットアウト信号４０２を出力する。
【００５８】
一方、遅延制御回路１３１からＬｏｗのメモリリセットマスク信号４０４が入力されると、ゲート回路１３０の出力はハイインピーダンスとなる。尚、このとき２次電池１２３からの電源供給が有った場合は、ゲート回路１３０の出力はＶｄｄ＿ＤＲＡＭ電源２０２によりプルアップされているので、ゲート回路１３０の出力側からメモリデバイス１１３へ流れるメモリリセットイン信号４０３は非リセット状態（Ｈｉｇｈ）が維持される（ステップＳ５０４）。
【００５９】
その後もリセットＩＣ１２１は、Ｖｄｄ電源２０１の電圧を監視し、Ｖｄｄ電源２０１の電圧がリセット基準電圧に到達すると（ステップＳ５０２でＹＥＳ）、トリガ信号をＬｏｗからＨｉｇｈへ変化させる。この変化があったとき、即座にシステムリセット信号４０１をリセット解除状態（Ｈｉｇｈ）にする（ステップＳ５０５）。この出力があったとき、ＡＳＩＣ１０１のシステムリセット状態を解除する。ＡＳＩＣ１０１のシステムリセット状態が解除されると、メモリコントローラ１０７は、メモリリセットアウト信号４０２をＨｉｇｈへ遷移させ（ステップＳ５０６）、メモリデバイス１１３のリセットを解除する。また、トリガ信号をＬｏｗからＨｉｇｈとなると、図５（ｂ）に示すように、遅延制御回路１３１は設定した遅延時間ｔ’後に、メモリリセットマスク信号４０４をＨｉｇｈへ遷移させ、ゲート回路１３０のマスクを解除する（ステップＳ５０７）。これにより、電源オン時のハードウェア上の動作シーケンスが終了する。
【００６０】
このように、Ｌｏｗのメモリリセットイン信号４０３がメモリデバイス１１３へ入力しない様にする事ことにより、電源オフの状態からメモリコントローラ１０７が再起動した場合も、メモリデバイス１１３をセルフリフレッシュ状態に維持することが可能となる。
【００６１】
一方、電源オン時のソフトウェア制御は以下のように行われる。
【００６２】
まず、ステップＳ５０５でシステムリセット信号４０１が解除されたのを受けて、ＣＰＵ１０２は、ソフトウェア動作を開始し、内部ＲＡＭを使ったＢｏｏｔプログラム実行を開始する（ステップＳ７００）。この時点では未だメモリコントローラ１０７はメモリデバイス１１３にはアクセスしていない。
【００６３】
その後、２次電池１２３よりバッテリーフル信号が出力されているか否かを確認して、２次電池１２３が有効か無効か判定する（ステップＳ７０１）。２次電池１２３が有効であれば、ステップＳ５０６でメモリリセットアウト信号４０２がＨｉｇｈに遷移していることを確認する。その後、メモリコントローラ１０７からメモリデバイス１１３に出力するメモリリセットアウト信号４０２の解除状態を維持する（ステップＳ７０２）。
【００６４】
次に、ステップＳ７０３で、メモリデバイス１１３のデータが正常かどうかを、整合性をチェックして確認する。メモリデバイス１１３のデータが正常にバックアップされていた場合は（ステップＳ７０３でＹＥＳ）、メモリデバイス１１３に保持されたデータによりＢｏｏｔａｂｌｅプログラム実行を開始する（ステップＳ７０４）。この場合は、メモリリセットアウト信号４０２のリセット解除状態を維持する。尚、メモリ制御回路のソフトウェア上の制御処理は、ＡＳＩＣ１０１内のＣＰＵ１０２により実行されているため、ＡＳＩＣ１０１には入力されないメモリリセットマスク信号４０４がステップＳ５０７の処理でＨｉｇｈに遷移したか否かは、ソフトウェア上の制御処理においては確認できない。だが、ステップＳ７０４の処理の開始前には、ステップＳ５０７の処理が終了しているように、ソフトウェア上の制御処理ではタイミングの制御がなされている。これにより、ステップＳ７０４のＢｏｏｔａｂｌｅプログラム実行を確実に開始させることができる。
【００６５】
一方、バッテリーフル信号の出力を確認した結果、２次電池１２３が無効だった場合や（ステップＳ７０１でＮＯ）、メモリデバイス１１３のデータに不整合があった場合（ステップＳ７０３でＮＯ）は、ステップＳ５０６でメモリリセットアウト信号４０２がＨｉｇｈに遷移していることを確認する。その後、ステップＳ７０５で、メモリコントローラ１０７からメモリデバイス１１３へのメモリリセットアウト信号４０２をリセット状態（Ｌｏｗ）にして出力する。この出力後、所定時間経過時点で、メモリリセット信号を解除状態（Ｈｉｇｈ）とし（ステップＳ７０６）、メモリデバイス１１３を初期化する（ステップＳ７０７）。尚、上述の通り、メモリ制御回路のソフトウェア上の制御処理は、ＡＳＩＣ１０１のＣＰＵ１０２により実行されているため、ＡＳＩＣ１０１には入力されないメモリリセットマスク信号４０４がステップＳ５０７の処理でＨｉｇｈに遷移したか否かは、このソフトウェア上の制御処理においては確認できない。だが、ステップＳ７０５の処理の開始前には、ステップＳ５０７の処理が終了しているように、ソフトウェア上の制御処理ではタイミングの制御がなされている。これにより、ソフトウェア上の制御処理において、ステップＳ７０５の処理の直前に、ステップＳ５０６でメモリリセットアウト信号４０２がＨｉｇｈに遷移していることを確実に確認することができる。
【００６６】
次に、ＮＯＲ−ＲＯＭ１１１内のプログラムをメモリデバイス１１３へロードし（ステップＳ７０８）、メモリデバイス１１３上で、Ｂｏｏｔａｂｌｅプログラムの実行を開始する（ステップＳ７０９）。これにより、電源オン時のソフトウェア上の制御処理が終了する。
【００６７】
次に、図４（ｂ）及び図５（ｂ）を用いて、電源オフ時のハードウェア制御を図７のフローチャートに沿って説明する。
【００６８】
図７は、本発明の実施の形態に係るメモリ制御回路の電源オフ時のハードウェア上の動作シーケンスの手順を示すフローチャートである。
【００６９】
図７で、電源オフ操作を受けて図８で後述する電源オフ時のソフトウェア上の制御処理が終了した後（ステップＳ６００）、電源オフ時のハードウェア上の動作シーケンスを開始する。
【００７０】
ステップＳ６０１で、２次電池１２３が有効か無効かが判別される。この判別の結果、２次電池１２３が有効であれば（ステップＳ６０１でＹＥＳ）、電源オフ操作によりＶｄｄ電源２０１の電圧が降下していっても、Ｖｄｄ＿ＤＲＡＭ電源２０２の電圧は維持される（ステップＳ６０２）。その後、Ｖｄｄ電源２０１の電圧がリセット規準電圧まで降下した時点で、リセットＩＣ１２１がＬｏｗのトリガ信号を遅延制御回路１３１に出力する。遅延制御回路１３１は、このＬｏｗのトリガ信号の入力に応じて、メモリリセットマスク信号４０４を有効（Ｌｏｗ）にしてゲート回路１３０に入力した後、図５（ｂ）で示すように、遅延時間ｔ”経過後にシステムリセット信号４０１をリセット状態（Ｌｏｗ）にして、ＡＳＩＣ１０１及び内部のメモリコントローラ１０７に入力する（ステップＳ６０３）。
【００７１】
ここで、後述する図８のステップＳ８０５の処理が不具合により正常に終了していなかった場合、図５（ｂ）に示すように、このＬｏｗのシステムリセット信号４０１がメモリコントローラ１０７の入力と同時に、メモリコントローラ１０７は出力中のメモリリセットアウト信号４０２をＨｉｇｈからＬｏｗに変化させる（ステップＳ６０４）。しかしながら、かかる場合であっても、このときメモリコントローラ１０７からメモリデバイス１１３へ出力されるＬｏｗのメモリリセットアウト信号４０２は、ステップＳ６０２で入力されたＬｏｗのメモリリセットマスク信号４０４により閉じた状態となっているゲート回路１３０により確実にマスクすることができる。
【００７２】
一方、ステップＳ８０５の処理が正常に終了していた場合、Ｌｏｗのシステムリセット信号４０１がメモリコントローラ１０７に入力されても、ステップＳ６０４でメモリリセットアウト信号４０２をＬｏｗに変化させることなく、ステップＳ８０５のソフトウェア上の制御によって、Ｈｉｇｈの状態を維持させる。これにより、電源オフ処理の際、Ｌｏｗのメモリリセットイン信号４０３がメモリデバイス１１３に入力されないようにすることができる。
【００７３】
尚、ステップＳ８０５の処理が正常に終了したか否かにかかわらず、ゲート回路１３０はＬｏｗのメモリリセットマスク信号４０４により閉じた状態となっており、且つ２次電池１２３が有効な状態にあるためゲート回路１３０の出力側はプルアップされるため、メモリリセットイン信号４０３は非リセット状態（Ｈｉｇｈ）が保たれる（ステップＳ６０５）。
【００７４】
その後、ステップＳ６０５で、Ｖｄｄ＿ＤＲＡＭ電源２０２は供給を維持したまま、Ｖｄｄ電源２０１がオフされ（ステップＳ６０６）、メモリデバイス１１３では、２次電池１２３が放電して空になるまでセルフリフレッシュモードが維持される（ステップＳ６０７）。
【００７５】
一方、ステップＳ６０１の判別の結果、２次電池１２３が無効であれば（ステップＳ６０１でＮＯ）、Ｖｄｄ電源２０１の電圧が降下していくと、Ｖｄｄ＿ＤＲＡＭ電源２０２の電圧も同時に降下する（ステップＳ６０６）。その後、Ｖｄｄ電源２０１の電圧がリセット規準電圧まで降下した時点で、リセットＩＣ１２１がＬｏｗのトリガ信号を遅延制御回路１３１に出力する。遅延制御回路１３１は、このＬｏｗのトリガ信号の入力に応じて、メモリリセットマスク信号４０４を有効（Ｌｏｗ）にしてゲート回路１３０に入力した後、図５（ｂ）で示すように、遅延時間ｔ”経過後にシステムリセット信号４０１をＬｏｗにして、ＡＳＩＣ１０１及び内部のメモリコントローラ１０７に入力する（ステップＳ６０９）。
【００７６】
この時、ゲート回路１３０はＬｏｗのメモリリセットマスク信号４０４により閉じた状態となっているのでＬｏｗのメモリリセットアウト信号４０２はマスクされるが、２次電池１２３が無効な状態にあるためゲート回路１３０の出力側はプルアップされないので、メモリリセットイン信号４０３は非リセット状態が保たれない（ステップＳ６１１）。その後、Ｖｄｄ電源２０１がオフされると（ステップＳ６１２）、Ｖｄｄ＿ＤＲＡＭ電源２０２もオフされる（ステップＳ６１３）。これにより、本処理が終了する。
【００７７】
図８は、本発明の実施の形態に係るメモリ制御回路の電源オフ時のソフトウェア上の制御処理の手順を示すフローチャートである。ここで、図６の処理と同様、メモリ制御回路のソフトウェア上の制御処理は、メモリ制御回路中にあるＡＳＩＣ１０１内のＣＰＵ１０２により実行される。
【００７８】
ユーザによる電源スイッチオフ操作を検知すると（ステップＳ８００））、メモリデバイス１１３を除くＡＳＩＣ１０１で制御可能なすべての部分に対して、データの退避処理等、電源をオフするために必要な電源オフ前終了処理を開始する（ステップＳ８０１）。
【００７９】
次にステップ８０２で、２次電池１２３が有効（接続されていて、且つ充電も十分されている状態）か、無効（接続されていない、又は充電が十分でない状態）かを判別する。この判別の結果、２次電池１２３が有効であれば（ステップＳ８０２でＹＥＳ）、本体電源をオフした状態でメモリデバイス１１３をバックアップするか否かを判別する（ステップＳ８０３）。例えば、次回の電源オン時に高速起動モードで起動する設定となっている場合や、メモリデバイス１１３上のログデータ等を保持する設定となっている場合、ステップＳ８０３においてこのバックアップをすると判別される。
【００８０】
ステップＳ８０３の判別の結果、メモリデバイス１１３をバックアップする場合は（ステップＳ８０３でＹＥＳ）、メモリデバイス１１３をセルフリフレッシュモードへ移行させる（ステップＳ８０４）。その後、メモリコントローラ１０７からメモリデバイス１１３にＬｏｗのメモリリセットアウト信号４０２は出力させない、すなわち、メモリリセットアウト信号４０２がＨｉｇｈの状態を維持するよう制御する（ステップＳ８０５：中止手段）。次に、メモリデバイスを除くＡＳＩＣ１０１で制御可能なすべての部分に関して電源オフを実行すると（ステップＳ８０６）、本処理を終了する。かかるソフトウェア上の制御処理が終了した後、前述の図７の電源オフ時のハードウェア上の動作処理へ移行する。
【００８１】
一方、ステップＳ８０２の判別の結果、２次電池１２３が無効である場合や（ステップＳ８０２でＮＯ）、ステップＳ８０３の判別の結果、メモリデバイス１１３をバックアップしない場合は（ステップＳ８０３でＮＯ）、そのまま本処理が終了し、前述の図７の電源オフ時のハードウェア上の動作シーケンスへ移行する。
【００８２】
図９は、本発明の実施の形態にかかるメモリ制御回路のソフトウェアによるメモリデバイス１１３に保持されるログデータ記録処理の手順を示すフローチャートである。
【００８３】
プログラム実行中にログ要因（ログデータを記録する必要がある事態）が発生すると、ステップＳ１０１で、一時格納領域であるメモリデバイス１１３におけるログデータ格納先を示すログデータ１次格納先フラグはバッファ１１３ａ（図２のバッファ１）及びバッファ１１３ｂ（図２のバッファ２）のいずれであるかを確認する。
【００８４】
ステップＳ１０１での確認の結果、ログデータ１次格納先フラグがバッファ１１３ａ（図２のバッファ１）である場合、ステップＳ１０２で、ログデータをメモリデバイス１１３のバッファ１１３ａ（図２のバッファ１）に記録する。
【００８５】
次に、ステップＳ１０３で、メモリデバイス１１３のバッファ１１３ａ（図２のバッファ１）の容量に空きが無くなったかどうかを確認する。ステップＳ１０３での確認の結果、メモリデバイス１１３のバッファ１１３ａ（図２のバッファ１）の容量にまだ空きが有れば（ステップＳ１０３でＹＥＳ）、ステップＳ１０７に進み、リターンする。一方、ステップＳ１０３での確認の結果、ＤＲＡＭ中のバッファ１の容量に空きが無ければ（ステップＳ１０３でＮＯ）、メモリデバイス１１３のバッファ１からログデータを、ストレージであるｅＭＭＣ１１２のログデータ格納領域１１２ａ（図２のログデータ１）へ転送する（ステップＳ１０４）。次に、ステップＳ１０５で、ログデータ１次格納先フラグをバッファ１１３ｂ（図２のバッファ２）に変更して、ステップＳ１０６に進み、リターンする。
【００８６】
一方、ステップＳ１０１の確認の結果、ログデータ１次格納先フラグがバッファ１１３ｂ（図２のバッファ２）である場合、ステップＳ１０８で、ログデータをメモリデバイス１１３のバッファ１１３ｂ（図２のバッファ２）に記録する。
【００８７】
次に、ステップＳ１０９で、メモリデバイス１１３のバッファ１１３ｂ（図２のバッファ２）の容量に空きが無くなったかどうかを確認する。ステップＳ１０９の確認の結果、メモリデバイス１１３のバッファ１１３ｂ（図２のバッファ２）の容量にまだ空きが有れば（ステップＳ１０９でＹＥＳ）、ステップＳ１０７に進み、リターンする。一方、ステップＳ１０９の確認の結果、メモリデバイス１１３のバッファ１１３ｂ（図２のバッファ２）の容量に空きが無ければ(ステップＳ１０９でＮＯ)、メモリデバイス１１３のバッファ１１３ｂ（図２のバッファ２）から、ログデータを、ストレージであるｅＭＭＣ１１２中のログデータ格納領域１１２ｂ（図２のログデータ２）へ転送する。次に、ステップＳ１１１で、ログデータ１次格納先フラグをバッファ１１３ａ（図２のバッファ１）に変更して、ステップＳ１１２に進み、リターンする。
【００８８】
＜その他の実施形態＞
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【符号の説明】
【００８９】
１０１  ＡＳＩＣ
１０２  ＣＰＵ
１０７  メモリコントローラ
１１３  メモリデバイス
１２１  リセットＩＣ
１２２  電源供給部
１２３  ２次電池
１３０  ゲート回路
１３１  遅延制御回路
２００  画像形成装置
【図１】
0006516630.tif 000002
【図２】
0006516630.tif 000003
【図３】
0006516630.tif 000004
【図４】
0006516630.tif 000005
【図５】
0006516630.tif 000006
【図６】
0006516630.tif 000007
【図７】
0006516630.tif 000008
【図８】
0006516630.tif 000009
【図９】
0006516630.tif 000010