(57)【特許請求の範囲】
【請求項１】
プログラム等の情報の更新書込が可能なメモリ、該メモリへ更新書込される前記情報の通過制御が可能な書込ゲート、および、該書込ゲートの状態を検出する書込ゲート状態検知部を備える主システムと、該主システムとは別の制御系からなり前記主システムの前記書込ゲートの開閉制御を行う従システムとを備え、
主システムは、前記メモリへの書き込みの際に、前記従システムからの前記書込ゲートの開閉制御による前記書込ゲートの開閉の状態を、前記メモリへの書込前とともに前記メモリへの書込中に検知して、前記メモリへの書込前では前記書込ゲートの開状態を検知している時にのみ書き込みを行い、前記メモリへの書込中で且つ前記書込ゲートの開状態を検知している時にのみ書き込みを行い、前記メモリへの書込中で且つ前記書込ゲートの閉状態を検知した時には書き込みを中断することを特徴とするメモリ情報更新システム。
【請求項２】
主システムにおいてメモリに書込ゲートを介してプログラム等の情報の更新書込を行うとき、主システムとは別の従システムから前記書込ゲートの開閉制御を行い、開閉制御される前記書込ゲートの開閉の状態を、主システムが前記メモリへの書込前とともに前記メモリへの書込中に検知して、前記メモリへの書込前では前記書込ゲートの開状態を検知している時にのみ書き込みを行い、前記メモリへの書込中で且つ前記書込ゲートの開状態を検知している時にのみ書き込みを行い、前記メモリへの書込中で且つ前記書込ゲートの閉状態を検知した時には書き込みを中断することを特徴とするメモリ情報更新方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ＣＰＵの暴走によって誤ってメモリの内容が書き替えられるのを防止するメモリ情報更新システム及び方法に関する。
【０００２】
【従来の技術】
メモリ情報更新システムに、メモリに記憶されているプログラムを必要に応じて更新するシステムがある。例えば、近年のデジタル複写機においては、コピー、ファックス、プリンタなど多くの機能を備えており、これらの複数の機能を独立して制御できるように複数の制御システムを組み合わせているが、このような複数の制御システムを有する装置においては、各制御システムはそれぞれ、ＣＰＵと制御プログラムを記憶したメモリとを備え、必要に応じて、各メモリに記憶しているプログラムの更新書き込みができるようになっている。すなわち、開発段階において最初のプログラムで所望の効果を得られるとは限らないために、通常は、メモリの書き替えを可能とし、出荷前に何度かプログラムを変更したり、あるいは、出荷後においても付加的な機能を追加するために新しいプログラムに書き替えたりすることがある。
【０００３】
このように、メモリの内容を書き替えることができるようにした場合に、メモリへの書き込みが常に可能な状態にしておくと、ＣＰＵの暴走などが生じた場合に誤ってメモリの内容が書き替えられてしまうおそれがある。
【０００４】
この問題を解決する１つの方法は、ジャンパコネクタを用いる方法である。プログラムの書き替えを行う場合には、装置のキャビネットなどを取り外してプログラムの書き替えが可能となるようにジャンパコネクタをつなぎかえ、書き替えが終了すると、ジャンパコネクタをプログラムの書き替えが不可能となるように再びつなぎかえ、元の状態に戻す。
【０００５】
また、特開平３−２０５６９０号公報に示されているように、ＣＰＵが所定の信号を出力した時にデータの書き替えができるようにしておき、ソフトウェアによってＣＰＵが正しい信号を出力しているかどうかを監視できるようにした装置も提案されている。
【０００６】
【発明が解決しようとする課題】
ところが、上記のようなジャンパコネクタを用いる装置では、暴走などを原因とするメモリ内容の不正書き込みを防ぐことはできるが、操作が非常に面倒であるという問題がある。また、独立したソフトウェアによってＣＰＵの暴走などを監視する装置では、ソフトウェアの負担が大きいという問題があった。
【０００７】
この発明の目的は、複数のシステムがそれぞれ独立していることに着目し、一方のシステムで他方のシステムでの更新書き込みの許可を与えるようにすることで、ＣＰＵの暴走等があってもメモリへの不正な書き込みが生じないようにできる、メモリ情報更新システム及びその方法を提供することにある。
【０００８】
【課題を解決するための手段】
請求項１の発明は、プログラム等の情報の更新書込が可能なメモリおよびこのメモリへの書込ゲート、および、該書込ゲートの状態を検出する書込ゲート状態検知部を備える主システムと、前記書込ゲートの開閉制御を行う従システムとを備え、主システムで、従システムによる書込ゲートの開閉制御に伴う書込ゲートの状態を検知して書込制御を行うことを特徴とする。
【０００９】
デジタル複写機やデジタル複合機など、複数の制御システムを内蔵する装置では、各システムはそれぞれＣＰＵとプログラム等の更新書き込みが可能なメモリとを備えている。今、更新書き込みを行おうとするシステムを主システム、それ以外のシステムを従システムとすると、主システムにはメモリへの書込ゲートが設けられると共に、従システムにおいて、この書込ゲートの開閉制御を行う。このようにすると、主システムでＣＰＵが暴走した場合でもメモリがアクセスされてその内容が不正に書き替えられることがない。また、従システムのＣＰＵが暴走した場合でも、主システムが正常であるなら主システムからメモリへの不正な書込が行われることがない。このように、主システムのメモリに書込ゲートを設けておき、主システムとは別系統の従システムでこの書込ゲートの開閉制御を行うことで、暴走等によってメモリの内容が不正に書き替えられてしまう確率を非常に小さくすることができ、高信頼性を得ることができる。
また、従システムが書き込みゲートを開こうとしても何らかの原因によって開かない場合が起こるかもしれない。この場合でも、書込ゲート状態検知部によって書込ゲートが実際に開いた事を知ってから書き込み制御を行うために、より信頼性の高い更新書き込みを行うことができる。
【００１８】
【発明の実施の形態】
図１は、この発明の実施形態であるメモリ情報更新システムの概略ブロック図である。このメモリ情報更新システムは、システムＡとシステムＢからなる。システムＢは、さらに複数のシステムｂ１、ｂ２．．．．から構成されている。システムＡとシステムＢとはＩ／Ｏポートを通じて通信線によって互いに接続されている。
【００１９】
各システムＡ、システムＢはいずれもＣＰＵとプログラムの更新書き込み可能なメモリを備えており、また後述する書込ゲートをそれぞれ備えている。同図は、システムＡについてのみ書込ゲートとメモリを示している。
【００２０】
システムＡは、ＣＰＵ１、ＲＯＭ２、メモリ３、Ｉ／Ｏポート４、書込ゲート５とを備えている。システムＢも同様の構成を備えているが、図においては、ＣＰＵ１０とＩ／Ｏポート１１のみを示している。システムｂ１、ｂ２とも同様である。なお、図１はメモリ情報更新システムの概略ブロック図であるが、実際には、各システムＡ、システムＢはそれぞれ独立した機能をもっている。例えば、このシステムがデジタル複写機に適用された場合には、システムＡは画像形成シーケンスや駆動部の制御を担当し、システムＢは操作パネル部やファクシミリ、コピー等のその他の制御機能を担当する。メモリ３には、通常のバッテリバックアップされたＤＲＡＭやフラッシュメモリなどを使用することができる。
【００２１】
このメモリ情報更新システムでは、メモリ３に書込ゲート５が接続されており、ＣＰＵ１がメモリ３に対して情報を書き込む時にはこの書込ゲート５を介して行われる。なお、ここではメモリ３に更新書き込みする情報をプログラムとする。
【００２２】
上記書込ゲート５は、Ｉ／Ｏポート４を介して通信線によって接続されているシステムＢ（システムｂ１、システムｂ２等のいずれか）によって開閉制御されてる。書込ゲート５はソフトウェアで構成されるものではなく、ハードウェアによって構成され、Ｉ／Ｏポート４からは、この書込ゲート５に対して開閉信号が直接送られる。すなわち、システムＢにおいてシステムＡの書込ゲート５を、システムＡのＣＰＵ１の動作状態に関わらず直接的に開または閉のいずれかの状態に制御できるようになっている。
【００２３】
システムＡがメモリ３に対してプログラムの更新書き込みを行おうとする時には、オペレータまたは他の手段によってシステムＢの書込ゲート開制御プログラムを起動し、システムＢのソフトウェアによる手順によって書込ゲート５の開制御信号を作成し、システムＡに対して送る。システムＡでは、この信号を受けると書込ゲート５を開く。この時、システムＡのＣＰＵ１がどのような状態であろうと書込ゲート５は開状態に制御される。書込ゲート５が開状態になった時、初めてシステムＡではメモリ３に対するプログラムの更新書込を行うことができる状態となる。したがって、システムＡのＣＰＵ１が暴走した時に、それを原因として書込ゲート５が開状態になることはありえない。したがって、ＣＰＵ１の暴走に起因するメモリ３への不正な更新書き込みを防止することができる。
【００２４】
一方、システムＢのＣＰＵ１０が暴走して書込ゲート５が開いたとしても、システムＡ内のＣＰＵ１が暴走していない限り、ＣＰＵ１ではメモリ３への更新書込モードになっていない。したがって、メモリ３に対してプログラムの不正な更新書き込みが行われる時は、システムＡのＣＰＵ１が暴走して不正な書込モードとなり、且つシステムＢのＣＰＵ１０も暴走して書込ゲート５を開状態に制御した時だけとなる。この確率は、システムＡ及びシステムＢが共に暴走する確率であるから、仮に、システムＡのＣＰＵ１が暴走する確率を１０分の１、システムＢのＣＰＵ１０が暴走する確率を同じく１０分の１とすれば、メモリ３への不正なプログラム更新書き込みが行われる確率は、１／１０×１／１０＝１／１００となる。このように、メモリ３に書込ゲート５を接続し、この書込ゲート５を、別系統の他のシステムで開閉制御を行うようにすることで、システム全体の信頼性を飛躍的に高めることができる。
【００２５】
図２は、システムＡ、Ｂのそれぞれの概略の動作を示すフローチャートである。システムＢにおいて、例えば操作パネルからの操作者の指令に基づいてＣＰＵ１０が書込ゲート５を開くための信号を作成しＩ／Ｏポート１１を介してシステムＡに出力する。システムＡでは、その信号をＩ／Ｏポート４で受けて、書込ゲート５をダイレクトに開く。これにより、システムＡのＣＰＵ１はメモリ３に対する更新書込を行うことができ、ＳＴ２においてプログラムの更新を行う。なお、システムＡはこの時プログラムの更新書込モードに設定されておく必要がある。
【００２６】
以上の実施形態では、システムＢのシステムｂ１またはその他のシステムによって書込ゲート５を制御するようにしたが、システム１の書込ゲート５の制御を行うのにシステムＢ内の２つ以上のシステムを使うことも可能である。例えば、システムｂ１がシステムＡに出す書込ゲートの開制御信号をシステムｂ２からの指示によって出すようにすれば、不正なプログラム更新書き込みが行われる確率は、１／１０×１／１０×１／１０＝１／１０００となり、システム全体の信頼性がさらに高いものとなる。
【００２７】
また、システムＡとシステムＢは通信線で接続するようにしているが、システムＡとシステムＢとが独立したものであれば同じ基板内、同じ装置内に設けることも可能である。
【００２８】
図３は、他の実施形態のメモリ情報更新システムを示す。図１に示すシステムと相違するのは、書き込みゲート５の開閉状態を検知する書き込み状態検知部６を設けた点である。
【００２９】
システムＡにおけるプログラムの書き込み更新時においては、システムｂ１から出されるゲート開制御信号によって書込ゲート５が開くはずであるが、システムｂ１の異常などによって書込ゲート５が最終的に開状態にならない場合も考えられる。このような場合、ＣＰＵ１がメモリ３に対してプログラムの書き込み更新処理を行ってもうまくゆかない。そこで、このような不具合を回避するために、書込状態検知部６を設け、ＣＰＵ１が、実際にプログラムの書き込み更新を行う時に、この書込状態検知部６で書込ゲート５の開状態を確認してから行えるようにする。図４は、この時のシステムＡ、システムＢの動作を示している。すなわち、システムＡでは、ＳＴ３において書込状態検知部６による書込ゲート５の状態をみる。書込ゲート５が正しく開いていれば、ＳＴ２に進んでプログラムの書き込み更新を行う。これにより、メモリ３へのプログラムの更新書き込みの信頼性を高めることができる。
【００３０】
上記書込状態検知部６は、書込ゲート５の状態を常に監視しており、プログラムの書き込み更新中に何らかの不都合で書き込みが禁止とされた場合（書込ゲート５が閉じられた場合）には、この書込状態検知部６がＣＰＵ１にその旨を知らせるようにすることも可能である。このようにすると、プログラムの書き込み更新中にメモリへの書き込みが禁止された場合に、不要な書き込みエラーを防止することができる。図５は、この時のシステムＡの動作を示している。すなわり、プログラムの書き込み更新を行っている時には、ＳＴ２→ＳＴ４→ＳＴ３→ＳＴ２．．．．を繰り返しているが、途中で書込ゲートが閉状態に制御されると、ＳＴ５の中断処理に移る。なお、中断処理では、システムＢのＣＰＵ１０に対してエラー通知を行う。これにより、システムＢ側ではそれ以降の無駄な作業を停止することができる。
【００３１】
以上の説明では、システムＢ側において、書込ゲート５を開くためのトリガを出すようにしている。例えば、システムＢが操作パネルを制御するものであれば、人間が操作パネルを介してシステムＢに書込ゲート５を開くための操作を行う。これに対して、システムＡ側からトリガをかけるようにしてもよい。すなわち、システムＡからシステムＢに対してプログラムの書き込み更新の要求を出し、システムＢではこれを受けて書込ゲート５を開状態に制御する。図６は、この時のシステムＡ、システムＢの動作を示す。すなわち、システムＡにおいてプログラムの書き込み更新の要求をシステムＢ側に対して出すと（ＳＴ１０）、システムＢではこれを受けて、ＳＴ１１からＳＴ１に進んで書込ゲート５を開状態にするための制御信号をシステムＡ側に出力する。このようにすると、システムＡ→システムＢ→システムＡの手続きを得てからプログラムの更新書き込みを行うことができるようになるために、信頼性がさらに高まる。
【００３２】
上記の例では、システムＢ側から書込ゲート開制御信号を出力する時に、システムＡのＣＰＵ１に対して通知を行っていないが、システムＡのＣＰＵ１に対しても、書込ゲート５が開状態になったことを通知することによって、ＣＰＵ１からメモリ３へのプログラムの更新書き込み処理がより確実に行われるようになる。図７はこの時のシステムＡ及びシステムＢの動作を示している。すなわち、システムＢ側のＳＴ１において書込ゲート開制御信号をシステムＡ側に出力すると共に、同時にＳＴ１５において、更新許可信号をシステムＡ側に出力する。この更新許可信号は、Ｉ／Ｏポート４を介してＣＰＵ１に出力される。ＣＰＵ１は、この信号を受けた時に、書込ゲート５が開状態となった事を知り、以後、メモリ３へのプログラムの更新処理動作に移る。
【００３３】
システムＡ側では、プログラムの書き込み更新を終えると、その旨をシステムＢ側に知らせ、システムＢ側では、その信号を受けた時に書込ゲート５を元の閉状態に制御するようにすれば、必要な時にだけ書込ゲート５を開状態にしておくことができる。図８は、そのようにする場合のシステムＡ、システムＢの動作を示している。すなわち、ＳＴ４でプログラムの更新書き込みを終了すると、ＳＴ１６においてシステムＢ側に終了通知を出す。システムＢ側では、この通知を受けると（ＳＴ１７）、ＳＴ１８で書込ゲート閉制御信号をシステムＡの書込ゲート５に送る。この段階でシステムＡ側では書込ゲート５が閉じた状態となる。
【００３４】
また、システムＡ側で更新許可を得た場合に、システムＢ側に対してプログラムの更新書き込みに必要とするゲート開時間に対応するデータを送ることによって、システムＢ側において、その時間に基づいて自動的に書込ゲート閉制御信号を作成するこができる。図９は、この時のシステムＡ及びシステムＢの動作を示している。すなわち、システムＢ側から書込ゲート開制御信号を受けると共に（ＳＴ１）、更新許可を受けると（ＳＴ１５）、ＳＴ２０において書込ゲート５のゲート開時間に対応するデータをシステムＢ側に送る。このゲート開時間に対応するデータは、更新書き込みに必要とする書込ゲート５の開時間に対応するデータであり、例えば、更新書き込みのデータ量、書き込み時間、書き込み終了予測時刻などである。システムＢ側では、このデータを受けると、ＳＴ１７において書込ゲート５の開状態の終了時刻が来るのを待ち、その時刻になった時点でＳＴ１８で書込ゲート閉制御信号をシステムＡ側に送る。このようにすると、システムＡ側においてプログラムの更新処理が終わったかどうかを図８に示すように監視しておく必要がなく、またシステムＢ側からオペレータ等によって書込ゲート５の閉状態制御信号を作成する必要がなくなる。
【００３５】
以上、図２〜図９においていくつかの制御例を説明したが、図２〜図９の各動作を適宜組み合わせることも可能である。例えば、図７〜図９の動作に図４、図５のＳＴ３に示すようなステップを追加することもできる。
【００３６】
【発明の効果】
請求項１の発明によれば、主システムとは全く別系統の従システムによって書込ゲートの開閉制御を行うようにするため、メモリに対して不正な情報の書き込みが行われる場合は、主システムと従システムのＣＰＵが共に暴走したときだけとなり、そのような事態が発生する確率を極めて低くすることができる。このた、システム全体の信頼性を飛躍的に高めることができる。
さらに、何らかの原因によって書込ゲートが開いていない場合に主システム内での更新書き込みが行われる状態を防ぐことができる。これにより、更新書き込みの信頼性をさらに高めることができる。
【図面の簡単な説明】
【図１】この発明の実施形態でるメモリ情報更新システムの機能ブロック図
【図２】上記システムの概略動作を示すフローチャート
【図３】メモリ情報更新システムの他の例の機能ブロック図
【図４】上記システムの他の動作例を示すフローチャート
【図５】上記システムのさらに他の動作例を示すフローチャート
【図６】上記システムのさらに他の動作例を示すフローチャート
【図７】上記システムのさらに他の動作例を示すフローチャート
【図８】上記システムのさらに他の動作例を示すフローチャート
【図９】上記システムのさらに他の動作例を示すフローチャート
【図１】
0004226121.tif 000002
【図２】
0004226121.tif 000003
【図３】
0004226121.tif 000004
【図４】
0004226121.tif 000005
【図５】
0004226121.tif 000006
【図６】
0004226121.tif 000007
【図７】
0004226121.tif 000008
【図８】
0004226121.tif 000009
【図９】
0004226121.tif 000010