(57)【要約】【課題】  不揮発性メモリへの書込みエラー発生原因を調査し、短時間でエラー原因を特定することができる不揮発性メモリ書込み方法を得る。【解決手段】  ＣＰＵ１０１は、外部ツール１０８からシリアルポート１０５を介して最小データ単位のデータを受信してバッファリングし、受信した最小データ単位のデータをフラッシュＲＯＭ１０２に書込むと共に、この書込みのつど、フラッシュＲＯＭ１０２に書込まれた最小データ単位のデータを読出し、バッファリングされた最小データ単位のデータと比較し、一致しないときはエラー処理を行い、これらの処理を繰り返し実行することにより、全データがフラッシュＲＯＭ１０２に書込まれたとき、その書込まれた全データを用いてチェックサム、ＣＲＣなどのチェックを行うようにした。【選択図】 図１  
2005149206.tif 000002
【特許請求の範囲】
【請求項１】
外部ツールから不揮発性メモリにデータを書込む不揮発性メモリ書込み方法において、上記外部ツールから最小データ単位のデータを受信し、バッファリングする第一の手順、上記受信した最小データ単位のデータを上記不揮発性メモリに書込む第二の手順、この第二の手順により上記不揮発性メモリに上記最小データ単位のデータが書込まれるつど、上記不揮発性メモリに書込まれた上記最小データ単位のデータを読出し、上記バッファリングされた最小データ単位のデータと比較し、一致しないときはエラー処理を行う第三の手順、及び上記第一の手順から第三の手順までを実行することにより全データが上記不揮発性メモリに書込まれたとき、上記書込まれた全データを用いたチェックを行う第四の手順を含むことを特徴とする不揮発性メモリ書込み方法。
【請求項２】
上記第四の手順により行われるチェックは、チェックサムまたはＣＲＣを含むことを特徴とする請求項１記載の不揮発性メモリ書込み方法。
【請求項３】
上記第三の手順により行われるエラー処理には、エラー発生アドレスの上記不揮発性メモリまたは不揮発性ＲＡＭへの書込みが含まれることを特徴とする請求項１または請求項２記載の不揮発性メモリ書込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、携帯電話などの不揮発性メモリ搭載装置に対してソフトウェアの書込みを行なう不揮発性メモリ書込み方法に関するものである。
【背景技術】
【０００２】
システムに新しいソフトウェアを追加または修正する必要が発生すると、ソフトウェアのシステムへのダウンロードが行われる。この従来技術として、例えば、特許文献１には、ソフトウェア無線を実現するにあたり、無線システムに依存しないソフトウェアを作成し、該当する無線システムのソフトウェアにパソコンにて変換した後、無線機にダウンロードすることが記載されている。
【０００３】
【特許文献１】特開平１１−３３１９１１号公報（第４〜８頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ソフトウェアのダウンロードをフラッシュＲＯＭに行う場合や、従来の工場などで、基板上に実装されたフラッシュＲＯＭへ、プログラムやデータの書込みを行う場合には、次のような問題が発生する。
フラッシュＲＯＭへのプログラムやデータの書込みは、次のようにして行われる。（１）フラッシュＲＯＭ全領域消去、（２）ＰＣなどの外部ツールから、書き込みデータを送信してもらい、フラッシュＲＯＭにデータ書込みを行い、（３）全データ書込み終了後、フラッシュＲＯＭに書き込んだデータ（フラッシュＲＯＭから書込みデータを読み出した後）全体でチェックサムやＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）などでチェックし、正しくデータが書き込まれていることを確認していた。
なお、チェックサムは、データを送受信する際の誤り検出方法の一つであり、送信前にデータを分割し、それぞれのブロック内のデータを数値とみなして合計を取り、求めたチェックサムはデータと一緒に送信する。受信側では、送られてきたデータ列から同様にチェックサムを計算し、送信側から送られてきたチェックサムと一致するかどうかを検査する。また、ＣＲＣは、巡回冗長検査であり、連続して出現する誤り（バースト誤り）を検出できる。
【０００５】
これらのチェックを全データ書き込み後に行ったいたため、エラー発見した場合、エラー原因やアドレスを特定するために、再度、フラッシュＲＯＭの個別不良や実装不良を解析するエラー解析専用のソフトウェアによりチェックを実施にしなければならなかった。このとき、データ書き込み中に発生したエラー原因やエラー発生アドレスなどが不明なため、エラー解析専用のソフトウェアにて不具合が再現できない場合、エラー原因が、（Ａ）フラッシュＲＯＭ自体の問題、（Ｂ）基板実装の問題、（Ｃ）書き込みプログラムの処理やタイミングの問題、（Ｄ）外部ツールとの接続など環境の問題等のいずれであるかの特定が困難であり、不具合解析に時間を要したり、不可能であるという問題があった。
【０００６】
この問題を解決するために、書込まれた全データを読出し、バッファリングされたデータと比較するベリファイでチェックすることも考えられるが、書き込む全データをバッファリングする必要があり、携帯電話などのリソースの限られた組込み機器では現実的でなく、また、書き込みデータを再び外部ツールから送信してもらうとしても、書き込み時間よりデータ転送時間にボトルネックがあるため、肥大化するソフトウェアのサイズを考慮するとコスト（時間）的に問題が残る。
【０００７】
この発明は、上記のような課題を解決するためになされたものであり、不揮発性メモリへの書込みエラー発生原因を調査し、短時間でエラー原因を特定することができる不揮発性メモリ書込み方法を得ることを目的としている。
【課題を解決するための手段】
【０００８】
この発明に係わる不揮発性メモリ書込み方法においては、外部ツールから不揮発性メモリにデータを書込む不揮発性メモリ書込み方法において、外部ツールから最小データ単位のデータを受信し、バッファリングする第一の手順、受信した最小データ単位のデータを不揮発性メモリに書込む第二の手順、この第二の手順により不揮発性メモリに最小データ単位のデータが書込まれるつど、不揮発性メモリに書込まれた最小データ単位のデータを読出し、バッファリングされた最小データ単位のデータと比較し、一致しないときはエラー処理を行う第三の手順、及び第一の手順から第三の手順までを実行することにより全データが不揮発性メモリに書込まれたとき、書込まれた全データを用いたチェックを行う第四の手順を含むものである。
【発明の効果】
【０００９】
この発明は、以上説明したように、外部ツールから不揮発性メモリにデータを書込む不揮発性メモリ書込み方法において、外部ツールから最小データ単位のデータを受信し、バッファリングする第一の手順、受信した最小データ単位のデータを不揮発性メモリに書込む第二の手順、この第二の手順により不揮発性メモリに最小データ単位のデータが書込まれるつど、不揮発性メモリに書込まれた最小データ単位のデータを読出し、バッファリングされた最小データ単位のデータと比較し、一致しないときはエラー処理を行う第三の手順、及び第一の手順から第三の手順までを実行することにより全データが不揮発性メモリに書込まれたとき、書込まれた全データを用いたチェックを行う第四の手順を含むので、フラッシュＲＯＭへの書込みエラー発生時のエラー発生原因の特定を容易にすることができる。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
以下、この発明の実施の形態１について説明する。
図１は、この発明の実施の形態１によるフラッシュＲＯＭを含むシステムを示す構成図である。
図１において、フラッシュＲＯＭを含むシステム１００は、ＣＰＵ（中央制御装置）１０１、フラッシュＲＯＭ１０２（不揮発性メモリ）、揮発性ＲＡＭ１０３、不揮発性ＲＡＭ（電池バックアップ機能付きＲＡＭ）１０４、ＵＡＲＴなどのシリアルポート１０５などを有し、進捗状況やエラー内容を伝達する手段として、ＬＣＤ（液晶ディスプレイ）１０６やＬＥＤ（発光ダイオード）１０７を有し、フラッシュＲＯＭ１０２に書き込むデータは、シリアルポート１０５から有線ケーブルまたは無線形式により、ＰＣ等の外部ツール１０８より送信されてくる。
図２は、この発明の実施の形態１によるフラッシュＲＯＭへの書き込み処理を示す流れ図である。
【００１１】
次に、図２に基づき、フラッシュＲＯＭへのプログラムの書込み方法について説明する。
外部ツール１０８から送られたデータは、シリアルポート１０５を通して、ステップＳ１で、１レコード（最小データ単位）のデータが受信され、ステップＳ２で、揮発性ＲＡＭ１０３にバッファリングされる。（ステップＳ１とステップＳ２により、第一の手順を形成）
フラッシュＲＯＭ１０２は、事前に書き込み予定領域が事前に消去されているが、ステップＳ３で、ＣＰＵ１０１は、フラッシュＲＯＭ１０２に書き込める最小データ単位で、揮発性ＲＡＭ１０３にバッファリングされたデータの書き込み予定先のデータが消去されているかを確認する。
【００１２】
次いで、ステップＳ４（第二の手順）で、最小データ単位でフラッシュＲＯＭ１０２に書き込みを行い、ステップＳ５で、最小データ単位を書き込む毎にフラッシュＲＯＭ１０２に正しく書き込まれたかどうかをＣＰＵ１０１が、書込まれたデータを読み出してベリファイチェックし、すでに他のデータが書き込まれている場合や、書き込まれたデータと異なるデータ値が読み出された場合、エラーと認識し、ステップＳ６で、エラーの場合は、ステップＳ７で、シリアルポート１０５を通して、外部ツール８へエラー発生アドレスとエラー内容を出力すると共に、フラッシュＲＯＭ１０２および不揮発性ＲＡＭ１０４にエラー発生アドレスとエラー内容を記録する。（ステップＳ５〜ステップＳ７により第三の手順を形成）
ステップＳ５で、検出されるエラーは、フラッシュＲＯＭ固体のエラーまたはフラッシュＲＯＭ実装エラーである。
【００１３】
ステップＳ８で、外部ツール１０８から送られたデータが全て書き込まれた後、ステップＳ９（第四の手順）で、フラッシュＲＯＭ１０２に書き込んだデータを読出し、この読み出された書込みデータ全体でチェックサムやＣＲＣなどで正当性を確認し、正当性が確認できない場合、エラーと認識し、ステップＳ１０で、エラーの場合は、ステップＳ１１で、シリアルポート１０５を通して、外部ツール１０８へエラー内容を出力すると共に、フラッシュＲＯＭ１０２および不揮発性ＲＡＭ１０４にエラー内容を記録する。
ステップＳ９では、フラッシュＲＯＭのエラー以外のエラー、例えば通信回線エラーや、外部ツールとの接続などの環境の問題などのエラーを検出できる。
【００１４】
また、ＬＣＤ１０６やＬＥＤ１０７で、エラー発生の情報を表示することもある。
【００１５】
実施の形態１によれば、最小データ単位毎にフラッシュＲＯＭへの書き込み及びベリファイを実行し、エラーアドレスとエラー内容を記録するので、書込みエラー発生原因を調査し、短時間でエラー原因を特定することができる。
【産業上の利用可能性】
【００１６】
この発明の活用例として、携帯電話等のフラッシュＲＯＭを実装し、実行するプログラムまたはそのイメージがフラッシュＲＯＭに書き込まれている装置に利用することができる。
【図面の簡単な説明】
【００１７】
【図１】この発明の実施の形態１によるフラッシュＲＯＭを含むシステムを示す構成図である。
【図２】この発明の実施の形態１によるフラッシュＲＯＭへの書き込み処理を示す流れ図である。
【符号の説明】
【００１８】
１００  フラッシュＲＯＭを含むシステム
１０１  中央制御装置（ＣＰＵ）
１０２  フラッシュＲＯＭ
１０３  揮発性ＲＡＭ
１０４  不揮発性ＲＡＭ（電池バックアップ機能付きＲＡＭ）
１０５  シリアルポート（ＵＡＲＴ、ＵＳＢなど）
１０６  液晶ディスプレイ（ＬＣＤ）
１０７  発光ダイオード（ＬＥＤ）
１０８  外部ツール（ＰＣなど）
【図１】
2005149206.tif 000003
【図２】
2005149206.tif 000004