(57)【特許請求の範囲】
【請求項１】
ＣＰＵと、
前記ＣＰＵに接続される不揮発性メモリと、
前記ＣＰＵから出力されるリードアドレスをモニタリングするリード頻度モニタ回路と、
前記ＣＰＵに接続されるＲＡＭと、
前記ＲＡＭに接続されるデータコピー制御回路と、を備え、
前記リード頻度モニタ回路は、
複数の特定アドレスの各々に対するリード回数及びリードされなかった回数を前記複数の特定アドレスの各々と関連付けた情報として記憶する第１記憶回路を有し、前記ＣＰＵからリードアドレスが出力される度に、前記複数の特定アドレスのうちの前記ＣＰＵから出力されたリードアドレスと一致する特定アドレスに対するリード回数をインクリメントすると共に該特定アドレスに対するリードされなかった回数をクリアし、前記複数の特定アドレスのうちの前記ＣＰＵから出力されたリードアドレスと一致しない特定アドレスに対するリードされなかった回数をインクリメントし、
前記データコピー制御回路は、
前記複数の特定アドレスのうちのリード回数が所定回数となった特定アドレスに対応する前記不揮発性メモリに格納されていたデータを前記ＲＡＭにコピーし、
前記リード頻度モニタ回路は、
前記複数の特定アドレスのうちのリードされなかった回数が所定回数となった特定アドレスに関連する前記第１記憶回路内の情報を削除する
データ処理装置。
【請求項２】
請求項１に記載のデータ処理装置であって、
前記ＲＡＭにコピーされたデータに対応する前記不揮発性メモリでのアドレスと、前記ＲＡＭにコピーされたデータの前記ＲＡＭでのアドレスと、該コピーされたデータのリードされなかった回数と、を関連付けて、アドレスの対応を示す情報として前記ＲＡＭにコピーされたデータ毎に複数保持する第２記憶回路と、
前記ＣＰＵ及び前記ＲＡＭに接続されるリード制御回路と、を備え、
前記リード制御回路は、前記ＣＰＵから前記ＲＡＭにコピーされたデータに対するリード動作が行われる際に、前記第２記憶回路に格納されている前記アドレスの対応を示す情報を参照して、前記ＣＰＵから出力された前記不揮発性メモリに対するリードアドレスを前記ＲＡＭに対するリードアドレスに変換して前記ＲＡＭに出力し、
前記ＣＰＵから前記ＲＡＭにコピーされたデータに対するリード動作が行われる度に、該リード動作が行われる前記ＲＡＭにコピーされたデータ以外のデータに対する前記第２記憶回路内の前記コピーデータのリードされなかった回数は、インクリメントされ、
前記ＲＡＭにコピーされたデータは、前記ＲＡＭにコピーされたデータに対する前記第２記憶回路内の前記コピーデータのリードされなかった回数が所定回数となった場合に、前記ＲＡＭから削除される
データ処理装置。
【請求項３】
請求項２に記載のデータ処理装置であって、
前記ＣＰＵ及び前記不揮発性メモリに接続され、前記不揮発性メモリに格納されるデータを前記ＣＰＵに転送するためのデータバスを備え、
前記リード制御回路から出力された前記ＲＡＭに対するリードアドレスにより、前記ＲＡＭからコピーされたデータが出力されている場合には、前記不揮発性メモリから前記データバスへの接続は、Ｈｉ−Ｚにされる
データ処理装置。
【請求項４】
請求項１乃至３の何れか１項に記載のデータ処理装置であって、
前記ＲＡＭの使用／未使用領域を示す情報を格納する第３記憶回路を備え、
前記データコピー制御回路は、前記使用／未使用領域を示す情報を参照して、前記複数の特定アドレスのうちのリード回数が所定回数となった特定アドレスに対応する前記不揮発性メモリに格納されていたデータの前記ＲＡＭへのコピー先を決定する
データ処理装置。
【請求項５】
ＣＰＵと、前記ＣＰＵに接続される不揮発性メモリと、前記ＣＰＵから出力された複数のリードアドレスの各々に対するリード回数及びリードされなかった回数を前記複数のリードアドレスの各々と関連付けた情報として記憶する第１記憶回路と、前記ＣＰＵに接続されるＲＡＭと、を備えるデータ処理装置の制御方法であって、
前記ＣＰＵから前記不揮発性メモリに対するリードアドレスが出力される度に、前記第１記憶回路内の該リードアドレスに対するリード回数をインクリメントすると共に、該リードアドレスに対するリードされなかった回数をクリアする第１ステップと、
前記第１ステップにおいて回数が変更された前記第１記憶回路内のリードアドレス以外のリードアドレスに対するリードされなかった回数をインクリメントする第２ステップと、
前記第１ステップの結果、前記リード回数が所定回数となったリードアドレスがある場合には、該リードアドレスに対応する前記不揮発性メモリに格納されているデータを前記ＲＡＭにコピーする第３ステップと、
前記第２ステップの結果、前記リードされなかった回数が所定回数となったリードアドレスがある場合には、該リードアドレスに関連する前記第１記憶回路内の情報を削除する第４ステップと、を有する
データ処理装置の制御方法。
【請求項６】
請求項１に記載のデータ処理装置の制御方法であって、
前記データ処理装置は、前記ＲＡＭにコピーされたデータに対応する前記不揮発性メモリでのアドレスと、前記ＲＡＭにコピーされたデータの前記ＲＡＭでのアドレスと、該コピーされたデータのリードされなかった回数と、を関連付けて、アドレスの対応を示す情報として前記ＲＡＭにコピーされたデータ毎に複数保持する第２記憶回路を更に備え、
前記データ処理装置の制御方法は、
前記ＣＰＵから出力されたリードアドレスに対応する前記不揮発性メモリ内のデータが前記ＲＡＭに格納されているか否かを確認する第５ステップと、
前記第５ステップの結果、前記ＣＰＵから出力されたリードアドレスに対応する前記不揮発性メモリ内のデータが前記ＲＡＭに格納されていると確認された場合には、前記第２記憶回路に格納されている前記アドレスの対応を示す情報を参照して、前記ＣＰＵから出力された前記不揮発性メモリに対するリードアドレスを前記ＲＡＭに対するリードアドレスに変換して前記ＲＡＭに出力する第６ステップと、
前記第６ステップにおいて前記ＲＡＭに出力を行ったリードアドレス以外のリードアドレスに対する前記第２記憶回路内の前記コピーデータのリードされなかった回数をインクリメントする第７ステップと、
前記第７ステップの結果、前記コピーデータのリードされなかった回数が所定回数となったリードアドレスがある場合には、該リードアドレスに対応する前記ＲＡＭにコピーされたデータを削除する第８ステップと、を更に有する
データ処理装置の制御方法。
【請求項７】
請求項６に記載のデータ処理装置の制御方法であって、
前記データ処理装置は、前記ＣＰＵ及び前記不揮発性メモリに接続され、前記不揮発性メモリに格納されるデータを前記ＣＰＵに転送するためのデータバスを更に備え、
前記データ処理装置の制御方法は、
前記第６ステップに応答して、前記ＲＡＭからコピーされたデータが出力されている場合には、前記不揮発性メモリから前記データバスへの接続をＨｉ−Ｚにする第９ステップを更に有する
データ処理装置の制御方法。
【請求項８】
請求項５乃至７の何れか１項に記載のデータ処理装置の制御方法であって、
前記データ処理装置は、前記ＲＡＭの使用／未使用領域を示す情報を格納する第３記憶回路を更に備え、
前記第３ステップは、
前記第３記憶回路内の前記使用／未使用領域を示す情報を参照する第１０ステップと、
前記第１０ステップの結果に基づいて、前記ＲＡＭへコピーするデータのコピー先を決定する第１１ステップと、を含む
データ処理装置の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、不揮発性半導体記憶装置内蔵マイクロコンピュータとその制御方法に関し、特に、不揮発性半導体記憶装置のリードディスターブ発生を防止するに不揮発性半導体記憶装置内蔵マイクロコンピュータとその制御方法に関する。
【０００２】
【従来の技術】
従来、フラッシュＥＥＰＲＯＭは、その書き込みが外部から容易にできるため、パーソナル・コンピュータの周辺装置、例えば、外付けのハードデスクまたは外付けのモデムまたは外付けのターミナル・アダプタ等の制御回路のＲＯＭとして使用されている。
【０００３】
しかしながら、このフラッシュＥＥＰＲＯＭは、リードする際にわずかながらメモリセルに書き込みが行われ、リードを繰り返すうちにセルの閾値が変動し、その結果、保持された値が変化する、いわゆる、ディスターブの問題が発生している。
【０００４】
すなわち、ブロック毎に、書込み・消去が要求され、長期間に渡って記憶されるデータの状態を良好に保持させる点でデータに影響を与えている。
【０００５】
その問題を解決し、データの状態を良好に保持できるフラッシュＥＥＰＲＯＭが、例えば、特開平０９−０５０６９８号公報に開示されている。
【０００６】
図７に示すように、この従来のフラッシュＥＥＰＲＯＭは、フラッシュメモリ７１と、フラッシュメモリ７１のある特定エリアのデータをコピーできるＲＡＭ７２と、  このフラッシュＥＥＰＲＯＭの全体の制御を行うリフレッシュ制御回路７３と、フラッシュメモリ７１の消去書込みを行う消去書込み回路制御７４とを具備している。
【０００７】
次に、このフラッシュＥＥＰＲＯＭの動作について、説明する。
【０００８】
まず、リフレッシュ制御回路７３にリフレッシュ動作が指示されると、フラッシュメモリ７１の任意に指定したエリアに保持されるデータをＲＡＭ７２に転送して一時的に退避させ、その後退避させたフラッシュメモリ７１のエリアのデータを消去書込み制御回路７４により消去した後、ＲＡＭ７２に退避させたデータをフラッシュメモリ７１の前記エリアに再書込みを行う。
【０００９】
【発明が解決しようとする課題】
しかしながら、ラッシュメモリ７１には、保証することのできる書き換え回数が存在するため、フラッシュメモリ７１のリフレッシュ動作の書き換えを行うと、ユーザーに保証できる書き換え回数が減少し、メモリの品質を悪化させるいう欠点がある。
【００１０】
したがって、上記問題に鑑み本発明の目的は、これらの問題を解消した不揮発性半導体記憶装置内蔵マイクロコンピュータとその制御方法を提供することにある。
【００１１】
【課題を解決するための手段】
本発明のデータ処理装置は、ＣＰＵと、前記ＣＰＵに接続される不揮発性メモリと、前記ＣＰＵから出力されるリードアドレスをモニタリングするリード頻度モニタ回路と、前記ＣＰＵに接続されるＲＡＭと、前記ＲＡＭに接続されるデータコピー制御回路と、を備え、前記リード頻度モニタ回路は、複数の特定アドレスの各々に対するリード回数及びリードされなかった回数を前記複数の特定アドレスの各々と関連付けた情報として記憶する第１記憶回路を有し、前記ＣＰＵからリードアドレスが出力される度に、前記複数の特定アドレスのうちの前記ＣＰＵから出力されたリードアドレスと一致する特定アドレスに対するリード回数をインクリメントすると共に該リードアドレスに対するリードされなかった回数をクリアし、前記複数の特定アドレスのうちの前記ＣＰＵから出力されたリードアドレスと一致しない特定アドレスに対するリードされなかった回数をインクリメントし、前記データコピー制御回路は、前記複数の特定アドレスのうちのリード回数が所定回数となった特定アドレスに対応する前記不揮発性メモリに格納されていたデータを前記ＲＡＭにコピーし、前記リード頻度モニタ回路は、前記複数の特定アドレスのうちのリードされなかった回数が所定回数となった特定アドレスに関連する前記第１記憶回路内の情報を削除することを特徴とする。
【００１２】
また、本発明のデータ処理装置の制御方法は、ＣＰＵと、前記ＣＰＵに接続される不揮発性メモリと、前記ＣＰＵから出力された複数のリードアドレスの各々に対するリード回数及びリードされなかった回数を前記複数のリードアドレスの各々と関連付けた情報として記憶する第１記憶回路と、前記ＣＰＵに接続されるＲＡＭと、を備えるデータ処理装置の制御方法であって、前記ＣＰＵから前記不揮発性メモリに対するリードアドレスが出力される度に、前記第１記憶回路内の該リードアドレスに対するリード回数をインクリメントすると共に、該リードアドレスに対するリードされなかった回数をクリアする第１ステップと、前記第１ステップにおいて回数が変更された前記第１記憶回路内のリードアドレス以外のリードアドレスに対するリードされなかった回数をインクリメントする第２ステップと、前記第１ステップの結果、前記リード回数が所定回数となったリードアドレスがある場合には、該リードアドレスに対応する前記不揮発性メモリに格納されているデータを前記ＲＡＭにコピーする第３ステップと、前記第２ステップの結果、前記リードされなかった回数が所定回数となったリードアドレスがある場合には、該リードアドレスに関連する前記第１記憶回路内の情報を削除する第４ステップと、を有することを特徴とする。
【００１５】
【発明の実施の形態】
次に、本発明の第１の実施の形態について図面を参照して説明する。本発明の第１の実施の形態の不揮発性半導体記憶装置内蔵マイクロコンピュータを図１に示す。
【００１６】
図１を参照すると、本発明の第１の実施の形態の不揮発性半導体記憶装置内蔵マイクロコンピュータは、ＣＰＵ１と、ＣＰＵ１とアドレスバス８およびデータバス９接続されたフラッシュメモリ２と、フラッシュメモリ２の所定のエリアのデータをコピーできるＲＡＭ３と、ＲＡＭ３のデータバス接続を切り換えるセレクタ７と、フラッシュメモリ２、ＲＡＭ３、セレクタ７のそれぞれの制御を行うメモリアクセス制御部１３とを備える。
【００１７】
そして、本発明の第１の実施の形態の不揮発性半導体記憶装置内蔵マイクロコンピュータは、フラッシュメモリ２のリードの頻度をカウントし、前記頻度に対応して、フラッシュメモリ２からリードを行うか、ＲＡＭ３から行うかを制御し、所定のエリアのデータのリードの頻度が一定の値を超えたとき、フラッシュメモリ２のデータをＲＡＭ３に転送する。
【００１８】
また、本発明の第１の実施の形態の不揮発性半導体記憶装置内蔵マイクロコンピュータのメモリアクセス制御部１３は、フラッシュメモリ２のリードの頻度をカウントするリード頻度モニタ回路を備え、さらに、メモリアクセス制御部１３は、前記頻度に対応して、フラッシュメモリ２からリードを行うか、ＲＡＭ３から行うかを制御するリード制御回路を備え、メモリアクセス制御部は、所定のエリアのデータのリードの頻度が一定の値を超えたとき、フラッシュメモリ２のデータをＲＡＭ３に転送するデータコピー制御回路を備える。
【００１９】
次に、本発明の第１の実施の形態の不揮発性半導体記憶装置内蔵マイクロコンピュータの動作を図面を参照して、説明する。
【００２０】
まず、制御全体の動作フローを、図１及びフローチャート図２、図３を参照して説明する。
【００２１】
図２のステップＳ１に示すように通常リード時、ＣＰＵ１はフラッシュメモリ２からアドレスバス８とデータバス９を使用してリードを行う（ステップＳ１）。
【００２２】
その際、ＣＰＵ１からアドレスバス８に出力されているアドレスをリード頻度モニタ回路４によりモニタし各アドレスのリード頻度をチェックする。
【００２３】
次に、図２のステップＳ２に示すように、特定のアドレスがある一定以上の頻度でリードされリードディスターブ発生の可能性があるか否かを判定する（ステップＳ２）。
【００２４】
リードディスターブ発生の可能性がある場合、リード時にフラッシュメモリ２からデータバス９に出力されたデータをデータコピー制御回路６に保存し、処理Ｓ３の手順に進む。リードディスターブ発生の恐れがない場合は、ステップＳ１に戻る。
【００２５】
ステップＳ３は、ステップＳ２により保存したデータを、コピー用データバス１０とＲＡＭアドレスバス１１を使用してＲＡＭ３にコピーする。
【００２６】
その際、セレクタ７はＲＡＭデータバス１２の接続として、コピー用データバス１０を選択する。ＲＡＭ３にコピーしている間もＣＰＵ１による通常リードは行うことができ、またステップＳ１によるリード頻度のモニタも行われる。
【００２７】
そして、ＲＡＭ３にコピーした後に、フラッシュメモリ２のコピー元データに対するリードが行われた場合、リード制御回路５によりＲＡＭ３にコピーされたデータをデータバス９に出力する。また、ＲＡＭアドレスバス１１にコピー先のアドレスを出力する。
【００２８】
その際、セレクタ７はＲＡＭデータバス１２の接続としてデータバス９を選択する。フラッシュメモリ２からデータバス９への接続はＨｉ−Ｚになるように制御する。
【００２９】
また、上記の説明では、フラッシュメモリ２からリードを行う時点から説明しているが、ＲＡＭ３にデータが存在するならＲＡＭ３からデータをリードすれば良いため、図３に示すフローチャートのように、ＲＡＭ３にデータがあるか否かをチェックすることからリード動作を開始する。
【００３０】
すなわち、本発明のフローは、図２に示す、リード頻度のモニタとＲＡＭ３へのコピー（ステップＳ１）と、図３に示す、リード時にＲＡＭ３からリードするかフラッシュメモリ２からリードするかを判定し（ステップＳ３２）、選択した側からリードする（ステップＳ３３またはステップＳ３４という２つのフローから成り立っており、これら２つのフローは並列動作する。
【００３１】
次に、リード頻度のモニタ回路４、ＲＡＭ３へのデータコピー制御回路６およびリード制御回路５のそれぞれの動作について、図４、図５、図６のテーブル表を参照して説明する。
まず、リード頻度のモニタ回路４について説明する。
【００３２】
図２のステップＳ２において、リード頻度モニタ回路４が、リードディスターブの起こり得る可能性があるか否かを判定する動作について、図６のテーブルを用いて説明する。
【００３３】
図６のように、リード頻度のモニタ４は、アドレス値、リード回数、リードされなかった回数のそれぞれを記憶する構成である。この構成により、リード頻度のモニタ４は、どの程度の間隔を空けてリードされているかカウントすることで実施できる。
【００３４】
そして、フラッシュメモリ２へのリードが起こると、その特定アドレスがすでに記憶されている場合は、そのアドレスのリード回数をプラス１し、リードされなかった回数を０にする。
【００３５】
その時、図６のテーブル中でリードされたなかった別アドレスのエントリは、リードされなかった回数をプラス１する。そして、特定アドレスのリード回数がある一定回数になるとリードディスターブの危険性があると判定する。
【００３６】
別アドレスのリードされなかった回数がある一定数を越えた場合、リード頻度が低く問題ないと判断し図６のテーブルから削除する。
【００３７】
次に、ＲＡＭ３へのデータコピー制御回路６の動作について説明する。
【００３８】
図２のステップＳ３において、フラッシュメモリ２のデータをＲＡＭ３にコピーする動作について、図５のテーブル表を参照して説明する。
【００３９】
ＲＡＭ３のどの領域が空いているかを示す情報が必要になるため、ＲＡＭ３のアドレス毎に使用中か未使用か記憶する構成を持たせておく。
【００４０】
ＲＡＭ３へデータをコピーする際には、そのアドレスは使用中とし、ＲＡＭ３からデータを削除するのは、このテーブルの情報を未使用に変更して行う。
【００４１】
データのコピー動作は、あるアドレスのデータをコピーすると決定した際、フラッシュメモリ２からデータバス９に出力されたデータを保存しておく。
【００４２】
そして、コピー用データバス１０とＲＡＭアドレスバス１１を使用して、ＲＡＭ３にコピーする。このようにコピーすることで、ＣＰＵ１のリード動作を停止させずにコピーを行うことができる。
【００４３】
次に、リード制御回路５の動作について説明する。
【００４４】
図３に示す制御について、図４のテーブル表を参照して説明する。ＲＡＭ３へコピーしたデータをリードするためには、コピーされたデータのフラッシュメモリ３でのアドレスと、コピー先のＲＡＭ３のアドレスの対応を示す情報が必要なため、図４に示すようなテーブルにそのアドレスを記録する。
【００４５】
また、そのテーブルにはコピーされたデータがリードされなかった回数を示す情報を持ち、一定間隔以上リードされなければＲＡＭ３から削除する。
【００４６】
リードされなかった回数は、ＣＰＵ１がリードを行う際にそのアドレスがリードされなければカウントする。
【００４７】
このようにカウントすることにより、一定期間リードされないことを検出できる。
【００４８】
なお、ＲＡＭ３の容量や各テーブルのエントリ数についてを説明すると、ＲＡＭ３の容量や図４、図５、図６の各テーブルを実現するための記憶エリアの容量は、どの程度の頻度で特定のアドレスがリードされた場合にリードディスターブ発生の恐れがあるかに依存するので、適宜設定可能である。
【００４９】
【発明の効果】
このように、本発明によりフラッシュメモリのリードディスターブの発生を防止することが可能となるため、製品の品質保証に効果を発揮できる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態の不揮発性半導体記憶装置内蔵マイクロコンピュータのブロック図である。
【図２】本発明の第１の実施の形態の不揮発性半導体記憶装置内蔵マイクロコンピュータの動作を説明するフローチャートである。
【図３】本発明の第１の実施の形態の不揮発性半導体記憶装置内蔵マイクロコンピュータの動作を説明する他のフローチャートである。
【図４】図１に示す本発明の第１の実施の形態の不揮発性半導体記憶装置内蔵マイクロコンピュータの動作を説明する表である。
【図５】図１に示す本発明の第１の実施の形態の不揮発性半導体記憶装置内蔵マイクロコンピュータの動作を説明する他の表である。
【図６】図１に示す本発明の第１の実施の形態の不揮発性半導体記憶装置内蔵マイクロコンピュータの動作を説明するさらに別の表である。
【図７】従来の不揮発性半導体記憶装置内蔵マイクロコンピュータのブロック図である。
【符号の説明】
１    ＣＰＵ
２，７１    フラッシュメモリ
３，７２    ＲＡＭ
４    リード頻度のモニタ回路
５    リード制御回路
６    データコピー制御回路
７    セレクタ
８    アドレスバス
９    データバス
１０    コピー用データバス
１１    ＲＡＭアドレスバス
１２    ＲＡＭデータバス
１３    メモリアクセス制御部
１４，１５，１６    制御信号
１７    Ｒｅａｄ信号
７３    リフレッシュ制御回路
７４    消去、書込み制御回路
Ｓ１，Ｓ２，Ｓ３，Ｓ３１，Ｓ３２，Ｓ３３，Ｓ３４，Ｓ６１，Ｓ６２    ステップ
【図１】
0004229571.tif 000002
【図２】
0004229571.tif 000003
【図３】
0004229571.tif 000004
【図４】
0004229571.tif 000005
【図５】
0004229571.tif 000006
【図６】
0004229571.tif 000007
【図７】
0004229571.tif 000008