[go: up one dir, main page]

JP3941149B2 - 半導体不揮発性記憶装置 - Google Patents

半導体不揮発性記憶装置 Download PDF

Info

Publication number
JP3941149B2
JP3941149B2 JP05576997A JP5576997A JP3941149B2 JP 3941149 B2 JP3941149 B2 JP 3941149B2 JP 05576997 A JP05576997 A JP 05576997A JP 5576997 A JP5576997 A JP 5576997A JP 3941149 B2 JP3941149 B2 JP 3941149B2
Authority
JP
Japan
Prior art keywords
data
memory cells
error
program
memory
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.)
Expired - Lifetime
Application number
JP05576997A
Other languages
English (en)
Other versions
JPH10222995A (ja
Inventor
謙士朗 荒瀬
昌敬 野田
寿伸 杉山
唯八 内貴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP05576997A priority Critical patent/JP3941149B2/ja
Priority to US08/975,712 priority patent/US5920502A/en
Publication of JPH10222995A publication Critical patent/JPH10222995A/ja
Priority to US09/234,848 priority patent/US6046939A/en
Priority to US09/234,834 priority patent/US6002612A/en
Application granted granted Critical
Publication of JP3941149B2 publication Critical patent/JP3941149B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、電気的にデータのプログラムが可能な半導体不揮発性記憶装置に係り、特にデータプログラムおよび消去の高速化に関するものである。
【0002】
【従来の技術】
NAND型フラッシュメモリ、DINOR型フラッシュメモリ等の半導体不揮発性記憶装置においては、選択するワード線に接続されたすべてのメモリセル一括にデータプログラムが行われる。
すなわち、ワード線単位でページプログラムが行われる。
【0003】
図7(a)、図7(b)は、それぞれNAND型、DINOR型フラッシュメモリにおける、メモリアレイ構造を示す図である。
【0004】
図7(a)は、便宜上、1本のビット線に接続されたNAND列1本に4個のメモリセルが接続された場合のNAND型フラッシュメモリアレイを示す図である。
図7(a)において、BLはビット線を示し、ビット線BLに2個の選択トランジスタタST1〜ST2、および4個のメモリセルMT1〜MT4が直列接続されたNAND列が接続されている。
選択トランジスタタST1〜ST2はそれぞれ選択ゲート線SL1,SL2により制御され、またメモリセルMT1〜MT4はそれぞれワード線WL1〜WL4により制御される。
【0005】
図7(b)は、便宜上、1本の主ビット線に接続された副ビット線1本に4個のメモリトランジスタが接続された場合のDINOR型フラッシュメモリアレイを示す図である。
図7(b)において、MBLは主ビット線、SBLは副ビット線をそれぞれ示し、主ビット線MBLおよび副ビット線SBLは、選択ゲート線SLにより制御される選択トランジスタST1を介して作動的に接続される。
副ビット線SBLは、4本のワード線WL1〜WL4と交差し、各交差位置には4個のメモリセルMT1〜MT4が配置されている。
【0006】
また、NOR型フラッシュメモリ等の半導体不揮発性記憶装置においては、データの書き換えは、所定のブロック単位(たとえば64Kバイト程度)でデータの消去を行った後、当該消去ブロックのメモリセルに対してデータプログラムが行われる。
【0007】
図8は、一般的なNOR型フラッシュメモリにおける、メモリアレイ構造およびデータ消去時のバイアス条件を示す図である。
【0008】
図8のNOR型フラッシュメモリにおいては、便宜上、4本のワード線WL1〜WL4と4本のビット線BL1〜BL4との格子位置にメモリセルMT11〜MT44がマトリクス配置されている。
【0009】
次に、図8のNOR型フラッシュメモリにおいて、データ消去動作について説明する。
データ消去は、図8に示すように、消去ブロックメモリアレイ内のすべてのワード線WL1〜WL4を接地レベル(0V)に、すべてのビット線BL1〜BL4をフローティング状態とし、共通ソース線VSSに高電圧(たとえば12V)の消去電圧パルスを印加する。
その結果、データプログラム時に各メモリセルに蓄積されていた電子がソース側からトンネル電流により引き抜かれて、各メモリセルのしきい値電圧Vthは、データプログラム状態の6V〜7Vから消去状態の2V〜3Vに遷移する。
【0010】
【発明が解決しようとする課題】
ところで、上述したNAND型、DINOR型フラッシュメモリ等のようなワード線セクタを単位としたページプログラムを行う半導体不揮発性記憶装置においては、データのプログラムは選択ワード線に接続されたすべてのメモリセル一括にデータプログラムを行う。
しかし、選択ワード線に接続された各メモリセルは、製造プロセスに起因するサイズ等のバラツキのため、それぞれプログラム速度に差が生じる。
【0011】
図9は上述した各選択ワード線に接続されたメモリセル間のプログラム速度の差を示す図である。
図9において、横軸はtPROG(プログラム時間)、すなわち各メモリセルのプログラム必要時間を表わしている。
また、縦軸はN(メモリセル個数)、すなわち横軸tPROG(プログラム時間)に対応したメモリセル個数の分布頻度を表わしている。
【0012】
図9に示すように、NAND型フラッシュメモリ等のようなワード線セクタを単位としたページプログラムを行う半導体不揮発性記憶装置においては、メモリセル間でプログラム必要時間tPROGに分布が生じる。
このようなプログラム速度のバラツキを考慮して、一般的なNAND型フラッシュメモリ等においては、プログラム時のしきい値電圧Vthの分布を狭く抑える観点から、プログラム動作がベリファイ動作を介して行われ、かつ当該プログラム/ベリファイ動作をプログラム終了メモリセルから順次プログラム禁止にしてすべてのメモリセルのプログラムが終了するまで繰り返し行う、いわゆるビット毎ベリファイ動作が行われる。
【0013】
ところが図9に示すように、一般的なメモリセルの場合、プログラム必要時間tPROGは図中t0であるが、プロセス等のバラツキ要因から非常に長いプログラム必要時間tPROG、たとえば図中t1以上を要するメモリセルがごくまれに存在する場合がある。
このような場合、ごくまれに存在するプログラムの遅いメモリセルのために、上述したプログラム/ベリファイ動作の回数も、たとえば100回以上と非常に多くなり、その結果、ページプログラムを終了するのに要する時間も非常に長くなる。
【0014】
図10は、かかる従来のNAND型フラッシュメモリ等のようなワード線セクタを単位としたページプログラムを行う半導体不揮発性記憶装置における、データプログラム時のシーケンスフローを示す図である。
以下、図6のシーケンスフローについて、順を追って説明する。
【0015】
ステップステップSF1でデータプログラムが開始され、最初にステップSF2でページプログラムデータがメモリアレイ内の各ビット線毎に設けられたデータラッチ回路に転送される。
次に、ステップSF3でプログラムベリファイ回数Kが0にリセットされ、プログラムパルスを印加するプログラム動作(ステップSF4)、およびベリファイ読み出し後に再プログラムデータを自動設定するベリファイ読み出し動作(ステップSF5)が連続して行われる。
次に、ステップSF6ですべてのメモリセルのプログラムが終了したかどうかの終点検出が、再プログラムデータ内に少なくとも1個以上のプログラム未終了メモリセルが残っているか否かを調べることにより行われる。
【0016】
その結果、全ビットプログラム終了の終点検出ができた場合には、データプログラムを完了する(ステップSF9)。
一方、全ビットプログラム終了の終点検出ができなかった場合には、さらにプログラムベリファイ回数Kがインクリメントされ(ステップSF7)、Kが予め設定された所定回数k0(たとえば100回程度)未満であるかどうかが調べられる(ステップSF8)。
そしてKがk0未満である場合には、上述したステップSF4〜ステップSF8のシーケンスフローが繰り返し行われ、Kがk0に到達した時点でデータプログラム失敗と判断される(ステップSF10)。
【0017】
この所定のプログラムベリファイ回数K0は、ごくまれに存在するプログラムの遅いメモリセルのために、従来のNAND型フラッシュメモリ等の場合たとえば100回以上と非常に多くなり、その結果、ページプログラムを終了するのに要する時間も非常に長くなっていた。
【0018】
また、上述したNOR型フラッシュメモリ等のような半導体不揮発性記憶装置においては、データの書き換えは、所定のブロック単位(たとえば64Kバイト程度)でデータ消去を行った後、当該ブロック単位でデータプログラムを行う。しかし、消去ブロック単位内の各メモリセルは、製造プロセスに起因するサイズ等のバラツキのため、それぞれ消去速度に差が生じる。
【0019】
図11は上述した消去ブロック内のメモリセル間の消去速度の差を示す図である。
図11において、横軸はterase(消去時間)、すなわち各メモリセルの消去必要時間を表わしている。
また、縦軸はN(メモリセル個数)、すなわち横軸terase(消去時間)に対応したメモリセル個数の分布頻度を表わしている。
【0020】
図11に示すように、NOR型フラッシュメモリ等のような所定のブロック単位でデータ消去を行う半導体不揮発性記憶装置においては、メモリセル間で消去必要時間teraseに分布が生じる。
このような消去速度のバラツキを考慮して、一般的なNOR型フラッシュメモリにおいては、消去動作がベリファイ動作を介して行われ、かつ当該消去/ベリファイ動作を消去ブロック内のすべてのメモリセルのデータ消去が終了するまで繰り返し行われる。
【0021】
ところが図11に示すように、一般的なメモリセルの場合、消去必要時間teraseは図中t0であるが、プロセス等のバラツキ要因から非常に長い消去必要時間terase、たとえば図中t1以上を要するメモリセルがごくまれに存在する場合がある。
このような場合、ごくまれに存在する消去の遅いメモリセルのために、上述した消去/ベリファイ動作の回数も、たとえば100回〜1000回以上と非常に多くなり、その結果、消去動作を終了するのに要する時間も非常に長くなり、ひいてはデータの書き換えに要する時間も長くなる。
さらに、ごくまれに存在する消去の遅いメモリセルのために消去/ベリファイ動作の回数が非常に多くなると、消去の速いメモリセルが過剰消去されて当該メモリセルのしきい値電圧Vthがデプレーション状態(Vth<0)となって、誤動作の原因となる。
【0022】
図12は、かかる従来のNOR型フラッシュメモリ等のような所定のブロック単位でデータの書き換えを行う半導体不揮発性記憶装置における、データ消去およびその後のデータプログラム時のシーケンスフローを示す図である。
以下、図12のシーケンスフローについて、順を追って説明する。
【0023】
ステップSF21でデータ消去が開始され、ステップSF22で消去ベリファイ回数Kを最初の1に設定して消去パルスを印加する消去動作(ステップSF23)、およびベリファイ読み出し動作(ステップSF24)が連続して行われる。
ステップSF24のベリファイ読み出し動作の結果、ブロック内のすべてのメモリセルの消去終了の終点検出ができた場合には(ステップSF25)、データ消去を完了して、ステップSF101のデータプログラム動作が開始される。
【0024】
一方、ステップSF24のベリファイ読み出し動作の結果、ブロック内のすべてのメモリセルの消去終了の終点検出ができなかった場合には(ステップSF25)、ステップSF26において、消去ベリファイ回数Kがあらかじめ設定された所定回数K0(たとえば100〜1000回程度)未満であるか否かが調べられる。
その結果、消去ベリファイ回数Kが設定回数K0未満である場合には、さらに消去ベリファイ回数Kがインクリメントされて(ステップSF27)、上述したステップSF23〜SF27のシーケンスフローが繰り返し行われる。そして、消去ベリファイ回数Kが設定回数K0に到達した時点でデータ消去失敗と判断される(ステップSF28)。
【0025】
次に、ブロック内のすべてのメモリセルの消去終了の終点検出ができた場合には、引き続いてデータプログラムが開始される。
まず、ステップSF101でメモリセルのアドレス番地Ar−NOを最初の1に設定して、当該メモリセルに対してデータ内容に応じてデータプログラムが行われ(ステップSF102)、アドレス番地Ar−NOが最終アドレス番地があるか否かが調べられる(ステップSF103)。
その結果、アドレス番地Ar−NOが最終アドレス番地でない場合には、さらにアドレス番地Ar−NOがインクリメントされて(ステップSF104)、上述したステップSF102〜SF104のシーケンスフローが繰り返し行われる。そして、アドレス番地Ar−NOが最終アドレス番地に到達した時点でデータプログラムが完了する(ステップSF105)。
【0026】
上述したシーケンスフローにおいて、所定の消去ベリファイ回数K0は、ごくまれに存在する消去の遅いメモリセルのために、従来のNOR型フラッシュメモリ等の場合たとえば100回〜1000回程度と非常に多くなり、その結果、消去動作を終了するのに要する時間も非常に長くなり、ひいてはデータの書き換えに要する時間も長くなっていた。
さらには、上記消去の遅いメモリセルのために消去の速いメモリセルが過剰消去されて、誤動作の原因となっていた。
【0027】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、データプログラムおよびデータ消去を高速に行うことができ、データの書き換えを高速に行うことが可能で、さらには過剰消去メモリセルの発生を防止でき、信頼性の向上を図れる半導体不揮発性記憶装置を提供することにある。
【0028】
【課題を解決するための手段】
上記目的を達成するため、本発明は、電気的にデータの処理が行われるメモリセルがマトリクス配置された半導体不揮発性記憶装置であって、複数ビットデータ内に所定個数以内のエラービットが存在する場合に当該エラービットを訂正するエラー訂正手段と、前記複数ビットデータを単位としたデータの処理を当該複数単位のメモリセルに対して行い、チェック信号を受けると当該データ処理未終了メモリセルの個数を計数する手段と、所定回数のデータ処理を繰り返し行った後に一括終点検出を行い、当該検出の結果、データ処理未終了メモリセルがあると前記チェック信号を出力してデータ処理未終了メモリセルの個数を計数させ、前記データ処理未終了メモリセルの個数が前記所定個数以内である場合に、当該データ処理未終了メモリセルを残したままデータの処理を終了し、当該データ処理未終了メモリセルを前記エラー訂正手段に救済させる手段とを備えている。
【0029】
また、本発明は、電気的にデータのプログラムが行われるメモリセルがマトリクス配置された半導体不揮発性記憶装置であって、複数ビットデータを単位としてデータの読み出しを行い、当該複数ビットデータ内に所定個数以内のエラービットが存在する場合に当該エラービットを訂正するエラー訂正手段と、前記複数ビットデータを単位としたデータプログラムを当該複数単位のメモリセルに対して行い、チェック信号を受けるとプログラム未終了メモリセルの個数を計数する手段と、所定回数のプログラム動作を繰り返し行った後に一括終点検出を行い、当該検出の結果、プログラム未終了メモリセルがあると前記チェック信号を出力してプログラム未終了メモリセルの個数を計数させ、前記プログラム未終了メモリセルの個数が前記所定個数以内である場合に、当該プログラム未終了メモリセルを残したままデータプログラムを終了し、当該プログラム未終了メモリセルを前記エラー訂正手段に救済させる手段とを備えている。
また、本発明は、複数ビットデータを単位とした電気的なデータプログラムを当該複数単位のメモリセルに対して行われるメモリセルがマトリクス配置されたメモリ本体と、複数ビットデータを単位としてデータの読み出しを行い、当該複数ビットデータ内に所定個数以内のエラービットが存在する場合に当該エラービットを訂正するエラー訂正手段と、所定回数のプログラム動作を繰り返し行った後の一括終点検出でプログラム未終了メモリセルがあると判定された後に計数されたプログラム未終了メモリセルの個数が前記所定個数以内のである場合に、当該プログラム未終了メモリセルを残したままデータプログラムを終了し、当該プルグラム未終了メモリセルを前記エラー訂正手段に救済させる手段とを備えたメモリシステムである。
【0030】
また、本発明は、セクタ単位のページデータが各ビット線毎に設けられたデータラッチ回路に転送されると共に、当該選択されたセクタを単位として一括して電気的にデータプログラムが行われるメモリセルがマトリクス配置された半導体不揮発性記憶装置であって、選択されたセクタのメモリセル毎にページデータの読み出しを行い、読み出した当該ページデータ内に所定個数以内のエラービットが存在する場合に当該エラービットを訂正するエラー訂正手段と、前記ページプログラムデータに従ったデータプログラムがベリファイ読み出し動作を介して複数回のプログラム動作を繰り返し行うことによりなされ、各プログラム動作毎に一括終点検出によりプログラム未終了メモリセルが存在するか否かを検知し、プログラム未終了メモリセルが存在する場合にチェック信号を出力する検知手段と、プログラム未終了メモリセルが存在し、前記チェック信号を受けると、当該プログラム未終了メモリセルの個数を計数する計数手段と、前記計数手段が前記チェック信号に応答して計数した結果、前記プログラム未終了メモリセルの個数が前記所定個数以内である場合に、当該プログラム未終了メモリセルを残したままデータプログラムを終了し、当該プログラム未終了メモリセルを前記エラー訂正手段に救済させる手段とを備えている。
【0031】
また、好適には、前記エラー訂正手段は、プログラムすべき正規データよりエラー検査コードを発生する手段と、前記正規データを記録するための正規メモリアレイ部と前記エラー検査コードを記録するためのパリティメモリアレイ部とから構成されたメモリアレイと、前記正規データとエラー検査コードにより合成されたページデータを前記メモリアレイにページプログラムする手段と、前記ページデータのデータ読み出し時に、読み出した正規データとエラー検査コードによりデータプログラム時のエラービットを訂正する手段とを備えている。
【0032】
また、好適には、前記検知手段は、各プログラム動作後のベリファイ読み出し動作毎に、プログラムが終了したメモリセルの接続されたデータラッチ回路にラッチされているデータを順次反転させて再プログラムデータを自動設定する手段と、前記再プログラムデータの自動設定後に、プログラム未終了のデータがラッチされているデータラッチ回路が存在するか否かを検出する終点検出手段とを備えている。
【0033】
本発明の半導体不揮発性記憶装置によれば、所定回数のデータ処理、たとえばプログラム動作を繰り返し行った後にプログラム未終了メモリセルが存在しても、当該プログラム未終了メモリセルの個数がエラー訂正手段により訂正可能な所定個数以内のエラービットである場合には、プログラム未終了メモリセルを残したままデータプログラムを終了する。
したがって、ごくまれに存在する非常にプログラムの遅いメモリセルに律速されることなく、高速にデータプログラムが可能となる。
【0034】
また、本発明は、電気的にデータの消去およびプログラムを行うことによりデータの書き換えが可能なメモリセルがマトリクス配置された半導体不揮発性記憶装置であって、複数ビットデータを単位としてデータの読み出しを行い、当該複数ビットデータ単位内に所定個数以内のエラービットが存在する場合に当該エラービットを訂正するエラー訂正手段と、少なくとも1単位以上の前記複数ビットデータ単位のメモリセルに対してデータ消去を行い、チェック信号を受けると消去後に当該各複数ビットデータ単位内の消去未終了メモリセルの個数を計数する手段と、所定回数の消去動作を繰り返し行った後に一括終点検出を行い、当該検出の結果、消去未終了メモリセルがあると前記チェック信号を出力して消去未終了メモリセルの個数を計数させ、前記消去未終了メモリセルの個数が前記所定個数以内である場合に、当該消去未終了メモリセルを残したままデータプログラムを行い、当該消去未終了メモリセルをデータ読み出し時に前記エラー訂正手段に救済させる手段とを備えている。
【0035】
また、本発明は、電気的にデータの消去およびプログラムを行うことによりデータの書き換えが可能なメモリセルがマトリクス配置された半導体不揮発性記憶装置であって、複数ビットデータを単位としてデータの読み出しを行い、当該複数ビットデータ単位内に所定個数以内のエラービットが存在する場合に当該エラービットを訂正するエラー訂正手段と、少なくとも1単位以上の前記複数ビットデータ単位のメモリセルに対するデータ消去を、ベリファイ読み出し動作を介して複数回の消去電圧パルスを繰り返し印加して行い、各消去動作毎に一括終点検出により消去未終了メモリセルが存在するか否かを検知し、消去未終了メモリセルが存在する場合にチェック信号を出力する検知手段と、プログラム未終了メモリセルが存在し、前記チェック信号を受けると、各複数ビットデータ単位内の消去未終了メモリセルの個数を計数する計数手段と、前記計数手段が前記チェック信号に応答して計数した結果、前記消去未終了メモリセルの個数が前記所定個数以内である場合に、当該消去未終了メモリセルを残したままデータプログラムを行い、当該消去未終了メモリセルをデータ読み出し時に前記エラー訂正手段に救済させる手段とを備えている。
【0036】
また、好適には、前記エラー訂正手段は、プログラムすべき正規データよりエラー検査コードを発生する手段と、前記正規データを記録するための正規メモリアレイ部と前記エラー検査コードを記録するためのパリティメモリアレイ部とから構成されたメモリアレイと、前記正規データとエラー検査コードにより合成された前記複数ビットデータ単位のプログラムデータをデータ消去後の前記メモリアレイにプログラムする手段と、前記複数ビットデータ単位のデータ読み出し時に、読み出した正規データとエラー検査コードによりデータプログラム時のエラービットを訂正する手段とを備えている。
【0037】
また、好適には、前記計数手段は、一定のクロックパルスに同期したカラムデコーダの動作によりページ読み出しし、読み出した当該ページデータを順次計数回路にシフト転送してプログラム未終了のデータの個数をカウントする。
【0038】
本発明の半導体不揮発性記憶装置によれば、所定回数の消去動作を繰り返し行った後に消去未終了メモリセルが存在しても、当該消去未終了メモリセルの個数がエラー訂正手段により訂正可能な所定個数以内のエラービットである場合には、消去未終了メモリセルを残したままデータプログラムが行われる。
したがって、ごくまれに存在する非常に消去の遅いメモリセルにに律速されることなく、高速にデータプログラムが可能となり、ひいてはデータの書き換えを高速に行うことができる。
さらには、消去の速いメモリセルが過剰消去されることを防止でき、信頼性の高い半導体不揮発性記憶装置を実現することができる。
【0039】
【発明の実施の形態】
第1実施例
図1は、本発明に係る半導体不揮発性記憶装置、たとえばNAND型フラッシュメモリの具体的な構成例を示す図である。
【0040】
図1において、10はメモリ本体を示し、メモリ本体10は、メモリアレイ部11、ローデコーダ12、各ビット線毎に設けられたデータラッチ回路群13、カラム選択部14、再プログラムデータ自動設定回路群15および終点検出回路16等から構成されている。
【0041】
メモリアレイ11は、正規メモリアレイ11aとパリティメモリアレイ11bから構成されている。
正規メモリアレイ11aにはn本(通常は512バイト程度)の正規ビット線B1 〜Bnが配線され、パリティメモリアレイ11bにはj本(通常は10バイト程度)のパリティビット線b1 〜bjが配線されている。
なお、図中はワード線Wmを選択して、正規メモリセルMT1〜MTnおよびパリティメモリセルmT1〜mTjに対してページプログラムを行う場合を図示している。
【0042】
データラッチ回路群13は、正規データラッチ回路SA1〜SAnおよびパリティデータラッチ回路sA1〜sAjから構成され、カラム選択部14は正規カラム選択部14aおよびパリティカラム選択部14bから構成されている。
カラム選択部14はデータ転送クロック信号φCLに同期して作動し、正規データラッチ回路SA1〜SAnおよびパリティデータラッチ回路sA1〜sAjにページプログラムデータをシフト転送し、またデータラッチ回路からページデータの読み出しを行う。
【0043】
再プログラムデータ自動設定回路群15は、各正規データラッチ回路SA1〜SAnおよびパリティデータラッチ回路sA1〜sAj毎に対応して設けられた自動設定回路15S−1〜15S−n、15s−1〜15s−jにより構成されている。
自動設定回路15S−1〜15S−n、15s−1〜15s−jは、各プログラム動作後のベリファイ読み出し動作毎に、プログラムが終了したメモリセルの接続されたデータラッチ回路にラッチされているデータを順次反転させて再プログラムデータを自動設定する。
【0044】
終点検出回路16は、各正規データラッチ回路SA1〜SAnおよびパリティデータラッチ回路sA1〜sAj毎に設けられたトランジスタT1〜TnおよびTp1〜Tpj、並びにトランジスタTset、および反転回路INV1により構成されている。
各トランジスタT1〜TnおよびT1〜Tjのゲート電極がそれぞれの正規データラッチ回路SA1〜SAnおよびパリティデータラッチ回路sA1〜sAjの反転出力に、ソース電極が接地電位に、ドレイン電極が共通接続されており、プログラム未終了セルが存在して少なくとも1個以上のデータラッチ回路の反転出力がハイレベルである場合に、共通接続された終点検出電位Vaが接地電位となり、反転回路INV1により終点検出信号ENDoutがハイレベルとして出力される。
またトランジスタTsetは、終点検出電位Vaを予めVCCレベルにプリチャージするために設けられ、終点検出に先だってプリチャージ信号φsetにより駆動される。
【0045】
20はデータ入力部を示し、データ入力部20は、データ入力回路21とエラー検査コード発生回路22とにより構成される。
データ入力回路21は正規入力データ[Din]1 〜n をエラー検査コード発生回路22に入力し、エラー検査コード(パリティ入力データ)[Cin]1 〜j を発生する。正規入力データ[Din]1 〜n およびエラー検査コード[Cin]1 〜j により合成されるページプログラムデータは、データ転送クロック信号φCLに同期して、それぞれ正規データラッチ回路SA1〜SAnおよびパリティデータラッチ回路sA1〜sAjにシフト転送され、対応する正規メモリセルおよびパリティメモリセルにページプログラムされる。
【0046】
30はデータ出力部を示し、データ出力部30は、エラー検査回路31とデータ訂正回路32とにより構成される。
エラー検査回路31は、ページ読み出しした正規出力データ[Dout]1 〜n およびエラー検査コード(パリティ出力データ)[Cout]1 〜j により、データ復調コード[S]1 〜j を発生する。
データ訂正回路32は、正規出力データ[Dout]1 〜n およびデータ復調コード[S]1 〜j により、ページ読み出しデータ内に所定個数(たとえば1ビット)以内のエラービットが存在する場合にこれを訂正し、訂正後の正しい正規出力データ[DATA]1 〜n を出力する。
【0047】
40はカウント回路(計数回路)を示し、カウント回路40は、所定回数のプログラムベリファイ回数(たとえば10回程度)を繰り返した後にプログラム未終了メモリセルが存在して終点検出できなかった場合、つまり少なくとも1個以上のデータラッチ回路の出力がローレベルである場合に、以下のようにプログラム未終了メモリセルの個数を計数する。
すなわち、基本データ転送クロック信号φCLに同期したベリファイページ読み出しデータDATAverの反転回路INV2の出力DATAver’をシフト入力し、最後にチェック信号φCHKの入力に応じてプログラム未終了メモリセルの個数を計数する。
【0048】
未終了判定回路50は、メモリ本体10の反転回路INV1の出力信号φCHKをハイレベルで入力すると、プログラム未終了メモリセルがあるものとして、プログラム未終了メモリセルの個数の計数を開始するようにチェック信号φCHKをカウント回路40に出力する。
【0049】
判定回路60は、カウント回路40の出力チェック信号φCNTがハイレベルに切り換わったならば、プログラム未終了のセルが1つ以上あるものとして、図示しない制御系に出力する。
本実施形態の場合、判定回路60は、たとえばフリップフロップにより構成される。
【0050】
図2は、図1の半導体不揮発性記憶装置におけるエラー訂正手段において、1ビットエラーに対処できる正規データビット数nとパリティデータビット数(エラー検査ビット数)jとの関係を示す図である。
【0051】
エラー訂正の原理、エラー検査コード発生回路22、エラー検査回路31、およびデータ訂正回路32については、本発明の骨子と直接関係しないため、ここでは詳述しない。
しかし図2によれば、512ビットの正規データビット数には10ビットのエラー検査ビット数が必要であり、したがって一般的な512ビットの正規入力データ[Din]1 〜n には10ビットのエラー検査コード[Cin]1 〜j を発生させる必要がある。
【0052】
図3は、図1の半導体不揮発性記憶装置における、データプログラム時のシーケンスフローを示す図である。
以下、図3のシーケンスフローについて、図1の構成例等を参照しながら順を追って説明する。
【0053】
ステップS1でデータプログラムが開始され、最初にデータ入力回路21を介して入力された正規入力データ[Din]1 〜n に基づき、エラー検査コード発生回路22によりエラー検査コード[Cin]1 〜j が発生される(ステップS2)。
そして、正規入力データ[Din]1 〜n およびエラー検査コード[Cin]1 〜j は正規カラム選択14aおよびパリティカラム選択14bに入力され、合成したページプログラムデータがメモリアレイ内の各ビット線毎に設けられた正規データラッチ回路SA1〜SAnおよびパリティデータラッチ回路sA1〜sAjに転送される(ステップS3)。
【0054】
次に、図示しないプログラム制御系によりステップS4でプログラムベリファイ回数Kが0にリセットされ、プログラムパルスを印加するプログラム動作が行われ(ステップS5)、ベリファイ読み出し後に、自動設定回路15S−1〜15S−n、15s−1〜15s−jにおいてプログラム終了メモリセルの正規データラッチ回路SA1〜SAnおよびパリティデータラッチ回路sA1〜sAj内のデータを順次反転させて再プログラムデータを自動設定するベリファイ読み出し動作(ステップS6)が連続して行われる。
【0055】
次に、ステップS7で終了検出回路16および未終了判定回路50において、すべてのメモリセルのプログラムが終了したかどうかの終点検出が、再プログラムデータ内に少なくとも1個以上のプログラム未終了メモリセルに対応するデータが残っているか否かを調べることにより行われる。
【0056】
その結果、全ビットプログラム終了の終点検出ができた場合には、データプログラムを完了する(ステップS12)。
しかし、全ビットプログラム終了の終点検出ができなかった場合には、さらにプログラムベリファイ回数Kがインクリメントされて(ステップS8)、Kが予め設定された所定回数k0(たとえば10回程度)未満であるかどうかが調べられる(ステップS9)。
そしてKがk0未満である場合には、上述したステップS5〜S9のシーケンスフローが繰り返し行われ、Kがk0に到達した時点でステップS10に進む。
【0057】
次にステップS10では、データラッチ回路内のデータがページ読み出しされて、プログラム未終了メモリセルの個数がカウント回路40でカウントされる。
次に、ステップS11おいて、計数したプログラム未終了メモリセルの個数がエラー訂正可能な所定個数(たとえば1個)以内であるかどうかが調べられる。
その結果、プログラム未終了メモリセルの個数がエラー訂正可能な所定個数以内である場合にはデータプログラムを完了し(ステップS12)、所定個数を超えている場合にはデータプログラム失敗と判断される(ステップS13)。
【0058】
以上のシーケンスフローによりデータプログラムが行われた本発明の半導体不揮発性記憶装置においては、データ読み出し時に、エラー検査回路31およびデータ訂正回路32とによりプログラム未終了メモリセルのエラー訂正がなされ、正しい正規データ[DATA]1 〜n が読み出される。
【0059】
以上説明したように、本第1の実施例に係る半導体不揮発性記憶装置によれば、所定回数のプログラム動作を繰り返し行った後にプログラム未終了メモリセルが存在しても、当該プログラム未終了メモリセルの個数がエラー訂正手段により訂正可能な所定個数以内のエラービットである場合には、プログラム未終了メモリセルを残したままデータプログラムを終了する。
したがって、ごくまれに存在する非常にプログラムの遅いメモリセルに律速されることなく、高速にデータプログラムが可能となる。
【0060】
第2実施例
図4は、本発明に係る半導体不揮発性記憶装置、たとえばNOR型フラッシュメモリの具体的な構成例を示す図である。
【0061】
すなわち、図4において、100はメモリ本体を示し、メモリ本体100は、メモリアレイ部111、ローデコーダ112、各ビット線毎に設けられたデータラッチ回路群113、カラム選択部114、再プログラムデータ自動設定回路群115および終点検出回路116等から構成されている。
【0062】
メモリアレイ111は、正規メモリアレイ111aとパリティメモリアレイ111bとから構成されている。
正規メモリアレイ111aにはn本(通常は512バイト程度)の正規ビット線B1 〜Bnが配線され、パリティメモリアレイ111bにはj本(通常は10バイト程度)のパリティビット線b1 〜bjが配線されている。
なお、図中はワード線Wmを選択して、正規メモリセルMT1〜MTnおよびパリティメモリセルmT1〜mTjに対してページ読み出しを行う場合を図示している。
【0063】
データラッチ回路群113は、正規データラッチ回路SA1〜SAnおよびパリティデータラッチ回路sA1〜sAjから構成され、カラム選択部114は正規カラム選択部114aおよびパリティカラム選択部114bから構成されている。
カラム選択部114はデータ転送クロック信号φCLに同期して作動し、正規データラッチ回路SA1〜SAnおよびパリティデータラッチ回路sA1〜sAjにページプログラムデータをシフト転送し、またデータラッチ回路からワード線単位のページデータの読み出しを行う。
【0064】
再プログラムデータ自動設定回路群115は、各正規データラッチ回路SA1〜SAnおよびパリティデータラッチ回路sA1〜sAj毎に対応して設けられた自動設定回路115S−1〜115S−n、115s−1〜115s−jにより構成されている。
自動設定回路115S−1〜115S−n、115s−1〜115s−jは、各プログラム動作後のベリファイ読み出し動作毎に、プログラムが終了したメモリセルの接続されたデータラッチ回路にラッチされているデータを順次反転させて再プログラムデータを自動設定する。
【0065】
終点検出回路116は、各正規データラッチ回路SA1〜SAnおよびパリティデータラッチ回路sA1〜sAj毎に設けられたトランジスタT1〜TnおよびTp1〜Tpj、並びにトランジスタTset、および反転回路INV100により構成されている。
各トランジスタT1〜TnおよびTp1〜Tpjのゲート電極がそれぞれの正規データラッチ回路SA1〜SAnおよびパリティデータラッチ回路sA1〜sAjの反転出力に、ソース電極が接地電位に、ドレイン電極が共通接続されており、消去未終了セルが存在して少なくとも1個以上のデータラッチ回路の反転出力がハイレベルである場合に、共通接続された終点検出電位Vaが接地電位となり、反転回路INV1により終点検出信号ENDoutがハイレベルとして出力される。
またトランジスタTsetは、終点検出電位Vaを予めVCCレベルにプリチャージするために設けられ、終点検出に先だってプリチャージ信号φsetにより駆動される。
【0066】
120はデータ入力部を示し、データ入力部120は、データ入力回路121とエラー検査コード発生回路122とにより構成される。
データ入力回路121は正規入力データ[Din]1 〜n をエラー検査コード発生回路122に入力し、エラー検査コード(パリティ入力データ)[Cin]1 〜j を発生する。正規入力データ[Din]1 〜n およびエラー検査コード[Cin]1 〜j により合成されるワード線単位のページプログラムデータは、データ転送クロック信号φCLに同期して、それぞれ正規データラッチ回路SA1〜SAnおよびパリティデータラッチ回路sA1〜sAjにシフト転送され、対応する正規メモリセルおよびパリティメモリセルに順次データプログラムされる。
【0067】
130はデータ出力部を示し、データ出力部130は、エラー検査回路131とデータ訂正回路132とにより構成される。
エラー検査回路131は、ページ読み出しした正規出力データ[Dout]1 〜n およびエラー検査コード(パリティ出力データ)[Cout]1 〜j により、データ復調コード[S]1 〜j を発生する。
データ訂正回路132は、正規出力データ[Dout]1 〜n およびデータ復調コード[S]1 〜j により、ページ読み出しデータ内に所定個数(たとえば1ビット)以内のエラービットが存在する場合にこれを訂正し、訂正後の正しい正規出力データ[DATA]1 〜n を出力する。
【0068】
140はカウント回路(計数回路)を示し、カウント回路140は、所定回数の消去ベリファイ回数(たとえば10回〜数10回程度)を繰り返した後に消去ブロック内の各ページ内に消去未終了メモリセルが存在して終点検出できなかった場合、つまり各ページ毎のベリファイ読み出し時に1個以上のデータラッチ回路の出力がハイレベルである場合に、以下のように消去未終了メモリセルの個数を計数する。
すなわち、基本データ転送クロック信号φCLに同期したベリファイページ読み出しデータDATAverをシフト入力し、最後にチェック信号φCHKの入力に応じて消去未終了メモリセルの個数を計数する。
【0069】
未終了判定回路150は、メモリ本体100の反転回路INV100の出力信号φCHKをハイレベルで入力すると、消去未終了メモリセルがあるものとして、消去未終了メモリセルの個数の計数を開始するようにチェック信号φCHKをカウント回路140に出力する。
【0070】
判定回路160は、カウント回路140の出力チェック信号φCNTがハイレベルに切り換わったならば、消去未終了のセルが1つ以上あるものとして、図示しない制御系に出力する。
本実施例の場合も、判定回路160は、たとえばフリップフロップにより構成される。
【0071】
図4の半導体不揮発性記憶装置におけるエラー訂正手段において、1ビットエラーに対処できる正規データビット数nとパリティデータビット数(エラー検査ビット数)jとの関係は、第1実施例の場合と同様に、図2に示すような関係である。
【0072】
エラー訂正の原理、エラー検査コード発生回路122、エラー検査回路131、およびデータ訂正回路132については、本発明の骨子と直接関係しないため、ここでは詳述しない。
しかし図2によれば、512ビットの正規データビット数には10ビットのエラー検査ビット数が必要である。
したがって、ワード線を512バイトページサイズとして128ページの64Kバイトデ消去ブロック単位が構成されている場合、各ページ毎で、512バイトの正規入力データ[Din]1 〜n には10ビットのエラー検査コード[Cin]1 〜j を発生させる必要がある。
【0073】
図5は、図4の半導体不揮発性記憶装置においてデータの書き換えを行う場合データ消去時のシーケンスフローを示す図である。
また、図6は、その後のデータプログラム時のシーケンスフローを示す図である。
以下、図5および図6のシーケンスフローについて、図4の構成例等を参照しながら順を追って説明する。
【0074】
まず、図5のデータ消去時のシーケスフローについて説明する。
ステップS21でデータ消去が開始され、ステップS22で消去ベリファイ回数Kを最初の1に設定して消去パルスを印加する消去動作(ステップS23)、およびベリファイ読み出し動作(ステップS24)が連続して行われる。
ステップS24のベリファイ読み出し動作の結果、ブロック内のすべてのメモリセルの消去終了の終点検出ができた場合には(ステップS25)、データ消去を完了する。
【0075】
一方、ステップS24のベリファイ読み出し動作の結果、ブロック内のすべてのメモリセルの消去終了の終点検出ができなかった場合には(ステップS25)、ステップS26において、消去ベリファイ回数Kがあらかじめ設定された所定回数K0(たとえば100〜1000回程度)未満であるか否かが調べられる。その結果、消去ベリファイ回数Kが設定回数K0未満である場合には、さらに消去ベリファイ回数Kがインクリメントされて(ステップS27)、上述したステップS23〜S27のシーケンスフローが繰り返し行われる。そして、消去ベリファイ回数Kが設定回数K0に到達した時点で消去未終了メモリセルが存在するものとしてステップS28の処理に移行する。
【0076】
ステップS28において、消去ブロック内のページ番地Pg−NOをまず最初の1に設定して、データラッチ回路の消去データをページ読み出しして、消去未終了メモリセルの個数がカウントされる(ステップS29)。
【0077】
次に、ステップS30で、計数した消去未終了メモリセルの個数がエラー訂正可能ま所定個数(たとえば1個)以内であるか否かが調べられる。
その結果、消去未終了メモリセルの個数がエラー訂正可能な所定個数を超えてる場合にはデータ消去失敗と判断される(ステップS34)。
一方、消去未終了メモリセルの個数がエラー訂正可能な所定個数以内である場合には、ページ番地Pg−NOが最終アドレス番地であるか否かが調べられる(ステップS31)。
そして、ページ番地Pg−NOが最終アドレス番地でない場合には、さらにページ番地Pg−NOがインクリメントされて(ステップS32)、上述したステップS29〜S32のシーケンスフローが繰り返し行われる。そして、ページ番地Pg−NOが最終ページ番地に到達した時点で、データ消去完了と判断される(ステップS33)。
【0078】
次に、図6のデータプログラム時のシーケンスフローについて説明する。
データの消去が完了した場合、(図3のステップS33)には、引き続いてデータプログラムが開始される(ステップS101)。
まず、ステップS102でブロック内のページ番地Pg−NOをまず最初の1に設定して、当該ページの正規入力データ[Din]1 〜n に基づき、エラー検査コード発生回路22によりエラー検査コード[Cin]1 〜j が発生される(ステッS103)。
次に、当該ページ内でメモリセルのアドレス番地Pg−NOを最初の1に設定して(ステップS104)、当該メモリセルに対してデータ内容に応じてデータプログラムが行われ(ステップS105)、アドレス番地Ar−NOが最終アドレス番地であるか否かが調べられる(ステップS106)。
その結果、アドレス番地Ar−NOが最終アドレス番地でない場合には、さらにアドレス番地Ar−NOがインクリメントされて(ステップS107)、上述したステップS103〜S107のシーケンスフローが繰り返し行われる。そして、アドレス番地Ar−NOが最終アドレス番地に到達した時点で当該ページのデータプログラムが完了する。
【0079】
次に、ステップS108でページ番地Pg−NOが最終番地であるか否かが調べられる。
その結果、アドレス番地Pg−NOが最終番地でない場合には、さらにページ番地Pg−NOがインクリメントされて(ステップS109)、上述したステップS103〜S109のシーケンスフローが繰り返し行われる。そして、アドレス番地Ar−NOが最終アドレス番地に到達した時点で当該ページのデータプログラムが完了する(S110)。
【0080】
以上のシーケンスフローによりデータの書き換えが行われた本発明の半導体不揮発性記憶装置においては、データ読み出し時に、エラー検査回路31およびデータ訂正回路32とにより消去未終了メモリセルのエラー訂正がなされ、正しい正規データ[DATA]1 〜n が読み出される。
【0081】
以上説明したように、本第2の実施例に係る半導体不揮発性記憶装置によれば、所定回数の消去動作を繰り返し行った後に消去未終了メモリセルが存在しても、当該消去未終了メモリセルの個数がエラー訂正手段により訂正可能な所定個数以内のエラービットである場合には、消去未終了メモリセルを残したままデータプログラムを行う。
したがって、ごくまれに存在する非常に消去の遅いメモリセルに律速されることなく、高速にデータプログラムが可能となり、ひいては、データの書き換えを高速に行うことができる。
さらには、消去の速いメモリセルが過剰消去されることを防止でき、信頼性の高い半導体不揮発性記憶装置を実現することができる。
【0082】
【発明の効果】
以上説明したように、本発明によれば、高速にデータプログラムを行うこができる半導体不揮発性記憶装置を実現することができる。
【0083】
また、本発明によれば、データ消去を高速に行うことができ、データの書き換えを高速に行うことが可能で、さらには過剰消去メモリセルの発生を防止でき、信頼性の向上を図れる半導体不揮発性記憶装置を実現することができる。
【図面の簡単な説明】
【図1】本発明に係る半導体不揮発性記憶装置の第1の実施例の構成例を示す図である。
【図2】図1の半導体不揮発性記憶装置におけるエラー訂正手段において、1ビットエラーに対処できる正規データビット数nとパリティデータビット数(エラー検査ビット数)jとの関係を示す図である。
【図3】図1の半導体不揮発性記憶装置における、データプログラム時のシーケンスフローを示す図である。
【図4】本発明に係る半導体不揮発性記憶装置の第2の実施例の構成例を示す図である。
【図5】図1の半導体不揮発性記憶装置における、データ消去時のシーケンスフローを示す図である。
【図6】図1の半導体不揮発性記憶装置における、データプログラム時のシーケンスフローを示す図である。
【図7】NAND型およびDINOR型フラッシュメモリにおける、メモリアレイ構造を示す図である。
【図8】一般的なNOR型フラッシュメモリにおける、メモリアレイ構造およびデータ消去時のバイアス条件を示す図である。
【図9】従来のワード線セクタを単位としたページプログラムを行う半導体不揮発性記憶装置のメモリセル間のプログラム速度の差を示す図である。
【図10】従来のワード線セクタを単位としたページプログラムを行う半導体不揮発性記憶装置における、データプログラム時のシーケンスフローを示す図である。
【図11】消去ブロック内のメモリセル間の消去速度の差を示す図である。
【図12】従来のNOR型フラッシュメモリにおけるデータ書き換え時のシーケンスフローを示す図である。
【符号の説明】
B1〜Bn…正規ビット線、b1〜bj…パリティビット線、Wm…選択ワード線、MT1〜MTn…正規メモリセル、mT1〜mTj…パリティメモリセル、SA1〜SAn…正規データラッチ回路、sA1〜sAj…パリティデータラッチ回路、[Din]1 〜n …正規入力データ、[Dout]1 〜n …正規出力データ、[DATA]1 〜n …エラー訂正後の正規出力データ、[Cin]1 〜j …入力エラー検査コード、[Cout]1 〜j …出力エラー検査コード、[S]1 〜j …データ復調コード、DATAver…ベリファイページ読み出しデータ、φCL…データ転送クロック信号、φcheck…チェック信号、φset…プリチャージ信号、ENDout…終点検出信号、Va…終点検出電位、INV1〜INV2,INV100…反転回路、10,100…メモリ本体、11,111…メモリアレイ部、11a,111a…正規メモリアレイ、11b,111b…パリティメモリアレイ、12,112…ローデコーダ、13,113…データラッチ回路、14,114…カラム選択部、14a,114a…正規カラム選択部、14b,114b…パリティカラム選択部、15,115…再プログラムデータ自動設定回路、16,116…終点検出回路、20,120…データ入力部、21,121…データ入力回路、22,122…エラー検査コード発生回路、30,130…データ出力部、31,131…エラー検査回路、32,132…データ訂正回路、40,140…カウント回路、50,150…未終了判定回路、60,160…判定回路。

Claims (15)

  1. 電気的にデータの処理が行われるメモリセルがマトリクス配置された半導体不揮発性記憶装置であって、
    複数ビットデータ内に所定個数以内のエラービットが存在する場合に当該エラービットを訂正するエラー訂正手段と、
    前記複数ビットデータを単位としたデータの処理を当該複数単位のメモリセルに対して行い、チェック信号を受けると当該データ処理未終了メモリセルの個数を計数する手段と、
    所定回数のデータ処理を繰り返し行った後に一括終点検出を行い、当該検出の結果、データ処理未終了メモリセルがあると前記チェック信号を出力してデータ処理未終了メモリセルの個数を計数させ、前記データ処理未終了メモリセルの個数が前記所定個数以内である場合に、当該データ処理未終了メモリセルを残したままデータの処理を終了し、当該データ処理未終了メモリセルを前記エラー訂正手段に救済させる手段と
    を備えた半導体不揮発性記憶装置。
  2. 電気的にデータのプログラムが行われるメモリセルがマトリクス配置された半導体不揮発性記憶装置であって、
    複数ビットデータを単位としてデータの読み出しを行い、当該複数ビットデータ内に所定個数以内のエラービットが存在する場合に当該エラービットを訂正するエラー訂正手段と、
    前記複数ビットデータを単位としたデータプログラムを当該複数単位のメモリセルに対して行い、チェック信号を受けるとプログラム未終了メモリセルの個数を計数する手段と、
    所定回数のプログラム動作を繰り返し行った後に一括終点検出を行い、当該検出の結果、プログラム未終了メモリセルがあると前記チェック信号を出力してプログラム未終了メモリセルの個数を計数させ、前記プログラム未終了メモリセルの個数が前記所定個数以内である場合に、当該プログラム未終了メモリセルを残したままデータプログラムを終了し、当該プログラム未終了メモリセルを前記エラー訂正手段に救済させる手段と
    を備えた半導体不揮発性記憶装置。
  3. セクタ単位のページデータが各ビット線毎に設けられたデータラッチ回路に転送されると共に、当該選択されたセクタを単位として一括して電気的にデータプログラムが行われるメモリセルがマトリクス配置された半導体不揮発性記憶装置であって、
    選択されたセクタのメモリセル毎にページデータの読み出しを行い、読み出した当該ページデータ内に所定個数以内のエラービットが存在する場合に当該エラービットを訂正するエラー訂正手段と、
    前記ページプログラムデータに従ったデータプログラムがベリファイ読み出し動作を介して複数回のプログラム動作を繰り返し行うことによりなされ、各プログラム動作毎に一括終点検出によりプログラム未終了メモリセルが存在するか否かを検知し、プログラム未終了メモリセルが存在する場合にチェック信号を出力する検知手段と、
    プログラム未終了メモリセルが存在し、前記チェック信号を受けると、当該プログラム未終了メモリセルの個数を計数する計数手段と、
    前記計数手段が前記チェック信号に応答して計数した結果、前記プログラム未終了メモリセルの個数が前記所定個数以内である場合に、当該プログラム未終了メモリセルを残したままデータプログラムを終了し、当該プログラム未終了メモリセルを前記エラー訂正手段に救済させる手段と
    を備えた半導体不揮発性記憶装置。
  4. 上記セクタ単位はワード線単位である
    請求項3記載の半導体不揮発性記憶装置。
  5. 前記エラー訂正手段は、プログラムすべき正規データよりエラー検査コードを発生する手段と、
    前記正規データを記録するための正規メモリアレイ部と前記エラー検査コードを記録するためのパリティメモリアレイ部とから構成されたメモリアレイと、
    前記正規データとエラー検査コードにより合成されたページデータを前記メモリアレイにページプログラムする手段と、
    前記ページデータのデータ読み出し時に、読み出した正規データとエラー検査コードによりデータプログラム時のエラービットを訂正する手段と
    を備えた請求項3記載の半導体不揮発性記憶装置。
  6. 前記検知手段は、各プログラム動作後のベリファイ読み出し動作毎に、プログラムが終了したメモリセルの接続されたデータラッチ回路にラッチされているデータを順次反転させて再プログラムデータを自動設定する手段と、
    前記再プログラムデータの自動設定後に、プログラム未終了のデータがラッチされているデータラッチ回路が存在するか否かを検出する終点検出手段と
    を備えた請求項3記載の半導体不揮発性記憶装置。
  7. 前記計数手段は、一定のクロックパルスに同期したカラムデコーダの動作によりページ読み出しし、当該ページ読み出しデータを順次計数回路にシフト転送してプログラム未終了のデータの個数をカウントする
    請求項3記載の半導体不揮発性記憶装置。
  8. 前記メモリセルがマトリクス配置されたメモリアレイは、複数のメモリセルが直列接続されたNAND型構造をなす
    請求項3記載の半導体不揮発性記憶装置。
  9. 前記メモリセルがマトリクス配置されたメモリアレイは、NOR型構造をなし、
    かつ主ビット線がスイッチング手段を介して複数の副ビット線に階層化されている
    請求項3記載の半導体不揮発性記憶装置。
  10. 電気的にデータの消去およびプログラムを行うことによりデータの書き換えが可能なメモリセルがマトリクス配置された半導体不揮発性記憶装置であって、
    複数ビットデータを単位としてデータの読み出しを行い、当該複数ビットデータ単位内に所定個数以内のエラービットが存在する場合に当該エラービットを訂正するエラー訂正手段と、
    少なくとも1単位以上の前記複数ビットデータ単位のメモリセルに対してデータ消去を行い、チェック信号を受けると消去後に当該各複数ビットデータ単位内の消去未終了メモリセルの個数を計数する手段と、
    所定回数の消去動作を繰り返し行った後に一括終点検出を行い、当該検出の結果、消去未終了メモリセルがあると前記チェック信号を出力して消去未終了メモリセルの個数を計数させ、前記消去未終了メモリセルの個数が前記所定個数以内である場合に、当該消去未終了メモリセルを残したままデータプログラムを行い、当該消去未終了メモリセルをデータ読み出し時に前記エラー訂正手段に救済させる手段と
    を備えた半導体不揮発性記憶装置。
  11. 電気的にデータの消去およびプログラムを行うことによりデータの書き換えが可能なメモリセルがマトリクス配置された半導体不揮発性記憶装置であって、
    複数ビットデータを単位としてデータの読み出しを行い、当該複数ビットデータ単位内に所定個数以内のエラービットが存在する場合に当該エラービットを訂正するエラー訂正手段と、
    少なくとも1単位以上の前記複数ビットデータ単位のメモリセルに対するデータ消去を、ベリファイ読み出し動作を介して複数回の消去電圧パルスを繰り返し印加して行い、各消去動作毎に一括終点検出により消去未終了メモリセルが存在するか否かを検知し、消去未終了メモリセルが存在する場合にチェック信号を出力する検知手段と、
    プログラム未終了メモリセルが存在し、前記チェック信号を受けると、各複数ビットデータ単位内の消去未終了メモリセルの個数を計数する計数手段と、
    前記計数手段が前記チェック信号に応答して計数した結果、前記消去未終了メモリセルの個数が前記所定個数以内である場合に、当該消去未終了メモリセルを残したままデータプログラムを行い、当該消去未終了メモリセルをデータ読み出し時に前記エラー訂正手段に救済させる手段と
    を備えた半導体不揮発性記憶装置。
  12. 前記エラー訂正手段は、プログラムすべき正規データよりエラー検査コードを発生する手段と、
    前記正規データを記録するための正規メモリアレイ部と前記エラー検査コードを記録するためのパリティメモリアレイ部とから構成されたメモリアレイと、
    前記正規データとエラー検査コードにより合成された前記複数ビットデータ単位のプログラムデータをデータ消去後の前記メモリアレイにプログラムする手段と、
    前記複数ビットデータ単位のデータ読み出し時に、読み出した正規データとエラー検査コードによりデータプログラム時のエラービットを訂正する手段と
    を備えた請求項11記載の半導体不揮発性記憶装置。
  13. 前記複数ビットデータ単位のメモリセルは、ワード線毎のページ単位のメモリセルである
    請求項11記載の半導体不揮発性記憶装置。
  14. 前記計数手段は、一定のクロックパルスに同期したカラムデコーダの動作によりページ読み出しし、読み出した当該ページデータを順次計数回路にシフト転送してプログラム未終了のデータの個数をカウントする
    請求項11記載の半導体不揮発性記憶装置。
  15. 複数ビットデータを単位とした電気的なデータプログラムを当該複数単位のメモリセルに対して行われるメモリセルがマトリクス配置されたメモリ本体と、
    複数ビットデータを単位としてデータの読み出しを行い、当該複数ビットデータ内に所定個数以内のエラービットが存在する場合に当該エラービットを訂正するエラー訂正手段と、
    所定回数のプログラム動作を繰り返し行った後の一括終点検出でプログラム未終了メモリセルがあると判定された後に計数されたプログラム未終了メモリセルの個数が前記所定個数以内のである場合に、当該プログラム未終了メモリセルを残したままデータプログラムを終了し、当該プルグラム未終了メモリセルを前記エラー訂正手段に救済させる手段と
    を備えたメモリシステム。
JP05576997A 1995-12-04 1997-03-11 半導体不揮発性記憶装置 Expired - Lifetime JP3941149B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP05576997A JP3941149B2 (ja) 1996-12-03 1997-03-11 半導体不揮発性記憶装置
US08/975,712 US5920502A (en) 1996-03-11 1997-11-21 Nonvolatile semiconductor memory with fast data programming and erasing function using ECC
US09/234,848 US6046939A (en) 1996-03-11 1999-01-22 Nonvolatile semiconductor memory with fast data programming and erasing function using ECC
US09/234,834 US6002612A (en) 1995-12-04 1999-01-22 Nonvolatile semiconductor memory with fast data programming and erasing function using ECC

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP8-323011 1996-12-03
JP32301196 1996-12-03
JP8-324293 1996-12-04
JP32429396 1996-12-04
JP05576997A JP3941149B2 (ja) 1996-12-03 1997-03-11 半導体不揮発性記憶装置

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2004281465A Division JP2005018983A (ja) 1996-12-03 2004-09-28 半導体不揮発性記憶装置およびメモリシステム
JP2006130990A Division JP2006209971A (ja) 1996-12-03 2006-05-10 半導体不揮発性記憶装置

Publications (2)

Publication Number Publication Date
JPH10222995A JPH10222995A (ja) 1998-08-21
JP3941149B2 true JP3941149B2 (ja) 2007-07-04

Family

ID=27295702

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05576997A Expired - Lifetime JP3941149B2 (ja) 1995-12-04 1997-03-11 半導体不揮発性記憶装置

Country Status (2)

Country Link
US (3) US5920502A (ja)
JP (1) JP3941149B2 (ja)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100268433B1 (ko) * 1997-12-29 2000-10-16 윤종용 열 리던던시 구조를 가지는 반도체 메모리 장치
US6272659B1 (en) * 1998-05-18 2001-08-07 Cirrus Logic, Inc. Error correction code processor employing adjustable correction power for miscorrection minimization
JP2000173289A (ja) 1998-12-10 2000-06-23 Toshiba Corp エラー訂正可能なフラッシュメモリシステム
JP2001014871A (ja) 1999-06-29 2001-01-19 Toshiba Corp 不揮発性半導体記憶装置
US6331948B2 (en) 1999-12-09 2001-12-18 Kabushiki Kaisha Toshiba Error correcting circuit for making efficient error correction, and involatile semiconductor memory device incorporating the same error correcting circuit
US6728913B1 (en) * 2000-02-25 2004-04-27 Advanced Micro Devices, Inc. Data recycling in memory
JP3595495B2 (ja) * 2000-07-27 2004-12-02 Necマイクロシステム株式会社 半導体記憶装置
DE10109449B4 (de) * 2000-08-02 2012-11-08 Continental Teves Ag & Co. Ohg Verfahren und Schaltungsanordnung zur Speicherung von Prüfbit-Worten
KR100391154B1 (ko) * 2001-05-14 2003-07-12 삼성전자주식회사 불휘발성 반도체 메모리 장치의 프로그램 방법 및 장치
US7219271B2 (en) * 2001-12-14 2007-05-15 Sandisk 3D Llc Memory device and method for redundancy/self-repair
US7324393B2 (en) * 2002-09-24 2008-01-29 Sandisk Corporation Method for compensated sensing in non-volatile memory
KR100615975B1 (ko) * 2002-09-24 2006-08-28 쌘디스크 코포레이션 비휘발성 메모리 및 그 감지 방법
US7196931B2 (en) * 2002-09-24 2007-03-27 Sandisk Corporation Non-volatile memory and method with reduced source line bias errors
US6987693B2 (en) * 2002-09-24 2006-01-17 Sandisk Corporation Non-volatile memory and method with reduced neighboring field errors
US7046568B2 (en) * 2002-09-24 2006-05-16 Sandisk Corporation Memory sensing circuit and method for low voltage operation
US7443757B2 (en) 2002-09-24 2008-10-28 Sandisk Corporation Non-volatile memory and method with reduced bit line crosstalk errors
US7327619B2 (en) * 2002-09-24 2008-02-05 Sandisk Corporation Reference sense amplifier for non-volatile memory
US6868022B2 (en) * 2003-03-28 2005-03-15 Matrix Semiconductor, Inc. Redundant memory structure using bad bit pointers
US6956770B2 (en) * 2003-09-17 2005-10-18 Sandisk Corporation Non-volatile memory and method with bit line compensation dependent on neighboring operating modes
US7064980B2 (en) * 2003-09-17 2006-06-20 Sandisk Corporation Non-volatile memory and method with bit line coupled compensation
KR100719380B1 (ko) * 2006-03-31 2007-05-18 삼성전자주식회사 향상된 신뢰성 특성을 갖는 다치 플래시 메모리 장치 및그것을 포함한 메모리 시스템
US7881133B2 (en) * 2003-11-11 2011-02-01 Samsung Electronics Co., Ltd. Method of managing a flash memory and the flash memory
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
JP4135680B2 (ja) * 2004-05-31 2008-08-20 ソニー株式会社 半導体記憶装置および信号処理システム
JP2005353242A (ja) 2004-06-14 2005-12-22 Toshiba Corp 不揮発性半導体記憶装置及びそのデータ書き込み方法
JP4703148B2 (ja) * 2004-09-08 2011-06-15 株式会社東芝 不揮発性半導体記憶装置
JP4261461B2 (ja) 2004-11-05 2009-04-30 株式会社東芝 半導体集積回路装置、及びそれを用いた不揮発性メモリシステム
US7120051B2 (en) * 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US7420847B2 (en) * 2004-12-14 2008-09-02 Sandisk Corporation Multi-state memory having data recovery after program fail
US7158421B2 (en) * 2005-04-01 2007-01-02 Sandisk Corporation Use of data latches in multi-phase programming of non-volatile memories
US7849381B2 (en) * 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US7277336B2 (en) * 2004-12-28 2007-10-02 Sandisk 3D Llc Method and apparatus for improving yield in semiconductor devices by guaranteeing health of redundancy information
US7158416B2 (en) * 2005-03-15 2007-01-02 Infineon Technologies Flash Gmbh & Co. Kg Method for operating a flash memory device
US7586789B2 (en) * 2005-03-24 2009-09-08 Beedar Technology Inc. Method for adjusting programming/erasing time in memory system
US7206230B2 (en) * 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
US7463521B2 (en) * 2005-04-01 2008-12-09 Sandisk Corporation Method for non-volatile memory with managed execution of cached data
US7447078B2 (en) * 2005-04-01 2008-11-04 Sandisk Corporation Method for non-volatile memory with background data latch caching during read operations
US7212454B2 (en) * 2005-06-22 2007-05-01 Sandisk 3D Llc Method and apparatus for programming a memory array
KR100648290B1 (ko) 2005-07-26 2006-11-23 삼성전자주식회사 프로그램 속도를 향상시킬 수 있는 불 휘발성 메모리 장치및 그것의 프로그램 방법
JP4761910B2 (ja) * 2005-10-05 2011-08-31 株式会社東芝 不揮発性半導体記憶装置及びそれを用いた不揮発性メモリシステム
US7428180B2 (en) * 2006-01-25 2008-09-23 Samsung Electronics Co., Ltd. Semiconductor memory devices and methods of testing for failed bits of semiconductor memory devices
US7355892B2 (en) * 2006-06-30 2008-04-08 Sandisk Corporation Partial page fail bit detection in flash memory devices
US7966518B2 (en) * 2007-05-15 2011-06-21 Sandisk Corporation Method for repairing a neighborhood of rows in a memory array using a patch table
US7958390B2 (en) * 2007-05-15 2011-06-07 Sandisk Corporation Memory device for repairing a neighborhood of rows in a memory array using a patch table
JP4994112B2 (ja) * 2007-05-22 2012-08-08 ルネサスエレクトロニクス株式会社 半導体集積回路装置およびメモリ制御方法
US7765426B2 (en) * 2007-06-07 2010-07-27 Micron Technology, Inc. Emerging bad block detection
US8145977B2 (en) * 2007-10-15 2012-03-27 Joseph Schweiray Lee Methods and apparatus for providing error correction to unwritten pages and for identifying unwritten pages in flash memory
KR100933859B1 (ko) * 2007-11-29 2009-12-24 주식회사 하이닉스반도체 플래시 메모리 소자 및 그것의 프로그램 방법
KR100857252B1 (ko) * 2007-12-27 2008-09-05 (주)인디링스 마모도를 비트 수준에서 평준화하는 플래시 메모리 장치 및플래시 메모리 프로그래밍 방법
KR101464255B1 (ko) * 2008-06-23 2014-11-25 삼성전자주식회사 플래시 메모리 장치 및 그것을 포함한 시스템
JP5404804B2 (ja) 2009-05-25 2014-02-05 株式会社日立製作所 ストレージサブシステム
JP5426250B2 (ja) * 2009-06-26 2014-02-26 三星電子株式会社 不揮発性半導体メモリの放電回路
TWI412036B (zh) * 2009-07-22 2013-10-11 Silicon Motion Inc 資料讀取的方法及資料儲存裝置
KR101617641B1 (ko) * 2009-08-27 2016-05-03 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템, 및 그것의 프로그램 방법
JP2012069180A (ja) * 2010-09-21 2012-04-05 Toshiba Corp 半導体記憶装置
KR101716716B1 (ko) 2010-10-28 2017-03-15 삼성전자주식회사 플래그 셀들을 갖는 플래시 메모리 장치 및 그것의 프로그램 동작 방법
US8472280B2 (en) 2010-12-21 2013-06-25 Sandisk Technologies Inc. Alternate page by page programming scheme
US8385132B2 (en) * 2010-12-22 2013-02-26 Sandisk Technologies Inc. Alternate bit line bias during programming to reduce channel to floating gate coupling in memory
JP5514135B2 (ja) * 2011-02-15 2014-06-04 株式会社東芝 不揮発性半導体記憶装置
JP5929456B2 (ja) 2012-04-17 2016-06-08 ソニー株式会社 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
US9110829B2 (en) * 2012-11-30 2015-08-18 Taiwan Semiconductor Manufacturing Co. Ltd. MRAM smart bit write algorithm with error correction parity bits
KR102157875B1 (ko) 2013-12-19 2020-09-22 삼성전자주식회사 불휘발성 메모리 장치 및 그것을 포함한 메모리 시스템
US9240249B1 (en) * 2014-09-02 2016-01-19 Sandisk Technologies Inc. AC stress methods to screen out bit line defects
US9449694B2 (en) 2014-09-04 2016-09-20 Sandisk Technologies Llc Non-volatile memory with multi-word line select for defect detection operations
US9507663B1 (en) 2015-05-04 2016-11-29 Macronix International Co., Ltd. Memory device and operation method
TWI573146B (zh) * 2015-05-28 2017-03-01 旺宏電子股份有限公司 記憶體裝置與其操作方法
US10726936B2 (en) * 2018-12-20 2020-07-28 Micron Technology, Inc. Bad block management for memory sub-systems

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268870A (en) * 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5361227A (en) * 1991-12-19 1994-11-01 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device and memory system using the same
US5606532A (en) * 1995-03-17 1997-02-25 Atmel Corporation EEPROM array with flash-like core
US5771346A (en) * 1996-10-24 1998-06-23 Micron Quantum Devices, Inc. Apparatus and method for detecting over-programming condition in multistate memory device

Also Published As

Publication number Publication date
JPH10222995A (ja) 1998-08-21
US6002612A (en) 1999-12-14
US6046939A (en) 2000-04-04
US5920502A (en) 1999-07-06

Similar Documents

Publication Publication Date Title
JP3941149B2 (ja) 半導体不揮発性記憶装置
US7047455B2 (en) Memory with element redundancy
US7676710B2 (en) Error detection, documentation, and correction in a flash memory device
US6553510B1 (en) Memory device including redundancy routine for correcting random errors
KR100992985B1 (ko) 쓰기/삭제 중단 검출 메카니즘을 갖는 플래시 저장 시스템
US7457168B2 (en) Non-volatile memory device and associated method of erasure
US20070008783A1 (en) Erase verify for non-volatile memory
US8605512B2 (en) Nonvolatile semiconductor memory device and method of operating a nonvolatile memory device
US6778443B2 (en) Non-volatile semiconductor memory device having memory blocks pre-programmed before erased
JP2005538485A (ja) メモリセルの隣接する行の記憶素子間の結合の効果を減少させる方法
TW201329988A (zh) 非揮發性半導體記憶裝置及其寫入方法
US7437625B2 (en) Memory with element redundancy
US7640465B2 (en) Memory with element redundancy
JP2006209971A (ja) 半導体不揮発性記憶装置
JP2005018983A (ja) 半導体不揮発性記憶装置およびメモリシステム
JP2011253579A (ja) 半導体記憶装置
KR102723599B1 (ko) 반도체 장치 및 소거 방법
KR100486132B1 (ko) Ecc를이용한신속한데이터프로그래밍및소거기능을가지는불휘발성반도체기억장치
US6891756B2 (en) Flash memory comprising an erase verify algorithm integrated into a programming algorithm
KR100648249B1 (ko) 소거 시간을 단축시킬 수 있는 불 휘발성 메모리 장치의소거 방법
KR100660541B1 (ko) 소거 시간을 단축시킬 수 있는 불 휘발성 메모리 장치의소거 방법
JPH05210993A (ja) 不揮発性半導体記憶装置
JPH08203295A (ja) 半導体不揮発性記憶装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061010

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070112

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070219

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070326

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100413

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120413

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130413

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140413

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term