(57)【要約】【課題】  高速で揮発性の記憶デバイスと低速で不揮発性の記憶デバイスとを併用する場合に、データを記憶保持するため必要なデータ転送処理をユーザに使用感の低下を感じさせることなく実行させる。【解決手段】  バーコードハンディターミナル（ＢＨＴ）の制御を行うＣＰＵは、予め定めた転送起動イベントが発生した際に（ステップＳ３，「ＹＥＳ」）、ＲＡＭ上に未転送データが存在する場合は（ステップＳ６，「ＹＥＳ」）フラッシュメモリに対するデータ転送処理を実行する（ステップＳ７）。従って、ユーザがＢＨＴを操作した場合に，データ転送処理が行われていることで当該操作に対する応答が遅れてしまい、処理の停滞感をユーザに対して与えることを極力回避し、良好な使用感を提供する。【選択図】  図１
2006178858.tif 000002
【特許請求の範囲】
【請求項１】
電池駆動され、ＣＰＵが外部との間で通信を行うと共にデータ処理を行なうように構成されるデータ処理端末において、
高速通信インターフェイスを介して受信したデータを、前記ＣＰＵが高速で且つ揮発性の記憶デバイスに記憶させるための高速デバイスファイルシステムと、
低速通信インターフェイスを介して受信したデータを、前記ＣＰＵが低速で且つ不揮発性の記憶デバイスに記憶させるための低速デバイスファイルシステムとを備えると共に、
前記ＣＰＵは、予め定めた特定の条件が成立した場合に前記高速記憶デバイス側に未転送データが存在する場合は、当該高速記憶デバイス側より前記低速記憶デバイス側に対するデータ転送処理を実行することを特徴とするデータ処理端末。
【請求項２】
前記特定の条件は、前記ＣＰＵに対する特定の処理要求の発生、前記ＣＰＵに対する処理要求が一定時間発生しない場合、電源遮断処理要求の発生、前記電池の残容量低下の何れかであることを特徴とする請求項１記載のデータ処理端末。
【請求項３】
前記ファイルシステムは、ファイルデータを所定容量の単位ブロック毎に管理するように構成され、
前記ＣＰＵは、前記データ転送処理の実行中に他の優先順位が高い処理要求が発生した場合は、その時点に転送中である単位ブロックの転送が完了するまで転送処理を継続することを特徴とする請求項１又は２記載のデータ処理端末。
【請求項４】
前記ＣＰＵは、前記データ転送処理の実行中に他の優先順位が高い処理要求が発生したことで当該転送処理を中断させる場合は、前記要求された処理の実行が完了した後、中断させた転送処理を再開することを特徴とする請求項３記載のデータ処理端末。
【請求項５】
前記ＣＰＵは、成立した特定条件が前記電池の残容量低下である場合は、前記他の処理要求が発生しても前記データ転送処理を優先して完了させ、当該転送処理が完了した後に前記他の処理要求を実行することを特徴とする請求項３又は４記載のデータ処理端末。
【請求項６】
前記高速デバイスファイルシステムは、前記高速記憶デバイスに記憶させる受信データに、当該データの属性に応じて前記転送処理における優先順位を設定し、
前記ＣＰＵは、前記転送処理の実行時には、前記優先順位に応じてデータを転送することを特徴とする請求項１乃至５の何れかに記載のデータ処理端末。
【請求項７】
前記高速デバイスファイルシステムは、前記高速記憶デバイスに記憶させる受信データに、当該データの属性に応じて前記特定条件との対応付けを行い、
前記ＣＰＵは、成立した特定条件の種類に対応するデータを転送することを特徴とする請求項１乃至６の何れかに記載のデータ処理端末。
【請求項８】
ＣＰＵが外部との間で通信を行うと共にデータ処理を行なうもので、
高速通信インターフェイスを介して受信したデータを、前記ＣＰＵが高速で且つ揮発性の記憶デバイスに記憶させるための高速デバイスファイルシステムと、
低速通信インターフェイスを介して受信したデータを、前記ＣＰＵが低速で且つ不揮発性の記憶デバイスに記憶させるための低速デバイスファイルシステムとを備え、電池駆動されるデータ処理端末において前記ＣＰＵが行うデータ管理方法であって、
予め定めた特定の条件が成立した場合に前記高速記憶デバイス側に未転送データが存在する場合は、当該高速記憶デバイス側より前記低速記憶デバイス側に対するデータ転送処理を実行することを特徴とするデータ処理端末のデータ管理方法。
【請求項９】
前記特定の条件は、前記ＣＰＵに対する特定の処理要求の発生、前記ＣＰＵに対する処理要求が一定時間発生しない場合、電源遮断処理要求の発生、前記電池の残容量低下の何れかであることを特徴とする請求項８記載のデータ処理端末のデータ管理方法。
【請求項１０】
前記ファイルシステムは、ファイルデータを所定容量の単位ブロック毎に管理し、
前記ＣＰＵは、前記データ転送処理の実行中に他の優先順位が高い処理要求が発生した場合は、その時点に転送中である単位ブロックの転送が完了するまで転送処理を継続することを特徴とする請求項８又は９記載のデータ処理端末のデータ管理方法。
【請求項１１】
前記ＣＰＵは、前記データ転送処理の実行中に他の優先順位が高い処理要求が発生したことで当該転送処理を中断させる場合は、前記要求された処理の実行が完了した後、中断させた転送処理を再開することを特徴とする請求項１０記載のデータ処理端末のデータ管理方法。
【請求項１２】
前記ＣＰＵは、成立した特定条件が前記電池の残容量低下である場合は、前記他の処理要求が発生しても前記データ転送処理を優先して完了させ、当該転送処理が完了した後に前記他の処理要求を実行することを特徴とする請求項１０又は１１記載のデータ処理端末のデータ管理方法。
【請求項１３】
前記高速デバイスファイルシステムは、前記高速記憶デバイスに記憶させる受信データに、当該データの属性に応じて前記転送処理における優先順位を設定し、
前記ＣＰＵは、前記転送処理の実行時には、前記優先順位に応じてデータを転送することを特徴とする請求項８乃至１２の何れかに記載のデータ処理端末のデータ管理方法。
【請求項１４】
前記高速デバイスファイルシステムは、前記高速記憶デバイスに記憶させる受信データに、当該データの属性に応じて前記特定条件との対応付けを行い、
前記ＣＰＵは、成立した特定条件の種類に対応するデータを転送することを特徴とする請求項８乃至１３の何れかに記載のデータ処理端末のデータ管理方法。
【請求項１５】
ＣＰＵが外部との間で通信を行うと共にデータ処理を行なうもので、
高速通信インターフェイスを介して受信したデータを、前記ＣＰＵが高速で且つ揮発性の記憶デバイスに記憶させるための高速デバイスファイルシステムと、
低速通信インターフェイスを介して受信したデータを、前記ＣＰＵが低速で且つ不揮発性の記憶デバイスに記憶させるための低速デバイスファイルシステムとを備え、電池駆動されるデータ処理端末において前記ＣＰＵによって実行されるプログラムであって、
予め定めた特定の条件が成立した場合に前記高速記憶デバイス側に未転送データが存在する場合は、当該高速記憶デバイス側より前記低速記憶デバイス側に対するデータ転送処理を実行させることを特徴とするコンピュータプログラム。
【請求項１６】
前記特定の条件は、前記ＣＰＵに対する特定の処理要求の発生、前記ＣＰＵに対する処理要求が一定時間発生しない場合、電源遮断処理要求の発生、前記電池の残容量低下の何れかであることを特徴とする請求項１５記載のコンピュータプログラム。
【請求項１７】
前記ファイルシステムは、ファイルデータを所定容量毎に管理するための単位ブロック毎に取扱い、
前記データ転送処理の実行中に他の優先順位が高い処理要求が発生した場合は、その時点に転送中である単位ブロックの転送が完了するまで転送処理を継続させることを特徴とする請求項１５又は１６記載のコンピュータプログラム。
【請求項１８】
前記データ転送処理の実行中に他の優先順位が高い処理要求が発生したことで当該転送処理を中断させる場合は、前記要求された処理の実行が完了した後、中断させた転送処理を再開させることを特徴とする請求項１７記載のコンピュータプログラム。
【請求項１９】
成立した特定条件が前記電池の残容量低下である場合は、前記他の処理要求が発生しても前記データ転送処理を優先して完了させ、当該転送処理が完了した後に前記他の処理要求を実行させることを特徴とする請求項１７又は１８記載のコンピュータプログラム。
【請求項２０】
前記高速デバイスファイルシステムは、前記高速記憶デバイスに記憶させる受信データに、当該データの属性に応じて前記転送処理における優先順位を設定するものであり、
前記転送処理の実行時には、前記優先順位に応じてデータを転送させることを特徴とする請求項１５乃至１９の何れかに記載のコンピュータプログラム。
【請求項２１】
前記高速デバイスファイルシステムは、前記高速記憶デバイスに記憶させる受信データに、当該データの属性に応じて前記特定条件との対応付けを行うものであり、
成立した特定条件の種類に対応するデータを転送することを特徴とする請求項１５乃至２０の何れかに記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電池駆動され、ＣＰＵが外部との間で通信を行うと共にデータ処理を行なうデータ処理端末，及びそのデータ処理端末のデータ管理方法並びに前記データ処理端末を構成するＣＰＵによって実行されるコンピュータプログラムに関する。
【背景技術】
【０００２】
例えば、バーコードよりデータを読み取って処理するバーコードハンディターミナル（以下、ＢＨＴと称す）は、一般に電池駆動される装置であるため、消費電力を極力抑制することが要求される。従って、アプリケーションにおいて処理すべき条件が成立しない指示待ち状態が所定時間継続すると、ＣＰＵは、システムクロックを停止させたり或いはその周波数を低下させる低消費電力モード（所謂スリープモード）に移行するように構成されている場合が多い。
また、ＢＨＴでは、読み取ったバーコードデータやホストなどの外部装置より送信されたデータを電源が遮断された場合も記憶保持しておくために、フラッシュメモリなどの不揮発性の記憶手段を備えている。そして、ＢＨＴがホストと通信を行うために備えている通信インターフェイスとしてはＲＳ−２３２Ｃなどの低速なシリアル通信が多いが、最近は例えば無線ＬＡＮなどの高速な通信インターフェイスを備えて、大容量のデータを短時間内に転送する場合もある。
【０００３】
しかし、フラッシュメモリは書き込み処理に時間がかかるため高速通信インターフェイスには対応することができず、高速通信インターフェイスを介して受信したデータは高速アクセス可能なＲＡＭに書き込むように構成される。ところが、ＲＡＭに書き込まれたデータは電源遮断時に保持されず堅牢性に欠けるため、データを保持するには最終的に不揮発性の記憶手段に転送する必要がある。すると、通信処理自体は短時間内で完了するがその後のデータ転送処理に時間がかかることになる。従って、データ転送処理中にユーザがその他の処理の実行を要求した場合は当該処理要求が実行待ちとなってしまうため、応答性が悪くなるという問題がある。
【０００４】
ユーザのアプリケーションに応じて、データの書込み先を高速なＲＡＭ，低速なフラッシュメモリの何れかに選択させることも考えられるが、その場合、ユーザは煩雑なデータ管理を強いられることになり、負担が重くなってしまう。
例えば、特許文献１には、ＢＨＴに使用されるフラッシュメモリについて最適化処理を行うタイミングを、ユーザに対して処理が停滞したかのような印象を与えることなく実行させるようにした技術が開示されている。
【特許文献１】特開２００４−１１０１２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１は、フラッシュメモリのデータ処理タイミングに関するものであり、ＲＡＭとフラッシュメモリとを併用する場合の技術課題について解決を図るものではない。
本発明は上記事情に鑑みてなされたものであり、その目的は、高速で揮発性の記憶デバイスと低速で不揮発性の記憶デバイスとを併用する場合に、データを記憶保持するため必要なデータ転送処理を、ユーザに使用感の低下を感じさせることなく実行させることができるデータ処理端末，及びそのデータ処理端末のデータ管理方法，並びに前記データ処理端末を構成するＣＰＵによって実行されるコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
請求項１記載のデータ処理端末によれば、ＣＰＵは、予め定めた特定の条件が成立した場合に高速記憶デバイス側に未転送データが存在すると、当該高速記憶デバイス側より低速記憶デバイス側に対するデータ転送処理を実行する。即ち、高速通信インターフェイスを介して受信したデータが高速記憶デバイスに記憶されると、その時点で無条件に低速記憶デバイス側に対する転送処理が行われることはなく、特定の条件が成立した場合にだけ転送処理が行われる。
ここで、「特定の条件」とは、例えば、ユーザがデータ処理端末に対して操作を行っていない状態が所定期間継続したことを示すものや、ユーザの操作に対して即時に応答を返す必要がない状態、又は、高速記憶デバイス上のデータを低速記憶デバイス側に緊急に転送する必要がある状態などを示すものである。従って、ユーザがデータ処理端末を操作した場合にデータ転送処理が行われていることで当該操作に対する応答が遅れてしまい、処理が滞る感じをユーザに対して与えることを極力回避でき、良好な使用感を与えることができる。
【０００７】
請求項２記載のデータ処理端末によれば、特定の条件を、ＣＰＵに対する特定の処理要求の発生、ＣＰＵに対する処理要求が一定時間発生しない場合、電源遮断処理要求の発生、電池の残容量低下の何れかとする。即ち、これらの条件が成立した場合は、上述したようにユーザの無操作状態の継続、操作に対する即時応答が不要な状態や、或いは、データの緊急転送が必要な場合に該当する。従って、これらの条件の何れかが成立した場合に高速記憶デバイス側より低速記憶デバイス側にデータを転送すれば、ユーザの使用感の低下を確実に防止することができる。
【０００８】
請求項３記載のデータ処理端末によれば、記憶デバイスのファイルシステムはファイルデータを単位ブロック毎に管理し、ＣＰＵは、データ転送処理の実行中に他の優先順位が高い処理要求が発生した場合は、その時点に転送中となっている単位ブロックの転送が完了するまで転送処理を継続する。従って、転送処理が任意の時点で中断することがなく、他の処理が割り込んだ結果、転送処理が中断しても未転送のデータ量と転送後のデータ量とは単位ブロック毎になるので、その後のデータ管理を容易に行うことができる。
【０００９】
請求項４記載のデータ処理端末によれば、ＣＰＵは、データ転送処理の実行中に他の優先順位が高い処理要求が発生したことで当該転送処理を中断させる場合は、要求された処理の実行が完了した後、中断させた転送処理を再開する。従って、データ転送処理が不完全な状態で中断することがない。
【００１０】
請求項５記載のデータ処理端末によれば、ＣＰＵは、成立した特定条件が電池の残容量低下である場合は、他の処理要求が発生してもデータ転送処理を優先して完了させ、当該転送処理が完了した後に他の処理要求を実行する。即ち、電池の残容量が低下した場合は、高速記憶デバイス上に存在するデータが失われる可能性が極めて高いので、データ転送処理を優先して実行することで、データの記憶保持を確実に行うことができる。
【００１１】
請求項６記載のデータ処理端末によれば、高速デバイスファイルシステムは、高速記憶デバイスに記憶させる受信データにその属性に応じた優先順位を設定し、ＣＰＵは、設定されている優先順位に応じてデータ転送を行なう。従って、特定条件が成立した場合は、優先度の高いデータから低速記憶デバイス側に転送が行なわれるので、重要性が高いデータが記憶保持される確率を高めることができる。
【００１２】
請求項７記載のデータ処理端末によれば、高速デバイスファイルシステムは、高速記憶デバイスに記憶させる受信データにその属性に応じて特定条件との対応付けを行い、ＣＰＵは、成立した特定条件の種類に対応するデータを転送する。従って、成立した条件に応じて転送するのに最適なデータを低速記憶デバイス側に転送させて記憶保持させることができる。
【発明を実施するための最良の形態】
【００１３】
（第１実施例）
以下、本発明を、バーコード（ＱＲコード（登録商標）などの２次元コードを含んでいても良い）を光学的に読取るバーコードハンディターミナル（ＢＨＴ）に適用した場合の第１実施例について、図１乃至図４を参照して説明する。図４は、本実施例のＢＨＴ（データ処理端末）１を中心とする電気的構成の概略を示す機能ブロック図である。この図４に示すように、ＢＨＴ１は、ＣＰＵ２を中心に構成されている。
ＣＰＵ２には、受光センサを備えて構成された受光部３、ＬＥＤ等を備えて構成された照明部４、受光部３からの受光信号をＡＤ変換部５を通じて受ける画像メモリ部６、外部装置たるパーソナルコンピュータ（ＰＣ，パソコン）１５との間でデータを送受信するための高速通信インターフェイス（Ｉ／Ｆ）部７Ｆ，低速通信インターフェイス（Ｉ／Ｆ）部７Ｓ、メモリ部８、液晶ディスプレイ等からなる表示部９、各種の操作キーを備えてなる操作部１０などが接続されている。
【００１４】
高速通信インターフェイス部７Ｆとしては、例えば、無線ＬＡＮやEthernet（登録商標）などであり、低速通信インターフェイス部７Ｓとしては、例えばＲＳ−２３２ＣやＩｒＤＡなどが使用される。また、上記メモリ部８は、ＲＡＭ（高速記憶デバイス）１２と、フラッシュメモリ（低速記憶デバイス）１３とから構成されている。フラッシュメモリ１３には、ＣＰＵ２にＢＨＴ１としての処理を実現させるための制御プログラム（コンピュータプログラム）１７やユーザデータなどが記憶される。ＲＡＭ１２は、前記制御プログラム１７を動作させるためのＲＡＭとして使用したり（「制御プログラム用ＲＡＭ」）、後述するファイルシステムの動作領域などに使用される（「ユーザデータ」）。
また、ＢＨＴ１内には、ＣＰＵ２などにバッテリ（電池）１６の電源を供給するための電源部１４が設けられている。電源部１４は、バッテリ１６の電圧も監視しており、その電圧が低下した場合には、ＣＰＵ２に対して残容量低下検出信号を出力するようになっている。
【００１５】
図３は、ＢＨＴ１がパソコン１５側より通信インターフェイス部７Ｆ，７Ｓを介してデータをダウンロードする状態を概念的に示すものである。即ち、高速通信インターフェイス部７Ｆを介してデータをダウンロードする場合は、アクセススピードが速いＲＡＭ１２にデータが書き込まれ、低速通信インターフェイス部７Ｓを介してデータをダウンロードする場合は、アクセススピードが遅いフラッシュメモリ１３にデータが書き込まれて保持される。そして、ＲＡＭ１２に書き込まれたデータは電源が遮断されるとバックアップされないため、消失させてはいけないデータは、最終的にフラッシュメモリ１３側に転送して保持する必要がある。
【００１６】
次に、本実施例の作用について図１及び図２も参照して説明する。図１は、ＣＰＵ２がパソコン１５側よりダウンロードしたデータに関する処理を中心として示すフローチャートである。ＣＰＵ２は、高速，低速通信インターフェイス部７Ｆ，７Ｓの何れかを介してデータを受信するか（ステップＳ１，Ｓ２）、又は転送起動イベントが発生するまで（ステップＳ３）待機している。
【００１７】
そして、高速通信インターフェイス部７Ｆを介してデータを受信すると（ステップＳ１，「ＹＥＳ」）、ＣＰＵ２はＲＡＭ１２に記憶するデータの管理を行うソフトウエアであるＲＡＭファイルシステムを起動して、受信したデータをＲＡＭ１２に単位ブロック毎に記憶させる。ここで、「単位ブロック」とは、例えばファイルデータを４ｋＢ，８ｋＢなどの容量を単位として管理するデータブロックである。また、低速通信インターフェイス部７Ｓを介してデータを受信すると（ステップＳ２，「ＹＥＳ」）、ＣＰＵ２はフラッシュメモリ１３に記憶するデータの管理を行うソフトウエアであるフラッシュファイルシステムを起動して、受信したデータをフラッシュメモリ１３に単位ブロック毎に記憶させる（ステップＳ５）。
【００１８】
また、ステップＳ３における「転送起動イベント」とは、ＲＡＭ１２上に存在するデータをフラッシュメモリ１３側に転送する処理を起動するためのイベント（特定条件）である。具体的には、例えば、
（１）ユーザによってＢＨＴ１が操作されない期間が所定期間に達したため、
ＣＰＵ２がスリープモードに移行する場合
（２）或いは、ＣＰＵ２がスリープモードに移行した時点から、更に無操作期間が継続
したため、ＢＨＴ１の電源をＯＦＦする場合（所謂オートパワーＯＦＦ機能）
（３）ユーザの操作によってＢＨＴ１のパワーＯＦＦが行われる場合
（４）アプリケーションプログラムにおいて使用される特定のステートメント
（例えば、マスタファイルのダウンロード）を実行する場合
等である。
【００１９】
そして、斯様な転送起動イベントの内何れかが発生すると（ステップＳ３，「ＹＥＳ」）、ＣＰＵ２は、ＲＡＭ１２上に未転送データがあるか否かを判断し（ステップＳ６）、未転送データがあれば（「ＹＥＳ」）そのデータをフラッシュメモリ１３に転送する（ステップＳ７）。尚、ステップＳ６における未転送データであるか否かの判断は、例えば単位ブロック毎に転送済みであるか否かを判別するためのフラグを設けるなどすれば良い。そして、転送処理が終了すると、ステップＳ３で発生を認識した転送起動イベントの処理を実行する（ステップＳ８）。
【００２０】
即ち、転送起動イベントとして例示した（１）〜（４）の内、（１），（２）については、ユーザによる操作が行われない蓋然性が高い状態にあると判断される場合であり、（３）については、ユーザの意思によってＢＨＴ１の動作が停止される場合である。従って、これらの場合にデータ転送処理を実行しても、ユーザに処理の停滞感を与えてしまうことはない（或いは、その可能性は極めて低い）。
また、（４）のケースについては、マスタファイルの容量が比較的大きいため、ホストたるパソコン１５側よりＢＨＴ１へのダウンロードには相当の時間を要することが予めユーザにも認識されている（特許文献１参照）。従って、そのダウンロードに付随してデータ転送処理を行なったとしても、ユーザが処理停滞感を感じる可能性は低い。
【００２１】
図２は、ＣＰＵ２がステップＳ７において行うデータ転送処理の詳細を示すフローチャートである。ＣＰＵ２は、ＲＡＭ１２上の未転送データを、単位ブロック毎に転送開始する（ステップＳ１１）。そして、単位ブロックの転送中には（ステップＳ１２，「ＮＯ」）、他の処理要求が発生したか否かをチェックしており（ステップＳ１３）、当該処理要求が発生した場合は（「ＹＥＳ」）処理要求フラグをＲＡＭ１２若しくは内部レジスタのフラグ格納領域にセットしておく（ステップＳ１４）。
ＣＰＵ２は、１つの単位ブロックの転送が終了した時点で（ステップＳ１２，「ＹＥＳ」）処理要求フラグがセットされているか否かを判断し（ステップＳ１５）、当該フラグがセットされていなければ（「ＮＯ」）全ての未転送データの転送が完了したか否かを判断する（ステップＳ１６）。そして、転送が完了していなければ（「ＮＯ」）ステップＳ１１に戻り、次の単位ブロックの転送を開始する。
【００２２】
一方、ステップＳ１５において処理要求フラグがセットされている場合（「ＹＥＳ」）、ＣＰＵ２は、ペンディングとなった処理要求の優先順位がデータ転送処理よりも高いか否かを判断する（ステップＳ１８）。そして、優先順位が高ければ（「ＹＥＳ」）、要求に応じた処理を実行してから（ステップＳ１９）処理要求フラグをリセットし（ステップＳ２０）、ステップＳ１６に移行する。また、前記優先順位がデータ転送処理以下である場合は（ステップＳ１８，「ＮＯ」）ステップＳ１６に移行して、データ転送処理を継続する。
【００２３】
ステップＳ１６において、全ての未転送データの転送が終了すると（「ＹＥＳ」）、ＣＰＵ２は、この時点でも処理要求フラグがセットされているか否かを判断する（ステップＳ１７）。即ち、ステップＳ１３で発生した他の処理要求の優先順位がデータ転送処理以下である場合、その処理要求はペンディングとなっており、処理要求フラグはセットされたままになっているからである。処理要求フラグがセットされていなければ（「ＮＯ」）処理を終了してリターンする。処理要求フラグがセットされていれば（「ＹＥＳ」）、ステップＳ１９，Ｓ２０と同様に、要求に応じた処理を実行してから（ステップＳ２１）処理要求フラグをリセットして（ステップＳ２２）リターンする。
【００２４】
以上のように本実施例によれば、ＢＨＴ１の制御を行うＣＰＵ２は、予め定めた転送起動イベントが発生した際に、ＲＡＭ１２上に未転送データが存在する場合はフラッシュメモリ１３に対するデータ転送処理を実行するようにした。従って、ユーザがＢＨＴ１を操作した場合に，データ転送処理が行われていることで当該操作に対する応答が遅れてしまい、処理の停滞感をユーザに対して与えることを極力回避でき、良好な使用感を提供することができる。
また、データ転送を起動するイベントを、（１）ＣＰＵ２がスリープモードに移行する場合、（２）ＢＨＴ１をオートパワーＯＦＦする場合、（３）ユーザの操作によってＢＨＴ１のパワーＯＦＦが行われる場合、（４）アプリケーションプログラムで特定のステートメント実行する場合の何れかとしたので、これらの何れかが成立した場合にデータ転送を実行すれば、ユーザの使用感の低下を確実に防止することができる。
【００２５】
そして、ＣＰＵ２によるファイルシステムはデータを単位ブロック毎に管理し、データ転送処理の実行中に他の優先順位が高い処理要求が発生した場合は、その時点に転送中である単位ブロックの転送が完了するまで転送処理を継続するので、転送処理が任意の時点で中断することがなく、他の処理が割り込んだ結果転送処理が中断しても未転送のデータ量と転送後のデータ量とは単位ブロック毎になるので、その後のデータ管理を容易に行うことができる。
更に、ＣＰＵ２は、データ転送処理の実行中に他の優先順位が高い処理要求が発生したことで当該転送処理を中断させる場合は、要求された処理の実行が完了した後、中断させた転送処理を再開するので、データ転送処理が不完全な状態で中断することがない。また、優先順位が同等以下の処理要求の場合は、データ転送処理が完了した後に要求された処理を実行するので、各処理について設定されている優先順位に基づいて適切に処理を行なうことができる。
【００２６】
（第２実施例）
図５は本発明の第２実施例である。第２実施例は、図１に示すフローチャートのステップＳ３において転送起動イベントを発生させるケースの一例であり、ＣＰＵ２のスリープモードへの移行、及びＢＨＴ１のオートパワーＯＦＦ処理を示すものである。図５のフローチャートは第２実施例の要旨に係る部分のみを示しており、ＣＰＵ２が図１に示す処理と並行して処理を行なっている。
【００２７】
即ち、ＣＰＵ２は、ユーザによる操作などを含む何らかの処理要求が発生するまで一定時間内で待機しており（ステップＳ３１，Ｓ３２）、処理要求が発生すれば（ステップＳ３１，「ＹＥＳ」）要求された処理を実行する（ステップＳ３３）。そして、処理要求が発生しないまま一定時間が経過すると（ステップＳ３２，「ＹＥＳ」）、ＣＰＵ２はスリープモードに移行することに応じて転送起動イベントを発生する（ステップＳ３４）。すると、この段階で、例えばＣＰＵ２に対する割り込みが発生し、図１のステップＳ３において「ＹＥＳ」と判断され、ＲＡＭ１２上に未転送データが存在する場合はデータ転送処理が開始される。
【００２８】
そして、図１のフローチャートに従ってデータ転送処理が終了するか或いは当該処理が実行されなかった場合は、ＣＰＵ２は例えばシステムロックの供給を停止させるなどしてスリープモードに移行する（ステップＳ３５）。ここでのスリープモードへの移行は、図１におけるステップＳ８の「イベント実行」に対応する。ＣＰＵ２、或いはＣＰＵ２を含むマイコンシステムは、ＣＰＵ２がスリープモードに移行している期間内においても、処理要求が発生したか否かを判断している（ステップＳ３６）。この場合、ＣＰＵ２が間歇的にウェイクアップして上記判断を行っても良いし、或いは、処理要求の発生に伴ってハードロジックによりシステムクロックの供給を開始させ、ＣＰＵ２をウェイクアップさせても良い。
ステップＳ３７において一定時間が経過する前に処理要求が発生すると（ステップＳ３６，「ＹＥＳ」）、ＣＰＵ２はウェイクアップして（ステップＳ３９）ステップＳ３３に移行する。また、ステップＳ３７において更に一定時間が経過した場合は（「ＹＥＳ」）、ＢＨＴ１自体のパワーＯＦＦ処理を行ない、ＣＰＵ２に対する電源供給も停止させる（ステップＳ３８）。この場合は、いわゆる「オートパワーＯＦＦ」処理となる。
【００２９】
（第３実施例）
図６は本発明の第３実施例である。第３実施例は、第２実施例と同様に図１に示すフローチャートのステップＳ３において転送起動イベントを発生させるケースの一例であり、ユーザの操作によってＢＨＴ１のパワーＯＦＦ処理が行なわれる場合を示すものである。即ち、ユーザがＢＨＴ１の操作部１０におけるパワースイッチをＯＦＦ操作すると、ＣＰＵ２は、先ず、第２実施例におけるステップＳ３４と同様に転送起動イベントを発生させる（ステップＳ４１）。それから、表示部９に、パワーＯＦＦ処理中であることを示すメッセージ［ＰＷ−ＯＦＦ処理中］を表示させる（ステップＳ４２）。
それから、ＣＰＵ２は、第１，第２実施例と同様に、ＲＡＭ１２上に未転送データが存在する場合はデータ転送処理を開始する。そして、転送処理が終了若しくは処理不履行の場合は、表示部９の表示をＯＦＦさせた後（ステップＳ４３）、ステップＳ３８と同様にＢＨＴ１次体のパワーＯＦＦ処理を行なう（ステップＳ４４）。
【００３０】
以上のように第３実施例によれば、ユーザの操作によってＢＨＴ１のパワーＯＦＦ処理が行なわれる場合、ＣＰＵ２は、表示部９にパワーＯＦＦ処理中であることを示すメッセージを表示させてから必要に応じてデータ転送処理を実行し、データ転送処理が完了してから表示部９の表示と共にＢＨＴ１の電源をＯＦＦさせるようにした。従って、ユーザに対して、パワーＯＦＦする前に必要な処理を実行していることを意識させることができ、例えば、データ転送処理を行なっている途中にＢＨＴ１からバッテリ１６を外されてしまうような事態を回避することができる。
【００３１】
（第４実施例）
図７及び図８は本発明の第４実施例を示すものである。図７は、第１実施例における図１相当図であるが、ＣＰＵ２は、ステップＳ４の実行後に、ＲＡＭ１２に記憶させるデータの内容（属性）に応じて転送の優先順位を設定する（ステップＳ２３）。図８は、ＲＡＭ１２に記憶されるデータイメージの一例を示すものである。ＲＡＭ１２に記憶されるデータとしては、例えば、（Ａ）ユーザプログラム、（Ｂ）ユーザデータ（読取り専用）、（Ｃ）ユーザデータ（読み書き可能）などがある。
【００３２】
具体的には、（Ａ）はユーザアプリケーションに応じてダウンロードされるＢＨＴ１の動作プログラムであり、（Ｂ）はマスターデータ（商品名などが入った検索用データ）やユーザアプリケーションに応じて使用されるデータ、（Ｃ）はＢＨＴ１によって読取ったバーコード，２次元コードデータや、棚卸時の数量、確認フラグなど、或いは、アプリケーション設定ファイル（ユーザ名、パスワード、通信設定など）である。即ち、（Ｃ）の一部には、パソコン１５側よりダウンロードしたものではないデータも含まれている。
そして、例えば図８に示すように、各データ（Ａ），（Ｂ），（Ｃ）に対して、転送優先順位「３」，「２」，「１」を設定する（この場合、数字が小さいほど順位が高い）。この優先順位は、例えばユーザにとって必要性が高い情報ほど順位が高くなるように設定する。
【００３３】
ステップＳ７に替わるステップＳ２４において、ＣＰＵ２は、ＲＡＭ１２上の未転送データをフラッシュメモリ１３に転送する場合は、付与されている優先順位が高いデータから順次転送を行なうようにする。即ち、図７の場合はデータ（Ｃ），（Ｂ），（Ａ）の順で転送が行われる。この時、図２のステップＳ１１では、各データ（単位ブロック群）の優先順位を判別して、順位が高いものから転送を開始することになる。
以上のように第４実施例によれば、ＣＰＵ２によるＲＡＭファイルシステムは、ＲＡＭ１２に記憶させる受信データにその属性に応じた優先順位を設定し、ＣＰＵ２は、設定されている優先順位に応じてデータ転送を行なうようにした。従って、転送起動イベントが発生した場合は、優先度の高いデータからフラッシュメモリ１３側に転送が行なわれるので、重要性が高いデータが記憶保持される確率を高めることができる。
【００３４】
（第５実施例）
図９は、本発明の第５実施例を示すものである。図９は、第１実施例の図２相当図であり、ＣＰＵ２は、ステップＳ１２において「ＹＥＳ」と判断すると、ステップＳ３で発生した転送起動イベントが、データ転送処理を緊急に行なう必要があることを示すものであるか否かを判断する（ステップＳ２５）。ここで、データ転送処理を緊急に行なう必要がある場合とは、例えば、電源部１４がバッテリ１６の残容量低下を検出した場合などである。即ち、バッテリ１６の電圧が低下すると、ＲＡＭ１２に記憶されているデータのバックアップが確保されずに消失してしまうおそれがある。従って、未転送データは早急にフラッシュメモリ１３側に転送する必要がある。
【００３５】
そこで、ＣＰＵ２は、ステップＳ２５において「ＹＥＳ」と判断すると、ステップＳ１５を実行することなくステップＳ１６に移行し、データ転送処理を最優先で実行する。そして、転送処理中に発生した他の処理要求については、全てのデータ転送が完了した後に（ステップＳ１６，「ＹＥＳ」）、未だ電源電圧の維持に余裕がある場合はステップＳ２１において実行されることになる。
以上のように第５実施例によれば、ＣＰＵ２は、発生した転送起動イベントが電池１６の残容量低下である場合は、他の処理要求が発生してもデータ転送処理を優先して完了させ、当該転送処理が完了した後に他の処理要求を実行するので、ＲＡＭ１２上に存在するデータが失われる可能性が極めて高い場合にデータ転送処理を優先実行することで、データの記憶保持を確実に行うことができる。
【００３６】
本発明は上記し、又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形が可能である。
データ転送処理にＤＭＡ（Direct Memory Access）コントローラを使用しても良い。尚、ＤＭＡ転送の途中において、図２に示すように転送を中断させる必要がある場合は、ＤＭＡをコントロールする制御ソフトにいわゆる「トランザクション性」を有する形で実装すれば良い。
第１実施例において例示した転送起動イベント（１）〜（４）は、何れか１つであっても、また、個別のアプリケーションに応じて必要となるものを適宜組み合わせて採用しても良い。
図２において、ステップＳ１７，Ｓ１８，Ｓ２１，Ｓ２２を削除し、優先順位を考慮することなく、転送処理中に発生した処理要求は、１つ単位ブロックの転送が終了した時点で逐次実行するようにしても良い。或いは、ステップＳ１５，Ｓ１８，Ｓ１９，Ｓ２０を削除し、データ転送処理を最優先として、転送処理中に発生した処理要求は、全ての転送が完了した後に行うようにしても良い。
第２実施例の図５において、転送起動イベントを発生させる処理ステップは、ステップＳ３８の直前に配置しても良い。この場合、データ転送処理を実行するにはＣＰＵ２を一旦ウェイクアップさせる必要がある。また、ステップＳ３４の時点と双方で転送起動イベントを発生させても良い。
【００３７】
また、第２実施例において、ＢＨＴ１の操作が一定時間なかった場合は、ＣＰＵ２をスリープモードに移行させることなく転送起動イベントだけを発生させても良い。また、その転送起動イベントを発生させた後、更に無操作期間が一定時間継続すると、ＣＰＵ２をスリープモードに移行させるようにしても良い。
第４実施例において、ＲＡＭ１２上のデータに内容に応じて転送優先順位を設定することに替えて、各データの転送を行うタイミング、即ち、特定の転送起動イベントが発生した場合に転送を行うようにしても良い。その場合、ステップＳ２３における処理を「データ内容に応じて転送起動イベントを設定」として、ステップＳ２４における処理を「ＲＡＭ上のデータを、発生した転送起動イベントに応じてフラッシュメモリに転送」とすれば良い。例えば、第４実施例における転送優先順位が高いデータには、発生頻度が比較的高い起動イベントを割り当てるようにする。斯様に構成すれば、発生した起動イベントに応じて転送するのに最適なデータをフラッシュメモリ１３側に転送させて記憶保持させることができる。
データ転送は、必ずしも単位ブロック毎管理して行う必要はなく、未転送データを１つのファイルとして取り扱っても良い。
ＢＨＴ１に限ることなく、電池駆動され、ＣＰＵが外部との間で通信を行うと共にデータ処理を行なうように構成されるデータ処理端末であれば広く適用が可能である。
【図面の簡単な説明】
【００３８】
【図１】本発明を、バーコードハンディターミナル（ＢＨＴ）に適用した場合の第１実施例であり、ＢＨＴのＣＰＵがパソコン側よりダウンロードしたデータに関する処理を中心として示すフローチャート
【図２】ＣＰＵが図１のステップＳ７において行うデータ転送処理の詳細を示すフローチャート
【図３】ＢＨＴがパソコン側より通信インターフェイス部を介してデータをダウンロードする状態を概念的に示す図
【図４】ＢＨＴを中心とする電気的構成の概略を示す機能ブロック図
【図５】本発明の第２実施例であり、ＣＰＵがスリープモードへ移行する場合、及びＢＨＴのオートパワーＯＦＦ処理を示すフローチャート
【図６】本発明の第３実施例であり、ユーザの操作によってＢＨＴのパワーＯＦＦ処理が行なわれる場合を示すフローチャート
【図７】本発明の第４実施例を示す図１相当図
【図８】ＲＡＭに記憶されるデータイメージの一例を示す図
【図９】本発明の第５実施例を示す図２相当図
【符号の説明】
【００３９】
図面中、１はバーコードハンディターミナル（データ処理端末）、２はＣＰＵ、７Ｆは高速通信インターフェイス部、７Ｓは低速通信インターフェイス（Ｉ／Ｆ）部、１２はＲＡＭ（高速記憶デバイス）、１３はフラッシュメモリ（低速記憶デバイス）、１５はパーソナルコンピュータ（外部装置）、１６はバッテリ（電池）、１７は制御プログラム（コンピュータプログラム）を示す。
【図１】
2006178858.tif 000003
【図２】
2006178858.tif 000004
【図３】
2006178858.tif 000005
【図４】
2006178858.tif 000006
【図５】
2006178858.tif 000007
【図６】
2006178858.tif 000008
【図７】
2006178858.tif 000009
【図８】
2006178858.tif 000010
【図９】
2006178858.tif 000011