(57)【要約】【課題】チェックコードを必要とする正誤判定処理を繰り返すことに起因したメモリ消費及び処理時間の増加を防ぎ、また、想定外異常に対する適応力を高めて信頼性向上に貢献し得る。【解決手段】上位装置２０からコマンドを受信して、コマンドに従って処理を実行するカードリーダ１であって、カードリーダ１の各種動作に必要な作業データが格納される、書換え不可能な外部ＲＯＭ１１と、カードリーダ１が処理を実行する際に必要な作業データがコピーされる、書換え可能な外部ＲＡＭ１２と、外部ＲＯＭ１１及び外部ＲＡＭ１２にアクセス可能なＣＰＵ１０と、を有し、ＣＰＵ１０は、カードリーダ１が待機状態のときに、外部ＲＯＭ１１に格納されている作業データにより、外部ＲＡＭ１２内の作業データを更新する。【選択図】図４
2010044514.tif 000002
【特許請求の範囲】
【請求項１】
上位装置からコマンドを受信して、当該コマンドに従って処理を実行する電子機器装置であって、
当該電子機器装置の各種動作に必要な作業データが格納される、書換え不可能な第一メモリと、
前記電子機器装置が処理を実行する際に必要な前記作業データがコピーされる、書換え可能な第二メモリと、
前記第一メモリ及び前記第二メモリにアクセス可能な制御部と、を有し、
前記制御部は、前記電子機器装置が待機状態のときに、前記第一メモリに格納されている前記作業データにより、前記第二メモリ内の前記作業データを更新することを特徴とする電子機器装置。
【請求項２】
前記作業データは、所定のデータ数に分割されていて、前記第二メモリにコピーされることを特徴とする請求項１記載の電子機器装置。
【請求項３】
前記電子機器装置は、上位装置に電気的に接続されたカードリーダであって、
前記制御部は、前記電子機器装置が待機状態のときに、前記第一メモリに格納されている前記作業データにより、前記第二メモリ内の前記作業データを更新し続けることを特徴とする請求項１又は２のいずれか記載の電子機器装置。
【請求項４】
各種動作に必要な作業データが格納される書換え不可能な第一メモリと、各種処理を実行する際に必要な当該作業データをコピーする書換え可能な第二メモリと、当該第一メモリ及び当該第二メモリにアクセス可能な制御部と、を有し、上位装置からコマンドを受信して、当該コマンドに従って処理を実行する電子機器装置で実行されるメモリのデータ更新方法において、
前記電子機器装置が前記上位装置から前記コマンドを受信するまでの間、前記制御部が、前記第一メモリに格納されている前記作業データにより、前記第二メモリ内の前記作業データを更新するデータ更新ステップと、
前記電子機器装置が前記上位装置から前記コマンドを受信したとき、前記コマンドに従って処理が実行されるコマンド処理ステップと、を含むとともに、
前記コマンド処理ステップが終了した後、再び前記データ更新ステップが実行されることを特徴とするメモリのデータ更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、書換え不可能なメモリと書換え可能なメモリを有し、後者のメモリ上のデータを使用して処理を実行する電子機器装置及びメモリのデータ更新方法に関する。
【背景技術】
【０００２】
例えば、電子機器装置としては、カード状媒体に対して所定の処理を実行するカードリーダがある。このカードリーダなどの電子機器装置では、給電が遮断されても記憶内容を保持することができる電気的に書換え不可能なメモリ（ＥＰＲＯＭやフラッシュＲＯＭなど）が利用されている。例えば、書換え不可能なメモリには、プログラムデータあるいは電子機器装置自身の様々な機能動作を設定するデータ（排出リトライ回数や磁気リードリトライ回数）などが保持される。
【０００３】
カードリーダでは、書換え不可能なメモリから書換え可能な別のメモリ（例えばＳ−ＲＡＭなど）へとデータ転送（データコピー）が行われた後、書換え可能なメモリ上のデータが使用される。
【０００４】
このとき、従来の電子機器装置は、書換え可能なメモリ上のデータを使用するにあたって、そのデータが正しい値であるか否かを判定しながら使用する。そして、（データが壊れてしまった等の原因で）書換え可能なメモリ上のデータが、書換え不可能なメモリに保持されているデータと異なっている場合には、書換え不可能なメモリから書換え可能なメモリに再び正しいデータをコピーしなおす。例えば、特許文献１に開示された技術によれば、装置の異常を検知した等の所定条件が成立した場合に、再び正しいデータをコピーしなおすようにしている。なお、データが壊れる原因としては、ソフトエラーによる場合やバグ等によるプログラムエラーによる場合等がある。このソフトエラーの原因としては、静電気、電源／信号線ノイズ、放射線、電源電圧の低下、瞬断等が挙げられる。
【０００５】
【特許文献１】特開平１０−３４３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、データが正しい値であるか否かの正誤判定処理を行うためには、チェックコード（ＳＵＭ値やＣＲＣ値）の分だけメモリ領域を確保しなければならない。また、正誤判定処理を頻繁に繰り返すとなると、それに起因した処理時間の増加によって電子機器装置の動作遅延も考えられる。さらには、ノイズ等によって想定外の異常が発生し、正誤判定処理で異常検出できなかった場合には、データ復旧は行われない。これは、上述した特許文献１の技術においても同様で、所定条件が成立しないような想定外の異常が発生したときには、データの復旧は行われない。このように、従来の電子機器装置は、想定外の異常が発生した場合に信頼性に欠ける面がある。
【０００７】
本発明は、このような点に鑑みてなされたものであり、その目的は、チェックコードを必要とする正誤判定処理を繰り返すことに起因したメモリ消費及び処理時間の増加を防ぎ、また、想定外異常に対する適応力を高めて信頼性向上に貢献し得る電子機器装置及びメモリのデータ更新方法を提供することにある。
【課題を解決するための手段】
【０００８】
以上のような課題を解決するために、本発明は、以下のものを提供する。
【０００９】
（１）  上位装置からコマンドを受信して、当該コマンドに従って処理を実行する電子機器装置であって、当該電子機器装置の各種動作に必要な作業データが格納される、書換え不可能な第一メモリと、前記電子機器装置が処理を実行する際に必要な前記作業データがコピーされる、書換え可能な第二メモリと、前記第一メモリ及び前記第二メモリにアクセス可能な制御部と、を有し、前記制御部は、前記電子機器装置が待機状態のときに、前記第一メモリに格納されている前記作業データにより、前記第二メモリ内の前記作業データを更新することを特徴とする電子機器装置。
【００１０】
本発明によれば、電子機器装置に、書換え不可能な第一メモリと、書換え可能な第二メモリと、これらのメモリにアクセス可能な制御部と、を設け、この制御部によって、電子機器装置が待機状態のときに、第一メモリに格納されている作業データにより第二メモリ内の作業データを更新することとしたので、チェックコードを必要とする正誤判定処理を行うことなく、メモリ更新を行うことができる。したがって、正誤判定処理を繰り返すことに起因したメモリ消費を防ぐことができる。また、正誤判定処理が行われないので、これを繰り返すことに起因した処理時間の増加も防ぐことができる。また、処理時間に関しては、第二メモリ内の作業データを更新するタイミングを、電子機器装置が待機状態のときとすることで、電子機器装置が通常の処理を実行する際の処理時間の増加（本来の動作の遅延）を防ぐことができる。
【００１１】
さらに、本発明は、想定外異常に対する適応力を高めることができる。すなわち、本発明では、データ復旧が行われるための条件として、正誤判定処理で異常検出されることや、所定条件が成立すること等は必要とされず、想定外の異常が発生した場合であっても、電子機器装置が待機状態に遷移すればデータ復旧が自動的に行われるため、想定外異常に対する適応力が高まり、ひいては信頼性向上に貢献することができる。
【００１２】
ここで、本発明における「第一メモリ」及び「第二メモリ」は、それぞれ書換え不可能及び書換え可能なものであれば、如何なる種類のメモリであってもよい。例えば「第二メモリ」については、外部ＲＡＭは勿論、ＣＰＵ内のＲＡＭを用いることも可能である。
【００１３】
（２）  前記作業データは、所定のデータ数に分割されていて、前記第二メモリにコピーされることを特徴とする電子機器装置。
【００１４】
本発明によれば、上述した作業データは、所定のデータ数に分割されていて、第二メモリにコピーされることとしたので、作業データの更新を、電子機器装置が待機状態のときに一度に全て行う必要がない。したがって、電子機器装置が上位装置からコマンドを受信した場合には、現在更新中の作業データが第二メモリにコピーされた後、速やかに、そのコマンドに従って処理を実行することができるので、電子機器装置が通常の処理を実行する際の処理時間の増加を防ぐことができる。
【００１５】
（４）  前記電子機器装置は、上位装置に電気的に接続されたカードリーダであって、前記制御部は、前記電子機器装置が待機状態のときに、前記第一メモリに格納されている前記作業データにより、前記第二メモリ内の前記作業データを更新し続けることを特徴とする電子機器装置。
【００１６】
本発明によれば、上述した電子機器装置は、上位装置に電気的に接続されたカードリーダであり、上述した制御部によって、電子機器装置が待機状態のときに、第一メモリに格納されている作業データを元に、第二メモリ内の作業データが更新され続けることとしたので、カードリーダにおいて自動的なデータ復旧を実現し、信頼性を高めることができる。すなわち、カードリーダは、自身が待機状態（上位装置からのコマンドを待っている状態）のときに、上位装置と通信を行う場合があるが、この通信処理中にエラーが発生しても、第二メモリ内の作業データが更新され続けることで自動的なデータ復旧を実現でき、ひいては信頼性を高めることができる。
【００１７】
（５）  各種動作に必要な作業データが格納される書換え不可能な第一メモリと、各種処理を実行する際に必要な当該作業データをコピーする書換え可能な第二メモリと、当該第一メモリ及び当該第二メモリにアクセス可能な制御部と、を有し、上位装置からコマンドを受信して、当該コマンドに従って処理を実行する電子機器装置で実行されるメモリのデータ更新方法において、前記電子機器装置が前記上位装置から前記コマンドを受信するまでの間、前記制御部が、前記第一メモリに格納されている前記作業データにより、前記第二メモリ内の前記作業データを更新するデータ更新ステップと、前記電子機器装置が前記上位装置から前記コマンドを受信したとき、前記コマンドに従って処理が実行されるコマンド処理ステップと、を含むとともに、前記コマンド処理ステップが終了した後、再び前記データ更新ステップが実行されることを特徴とするメモリのデータ更新方法。
【００１８】
本発明によれば、書換え不可能な第一メモリと、書換え可能な第二メモリと、これらにアクセス可能な制御部と、を有する電子機器装置で実行されるメモリのデータ更新方法において、電子機器装置が上位装置からコマンドを受信するまでの間、制御部によって、第二メモリ内の作業データが更新され、電子機器装置が上位装置からコマンドを受信したとき、コマンドに従って処理が実行され、このコマンド処理が終了した後、再び作業データの更新が行われることとしたので、チェックコードを必要とする正誤判定処理を行うことなく、第二メモリ内の作業データを更新することができる。したがって、正誤判定処理を繰り返すことに起因したメモリ消費や処理時間の増加を防ぐことができる。また、コマンド処理が終了した後に、作業データの更新が行われるので、電子機器装置が通常の処理を実行する際の処理時間の増加（本来の動作の遅延）を防ぐことができる。加えて、想定外の異常が生じた場合であっても、電子機器装置が待機状態に遷移すれば（コマンド処理が終了した後）、データ復旧が自動的に行われるため、想定外異常に対する適応力が高まり、ひいては信頼性向上に貢献することができる。
【発明の効果】
【００１９】
以上説明したように、本発明に係る電子機器装置及びメモリのデータ更新方法によれば、書換え可能なメモリ上の作業データが正しい値であるか否かの正誤判定処理を行うことなく、データ更新を行うことができるので、正誤判定処理を繰り返すことに起因したメモリ消費及び処理時間の増加を防ぐことができる。また、想定外の異常があったとしても、電子機器装置が待機状態に遷移すれば自動的にデータ復旧が行われるため、電子機器装置の信頼性を高めることができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【００２１】
図１は、本発明の実施の形態に係るカードリーダ１の電気的構成を示すブロック図である。図２は、本発明の実施の形態に係るカードリーダ１で用いられるプログラムの構成を示す図である。なお、本実施形態では、電子機器装置の一例としてカードリーダ１を採用するが、本発明はこれに限られない。
【００２２】
図１において、カードリーダ１は、ＣＰＵ１０と、外部ＲＯＭ１１と、外部ＲＡＭ１２と、センサー回路１３と、センサー１４と、Ｒ／Ｗ（Read／Write）回路１５と、（磁気）ヘッド１６と、モータ駆動回路１７と、モータ１８と、インターフェース回路１９と、を有している（点線枠内）。また、カードリーダ１は、インターフェース回路１９を介して上位装置２０と電気的に接続されており、ＣＰＵ１０等により、上位装置２０からのコマンドを受信して、そのコマンドに従って処理を実行する機能を有する。なお、カードリーダ１は、インターフェース回路１９を備えることで、上位装置２０との間でＵＳＢ通信などの各種通信を行うことができる。
【００２３】
ＣＰＵ１０は、カードリーダ１の総合的な電気的制御を司るものである。外部ＲＯＭ１１は、カードリーダ１の各種動作に必要な作業データが格納される書換え不可能なメモリ（第一メモリの一例）であって、排出リトライ回数や磁気リードリトライ回数、或いはプログラムなどが格納される。ＲＡＭ１２は、カードリーダ１が処理を実行する際に必要な作業データがコピーされる書換え可能なメモリ（第二メモリの一例）であって、ＣＰＵ１０のワーキングエリアとしても機能する。ＣＰＵ１０は、これら外部ＲＯＭ１１及び外部ＲＡＭ１２にアクセス可能であり、制御部の一例として機能する。
【００２４】
なお、本実施形態では、第二メモリの一例として外部ＲＡＭ１２を採用していることから、十分な記憶容量（ＲＡＭ容量）を確保することができる（記憶容量の大きな外部ＲＡＭ１２を用いればよい）。また、第二メモリとして、例えばＣＰＵ１０内のＲＡＭを採用することもでき、この場合、外部からのアクセスを困難にすることでセキュリティ性を高めることができる。
【００２５】
ＣＰＵ１０には、センサー回路１３を介してセンサー１４が接続されており、搬送路内を移動するカード位置を検出する。また、Ｒ／Ｗ回路１５を介してヘッド１６が接続されており、搬送路内に挿入されたカードの磁気情報を読み取ったり、そのカードに磁気情報を書き込んだりする。なお、ヘッド１６及びＲ／Ｗ回路１５は、カード表面の磁気ストライプに接触・摺動することによって、磁気情報の記録又は再生を行う。Ｒ／Ｗ回路１５には、ヘッド１６によって検出された磁気情報を復調する復調回路などが含まれている。
【００２６】
また、ＣＰＵ１０には、モータ駆動回路１７を介してモータ１８が接続されており、搬送路に挿入されたカードを所定の位置まで移動させることができる。このときＣＰＵ１０は、上述したセンサー回路１３からの検出信号に基づいて、モータ駆動回路１７に各種コマンドを送信し、モータ１８の回転を制御して、カードを所望の位置まで移動させる。
【００２７】
次に、カードリーダ１で用いられるプログラムの構成について説明する。図２に示すように、ＣＰＵ１０内の内蔵ＲＯＭには、初期化処理のプログラムや、実行プログラムをコピーするプログラムなどが格納されている。また、外部ＲＯＭ１１には、実行プログラム本体や設定データなど（作業データの一例）が格納されている。これらは、製品製造時に予め格納しておくことができる。ただし、セキュリティを確保する観点から、外部ＲＯＭ１１に格納される実行プログラムや設定データは、暗号化されている。ＣＰＵ１０は、カードリーダ１の動作時に、外部ＲＯＭ１１から実行プログラムを読み出して、外部ＲＡＭ１２上で復号化した後、これを実行される。実行プログラムが外部ＲＡＭ１２上で実行されることにより、処理速度を速くすることができる。
【００２８】
外部ＲＡＭ１２は、上述したように、実行プログラム等がコピーされ、実際に動作するエリア（記憶領域）として機能するとともに、ＣＰＵ１０のワーキングエリアとしても機能する。
【００２９】
ここで、実行プログラムが外部ＲＡＭ１２上で実行される場合、外部ＲＡＭ１２はリード／ライト可能であるため、次のような影響でデータが破壊される虞がある。例えば、外部ＲＡＭ１２としてＳ−ＲＡＭを採用している場合、ソフトエラーの問題により、外部ＲＡＭ１２のデータは確率的に壊れる可能性がある。ここでいうソフトエラーとは、Ｓ−ＲＡＭ内のメモリセルが反転しても、電源の再投入やリセットにより復旧する一過性の誤動作をいう。このソフトエラーが生ずる原因としては、静電気、電源／信号線のノイズ、又は放射線等があるが、よく問題となるのは放射線である。主な放射線としては、デバイスのパッケージ材料や配線材料に微量に含まれるウラン（Ｕ）やトリウム（Ｔｈ）などの原子核の崩壊過程で放出されるα粒子であったり、地上に到達する宇宙線（主に中性子）であったりする。その他、外部環境からのノイズや静電気、電源電圧の低下や遮断などによって、外部ＲＡＭ１２条のデータが破壊され、値が変わってしまう可能性もある。
【００３０】
一方で、このような様々な要因により外部ＲＡＭ１２上のデータが破壊されてしまった場合であっても、実行プログラム等の外部ＲＡＭ上のデータは、カードリーダ１の起動時に一度外部ＲＡＭ１２へ展開されると、それ以後の動作中に頻繁に変更はされないような構成の場合、データが破壊されると、その悪影響が拡大していく虞がある。
【００３１】
そこで、本実施形態に係るカードリーダ１では、データ破壊の影響を最小限にするために、外部ＲＡＭ１２上の実行プログラムを、カードリーダ１が起動された後も、正しいデータへと更新する処理を行うようにしている。なお、外部ＲＡＭ１２上の実行プログラム中の復旧処理部分が壊れてしまって、全く動作できない状態になってしまった場合には、正常動作への復旧は困難である。しかし、逆に、一部のデータが壊れているものの通常の動作を実行できるとなると、大きな問題が発生する。図３を用いて具体的に説明する。
【００３２】
図３は、一部のデータは壊れているが通常の動作を実行できる具体例を示す図である。図３に示すように、処理実行（ステップＳ１）により、処理Ａ（ステップＳ２）と処理Ｂ（ステップＳ３）と処理Ｃ（ステップＳ４）とのいずれかが実行されるとする。そして、処理Ｃの一部は壊れてしまっているとする（図中の×印）。このような状態で、ＣＰＵ１０により処理Ｃが実行されると、処理結果を誤ったり、誤ったエラーコードを発生させたりする。しかし、その後、ステップＳ２又はステップＳ３の処理が続けば、これら処理結果の誤りやエラーコードの問題を外部から認識するのは難しい。すなわち、一部のデータは壊れているにも拘わらず、カードリーダ１は一見正常に動作しているように見える（カードリーダ１が全く動かなくなれば、外部から認識することができる）。
【００３３】
図４は、本発明の実施の形態に係るメモリのデータ更新方法を説明するためのフローチャートである。図５は、実行プログラム（プログラムデータ）を更新するタイミングについて説明するための説明図である。
【００３４】
図４（ａ）において、まず、カードリーダ１の電源がＯＮされる、或いは、ＣＰＵ１０がリセットされると、初期化処理が行われる（ステップＳ１１）。具体的には、ＣＰＵ１０は、自己に内蔵のＲＯＭから初期化プログラムを読み出して、これを実行する。その結果、ＣＰＵ１０は初期化される。
【００３５】
次に、ＣＰＵ１０は、外部ＲＯＭ１１からプログラムデータを読み出し、外部ＲＡＭ１２へコピーする（ステップＳ１２）。コピーされるプログラムデータは、所定のデータ数（プログラムが処理可能なサイズであって、本実施形態では２５６バイトとする）である。なお、この際プログラムデータの復号も行われる。このような処理を繰り返すことによって、必要なプログラムデータの全てが外部ＲＡＭ１２にコピーされる。
【００３６】
次に、ＣＰＵ１０は、外部ＲＡＭ１２上のプログラムを実行して（ステップＳ１３）、カードリーダ１の初期化（ステップＳ１４）を行う。これにより、カードリーダ１は通常の動作を開始する。通常の動作時は、ＣＰＵ１０は、上位装置２０からコマンドを受信したか否かを監視する（ステップＳ１５）。コマンドを受信すれば（ステップＳ１５：受信あり）、そのコマンドを実行する（ステップＳ１６）。なお、図中の点線枠は、カードリーダ１本来の動作部分を示す。
【００３７】
一方で、コマンドを受信していなければ（ステップＳ１５：受信なし）、プログラムデータの更新を行う（ステップＳ１７）。このステップＳ１７の処理については、図４（ｂ）を用いて詳述する。
【００３８】
図４（ｂ）に示すように、まず、ＣＰＵ１０は、アドレス更新を行う記憶領域を特定した後（ステップＳ２１）、外部ＲＯＭ１１より２５６バイトのプログラムデータを読み出す（ステップＳ２２）。そして、そのデータを復号化した後（ステップＳ２３）、復号されたデータを外部ＲＡＭ１２へとコピーする（ステップＳ２４）。最後に、更新した外部ＲＡＭ１２のアドレスを保管しておき（ステップＳ２５）、次にアドレス更新を行う記憶領域を特定する際（ステップＳ２１の処理）に用いる。
【００３９】
このようにして、図４（ｂ）の更新処理は終了するが、図４（ａ）に示すように、上位装置２０からコマンドを受信していない待機状態が続く限り、プログラムデータの更新処理は継続する（再びステップＳ１５へ）。プログラムデータの更新処理が待機状態に行われることで、コマンド実行処理時間が延びてしまう弊害を防ぐ（カードリーダ１の動作への悪影響を小さくする）ことができる。
【００４０】
また、コマンド受信した場合に（ステップＳ１５：受信あり）、速やかにコマンド実行へ移ることができるように、プログラム更新は全体を一括して行うのではなく、小さいサイズ（本実施形態では２５６バイト）に分割して行っている。具体的には、図５に示すように、２５６バイトごとに分割された各ブロックデータを更新している最中、上位装置２０からコマンドを受信したとき、現在更新中のブロックデータ（ブロックｎ）の更新が終了すると直ちに、そのコマンドが実行される。２５６バイトの１ブロックデータの処理時間は数ｍｓｅｃなので、コマンドを受信してからコマンド実行開始までの間に遅延が発生するが、これはシステム全体に大きな悪影響を与えないレベルである。このようにして、ブロックデータごとのプログラムデータの更新処理時間（また、コマンドを受信してコマンド実行に移るまでの時間）を短くすることができる。なお、作業データ（プログラムデータ）をどの程度まで分割するかは、カードリーダ１が設置される環境に応じて最適に選定すればよい。
【００４１】
また、図５に示すように、最終ブロックデータのデータ更新が終了すると、再びブロック１のブロックデータから更新処理が行われる。このように、本実施形態では、プログラムデータの更新が複数回実行されるようにしている。特に、カードリーダ１が待機状態である限り、外部ＲＡＭ１２のプログラムデータを更新し続けるようにしている。これにより、カードリーダ１の待機処理（カード監視処理等）中に、データにエラーが生じたとしても、自動的にデータ復旧することができる。
【００４２】
また、作業データの更新は、カードリーダ１が待機状態のときに、複数回実行するようにしてもよい。このようにすれば、カードリーダ１の信頼性を更に高めることができる。詳細には、例えば、複数回作業データを更新しても不具合が直らなければ、プログラム本体にバグがあることを検知することができるし、また、カードリーダ１が通常の処理を連続してＮ回実行すると不具合が発生するような場合には、通常の処理を連続してＮ回実行する前に作業データの更新が行われることで、不具合の発生回数を減らすことができる。
【００４３】
また、本実施の形態では、所定のデータ数毎に分割して更新するようにしたが、これに限定されるものではなく、例えば、（１）データ数ではなく、ある機能単位（例えば、初期化処理、カード搬送処理、磁気R/W処理というような）でデータを更新する。この場合、コマンド実行時間に影響しなければ、どのような単位で更新してもよい。さらに、（２）データは分割せず、データ全体を連続して更新する、コマンドを受信したら更新処理を直ちに中断してコマンド実行し、終了したらコマンド受信前の続きから更新処理を行う。
【００４４】
［実施形態の主な効果］
以上説明したように、本実施形態に係るカードリーダ１によれば、ＣＰＵ１０によって、カードリーダ１が待機状態のときに（図４（ａ）のステップＳ１５：受信なし）、外部ＲＯＭ１１に格納されている作業データ（本実施形態ではプログラムデータ）により、外部ＲＡＭ１２内の作業データを更新することとしているので、正誤判定処理を必要としない。より具体的には、カードリーダ１が上位装置２０からコマンドを受信するまでの間（図４（ａ）のステップＳ１５：受信なし）、ＣＰＵ２０が外部ＲＯＭ１１に格納されている作業データにより、外部ＲＡＭ１２内の作業データを更新し（図４（ｂ）参照）、カードリーダ１が上位装置２０からコマンドを受信したとき（図４（ａ）のステップＳ１５：受信あり）、そのコマンドに従って処理が実行され（図４（ａ）のステップＳ１６）、コマンド処理が終了すると、再び作業データの更新が行われるので（図４（ａ）のステップＳ１７：）、正誤判定処理を必要としない。したがって、正誤判定処理を繰り返すことに起因したメモリ消費や処理時間の増加を防ぐことができる。
【００４５】
また、作業データの更新を、カードリーダ１が待機状態のときに行うことで、本来のカードリーダ１の動作が遅延するのを防ぐことができる。この点、カードリーダ１の動作時に正誤判定処理等によってデータ復旧した場合には、その処理に時間がかかり、通常動作の遅延を招来する虞もあるが、本実施形態に係るカードリーダ１によれば、この問題を解決することができる。
【００４６】
また、正誤判定処理で異常検出されたり、所定条件が成立したりしなくても（予期せぬことが原因でプログラムデータが一部壊れてしまっても）、カードリーダ１が待機状態に遷移すれば自動的にデータが復旧していくので（図５参照）、想定外異常に対する適応力が高まり、ひいてはカードリーダ１の品質（信頼性）向上に貢献することができる。
【００４７】
さらには、カードリーダ１は待機状態であっても、上位装置２０と通信を行う場合があるが、この通信処理中にエラーが発生しても、作業データの更新をし続けることで、自動的にデータ復旧することができ、ひいてはカードリーダ１の品質向上に寄与することができる。
【産業上の利用可能性】
【００４８】
本発明に係る電子機器装置及びメモリのデータ更新方法は、電子機器装置の信頼性を高めるものとして有用である。
【図面の簡単な説明】
【００４９】
【図１】本発明の実施の形態に係るカードリーダの電気的構成を示すブロック図である。
【図２】本発明の実施の形態に係るカードリーダで用いられるプログラムの構成を示す図である。
【図３】一部のデータは壊れているが通常の動作を実行できる具体例を示す図である。
【図４】本発明の実施の形態に係るメモリのデータ更新方法を説明するためのフローチャートである。
【図５】実行プログラム（プログラムデータ）を更新するタイミングについて説明するための説明図である。
【符号の説明】
【００５０】
１  カードリーダ
１０  ＣＰＵ
１１  外部ＲＯＭ
１２  外部ＲＡＭ
１３  センサー回路
１４  センサー
１５  Ｒ／Ｗ回路
１６  ヘッド
１７  モータ駆動回路
１８  モータ
１９  インターフェース回路
２０  上位装置
【図１】
2010044514.tif 000003
【図２】
2010044514.tif 000004
【図３】
2010044514.tif 000005
【図４】
2010044514.tif 000006
【図５】
2010044514.tif 000007