JP2011243132A - 脱着可能な不揮発メモリに再書き込みを行う端末装置 - Google Patents
脱着可能な不揮発メモリに再書き込みを行う端末装置 Download PDFInfo
- Publication number
- JP2011243132A JP2011243132A JP2010116955A JP2010116955A JP2011243132A JP 2011243132 A JP2011243132 A JP 2011243132A JP 2010116955 A JP2010116955 A JP 2010116955A JP 2010116955 A JP2010116955 A JP 2010116955A JP 2011243132 A JP2011243132 A JP 2011243132A
- Authority
- JP
- Japan
- Prior art keywords
- stress
- time
- nonvolatile memory
- block
- temperature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Read Only Memory (AREA)
- Tests Of Electronic Circuits (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】 不揮発メモリを備えた端末装置で、不揮発メモリを脱着する場合でも、不揮発メモリの再書き込みを行う最適な時期を検出し、再書き込みを行う手段を提供する。
【解決手段】 端末装置は、装置内部の温度を検出し、検出した温度に応じて割り込み信号を出力する高温検出カウンタ回路を備え、不揮発メモリのブロックの管理領域には、データが書き込まれた時、及び装置が停止される直前のシステム時間とストレス加速時間とが記録され、装置が再起動される時には、装置が停止される直前のストレス加速時間から継続してストレス加速時間をカウントすることで、不揮発メモリを脱着する場合でも、不揮発メモリの再書き込みを行う最適な時期を検出し、再書き込みすることができる。
【選択図】 図5
【解決手段】 端末装置は、装置内部の温度を検出し、検出した温度に応じて割り込み信号を出力する高温検出カウンタ回路を備え、不揮発メモリのブロックの管理領域には、データが書き込まれた時、及び装置が停止される直前のシステム時間とストレス加速時間とが記録され、装置が再起動される時には、装置が停止される直前のストレス加速時間から継続してストレス加速時間をカウントすることで、不揮発メモリを脱着する場合でも、不揮発メモリの再書き込みを行う最適な時期を検出し、再書き込みすることができる。
【選択図】 図5
Description
本発明は、端末装置に関し、特に脱着可能な不揮発メモリのリテンション特性が劣化する前に不揮発メモリにデータに再書き込みするための再書き込み時間を算出し、再書き込みを行う端末装置に関する。
携帯端末装置や情報端末装置には、装置内部が高温になった場合に特性の劣化するデバイス、例えば不揮発メモリが使用されている。携帯端末装置や情報端末装置では、装置の動作に必要なアプリケーションプログラムを不揮発メモリに格納している。近年、装置の高機能化に伴い、このようなアプリケーションプログラムは非常に規模が大きくなっており、大容量の不揮発メモリを使用する必要が生じている。大容量の不揮発メモリとして、SLC(Single Level Cell)−NANDおよび、MLC(Multi Level Cell)−NANDの2種類のNANDデバイスがある。この2種類のNANDデバイスのうち、MLC−NANDは1つのメモリセルに複数のビットを記録することができるため、SLC−NANDに比べ大容量化が容易である。そのためMLC−NANDが、携帯端末装置や情報端末装置のように小型化が求められる装置では多用されている。
しかしながら、MLC−NANDは、1つのメモリセルに複数のビットを記録するために、メモリセルの閾値レベル(Vt)を細かく制御する必要があり、SLC−NANDに比べ信頼性が劣る。デバイス周囲温度が高温の環境で長時間使用すると、リテンション特性の悪化で、書き込みデータのデータ化けが発生する場合がある。リテンション特性とは、書き込まれたデータが正しく保持されているかどうかのデータ保持特性のことである。例えば、リテンション特性が悪化した場合には、メモリセルの電子がリークし、メモリセルのVtが変動することで、書き込み時と異なるデータに変化してしまう。このように書き込み時と異なるデータに化けることを、データ化けが発生したという。特に、温度が高い場合に影響が大きく、リテンション特性が悪化しやすい。リテンション特性の劣化によりデータ化けが発生してしまうと、装置の動作に不具合を発生させてしまう可能性があるため、これを防止する手段が必要である。
さらに、近年の携帯端末装置や情報端末装置は、ますます装置内部の温度が高くなる傾向にある。第1の要因として、アプリケーション性能や、通信性能向上の必要性から、中央演算処理装置(CPU)の処理性能を上げる必要があり、CPUの処理性能アップに伴い装置内部の温度が高くなっている。第2の要因として、防水機能など装置そのものの仕様で気密性を高くする必要があり、装置内部の温度が高くなる傾向がある。さらに、第3の要因として、メモリデバイスの製造プロセスの微細化で、不揮発メモリセルの1セルあたりに蓄える電子数も少なくなることから、デバイス自体のリテンション特性(データ保持特性)も低下している傾向がある。
さらに近年、装置の小型化が進むなかで、商品性の高い装置のデザインを実現するために、設計の自由度が重要になっている。商品性の高い装置のためには、さまざまな部品が使用されるが、これらの部品の配置位置が制限された場合には、小型化設計が不可能となる。従って、部品の配置位置は、自由に配置できることが望まれている。例えば、携帯端末装置や情報端末装置用のメモリとして、内蔵の不揮発メモリの他に、さらに大容量で脱着可能な不揮発メモリが使われるケースが増えている。脱着可能な不揮発メモリを取り付けるためのソケットの搭載位置が、装置内部で発熱しやすい部品(例えばCPU)の近くに配置できない制約があると、設計の自由度が損なわれる恐れがでてくる。
このように脱着可能な不揮発メモリは、そのデータを他の装置で利用するため、いろいろな装置のなかで、発熱しやすい部品の近くに配置されることがある。そのため、不揮発メモリが装置内部の高温により、予想以上のストレスを受ける場合も考えられる。不揮発メモリが、装置内部が高温になった場合に保持特性が劣化し、温度が高いときのリテンション特性起因でのデータ化けの発生が高くなることについては、非特許文献1に記載されている。
このように、装置自体が高温になりやすい傾向にあり、デバイス自体もリテンション特性(データ保持特性)が低下している傾向にある。そのため近年の携帯端末装置や情報端末装置(以下、総称として、端末装置と略記することがある)におけるリテンション特性起因でのデータ化けが発生するリスクは、高まっている。また、脱着可能な不揮発メモリの利用が増えており、装置内部の高温により受けるストレスをモニタすることは、重要になっている。そのため端末装置には、脱着可能な不揮発メモリが、装置内温度が高温時に受けたストレスの履歴を継続的に保管し、あらかじめ設定されたストレスを受けた時にCPUに通知する手段が必要となる。
装置温度をモニタし、トラブルの発生を防止する先行特許文献として下記文献がある。特許文献1には、一定経過時間ごとに装置温度を計測し、計測した温度にしたがって重み付けした経過時間をカウントする。重み付けした経過時間が所定時間を超えた場合には、不揮発性メモリに再度書き込み動作を行う技術が示されている。また特許文献2には、周囲温度を定期的に計測する温度検出装置と、検出温度が規格範囲内ならばカウント値を+1、規格範囲外ならばカウント値を+2、加算する演算装置と、カウント値が設定値を超えた場合には警報を出力する技術が示されている。
(株)東芝、信頼性試験資料(http://www.semicon.toshiba.co.jp/shared/reliability_pdf/bdj0128e_chap03.pdf)
ニューモニクス製NANDデバイスのデータシート(http://www.numonyx.com/Documents/Datasheets/NAND_08GW3C2B.pdf)
上記したように、端末装置では、アプリケーションを動作させるとCPU、メモリ、および周辺回路が発熱するため、装置内部が高温になる。装置内部の温度が高温になると、信頼性の低い不揮発メモリでは、リテンション特性の悪化が原因で、書き込みデータのデータ化けが発生してしまい、システムの信頼性を低下させる要因となる。データ化けが発生する前に、データの再書き込みを実施することで、データ化けを防止することができる。しかし、上記した特許文献の技術は、脱着可能な不揮発メモリには適用されない。このようにメモリカードのような形で携帯端末装置や情報端末装置から取り出し、再び取り付けるような使い方の場合、高温時に受けたストレスの履歴で、データ化けが発生する前に、再書き込みを行う最適な時期を検知する手段がないという問題がある。
本発明は、高温で特性の劣化する不揮発メモリデバイスを使った携帯端末装置や情報端末装置で、不揮発メモリを脱着する場合でも、不揮発メモリの再書き込みを行う最適な時期を算出し、再書き込みを行う手段を提供する。
本発明の1つの観点によれば、着脱可能な不揮発メモリと、標準時刻を出力するタイマ回路と、装置内部の温度を測定する温度センサを搭載し、高温検出時にCPUに割り込み信号を出力する高温検出カウンタ回路と、前記割り込み信号をストレス加速時間としてカウントするCPUと、を備え、不揮発メモリのそれぞれのブロックの管理領域に、それぞれのブロックにデータが書き込まれた時のシステム時間と、ストレス加速時間と、を記録し、不揮発メモリを取り出す場合には、取り出す不揮発メモリの任意のブロックの管理領域に、不揮発メモリを取り出す直前のシステム時間と、ストレス加速時間と、を記録し、前記取り出した不揮発メモリを再び取り付ける場合には、前記不揮発メモリを取り出す直前のストレス加速時間を初期値として、前記割り込み信号をカウントアップすることで、現在のストレス加速時間とし、前記それぞれのブロックにデータが書き込まれた時のシステム時間と、ストレス加速時間と、タイマ回路からの現在におけるシステム時間と、前記現在のストレス加速時間とを用いて、それぞれのブロック毎のストレス時間を算出し、前記ストレス時間が設定されたストレス管理時間を超えた不揮発性メモリのブロックに再書き込みを行うことを特徴とする端末装置が得られる。
本発明の他の観点によれば、装置内部の温度をそれぞれが異なる温度しきい値を用いて検出する複数の温度センサと、前記複数の温度センサのうち一番低い温度を検出する温度センサからの高温検出信号によりクロック信号を出力する発振回路と、前記クロック信号が入力された回数を前記複数の温度センサからの高温検出信号のそれぞれに対応させて重み付けしたストレスカウント値として積算するカウンタ回路と、を有し、前記カウンタ回路は、前記ストレスカウント値が設定された最大値以上になった場合に、割り込み信号を出力するとともに、前記ストレスカウント値をリセットすることを特徴とすることを特徴とする高温検出カウンタ回路が得られる。
本発明のさらなる他の観点によれば、CPUが、タイマ回路から読み出した現在のシステム時間を揮発メモリの管理テーブルのシステム時間として書き込み、不揮発メモリの取り出し直前のストレス加速時間を、揮発メモリの管理テーブルのストレス加速時間の初期値として書き込む初期化ステップと、高温検出カウンタ回路が装置内部温度の監視を開始し、検出した温度に応じてストレス値をカウントしたストレスカウント値により割り込み信号を出力し、CPUが前記ストレス加速時間の初期値に前記割り込み信号を加算し、現在のストレス加速時間をカウントするステップと、CPUが、現在のシステム時間とストレス加速時間と、不揮発メモリのそれぞれのブロックに対する書き込み時のシステム時間とストレス加速時間と、を用いて、不揮発メモリのそれぞれのブロックのストレス時間を算出するステップと、算出したストレス時間が、ストレス管理時間をオーバーしていたブロックに対して再書き込みを行うステップと、を備えたことを特徴とする不揮発メモリへの再書き込み方法が得られる。
本発明の端末装置は、不揮発メモリが取り出される直前のシステム時間とストレス加速時間を記録し、不揮発メモリが再び取り付けられる時には、取り出される直前のストレス加速時間から継続してストレス加速時間をカウントする。不揮発メモリが取り出される直前のストレス加速時間を記録することで、不揮発メモリが取り出され、再び取り付けられる時にも継続したストレス加速時間が得られる。この継続したストレス加速時間を用いてストレス時間を算出し、ストレス時間がストレス管理時間をオーバーした場合には、ブロック単位に再書き込みを実施する。本発明を用いることで、脱着可能な不揮発メモリにおいても再書き込みすべき時間を算出し、再書き込みできることで、不揮発メモリのリテンション特性の劣化により発生するデータ化けを防止することができる。
(第一の実施の形態)
以下、本発明の実施形態を、図面を参照して詳細に説明する。図1(A)に携帯端末装置や情報端末装置のシステム構成、図1(B)にその高温検出カウンタ回路の回路ブロック図を示す。図2は高温検出カウンタ回路の仕様、図3は管理テーブルの項目、図4は不揮発メモリのデータ構成、を、それぞれ示す。図5は、本発明の構成を携帯電話に用いた場合の動作を示すフローチャート、図6は、リテンションチェックのフローチャート、を示す。
以下、本発明の実施形態を、図面を参照して詳細に説明する。図1(A)に携帯端末装置や情報端末装置のシステム構成、図1(B)にその高温検出カウンタ回路の回路ブロック図を示す。図2は高温検出カウンタ回路の仕様、図3は管理テーブルの項目、図4は不揮発メモリのデータ構成、を、それぞれ示す。図5は、本発明の構成を携帯電話に用いた場合の動作を示すフローチャート、図6は、リテンションチェックのフローチャート、を示す。
本発明の端末装置は、内蔵または脱着可能、あるいはその両方の不揮発メモリを備えることができる。これらの不揮発メモリのデータ保持(リテンション)特性の劣化によるデータ化けが発生する前に、それぞれの不揮発メモリにデータを再書き込みする再書き込み時間を算出する手段を備えている。内蔵の不揮発メモリと脱着可能な不揮発メモリとは、不揮発メモリが取り出しできるかどうかが異なるだけである。以下の説明は、内蔵と脱着可能な不揮発メモリとを区別せずに、脱着可能な不揮発メモリとして説明する。しかし、脱着可能な不揮発メモリで、デバイス取り出しがない場合が、内蔵の不揮発メモリに相当することは容易に理解できるであろう。
図1に示す端末装置は、揮発メモリ(DRAM)(101)、周辺回路(102)、タイマ回路(103)、CPU(104)、高温検出カウンタ回路(105)、内蔵の不揮発メモリ1(106)、装置から脱着可能な不揮発メモリ2(107)から構成されている。揮発メモリ(101)は、アプリケーションを動作させるための揮発メモリ(DRAM)である。周辺回路(102)には、無線回路、LCD、キー入出力装置などが含まれている。タイマ回路(103)は、標準時間を出力する電波時計を備えている。CPU(104)は、端末装置全体の動作を制御する。高温検出カウンタ回路(105)は、装置内部が高温になると、あらかじめ設定した高温でのストレス加速時間をストレスカウント値として積算する回路である。不揮発メモリ1(106)は、プログラムコードやデータが格納されている不揮発メモリである。不揮発メモリ2(107)は、主にユーザデータを格納し、装置から脱着可能な不揮発メモリである。
CPU(104)は、端末装置全体の動作を制御する。例えば、携帯電話システムの一般的な動作としては、システムを起動する時に、CPU(104)は、不揮発メモリ(106)に格納してあるアプリケーションプログラムを読み出し、揮発メモリ(101)に展開する。次に、CPU(104)は、揮発メモリ(101)に展開されたアプリケーションプログラムを用い、アプリケーションプログラムを実行する仕組みになっている。このように、CPU(104)は、プログラムコードやアプリケーションプログラムの記述に従って、様々な、周辺回路(102)を制御することにより、装置に求められる機能を実現している。
例えば、携帯端末装置で行われる通話の動作は以下のように実現される。ユーザが通話の操作のために、周辺回路(102)のダイヤルキーと通話ボタンを押すと、周辺回路(102)の中のキー入力でその操作を検知する。CPU(104)が通話に必要なアプリケーションプログラムを、不揮発メモリ1(106)から、揮発メモリ(101)に展開する。次に、CPU(104)は、そのアプリケーションプログラムで、周辺回路(102)の無線回路を制御し、基地局との無線通信を行う。
また、携帯端末装置で行われるカメラ機能の動作は以下のように実現される。ユーザがカメラ機能を使用するために、カメラ機能の割り当てキーを押すと、周辺回路(102)の中のキー入力でその操作を検知する。CPU(104)がカメラ機能に必要なアプリケーションプログラムを、不揮発メモリ1(106)から、揮発メモリ(101)に展開する。次に、CPU(104)は、そのアプリケーションプログラムで、周辺回路(102)のカメラモジュールを制御し、撮影を行う。また、撮影された画像データは、CPU(104)が周辺回路(102)のカメラモジュール内のメモリ内から読み出し、不揮発メモリ2(107)に書き込みを行う。このようにして、カメラ機能としての撮影、及びその撮影したデータの保存を実現している。本実施の形態では、不揮発メモリ1(106)、不揮発メモリ2(107)は一般的なNANDデバイスであり、例えば非特許文献2に示すような一般的なNANDデバイスを使用することができる。
図1(B)は、本発明の高温検出カウンタ回路(105)の回路構成を説明した回路ブロック図である。高温検出カウンタ回路(105)は、カウンタ回路(108)、発振回路(109)、温度センサ1(110)、温度センサ2(111)、温度センサ3(112)、温度センサ4(113)から構成される。温度センサ1(110)と、温度センサ2(111)と、温度センサ3(112)と、温度センサ4(113)とは検出する温度しきい値がそれぞれ異なるように設定されている。温度センサ1(110)は、温度しきい値である第1の高温以上を検出すると高温検出信号として“H”を出力する。温度センサ2(111)は、温度しきい値として温度センサ1よりも高い温度である第2の高温以上を検出すると高温検出信号として“H”を出力する。温度センサ3(112)は、温度しきい値として温度センサ1、2よりも高い温度である第3の高温以上を検出すると高温検出信号として“H”を出力する。温度センサ4(113)は、温度しきい値として温度センサ1、2、3よりも高い温度である第4の高温以上を検出すると高温検出信号として“H”を出力する。
発振回路(109)は、温度センサ1(110)が高温を検出し、高温検出信号として“H”を出力している場合にのみ、クロック信号を出力する。カウンタ回路(108)は、発振回路のクロック信号(109)の立ち上がりエッジに同期し、各温度センサからの出力によって重み付けされたストレス値をカウントし、ストレスカウント値としてレジスタに累積する。これらの各温度センサからの出力によって重み付けされたストレス値は後述(図2)する。カウンタ回路(108)は、その最大値(MAX値)が設定されており、内部のレジスタに累積されたストレスカウント値が、そのMAX値以上になるとCPUに対して割り込み信号を出力する。カウンタ回路は、割り込み信号を出力するとともに、そのレジスタのストレスカウント値をリセットする。さらにカウンタ回路は、CPUからのリセット信号を受信時には、内部のレジスタに累積されているストレスカウント値を、“0”にリセットする。
図2に、高温検出カウンタ回路仕様としての不揮発メモリの温度に対するデータ保持特性のストレス加速度を示す。不揮発メモリは、常温動作においては一般的に10年間以上のデータ保持特性を有し、書き込まれたデータが変動し、データ化けが発生することはない。しかしながら、高温状態では、データ保持特性が劣化し、データ化けが発生する虞がある。ストレス加速度とは、高温時に、常温に比較して何倍にストレスが加速されるかを示す係数である。
高温検出カウンタ回路(105)の備考(201)欄の条件1〜3のそれぞれに、装置内部温度区間(A≦t<B)(202)、時間あたりのストレス値(n−1)(203)、ストレス加速度n倍(204)が示されている。温度センサ1〜4により装置温度が測定され、条件1〜3の装置内部温度区間が判定される。高温時の温度区間に応じて、デバイスが受けるストレス量が常温のn倍となり、そのストレスカウント値が蓄積され、一時間あたり(n−1)回(203)の割り込み信号をCPU(104)に出力する。
ここで、高温検出カウンタ回路(105)の発振回路(109)のクロック信号の周波数を1Hz、カウンタ回路(108)の最大値(MAX値)を3600と設定したとする。この場合には、温度センサからの出力は1秒間隔でカウンタ回路に取り込まれる。取り込まれたストレス値が最大値3600、即ちストレス時間が常温で3600秒(1時間)に到達した時点で、カウンタ回路から割り込み信号がCPUに出力されることになる。しかし、この発振回路のクロック周波数、カウンタ回路の最大値は特に限定されるものではない。クロック周波数は端末装置の温度変化、カウンタ回路の最大値は端末装置を連続して使用する時間等に基づいて決めることができる。
具体例として、図1(B)では温度センサが4個の場合であり、温度センサ1、2、3、4が検出する温度しきい値をそれぞれ、70℃、80℃、90℃、100℃とする。条件1(70℃≦t<80℃)の場合は、温度センサ1が“H”を出力、温度センサ2、3、4が“L”を出力している場合である。条件2(80℃≦t<90℃)の場合は、温度センサ1、2が“H”を出力、温度センサ3、4が“L”を出力している場合である。条件3(90℃≦t<100℃)の場合は、温度センサ1、2、3が“H”を出力、温度センサ4が“L”を出力している場合である。
条件1の70℃≦t<80℃の場合、常温の3倍のストレス加速度で、時間あたり2倍の余分な温度ストレスを受けたことになる。この場合には最大値3600には、半時間(30分)で到達することから、結果的に1時間に2回割り込み信号が出力されることになる。条件2の80℃≦t<90℃の場合、常温の10倍のストレス加速度で、時間あたり9倍の余分な温度ストレスを受けたことになる。この場合には、結果的に1時間に9回割り込み信号が出力されることになる。条件3の90℃≦t<100℃の場合、常温の30倍のストレス加速度で、時間あたり29倍の余分な温度ストレスを受けたことになる。この場合には、結果的に1時間に29回割り込み信号が出力されることになる。このように温度が高くなると指数的に、温度に対するストレス加速度が増している。
図1(B)の高温検出カウント回路(105)の回路ブロックを再び参照して説明する。一般的に端末装置の内部温度は、アプリケーションプログラムの使用状態に応じて、時々刻々変化し、常温、条件1〜3の温度区間を行き来する。例えば最初に端末装置が動作することで、装置温度が常温から上昇し、内部温度が70℃を超え、条件1(70℃≦t<80℃)となる。内部温度が70℃を超えることで発振回路(109)がクロック信号を出力する。クロック信号の立ち上がりエッジに同期して温度ストレス値をカウンタ回路(108)に蓄積する。ここでは条件1(70℃≦t<80℃)であることから、1クロックあたり2倍の温度ストレス値となる。
従って、カウンタ回路には、条件1(70℃≦t<80℃)の期間では、クロックの立ち上がりエッジ毎に、+2加算され、ストレスカウント値が積算されていく。また装置の温度が、さらに上昇し、条件2(80℃≦t<90℃)の場合には、クロックの立ち上がりエッジ毎に、+9加算される。条件3(90℃≦t<100℃)の場合には、クロックの立ち上がりエッジ毎に、+29加算される。このように装置温度が70℃以上の場合には、カウンタ回路は、検出した温度に応じて重み付けされたストレス値を加算する。しかし、装置温度が70℃未満の場合には、発振回路がクロック信号を停止することで、カウンタ回路も加算することを停止する。このように、カウンタ回路は、端末装置の内部温度の変化に応じて時々刻々ストレスカウント値を積算(カウントアップ)する。
端末装置が動作を継続し、高温状態が続いた場合、カウンタ回路で積算されたストレスカウント値が設定されたMAX値以上になる。ストレスカウント値が、例えばMAX値(3600)以上になった場合には、高温検出カウンタ回路は割り込み信号をCPUに出力し、カウンタ回路のストレスカウント値をリセットする。ストレスカウント値をリセットすることで、継続して装置の温度を検出し、温度ストレス値を再びカウントすることが可能となる。CPUは、入力された割り込み信号によりストレス加速時間tt2を、+1カウントアップする。このように高温検出カウンタ回路は、数秒単位に変動する装置内部の温度に応じて重み付けされたストレス値をストレスカウント値として積算する。そのストレスカウント値が、MAX値となった時点で、そのストレスカウント値を1ショットの割り込み信号としてCPUに出力する。高温検出カウンタ回路は秒単位で、CPUは時間単位として構成することができる。
図3は、CPU(104)が読み書きすることのできる、揮発メモリ(101)に格納されている管理テーブル(300)である。管理テーブル(300)のレジスタに格納された時間としては、以下がある。システム時間tt1(301)は、携帯端末装置や情報端末装置内に配置された電波時計を搭載した標準時間を出力するタイマ回路(103)からCPU(104)が読み出すことで得られる現在の時刻である。システム時間とは、常温状態で、不揮発メモリの時間経過によるストレス量を算出するものである。
ストレス加速時間tt2(302)は、高温検出カウンタ回路からの割り込み信号の回数をカウントし、装置が高温のために加速された常温相当でのストレス時間である。ストレス加速時間は、装置内温度の高温が原因で、デバイスが受けたストレス量であり、常温で受けるストレス量を基本単位とし、どの程度加速されたストレス量であるかを示すものである。例えば、装置内温度の高温が原因で、1時間の経過時間に対して、常温2時間相当分のストレス量を余計に受けた場合、高温検出カウンタ回路は1時間あたり2回の割り込み信号を出力する。CPUは、ストレス加速時間を、一時間あたり +2加算する。このように、CPUは、装置内に配置された高温検出カウンタ回路の割り込み信号を受信すると、この管理テーブル内のストレス加速時間tt2をインクリメントする。そのインクリメントした値は、現在のストレス加速時間であり、揮発メモリ上の管理テーブルにストレス加速時間tt2として格納される。
ストレス加速時間tt3(303)は、CPU(104)が不揮発メモリのストレス量をチェックするときに、不揮発メモリのチェック対象ブロックから読み出した書き込み時点のストレス加速時間である。このストレス加速時間tt3(303)は、不揮発メモリのそれぞれのブロックの管理領域に、そのブロックの書き込み時点のストレス加速時間が管理情報(tt2_b)として記録されていたものである。システム時間tt4(304)は、CPU(104)が不揮発メモリのストレス量をチェックするときに、不揮発メモリのチェック対象ブロックから読み出した書き込み時点のシステム時間である。このシステム時間tt4は、不揮発メモリのそれぞれのブロックの管理領域に、そのブロックの書き込み時点のシステム時間が管理情報(tt1_b)として記録されていたものである。
ストレス時間tt5(305)は、上記tt1、tt2、tt3、tt4から算出されるチェック対象ブロックのストレス時間の総和である。ストレス管理時間tt6(306)は、不揮発メモリの書き込み時点からのストレス量を管理するためのストレス管理時間である。チェック対象ブロックのストレス時間tt5が、このストレス管理時間tt6より大きくなった場合には、不揮発メモリのチェック対象ブロックに、再書き込みを行う。再書き込みされた不揮発メモリのブロックの管理領域は、再書き込みされた時点のシステム時間、ストレス加速時間に書き換えられる。
これらの管理テーブルのそれぞれの時間について、簡単に総括する。不揮発メモリのメモリセルは、高温でない常温状態でも、不揮発メモリの書き込みを行ってからの、時間経過でリテンション特性に起因するデータ化けが発生する。この常温状態での経過時間によるストレスを「常温で受けるストレス量」と考え、システム時間として示す。また、不揮発メモリのリテンション特性は、高温になると、その特性劣化が激しくなる。装置が動作することで装置内部が高温になり、この高温での経過時間は常温における経過時間より数倍の、加速された時間に相当する。この高温における加速された経過時間によるストレスを「高温で受けるストレス量」と考え、ストレス加速時間として示す。
この「常温で受けるストレス量」と「高温で受けるストレス量」を合計したストレス量が、デバイスの受けた全体のストレス量となる。この全体ストレス量が、あらかじめ設定した管理値(ストレス管理時間、例えば、常温で10年相当のストレス)を超えた場合に、データの再書き込みを実施するようにする。このようにすることで、不揮発メモリのリテンション特性によるデータ化けが発生することが防止できる。
これら「常温で受けるストレス量」と、「高温で受けるストレス量」を得るための方法を、以下説明する。
「常温で受けるストレス量」は、標準時間を出力する電波時計付のタイマ回路からのシステム時間を用い、書き込み時点からの経過時間で算出する。ストレス量をチェックする時点(リテンションチェック)で、電波時計付のタイマ回路から、CPUは現在のシステム時間tt1を取得する。チェック対象のブロックの管理領域を読み出し、そのブロックに書き込みを行った時のシステム時間tt4を取得する。書き込みを行ってから経過した時間、すなわち、「常温で受けるストレス量」は、現在のシステム時間tt1から、書き込み時のシステム時間tt4との差分(tt1―tt4)で算出する。
「高温で受けるストレス量」は、装置内部に設けた高温検出カウンタ回路を用いて、その温度に応じた重み付けされたストレスカウント値を加算したストレス加速時間を用いる。ストレス量をチェックする時点で、CPUは揮発メモリから、現在のストレス加速時間tt2を取得する。さらに、チェック対象のブロックの管理領域を読み出し、そのブロックの書き込みを行った時のストレス加速時間tt3を取得する。書き込みを行ってからの「高温で受けるストレス量」は、現在のストレス加速時間tt2から、書き込み時のストレス加速時間tt3との差分(tt2−tt3)として、算出する。
不揮発メモリが受けた全体のストレス時間tt5は、「常温で受けるストレス量(tt1―tt4)」と「高温で受けるストレス量(tt2−tt3)」の和で求められる。あらかじめ決めた時間ごとに(例えば、システム時間が1時間経過する毎に)、このストレス時間tt5を計算し、ストレス管理時間tt6と比較する。ストレス管理時間tt6は、不揮発メモリの書き込み時点からのストレス量を管理する時間である。両者を比較し、ストレス時間tt5が、ストレス管理時間tt6を超えたブロックに対しては、再書き込みの処理を行なう動作を行う。このようにストレス時間tt5が、ストレス管理時間tt6を超えた場合は、データリテンション特性が劣化しデータ化けが発生する虞があることから、データの再書き込みを実施する。
次に、CPUが脱着可能な不揮発メモリを取り出す信号を受信し、不揮発メモリをメモリカードのように取り出す場合を考える。不揮発メモリを取り出す場合には、取り出す直前におけるシステム時間とストレス加速時間を不揮発メモリの任意ブロックの管理情報に書き込んでから、取り出す。ここでの任意ブロックとは、不揮発メモリのブロックで、未使用のブロックであれば、どのブロックでもよい。次に、脱着可能な不揮発メモリが取り付けられた場合、CPUは脱着可能な不揮発メモリが取り付けられた信号を受信することで、不揮発メモリ上の管理情報(ストレス加速時間)を読み出す。読み出したストレス加速時間を揮発メモリ上の管理テーブルに格納し、前回不揮発メモリを取り出した時点のストレス加速時間を初期値として、カウントを再開する。
また端末装置の電源をオフする場合にも、同様に電源オフする直前のシステム時間とストレス加速時間を任意ブロックの管理情報に書き込んでから、電源オフする。次に電源オンする場合、書き込んだ電源をオフする直前のストレス加速時間を読み出し、揮発メモリ上の管理テーブルに格納し、電源オフ直前のストレス加速時間からのカウントを再開する。このように不揮発メモリを取り出し、再び取り付けられる場合の動作と、装置の電源をオフ、オンする場合の動作は同じである。そのため以下の説明においては、不揮発メモリを取り出し、あるいは装置の電源をオフする場合を纏めて不揮発メモリ(あるいはシステム、又は装置)を停止させると称することがある。また、不揮発メモリを取り付け、あるいは装置の電源をオンする場合を纏めて不揮発メモリ(あるいはシステム、又は装置)を起動させると称することがある。
上記のように、本発明の不揮発メモリ管理方法は、「常温で受けるストレス量」と「高温で受けるストレス量」を分けて、不揮発メモリが受けるストレス量を算出する。さらに、端末装置から不揮発メモリを取り出し、取り付けるような場合には、不揮発メモリの取り出し直前のストレス加速時間を記録することで、継続的にストレスの履歴を保管することができる。そして、あらかじめ設定された以上の大きなストレス量を受けたブロックがあった場合にCPUが検知することができる。このように、持続的に不揮発メモリのブロックごとの再書き込みの最適な時期をチェックし、CPUは、メモリセルの再書き込みを行うことで、不揮発メモリのデータの信頼性を高める手段が提供できる。
図4は、装置から脱着可能な不揮発メモリ2(107)のデータ構成(400)である。簡単に一般的な不揮発メモリ(NAND)のデータ構成を説明すると、不揮発メモリ2(107)は、消去の単位である複数のブロック(Block)と、それぞれのブロックは書き込みの単位である複数(図4では、64個)のページ(Page)で構成されている。書き込みの単位であるページは、データ領域(401)と管理領域(402)の二つの領域で構成されている。
データ領域(401)は、ユーザデータなどを保存する領域である。管理領域(402)は、ユーザデータなどの本来保存するデータとは別に、エラー訂正のためのパリティービットや、データ管理のためのフラグ情報などを保管するための領域として使われている。例えば、消去状態のブロックに対して、初めて書き込みを行う場合には、データ領域(401)のデータとともに、ブロックの先頭ページ0の管理領域(402)へ、書き込み時点のシステム時間(403、405)と、書き込み時点のストレス加速時間(404、406)を記録する。このように、それぞれのシステム時間と、ストレス加速時間はセット(対)として同じブロックの管理領域に記録する。
具体的な例としては、ブロック0に対して初めて書き込みを行う場合、領域(403)に書き込み時点のシステム時間(tt1_0)と、領域(404)に書き込み時点のストレス加速時間(tt2_0)を書き込む。同様にブロック1に対して初めて書き込みを行う場合、領域(405)、(406)に、書き込み時点のシステム時間(tt1_1)、書き込み時点のストレス加速時間(tt2_1)を書き込む。また、不揮発メモリ2(107)を、装置から取り外す場合や電源オフ時、即ちシステムを停止する時には、システム停止直前のストレス加速時間を残す必要がある。そのため、任意のブロックnの管理領域407と408に、システム停止直前のシステム時間(tt1_n)と、ストレス加速時間(tt2_n)とを書き込む。この任意のブロックnは、データが書き込まれていないブロックであれば、特に限定されることなく、どのブロックでもよい。
システムを停止する時に、不揮発メモリにシステム停止直前のストレス加速時間を記録する理由は、システムを再起動させ、不揮発メモリを再び動作させる時に、ストレス加速時間のカウントを開始するための初期値を得るためである。不揮発メモリを再び動作させる場合には、管理領域(402)のすべてのブロック先頭ページを読み出す。読み出したシステム時間(tt1_b)のなかで、最も新しいシステム時間(tt1_n)のブロックに書き込まれたストレス加速時間(tt2_n)を取得する。取得したストレス加速時間(tt2_n)を、揮発メモリ(101)に配置される管理テーブルのストレス加速時間(tt2)に書き込むことにより、システム再起動時のストレス加速時間(tt2)の初期値とする。
不揮発メモリの管理領域に記録されているシステム時間は、それぞれのブロックにデータが書き込まれた時点のシステム時間、あるいはシステムが停止される直前のシステム時間である。従って、これらのシステム時間のなかで、最も新しいシステム時間はシステムを停止する直前のシステム時間である。従って、最も新しいシステム時間を示す領域に、対として記録されているストレス加速時間を選択し、初期値とする。このように停止する直前のストレス加速時間(tt2_n)を初期値とすることで、システムの停止時点と再起動時点のストレス加速時間とが連続することになり、継続したストレス加速時間をカウントすることができる。本発明におけるシステム時間及びストレス加速時間は、時間単位であり、端末装置の動作速度から考えて、システムの停止時点の時間と、システムの停止直前の時間とは同一として考えることができる。
なお、上記は、脱着可能な不揮発メモリ2(107)の不揮発メモリを例として、管理テーブル(図3)、不揮発メモリのデータ構成(図4)を説明した。しかし、不揮発メモリ1(106)に対しても、本発明を適用することができる。不揮発メモリ1(106)用の、管理テーブル(図3)を別個に揮発メモリ内に配置し、不揮発メモリ1(106)のデータ構成も同様(図4)にすることができる。このように不揮発メモリ1(106)に対しても、発明の構成を適用することができる。
次に実施例として、本発明を携帯電話に用いた場合の動作例を説明する。図5に本発明の構成を携帯電話に搭載した場合のフローチャート、図6にリテンションチェックのフローチャートを示す。
フローチャートの最初のステップ501は、本発明の不揮発メモリ管理を開始する初期状態とすることである。初期状態とは、端末装置の電源をオンし、端末装置を起動させた状態である。まず、管理テーブルの初期化として、以下の動作を行う(ステップ502)。CPU(104)は、タイマ回路(103)から現在のシステム時間を読み出し、揮発メモリ(101)の内部にある管理テーブルのシステム時間tt1(301)に書き込む。脱着可能な不揮発メモリ2(107)が取り付けられている場合は、CPU(104)は、不揮発メモリ2(107)の管理領域(402)の中の全てのブロックの書き込み時のシステム時間(tt1_b)を読み出す。
最も新しいシステム時間情報をもつブロックのストレス加速時間(tt2_b)を揮発メモリ(101)の内部にある管理テーブルのストレス加速時間tt2(302)として書き込む。書き込まれたストレス加速時間tt2は、前回不揮発メモリが取り出される直前のストレス加速時間であり、今回管理テーブルのストレス加速時間の初期値となる。また、初めて不揮発メモリを使用する場合などには、管理領域(402)の中にシステム時間情報が書き込まれていない。この場合は、初期値の“0”を揮発メモリ(101)の内部にある管理テーブルのストレス加速時間tt2(302)として書き込む。不揮発メモリ2(107)が取り付けられていない場合は、不揮発メモリ2(107)が取り付けられるまで、(ステップ502)の状態を保持する。
次のステップ503では、高温検出カウンタ回路の動作を開始し、装置内部温度の監視を開始する。次のステップ504では、CPU(104)は、高温検出カウンタ回路(105)からの割り込み信号があるか、をチェックする。割り込み信号がない場合は、次のステップ506へ進む。割り込み信号がある場合は、揮発メモリ(101)の内部にある管理テーブルのストレス加速時間tt2(302)を+1インクリメント(ステップ505)した後、次のステップ506へ進む。次のステップ506では、CPU(104)はタイマ回路(103)の時間情報を読み出し、前もって決めた設定時間(例えば、1時間ごと)が経過したかを確認する。設定時間になっていれば、リテンションチェックの動作(ステップ507)を実施し、次(ステップ508)に進む。設定時間になっていなければ、次(ステップ508)に進む。
次のステップ508では、CPU(104)が不揮発メモリの取り出し信号を検出したか、を確認する。不揮発メモリの取り出しキーのある周辺回路(102)の状態を確認し、取り出し信号を検出した場合は、現在のストレス加速時間を残す目的で、任意のブロックnに対して、取り出し直前のシステム時間とストレス加速時間とを書き込む。データが書き込まれている場合の管理領域には、書き込み時点のシステム時間と、ストレス加速時間が書き込まれる。しかし、現在の取り出し直前のシステム時間(tt1)と、ストレス加速時間(tt2)とは、データが書き込まれていない任意のブロックnの管理領域4に書き込む(ステップ509)。そして、不揮発メモリが装置から取り出される(ステップ510)。その後、不揮発メモリが再び装置に装着され(ステップ514)、初期状態(ステップ501)に戻る。取り出し信号を検出しなかった場合は、次(ステップ511)に進む。
次のステップ(ステップ511)では、CPU(104)はシステムの電源オフのシーケンスであるかどうか、を確認する。電源オフキーのある周辺回路(102)の状態を確認し、システム電源オフ信号を検出した場合は、現在の電源オフ直前のストレス加速時間を残す目的で、任意のブロックnに対して、データを書き込む。例えば、任意のブロックnの管理領域407と、408とには、書き込み時点のシステム時間と、ストレス加速時間の代わりに、電源オフ直前のシステム時間(tt1)と、ストレス加速時間(tt2)を書き込む(ステップ512)。そして、システムの電源オフが行われる(ステップ513)。システム電源オフ信号を検出しなかった場合は、再びステップ504に進み、ステップ504からのフローを繰り返す。
図5の動作フローチャートでは、端末装置の不揮発メモリに対し、ステップ509として不揮発メモリの取り出し直前のストレス加速時間の書き込み、ステップ512としてシステム電源オフ直前のストレス加速時間の書き込み処理を行っている。それぞれのステップ509、512の書き込み処理では、不揮発メモリ2(107)の任意のブロックnに対して、システム時間(tt1_n)と、ストレス加速時間(tt2_n)を書き込んでいる。このように脱着可能な不揮発メモリのデータ領域に書き込みがないブロックの管理領域に不揮発メモリの取り出し直前、あるいは電源オフ直前のシステム時間と、ストレス加速時間とを記録する。ここに記録されたストレス加速時間を用いて、不揮発メモリとして継続的なストレス加速時間を求めている。
しかし、不揮発メモリ2(107)が、脱着可能であるが、ある固定された端末装置でのみ使用される場合には、下記の記録方法を用いることもできる。上記した実施例では、システム停止直前の時間を不揮発メモリ2のデータ領域が未使用であるブロックの管理領域に記録した。ここでは不揮発メモリ2(107)に割り当てられた個別のID(識別子)と一緒に、システム停止直前のシステム時間と、ストレス加速時間を不揮発メモリ1(106)の決められた固定エリアに書き込むようにしても良い。この場合、次回、システムを再起動する時の管理テーブルの初期化(502)として、個別のIDごとに管理された、これら情報を不揮発メモリ1(106)から取得する。そうすると、不揮発メモリ2(107)を取り出す操作をユーザが行った場合に、ストレス時間を不揮発メモリに残す目的で行われる書き込み手順が省略できるから、不揮発メモリを取り出すときの待ち時間は少なくすることができる。
図6には、ステップ507のリテンションチェックの動作フローチャートを示す。前もって決めた設定時間が経過している場合には、リテンションチェックが開始される(ステップ601)。CPU(104)は、チェック対象のブロック番号を表すCPU内部のレジスタbを“0”に設定する(ステップ602)。
次に、CPU(104)は、不揮発メモリのブロック番号bの書き込み時のシステム時間(tt1_b)を読み出し、揮発メモリ(101)の内部にある管理テーブルのチェック対象ブロックの書き込みのシステム時間tt4に書き込む(ステップ603)。次に、CPU(104)は、不揮発メモリのブロック番号bの書き込み時のストレス加速時間(tt2_b)を読み出し、揮発メモリ(101)の内部にある管理テーブルのチェック対象ブロックの書き込み時のストレス加速時間tt3に書き込む(ステップ604)。
次に、CPU(104)は、現在のシステム時間(tt1)とストレス加速時間(tt2)を読み出し、不揮発メモリのそれぞれのブロックのストレス時間(tt5)を以下のように算出する。「不揮発メモリの受けたストレス量」(tt5) = 「常温で受けるストレス量」(tt1−tt4) + 「高温で受けるストレス量」(tt2−tt3)。 これを揮発メモリ(101)の内部にある管理テーブルのチェック対象ブロックのストレス時間tt5として書き込む(ステップ605)。
次に、CPU(104)は、チェック対象ブロックbのストレス時間tt5が、ストレス管理時間tt6を超えたかどうか、を確認する(ステップ606)。超えていれば、ブロック番号bの再書き込みを実施する(ステップ607)。再書き込みを実施したブロックの管理領域は、新しく再書き込み時のシステム時間(tt1_b)と、ストレス加速時間(tt2_b)とに書き換える。再書き込み後に、ステップ608に進む。チェック対象ブロックbのストレス時間tt5が、ストレス管理時間tt6を超えていなければ、そのまま、次のステップ608に進む。
次に、CPU(104)は、チェック対象ブロック番号bが、不揮発メモリの最終ブロックnかどうか、を確認(ステップ608)する。最終ブロックでなければ、チェック対象ブロック番号を表すCPU内部のレジスタbの値を1つインクリメントし、ステップ603のフローに戻り、すべてのブロックに対するリテンションチェックを繰り返す。最終ブロックであれば、リテンションチェックの動作を終了する。上記を行うことで、CPU(104)は、すべてのブロックの書き込み時点からのストレス時間を調査し、ストレス時間が、管理値を超えていれば、再書き込みを行うため、リテンションチェック終了時には、すべてのブロックのストレス時間は、ストレス管理値以下になる。
このように、CPU(104)は、装置内温度が高温によるストレスを高温検出カウンタ回路(105)の割り込み信号で検出し、ストレス加速時間(302)をインクリメントする。ストレス加速時間をカウントしながら、設定時間(たとえば、1時間ごと)にリテンションチェックをするというフローのなかで、不揮発メモリの中の各ブロックは、設定されたストレス管理時間(306)を超えないように管理する。このような動作を継続的に行うことで、リテンション特性によるデータ化けを防止することができる。
本発明の携帯端末装置や情報端末装置は、高温になった場合に特性の劣化するデバイスの近傍に複数の温度センサを配置し、装置が動作中の装置内部温度をモニタする。複数の温度センサは、温度しきい値として第1の温度と、その第1の温度よりもそれぞれ異なる高い温度を検出できるように設定する。複数の温度センサのうち、最も低い第1の温度を検出する温度センサが高温を検出している間だけ、カウンタ回路のクロックとなる発振回路を動作させる。装置内部が高温になっている時間の履歴を取るために、発振回路からのクロックに同期し、複数の温度センサごとに重み付けしたストレスカウント値をカウンタ回路でカウントしていく。
このように、端末装置が動作中は装置内部温度をモニタし、複数の温度センサごとに重み付けされたストレス値をカウントする。このストレスカウント値から、装置内部が高温になり、デバイスが受けたストレス量が、常温の何倍に相当する量に加速されたかを知ることができる。そして、カウンタ回路のストレスカウント値が、上限値(MAX)になったときにCPUに割り込み信号として、通知する。CPUは通知された割り込み信号の回数をカウントすることで、デバイスが、装置内温度の高温時に受けた「高温で受けるストレス量」をストレス加速時間として、把握する。
不揮発メモリのリテンション特性は、「常温で受けるストレス量」と「高温で受けるストレス量」との総和である。「常温で受けるストレス量」は、不揮発メモリへ書き込みを行った時刻と、現在の時刻の差分を用いて算出され、書き込みが行われてからの経過時間であり、システム時間として表される。「高温で受けるストレス量」は、装置内温度の高温時に受けたストレス加速時間として表される。これらの「常温で受けるストレス量」と、「高温で受けるストレス量」は、いずれも時間として表わされることから、その和である「現在のストレス量」もストレス時間として表される。この「現在のストレス時間」が、前もって設定されたストレス管理時間を越えていれば、CPUは、不揮発メモリの再書き込みを実施する。
ここで不揮発メモリのストレス量の管理として、不揮発メモリのそれぞれのブロックの管理領域に、そのブロックに書き込みされた時のシステム時間(tt1_b)と、ストレス加速時間(tt2_b)とを記録する。さらに、装置から取り外す場合や、電源オフし、システムを停止する場合には、任意の未使用のブロックの管理領域に、システム停止直前のシステム時間と、ストレス加速時間とを記録する。システムを再起動する場合は、システム停止直前のストレス加速時間を読出し、ストレス加速時間の初期値として、さらに割り込み信号の回数を加算することで、新たなストレス加速時間(tt2)とする。
「常温で受けるストレス量」は、タイマ回路が出力する現在のシステム時間と、そのブロックの書き込み時のシステム時間の差分として算出する。「高温で受けるストレス量」は、システム停止直前のストレス加速時間に新たに追加された割り込み信号の回数を加算した現在のストレス加速時間と、そのブロックへの書き込み時のシステム時間の差分として算出する。この「常温で受けるストレス量」と、「高温で受けるストレス量」の和が、そのブロックの現在のストレス時間となる。このように、ブロック単位に不揮発メモリのリテンション特性時間を管理する。ストレス時間が設定されたストレス管理時間を越えていれば、CPUは、不揮発メモリの再書き込みを実施する。
このように本発明においては、ストレス時間をモニタすることで、不揮発メモリのデータ保持特性の悪化によるデータ化けに対して、データ化けが発生する前に、再書き込みを行うことで、システムの信頼性を高めることができる。
本発明を用いることで、装置内臓の不揮発メモリ、及び脱着可能な不揮発メモリにおいて、不揮発メモリのリテンション特性の劣化により発生するデータ化けを防止することができる。例えば、一般的な不揮発メモリの書き込みデータは、常温で約10年間のデータ保持を保証されるものが多い。しかしながら不揮発メモリが使用される装置の温度が上昇し、常温換算のストレス時間が管理時間を越え、不揮発メモリのデータ化けが発生する虞がある。本発明では、データ保持の保証時間内にアプリケーションプログラムや、ユーザデータを再書き込みする構成を装置内部に備える。装置を再書き込み可能とすることで、ユーザが意識することなく、不揮発メモリのリテンション特性起因で発生する不具合を未然に防止することができる。
また本発明を用いることで、装置温度高温による不揮発メモリのリテンション特性に起因して発生するデータ化けを防止できることから、携帯電話の設計において以下の効果が得られる。最近の携帯電話では、CPUは動作中に熱を発生するため、メモリデバイスのリテンション特性に少なからず影響がある。メモリデバイスのリテンション特性確保のために、熱の発生を抑える目的で、CPUの動作周波数を下げた場合、携帯電話の操作性が低下し、商品性が損なわれるというデメリットが発生する。しかし本発明の構成を用いることにより、不揮発メモリのリテンション特性に起因する不具合を防止することができることから、装置の熱設計を容易にできる。また、不揮発メモリを取り付ける位置についての制約がなくなるため、ソケットの配置位置の制限がない等の、デザインの自由度が高くなり、商品性の高い装置デザインを行うことができる。
さらに本発明は、不揮発メモリの管理領域に、不揮発メモリが取り出される直前の不揮発メモリ自身のストレス加速時間とシステム時間のデータを記録している。この記録されているデータに新たに装着した装置におけるストレス加速時間とシステム時間をそれぞれ加算することで、不揮発メモリとしての継続したストレス加速時間とシステム時間が得られる。
このように脱着可能な不揮発メモリを、異なる別の端末で、デバイス周囲温度が高温の環境で使用した場合においても、データ化けが発生する前に、再書き込みを行う最適な時期を検知し、再書き込みを行うことができる。本方法を用いることで、脱着可能な不揮発メモリに対して、不揮発メモリのリテンション特性に起因して発生するデータ化けを防止することができるため、システムの信頼性を高めることができる。
以上、本発明を好ましい実施の形態、実施例として詳細に説明したが、本発明はこれら実施の形態、実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲内において適宜の変更が可能なものである。
101 揮発メモリ
102 周辺回路
103 タイマ回路
104 中央演算処理装置(CPU)
105 高温検出カウンタ回路
106 不揮発メモリ(内蔵)
107 不揮発メモリ(脱着可能)
108 カウンタ回路
109 発振回路
110 温度センサ1
111 温度センサ2
112 温度センサ3
113 温度センサ4
102 周辺回路
103 タイマ回路
104 中央演算処理装置(CPU)
105 高温検出カウンタ回路
106 不揮発メモリ(内蔵)
107 不揮発メモリ(脱着可能)
108 カウンタ回路
109 発振回路
110 温度センサ1
111 温度センサ2
112 温度センサ3
113 温度センサ4
Claims (10)
- 着脱可能な不揮発メモリと、標準時刻を出力するタイマ回路と、装置内部の温度を測定する温度センサを搭載し、高温検出時にCPUに割り込み信号を出力する高温検出カウンタ回路と、前記割り込み信号をストレス加速時間としてカウントするCPUと、を備え、
不揮発メモリのそれぞれのブロックの管理領域に、それぞれのブロックにデータが書き込まれた時のシステム時間と、ストレス加速時間と、を記録し、
不揮発メモリを取り出す場合には、取り出す不揮発メモリの任意のブロックの管理領域に、不揮発メモリを取り出す直前のシステム時間と、ストレス加速時間と、を記録し、
前記取り出した不揮発メモリを再び取り付ける場合には、前記不揮発メモリを取り出す直前のストレス加速時間を初期値として、前記割り込み信号をカウントアップすることで、現在のストレス加速時間とし、
前記それぞれのブロックにデータが書き込まれた時のシステム時間と、ストレス加速時間と、タイマ回路からの現在におけるシステム時間と、前記現在のストレス加速時間とを用いて、それぞれのブロック毎のストレス時間を算出し、前記ストレス時間が設定されたストレス管理時間を超えた不揮発性メモリのブロックに再書き込みを行うことを特徴とする端末装置。 - 前記不揮発メモリを取り出す直前のシステム時間と、ストレス加速時間とが記録される前記不揮発メモリの任意のブロックは、前記不揮発メモリのブロックで、データ領域にデータが書き込まれていない未使用ブロックのうちのいずれか1つであることを特徴とする請求項1に記載の端末装置。
- 前記取り出した不揮発メモリを再び取り付ける場合の初期値となるストレス加速時間は、それぞれのブロックの管理領域に記録されている全てのシステム時間を読み出し、読み出したシステム時間のなかで最も新しいシステム時間が記録されているブロックに記録されているストレス加速時間であることを特徴とする請求項1または請求項2に記載の端末装置。
- 前記ブロック毎のストレス時間は、現在におけるシステム時間と、それぞれのブロックにデータが書き込まれた時のシステム時間との差分と、現在におけるストレス加速時間と、それぞれのブロックにデータが書き込まれた時のストレス加速時間との差分とを算出し、前記2つの差分を加算した時間であることを特徴とする請求項1乃至請求項3のいずれかに記載の端末装置。
- 前記現在におけるシステム時間とストレス加速時間、前記それぞれのブロックにデータが書き込まれた時のシステム時間とストレス加速時間、前記ストレス時間、及び前記ストレス管理時間、を格納する管理テーブルが揮発メモリに設けられていることを特徴とする請求項1乃至請求項4のいずれかに記載の端末装置。
- 前記高温検出カウンタ回路は、装置内部の高温を検出する温度センサと、前記温度センサからの高温検出信号によりクロック信号を出力する発振回路と、前記クロック信号が入力された回数を、検出した温度に応じて重み付けしたストレスカウント値としてカウントするカウンタ回路と、を有し、前記ストレスカウント値が設定された値以上になったときにCPUに割り込み信号を出力することを特徴とする請求項1乃至請求項5のいずれかに記載の端末装置。
- 前記高温検出カウンタ回路は、検出する温度しきい値がそれぞれ異なる複数の温度センサを備え、前記複数の温度センサのうち一番低い温度を検出する温度センサが高温であることを検出した時に、前記発振回路が駆動され、クロック信号が出力されることを特徴とする請求項6に記載の端末装置。
- 前記カウンタ回路は、ストレスカウント値が設定された最大値以上になった場合に、割り込み信号を発生するとともに、前記ストレスカウント値をリセットすることを特徴とする請求項6又は請求項7に記載の端末装置。
- 装置内部の温度をそれぞれが異なる温度しきい値を用いて検出する複数の温度センサと、
前記複数の温度センサのうち一番低い温度を検出する温度センサからの高温検出信号によりクロック信号を出力する発振回路と、
前記クロック信号が入力された回数を前記複数の温度センサからの高温検出信号のそれぞれに対応させて重み付けしたストレスカウント値として積算するカウンタ回路と、を有し、
前記カウンタ回路は、前記ストレスカウント値が設定された最大値以上になった場合に、割り込み信号を出力するとともに、前記ストレスカウント値をリセットすることを特徴とすることを特徴とする高温検出カウンタ回路。 - CPUが、タイマ回路から読み出した現在のシステム時間を揮発メモリの管理テーブルのシステム時間として書き込み、不揮発メモリの取り出し直前のストレス加速時間を、揮発メモリの管理テーブルのストレス加速時間の初期値として書き込む初期化ステップと、
高温検出カウンタ回路が装置内部温度の監視を開始し、検出した温度に応じてストレス値をカウントしたストレスカウント値により割り込み信号を出力し、CPUが前記ストレス加速時間の初期値に前記割り込み信号を加算し、現在のストレス加速時間をカウントするステップと、
CPUが、現在のシステム時間とストレス加速時間と、不揮発メモリのそれぞれのブロックに対する書き込み時のシステム時間とストレス加速時間と、を用いて、不揮発メモリのそれぞれのブロックのストレス時間を算出するステップと、
算出したストレス時間が、ストレス管理時間をオーバーしていたブロックに対して再書き込みを行うステップと、を備えたことを特徴とする不揮発メモリへの再書き込み方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010116955A JP2011243132A (ja) | 2010-05-21 | 2010-05-21 | 脱着可能な不揮発メモリに再書き込みを行う端末装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010116955A JP2011243132A (ja) | 2010-05-21 | 2010-05-21 | 脱着可能な不揮発メモリに再書き込みを行う端末装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011243132A true JP2011243132A (ja) | 2011-12-01 |
Family
ID=45409690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010116955A Withdrawn JP2011243132A (ja) | 2010-05-21 | 2010-05-21 | 脱着可能な不揮発メモリに再書き込みを行う端末装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011243132A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9535620B2 (en) | 2014-02-21 | 2017-01-03 | Samsung Electronics Co., Ltd. | Flash memory system and method controlling same |
CN109270464A (zh) * | 2018-07-31 | 2019-01-25 | 华南理工大学 | 基于超声波的铅酸蓄电池汇流条温度应力检测方法和装置 |
US10228872B2 (en) | 2016-03-10 | 2019-03-12 | Toshiba Memory Corporation | Semiconductor device, and information-processing device |
-
2010
- 2010-05-21 JP JP2010116955A patent/JP2011243132A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9535620B2 (en) | 2014-02-21 | 2017-01-03 | Samsung Electronics Co., Ltd. | Flash memory system and method controlling same |
US10228872B2 (en) | 2016-03-10 | 2019-03-12 | Toshiba Memory Corporation | Semiconductor device, and information-processing device |
US10430090B2 (en) | 2016-03-10 | 2019-10-01 | Toshiba Memory Corporation | Method of controlling memory system and method of controlling information-processing device |
CN109270464A (zh) * | 2018-07-31 | 2019-01-25 | 华南理工大学 | 基于超声波的铅酸蓄电池汇流条温度应力检测方法和装置 |
CN109270464B (zh) * | 2018-07-31 | 2024-05-17 | 华南理工大学 | 基于超声波的铅酸蓄电池汇流条温度应力检测方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5516873B2 (ja) | 高温検出カウンタ回路を備えた端末装置 | |
US9063844B2 (en) | Non-volatile memory management system with time measure mechanism and method of operation thereof | |
US8577633B2 (en) | Gyro zero turn rate offset correction over temperature in a personal mobile device | |
US8060797B2 (en) | Semiconductor storage device | |
KR101660049B1 (ko) | 플래시 메모리의 에러 스캐닝 | |
TWI471867B (zh) | 非揮發性記憶體之溫度警示及低率刷新 | |
TWI431476B (zh) | 操作一記憶體系統、一包含一主機與一記憶體系統之系統、及一或多個記憶體裝置與一主機之方法 | |
US9280419B2 (en) | Dynamic adjustment of data protection schemes in flash storage systems based on temperature, power off duration and flash age | |
CN103646208B (zh) | 一种eMMC的监控方法及装置 | |
CN109754832B (zh) | 半导体存储器件、存储器系统及其刷新方法 | |
US20110219203A1 (en) | Method and device for temperature-based data refresh in non-volatile memories | |
US8402204B2 (en) | Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same | |
WO2012054697A1 (en) | Predictive read channel configuration | |
JP2008139927A (ja) | メモリシステム | |
KR20090024192A (ko) | 반도체 기억 장치 관리 시스템, 반도체 기억 장치, 호스트 장치, 반도체 기억 장치의 관리 방법 | |
JP2015148859A (ja) | 情報処理装置及び起動制御プログラム並びに起動制御方法 | |
JP2011243132A (ja) | 脱着可能な不揮発メモリに再書き込みを行う端末装置 | |
JP2014229216A (ja) | 情報処理装置、制御回路、制御プログラム、および制御方法 | |
US20120151241A1 (en) | Method and apparatus to boost mass memory performance given power supply availability | |
JP2005267761A (ja) | フラッシュメモリの劣化監視方法 | |
JP2016032196A (ja) | 温度補償型発振回路、リアルタイムクロック装置及び電子機器 | |
CN109844688B (zh) | 片上系统、包括该片上系统的电子装置及其驱动方法 | |
JP6137659B2 (ja) | 計量装置および計量データ記録方法 | |
JP5495885B2 (ja) | データ記憶装置 | |
JP2011166439A (ja) | 半導体集積回路装置及びその温度補正方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20130806 |