(57)【要約】【課題】  フラッシュメモリに代表されるＥＥＰＲＯＭは、データ書き換え等によってメモリセルが劣化し書き込みレベルが変化する事により、システムが誤動作する恐れがあった。【解決手段】  複数のブロックに分割してあるフラッシュメモリ２１からデータを読み出す際、検知回路２３がフラッシュメモリ２１に書き込まれたデータの書き込みレベルの変化からメモリセルの劣化を検知し、劣化したメモリセルを含むブロックのデータを、ＲＡＭ２６へ一時保存した後、あらかじめ準備している退避領域２７へ格納し、この後、劣化したメモリセルを含むブロックのデータを読み出す際には退避領域２７へ格納されたデータを読み出すようにすることで、メモリセルの劣化によるシステムの誤動作を防止すると共に、フラッシュメモリの信頼性を向上することが可能となる。【選択図】  図１
2006065384.tif 000002
【特許請求の範囲】
【請求項１】
メモリ領域が複数のメモリセルブロックに分割されたＥＥＰＲＯＭと、前記ＥＥＰＲＯＭからデータを読み出すデータ読み出し手段と、前記データ読み出し手段により前記ＥＥＰＲＯＭからデータを読み出す際に前記ＥＥＰＲＯＭの劣化したメモリセルブロックを検知する検知手段と、データ保持手段と、１つ以上のメモリセルブロックを有したデータ退避領域と、前記検知手段から劣化したメモリセルブロックの検知を受けるデータ書き換え手段とを備え、
前記データ書き換え手段は、前記劣化したメモリセルブロックの検知を受けた後、前記劣化したメモリセルブロックのデータを読み出して前記データ保持手段に一時保持させ、前記劣化したメモリセルブロックのアドレスを前記データ退避領域内のメモリセルブロックのアドレスに対応させて前記データ保持手段に一時保持させたデータを前記データ退避領域に書き込むようにし、
前記データ読み出し手段は、前記劣化したメモリセルブロックのデータが前記データ書き換え手段により前記データ退避領域に書き込まれた後に、前記ＥＥＰＲＯＭの前記劣化したメモリセルブロックのデータを読み出す際は前記データ退避領域に書き込まれたデータを読み出すようにした半導体装置。
【請求項２】
メモリ領域がメモリセルブロックに分割され１つ以上の前記メモリセルブロックをデータ退避領域とし前記データ退避領域以外の複数の前記メモリセルブロックを通常データ領域としたＥＥＰＲＯＭと、前記ＥＥＰＲＯＭからデータを読み出すデータ読み出し手段と、前記データ読み出し手段により前記ＥＥＰＲＯＭの前記通常データ領域からデータを読み出す際に前記ＥＥＰＲＯＭの劣化したメモリセルブロックを検知する検知手段と、データ保持手段と、前記検知手段から劣化したメモリセルブロックの検知を受けるデータ書き換え手段とを備え、
前記データ書き換え手段は、前記劣化したメモリセルブロックの検知を受けた後、前記劣化したメモリセルブロックのデータを読み出して前記データ保持手段に一時保持させ、前記劣化したメモリセルブロックのアドレスを前記データ退避領域内のメモリセルブロックのアドレスに対応させて前記データ保持手段に一時保持させたデータを前記データ退避領域に書き込むようにし、
前記データ読み出し手段は、前記劣化したメモリセルブロックのデータが前記データ書き換え手段により前記データ退避領域に書き込まれた後に、前記ＥＥＰＲＯＭの前記劣化したメモリセルブロックのデータを読み出す際は前記データ退避領域に書き込まれたデータを読み出すようにした半導体装置。
【請求項３】
メモリ領域が複数のメモリセルブロックに分割され１つ以上の前記メモリセルブロックにデータが書き込まれていないＥＥＰＲＯＭと、前記ＥＥＰＲＯＭからデータを読み出すデータ読み出し手段と、前記データ読み出し手段により前記ＥＥＰＲＯＭからデータを読み出す際に前記ＥＥＰＲＯＭの劣化したメモリセルブロックを検知する検知手段と、データ保持手段と、前記検知手段から劣化したメモリセルブロックの検知を受けるデータ書き換え手段とを備え、
前記データ書き換え手段は、前記劣化したメモリセルブロックの検知を受けた後、前記ＥＥＰＲＯＭに書き込まれている全てのデータを読み出して前記データ保持手段に一時保持させ、前記データ保持手段に一時保持させたデータを前記劣化したメモリセルブロックを除いた前記ＥＥＰＲＯＭのメモリセルブロックに書き込むようにした半導体装置。
【請求項４】
前記データ書き換え手段により前記ＥＥＰＲＯＭに書き込まれるデータ量が前記ＥＥＰＲＯＭの前記劣化したメモリセルブロックを除いたメモリ領域に書き込み可能なデータ量を超える場合に外部へ異常信号を出力するメモリ領域監視手段を設けたことを特徴とする請求項３記載の半導体装置。
【請求項５】
メモリ領域が複数のメモリセルブロックに分割されたＥＥＰＲＯＭと、前記ＥＥＰＲＯＭからデータを読み出すデータ読み出し手段と、前記データ読み出し手段により前記ＥＥＰＲＯＭからデータを読み出す際に前記ＥＥＰＲＯＭの劣化したメモリセルブロックを検知する検知手段と、データ保持手段と、前記検知手段で検知された劣化したメモリセルブロックのアドレスを格納するアドレス保持手段と、前記検知手段から劣化したメモリセルブロックの検知を受けた後、前記劣化したメモリセルブロックのデータを読み出して前記データ保持手段に書き込むデータ書き換え手段と、装置電源が遮断されたときに前記データ保持手段のデータが失われないように前記データ保持手段の電源となるバックアップコンデンサとを備え、
前記データ読み出し手段は、前記ＥＥＰＲＯＭからデータを読み出す際に、読み出しアドレスを前記アドレス保持手段に格納されているアドレスと比較し、両者が一致しないときは前記ＥＥＰＲＯＭからデータを読み出し、前記両者が一致したときには前記データ保持手段に書き込まれたデータを読み出すようにした半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリに代表されるＥＥＰＲＯＭを搭載した半導体装置に関する。
【背景技術】
【０００２】
図６はＥＥＰＲＯＭを搭載した従来の半導体装置のブロック図を示す。この半導体装置は、任意の容量のフラッシュメモリ１１とセンスアンプ１２（以下ＳＡ１２と記す）とＣＰＵ１３で構成されている。フラッシュメモリ１１は、複数のメモリセルから構成されており、ＳＡ１２はフラッシュメモリ１１内の指定されたメモリセルのセル電流値をもって読み出したデータが“１”データか“０”データかを判定し出力する。
【０００３】
以上のように構成された半導体装置についてその動作を説明する。
【０００４】
フラッシュメモリ１１には任意のデータが書き込まれており、フラッシュメモリ１１はアドレスが与えられると、指定されたメモリセルのデータを電流値として出力する。ＳＡ１２は前記メモリセルの電流値をビット毎に判定し、“１”もしくは“０”データとして出力する。ＣＰＵ１３はＳＡ１２の出力データを格納し、所定の処理を行う。
【特許文献１】特開平２−１４１９９８号公報（ページプログラムモードを備えたＥＥＰＲＯＭに対する冗長救済を行う例）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
フラッシュメモリ等のＥＥＰＲＯＭを搭載した半導体装置は、セットの開発サイクルの加速に伴い、実装後のプログラム書換えが可能なために、幅広い電子機器に必要不可欠な部品となっている。このような背景のもと、実装後のフラッシュメモリの信頼性確保が必要となっている。しかしながら、フラッシュメモリを構成するメモリセルの構造的な問題から、保存温度や動作電圧の変化、データ書き換えによるストレスにより、メモリセルが劣化して書き込みレベル（Ｖｔ）が変化し、それが大きくなるとメモリセルの劣化によるシステム（半導体装置）の誤動作が発生するという課題があった。
【０００６】
本発明の目的は、ＥＥＰＲＯＭのメモリセルの劣化による誤動作を防止し、ＥＥＰＲＯＭの信頼性を向上できる半導体装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明の半導体装置は、メモリ領域が複数のメモリセルブロックに分割されたＥＥＰＲＯＭと、ＥＥＰＲＯＭからデータを読み出すデータ読み出し手段と、データ読み出し手段によりＥＥＰＲＯＭからデータを読み出す際にＥＥＰＲＯＭの劣化したメモリセルブロックを検知する検知手段と、データ保持手段と、１つ以上のメモリセルブロックを有したデータ退避領域と、検知手段から劣化したメモリセルブロックの検知を受けるデータ書き換え手段とを備え、データ書き換え手段は、劣化したメモリセルブロックの検知を受けた後、劣化したメモリセルブロックのデータを読み出してデータ保持手段に一時保持させ、劣化したメモリセルブロックのアドレスをデータ退避領域内のメモリセルブロックのアドレスに対応させてデータ保持手段に一時保持させたデータをデータ退避領域に書き込むようにし、データ読み出し手段は、劣化したメモリセルブロックのデータがデータ書き換え手段によりデータ退避領域に書き込まれた後に、ＥＥＰＲＯＭの劣化したメモリセルブロックのデータを読み出す際はデータ退避領域に書き込まれたデータを読み出すようにしている。
【０００８】
また、本発明の半導体装置は、メモリ領域がメモリセルブロックに分割され１つ以上のメモリセルブロックをデータ退避領域としデータ退避領域以外の複数のメモリセルブロックを通常データ領域としたＥＥＰＲＯＭと、ＥＥＰＲＯＭからデータを読み出すデータ読み出し手段と、データ読み出し手段によりＥＥＰＲＯＭの通常データ領域からデータを読み出す際にＥＥＰＲＯＭの劣化したメモリセルブロックを検知する検知手段と、データ保持手段と、検知手段から劣化したメモリセルブロックの検知を受けるデータ書き換え手段とを備え、データ書き換え手段は、劣化したメモリセルブロックの検知を受けた後、劣化したメモリセルブロックのデータを読み出してデータ保持手段に一時保持させ、劣化したメモリセルブロックのアドレスをデータ退避領域内のメモリセルブロックのアドレスに対応させてデータ保持手段に一時保持させたデータをデータ退避領域に書き込むようにし、データ読み出し手段は、劣化したメモリセルブロックのデータがデータ書き換え手段によりデータ退避領域に書き込まれた後に、ＥＥＰＲＯＭの劣化したメモリセルブロックのデータを読み出す際はデータ退避領域に書き込まれたデータを読み出すようにしている。
【０００９】
また、本発明の半導体装置は、メモリ領域が複数のメモリセルブロックに分割され１つ以上のメモリセルブロックにデータが書き込まれていないＥＥＰＲＯＭと、ＥＥＰＲＯＭからデータを読み出すデータ読み出し手段と、データ読み出し手段によりＥＥＰＲＯＭからデータを読み出す際にＥＥＰＲＯＭの劣化したメモリセルブロックを検知する検知手段と、データ保持手段と、検知手段から劣化したメモリセルブロックの検知を受けるデータ書き換え手段とを備え、データ書き換え手段は、劣化したメモリセルブロックの検知を受けた後、ＥＥＰＲＯＭに書き込まれている全てのデータを読み出してデータ保持手段に一時保持させ、データ保持手段に一時保持させたデータを劣化したメモリセルブロックを除いたＥＥＰＲＯＭのメモリセルブロックに書き込むようにしている。
【００１０】
この場合、データ書き換え手段によりＥＥＰＲＯＭに書き込まれるデータ量がＥＥＰＲＯＭの劣化したメモリセルブロックを除いたメモリ領域に書き込み可能なデータ量を超える場合に外部へ異常信号を出力するメモリ領域監視手段を設けることが好ましい。
【００１１】
また、本発明の半導体装置は、メモリ領域が複数のメモリセルブロックに分割されたＥＥＰＲＯＭと、ＥＥＰＲＯＭからデータを読み出すデータ読み出し手段と、データ読み出し手段によりＥＥＰＲＯＭからデータを読み出す際にＥＥＰＲＯＭの劣化したメモリセルブロックを検知する検知手段と、データ保持手段と、検知手段で検知された劣化したメモリセルブロックのアドレスを格納するアドレス保持手段と、検知手段から劣化したメモリセルブロックの検知を受けた後、劣化したメモリセルブロックのデータを読み出してデータ保持手段に書き込むデータ書き換え手段と、装置電源が遮断されたときにデータ保持手段のデータが失われないようにデータ保持手段の電源となるバックアップコンデンサとを備え、データ読み出し手段は、ＥＥＰＲＯＭからデータを読み出す際に、読み出しアドレスをアドレス保持手段に格納されているアドレスと比較し、両者が一致しないときはＥＥＰＲＯＭからデータを読み出し、両者が一致したときにはデータ保持手段に書き込まれたデータを読み出すようにしている。
【発明の効果】
【００１２】
以上のように本発明によれば、ＥＥＰＲＯＭの劣化したメモリセルブロックを検知し、劣化したメモリセルブロックのデータをＥＥＰＲＯＭ以外のデータ退避領域やＥＥＰＲＯＭ内のデータ退避領域またはバックアップコンデンサを備えたデータ保持手段に格納したり、あるいは、ＥＥＰＲＯＭに書き込まれている全てのデータを劣化したメモリセルブロックを除いたＥＥＰＲＯＭの領域に再書き込みすることで、システムがメモリ不良により誤動作する事を未然に防ぐと共に、システムの信頼性を飛躍的に向上させることが可能となり、ＥＥＰＲＯＭの信頼性を向上させることができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態について、図面を用いて説明する。
【００１４】
（実施の形態１）
図１は、実施の形態１である半導体装置の概略構成図である。
【００１５】
この半導体装置は、フラッシュメモリ２１、アドレス制御回路２２、検知回路２３、ＣＰＵ２４、書き換え（Ｅ／Ｗ）制御回路２５、ＲＡＭ２６、フラッシュメモリやＲＡＭ等の電源の不要な不揮発性メモリからなる退避領域２７を備えている。ＣＰＵ２４がデータ読み出し手段となり、ＣＰＵ２４とアドレス制御回路２２と書き換え制御回路２５がデータ書き換え手段となる。
【００１６】
フラッシュメモリ２１は、メモリ領域が複数のブロックに分割されている。また、退避領域となる退避領域２７は、フラッシュメモリ２１内の各ブロックと同じ大きさ（同じ容量）の、いくつかの複数のブロックに分割されている。検知回路２３は、判定レベルの異なる２種類のセンスアンプと比較回路を備え、それぞれフラッシュメモリ２１のデータが“０”であるか“１”であるかを判定し比較する。比較結果が１ビットでも異なれば“１”データを出力し、保持する。ＣＰＵ２４は、検知回路２３の出力データを命令およびテーブルデータとして格納し、データ書き換え可能なタイミングで、書き換え制御回路２５およびアドレス制御回路２２へ制御信号を出力し、メモリセルの不具合が検出された領域のデータを読み出しＲＡＭ２６へ格納し、さらにＲＡＭ２６に格納されたデータを退避領域２７へ書き込む。
【００１７】
検知回路２３の詳細動作について図２を用いて説明する。検知回路２３は、判定基準の異なる２種類のセンスアンプ（以下ＳＡと記す）２３１とＳＡ２３２、比較回路２３３、レジスタからなる保持回路２３４で構成されている。ＣＰＵ２４がフラッシュメモリ２１からデータを読み出す際に、検知回路２３において、ＳＡ２３１とＳＡ２３２はそれぞれフラッシュメモリ２１のデータが“０”か“１”かを判定し出力する。比較回路２３３は、ＳＡ２３１とＳＡ２３２のデータをビット毎に比較し、１ビットでも異なれば“１”データを出力、それ以外は“０”データを出力する。
【００１８】
つまり、ＳＡ２３１とＳＡ２３２は判定基準を多少ずらしておくことで、メモリセルが劣化してきたときに、ＳＡ２３１とＳＡ２３２の判定結果が不一致となる状態が生じる。このときに、メモリセルが劣化し不良となったと判定する。
【００１９】
保持回路２３４は、比較回路２３３の出力を複数に分割されたメモリ領域（ブロック）毎に比較回路２３３の出力結果を、テーブルデータとして格納し保持する。保持回路２３４のデータは、ＣＰＵ２４により初期化されるまではデータを保持するものとする。保持回路２３４のデータが全て“０”であればメモリデータの書き換えは行わない。それ以外のときは、ＣＰＵ２４へ保持回路２３４の出力データを命令およびテーブルデータとして出力する。
【００２０】
ＣＰＵ２４の詳細動作について説明する。ＣＰＵ２４は、検知回路２３の出力結果が全て“０”であった場合は、データの書き換えは実行しない。それ以外の場合は、検知回路２３の出力結果からメモリセルが劣化しているメモリ領域（ブロック）を判別し、データ書き換えが可能なタイミングで書き換え信号を、アドレス制御回路２２およびＥ／Ｗ制御回路２５へ出力する。Ｅ／Ｗ制御回路２５は、フラッシュメモリ２１のメモリセルの劣化が認められたブロックのデータを読み出し、ＲＡＭ２６へ格納する。アドレス制御回路２２は、ＣＰＵ２４から出力された命令により、あらかじめいくつかのブロックに分割している退避領域２７へデータの書き込みアドレスの変換を実施し、ＲＡＭ２６に格納しているデータの書き込みを実行する。
【００２１】
なお、退避領域２７に書き込まれたデータを読み出すためには、判定結果を修正アドレス保持回路へ格納しておくことが必要であり、データ読み出しの際に修正アドレス保持回路のデータへのアクセスが必要である。修正アドレス保持回路については、実施の形態４で詳しく説明している。
【００２２】
以上のように本実施の形態１によれば、複数のブロックに分割してあるフラッシュメモリ２１に書き込まれたデータの書き込みレベルの変化からメモリセルの劣化を検知し、劣化したメモリセルを含むブロックのデータを、あらかじめ準備している退避領域２７へ格納し、この後、劣化したメモリセルを含むブロックのデータを読み出す際には退避領域２７へ格納されたデータを読み出すようにすることで、メモリセルの劣化によるシステム（半導体装置）の誤動作を防止すると共に、フラッシュメモリの信頼性を向上することが可能となる。
【００２３】
（実施の形態２）
図３は、実施の形態２である半導体装置の概略図である。
【００２４】
この半導体装置は、フラッシュメモリ４１、アドレス制御回路４２、検知回路４３、ＣＰＵ４４、書き換え（Ｅ／Ｗ）制御回路４５、ＲＡＭ４６を備えている。フラッシュメモリ４１は、メモリ領域が複数のブロックに分割され、データを退避させる場所としてあらかじめ数ブロックを空き領域として確保し、空き領域にはそれぞれのブロックの先頭アドレスがデータとして記述されているとする。
【００２５】
ＣＰＵ４４の詳細動作を説明する。検知回路４３は、ＣＰＵ４４がデータを読み出す際にメモリセルのデータの書き込みレベルを判定し、メモリセルが劣化していると判定されると、検知回路４３から該当ブロック（劣化ブロック）の先頭アドレスをデータとしてＣＰＵ４４へ出力する。ＣＰＵ４４は、検知回路４３の出力データを受けて、アドレス制御回路４２とＥ／Ｗ制御回路４５へ該当ブロックのデータの書き換え信号を出力し、該当ブロックのデータを適切なタイミングでＲＡＭ４６へ退避する。ＣＰＵ４４は、該当ブロックのデータが読み出された後、あらかじめフラッシュメモリに書きこんである空き領域のアドレスへ、ＲＡＭ４６に読み出したデータの書き込みを実施する。つまり、ＣＰＵ４４がそれぞれの空きブロックの先頭アドレスの情報を持っていて、検知回路４３の出力データからデータを退避する場合は、そのアドレスへデータを上書きする。
【００２６】
なお、この実施の形態においても、フラッシュメモリ４１の空き領域に書き込まれたデータを読み出すために、判定結果を修正アドレス保持回路へ格納しておくことが必要であり、データ読み出しの際に修正アドレス保持回路のデータへのアクセスが必要である。修正アドレス保持回路については、実施の形態４で詳しく説明している。
【００２７】
以上のように本実施の形態２によれば、フラッシュメモリ４１に書き込まれたデータの書き込みレベルの変化からメモリセルの劣化を検知し、劣化したメモリセルを含むブロックのデータを、同一フラッシュメモリ４１の空き領域に格納し、この後、劣化したメモリセルを含むブロックのデータを読み出す際には空き領域に格納されたデータを読み出すようにすることで、メモリセルの劣化によるシステム（半導体装置）の誤動作を防止すると共に、フラッシュメモリの信頼性を向上することが可能となる。また、本実施の形態２では、実施の形態１のように別途メモリ（退避領域２７）を搭載することなく、省電力化が可能となる。
【００２８】
（実施の形態３）
図４は、実施の形態３である半導体装置の概略図である。
【００２９】
この半導体装置は、フラッシュメモリ５１、アドレス制御回路５２、検知回路５３、ＣＰＵ５４、Ｅ／Ｗ制御回路５５、ＲＡＭ５６、モニター回路５７を備えている。フラッシュメモリ２１は、メモリ領域が複数（ｎ個）のブロックに分割されている。
【００３０】
検知回路５３は、実施の形態１の検知回路２１の構成（図２）と同じであり、フラッシュメモリ５１のデータを読み出す時に、データの書き込みレベルを比較し、書き込みレベルが浅くなっている（メモリセルが劣化している）と“１”データを出力する。また、検知回路５３の出力するデータは、ｎブロックに分割したフラッシュメモリのどのブロックのデータに不具合が発生したか分かるようｎビットのテーブルデータとして出力される。ＣＰＵ５４は、検知回路５３の出力したデータを命令およびテーブルデータとして格納し、書き換え可能なタイミングでフラッシュメモリ５１に書き込まれた全てのデータを一度ＲＡＭ５６へ順次退避させ、データの再書き込みを実施する。ただし、アドレス制御回路５２により、劣化したメモリセルを含むブロックを除外し、メモリセルに異常が検出されていないブロックへデータの書き込みを実施する。また、フラッシュメモリ５１には、データがあふれたことを検知するモニター回路５７が接続されており、データがフラッシュメモリ５１の容量を超えた際には、ＣＰＵ５４へ信号を出力し、メモリセルに異常があることを外部に出力し、半導体装置に不具合がある事が分かるものとする。
【００３１】
なお、フラッシュメモリ５１に再書き込みされたデータを読み出すために、判定結果を修正アドレス保持回路へ格納しておくことが必要であり、データ読み出しの際に修正アドレス保持回路のデータへのアクセスが必要である。修正アドレス保持回路については、実施の形態４で詳しく説明している。
【００３２】
以上のように本実施の形態３によれば、フラッシュメモリ５１のメモリセルが劣化した場合、メモリセルの空き領域をデータとして持たせることなく、劣化したブロック以外の領域へデータを退避させることが可能となり、メモリセルの劣化によるシステム（半導体装置）の誤動作を防止すると共に、フラッシュメモリの信頼性を向上することが可能となる。
【００３３】
（実施の形態４）
図５は、実施の形態４である半導体装置の概略図である。
【００３４】
この半導体装置は、フラッシュメモリ６１、アドレス制御回路６２、検知回路６３、ＣＰＵ６４、修正アドレス保持回路６５、Ｅ／Ｗ制御回路６６、ＲＡＭ６７を備えている。フラッシュメモリ６１は、メモリ領域が複数（ｎ個）のブロックに分割されている。
【００３５】
検知回路６３は、フラッシュメモリ６１のデータを読み出す際に、複数に分割されているフラッシュメモリのデータの書き込みレベルをモニターし、書き込みレベルが変動し誤動作する可能性のあるメモリセル（劣化したメモリセル）を検知するものとする。検知回路６３により、メモリセルの劣化が検知されると、ｎブロックに分割したフラッシュメモリのどのブロックのデータに不具合が発生したか分かるようにｎビットのテーブルデータとしてＣＰＵ６４へ出力する。また、該当ブロックのアドレスを修正アドレス保持回路６５へ格納する。
【００３６】
上記の検知回路６３は、不良のあるブロックの情報を修正アドレス保持回路６５に保存しておいて、データを読み出す際にＣＰＵ６４からアドレス制御回路６２へその情報を出力し退避ブロックの情報を読み出すようにしている。この構成は、先の実施の形態１〜３と同じである。
【００３７】
ＣＰＵ６４は、検知回路６３の出力データを格納し、アドレス制御回路６２とＥ／Ｗ制御回路６６へデータの読出し信号を出力する。該当ブロックのデータは、Ｅ／Ｗ制御回路６６によりＲＡＭ６７へ読み出し保持する。以降、データを読み出す際は、ＣＰＵ６４で修正アドレス保持回路６５に格納しているアドレスと比較をし、一致した場合には、ＲＡＭ６７へ退避したデータを読み出すものとする。ただし、ＲＡＭ６７はバックアップコンデンサを電源として備えており、半導体装置の電源が遮断された際にもデータを保持できるものとする。
【００３８】
上記のアドレス制御回路６２は、ＣＰＵ６４からの情報を基にどのブロックの情報を読み出すか、どのブロックにデータを書き込むかを指定している。全ての実施の形態で、修正アドレス保持回路を持ちそのアドレスのデータを読み出す際には退避領域のデータへアクセスするようになっている。
【００３９】
以上のように本実施の形態４によれば、フラッシュメモリ６１のメモリセルが劣化した場合、ＲＡＭ６７へデータを退避し保持することで、フラッシュメモリ６１に空き領域がない場合においてもデータを退避させることが可能となり、メモリセルの劣化によるシステム（半導体装置）の誤動作を防止すると共に、フラッシュメモリの信頼性を向上することが可能となる。
【産業上の利用可能性】
【００４０】
本発明は、ＥＥＰＲＯＭのメモリセルが劣化し書き込みレベルが変化する事によりシステムが誤動作することを防止できる効果を有し、ＥＥＰＲＯＭを搭載した半導体装置等に有用である。
【図面の簡単な説明】
【００４１】
【図１】本発明の実施形態１の半導体装置のブロック図である。
【図２】本発明の実施形態１における検知回路の構成を示すブロック図である。
【図３】本発明の実施形態２の半導体装置のブロック図である。
【図４】本発明の実施形態３の半導体装置のブロック図である。
【図５】本発明の実施形態４の半導体装置のブロック図である。
【図６】従来の半導体装置のブロック図である。
【符号の説明】
【００４２】
２１、４１、５１、６１  フラッシュメモリ
２２、４２、５２、６２  アドレス制御回路
２３、４３、５３、６３  検知回路
２４、４４、５４、６４  ＣＰＵ
２５、４５、５５、６５  書き換え（Ｅ／Ｗ）制御回路
２６、２７、４６、５６、６７  ＲＡＭ
６５  修正アドレス保持回路
【図１】
2006065384.tif 000003
【図２】
2006065384.tif 000004
【図３】
2006065384.tif 000005
【図４】
2006065384.tif 000006
【図５】
2006065384.tif 000007
【図６】
2006065384.tif 000008