(57)【特許請求の範囲】
【請求項１】
フラッシュメモリを備え着脱可能な電池を電源として動作する携帯情報端末装置において、
前記フラッシュメモリの記憶領域の一部に前記フラッシュメモリの消去状態に関する情報を記憶する消去管理領域を設け、
前記フラッシュメモリの指定領域の消去動作に先立って前記消去管理領域の未使用領域に当該指定領域を特定するための領域番号を書き込み、当該指定領域の消去動作が完了した時に前記消去管理領域に前記領域番号に対応させて当該指定領域の消去完了を示す情報を書き込むとともに、電源投入時に前記消去管理領域に記憶された消去状態に関する情報に基づいて消去動作が中断された領域を特定しその消去中断領域の消去動作を再実行する消去制御手段を備えて構成されていることを特徴とする携帯情報端末装置。
【請求項２】
前記消去制御手段は、前記消去管理領域の未使用領域がなくなった場合に、前記消去管理領域の消去動作を実行することを特徴とする請求項１記載の携帯情報端末装置。
【請求項３】
前記消去管理領域には整合性データ領域が設けられ、
前記消去制御手段は、前記整合性データ領域に対し前記消去管理領域の消去動作に先立って不整合データを書き込むとともに消去動作の終了後に整合データを書き込み、電源投入時に前記整合性データ領域に整合データが記憶されていない場合に前記消去管理領域の消去動作を再実行することを特徴とする請求項２記載の携帯情報端末装置。
【請求項４】
表示手段を備え、
前記消去制御手段は、前記消去中断領域の消去動作を再実行する場合に、その旨を前記表示手段に表示することを特徴とする請求項１ないし３の何れかに記載の携帯情報端末装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フラッシュメモリを備え着脱可能な電池を電源として動作する携帯情報端末装置に関する。
【０００２】
【発明が解決しようとする課題】
バーコードや二次元コードなどを光学的に読み取る携帯型のコードスキャナ  （ハンディターミナル）、携帯電話装置、ＰＤＡなどの携帯情報端末装置は、読み取ったコードデータ、電話番号データ、ＰＩＭデータなどを記憶するための記憶手段としてフラッシュメモリを備えている。これらの携帯情報端末装置には電池が収納されており、その電池は使用者により交換可能となっている。
【０００３】
携帯情報端末装置の制御手段（マイクロコンピュータ）は、フラッシュメモリのブロックに記憶されているデータが不要となった場合、特定のブロックに記憶されているデータを書き替える場合、使用済みクラスタを含むブロックを未使用クラスタからなるブロックにする場合（ガーベジコレクション）、電源のオフに際しＲＡＭ上にある必要なデータをフラッシュメモリに退避する場合などにおいてブロックの消去処理を実行する。この消去処理は、各ブロックについて例えば７００ｍｓｅｃ程度の時間を要する。この消去処理の間は、使用者が携帯情報端末装置の電源スイッチをオフ操作してもその操作は受け付けられないようになっている。
【０００４】
しかし、例えばこの消去処理の間に使用者が電池を取り外してしまうと、フラッシュメモリへの電源供給が断たれ、消去処理が中断（中止）してしまう。その結果、フラッシュメモリについて制御手段が管理している消去状態と実際の消去状態とが異なってしまい、制御手段が次に上記消去中断ブロックに書き込みを行うと書き込みエラーが発生する。このエラーは使用者では対応できないものであるため、例えば表示部に「フラッシュメモリへの上書きが発生しました」という警告を表示し、使用者に対し修理依頼を促すなどの対策がとられていた。
【０００５】
本発明は上記事情に鑑みてなされたもので、その目的は、フラッシュメモリの消去処理中に電池が取り外された場合であっても、その消去処理を正常に完了することができる携帯情報端末装置を提供することにある。
【０００６】
【課題を解決するための手段】
請求項１に記載した手段によれば、フラッシュメモリの記憶領域の一部が当該フラッシュメモリの消去状態に関する情報を記憶する消去管理領域とされる。そして、消去制御手段は、フラッシュメモリの指定領域の消去処理を実行する場合、フラッシュメモリの消去動作が完了した後、その消去管理領域に当該指定領域の消去完了を示す情報を書き込む。これにより、消去管理領域には、指定領域の消去動作が完了したか否かの情報つまり消去状態に関する情報が記憶されるので、消去制御手段は、この情報を参照することにより消去動作が中断された領域を特定できる。
【０００７】
そして、消去制御手段は、電源投入時に上記消去中断領域を特定する処理を実行し、消去中断領域が存在する場合にはその領域の消去動作を再実行するので、フラッシュメモリの消去処理中に電池が取り外されて消去動作が中断された場合であっても、その消去処理を正常に完了することができる。
【０００８】
消去制御手段は、指定領域の消去処理を実行する前に消去管理領域の未使用領域をサーチしその未使用領域に当該指定領域を特定するための領域番号を書き込み、消去動作が完了した後その領域番号に対応させて消去完了を示す情報を書き込む。これにより、消去制御手段は、これら領域番号とそれに対応した情報とに基づいて消去中断領域を特定できる。また、この手段によれば、消去管理領域の未使用領域がなくなるまでの間、消去管理領域には書き込み処理しか発生しないので、ブロックデータの一部書き替えができない特性を持つフラッシュメモリに適した手段となる。さらに、消去管理領域の未使用領域がなくなった場合には、請求項２に記載した手段により消去管理領域を消去すれば、消去管理領域を継続して使用可能となる。
【０００９】
請求項３に記載した手段によれば、消去管理領域に整合性データ領域が設けられ、消去制御手段は、整合性データ領域に対し消去管理領域の消去動作に先立って消去動作中であることを示す不整合データを書き込み、消去動作の終了後に消去動作が完了したことを示す整合データを書き込む。ただし、不整合データは、一旦整合データが書き込まれた後に書き込まれるデータであるため、ビットクリアあるいはビットセットなどのフラッシュメモリの特性上再書き込み可能なデータである。これにより、整合性データ領域には、消去管理領域の消去動作が完了したか否かの情報つまり消去管理領域の消去状態に関する情報が記憶される。
【００１０】
そして、消去制御手段は、電源投入時に整合性データ領域に整合データが記憶されていない場合に消去管理領域の消去動作を再実行するので、消去管理領域の消去処理中に電池が取り外されて消去動作が中断された場合であっても、消去管理領域の消去処理を正常に完了することができる。
【００１１】
請求項４に記載した手段によれば、消去中断領域の消去動作を再実行する場合にその旨が表示手段に表示されるので、使用者は電源投入時における待ち時間の発生原因を認識することができる。
【００１２】
【発明の実施の形態】
以下、本発明をバーコードスキャナに適用した一実施形態について図面を参照しながら説明する。
図５は、バーコードスキャナの外観を示している。このバーコードスキャナ１（携帯情報端末装置に相当）は、使用者が手で持って操作を行うハンディターミナルと称されるもので、バーコードの読取り機能、読み取ったバーコードデータの処理機能や記憶機能、図示しない外部装置例えばパソコンとのデータ通信機能などを備えている。
【００１３】
バーコードスキャナ１のケース２は、基端側が握り部とされ、先端側がやや幅広となるとともに前方にやや下降傾斜するように折れ曲がり、その先端部が読取部とされている。ケース２の基端側の上面部には、キー入力部３を構成する複数のキースイッチ３ａが配設されている。各キースイッチ３ａのキー上面には記号が表示されており、「ＰＷ」が電源キー、「ＢＳ」が後退キー、「Ｃ」がキャンセルキー、「ＳＦ」がシフトキー、「Ｍ１」と「Ｍ２」が割当キー、「ＥＮＴ」が決定キー、「０」〜「９」が数字キー、「．」がピリオドキー、「Ｆ１」〜  「Ｆ８」がファンクションキーとなっている。使用者は、割当キー「Ｍ１」と  「Ｍ２」に種々の機能（例えば頻繁に使用する機能）を割り当てて使用することができる。
【００１４】
ケース２の側面部には読取用のトリガスイッチ４が設けられ、ケース２の先端側の上面部には例えば液晶表示装置からなる表示部５（表示手段に相当）が設けられている。これらキースイッチ３ａや表示部５は、ケース２内に配設されたプリント基板（図示せず）に実装されている。また、ケース２の基端側内部には、バーコードスキャナ１の電源となる着脱可能な電池６が収納されている。
【００１５】
図４は、バーコードスキャナ１の電気的構成を機能ブロックにより示したものである。制御回路７には、上述したキー入力部３、トリガスイッチ４および表示部５が接続されているとともに、ＲＡＭ８、フラッシュメモリ９、照明用ＬＥＤ１０、ラインセンサ１１およびデータ通信部１２が接続されている。これらは上記電池６から電源供給を受けて動作するようになっており、バーコードスキャナ１から電池６が取り外されると、図示しない平滑用コンデンサの電荷によって数ｍｓｅｃの間動作を維持した後動作を停止する。なお、ＲＡＭ８は図示しない別の電池によって常時バックアップされている。
【００１６】
制御回路７は、ＣＰＵを主体とするマイクロコンピュータにより構成されており、本発明でいう消去制御手段に相当する。この制御回路７は、フラッシュメモリ９に記憶されている処理プログラム（アプリケーションプログラム）に従って、上述したバーコード読取り処理、読み取ったバーコードデータの処理や記憶、パソコンとのデータ通信処理を実行するようになっている。
【００１７】
ＲＡＭ８には、読み取ったバーコードデータや作業用データなどが一時的に記憶されるようになっている。また、フラッシュメモリ９は、周知のようにブロックを単位として一括消去可能に構成されており、上記処理プログラムの他に、後述する消去制御プログラム、バーコードデータや商品名データなどからなるユーザデータファイル、パラメータデータ、作業用データなどが記憶されるようになっている。さらに、フラッシュメモリ９の記憶領域の一部は、当該フラッシュメモリ９の消去処理において消去状態が記憶される消去管理領域として用いられている。
【００１８】
照明用ＬＥＤ１０は、複数のＬＥＤからなるバーコード読取用の照明光源であって、制御回路７は、トリガスイッチ４が押圧操作されたことに応じてこの照明用ＬＥＤ１０を点滅動作させるようになっている。この照明光は、図示しない照明用レンズを通して読取対象であるバーコードに照射される。
【００１９】
ラインセンサ１１は、図示しないフォトダイオードをライン状に並べて構成される一次元のイメージセンサであって、照明光を照射した状態でバーコードから反射される反射光を図示しない撮像用レンズを通して撮像し、その撮像信号を制御回路７に出力するようになっている。
【００２０】
データ通信部１２は、ＩｒＤＡなどによる光通信、通信ケーブルを介した通信、または小電力の無線通信の何れかにより、上記パソコンとの間でデータ通信を行うようになっている。
【００２１】
次に、上記構成の動作について図１ないし図３も参照しながら説明する。
フラッシュメモリ９は、例えば６４ｋバイトの記憶容量を持つブロックを単位として消去可能に構成されている。各ブロックにはブロック番号が付されており、ブロック番号０、１、２、…が付されたブロックをそれぞれブロック０、ブロック１、ブロック２、…とする。これらブロックには、上記処理プログラム、消去制御プログラム、ユーザデータなどが記憶されるとともに、消去管理領域として使用されてブロックの消去状態が記憶される。消去管理領域は、ブロック消去処理の途中で電池６が取り外されたことにより消去動作が中断した場合に、その消去中断ブロックを検出するために用いられる。
【００２２】
図３は、消去管理領域の記憶内容を具体的に示したものである。本実施形態では、００００００Ｈから００ＦＦＦＦＨまでのアドレスを持つブロック０を消去管理領域とし、アドレス０１００００Ｈから０１ＦＦＦＦＨまでのアドレスを持つブロック１と０２００００Ｈから０２ＦＦＦＦＨまでのアドレスを持つブロック２とをユーザデータ領域としている。このユーザデータ領域であるブロック１と２とは、使用者がキー入力部３から消去指令を入力した場合、ガーベジコレクションの実行時などにおいて消去される。
【００２３】
消去管理領域のうちアドレス００００００Ｈから０００００ＦＨまでの１６バイトは、整合性データ領域として用いられる。後述するように、消去管理領域の未使用領域がなくなった場合にはブロック０自体も消去される場合があり、この間に電池６が取り外されると消去動作が中断してしまう。整合性データ領域には、ブロック０の消去処理中を除いて予め決められた整合データ「Ｆ０Ｅ１…１Ｅ０Ｆ」が書き込まれており、制御回路７は整合性データ領域を参照することによりブロック０の消去中断状態を検出することができる。なお、図３において、アドレス００００１０Ｈから００００４７Ｈまでがブロック消去処理で既に使用された領域で、アドレス００００４８Ｈから００ＦＦＦＦＨまでが未使用の領域である。
【００２４】
図１は、消去制御プログラムのうちフラッシュメモリ９のブロック１または２についてのブロック消去処理を示すフローチャートで、図２は、消去制御プログラムのうち電源オン時における消去中断ブロックの再消去処理を示すフローチャートである。これら図１、図２には示していないが、消去ブロック２内に必要なデータと不要なデータとが混在している場合には、必要なデータを一旦ＲＡＭ８に退避させ、ブロック消去後に復帰させる処理を追加しても良い。また、制御回路７は、消去制御プログラムの実行中、電源キー「ＰＷ」による電源オフ操作を受け付けない。
【００２５】
図１において、制御回路７は、ブロック消去に先立って整合性データ領域に所定の整合データ「Ｆ０Ｅ１…１Ｅ０Ｆ」が書き込まれているか否かを判断し（ステップＳ１）、書き込まれている場合には「ＹＥＳ」に従ってステップＳ２に移行する。制御回路７は、ステップＳ２において、ブロック０に設けられた消去管理領域のうち未使用領域の先頭アドレス（以下、未使用先頭アドレスと称す）を検索する。フラッシュメモリ９は消去状態において全ビットが１になること、およびブロック番号ＦＦＦＦＨは存在しないことから、データＦＦＦＦＨが記憶されている最も低位側のアドレスが上記未使用先頭アドレスとなる（図３では００００４８Ｈ）。
【００２６】
しかし、消去管理領域がアドレス００ＦＦＦＦＨまで全て使用されている場合には、上記未使用先頭アドレスを見出だすことができない。そこで、制御回路７は、ステップＳ３において未使用領域があるか否かを判断する。未使用領域がある場合には「ＹＥＳ」に従ってステップＳ４に移行し、消去するブロック番号  （２バイト）を上記未使用先頭アドレスに書き込む。その後、ステップＳ５において当該ブロックの消去動作を実行する。この消去には７００ｍｓｅｃ程度の時間を要する。消去動作が完了すると、制御回路７はステップＳ６に移行し、（未使用先頭アドレス＋２）で示されるアドレスに消去完了フラグ００００Ｈを書き込んでブロック消去処理を終了する。なお、ブロック消去が正常に終了した場合には、書き込まれたブロック番号とそれに対応した消去完了フラグ００００Ｈとはもはや不要データとなる。
【００２７】
一方、上記ステップＳ３において、未使用領域がない場合には「ＮＯ」に従ってステップＳ７に移行し、ステップＳ７〜Ｓ９からなる消去管理領域（ブロック０）の消去処理を実行する。すなわち、制御回路７は、ステップＳ７において整合性データ領域に消去動作中であることを示す不整合データ「００００…００００」を書き込んでその全ビットを０クリアし、その後ステップＳ８においてブロック０の消去動作を実行する。消去動作が完了すると、ブロック０の全ビットが１になる。制御回路７はステップＳ９に移行し、整合性データ領域に消去が完了したことを示す上記整合データ「Ｆ０Ｅ１…１Ｅ０Ｆ」を書き込む。これにより、消去管理領域は整合性データ領域を除いて未使用領域となるため、上述したステップＳ４に移行してブロック消去処理を続行することができる。
【００２８】
また、上記ステップＳ１において、整合性データ領域に整合データが書き込まれていない場合には「ＮＯ」に従ってステップＳ８に移行し、消去管理領域（ブロック０）の消去処理を実行する。この場合には、既に整合性データ領域に整合データとは異なるデータが書き込まれているので、ステップＳ７を実行する必要はない（勿論実行しても良い）。
【００２９】
続いて、図２に示す消去中断ブロックの再消去処理について説明する。電源がオンされると、制御回路７は、整合性データ領域に上記整合データが書き込まれているか否かを判断し（ステップＴ１）、書き込まれている場合には「ＹＥＳ」に従ってステップＴ２に移行する。制御回路７は、ステップＴ２において、消去管理領域のうちブロック番号を書き込むために使用された最終アドレス（以下、最終使用アドレスと称す）を検索する。そして、ステップＴ３において、（最終使用アドレス＋２）で示されるアドレスに消去完了フラグ００００Ｈが書き込まれているか否かを判断し、書き込まれている場合には消去中断ブロックが存在しないために再消去処理を終了する。
【００３０】
これに対し、消去管理領域（ブロック０）の消去処理中に電池６が取り外されるなどして消去動作が中断した場合には、整合性データ領域に整合データが書き込まれていない。この場合には、制御回路７は上記ステップＴ１において「ＮＯ」と判断し、ステップＴ４、Ｔ５において消去管理領域（ブロック０）の再消去処理を実行した後処理を終了する。このステップＴ４、Ｔ５の処理は、上述したブロック消去処理のステップＳ８、Ｓ９の処理と同じである。
【００３１】
また、ブロック１または２の消去処理中に電池６が取り外されるなどして消去動作が中断した場合には、（最終使用アドレス＋２）で示されるアドレスに消去完了フラグ００００Ｈが書き込ままれていない。この場合には、制御回路７は上記ステップＴ３において「ＮＯ」と判断し、ステップＴ６において当該ブロックの再消去処理を実行する。消去動作が完了すると、ステップＴ７に移行して消去完了フラグ００００Ｈを書き込んだ後処理を終了する。制御回路７は、この再消去動作の間、表示部５に「フラッシュメモリの再消去処理を実行します。しばらくお待ち下さい。」というメッセージを表示する。これにより、使用者は電源投入時における待ち時間の発生原因を認識することができる。
【００３２】
以上説明したように、バーコードスキャナ１に内蔵されたフラッシュメモリ９には消去管理領域が設けられ、制御回路７は、ブロック消去処理の実行に先立ってその消去管理領域に消去対象のブロック番号を書き込むとともに、消去動作の完了後にそのブロック番号に対応させて消去完了フラグを書き込むので、消去管理領域にはブロックの消去中か消去が完了したかを示すブロック消去状態が記憶される。従って、制御回路７は、この消去管理領域を参照することにより、消去動作が中断されたブロックの有無およびその番号を特定することができる。
【００３３】
そして、制御回路７は、電源投入時に消去管理領域を参照し、消去中断ブロックが存在する場合にはそのブロックの再消去処理を実行するので、消去処理中に電池６が取り外されて消去動作が中断された場合であっても、その消去処理を正常に完了することができる。その結果、フラッシュメモリ９について、制御回路７が管理している消去状態と実際の消去状態とが異なることがなくなり、たとえ使用者が誤ったタイミングで電池６を取り外しても、エラーが発生することがなくなる。
【００３４】
また、本実施形態によれば、消去処理が実行されるごとにブロック番号と消去完了フラグとが消去管理領域の未使用領域に順次書き込まれていくので、未使用領域がなくなるまでの間、消去管理領域には書き込み処理しか発生しない。これは、ブロックデータの一部書き替えができない特性を持つフラッシュメモリに適した手段となる。そして、消去管理領域の未使用領域がなくなった場合には、消去管理領域（ブロック０）をブロック消去するので、消去管理領域を継続して使用可能となる。
【００３５】
さらに、消去管理領域には整合性データ領域が設けられ、制御回路７は、消去管理領域の消去処理に先立ってその整合性データ領域に不整合データを書き込むとともに、消去動作の終了後に整合データを書き込むので、整合性データ領域には消去管理領域の消去中か消去が完了したかを示す消去管理領域の消去状態が記憶される。
【００３６】
そして、制御回路７は、電源投入時に整合性データ領域に整合データが記憶されていない場合に消去管理領域の消去動作を再実行するので、消去管理領域の消去処理中に電池６が取り外されて消去動作が中断された場合であっても、消去管理領域の消去処理を正常に完了することができる。
【００３７】
なお、書き込み処理中に電池６が取り外されることも考えられるが、上述したように電池６が取り外されても数ｍｓｅｃの間は動作が維持されてその間に書き込み処理が完了するので、書き込み処理の中断は発生しない。
【００３８】
本発明はバーコードスキャナに限らず、携帯電話装置やＰＤＡなどフラッシュメモリを備え着脱可能な電池を電源として動作する携帯情報端末装置に対しても同様に適用できる。
【図面の簡単な説明】
【図１】本発明の一実施形態であるバーコードスキャナにおいてフラッシュメモリのブロック消去処理を示すフローチャート
【図２】電源オン時における消去中断ブロックの再消去処理を示すフローチャート
【図３】消去管理領域の記憶内容を示す図
【図４】バーコードスキャナの電気的構成を機能ブロックにより示す図
【図５】バーコードスキャナの外観斜視図
【符号の説明】
１はバーコードスキャナ（携帯情報端末装置）、５は表示部（表示手段）、６は電池、７は制御回路（消去制御手段）、９はフラッシュメモリである。
【図１】
0004644967.tif 000002
【図２】
0004644967.tif 000003
【図３】
0004644967.tif 000004
【図４】
0004644967.tif 000005
【図５】
0004644967.tif 000006