JP5550386B2 - 不揮発性半導体記憶装置及びメモリシステム - Google Patents

不揮発性半導体記憶装置及びメモリシステム Download PDF

Info

Publication number
JP5550386B2
JP5550386B2 JP2010047013A JP2010047013A JP5550386B2 JP 5550386 B2 JP5550386 B2 JP 5550386B2 JP 2010047013 A JP2010047013 A JP 2010047013A JP 2010047013 A JP2010047013 A JP 2010047013A JP 5550386 B2 JP5550386 B2 JP 5550386B2
Authority
JP
Japan
Prior art keywords
memory
block
data
read
word line
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
JP2010047013A
Other languages
English (en)
Other versions
JP2011181155A (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 JP2010047013A priority Critical patent/JP5550386B2/ja
Priority to US13/039,719 priority patent/US8891304B2/en
Publication of JP2011181155A publication Critical patent/JP2011181155A/ja
Application granted granted Critical
Publication of JP5550386B2 publication Critical patent/JP5550386B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • 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
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/08Address circuits; Decoders; Word-line control 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/26Sensing or reading circuits; Data output 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
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Landscapes

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

Description

本発明は、不揮発性半導体記憶装置及びメモリシステムに係り、例えばNAND型フラッシュメモリを用いた不揮発性半導体記憶装置及びメモリシステムに関する。
電気的に書き換えが可能で、かつ高集積化が可能な不揮発性半導体記憶装置としてNAND型フラッシュメモリが知られている。NAND型フラッシュメモリは、データ消去の最小単位であるブロックを複数個備えている。各ブロックは、複数の隣接するメモリセル同士をソース及びドレイン領域を共有する形で直列接続されたNANDストリングを複数個備え、NANDストリングの両端はそれぞれ選択ゲートトランジスタを介してビット線及びソース線に接続される。
NAND型フラッシュメモリのメモリセルは、半導体基板にトンネル絶縁膜を介して形成された浮遊ゲート電極、及びこの浮遊ゲート電極上にゲート間絶縁膜を介して積層された制御ゲート電極を有し、浮遊ゲート電極に蓄積された電荷の多寡による閾値電圧の変化を利用してデータを不揮発に記憶する。
このように構成されたNAND型フラッシュメモリにおいて、選択メモリセルのデータを読み出す場合、非選択メモリセルに接続された非選択ワード線に、記憶データにかかわらずメモリセルをオンさせる読み出し電圧を印加する。しかしながら、いわゆるオーバープログラム不良がメモリセルに発生すると、当該メモリセルをオンさせることができなくなり、結果として、オーバープログラム不良が発生したメモリセルを含むブロック内の全てのNANDストリングのデータが読めなくなってしまう。
また、この種の関連技術として、誤書き込み及び過書き込みの判定機能を備えた不揮発性半導体記憶装置が開示されている(特許文献1参照)。
特開2003−249083号公報
本発明は、オーバープログラムに起因する不良率を抑制することが可能な不揮発性半導体記憶装置及びメモリシステムを提供する。
本発明の一態様に係る不揮発性半導体記憶装置は、電気的に書き換え可能な複数のメモリセルを有する複数のブロックを含み、各ブロックは、第1の方向に直列に接続された所定数のメモリセルを含む複数のNANDストリングを有する、メモリセルアレイと、前記ブロックのうち前記第1の方向に交差する第2の方向に配列された複数のメモリセル群にそれぞれ接続された複数のワード線と、(A)データ読み出し時に非選択ワード線に印加される第1の読み出し電圧を用いて、ブロックに含まれる全てのメモリセルがオンするか(パス)、1個以上のメモリセルがオフするか(フェイル)をベリファイし、(B)フェイルのブロックに対して、非選択ワード線に印加されかつ前記第1の読み出し電圧より高い第2の読み出し電圧を用いて、データ読み出し動作を実行する制御部とを具備する。
本発明の一態様に係るメモリシステムは、電気的に書き換え可能な複数のメモリセルを有する複数のブロックを含み、各ブロックは、第1の方向に直列に接続された所定数のメモリセルを含む複数のNANDストリングを有する、メモリセルアレイと、前記ブロックのうち前記第1の方向に交差する第2の方向に配列された複数のメモリセル群にそれぞれ接続された複数のワード線とを含む不揮発性半導体メモリと、(A)データ読み出し時に非選択ワード線に印加される第1の読み出し電圧を用いて、ブロックに含まれる全てのメモリセルがオンするか(パス)、1個以上のメモリセルがオフするか(フェイル)をベリファイし、(B)フェイルのブロックに対して、非選択ワード線に印加されかつ前記第1の読み出し電圧より高い第2の読み出し電圧を用いて、データ読み出し動作を実行するホストコントローラとを具備する。
本発明の一態様に係るメモリシステムは、電気的に書き換え可能な複数のメモリセルを有する複数のブロックを含み、各ブロックは、第1の方向に直列に接続された所定数のメモリセルを含む複数のNANDストリングを有する、メモリセルアレイと、前記ブロックのうち前記第1の方向に交差する第2の方向に配列された複数のメモリセル群にそれぞれ接続された複数のワード線とを含む不揮発性半導体メモリと、(A)データ読み出し時に非選択ワード線に印加される第1の読み出し電圧を用いて、ブロックに含まれる全てのメモリセルがオンするか(パス)、1個以上のメモリセルがオフするか(フェイル)をベリファイし、(B)フェイルのブロックのデータを別のブロックに移動するホストコントローラとを具備する。
本発明によれば、オーバープログラムに起因する不良率を抑制することが可能な不揮発性半導体記憶装置及びメモリシステムを提供することができる。
第1の実施形態に係るNANDフラッシュメモリ1の構成を示すブロック図。 メモリセルアレイ10の構成を示す回路図。 メモリセルアレイ10の他の構成を示す回路図。 1個のNANDストリングの構成を示す断面図。 メモリセルトランジスタMTの閾値電圧分布を説明する概略図。 NANDフラッシュメモリ1のオーバープログラム検出動作を示すフローチャート。 オーバープログラムベリファイ時にNANDストリングに印加される電圧関係を説明する図。 フラグ領域を示す概略図。 NANDフラッシュメモリ1のデータ読み出し動作を示すフローチャート。 リード処理時にNANDストリングに印加される電圧関係を説明する図。 実施例1に係るフラグ領域を示す概略図。 実施例1に係るNANDフラッシュメモリ1のデータ読み出し動作を示すフローチャート。 実施例2に係るNANDフラッシュメモリ1の構成を示すブロック図。 実施例2に係るNANDフラッシュメモリ1のデータ読み出し動作を示すフローチャート。 第2の実施形態に係るメモリシステム30の構成を示すブロック図。 ドライブ制御回路32のハードウェア的な内部構成例を示すブロック図。 メモリシステム30の書き込み動作を示すフローチャート。 論理/物理アドレス変換テーブルの一例を説明する図。 メモリシステム30のデータ読み出し動作を示すフローチャート。 変形例に係るメモリシステム30のデータ書き込み動作を示すフローチャート。
以下、本発明の実施形態について図面を参照して説明する。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
[第1の実施形態]
図1は、本発明の第1の実施形態に係る不揮発性半導体記憶装置としてのNANDフラッシュメモリ1の構成を示すブロック図である。メモリセルアレイ10は、電気的に書き換え可能なフラッシュメモリセルがマトリクス状に配置されて構成されている。メモリセルアレイ10には、カラム方向に延在する複数のビット線BL、ロウ方向に延在する複数のワード線WL、及びロウ方向に延在するソース線SLが配設されている。
ビット線BLには、ビット線制御回路11が接続されている。ビット線制御回路11は、ビット線BLを選択し、ビット線BLの電圧を制御し、メモリセルのデータ消去、メモリセルへのデータ書き込み、及びメモリセルからのデータ読み出しを行う。ビット線制御回路11は、カラムデコーダ、センスアンプSA、ページバッファ、データキャッシュなどを含んでいる。
ワード線WLには、ワード線制御回路12が接続されている。ワード線制御回路12は、ワード線WLを選択し、また、消去、書き込み及び読み出しに必要な電圧をワード線WLに印加する。ワード線制御回路12は、ロウデコーダ、ワード線ドライバなどを含んでいる。
ソース線制御回路13は、ソース線SLの電圧を制御する。Pウェル制御回路14は、メモリセルアレイ10が形成されるp型ウェルの電圧を制御する。
データ入出力バッファ15は、外部のホストコントローラ2にI/O線を介して接続されており、書き込みデータの受け取り、読み出しデータの出力、アドレスやコマンドの受け取りを行う。データ入出力バッファ15は、受け取った書き込みデータをビット線制御回路11に送り、ビット線制御回路11から読み出された読み出しデータを受け取る。また、データ入出力バッファ15は、メモリセルの選択をするために、外部からのアドレスをビット線制御回路11やワード線制御回路12に制御部17を介して送る。さらに、データ入出力バッファ15は、ホストコントローラ2からのコマンドをコマンドインターフェイス16に送る。
コマンドインターフェイス16は、ホストコントローラ2からの制御信号を受け、データ入出力バッファ15に入力されたデータが書き込みデータ、コマンド及びアドレスのいずれであるかを判断し、コマンドであればこれを受け取り、コマンド信号として制御部17に送る。
制御部17は、NANDフラッシュメモリ1全体の管理を行う。制御部17は、ホストコントローラ2からのコマンドを受け、読み出し、書き込み、消去、データの入出力管理を行う。
図2は、メモリセルアレイ10の構成を示す回路図である。メモリセルアレイ10は、j個のブロックBLK0〜BLKj−1(jは、1以上の整数)を備えている。ブロックBLKは、データ消去の最小単位である。
各ブロックBLKは、ロウ方向に沿って順に配列されたm個のNANDストリングを備えている(mは、1以上の整数)。NANDストリングに含まれる選択トランジスタST1は、ドレインがビット線BLに接続され、ゲートが選択ゲート線SGDに共通接続されている。NANDストリングに含まれる選択トランジスタST2は、ソースがソース線SLに共通接続され、ゲートが選択ゲート線SGSに共通接続されている。
各メモリセルトランジスタ(メモリセルとも言う)MTは、p型ウェル上に形成された積層ゲート構造を備えたMOSFET(Metal Oxide Semiconductor Field Effect Transistor)により構成されている。積層ゲート構造は、p型ウェル上にゲート絶縁膜を介在して形成された電荷蓄積層(浮遊ゲート電極)、及び浮遊ゲート電極上にゲート間絶縁膜を介在して形成された制御ゲート電極を含んでいる。メモリセルトランジスタMTは、浮遊ゲート電極に蓄えられる電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じてデータを記憶する。メモリセルトランジスタMTは、1ビットを記憶するように構成されていてもよいし、多値(2ビット以上のデータ)を記憶するように構成されていてもよい。
メモリセルトランジスタMTは、浮遊ゲート電極を有するフローティングゲート構造に限らず、MONOS(Metal-Oxide-Nitride-Oxide-Silicon)型など、電荷蓄積層としての窒化膜界面に電子をトラップさせることにより閾値電圧が調整可能な構造であってもよい。MONOS構造のメモリセルトランジスタMTについても同様に、1ビットを記憶するように構成されていてもよいし、多値(2ビット以上のデータ)を記憶するように構成されていてもよい。
各NANDストリングにおいて、n個(nは、1以上の整数)のメモリセルトランジスタMTは、選択トランジスタST1のソースと選択トランジスタST2のドレインとの間に、それぞれの電流経路が直列接続されるように配置されている。すなわち、n個のメモリセルトランジスタMTは、隣接するもの同士で拡散領域(ソース領域若しくはドレイン領域)を共有するような形でカラム方向に直列接続される。
各NANDストリングにおいて、最もソース側に位置するメモリセルトランジスタMTから順に、制御ゲート電極がワード線WL0〜WLn−1にそれぞれ接続されている。従って、ワード線WLn−1に接続されたメモリセルトランジスタMTのドレインは選択トランジスタST1のソースに接続され、ワード線WL0に接続されたメモリセルトランジスタMTのソースは選択トランジスタST2のドレインに接続されている。
ワード線WL0〜WLn−1は、ブロックBLK内のNANDストリング間で、メモリセルトランジスタMTの制御ゲート電極を共通に接続している。つまり、ブロック内において同一行にあるメモリセルトランジスタMTの制御ゲート電極は、同一のワード線WLに接続される。この同一のワード線WLに接続されるm個のメモリセルトランジスタMTは1ページとして取り扱われ、このページごとにデータの書き込み及びデータの読み出しが行われる。
また、ビット線BL0〜BLm−1は、ブロックBLK間で、選択トランジスタST1のドレインを共通に接続している。つまり、ブロックBLK0〜BLKj−1内において同一列にあるNANDストリングは、同一のビット線BLに接続される。各ビット線BLは、ビット線制御回路11に含まれるセンスアンプSAに接続される。
なお、図2は、各ビット線BLに1個のセンスアンプSAが接続された構成例を示しているが、2本のビット線に対して1個のセンスアンプSAを配置するようにしてもよい。図3は、メモリセルアレイ10の他の構成を示す回路図である。
0から数えて偶数番目のビット線BLeと奇数番目のビット線BLoとは、互いに独立にデータの書き込み及び読み出しが行われる。1本のワード線WLに繋がる(2×m)個のメモリセルのうち、偶数番目のビット線BLeに接続されるm個のメモリセルに対して同時にデータの書き込み或いは読み出しが行われ、奇数番目のビット線BLoに接続されるm個のメモリセルに対して同時にデータの書き込み或いは読み出しが行われる。よって、1本のワード線WLに繋がる(2×m)個のメモリセルは、2ページのデータを扱う。
偶数番目のビット線BLe0と奇数番目のビット線BLo0とは、選択回路18を介して1個のセンスアンプSAに接続されている。他の偶数番目のビット線BLeと奇数番目のビット線BLoとのペアについても同様である。偶数番目のビット線BLeと奇数番目のビット線BLoとの選択動作は、選択線SELe及びSELoによって行われる。
図4は、1個のNANDストリングの構成を示す断面図である。p型半導体基板(p−sub)内にはn型ウェル(n−well)が形成されており、n型ウェル(n−well)内にはP型ウェル(P−well)が形成されている。各メモリセルトランジスタMTは、p型ウェル上に形成された積層ゲート構造と、p型ウェル内に高濃度不純物が導入されたn型拡散領域とを備えたMOSFETから構成される。積層ゲート構造は、浮遊ゲート電極FGと制御ゲート電極CGとを含んでいる。
選択トランジスタST1は、P型ウェル内に互いに離間して設けられたソース領域S及びドレイン領域D、ソース領域S及びドレイン領域D間のチャネル領域上に設けられたゲート絶縁膜、及びゲート絶縁膜上に設けられたゲート電極Gから構成されている。選択トランジスタST2についても、選択トランジスタST1と同様の構成である。
図5は、メモリセルトランジスタMTの閾値電圧分布を説明する概略図である。図5には、1ビットを記憶するメモリセルトランジスタMTの閾値電圧分布(図5(a))と、2ビットを記憶するメモリセルトランジスタMTの閾値電圧分布(図5(b))とを載せている。図5の横軸は閾値電圧Vth、縦軸はメモリセルトランジスタMTの数(セル数)である。
1ビット記憶方式は、メモリセルトランジスタMTの閾値電圧が低い順に、例えば、データ“1”、“0”が割り当てられる。データ“1”は、メモリセルトランジスタMTの閾値電圧が例えば負とされた消去状態である。データ“0”は、メモリセルトランジスタMTの閾値電圧が正にシフトされた書き込み状態である。
2ビット記憶方式は、上位ページデータ“x”と下位ページデータ“y”とで定義される2ビットデータ“xy”の何れか1つをメモリセルトランジスタMTに記録可能である。2ビットデータ“xy”は、メモリセルトランジスタMTの閾値電圧が低い順に、例えば、データ“11”、“01”、“00”、“10”が割り当てられる。データ“11”は、メモリセルトランジスタMTの閾値電圧が例えば負とされた消去状態である。なお、データの割り当て規則はこれに限らない。また、1個のメモリセルトランジスタMTに3ビット以上の記憶を行う構成であってもよい。
下位ページの書き込み動作において、データ“11”(消去状態)のメモリセルトランジスタMTに対して選択的に、下位ビットデータ“y”を書き込むことによって、データ“10”が書き込まれる。上位ページの書き込み前のデータ“10”の閾値分布は、上位ページ書き込み後のデータ“01”とデータ“00”との閾値分布の中間程度に位置しており、上位ページの書き込み後の閾値分布よりブロードであってもよい。上位ページの書き込み動作において、データ“11”のメモリセルと、データ“10”のメモリセルに対して、それぞれ選択的に上位ビットデータ“x”が書き込まれることにより、データ“01”及びデータ“00”が書き込まれる。
(動作)
NANDフラッシュメモリの読み出し動作では、まず、選択ゲート線SGDに電圧Vsgが印加され、選択トランジスタST1がオンする。続いて、選択トランジスタST2をオフさせた状態で、ビット線BLを電圧Vblに充電する。
続いて、選択メモリセル以外の全ての非選択メモリセルに接続された非選択ワード線に、記憶データによらずメモリセルがオンする非選択ワード線読み出し電圧Vreadが印加され、非選択メモリセルがオンする。続いて、選択メモリセルに接続された選択ワード線に、選択メモリセルの閾値電圧を判定するための電圧Vcgrが印加される。続いて、選択ゲート線SGSに電圧Vsgが印加され、選択トランジスタST2がオンする。ソース線SLには、例えば0Vが印加される。
この時、選択ワード線に接続された選択メモリセルがオフしている場合は、ビット線が放電されず、充電電圧Vblを保持する。一方、選択メモリセルがオンしている場合は、ビット線が放電され、ビット線の電圧がソース線SLと概略同じ電圧になる。この後、読み出し動作後のビット線の電圧をセンスアンプSAにより検知することで、選択メモリセルに記憶されたデータを読み出すことができる。
電圧Vreadは、図5に示すように、最も大きい閾値電圧のメモリセルトランジスタがオンする電圧に設定される。電圧Vreadを高くすれば、確実に非選択メモリセルをオンさせることができるが、一方で、電圧Vreadを高くし過ぎると、読み出し動作が繰り返される、すなわち、ワード線への電圧Vreadの印加が繰り返されることで、メモリセルトランジスタMTの閾値電圧が上昇してしまう、いわゆるリードディスターブが発生する。このため、電圧Vreadは、非選択メモリセルがオンするという条件を満たしつつ、より低く設定することが望ましい。
ここで、書き込み動作において、メモリセルの閾値電圧が電圧Vreadよりも高い電圧に設定されるオーバープログラムが発生する。あるNANDストリングの1個のメモリセルにオーバープログラムが発生すると、電圧Vreadを印加してもメモリセルがオンしないため、当該NANDストリングのデータを読み出すことが不可能となる。ひいては、オーバープログラムが発生したNANDストリングを含むブロックのデータ読み出しができなくなる。
本実施形態では、オーバープログラムが発生したNANDストリングに対して、読み出し時に電圧Vreadを上げて読み出し動作を行う。これにより、オーバープログラムが発生したメモリセルをオンさせることができるため、NANDストリングのデータを読み出すことが可能となる。以下に、オーバープログラム不良を救済するための方式について説明する。
図6は、NANDフラッシュメモリ1のオーバープログラム検出動作を示すフローチャートである。制御部17は、メモリセルアレイ10内の任意のブロックBLKにデータを書き込む(ステップS100)。この書き込み動作は、一般的なNANDフラッシュメモリの書き込み動作と同じである。
続いて、制御部17は、オーバープログラムベリファイを行う(ステップS101)。オーバープログラムベリファイとは、ブロックBLKに含まれる全てのNANDストリングに対して、オーバープログラムが発生しているか否かを判定する処理である。
図7は、オーバープログラムベリファイ時にNANDストリングに印加される電圧関係を説明する図である。ビット線制御回路11によりビット線BLを電圧Vblに充電した後、ワード線制御回路12は、選択ゲート線SGD及びSGSに電圧Vsg(4.3V程度)を印加し、選択トランジスタST1及びST2をオンさせる。続いて、ワード線制御回路12は、ブロックBLK内の全てのワード線WL0〜WLn−1に、電圧Vread、若しくはVreadより若干低い電圧“Vread−α”を印加する。電圧“Vread−α”を使う場合は、閾値電圧がVread付近のメモリセルを検出することができるため、より信頼性の高いオーバープログラム検出動作が可能となる。
続いて、ビット線制御回路11は、ビット線BLの電圧を検知し、ビット線BLが放電されているか否かを判定する。電圧Vread(若しくは“Vread−α”)によってNANDストリング内の全てのメモリセルがオンした場合、図7に示すように、NANDストリングはチャネルによって電気的に接続され、ビット線BLが放電される。ビット線BLが放電されている場合は、NANDストリング内にオーバープログラムが発生したメモリセルが存在しないことを意味する。一方、ビット線BLが放電されていない場合は、NANDストリング内にオフしたメモリセルが1個以上存在することを意味し、換言すると、NANDストリング内にオーバープログラムが発生したメモリセルが1個以上存在することを意味する。
ビット線制御回路11により、オーバープログラムが発生していない場合はパス、オーバープログラムが発生した場合にはフェイルと判定される(ステップS102)。なお、パス/フェイル判定では、ブロックBLK内にオーバープログラムが発生したNANDストリングがゼロの場合はパス、1個以上存在する場合はフェイルとなる。また、オーバープログラムが発生したNANDストリングをカウントし、任意に設定したフェイル閾値を超えた場合にフェイルとすることも可能である。
続いて、制御部17は、オーバープログラムベリファイの結果を、ブロックBLK内の冗長領域にフラグとして書き込む。フラグの容量は1ビットである。図8は、フラグ領域を示す概略図である。図8は、ブロックBLK内の任意の1ページの記憶領域を示している。1ページは、ユーザデータや管理情報などを格納するデータ領域と、ECC(Error Correction Code)を格納するECC領域と、オーバープログラム用のフラグを格納するフラグ領域とを備えている。フラグ領域は、1ページ内の冗長領域から割り当てられる。フラグが格納されたページは、制御部17が作成する管理情報によって管理される。このように、ブロックBLK内にオーバープログラムベリファイの結果を示すフラグを格納しているため、このフラグを確認することで、当該ブロックにオーバープログラムが発生しているか否かを判定することができる。
次に、データ読み出し動作について説明する。図9は、NANDフラッシュメモリ1のデータ読み出し動作を示すフローチャートである。
まず、制御部17は、ホストコントローラ2からリードコマンドを受ける(ステップS200)。続いて、制御部17は、読み出し対象のブロックBLKに格納されたフラグを読み出す(ステップS201)。この読み出し動作は、一般的なページ読み出しと同じである。前述したように、フラグが書き込まれたページは、制御部17が作成した管理情報によって管理されている。そして、制御部17は、読み出したフラグの状態を確認する(ステップS202)。
フラグがパスである場合は、ブロックBLK内にオーバープログラムが発生したメモリセルが存在しない。よって、制御部17は、電圧Vreadを用いた通常のリード処理(ノーマルリード処理)を実行する(ステップS203)。このリード処理は、リードコマンド列に含まれるアドレスに対応するページに対して行われる。
一方、フラグがフェイルである場合は、ブロックBLK内にオーバープログラムが発生したメモリセルが存在する。よって、制御部17は、非選択ワード線読み出し電圧Vreadを変更、すなわち、図5に示すように、Vreadより高い非選択ワード線読み出し電圧Vread´に変更する(ステップS204)。そして、制御部17及びワード線制御回路12は、電圧Vread´を用いてリード処理を実行する(ステップS205)。
図10は、電圧Vread´を用いたリード処理時にNANDストリングに印加される電圧関係を説明する図である。例えば、ワード線WL4に接続されたメモリセルが選択されたものとする。
ビット線制御回路11によりビット線BLを電圧Vblに充電した後、ワード線制御回路12は、選択ゲート線SGD及びSGSに電圧Vsg(4.3V程度)を印加し、選択トランジスタST1及びST2をオンさせる。続いて、ワード線制御回路12は、選択メモリセルに接続された選択ワード線WL4に、選択メモリセルの記憶データを判定するための読み出し電圧Vcgrを印加し、他の全ての非選択メモリセルに接続された非選択ワード線WLに、Vreadより高い非選択ワード線読み出し電圧Vread´を印加する。これにより、全ての非選択メモリセルはオンする。
続いて、ビット線制御回路11は、ビット線BLの電圧を検知し、ビット線BLが放電されているか否かを判定する。そして、この判定結果により選択メモリセルのデータを読み出す。なお、図10は、読み出し電圧Vcgrよって選択メモリセルがオンした状態、すなわち、NANDストリングがチャネルによって電気的に接続された状態を示している。ビット線制御回路11により読み出されたデータは、データ入出力バッファ15を介して、ホストコントローラ2に出力される。
(効果)
以上詳述したように第1の実施形態では、ブロックBLKに含まれる全てのNANDストリングに対して、全てのワード線WLに非選択ワード線読み出し電圧Vreadを印加してビット線BLが放電されたか否かを判定するオーバープログラムベリファイを行う。そして、オーバープログラムベリファイの判定結果に応じて、オーバープログラムが発生したか否かを確認するためのフラグをブロックBLKの冗長領域に格納する。続いて、オーバープログラムが発生したブロックBLKに対しては、データ読み出し時に、非選択ワード線読み出し電圧Vreadを本来の電圧より高くしてリード処理を行うようにしている。
従って第1の実施形態によれば、本来であればオーバープログラムによってデータ読み出しが不能になるブロックを救済することができる。このため、オーバープログラムに起因するNANDフラッシュメモリ1の不良率を抑制することができる。
また、非選択ワード線読み出し電圧Vreadを予め高く設定しておく必要がなくなる。このため、リードディスターブを低減することができる。
(実施例1)
次に、オーバープログラムを判定するためのフラグの格納方式に係る他の構成例について説明する。図11は、フラグ領域を示す概略図である。ブロックBLK内の各ページは、データ領域及びECC領域に加えて、オーバープログラム用のフラグを格納するフラグ領域を備えている。フラグ領域は、1ページ内の冗長領域から割り当てられる。書き込み時には、制御部17は、オーバープログラムベリファイの結果を、ブロックBLK内の全てのページのフラグ領域にフラグとして書き込む。
図12は、NANDフラッシュメモリ1のデータ読み出し動作を示すフローチャートである。まず、制御部17は、ホストコントローラ2からリードコマンドを受ける(ステップS300)。続いて、制御部17は、リードコマンド列に含まれるアドレスに対応するページのリード処理を実行する(ステップS301)。このリード処理は、一般的なページ読み出しと同じである。
続いて、制御部17は、読み出したページに含まれるフラグを確認する(ステップS302,S303)。フラグがパスである場合は、ブロックBLK内にオーバープログラムが発生したメモリセルが存在しない。よって、制御部17は、読み出したページをリードデータとして出力する。
一方、フラグがフェイルである場合は、ブロックBLK内にオーバープログラムが発生したメモリセルが存在する。よって、制御部17は、非選択ワード線読み出し電圧Vreadを変更、すなわち、Vreadより高い非選択ワード線読み出し電圧Vread´に変更する(ステップS304)。続いて、制御部17及びワード線制御回路12は、電圧Vread´を用いて再度リード処理を実行する(ステップS305)。そして、制御部17は、再度読み出したページをリードデータとして出力する。
実施例1のようにNANDフラッシュメモリ1を構成した場合でも、オーバープログラムに起因するNANDフラッシュメモリ1の不良率を抑制することができる。
(実施例2)
オーバープログラムを判定するためのフラグの格納方式に係る他の構成例について説明する。図13は、実施例2に係るNANDフラッシュメモリ1の構成を示すブロック図である。NANDフラッシュメモリ1は、図1の構成に加えて、オーバープログラムを判定するためのフラグを格納するラッチ回路19を新たに備えている。ラッチ回路19は、DRAM(Dynamic Random Access Memory)などの揮発性半導体メモリからなり、ブロックと同じ数のビット数を記憶可能な容量を有する。
図14は、NANDフラッシュメモリ1のデータ読み出し動作を示すフローチャートである。なお、フラグは、各ブロックの任意の1ページに格納されていてもよいし、全てのページに格納されていてもよい。
制御部17は、外部から電源供給を受けると(パワーオン時)(ステップS400)、全てのブロックBLKからオーバープログラム判定用のフラグを読み出す(ステップS401)。続いて、制御部17は、読み出されたフラグをラッチ回路19に格納する(ステップS402)。
続いて、制御部17は、ホストコントローラ2からリードコマンドを受ける(ステップS403)。続いて、制御部17は、ラッチ回路19に格納されたフラグのうち読み出し対象のブロックBLKに対応するフラグを確認する(ステップS404,S405)。
フラグがパスである場合は、ブロックBLK内にオーバープログラムが発生したメモリセルが存在しない。よって、制御部17は、電圧Vreadを用いた通常のリード処理(ノーマルリード処理)を実行する(ステップS406)。このリード処理は、リードコマンド列に含まれるアドレスに対応するページに対して行われる。
一方、フラグがフェイルである場合は、ブロックBLK内にオーバープログラムが発生したメモリセルが存在する。よって、制御部17は、非選択ワード線読み出し電圧Vreadを変更、すなわち、図5に示すように、Vreadより高い非選択ワード線読み出し電圧Vread´に変更する(ステップS407)。そして、制御部17及びワード線制御回路12は、電圧Vread´を用いてリード処理を実行する(ステップS408)。
実施例2のようにNANDフラッシュメモリ1を構成した場合でも、オーバープログラムに起因するNANDフラッシュメモリ1の不良率を抑制することができる。
なお、第1の実施形態において、図6の制御は、ブロック単位で行っているが、ページ単位で行うようにしてもよい。
また、フラグを管理する方法としては、ブロック単位ではなく、複数のブロックからなるエリアを単位としてフラグを管理するようにしてもよい。
また、フラグの書き込み方法としては、冗長ブロックにまとめて全てのフラグを書き込むようにしてもよい。
[第2の実施形態]
第2の実施形態は、図1に示したNANDフラッシュメモリ1を搭載したメモリシステムに本発明を適用した構成例である。
図15は、本発明の第2の実施形態に係るメモリシステム30の構成を示すブロック図である。メモリシステム30としては、例えばSSD(Solid State Drive)が挙げられる。
メモリシステム30は、ATAインタフェース(ATA I/F)などのメモリ接続インタフェースを介してパーソナルコンピュータ或いはCPU(Central Processing Unit)コアなどのホスト装置20と接続され、ホスト装置20の外部メモリとして機能する。また、メモリシステム30は、RS232Cインタフェース(RS232C I/F)などの通信インタフェースを介して、デバッグ/製造検査用機器31との間でデータを送受信することができる。
メモリシステム30は、不揮発性半導体メモリとしてのNANDフラッシュメモリ(以下、NANDメモリと略す)1と、ホストコントローラとしてのドライブ制御回路32と、揮発性半導体メモリとしてのDRAM33と、フューズ34と、電源回路35と、状態表示用LED36と、ドライブ内部の温度を検出する温度センサ37とを備えている。
電源回路35は、ホスト装置20側の電源回路から供給される外部直流電源から複数の異なる内部直流電源を生成し、これら内部直流電源をメモリシステム30内の各回路に供給する。また、電源回路35は、外部電源の立ち上がりを検知し、パワーオンリセット信号を生成して、ドライブ制御回路32に供給する。
フューズ34は、ホスト装置20側の電源回路とメモリシステム30内部の電源回路35との間に設けられている。外部電源回路から過電流が供給された場合、フューズ34が切断され、内部回路の誤動作を防止する。
NANDメモリ1は、第1の実施形態で示した不揮発性半導体記憶装置(NANDフラッシュメモリ)1から構成される。メモリシステム30は、複数のNANDメモリ1(本実施形態では、一例として4個のNANDメモリ1を示している)を備えており、4個のNANDメモリ1は、4つのチャネル(ch0〜ch3)によってドライブ制御回路32に接続されている。4個のNANDメモリ1は、4つのチャネル(ch0〜ch3)によって並列動作やインターリーブ動作が可能である。
DRAM33は、ホスト装置20とNANDメモリ1との間で、データ転送用キャッシュ及び作業領域用メモリなどとして機能する。DRAM33の作業領域用メモリに記憶される内容は、例えばNANDメモリ1に記憶されている各種管理テーブルが、起動時などに展開されたマスターテーブル(スナップショット)、或いは管理テーブルの変更差分であるログ情報などがある。
なお、DRAM33の代わりに、FeRAM(Ferroelectric Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)、PCRAM(Phase-Change Random Access Memory)などの不揮発性ランダムアクセスメモリを使用することも可能である。不揮発性ランダムアクセスメモリを使用する場合、電源切断時に各種管理テーブルなどをNANDメモリ1に退避させる動作の一部又は全部を省略することができる。
ドライブ制御回路(ホストコントローラ)32は、ホスト装置20とNANDメモリ1との間でDRAM33を介してデータ転送制御を行うとともに、メモリシステム30内の各モジュールを制御する。また、ドライブ制御回路32は、状態表示用LED36にステータス表示用信号を供給するとともに、電源回路35からのパワーオンリセット信号を受けて、リセット信号及びクロック信号をドライブ制御回路32内及びメモリシステム30内の各部に供給する機能も有している。ドライブ制御回路32は、NANDメモリ1に対してホストコントローラの役割を果たし、すなわち、図1に示したホストコントローラ2に対応する。
図16は、ドライブ制御回路32のハードウェア的な内部構成例を示すブロック図である。ドライブ制御回路32は、データアクセス用バス41、第1の回路制御用バス42、及び第2の回路制御用バス43を備えている。第1の回路制御用バス42には、ドライブ制御回路32全体を制御するプロセッサ44が接続されている。第1の回路制御用バス42には、ブートROM(Read Only Memory)45がROMコントローラ46を介して接続されている。ブートROM45には、NANDメモリ1に記憶された各管理プログラム(FW:ファームウエア)をブートするブート用プログラムが格納されている。
また、第1の回路制御用バス42には、クロックコントローラ47が接続されている。このクロックコントローラ47は、電源回路35からのパワーオンリセット信号を受けて、リセット信号及びクロック信号を各モジュールに供給する。
第2の回路制御用バス43は、第1の回路制御用バス42に接続されている。第2の回路制御用バス43には、温度センサ37からのデータを受けるためのI2C回路48、状態表示用LED36にステータス表示用信号を供給するパラレルIO(PIO)回路49、RS232C I/Fを制御するシリアルIO(SIO)回路50が接続されている。
ATAインタフェースコントローラ(ATAコントローラ)51、第1のECC(Error Checking and Correcting)回路52、NANDコントローラ53、及びDRAMコントローラ54は、データアクセス用バス41と第1の回路制御用バス42との両方に接続されている。ATAコントローラ51は、ATA I/Fを介してホスト装置20との間でデータを送受信する。データアクセス用バス41には、データ作業領域及びファームウェア展開領域として使用されるSRAM(Static Random Access Memory)55がSRAMコントローラ56を介して接続されている。NANDメモリ1に記憶されているファームウェアは起動時、ブートROM45に記憶されたブート用プログラムによってSRAM55に転送される。
NANDコントローラ53は、NAND I/F57、第2のECC回路58、及びDMA(Direct Memory Access)転送制御用のDMAコントローラ59を備えている。NAND I/F57は、NANDメモリ1とのインタフェース処理を行う。DMAコントローラ59は、NANDメモリ1とDRAM33との間のアクセス制御を行う。第2のECC回路58は第2のエラー訂正符号のエンコードを行い、また、第1のエラー訂正符合のエンコード及びデコードを行う。第1のECC回路52は、第2のエラー訂正符号のデコードを行う。第1のエラー訂正符号、第2のエラー誤り訂正符号は、例えば、ハミング符号、BCH(Bose Chaudhuri Hocqenghem)符号、RS(Reed Solomon)符号、或いはLDPC(Low Density Parity Check)符号等であり、第2のエラー訂正符号の訂正能力は、第1のエラー訂正符号の訂正能力よりも高いものとする。
(動作)
次に、メモリシステム30の書き込み動作について説明する。図17は、メモリシステム30の書き込み動作を示すフローチャートである。
まず、ドライブ制御回路32は、NANDメモリ1の任意のブロックに対してライト処理を実行する(ステップS500)。具体的には、ドライブ制御回路32は、ライトコマンド、アドレス、及びデータをNANDメモリ1に送る。このライト処理が終了したか否かを確認する手段としては、例えば、NANDメモリ1から送られるレディー/ビジー信号(R/B信号)を用いる。
ブロックへのライト処理が終了した後、ドライブ制御回路32は、NANDメモリ1に対してオーバープログラムベリファイコマンド(OPVコマンド)を発行する(ステップS501)。OPVコマンド列には、オーバープログラムベリファイの対象であるブロックアドレスも含まれる。このブロックアドレスは、ステップS500においてライト処理を行ったブロックのアドレスである。オーバープログラムベリファイコマンドに応答して、NANDメモリ1は、第1の実施形態で説明したオーバープログラムベリファイを実行する。そして、NANDメモリ1は、オーバープログラムベリファイ対象であるブロックに対して、オーバープログラムが発生しているか否かを判定する。この時、オーバープログラムが発生していない場合はパス、オーバープログラムが発生した場合にはフェイルと判定される。
続いて、ドライブ制御回路32は、NANDメモリ1に対してステータスリードコマンドを発行する(ステップS502)。ステータスリードコマンドに応答して、NANDメモリ1は、オーバープログラムベリファイの結果(パス/フェイル情報)であるステータス情報を出力する。ドライブ制御回路32は、NANDメモリ1からのステータス情報を受ける(ステップS503)。
続いて、ドライブ制御回路32は、パス/フェイル情報を、DRAM33及びNANDメモリ1に格納された管理テーブルに書き込む。なお、パス/フェイル情報をNANDメモリ1にも書き込むのは、電源がオフされた場合でも、メモリシステム30が管理テーブルを記憶可能とするためである。このように、DRAM33及びNANDメモリ1の管理テーブルにパス/フェイル情報が含まれているため、このパス/フェイル情報を確認することで、当該ブロックにオーバープログラムが発生しているか否かを判定することができる。
パス/フェイル情報を格納する管理テーブルとしては、論理/物理アドレス変換テーブルを用いることができる。NANDフラッシュメモリは、データの書き換え時にブロック間のデータコピー処理が必要となる特性を有するため、ホスト側で管理されている論理ブロックアドレスと、NANDフラッシュメモリ側の実際の物理ブロックアドレスとは一致しない。よって、論理/物理アドレス変換テーブルにより論理ブロックアドレスを物理ブロックアドレスに変換した後、物理ブロックアドレスに基づいて実際にアクセスすべきブロックが特定される。
図18は、論理/物理アドレス変換テーブルの一例を説明する図である。昇順に並んだ論理ブロックアドレスの各々に対応して物理ブロックアドレスが記録されている。“0x”は、16進数を表す記号である。“FFFF”は、未割り当てを意味する。本実施形態では、論理/物理アドレス変換テーブルにフラグ領域を追加し、このフラグ領域に、オーバープログラムベリファイの結果であるパス/フェイル情報を格納する。フラグ領域に書き込まれるフラグのうち、データ“0”がパス、データ“1”がフェイルを意味する。なお、オーバープログラムベリファイの結果を書き込む管理テーブルとしては、論理/物理アドレス変換テーブルに限らず、ブロックの状態を管理する他のテーブル(ウェアレベリングの情報を管理するテーブルなど)を用いてもよい。
次に、データ読み出し動作について説明する。図19は、メモリシステム30のデータ読み出し動作を示すフローチャートである。
まず、ドライブ制御回路32は、DRAM33に格納された管理テーブルを参照する(ステップS600)。この管理テーブルには、ブロックBLKごとに、オーバープログラムベリファイの結果であるパス/フェイル情報が例えばフラグとして格納されている。続いて、ドライブ制御回路32は、管理テーブルを用いて、読み出し対象であるブロックBLKのパス/フェイル判定を行う(ステップS601)。
フラグがパスである場合は、読み出し対象であるブロックBLK内にオーバープログラムが発生したメモリセルが存在しない。よって、ドライブ制御回路32は、通常のリード処理(ノーマルリード処理)を実行する(ステップS602)。すなわち、ドライブ制御回路32は、NANDメモリ1にリードコマンド及びアドレスを送り、その後、NANDメモリ1からデータを受ける。NANDメモリ1側では、このリードコマンドに応答して、電圧Vreadを用いた通常のリード処理を実行する。
一方、フラグがフェイルである場合は、読み出し対象であるブロックBLK内にオーバープログラムが発生したメモリセルが存在する。よって、ドライブ制御回路32は、非選択ワード線読み出し電圧Vreadを変更、すなわち、図5に示すように、Vreadより高い非選択ワード線読み出し電圧Vread´に変更するように、NANDメモリ1に命令する(ステップS603)。そして、ドライブ制御回路32は、リード処理(ノーマルリード処理)を実行する(ステップS604)。すなわち、ドライブ制御回路32は、NANDメモリ1にリードコマンド及びアドレスを送り、その後、NANDメモリ1からデータを受ける。NANDメモリ1側では、このリードコマンドに応答して、電圧Vread´を用いてリード処理を実行する。
(効果)
以上詳述したように第2の実施形態では、ホストコントローラ(ドライブ制御回路32)は、NANDメモリ1の任意の第1のブロックにデータを書き込んだ後、NANDメモリ1に、第1のブロックに対してオーバープログラムベリファイを実行するよう命令する。続いて、ホストコントローラは、オーバープログラムベリファイの結果であるパス/フェイル情報をNANDメモリ1から受け、パス/フェイル情報を管理テーブルを用いて管理する。一方、データ読み出し時には、ホストコントローラは、管理テーブルのパス/フェイル情報を用いて読み出し対象のブロックにオーバープログラムが発生しているか否かを判定する。そして、ホストコントローラは、オーバープログラムが発生しているブロックに対しては、非選択ワード線読み出し電圧Vreadを本来の電圧より高くしてリード処理を行うようにNANDメモリ1に命令するようにしている。
従って第2の実施形態によれば、本来であればオーバープログラムによってデータ読み出しが不能になるブロックを救済することができる。このため、オーバープログラムに起因するメモリシステム30の不良率を抑制することができる。
また、非選択ワード線読み出し電圧Vreadを高く設定する必要がなくなる。このため、リードディスターブを低減することができる。
(実施例)
次に、メモリシステム30のデータ書き込み動作の変形例について説明する。図20は、変形例に係るメモリシステム30のデータ書き込み動作を示すフローチャートである。なお、図20において、ステップS700〜S703の工程は、図17のS500〜S503の工程と同じである。
続いて、ドライブ制御回路32は、ステータス情報(パス/フェイル情報)を用いて、書き込み対象であるブロックBLKのパス/フェイル判定を行う(ステップS704)。
フラグがパスである場合は、書き込み対象であるブロックBLK内にオーバープログラムが発生したメモリセルが存在しない。従って、ステップS700によってNANDメモリ1に正常にデータが書き込まれているため、ドライブ制御回路32は、ライト処理を終了する。
一方、フラグがフェイルである場合は、書き込み対象であるブロックBLK内にオーバープログラムが発生したメモリセルが存在する。よって、以後、ドライブ制御回路32は、書き込み対象であるブロックのデータを、別のブロックに移動するデータコピー処理を実行する。
まず、ドライブ制御回路32は、書き込み対象であるブロックBLKに対して、リード処理を実行する(ステップS705)。すなわち、ドライブ制御回路32は、NANDメモリ1にリードコマンド及びアドレスを送り、その後、NANDメモリ1からデータを受ける。このアドレスは、上記オーバープログラムが発生したブロックのアドレスである。
続いて、ドライブ制御回路32に含まれる第2のECC回路58は、NANDメモリ1からのリードデータに対してエラー訂正を実行する(ステップS706)。このエラー訂正を実行することで、オーバープログラムに起因してエラーとなったデータを訂正することができる。
続いて、ドライブ制御回路32は、上記オーバープログラムが発生したブロック以外のブロックに、再度、ライト処理を実行する(ステップS707)。具体的には、ドライブ制御回路32は、ライトコマンド、アドレス、及びステップS706によりエラー訂正されたデータをNANDメモリ1に送る。このライトコマンドに応答して、NANDメモリ1は、上記オーバープログラムが発生したブロック以外のブロックに、エラー訂正されたデータを書き込む。なお、オーバープログラムが発生したブロックは、バッドブロック化し、以後使用しないようにする。バッドブロックの管理も管理テーブルを用いて行われる。
以上詳述したように変形例によれば、NANDメモリ1に格納されたデータの信頼性を向上させることができる。
本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で、構成要素を変形して具体化することが可能である。さらに、上記実施形態には種々の段階の発明が含まれており、1つの実施形態に開示される複数の構成要素の適宜な組み合わせ、若しくは異なる実施形態に開示される構成要素の適宜な組み合わせにより種々の発明を構成することができる。例えば、実施形態に開示される全構成要素から幾つかの構成要素が削除されても、発明が解決しようとする課題が解決でき、発明の効果が得られる場合には、これらの構成要素が削除された実施形態が発明として抽出されうる。
1…NANDフラッシュメモリ、2…ホストコントローラ、10…メモリセルアレイ、11…ビット線制御回路、12…ワード線制御回路、13…ソース線制御回路、14…Pウェル制御回路、15…データ入出力バッファ、16…コマンドインターフェイス、17…制御部、18…選択回路、19…ラッチ回路、20…ホスト装置、30…メモリシステム、31…デバッグ/製造検査用機器、32…ドライブ制御回路、33…DRAM、34…フューズ、35…電源回路、36…状態表示用LED、37…温度センサ、41…データアクセス用バス、42…第1の回路制御用バス、43…第2の回路制御用バス、44…プロセッサ、45…ブートROM、46…ROMコントローラ、47…クロックコントローラ、48…IC回路、49…PIO回路、50…SIO回路、51…ATAコントローラ、52…第1のECC回路、53…NANDコントローラ、54…DRAMコントローラ、55…SRAM、56…SRAMコントローラ、58…第2のECC回路、59…DMAコントローラ。

Claims (14)

  1. 電気的に書き換え可能な複数のメモリセルを有する複数のブロックを含み、各ブロックは、第1の方向に直列に接続された所定数のメモリセルを含む複数のNANDストリングを有する、メモリセルアレイと、
    前記ブロックのうち前記第1の方向に交差する第2の方向に配列された複数のメモリセル群にそれぞれ接続された複数のワード線と、
    (A)データ読み出し時に非選択ワード線に印加される第1の読み出し電圧を用いて、ブロックに含まれる全てのメモリセルがオンするか(パス)、1個以上のメモリセルがオフするか(フェイル)をベリファイし、
    (B)フェイルのブロックに対して、非選択ワード線に印加されかつ前記第1の読み出し電圧より高い第2の読み出し電圧を用いて、データ読み出し動作を実行する
    制御部と、
    を具備することを特徴とする不揮発性半導体記憶装置。
  2. 前記ワード線に前記第1の読み出し電圧又は前記第2の読み出し電圧を印加するワード線回路をさらに具備することを特徴とする請求項1に記載の不揮発性半導体記憶装置。
  3. 前記複数のNANDストリングの一端に複数の選択トランジスタを介して接続された複数のビット線と、
    前記複数のビット線に接続され、かつ前記ベリファイ時にパス/フェイルを判定するビット線回路と、
    をさらに具備することを特徴とする請求項1又は2に記載の不揮発性半導体記憶装置。
  4. 前記制御部は、前記ベリファイによるパス/フェイル結果をフラグとしてブロックの冗長領域に書き込むことを特徴とする請求項1乃至3のいずれかに記載の不揮発性半導体記憶装置。
  5. 前記ベリファイによるパス/フェイル結果をフラグとして格納するラッチ回路をさらに具備することを特徴とする請求項1乃至3のいずれかに記載の不揮発性半導体記憶装置。
  6. 前記制御部は、データ読み出し時に、前記フラグを参照することを特徴とする請求項4又は5に記載の不揮発性半導体記憶装置。
  7. 前記制御部は、オーバープログラムが発生したNANDストリングをカウントし、このカウント値が閾値を超えたブロックに対して(B)の処理を実行することを特徴とする請求項1乃至6のいずれかに記載の不揮発性半導体記憶装置。
  8. 電気的に書き換え可能な複数のメモリセルを有する複数のブロックを含み、各ブロックは、第1の方向に直列に接続された所定数のメモリセルを含む複数のNANDストリングを有する、メモリセルアレイと、前記ブロックのうち前記第1の方向に交差する第2の方向に配列された複数のメモリセル群にそれぞれ接続された複数のワード線とを含む不揮発性半導体メモリと、
    (A)データ読み出し時に非選択ワード線に印加される第1の読み出し電圧を用いて、ブロックに含まれる全てのメモリセルがオンするか(パス)、1個以上のメモリセルがオフするか(フェイル)をベリファイし、
    (B)フェイルのブロックに対して、非選択ワード線に印加されかつ前記第1の読み出し電圧より高い第2の読み出し電圧を用いて、データ読み出し動作を実行する
    ホストコントローラと、
    を具備することを特徴とするメモリシステム。
  9. 前記不揮発性半導体メモリは、前記ベリファイによるパス/フェイル結果を前記ホストコントローラへ出力することを特徴とする請求項8に記載のメモリシステム。
  10. 前記ホストコントローラは、前記ベリファイによるパス/フェイル結果を前記不揮発性半導体メモリから受け、前記パス/フェイル結果を含むテーブルを作成することを特徴とする請求項8又は9に記載のメモリシステム。
  11. 前記ホストコントローラは、データ読み出し時に、前記テーブルを参照することを特徴とする請求項10に記載のメモリシステム。
  12. 前記不揮発性半導体メモリは、前記ワード線に前記第1の読み出し電圧又は前記第2の読み出し電圧を印加するワード線回路を含むことを特徴とする請求項8乃至11のいずれかに記載のメモリシステム。
  13. 前記不揮発性半導体メモリは、前記複数のNANDストリングの一端に複数の選択トランジスタを介して接続された複数のビット線と、前記複数のビット線に接続され、かつ前記ベリファイ時にパス/フェイルを判定するビット線回路とを含むことを特徴とする請求項8乃至12のいずれかに記載のメモリシステム。
  14. 第1方向に接続された複数のメモリセルを有するブロックを含むNAND型のメモリセルアレイと、
    前記ブロックのうち、前記第1方向と交差する第2方向で複数のメモリセルにそれぞれ接続された複数のワード線と、
    データ読み出し時に非選択ワード線に印加される第1電圧によって前記ブロックに含まれる全ての前記メモリセルがオンされるか否か判定し、該判定の結果を参照し、非選択ワード線に印加されかつ前記第1電圧より高い第2電圧によってデータ読み出し処理を行う制御部と、
    を具備することを特徴とする不揮発性半導体記憶装置。
JP2010047013A 2010-03-03 2010-03-03 不揮発性半導体記憶装置及びメモリシステム Expired - Fee Related JP5550386B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010047013A JP5550386B2 (ja) 2010-03-03 2010-03-03 不揮発性半導体記憶装置及びメモリシステム
US13/039,719 US8891304B2 (en) 2010-03-03 2011-03-03 Nonvolatile semiconductor memory device and memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010047013A JP5550386B2 (ja) 2010-03-03 2010-03-03 不揮発性半導体記憶装置及びメモリシステム

Publications (2)

Publication Number Publication Date
JP2011181155A JP2011181155A (ja) 2011-09-15
JP5550386B2 true JP5550386B2 (ja) 2014-07-16

Family

ID=44531231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010047013A Expired - Fee Related JP5550386B2 (ja) 2010-03-03 2010-03-03 不揮発性半導体記憶装置及びメモリシステム

Country Status (2)

Country Link
US (1) US8891304B2 (ja)
JP (1) JP5550386B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102141943A (zh) * 2010-01-28 2011-08-03 建兴电子科技股份有限公司 闪存装置及其数据保护方法
JP2011159364A (ja) * 2010-02-02 2011-08-18 Toshiba Corp 不揮発性半導体記憶装置および不揮発性半導体記憶装置の駆動方法
US9430735B1 (en) 2012-02-23 2016-08-30 Micron Technology, Inc. Neural network in a memory device
TWI492051B (zh) * 2012-09-05 2015-07-11 Silicon Motion Inc 資料儲存裝置與快閃記憶體控制方法
WO2015040658A1 (ja) * 2013-09-20 2015-03-26 富士通株式会社 情報処理方法、情報処理装置、メモリコントローラ及びメモリ
US10643710B2 (en) 2017-11-30 2020-05-05 Western Digital Technologies, Inc. Enhanced erase retry of non-volatile storage device
KR102612891B1 (ko) * 2018-05-31 2023-12-13 에스케이하이닉스 주식회사 메모리 장치, 그것의 동작방법 및 메모리 시스템
US10629272B1 (en) * 2019-02-12 2020-04-21 Sandisk Technologies Llc Two-stage ramp up of word line voltages in memory device to suppress read disturb
US11169876B2 (en) 2019-12-31 2021-11-09 Micron Technology, Inc. Apparatuses, systems, and methods for error correction

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027194B2 (en) * 1988-06-13 2011-09-27 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
JP3199989B2 (ja) * 1994-09-30 2001-08-20 株式会社東芝 不揮発性半導体記憶装置とその過書込み救済方法
KR100385230B1 (ko) * 2000-12-28 2003-05-27 삼성전자주식회사 불휘발성 반도체 메모리 장치의 프로그램 방법
JP3850791B2 (ja) 2001-12-20 2006-11-29 株式会社東芝 不揮発性半導体記憶装置
JP4213532B2 (ja) * 2003-07-15 2009-01-21 株式会社東芝 不揮発性半導体記憶装置
US7177199B2 (en) * 2003-10-20 2007-02-13 Sandisk Corporation Behavior based programming of non-volatile memory
KR100721013B1 (ko) * 2005-07-26 2007-05-22 삼성전자주식회사 낸드 플래시 메모리 장치 및 그것의 프로그램 방법
JP4874721B2 (ja) * 2006-06-23 2012-02-15 株式会社東芝 半導体記憶装置
KR101397549B1 (ko) * 2007-08-16 2014-05-26 삼성전자주식회사 고속 프로그램이 가능한 불휘발성 반도체 메모리 시스템 및그것의 독출 방법
KR101416740B1 (ko) * 2007-11-26 2014-07-09 삼성전자주식회사 플래시 메모리 장치 및 그것의 읽기 방법
JP4640658B2 (ja) * 2008-02-15 2011-03-02 マイクロン テクノロジー, インク. マルチレベル抑制スキーム

Also Published As

Publication number Publication date
US20110216592A1 (en) 2011-09-08
JP2011181155A (ja) 2011-09-15
US8891304B2 (en) 2014-11-18

Similar Documents

Publication Publication Date Title
JP5550386B2 (ja) 不揮発性半導体記憶装置及びメモリシステム
US9640281B1 (en) Memory system and operating method thereof
US9165665B2 (en) Memory system
TWI459391B (zh) Memory system
TWI699777B (zh) 記憶體裝置及其操作方法
US10545691B2 (en) Memory system and method of controlling nonvolatile memory
US9940063B2 (en) Memory system and operating method thereof
US10680005B2 (en) Nonvolatile memory device, method of operating nonvolatile memory device and storage device including the same
TWI518692B (zh) Nonvolatile semiconductor memory device
US10566066B2 (en) Memory controller for controlling memory device based on erase state information and method of operating the memory controller
JP2012203957A (ja) メモリシステム
JP2006114078A (ja) 不揮発性半導体記憶装置及びその動作方法
JP6131207B2 (ja) 半導体記憶装置
US20170242786A1 (en) Memory system and operation method thereof
KR20140123230A (ko) 플래시 메모리와 메모리 컨트롤러를 포함하는 데이터 저장 장치 및 그것의 배드 페이지 관리 방법
TWI720985B (zh) 記憶體系統及其操作方法
US20170097794A1 (en) Data processing system
US11699490B2 (en) Non-volatile memory device, operating method thereof, controller for controlling the same, and storage device including the same
KR101651573B1 (ko) 반도체 기억장치 및 그 프로그래밍 방법
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: 20120305

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131015

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131120

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131205

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131212

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131219

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131226

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140109

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140520

LAPS Cancellation because of no payment of annual fees