JP2012069180A - 半導体記憶装置 - Google Patents

半導体記憶装置 Download PDF

Info

Publication number
JP2012069180A
JP2012069180A JP2010211269A JP2010211269A JP2012069180A JP 2012069180 A JP2012069180 A JP 2012069180A JP 2010211269 A JP2010211269 A JP 2010211269A JP 2010211269 A JP2010211269 A JP 2010211269A JP 2012069180 A JP2012069180 A JP 2012069180A
Authority
JP
Japan
Prior art keywords
data
verify
latch circuit
control unit
fail
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.)
Pending
Application number
JP2010211269A
Other languages
English (en)
Inventor
Koji Tabata
浩司 田畑
Sakatoshi Saito
栄俊 斉藤
Mitsuhiro Abe
光弘 阿部
Norimasa Hara
徳正 原
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 JP2010211269A priority Critical patent/JP2012069180A/ja
Priority to US13/157,638 priority patent/US20120072806A1/en
Publication of JP2012069180A publication Critical patent/JP2012069180A/ja
Pending 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
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

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)

Abstract

【課題】 面積の小さな半導体記憶装置を提供する。
【解決手段】 半導体記憶装置は、ラッチ回路を含んだバッファ13を含んでいる。所定数のラッチ回路からラッチ回路群が複数構成され、各ラッチ回路群において各ラッチ回路はそれぞれが転送回路を介して共通線に共通に接続されている。エラー訂正部3は、共通線と接続され、供給されたデータに含まれるエラービットの検出および訂正を行なう。データ転送制御部22は、ベリファイの対象のメモリセルからデータをバッファに読み出させ、所定数のラッチ回路群にわたって順次各ラッチ回路群中のラッチ回路が保持するデータの全てを対応する共通線に部分ベリファイデータとして読み出す。ベリファイ制御部21は、エラー訂正部に所定数のラッチ回路群の各々からの部分ベリファイデータの集合からなるベリファイデータに対してエラー検出を行なわせてベリファイデータ中のフェイルビットの有無を判定する。
【選択図】 図3

Description

本発明の実施形態は半導体記憶装置に関する。
半導体記憶装置の一例としてNAND型フラッシュメモリが知られている。NAND型フラッシュメモリは、各メモリセルトランジスタの閾値の違いを利用してデータを保持する。NAND型フラッシュメモリでは、複数のメモリセルからなるページと呼ばれる単位でデータが書き込まれ、複数の連続するページからなるブロック単位でデータが消去される。
フラッシュメモリでは、データの書き込み(プログラム)および消去後に検証動作(ベリファイ)が行なわれる。ベリファイは、データ書き込み対象のメモリセルにデータが正しく書き込まれたか、また、消去対象のブロック中のデータが正しく消去されたかを確認するための動作である。具体的には、ベリファイ対象のメモリセルトランジスタが目標の閾値を超えていれば、このメモリセルから閾値を超えていることに応じたデータ(例えば“1”データ)がページバッファに読み出される。一方、ベリファイ対象のメモリセルが目標の閾値を超えていなければ“0”データがページバッファに読み出される。そこで、ベリファイ対象のメモリセルからページバッファに読み出されたデータ(以下、ベリファイデータと称する)が全ビットにおいて“1”データを有しているかが判定され、全ビットが“1”データであればベリファイはパスと判定される。ベリファイがフェイルと判定された場合は、書き込み対象のページまたは消去対象のブロックに対して再書き込みまたは再消去が行われる。
上述の例では、書き込みの場合であれば1ページ内に、消去の場合であれば1ブロック内に、1ビットでも期待値でないビット(フェイルと判定されたビット)があればベリファイフェイルと判断される(以下、一括検知と称する)。したがって、例えばページバッファ中の全データのOR(論理積)を取ることを通じた判定でベリファイが可能であり、実施のための構成はシンプルである。
フラッシュメモリにはまた、フラッシュメモリチップの外部に、またはオンチップでエラー訂正回路(ECC)が設けられることがある。ECCは、フラッシュメモリの微細化による信頼性の低下を補うこと等を目的に設けられる。しかしながら、フェイルビットをECCにより救済するという用途も可能である。そこで、ECCによって救済できるビット数に基づいて決定された例えば3ビットのフェイルビットの存在時はベリファイパスと判断することが実際のデバイスやD/S時に一般的に行われている。このような判定は、例えば擬似パス(pseudo pass)などと称され、製品の歩留まりを向上させることができる。
擬似パスであるか否かを判定するためには、ベリファイデータに含まれるフェイルビットの個数を計数する必要がある。この計数のためには専用の検知回路が必要であり、ベリファイに要する回路の面積が増大する一因になっている。
特開2000−48783号公報
面積の小さな半導体記憶装置を提供しようとするものである。
実施形態の一態様による半導体記憶装置は、半導体記憶装置は、複数のメモリセルを含んだメモリセルアレイおよび前記メモリセルにおいてデータの書き込みおよび消去を行なうように構成されたメモリ部を含む。バッファは、複数の前記メモリセルからのデータを保持する複数のラッチ回路を含み、前記複数のラッチ回路のうちの所定の複数のラッチ回路からラッチ回路群が複数構成され、各々の前記ラッチ回路群において各々の前記ラッチ回路はそれぞれが転送回路を介して共通線に共通に接続されている。エラー訂正部は、前記共通線と接続され、供給されたデータに含まれるエラービットの検出および訂正を行なう。データ転送制御部は、ベリファイ時にベリファイの対象の複数の前記メモリセルからデータを前記バッファに読み出させ、所定数の前記ラッチ回路群にわたって順次各前記ラッチ回路群中の複数の前記ラッチ回路が保持するデータの全てを対応する前記共通線に部分ベリファイデータとして読み出し、前記部分ベリファイデータを前記エラー訂正部に転送させる。ベリファイ制御部は、前記エラー訂正部に、所定数の前記ラッチ回路群の各々から読み出された前記部分ベリファイデータの集合からなるベリファイデータに対してエラー検出を行なわせて、前記ベリファイデータ中のフェイルビットの有無を判定する。
参考例のページバッファおよび検知回路、ならびに一括検知を示す図。 参考例のページバッファおよび検知回路、ならびにフェイルビットカウントを示す図。 第1実施形態に係る半導体記憶装置を概略的に示すブロック図。 ブロックの具体例の回路図。 ブロックの具体例の断面図。 第1実施形態に係る半導体記憶装置のページバッファの回路構成を概略的に示す図。 第1実施形態に係る半導体記憶装置によるベリファイを概略的に示すフローチャート。 第2実施形態に係る半導体記憶装置によるベリファイを概略的に示すフローチャート。 第3実施形態に係る半導体記憶装置によるベリファイおよび再書き込みを概略的に示すフローチャート。 第4実施形態に係る半導体記憶装置によるベリファイを概略的に示すフローチャート。 第5実施形態に係る半導体記憶装置によるベリファイを概略的に示すフローチャート。 第6実施形態に係る半導体記憶装置によるベリファイを概略的に示すフローチャート。
本発明者等は、実施形態の開発の過程において、以下に述べるような知見を得た。
(参考例)
図1は、ページバッファおよび検知回路、ならびに一括検知を概略的に示している。図1に示されているように、ページバッファPBは、複数のラッチ回路LCを有している。ラッチ回路LCは、フリップフロップ回路からなっており、それぞれが特定の行および特定の列に属している。カラム0に属する全てのラッチ回路LCの各々の一端は、N型のMOSFET(metal oxide semiconductor field effect transistor)T1のゲートと接続されている。各トランジスタT1の一端は、線COM0と接続され、他端はトランジスタT2を介して接地されている。同様に、カラムx(xは自然数)に属する全てのラッチ回路LCの各々の一端は、トランジスタT1のゲートと接続され、トランジスタT1は電流経路の一端において線COMxと接続され、他端においてトランジスタT2を介して接地されている。
各カラムは、8つのラッチ回路LCを含んでいる。ロウ0に属する各トランジスタT2のゲートには、信号ADD0が供給される。同様に、ロウ0〜7の各々に属する各トランジスタT2のゲートには、信号ADD0〜7がそれぞれ供給される。
検知回路DCにおいて、線COM0は、P型のMOSFET T3を介して電源と接続され、またノア回路NORの第1入力と接続されている。ノア回路ORの第2入力にはローレベルの信号が供給されている。ノア回路NORの出力は、N型のMOSFET T4のゲートと接続されている。トランジスタT4は、電流経路の一端において線LSENと接続され、他端においてN型のMOSFET T5を介して接地されている。
同様に、線COMxは、カラム0用のトランジスタT3、T4、T5、ノア回路NORと同様に接続された対応するカラムx用のトランジスタT3、T4、T5、ノア回路NORの組と接続されている。各カラムにおいて、トランジスタT4の他端は、線LSENに共通に接続されている。
線LSENは、ナンド回路NDを介してN型のMOSFET T6のゲートと接続されている。トランジスタT6の電流経路の一端は電位VRとして検出され、他端は接地されている。線LSENはまた、演算増幅器OPの非反転入力と接続されている。演算増幅器OPの反転入力は、直列接続された所定数のN型のMOSFET T7と接続されている。演算増幅器OPの出力は電位HRとして検出される。
一括検知の際、まず、ベリファイデータがページバッファPBの各ラッチ回路LCのノードN1にラッチされる。メモリセルが目的の閾値となっている場合は、ベリファイデータは“H”レベルを有しており、なっていない場合は、ベリファイデータは“L”レベルを有している。図1の例では、カラム1かつロウ0のラッチ回路LCが“L”レベルのベリファイデータを保持している。このため、このラッチ回路LCと接続されているトランジスタT1はオンしている。
次に、線COMxの全ておよび線LSENがハイレベルにプリチャージされ、次いで信号ADD0〜ADD7がハイレベルとされる。すると、線COM1の電位は、フェイルのベリファイデータを保持しているラッチ回路LCと接続されているトランジスタT1およびトランジスタT2を介して電流Iが流れることによって低下する。一方、パスのベリファイデータを保持しているラッチ回路LCと接続されている線COMxは“H”レベルを維持する。
線COM1の電位が低下したことにより、線COM1と接続されたノア回路NORの出力がハイレベルとなる。すると、カラム1のトランジスタT4、T5を介して電流XUAが流れることによって線LSENの電位が低下する。この電位の低下により、電位VRが“L”レベルとなって、一括検知がフェイルと判定される。一方、いずれのベリファイデータも“H”レベルであるなら、信号ADD0〜ADD7がハイレベルとされた際に線COMxのいずれの電位も低下しない。このため、線LSENの電位も低下せず、電位VRは“H”レベルを維持する。電位VRが“H”レベルを維持することが検出されることによって、一括検知がパスと判定される。
次に、図2を参照して、フェイルビットカウント動作を説明する。図2の回路の構成は図1と同じである。
まず、図1と同様に、各ラッチ回路LCにベリファイデータが読み出され、線COMxの全ておよび線LSENが“H”レベルにプリチャージされる。次に、信号ADD0が“H”レベルとされる。すると、パスのベリファイデータを保持するラッチ回路LCのカラムに対応する線COMxは“H”レベルを維持する。一方、フェイルのベリファイデータを保持するラッチ回路LCのカラム(例えばカラム1、2)の線COM1、COM2の電位は低下する。
線LSENは、ロウ0の全ベリファイデータがフェイルビットを1つも有していなければHレベルを保持し、1つでも有していれば、その電位が低下する。この低下量は、ロウ0の全ベリファイデータ中のフェイルビットの個数に応じた大きさの電位分と等しい。したがって、線LSENの電位変化に応じて、ある規定したフェイルビット数(トランジスタT7の個数に応じて定まる)以下であれば、電位HRは“H”レベルを維持し、フェイルビット数が規定数を超えていれば、電位HRは“L”レベルとなる。この結果が論理回路(図示せず)によって処理される。
続いて、信号ADD0の次の信号ADD1が選択され、ロウ0についての上記の処理と同じ処理がロウ1について繰り返される。同様に、ロウ2〜ロウ7についても同じ処理が行なわれ、それまでのフェイルビット数が累積される。この累積されたフェイルビット数は、ページと同サイズのベリファイデータ中のフェイルビット数に等しい。このフェイルビット数が閾値(クライテリア)を超えていれば、フェイルビットカウントはフェイルと判定され、超えていなければパスと判定される。
以上の、ベリファイに必要な検知回路の存在が、NAND型フラッシュメモリのチップ面積を増大させる原因となっている。
以下に、このような知見に基づいて構成された実施形態について図面を参照して説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
以下に実施形態について図面を参照して説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。また、以下に示す各実施形態は、この実施形態の技術的思想を具体化するための装置や方法を例示するものであって、実施形態の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものでない。実施形態の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
また、各機能ブロックは、ハードウェア、コンピュータソフトウェアのいずれかまたは両者を組み合わせたものとして実現することができる。このため、各ブロックがこれらのいずれでもあることが明確となるように、概してそれらの機能の観点から以下に説明する。このような機能が、ハードウェアとして実行されるか、またはソフトウェアとして実行されるかは、具体的な実施態様またはシステム全体に課される設計制約に依存する。当業者は、具体的な実施態様ごとに、種々の方法でこれらの機能を実現し得るが、いずれの実現の手法も実施形態の範疇に含まれる。また、特定の機能ブロックが、別の機能ブロック中に含まれていたり、別の機能ブロックによって実行されることもあり得る。
(第1実施形態)
図3は、第1実施形態に係る半導体記憶装置を概略的に示すブロック図である。図3に示されているように、半導体記憶装置は、メモリ部1、コントローラ2、ECC処理部3を含んでいる。
メモリ部1は、メモリセルアレイ11、ページバッファ12、メモリコントローラ13を含んでいる。メモリ部1は、例えばNAND型フラッシュメモリであり、任意のページにページ単位でデータの書き込みおよび読み出しを行い、任意のブロックのデータをブロック単位で消去できるように構成されている。メモリセルアレイ11は、複数のブロックBlockを含んでいる。各ブロックBlockは、複数のメモリセル、ワード線、ビット線等を含んでいる。ブロックは、複数のメモリセルからなる複数のページからなる。各ブロック中のメモリセルトランジスタは、一括して消去される。
メモリ部1の各種の動作はメモリコントローラ13により制御される。メモリコントローラ13は、各種の動作を行なうのに必要な機能を備えており、例えばビット線制御回路、ワード線制御回路、電圧発生回路等を含んでいる。例えば、メモリコントローラ13は、データ入出力端子において、メモリ部1の動作を制御する各種コマンドおよびアドレスを受け取り、またデータを受け取ったり出力したりする。メモリコントローラ13が書き込みコマンド、アドレス信号、および書き込みデータを受け取ると、書き込みデータをメモリセルアレイ11に供給する。さらに、メモリコントローラ13はアドレス信号により特定されるワード線に書き込みに必要な電圧を印加する。また、メモリコントローラ131は、読み出しコマンドおよびアドレス信号を受け取ると、アドレス信号により特定されるビット線およびその他の制御線に所定の電位を与えてメモリセルからデータを読み出す。読み出されたデータは、ページバッファ12に読み出され、次いでメモリコントローラ13の制御に従ってセンスアンプ等により増幅され、メモリ部1の外部に出力される。さらに、メモリコントローラ13は、消去コマンドおよびアドレス信号を受け取ると、アドレス信号により特定されるワード線およびその他の所定の位置に所定の電位を与えてメモリセル中のデータを消去する。
図4はブロックBlockの具体例の回路図であり、図5はブロックBlockの具体例の断面図である。図4および図5に示されているように、1つのブロックBlockは、複数のメモリセル列MUを含んでいる。メモリセル列MUは、NANDストリングと、選択トランジスタST1、ST2から構成される。NANDストリングは、直列接続された複数個のメモリセルトランジスタMTからなる。選択ランジスタST1、ST2は、NANDストリングの両端にそれぞれ接続される。選択トランジスタST2の電流経路の他端はビット線BLに接続され、選択トランジスタST1の電流経路の他端はソース線SLに接続されている。
ワード線WL0乃至WL63は、同じ行に属する複数のメモリセルトランジスタMTに接続される。セレクトゲート線SGDは、ブロック内の全選択トランジスタST2に接続されている。セレクトゲート線SGSは、WL方向に沿って延び、ブロック内の全選択トランジスタST1と接続されている。同じワード線WLと接続されている複数のメモリセルトランジスタMTは、1つのページを構成する。ページごとに読み出し動作、書き込み動作が行われる。なお、1つのメモリセルが複数ビットのデータを保持可能な多値メモリセルの場合、1つのワード線に複数ページが割り当てられる。
メモリセルMTは、ビット線BLとワード線WLとの各交点に設けられる。メモリセルMTは、半導体基板内に形成されたウェルWell上に設けられる。ウェルWellは、電圧発生回路と接続されており、電圧発生回路によって所定の電圧を印加される。メモリセルMTは、ウェル上に積層されたトンネル絶縁膜(図示せず)、電荷蓄積層としての浮遊電極FG、ゲート間絶縁膜(図示せず)、制御電極CG(ワード線WL)、ソース/ドレイン領域SDを有している。メモリセルMTの電流経路であるソース/ドレインは、隣接するメモリセルMTのソース/ドレインに直列接続されている。選択トランジスタST1、ST2は、半導体基板上に積層されたゲート絶縁膜(図示せず)、ゲート電極SGS、SGD、ソース/ドレイン領域SDを含んでいる。
ECC処理部3は、データの読み出しの際にページバッファ12からデータを受け取り、データに対してエラー訂正を行なう。ECCのための符号として、BCH符号、RS符号、ハミング符号などの線形符号が用いられる。これらの符号を用いたエラー訂正では、データに対し、そのデータ部に応じたパリティが符号化の際に生成され、「データ+パリティ」がECCのための符号として用いられる。これらの符号の特徴として、データが全て“0”のビットから構成されていると、パリティもまた全て“0”のビットから構成される。つまり、全て“0”のビットから構成されるパリティは正しい符号として成立しており、デコードの際、このようなパリティからECCの訂正能力範囲内で何ビットかのフェイルビットも正しくデコードされることが可能である。また、ECC処理部3はベリファイ時にも動作する。ベリファイ時の動作については後に詳述する。
コントローラ2は、メモリ部1およびECC処理部3を制御する。コントローラ2は、ベリファイに関する機能を行なう要素として、ベリファイ制御部21、データ転送制御部22、ECCビジー判断部23、SERR検査部24、ラッチ25、レジスタ26を含んでいる。ベリファイ制御部21は、ベリファイの全体を司り、ベリファイの際にメモリ部1およびECC制御部3を制御する。ベリファイ制御部21は、データ転送制御部22、ECCビジー判断部23、SERR検査部24、ラッチ25、レジスタ26、と通信し、また、これらを制御してベリファイ実行のための制御を行なう。ベリファイ制御部21、データ転送制御部22、ECCビジー判断部23、SERR検査部24の詳しい動作については、後に詳述する。なお、ラッチ25、レジスタ26は後述の実施形態において用いられ、これらの実施形態において説明する。
図6は、第1実施形態に係る半導体記憶装置のページバッファの回路構成を概略的に示している。図6に示されているように、ページバッファ12は、複数のラッチ回路LCを有しており、1ページ分のデータを保持できるように構成されている。特定の数の特定のラッチ回路LCは特定のグループを構成している。具体例として、特定の複数のラッチ回路LCから1つのカラムが構成され、同様の構成のカラムが複数個設けられている。また、特定の複数のラッチ回路LCから1つのロウが構成され、同様の構成のロウが複数個設けられている。以下では、このような特定のラッチ回路LCがカラムおよびロウを構成しているものとして説明する。しかしながら、各ラッチ回路LCは、論理的に特定のグループを構成していればよく、物理的にも行列状に配置されていることは必須ではない。
各ラッチ回路LCは、同じ構成を有し、フリップフロップ回路からなる。具体的には、ラッチ回路LCは2つのナンド回路を含んでおり、一方のナンド回路の出力および入力が他方のナンド回路の出力および入力とそれぞれ接続されている。2つのナンド回路の各入力の間にはN型のMOSFETが接続されている。一方のナンド回路の入力N1はラッチ回路LCの入力として、対応するメモリセルと接続されている。
図中の最も左側のカラム0の各ラッチ回路LCの出力ノードN2は、N型のMOSFET T1のゲートと接続されている。各トランジスタT1は、電流経路の一端においてトランジスタT2を介して接地され、他端において線COM0に共通に接続されている。同様に、カラムn(nは自然数)のラッチ回路LCの出力N2は、カラムn用のトランジスタT1のゲートと接続されている。各カラムnにおいて、各トランジスタT1は、電流経路の一端においてトランジスタT2を介して接地され、他端において線COMnに共通に接続されている。
所定数(例えばm)の連続する線COMnごとに同じI/O線と接続されている。I/O線については、例えば8本のI/O線I/O0〜I/O7が設けられている。例えば、カラム0〜カラムmの線COMnがI/O線0と接続され、カラムm+1〜カラム2mの線COMnがI/O線1と接続され、以下、同様である。以下の説明では、各m本のカラムの組ごとに、カラムの番号が割り当てられるものとする。すなわち、各I/O線I/O0〜I/O7と接続される最も小さい番号のカラムがカラム0で、最も大きい番号のカラムがカラムmである。したがって、カラム0は8本存在し、カラム2も8本存在し、以下、同様である。I/O線I/O0〜I/O7は、ページバッファ12とECC処理部3との間のバスを介してECC処理部3と接続されている。以下の説明において、I/O線I/O0〜I/O7を相互に区別せずに引用する際は、包括的にI/O線I/Oと記載する。
ロウ0中の各ラッチ回路LCと接続されているトランジスタT1のゲートは、アドレス信号ADD0と接続されている。同様に、ロウ1〜ロウ7の各々について、各ロウ1〜ロウ7の各ラッチ回路LCと接続されているトランジスタT1のゲートには、アドレス信号ADD1〜ADD7がそれぞれ供給される。アドレス信号ADD0〜ADD7は、コントローラ2と接続されている。
次に、図7を参照して、第1実施形態に係る半導体記憶装置のベリファイの動作について説明する。第1実施形態は、ベリファイの一例である一括検知に関する。図7は、第1実施形態に係る半導体記憶装置によるベリファイ(一括検知)を概略的に示すフローチャートである。
上記のように、ECC処理部3は、全てが“0”のビットからなるデータも、正しくエラー検出できる。したがって、全てが“1”のビットからなるデータについても、全ビットを反転されたデータをECC処理部3に入力すれば、正しくエラー検出できる。一方、ベリファイデータの期待値は全てが“1”のビットからなる。そこで、ベリファイデータの全ビットを反転させてECC処理部3に入力することによって、ベリファイデータの検証およびフェイルビットの計数を行なうことができる。
したがって、ベリファイデータが内部データバスを介してECC処理部3に順次入力され、ECC処理部3においてシンドロームが順次生成され、ECCの符号長分(通常、セクタとして定義されている)のデータの入力が終了するとシンドロームが確定する。そして、ECC処理部3は、デコードを行ない、演算結果に応じてエラー数およびエラーアドレスを出力する。
ベリファイは、エラーの有無のみの判定を目的としており、一括検知は1ページと同サイズのベリファイデータが検知の対象なので、エラーの有無の判定を1ページにわたって実施される必要がある。この処理の実行に必要な時間は、以下のように概算される。例えば、1ページが8セクタで構成され、ページサイズが4KB(実際は冗長領域も含め4KB+128B)で、セクタサイズが512B+冗長部16B=528Bである場合を例に取る。一般に、ECC回路(ECC処理部3を含む)は、セクタ単位でエラー訂正処理を行う。このため、1セクタ分のデータのECC回路への転送およびECC回路での演算ならびにエラー数判定という一連の処理が8セクタにわたって実行され、8セクタ分のベリファイデータ中のエラーの有無が判定されることによって、ECC処理部3を用いた一括検知が可能である。例えばページバッファ12とECC処理部3との間のバスの幅が32ビットであれば、1セクタ分のデータ(528バイト)の転送に132サイクル要し、1ページと同サイズ(8セクタ)のデータの転送には132×8=1056サイクル必要である。そして、例えば周期20ns(周波数50MHz)のクロックでの転送を仮定すると、転送だけで20μs超を要してしまう。一括検知は書き込みベリファイごと、および消去ベリファイごとに行われるので、1回のベリファイが数μs程度で完了しなければ、フラッシュメモリの性能劣化が生じてしまう。
そこで本実施形態では、ベリファイデータが、アドレスが多重選択された形、すなわち複数のアドレス分のデータの論理積が内部データバスに読み出される。以下に、具体的な動作について説明する。
まず、ベリファイの開始に際し、ベリファイ制御部21は、データ転送制御部22を通じて、メモリ部1に、ベリファイ対象のメモリセルからページバッファ12へとベリファイデータを読み出させる(ステップS1)。ベリファイデータは、各ラッチ回路LCの入力ノードN1に保持される。ベリファイデータは、対応するメモリセルがベリファイパスであれば、“H”レベルを有し、ベリファイをパスしていなければ(ベリファイフェイルであれば)、“L”レベルを有する。
次に、ベリファイ制御部21は、I/O線I/O0〜I/O7を“H”レベルにプリチャージする(ステップS2)。次に、ベリファイ制御部21は、全てのカラム0(本例では計8本)を選択し、次いで全てのアドレス信号ADD0〜ADD7を選択する(ステップS3)。この結果、各カラム0において、ベリファイデータが、ワイヤードOR(wired OR)された形で対応するI/O線I/O0〜I/O7に出力される(ステップS4)。すなわち、I/O線I/O0〜I/O7の各々に、このI/O線I/O0〜I/O7と接続されたカラム0の全てのラッチ回路LCに保持されているベリファイデータが縮退された形で読み出される。例えば、I/O線I/O0と接続されたカラム0の全てのラッチ回路LCはベリファイパスのデータを保持している(ノードN2の電位は“L”レベル)とすると、I/O線I/O0は“H”レベルを維持する。一方、例えばI/O線I/O1と接続されたカラム1は、ベリファイフェイルのデータを保持するラッチ回路LCを1つ含んでいるので、I/O線I/O1は、“L”レベルへと低下する。
次に、データ転送制御部22は、I/O線I/O0〜I/O7にアドレス多重選択により読み出されたデータをECC処理部3へ転送する(ステップS5)。ここで、全てのビットが反転されたベリファイデータがECC処理部3に供給される。このように、ベリファイデータは、全ビットを反転された形でECC処理部3に供給される。ビットの反転処理は、例えば、ページバッファ12とECC処理部3の間にインバータを設け、データ転送制御部22の命令によって、ベリファイ時にECC処理部3に転送されるデータの全ビットを反転させることにより行なうことができる。
次に、ベリファイ制御部21は、ページと同サイズ(例えば528バイト)のベリファイデータがECC処理部3に転送されたかを判断される(ステップS6)。偽と判断された場合、カラムアドレスが1、インクリメントされ(ステップS7)、ステップS2〜S6が繰り返される。このように、8アドレス分のベリファイデータが多重選択されて読み出されるので、ページと同サイズのベリファイデータを転送するのに要するサイクルは132である(例えば約2.6μs)。したがって、ステップS6での判断は、本例では、132回、ステップS2〜S5が実行されたかの判断に相当する。こうしてECC処理部3に転送されたベリファイデータの大きさは、ちょうど、ECC処理部3のセクタ(ECC処理単位)と等しい。
次に、ベリファイ制御部21は、ECC処理部3にECC処理(ECCデコード)を命じる。この命令を受けて、ECC処理部3はECC処理を行なう(ステップS8)。すなわち、ECC処理部3は、供給されたベリファイデータからシンドロームを生成し、次いで、生成されたシンドロームをデコードしてベリファイデータに含まれるエラー数およびエラーアドレスを検出する。ECC処理部3は、処理の間、ビジー信号を出力し、処理の終了後、SERRを出力する。ビジー信号およびSERRは、ECCビジー判断部23およびSERR検査部24にそれぞれ供給される。ECC処理の完了およびSERRの出力に要する時間は、多ビットの訂正能力を持つECC処理部であれば、一般に数百サイクルである。しかし、この数百サイクルのうち、エラーの有無を判定する(フェイルステートの確定)のに要する時間は、数サイクル(例えば5サイクル)のみである。したがって、ECC処理の開始(ビジー信号の出力の開始)から、フェイルステートの確定までに要する時間(例えば5サイクル)の経過後にビジー信号が“L”レベルであれば、このことは、ベリファイデータがフェイルビットを含んでいないことを意味する。このため、ECCビジー判断部23は、ベリファイデータがフェイルビットを含んでいるかの判定を行なうために、ECC処理部3がエラーの有無の判断に要する時間(例えば5サイクル)の間、待機する(ステップS9)。
待機後、ECCビジー判断部23は、ビジー信号が“L”レベルであるかを判定する(ステップS10)。“L”レベルであれば、このことはベリファイデータ中の全ビットがベリファイパスであることを意味するので、ベリファイ制御部21は一括検知パスと判定し(ステップS11)、処理は終了する。一方、ステップS10においてECCビジー信号が“H”レベルであれば、ベリファイデータはフェイルビットを含んでおり、このため、コントローラ4は一括検知フェイルと判定し(ステップS12)、処理は終了する。
以上述べたように、第1実施形態によれば、ECC処理部によってベリファイのパスまたはフェイルが判定される。フラッシュメモリには、一般に、ECC処理部が設けられており、これが利用されるので、ベリファイ専用の検知回路は不要である。したがって、ベリファイ専用の検知回路の分、チップの面積を削減できる。
上記のように、ページと同サイズのデータの大きさは8セクタと同サイズのデータの大きさに相当するので、ページと同サイズのデータに対して一括検知を行なうには8セクタ分のデータが順次転送される必要がある。これに対して、第1実施形態によれば、8個のアドレスが多重選択されることにより、内部データバス上にワイヤードORされた8ロウアドレス分のデータが読み出される。この結果、転送サイクルは、本実施形態を用いない場合の1/8である。すなわち、1セクタ分の転送サイクルで実質ページと同サイズ(8セクタ)のベリファイデータをECC処理部3に転送できる。したがって、ベリファイに要する時間が、専用の検知回路を用いた例に比べて増大することも回避される。
なお、当然ながら、データがワイヤードORされているので、ワイヤードORにより縮退された複数ビット内に複数のフェイルビットが含まれている可能性がある。しかし、一括検知の目的はページど同サイズのベリファイデータ内で最低1つのフェイルビットを検出することなので、本実施形態によってその目的を達成できる。さらに、ECC処理部3にとっても、入力されるデータがちょうど処理単位と同じ1セクタなので、特別な方策を施すことなく、処理を実行できる。なお、実際には、ECC処理部3に入力されるベリファイデータの大きさがセクタに満たない状況にも本実施形態は容易に対応可能である。ベリファイデータの全ビットの期待値は“1”であるとともにECC処理部3には全てのビットが反転されたベリファイデータが供給されることを利用して、足りない分が補われるということが可能だからである。すなわち、1セクタに足りない分として“0”のビットがECC処理部3に入力されたものとして、ECC処理部3は処理を行なう。この点の具体的な事例は後述の実施形態において説明する。
(第2実施形態)
第2実施形態は、ページと同サイズのベリファイデータ中のフェイルビットを計数する(以下、フルページビットスキャンと称する)ベリファイに関する。
第2実施形態に係る半導体記憶装置の要素は、第1実施形態(図3〜図6)と同じである。第2実施形態の動作について図8を参照して説明する。図8は、第2実施形態に係る半導体記憶装置によるベリファイ(フルページビットスキャン)を概略的に示すフローチャートである。大まかには、まず第1実施形態のように一括検知が行なわれ、一括検知フェイルの場合に、フェイルビット数が許容数以下であるかの判定を通じて擬似パスかが判定される。以下に、具体的に説明する。
図8に示されているように、まずステップS1〜S10が行なわれる。すなわち、アドレス多重選択を用いてページと同サイズのベリファイデータがECC処理部3に転送され、ECC処理が行なわれる。ステップS10においてECCビジー信号が“L”レベルであれば、ページと同サイズの処理中のベリファイデータはフェイルビットを含んでいないため、ベリファイ制御部21は、フルページビットスキャンがトゥルーパスであると判定し(ステップS21)、処理は終了する。一方、ステップS10においてECCビジー信号が“H”レベルであれば、ベリファイ制御部21は、続いてフェイルビットの計数を行なうために、ECC処理部3での処理が完了してECCビジー信号が“L”レベルとなるまで待機する(ステップS22)。
次に、SERR検査部24は、ECC処理部3からSERRを受け取る。SERRには、ベリファイデータに訂正能力を超えたエラー数が含まれている場合に訂正不能エラーの旨の情報が含まれている。一方、ベリファイデータに訂正能力以下の数のエラーが含まれる場合、そのエラー数の情報が含まれ、それに応じたエラーを含んだワードのアドレスがADDRESSに出力される。ワードとは、1サイクルでECC処理部3に転送されるデータの大きさである。したがって、本例のように、1サイクルで転送されるベリファイデータが32ビットであれば、1ワードの大きさは32ビットである。
SERR検査部24は、SERRを検査してベリファイデータが訂正能力を超えた数のエラーを含んでいるか否かを判断する(ステップS23)。エラー数が訂正能力を超えていれば、このことはベリファイデータ中のフェイルビットを計数することができないことを意味する。このため、ベリファイ制御部21は、ベリファイ(フルページビットスキャン)がフェイルであると判定し(ステップS24)、処理は終了する。
一方、ステップS23においてエラー数が訂正能力以下であれば、SERR検査部24は、SERRを検査して、エラーを含んだワードのアドレスを抽出し、ラッチ25に保持する(ステップS25)。上記のように、1ワードアドレスにより特定されるベリファイデータには、複数のフェイルビットがアドレス多重選択を通じて含まれている可能性がある。そこで、特定されたワードアドレスによって指定されるベリファイデータが、多重選択無しにチェックされる。概要は、ロウアドレスの多重選択無しにロウアドレスごとにベリファイデータが読み出される点を含む細かい点を除いて、ステップS2〜S10と同様であり、具体的には以下の通りである。
まず、ベリファイ制御部21は、I/O線I/O0〜I/O7を“H”レベルにプリチャージする(ステップS26)。次に、ベリファイ制御部21は、エラーを含むと特定された1つのワードアドレスに対応するカラムを選択し、次いでアドレス信号ADD0を選択する(ステップS27)。この結果、選択されたカラムの各々において、ロウアドレス0のラッチ回路LCに保持されているベリファイデータが、対応するI/O線I/Oに読み出される(ステップS28)。次いで、データ転送制御部22は、これらのI/O線I/Oに読み出されたベリファイデータをECC処理部3に転送する(ステップS29)。次に、ベリファイ制御部21は、現在処理中のワードのアドレスに対応する8つのロウアドレス分のベリファイデータがECC処理部3に転送されたかを判断する(ステップS30)。ベリファイデータ未転送のロウアドレスがあれば、ロウアドレスが1インクリメントされ(ステップS31)、ステップS26〜S29が繰り返される。こうして、1ワード分のベリファイデータがアドレス多重選択されることなく転送される。このため、ECC処理部3に転送されるベリファイデータの各ビットは、1つのラッチ回路LCに保持されるベリファイデータのみを反映している。
1ワード分のベリファイデータが転送されると、次に、ベリファイ制御部21は、エラーを含むと特定された全てのワードアドレスについてのベリファイデータが転送されたかを判定する(ステップS32)。ベリファイデータ未転送のワードアドレスがあれば、このワードアドレスがラッチされ(ステップS25)、このワードアドレスについてステップS26〜S31が行なわれる。例えば、SERRが示す、エラーを含んだワードの数が4つであれば、ステップS25〜S31が、4回繰り返される。
エラーを含んだ全てのワードアドレスについてのデータの転送が終了すると、ベリファイ制御部21は、ECC処理部3にECC処理を命じる。この命令を受けて、ECC処理部3はECC処理を開始する(ステップS33)。なお、ECC処理部3に転送されたデータの大きさは1セクタに満たない。例えば、SERRが1ビットのエラーが有る旨を示している場合、ステップS25〜S32によって転送されるデータは、32(bit/1転送サイクル)×8(展開されるアドレスADD0〜ADD7)=256bit=32Bである。この値は、1セクタ(=528B)に満たない。しかし、上記のように、ベリファイデータの全ビットの期待値は“1”であるとともにECC処理部3には全てのビットが反転されたベリファイデータが供給されることを利用して、足りない分が補われる。すなわち、1セクタに足りない分として“0”のビットがECC処理部3に入力されたものとして、ECC処理部3は処理を行なう。このために、ベリファイ制御部21は、不足分のビットをラッチするECC処理部3内の全てのラッチにおいて“0”をセットする。次いで、ベリファイ制御部21は、ECC処理部3にECC処理を命じる。この命令を受けて、ECC処理部3はECC処理を行なう。
ECCビジー判断部23は、ECCビジー信号を監視し、ECCビジー信号が“L”レベルとなるのを待つ(ステップS34)。ECC処理の完了後、SERR検査部24は、ECC処理部3からSERRを受け取る。次に、SERR検査部24は、SERRにより示されるエラー数が予め定められた閾値以下であるかを判定する(ステップS35)。エラー数が閾値以下であれば、ベリファイ制御部21は、フルページビットスキャンが擬似バスであると判定し(ステップS36)、処理は終了する。一方、エラー数が閾値を越えていれば、ベリファイ制御部21は、フルページビットスキャンがフェイルであると判定し(ステップS24)、処理は終了する。ステップS35で用いられる閾値は、ページと同サイズのベリファイデータ中で存在することを許容されるフェイルビットの数に基づいて設定される。
以上述べたように、第2実施形態によれば、第1実施形態と同様に、ECC処理部によってベリファイのパスまたはフェイルが判定される。このため、第1実施形態と同じ利点を得られる。また、第2実施形態では、ページと同サイズのベリファイデータに対する一括検知後にフェイルビットが含まれていることと判定された場合に、対応するワードアドレスについてのみロウアドレスごとのベリファイデータに対してベリファイが行なわれる。このため、ECC処理部3を用いたフルページビットスキャンも実現可能である。
(第3実施形態)
第3実施形態は、ベリファイとその結果に応じた再書き込みとに関する。
データ書き込みのための一連の工程は、ベリファイと、ベリファイフェイルと判定されたメモリセルへの再書き込みを含んでいる。再書き込み後に再度ベリファイが行なわれ、再書き込み後に再度ベリファイが行なわれ、このように、ベリファイと再書き込みが繰り返される。しかし、書き込みに費やせる時間は無制限ではないため、再書き込みの回数には、一般に上限が設けられている。第3実施形態は、この再書き込み回数の上限を考慮した、ベリファイと再書き込みに関する。
第3実施形態に係る半導体記憶装置の要素は、第1実施形態(図3〜図6)と同じである。第3実施形態の動作について図9を参照して説明する。図9は、第3実施形態に係る半導体記憶装置によるベリファイおよび再書き込みを概略的に示すフローチャートである。
図9に示されているように、まず、ベリファイデータが読み出される(ステップS1)。次に、ステップS41として、第1実施形態(図7)のステップS2〜S9が行なわれる。すなわち、アドレス多重選択を用いてページと同サイズのベリファイデータがECC処理部3に転送され、ECC処理が行なわれる。次に、ステップS10において、ECCビジー信号が“L”レベルであれば、ベリファイ制御部21はベリファイがトゥルーパスであると判定し(ステップS42)、処理は終了する。一方、ステップS10においてECCビジー信号が“H”レベルであれば、ベリファイ制御部21は、メモリ部1中の現在書き込み対象のメモリセル(ページ)への再書き込みをメモリ部1に命令する。メモリ部1は、この命令を受け、再書き込みを行なう(ステップS43)。
次に、ベリファイ制御部21は、現在実行中の書き込み処理においてこれまで行なわれた再書き込みの回数が、予め定められた上限に達しているかを判断する(ステップS44)。上限に達していない場合、処理はステップS41に戻る。次いで、ステップS10でECCビジー信号が“L”レベルとなるか、あるいはステップS44で再書き込み回数が上限に達するまで、ステップS41〜S44が繰り返される。
ステップS44において再書き込み回数が上限に達した場合、ステップS45として、第2実施形態(図8)のステップS23〜S36が行なわれる。すなわち、ベリファイデータが多重選択無しに転送され、フェイルビットが計数される。ただし、本実施形態では、ステップS24、S35、S36は、図9の終了ブロックへと続く。
以上述べたように、第3実施形態によれば、第1実施形態と同様に、ECC処理部によってベリファイのパスまたはフェイルが判定される。このため、第1実施形態と同じ利点を得られる。また、第2実施形態と同じステップを含むことによって、第2実施形態と同じ利点を得られる。
さらに、第3実施形態によれば、再書き込み回数が上限に達するまでは、第1実施形態の一括検知と再書き込みを繰り返し、上限到達後は、第2実施形態のフルページビットスキャンが行なわれる。すなわち、上限回数までは一括検知によってフェイルビットが無くなるまで再書き込みが行なわれ、上限回数到達後は所定数(例えばECC処理部での訂正能力範囲内)のフェイルビット数であれば擬似パスと判定される。このため、上限回数到達までのフェイルビット無しを目指した再書き込みが行なわれ、上限回数到達以降は所定数であればフェイルビットの存在が許容される。上限回数を適切に設定することによって、許容される書き込み時間を守ることが可能である。このように、第1、第2実施形態を適切に組み合わせることによって、許容される書き込み時間を守りながら効率よくベリファイおよび再書き込みを行なえる。
(第4実施形態)
第4実施形態は、ページと同サイズのベリファイデータ中のフェイルビットを含んだバイトを計数する(以下、フルページバイトスキャンと称する)ベリファイに関する。
第4実施形態に係る半導体記憶装置の要素は、第1実施形態(図3〜図6)と同じである。第4実施形態の動作について図10を参照して説明する。図10は、第4実施形態に係る半導体記憶装置によるベリファイ(フルページバイトスキャン)を概略的に示すフローチャートである。大まかには、まず第1実施形態のように一括検知が行なわれ、一括検知フェイルの場合に、フェイルビットを含んだバイトの数が許容数以下であるかの判定を通じて擬似パスであるかが判定される。以下に、具体的に説明する。
図10に示されているように、まずステップS1〜S10が行なわれる。すなわち、アドレス多重選択を用いてページと同サイズのベリファイデータがECC処理部3に転送され、ECC処理が行なわれる。ステップS10においてECCビジー信号が“L”レベルであれば、ページと同サイズの処理中のベリファイデータはフェイルビットを含んでいないため、ベリファイ制御部21は、フルページバイトスキャンがトゥルーパスであると判定し(ステップS21)、処理は終了する。一方、ステップS10においてECCビジー信号が“H”レベルであれば、ベリファイ制御部21は、続いてフェイルビットを含んだバイトの計数を行なうために、ECC処理部3での処理が完了してECCビジー信号が“L”レベルとなるまで待機する(ステップS22)。
次に、SERR検査部24は、SERRにより示されるエラー数が閾値以下であるかを判定する(ステップS35)。本実施形態でも、第1実施形態と同じく、8つのロウアドレス分のベリファイデータが1つのベリファイデータに縮退されている。このため、SERRによって示される情報は、ちょうど各バイトがフェイルビットを含むか否かの情報に対応する。そこで、SERRを閾値と比較することによって、バイト単位でのフェイルビットの有無が閾値と比較されることが可能になる。ステップS35で用いられる閾値は、ページと同サイズのベリファイデータ中で存在することを許容される、フェイルビットを含んだバイトの数に基づいて設定される。
ステップS53において、エラー数が閾値以下であれば、ベリファイ制御部21はフルページバイトスキャンが擬似パスであると判定し(ステップS36)、処理は終了する。一方、エラー数が閾値を超えていれば、ベリファイ制御部21はフルページバイトスキャンがフェイルであると判定し(ステップS24)、処理は終了する。
以上述べたように、第4実施形態によれば、第1実施形態と同様に、ECC処理部によってベリファイのパスまたはフェイルが判定される。このため、第1実施形態と同じ利点を得られる。
また、第4実施形態によれば、1つのベリファイデータへと縮退されるベリファイデータの個数と同数のビット群(本例ではバイト)のうちの幾つがフェイルビットを含んでいるかが判定される。このようなフルページバイトスキャンは、フルページビットスキャンより高速に処理が完了するので、フルページビットスキャンほど細かい単位でのフェイルビットの有無を判定する必要がない用途において有効である。そのような用途の例として、例えばダイソートテスト時などにフェイルカラム数がリダンダシカラム数以下であるかをチェックするためにフェイルカラム数を数える場合などが挙げられる。
(第5実施形態)
第5実施形態は、1ページを分割して得られる大きさ単位でのフェイルビットを計数する(以下、セグメントビットスキャンと称する)ベリファイに関する。
第5実施形態に係る半導体記憶装置の要素は、第1実施形態(図3〜図6)と同じである。第5実施形態の動作について図11を参照して説明する。図11は、第4実施形態に係る半導体記憶装置によるベリファイ(セグメントビットスキャン)を概略的に示すフローチャートである。大まかには、ベリファイデータは1ページより小さなサイズ単位で処理され、ベリファイデータごとにフェイルビットの有無が判定され、所定数のベリファイデータがいずれもフェイルビットを含んでいなければベリファイパスと判定され、フェイルビットを含んだベリファイデータが見つかった時点でこのベリファイデータがフェイルビット数の点から擬似パスであるかが判定される。以下に、具体的に説明する。
図11に示されているように、まず、ベリファイ制御部21は、トゥルーパスチェック用の値を保持するレジスタ26を“0”に設定する(ステップS51)。次に、ステップS1〜S5が行われる。すなわち、アドレス多重選択を用いてベリファイデータがECC処理部3に転送される。次に、ベリファイ制御部21は、1セクタ分(例えば544ビット)のベリファイデータがECC処理部3に転送されたかを判断する(ステップS52)。転送されたベリファイデータが1セクタに達していなければ、カラムアドレスが1、インクリメントされ(ステップS7)、ステップS2〜S6が行なわれる。なお、当然ながら、転送されたベリファイデータは、8つのロウアドレス分のベリファイデータが1つのベリファイデータに縮退された形となっている。
ステップS52において1セクタ分のベリファイデータが転送されたならば、ECC処理の開始、待機、ECCビジー信号が“L”レベルであるかの判断(ステップS8〜S10)が行なわれる。ステップS10においてECCビジー信号が“L”レベルであれば、処理中の1セクタの大きさのベリファイデータはフェイルビットを含んでいないため、ベリファイ制御部21はこのベリファイデータがトゥルーパスと判定する(ステップS61)。
次に、ベリファイ制御部21は、セクタと同サイズの所定数(例えば8セクタ)のベリファイデータにわたってこのベリファイデータがトゥルーパスであるかの判定が行なわれたかを判定する(ステップS62)。トゥルーパスであるかについて未判定のセクタと同サイズのベリファイデータがあれば、次のセクタサイズのベリファイデータに対してトゥルーパスであるかの判定が行なわれる(ステップS1〜S5、S62、S7〜S10、S61)。一方、ステップS62においてセクタと同サイズの全てのベリファイデータに対する判定が行なわれたならば、ベリファイ制御部21は、トゥルーパスチェックレジスタ26が“0”であるかを検査する(ステップS63)。後述のように、いずれかのベリファイ対象のセクタと同サイズのベリファイデータがフェイルビットを含んでいると、その時点でトゥルーパスチェックレジスタ26が“1”とされる。したがって、レジスタ26が“0”であれば、セクタと同サイズの全ベリファイデータがフェイルビットを含んでいないことを意味するので、ベリファイ制御部21は、セクタビットスキャンがトゥルーパスであると判定し(ステップS64)、処理は終了する。
ステップS10においてECCビジー信号が“H”レベルであれば、現在処理中のセクタと同サイズのベリファイデータはフェイルビットを含んでいる。そこで、このベリファイデータが擬似パスであるかの検査が行なわれる。すなわち、まず、ベリファイ制御部21は、ECCビジー信号が“L”レベルとなるまで待機するとともに、トゥルーパスチェックレジスタ26を“1”に設定する(ステップS72)。もはやセグメントビットスキャンが擬似パスである可能性はあってもトゥルーパスである可能性はないことを後の判定において示すためである。
次に、SERR検査部24は、SERRを検査して処理中のセクタと同サイズのベリファイデータが訂正能力を超えた数のエラーを含んでいるか否かを判断する(ステップS23)。エラー数が訂正能力を超えていれば、ベリファイ制御部21は、ベリファイ(セグメントビットスキャン)がフェイルであると判定し(ステップS24)、処理は終了する。一方、ステップS23においてエラー数が訂正能力以下であれば、ステップS25〜S35が行なわれる。すなわち、処理中のセクタと同サイズのベリファイデータがアドレス多重選択無しに読み出され、ベリファイデータに含まれるフェイルビット数が閾値を超えているかの判断が行なわれる。次いで、ベリファイデータに含まれるフェイルビットの計数を通じてセクタの擬似パスが判定される。ステップS35で用いられる閾値は、1つのセクタと同サイズのベリファイデータ中で存在することを許容されるフェイルビットの数に基づいて設定される。
ステップS35においてエラー数が閾値以下であれば、ベリファイ制御部21は、処理中のベリファイデータがセクタ擬似バスであると判定(ステップS73)する。一方、エラー数が閾値を越えていれば、ベリファイ制御部21は、ベリファイ(セグメントビットスキャン)がフェイルであると判定し(ステップS24)、処理は終了する。
ステップS73に続いて、ステップS76、S63が行なわれる。ステップS73を経てステップS62に到達した場合、通常、トゥルーパスチェックレジスタ26は“1”であるはずである。このため、ベリファイ制御部21は、ベリファイ(セグメントビットスキャン)が擬似パスであると判定し(ステップS36)、処理は終了する。
ここまで説明された例では、カラムアドレスは1ずつインクリメントされる。こうすることによって、連続するカラムアドレス中の各ベリファイデータからなるベリファイデータの集合から、セクタと同サイズのベリファイデータが形成される。しかしながら、1以外の数ずつインクリメントされてもよい。例えば、2ずつインクリメントされれば、1つおきの各カラムアドレス中の各ベリファイデータの集合からセクタと同サイズベリファイデータが形成される。このようにして、任意の構成のセクタを形成することができる。
以上述べたように、第5実施形態によれば、第1実施形態と同様に、ECC処理部によってベリファイのパスまたはフェイルが判定される。このため、第1実施形態と同じ利点を得られる。
また、第5実施形態によれば、ECC処理部3による処理単位であるセクタ単位でフェイルビットの有無およびフェイルルビットの数に基づいた擬似パスの判定が行なわれる。このため、例えばD/S時に本実施形態を使用して、半導体記憶装置の歩留まり向上につなげるという用途が可能である。
(第6実施形態)
第6実施形態は、1ページを分割して得られる大きさ単位でのフェイルビットを含んだバイトを計数するベリファイに関する。
第6実施形態に係る半導体記憶装置の要素は、第1実施形態(図3〜図6)と同じである。第6実施形態の動作について図12を参照して説明する。図12は、第6実施形態に係る半導体記憶装置によるベリファイを概略的に示すフローチャートである。大まかには、第5実施形態のようにベリファイデータは1ページより小さなサイズ単位で処理され、ベリファイデータごとにフェイルビットの有無が判定され、所定数のベリファイデータがいずれもフェイルビットを含んでいなければベリファイパスと判定され、フェイルビットを含んだベリファイデータが見つかった時点でこのベリファイデータが、フェイルビットを含んだバイト数の点から擬似パスであるかが判定される。以下に、具体的に説明する。
図12に示されているように、第5実施形態と同様にステップS61、S1〜S5、S62、S7〜S10が行なわれる。すなわち、1セクタと同サイズのベリファイデータがアドレスの多重選択を通じてECC処理部3に転送され、ECC処理が行なわれ、待機後にECCビジーのレベルが判定される。ステップS10においてECCビジー信号が“L”レベルであれば、現在処理中のベリファイデータがトゥルーパスと判定される(ステップS61)。
次に、セクタと同サイズの所定数(例えば8セクタ)のベリファイデータにわたってこのベリファイデータがトゥルーパスであるかの判定が行なわれたかが判定される(ステップS62)。未判定のベリファイデータがあれば、次のベリファイデータに対してトゥルーパスであるかの判定が行なわれる(ステップS1〜S5、S62、S7〜S10、S61)。セクタと同サイズの所定数のベリファイデータの処理後、トゥルーパスチェックレジスタ26の値が“0”であれば、ベリファイはトゥルーパスと判定され(ステップS64)、処理は終了する。
一方、ステップS10においてECCビジー信号が“H”レベルであれば、セクタと同サイズの現在処理中のベリファイデータが擬似パスであるかの検査が行なわれる。すなわち、まず、ベリファイ制御部21は、ECCビジー信号が“L”レベルとなるまで待機するとともに、トゥルーパスチェックレジスタ26を“1”に設定する(ステップS72)。次に、SERRが示すエラー数が閾値と比較される(ステップS35)。ステップS35で用いられる閾値は、セクタと同じサイズのベリファイデータ中で存在することを許容されるフェイルビットの数を含んだバイト数に基づいて設定される。
ステップS35においてSERRが閾値を越えていれば、ベリファイがフェイルであると判定され(ステップS24)、処理は終了する。一方、SERRが閾値以下であれば、処理中のセクタが擬似バスであると判定され(ステップS73)、ステップS62、S63が行なわれる。ステップS73を経てステップS62に到達した場合、通常、トゥルーパスチェックレジスタ26は“1”であるはずなので、ベリファイは擬似パスと判定され(ステップS36)、処理は終了する。
第6実施形態においても、第5実施形態と同様に、カラムアドレスは1以外の数ずつインクリメントされてもよい。こうすることによって、任意の構成の、セクタと同サイズのベリファイデータを形成することができる。
以上述べたように、第6実施形態によれば、第1実施形態と同様に、ECC処理部によってベリファイのパスまたはフェイルが判定される。このため、第1実施形態と同じ利点を得られる。
また、第6実施形態によれば、ECC処理部3による処理単位であるセクタと同じ大きさのベリファイデータ単位で、フェイルビットの有無およびフェイルビットを含んだバイトの数に基づいた擬似パスの判定が行なわれる。
その他、各実施形態は、上記のものに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で、種々に変形することが可能である。さらに、上記実施形態には種々の段階が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の実施形態が抽出され得る。例えば、上記各実施形態に示される全構成要件から幾つかの構成要件が削除されても、この構成要件が削除された構成が実施形態として抽出され得る。
1…メモリ部、2…コントローラ、3…ECC処理部、11…メモリセルアレイ、12…ページバッファ、13…メモリコントローラ、21…ベリファイ制御部、22…データ転送制御部、23…ECCビジー判断部、24…SERR検査部、25…ラッチ、26…レジスタ。

Claims (5)

  1. 複数のメモリセルを含んだメモリセルアレイおよび前記メモリセルにおいてデータの書き込みおよび消去を行なうように構成されたメモリ部と、
    複数の前記メモリセルからのデータを保持する複数のラッチ回路を含み、前記複数のラッチ回路のうちの所定の複数のラッチ回路からラッチ回路群が複数構成され、各々の前記ラッチ回路群において各々の前記ラッチ回路はそれぞれが転送回路を介して共通線に共通に接続されているバッファと、
    前記共通線と接続され、供給されたデータに含まれるエラービットの検出および訂正を行なうエラー訂正部と、
    ベリファイ時にベリファイの対象の複数の前記メモリセルからデータを前記バッファに読み出させ、所定数の前記ラッチ回路群にわたって順次各前記ラッチ回路群中の複数の前記ラッチ回路が保持するデータの全てを対応する前記共通線に部分ベリファイデータとして読み出し、前記部分ベリファイデータを前記エラー訂正部に転送させるデータ転送制御部と、
    前記エラー訂正部に、所定数の前記ラッチ回路群の各々から読み出された前記部分ベリファイデータの集合からなるベリファイデータに対してエラー検出を行なわせて、前記ベリファイデータ中のフェイルビットの有無を判定するベリファイ制御部と、
    を具備することを特徴とする半導体記憶装置。
  2. 前記ベリファイ制御部が、前記ベリファイデータがフェイルビットを含む際にベリファイ対象の複数の前記メモリセルへのデータの再書き込みを前記メモリ部に命じ、前記データの再書き込みと前記フェイルビット有無の判定を前記再書き込みが所定の上限回数行なわれるまで繰り返し、
    前記再書き込みが前記上限回数行なわれた後の前記フェイルビット有無の判定の結果がフェイルビット有りの場合、前記データ転送制御部がフェイルビットを含んだ前記部分ベリファイデータを保持するラッチ回路群中の各ラッチ回路が保持するデータを順次前記エラー訂正回路に転送させ、前記ベリファイ制御部が前記順次転送されたデータ中のフェイルビットの個数を閾値と比較する、
    ことを特徴とする請求項1の半導体記憶装置。
  3. 前記ベリファイ制御部が、前記ベリファイデータが前記エラー訂正部に転送され終わる度に前記ベリファイデータに対して前記フェイルビットの有無を判定し、
    前記ベリファイ制御部が、フェイルビットを含んだ前記部分ベリファイデータを保持するラッチ回路群を特定し、
    前記データ転送制御部が、前記特定されたラッチ回路群中の各ラッチ回路が保持するデータを順次前記エラー訂正回路に転送させ、
    前記ベリファイ制御部が、前記順次転送されたデータ中のフェイルビットの個数を閾値と比較する、
    ことを特徴とする請求項1の半導体記憶装置。
  4. 前記ベリファイ制御部が、前記フェイルビット有無の判定の結果がフェイルビット有りの場合、フェイルビットを含んだ部分ベリファイデータを保持するラッチ回路群の個数を閾値と比較する、
    ことを特徴とする請求項1の半導体記憶装置。
  5. 前記ベリファイ制御部が、
    前記ベリファイデータが前記エラー訂正部に転送され終わる度に前記ベリファイデータに対して前記フェイルビットの有無を判定し、
    前記フェイルビット有無の判定の結果がフェイルビット有りの場合、フェイルビットを含んだ前記部分ベリファイデータを保持するラッチ回路群の個数を閾値と比較する、
    ことを特徴とする請求項1の半導体記憶装置。
JP2010211269A 2010-09-21 2010-09-21 半導体記憶装置 Pending JP2012069180A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010211269A JP2012069180A (ja) 2010-09-21 2010-09-21 半導体記憶装置
US13/157,638 US20120072806A1 (en) 2010-09-21 2011-06-10 Semiconductor memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010211269A JP2012069180A (ja) 2010-09-21 2010-09-21 半導体記憶装置

Publications (1)

Publication Number Publication Date
JP2012069180A true JP2012069180A (ja) 2012-04-05

Family

ID=45818848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010211269A Pending JP2012069180A (ja) 2010-09-21 2010-09-21 半導体記憶装置

Country Status (2)

Country Link
US (1) US20120072806A1 (ja)
JP (1) JP2012069180A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013232272A (ja) * 2012-04-30 2013-11-14 Freescale Semiconductor Inc 誤り訂正符号を有する不揮発性メモリシステムの消去
JP6115740B1 (ja) * 2015-12-17 2017-04-19 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429468B2 (en) * 2010-01-27 2013-04-23 Sandisk Technologies Inc. System and method to correct data errors using a stored count of bit values
JP2011170927A (ja) * 2010-02-19 2011-09-01 Toshiba Corp 半導体記憶装置
JP2012155818A (ja) * 2011-01-28 2012-08-16 Toshiba Corp 半導体集積回路
US9225356B2 (en) * 2012-11-12 2015-12-29 Freescale Semiconductor, Inc. Programming a non-volatile memory (NVM) system having error correction code (ECC)
US9519531B2 (en) * 2012-11-27 2016-12-13 Samsung Electronics Co., Ltd. Memory devices and memory systems having the same
US10229002B2 (en) * 2013-01-04 2019-03-12 International Business Machines Corporation Process to migrate named objects to a dispersed or distributed storage network (DSN)
KR102435027B1 (ko) 2015-11-09 2022-08-23 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 읽기 방법
TWI599904B (zh) * 2016-03-30 2017-09-21 緯創資通股份有限公司 電子裝置及其資料驗證方法
JP6797727B2 (ja) * 2017-03-21 2020-12-09 キオクシア株式会社 半導体記憶装置
KR20190040613A (ko) * 2017-10-11 2019-04-19 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10222995A (ja) * 1996-12-03 1998-08-21 Sony Corp 半導体不揮発性記憶装置
JP2000173289A (ja) * 1998-12-10 2000-06-23 Toshiba Corp エラー訂正可能なフラッシュメモリシステム
JP2001256791A (ja) * 2000-03-10 2001-09-21 Toshiba Corp 半導体記憶装置
JP2005018983A (ja) * 1996-12-03 2005-01-20 Sony Corp 半導体不揮発性記憶装置およびメモリシステム
JP2005056394A (ja) * 2003-07-18 2005-03-03 Toshiba Corp 記憶装置及びメモリカード
JP2006048777A (ja) * 2004-08-02 2006-02-16 Toshiba Corp Nandフラッシュメモリおよびデータ書き込み方法
JP2006073141A (ja) * 2004-09-03 2006-03-16 Toshiba Corp 記憶システム及びそのデータコピー方法
JP2006134476A (ja) * 2004-11-05 2006-05-25 Toshiba Corp 半導体集積回路装置、及びそれを用いた不揮発性メモリシステム
JP2006209971A (ja) * 1996-12-03 2006-08-10 Sony Corp 半導体不揮発性記憶装置
JP2006331611A (ja) * 2005-04-28 2006-12-07 Toshiba Corp 不揮発性半導体記憶装置
JP2007035244A (ja) * 2005-07-26 2007-02-08 Samsung Electronics Co Ltd プログラム速度を向上させる不揮発性メモリ装置及びそのプログラム方法
JP2007066386A (ja) * 2005-08-30 2007-03-15 Toshiba Corp 半導体記憶装置
JP2007102942A (ja) * 2005-10-05 2007-04-19 Toshiba Corp 不揮発性半導体記憶装置及びそれを用いた不揮発性メモリシステム
JP2008004178A (ja) * 2006-06-23 2008-01-10 Toshiba Corp 半導体記憶装置
JP2008192240A (ja) * 2007-02-05 2008-08-21 Toshiba Corp 半導体メモリと半導体メモリシステム
JP2008198337A (ja) * 2007-01-17 2008-08-28 Toshiba Corp 半導体記憶装置
JP2010165400A (ja) * 2009-01-14 2010-07-29 Toshiba Corp 不揮発性半導体記憶装置及びそのシステム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0387000A (ja) * 1989-08-30 1991-04-11 Mitsubishi Electric Corp 半導体記憶装置
JP3983969B2 (ja) * 2000-03-08 2007-09-26 株式会社東芝 不揮発性半導体記憶装置
JP4381278B2 (ja) * 2004-10-14 2009-12-09 株式会社東芝 不揮発性半導体記憶装置の制御方法
JP4709525B2 (ja) * 2004-10-14 2011-06-22 株式会社東芝 不揮発性半導体記憶装置
JP4864006B2 (ja) * 2006-04-06 2012-01-25 株式会社アドバンテスト 試験装置および試験方法
JP4791912B2 (ja) * 2006-08-31 2011-10-12 株式会社東芝 不揮発性半導体記憶装置及び不揮発性記憶システム
KR100926475B1 (ko) * 2006-12-11 2009-11-12 삼성전자주식회사 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법
KR100799688B1 (ko) * 2007-01-03 2008-02-01 삼성전자주식회사 백업 회로를 갖는 메모리 시스템 및 그것의 프로그램 방법
KR100933859B1 (ko) * 2007-11-29 2009-12-24 주식회사 하이닉스반도체 플래시 메모리 소자 및 그것의 프로그램 방법
KR100996009B1 (ko) * 2009-02-02 2010-11-22 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 그 동작 방법
US9170879B2 (en) * 2009-06-24 2015-10-27 Headway Technologies, Inc. Method and apparatus for scrubbing accumulated data errors from a memory system
KR101617641B1 (ko) * 2009-08-27 2016-05-03 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템, 및 그것의 프로그램 방법

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209971A (ja) * 1996-12-03 2006-08-10 Sony Corp 半導体不揮発性記憶装置
JP2005018983A (ja) * 1996-12-03 2005-01-20 Sony Corp 半導体不揮発性記憶装置およびメモリシステム
JPH10222995A (ja) * 1996-12-03 1998-08-21 Sony Corp 半導体不揮発性記憶装置
JP2000173289A (ja) * 1998-12-10 2000-06-23 Toshiba Corp エラー訂正可能なフラッシュメモリシステム
JP2001256791A (ja) * 2000-03-10 2001-09-21 Toshiba Corp 半導体記憶装置
JP2005056394A (ja) * 2003-07-18 2005-03-03 Toshiba Corp 記憶装置及びメモリカード
JP2006048777A (ja) * 2004-08-02 2006-02-16 Toshiba Corp Nandフラッシュメモリおよびデータ書き込み方法
JP2006073141A (ja) * 2004-09-03 2006-03-16 Toshiba Corp 記憶システム及びそのデータコピー方法
JP2006134476A (ja) * 2004-11-05 2006-05-25 Toshiba Corp 半導体集積回路装置、及びそれを用いた不揮発性メモリシステム
JP2006331611A (ja) * 2005-04-28 2006-12-07 Toshiba Corp 不揮発性半導体記憶装置
JP2007035244A (ja) * 2005-07-26 2007-02-08 Samsung Electronics Co Ltd プログラム速度を向上させる不揮発性メモリ装置及びそのプログラム方法
JP2007066386A (ja) * 2005-08-30 2007-03-15 Toshiba Corp 半導体記憶装置
JP2007102942A (ja) * 2005-10-05 2007-04-19 Toshiba Corp 不揮発性半導体記憶装置及びそれを用いた不揮発性メモリシステム
JP2008004178A (ja) * 2006-06-23 2008-01-10 Toshiba Corp 半導体記憶装置
JP2008198337A (ja) * 2007-01-17 2008-08-28 Toshiba Corp 半導体記憶装置
JP2008192240A (ja) * 2007-02-05 2008-08-21 Toshiba Corp 半導体メモリと半導体メモリシステム
JP2010165400A (ja) * 2009-01-14 2010-07-29 Toshiba Corp 不揮発性半導体記憶装置及びそのシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013232272A (ja) * 2012-04-30 2013-11-14 Freescale Semiconductor Inc 誤り訂正符号を有する不揮発性メモリシステムの消去
JP6115740B1 (ja) * 2015-12-17 2017-04-19 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
JP2017111846A (ja) * 2015-12-17 2017-06-22 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置

Also Published As

Publication number Publication date
US20120072806A1 (en) 2012-03-22

Similar Documents

Publication Publication Date Title
JP2012069180A (ja) 半導体記憶装置
JP4538034B2 (ja) 半導体記憶装置、及びその制御方法
US7751238B2 (en) Memory system protected from errors due to read disturbance and reading method thereof
US20190303236A1 (en) Multi-level recovery reads for memory
TWI713872B (zh) 半導體記憶體及記憶體系統
US10395753B2 (en) Semiconductor memory device and programming method thereof
US10074441B2 (en) Memory device and operating method thereof
JP4761910B2 (ja) 不揮発性半導体記憶装置及びそれを用いた不揮発性メモリシステム
US8154924B2 (en) Nonvolatile memory device and read method
KR102663261B1 (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR101731576B1 (ko) 반도체 기억장치 및 nand 플래시 메모리의 프로그램 방법
TW202131338A (zh) 半導體記憶裝置、半導體記憶系統、及操作半導體記憶裝置之方法
JP2006012367A (ja) 不揮発性半導体記憶装置
KR20160071120A (ko) 반도체 메모리 장치 그것의 동작 방법
KR102121331B1 (ko) 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
JP2017208149A (ja) 半導体装置
JP6115740B1 (ja) 半導体記憶装置
KR20170104839A (ko) 반도체 메모리 장치 및 그것의 동작 방법
JP2011253593A (ja) 不揮発性半導体記憶装置
KR101651573B1 (ko) 반도체 기억장치 및 그 프로그래밍 방법
US8923068B2 (en) Low margin read operation with CRC comparision
JP6293846B2 (ja) 半導体記憶装置
JP5710815B1 (ja) 半導体記憶装置
TWI521530B (zh) 半導體記憶裝置及其編程方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121225

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130507