次に、本発明の実施形態について、適宜図面を参照しながら詳細に説明する。
(第1の実施形態)
図1に、本発明の第1の実施形態に係る半導体装置10のブロック図を示す。半導体装置10は、複数の記憶セルをアレイ状に配した記憶セル群1と、複数の記憶セルそれぞれに対する読出し、書込みと記憶状態の劣化に対する補正方法の制御をする動作制御回路2と、記憶セルの制御ゲート電圧やドレイン電圧等の電圧印加を制御する記憶セル印加電圧制御回路3と、記憶セルの劣化状態を判別する記憶セル劣化状態判別回路4と、記憶セルから読出したデータを出力するデータ出力回路5と、動作制御回路2が補正方法を実施する際に使用するデータを取得するために、オペレータが操作可能な外部コンピュータとのデータのやり取りに使用するデータ入出力回路6とを有している。
詳細は後記するが、動作制御回路2は、半導体装置10の動作全般の制御を行い、特に、補正方法の実施においては、通常読出し動作、劣化確認読出し動作、電子の蓄積・消去動作の制御を行う。記憶セル印加電圧制御回路3は、通常読出し動作、劣化確認読出し動作、電子の蓄積・消去動作(補正蓄積または補正消去)における記憶セルへの電圧印加、特に、制御ゲート電圧の制御を行う。記憶セル劣化状態判別回路4は、劣化確認読出し動作で得られた記憶セルからの出力データ(通常読出しデータと劣化検出データ)に基づいて劣化状態か否かを判別し、動作制御回路2へ判別結果をフィードバックする。データ出力回路5は、通常読出し動作で得られた記憶セルの読出し結果(通常読出しデータ)を外部へ出力する。データ入出力回路6を介して、動作制御回路2が補正方法を実施する際に使用するデータが設定され、そのデータは動作制御回路2に支援されながらオペレータが操作可能な外部コンピュータによって設定される。
記憶セル群1に配される記憶セルは、記憶状態を維持できる不揮発性の記憶セルが好適である。不揮発性の記憶セルの代表的な構造としては、MOS電界効果トランジスタの制御ゲートと半導体基板部の間に電子を蓄積できる浮遊ゲートを持つ浮遊ゲートトランジスタ構造が好適である。浮遊ゲートを持たない電界効果トランジスタでは、基板部にあるソースとドレインの間にあるチャネルの導通を制御ゲート電圧により制御できる。チャネルが導通している状態がオン状態であり、チャネルが導通していない状態がオフ状態である。オン状態とオフ状態の境界(閾値)にあたる制御ゲート電圧は一定値をとり、閾値電圧となる。浮遊ゲートトランジスタ構造の場合は、浮遊ゲートに電子が蓄積されると、浮遊ゲート内の電子に起因する電界によって、制御ゲートによってチャネルに形成される電界が打ち消されることから、電子が蓄積されていないときより閾値電圧が高くなる。そして、電子蓄積がない状態での閾値電圧と電子蓄積がある状態での閾値電圧の間に制御ゲート電圧(通常読出し時電圧に相当)を設定すれば、電子蓄積がない状態ではオン状態、電子蓄積がある状態ではオフ状態となる。これより、電子蓄積の有無を識別でき、また、浮遊ゲート内に蓄積された電子は保持できるので、浮遊ゲートトランジスタ構造は記憶セルとして利用できる。
浮遊ゲートへの電子の蓄積と浮遊ゲートからの電子の放出(消去)は、制御ゲートと半導体基板部の間に高電圧を印加することにより行われる。高電圧によるトンネル効果により、電子が制御ゲートと半導体基板部の間の絶縁膜を通過する。半導体基板部よりも制御ゲートの電圧が高いと、電子が浮遊ゲートに蓄積され、半導体基板部よりも制御ゲートの電圧が低いと電子が浮遊ゲートから放出(消去)される。なお、電子蓄積の際に、半導体基板部で高エネルギの電子であるホットエレクトロンを発生させ、ホットエレクトロンを浮遊ゲートへ引き寄せる方式を採用してもよい。
図2に、本発明の第1の実施形態に係る補正方法の前処理方法のフローチャートを示す。前処理方法は、記憶状態の劣化を補正する補正方法の実施に先立って実施される。まず、ステップS11で、動作制御回路2は、複数の記憶セルそれぞれから後記する閾値電圧劣化曲線を取得する支援をし、その閾値電圧劣化曲線を外部記憶装置等に記憶させる。
ここでは、まず、図3を用いて、記憶セルの閾値電圧劣化曲線について説明する。記憶セルへの通常の書き込み動作時においては、記憶状態が蓄積状態である場合には、蓄積状態の初期であるので、制御ゲートの閾値電圧は閾値電圧Vf(▲)に設定される。記憶セル印加電圧制御回路3によって所定の閾値電圧Vfに達するまで電子を蓄積させることで、毎回の蓄積および複数の記憶セル間で同じ蓄積量を蓄積可能にしている。また、記憶セルへの通常の書き込み動作時においては、記憶状態が消去状態である場合には、消去状態の初期であるので、制御ゲートの閾値電圧は閾値電圧Ve(●)に設定される。記憶セル印加電圧制御回路3によって所定の閾値電圧Veに達するまで電子を消去させることで、毎回の消去および複数の記憶セル間で同じ蓄積量までの消去を可能にしている。
浮遊ゲートの蓄積電子保持力が完全で電子の漏れが無ければ、記憶状態は永久に保持されるが、実際には、浮遊ゲートと半導体基板部の間の絶縁膜に漏れる経路があることから、電子蓄積量は時間の経過とともに変化し、図3に示すように閾値電圧(記憶状態)が経時劣化する。図3の上側に示す蓄積状態の閾値電圧劣化曲線において閾値電圧が低下していく現象が、蓄積劣化であり、図3の下側に示す消去状態の閾値電圧劣化曲線において閾値電圧が上昇していく現象が、消去劣化である。
記憶セルでは、通常の読出し動作を行う際の制御ゲート電圧を、未劣化の電子消去状態の閾値電圧Veと、未劣化の電子蓄積状態の閾値電圧Vfの中間にある通常読出し時電圧Vreadという1つの値に設定する。
記憶状態が蓄積状態の場合、記憶セルの浮遊ゲート内の電子蓄積量は、一般的に時間の対数に比例して減少し、閾値電圧もそれに追従して低下する。この閾値電圧の低下が進行すると、やがて通常読出し時電圧Vreadを下回って低下し、消去状態側の閾値電圧(Vth<Vread)になり、記憶セルのオンオフ状態が反転し、消去状態として判別されることで、データ化けが顕在化する。
また、記憶状態が消去状態の場合、記憶セルへの通常読出し時電圧Vreadの印加が継続的に行われていると、記憶セルの浮遊ゲート内の電子蓄積量が、一般的に時間の対数に比例して増加し、閾値電圧もそれに追従して上昇する。この閾値電圧の上昇が進行すると、やがて通常読出し時電圧Vreadを超えて上昇し、蓄積状態側の閾値電圧(Vth>Vread)になり、記憶セルのオンオフ状態が反転し、蓄積状態として判別されることで、データ化けが顕在化する。
このため、ステップS11では、次の処理が行われる。すなわち、まず、動作制御回路2が、オペレータが操作可能な外部コンピュータからの前処理のスタート信号を、データ入出力回路6を介して受信する。スタート信号を受信すると、動作制御回路2は、複数の記憶セルに対して、蓄積状態の初期から、適当な稼働時間毎に、制御ゲート電圧をスキャンして記憶セルがオンオフ反転する電圧を閾値電圧として検出する。同様に、動作制御回路2は、複数の記憶セルに対して、消去状態の初期から、適当な稼働時間毎に、制御ゲート電圧をスキャンして記憶セルがオンオフ反転する電圧を閾値電圧として検出する。これらにより、動作制御回路2は、複数の記憶セルそれぞれから閾値電圧劣化曲線を取得することができ、その閾値電圧劣化曲線を、データ入出力回路6を介して外部記憶装置等に送信し記憶させることができる。
ステップS12は、ステップS11と合わせて実施される。ステップS12で、動作制御回路2は、ステップS11で検出した前記適当な稼働時間毎に、制御ゲートに通常読出し時電圧を印加して、通常読出しを実施し、出力データをデータ出力回路5又はデータ入出力回路6を介して外部記憶装置等に送信し記憶させる。出力データは、稼働時間が大きくなるとデータ化けを起こすので、この出力データに基づいて、オペレータが操作可能な外部コンピュータは、複数の記憶セル毎にデータ化けするまでの稼働時間を取得する。そして、オペレータが操作可能な外部コンピュータは、複数の記憶セル毎にデータ化けするまでの稼働時間の最小値よりも短くなるように、劣化確認時間間隔Tcheckを決定し、データ入出力回路6を介して、動作制御回路2に、補正方法の実施の際に利用可能なように記憶させる。前記によれば、動作制御回路2は、オペレータが操作可能な外部コンピュータによる劣化確認時間間隔Tcheckの決定に対する支援をしていると考えられる。
図4に、ステップS11で取得した複数の記憶セルの閾値電圧劣化曲線の通過する領域を、破線で囲まれた領域として示している。ステップS13では、オペレータが操作可能な外部コンピュータにより、ステップS11で取得した複数の閾値電圧劣化曲線の中から、一部分においてでも最も変化(傾き)の大きくなる(稼動時間帯を有する)閾値電圧劣化曲線を抽出し、外部記憶装置等に記憶させる。図4に、その最も変化が大きい閾値電圧劣化曲線を示している。最も変化が大きい閾値電圧劣化曲線を抽出するのは、後記するステップS20aでの蓄積側補正必要電圧幅VrHを出現可能な最大値に設定でき、ステップS20bでの消去側補正必要電圧幅VrLを出現可能な最大値に設定できるからであり、蓄積側補正必要電圧幅VrHと消去側補正必要電圧幅VrLを不要に大きくすることが無いので、その分の蓄積、消去に要する時間(TrH、TrL)も必要最小限に設定することができる。
ステップS14で、動作制御回路2は、記憶セル印加電圧制御回路3を用いて、複数の記憶セルの制御ゲートに、通常読出し時電圧Vreadを印加させる。そして、オペレータが操作可能な外部コンピュータは、複数の記憶セルの制御ゲートに実際に印加されている電圧を計測・取得し、外部記憶装置等に記憶させる。前記によれば、動作制御回路2は、オペレータが操作可能な外部コンピュータによる複数の通常読出し時電圧Vreadの取得に対する支援をしていると考えられる。
ステップS15で、オペレータが操作可能な外部コンピュータは、取得した複数の通常読出し時電圧Vreadの中から、最大の通常読出し時電圧Vread・Maxと、最小の通常読出し時電圧Vread・minを抽出する。次に、ステップS16aとステップS16bへ進むが、どちらを先に実行しても並列に実行してもかまわない。同様に、ステップS16a〜S21aの一連の処理とステップS16b〜S21bの一連の処理は、どちらを先に実行しても並列に実行してもかまわない。以下では、並列に実行したとして説明する。
ステップS16aで、オペレータが操作可能な外部コンピュータは、マージン電圧VmHを設定し、外部記憶装置に記憶させる。マージン電圧VmHは、図5に示すように、最大の通常読出し時電圧Vread・Maxと、蓄積状態での最も変化が大きい閾値電圧劣化曲線との電圧差のことである。後記する補正方法を実施しているときには、データ化けを起こしたくないので、閾値電圧劣化曲線を、その閾値電圧が最大の通常読出し時電圧Vread・Maxに達するまで右下がりに降下させたくない。そこで、最大の通常読出し時電圧Vread・Maxよりマージン電圧VmH分さらに大きい閾値電圧Vth・minを蓄積状態での閾値電圧劣化曲線の下限(劣化閾値限界電圧Vth・min)として設定している(ステップS17a)。なお、マージン電圧VmHの大きさは、最大の通常読出し時電圧Vread・Maxと最小の通常読出し時電圧Vread・minの差(Vread・Max−Vread・min)の1〜2倍程度とすればよい。
ステップS16bで、オペレータが操作可能な外部コンピュータは、マージン電圧VmLを設定し、外部記憶装置に記憶させる。マージン電圧VmLは、図5に示すように、最小の通常読出し時電圧Vread・minと、消去状態での最も変化が大きい閾値電圧劣化曲線との電圧差のことである。後記する補正方法を実施しているときには、データ化けを起こしたくないので、閾値電圧劣化曲線を、その閾値電圧が最小の通常読出し時電圧Vread・minに達するまで右上がりに上昇させたくない。そこで、最小の通常読出し時電圧Vread・minよりマージン電圧VmL分さらに小さい閾値電圧Vth・Maxを消去状態での閾値電圧劣化曲線の上限(劣化閾値限界電圧Vth・Max)として設定している(ステップS17b)。なお、マージン電圧VmLの大きさは、最大の通常読出し時電圧Vread・Maxと最小の通常読出し時電圧Vread・minの差(Vread・Max−Vread・min)の1〜2倍程度とすればよい。
ステップS18aで、オペレータが操作可能な外部コンピュータは、劣化閾値限界電圧Vth・minから蓄積状態での閾値電圧劣化曲線を、ステップS12で決定した劣化確認時間間隔Tcheckの分だけ逆にたどった時点の閾値電圧を、蓄積劣化検出電圧VchkHとして決定し、データ入出力回路6を介して、動作制御回路2に、補正方法の実施の際に利用可能なように設定・記憶させる。なお、蓄積劣化検出電圧VchkHは、後記する蓄積劣化検出電圧の最大値VchkH・Maxに対応させた蓄積劣化検出電圧の最小値VchkH・minの意味も含めて、VchkH(・min)と記載している。
ステップS18bで、オペレータが操作可能な外部コンピュータは、劣化閾値限界電圧Vth・Maxから消去状態での閾値電圧劣化曲線を、ステップS12で決定した劣化確認時間間隔Tcheckの分だけ逆にたどった時点の閾値電圧を、消去劣化検出電圧VchkLとして決定し、データ入出力回路6を介して、動作制御回路2に、補正方法の実施の際に利用可能なように設定・記憶させる。なお、消去劣化検出電圧VchkLは、後記する消去劣化検出電圧の最小値VchkL・minに対応させた消去劣化検出電圧の最大値VchkL・Maxの意味も含めて、VchkL(・Max)と記載している。
ステップS19aで、オペレータが操作可能な外部コンピュータは、蓄積劣化検出電圧の最大値VchkH・Maxを設定する。蓄積劣化検出電圧の最大値VchkH・Maxは、蓄積劣化検出電圧の最大値VchkH・Maxと蓄積劣化検出電圧の最小値VchkH・minの差(VchkH・Max−VchkH・min)が、最大の通常読出し時電圧Vread・Maxと最小の通常読出し時電圧Vread・minの差(Vread・Max−Vread・min)に、略等しくなる(VchkH・Max−VchkH・min=Vread・Max−Vread・min)ように設定・記憶する。
ステップS19bで、オペレータが操作可能な外部コンピュータは、消去劣化検出電圧の最小値VchkL・minを設定する。消去劣化検出電圧の最小値VchkL・minは、消去劣化検出電圧の最小値VchkL・minと消去劣化検出電圧の最大値VchkL・Maxの差(VchkL・Max−VchkL・min)が、最大の通常読出し時電圧Vread・Maxと最小の通常読出し時電圧Vread・minの差(Vread・Max−Vread・min)に、略等しくなる(VchkL・Max−VchkL・min=Vread・Max−Vread・min)ように設定・記憶する。
ステップS20aで、オペレータが操作可能な外部コンピュータは、蓄積側補正必要電圧幅VrHを設定する。閾値電圧劣化曲線の傾きは、稼働時間が短いときほど大きいので、蓄積劣化補正に必要な電圧幅が最も大きくなるのは、蓄積劣化検出電圧VchkHが蓄積劣化検出電圧の最大値VchkH・Maxであるような記憶セルにおいて、蓄積劣化検出電圧の最大値VchkH・Maxに至る直前で劣化を検出せず、その時点から劣化確認時間間隔Tcheck経過した後の蓄積劣化補正において検出した場合である。その蓄積劣化補正に必要な最大の電圧幅として、補正蓄積必要電圧幅VrHを規定し設定・記憶する。すなわち、図6Aの本発明が指す実線に示すように、蓄積劣化補正の前には、閾値電圧は(VchkH・Max−VrH)なっても、その蓄積劣化補正によって、補正蓄積必要電圧幅VrH分の電子が蓄積されて上昇し、蓄積劣化検出電圧の最大値VchkH・Maxまで劣化の程度を回復させることができる。この蓄積劣化補正に要した電圧印加時間は、蓄積側補正処理実行時間TrHである。蓄積側補正処理実行時間TrHは、通常の書込み時の蓄積状態の初期の閾値電圧Vfまで閾値電圧を上昇させる時間Tw1や、通常の書込み時の消去状態の初期の閾値電圧Veから閾値電圧Vfまで閾値電圧を上昇させる時間Tw0に比べて非常に短く設定でき、処理時間の短縮が可能である。ステップS21aで、オペレータが操作可能な外部コンピュータは、蓄積側補正処理実行時間TrHを決定し、データ入出力回路6を介して、動作制御回路2に、補正方法の実施の際に利用可能なように設定・記憶させる。
ステップS20bで、オペレータが操作可能な外部コンピュータは、消去側補正必要電圧幅VrLを設定する。閾値電圧劣化曲線の傾きは、稼働時間が短いときほど大きいので、蓄積劣化補正に必要な電圧幅が最も大きくなるのは、蓄積劣化検出電圧VchkHが消去劣化検出電圧の最小値VchkL・minであるような記憶セルにおいて、消去劣化検出電圧の最小値VchkL・minに至る直前で劣化を検出せず、その時点から劣化確認時間間隔Tcheck経過した後の消去劣化補正において検出した場合である。その消去劣化補正に必要な最大の電圧幅として、補正消去必要電圧幅VrLを規定し設定・記憶する。すなわち、図6Bの本発明が指す実線に示すように、消去劣化補正の前には、閾値電圧は(VchkL・min+VrL)なっても、その消去劣化補正によって、補正消去必要電圧幅VrL分の電子が消去されて降下し、消去劣化検出電圧の最小値VchkL・minまで劣化の程度を回復させることができる。この消去劣化補正に要した電圧印加時間は、消去側補正処理実行時間TrLである。消去側補正処理実行時間TrLは、通常の書込み時の消去状態の初期の閾値電圧Veまで閾値電圧を降下させる時間Te1や、通常の書込み時の蓄積状態の初期の閾値電圧Vfから閾値電圧Veまで閾値電圧を降下させる時間Te0に比べて非常に短く設定でき、処理時間の短縮が可能である。ステップS21bで、オペレータが操作可能な外部コンピュータは、消去側補正処理実行時間TrLを決定し、データ入出力回路6を介して、動作制御回路2に、補正方法の実施の際に利用可能なように設定・記憶させる。
前記により、補正方法の前処理方法の実施を終了させることができる。この前処理方法により、動作制御回路2に、劣化確認時間間隔Tcheck、蓄積劣化検出電圧(の最小値)VchkH(・min)、消去劣化検出電圧の最大値VchkL(・Max)、蓄積側補正処理実行時間TrH、消去側補正処理実行時間TrLを設定・記憶させ、補正方法の実施の際に利用可能なようにしている。
次に、記憶状態の劣化に対する補正方法を説明する。図7に、その補正方法のフローチャートを示す。この補正方法は、半導体装置10の記憶セル群1へのデータの書き込みが終了するとスタートし、次の書込みがスタートすると終了する。そこで、まず、半導体装置10の記憶セル群1へのデータの書き込みが終了し、この補正方法がスタートしたとする。
スタートすると、ステップS1で、動作制御回路2は、内蔵のタイマを用いて、時間計測をスタートさせ、劣化確認時間間隔Tcheckの時間分を計測する。この劣化確認時間間隔Tcheckの時間計測の間、劣化検出のスタートを待機することになる。なお、初回だけ劣化確認時間間隔Tcheckを、前記前処理方法で設定した劣化確認時間間隔Tcheckより大きく設定してもよい。初回のみ、制御ゲートの閾値電圧Vthが蓄積劣化検出電圧VchkH又は消去劣化検出電圧VchkLに達する時間が他の回に比べて長いからである。
次に、ステップS2で、動作制御回路2は、次の書き込み命令の有無を判定する。次の書き込み命令が有った場合(ステップS2、有り)は、この補正方法を終了させ、次の書き込み命令が無い場合(ステップS2、無し)は、ステップS3へ進む。
ステップS3で、動作制御回路2は、記憶セル印加電圧制御回路3を制御して、劣化確認する記憶セルの制御ゲート電圧を通常読出し時電圧Vreadに設定する。
ステップS4で、動作制御回路2は、読出しフェーズ1として、劣化確認するその記憶セルからの通常の読出しを実施する。具体的には、制御ゲート電圧が通常読出し時電圧Vreadに設定された状態において、その記憶セル(浮遊ゲートトランジスタ構造)が消去蓄積(オンオフ)状態のどちらかかを01判定で判定(検出)する。その記憶セルが蓄積(オフ)状態の場合は、「0」判定を行い、ステップS5aへ進む。その記憶セルが消去(オン)状態の場合は、「1」判定を行い、ステップS5bへ進む。01判定の結果は、記憶セル劣化状態判別回路4へ送信される。
ステップS5aとS5bで、動作制御回路2は、01判定の結果を、通常読出し値として、記憶セル劣化状態判別回路4からデータ出力回路5を経由して外部装置へ、データ出力する。ステップS5aとS5bは省くことが可能であるが、補正方法の実施中に読出し命令があった場合に、これらステップS5aとS5bを実施することで、補正方法の実施を中止することなく読出しを行うことができる。
ステップS5aの後に、ステップS6aで、動作制御回路2は、記憶セル印加電圧制御回路3を制御して、劣化確認の対象とする記憶セルの制御ゲート電圧を、通常読出し時電圧Vreadより高い蓄積劣化検出電圧VchkH(VchkH・min)に設定する。
ステップS5bの後に、ステップS6bで、動作制御回路2は、記憶セル印加電圧制御回路3を制御して、劣化確認の対象とする記憶セルの制御ゲート電圧を、通常読出し時電圧Vreadより低い消去劣化検出電圧VchkL(VchkL・Max)に設定する。
ステップS6aの後に、ステップS7aで、動作制御回路2は、読出しフェーズ2として、劣化確認するその記憶セルからの劣化検出時の読出しを実施する。具体的には、制御ゲート電圧が蓄積劣化検出電圧VchkH(VchkH・min)に設定された状態において、その記憶セル(浮遊ゲートトランジスタ構造)が消去蓄積(オンオフ)状態のどちらかかを01判定で判定(検出)する。その記憶セルが蓄積(オフ)状態の場合は、未劣化(0)判定を行い、ステップS9へ進む。その記憶セルが消去(オン)状態の場合は、劣化(1)判定を行い、ステップS8aへ進む。劣化判定(01判定)の結果は、記憶セル劣化状態判別回路4へ送信される。
ステップS6bの後に、ステップS7bで、動作制御回路2は、読出しフェーズ2として、劣化確認するその記憶セルからの劣化検出時の読出しを実施する。具体的には、制御ゲート電圧が消去劣化検出電圧VchkL(VchkL・Max)に設定された状態において、その記憶セル(浮遊ゲートトランジスタ構造)が消去蓄積(オンオフ)状態のどちらかかを01判定で判定(検出)する。その記憶セルが蓄積(オフ)状態の場合は、劣化(1)判定を行い、ステップS8bへ進む。その記憶セルが消去(オン)状態の場合は、未劣化(0)判定を行い、ステップS9へ進む。劣化判定(01判定)の結果は、記憶セル劣化状態判別回路4へ送信される。
ステップS7aの後に、ステップS8aで、動作制御回路2は、内蔵のタイマを用いて、時間計測をスタートさせ、蓄積側補正処理実行時間TrHの時間分を計測する。そして、動作制御回路2は、時間計測をスタートさせてから蓄積側補正処理実行時間TrHを計測し終えるまでの、いわゆる、蓄積側補正処理実行時間TrHの間、蓄積処理を実行する。蓄積処理では、図8に示すように、蓄積側補正処理実行時間TrHの間、蓄積処理を実行することで、劣化を回復させる方向に閾値電圧Vthを、蓄積側補正必要電圧幅VrH分増加させることができる。
なお、蓄積処理は、動作制御回路2が、記憶セル印加電圧制御回路3を制御して、劣化検出した記憶セルのみに実行される。具体的に、図9Aに示すように、記憶セル群1を構成する記憶セルC11〜C22がNOR型フラッシュメモリである場合に、記憶セルC11のみに(電子)蓄積処理を実行する際には、対象となる記憶セルC11のゲート電圧VGPおよびドレイン電圧VDPを、ホットエレクトロン注入が行われる電圧となるように設定する。記憶セルC11の制御ゲートが接続されているワード線WL1をゲート電圧VGPに設定する。一方、記憶セルC11の制御ゲートが接続されていないワード線WL2は0(ゼロ)Vに設定する。記憶セルC11のドレインが接続されているビット線BL1をドレイン電圧VDPに設定する。一方、記憶セルC11のドレインが接続されていないビット線BL2は0(ゼロ)Vに設定する。
ステップS7bの後に、ステップS8bで、動作制御回路2は、内蔵のタイマを用いて、時間計測をスタートさせ、消去側補正処理実行時間TrLの時間分を計測する。そして、動作制御回路2は、時間計測をスタートさせてから消去側補正処理実行時間TrLを計測し終えるまでの、いわゆる、消去側補正処理実行時間TrLの間、消去処理を実行する。消去処理では、図8に示すように、消去側補正処理実行時間TrLの間、消去処理を実行することで、劣化を回復させる方向に閾値電圧Vthを、消去側補正必要電圧幅VrL分減少させることができる。
なお、消去処理は、動作制御回路2が、記憶セル印加電圧制御回路3を制御して、劣化検出した記憶セルのみに実行される。具体的に、図9Bに示すように、記憶セル群1を構成する記憶セルC11〜C22がNOR型フラッシュメモリである場合に、記憶セルC11のみに(電子)消去処理を実行する際には、対象となる記憶セルC11のゲート電圧VGEおよびドレイン電圧VDEを、トンネル効果により電子消去が行われる電圧となるように設定する。ゲート電圧VGEの絶対値がトンネル効果発生電圧Vtnより大きくなるように設定する(|VGE|>Vtn)。また、ドレイン電圧VDEの絶対値がトンネル効果発生電圧Vtnより大きくなるように設定する(|VDE|>Vtn)。そして、ドレイン電圧VDEとゲート電圧VGEの差がトンネル効果発生電圧Vtnより大きくなるように設定する(VDE−VGE>Vtn)。このように設定することで、他の記憶セルC12等にトンネル効果による電流を発生させない。記憶セルC11の制御ゲートが接続されているワード線WL1をゲート電圧VGEに設定する。一方、記憶セルC11の制御ゲートが接続されていないワード線WL2は0(ゼロ)Vに設定する。記憶セルC11のドレインが接続されているビット線BL1をドレイン電圧VDEに設定する。一方、記憶セルC11のドレインが接続されていないビット線BL2は0(ゼロ)Vに設定する。
ステップS9で、動作制御回路2が、全ての記憶セルで、劣化検出をしたか否かを判定する。全ての記憶セルで劣化検出をした場合は(ステップS9、Yes)、ステップS1へ戻る。まだ、全ての記憶セルで劣化検出をしていない場合は(ステップS9、No)、ステップS10へ進み、まだ、劣化検出をしていない他の記憶セルを抽出し、ステップS2へ戻り、抽出されたその他の記憶セルについて劣化検出が行われることになる。
図10Aに、従来技術の補正方法に要する時間を、構成要素毎の実施順に分けて示し、図10Bに、第1の実施形態の補正方法に要する時間を、構成要素毎の実施順に分けて示している。従来技術の補正方法では、劣化確認読出し時間Treadfと、1ブロック分のデータ退避時間(通常読出し時間)Treadbと、ブロック消去時間Teraceと、ブロック再書込み時間Twriteとが必要になっている。従来技術の補正方法では、劣化確認読出し時間Treadfにおいて、劣化していることがわかると、劣化している記憶セルが含まれている1ブロック分のデータを一旦他のブロックに退避させた後に、劣化している記憶セルが含まれているブロックのデータを消去し、退避させておいたデータに基づいてデータを消去したブロックにデータを再書込みしていた。そのブロックのデータの消去には、図6Bに示した閾値電圧Vfから閾値電圧Veまで低下させるのに要する時間Te0に比例するブロック消去時間Teraceを要していた。また、ブロックへのデータの再書込みには、図6Aに示した閾値電圧Veから閾値電圧Vfまで上昇させるのに要する時間Tw0に比例するブロック再書込み時間Twriteを要していた。
一方、第1の実施形態の補正方法では、劣化確認読出し時間Treadfと、劣化確認セル補正を行う蓄積側補正処理実行時間TrHまたは消去側補正処理実行時間TrLとが必要になっている。本発明の第1の実施形態に係る補正方法では、劣化確認セル補正を行う蓄積側補正処理実行時間TrHまたは消去側補正処理実行時間TrLは、1記憶セルにつき、蓄積側補正処理実行時間TrHと消去側補正処理実行時間TrLのどちらか一方しか必要でない。一方、従来技術の補正方法では、ブロック消去時間Teraceとブロック再書込み時間Twriteの両方が必要になっている。このため、本発明の第1の実施形態に係る補正方法では、従来技術の補正方法に比べて、短時間で補正方法を実施することができる。
また、図6Aに示すように、蓄積側補正処理実行時間TrHは、従来技術の補正方法において、ブロック再書込み時間Twriteに比例し閾値電圧Veから閾値電圧Vfまで上昇させるのに要する時間Tw0より短くなっている。このため、本発明の第1の実施形態に係る補正方法では、従来技術の補正方法に比べて、短時間で補正方法を実施することができる。同様に、図6Bに示すように、消去側補正処理実行時間TrLは、従来技術の補正方法において、ブロック消去時間Teraceに比例し閾値電圧Vfから閾値電圧Veまで低下させるのに要する時間Te0より短くなっている。このため、本発明の第1の実施形態に係る補正方法では、従来技術の補正方法に比べて、短時間で補正方法を実施することができる。また、補正方法が高速に実施できることから、記憶セル群(記憶装置)1が大容量になってもデータの確認周期を減じることなく処理が可能となり、記憶セル群(記憶装置)1のデータ保持信頼性の安定した維持ができる。
(第2の実施形態)
図11に、本発明の第2の実施形態に係る半導体装置10のブロック図を示す。第2の実施形態の半導体装置10が、第1の実施形態の半導体装置10と異なっている点は、記憶セル劣化状態判別回路4が、通常読出し値ラッチ4aと、出力値比較回路4bとを有している点である。そして、これに伴い、通常読出し値ラッチ4aから、動作制御回路2へ、通常読出し値が送信され、出力値比較回路4bから、動作制御回路2へ、劣化判定信号が送信されている。
通常読出し値ラッチ4aは、記憶セル群1からの通常読出し値(データ)を、データ出力回路5へ出力するだけでなく、記憶・保持する。そして、通常読出し値ラッチ4aは、記憶・保持する通常読出し値を、動作制御回路2と出力値比較回路4bへ出力する。
出力値比較回路4bは、劣化検出データと通常読出し値とを比較し、その比較の結果を劣化判定信号として出力している。
図12に、本発明の第2の実施形態に係る補正方法のフローチャートを示す。第2の実施形態の補正方法のフローチャートでは、図7の第1の実施形態の補正方法のフローチャートには記載したステップS1、S2、S9、S10の記載を、理解を容易にするために省いている。すなわち、第2の実施形態の補正方法のステップS4(S3含む)の前に、第1の実施形態の補正方法のステップS1とS2を実施してよく、第2の実施形態の補正方法のステップS8aとS8bの後に、第1の実施形態の補正方法のステップS9とS10を実施してよい。また、第1と第2の実施形態の補正方法のフローチャートにおいて、実施内容の等しいステップには同じステップ番号を付し、類似のステップにはステップ番号の数字を同じにしてaまたはbの添え字を付している。
第2の実施形態の補正方法では、ステップS4で、読出しフェーズ1として、劣化確認するその記憶セルの制御ゲート電圧を通常読出し時電圧Vreadに設定し、その記憶セルからの通常の読出しを実施する。第2の実施形態のステップS4は、第1の実施形態のステップS3とS4を含んでいると考えられる。読み出された通常読出し値(フェーズ1読出値)は、通常読出し値ラッチ4aに記憶・保持される。読み出された通常読出し値は、記憶セルが蓄積状態であれば「0」となり、消去状態であれば「1」となる。
ステップS5で、動作制御回路2は、01の通常読出し値を、記憶セル劣化状態判別回路4の通常読出し値ラッチ4aからデータ出力回路5を経由して外部装置へデータ出力する。
ステップS4aで、動作制御回路2は、通常読出し値ラッチ4aから01の通常読出し値を受信し、その通常読出し値、いわゆるフェーズ1読出値が「1」であるか「0」であるかの判定を行う。フェーズ1読出値が「0」である場合は、その記憶セルが蓄積(オフ)状態であるので、ステップS6aへ進む。フェーズ1読出値が「1」である場合は、その記憶セルが消去(オン)状態であるので、ステップS6bへ進む。
ステップS6aで、動作制御回路2は、記憶セル印加電圧制御回路3を制御して、劣化確認の対象とする記憶セルの制御ゲート電圧を、通常読出し時電圧Vreadより高い蓄積劣化検出電圧VchkH(VchkH・min)に設定する。
ステップS6bで、動作制御回路2は、記憶セル印加電圧制御回路3を制御して、劣化確認の対象とする記憶セルの制御ゲート電圧を、通常読出し時電圧Vreadより低い消去劣化検出電圧VchkL(VchkL・Max)に設定する。
ステップS7で、動作制御回路2は、読出しフェーズ2として、劣化確認するその記憶セルからの劣化検出時の読出しを実施する。具体的には、制御ゲート電圧が蓄積劣化検出電圧VchkH(VchkH・min)または消去劣化検出電圧VchkL(VchkL・Max)に設定された状態において、その記憶セル(浮遊ゲートトランジスタ構造)のオン(1)オフ(0)状態のどちらかかを読み出す。その記憶セルがオフ状態の場合は、「0」を読み出し、その記憶セルがオン状態の場合は、「1」を読み出す。読み出されたこれら01のフェーズ2読出値(劣化検出データ)は、記憶セル劣化状態判別回路4の出力値比較回路4bへ出力される。
ステップS31で、出力値比較回路4bは、記憶セル群1から読み出されたフェーズ2読出値と、通常読出し値ラッチ4aに記憶・保持されているフェーズ1読出値とを比較する。フェーズ2読出値とフェーズ1読出値とが一致している場合は、未劣化であると判定し、未劣化である旨の劣化判定信号を、動作制御回路2へ送信し、補正方法を終了させる。フェーズ2読出値とフェーズ1読出値とが不一致の場合は、劣化していると判定し、劣化している旨の劣化判定信号を、動作制御回路2へ送信する。なお、フェーズ2読出値とフェーズ1読出値とが一致している場合とは、図8で、制御ゲートの閾値電圧が、蓄積状態において蓄積劣化検出電圧VchkHを超えているか、消去状態において消去劣化検出電圧VchkL未満になっている場合である。一方、フェーズ2読出値とフェーズ1読出値とが不一致である場合とは、制御ゲートの閾値電圧が、蓄積状態において蓄積劣化検出電圧VchkH以下か、消去状態において消去劣化検出電圧VchkLを超えている場合である。
ステップS32で、動作制御回路2は、通常読出し値ラッチ4aからフェーズ1読出値(通常読出し値)を受信し、フェーズ1読出値が「1」であるか「0」であるかの判定を行う。フェーズ1読出値が「0」である場合は、その記憶セルが蓄積(オフ)状態であるので、ステップS8aへ進み、(補正)蓄積処理を実施する。フェーズ1読出値が「1」である場合は、その記憶セルが消去(オン)状態であるので、ステップS8bへ進み、(補正)消去処理を実施する。ステップS8aの(補正)蓄積処理と、ステップS8bの(補正)消去処理とは、第1の実施形態のステップS8aの蓄積処理とステップS8bの消去処理と同様に実行できるので、迅速な補正が可能である。
(第3の実施形態)
図13に、本発明の第3の実施形態に係る半導体装置10のブロック図を示す。第3の実施形態の半導体装置10が、第1の実施形態の半導体装置10と異なっている点は、記憶セル劣化状態判別回路4が、出力電流レベル確認回路4cと、劣化状態判別回路4dとを有している点である。そして、これに伴い、劣化状態判別回路4dから、動作制御回路2へ、劣化判定信号が送信されている。第3の実施形態の半導体装置10では、記憶セルの記憶状態と劣化状態を電流レベルとして読出し、記憶状態を表す通常読出し値(通常読出しデータ)と、劣化状態を表す劣化判別情報とを、同時に1回で読出しできる。また、劣化判定信号には劣化有無と補正方向(蓄積か消去か)の2つの情報を含めている。
図14Aに、記憶セル(トランジスタ)における、電子蓄積量(実効ゲート電圧)の違いによるドレイン−ソース間の電圧Vds−電流Ids特性を示す。記憶セル(トランジスタ)は実効ゲート電圧が高いほどドレイン−ソース間電流Idsが大きくなる特性を持つ。記憶セル(トランジスタ)の場合は、浮遊ゲートに蓄積電子があると蓄積電子からの電界によりゲート−半導体基板間の電界が弱められるので、制御ゲートに印加する電圧を一定にすると、浮遊ゲートの電子蓄積量が多いほど実効ゲート電圧が低くなり、電子蓄積量が多いほどドレイン−ソース間電流Idsが少なくなる特性を示す。これより、ドレイン−ソース間電流Idsは、正常消去状態、劣化消去状態、劣化蓄積状態、正常蓄積状態それぞれに対応した電流範囲を有し、それらの電流範囲の電流値はそれらの状態の並びの順に小さくなる。このことから、ドレイン−ソース間電流Idsがどの状態の電流範囲に属するのかを確認することで、記憶セルの記憶状態が蓄積側か消去側かの確認と、その記憶状態が劣化しているか否かの確認を同時にできる。
図14Bに、ドレイン−ソース間電流Idsの電流レベルを検出するための出力電流レベル確認回路4cを示す。記憶セルCのドレイン側に、負荷抵抗Rと、電圧比較機能を持つ増幅回路(コンパレータ)COM1〜COM3を3回路接続している。記憶セルCに負荷抵抗Rを接続すると、記憶セルCのドレイン−ソース間の出力電圧(Vds−Ids・R)は、ドレイン−ソース間電流Idsの電流レベルに対応した、すなわち、正常消去状態、劣化消去状態、劣化蓄積状態、正常蓄積状態のいずれかの状態に対応したドレイン−ソース間の出力電圧(Vds−Ids・R)へ変換される。蓄積・消去のどちら寄りの状態かを判別するためのレベルとして、蓄積状態と消去状態の中間点にVck2を設定する。正常または劣化の蓄積状態では、ドレイン−ソース間出力電圧(Vds−Ids・R)はVck2よりも常に高く、正常または劣化の消去状態では、ドレイン−ソース間出力電圧(Vds−Ids・R)はVck2よりも常に低い。よって、電圧比較機能を持つ増幅回路COM2を用いて、ドレイン−ソース間出力電圧(Vds−Ids・R)をVck2と比較することで、蓄積と消去を区別し確認できる。このVck2による比較・確認値Out2は、蓄積状態において「1」を、消去状態において「0」を出力し、そのまま通常読出しデータの出力として使えるだけでなく、劣化状態判別回路4dへ送信される。
次に、劣化蓄積状態と正常蓄積状態の境界のドレイン−ソース間出力電圧(Vds−Ids・R)をVck1とすると、正常蓄積状態のドレイン−ソース間出力電圧(Vds−Ids・R)はVck1よりも高くなるが、劣化蓄積状態のドレイン−ソース間出力電圧(Vds−Ids・R)は、Vck1と同じか低くなる。よって、電圧比較機能を持つ増幅回路COM1を用いてドレイン−ソース間出力電圧(Vds−Ids・R)をVck1と比較することで、蓄積状態における劣化の有無を確認できる。このVck1による比較・確認値Out1は、蓄積状態における正常(未劣化)状態において「1」を、蓄積状態における劣化状態において「0」を出力し、劣化状態判別回路4dへ送信される。
また、正常消去状態と劣化消去状態の境界のドレイン−ソース間出力電圧(Vds−Ids・R)をVck3とすると、劣化消去状態のドレイン−ソース間出力電圧(Vds−Ids・R)はVck3よりも高くなるが、正常消去状態のドレイン−ソース間出力電圧(Vds−Ids・R)は、Vck3と同じか低くなる。よって、電圧比較機能を持つ増幅回路COM3を用いてドレイン−ソース間出力電圧(Vds−Ids・R)をVck3と比較することで、消去状態における劣化の有無を確認できる。このVck3による比較・確認値Out3は、消去状態における正常(未劣化)状態において「0」を、消去状態における劣化状態において「1」を出力し、劣化状態判別回路4dへ送信される。
なお、比較・確認値Out2は、消去状態が「0」、蓄積状態が「1」となっているが、第1と第2の実施形態と一般的な不揮発性半導体記憶装置では、消去状態を「1」、蓄積状態を「0」としているので、これらに合わせる場合は、電圧比較機能を持つ増幅回路(コンパレータ)COM1〜COM3の出力端子それぞれに、論理否定回路を接続し、論理否定回路の出力を、新たに比較・確認値Out1、Out2、Out3とすればよい。
図14Cに、出力電流レベル確認回路4cの出力値である比較・確認値Out1、Out2、Out3と、記憶セルCの記憶状態である4つの正常消去状態、劣化消去状態、劣化蓄積状態、正常蓄積状態とが関係付けられた表(マップ)を示す。劣化状態判別回路4dは、このマップを記憶しておき、このマップに基づいて、比較・確認値Out1、Out2、Out3に応じた記憶状態(正常消去状態、劣化消去状態、劣化蓄積状態、正常蓄積状態)を決定し、劣化判定信号として、動作制御回路2へ送信する。
動作制御回路2は、劣化判定信号を受信すると、劣化判定信号が正常消去状態を示していれば補正処理を実施せず、劣化判定信号が劣化消去状態を示していれば補正消去処理を実施し、劣化判定信号が劣化蓄積状態を示していれば補正蓄積処理を実施し、劣化判定信号が正常蓄積状態を示していれば補正処理を実施しない。
図15に、第3の実施形態の半導体装置10の実施する補正方法のフローチャートを示す。第3の実施形態の補正方法のフローチャートも、第2の実施形態の補正方法のフローチャートと同様に、ステップS1、S2、S9、S10の記載を省いている。第1と第3の実施形態の補正方法のフローチャートにおいて、実施内容の等しいステップには同じステップ番号を付し、類似のステップにはステップ番号の数字を同じにしてaまたはbの添え字を付している。
第3の実施形態の補正方法では、ステップS4bで、動作制御回路2が、記憶セル印加電圧制御回路3を制御して、劣化確認する記憶セルCの制御ゲート電圧を通常読出し時電圧Vread等の一定の所定値に設定し、その記憶セルCのドレイン電圧を一定の所定値に設定する。そして、出力電流レベル確認回路4cが、その記憶セルC(記憶セル群1)から比較・確認値Out1、Out2、Out3を読出し・取得する。比較・確認値Out2を読出し・取得したことは、いわゆる通常読出し値を読み出したことになる。さらに、劣化状態判別回路4dは、図14Cのマップに基づいて、比較・確認値Out1、Out2、Out3に応じた記憶(劣化)状態(正常消去状態、劣化消去状態、劣化蓄積状態、正常蓄積状態)を決定し、劣化判定信号として、動作制御回路2へ送信する。
ステップS5で、動作制御回路2は、比較・確認値Out2を通常読出し値(データ)として、記憶セル劣化状態判別回路4の出力電流レベル確認回路4cからデータ出力回路5を経由して外部装置へデータ出力する。
ステップS7aで、動作制御回路2は、劣化判定信号が劣化蓄積状態を示していれば、ステップS8aに進んで、(補正)蓄積処理を実施し、劣化判定信号が劣化蓄積状態を示していなければ、すなわち、正常消去状態、劣化消去状態、正常蓄積状態を示していれば、ステップ7bに進む。
ステップS7bで、動作制御回路2は、劣化判定信号が劣化消去状態を示していれば、ステップS8bに進んで、(補正)消去処理を実施し、劣化判定信号が劣化消去状態を示していなければ、すなわち、正常消去状態、正常蓄積状態を示していれば、第3の実施形態の補正方法を終了させる。ステップS8aの(補正)蓄積処理と、ステップS8bの(補正)消去処理とは、第1の実施形態のステップS8aの蓄積処理とステップS8bの消去処理と同様に実行できるので、迅速な補正が可能である。
(第4の実施形態)
図16Aに、本発明の第4の実施形態に係る半導体装置10のブロック図を示す。第4の実施形態の半導体装置10は、プログラムを記憶している不揮発性メモリ7と、時間を計測するタイマ8と、前記プログラムを読み込んで、タイマ8で計られる時間に応じたタイミングで前記プログラムを実行する演算装置9と、この実行に必要な入力データと実行結果の出力データを入出力させるI/Oポート11を有している。不揮発性メモリ7と演算装置9とI/Oポート11は、バスで相互に接続されている。このような構成を持つ半導体装置10としては、小型マイコン等がある。小型マイコン等の半導体装置10では、通常はI/Oポート11で入出力する入出力データしか外部から操作することができないので、不揮発性メモリ7の記憶劣化の補正を実施することは困難である。そこで、第4の実施形態の半導体装置10では、外部からのアクセスなしで、不揮発性メモリ7の記憶劣化の補正を可能にしている。
具体的には、不揮発性メモリ7は、第1の実施形態の(図1の)記憶セル群1と記憶セル印加電圧制御回路3を有し、第1の実施形態の(図7の)補正方法のプログラムが書き込まれ、劣化セル検出補正機能付きになっている。このため、演算装置9が、補正方法のプログラムを読み込むと、第1の実施形態の(図1の)動作制御回路2と記憶セル劣化状態判別回路4として機能し、I/Oポート11はデータ出力回路5として機能する。なお、第1の実施形態の(図1の)データ入出力回路6は、第4の実施形態の半導体装置10では持ち得ないので、第1の実施形態の図2の補正方法の前処理方法を、第4の実施形態の半導体装置10で実施することができない。そこで、劣化確認時間間隔Tcheck、蓄積劣化検出電圧(の最小値)VchkH(・min)、消去劣化検出電圧の最大値VchkL(・Max)、蓄積側補正処理実行時間TrH、消去側補正処理実行時間TrLは、予め決定し、補正方法のプログラムといっしょに不揮発性メモリ7に記憶しておき、補正方法の実施の際に利用可能なようにしている。これによれば、例えば、劣化確認時間間隔Tcheckの時間経過毎に、劣化した記憶セルを検出することになるので、使用者が意識することなく定期的な補正処理ができる。
(第5の実施形態)
図16Bに、本発明の第5の実施形態に係る半導体装置10のブロック図を示す。第5の実施形態の半導体装置10は、不揮発性メモリにて論理情報を記憶しておきこの論理情報に基づいて論理演算を行う論理セルアレイ12と、この論理演算に必要な入力データと演算結果の出力データを入出力させるI/Oバッファ15と、時間を計測するタイマ14と、タイマ14で計られる時間に応じたタイミングで論理セルアレイ12の不揮発性メモリの劣化検出(読出し)と補正を実行する劣化検出読出・補正回路13とを有している。このような構成を持つ半導体装置10としては、不揮発性半導体記憶装置を論理回路構成に使用するプログラマブルロジックアレイ等がある。プログラマブルロジックアレイ等の半導体装置10では、通常はI/Oバッファ15で入出力する入出力データしか外部から操作することができないので、論理セルアレイ12の記憶劣化の補正を実施することは困難である。そこで、第5の実施形態の半導体装置10では、外部からのアクセスなしで、論理セルアレイ12の記憶劣化の補正を可能にしている。
具体的には、論理セルアレイ12は、第1の実施形態の(図1の)記憶セル群1に対応し、I/Oバッファ15はデータ出力回路5に対応している。劣化検出読出・補正回路13が、動作制御回路2と記憶セル印加電圧制御回路3と記憶セル劣化状態判別回路4とを有している。また、劣化確認時間間隔Tcheck、蓄積劣化検出電圧(の最小値)VchkH(・min)、消去劣化検出電圧の最大値VchkL(・Max)、蓄積側補正処理実行時間TrH、消去側補正処理実行時間TrLは、予め決定し、劣化検出読出・補正回路13に記憶させておき、補正方法の実施の際に利用可能なようにしている。これによれば、例えば、劣化確認時間間隔Tcheckの時間経過毎に、劣化した記憶セルを検出することになるので、使用者が意識することなく定期的な補正処理ができる。