(57)【要約】【課題】例えば通常のエラー訂正機能を有するメモリ装置が採用される場合であっても、ビットエラーに関して適切に対処することが容易となるデータ処理装置を提供する。【解決手段】メモリからデータの読出しを行う読出部と、前記読出しに要する時間を計測する計測部と、前記計測の結果に応じて、前記メモリへ前記読出したデータの書込みを行う書込部と、を備えたデータ処理装置とする。【選択図】図３
2015087810.tif 000002
【特許請求の範囲】
【請求項１】
メモリからデータの読出しを行う読出部と、
前記読出しに要する時間を計測する計測部と、
前記計測の結果に応じて、前記メモリへ前記読出したデータの書込みを行う書込部と、
を備えたデータ処理装置。
【請求項２】
前記読出部は、
エラー訂正処理の対象となる前記メモリから、前記データの読出しを行うものであり、
前記書込部は、
前記計測された時間が所定の基準時間を超えたか否かの判別を実行し、該判別の結果に応じて前記書込みを行う請求項１に記載のデータ処理装置。
【請求項３】
前記メモリはフラッシュメモリであり、
前記計測部は、
前記読出しに要する時間を、前記フラッシュメモリのブロックごとに計測し、
前記書込部は、
前記ブロックごとに前記判別を実行し、前記計測された時間が前記基準時間を超えたブロックから読出されたデータについて、前記書込みを行う請求項２に記載のデータ処理装置。
【請求項４】
メモリからデータの読出しを行う読出部と、
前記メモリのビットエラーの発生し易さに関する所定条件が、満たされたか否かを判別する条件判別部と、
前記判別の結果に応じて、前記メモリへ前記読出したデータの書込みを行う書込部と、
を備えたデータ処理装置。
【請求項５】
前記メモリは、エラー訂正処理の対象となるフラッシュメモリであり、
前記所定条件は、
Ｘ線照射、高温状態、および経年変化の少なくとも一つによる、前記ビットエラーの発生し易さに関する条件である請求項４に記載のデータ処理装置。
【請求項６】
機内モードのオン／オフ切替機能を有した機器に設けられる請求項５に記載のデータ処理装置であって、
前記所定条件は、
前記機内モードがオンにされた回数が、所定回数に達したときに満たされる条件であるデータ処理装置。
【請求項７】
電池を駆動電源とした機器に設けられる請求項１から請求項６の何れかに記載のデータ処理装置であって、
前記書込部は、
前記電池の残量が所定の基準値を下回っていると、前記読出したデータの書込みを不実行とするデータ処理装置。
【請求項８】
請求項１から請求項７の何れかに記載のデータ処理装置と、
前記メモリを有し、該メモリを対象としたエラー訂正処理を行うメモリ装置と、
を備えたメモリシステム。
【請求項９】
メモリからデータの読出しを行う第１ステップと、
前記読出しに要する時間を計測する第２ステップと、
前記計測の結果に応じて、前記メモリへ前記読出したデータの書込みを行う第３ステップと、
を含むデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリからデータの読出しを行うデータ処理装置、これを備えたメモリシステム、およびデータ処理方法に関する。
【背景技術】
【０００２】
従来、フラッシュメモリとコントローラを含むｅＭＭＣ［embedded MultiMediaCard］のように、エラー訂正機能（ＥＣＣ［Error Check and Correct］等の機能）を有するメモリ装置が利用されている。このようなメモリ装置は、ある程度のビットエラーが生じていても自主的に訂正し、正しいデータを出力することが可能である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３１７６０１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし上述したメモリ装置であっても、ビットエラーの度合が大きくなるとエラー訂正処理に要する時間が増大し、メモリ装置からのデータ読出しが遅くなる。またビットエラーの度合が許容限度を超えると、エラー訂正は不可となってしまい、正常な動作が行われなくなる。このようなビットエラーの要因としては、Ｘ線照射、高温状態、或いは経年変化等により、メモリセル内の電荷が抜けることが挙げられる。
【０００５】
上述したメモリ装置は、タブレット端末、デジタルカメラ、或いは携帯電話等といった携帯型の電子機器に搭載されることがある。そのため、このような電子機器が空港に持ち込まれると、空港でのＸ線検査がビットエラーの原因となる虞もある。また近年のフラッシュメモリは、ＳＬＣ［Single Level Cell］のタイプよりもＭＬＣ［Multi Level Cell］のタイプが主流となってきており、ビットエラーが発生し易い傾向にある。
【０００６】
なおメモリ装置に設けられ得る機能として、コントローラがエラー訂正の回数をカウントし、訂正回数が上限値を超えた場合に、エラー訂正済みのデータをフラッシュメモリへ書込む機能が挙げられる。このようなデータ書込み機能が設けられたメモリ装置によれば、ビットエラーの度合が過大とならないようにするためのデータ書込みを、出来るだけ過不足なく行うことが可能となる。
【０００７】
但し、このような利点はメモリ装置に依存するものであり、上記のデータ書込み機能を備えたメモリ装置が採用される場合に限られる。そのため通常の（上記のデータ書込み機能を備えていない）エラー訂正機能を有するメモリ装置が採用される場合には、他の手法により、ビットエラーが過大とならないようにすることが必要となる。
【０００８】
しかし電子機器内においてメモリ装置からデータを読み出すＣＰＵ等は、メモリ装置側で既にエラー訂正済みのデータを読み出すことになるため、エラー訂正の回数等を直接的に認識することは出来ない。従って、通常のエラー訂正機能を有するメモリ装置が採用される場合には、ビットエラーの度合が過大とならないよう適切に対処することは容易ではない。
【０００９】
本発明は上記問題点に鑑み、例えば通常のエラー訂正機能を有するメモリ装置が採用される場合であっても、ビットエラーに関して適切に対処することが容易となるデータ処理装置、これを備えたメモリシステム、およびデータ処理方法の提供を目的とする。
【課題を解決するための手段】
【００１０】
本発明に係るデータ処理装置は、メモリからデータの読出しを行う読出部と、前記読出しに要する時間を計測する計測部と、前記計測の結果に応じて、前記メモリへ前記読出したデータの書込みを行う書込部と、を備えた構成とする。本構成によれば、例えば通常のエラー訂正機能を有するメモリ装置が採用される場合であっても、ビットエラーに関して適切に対処することが容易となる。
【００１１】
また上記構成としてより具体的には、前記読出部は、エラー訂正処理を行うメモリ装置内の前記メモリから、前記データの読出しを行うものであり、前記書込部は、前記計測された時間が所定の基準時間を超えたか否かの判別を実行し、該判別の結果に応じて前記書込みを行う構成としてもよい。なおここでのエラー訂正処理は、例えばＥＣＣの機能によるエラー訂正処理のように、ビットエラーを訂正する処理のことである。
【００１２】
また上記構成としてより具体的には、前記メモリはフラッシュメモリであり、前記計測部は、前記読出しに要する時間を、前記フラッシュメモリのブロックごとに計測し、前記書込部は、前記ブロックごとに前記判別を実行し、前記計測された時間が前記基準時間を超えたブロックから読出されたデータについて、前記書込みを行う構成としてもよい。本構成によれば、ビットエラーの改善が不要なブロックに関してもデータ書込が行われる場合に比べて、データ書込を効率良く実行することが可能となる。
【００１３】
また本発明に係る他の形態のデータ処理装置は、メモリからデータの読出しを行う読出部と、前記メモリのビットエラーの発生し易さに関する所定条件が、満たされたか否かを判別する条件判別部と、前記判別の結果に応じて、前記メモリへ前記読出したデータの書込みを行う書込部と、を備えた構成とする。本構成によれば、例えば通常のエラー訂正機能を有するメモリ装置が採用される場合であっても、ビットエラーに関して適切に対処することが容易となる。
【００１４】
また上記構成としてより具体的には、前記メモリは、エラー訂正処理を行うメモリ装置内のフラッシュメモリであり、前記所定条件は、Ｘ線照射、高温状態、および経年変化の少なくとも一つによる、前記ビットエラーの発生し易さに関する条件である構成としてもよい。
【００１５】
また、機内モードのオン／オフ切替機能を有した機器に設けられる上記構成のデータ処理装置において、前記所定条件は、前記機内モードがオンにされた回数が、所定回数に達したときに満たされる条件である構成としてもよい。
【００１６】
また、電池を駆動電源とした機器に設けられる上記構成のデータ処理装置において、前記電池の残量が基準値を下回っているか否かに応じて、前記書込みを禁止する構成としてもよい。本構成によれば、駆動電力の不足によってデータの書込みが途切れてしまい、データが消失してしまうといった不具合を防ぐことが可能となる。
【００１７】
また本発明に係るメモリシステムは、上記構成のデータ処理装置と、前記メモリを有し、該メモリを対象としたエラー訂正処理を行うメモリ装置と、を備えた構成とする。本構成によれば、上記構成のデータ処理装置の利点を享受することが可能となる。
【００１８】
また本発明に係るデータ処理方法は、メモリからデータの読出しを行う第１ステップと、前記読出しに要する時間を計測する第２ステップと、前記計測の結果に応じて、前記メモリへ前記読出したデータの書込みを行う第３ステップと、を含むデータ処理方法とする。本方法によれば、例えば通常のエラー訂正機能を有するメモリ装置が採用される場合であっても、ビットエラーに関して適切に対処することが容易となる。
【発明の効果】
【００１９】
本発明に係るデータ処理装置或いはデータ処理方法によれば、例えば通常のエラー訂正機能を有するメモリ装置が採用される場合であっても、ビットエラーに関して適切に対処することが容易となる。また本発明に係るメモリシステムによれば、本発明に係るデータ処理装置の利点を享受することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本実施形態に係る通信機器のブロック図である。
【図２】メモリセルにおけるデータの記録状態に関する説明図である。
【図３】第１実施形態に係るデータ書込動作に関するフローチャートである。
【図４】第２実施形態に係る書換ブロック判定動作に関するフローチャートである。
【図５】書換ビットに関する説明図である。
【図６】第２実施形態に係るデータ書込動作に関するフローチャートである。
【図７】第３実施形態に係る書換フラグ管理動作に関するフローチャートである。
【図８】第３実施形態に係るデータ書込動作に関するフローチャートである。
【発明を実施するための形態】
【００２１】
本発明の実施形態について、第１から第３の各実施形態を例に挙げて以下に説明する。
【００２２】
１．第１実施形態
［通信機器の構成等］
まず第１実施形態について説明する。図１は、本実施形態に係る携帯型の通信機器９（電子機器の一形態であり、例えば携帯電話機などが該当し得る）の構成を示すブロック図である。
【００２３】
本図に示すように通信機器９は、ｅＭＭＣ１、ＣＰＵ２、ＲＡＭ３、操作部４、通信処理部５、および機内モード設定部６などを備えている。なお通信機器９は、不図示の電池が設けられるようになっており、基本的には当該電池を駆動電源として動作する。
【００２４】
ｅＭＭＣ１は、コントローラ１１とＮＡＮＤフラッシュ（ＮＡＮＤ型フラッシュメモリ）１２を含むメモリ装置である。
【００２５】
コントローラ１１は、ＣＰＵ２からのデータ書込みの指示に応じて、ＣＰＵ２から受けたデータをＮＡＮＤフラッシュ１２へ書込む。またコントローラ１１は、ＣＰＵ２からのデータ読出しの指示に応じて、ＮＡＮＤフラッシュ１２に書込まれているデータをＣＰＵ２へ送出する。
【００２６】
なおコントローラ１１は、ＮＡＮＤフラッシュ１２に書込まれているデータをＣＰＵ２へ送出する際に、ＮＡＮＤフラッシュ１２を対象としたエラー訂正処理（ビットエラーを訂正する処理）を実行する。このエラー訂正処理は、例えばＥＣＣの機能によるものである。またコントローラ１１は、ＣＰＵ２へデータを送出する際に、そのデータがＮＡＮＤフラッシュ１２のどの領域に（例えばどのブロックに）書込まれていたかを示す情報を、ＣＰＵ２へ送出する。
【００２７】
ＮＡＮＤフラッシュ１２は、書換え可能である不揮発性メモリの一種であり、通信機器９の動作制御に用いられるプログラムが書込まれている。またＮＡＮＤフラッシュ１２は、ＳＬＣタイプとＭＬＣタイプの何れであっても構わない。ＮＡＮＤフラッシュ１２へのデータ書込みは、例えば複数のメモリセルからなるページの単位で行われ、ＮＡＮＤフラッシュ１２からのデータ読出しは、例えば複数のページからなるブロックの単位で行われる。
【００２８】
ＣＰＵ２は、通信機器９がその機能を発揮するように、必要な演算処理や各部（例えば、通信処理部５や機内モード設定部６など）の動作制御を実行する。またＣＰＵ２は、ｅＭＭＣ１内のコントローラ１１に適宜アクセスし、ＮＡＮＤフラッシュ１２へのデータ書込みや、ＮＡＮＤフラッシュ１２からのデータ読出しを行うことが可能である。
【００２９】
ＲＡＭ３は、揮発性メモリの一種であり、例えばＤＤＲ［Double Data Rate］のＳＤＲＡＭ［Synchronous DRAM］である。ＲＡＭ３は、ＣＰＵ２によって、ｅＭＭＣ１から読み出されたプログラムのデータが展開（コピー）される。これにより、ＣＰＵ２はＲＡＭ３に展開されたプログラムに基づいて、各部の動作制御等を行うことが可能である。
【００３０】
操作部４は、ユーザの操作を受付ける部分であり、例えば、操作スイッチやタッチパネル等により形成される。受付けた操作の情報はＣＰＵ２へ送出され、通信機器９の動作制御等に反映される。
【００３１】
通信処理部５は、電波を利用する無線通信の機能を実現させるための各処理を行う部分である。機内モード設定部６は、機内モードを設定する部分である。機内モードは、航空機内の装置等の機能を阻害する電波を出さないように、無線通信の機能をオフにするモードである。
【００３２】
なお通信機器９が複数の無線通信方式を採用している場合、機内モードは、その中の一部の方式の機能だけをオフにするモードであっても良い。例えば、通信機器９に３Ｇ回線とWi-Fiの無線通信方式が採用されている場合、機内モードでは、３Ｇ回線による無線通信の機能だけがオフにされても良い。
【００３３】
また機内モード設定部６は、ユーザの操作に従って、機内モードのＯＮ／ＯＦＦを切替えるようにする。通信機器９の使用形態として、通信機器９を所持中のユーザが航空機に乗る機会ごとに、そのユーザの操作によって機内モードがＯＮにされることが想定されている。
【００３４】
［ビットエラーについて］
ＮＡＮＤフラッシュ１２のメモリセル内の電荷は、Ｘ線照射、高温状態、或いは経年変化等により抜けてしまう。これにより、ＮＡＮＤフラッシュ１２におけるビットエラー（以下、単に「ビットエラー」称することがある）が生じる場合がある。この現象について、図２を参照しながら以下に説明する。
【００３５】
図２は、ＭＬＣ（２ビット）タイプのメモリセルにおけるデータの記録状態（電圧状態）を、模式的に示している。なお図２（Ａ）は、ビットエラーの無い記録状態を示している。この状態から電荷の抜けが進行すると、図２（Ｂ）に示すようにビットエラーが生じる状態となる。例えば図中のＥＲで示す部分に関しては、「００」と「１０」の閾値（電圧閾値）において、「００」の領域の電荷が抜けて「１０」の領域に進入し、「００」が「１０」と誤認識されるようなビットエラーが生じることになる。
【００３６】
図２（Ｂ）に示す程度の状態であれば、コントローラ１１が行うエラー訂正処理によってビットエラーは訂正され、ＣＰＵ２はＮＡＮＤフラッシュ１２から正しいデータを読み出すことが可能である。但しエラー訂正処理に要する時間の分だけ、ＣＰＵ２から見れば、ＮＡＮＤフラッシュ１２からのデータ読出し時間が増大することになる。
【００３７】
一方、図２（Ｃ）に示すように、ビットエラーの度合が非常に大きくなる状態では、エラー訂正処理によるリカバリー（ビットエラーを完全に訂正すること）が不可となる。その結果、ＣＰＵ２はＮＡＮＤフラッシュ１２から正しいデータを読み出すことが出来なくなり、通信機器９の誤動作などが問題となる。このような不具合を回避するためには、エラー訂正処理によるリカバリーが不可となる前の段階で、ビットエラーの改善が行われる必要がある。そこで通信機器９は、以下に説明する通り、データ書込動作を行うようになっている。
【００３８】
［データ書込動作］
通信機器９は、例えば電源オフ状態から電源オン状態に切替えられたとき、所定の起動動作を実行し、通常の動作状態に移行する。この起動動作の実行時において、ＣＰＵ２は、ｅＭＭＣ１（ＮＡＮＤフラッシュ１２）から読み出したプログラムのデータをＲＡＭ３に展開する処理を行う。
【００３９】
そして当該処理の実行と並行して、ＣＰＵ２は、必要に応じてビットエラーを改善させるためのデータ書込動作を実行する。データ書込動作の内容について、図３のフローチャートを参照しながら以下に説明する。
【００４０】
ＣＰＵ２は、ＮＡＮＤフラッシュ１２からのデータ読出しが開始されるタイミングを待機する（ステップＳ１１）。そしてＮＡＮＤフラッシュ１２からのデータ読出しが開始されると（ステップＳ１１のＹ）、ＣＰＵ１２は、データ読出し時間の計測を開始する（ステップＳ１２）。ＣＰＵ１２は以降、データ読出しの開始から終了までの時間を計測することにより、今回のデータ読出しに要する時間を計測する。
【００４１】
データ読出しが終了すると（ステップＳ１３のＹ）、ＣＰＵ２は、計測された読出し時間が所定の基準時間Ｔ１以上であるか否かを判別する（ステップＳ１４）。この基準時間Ｔ１は、ビットエラーの改善の必要性を判別するための判別基準に相当する。
【００４２】
すなわち同じサイズのデータを読み出す場合であっても、ＮＡＮＤフラッシュ１２のビットエラーの度合が大きいほど、コントローラ１１がエラー訂正処理を行うために要する時間が増大するため、読出し時間が長くなる。このことを利用して基準時間Ｔ１は、ビットエラーの改善が必要となる段階（エラー訂正処理によるリカバリーが不可となる前の所定段階）における、データ読出し時間の推定時間として設定される。
【００４３】
なおデータ読出しが終了した時点では、ＮＡＮＤフラッシュ１２から読み出したデータのサイズ等は判明している。またビットエラーの改善が必要となる段階におけるエラー訂正処理の速度等も、予め判明している。そのためＣＰＵ２は、例えばこれらの情報に基づいて、基準時間Ｔ１を適切に設定することが可能である。
【００４４】
また読み出されるデータのサイズが固定であるような場合には、基準時間Ｔ１は、予め適切に決められた固定値であっても良い。なお基準時間Ｔ１を設定する手法としては、上記手法に限られず、他の手法が採用されても構わない。何れにしても、データ読出し時間が基準時間Ｔ１以上であればビットエラーの改善が必要であり、そうでなければ、現時点ではビットエラーの改善は必要ではない（ビットエラーを改善させる処理を行っても、得られる効果は比較的小さい）ということになる。
【００４５】
ＣＰＵ２は、読出し時間が基準時間Ｔ１以上であると判別した場合には（ステップＳ１４のＹ）、ＮＡＮＤフラッシュ１２から読出し済みのデータ（ＲＡＭ３に展開済みのデータ）を、ＮＡＮＤフラッシュ１２に書込む（ステップＳ１５）。このデータ書込は、例えば、ＮＡＮＤフラッシュ１２内の今回読み出されたデータを書換えるように実行される。
【００４６】
なおＲＡＭ３に展開されているデータは、データ読出しの際にｅＭＭＣ１側においてエラー訂正処理が実行されたことにより、ビットエラーが解消されたデータである。そのためステップＳ１５の処理におけるデータ書込により、ビットエラーが改善されることになる。ステップＳ１５の処理が行われた後、今回のデータ書込動作は終了する。
【００４７】
一方でＣＰＵ２は、読出し時間が基準時間Ｔ１未満であると判別し場合には（ステップＳ１４のＮ）、ステップＳ１５の処理を行うことなく、今回のデータ書込動作を終了させる。つまりこの場合には、データ書込の処理は省略されることになる。
【００４８】
上述したデータ書込動作によれば、ビットエラーの度合が過大とならないように、ビットエラーを改善させるためのデータ書込が過不足なく（読出し時間が基準時間Ｔ１以上の場合に限って）行われる。そのためｅＭＭＣ１自体がこのようなデータ書込の機能を有していなくても、ＣＰＵ２が主体となって、ビットエラーの度合が過大とならないよう適切に対処することが可能である。
【００４９】
２．第２実施形態
次に第２実施形態について説明する。なお第２実施形態は、データ書込動作に関する点を除き、基本的には第１実施形態と同様である。以下の説明では、第１実施形態と異なる部分の説明に重点をおき、共通する部分については説明を省略することがある。
【００５０】
通信機器９は、第１実施形態の場合と同様に、例えば電源オフ状態から電源オン状態に切替えられたときに起動動作を実行し、通常の動作状態に移行する。この起動動作の実行時において、ＣＰＵ２は、ｅＭＭＣ１（ＮＡＮＤフラッシュ１２）から読み出したプログラムのデータをＲＡＭ３に展開する処理を行う。
【００５１】
そして第２実施形態では、ＣＰＵ２は当該処理の実行と並行して、書換ブロック判定動作を実行する。この書換ブロック判定動作は、ＮＡＮＤフラッシュ１２のブロック（以下、単に「ブロック」と称する）ごとに、ビットエラーの改善の要否を判定するための動作である。書換ブロック判定動作の内容について、図４のフローチャートを参照しながら以下に説明する。
【００５２】
ＣＰＵ２は、ＮＡＮＤフラッシュ１２からのデータ読出しが開始されるタイミングを待機する（ステップＳ２１）。そしてＮＡＮＤフラッシュ１２からのデータ読出しが開始されると（ステップＳ２１のＹ）、ＣＰＵ１２は、ブロックごとのデータ読出し時間の計測を開始する（ステップＳ２２）。
【００５３】
なお以下の説明では、ｎ番目にデータが読み出されるブロックを、便宜的に「第ｎブロック」と称する。ＣＰＵ１２は、第１ブロック、第２ブロック、第３ブロック、・・・の順にデータの読出しを実行しつつ、これらのブロックごとにデータ読出し時間の計測を実行することになる。
【００５４】
データ読出し時間の計測の開始後、ＣＰＵ２は、先ずｎ＝１とし（ステップＳ２３）、第ｎブロックの読出し時間が計測済みとなることを待機する（ステップＳ２４）。第ｎブロックの読出し時間が計測済みとなると（ステップＳ２４のＹ）、その読出し時間が基準時間Ｔ２以上であるか否かを判別する（ステップＳ２５）。
【００５５】
この基準時間Ｔ２は、ブロックにおけるビットエラーの改善の必要性を判別するための判別基準に相当する。基準時間Ｔ２は、ビットエラーの改善が必要となる段階（エラー訂正処理によるリカバリーが不可となる前の所定段階）において、１ブロック分のデータ読出しに要すると見込まれる時間に設定される。
【００５６】
ＣＰＵ２は、読出し時間が基準時間Ｔ２以上であると判別した場合には（ステップＳ２５のＹ）、第ｎブロックの書換ビットを「１」に更新する（ステップＳ２６）。なおＣＰＵ２は、図５に模式的に示すように、各ブロックについての書換ビット（「０」と「１」の何れかを示す情報）を記憶保持することが可能となっている。また書換ブロック判定動作の開始時においては、全てのブロックの書換ビットは「０」に設定されている。
【００５７】
その後にＣＰＵ２は、第ｎブロックが最終ブロック（最後にデータが読み出されるブロック）であるか否かを判別する（ステップＳ２７）。最終ブロックでなければ（ステップＳ２７のＮ）、ＣＰＵ２は、ｎを１だけ増加させた上で（ステップＳ２８）、ステップＳ２４以降の処理を繰返す。一方で最終ブロックであれば（ステップＳ２７のＹ）、今回の書換ブロック判定動作は終了する。
【００５８】
一方でＣＰＵ２は、読出し時間が基準時間Ｔ２未満であると判別し場合には（ステップＳ２５のＮ）、ステップＳ２６の処理を行うことなく、ステップＳ２７の処理を実行する。つまりこの場合には、第ｎブロックの書換ビットは「０」に維持されることとなる。
【００５９】
上述した書換ブロック判定動作が終了した時点においては、ビットエラーの改善の必要な各ブロックの書換ビットは「１」となっており、その他の各ブロックの書換ビットは「０」となっている。ＣＰＵ２は、書換ブロック判定動作が終了すると、次にデータ書込動作を開始する。
【００６０】
第２実施形態のデータ書込動作は、上述した書換ビットの情報の利用により、ビットエラーの改善が必要と判定されたブロックに関してのみ、データ書込が行われるようにする動作である。データ書込動作の内容について、図６のフローチャートを参照しながら以下に説明する。
【００６１】
ＣＰＵ２は、先ずｎ＝１とし（ステップＳ３１）、第ｎブロックの書換ビットが「１」であるか否かを判別する（ステップＳ３２）。第ｎブロックの書換ビットが「１」である場合（ステップＳ３２のＹ）、ＣＰＵ２は、第ｎブロックから読出し済みのデータ（ＲＡＭ３に展開されているデータ）を、ＮＡＮＤフラッシュ１２に書込む（ステップＳ３３）。このデータ書込は、例えば、ＮＡＮＤフラッシュ１２における第ｎブロックのデータを書換えるように実行される。
【００６２】
ステップＳ３３の処理におけるデータ書込により、第ｎブロックのデータについてのビットエラーは改善されることになる。またＣＰＵ２は、ステップＳ３３の処理の実行後、第ｎブロックの書換ビットを「０」に更新する（ステップＳ３４）。
【００６３】
その後にＣＰＵ２は、第ｎブロックが最終ブロックであるか否かを判別する（ステップＳ３５）。最終ブロックでなければ（ステップＳ３５のＮ）、ＣＰＵ２は、ｎを１だけ増加させた上で（ステップＳ３６）、ステップＳ３２以降の処理を繰返す。一方で最終ブロックであれば（ステップＳ３５のＹ）、今回のデータ書込動作は終了する。
【００６４】
なお、第ｎブロックの書換ビットが「０」である場合（ステップＳ３２のＮ）、ＣＰＵ２は、ステップＳ３３およびＳ３４の処理を行うことなく、ステップＳ３５の処理を実行する。つまりこの場合には、第ｎブロックについてのデータ書込は省略される。
【００６５】
上述したデータ書込動作によれば、ビットエラーの度合が過大とならないように、ビットエラーを改善させるためのデータ書込が過不足なく（書換ビットが「１」のブロックに限って）行われる。そのためｅＭＭＣ１自体がこのようなデータ書込の機能を有していなくても、ＣＰＵ２が主体となって、ビットエラーの度合が過大とならないよう適切に対処することが可能である。
【００６６】
また更に本実施形態では、ビットエラーの改善が必要と判定されたブロックのみに関して、データ書込が行われる。そのため、ビットエラーの改善が不要なブロックに関してもデータ書込が行われる場合に比べて、データ書込が効率良く実行され得る。
【００６７】
３．第３実施形態
次に第３実施形態について説明する。なお第３実施形態は、データ書込動作に関する点を除き、基本的には第１実施形態と同様である。以下の説明では、第１実施形態と異なる部分の説明に重点をおき、共通する部分については説明を省略することがある。
【００６８】
メモリのビットエラーを改善する処理を過不足なく行う手法の一つとしては、当該メモリのビットエラーの発生し易さに関する所定条件が満たされたか否かを判別し、この判別の結果に応じてビットエラーを改善する処理を行う手法が挙げられる。なおこの所定条件は、メモリの特性等を考慮して適切に設定され得る。
【００６９】
具体的に説明すると、例えばＮＡＮＤフラッシュの場合には、Ｘ線照射、高温状態、および経年変化などが、ビットエラーの主な発生要因である。そのため前記所定条件は、Ｘ線照射、高温状態、および経年変化の少なくとも一つによる、ビットエラーの発生し易さに関する条件とすれば良い。例えば前記所定条件は、Ｘ線照射を受けた回数や時間、高温状態となった回数や時間、或いは経過年数などが、所定の基準値に達した場合に満たされる条件とされ得る。
【００７０】
なお通信機器９にＸ線が照射される状況としては、通信機器９を所持するユーザが航空機を利用する際に、通信機器９が空港でのＸ線検査の対象となる状況が想定される。更に、通信機器９を所持するユーザが航空機を利用する際には、当該ユーザが通信機器９の機内モードをＯＮにすることが想定される。
【００７１】
そのため、通信機器９におけるＸ線照射を受けた回数と機内モードがＯＮにされた回数との間には、密接な相関性が有る。すなわち機内モードがＯＮにされた回数が多いほど、通信機器９にＸ線照射がなされた回数は多く、ビットエラーの度合が大きくなっている可能性が高い傾向にある。
【００７２】
そこで第３実施形態の通信機器９は、機内モードがＯＮにされた回数が所定回数に達したかを判別し、この条件が満たされた場合に、ビットエラーを改善する処理が行われるようにする。具体的には、通信機器９は、書換フラグ管理動作およびデータ書込動作を実行する。これらの動作について以下に説明する。
【００７３】
まず書換フラグ管理動作の内容について、図７のフローチャートを参照しながら以下に説明する。ＣＰＵ２は常時、機内モードがＯＮにされたか否かを監視する（ステップＳ４１）。そして機内モードがＯＮにされると（ステップＳ４１のＹ）、ＣＰＵ２は、機内モードＯＮ回数（これまでに機内モードがＯＮにされた回数）をカウントアップする（ステップＳ４２）。
【００７４】
その後にＣＰＵ２は、現時点の機内モードＯＮ回数が規定回数に達したか否かを判別する（ステップＳ４３）。なおこの規定回数は、例えば、Ｘ線照射をどの程度受けたときにビットエラーを改善する処理が必要となるか等の観点から、予め適切に設定された回数である。
【００７５】
機内モードＯＮ回数が規定回数に達している場合には（ステップＳ４３のＹ）、ＣＰＵ２は、書換フラグを「１」に更新した上で（ステップＳ４４）、書換フラグ管理動作を終了させる。なお書換フラグは「０」と「１」の何れかを示す情報であり、初期値は「０」に設定されている。
【００７６】
一方、機内モードＯＮ回数が規定回数に達していない場合には（ステップＳ４３のＮ）、ＣＰＵ２はステップＳ４４の処理を行うことなく、ステップＳ４１の処理を繰返す。なお書換フラグ管理動作が終了した後には、例えば機内モードＯＮ回数がリセットされた上で、書換フラグ管理動作が再度実行されるようにしても良い。
【００７７】
次にデータ書込動作の内容について、図８のフローチャートを参照しながら以下に説明する。なお通信機器９は、第１実施形態の場合と同様に、例えば電源オフ状態から電源オン状態に切替えられたとき、起動動作を実行して通常の動作状態に移行する。データ書込動作は、この際に実行されるようになっている。
【００７８】
具体的に説明すると、起動動作の実行時においてＣＰＵ２は、ｅＭＭＣ１（ＮＡＮＤフラッシュ１２）から読み出したプログラムのデータをＲＡＭ３に展開する処理を行う。この際にＣＰＵ２は、ＮＡＮＤフラッシュ１２からのデータ読出しが終了するタイミングを待機する（ステップＳ５１）。
【００７９】
ＣＰＵ２は、ＮＡＮＤフラッシュ１２からのデータ読出しが終了すると（ステップＳ５１のＹ）、書換フラグが「１」であるか否かを判別する（ステップ５２）。書換フラグが「１」である場合（ステップＳ５２のＹ）、ＣＰＵ２は、ＮＡＮＤフラッシュ１２から読出し済みのデータ（ＲＡＭ３に展開済みのデータ）を、ＮＡＮＤフラッシュ１２に書込む（ステップＳ５３）。このデータ書込は、例えば、ＮＡＮＤフラッシュ１２内の今回読み出されたデータを書換えるように実行される。
【００８０】
ステップＳ５３の処理におけるデータ書込により、ビットエラーが改善されることになる。その後にＣＰＵ２は、書換フラグを「０」に更新した上で（ステップＳ５４）、データ書込動作を終了させる。一方でＣＰＵ２は、書換フラグが「０」である場合には（ステップＳ５２のＮ）、ステップＳ５３およびＳ５４の処理を行うことなく、データ書込動作を終了させる。
【００８１】
上述したデータ書込動作によれば、ビットエラーの度合が過大とならないように、ビットエラーを改善させるためのデータ書込が過不足なく（書換フラグが「１」の場合に限って）行われる。そのためｅＭＭＣ１自体がこのようなデータ書込の機能を有していなくても、ＣＰＵ２が主体となって、ビットエラーの度合が過大とならないよう適切に対処することが可能である。
【００８２】
なお本実施形態のデータ書込動作は、機内モードＯＮ回数が規定回数に達したとき（ステップＳ４３のＹ）において、直ちに実行されるようにしても構わない。すなわちＣＰＵ２は、機内モードＯＮ回数が既定回数に達したことをトリガーとしてＮＡＮＤフラッシュ１２からのデータ読出しを実行し、データ書込動作を行うようにしても構わない。
【００８３】
４．その他
第１および第２実施形態のＣＰＵ２（データ処理装置の一形態）は、エラー訂正処理を行うｅＭＭＣ１内のＮＡＮＤフラッシュ１２からデータの読出しを行う機能部（読出部）と、前記読出しに要する時間を計測する機能部（計測部）を備えている。
【００８４】
また更にＣＰＵ２は、前記計測された時間が所定の基準時間を超えたか否かの判別を実行し、該判別の結果に応じて、ＮＡＮＤフラッシュ１２へ前記読出したデータの書込みを行う機能部（書込部）をも備えている。そのためＣＰＵ２は、通常のエラー訂正機能を有するｅＭＭＣ１が採用されていても、ビットエラーに関して適切に対処することが容易となっている。
【００８５】
なおＣＰＵ２が行うデータ処理の方法は、ＮＡＮＤフラッシュ１２からデータの読出しを行う第１ステップと、前記読出しに要する時間を計測する第２ステップと、前記計測の結果に応じてＮＡＮＤフラッシュ１２へ前記読出したデータの書込みを行う第３ステップと、を含む方法となっている。
【００８６】
なお第２実施形態では、計測部は、前記読出しに要する時間をＮＡＮＤフラッシュ１２のブロックごとに計測する。そして書込部は、当該ブロックごとに前記判別を実行し、計測された時間が基準時間Ｔ２を超えたブロックから読出されたデータについて、前記書込みを行う。
【００８７】
また第３実施形態のＣＰＵ２（データ処理装置の一形態）は、エラー訂正処理を行うｅＭＭＣ１内のＮＡＮＤフラッシュ１２からデータの読出しを行う機能部（読出部）と、ＮＡＮＤフラッシュ１２のビットエラーの発生し易さに関する所定条件が満たされたか否かを判別する機能部（条件判別部）を備えている。また更にＣＰＵ２は、該判別の結果に応じて、ＮＡＮＤフラッシュ１２へ前記読出したデータの書込みを行う機能部（書込部）をも備えている。
【００８８】
なお前記所定条件は、Ｘ線照射、高温状態、および経年変化の少なくとも一つによる、前記ビットエラーの発生し易さに関する条件となっている。より具体的に説明すると、前記所定条件は、機内モードがオンにされた回数が所定回数に達したときに満たされる条件となっている。但し前記所定条件としては、その趣旨を逸脱しない範囲において、他の様々な条件が採用され得る。
【００８９】
なお各実施形態のＣＰＵ２は、通信機器９に設けられた電池（駆動電源）の残量が所定の基準値を下回っていると、読出し済みのデータをＮＡＮＤフラッシュ１２へ書込む処理（ステップＳ１５、Ｓ３３、Ｓ５３）を不実行としても良い。例えばＣＰＵ２は、電池の残量が基準値を下回っている場合には、無条件でデータ書込動作を行わないようしても良い。このようにすれば、駆動電力の不足によってデータの書込みが途切れてしまい、データが消失してしまうといった不具合を防ぐことが可能となる。
【００９０】
また本発明の構成は、上記実施形態のほか、発明の主旨を逸脱しない範囲で種々の変更を加えることが可能である。すなわち、上記実施形態は、全ての点で例示であって、制限的なものではないと考えられるべきである。本発明の技術的範囲は、上記実施形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲と均等の意味及び範囲内に属する全ての変更が含まれると理解されるべきである。
【符号の説明】
【００９１】
１      ｅＭＭＣ１（メモリ装置）
１１    コントローラ
１２    ＮＡＮＤフラッシュ（メモリ）
２      ＣＰＵ（データ処理装置）
３      ＲＡＭ
４      操作部
５      通信処理部
６      機内モード設定部
９      通信機器
【図１】
2015087810.tif 000003
【図２】
2015087810.tif 000004
【図３】
2015087810.tif 000005
【図４】
2015087810.tif 000006
【図５】
2015087810.tif 000007
【図６】
2015087810.tif 000008
【図７】
2015087810.tif 000009
【図８】
2015087810.tif 000010