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

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

Info

Publication number
JP5032290B2
JP5032290B2 JP2007323166A JP2007323166A JP5032290B2 JP 5032290 B2 JP5032290 B2 JP 5032290B2 JP 2007323166 A JP2007323166 A JP 2007323166A JP 2007323166 A JP2007323166 A JP 2007323166A JP 5032290 B2 JP5032290 B2 JP 5032290B2
Authority
JP
Japan
Prior art keywords
value
page
circuit
word line
counter
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 - Fee Related
Application number
JP2007323166A
Other languages
English (en)
Other versions
JP2009146510A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2007323166A priority Critical patent/JP5032290B2/ja
Priority to US12/333,656 priority patent/US7859910B2/en
Publication of JP2009146510A publication Critical patent/JP2009146510A/ja
Application granted granted Critical
Publication of JP5032290B2 publication Critical patent/JP5032290B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)

Description

本発明は、書き換え可能な不揮発性メモリセルを用いて構成される不揮発性半導体記憶装置に関する。
不揮発性メモリセル(以下、「メモリセル」という。)として、フローティングゲートや電荷蓄積層などを有するメモリセルトランジスタなどが知られている。これらのメモリセルでは、フローティングゲートや電荷蓄積層などに保持される電荷量に応じてメモリセルの閾値が変化する現象を利用して、データの記憶がされる。したがって、メモリセルの閾値の制御が重要となる。
メモリセルの閾値の制御を行う方法として、メモリセルの閾値のベリファイを行いつつメモリセルに印加する電圧をステップアップしてデータの書き込みを行う方法が知られている(例えば、特許文献1参照)。また、ブロック単位でそのブロックに属するメモリセルに記憶されているデータを消去する時にもそのブロックに属する全てのメモリセルの閾値がデータ消去の状態になるまで閾値のベリファイを行いながら、ウェル層に印加する電圧をステップアップすることが行われている。
特開平7−169284号公報 G.J. Hemink et al., Symposium on VLSI Technology, 1995, pp.129-130
本発明では、印加する電圧をステップアップしながらメモリセルの閾値を制御する不揮発性半導体記憶装置において、印加する電圧の初期電圧(初期印加電圧)の調整を行う回路を備えたことを特徴とする不揮発性半導体記憶装置を提供する。
このために、ワード線に接続されるメモリセルから構成されるページを複数有するメモリセルアレイと、ページを示すページアドレスを生成するページアドレス生成回路と、生成されたページアドレスが示すページを構成する前記メモリセルが接続されているワード線に複数のデータ書込用電圧を印加する書込電圧印加回路と、前記メモリセルに書き込まれたデータの検証に成功するまでデータ書込用電圧を前記ワード線に印加する繰り返し回数をカウントする第1のカウンタと、その第1のカウンタによりカウントされた回数が第1の値を越える場合、その第1のカウンタの値を積算する積算回路と、その第1のカウンタによりカウントされた回数がその第1の値を越える場合、カウントアップを行う第2のカウンタと、積算回路による積算と第2のカウンタのカウントアップとの後に第1のカウンタをクリアして次のページアドレスを生成する次ページアドレス生成回路と、第2のカウンタの値と前記積算回路に積算された値に基づいて、データ書込用電圧の値を動作パラメータとして設定する書込電圧値設定回路とを有することを特徴とする不揮発性半導体記憶装置を提供する。
また、ワード線に接続されるメモリセルから構成されるページを示すページアドレスを生成し、生成されたページアドレスが示すページを構成するメモリセルを接続しているワード線に複数のデータ書込用電圧を印加し、データ書込用電圧が印加されたメモリセルに書き込まれたデータの検証に成功するまでデータ書込用電圧を前記ワード線に印加する繰り返し回数を第1のカウンタにカウントし、カウントされた繰り返し回数が第1の値を越える場合、第1のカウンタの値を積算回路に積算し、カウントされた繰り返し回数が第1の値を越える場合、第2のカウンタの値のカウントアップを行い、積算回路による積算と第2のカウンタのカウントアップとの後に第1のカウンタの値をクリアして次のページアドレスを生成し、第2のカウンタの値とその積算の値に基づいて、メモリセルに印加するべきデータ書込用電圧の値を動作パラメータとして設定することを特徴とする不揮発性半導体記憶装置の動作方法を提供する。
印加する電圧をステップアップしながらメモリセルの閾値を制御する不揮発性半導体記憶装置に、初期印加電圧の調整を行う回路を備えることにより、それぞれの不揮発性半導体記憶装置の特性に応じた初期印加電圧の設定を行うことができる。
以下、図面を参照して本発明を実施するための最良の形態について実施形態として詳細に説明する。ただし、本発明は多くの異なる態様で実施することが可能であり、以下に示す実施形態の記載内容に限定して解釈されるものではない。また、同様の構成については同じ符号を付し、改めて説明しない場合がある。
(実施形態1)
図1は、本発明の一実施形態における不揮発性半導体記憶装置の機能ブロック図として、NAND型フラッシュメモリを用いるメモリチップ1の機能ブロック図を一例として示す。図2は、メモリセルがメモリセルトランジスタである場合におけるメモリセルアレイ21のメモリセルの配列(NANDセルユニット)の等価回路図である。メモリセルアレイ21は、複数のNANDセルユニットを配列して構成される。各NANDセルユニットは、複数の書き換え可能な不揮発性メモリセルと、その両端に、ソース線SLとビット線BL0〜BLnに接続するための二つの選択ゲートトランジスタとを有する。
メモリセルの制御ゲートは、ビット線BL0〜BLnと直交して配置されるワード線WL0〜WLmに接続されている。また、選択ゲートトランジスタの制御ゲートは、これらのワード線と並行して配置される選択ゲート線SGD、SGSに接続されている。
ワード線を共有するNANDセルユニットの集合は、データ消去の単位となるブロックを構成する。例えば、図2では、ビット線の方向の上下に二つのブロックが示されており、上のブロックがl番目のブロックとして「ブロックl」と名付けられている。
また、同一のワード線で接続されているメモリセルの集まりは、書き込み、読み出しの単位としてページと呼ばれる。図2では、ブロックlのWL2に接続されているメモリセルの集まりが「ページl_2」と名付けられている。
なお、メモリセルアレイ21の一部は、ROMヒューズエリアとして使用され、出荷時などに各種パラメータの値が書き込まれ、通常の使用時には読取り専用として用いられる領域が含まれていてもよい。そして、初期印加電圧を表すVpgm_initなどのパラメータは、このROMヒューズエリアに格納されていてもよい。
図1に戻って説明を行うと、ロウデコーダ19は、メモリセルアレイ21のワード線の選択とワード線の駆動とを行う回路を含む。
カラムデコーダ24は、ビット線の選択を行う。センスアンプ回路22は、メモリセルアレイ21のビット線に接続され、入出力データを一時的に保持するデータレジスタ23と接続されている。
データの読み出し時には、センスアンプ回路22に読み出されたデータが、I/Oコントロール回路12を介して、外部入出力端子I/O1〜I/O8に出力される。
データの書き込み時には、外部のホスト装置から外部入出力端子I/O1〜I/O8に供給される書き込みデータがI/Oコントロール回路12、データレジスタ23を介してセンスアンプ回路22にロードされる。
外部入出力端子I/O1〜I/O8からI/Oコントロール回路12を介して供給されるコマンドは、コマンドレジスタ16を介して、制御回路17でデコードされる。チップイネーブル信号/CE、書き込みイネーブル信号/WE、読み出しイネーブル信号/RE、アドレスラッチイネーブル信号/ALE、コマンドラッチイネーブル信号/CLE等の外部制御信号は、外部からロジックコントロール回路13を介してI/Oコントロール回路12や制御回路17に供給される。制御回路17は、動作モードに応じて供給される外部制御信号及びコマンドに基づいて、データの書き込み、消去及びデータの読み出しのシーケンスの制御を行う。
ステータスレジスタ14は、チップ1内部の種々の状態を外部に知らせるためのレジスタである。例えば、ステータスレジスタ14には、チップ1がレディ/ビジー状態のいずれにあるかを示すデータを保持するレディ/ビジーレジスタ、書き込みのパス/フェイルを示すデータを保持する書き込みステータスレジスタなどがある。
電圧発生回路18は、メモリセルアレイ21やロウデコーダが動作モードに応じて必要とする書き込み電圧Vpgm、ベリファイ電圧Vverify、書き込みパス電圧Vpass、読み出し電圧Vread等の種々の電圧を発生する。
図3は、"1"と"0"という2値のデータがメモリセルに書き込まれる場合において、閾値に対するメモリセルの数の分布の好ましい一例を示す。2値のデータがメモリセルに書き込まれる場合には、理論的には、フローティングゲートなどに電荷が存在するかしないかによる閾値の違いを検出することで書き込まれたデータを検出することができる。しかし、実際には、個々のメモリセルの特性に応じて閾値のばらつきが発生する。そのため、データの書き込み時には、このばらつきの発生を制御し、図3に示されるように、"1"が書き込まれたメモリセルの一群と"0"が書き込まれたメモリセルの一群とが分離できるようにする必要がある。また、2より大なるN個のデータを一つのメモリセルに書込む場合も同様であり、N個のデータそれぞれの値が書込まれたメモリセルがその閾値により区別できるようになっている必要がる。そのために、以下に説明するように書き込みを行う際にはワード線に印加する電圧が制御される。
図4は、メモリセルへの書き込みを行う際の電圧の制御の一例を説明するタイミングチャートである。この制御の一例においては、メモリセルのデータ消去が行われると、メモリセルには"1"が書き込まれた状態となることが想定されている。タイミングt0より、書き込みが行われるメモリセルの属するページの存在するブロックを選択する選択ゲート線SGDの電圧を昇圧し、例えば、Vddとする。次いで、t1より、"0"が書き込まれるメモリセルが接続されているビット線の電圧を0Vに維持する。また、"1"が書き込まれるメモリセルが接続されているビット線に正の電圧、例えば3V、の印加を開始し、"0"が書き込まれないようにする。時刻t2より、書き込みが行われないページのワード線である非選択ワード線にメモリセルトランジスタをON状態にするに留まるVpassを印加し、書き込みが行われるページのワード線である選択ワード線に書き込みパス電圧Vpassよりも高電圧である書き込み電圧であるVpgmを印加する。
以上の制御により、非選択ワード線に接続されるメモリセルはビット線に印加された電圧を伝達するに留まる。また、選択ワード線に接続されたメモリセルのうち、"1"が書き込まれるメモリセルのセルチャネルの電圧は、選択ワード線に追従して変化し、電荷がフローティングゲートなどに注入されない。一方、"0"が書き込まれるメモリセルのセルチャネルの電圧は0Vに保たれ、セルチャネルと選択ワード線との電位差により電荷がフローティングゲートなどに注入されることになる。
ただし、注入される電荷量はメモリセルの特性により異なり、同じ電圧が印加あれても"0"が書き込まれるメモリセルの閾値は同じになるとは限らない。そこで、書き込み電圧の印加が終わるとメモリセルの閾値のベリファイを行い、閾値が"0"を表す電圧に到達していない不適切な閾値のメモリセルが接続されるビット線のみを0Vとし、選択ワード線にステップアップした書き込み電圧の印加を行い、閾値が"0"を表す電圧に到達するように制御を行う。
図5は、この制御のために選択ワード線に印加される電圧の変化の一例を示す。一回目の電圧の印加時には、メモリセルアレイ21のROMヒューズエリアなどに設定されているパラメータであるVpgm_initで表される書き込み電圧の最初の値である初期印加電圧を選択ワード線に印加する。そして、Vpgm_initに印加が終わると、ページの全てのメモリセルが適切な閾値となったかどうかのベリファイを行うために、選択ワード線にVverifyを印加し、また、非選択ワード線にはVpassを印加して、センスアンプ回路22により検出が行われる。
もし、ページに閾値が不適切なメモリセルが存在すれば、二回目の書き込み電圧の印加時には、一回目に印加された書き込み電圧にΔVpgmを加えた電圧を印加する。このΔVpgmはROMヒューズエリアなどに設定されたパラメータである。そして、再度ベリファイを行う。もし、閾値が不適切なメモリセルが依然として存在すれば、さらにΔVpgmを加えた電圧を書き込み電圧として選択ワード線に印加する。なお、閾値が適切になったメモリセルが接続されるビット線には例えば3Vなどの正の電圧を印加し、選択トランジスタがOFF状態となって、そのメモリセルにさらにデータの書き込みがされないようにする。
図6は、この制御の処理を説明するフローチャートの一例を示す。ステップS601の処理として、印加回数のカウントなどのための変数N(このような変数は制御回路内に配置されたレジスタなどにより実現される)に0を代入し、ステップS602として、印加する電圧を表す変数VpgmにパラメータVpgm_initの値を代入する。
ステップS603として、選択ワード線に変数Vpgmの値に応じた書き込み電圧を印加する。そしてステップS604として、選択ワード線にVveriryの電圧を印加してベリファイを行う。なお、ステップS603においては、書き込みを行うべきメモリセルが接続されたビット線には0Vを印加し、その他のビット線には正の電圧、例えば、3Vを印加する。
ステップS605において、ベリファイが成功したかどうか、すなわちページのメモリセルの全てのメモリセルの閾値が適切になったかどうか、を判断する。もし、ベリファイが成功していれば、ステップS606へ処理を移行させて、書き込み終了を外部のホスト装置へ通知する。もしベリファイが成功していなければ、ステップS607へ処理を移行させ、変数Vpgmの値をΔVpgm大きくする。そして、ステップS608として変数Nの値を1大きくし、ステップS609において、Nの値が所定の値Nmaxを越えているかどうかを判断する。もし、越えていればステップS610へ処理を移行させ、書き込み失敗を通知する。越えていなければ、ステップS603へ処理を戻す。
以上のように、メモリセルへのデータ書き込みの処理がされる。Vpgm_initにより表される初期印加電圧の値が小さいと、ステップS603からステップS609により形成されるループの実行回数(以下、「ループ回数」ともいう)が増加し、書き込みに時間を要することになり、また、初期印加電圧の値が大きすぎると、閾値が大きくなりすぎる虞がある。したがって、Vpgm_initの値を適切に設定してROMヒューズエリアなどに格納しておく必要がある。
また、あるブロックの全てのメモリセルに記憶されているデータを消去する場合には、ビット線、ワード線に印加する電圧を0Vに設定し、そのブロックの選択ゲートトランジスタのみがONとなるようにSGDの印加を行い、ROMヒューズエリアに設定されている所定の高電圧をウェルに印加する。そして、書き込み時と同様に、そのブロックの全てのメモリセルに記憶されているデータが消去されたかどうかを、メモリセルの閾値をベリファイする。もし、データの消去されていないメモリセルが存在すれば、次にウェルに印加する電位を所定の値だけステップアップすることを繰り返す。したがって、同様に、データ消去のための所定の高電位の値を適切に設定しておく必要がある。このようにデータ消去時に最初にウェルに印加される電圧も初期印加電圧と呼ぶことにする。
図7は、本発明の一実施形態の概要を説明する。例えば、ループ回数として4が適切であるとし、実際にメモリセルへの書き込み、あるいはデータの消去を行ったところ、6回目の電圧印加の後にベリファイが成功したとする。そこで、初期印加電圧の値に2*ΔVpgmを加えた電圧を表す値にVpgm_initの値を設定する。これにより、次にデータの書き込みとベリファイを繰り返すと4回の繰り返しの後にベリファイが成功することになる。ただし、メモリセルアレイ21には複数のページが存在するので、本発明の一実施形態では複数のページについての書き込み、あるいは消去の回数の平均を求めて、Vpgm_initなどの値の設定を行う。
例えば、複数のページについて書き込み電圧の印加の回数の平均を求め、その平均から望ましい印加回数を引いた回数の時にワード線に印加される電圧の値を表すようにVpgm_initの値を設定する。同様に、複数のブロックについて消去の電圧の印加の回数の平均を求め、その平均から望ましい印加回数を引いた回数の時にウェルに印加される電圧の値を表すように消去の初期印加電圧のパラメータの値を設定する。
このように、書き込み又は消去の電圧の印加の回数の平均を求め、データ書き込みやデータ消去の際の初期印加電圧を表すパラメータの値を設定することを、以下では「トリミング」という。
図8は、本発明の一実施形態に係る不揮発性メモリ装置1の制御回路17の構成を示す機能ブロック図である。図8においては、制御回路17のうち、データ書き込みのVpgm_initのトリミングに関する部分の機能ブロック図が示されている。
制御回路17は、トリミング回路801と、パラメータレジスタ802と、フェイル回数カウンタ803と、Vpgmレベル制御回路804と、ベリファイ回路805とを有する。
トリミング回路801は、第一比較回路806と、スイッチ807と、積算回路808と、スイッチ809と、パス回数カウンタ810と、除算回路811と、Vpgm_init設定回路812と、次ページアドレス生成回路813とを有する。
パラメータレジスタ802は、Vpgm_initなどのパラメータの値を動作パラメータの値として保持する領域である。動作パラメータとは、メモリチップ1が動作する際に参照されるパラメータである。図8では、便宜的に制御回路の内部に設けられているように示されているが、実際にはメモリセルアレイのROMヒューズエリアの一部であってもよい。
フェイル回数カウンタ803は、選択ワード線に書き込み電圧を印加した後にベリファイを行った結果、ベリファイに成功しなかった回数、すなわちベリファイに失敗した回数(以後、「フェイル回数」という。)を保持する回路である。フェイル回数カウンタ803は、後に説明するベリファイ回路805からベリファイ失敗の信号が出力されると、保持している値を1だけカウントアップし、ベリファイ成功の信号が出力されると、保持している値を0にクリアする。なお、0にクリアするかわりに1にクリアすると、ベリファイに成功するまでに書き込み電圧が印加された回数がフェイル回数カウンタ803によりカウントされる。
Vpgmレベル制御回路804は、選択ワード線に印加する書き込み電圧の値を決定し、その値の電圧を電圧発生回路18に発生させる。Vpgmレベル制御回路804は、まず、パラメータレジスタ802に保持されているVpgm_initの値に応じた書き込み電圧を発生させ、その後、ベリファイ回路805からベリファイ失敗の信号が出力されると、フェイル回数カウンタ803でカウントアップされたフェイル回数を取得し、ΔVpgmを乗じてVpgm_initの表す電圧の値に加えた書き込み電圧を発生させるとことをページごとに行う。
ベリファイ回路805は、選択ワード線にVverifyの電圧を印加して、書き込み対象のページの全てのメモリセルの閾値が適切になっているかどうかのベリファイを行う回路である。ベリファイ回路805は、ベリファイに失敗すると、ベリファイ失敗の信号を出力し、ベリファイに成功するとベリファイ成功の信号を出力する。また、ベリファイ回数が所定の回数(例えば、図6で示したNmax)を越えると、書き込み失敗の信号を出力する。
第一比較回路806は、フェイル回数カウンタ803の出力するフェイル回数とLminの値とを比較する。ここにLminは所定の定数である。例えば、パラメータレジスタ802に記憶されている。あるいは、Vpgm_initの設定を開始するコマンドであるトリミングコマンドとともに外部のホスト装置から出力されたパラメータである。比較を行った結果、フェイル回数がLminより大きくなると、スイッチ807とスイッチ809に出力され、フェイル回数の信号とベリファイ成功の信号とがそれぞれ積算回路808とパス回数カウンタ810とに転送されることになる。
積算回路808は、フェイル回数カウンタ803から転送されるフェイル回数を積算する。すなわち、内部で記憶している積算値と転送されたフェイル回数との和を求め、新たな積算値として記憶する。また、積算回路808は、後に説明する除算回路811へ積算値を出力する。
パス回数カウンタ810は、ベリファイ回路805からベリファイ成功の信号が転送された回数(以後、「パス回数」という。)をカウントする。また、パス回数カウンタ810は、カウントの結果を除算回路811へ出力する。
除算回路811とVpgm_init設定回路812とは、積算回路808による積算の値とパス回数カウンタ810にカウントされた値とに基づいて選択ワード線に印加する書き込み電圧の値をパラメータレジスタに設定する回路である。具体的な設定の例としては、除算回路811にて、選択ワード線あたりの書き込み電圧を印加した平均値を、パス回数カウンタ810にカウントされた値と積算回路808による積算の値とを用いて算出する。そして、その平均値から所定の回数(例えば図7に示した場合は4)を減じ、得られる値の回数目にワード線に印加される電圧の値を表すパラメータ値をパラメータレジスタ802に設定する。
具体的な例としては、除算回路811は、積算回路808から出力される積算値をパス回数カウンタ810から出力されるカウントの結果を割り算する。この結果、1ページあたりのフェイル回数の平均値が得られる。また除算回路811は、割り算の結果をVpgm_init設定回路812へ出力する。
また、具体的な例としては、Vpgm_init設定回路812は、除算回路811から出力される割り算の結果を用いて、パラメータレジスタ802に保持されているVpgm_initの値を設定し、トリミングの最終処理を行う回路である。図7に示したように、例えば、除算回路811から出力される割り算から所定の値を減算して得られる値にΔVpgmを乗じ、現在のVpgm_initの値を加算した値を新たなVpgm_initの値としてパラメータレジスタに設定する。
次ページアドレス生成回路813は、ベリファイ回路805からベリファイ成功又は書き込み失敗を表す信号が出力されると、トリミングのために次に書き込みを行うページのアドレスを生成する。ページのアドレスは、例えば、ブロックの番号あるいはブロックアドレスとそのブロックでのワード線の番号とから構成される。ページのアドレスの生成は、図示されない乱数生成器などにより発生させた乱数を用いて行ったり、ROMヒューズエリアに格納されている所定の範囲内のアドレスを順次生成することで実現されたりしてもよい。乱数を用いる場合には、例えば、生成された乱数をメモリチップ1のブロック数により割り算を行い、その余りをページのアドレスとする。
また、ページアドレスは、外部からI/Oコントロール回路から入力されるようになっていてもよい。すなわち、トリミングのために次に書き込みを行うページのアドレスを生成する必要が生じると、次ページアドレス生成回路813が動作し、メモリチップ1がレディ状態などとなったことが外部のホスト装置に伝達され、この伝達に応じてI/O1〜16により入力されるデータが次のページアドレスとして読み込まれるようになっていてもよい。
図9は、本発明の一実施形態における不揮発性半導体記憶装置における初期印加電圧を表す値を設定する処理のフローチャートの一例を示す。ステップS901の処理として、ページアドレスを初期設定する。すなわち、一番目に書き込み電圧を印加するワード線に接続されたメモリセルから構成されるページのアドレスをセットする。このページのアドレスは、パラメータレジスタに設定されていたり、チップ1に接続されているテスト装置などから供給されたりする。そして、ステップS902として、パス回数カウンタ810に保持されている値の0クリアを行う。
そして、一つのページにおけるフェイル回数をカウントするために、ステップS903の処理として、フェイル回数カウンタ803に保持されている値の0クリアを行う。ステップS904として、Vpgmレベル制御回路804を動作させて、フェイル回数カウンタ803に保持されているフェイル回数に応じた書き込み電圧を選択ワード線に印加する。各ページについて最初にステップS904の処理が行われると、Vpgm_initの値に応じた書き込み電圧が印加される。
書き込み電圧の印加が終わると、ステップS905の処理として、ベリファイ回路805を動作させて、ベリファイを行う。そして、ベリファイに成功していれば、ステップS906へ処理を移行させ、ベリファイに失敗していれば、ステップS909へ処理を移行させる。
ステップS905においてベリファイに成功している場合には、ステップS906の処理として、第一比較回路806により、フェイル回数カウンタ803に保持されている値と、Lminの比較を行い、Lminの方が小さい場合に、ステップS907とステップS908の処理を行う。Lminの方が小さくない場合には、ステップS907とステップS908をスキップする。
ステップS907の処理として、パス回数カウンタ810に保持されている値をカウントアップし、ステップS908の処理として、積算回路808にフェイル回数カウンタ803に保持されている値を積算させる。
一方、ステップS905においてベリファイに失敗している場合には、ステップS909の処理として、フェイル回数カウンタ803に保持されている値をカウントアップし、次に、ステップS910として、Lmaxとフェイル回数カウンタ803に保持されている値を比較して、Lmaxの方が大きければ、書き込み電圧をステップアップして選択ワード線に印加するために、ステップS904へ戻る。Lmaxの方が大きくなければ、書き込みが失敗したことになるので、次のページに対する書き込みとベリファイを行うために、ステップS912へ処理を移行させる。
ステップS905においてベリファイに成功し、ステップS906〜S908の処理が行われた後には、ステップS911の処理として、Vpgm_initを設定するために書き込みとベリファイを行うべきページの全てに対して処理が終わっているかどうかを判断し、もしそうであれば、フェイル回数の平均を求め、新しいVpgm_initの設定を行うために、ステップS913へ処理を移行させる。書き込みとベリファイを行うべきページは、例えば、上述のテスト装置からそのアドレスが供給されていたりする。書き込みとベリファイを行うべきページの全てに対して処理が終わっていなければ、次のページに対する書き込みとベリファイを行うためにステップS912へ処理を移行させる。
ステップS912では、次に書き込みとベリファイを行うページのアドレスを生成するために、次ページアドレス生成回路813を動作させる。もし、次のページアドレスが生成できなければ、ステップS913へ処理を移行させる。次に書き込みとベリファイを行うページのアドレスは、上述のテスト装置により決定されるようになっていてもよい。また、次に書き込みとベリファイを行うページが生成できなければ、ステップS913へ処理を移行するようになっていてもよい。
ステップS913の処理として、除算回路811を動作させて、積算回路808に保持されている値をパス回路カウンタに保持されている値で除算を行いその結果を出力し、ステップS914の処理として、Vpgm_init設定回路812を動作させ、除算回路811が出力する値に基づいて新しいVpgm_initの設定を行い、書き込みについての初期印加電圧のトリミングを終了する。
上記では、書き込みの初期印加電圧のトリミングについて説明したが、データ消去の初期印加電圧のトリミングも同様に行える。すなわち、上記の説明では、フェイル回数カウンタ803はページごとにフェイル回数をカウントしたが、これをブロックごとにフェイル回数をカウントする。そして、Vpgmレベル制御回路804は、ウェルに印加する電圧を制御する。ベリファイ回路805は、ブロックの全てのメモリセルの閾値がデータ消去の閾値の範囲になっているかどうかをベリファイする。次ページアドレス生成回路813は、次のブロックのアドレスを生成する。これにより、除算回路811により、ブロックごとのフェイル回数の平均値を求めることができる。
本発明に係る一実施形態においては、不揮発性半導体記憶装置が初期印加電圧を表すパラメータ値を設定する回路を有するので、個々の不揮発性半導体記憶装置の製造時のばらつきなどにより発生する特性に応じた初期印加電圧のトリミングが行える。
また、フェイル回数がLmin以下になる場合や、Lmaxを越えるページのフェイル回数は、フェイル回数の平均の算出に用いられず、初期電圧の設定に影響を与えない。このため、バッドブロックのページでのフェイル回数は無視されるので、従来行われていたバッドブロックの検出を行う必要がなくなり、初期電圧の設定の作業に要する時間をバッドブロックの検出に要する時間だけ短縮することができる。
特にバッドブロックの検出を行う必要がないことは、個々のメモリチップにより異なるバッドブロックのアドレスを考慮する必要がないことを意味する。すなわち、複数のメモリチップを一台のトリミングを行う装置(例えばテスト装置)に接続し、複数のメモリチップにトリミングのために書き込みを行うページアドレスや消去を行うブロックのアドレスを同時に与えてトリミングを行うことができる。
(実施形態1の別の形態1)
なお、上述した本発明の一実施形態の別の形態として、図9に示したフローチャートの処理を行った後に、もう一度、フェイル回数の平均値を求め、フェイル回数の平均値が所定の範囲に属しているかどうかを判断するようにしてもよい。
すなわち、図10のフローチャートに示すように、ステップS1001の処理として、全ブロックのメモリセルの記憶されているデータの消去の処理を行う。そして、ステップS1002の処理として、図9のフローチャートに示された処理を行い、初期印加電圧のトリミングを行う。そして、ステップS1003の処理として、再度、全ブロックのメモリセルの記憶されているデータの消去の処理を行う。その後、ステップS1004の処理として、図9のフローチャートのうち、S914以外の処理を行い、フェイル回数の平均値を求める。
データ消去のトリミングの場合には、ステップS1001、ステップS1103の処理を行う必要はない。
なお、ステップS1002とステップS1004において、書き込み電圧が印加されベリファイが行われるページ、ブロックは同じである必要はない。例えば、ステップS1004でのページやブロックの数がステップS1002でのページやブロックの数よりも多くなっていてもよい。また、逆に、少なくなっていてもよい。
そして、ステップS1005の処理として、ステップS1004にて求められたフェイル回数の平均値が所定の値M(例えば、トリミングコマンドのパラメータ)よりも小さいかどうかなど、所定の範囲に属しているかどうかを判断し、もし、そうであれば、ステップS1006へ処理を移行し、初期印加電圧のトリミングを終了し、そうでなければ、ステップS1007へ処理を移行し、不揮発性半導体記憶装置を不良品とみなしてもよい。あるいは、ステップS1004にて求められたフェイル回数の平均値に応じて、不揮発性半導体記憶装置の性能を判定し、価格などを決定してもよい。
(実施形態1の別の形態2)
上述した本発明の一実施形態の別の形態として、フェイル回数カウンタ803に保持されている値そのものを積算回路811により積算するのではなく、フェイル回数カウンタ803に保持されている値から所定の値を減算した値を積算回路811により積算するように制御回路17を構成してもよい。
図11は、そのような構成における制御回路17の機能ブロック図を示す。図8との違いは、フェイル回数カウンタ803から出力されるフェイル回数を、減算回路1102により、所定の定数だけ減じて積算回路808に出力する点である。ここでいう所定の定数は、例えば、除算回路811により計算されると予測されるフェイル回数の平均値である。フェイル回数から所定の定数が減じられて積算されるので、除算回路811は、除算を行った後に、その所定の定数を加算する。
図11では、減算回路1102は、フェイル回数カウンタ803とスイッチ807との間に配置されているが、スイッチ807と積算回路808との間に配置されていてもよい。
フェイル回数から所定の定数が減じられて積算されるので、その所定の回数が、除算回路811により計算されると予測されるフェイル回数の平均値と同じであるか、近い値であると、積算回路808には0に近い数値が積算されることになる。このため、積算回路808を構成するレジスタなどのビット数を少なくすることができ、回路規模を小さくすることができる。また、除算回路811の回路規模を小さくすることができる。
(実施形態1の別の形態3)
上述した本発明の一実施形態の別の形態として、除算回路811をシフト演算回路で実現する形態がある。図12は、図8に示す機能ブロック図の除算回路811をシフト回路で実現している。また、第二比較回路1202をさらに配置して、パス回数カウンタ1202が第二比較回路1202にもカウントの結果を出力するようになっている。
第二比較回路1202は、パス回数カウンタ1202が出力するカウントの結果が2のべき乗になっているかどうかを比較する。また、第二比較回路1202は、パス回数カウンタ1202が出力するカウントの結果の2の対数をシフト回路811に出力するようになっていてもよい。この場合、2の対数は、浮動小数点数、固定小数点数などとして表現される必要はなく、2の対数の整数部分であってもよい。また、単純にパス回路カウンタ1202に保持されている値を2進数表示した場合の桁数から1を引いた数であってもよい。
図13は、この形態でのVpgm_initの設定の処理の流れを説明するフローチャートの一例を示す。図9のフローチャートと比較すると、図9におけるステップS906の処理が、図13においては、ステップS1301処理として、フェイル回数がLminより大であり、かつ、パス回数カウンタ810に保持されている値が2のべき乗2未満であるかどうかを判断するようになっている。これにより、バッドブロックではないと推測されるページについてパス回数のカウントアップとフェイル回数の積算を行うことができる。また、ステップS1302で判断するパス回数が2のべき乗2を超えることを防ぐことができる。また、ステップS911の処理において、Vpgm_initを設定するために書き込みとベリファイを行うべきページの全てに対して処理が終わっていると判断されると、ステップS1302として、パス回数カウンタ810に保持されている値が2のべき乗に等しいかどうかを判断している。もしそうであれば、除算をシフト演算で行うことが可能となるので、ステップS913,S914を行うようになっている。また、パス回数カウンタ810に保持されている値が2のべき乗2に等しくなければ、ステップS1303として、トリミング失敗の通知を行う処理を行うようになっている。
なお、図13のフローチャートにおいては、ステップS911、S1302及びS1303との処理を融合し、パス回数カウンタ810の値が2のべき乗2になっていることを調べ、所定の値以上(例えば、256以上)の2のべき乗になっていれば、ステップS913へ処理を移行するようにしてもよい。さらに、まだ書き込みとベリファイが行われていないページの数をパス回数カウンタ810に加えても所定の値以上の2のべき乗を越えないならば、トリミング失敗の通知を行うようになっていてもよい。
なお、以上において説明したトリミング回路の機能ブロック図においては、フェイル回数カウンタ803、第一比較回路806、積算回路808、パス回数カウンタ810、除算回路811など、計算の機能を備える複数の回路が配置されている。しかし、本発明の一実施形態は、このような計算の機能を備える複数の回路を配置する点は必須ではない。例えば、一つの演算回路で実現することもできる。
図14は、一つの演算回路で第一比較回路806、積算回路808、パス回数カウンタ810、除算回路811などと同等の機能を実現するトリミング演算回路の概念図である。トリミング演算回路1400は、フェイル回数レジスタ1401と、パス回路レジスタ1402と、積算レジスタ1403と、アーギュメントレジスタ1404と、マルチプレクサ1405と、演算器1406と、演算結果レジスタ1407とを有し、また、パラメータレジスタ802がマルチプレクサ1405と演算結果レジスタ1407に接続されている。
フェイル回数レジスタ1401は、フェイル回数を保持するために用いられるレジスタである。フェイル回数レジスタ1401は、フェイル回数カウンタ803の機能のうち、カウントアップの機能を除いた機能を有する。
パス回数レジスタ1402は、パス回数を保持するために用いられるレジスタである。パス回数レジスタ1402は、パス回数カウンタ810の機能うち、カウントアップの機能を除いた機能を有する。
積算レジスタ1403は、フェイル回数の積算値を保持するために用いられるレジスタである。積算レジスタ1403は、積算回路808の機能うち、積算の演算の機能を除いた機能を有する。
アーギュメントレジスタ1404は、トリミングを行うコマンドとともに入力された数値(コマンドの引数など)を保持するレジスタである。例えば、Lmin、Lmaxの値を保持する。
マルチプレクサ1405は、パラメータレジスタ802、フェイル回数レジスタ1401、パス回路レジスタ1402、積算レジスタ1403、アーギュメントレジスタ1404に保持された値のうちの一を選択し、演算器1406へ出力する。
演算器1406は、マルチプレクサ1405から出力される値と演算結果レジスタ1407から出力される値とを用いて演算を行い、演算結果レジスタ1407に出力する。演算器1406が行う演算には、定数0を生成すること、演算器1406に入力されるいずれかの値をそのまま出力すること、演算器1406に入力されるいずれかの値に1を加える演算、演算器1406に入力される2つの値の和、差、商を求める演算、比較演算がある。
フェイル回数レジスタ1401、パス回数レジスタ1402、積算レジスタ1403のいずれかを0クリアするには、演算器1406で0を生成し、それを演算結果レジスタ1407に記憶し、演算結果レジスタ1407に記憶された値を、フェイル回数レジスタ1401、パス回数レジスタ1402、積算レジスタ1403のいずれか取り込ませる。
また、フェイル回数レジスタ1401、パス回数レジスタ1402に保持された値をカウントアップするには、マルチプレクサ1405によりフェイル回数レジスタ1401、パス回数レジスタ1402の値のいずれかを選択して、演算器1406に1を加える演算を行わせて演算結果レジスタ1407に記憶し、演算結果レジスタ1407に記憶された値を、フェイル回数レジスタ1401、パス回数レジスタ140に取り込ませる。
フェイル回数の積算を行うには、マルチプレクサ1405により積算レジスタ1403を選択して、積算レジスタ1403に記憶されている値を、演算器1406を通して演算結果レジスタ1407に取り込ませて記憶させ、次に、マルチプレクサ1405によりフェイル回数レジスタ1401を選択し、演算器1406により演算結果レジスタ1407に記憶されている値とフェイル回数レジスタ1401の値との和を求めて演算結果レジスタ1407に記憶させる。そして、演算結果レジスタ1407に記憶されている値を積算レジスタ1403に記憶させる。
同様にして、新しいVpgm_initの値などの初期印加電圧を表す値が演算され演算結果レジスタ1407に記憶された場合には、その値をパラメータレジスタ802に記憶させる。
フェイル回数レジスタ1401と、パス回路レジスタ1402と、積算レジスタ1403と、アーギュメントレジスタ1404と、マルチプレクサ1405と、演算器1406と、演算結果レジスタ1407と、パラメータレジスタ802との動作のタイミングは、図示されていない有限状態オートマトンあるいはシーケンサにより信号が図9に例示されるフローチャートの処理が実行されるように生成されてフェイル回路レジスタ1401などに出力される。
(実施形態2)
本発明の実施形態2として、ワード線の位置に応じてVpgm_initのトリミングを行う構成について説明する。一般に、選択ゲートトランジスタに隣接するなどして選択トランジスタと近い位置に配置されているメモリセルは、Gate Induced Drain Leakage(GIDL)効果などにより、そうでないメモリセルと異なる閾値を有する傾向にある。そのため、選択ゲートトランジスタと近い位置に配置されているメモリセルとそうでないメモリセルとで、Vpgm_initの値のトリミングを分けて行うのが好ましい。本実施形態においては、このように選択ゲートトランジスタとの近さに応じて、すなわちワード線の位置に応じて、Vpgm_initのトリミングを行う場合について説明する。
図15は、本発明の実施形態2に係る処理の流れを説明するフローチャートを例示する。このフローチャートでは、一つのブロックにつきワード線がWL0からWL31までの32本あるとし、選択トランジスタに隣接しているメモリセルを接続するWL0とWL31、そして隣接していないメモリセルを接続するWL1〜WL30についての3つのVpgm_initを個別に設定する処理を示している。
本実施形態では、図8、図11、図12に例示したトリミング回路のVpgm_init設定回路812は、パラメータレジスタ802に設定するべきVpgm_initの値を一時的に記憶するためのレジスタとしてR0、R1の2つを有しているとする。
ステップS1501の処理として、図9のフローチャートの処理のうちS914以外の処理を各ブロックのWL0について行い、フェイル回数の平均値を求め、結果をレジスタR0に記憶する。この時点では、R0に記憶された結果に基づいてVpgm_initのトリミングをした結果をパラメータレジスタに設定しない。なぜならば、WL0のVpgm_initの値は、WL1〜WL30のVpgm_initの値からの差として記憶されるなどして、WL1〜WL30のVpgm_initがトリミングされないと正しく算出できない場合があるからである。
例えば、WL0、WL1〜WL30、WL31の初期印加電圧を表すパラメータをそれぞれ、Vpgm_init0、Vpgm_init01_30、Vpgm_init31とすると、
Vpgm_init0=Vpgm_init01_30+WL0Vpgm
Vpgm_init31=Vpgm_init01_30+WL31Vpgm
としてパラメータ間に依存している場合には、WL1〜WL30のVpgm_initがトリミングされないと、WL0のVpgm_initのトリミングが正しくできない。
次に、ステップS1502の処理として、図9のフローチャートの処理のうちS914以外の処理を各ブロックのWL1〜WL30について行い、フェイル回数の平均値を求め、その結果をレジスタR1に記憶する。
ステップS1503の処理として、R0とR1とに記憶された値からWL0のVpgm_initのトリミングを行う。例えば、R0が5、R1が6であり、望ましい印加回数が4であれば、WL0については、現在のVpgm_initに比べて初期印加電圧をΔVpgm大きく設定し、WL1〜WL30については、2*ΔVpgm大きく設定することになる。WL0の初期印加電圧をWL1〜WL30の印加電圧との差分を示すパラメータWL0Vpgmの値として、−1をパラメータレジスタ802に設定する。
この時点では、まだ、WL1〜WL30のVpgm_initはパラメータレジスタ802に設定しない。WL31についてのフェイル回数の平均値を求める必要があるからである。
ステップS1504の処理として、図9のフローチャートの処理のうちS914以外の処理を各ブロックのWL31について行い、フェイル回数の平均値を求める。その結果は、R0に保持する。
そして、ステップS1505の処理として、R1に保持された結果を用いてWL1〜WL31のVpgm_initのトリミングを行う。上述の例では、2に相当する値をパラメータレジスタ802に設定する。
次に、ステップS1506の処理として、R0に保持された結果を用いてWL31のVpgm_initのトリミングを行う。
図15にWL0、WL1〜WL30、WL31のそれぞれのVpgm_initの設定の場合についての処理を例示している。もし、WL0、WL1,WL2〜WL29、WL30、WL31のそれぞれのVpgm_initの設定を行う場合には、Vpgm_init設定回路812に、R0、R1、R2の3つのレジスタを用意する。そして、WL0についてのフェイル回数の平均値をR0に、WL1についてのフェイル回数の平均値をR1に、WL2〜WL29についてのフェイル回数の平均値をR2に記憶する。
そして、R0、R1、R2に記憶された値を用いることで、WL0、WL1についてのVpgm_initのトリミングを行う。次に、WL30についてのフェイル回数の平均値をR0に記憶し、WL31についてのフェイル回数の平均値をR1に記憶する。
次に、R2に記憶された値を用いてWL2〜WL29のVpgm_initのトリミングを行い、R0、R1にそれぞれ記憶された値を用いてWL30、WL31のVpgm_initのトリミングを行う。
以上のように処理を行うことにより、WL0、WL1〜WL30、WL31の区分けの数の3より少ないレジスタの数により、ワード線の位置に応じたVpgm_initのトリミングを行うことができる。
(その他の実施形態)
また、同一のウェルに配置された複数のメモリセルから構成されるブロックを複数有するメモリセルアレイと、ブロックを指し示すページアドレスを生成するブロックアドレス生成回路と、生成されたブロックアドレスで指し示されるブロックのウェルに消去用の電圧を印加する消去電圧印加回路と、消去書込用の電圧が印加されたウェルの配置されたメモリセルに書き込まれたデータの検証に失敗した場合に再び消去用の電圧を前記ウェルに印加する繰り返し回数をカウントする第1のカウンタと、その第1のカウンタによりカウントされた回数が第1の値を越える場合、その第1のカウンタの値を積算する積算回路と、その第1のカウンタによりカウントされた回数がその第1の値を越える場合、カウントアップを行う第2のカウンタと、積算回路による積算と第2のカウンタのカウントアップとの後に第1のカウンタをクリアして次のブロックアドレスを生成する次ブロックアドレス生成回路と、第2のカウンタの値と前記積算回路に積算された値に基づいて、ウェルに印加する消去用の電圧の値を動作パラメータとして設定する消去電圧値設定回路とを有することを特徴とする不揮発性半導体記憶装置を提供することもできる。このような不揮発性半導体装置により、データ消去に要する時間を短縮することができる。
本発明の一実施形態に係る不揮発性半導体記憶装置の機能ブロック図である。 本発明の一実施形態に係るNANDセルユニットの等価回路図である。 本発明の一実施形態に係る閾値に対するメモリセルの数の分布の好ましい一例図である。 本発明の一実施形態に係るメモリセルへの書き込みを行う際の電圧の制御のタイミングチャートである。 本発明の一実施形態に係る選択ワード線に印加される電圧の変化の一例図である。 本発明の一実施形態に係る書き込みとベリファイの制御のフローチャートである。 本発明の一実施形態に係る書き込み初期電圧Vpgm_initのトリミングを説明する図である。 本発明の一実施形態に係る不揮発性メモリ装置の制御回路の構成図である。 本発明の一実施形態に係る書き込み初期電圧Vpgm_initのトリミングのフローチャートである。 本発明の一実施形態に係る書き込み初期電圧Vpgm_initのトリミングのフローチャートである。 本発明の一実施形態に係る不揮発性メモリ装置の制御回路の構成図である。 本発明の一実施形態に係る不揮発性メモリ装置の制御回路の構成図である。 本発明の一実施形態に係る書き込み初期電圧Vpgm_initのトリミングのフローチャートである。 本発明の一実施形態に係る不揮発性メモリ装置の制御回路の構成図である。 本発明の一実施形態に係る書き込み初期電圧Vpgm_initのトリミングのフローチャートである。
符号の説明
17…制御回路、801…トリミング回路、802…パラメータレジスタ、803…フェイル回数カウンタ、804…Vpgmレベル制御回路、805…ベリファイ回路、806…第一比較回路、807…スイッチ、808…積算回路、809…スイッチ、810…パス回数カウンタ、811…除算回路、812…Vpgm_init設定回路

Claims (5)

  1. ワード線に接続されるメモリセルから構成されるページを複数有するメモリセルアレイと、
    ページを示すページアドレスを生成するページアドレス生成回路と、
    前記ページアドレスが示すページを構成する前記メモリセルが接続されているワード線に複数のデータ書込用電圧を印加する書込電圧印加回路と、
    前記メモリセルに書き込まれたデータの検証に成功するまで前記データ書込用電圧を前記ワード線に印加する繰り返し回数をカウントする第1のカウンタと、
    前記第1のカウンタによりカウントされた回数が第1の値を越える場合、前記第1のカウンタの値を積算する積算回路と、
    前記第1のカウンタによりカウントされた回数が前記第1の値を越える場合、カウントアップを行う第2のカウンタと、
    前記積算回路による積算と前記第2のカウンタのカウントアップとの後に前記第1のカウンタをクリアして次のページアドレスを生成する次ページアドレス生成回路と、
    前記第2のカウンタの値と前記積算回路に積算された値に基づいて、前記複数のデータ書込用電圧の一の値を動作パラメータとして設定する書込電圧値設定回路と、
    を有することを特徴とする不揮発性半導体記憶装置。
  2. 前記メモリセルに書き込まれたデータの検証に失敗した後にデータ書込用電圧を前記ワード線に印加する場合、前記ワード線に前回に印加されたデータ書込用電圧よりもステップアップしたデータ書込用電圧を印加することを特徴とする請求項1に記載の不揮発性半導体記憶装置。
  3. 前記書込電圧値設定回路は、
    ページあたりの前記繰り返し回数の平均値を算出するための除算回路と、
    前記算出された平均値に該当する回数目から所定の回数前の回数目に印加される前記データ書込用電圧の値を動作パラメータとして設定する設定回路と、
    を有することを特徴とする請求項1に記載の不揮発性半導体記憶装置。
  4. ワード線に接続されるメモリセルから構成されるページを示すページアドレスを生成し、
    前記ページアドレスで示されるページの前記メモリセルが接続されているワード線に複数のデータ書込用電圧を印加し、
    前記メモリセルに書き込まれたデータの検証に成功するまで前記データ書込用電圧を前記ワード線に印加する繰り返し回数を第1のカウンタにカウントし、
    前記繰り返し回数が第1の値を越える場合、前記第1のカウンタの値の積算と第2のカウンタの値のカウントアップとを行い、
    前記第1のカウンタをクリアして次のページアドレスを生成し、
    前記第2のカウンタの値と前記積算の値に基づいて、前記複数のデータ書込用電圧の一の値を動作パラメータとして設定することを特徴とする不揮発性半導体記憶装置の動作方法。
  5. ページを、共通ソース線に隣接するワード線に接続されたメモリセルから構成される第1のページ群、共通ソース線から最も離れたワード線に接続されたメモリセルから構成される第2のページ群、前記第1のページ群及び前記第2のページ群以外のページの第3のページ群に分割し、
    前記ページアドレスの生成においては、前記第1のページ群に属するページのページアドレスを生成した後に前記第3のページ群に属するページのページアドレスを生成してその後に前記第2のページ群に属するページのページアドレスを生成し、
    前記第1のページ群に属するページを構成するメモリセルが接続されているワード線に印可するべき前記複数のデータ書込用電圧の一の値を求め、
    前記第3のページ群に属するページを構成するメモリセルが接続されているワード線に印加するべき前記複数のデータ書込用電圧の一の値を求め、
    前記第1のページ群に属するページを構成するメモリセルが接続されているワード線に印可するべき前記複数のデータ書込用電圧の一の値を動作パラメータとして設定し、
    前記第2のページ群に属するページを構成するメモリセルが接続されているワード線に印加するべき前記複数のデータ書込用電圧の一の値を求め、
    前記第3のページ群に属するページを構成するメモリセルが接続されているワード線に印加するべき前記複数のデータ書込用電圧の一の値を動作パラメータとして設定し、
    前記第2のページ群に属するページを構成するメモリセルが接続されているワード線に印加するべき前記複数のデータ書込用電圧の一の値を動作パラメータとして設定することを特徴とする請求項4に記載の不揮発性半導体記憶装置の動作方法。
JP2007323166A 2007-12-14 2007-12-14 不揮発性半導体記憶装置 Expired - Fee Related JP5032290B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007323166A JP5032290B2 (ja) 2007-12-14 2007-12-14 不揮発性半導体記憶装置
US12/333,656 US7859910B2 (en) 2007-12-14 2008-12-12 Nonvolatile semiconductor memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007323166A JP5032290B2 (ja) 2007-12-14 2007-12-14 不揮発性半導体記憶装置

Publications (2)

Publication Number Publication Date
JP2009146510A JP2009146510A (ja) 2009-07-02
JP5032290B2 true JP5032290B2 (ja) 2012-09-26

Family

ID=40753025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007323166A Expired - Fee Related JP5032290B2 (ja) 2007-12-14 2007-12-14 不揮発性半導体記憶装置

Country Status (2)

Country Link
US (1) US7859910B2 (ja)
JP (1) JP5032290B2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250375B2 (en) * 2008-04-25 2012-08-21 Microsoft Corporation Generating unique data from electronic devices
KR100953045B1 (ko) * 2008-05-23 2010-04-14 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
KR101551449B1 (ko) * 2009-02-25 2015-09-08 삼성전자주식회사 비휘발성 메모리 장치 및 그것을 포함한 메모리 시스템
US8352835B2 (en) * 2009-06-10 2013-01-08 International Business Machines Corporation Data verification using checksum sidefile
US8243520B2 (en) * 2009-11-02 2012-08-14 Infineon Technologies Ag Non-volatile memory with predictive programming
JP2011198419A (ja) * 2010-03-19 2011-10-06 Toshiba Corp 不揮発性半導体記憶装置およびその書き込み方法
JP5761935B2 (ja) 2010-07-22 2015-08-12 キヤノン株式会社 被検体情報取得装置、被検体情報取得方法および被検体情報取得プログラム
JP2012150857A (ja) * 2011-01-17 2012-08-09 Toshiba Corp 電源回路
JP5364750B2 (ja) 2011-03-25 2013-12-11 株式会社東芝 メモリシステム、及び不揮発性メモリデバイスの制御方法
JP5813380B2 (ja) * 2011-06-03 2015-11-17 株式会社東芝 半導体記憶装置
KR20130123933A (ko) * 2012-05-04 2013-11-13 에스케이하이닉스 주식회사 전기적 퓨즈 럽쳐 회로
US9472302B2 (en) * 2013-03-07 2016-10-18 Intel Corporation Redundant fuse coding
US9922720B2 (en) * 2013-03-07 2018-03-20 Intel Corporation Random fuse sensing
US9281078B2 (en) 2014-06-12 2016-03-08 Micron Technology, Inc. Program operations with embedded leak checks
KR20160060917A (ko) * 2014-11-21 2016-05-31 에스케이하이닉스 주식회사 비휘발성 메모리 소자 및 이의 프로그래밍 방법
US9626109B2 (en) * 2014-12-11 2017-04-18 Kabushiki Kaisha Toshiba System and method for managing the operating parameter of a nonvolatile memory
JP6457364B2 (ja) 2015-09-11 2019-01-23 東芝メモリ株式会社 メモリシステム
US11574691B2 (en) 2016-02-24 2023-02-07 Samsung Electronics Co., Ltd. Memory device and memory system
KR102458918B1 (ko) * 2016-02-24 2022-10-25 삼성전자주식회사 메모리 장치 및 메모리 시스템
WO2018078774A1 (ja) * 2016-10-27 2018-05-03 楽天株式会社 Icチップ対応型端末、icチップ設定方法、及びプログラム
US10068657B1 (en) * 2017-02-10 2018-09-04 Sandisk Technologies Llc Detecting misalignment in memory array and adjusting read and verify timing parameters on sub-block and block levels
KR20220104954A (ko) * 2021-01-19 2022-07-26 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3626221B2 (ja) 1993-12-13 2005-03-02 株式会社東芝 不揮発性半導体記憶装置
US5555204A (en) * 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
KR100323554B1 (ko) * 1997-05-14 2002-03-08 니시무로 타이죠 불휘발성반도체메모리장치
JP4157189B2 (ja) * 1997-05-14 2008-09-24 株式会社東芝 不揮発性半導体記憶装置
JP3854025B2 (ja) * 1998-12-25 2006-12-06 株式会社東芝 不揮発性半導体記憶装置
JP3866627B2 (ja) * 2002-07-12 2007-01-10 株式会社東芝 不揮発性半導体メモリ
JP4005895B2 (ja) * 2002-09-30 2007-11-14 株式会社東芝 不揮発性半導体メモリ装置
EP1654736B1 (en) * 2003-07-30 2009-09-16 SanDisk IL Ltd. Method and system for optimizing reliability and performance of programming data in non-volatile memory devices
US7206224B1 (en) * 2004-04-16 2007-04-17 Spansion Llc Methods and systems for high write performance in multi-bit flash memory devices
JP4909670B2 (ja) * 2006-01-24 2012-04-04 株式会社東芝 不揮発性半導体記憶装置及びそれを用いた不揮発性メモリシステム
US7453731B2 (en) * 2006-09-12 2008-11-18 Sandisk Corporation Method for non-volatile memory with linear estimation of initial programming voltage
US7606091B2 (en) * 2006-09-12 2009-10-20 Sandisk Corporation Method for non-volatile memory with reduced erase/write cycling during trimming of initial programming voltage
JP4950296B2 (ja) * 2006-09-12 2012-06-13 サンディスク コーポレイション 初期プログラミング電圧のトリミング中に消去/書き込みサイクルを減らす不揮発性メモリおよび方法
WO2008033693A2 (en) * 2006-09-12 2008-03-20 Sandisk Corporation Non-volatile memory and method for linear estimation of initial programming voltage
JP2008262623A (ja) * 2007-04-11 2008-10-30 Toshiba Corp 不揮発性半導体記憶装置

Also Published As

Publication number Publication date
JP2009146510A (ja) 2009-07-02
US20090154244A1 (en) 2009-06-18
US7859910B2 (en) 2010-12-28

Similar Documents

Publication Publication Date Title
JP5032290B2 (ja) 不揮発性半導体記憶装置
US9685206B2 (en) Memory device, memory system, and method of controlling read voltage of the memory device
KR101126006B1 (ko) 열화에 응답한 메모리 장치의 제어
US8923056B2 (en) Non-volatile memory device for reducing operating time and method of operating the same
KR100967007B1 (ko) 불휘발성 메모리 소자의 프로그램 검증 방법
US9064580B2 (en) Nonvolatile semiconductor memory device and write-in method thereof
KR100953063B1 (ko) 불휘발성 메모리 장치의 소거 방법
KR101184866B1 (ko) 불휘발성 메모리 장치 및 이의 동작 방법
JP2010170645A (ja) 不揮発性メモリ装置及びその動作方法
JP2004046985A (ja) 不揮発性半導体メモリ及びそのテスト方法
KR20100018318A (ko) 공통 소스 라인의 노이즈를 줄이는 플래시 메모리 장치 및그것을 포함하는 메모리 시스템
JP2009151912A (ja) フラッシュメモリ装置及び動作方法
US8897069B2 (en) Semiconductor memory device and operating method thereof
US8559233B2 (en) Semiconductor memory device
JP2009043390A (ja) 不揮発性メモリ装置のソフトプログラム方法
TWI765582B (zh) 半導體記憶裝置及讀取方法
JP2011086364A (ja) 不揮発性半導体記憶装置
US10424369B2 (en) Semiconductor memory device
US9424934B2 (en) Non-volatile semiconductor memory device and writing method thereof
CN111063382B (zh) 用于确定存储器单元的预期数据有效期的设备及方法
JP2008262623A (ja) 不揮発性半導体記憶装置
KR20100110155A (ko) 비휘발성 메모리 장치의 쓰기 방법
JP2006031821A (ja) 不揮発性半導体記憶装置
TW202029199A (zh) 用於判定記憶體單元之預期資料使用期限之裝置及方法
KR101014968B1 (ko) 불휘발성 메모리 소자와 그 페이지 버퍼 회로

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120523

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: 20120605

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120628

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

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees