(57)【要約】【課題】分割ブロック単位で一括消去を行ってから書込が行われる不揮発フラッシュメモリの一括書込時間を短縮する。【解決手段】外部ツール１０５Ａと通信を行うマイクロプロセッサ１１０と、マイクロプロセッサ１１０の入出力制御プログラムが格納される不揮発フラッシュメモリ１１３Ａを備え、前記入出力制御プログラムは外部ツール１０６Ａからマイクロププロセッサ１１０と協働するバッファメモリ１１２を介して所定の書込単位量毎に順次不揮発フラッシュメモリ１１３Ａの各分割ブロックＢｉに対して書込まれる。各分割ブロックＢｉは更に、分割書込みされる第一・第二のセクタに分割され、前記バッファメモリ１１２は少なくとも３段（前段部１１２ａ・中段部１１２ｂ・後段部１１２ｃ）の先入先出デーブルを構成して、外部ツール１０５Ａからのシリアル通信に起因する転送遅れによる書込み待ちが発生しないように構成されている。【選択図】図１
2009277167.tif 000002
【特許請求の範囲】
【請求項１】
入力信号回路と出力信号回路とを備え、外部ツールと通信を行うマイクロプロセッサと、前記入力信号回路の信号状態に応動して前記出力信号回路に制御出力信号を送出するための入出力制御プログラムが格納され、複数の分割ブロック単位で一括消去を行ってから前記入出力制御プログラムの書込が行われる不揮発フラッシュメモリと、前記マイクロプロセッサと協働し、前記外部ツールとの間で信号交信を行う基本プログラムが格納されているＲＯＭメモリとを備え、前記基本プログラムの内容に応動して、前記入出力制御プログラムが前記外部ツールから前記マイクロプロセッサを介して順次分割して転送書込みされるフラッシュメモリの書込装置であって、前記不揮発フラッシュメモリの各分割ブロックは更に、所定の書込単位量毎に分割して書込みが行われる少なくとも第一・第二のセクタに分割されていると共に、前記マイクロプロセッサと協働するＲＡＭメモリと少なくとも前段部・中段部・後段部を有する先入先出テーブルを構成するバッファメモリを備え、前記バッファメモリの後段部のデータが前記不揮発フラッシュメモリに書込みされると、当該後段部のデータは削除されて、前段部・中断部から詰合せ移動した新データが転送され、前記不揮発フラッシュメモリに書込みされるまでは新規到来データの削除・移動は待機され、前記前段部内にデータが格納されていないときには、前記外部ツールからの転送データは当該前段部に対して格納されるが、前記前段部から後段部までのデータが満杯であるときは、前記外部ツールからの転送データは当該前段部に対して格納待機され、前記外部ツールから順次分割転送されてきた前記入出力制御プログラムは、前記バッファメモリを介して所定の書込単位量毎に順次前記不揮発フラッシュメモリの各分割ブロックに対して書込まれ、前記外部ツールから前記バッファメモリに対するデータ転送は、不揮発フラッシュメモリに対する消去及び書込時間帯において併行実行されることを特徴とする制御装置。
【請求項２】
前記不揮発フラッシュメモリは消去/書込制御回路を備えていて、消去処理と書込処理とが同時には実行されない時分割処理方式のものであって、前記マイクロプロセッサは前記消去/書込制御回路が不揮発フラッシュメモリの今回の分割ブロックの一括消去を行っている期間、及び当該一括消去が完了して当該分割ブロックに対する今回の書込処理が実行されている期間、及び当該書込処理が完了して次回の分割ブロックの一括消去を行っている期間の複数の期間において、前記外部ツールから前記バッファメモリに対する後続の入出力制御プログラムを受信し、前記不揮発フラッシュメモリに対する一つの書込単位量の書込完了に伴って前記バッファメモリの先入データが削除されて、新たに転送されたデータが詰め合わされて有効格納されるものであることを特徴とする請求項１に記載の制御装置。
【請求項３】
前記不揮発フラッシュメモリは消去制御回路と書込制御回路を備えていて、消去処理と書込処理とが同時に実行される併行処理方式のものであって、前記マイクロプロセッサは前記消去制御回路が不揮発フラッシュメモリの今回の分割ブロックの一括消去を行っている期間において、既に一括消去された前回の分割ブロックに対して、前記書込制御回路によって前記入出力制御プログラムの今回の書込処理を併行実行すると共に、前回の一括消去期間と今回の書込処理期間と今回の一括消去期間の複数の期間において前記外部ツールから前記バッファメモリに対する後続の入出力制御プログラムを受信し、前記不揮発フラッシュメモリに対する一つの書込単位量の書込完了に伴って前記バッファメモリの先入データが削除されて、新たに転送されたデータが詰め合わされて有効格納されるものであることを特徴とする請求項１に記載の制御装置。
【請求項４】
前記ＲＯＭメモリには簡易転送処理手段となる基本プログラムが格納されていると共に、前記入出力制御プログラムは異常発生時に前記マイクロプロセッサをリセットして再起動するためのエラーリセット手段となる自己診断プログラムを包含しており、前記簡易転送処理手段は、前記外部ツールとマイクロプロセッサと不揮発フラッシュメモリとの間で前記入出力制御プログラムを転送書込みするための転送制御手段となるプログラムを、前記外部ツールから前記マイクロプロセッサを介して前記ＲＡＭメモリに転送する転送手段を含み、前記マイクロプロセッサは前記ＲＡＭメモリに格納された前記転送制御手段となるプログラムに基づいて前記入出力制御プログラムを前記不揮発フラッシュメモリへ転送書込みするものであり、前記簡易転送処理手段又は転送制御手段の一方は更に、エラーリセット禁止手段となるプログラムを包含し、当該エラーリセット禁止手段は前記転送制御の実行中において、前記入出力制御プログラムが実行されていないことに伴う前記エラーリセット手段による異常信号の発生を禁止する手段であることを特徴とする請求項１又は請求項２に記載の制御装置。
【請求項５】
前記ＲＯＭメモリには転送処理手段となる基本プログラムが格納されていると共に、前記入出力制御プログラムは異常発生時に前記マイクロプロセッサをリセットして再起動するためのエラーリセット手段となる自己診断プログラムを包含しており、前記転送処理手段は、前記外部ツールとマイクロプロセッサと不揮発フラッシュメモリとの間で前記入出力制御プログラムを転送書込みするための転送制御手段となるプログラムを包含し、前記マイクロプロセッサは前記ＲＯＭメモリに格納されている前記転送制御手段となるプログラムに基づいて前記入出力制御プログラムを前記不揮発フラッシュメモリへ転送書込みするものであり、前記転送処理手段は更に、エラーリセット禁止手段となるプログラムを包含し、当該エラーリセット禁止手段は前記転送制御の実行中において、前記入出力制御プログラムが実行されていないことに伴う前記エラーリセット手段による異常信号の発生を禁止する手段であることを特徴とする請求項１又は請求項３に記載の制御装置。
【請求項６】
前記不揮発フラッシュメモリは前記外部ツールから転送書込みされる入出力制御プログラムが保存される複数の分割ブロックと、当該分割ブロックとは異なる分割ブロックにおいて、運転中の前記マイクロプロセッサから書込みされる制御データの格納領域を備えると共に、前記不揮発フラッシュメモリには更に、製品種別を識別するための暗証番号データが格納されており、また、前記簡易転送処理手段又は転送制御手段の一方、又は前記転送処理手段は更に、転送制御許可手段となるプログラムを包含し、前記転送制御許可手段は前記外部ツールから送信された暗証番号と前記不揮発フラッシュメモリに格納されている暗証番号とが一致した場合、若しくは前記不揮発フラッシュメモリに暗証番号を新規登録又は強制書換登録した場合に前記入出力制御プログラムの転送書込みを許可する手段であり、前記外部ツールが接続されていない場合、及び接続されていても暗証番号が一致しない場合には転送制御が許可されないことを特徴とする請求項４又は請求項５に記載の制御装置。
【請求項７】
前記転送制御手段となるプログラムは更に、延滞異常検出手段と異常報知手段となるプ
ログラムを包含し、前記延滞異常検出手段は前記バッファメモリの満杯状態が第一の所定時間以上にわたって継続していることを検出する満杯異常検出手段であるか、又は前記不揮発フラッシュメモリの各セクタに対する書込所要時間が第二の所定時間以上にわたって継続していることを検出する書込遅延異常検出手段の少なくとも一方を備え、前記異常報知手段は前記延滞異常検出手段が延滞異常を検出したときに作用して前記外部ツールに対して異常報知することを特徴とする請求項４又は請求項５に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の分割ブロック単位で一括消去が行われてからデータの書込が行われる不揮発フラッシュメモリに対する書込装置、特に、書込データの保存元である外部ツールからのデータ転送時間と、フラッシュメモリの消去時間と書込時間との合計時間を短縮することができるよう改良されたフラッシュメモリの書込装置に関するものである。
【背景技術】
【０００２】
記憶内容を電気的に書換えすることが可能であって、しかも電源を切っても記憶内容が消滅しない不揮発フラッシュメモリは、例えば車載電子制御装置に内蔵されたマイクロプロセッサと協働し、当該マイクロプロセッサの入出力制御プログラムの格納手段として使用されている。
この不揮発フラッシュメモリには一つの分割ブロックに対する一括消去が完了してから、当該消去済の分割ブロックに対して新しいデータが書込まれる時分割処理方式のものと、一つの分割ブロックに対する一括消去を行いながら、既に一括消去が完了している他の分割ブロックに対して新しいデータが書込まれる併行処理方式のものとがある。
【０００３】
時分割処理方式の一例である下記の特許文献１によれば、情報処理装置から所定データ量単位で転送されてくるコンテンツデータを所定の記憶媒体の空き領域に対してブロック単位で順次書き込むことにより上記コンテンツデータを格納する書込ステップと、上記コンテンツデータに対する上記ブロック単位での書き込みが終了した後、上記記憶媒体に既に書き込まれている不要なコンテンツデータを上記ブロック単位で消去する消去ステップと、少なくとも上記消去ステップで上記不要なコンテンツデータを上記ブロック単位で消去完了する前までに上記コンテンツデータの書込終了通知を上記情報処理装置へ送信する通知ステップとを具えることを特徴とするデータ書込高速化方法が開示され、上記通知ステップでは、上記書込終了通知を上記消去とほぼ同時に上記情報処理装置へ通知することを特徴とするようになっている。
この特許文献１によれば、コンテンツデータの消去処理と書込終了通知の送信処理とをオーバーラップさせることができるので、書き込み、消去及び書込終了通知の送信までの一連の処理を短時間で実行し、情報処理装置から転送されてくるブロック単位のコンテンツデータの転送間隔を短縮化することができ、かくして情報処理装置からのコンテンツデータの転送速度を従来に比して一段と高速化し得るデータ書込高速化方法及びその電子機器を実現できると説明している。
【０００４】
併行処理方式の一例である下記の特許文献２によれば、データ書換時に消去動作が必要な書換可能不揮発性メモリを有し、前記書換可能不揮発性メモリに格納されたデータを書き換える処理をブロック単位で扱う記憶装置において、連続した複数のデータブロックを書き換えるときに、あるメモリブロックへの書込動作と並行して、次に書換えを行う他のメモリブロックの消去動作を実行するようにしたことを特徴とする記憶装置が開示されている。
この特許文献２によれば、ブロック単位で消去処理を必要とする電気的に書換可能な不揮発性メモリを記憶媒体とする記憶装置において、書換えを高速に行うことを要求される場合に、搭載するチップ数より少ないブロック数の格納バッファを用いて、搭載するチップ数と等しいブロック数のバッファを備える場合と比較してほとんど遜色ない書換性能を実現することができる。しかも、このとき、書込みが失敗しても、書込データを失うことなく、書込みが成功するまで何度でも書込処理を実行することができる。
また、消去に必要とされる時間が同じ領域にデータを書き込むための時間と比較して長いような不揮発性メモリを使用する場合において、書込処理と消去処理を効率良く実行することができ、書換処理を少ないバッファメモリで高速に実現することができると説明している。
【０００５】
【特許文献１】特開２００４−２４２１６０号公報（図３・要約）「データ書込高速化方法及びその電子機器」
【特許文献２】特開平１１−１９１２９７号公報（図４・要約）「不揮発性メモリを用いた高速書換可能な記憶装置および該記憶装置のデータ書換方法」
【発明の開示】
【発明が解決しようとする課題】
【０００６】
（１）従来技術の課題の説明
前記特許文献１による「データ書込高速化方法及びその電子機器」では、リングバッファを用いてデータの移動が行われると共に、消去期間中にも次回のデータの転送を併行処理するようになっているが、転送所要時間と消去時間と書込時間の中で最も長時間となるものを基準にしてリングバッファの移動時間を定める必要があり、例えば転送所要時間が最も長い時間である場合には、書込処理に対して待ち時間が発生する欠点がある。
また、前記特許文献２による「不揮発性メモリを用いた高速書換可能な記憶装置および該記憶装置のデータ書換方法」では、転送処理は書込処理や消去処理に対して期間重複しない構成となっていて、転送処理時間の長い用途においては全体時間が長くなる欠点がある。
【０００７】
（２）発明の目的の説明
この発明は、書込データの保存元からのデータ転送時間が比較的長時間であって、しかも不揮発フラッシュメモリの消去所要時間や書込所要時間の固体バラツキ変動と周囲温度の変化に基づく環境変動が発生しても、全分割ブロックに対する書込所要時間を最小限度に抑制することができるフラッシュメモリの書込装置を提供することである。
【課題を解決するための手段】
【０００８】
この発明による制御装置は、入力信号回路と出力信号回路とを備え、外部ツールと通信を行うマイクロプロセッサと、前記入力信号回路の信号状態に応動して前記出力信号回路に制御出力信号を送出するための入出力制御プログラムが格納され、複数の分割ブロック単位で一括消去を行ってから前記入出力制御プログラムの書込が行われる不揮発フラッシュメモリと、前記マイクロプロセッサと協働し、前記外部ツールとの間で信号交信を行う基本プログラムが格納されているＲＯＭメモリとを備え、前記基本プログラムの内容に応動して、前記入出力制御プログラムが前記外部ツールから前記マイクロプロセッサを介して順次分割して転送書込みされるフラッシュメモリの書込装置であって、前記不揮発フラッシュメモリの各分割ブロックは更に、所定の書込単位量毎に分割して書込みが行われる少なくとも第一・第二のセクタに分割されていると共に、前記マイクロプロセッサと協働するＲＡＭメモリと少なくとも前段部・中段部・後段部を有する先入先出テーブルを構成するバッファメモリを備え、前記バッファメモリの後段部のデータが前記不揮発フラッシュメモリに書込みされると、当該後段部のデータは削除されて、前段部・中断部から詰合せ移動した新データが転送され、前記不揮発フラッシュメモリに書込みされるまでは新規到来データの削除・移動は待機され、前記前段部内にデータが格納されていないときには、前記外部ツールからの転送データは当該前段部に対して格納されるが、前記前段部から後段部までのデータが満杯であるときは、前記外部ツールからの転送データは当該前段部に対して格納待機され、前記外部ツールから順次分割転送されてきた前記入出力制御プログラムは、前記バッファメモリを介して所定の書込単位量毎に順次前記不揮発フラッシュメモリの各分割ブロックに対して書込まれ、前記外部ツールから前記バッファメモリに対するデータ転送は、前記不揮発フラッシュメモリに対する消去及び書込時間帯において併行実行されるようになっている。
【発明の効果】
【０００９】
この発明による制御装置は、マイクロプロセッサと協働し、当該マイクロプロセッサの入出力制御プログラムが格納される不揮発フラッシュメモリに対するプログラムの書込装置であって、当該不揮発フラッシュメモリは一括消去される複数の分割ブロックが更に複数の書込単位領域に分割されていると共に、前記入出力制御プログラムは外部ツールから多段のバッファメモリを介して不揮発フラッシュメモリに対して順次転送書込みされ、外部ツールからバッファメモリに対するデータ転送は、不揮発フラッシュメモリに対する消去時間帯及び書込時間帯において併行実行されるようになっている。
しかも、不揮発フラッシュメモリに対する書込単位量の書込が完了する都度に、バッファメモリ内に格納されている転送データが詰め合わせて移動され、バッファメモリに空きが発生すれば新規転送データの書込み補充が行なわれるようになっている。
従って、不揮発フラッシュメモリの消去所要時間や書込所要時間にバラツキ変動があったり、外部ツールからの通信に起因する転送遅れによって、転送所要時間が書込所要時間よりも長い場合であっても、不揮発フラッシュメモリに対する書込み待ちが発生しにくく、不揮発フラッシュメモリの一括書込み所要時間が延長されにくくなる効果がある。
また、バッファメモリは転送・書込データを中継するだけであるから、その全体のデータ量は、不揮発フラッシュメモリの全体容量に比べて大幅に削減することができる特徴がある。
【発明を実施するための最良の形態】
【００１０】
発明の実施の形態１．
（１）構成の詳細な説明
以下この発明の第一実施例装置の全体ブロック図を示す図１について説明する。
図１において、フラッシュメモリの書込装置１００Ａはマイクロプロセッサ（ＣＰＵ）１１０とＲＯＭメモリ（ＭＲＯＭ）１１１ＡとＲＡＭメモリ（ＲＭＥＭ）１１２Ａと不揮発フラッシュメモリ（ＦＭＥＭ）１１３Ａを主体として構成され、実態としては例えばエンジン制御装置等の車載電子制御装置を構成していて、車載バッテリである外部電源（ＢＡＴＴ）１０１から電源スイッチ１０２を介して給電されている。
入力信号回路（ＳＥＮＳ）１０３は図示しないコネクタを介して接続された開閉センサ或いはアナログセンサと、マイクロプロセッサ１１０に対してバス接続される入力インタフェース回路とを包含している。
出力信号回路（ＬＯＡＤ）１０４は図示しないコネクタを介して接続された駆動機器或いは表示器等の電気負荷と、マイクロプロセッサ１１０に対してバス接続される出力インタフェース回路とを包含している。
外部ツール（ＥＸＴ）１０５Ａはフラッシュメモリの書込装置１００Ａの出荷調整・検査或いは保守点検時に、シリアル通信回線１０８を介してマイクロプロセッサ１１０に対して接続されるものであり、当該外部ツールは図示しないキーボード、表示器を備えた例えばパーソナルコンピュータによって構成されている。
【００１１】
外部ツール１０５ＡにはＲＡＭメモリ１１２Ａに対して転送される後述の転送制御手段３１８となる転送制御プログラム１０６Ａと、不揮発フラッシュメモリ１１３Ａへ転送される入出力制御制御プログラム１０７Ａとが予め作成されてメモリ媒体に格納されており、マイクロプロセッサ１１０はＲＡＭメモリ１１２Ａに転送された前記転送制御プログラム１０６Ａに相当する転送制御プログラム１１５Ａを用いて入出力制御プログラム１０７Ａを不揮発フラッシュメモリ１１３Ａへ転送するようになっている。
ＲＯＭメモリ１１１Ａに予め格納されている基本プログラム１１１ａは、前記転送制御プログラム１０６ＡをＲＡＭメモリ１１２Ａへ転送して転送制御プログラム１１５Ａとして格納するための後述の転送手段３１４ａとなるプログラムを包含している。
ＲＡＭメモリ１１２Ａ内に構成されたバッファメモリ１１２は少なくとも前段部１１２ａと中段部１１２ｂと後段部１１２ｃの３段の先入先出データテーブルを構成し、外部ツール１０５Ａに格納されている入出力制御プログラム１０７Ａは図示しない通信バッファメモリとマイクロプロセッサ１１０とバッファメモリ１１２とを介して不揮発フラッシュメモリ１１３Ａへ転送書込みされるようになっている。
【００１２】
不揮発フラッシュメモリ１１３Ａは複数の分割ブロックＢｉ（ｉ＝１・２・３・・・ｎ）によって構成され、各分割ブロックＢｉはブロック番号を指定することによって各ブロック単位で一括消去が行えるようになっている。
また、各分割ブロックＢｉは所定の書込単位量を有する第一・第二のセクタに分割されていて、前記バッファメモリ１１２の各段のデータ容量は不揮発フラッシュメモリ１１３Ａに対する前記書込単位量に相当するものとなっている。
消去/書込制御回路１１４Ａはマイクロプロセッサ１１０からブロック番号Ｂｉの指定と消去指令を受け取ると、指定されたブロックの一括消去を行い、消去完了フラグをマイクロプロセッサ１１０に送信すると共に、マイクロプロセッサ１１０からセクタ番号の指定と書込指令を受け取ると、バッファメモリ１１２の後段部１１２ｃのデータを読出して図示しないラッチメモリに格納し、当該ラッチメモリの内容を指定されたセクタに書込み、書込完了フラグをマイクロプロセッサ１１０に送信するようになっている。
但し、この実施形態１では消去を行った後に、当該消去ブロックに対して書込みが行われるものであって、書込みを行いながら次のブロックの消去を併行実施するものではない。
【００１３】
バッファメモリ１１２は通信バッファメモリから受け取った入出力制御プログラム１０７Ａの一部である分割データを順次前段部１１２ａ・中段部１１２ｂ・後段部１１２ｃへ詰め合わせて格納し、各段が満杯になると通信バッファメモリからの転送を禁止すると共に、消去/書込制御回路１１４Ａから書込完了フラグを受信すると書込済となった後段部１１２ｃのデータを削除してから中段部１１２ｂ・前段部１１２ａの後続データを詰合せ、前段部１１２ａに空きが生じると通信バッファメモリからの格納が許可されるようになっている。
なお、通信バッファメモリからバッファメモリ１１２への転送格納や、バッファメモリ１１２内でのデータの移動所要時間は、外部ツール１０５Ａから通信バッファメモリへのシリアルによる転送所要時間や、不揮発フラッシュメモリ１１３Ａの消去所要時間や書込所要時間に比べて無視し得るほどの短時間となっている。
また、不揮発フラッシュメモリ１１３Ａには様々な仕様のものがあり、１バイト当たりの消去・書込・転送所要時間として代表的には次のような仕様のものがある。
仕様例１：消去所要時間≒書込所要時間＜転送所要時間＜消去所要時間＋書込所要時間
仕様例２：消去所要時間＜転送所要時間＜書込所要時間＜消去所要時間＋書込所要時間
【００１４】
（２）作用・動作の詳細な説明
次に、図１のものの転送制御のタイムチャートである図２について説明するが、その詳細は図３・図４によって後述するとおりであり、図２のタイムチャートでは消去指令と書込指令の記述は省略されている。
図２（Ａ）は、外部ツール１０５Ａの転送指令を上段部に示し、この指令に対応したマイクロプロセッサ１１０の応答を下段部に示したタイムチャートとなっている。
図２（Ｂ）は、バッファメモリ１１２の前段部１１２ａ・中段部１１２ｂ・後段部１１２ｃに格納されるデータの内容を示しており、データ番号Ｄｊ（ｊ＝１・２・・・ｍ）は外部ツール１０５Ａから送信された順に付されている。
図２（Ｃ）は、不揮発フラッシュメモリ１１３Ａに対する書込データを上段部に示し、消去されるブロック番号を下段部に示したタイムチャートとなっている。
なお、この実施形態においては、図２（Ｃ）で明らかなとおり、分割ブロックＢ１が一括消去された後に第一・第二のセクタにデータＤ１・Ｄ２が書込まれ、分割ブロックＢ１に対する書込みが完了してから次の分割ブロックＢ２の一括消去が行われ、以下同様にしてデータＤ３・Ｄ４が書込まれるようになっている。
外部ツール１０５Ａからのデータの転送は絶え間なく継続しているが、バッファメモリ１１２が満杯になって、バッファメモリ１１２への格納が行われなかった場合には異常状態を表すコードを返信するＮＡＫ返信が行われ、次回の転送は前回と同じデータが再送される仕組みとなっている。
【００１５】
次に、図２を参照しながら、図１のものの転送制御の全体動作のフローチャートである図３について説明する。
図３において、工程３００は外部ツール１０５Ａ内で動作する図示しないマイクロプロセッサの書込動作の開始ステップであり、工程３１０はフラッシュメモリの書込装置１００Ａ内で動作するマイクロプロセッサ１１０の動作開始ステップであり、この時点におけるマイクロプロセッサ１１０はＲＯＭメモリ１１１Ａに格納されている基本プログラム１１１ａに基づいて動作するようになっている。
工程３００に続いて動作する工程３０１は、オペレータの操作によって新規書込又は書込済のデータの書換、或いは単なる消去のみなどの書換消去指令と、対象となるフラッシュメモリの書込装置１００Ａの種別に応じたパスワードを送信してから工程３０３へ移行するステップであり、図２（Ａ）の左端で「操作開始」と表示されている部分に相当している。
工程３１０に続いて動作する工程３１１は、工程３０１によって送信された書換消去指令とパスワードを受信するステップ、続く工程３１２ａは不揮発フラッシュメモリ１１３Ａの特定アドレスに対して既にパスワードが登録されているかどうかを判定し、登録済であればＹＥＳの判定を行って工程３１３ａへ移行し、未登録であることを示す所定値であればＮＯの判定を行って工程３１２ｂへ移行する判定ステップとなっている。
【００１６】
工程３１２ｂは工程３１１で受信したパスワードを新規登録してから工程３１３ｃへ移行するステップ、工程３１３ａは工程３１１で受信したパスワードと既に登録されているパスワードとを比較して、比較一致であればＹＥＳの判定を行って工程３１３ｃへ移行し、比較不一致であればＮＯの判定を行って工程３１３ｂへ移行する判定ステップである。
工程３１３ｂは異常状態を表す通信コードであるＮＡＫコードを返信して、続く工程３１５において新たなパスワードの受信待機を行なうステップであり、工程３１３ｃは正常状態を表す通信コードであるＡＣＫコードを返信して、続く工程３１４ａにおいて転送プログラムの受信を待機するステップである。
なお、工程３１３ｃは図２（Ａ）の下段の左端で示された「応答」に相当している。
工程３０３は工程３１３ｃで返信されたＡＣＫコードを受信したときにはＹＥＳの判定を行って工程３０４ａへ移行し、工程３１３ｂで返信されたＮＡＫコードを受信したときにはＮＯの判定を行って程３０５ａへ移行する判定ステップである。
工程３０５ａはパスワードを強制変更するかどうかをオペレータが判断して、強制変更指令ボタンが押されるとＹＥＳの判定を行って工程３０５ｂへ移行し、強制変更を行わないときにはＮＯの判定となって工程３０７へ移行する判定ステップである。
【００１７】
工程３０５ｂはオペレータによって入力された新たなパスワードが送信されるステップであり、この送信パスワードは工程３１５によって受信・登録され、確認返信が行われるようになっている。
工程３０５ｂに続く工程３０６は、工程３１５による確認返信を受信したかどうかを判定し、登録未完了であればＮＯの判定を行って工程３０７へ移行し、登録完了であればＹＥＳの判定を行って工程３０１へ復帰する判定ステップとなっている。
工程３１５に続く工程３１６は工程３１５において新たなパスワードが登録されたかどうかを判定し、登録済であればＹＥＳの判定を行って工程３１１へ復帰し、未登録であればＮＯの判定を行って工程３１７へ移行する判定ステップであり、工程３１７では異常報告を返信して動作終了工程３１９へ移行するようになっている。
工程３０７では工程３０６の判定がＮＯであるか、後述の工程３０４ｂの判定がＮＯであるか、又は工程３１７による異常報告を受信したときに異常報知を行ない、動作終了工程３０９へ移行するステップとなっている。
【００１８】
既存パスワード又は工程３０５ｂによって送信された更新パスワードが、工程３０１で送信された照合パスワードと一致したとき、又は工程３１２ｂによって新規パスワードが登録されたときにＹＥＳの判定を行う工程３０３に続く工程３０４ａは、外部ツール１０５Ａに予め格納されている転送制御プログラム１０６ＡをＲＡＭメモリ１１２Ａへ送信するステップである。
工程３１４ａは工程３０４ａで送信された転送制御プログラム１０６ＡをＲＡＭメモリ１１２Ａ内に格納するための転送手段となるステップであり、後述する工程ブロック３１８についてはマイクロプロセッサ１１０はＲＡＭメモリ１１２Ａに格納された上記転送制御プログラム１０６Ａそのものである転送制御プログラム１１５Ａに基づいて動作するようになっている。
工程３１４ａに続いて動作する工程３１４ｂはエラーリセット禁止手段となるステップであり、当該エラーリセット禁止手段３１４ｂは、入出力制御プログラム１０７Ａが不揮発フラッシュメモリ１１３Ａに転送される工程ブロック３１８の実行中において、入出力制御プログラムが実行されていないことに伴ってマイクロプロセッサ１１０が発生するエラーリセット手段による異常信号の発生を禁止する手段となっている。
【００１９】
工程３１４ｂに続いて動作する工程３１４ｃは転送制御許可手段となるステップであり、当該転送制御許可手段３１４ｃは外部ツール１０５Ａから送信された暗証番号と不揮発フラッシュメモリ１１３Ａに格納されている暗証番号とが一致した場合、若しくは不揮発フラッシュメモリ１１３Ａに暗証番号を新規登録又は強制書換登録した場合に入出力制御プログラム１０７Ａの転送書込みを許可する手段であり、前記外部ツール１０５Ａが接続されていない場合、及び接続されていても暗証番号が一致しない場合には転送制御が許可されないようになっている。
なお、パスワードの強制書換操作は工程３０５ａにおける確認操作による代わりに、一旦は不揮発フラッシュメモリ１１３Ａの内容を全て一括消去したうえで新たなパスワードを再登録するようにすることもできる。
【００２０】
また、不揮発フラッシュメモリ１１３Ａは外部ツール１０５Ａから転送書込みされる入出力制御プログラムが保存される複数の分割ブロックと、当該分割ブロックとは異なる分割ブロックにおいて、運転中のマイクロプロセッサ１１０から書込みされる制御データの格納領域を備えていて、前記転送制御許可手段３１４ｃが転送を許可又は禁止するのは入出力制御プログラムの格納領域に限定されている。
従って、制御データの格納領域については外部ツール１０５Ａが接続されていないマイクロプロセッサ１１０の単独運転中であっても、マイクロプロセッサ１１０による書換が可能となるものである。
逆に、外部ツール１０５Ａが接続されている状態で、制御データの格納領域に格納されている学習記憶データが誤って書換・削除されないようにするために、この領域のデータの扱いは慎重な確認操作を行ってから有効となるような煩雑操作を行うようになっている。
【００２１】
工程３１４ｃに続いて実行される工程３１４ｄは、書込・書換の準備が完了したことを報告返信してから図４で詳述する転送制御手段となる工程ブロック３１８へ移行するステップである。
工程３０４ａに続いて実行される工程３０４ｂは工程３１４ｄによる報告返信を受信したかどうかを判定し、所定時間を待っても正常受信できない場合にはＮＯの判定を行って工程３０７へ移行し、正常受信すればＹＥＳの判定を行って工程ブロック３０８へ移行するようになっている。
なお、工程３０４ａは図２（Ａ）上段の左部分に記載された「準備開始」に相当し、これに対応した下段部の「準備完了」が工程３１４ｄによる準備完了返信に相当している。
また、工程３１１から工程３１７に至る工程ブロック３２０は簡易転送手段となるプログラムであって、このプログラムはＲＯＭメモリ１１１Ａ内の基本プログラム１１１ａとして格納されている。
しかし、後述の工程ブロック３１８は工程３１４ａによってＲＡＭメモリ１１２Ａに格納された転送制御プログラムに基づいて実行されるものとなっている。
但し、工程３１４ｂと工程３１４ｃは工程ブロック３１８の中で実行するようにしてもよい。
また、転送制御プログラム１０６Ａを予めＲＯＭメモリ１１１Ａ内の基本プログラム１１１ａに格納しておけば、工程３０４ａと工程３１４ａによるＲＡＭメモリ１１２Ａへの転送を行なう必要がなく、マイクロプロセッサ１１０はＲＯＭメモリ１１１Ａの内容に基づいて転送制御を実行することができる。
【００２２】
次に、図２を参照しながら、図３のものの転送制御の主要部である工程ブロック３０８及び３１８の詳細について説明用概略フローチャートである図４を用いて説明する。
図４において、工程４００は図３の工程ブロック３０８の動作開始ステップ、工程４１０は図３の工程ブロック３１８の動作開始ステップ、工程４０９は図３の工程ブロック３０８の動作終了ステップ、工程４１９は図３の工程ブロック３１８の動作終了ステップであり、工程４０９に続いて図３の動作終了工程３０９へ移行し、工程４１９に続いて図３の動作終了工程３１９へ移行するようになっている。
なお、工程４０１ａから工程４０８に至る一連の工程ブロックと、工程４１１ａから工程４１８に至る一連の工程ブロックとは、相互に関連する工程において同期して遷移するよう連携動作するようになっている。
工程４００に続いて実行される工程４０１ａは外部ツール１０５Ａがブロック番号Ｂiを指定して消去指令を送信して工程４０１ｂへ移行するステップ、工程４１０に続いて実行される工程４１１ａはマイクロプロセッサ１１０がブロック番号Ｂｉに対する消去指令を受信するステップ、続く工程４１１ｂは確認返信を行うステップ、続く工程４１１ｃは消去/書込制御回路１１４Ａに対して消去指令を受け渡してから直ちに工程４１２へ移行するステップとなっている。
工程４０１ｂは工程４１１ｂによる正常な確認返信を受信してから工程４０２へ移行するステップであり、工程４１１ｂから正常な確認返信が得られないときには再送処理を行い、それでも異常であれば異常報知が行なわれるようになっている。
【００２３】
工程４２１は工程４１１ｃで発生した消去指令に基づいて消去/書込制御回路１１４Ａが指定ブロックの消去を開始するステップ、工程４２２は消去/書込制御回路１１４Ａが指定ブロック消去を完了して消去完了フラグを発生するステップとなっており、これが図２（Ｃ）のタイムチャートにおける「Ｂ１消去」に相当している。
工程４０２は、外部ツール１０５Ａに格納されている入出力制御プログラム１０７Ａを所定の書込単位量に分割して、分割単位の一つ分である分割データを送信して工程４０３ｄへ移行するステップであり、工程４０２は後述の工程を循環しながら略定期的に何度も繰返して実行され、順次入出力制御プログラム１０７Ａが分割転送されるようになっている。
工程４１２は工程４０２で送信された分割データＤ1がバッファメモリ１１２の更に前段階に設けられた図示しない通信バッファメモリに受信格納されてから工程４１３ａへ移行するステップであり、工程４１２では前回の受信時刻と今回の受信時刻の間隔が過大であると図示しないルーチンによって通信異常の報告が行われるようになっている。
【００２４】
工程４１３ａはバッファメモリ１１２の前段部１１２ａ・中段部１１２ｂ・後段部１１２ｃに対してすべて分割データが書込済であるかどうかを判定し、満杯であればＹＥＳの判定を行って工程４１３ｄへ移行し、満杯でなければＮＯの判定を行って工程４１３ｂへ移行する判定ステップである。
工程４１３ｂはバッファメモリ１１２内の分割データを移動詰合せしながら工程４１２で受信した新たな分割データを前段部１１２ａに格納してから工程４１３ｃへ移行するステップであるが、この工程４１３ｂでは後段部１１２ｃに格納されている分割データが排出されることは無い。
工程４１３ｃはＡＣＫコードを送信してから工程４１３ｆへ移行するステップである。
工程４１３ｆは書込み制御の開始に当たって、バッファメモリ１１２を一先ず満杯にしておくための初回溜込が完了したかどうかを判定して、未完了であればＮＯの判定を行って工程４１２へ復帰し、完了であればＹＥＳの判定を行って工程４１４ａへ移行する判定ステップである。
工程４１３ｄは工程４１３ａによる満杯状態が第一の所定時間以上にわたって継続していないかどうかを判定し、時間超過であればＹＥＳの判定を行って工程４１７へ移行し、未超過であればＮＯの判定を行って工程４１３ｅへ移行する満杯異常検出手段となるステップ、工程４１３ｅはＮＡＫコードを送信してから工程４１４ａへ移行するステップであり、満杯異常検出手段４１３ｄと後述の書込遅延異常検出手段４１６ｂは総称して延滞異常検出手段となっている。
【００２５】
工程４０３ｄは工程４１３ｃによって返信されたＡＣＫコードを受信したときにＹＥＳの判定を行って工程４０３ｆへ移行し、工程４１３ｅによって返信されたＮＡＫコードを受信したときにＮＯの判定を行って工程４０２へ復帰するステップであり、ＮＡＫコードを受信した場合には工程４０２では前回送信したものと同じ分割データを再送するようになっている。
その結果、バッファメモリ１１２が満杯であって、工程４１２で受信した分割データが無効となっている状態であっても引き続いて再送データを送信することによって通信間隔異常が発生しないようになっている。
工程４０３ｆは書込み制御の開始に当たって、バッファメモリ１１２を一先ず満杯にしておくための初回溜込が完了したかどうかを判定して、未完了であればＮＯの判定を行って工程４０２へ復帰し、完了であればＹＥＳの判定を行って工程４０５へ移行する判定ステップであり、工程４０３ｆから工程４０２へ復帰した場合には、工程４０２は後続の新たな分割データが送信されるようになっている。
工程４１４ａは工程４２２によって消去/書込制御回路１１４Ａが消去完了フラグを発生したかどうかを判定し、消去完了であればＹＥＳの判定を行って工程４１５ａへ移行し、消去未完了であればＮＯの判定を行って工程４１６ｂへ移行する判定ステップである。
工程４１５ａは消去/書込制御回路１１４Ａに対して書込指令を受け渡してから、直ちに工程４１５ｂへ移行するステップとなっている。
工程４２３は工程４１５ａで発生した書込指令に基づいて消去/書込制御回路１１４Ａが最初のセクタに対する分割データの書込みを開始するステップ、工程４２４は消去/書込制御回路１１４Ａが最初のセクタに対する書込を完了してセクタ書込完了フラグを発生するステップとなっており、これが図２（Ｃ）のタイムチャートにおける「書込Ｄ１」に相当している。
【００２６】
工程４１５ｂは工程４２４によって消去/書込制御回路１１４Ａがセクタ書込完了フラグを発生したかどうかを判定し、書込完了であればＹＥＳの判定を行って工程４１５ｃへ移行し、書込未完了であればＮＯの判定を行って工程４１６ｂへ移行する判定ステップである。
工程４１５ｃは後段部１１２ｃの分割データを削除して前段部１１２ａ・中段部１１２ｂの分割データを順次詰合せすると共に、詰合完了状態を確認返信し、また消去/書込制御回路１１４Ａの書込完了フラグをリセットしてから工程４１６ａへ移行するステップである。
工程４０５は工程４１５ｂによる詰合完了信号を受信したかどうかを判定し、後段部１１２ｃのデータを削除した上でバッファメモリ１１２内の分割データが詰合せされた場合にはＹＥＳの判定を行って工程４０６へ移行し、詰合せ未完了の場合にはＮＯの判定を行って工程４０２へ復帰するステップであり、この場合には工程４０２では前回送信したものと同じ分割データを再送するようになっている。
【００２７】
工程４０６は、工程４０５がＹＥＳとなる回数を計数することによって、工程４０１ａで指定された消去ブロックの中の全てのセクタに対する書込が完了したかどうかを判定し、ブロック内書込完了であればＹＥＳの判定を行って工程４０８へ移行し、書込み未完了であればＮＯの判定を行って工程４０７へ移行するステップである。
工程４０７は後述の工程４１７による異常報告を受信したかどうかを判定し、異常受信であればＹＥＳの判定を行って工程４０９へ移行し、異常受信していなければＮＯの判定を行って工程４０２へ復帰するステップであり、この場合工程４０２では新たな後続データが送信されるようになっている。
工程４０８は全ブロックの書込みが完了したかどうかを判定して、未完了であればＮＯの判定を行って工程４０１ａへ復帰し、完了であればＹＥＳの判定を行って工程４０９へ移行するステップとなっている。
【００２８】
工程４１６ａは、工程４１５ｂがＹＥＳとなる回数を計数することによって、工程４１１ａで指定された消去ブロックの中の全てのセクタに対する書込が完了したかどうかを判定し、ブロック内書込完了であればＹＥＳの判定を行って工程４１６ｃへ移行し、書込み未完了であればＮＯの判定を行って工程４１５ａへ復帰するステップである。
工程４１６ｂは工程４１１ｃによる消去指令発生時点から工程４１４ａが消去完了フラグを受信判定するまでの消去実時間と、工程４１５ａによる書込指令発生時点から工程４１５ｂが書込完了フラグを受信判定するまでの書込実時間とが、それぞれに定められた消去所要上限時間、１セクタの書込所要上限時間である第二の所定時間を超過したかどうかを判定し、制限時間超過であればＹＥＳの判定を行って工程４１７へ移行し、制限時間未超過であればＮＯの判定を行って工程４１２へ復帰する書込遅延異常検出手段となる判定ステップである。
工程４１６ｃは消去/書込制御回路１１４Ａの消去完了フラグをリセットしてから工程４１８へ移行するステップである。
工程４１７は工程４１３ｄと工程４１６ｂとがＹＥＳの判定を行って、第一・第二の所定時間を超過したときに異常発生情報を返信してから工程４１９へ移行する異常報知手段となるステップである。
なお、フラッシュメモリの書込装置１００Ａ側に異常表示・警報機器がある場合には、工程４１７では当該異常表示・警報機器を駆動するための警報信号を発生するようになっている。
【００２９】
以上の制御フローを概括説明すると、工程４０１ａ〜工程４０８は繰り返して循環動作を行っており、その中で工程４０２は多数バイトのデータを転送するために所定の実行時間を必要とするが、他の工程は内部のクロック信号に応動して工程４１１ａ〜工程４１８と連携しながら高速で順次移行するステップとなっている。
工程４０２による分割データの送信は、図２（Ａ）のタイムチャートでは上段の「転送Ｄ１」「転送Ｄ２」・・・「転送Ｄ６」などで示されている。
工程４０３ｄや工程４０５から工程４０２へ復帰したときには、バッファメモリ１１２が満杯状態となっていて、バッファメモリ１１２に対して有効格納されないていない状態であるため、工程４０２では前回送信した分割データを再度送信することによって定期通信間隔異常の発生を防止するようになっている。
これに対し、工程４０３ｆや工程４０７から工程４０２へ復帰した場合には、バッファメモリ１１２の前段部１１２ａに空きがあるので、新たな後続データが送信されるようになっている。
また、一つの分割ブロックＢｉに対する書込みが完了する都度に工程４０１ａによって、次回の分割ブロックＢｉ＋１に対する一括消去が行われるようになっている。
【００３０】
工程４１１ａ〜工程４１８も同様に繰り返して循環動作を行っており、その中で工程４１２は多数バイトのデータを受信するために所定の実行時間を必要とするが、他の工程は内部のクロック信号に応動して高速で順次移行するステップとなっている。
例えば、工程４１１ｃでは消去/書込制御回路１１４Ａに対して消去指令を与えておけば、時間のかかる消去動作は消去/書込制御回路１１４Ａ側で実行され、やがて消去完了フラグが発生するので、マイクロプロセッサ１１０はこのフラグの発生を工程４１４ａで確認すればよいようになっている。
同様に、工程４１５ａでは消去/書込制御回路１１４Ａに対して書込指令を与えておけば、時間のかかる書込動作は消去/書込制御回路１１４Ａ側で実行され、やがて書込完了フラグが発生するので、マイクロプロセッサ１１０はこのフラグの発生を工程４１５ｂで確認すればよいようになっている。
初回動作でバッファメモリ１１２が満杯になるまでは、工程４１２・工程４１３ａ・工程４１３ｂ・工程４１３ｃ・工程４１３ｆを循環するループでバッファメモリ１１２に対する溜込が行われ、その後は工程４１５ｃによる後段部１１２ｃの削除・詰合せが行われる都度バッファメモリ１１２に対する補充が随時行われるようになっている。
【００３１】
不揮発フラッシュメモリ１１３Ａの指定された分割ブロックＢｉに対する消去が実行されている期間においては、工程４１２・工程４１４ａ・工程４１６ｂを通過する循環ループが実行される。
消去が完了すると工程４１２・工程４１４ａ・工程４１５ａ・工程４１５ｂ・工程４１６ｂを通過する循環ループが実行される。
一つのセクタに対する書込みが完了した時点では、工程４１６ａから工程４１５ａへ復帰することによって、続くセクタに対する書込みが実施される。
一つの分割ブロックＢｉに対する書込みが完了すると工程４１６ａがＹＥＳの判定を行ってこの循環ループを脱出し、工程４１６ｃ・工程４１８を経由して工程４１１ａへ復帰して、新たな分割ブロックＢｉ＋１に対する循環動作が開始するようになっている。
従って、消去と書込とは同時には実行されないが、データの転送処理は消去期間中及び書込期間中の常時に実行され、バッファメモリ１１２に空きがあればいつでも有効となるように構成されている。
【００３２】
（３）要点及び特徴
以上の説明で明らかなとおり、この発明の実施形態１によるフラッシュメモリの書込装置は、入力信号回路１０３と出力信号回路１０４とを備え,外部ツール１０５Ａをシリアル接続することができるマイクロプロセッサ１１０と、前記入力信号回路１０３の信号状態に応動して前記出力信号回路１０４に制御出力信号を送出するための入出力制御プログラムが格納され、複数の分割ブロック単位で一括消去を行ってから前記入出力制御プログラムの書込が行われる不揮発フラッシュメモリ１１３Ａと、前記マイクロプロセッサ１１０と協働し、前記外部ツール１０５Ａとの間で信号交信を行う基本プログラム１１１ａが格納されているＲＯＭメモリ１１１Ａとを備え、前記基本プログラム１１１ａの内容に応動して、前記入出力制御プログラムが前記外部ツール１０５Ａから前記マイクロプロセッサ１１０を介して順次分割して転送書込みされるフラッシュメモリの書込装置１００Ａであって、前記不揮発フラッシュメモリ１１３Ａの各分割ブロックＢｉ（ｎ＝１、２、・・ｎ）は更に、所定の書込単位量毎に分割して書込みが行われる少なくとも第一・第二のセクタに分割されていると共に、前記マイクロプロセッサ１１０と協働するＲＡＭメモリ１１２Ａとバッファメモリ１１２を備えている。
【００３３】
前記バッファメモリ１１２は少なくとも３段階の先入先出テーブルを構成し、前段部１１２ａ・中段部１１２ｂ・後段部１１２ｃの各段が前記書込単位量に相当するデータ量を有しており、前記後段部１１２ｃのデータが前記不揮発フラッシュメモリ１１３Ａに書込みされると、当該後段部１１２ｃのデータは削除されて、前段部１１２ａ・中段部１１２ｂから詰合せ移動した新データが転送され、前記不揮発フラッシュメモリ１１３Ａに書込みされるまでは新規到来データの削除・移動は待機され、前記前段部１１２ａ内にデータが格納されていないときには、前記外部ツール１０５Ａからの転送データは当該前段部１１２ａに対して格納されるが、前記前段部１１２ａから後段部１１２ｃまでのデータが満杯であるときは、前記外部ツール１０５Ａからの転送データは当該前段部１１２ａに対して格納待機され、前記外部ツール１０５Ａから順次分割転送されてきた前記入出力制御プログラムは、前記バッファメモリ１１２を介して所定の書込単位量毎に順次前記不揮発フラッシュメモリ１１３Ａの各分割ブロックＢiに対して書込まれ、前記外部ツール１０５Ａから前記バッファメモリ１１２に対するデータ転送は、前記不揮発フラッシュメモリ１１３Ａに対する消去及び書込時間帯において併行実行されるようになっている。
【００３４】
この発明の請求項３に関連して、
前記不揮発フラッシュメモリ１１３Ａは消去/書込制御回路１１４Ａを備えていて、消去処理と書込処理とが同時には実行されない時分割処理方式のものであって、前記マイクロプロセッサ１１０は前記消去/書込制御回路１１４Ａが不揮発フラッシュメモリ１１３Ａの今回の分割ブロックＢｉの一括消去を行っている期間、及び当該一括消去が完了して当該分割ブロックＢｉに対する今回の書込処理が実行されている期間、及び当該書込処理が完了して次回の分割ブロックＢｉ＋１の一括消去を行っている期間の複数の期間において、前記外部ツール１０５Ａから前記バッファメモリ１１２に対する後続の入出力制御プログラムを受信し、前記不揮発フラッシュメモリ１１３Ａに対する一つの書込単位量の書込完了に伴って前記バッファメモリ１１２の先入データが削除されて、新たに転送されたデータが詰め合わされて有効格納されるようになっている。
以上のとおり、不揮発フラッシュメモリは消去/書込制御回路を備え、消去処理と書込処理とが同時には実行されない時分割処理方式のものとなっていて、外部ツールからバッファメモリに対する制御プログラムの転送は、不揮発フラッシュメモリの消去期間及び書込処理期間において併行実行されるようになっている。
従って、消去/書込制御回路は同時に消去動作と書込動作を行う必要がないので、内部構成が単純化されると共に、転送処理が書込期間と消去期間において併行されているので、転送所要時間≦（書込所要時間＋消去所要時間）の関係にある場合には転送待ちによる書込み遅れが発生しない特徴がある。
【００３５】
この発明の請求項５に関連して、
前記ＲＯＭメモリ１１１Ａには簡易転送処理手段３２０となる基本プログラム１１１ａが格納接続されていると共に、前記入出力制御プログラムは異常発生時に前記マイクロプロセッサ１１０をリセットして再起動するためのエラーリセット手段となる自己診断プログラムを包含している。
前記簡易転送処理手段３２０は、前記外部ツール１０５Ａとマイクロプロセッサ１１０と不揮発フラッシュメモリ１１３Ａとの間で前記入出力制御プログラムを転送書込みするための転送制御手段３１８となるプログラムを、前記外部ツール１０５Ａから前記マイクロプロセッサ１１０を介して前記ＲＡＭメモリ１１２Ａに転送する転送手段３１４ａを含み、前記マイクロプロセッサ１１０は前記ＲＡＭメモリ１１２Ａに格納された前記転送制御手段３１８となるプログラムに基づいて前記入出力制御プログラムを前記不揮発フラッシュメモリ１１３Ａへ転送書込みするものであり、前記簡易転送処理手段３２０又は転送制御手段３１８の一方は更に、エラーリセット禁止手段３１４ｂとなるプログラムを包含し、当該エラーリセット禁止手段３１４ｂは前記転送制御の実行中において、前記入出力制御プログラムが実行されていないことに伴う前記エラーリセット手段による異常信号の発生を禁止する手段となっている。
以上のとおり、外部ツールから不揮発フラッシュメモリに至る入出力制御プログラムの転送制御プログラムは、ＲＯＭメモリに格納された基本プログラムに基づいて実行されるようになっていて、転送制御の実行過程では入出力制御プログラムが実行されていないことに伴うエラー発生を禁止するようになっている。
従って、不揮発フラッシュメモリに格納されたプログラムの全てが消去されていても、不揮発フラッシュメモリへの入出力制御プログラムの書込みが可能となり、入出力制御プログラムの書込み過程でマイクロプロセッサがリセットされない特徴がある。
【００３６】
この発明の請求項７に関連して、
前記不揮発フラッシュメモリ１１３Ａは前記外部ツール１０５Ａから転送書込みされる入出力制御プログラムが保存される複数の分割ブロックと、当該分割ブロックとは異なる分割ブロックにおいて、運転中の前記マイクロプロセッサ１１０から書込みされる制御データの格納領域を備えると共に、前記不揮発フラッシュメモリ１１３Ａには更に、製品種別を識別するための暗証番号データが格納されており、また、前記簡易転送処理手段３２０又は転送制御手段３１８の一方は更に、転送制御許可手段３１４ｃとなるプログラムを包含している。
前記転送制御許可手段３１４ｃは前記外部ツール１０５Ａから送信された暗証番号と前記不揮発フラッシュメモリ１１３Ａに格納されている暗証番号とが一致した場合、若しくは前記不揮発フラッシュメモリ１１３Ａに暗証番号を新規登録又は強制書換登録した場合に前記入出力制御プログラム１０７Ａの転送書込みを許可する手段であり、前記外部ツール１０５Ａが接続されていない場合、及び接続されていても暗証番号が一致しない場合には転送制御が許可されないようになっている。
以上のとおり、外部ツールが接続されていない場合と、接続されていても暗証番号が一致しない場合には不揮発フラッシュメモリに対する入出力制御プログラムの転送書込みが禁止されている。
従って、不正な入出力制御プログラムが書き込まれることがなく、また外部ツールが取り外された運転中において誤って入出力制御プログラムの書換が行われない特徴がある。
【００３７】
この発明の請求項８に関連して、
前記転送制御手段３１８となるプログラムは更に、延滞異常検出手段４１３ｄ・４１６ｂと異常報知手段４１７となるプログラムを包含している。
前記延滞異常検出手段は前記バッファメモリ１１２の満杯状態が第一の所定時間以上にわたって継続していることを検出する満杯異常検出手段４１３ｄであるか、又は前記不揮発フラッシュメモリ１１３Ａの各セクタに対する書込所要時間が第二の所定時間以上にわたって継続していることを検出する書込遅延異常検出手段４１６ｂの少なくとも一方を備え、前記異常報知手段４１７は前記延滞異常検出手段が延滞異常を検出したときに作用して前記外部ツール１０５Ａに対して異常報知するようになっている。
以上のとおり、転送制御手段は満杯異常検出手段又は書込遅延異常検出手段を備え、少なくともブロック単位で延滞異常を検出するようになっている。
従って、外部ツールからのデータ転送、バッファメモリ内のデータの移動、不揮発フラッシュメモリに対する消去・書込み動作に異常が発生すると、速やかにこれを検出して異常報知することができる特徴がある。
【００３８】
発明の実施の形態２．
（１）構成の詳細な説明
以下この発明の第二実施例装置の全体ブロック図を示す図５について、図１のものとの相違点を中心にして説明する。
図５において、図１のものとの主な相違点の第一は、図５のものは不揮発フラッシュメモリ（ＦＭＥＭ）１１３Ｂが消去制御回路１１４Ｂと書込制御回路１１５Ｂとによって、一つの分割ブロックを一括消去している間に、他の分割ブロックに対して同時に書込が可能となっていることである。
第二の相違点は、ＲＯＭメモリ（ＭＲＯＭ）１１１Ｂは図１における転送制御プログラム１０６Ａに相当する転送制御プログラムを包含した基本プログラム１１１ｂを包含していることである。
但し、図１のものと同様に転送制御プログラムを外部ツール（ＥＸＴ）１０５ＢからＲＡＭメモリ（ＲＭＥＭ）１１２Ｂへ転送する方式にすることも可能である。
なお、ＲＡＭメモリ１１２Ｂは図１のものと同様に前段部１１２ａ・中段部１１２ｂ・後段部１１２ｃによって構成されたバッファメモリ１１２を備えている。
また、外部ツール１０５Ｂには不揮発フラッシュメモリ１１３Ｂへ転送されるべき入出力制御プログラム１０７Ｂが格納されている。
その他の同一符号は同一又は相当部分を示しており、マイクロプロセッサ（ＣＰＵ）１１０は不揮発フラッシュメモリ１１３Ｂに格納された入出力制御プログラムの内容と、入力信号回路（ＳＥＮＳ）１０３の信号状態に応動して出力信号回路（ＬＯＡＤ）１０４に制御出力信号を送出するようになっている。
【００３９】
（２）作用・動作の詳細な説明
次に、図５のものの転送制御のタイムチャートである図６について説明するが、その詳細は図７・図８によって後述するとおりであり、図６のタイムチャートでは消去指令と書込指令の記述は省略されている。
図６（Ａ）は、外部ツール１０５Ｂの転送指令を上段部に示し、この指令に対応したマイクロプロセッサ１１０の応答を下段部に示したタイムチャートとなっている。
図６（Ｂ）は、バッファメモリ１１２の前段部１１２ａ・中段部１１２ｂ・後段部１１２ｃに格納されるデータの内容を示しており、データ番号Ｄｊ（ｊ＝１・２・・・ｍ）は外部ツール１０５Ｂから送信された順に付されている。
図６（Ｃ）は、不揮発フラッシュメモリ１１３Ｂに対する書込データを上段部に示し、消去されるブロック番号を下段部に示したタイムチャートとなっている。
なお、この実施形態においては、図６（Ｃ）で明らかなとおり、分割ブロックＢ１が一括消去された後に、分割ブロックＢ２を消去しながら分割ブロックＢ１の第一・第二のセクタにデータＤ１・Ｄ２が書込まれ、以下同様にしてデータＤ３・Ｄ４が書込まれるようになっている。
外部ツール１０５Ｂからのデータの転送は絶え間なく継続しているが、バッファメモリ１１２が満杯になって、バッファメモリ１１２への格納が行われなかった場合にはＮＡＫ返信が行われ、次回の転送は前回と同じデータが再送される仕組みとなっている。
【００４０】
次に、図６を参照しながら、図５のものの転送制御の全体動作のフローチャートである図７について説明する。なお、ここでは図３との相違点を中心にして説明する。
図７において、工程７００は外部ツール１０５Ｂ内で動作する図示しないマイクロプロセッサの書込動作の開始ステップであり、工程７００から工程７０９に至る一連のフローは図３における工程３００から工程３０９に至る一連のフローと同等の作用を行い、符号番号が３００番台から７００番台に変更されているものである。
ただし、図３における工程３０４ａに相当する工程が図７には存在せず、これは、転送制御プログラム１０６Ａが基本プログラム１１１ｂに格納されているためである。
工程７１０はフラッシュメモリの書込装置１００Ｂ内で動作するマイクロプロセッサ１１０の動作開始ステップであり、工程７１０から工程７１９に至る一連のフローは図３における工程３１０から工程３１９に至る一連のフローと同等の作用を行い、符号番号が３１０番台から７１０番台に変更されているものである。
ただし、図３における工程３１４ａに相当する工程が図７には存在せず、これは、転送制御プログラム１０６Ａが基本プログラム１１１ｂに格納されているためであって、転送処理手段となる工程ブロック７２０は、転送制御手段７１８を包含したものとなっている。
【００４１】
次に、図６を参照しながら、図７のものの転送制御の主要部である工程ブロック７０８及び７１８について説明用概略フローチャートである図８を用いて説明する。なお、ここでは図４との相違点を中心にして説明する。
図８において、工程８００は図７の工程ブロック７０８の動作開始ステップであり、工程８００から工程８０９に至る一連のフローは工程８０４が追加されていること以外は図４における工程４００から工程４０９に至る一連のフローと同等の作用を行い、符号番号が４００番台から８００番台に変更されているものである。
工程８１０は図７の工程ブロック７１８の動作開始ステップであり、工程８１０から工程８１９に至る一連のフローは工程８１４ｂが追加されていること以外は図４における工程４１０から工程４１９に至る一連のフローと同等の作用を行い、符号番号が４１０番台から８１０番台に変更されているものである。
【００４２】
工程８１１ｃにおいて第一の分割ブロックＢ１に対する一括消去指令が発生して、やがてその消去完了フラグが発生すると、工程８１４ａを通過する時点でこれが認知されてＹＥＳの判定となり、工程８１４ｂに移行する。
工程８１４ｂは消去されたブロックが初回の第一の分割ブロックＢ１であったときのみＹＥＳの判定を行って工程８１１ａへ復帰する。
従って、工程８１５ａによる書込み指令が発生することがなく、工程８１１ｃによって第二の分割ブロックＢ２に対する消去指令が発生することになる。
再度工程８１４ａを通過するときは、第一の分割ブロックＢ１が消去済であることから再びＹＥＳの判定が行われて工程８１４ｂへ移行し、工程８１４ｂでは今回以降はＮＯの判定となって工程８１５ａへ移行し、先に消去されていた第一の分割ブロックＢ１に対する書込みが開始することになる。
【００４３】
一つのセクタに対する書込みが完了した時点では、工程８１６ａから工程８１５ａへ復帰することによって、続くセクタに対する書込みが実施される。
第一の分割ブロックＢ１に対する書込みが完了すると工程８１６ａがＹＥＳの判定を行ってこの循環ループを脱出し、工程８１６ｃにおいて消去完了フラグがリセットされてから、工程８１８を経由して工程８１１ａに復帰する。
従って、次回の分割ブロックに対する消去処理中であっても、前回の消去済の分割ブロックに対する書込み処理が併行実施されると共に、消去処理中や書込処理中において工程８１６ｂから工程８１２へ復帰するルーチンによって随時分割データの転送処理が行えるようになっている。
【００４４】
（３）要点及び特徴
以上の説明で明らかなとおり、この発明の実施形態２によるフラッシュメモリの書込装
置は、入力信号回路１０３と出力信号回路１０４とを備え,外部ツール１０５Ｂをシリアル接続することができるマイクロプロセッサ１１０と、前記入力信号回路１０３の信号状態に応動して前記出力信号回路１０４に制御出力信号を送出するための入出力制御プログラムが格納され、複数の分割ブロック単位で一括消去を行ってから前記入出力制御プログラムの書込が行われる不揮発フラッシュメモリ１１３Ｂと、前記マイクロプロセッサ１１０と協働し、前記外部ツール１０５Ｂとの間で信号交信を行う基本プログラム１１１ｂが格納されているＲＯＭメモリ１１１Ｂとを備え、前記基本プログラム１１１ｂの内容に応動して、前記入出力制御プログラムが前記外部ツール１０５Ｂから前記マイクロプロセッサ１１０を介して順次分割して転送書込みされるフラッシュメモリの書込装置１００Ｂであって、前記不揮発フラッシュメモリ１１３Ｂの各分割ブロックＢｉ（ｉ＝１、２、・・ｎ）は更に、所定の書込単位量毎に分割して書込みが行われる少なくとも第一・第二のセクタに分割されていると共に、前記マイクロプロセッサ１１０と協働するＲＡＭメモリ１１２Ｂとバッファメモリ１１２を備えている。
【００４５】
前記バッファメモリ１１２は少なくとも３段階の先入先出テーブルを構成し、前段部１１２ａ・中段部１１２ｂ・後段部１１２ｃの各段が前記書込単位量に相当するデータ量を有しており、前記後段部１１２ｃのデータが前記不揮発フラッシュメモリ１１３Ｂに書込みされると、当該後段部１１２ｃのデータは削除されて、前段部１１２ａ・中段部１１２ｂから詰合せ移動した新データが転送され、前記不揮発フラッシュメモリ１１３Ｂに書込みされるまでは新規到来データの削除・移動は待機され、前記前段部１１２ａ内にデータが格納されていないときには、前記外部ツール１０５Ｂからの転送データは当該前段部１１２ａに対して格納されるが、前記前段部１１２ａから後段部１１２ｃまでのデータが満杯であるときは、前記外部ツール１０５Ｂからの転送データは当該前段部１１２ａに対して格納待機され、前記外部ツール１０５Ｂから順次分割転送されてきた前記入出力制御プログラムは、前記バッファメモリ１１２を介して所定の書込単位量毎に順次前記不揮発フラッシュメモリ１１３Ｂの各分割ブロックＢｉに対して書込まれ、前記外部ツール１０５Ｂから前記バッファメモリ１１２に対するデータ転送は、前記不揮発フラッシュメモリ１１３Ｂに対する消去及び書込時間帯において併行実行されるようになっている。
【００４６】
この発明の請求項４に関連して、
前記不揮発フラッシュメモリ１１３Ｂは消去制御回路１１４Ｂと書込制御回路１１５Ｂを備えていて、消去処理と書込処理とが同時に実行される併行処理方式のものであって、前記マイクロプロセッサ１１０は前記消去制御回路１１４Ｂが不揮発フラッシュメモリ１１３Ｂの今回の分割ブロックＢｉの一括消去を行っている期間において、既に一括消去された前回の分割ブロックＢｉ−１に対して、前記書込制御回路１１５Ｂによって前記入出力制御プログラムの今回の書込処理を併行実行すると共に、前回の一括消去期間と今回の書込処理期間と今回の一括消去期間の複数の期間において前記外部ツール１０５Ｂから前記バッファメモリ１１２に対する後続の入出力制御プログラムを受信し、前記不揮発フラッシュメモリ１１３Ｂに対する一つの書込単位量の書込完了に伴って前記バッファメモリ１１２の先入データが削除されて、新たに転送されたデータが詰め合わされて有効格納されるものである。
以上のとおり、不揮発フラッシュメモリは消去制御回路と書込制御回路とを備え、消去処理と書込処理とが同時に実行される併行処理方式のものとなっていて、外部ツールからバッファメモリに対する制御プログラムの転送は、不揮発フラッシュメモリの消去期間及び書込処理期間において併行実行されるようになっている。
従って、消去期間中において書込動作を行うことができるので不揮発フラッシュメモリの一括書込み所要時間を更に短縮することができる特徴がある。
また、分割ブロック単位の書込時間の周期は（転送所要時間＋消去所要時間）、又は（転送所要時間＋書込所要時間）とはならず、転送所要時間と消去所要時間と書込所要時間のうちの最大時間によって規制され、転送待ちによる書込み遅れが発生しにくい特徴がある。
【００４７】
この発明の請求項６に関連して、
前記ＲＯＭメモリ１１１Ｂには転送処理手段７２０となる基本プログラム１１１ｂが格納されていると共に、前記入出力制御プログラムは異常発生時に前記マイクロプロセッサ１１０をリセットして再起動するためのエラーリセット手段となる自己診断プログラムを包含しており、前記転送処理手段７２０は、前記外部ツール１０５Ｂとマイクロプロセッサ１１０と不揮発フラッシュメモリ１１３Ｂとの間で前記入出力制御プログラムを転送書込みするための転送制御手段７１８となるプログラムを包含している。
前記マイクロプロセッサ１１０は前記ＲＯＭメモリ１１１Ｂに格納されている前記転送制御手段７１８となるプログラムに基づいて前記入出力制御プログラムを前記不揮発フラッシュメモリ１１３Ｂへ転送書込みするものであり、前記転送処理手段７２０は更に、エラーリセット禁止手段７１４ｂとなるプログラムを包含し、当該エラーリセット禁止手段７１４ｂは前記転送制御の実行中において、前記入出力制御プログラムが実行されていないことに伴う前記エラーリセット手段による異常信号の発生を禁止する手段となっている。
以上のとおり、外部ツールから不揮発フラッシュメモリに至る入出力制御プログラムの転送制御プログラムは、ＲＯＭメモリに格納された基本プログラムに基づいて実行されるようになっていて、転送制御の実行過程では入出力制御プログラムが実行されていないことに伴うエラー発生を禁止するようになっている。
従って、不揮発フラッシュメモリに格納されたプログラムの全てが消去されていても、不揮発フラッシュメモリへの入出力制御プログラムの書込みが可能となり、入出力制御プログラムの書込み過程でマイクロプロセッサがリセットされない特徴がある。
【００４８】
この発明の請求項７に関連して、
前記不揮発フラッシュメモリ１１３Ｂは前記外部ツール１０５Ｂから転送書込みされる入出力制御プログラムが保存される複数の分割ブロックと、当該分割ブロックとは異なる分割ブロックにおいて、運転中の前記マイクロプロセッサ１１０から書込みされる制御データの格納領域を備えると共に、前記不揮発フラッシュメモリ１１３Ｂには更に、製品種別を識別するための暗証番号データが格納されており、また、前記転送処理手段７２０は更に、転送制御許可手段７１４ｃとなるプログラムを包含し、前記転送制御許可手段７１４ｃは前記外部ツール１０５Ｂから送信された暗証番号と前記不揮発フラッシュメモリ１１３Ｂに格納されている暗証番号とが一致した場合、若しくは前記不揮発フラッシュメモリ１１３Ｂに暗証番号を新規登録又は強制書換登録した場合に前記入出力制御プログラム１０７Ｂの転送書込みを許可する手段であり、前記外部ツール１０５Ｂが接続されていない場合、及び接続されていても暗証番号が一致しない場合には転送制御が許可されないようになっている。
以上のとおり、外部ツールが接続されていない場合と、接続されていても暗証番号が一致しない場合には不揮発フラッシュメモリに対する入出力制御プログラムの転送書込みが禁止されている。
従って、不正な入出力制御プログラムが書き込まれることがなく、また外部ツールが取り外された運転中において誤って入出力制御プログラムの書換が行われない特徴がある。
【００４９】
この発明の請求項８に関連して、
前記転送制御手段７１８となるプログラムは更に、延滞異常検出手段８１３ｄ・８１６ｂと異常報知手段８１７となるプログラムを包含し、前記延滞異常検出手段は前記バッファメモリ１１２の満杯状態が第一の所定時間以上にわたって継続していることを検出する満杯異常検出手段８１３ｄであるか、又は前記不揮発フラッシュメモリ１１３Ｂの各セクタに対する書込所要時間が第二の所定時間以上にわたって継続していることを検出する書込遅延異常検出手段８１６ｂの少なくとも一方を備え、前記異常報知手段８１７は前記延滞異常検出手段が延滞異常を検出したときに作用して前記外部ツール１０５Ｂに対して異常報知するようになっている。
以上のとおり、転送制御手段は満杯異常検出手段又は書込遅延異常検出手段を備え、少なくともブロック単位で延滞異常を検出するようになっている。
従って、外部ツールからのデータ転送、バッファメモリ内のデータの移動、不揮発フラッシュメモリに対する消去・書込み動作に異常が発生すると、速やかにこれを検出して異常報知することができる特徴がある。
【図面の簡単な説明】
【００５０】
【図１】この発明の第一実施例装置の全体ブロック図である。
【図２】図１のものの転送制御のタイムチャートである。
【図３】図１のものの転送制御の全体動作のフローチャートである。
【図４】図３のものの転送制御の主要部の説明用概略フローチャートである。
【図５】この発明の第二実施例装置の全体ブロック図である。
【図６】図５のものの転送制御のタイムチャートである。
【図７】図５のものの転送制御の全体動作のフローチャートである。
【図８】図７のものの転送制御の主要部の説明用概略フローチャートである。
【符号の説明】
【００５１】
１００Ａ；１００ｂ  フラッシュメモリの書込装置、１０３  入力信号回路、１０４  出力信号回路、１０５Ａ；１０５Ｂ  外部ツール、１１０  マイクロプロセッサ、１１１ａ；１１１ｂ  基本プログラム、１１１Ａ；１１１Ｂ  ＲＯＭメモリ、１１２  バッファメモリ、１１２ａ  前段部、１１２ｂ  中段部、１１２ｃ  後段部、１１２Ａ；１１２Ｂ  ＲＡＭメモリ、１１３Ａ；１１３Ｂ  不揮発フラッシュメモリ、１１４Ａ  消去/書込制御回路、１１４Ｂ  消去制御回路、１１５Ｂ  書込制御回路、３１４ａ  転送手段、３１４ｂ；７１４ｂ  エラーリセット禁止手段、３１４ｃ；７１４ｃ  転送制御許可手段、３１８；７１８  転送制御手段、３２０  簡易転送処理手段、７２０  転送処理手段、４１３ｄ；８１３ｄ  満杯異常検出手段（延滞異常検出手段）、４１６ｂ；８１６ｂ  書込遅延異常検出手段（延滞異常検出手段）、４１７；８１７  異常報知手段、Ｂｉ  分割ブロック。
【図１】
2009277167.tif 000003
【図２】
2009277167.tif 000004
【図３】
2009277167.tif 000005
【図４】
2009277167.tif 000006
【図５】
2009277167.tif 000007
【図６】
2009277167.tif 000008
【図７】
2009277167.tif 000009
【図８】
2009277167.tif 000010