JPH113223A - 情報処理装置及び情報格納方法 - Google Patents

情報処理装置及び情報格納方法

Info

Publication number
JPH113223A
JPH113223A JP9152646A JP15264697A JPH113223A JP H113223 A JPH113223 A JP H113223A JP 9152646 A JP9152646 A JP 9152646A JP 15264697 A JP15264697 A JP 15264697A JP H113223 A JPH113223 A JP H113223A
Authority
JP
Japan
Prior art keywords
information
stored
memory
program
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP9152646A
Other languages
English (en)
Inventor
Yasuyuki Onizuka
康如 鬼塚
Masashi Matsumoto
正史 松本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP9152646A priority Critical patent/JPH113223A/ja
Publication of JPH113223A publication Critical patent/JPH113223A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 外部装置からの入力情報の信頼性の確保が可
能な情報処理装置及び情報格納方法の提供。 【解決手段】 フラッシュROM(FR)を複数のセクタブ
ロック(SB)に分割し、その各SBにホストからプログラム
モジュール(PM)を書き込む。ダウンロード中にホストに
異常が発生した場合、FRの当該SB内のデータは破壊され
ている可能性が高い。そこで、そのPMが格納されている
SBが次回の再起動時に起動されないように、ブートブロ
ック内のプログラムを設定する。その後、プリンタの再
起動により、それまでRAMに格納されていた各SBのチ
ェックサム(CS)はクリアされ、FRに格納されているCSが
RAMに新たに格納される。このRAM内のCSとホスト
が持っている正規のCSとの相違により、再度ダウンロー
ドすべきプログラムを判断できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えば、外部機器
から受信した入力情報を処理する情報処理装置及び情報
格納方法に関する。
【0002】
【従来の技術】代表的な情報処理装置であるプリンタに
おいては、プリンタの制御を司るCPUや、ASICの
動作制御プログラムを格納するメモリに、一般にマスク
ROMやEPROM等が利用されている。
【0003】
【発明が解決しようとする課題】しかしながら、マスク
ROMやEPROMは、プログラムを一度書き込むと消
去ができないため、プログラムのバージョンアップ、或
いはプログラムに不具合が発見された場合等にはROM
自体を取り替える必要が生じる。特に、プリンタは、印
字ヘッド等の可動部分が多く、一般ユーザではROMの
交換が困難なため、交換の際はサービスマン対応とな
り、コスト、時間がかかるという問題がある。
【0004】そこで本発明では、上記のプログラムのよ
うな必要な情報を予め自装置内のROMに格納するのは
止め、その必要な情報を外部装置から入手する。特に、
その情報の入手の際、外部装置からの入力情報の信頼性
の確保が可能な情報処理装置及び情報格納方法の提供を
目的とする。
【0005】
【課題を解決するための手段】上記の目的を達成するた
め、本発明の情報処理装置は以下の構成を特徴とする。
【0006】即ち、複数の格納領域を有し、その格納領
域毎に書き込み・消去が可能な不揮発性のメモリ手段
と、外部装置との双方向通信が可能な通信手段と、前記
メモリ手段のそれぞれの格納領域への書き込み順序を制
御する制御手段とを備え、前記メモリ手段には、前記格
納領域毎に複数のモジュールに分割された装置の動作プ
ログラム及びデータが格納され、前記制御手段は、前記
外部装置から前記動作プログラム及びデータの更新が指
示された場合に、前記外部装置から受信する複数のモジ
ュールに分割された動作プログラム及びデータのそれぞ
れを、前記メモリ手段の何れかの格納領域に格納するこ
とを特徴とする。
【0007】更に好ましくは、前記制御手段によるモジ
ュールの書き込み指定アドレスを変換するアドレス変換
手段を備え、そのアドレス変換手段が、前記制御手段が
あるモジュールを書き込むときに、そのモジュールを、
前記複数の格納領域の内、現在空き領域となっている格
納領域に格納するようにアドレスを変換し、そのモジュ
ールを本来格納すべき格納領域を新たな空き領域とする
とよい。
【0008】または、上記の目的を達成するため、本発
明の情報格納方法は以下の構成を特徴とする。
【0009】即ち、複数の格納領域を有する不揮発性の
メモリを使用して、その格納領域毎に情報を格納する情
報格納方法であって、前記メモリの格納領域毎に複数の
モジュールに分割された装置の動作プログラム及びデー
タを格納し、外部装置から前記動作プログラム及びデー
タの更新が指示された場合に、その外部装置から受信す
る複数のモジュールに分割された動作プログラム及びデ
ータのそれぞれを、前記メモリの何れかの格納領域に格
納することを特徴とする。
【0010】即ち、複数の格納領域を有するメモリに、
所定の格納領域が予め決められている入力情報を格納す
る情報格納方法であって、前記メモリの複数の格納領域
の内、少なくとも1つを空き領域に設定し、その空き領
域に入力情報を格納し、その格納した入力情報を、その
入力情報の所定の格納領域にコピーすることを特徴とす
る。
【0011】即ち、複数の格納領域を有するメモリに、
所定の格納領域が予め決められている入力情報を格納す
る情報格納方法であって、前記メモリの複数の格納領域
の内、少なくとも1つを空き領域に設定し、その空き領
域に入力情報を格納し、その格納した入力情報が本来格
納されるべき所定の格納領域を、新たな空き領域に設定
することを特徴とする。
【0012】
【発明の実施の形態】以下、本発明を代表的な情報処理
装置としてのプリンタに適用した実施形態を、図面を参
照して詳細に説明する。
【0013】はじめに、本願では、ホストコンピュータ
等の外部機器から受信する印刷データ及び制御データの
インタフェースとして、一般的な8ビットパラレルセン
トロニクスインタフェースではなく、IEEE1284
規格の双方向セントロニクス(Bi-Cenntoronics)イン
タフェースを採用する。この双方向のセントロニクスイ
ンタフェースは、周辺機器におけるデータ受信だけでな
く、その周辺機器からホストへのデータ送信も可能であ
り、双方向通信が可能なセントロニクスインタフェース
である。また、IEEE1284規格にはいくつかのモ
ードがあり、その中の1つとしてECPモードがある。
このECPモードでは、8ビットパラレルデータを双方
向に高速に送受信することが可能である。
【0014】また、近年、制御電圧の制御により消去、
書き込みが可能な所謂フラッシュROMが開発されてい
る。そこで、プリンタ内にマスクROM等の代わりにフ
ラッシュROMを備え、前記の双方向通信インタフェー
スによりホストとの通信を行い、格納されているプログ
ラムのバージョンアップ等を行うべく、そのホストから
プリンタ内のフラッシュROMに対して、新たなプログ
ラムをダウンロードする。これにより、プログラムのバ
ージョンアップの度にROMを交換する必要は無くな
る。
【0015】しかしながら、フラッシュROMを使用す
る際、プリンタの動作制御プログラムをフラッシュRO
Mにダウンロード中にFATAL ERRORや、電源
ダウン等が発生した場合には、フラッシュROMに格納
されているデータが破壊されている可能性が高いため、
プリンタを復旧できなくなることが予想される。従っ
て、このような場合、外部装置からダウンロードした動
作制御プログラムの受信データとしての信頼性を保証す
ることが重要である。そこで、以下に説明する各実施形
態では、動作制御プログラムをフラッシュROMに格納
する場合のデータとしての信頼性を確保する方法を中心
に説明する。
【0016】尚、本発明に係る外部装置(ホスト)から
受信したデータの信頼性確保の手法は、プリンタの動作
制御プログラムに限られるものではないことは言うまで
もない。
【0017】
【第1の実施形態】はじめに、プリンタの内部構成の概
要について、図1を参照して説明する。
【0018】図1は、本発明の第1の実施形態としての
プリンタのブロック構成図である。同図に示すように、
プリンタ1000は、パーソナルコンピュータ等のホス
トコンピュータ100に接続されている。また、ホスト
コンピュータ100は、後述するプリンタ1000にダ
ウンロードすべき動作制御プログラムを、例えば不図示
のモデムまたはターミナルアダプタ等を介して外部の通
信ネットワークから、或はフロッピーディスク、CD−
ROM、DVD等の記録媒体から入手する。
【0019】プリンタ1000において、102は、プ
リンタ1000に於ける動作、処理を制御するCPUで
ある。103は、CPU102の制御プログラムや文字
フォント等各種データを格納するフラッシュメモリ(以
下、フラッシュROM)である。104は、各種データ
を一時保存するためのRAMである。101は、ホスト
コンピュータ100等の外部機器との間でIEEE12
84規格に基づく双方向セントロニクスの通信プロトコ
ルに基づき制御を行うインタフェース制御部である。1
05は、プリンタの設定状態、動作モード、エラーメッ
セージ等を表示する表示部である。
【0020】尚、RAM104には、インタフェース制
御部101が制御する双方向セントロニクス通信におけ
るホストコンピュータ100からの受信データ、或は送
信データを格納するためにも使用される。また、RAM
104には、プリンタ1000の電源投入等のリセット
スタート時に、フラッシュROM103の各セクタ内に
格納しているモジュール毎のチェックサムも格納する。
【0021】106は、CPU102からの制御信号に
従って不図示の記録ヘッドに画像データを転送し、その
画像データを記録媒体に記録するHEAD駆動部であ
る。107は、CPU102からの制御信号に従って不
図示の紙送りモータを駆動するLF駆動部である。10
8は、CPU102からの制御信号に従って不図示のキ
ャリッジモータを駆動するCR駆動部である。LF駆動
部107及びCR駆動部108を制御することにより、
HEAD駆動部106の記録ヘッドは、記録媒体上を水
平方向・垂直方向に移動することができる。
【0022】次に、プリンタ1000内のフラッシュR
OM103について、図2を参照して説明する。
【0023】図2は、本発明の第1の実施形態としての
フラッシュROMのメモリ空間を示す図である。
【0024】同図に示すように、フラッシュROM10
3のメモリ空間は、複数のセクタブロックに区切られて
いる。これらのセクタブロックにおいて、ブート領域
(Boot Block)には、少なくとも、フラッシ
ュROM103にホストコンピュータ100から受信し
たプログラムを書き込むプログラム、ホストコンピュー
タ100との間でIEEE1284規格のECPモード
により双方向データ通信を行うプログラム、並びに後述
のダウンロード中に障害が発生した時にダウンロードシ
ーケンスを強制終了させたり、表示部105に所定の表
示を行うエラー処理ルーチンプログラムが格納されてお
り、変更禁止のプロテクトがかかられている。
【0025】また、フラッシュROM103の各セクタ
ブロック(Block1〜Block7)には、例え
ば、プリンタ1000のプリンタエンジンの制御プログ
ラム、マスクパターン、ヒートテーブル等のように、複
数のプログラムモジュールに分けられたプリンタ100
の動作制御プログラムと、その個々のモジュールのチェ
ックサムが格納される。チェックサムは、プリンタ10
00の電源投入等のリセットスタート時にRAM104
に格納される。
【0026】更に、Boot Blockには、ダウン
ロードが正常に終了しなかったときにこのBoot B
lockに格納されているプログラムにより他のセクタ
が起動されないように、FATAL ERROR時の処
理プログラムも格納されている。
【0027】ホストコンピュータ100から送出される
プリンタ1000の動作制御プログラムは、予めプリン
タ1000の各動作に合わせてモジュール単位に分割さ
れており、この分割された各モジュールはフラッシュR
OM103にブロック単位で格納される。
【0028】以下、本実施形態おける動作制御プログラ
ムの書き換え処理を、ホストコンピュータ100からプ
リンタ1000へのプログラムモジュールのダウンロー
ド処理と、プリンタ1000におけるフラッシュROM
103内の動作制御プログラムの書き換え処理とに分け
て説明する。
【0029】<プログラムモジュールのダウンロード処
理>まず、本実施形態におけるホストコンピュータ10
0からプリンタ1000への動作制御プログラムのダウ
ンロード処理の制御手順を、図3及び図4を参照して説
明する。
【0030】図3は、本発明の第1の実施形態としての
ダウンロードのシーケンスを示す図であり(正常終了の
場合)、ホストコンピュータ100とプリンタ1000
との間でIEEE1284規格のECPモードにより行
われる。
【0031】ステップ(1):まず、ホストコンピュー
タ100よりプリンタ1000の動作制御プログラムを
ダウンロードする場合、ホストコンピュータ100から
プリンタ1000にダウンロードの問い合わせを行う。
【0032】ステップ(2):ホストコンピュータ10
0からの問い合わせに対してプリンタ1000では、ダ
ウンロードの実行を要求する場合にはホストコンピュー
タ100に「応答」を返す。このステータス応答は、前
述したフラッシュROM103のBoot Block
に格納されている通信プログラムにより、インタフェー
ス制御部101を介して行われる。
【0033】ステップ(3):次に、プリンタ1000
から「応答」を返されたホストコンピュータ100は、
新たにプリンタ1000にダウンロードする動作制御プ
ログラムのバージョン番号または記号を送信する。
【0034】ステップ(4):プリンタ1000は、受
信したバージョン番号または記号を、現在フラッシュR
OM103に格納されている動作制御プログラムのバー
ジョン番号または記号と比較し、プリンタ1000内の
バージョン番号または記号が古い場合には、ダウンロー
ド要求ステータスを返す。
【0035】ステップ(5):ダウンロードの要求ステ
ータスを受信したホストコンピュータ100は、プリン
タ1000のフラッシュROM103内の各セクタに格
納すべく、複数のモジュールに区切ってある動作制御プ
ログラムのチェックサムをプリンタ1000に送信す
る。
【0036】ステップ(6):チェックサムを受信した
プリンタ1000は、各セクタブロックに現在格納して
あるチェックサムを電源投入等のリセットスタート時に
RAM104に格納し直してあるため、このRAM10
4に格納してある各セクタのチェックサムと、今回ホス
トコンピュータ100から受信したチェックサムと比較
し、異なるチェックサムのモジュールをホストコンピュ
ータ100に知らせる。
【0037】ステップ(7),ステップ(8):ホスト
コンピュータ100は、プリンタ1000から応答のあ
ったチェックサムの異なる動作制御プログラムのモジュ
ールを、プリンタ1000にダウンロードする。その
際、ホストコンピュータ100は、送出する動作制御プ
ログラムのモジュールに含まれるデータ数をダウンロー
ドするデータの最初に送信し、次にそのプログラムのモ
ジュール、そしてそのチェックサムを送信する。
【0038】ステップ(9):プリンタ1000では、
順次プログラムデータが送られてくる度にチェックサム
の計算が行われ、最後にホストコンピュータ100から
送られてくるチェックサムとプリンタ1000で計算さ
れたチェックサムとを比較し、同じであれば正常終了の
ステータスをホストコンピュータ100に返す。尚、チ
ェックサムは、フラッシュROM103の各セクタブロ
ックにプログラムモジュールと共に格納する。
【0039】これらのステップ(7)〜ステップ(9)
の通信は、ステップ(6)で受信した異なるチェックサ
ムのモジュールの分だけ行われ、ダウンロードが終了す
る。
【0040】図4は、本発明の第1の実施形態としての
ダウンロードのシーケンスを示す図であり(異常発生の
場合)、ダウンロードの途中でFATAL ERROR
や、電源ダウン等の障害が発生し、ダウンロードが中断
した場合を示す。
【0041】同図において、図4のステップ(1)〜ス
テップ(7)までは前述の図3の説明と同様のため、説
明を省略する。
【0042】ステップ(8),ステップ(9):図4の
ステップ(7)において、プログラムのダウンロード中
にプリンタ1000に予め設定されている通信タイムア
ウト時間を超えてもプログラムデータが送信されない場
合、プリンタ1000は、ホストコンピュータ100等
の異常とみなし、一旦ECPモードから抜け、Boot
Blockに予め格納してあるエラー処理ルーチンを
起動し、ダウンロードシーケンスを強制終了する。 ま
た、ダウンロードシーケンスが強制終了されると、プリ
ンタ1000の表示部105には、FATAL ERR
ORが表示される。
【0043】更に、プリンタ1000は、異常が発生し
たときにホストコンピュータ100からのダウンロード
の途中であったプログラムモジュールのデータは、フラ
ッシュROM103の当該セクタブロック内で破壊され
ている可能性が高いため、そのプログラムモジュールが
格納されているセクタブロックが次回の電源投入等のリ
セットスタート時に起動されないように、Boot B
lockのプログラムを設定する。
【0044】その後、表示部105の表示を見たオペレ
ータが、電源投入等によりプリンタ1000をリセット
スタートさせると、それまでRAM104に格納されて
いた各セクタブロックのチェックサムはクリアされ、前
述したように、フラッシュROM103に格納されてい
るチェックサムがRAM104に新たに格納される。従
って、RAM104には、データが破壊されているセク
タブロックのチェックサムも格納される。
【0045】ステップ(10):プリンタ1000のリ
セットスタートによりホストコンピュータ100との通
信が回復すると、ダウンロードの問い合わせがホストコ
ンピュータ100からプリンタ1000になされる。
【0046】ステップ(11),ステップ(12):プ
リンタ1000では、ホストコンピュータ100にダウ
ンロードを要請すると共にエラー処理ルーチンから復帰
し、ステップ(2)へと移行する。これにより、ホスト
コンピュータ100とのバージョン番号または記号及び
チェックサムの相違の確認からダウンロードの制御が再
開される。即ち、ホストコンピュータ100は、プリン
タ1000のリセットスタートによりRAM104に格
納されたところの、データが破壊されているセクタブロ
ックのチェックサムを認識することができるため、障害
の発生によりダウンロードが中断したプログラムモジュ
ールからダウンロードが再開することができる。
【0047】[第1の実施形態のダウンロード処理の変
形例]次に、図5を参照して第1の実施形態の変形例を
説明する。
【0048】図5は、本発明の第1の実施形態の変形例
としてのダウンロードのシーケンスを示す図である(正
常終了の場合)。
【0049】上述した実施形態では、ダウンロード中に
障害が発生し、フラッシュROM103内のセクタブロ
ックのデータが破壊されても、再度そのデータをダウン
ロードすることによりフラッシュROM103に格納す
るデータの内容を保証した。本変形例では、ホストコン
ピュータ100からダウンロードする前に、一度プリン
タ1000から書き換えられるプログラムモジュールと
そのチェックサムとをホストコンピュータ100に転送
し(6A,6B)、コンピュータ側で格納することによ
り、バージョンアップ前のデータ及びチェックサムを保
存する。そして、ダウンロードが完了し、バージョンア
ップが終了した時点で、ホストコンピュータ100に格
納したバージョンアップ前のデータ及びチェックサムを
消去する。これにより、データの保存及び信頼性は更に
向上させることができる。 <フラッシュROM内の動作制御プログラムの書き換え
処理>次に、上述の手順でホストコンピュータ100か
ら受信するプログラムモジュールを、どのような手順で
フラッシュROM103内に書き込むかについて説明す
る。
【0050】図6は、本発明の第1の実施形態としての
プリンタの動作制御プログラムの書き換えの手順を説明
する図である。
【0051】図12は、本発明の第1の実施形態として
のプリンタの動作制御プログラムの書き換え処理を示す
フローチャートである。
【0052】図6の(a)から(c)のフラッシュRO
M103のBoot Blockには、前述したよう
に、少なくとも、フラッシュROM103にホストコン
ピュータ100から受信したプログラムを書き込むプロ
グラム、ホストコンピュータ100との間でIEEE1
284規格のECPモードにより双方向データ通信を行
うプログラム、並びに後述のダウンロード中に障害が発
生した時にダウンロードシーケンスを強制終了させた
り、表示部105に所定の表示を行うエラー処理ルーチ
ンプログラムが格納されており、変更禁止のプロテクト
がかかられている。
【0053】また、図6(a)のBlock1からBl
ock4には、プリンタ1000のプリンタエンジンの
制御プログラム、マスクパターン、ヒートテーブル、等
が書き込まれている。この状態でプリンタが市場に投入
され、その後、例えば高性能なインクが開発された場合
を考える。このプリンタでは、ヒートパルス幅等を変更
しなければならないので高性能なインクを利用すること
はできない。そこで、ヒートテーブルが書き込まれてい
るBlock3のプログラムの書き換えを行うことによ
り(図6(c))、その高性能なインクが使用可能とな
る。その変更の手順を図12を参照して説明する。
【0054】ステップS1,ステップS2:プリンタ1
000は、ホストコンピュータ100からBlock3
のプログラム書き換えのコマンドを受信した場合、図6
(b)に示すようにBlock3に格納しているデータ
を消去する。
【0055】ステップS3:そして、ホストコンピュー
タ100からBlock3用の新しいプログラムを受信
し、その新しいプログラムをBlock3に書き込む。
【0056】ホストコンピュータ100からコマンドの
受信、プログラムのダウンロードは、前述したダウンロ
ードシーケンスに基づいて行われる。
【0057】以上説明したように、ダウンロード中の障
害発生を考慮したダウンロードシーケンスを採用し、更
に、動作制御プログラムをモジュール単位でフラッシュ
ROM103の各セクタブロックに格納することによ
り、ダウンロード中に障害が発生した場合でも、フラッ
シュROM103内の最小限のプログラム破壊で済み、
再度ダウンロードするときに全領域ダウンロードする必
要がない。これにより、ホストコンピュータ1000か
ら受信する動作制御プログラムの信頼性の確保が可能と
なる。
【0058】また、プリンタ1000において、障害発
生時のエラー処理ルーチンをフラッシュROM103の
ブート領域に持つことにより障害発生後のプリンタの暴
走を防止できる。
【0059】
【第2の実施形態】本実施形態は、フラッシュROM内
の動作制御プログラムの書き換え処理に関する。また、
本実施形態も図1のシステムを基にしており、プリンタ
1000の動作制御プログラムに、不具合やバージョン
アップ等が必要な場合には、新たな動作制御プログラム
をホストコンピュータ100からプリンタ1000にダ
ウンロードする。そして、プリンタ1000は、新たに
受信した動作制御プログラムをフラッシュROM103
に書き込むのは同様である。
【0060】上述した第1の実施形態の図6(b)の時
点でプリンタ1000のパワーオフ等のトラブルがあっ
た場合、次にプリンタ1000のパワーオンしたときに
は、プリンタが暴走する可能性がある。そこで、本実施
形態では、その危険性を防止できる書き換えの手順を以
下に説明する。尚、本実施形態において、プリンタ10
00は、フラッシュROM103のアドレスを変換する
アドレス変換回路(図8)を備えている。
【0061】図7は、本発明の第2の実施形態としての
プリンタの動作制御プログラムの書き換えの手順を説明
する図である。
【0062】図13は、本発明の第2の実施形態として
のプリンタの動作制御プログラムの書き換え処理を示す
フローチャートである。
【0063】図8は、本発明の第2の実施形態としての
プリンタ内のアドレス変換回路のブロック構成図であ
る。同図に示すように、アドレス変換回路は、フラッシ
ュROM103の各ブロックのアドレス比較回路(a)
〜(c)、アドレス生成回路(e)から(h)、並びに
それらの回路の接続を選択する選択回路(d)を備え
る。選択回路の制御は、CPU102が行うことは言う
までもない。
【0064】図9は、本発明の第2の実施形態としての
プリンタ内のアドレス変換回路の内部接続の状態を示す
図である。
【0065】図7(a)において、フラッシュROM1
03のBoot Block及びBlock1からBl
ock3には、第1の実施形態と同様に書き込み禁止の
ブートプログラムとモジュール化された動作制御プログ
ラムが格納されている。
【0066】但し、本実施形態では、Block1から
Block3のブロックの内、一番大きい記憶容量のブ
ロックと同等以上のサイズを有するバックアップ用の空
き領域が設定されている。また、この時のアドレス変換
回路(図8)の接続状態は、図9(i)である。
【0067】以下、書き換えの手順を図13を参照して
説明する。
【0068】ステップS11,ステップS12:ホスト
コンピュータ100から、例えば、Block2のプロ
グラム書き換えのコマンドを受信した場合には、図7
(b)に示すように、まず現在の空き領域に新しいBl
ock2を書き込む。
【0069】ステップS13,ステップS14:次に、
プリンタ1000は、新しく書き込んだプログラムのチ
ェックサムを計算し、算出したチェックサムとホストコ
ンピュータ100から送られたチェックサムとを比較す
る。
【0070】ステップS15:ステップS14でチェッ
クサムが一致しない場合は、ホストコンピュータ100
に再送要求を送り、ステップS11に戻る。
【0071】ステップS16,ステップS17:一方、
ステップS14でチェックサムが一致した場合は、図8
のアドレス変換回路の選択回路(d)を図9(j)のよ
うに設定する。これにより、Block2をアクセスし
た場合には、空き領域に書き込まれた新しいBlock
2のプログラムがCPU102に読み込まれる(図7
(b))。
【0072】また、図7(b)においてBlock2の
データを消去し、その領域を新たな空き領域とする(図
7(c))。次に、図7(c)において元の空き領域に
保存されている新しいBlock2の内容を、現在の空
き領域(元のBlock2)にコピーする(図7
(d))。
【0073】ステップS18,ステップS19:そし
て、新しくBlock2に書き込んだプログラムのチェ
ックサムを計算し、そのチェックサムとホストコンピュ
ータ100から送られたチェックサムとを比較する。
【0074】ステップS20:ステップS19でチェッ
クサムが一致しない場合は、ホストコンピュータ100
に当該プログラムの再送要求を行い、ステップS11に
戻る。
【0075】ステップS21:一方、ステップS19で
チェックサムが一致した場合は、図8のアドレス変換回
路の選択回路(d)を図9(k)のように設定し、新し
いBlock2のプログラムが格納されている領域を新
たな空き領域とし、ステップS11に戻る。これによ
り、Block2をアクセスした場合には、新しいBl
ock2のプログラムがCPU102に読み込まれる
(図7(e))。
【0076】ホストコンピュータ100からダウンロー
ドすべきプログラムが複数有る場合は、上記の手順を繰
り返す。尚、本実施形態においても、ホストコンピュー
タ100からコマンドの受信、プログラムのダウンロー
ドは、第1の実施形態で説明したダウンロードシーケン
スにより行われることは言うまでもない。
【0077】このように、上述した本実施形態は、書き
換え処理の回数が第1の実施形態より増え、また、最大
ブロックと同等のサイズの空き領域を必要とする。しか
し、プリンタ1000の正常な動作に必要な動作制御プ
ログラムが常にフラッシュROM103上に存在させる
ことができる。従って、ダウンロード中に障害が発生し
ても、その後のプリンタ1000のリセットスタートに
よる暴走を防止できる。
【0078】
【第3の実施形態】本実施形態も、フラッシュROM内
の動作制御プログラムの書き換え処理に関する。特に、
本実施形態は、第2の実施形態と同様、常に動作に必要
なプログラムデータを確保しながら、ホストコンピュー
タ100から複数のプログラムモジュールをダウンロー
ドする場合に、書き込み処理の回数の減少させるもので
ある。以下、本実施形態では、2つのプログラムモジュ
ールをダウンロードする場合を例に説明する。
【0079】図10は、本発明の第3の実施形態として
のプリンタの動作制御プログラムの書き換えの手順を説
明する図である。
【0080】図14は、本発明の第3の実施形態として
のプリンタの動作制御プログラムの書き換え処理のフロ
ーチャートである。
【0081】図11は、本発明の第3の実施形態として
のプリンタ内のアドレス変換回路の内部接続の状態を示
す図である。
【0082】本実施形態においても、図10(a)に示
すようにフラッシュROM103のBoot Bloc
k及びBlock1からBlock3には、第1の実施
形態と同様に書き込み禁止のブートプログラムとモジュ
ール化された動作制御プログラムが格納されている。ま
た、この時のアドレス変換回路(図8)の接続状態は、
図11(i)である。
【0083】但し、本実施形態では、空き領域、及びB
lock1からBlock3の記憶容量は、何れも同じ
大きさの記憶容量に設定する。
【0084】以下、書き換えの手順を図14を参照して
説明する。
【0085】ステップS31,ステップS32:図10
(a)の状態の時、ホストコンピュータ100からBl
ock2及びBlock3のプログラム書き換えのコマ
ンドを受信した場合には、まず現在の空き領域に新しい
Block2を書き込む(図10(b))。
【0086】ステップS33:そして、新しく書き込ん
だプログラムのチェックサムを計算し、そのチェックサ
ムとホストコンピュータ100から送られたチェックサ
ムとを比較する。
【0087】ステップS35:ステップS34でチェッ
クサムが一致しない場合は、ホストコンピュータ100
に当該プログラムの再送要求を行い、ステップS31に
戻る。
【0088】ステップS36:一方、ステップS34で
チェックサムが一致した場合は、図8のアドレス変換回
路の選択回路(d)を図9(j)のように設定する。こ
れにより、Block2をアクセスした場合には、新し
いBlock2のプログラムがCPU102に読み込ま
れる(図10(b))。
【0089】また、図10(b)においてBlock2
のデータを消去し、その領域に新たな空き領域を生成す
る(図10(c))。
【0090】ステップS37:ステップS31で複数の
ブロックの書き換えコマンドを受信している場合は、ま
だ書き換えていないブロックが有るかを判断する(この
例においては、Block3の書き換えが未だであ
る)。書き換えが完了している場合は、ステップS31
に戻る。
【0091】ステップS38:一方、まだ書き換えてい
ないブロック(本例の場合は、Block3)をステッ
プS37で検出した場合は、ホストコンピュータ100
に当該Blockの新たなプログラムの送信を要求し、
ステップS31に戻る。
【0092】従って、上記の処理をBlock3につい
て同様に行った結果、フラッシュROM103に以下の
状態を得る。
【0093】即ち、Block3のプログラムについて
上記の処理を行うことにより、本実施形態では、図
(c)の現在の空き領域に新たなBlock3のプログ
ラムを格納し(図10(d))、古いBlock3のプ
ログラムの領域を新たな空き領域とする(図10
(e))。その際、図8のアドレス変換回路の選択回路
(d)を図11(j)から(k)のように設定する。こ
れにより、Block3をアクセスした場合は、新しい
Block3のプログラムがCPU102に読み込まれ
る。
【0094】尚、本実施形態においても、ホストコンピ
ュータ100からコマンドの受信、プログラムのダウン
ロードは、第1の実施形態で説明したダウンロードシー
ケンスにより行われることは言うまでもない。
【0095】このように、本実施形態では、複数のプロ
グラムモジュールをダウンロードした場合において、常
に動作に必要なプログラムデータを確保できる。また、
各ブロックを空き領域として利用するため、フラッシュ
ROM103の書き込み処理の回数を第2の実施形態よ
り少なくすることができる。
【0096】
【他の実施形態】尚、本発明は、複数の機器(例えばホ
ストコンピュータ,インタフェイス機器,リーダ,プリ
ンタ等)から構成されるシステムに適用しても、一つの
機器からなる装置(例えば、複写機,ファクシミリ装置
等)に適用してもよい。
【0097】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体を、システム或は装置に供給し、そのシ
ステム或は装置のコンピュータ(またはCPUやMP
U)が記憶媒体に格納されたプログラムコードを読出し
実行することによっても、達成されることは言うまでも
ない。
【0098】この場合、記憶媒体から読出されたプログ
ラムコード自体が前述した実施形態の機能を実現するこ
とになり、そのプログラムコードを記憶した記憶媒体は
本発明を構成することになる。
【0099】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピディスク,ハードディス
ク,光ディスク,光磁気ディスク,CD−ROM,CD
−R,磁気テープ,不揮発性のメモリカード,ROM等
を用いることができる。
【0100】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレ
ーティングシステム)等が実際の処理の一部または全部
を行い、その処理によって前述した実施形態の機能が実
現される場合も含まれることは言うまでもない。
【0101】更に、記憶媒体から読出されたプログラム
コードが、コンピュータに挿入された機能拡張ボードや
コンピュータに接続された機能拡張ユニットに備わるメ
モリに書込まれた後、そのプログラムコードの指示に基
づき、その機能拡張ボードや機能拡張ユニットに備わる
CPU等が実際の処理の一部または全部を行い、その処
理によって前述した実施形態の機能が実現される場合も
含まれることは言うまでもない。
【0102】
【発明の効果】以上説明したように、本発明によれば、
外部装置からの入力情報の信頼性の確保が可能な情報処
理装置及び情報格納方法の提供が実現する。
【0103】
【図面の簡単な説明】
【図1】本発明の第1の実施形態としてのプリンタのブ
ロック構成図である。
【図2】本発明の第1の実施形態としてのフラッシュR
OMのメモリ空間を示す図である。
【図3】本発明の第1の実施形態としてのダウンロード
のシーケンスを示す図である(正常終了の場合)。
【図4】本発明の第1の実施形態としてのダウンロード
のシーケンスを示す図である(異常発生の場合)。
【図5】本発明の第1の実施形態の変形例としてのダウ
ンロードのシーケンスを示す図である(正常終了の場
合)。
【図6】本発明の第1の実施形態としてのプリンタの動
作制御プログラムの書き換えの手順を説明する図であ
る。
【図7】本発明の第2の実施形態としてのプリンタの動
作制御プログラムの書き換えの手順を説明する図であ
る。
【図8】本発明の第2の実施形態としてのプリンタ内の
アドレス変換回路のブロック構成図である。
【図9】本発明の第2の実施形態としてのプリンタ内の
アドレス変換回路の内部接続の状態を示す図である。
【図10】本発明の第3の実施形態としてのプリンタの
動作制御プログラムの書き換えの手順を説明する図であ
る。
【図11】本発明の第3の実施形態としてのプリンタ内
のアドレス変換回路の内部接続の状態を示す図である。
【図12】本発明の第1の実施形態としてのプリンタの
動作制御プログラムの書き換え処理を示すフローチャー
トである。
【図13】本発明の第2の実施形態としてのプリンタの
動作制御プログラムの書き換え処理を示すフローチャー
トである。
【図14】本発明の第3の実施形態としてのプリンタの
動作制御プログラムの書き換え処理のフローチャートで
ある。

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 複数の格納領域を有し、その格納領域毎
    に書き込み・消去が可能な不揮発性のメモリ手段と、 外部装置との双方向通信が可能な通信手段と、 前記メモリ手段のそれぞれの格納領域への書き込み順序
    を制御する制御手段とを備え、前記メモリ手段には、前
    記格納領域毎に複数のモジュールに分割された装置の動
    作プログラム及びデータが格納され、前記制御手段は、
    前記外部装置から前記動作プログラム及びデータの更新
    が指示された場合に、前記外部装置から受信する複数の
    モジュールに分割された動作プログラム及びデータのそ
    れぞれを、前記メモリ手段の何れかの格納領域に格納す
    ることを特徴とする情報処理装置。
  2. 【請求項2】 更に、前記通信手段により受信したモジ
    ュールのそれぞれについてチェックサムを算出するチェ
    ックサム算出手段を備え、前記制御手段は、前記チェッ
    クサム算出手段によりモジュール毎に算出したチェック
    サムを、そのモジュールと共に、前記メモリ手段の何れ
    かの格納領域に格納することを特徴とする請求項1記載
    の情報処理装置。
  3. 【請求項3】 前記メモリ手段は、前記情報処理装置の
    起動時に、前記複数の格納領域に格納しているそれぞれ
    のモジュールのチェックサムを、前記外部装置が参照可
    能な一時記憶メモリにコピーすることを特徴とする請求
    項2記載の情報処理装置。
  4. 【請求項4】 前記データは、そのデータが含まれるモ
    ジュールのチェックサムを含んでおり、 更に、前記通信手段により受信したモジュール内の動作
    プログラムのチェックサムを、そのモジュールについて
    前記チェックサム算出手段により算出したチェックサム
    と比較する比較手段を備え、前記制御手段は、前記比較
    手段によりチェックサムが一致しないモジュールを、前
    記通信手段により前記外部装置に報知することを特徴と
    する請求項2記載の情報処理装置。
  5. 【請求項5】 前記複数のモジュールは、前記情報処理
    装置を制御する動作プログラムであることを特徴とする
    請求項2記載の情報処理装置。
  6. 【請求項6】 前記メモリ手段の複数の格納領域におい
    て、少なくとも1つの領域は書き込み禁止に設定し、そ
    の書き込みを禁止した領域に少なくとも前記外部装置と
    の通信制御プログラム、前記メモリ手段の書き込み制御
    プログラム、並びに前記制御手段によるモジュールの書
    き込みが中断したときのエラー処理プログラムを予め格
    納することを特徴とすることを特徴とする請求項5記載
    の情報処理装置。
  7. 【請求項7】 前記制御手段は、前記エラー処理プログ
    ラムにより、モジュールの書き込みが所定時間を超えて
    中断したときに書き込みを中止し、書き込みを中断した
    格納領域が起動されないように制御することを特徴とす
    る請求項1記載の情報処理装置。
  8. 【請求項8】 更に、前記制御手段によるモジュールの
    書き込み指定アドレスを変換するアドレス変換手段を備
    え、そのアドレス変換手段が、前記制御手段があるモジ
    ュールを書き込むときに、そのモジュールを、前記複数
    の格納領域の内、現在空き領域となっている格納領域に
    格納するようにアドレスを変換し、そのモジュールを本
    来格納すべき格納領域を新たな空き領域とすることを特
    徴とする請求項1記載の情報処理装置。
  9. 【請求項9】 前記アドレス変換手段は、前記情報処理
    装置の再起動後も、再起動前のアドレス変換状態を保持
    することを特徴とする請求項8記載の情報処理装置。
  10. 【請求項10】 前記メモリ手段に、フラッシュメモリ
    を使用することを特徴とする請求項1記載の情報処理装
    置。
  11. 【請求項11】 前記通信手段の通信プロトコルは、I
    EEE1284規格の双方向セントロニクスパラレルイ
    ンターフェースであり、ECPモードにて使用すること
    を特徴とする請求項1記載の情報処理装置。
  12. 【請求項12】 前記情報処理装置は、プリンタである
    ことを特徴とする請求項1記載の情報処理装置。
  13. 【請求項13】 複数の格納領域を有する不揮発性のメ
    モリを使用して、その格納領域毎に情報を格納する情報
    格納方法であって、 前記メモリの格納領域毎に複数のモジュールに分割され
    た装置の動作プログラム及びデータを格納し、 外部装置から前記動作プログラム及びデータの更新が指
    示された場合に、その外部装置から受信する複数のモジ
    ュールに分割された動作プログラム及びデータのそれぞ
    れを、前記メモリの何れかの格納領域に格納することを
    特徴とする情報格納方法。
  14. 【請求項14】 複数の格納領域を有するメモリに、所
    定の格納領域が予め決められている入力情報を格納する
    情報格納方法であって、 前記メモリの複数の格納領域の内、少なくとも1つを空
    き領域に設定し、 その空き領域に入力情報を格納し、 その格納した入力情報を、その入力情報の所定の格納領
    域にコピーすることを特徴とする情報格納方法。
  15. 【請求項15】 複数の格納領域を有するメモリに、所
    定の格納領域が予め決められている入力情報を格納する
    情報格納方法であって、 前記メモリの複数の格納領域の内、少なくとも1つを空
    き領域に設定し、 その空き領域に入力情報を格納し、 その格納した入力情報が本来格納されるべき所定の格納
    領域を、新たな空き領域に設定することを特徴とする情
    報格納方法。
JP9152646A 1997-06-10 1997-06-10 情報処理装置及び情報格納方法 Withdrawn JPH113223A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9152646A JPH113223A (ja) 1997-06-10 1997-06-10 情報処理装置及び情報格納方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9152646A JPH113223A (ja) 1997-06-10 1997-06-10 情報処理装置及び情報格納方法

Publications (1)

Publication Number Publication Date
JPH113223A true JPH113223A (ja) 1999-01-06

Family

ID=15544973

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9152646A Withdrawn JPH113223A (ja) 1997-06-10 1997-06-10 情報処理装置及び情報格納方法

Country Status (1)

Country Link
JP (1) JPH113223A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181198B2 (en) 2000-06-12 2007-02-20 Nec Corporation Program rewriting system and method for a portable telephone set
US7262875B2 (en) 2001-03-30 2007-08-28 Minolta Co., Ltd. Data communication program product transmitting firmware in divisional manner
JP2007249645A (ja) * 2006-03-16 2007-09-27 Sanmei Electric Co Ltd プログラム変更方法
JP2007528071A (ja) * 2004-03-10 2007-10-04 ソニー エリクソン モバイル コミュニケーションズ, エービー ファームウェアアップグレードにおける自動バックアップストア
JP2009048557A (ja) * 2007-08-22 2009-03-05 Mitsubishi Electric Corp データ更新装置及びデータ更新方法及びデータ更新プログラム
JP2009090508A (ja) * 2007-10-05 2009-04-30 Kyocera Mita Corp 画像形成装置、記憶装置及びデータ検査方法
JP2011011076A (ja) * 2010-09-29 2011-01-20 Sanyo Product Co Ltd スロットマシン及び遊技機
JP2011024995A (ja) * 2009-06-30 2011-02-10 Sanyo Product Co Ltd スロットマシン及び遊技機
US8893110B2 (en) 2006-06-08 2014-11-18 Qualcomm Incorporated Device management in a network
US9081638B2 (en) 2006-07-27 2015-07-14 Qualcomm Incorporated User experience and dependency management in a mobile device
US9141375B2 (en) 2003-07-08 2015-09-22 Qualcomm Incorporated Update package generation based on analysis of bank dependency
JP2017078940A (ja) * 2015-10-20 2017-04-27 セイコーエプソン株式会社 電子装置、及び、その制御方法
JP2020102141A (ja) * 2018-12-25 2020-07-02 東芝テック株式会社 情報処理装置及びプログラム

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181198B2 (en) 2000-06-12 2007-02-20 Nec Corporation Program rewriting system and method for a portable telephone set
US7262875B2 (en) 2001-03-30 2007-08-28 Minolta Co., Ltd. Data communication program product transmitting firmware in divisional manner
US9141375B2 (en) 2003-07-08 2015-09-22 Qualcomm Incorporated Update package generation based on analysis of bank dependency
JP4801041B2 (ja) * 2004-03-10 2011-10-26 ソニー エリクソン モバイル コミュニケーションズ, エービー ファームウェアアップグレードにおける自動バックアップストア
JP2007528071A (ja) * 2004-03-10 2007-10-04 ソニー エリクソン モバイル コミュニケーションズ, エービー ファームウェアアップグレードにおける自動バックアップストア
JP2007249645A (ja) * 2006-03-16 2007-09-27 Sanmei Electric Co Ltd プログラム変更方法
US8893110B2 (en) 2006-06-08 2014-11-18 Qualcomm Incorporated Device management in a network
US9081638B2 (en) 2006-07-27 2015-07-14 Qualcomm Incorporated User experience and dependency management in a mobile device
JP2009048557A (ja) * 2007-08-22 2009-03-05 Mitsubishi Electric Corp データ更新装置及びデータ更新方法及びデータ更新プログラム
JP2009090508A (ja) * 2007-10-05 2009-04-30 Kyocera Mita Corp 画像形成装置、記憶装置及びデータ検査方法
JP2011024995A (ja) * 2009-06-30 2011-02-10 Sanyo Product Co Ltd スロットマシン及び遊技機
JP2011011076A (ja) * 2010-09-29 2011-01-20 Sanyo Product Co Ltd スロットマシン及び遊技機
JP2017078940A (ja) * 2015-10-20 2017-04-27 セイコーエプソン株式会社 電子装置、及び、その制御方法
JP2020102141A (ja) * 2018-12-25 2020-07-02 東芝テック株式会社 情報処理装置及びプログラム

Similar Documents

Publication Publication Date Title
JP3310060B2 (ja) 記憶装置および同装置の制御プログラム書換え方法
US5550975A (en) Disk array controller
US6701450B1 (en) System backup and recovery
EP0945801B1 (en) External storage device and method for data saving, data backup
US7555602B2 (en) Data processing apparatus and method for restoring a file system
EP1120709A2 (en) Method of rewriting a boot program in a flash micro-computer
JPH113223A (ja) 情報処理装置及び情報格納方法
JP2005242555A (ja) 記憶制御システム及び記憶制御システムが有するディスク型記憶装置にファームウェアを搭載する方法
JPH11110141A (ja) 外部記憶装置及びデータ処理方法
US20040153738A1 (en) Redundancy management method for BIOS, data processing apparatus and storage system for using same
JP2002175194A (ja) プログラムダウンロードシステム、プログラムダウンロード装置、画像形成装置、プログラムダウンロード方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001344076A (ja) ディスクアレイ装置
JPH11272459A (ja) 書換え可能不揮発性メモリの書換え方法及びシステム並びにアプリケ―ション・プログラムの故障回復方法及びシステム
JP2000330779A (ja) ファームウエアプログラム遠隔更新システム及び方法
US5263152A (en) Process for replacing non-volatile memory in electronic printing systems
US7171518B2 (en) Data storage system recovery from disk failure during system off-line condition
JP4013040B2 (ja) ダウンロード装置及びダウンロード方法
JPH08249218A (ja) ファイル制御装置及びデータ書き込み方法
JP2003114807A (ja) 電子機器及び本体制御プログラムの書き換え方法
JP2001154926A (ja) フラッシュメモリを用いる記憶方法及び記憶制御プログラムを記録した記録媒体
JP2001344156A (ja) フラッシュメモリを有する装置およびデータの書き換え方法
JPH09101887A (ja) ディスクアレイ装置
JP2004302870A (ja) メディアリーダ/ライタの書込禁止方法
JP2812285B2 (ja) プリンタ用ネットワークインタフェースカード
JPH09101866A (ja) ディスクアレイシステムとその運用方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040907