(57)【特許請求の範囲】
【請求項１】
書き換え可能な不揮発性の記憶領域を有する不揮発性メモリ部と、
前記記憶領域のデータの読み出しと、データの書き込み及び消去を制御する制御部と、を有するデータ処理用半導体装置であって、
前記制御部は、入力した温度のデータを参照して、前記記憶領域のデータの読み出し可能な温度範囲よりもデータの書き込み及び消去を行う温度範囲を狭く制御する第１の動作モードを有し、前記入力した温度のデータが前記第１の動作モードにおけるデータの書き込み及び消去を行う温度範囲外の温度を示す場合には、データの書き込み及び消去を第２の動作モードにより行い、前記第１の動作モードで書き込み及び消去したデータと区別するための所定の情報を生成する、データ処理用半導体装置。
【請求項２】
前記制御部は、前記所定の情報に基づいて前記第２の動作モードで書き込まれたデータの読み出しを行い、当該読み出したデータを前記第１の動作モードによって書き込む、請求項１記載のデータ処理用半導体装置。
【請求項３】
前記記憶領域は、前記第１の動作モードにおけるデータの書き込み及び消去を行うための第１の記憶領域と、前記第２の動作モードにおけるデータの書き込み及び消去を行うための第２の記憶領域を有し、
前記制御部は、前記第２の動作モードにおいて、第２の記憶領域に対し書き込み及び消去を行ったとき、当該書き込み及び消去を行った前記第２の記憶領域のアドレスと当該書き込み及び消去の要求によって指定された第１の記憶領域のアドレスとを対応させる情報を、前記所定の情報として生成する、請求項２記載のデータ処理用半導体装置。
【請求項４】
前記制御部は、前記第２の動作モードにおいて、前記所定の情報を所定のフラグ情報とし、当該フラグ情報を、前記第２の動作モードで書き込むデータに付加する、請求項２記載のデータ処理用半導体装置。
【請求項５】
前記第１の動作モードは、前記データの読み出しを保証する温度範囲の上限値よりも前記データの書き込み及び消去を行う温度範囲の上限値を低くする動作モードである、請求項１記載のデータ処理用半導体装置。
【請求項６】
前記第１の動作モードは、前記データの読み出しを保証する温度範囲の下限値よりも前記データの書き込み及び消去を行う温度範囲の下限値を高くする動作モードである、請求項１記載のデータ処理用半導体装置。
【請求項７】
前記第１の動作モードにおいて、測定された温度がデータの書き込み及び消去を行う温度範囲外である場合には、前記制御部は前記記憶領域のデータの書き込み及び消去を行うことなく、エラーを示す情報を生成する、請求項１記載のデータ処理用半導体装置。
【請求項８】
前記エラーを示す情報は、データの書き込み及び消去が行われなかったことを示す情報を含む、請求項７記載のデータ処理用半導体装置。
【請求項９】
書き換え可能な不揮発性の記憶領域を有する不揮発性メモリ部と、
前記記憶領域のデータの読み出しと、データの書き込み及び消去を制御する制御部と、を有するデータ処理用半導体装置であって、
前記制御部は、入力した温度のデータを参照して、前記記憶領域のデータの読み出し可能な温度範囲よりもデータの書き込み及び消去を行う温度範囲を狭く制御する第１の動作モードを有し、
前記記憶領域は、プログラムを構成するデータを格納するための第３の記憶領域と、データを格納するための第４の記憶領域を有し、
前記制御部は、前記第１の動作モードにおいて、前記第３の記憶領域のデータの書き込み及び消去を行う温度範囲を前記第４の記憶領域のデータの書き込み及び消去を行う温度範囲より狭い温度範囲とする制御を行う、データ処理用半導体装置。
【請求項１０】
前記制御部は、データの書き込み及び消去を行うとき、所定の動作単位毎に前記入力した温度のデータの参照を行う、請求項１記載のデータ処理用半導体装置。
【請求項１１】
前記制御部は、前記第３の記憶領域のデータの読み出しを行うとき、前記入力した温度のデータが所定の温度範囲外の温度を示す場合には、前記第３の記憶領域に格納されたデータに対応するデータを外部の記憶装置から読み出す制御を行う、請求項９記載のデータ処理用半導体装置。
【請求項１２】
温度を測定し、測定した温度のデータを生成する温度センサ部を更に有し、
前記制御部は、前記生成された温度のデータを入力する、請求項１又は２記載のデータ処理用半導体装置。
【請求項１３】
書き換え可能な不揮発性の記憶領域を有する不揮発性メモリ部と、
前記記憶領域のデータの読み出しと、データの書き込み及び消去を制御する制御部と、を有するデータ処理用半導体装置であって、
前記制御部は、入力した温度のデータを参照して、前記記憶領域のデータの読み出しを保証する温度範囲よりもデータの書き込み及び消去を保証する温度範囲を狭く制御する第１の動作モードを有し、前記入力した温度のデータが前記第１の動作モードにおけるデータの書き込み及び消去を行う温度範囲外の温度を示す場合には、データの書き込み及び消去を第２の動作モードにより行い、前記第１の動作モードで書き込み及び消去したデータと区別するための所定の情報を生成する、データ処理用半導体装置。
【請求項１４】
前記制御部は、前記所定の情報に基づいて前記第２の動作モードで書き込まれたデータの読み出しを行い、当該読み出したデータを前記第１の動作モードによって書き込む、請求項１３記載のデータ処理用半導体装置。
【請求項１５】
前記記憶領域は、プログラム制御のためのプログラムを格納するための第３の記憶領域と、データを格納するための第４の記憶領域を有し、
前記制御部は、前記第１の動作モードにおいて、前記第３の記憶領域のデータの書き込み及び消去を保証する温度範囲を前記第４の記憶領域のデータの書き込み及び消去を保証する温度範囲より狭い温度範囲とする制御を行う、請求項１３記載のデータ処理用半導体装置。
【請求項１６】
前記データの読み出しを保証する温度範囲は、半導体装置全体として保証する温度範囲と等しい温度範囲である、請求項１３記載のデータ処理用半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理用半導体装置に関し、特に書き換え可能な不揮発性メモリを内蔵したデータ処理用半導体装置に適用して有効な技術に関する。
【背景技術】
【０００２】
近年、自動車エンジン制御等において使用される、書き換え可能な不揮発性メモリを搭載したマイコン製品は、より高い温度での動作が求められている。しかし、書き換え可能な不揮発性メモリとしてマイコンに搭載されるフラッシュメモリは、超高温環境下で書き換えを繰り返し行うとリテンション特性が低下し、正常に書き込み及び消去が行えなくなる可能性があるため、超高温時の書き換えを制限する必要がある。
【０００３】
従来技術として、保証電圧に対するマージンの温度変動に起因する低下に基づく、データの読み出し時の信頼性の向上を図る技術が、特許文献１に開示されている。
【０００４】
特許文献１に記載の方法は、フラッシュＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）を搭載する半導体集積回路の温度を検知し、当該検知温度に基づいて、前記フラッシュＲＯＭの書き換え時にメモリセルに印加する書き込み及び消去パルスのパルス幅又は電圧レベルを調整することにより、データの信頼性の向上を図る方法である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−３６７３８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
発明者が考えるところによると、上記特許文献１に記載された方法は、温度に基づいて書き込み及び消去パルスのパルス幅や電圧レベルを調整するための大規模な制御回路が必要となる。また、当該制御により書き込み及び消去を行ったとしても、超高温環境下におけるディスターブ耐性やリテンション特性の向上には限界がある。
【０００７】
本発明の目的は、データ処理用半導体装置における不揮発性メモリの書き換え制御の信頼性を向上させることにある。
【０００８】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１０】
すなわち、データ処理用半導体装置において、書き換え可能な不揮発性の記憶領域のデータの読み出しとデータの書き込み及び消去とを制御する制御部は、入力した温度のデータを参照して前記記憶領域のデータの読み出し可能な温度範囲よりもデータの書き込み及び消去を行う温度範囲を狭く制御する動作モードを有する。
【発明の効果】
【００１１】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１２】
すなわち、データ処理用半導体装置における不揮発性メモリの書き込み及び消去を制御する信頼性が向上する。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施の形態１に係るデータ処理用半導体装置である。
【図２】図２は、フラッシュメモリのリテンション特性の温度依存性を表したグラフの一例である。
【図３】図３は、フラッシュメモリのディスターブ耐性の温度依存性を表したグラフの一例である。
【図４】図４は、Ｐ／Ｅシーケンサ１２による所定の温度条件に基づくデータの書き換え制御の一例である。
【図５】図５は、フラッシュメモリ部１１のデータの書き換え時の動作フローの一例である。
【図６】図６は、第１の方法を採用したデータ処理用半導体装置１の説明図である。
【図７】図７は、第２の方法を採用したデータ処理用半導体装置１の説明図である。
【図８】図８は、リフレッシュ動作の動作フローの一例である。
【図９】図９は、実施の形態２に係るデータ処理用半導体装置である。
【図１０】図１０は、Ｐ／Ｅシーケンサ９０による、記憶領域毎のデータの書き換え制御方法の一例である。
【図１１】図１１は、フラッシュメモリのメモリセルの消去に関する特性を表すグラフの一例である。
【図１２】図１２は、実施の形態３に係るデータ処理用半導体装置である。
【図１３】図１３は、Ｐ／Ｅシーケンサ１２０によるデータの書き換え時の動作フローの一例である。
【図１４】図１４は、実施の形態４に係るデータ処理用半導体装置である。
【図１５】図１５は、実施の形態５に係るデータ処理用半導体装置である。
【図１６】図１６は、実施の形態６に係るデータ処理用半導体装置である。
【発明を実施するための形態】
【００１４】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１５】
〔１〕本発明の代表的な実施の形態に係るデータ処理用半導体装置（１〜６）は、書き換え可能な不揮発性の記憶領域を有する不揮発性メモリ部（１１、９１）と、前記記憶領域のデータの読み出しとデータの書き込み及び消去を制御する制御部（１２、３０、９０、１２０、１６０）と、を有するデータ処理用半導体装置である。前記制御部は、入力した温度のデータを参照して、前記記憶領域のデータの読み出し可能な温度範囲よりもデータの書き込み及び消去を行う温度範囲を狭く制御する第１の動作モードを有する。これによれば、高温時における書き込みが制限されるから、リテンション特性の低下、及びディスターブ耐性の劣化を防止できる。
【００１６】
〔２〕項１のデータ処理用半導体装置において、前記制御部は、前記入力した温度のデータが前記第１の動作モードにおけるデータの書き込み及び消去を行う温度範囲外の温度を示す場合には、データの書き込み及び消去を第２の動作モードにより行い、前記第１の動作モードで書き込み及び消去したデータと区別するための所定の情報を生成する。これによれば、高温時におけるデータの書き込みを行っても、当該書き込まれたデータと前記第１の動作モードで書き込まれたデータとを区別することができる。
【００１７】
〔３〕項２のデータ処理用半導体装置において、前記制御部は、前記所定の情報に基づいて前記第２の動作モードで書き込まれたデータの読み出しを行い、当該読み出したデータを前記第１の動作モードによって書き込む。これによれば、前記温度範囲外の温度において書き込まれたデータを前記第１の動作モードにおいて再書き込みするから、当該書き込みデータの信頼性の低下を抑制することができる。
【００１８】
〔４〕項３のデータ処理用半導体装置において、前記記憶領域は、前記第１の動作モードにおけるデータの書き込み及び消去を行うための第１の記憶領域（１１１）と、前記第２の動作モードにおけるデータの書き込み及び消去を行うための第２の記憶領域（１１２）を有する。前記制御部は、前記第２の動作モードにおいて、第２の記憶領域に対し書き込み及び消去を行ったとき、当該書き込み及び消去を行った前記第２の記憶領域のアドレスと当該書き込み及び消去の要求によって指定された第１の記憶領域のアドレスとを対応させる情報を、前記所定の情報として生成する。これによれば、前記第１の動作モードで書き込み及び消去が行われたデータと、前記第２の動作モードで書き込み及び消去が行われたデータを容易に区別して格納することができ、且つ前記所定の情報に基づいて、前記指定された第１の記憶領域のアドレスの情報から当該書き込み及び消去が行われた前記第２の記憶領域のアドレスの情報を容易に求めることができる。
【００１９】
〔５〕項３のデータ処理用半導体装置において、前記制御部は、前記第２の動作モードにおいて、前記所定の情報を所定のフラグ情報とし、当該フラグ情報を、前記第２の動作モードで書き込むデータに付加する。これによれば、前記第１の動作モードで書き込み及び消去が行われたデータと、前記第２の動作モードで書き込み及び消去が行われたデータとを、データそれ自体で容易に判別することができる。
【００２０】
〔６〕項１のデータ処理用半導体装置において、前記第１の動作モードは、前記データの読み出しを保証する温度範囲の上限値よりも前記データの書き込み及び消去を行う温度範囲の上限値を低くする動作モードである。
【００２１】
〔７〕項１のデータ処理用半導体装置において、前記第１の動作モードは、前記データの読み出しを保証する温度範囲の下限値よりも前記データの書き込み及び消去を行う温度範囲の下限値を高くする動作モードである。
【００２２】
〔８〕項１のデータ処理用半導体装置において、前記第１の動作モードにおいて測定された温度がデータの書き込み及び消去を行う温度範囲外である場合には、前記制御部は前記記憶領域のデータの書き込み及び消去を行うことなく、エラーを示す情報を生成する。前記エラーを示す情報に基づいて、データの書き込み及び消去が行われなかったことを容易に知ることができる。
【００２３】
〔９〕項８のデータ処理用半導体装置において、前記エラーを示す情報は、データの書き込み及び消去が行われなかったことを示す情報を含む。
【００２４】
〔１０〕項１のデータ処理用半導体装置において、前記記憶領域は、プログラムを構成するデータを格納するための第３の記憶領域（９０１）とデータを格納するための第４の記憶領域（９０２）を有し、前記制御部は、前記第１の動作モードにおいて前記第３の記憶領域のデータの書き込み及び消去を行う温度範囲を前記第４の記憶領域のデータの書き込み及び消去を行う温度範囲より狭い温度範囲とする制御を行う。
【００２５】
プログラムの書き換えはシステム上で行う場合は少なく、製造過程において安定した温度条件下で行われることが多いことから、前記第３の記憶領域は、書き込み及び消去を行うために広範囲の温度範囲は不要である。したがって、項１０によれば、前記第３の記憶領域の書き込み及び消去を制御する温度範囲を狭くするから、書き込み及び消去を短時間で完了することが可能となる。
【００２６】
〔１１〕項１のデータ処理用半導体装置において、前記制御部は、データの書き込み及び消去を行うとき、所定の動作単位毎に前記入力した温度のデータの参照を行う。これによれば、温度を測定した後に温度が変化した場合でも前記温度範囲外においてデータの書き込み及び消去が行われる可能性がより低くなる。
【００２７】
〔１２〕項１０におけるデータ処理用半導体装置において、前記制御部は、前記第３の記憶領域のデータの読み出しを行うとき、前記入力した温度のデータが所定の温度範囲外の温度を示す場合には、前記第３の記憶領域に格納されたデータに対応するデータを外部の記憶装置（２０）から読み出す制御を行う。これによれば、データの読み出し保証範囲外における前記不揮発性メモリ部からデータの読み出しを行わないから、読み出しデータ自体の信頼性を向上することができる。
【００２８】
〔１３〕項１又は３のデータ処理用半導体装置において、温度を測定し、測定した温度のデータを生成する温度センサ部（１４、２２）を更に有し、前記制御部は前記生成された温度のデータを入力する。これによれば、前記データ処理用半導体装置内部の温度に基づいた前記不揮発性メモリ部の制御が可能となる。
【００２９】
〔１４〕本発明の別の代表的な実施の形態に係るデータ処理用半導体装置（１〜６）は、書き換え可能な不揮発性の記憶領域を有する不揮発性メモリ部（１１、９１）と、前記記憶領域のデータの読み出しと、データの書き込み及び消去を制御する制御部（１２、３０、９０、１２０、１６０）と、を有するデータ処理用半導体装置である。前記制御部は、入力した温度のデータを参照して、前記記憶領域のデータの読み出しを保証する温度範囲よりもデータの書き込み及び消去を保証する温度範囲を狭く制御する第１の動作モードを有する。これによれば、前記不揮発性メモリ部の書き込みを保証する温度と、読み出しが保証される温度とを別に規定することができる。
【００３０】
〔１５〕項１４のデータ処理用半導体装置において、前記制御部は、前記入力した温度のデータが前記第１の動作モードにおけるデータの書き込み及び消去を行う温度範囲外の温度を示す場合には、データの書き込み及び消去を第２の動作モードにより行い、前記第１の動作モードで書き込み及び消去したデータと区別するための所定の情報を生成する。これによれば、項２と同様の作用を奏する。
【００３１】
〔１６〕項１５のデータ処理用半導体装置において、前記制御部は、前記所定の情報に基づいて前記第２の動作モードで書き込まれたデータの読み出しを行い、当該読み出したデータを前記第１の動作モードによって書き込む。これによれば、項３と同様の作用を奏する。
【００３２】
〔１７〕項１４のデータ処理用半導体装置において、前記記憶領域は、プログラム制御のためのプログラムを格納するための第３の記憶領域（９０１）と、データを格納するための第４の記憶領域（９０２）を有し、前記制御部は、前記第１の動作モードにおいて、前記第３の記憶領域のデータの書き込み及び消去を保証する温度範囲を前記第４の記憶領域のデータの書き込み及び消去を保証する温度範囲より狭い温度範囲とする制御を行う。これによれば、項１０と同様の作用を奏する。
【００３３】
〔１８〕項１４のデータ処理用半導体装置において、前記データの読み出しを保証する温度範囲は、半導体装置全体として保証する温度範囲と等しい温度範囲である。
【００３４】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００３５】
≪実施の形態１≫
図１に本発明の一実施の形態として、フラッシュメモリを内蔵したデータ処理用半導体装置を示す。
【００３６】
図１に示されるデータ処理用半導体装置１は、例えば、車載用のＬＳＩであり、自動車エンジン制御用のマイクロコンピュータである。
【００３７】
図１に示されるデータ処理用半導体装置１は、ＣＰＵ１０、フラッシュメモリ部１１、書き込み及び消去用シーケンサ（以下、「Ｐ／Ｅシーケンサ」という。）１２、温度エラーレジスタ１３、温度センサ部１４、バス１５、制御レジスタ部１６、及びその他の図示されない入出力インターフェイス回路等を備える。
【００３８】
前記ＣＰＵ１０は、プログラムに従って演算処理を行う中央演算処理装置であり、データの読み出しと、書き込み及び消去の要求を発行する。
【００３９】
前記フラッシュメモリ部１１は、書き換え可能な不揮発性の記憶領域を有し、前記ＣＰＵ１０による演算結果等のデータが格納される。
【００４０】
前記Ｐ／Ｅシーケンサ１２は、前記ＣＰＵ１０からの前記フラッシュメモリ部１１に対するアクセス要求に応じて、前記フラッシュメモリ部１１に対するアクセスを制御するアクセラレータ、又はその他のハードウェアロジック回路等から構成される専用制御ロジック回路である。前記Ｐ／Ｅシーケンサ１２は、前記温度センサ部１４によって測定された温度を参照し、前記制御レジスタ部１６の値に基づいて前記フラッシュメモリ部１１に対するデータの読み出しと書き換えを制御する。
【００４１】
前記制御レジスタ部１６は、詳細は後述するが、温度に基づいて上記制御をするための情報が格納される。
【００４２】
前記温度エラーレジスタ１３は、詳細は後述するが、前記フラッシュメモリ部１１の書き換えの要求に対する結果に関する情報が格納される。
【００４３】
前記温度センサ部１４は、前記Ｐ／Ｅシーケンサ１２の要求に応じて温度を測定して測定結果を出力するブロックであり、制御回路１４１、温度センサ１４２、及び温度レジスタ１４３を備える。
【００４４】
前記温度センサ１４２は、前記制御回路１４１の制御により温度を測定し、測定結果に基づいて温度のデータを生成する。また、前記制御回路１４１は、前記Ｐ／Ｅシーケンサ１２からの温度測定の要求に従い、前記温度センサ１４２を制御し、当該温度センサ１４２で生成された温度のデータを前記温度レジスタ１４３に格納するとともに、前記バス１５を介して出力する。
【００４５】
ここで、フラッシュメモリのリテンション特性及びディスターブ耐性の温度依存性について説明する。
【００４６】
図２は、一般的なフラッシュメモリのリテンション特性の温度依存性を表したグラフの一例である。
【００４７】
図２において、縦軸はメモリセルのしきい値電圧を表し、横軸は経過時間を表している。参照符号２００〜２０２で示されるグラフは、データの書き換えを行ったメモリセルのしきい値電圧と、経過時間との関係を表したグラフである。参照符号２００、２０１、及び２０２で示されるグラフは夫々、温度１６０度、温度１５０度、及び１２５度においてデータの書き換えが行われたメモリセルの特性を表す。
【００４８】
図２によれば、高温状態で書き換えが行われたメモリセルは時間経過に伴い、しきい値電圧の低下が顕著となる。したがって、データの書き換えは高温状態で行わない方がよい。
【００４９】
図３は、一般的なフラッシュメモリのディスターブ耐性の温度依存性を表したグラフの一例である。
【００５０】
図３において、縦軸はメモリセルのしきい値電圧を表し、横軸は時間を表している。参照符号３００〜３０３で示されるグラフは、書き込みが行われるメモリセルとともにコントロールゲートに電圧が印加される他のメモリセルのしきい値電圧と、電圧の印加時間との関係を表すグラフである。参照符号３００、３０１、３０２、及び３０３で示されるグラフは夫々、１６０度、１２５度、２５度、及び―４０度における特性を表している。
【００５１】
図３によれば、高温状態でデータの書き換えを行うと、メモリセルのディスターブ耐性の低下が顕著となる。この場合、書き込み時にコントロールゲートに印加する電圧のレベルを下げる等の対策を採ると、逆にメモリセルの書き込みに要する時間が増加し、書き換え処理の処理速度を十分にあげることができない等の新たな弊害が生じる。
【００５２】
以上のようなフラッシュメモリのリテンション特性及びディスターブ耐性の温度依存性に鑑み、前記Ｐ／Ｅシーケンサ１２は、所定の温度条件において書き換えを行う機能を有する。例えば、前記Ｐ／Ｅシーケンサ１２は、図４に示される所定の温度範囲に従って、前記フラッシュメモリ部１１に対するデータの書き換えを行う。
【００５３】
図４は、前記Ｐ／Ｅシーケンサ１２による所定の温度条件に基づくデータの書き換え制御の一例である。
【００５４】
以下の説明において、データの書き込みとは、例えば、メモリセルのしきい値電圧を高くすることにより書き込み状態にする動作をいい、データの消去とは、例えば、メモリセルのしきい値電圧を低くすることにより消去状態にする動作をいう。
【００５５】
図４に示されるように、前記Ｐ／Ｅシーケンサ１２は、測定された温度が１６０度より低い場合には、読み出しと書き込み及び消去の動作を行うが、測定された温度が１６０度以上１７５度以下の場合には、原則書き込み及び消去の動作を行わない。なお、１７５度を超える温度は、動作保証温度外の温度であり、データの書き込み及び消去の動作は制限されるが読み出しは制限されず、読み出されたデータの信頼性は保証されない。ここで、前記動作保証温度とは、データ処理用半導体装置として動作を保証する温度である。例えば、図４において、読み出しが保証される温度は前記動作保証温度と等しく、書き込み及び消去が保証される温度は、１６０度より低い温度である。
【００５６】
以上のように、前記Ｐ／Ｅシーケンサ１２は、図４に示される所定の温度範囲に従って前記フラッシュメモリ部１１に対するデータの書き込み及び消去を行う、第１の動作モードを有する。このようなデータの書き換え制御を行うことにより、温度に起因したフラッシュメモリのリテンション特性の低下及びディスターブ耐性の劣化を防止することができる。
【００５７】
前記Ｐ／Ｅシーケンサ１２はその他に、以下の２つの機能を有する。
【００５８】
一つ目の機能は、書き込み及び消去が許容される前記所定の温度範囲外であっても必要に応じてデータの書き込み及び消去を行う機能（以下、「強制書き込みモード」という。）である。
【００５９】
前述のように、前記Ｐ／Ｅシーケンサ１２は、原則として前記第１の動作モードによってデータの書き込み及び消去を行うが、超高温時（１６０度以上）において、データの書き込み及び消去を行うことが必要な場合もある。例えば、前記データ処理用半導体装置１を自動車のエンジン部に搭載し走行データ等を前記フラッシュメモリ部１１に記録するとき、自動車のエンジン等に何らかの異常が起こり超高温状態になった場合に、その時の走行データ等を記録し、後で当該データをエンジントラブル等の原因解析に利用する場合が考えられる。そこで、前記Ｐ／Ｅシーケンサ１２は、前記強制書き込みモードを有する。
【００６０】
二つ目の機能は、前記強制書き込みモードで書き換えが行われたデータについて、書き込み及び消去が許容される前記所定の温度範囲内において再度書き込みを行うリフレッシュ動作を行う機能である。
【００６１】
前記強制書き込みモードによって書き換えが行われたデータの信頼性は、前述の図２及び図３に示したように、前記第１の動作モードで書き換えが行われたデータと比べて低くなる。そこで、前記Ｐ／Ｅシーケンサ１２は、前記強制書き込みモードでデータの書き換えが行われた場合には、前記リフレッシュ動作により再度第１の動作モードによってデータの書き換えを行う。
【００６２】
前記Ｐ／Ｅシーケンサ１２の上記の機能について、以下に詳細に説明する。
【００６３】
初めに、前記Ｐ／Ｅシーケンサ１２による前記フラッシュメモリ部１１に対するデータの書き換え時の動作フローについて、図５を用いて説明する。
【００６４】
図５は、前記フラッシュメモリ部１１のデータの書き換え時の動作フローの一例である。
【００６５】
先ず、前記ＣＰＵ１０から前記フラッシュメモリ部１１に対するデータの書き換え要求が前記バス１５に出力され、前記Ｐ／Ｅシーケンサ１２は、前記バス１５を介して当該要求を受け取る（Ｓ２００）。そして、前記Ｐ／Ｅシーケンサ１２は、当該書き換えが指定されたメモリアドレスに対応する前記フラッシュメモリ部１１の記憶領域のデータが消去されているか否かを確認する（Ｓ２０１）。ここで、前記フラッシュメモリ部１１の記憶領域のデータが消去されていない場合には、前記Ｐ／Ｅシーケンサ１２はデータの消去の処理を開始し、前記温度センサ部１４に対して温度の測定を要求する（Ｓ２０２）。当該要求を受け取った前記制御回路１４１は、前記温度センサ１４２において測定された結果に基づいて生成された温度のデータを前記温度情報レジスタ１４３に格納するとともに、当該温度のデータを前記バス１５に出力する（Ｓ２０３）。前記Ｐ／Ｅシーケンサ１２は、前記温度のデータを前記バス１５から入力し、当該入力した温度のデータが、データの書き込み及び消去が許容される所定の温度範囲内の温度を示すデータであるか否かを判別する（Ｓ２０４）。具体的には、前記制御レジスタ部１６が、書き込み及び消去を許容する温度範囲を定める温度範囲レジスタ１６１を備え、前記Ｐ／Ｅシーケンサ１２が、当該温度範囲レジスタ１６１の値を参照することで、入力した温度のデータが所定の温度範囲内の温度を示すデータであるかどうかを判別する。なお、前記温度範囲レジスタ１６１の値は、例えば、前記ＣＰＵ１０がパワーオンリセット時に予め設定しておく。
【００６６】
前記判別の結果、前記入力した温度のデータが示す温度が、書き込み及び消去を許容する所定の温度範囲内の温度である場合には、前記Ｐ／Ｅシーケンサ１２は、前記第１の動作モードによりデータの消去を行う（Ｓ２０５）。そして、消去が終了したことを前記ＣＰＵ１０に通知して消去動作を終了する（Ｓ２０７）。
【００６７】
一方、ステップ２０４における判別の結果、当該所定の温度範囲の温度でない場合には、前記Ｐ／Ｅシーケンサ１２はデータの消去を行わず、消去を行わなかったことを示すエラー情報と、そのときの温度のデータとを、前記温度エラーレジスタ１３に書き込むとともに前記ＣＰＵ１０に通知し（Ｓ２０６）、消去の動作を終了する（Ｓ２０７）。なお、上記のように前記エラー情報を生成し、前記温度エラーレジスタ１３に格納しておくことで、データの書き換えが行われなかった温度状況等の情報を保持し、必要に応じて外部に出力することも可能となる。
【００６８】
ステップ２０１において、当該書き換えが指定されたメモリアドレスに対応する前記フラッシュメモリ部１１の記憶領域のデータが消去されていることが確認できた場合、又は、上述したデータ消去（Ｓ２０２〜Ｓ２０７）が完了した場合には、前記Ｐ／Ｅシーケンサ１２は、前記書き換え要求を確認し、更にデータの書き込みを行うか否かを判断する（Ｓ２０８）。データの書き込みを行わない要求である場合には、再度前記ＣＰＵ１０１からデータの書き換え要求が発行されるまで待機する。
【００６９】
一方、データの書き込みを行う要求である場合には、前記Ｐ／Ｅシーケンサ１２はデータの書き込み動作を開始し、データの消去時と同様に前記温度センサ部１４に対して温度の測定を要求して温度のデータを受け取る（Ｓ２０２、Ｓ２０３）。そして、前記Ｐ／Ｅシーケンサ１２は、データの消去時と同様の方法により、当該温度のデータがデータの書き込み及び消去を許容する所定の温度範囲内の温度であるか否かを判別する（Ｓ２０９）。
【００７０】
ステップ２０９における判別の結果、当該温度のデータが示す温度が、書き込み及び消去を許容する所定の温度範囲内の温度である場合には、前記Ｐ／Ｅシーケンサ１２は、前記第１の動作モードにより前記フラッシュメモリ部１１へデータの書き込みを行い（Ｓ２１０）、書き込みが終了したことを前記ＣＰＵ１０に通知して動作を終了する（Ｓ２１４）。
【００７１】
一方、ステップ２０９における判別の結果、当該温度のデータが示す温度が、書き込み及び消去を許容する所定の温度範囲外の温度である場合には、前記Ｐ／Ｅシーケンサ１２は、当該所定の温度範囲外において前記強制書き込みが認められているか否かを判別する（Ｓ２１１）。具体的には、前記制御レジスタ部１６が、前記強制書き込みモードによる書き込みを許可するか否かを定める強制書き込みモードレジスタ１６２を、備え、前記Ｐ／Ｅシーケンサ１２が、当該強制書き込みモードレジスタ１６２に値が設定されているか否かを判別する。
【００７２】
ステップ２１１における判別の結果、前記強制書き込みモードレジスタ１６２に値が設定されていない場合には、前記Ｐ／Ｅシーケンサ１２はデータの書き込みを行わず、書き込みを行わなかったことを示すエラー情報と、そのときの温度のデータとを、前記温度エラーレジスタ１３に書き込む（Ｓ２１３）。そして、前記Ｐ／Ｅシーケンサ１２は、前記ＣＰＵ１０に書き込みを行わなかったことを通知し、書き込み動作を終了する（Ｓ２１４）。
【００７３】
一方、ステップ２１１において、前記強制書き込みモードレジスタ１６２に値が設定されている場合には、前記Ｐ／Ｅシーケンサ１２は、前記強制書き込みモードにより、データの書き込みを実行する（Ｓ２１２）。このとき、前記Ｐ／Ｅシーケンサ１２は、当該強制書き込みモードで書き込んだデータと、前記第１の動作モードで書き込こんだデータとを区別可能に格納し、所定の情報を前記温度エラーレジスタ１３に格納する（Ｓ２１３）。なお、当該格納方法の詳細については後述する。そして、書き込みが終了したことを前記ＣＰＵ１０に通知して書き込みの動作を終了する（Ｓ２１４）。
【００７４】
次に、前記Ｐ／Ｅシーケンサ１２による、具体的なデータの書き換え方法について説明する。
【００７５】
前述のように、前記Ｐ／Ｅシーケンサ１２は、前記第１の動作モードと、前記強制書き込みモードとを区別して前記フラッシュメモリ部１１のデータの書き換えを行う。前記Ｐ／Ｅシーケンサ１２は、当該区別してデータの書き換えを行う方法として、以下の２つの方法を採用する。
【００７６】
第１の方法は、前記第１の動作モードによるデータの書き換え先の記憶領域と、前記強制書き込みモードによるデータの書き換え先の記憶領域とを分ける方法である。
【００７７】
図６は、前記第１の方法を採用したデータ処理用半導体装置１の説明図である。
【００７８】
図６において、データ処理用半導体装置１におけるフラッシュメモリ部１１は、第１の記憶領域１１１と第２の記憶領域１１２とを有し、前記第１の記憶領域１１１は前記第１の動作モードによるデータの書き換え先として利用され、前記第２の記憶領域１１２は前記強制書き込みモードによるデータの書き換え先として利用される。
【００７９】
前記第１の方法を採用したデータ処理用半導体装置１におけるデータの書き込み及び消去時の動作の流れは以下のようになる。
【００８０】
先ず、前記ＣＰＵ１０は、データの書き換えを前記Ｐ／Ｅシーケンサ１２に要求する際、データの書き換え先として前記第１の記憶領域のアドレスを指定する。当該要求を受け取った前記Ｐ／Ｅシーケンサ１２は、図５の動作フロー図にしたがってデータの書き込み及び消去の動作を開始する。
【００８１】
そして、図５のステップ２０９において、前記Ｐ／Ｅシーケンサ１２に入力された温度のデータが示す温度がデータの書き込みを許容する所定の温度範囲外の温度である場合には、ステップ２１１において前記Ｐ／Ｅシーケンサ１２は、前記強制書き込みモードにより前記第２の記憶領域１１２にデータを書き込む。そして、ステップ２１３において前記Ｐ／Ｅシーケンサ１２は、当該強制書き込みモードによって書き込んだデータと前記第１の動作モードで書き込こんだデータとを区別するための所定の情報を生成し、そのときの温度のデータとともに前記温度エラーレジスタ１３に格納する。ここで、前記区別するための所定の情報は、例えば、前記ＣＰＵ１０から指定された前記第１の記憶領域１１１のアドレスと、データを書き込んだ前記第２の記憶領域１１２のアドレスとの対応関係を表すアドレス対応情報である。
【００８２】
次に、上記第１の方法で格納されたデータを読み出す方法を以下に示す。
【００８３】
先ず、前記ＣＰＵ１０は、データの読み出し要求の発行に際し、読み出し先の前記フラッシュメモリ部１１の指定アドレスとして、当該データの書き込み時に指定した前記第１の記憶領域１１１のアドレスを指定して、データの読み出し要求を発行する。当該読み出し要求を受け取った前記Ｐ／Ｅシーケンサ１２は、前記温度エラーレジスタ１３に格納されている前記アドレス対応情報を参照する。そして、前記Ｐ／Ｅシーケンサ１２は、当該アドレス対応情報に基づいて、指定された第１の記憶領域１１１のアドレスに対応する前記第２の記憶領域１１２のアドレスを取得して、当該第２の記憶領域１１２からデータを読み出す。
【００８４】
以上のように前記第１の方法によれば、前記第１の動作モードでデータの書き換えを行う記憶領域と、前記強制書き込みモードで書き換えを行う記憶領域とを分けることで、夫々のモードによるデータを区別可能に格納することができる。また、前記強制書き込みモードにより書き換えが行われたデータを読み出す際には、前記アドレス対応情報を利用することで、容易にデータを読み出すことができる。
【００８５】
次に、データの書き換え方法に係る第２の方法について説明する。
【００８６】
前記第２の方法は、前記第１の動作モードによるデータと、前記強制書き込みモードによるデータとを、前記フラッシュメモリ部１１の同一の記憶領域に区別可能に格納する方法である。
【００８７】
図７は、前記第２の方法を採用したデータ処理用半導体装置１の説明図である。
【００８８】
前記第２の方法を採用したデータ処理用半導体装置１におけるデータの書き換え時の動作の流れは以下のようになる。
【００８９】
先ず、前記Ｐ／Ｅシーケンサ１２は、前記ＣＰＵ１０から書き換えの要求を受け取ると、図５の動作フローに従いデータの書き換え動作を開始する。
【００９０】
図５のステップ２１１において、前記Ｐ／Ｅシーケンサ１２に入力された温度のデータが示す温度がデータの書き込み及び消去を許容する所定の温度範囲外の温度であり、且つ、前記強制書き込みモードレジスタ１６２に強制書き込みを示す値が設定されている場合には、前記Ｐ／Ｅシーケンサ１２は、前記強制書き込みモードにより前記フラッシュメモリ部１１の記憶領域にデータを書き込む。このとき、前記Ｐ／Ｅシーケンサ１２は、所定のフラグ情報を生成し、当該フラグ情報を書き込み対象のデータに付加して、当該付加されたデータを記憶領域に書き込む。例えば、前記Ｐ／Ｅシーケンサ１２は、前記強制書き込みモードで書き込まれたことを示す１又は２ビットのビットフラグを書き込み対象のデータの先頭に付加して、前記フラッシュメモリ部１１の記憶領域に書き込む。ここで、前記フラグ情報は、ワード単位でデータを書き込む場合にはワード単位毎に付加されても良いし、前記書き換え要求に係るデータ毎に付加されても良い。
【００９１】
そして、データの書き換えを行った前記Ｐ／Ｅシーケンサ１２は、ステップ２１３において、当該データの書き込み及び消去を行った記憶領域のアドレス情報と、そのときの温度のデータとを前記温度エラーレジスタ１３に格納する。
【００９２】
このように、前記第２の方法によれば、前記第１の動作モードによるデータと、前記強制書き込みモードによるデータとを、データに付加されたフラグ情報により区別するから、記憶領域に格納されたデータ自体を確認すれば、どちらのモードにより書き換えが行われたデータであるかを容易に判別することができる。
【００９３】
次に、前記Ｐ／Ｅシーケンサ１２のもう一つの機能である、前記リフレッシュ動作について図８を用いて詳細に説明する。
【００９４】
図８は前記リフレッシュ動作の動作フローの一例である。
【００９５】
先ず、前記ＣＰＵ１０は、前記Ｐ／Ｅシーケンサ１２に対しリフレッシュ動作の要求を発行する。当該要求を受け取った前記Ｐ／Ｅシーケンサ１２は、前記温度センサ部１４に対して温度の測定を要求する（Ｓ８０１）。当該要求を受け取った前記温度センサ部１４の前記制御回路１４１は、前記温度センサ１４２により測定された温度に基づいて生成された温度のデータを、前記温度レジスタ１４３に格納するとともに当該温度のデータを前記バス１５に出力する（Ｓ８０２）。そして、前記Ｐ／Ｅシーケンサ１２は、前記温度のデータを前記バス１５から入力し、当該入力した温度のデータが示す温度が、データの書き込み及び消去を許容する所定の温度範囲内の温度であるかどうかを判別する（Ｓ８０３）。
【００９６】
ステップ８０３における判別の結果、当該温度が前記所定の温度範囲外の温度を示すものである場合には、前記Ｐ／Ｅシーケンサ１２は、前記リフレッシュ動作を行わず、前記リフレッシュ動作を行わなかったこと示す情報を前記温度エラーレジスタ１３に格納するとともに前記ＣＰＵ１０にその旨通知し（Ｓ８０８）、動作を終了する（Ｓ８０９）。
【００９７】
一方、ステップ８０３における判別の結果、当該温度が、データの書き込み及び消去を許容する所定の温度範囲外の温度である場合には、前記Ｐ／Ｅシーケンサ１２は、前記フラッシュメモリ部１１の記憶領域に前記強制書き込みモードにより書き込み及び消去が行われたデータが格納されているか否かを判別する（Ｓ８０４）。具体的には、前記Ｐ／Ｅシーケンサ１２は、前記温度エラーレジスタ１３に格納されている所定の情報を参照することにより、前記フラッシュメモリ部１１に前記強制書き込みモードにより書き込み及び消去が行われたデータが格納されているか否かを判別する。例えば、前記第１の方法によりデータが格納されている場合には、前記温度エラーレジスタ１３に格納されている前記所定の情報として前記アドレス対応情報を参照することで前記強制書き込みモードによるデータの有無を判断する。
【００９８】
また、前記第２の方法によりデータが格納されている場合には、前記温度エラーレジスタ１３に格納されている前記所定の情報として、前記強制書き込みモードで書き込まれたデータの格納先のアドレス情報を参照することで、前記強制書き込みモードによるデータの有無を判別する。
【００９９】
ステップ８０４における判別の結果、前記強制書き込みモードによるデータが存在しない場合には、前記Ｐ／Ｅシーケンサ１２は、前記ＣＰＵ１０にその旨通知し、前記リフレッシュ動作を終了する（Ｓ８０９）。
【０１００】
一方、当該判別の結果、前記強制書き込みモードによるデータが存在する場合には、前記Ｐ／Ｅシーケンサ１２は、前記アドレス対応情報、又は前記アドレス情報に基づいて、当該アドレスに対応する前記フラッシュメモリ部１１の記憶領域からデータを読み出し（Ｓ８０６）、当該読み出したデータの再書き込みを行う（Ｓ８０７）。
【０１０１】
前記データの再書き込みの具体的な方法について以下に説明する。
【０１０２】
前記第１の方法によりデータが格納されている場合には、例えば、前記第２の記憶領域から読み出したデータを、当該第２の記憶領域に対応する前記第１の記憶領域に書き込む。すなわち、再書き込み先の前記第１の記憶領域は、前記アドレス対応情報に示される前記第２の記憶領域のアドレスに対応する前記第１の記憶領域のアドレスに示される記憶領域である。
【０１０３】
一方、前記第２の方法によってデータが格納されている場合には、前記Ｐ／Ｅシーケンサ１２は、読み出したデータに付加された前記強制書き込みモードによるデータであることを示す前記フラグの情報を削除し、又は付加されたフラグ情報を前記第１の動作モードによるデータであることを示すフラグの情報に変更して、当該データを読み出した記憶領域と同一の記憶領域に再度書き込みを行う。
【０１０４】
上記の方法により再書き込みを行った前記Ｐ／Ｅシーケンサ１２は、前記アドレス対応情報等を前記温度エラーレジスタ１３から削除し、前記リフレッシュ動作が完了したことを前記ＣＰＵ１０に通知して動作を終了する（Ｓ８０９）。
【０１０５】
以上、上記リフレッシュ動作によれば、前記強制書き込みモードによって書き換えが行われたデータであっても、前記第１の動作モードにおいて再度書き換えが行われるから、データのリテンション特性の低下を抑制し、データの信頼性の向上を図ることができる。
【０１０６】
なお、前記リフレッシュ動作は、前記ＣＰＵ１０が所定期間毎に、前記Ｐ／Ｅシーケンサ１２に対して要求を発行することで開始されてもよいし、前記ＣＰＵ１０が定期的に前記温度エラーレジスタ１３を確認して、強制書き込みモードで書き換えが行われたデータの存在を確認した場合に、前記リフレッシュ動作の開始の要求を発行してもよい。
【０１０７】
≪実施の形態２≫
図９は、本発明の別の実施の形態に係るデータ処理用半導体装置である。
【０１０８】
前記データ処理用半導体装置１は、前記フラッシュメモリ部１１の全ての記憶領域に対する書き込み及び消去を一律の温度範囲で制限していた。図９に示すデータ処理用半導体装置２は、前記データ処理用半導体装置１の機能に加え、データの書き込み及び消去を制限する温度範囲を記憶領域毎に個別に制御する。
【０１０９】
図９において、前記データ処理用半導体装置１と同様の構成要素には同一の符号を付して、その詳細な説明を省略する。
【０１１０】
図９に示されるデータ処理用半導体装置２は、フラッシュメモリ部９１に２つの記憶領域を備える。一つの記憶領域はコード用記憶領域９０１であり、もう一つの記憶領域はデータ用記憶領域９０２である。
【０１１１】
前記コード用記憶領域９０１は、例えば、主に前記ＣＰＵ１０によって実行されるプログラムのプログラムコードが格納される記憶領域である。当該記憶領域は主にプログラムの読み出しに利用され、前記ＣＰＵ１０がプログラムを実行する際に利用される。また、当該記憶領域へのプログラムを構成するデータの書き込み及び消去は、一般的に工場等の比較的温度条件が安定した環境で行われる場合が多い。したがって、前記コード用記憶領域９０１は、データの読み出しについては広い温度範囲が必要だが、データの書き込み及び消去については広い温度範囲は不要である。
【０１１２】
一方、前記データ用記憶領域９０２は、例えば、主に前記ＣＰＵ１０による演算結果等が格納される記憶領域である。当該記憶領域は、例えば、自動車の走行中に走行データ等が書き込まれる。したがって、データの読み出しだけでなく、データの書き込み及び消去にも広い温度範囲が必要となる。
【０１１３】
Ｐ／Ｅシーケンサ９０は、前記ＣＰＵ１０からの、前記コード用記憶領域９０１及び前記データ用記憶領域９０２に対するデータの読み出しと書き換えの要求に基づいて、記憶領域毎に読み出しと書き換えの制御を行う。また、前記Ｐ／Ｅシーケンサ９０は、前記Ｐ／Ｅシーケンサ１２と同様に、前記強制書き込みモード、及び前記リフレッシュ動作の機能を有する。
【０１１４】
前記Ｐ／Ｅシーケンサ９０による、記憶領域毎の書き込み及び消去の制御方法の一例を図１０に示す。
【０１１５】
図１０（ａ）は、前記コード用記憶領域９０１と前記データ用記憶領域９０２とでデータの書き込み及び消去を許容する温度範囲を別に設定した場合の一例である。
【０１１６】
図１０（ａ）において、前記コード用記憶領域９０１は、−４０度から−１０度までの温度範囲と１２５度より大きい温度では、書き込み及び消去が制限される。これにより、前記コード用記憶領域９０１は、データのリテンション特性及びディスターブ耐性の低下を抑制することができ、前述のような書き込み時にコントロールゲートに印加する電圧のレベルを下げる等の対策が不要となり、書き込み及び消去の速度を低下させることはない。一方、前記データ用記憶領域９０２は、１６０度を超える温度においてデータの書き込み及び消去が制限され、前記前記コード用記憶領域９０１と比べて広い温度範囲においてデータの書き込み及び消去が許容される。
【０１１７】
図１０（ｂ）は、データの書き込みを許容する温度範囲と、データの消去を許容する温度範囲を別に設定した場合の一例である。
【０１１８】
図１０（ｂ）において、前記コード用記憶領域９０１及び前記データ用記憶領域９０２に対するデータの書き込みは、１２５度より大きい温度において制限される。また、前記コード用記憶領域９０１及び前記データ用記憶領域９０２に対するデータの消去は、−４０度から−１０度までの温度範囲と１６０度より大きい温度において制限される。このようにフラッシュメモリのデータの消去を低温時に制限するのは、以下の理由からである。
【０１１９】
図１１は、フラッシュメモリのメモリセルの消去に関する特性を表す一例である。
【０１２０】
図１１において、縦軸はメモリセルのデータを消去するために要する電圧印加回数を表し、横軸はメモリセルの書き込み及び消去の累積回数を表している。参照符号１００、１０１、１０２、及び１０３で示されるグラフは夫々、―４０度、２５度、１２５度、及び１５０度においてデータの書き換えを行ったメモリセルに関するデータの消去のために要する電圧印加回数の特性を表す。
【０１２１】
図１１によれば、より低温状態で書き込まれたメモリセルは時間経過に伴い、データの消去のための電圧印加回数の増加が顕著となる。そこで、図１０（ｂ）のように、超低温時（−１０度より低い温度）におけるデータの消去を制限することで、データの消去のために要する電圧印加回数の増加を抑えることができ、これによりデータの消去に要する処理時間の増加を抑制することができる。
【０１２２】
なお、図１０（ｂ）のように、高温側においては、データの消去を許容しても書き込みを許容しない設定にしてもよい。
【０１２３】
図１０（ｃ）は、データの書き込みを許容する温度範囲と、データの消去を許容する温度範囲を別に設定した場合の別の一例である。
【０１２４】
図１０（ｃ）において、前記コード用記憶領域９０１の書き込み及び消去は、−４０度から−１０度までの温度範囲と１２５度より大きい温度において制限される。一方、前記データ用記憶領域９０２の書き込みは、１２５度より大きい温度において制限され、前記データ用記憶領域９０２の消去は、−４０度から−１０度までの温度範囲と１６０度より大きい温度において制限される。これにより、前記コード用記憶領域９０１は、図１０（ａ）の場合と同様の作用を奏し、前記データ用記憶領域９０２は、図１０（ｂ）の場合と同様の作用を奏する。
【０１２５】
以上のように、前記データ処理用半導体装置２によれば、前記フラッシュメモリ部９１における夫々の記憶領域の用途等に応じて設定した温度範囲に基づいてデータの書き換えを制御するから、フラッシュメモリを搭載したデータ処理用半導体製品の性能を最大限に引き出すことができ、且つ、データ処理用半導体装置１と同様の作用を奏する。
【０１２６】
≪実施の形態３≫
図１２は、本発明の別の実施の形態に係るデータ処理用半導体装置を示す。
【０１２７】
図１２に示されるデータ処理用半導体装置３は、データの書き換え時の所定の動作単位毎に温度の測定結果を参照するものであり、その他の機能は前記データ処理用半導体装置１と同様である。
【０１２８】
図１２において、前記データ処理用半導体装置１と同様の構成要素には同一の符号を付して、その詳細な説明を省略する。
【０１２９】
前記データ処理用半導体装置３は、温度センサ部２２、Ｐ／Ｅシーケンサ１２０を備える。
【０１３０】
前記温度センサ部２２は、制御回路２２１、前記温度センサ１４２、及び前記温度レジスタ１４３を備える。
【０１３１】
前記制御回路２２１は、前記Ｐ／Ｅシーケンサ１２０から温度測定の要求を受け取ると、前記温度センサ１４２を制御し、当該温度センサ１４２で生成された温度のデータを前記温度レジスタ１４３に格納する。そして、前記制御回路２２１は、所定の時間毎に前記温度センサ１４２を制御し、前記温度のデータを前記温度レジスタ１４３に格納する。前記所定の時間は、例えば、１０ｍｓ以下の時間である。これにより、前記温度レジスタ１４３の温度のデータが定期的に更新される。
【０１３２】
前記Ｐ／Ｅシーケンサ１２０は、前記Ｐ／Ｅシーケンサ１２と同様に前記第１の動作モードによるデータの書き換え機能、前記強制書き込みモードによるデータの書き換え機能、及び前記リフレッシュ動作の機能を有する。ただし、前記Ｐ／Ｅシーケンサ１２０は、データの書き換え時の動作フローが前記Ｐ／Ｅシーケンサ１２と異なる。具体的には、データの書き換え時における温度の測定結果を参照するタイミングが前記Ｐ／Ｅシーケンサ１２と異なる。
【０１３３】
前記Ｐ／Ｅシーケンサ１２０は、データの書き換え時の動作フローとして、例えば、図１３に示すいずれかの方法を採用する。
【０１３４】
図１３は、前記Ｐ／Ｅシーケンサ１２０によるデータの書き換え時の動作フローの一例である。
【０１３５】
図１３の（ａ）の動作フローについて説明する。
【０１３６】
図１３の（ａ）は、データの書き換えの単位毎に、前記Ｐ／Ｅシーケンサ１２０が温度の測定結果を参照する場合の動作フローである。
【０１３７】
先ず、前記Ｐ／Ｅシーケンサ１２０は、前記ＣＰＵ１０からデータの書き換え要求を受け取ると、当該要求によりデータの書き換え先として指定された記憶領域を設定する（Ｓ３１０）。当該設定は、例えば、指定された記憶領域のアドレス情報が前記Ｐ／Ｅシーケンサ１２０内のレジスタ等に設定されることにより行われる。次に、前記Ｐ／Ｅシーケンサ１２０は、前記温度センサ部２２に対し温度の測定を要求する（Ｓ３１１）。当該要求を受け取った前記制御回路２２１は、前記温度センサ１４２を制御して生成された温度のデータを前記温度レジスタ１４３に格納させる。そして、前記Ｐ／Ｅシーケンサ１２０は前記温度レジスタ１４３を参照し、前記温度のデータの値を取得する（Ｓ３１２）。前記Ｐ／Ｅシーケンサ１２０は、取得した温度のデータが示す温度が、データの書き換えを許容する所定の温度範囲内の温度であるか否かを判別する（Ｓ３１３）。具体的な判別方法は、前記Ｐ／Ｅシーケンサ１２と同様である。
【０１３８】
ステップ３１３において、当該温度のデータの示す温度が、データの書き換えを許容する所定の温度範囲内の温度でなく、且つ強制書き込みモードが設定されていない場合は、前記Ｐ／Ｅシーケンサ１２と同様にデータの書き換え動作を終了する（Ｓ３１６）
一方、ステップ３１３において、前記温度のデータの示す温度がデータの書き換えを許容する所定の温度範囲内の温度である場合には、前記Ｐ／Ｅシーケンサ１２と同様に、前記Ｐ／Ｅシーケンサ１２０はデータの書き換えを開始する。また、前記温度のデータが示す温度がデータの書き換えを許容する所定の温度範囲外の温度であり、且つ前記強制書き込みモードが設定されている場合も同様に、データの書き換えが開始される。
【０１３９】
当該データの書き換えは、所定の単位のデータ毎に実行される（Ｓ３１４）。例えば、前記フラッシュメモリ部１１の記憶領域へのデータ書き込みをワード単位で行う仕様の場合には、前記Ｐ／Ｅシーケンサ１２０は、１ワード単位のデータ毎にデータの書き換えを行う。
【０１４０】
前記Ｐ／Ｅシーケンサ１２０による前記所定の単位のデータの書き換えが完了したら、前記Ｐ／Ｅシーケンサ１２０は、前記ＣＰＵ１０の要求に係るデータの書き換えが完了したか否かを判別する（Ｓ３１５）。すなわち、前記Ｐ／Ｅシーケンサ１２０は、前記ＣＰＵ１０により指定された記憶領域内のデータの書き換えが全て完了したか否かを判別する。
【０１４１】
ステップ３１５における判別の結果、データの書き換えが全て完了している場合には、前記Ｐ／Ｅシーケンサ１２０は、データの書き換え動作を終了し、その旨を前記ＣＰＵ１０に通知する（Ｓ３１７）。
【０１４２】
一方、ステップ３１５における判別の結果、データの書き換えが全て完了していない場合には、ステップ３１２に移行し、前記Ｐ／Ｅシーケンサ１２０は、次の所定の単位のデータの書き換えを行うために再度前記温度レジスタ１４３の値を取得し、前述と同様の手順でデータの書き換えを実行する（Ｓ３１２〜Ｓ３１６）。すなわち、前記Ｐ／Ｅシーケンサ１２０は、前記所定の単位のデータの書き換えを行う毎に、温度の測定結果を参照して、データの書き換えを制御する。
【０１４３】
図１３の（ａ）に示される動作フローによれば、データの書き換えの単位毎に温度の測定結果を参照するから、温度を測定した後に温度が変化した場合でも所定の温度範囲外においてデータの書き換えが行われる可能性がより低くなる。
【０１４４】
次に図１３の（ｂ）の動作フローについて説明する。
【０１４５】
図１３の（ｂ）は、前記Ｐ／Ｅシーケンサ１２０が、前記フラッシュメモリ部１１の所定の範囲の記憶領域におけるデータの書き換えを開始する毎に、温度の測定結果を参照する場合の動作フローである。
【０１４６】
ここで、前記所定の範囲は、例えば、前記フラッシュメモリ部１１の記憶領域のメモリアドレス等により表わされる範囲である。
【０１４７】
先ず、前記Ｐ／Ｅシーケンサ１２０は、前記ＣＰＵ１０からデータの書き換え要求を受け取ると、当該要求によりデータの書き換え先として指定された記憶領域を設定する（Ｓ４１０）。当該設定は、例えば、指定された記憶領域のアドレス情報が前記Ｐ／Ｅシーケンサ１２０内のレジスタ等に設定されることにより行われる。
【０１４８】
次に、前記Ｐ／Ｅシーケンサ１２０は、前記所定の範囲の記憶領域を設定する（Ｓ４１１）。具体的な設定方法は、例えば、前記Ｐ／Ｅシーケンサ１２０が、前記データの書き換え要求とともに前記所定の範囲の記憶領域を示すアドレス情報を前記ＣＰＵ１０から受け取り、当該所定の範囲の記憶領域を定めるためのレジスタ等に値を設定する。または、前記ＣＰＵ１０が予め当該レジスタ等に値を設定しておき、前記Ｐ／Ｅシーケンサ１２０がそのレジスタの値を確認する方法でもよい。
【０１４９】
なお、前記所定の範囲の記憶領域としては、例えば、前記フラッシュメモリ部１１の記憶領域の全記憶領域でもよいし、前記データ処理用半導体装置２のように前記フラッシュメモリ部９１が２つの記憶領域を有する場合には、夫々の記憶領域を前記所定の範囲の記憶領域としてもよい。
【０１５０】
次に前記Ｐ／Ｅシーケンサ１２０は、前記温度センサ部２２に温度の測定を要求して温度のデータを受け取り、当該温度のデータの示す温度が、データの書き換えを許容する温度範囲の温度であるか否かを確認する（Ｓ４１２〜Ｓ４１４）。具体的な確認方法は、前述の図１３（ａ）による方法と同様である。
【０１５１】
ステップ４１４において、データの書き換えが許容される所定の温度範囲外の温度でなく、且つ強制書き込みモードが設定されていない場合には、前述の図１３の（ａ）と同様に、データの書き換え動作を終了する（Ｓ４１８）
一方、ステップ４１４において、データの書き換えを許容する所定の温度範囲内の温度である場合には、
前記Ｐ／Ｅシーケンサ１２と同様に、前記Ｐ／Ｅシーケンサ１２０はデータの書き換えを開始する。また、データの書き換えを許容する所定の温度範囲外の温度であって、且つ前記強制書き込みモードが設定されている場合も同様に、データの書き換えが開始される。
【０１５２】
当該データの書き換えは、図１３の（ａ）の場合と同様に、所定の単位のデータ毎に実行される（Ｓ４１５）。前記Ｐ／Ｅシーケンサ１２０は、当該所定の単位のデータの書き換えが完了したら、次に書き換えを実行する所定の単位のデータの書き換え先となる記憶領域が、ステップ４１１で設定した前記所定の範囲内の記憶領域であるか否かを判別する（Ｓ４１６）。
【０１５３】
ステップ４１６における判別の結果、次のデータの書き換え先となる記憶領域が前記所定の範囲内の記憶領域である場合には、再度ステップ４１５に移行し、次の書き換え単位のデータの書き換えを実行する（Ｓ４１５）。すなわち、前記Ｐ／Ｅシーケンサ１２０は、前記所定の範囲内の記憶領域のデータの書き換えを続ける限りは、温度の測定結果を参照することはなく、連続してデータの書き換えを実行する。
【０１５４】
一方、ステップ４１６における判別の結果、次のデータの書き換え先が前記所定の範囲内の記憶領域でない場合には、前記Ｐ／Ｅシーケンサ１２０は、前記ＣＰＵ１０の要求に係るデータの書き換えが完了したか否かを判別する（Ｓ４１７）。すなわち、前記Ｐ／Ｅシーケンサ１２０は、前記ＣＰＵ１０により指定された記憶領域内のデータの書き換えが全て完了したか否かを判別する。
【０１５５】
ステップ４１７における判別の結果、データの書き換えが全て完了している場合には、前記Ｐ／Ｅシーケンサ１２０は、データの書き換え動作を終了し、その旨を前記ＣＰＵ１０に通知する（Ｓ４１９）。
【０１５６】
ステップ４１７における判別の結果、当該データの書き換えが完了していない場合には、ステップ４１３に移行し、前記Ｐ／Ｅシーケンサ１２０は再度温度の測定結果を取得して、前述と同様の手順によりデータの書き換えを実行する（Ｓ４１３〜Ｓ４１８）。
【０１５７】
以上図１３の（ｂ）に示される動作フローによれば、前記Ｐ／Ｅシーケンサ１２０は、前記所定の範囲内の記憶領域のデータの書き換えを続ける限りは、温度の測定結果を参照することはなく、連続してデータの書き換えを実行するから、前記Ｐ／Ｅシーケンサ１２０が温度の測定結果を参照する回数を減らすことが可能となる。その結果、温度の測定結果の参照に要する時間の増加による、データの書き換えに係る総合的な処理時間の増加を低く抑えることができる。
【０１５８】
なお、上記の前記Ｐ／Ｅシーケンサ１２０によるデータの書き換え制御の方法は、データ処理用半導体装置の用途や要求される処理速度等に応じて、図１３の（ａ）、又は図１３の（ｂ）に示される方法のいずれか一方を採用することが可能である。また、前記ＣＰＵ１０等の制御により、所定の条件に応じて上記２つの方法が切り替え可能に設定されるようにすることも可能である。
【０１５９】
≪実施の形態４≫
図１４は、本発明の別の実施の形態に係るデータ処理用半導体装置を示す。
【０１６０】
図１４に示されるデータ処理用半導体装置４は、前記Ｐ／Ｅシーケンサ１２によるデータの書き換えの制御を前記ＣＰＵ１０で実行されるプログラムによって行う。
【０１６１】
図１４において、前記データ処理用半導体装置１と同様の構成要素には同一の符号を付して、その詳細な説明を省略する。
【０１６２】
前記データ処理用半導体装置４は、前記ＣＰＵ１０の代わりにＣＰＵ３０を備える。
【０１６３】
前記ＣＰＵ３０は、前記ＣＰＵ１０の機能に加え、前記Ｐ／Ｅシーケンサ１２によるデータの書き換え制御をプログラムによって実行する。
【０１６４】
前記ＣＰＵ３０による、データの書き換えの制御方法について説明する。
【０１６５】
前記ＣＰＵ３０は、前記フラッシュメモリ部１１に対するデータの書き換えを行う際に、先ず、前記書き換えが許容される所定の温度範囲を定める値を、前記温度範囲レジスタ１６１に設定する。また、前記ＣＰＵ１０は、前記強制書き込みモードを行うか否かを前記強制書き込みモードレジスタ１６２に設定する。なお、前記温度範囲レジスタ１６１及び前記強制書き込みモードレジスタ１６２の設定は、前記ＣＰＵ１０がパワーオンリセット時に予め設定してもよい。
【０１６６】
そして、前記ＣＰＵ３０は、前記温度センサ部１４に対して温度の測定を要求し、温度のデータを受け取る。
【０１６７】
その後のデータの書き換えの制御は、前記Ｐ／Ｅシーケンサ１２と同様とすることで、前記Ｐ／Ｅシーケンサ１２によるデータの書き換えの制御と同様の作用を奏する。
【０１６８】
これによれば、前記データ処理用半導体装置３は、前記ＣＰＵ３０において実行されるプログラムによって前記フラッシュメモリ部１１に対するデータの書き換え制御を実行するから、前記Ｐ／Ｅシーケンサ１２が不要となり、且つ前記データ処理用半導体装置１と同様の作用を奏する。
【０１６９】
なお、前記データ処理用半導体装置４においては、前記書き換えが許容される所定の温度範囲や強制書き込みモードの有無はレジスタの値を設定することにより設定されるが、これに限られず、プログラム上で予め値を設定しておく方法でもよい。
【０１７０】
≪実施の形態５≫
図１５は、本発明の別の実施の形態に係るデータ処理用半導体装置を示す。
【０１７１】
図１５に示されるデータ処理用半導体装置５は、前記データ処理用半導体装置１の構成要素に加え、前記フラッシュメモリ部１１の記憶領域に対するデータの書き換え制御を行う際の、温度に関する情報の伝達に用いる温度情報専用バス１８を備える。
【０１７２】
図１５において、前記データ処理用半導体装置１と同様の構成要素には同一の符号を付して、その詳細な説明を省略する。
【０１７３】
前記温度情報専用バス１８は、以下の場合に用いられる。
【０１７４】
例えば、前記Ｐ／Ｅシーケンサ１２が前記温度センサ部１４に対して温度の測定を要求する際に、当該測定の要求を前記バス１８を介して発行し、当該要求を受け取った前記温度センサ部１４が、温度のデータ前記バス１８上に出力する。また、前記Ｐ／Ｅシーケンサ１２がデータの書き換え動作が終了したとき等に、その旨を前記ＣＰＵ１０に対して前記バス１８を介して通知する。
【０１７５】
以上により、前記データ処理用半導体装置５は、前記温度情報専用バス１８を用いることで他のプログラムによるバスの使用の競合がなく、データの書き換えの処理に要する時間が増加する確率を低減することが可能となり、且つ前記データ処理用半導体装置１と同様の作用を奏する。
【０１７６】
≪実施の形態６≫
図１６は、本発明の別の実施の形態に係るデータ処理用半導体装置を示す。
【０１７７】
図１６に示されるデータ処理用半導体装置６は、外部ＲＯＭ用のアクセス制御装置１９を更に備え、前記データ処理用半導体装置１の機能に加え、外部に設置された外付けＲＯＭ２０からデータを読み出す制御を行う。
【０１７８】
図１６において、前記データ処理用半導体装置１と同様の構成要素には同一の符号を付して、その詳細な説明を省略する。
【０１７９】
Ｐ／Ｅシーケンサ１６０は、前記Ｐ／Ｅシーケンサ１２の機能に加えて、前記フラッシュメモリ部１１の記憶領域に対するデータの読み出しの制御を行う。すなわち、前記Ｐ／Ｅシーケンサ１６０は、読み出しを保証する温度範囲外の温度環境においてデータの読み出す際には、前記フラッシュメモリ部１１からデータを読み出さずに、前記アクセス制御装置１９に対して、データの読み出し要求を発行する。
【０１８０】
前記アクセス制御装置１９は、前記Ｐ／Ｅシーケンサ１６０からのデータの読み出し要求に応じて、前記外付けＲＯＭ２０から所望のデータを読み出す。
【０１８１】
前記Ｐ／Ｅシーケンサ１６０による外付けＲＯＭ２０からデータ読み出し制御について説明する。
【０１８２】
先ず、前提条件として、前記フラッシュメモリ部１１に格納されているデータと同一のデータが、前記外付けＲＯＭ２０に格納されている場合を考える。例えば、前記フラッシュメモリ部１１からの読み出し対象のデータがプログラムを構成するデータであって、当該データと同一のプログラムのデータが、前記外付けＲＯＭ２０に格納されている場合を考える。
【０１８３】
前記Ｐ／Ｅシーケンサ１６０は、前記ＣＰＵ１０からの前記フラッシュメモリ部１１に対するデータの読み出し要求を受け取ると、データの書き換えを行う場合と同様に、前記温度センサ部１４から温度のデータを受け取り、当該温度のデータが示す温度が読み出しを許容する温度範囲内の温度であるか否かを判別する。当該判別の結果、読み出しを許容する温度範囲内の温度である場合には、前記フラッシュメモリ部１１からデータの読み出しを行う。
【０１８４】
一方、前記判別の結果、読み出しを許容する温度範囲外の温度である場合には、前記Ｐ／Ｅシーケンサ１６０は、前記アクセス制御装置１９に対してデータの読み出し要求を発行する。例えば、当該温度が、図４に示されるデータの読み出しを保証する温度範囲外の１７５度以上の温度である場合に、前記アクセス制御装置１９に対してデータの読み出し要求を発行する。
【０１８５】
そして当該読み出し要求を受け取った前記アクセス制御装置１９は、前記外付けＲＯＭ２０から当該要求に応じたデータを読み出し、データを読み出したことを前記Ｐ／Ｅシーケンサ１６０に通知する。前記通知を受け取った前記Ｐ／Ｅシーケンサ１６０は、前記ＣＰＵ１０にデータが読み出されたことを通知するとともに、データの読み出し動作を終了する。
【０１８６】
以上より、前記データ処理用半導体装置６によれば、前記動作保証温度範囲外の環境下において前記外付けＲＯＭ２０からデータを読み出すから、読み出しの信頼性を向上させることができる。これにより、例えば前記動作保証温度範囲外の環境下においてプログラムを読み出す場合において、当該プログラムが正しく読み出せないことによる前記データ処理用半導体装置６の誤動作を防止することができる。
【０１８７】
なお、上記のデータの読み出しの制御方法は、前記データ処理用半導体装置２にも適用することができる。この場合には、前記コード用記憶領域９０１におけるデータの読み出しの制御に当該方法を適用することで、前記データ処理用半導体装置６と同様の作用を奏する。
【０１８８】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１８９】
例えば、前記データ処理用半導体装置１〜６は、データの書き換えの制御において、前記第１の動作モード、前記強制書き込みモード及び前記リフレッシュ動作を行うが、これに限られず、前記強制書き込みモード及び前記リフレッシュ動作を行わないデータの書き換え制御を採用してもよい。
【符号の説明】
【０１９０】
１〜６  データ処理用半導体装置
１０、３０  ＣＰＵ
１１、９１  フラッシュメモリ部
９０１  コード用記憶領域
９０２  データ用記憶領域
１２、９０、１２０、１６０  Ｐ／Ｅシーケンサ
１３  温度エラーレジスタ
１４、２２  温度センサ部
１４１、２２１  制御回路
１４２  温度センサ
１４３  温度レジスタ
１５  バス
１６  制御レジスタ部
１６１  温度範囲レジスタ
１６２  強制書き込みモードレジスタ
１８  温度情報専用バス
１９  アクセス制御装置
２０  外付けＲＯＭ
１００  温度―４０度における特性
１０１  温度２５度における特性
１０２  温度１２５度における特性
１０３  温度１５０度における特性
２００  温度１６０度における特性
２０１  温度１５０度における特性
２０２  温度１２５度における特性
３００  温度１６０度における特性
３０１  温度１２５度における特性
３０２  温度２５度における特性
３０３  温度―４０度における特性
【図１】
0005554974.tif 000002
【図２】
0005554974.tif 000003
【図３】
0005554974.tif 000004
【図４】
0005554974.tif 000005
【図５】
0005554974.tif 000006
【図６】
0005554974.tif 000007
【図７】
0005554974.tif 000008
【図８】
0005554974.tif 000009
【図９】
0005554974.tif 000010
【図１０】
0005554974.tif 000011
【図１１】
0005554974.tif 000012
【図１２】
0005554974.tif 000013
【図１３】
0005554974.tif 000014
【図１４】
0005554974.tif 000015
【図１５】
0005554974.tif 000016
【図１６】
0005554974.tif 000017