JP2020030881A - Memory system - Google Patents
Memory system Download PDFInfo
- Publication number
- JP2020030881A JP2020030881A JP2019215688A JP2019215688A JP2020030881A JP 2020030881 A JP2020030881 A JP 2020030881A JP 2019215688 A JP2019215688 A JP 2019215688A JP 2019215688 A JP2019215688 A JP 2019215688A JP 2020030881 A JP2020030881 A JP 2020030881A
- Authority
- JP
- Japan
- Prior art keywords
- threshold
- program
- data
- memory
- stage
- 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.)
- Granted
Links
Images
Landscapes
- Read Only Memory (AREA)
Abstract
Description
本発明の実施形態は、メモリシステムに関する。 Embodiments of the present invention relate to a memory system.
近年の微細化が進んだ3bit/CellのNANDメモリでは、一般的に、セル間相互干渉を避けるため、第1のメモリセルに記憶する全bitを同時に書き込んだ後、隣接セルに同様に全bitを同時に書き込み、この後、再び第1のメモリセルに全Bitを再書込み(プログラムする)手法が取られる。しかし、この方法を用いると、再書込みのためにコントローラ側でデータを保持する必要がある。 In a 3-bit / cell NAND memory with miniaturization in recent years, generally, in order to avoid mutual interference between cells, all bits stored in a first memory cell are simultaneously written, and then all bits are similarly stored in an adjacent cell. Are written at the same time, and thereafter, the method of rewriting (programming) all the bits in the first memory cell again is taken. However, if this method is used, it is necessary to hold data on the controller side for rewriting.
全bitを同時にプログラムする方法として、1−3−3コーディングが知られている。この方法は、3bit/Cellの8個のしきい値電圧の領域間の7個を、3bitにそれぞれ1つ、3つ、3つに分配するコーディングである。 As a method of simultaneously programming all bits, 1-3-3 coding is known. This method is coding that distributes seven bits among eight threshold voltage regions of three bits / cell to one, three, and three, respectively, in three bits.
しかしながら、近年のNANDメモリは3次元化されており、必要な書き込みバッファ量が増大するので、メモリコントローラのコストが増大している。このため、3次元の不揮発性メモリにおいても、セル間相互干渉と各ページ間のビットエラー率の偏りを抑制しつつ、メモリコントローラの書き込みバッファ量を低減する対策が望まれている。 However, recent NAND memories are three-dimensional, and the required write buffer amount is increased, so that the cost of the memory controller is increased. For this reason, even in a three-dimensional nonvolatile memory, measures to reduce the write buffer amount of the memory controller while suppressing the inter-cell interference and the bias of the bit error rate between the pages are desired.
本発明が解決しようとする課題は、セル間相互干渉を抑制しつつ、メモリコントローラの書き込みバッファ量を低減することができるメモリシステムを提供することである。 An object of the present invention is to provide a memory system capable of reducing the amount of write buffer of a memory controller while suppressing mutual interference between cells.
実施形態によれば、メモリシステムが提供される。前記メモリシステムは、複数のメモリセルを有する不揮発性メモリと、メモリコントローラと、を備える。前記複数のメモリセルは、各々が、データが消去された消去状態を示す第1のしきい値領域と、前記第1のしきい値領域よりも電圧レベルが高くデータが書き込まれた書き込み状態を示す第2から第16のしきい値領域とを合わせた16個のしきい値領域により、第1から第4ビットで表わせられる4ビットのデータを記憶可能である。前記メモリコントローラは、前記第1ビット及び前記第2ビットのデータを書き込む第1プログラムを前記不揮発性メモリに行わせた後に、前記第3ビット及び前記第4ビットのデータを書き込む第2プログラムを前記不揮発性メモリに行わせる。前記メモリコントローラは、前記メモリセルにおけるしきい値領域が、前記第1ビット及び前記第2ビットのデータに応じて、データが消去された消去状態を示す第17のしきい値領域と、前記第17のしきい値領域よりも電圧レベルが高くデータが書き込まれた書き込み状態を示す第18から第20のしきい値領域とのうちのいずれかのしきい値領域になるように前記第1プログラムを前記不揮発性メモリに行わせるように構成される。前記メモリコントローラは、前記メモリセルにおけるしきい値領域が、前記第3ビット及び前記第4ビットのデータに応じて、前記第17から第20のしきい値領域のうちのいずれかのしきい値領域から、前記第1から第16のしきい値領域のうちのいずれかのしきい値領域になるように前記第2プログラムを前記不揮発性メモリに行わせるように構成される。前記第nのしきい値領域は前記第(n−1)のしきい値領域よりも電圧レベルが高い。ここで、nは2以上16以下の自然数である。前記第kのしきい値領域は前記第(k−1)のしきい値領域よりも電圧レベルが高い。ここで、kは18以上20以下の自然数である。前記メモリコントローラは、前記メモリセルにおけるしきい値領域が、前記第3ビット及び前記第4ビットのデータに応じて、前記第17のしきい値領域から、前記第1から第16のしきい値領域のうちのいずれかのしきい値領域になるように前記第2プログラムを前記不揮発性メモリに行わせる場合に、前記第1から第16のしきい値領域のうちの4個の第21のしきい値領域のうちのいずれかのしきい値領域になるように前記第2プログラムを前記不揮発性メモリに行わせるように構成される。前記メモリコントローラは、前記メモリセルにおけるしきい値領域が、前記第3ビット及び前記第4ビットのデータに応じて、前記第18のしきい値領域から、前記第1から第16のしきい値領域のうちのいずれかのしきい値領域になるように前記第2プログラムを前記不揮発性メモリに行わせる場合に、前記第1から第16のしきい値領域のうちの4個の第22のしきい値領域のうちのいずれかのしきい値領域になるように前記第2プログラムを前記不揮発性メモリに行わせるように構成される。前記メモリコントローラは、前記メモリセルにおけるしきい値領域が、前記第3ビット及び前記第4ビットのデータに応じて、前記第19のしきい値領域から、前記第1から第16のしきい値領域のうちのいずれかのしきい値領域になるように前記第2プログラムを前記不揮発性メモリに行わせる場合に、前記第1から第16のしきい値領域のうちの4個の第23のしきい値領域のうちのいずれかのしきい値領域になるように前記第2プログラムを前記不揮発性メモリに行わせるように構成される。前記メモリコントローラは、前記メモリセルにおけるしきい値領域が、前記第3ビット及び前記第4ビットのデータに応じて、前記第20のしきい値領域から、前記第1から第16のしきい値領域のうちのいずれかのしきい値領域になるように前記第2プログラムを前記不揮発性メモリに行わせる場合に、前記第1から第16のしきい値領域のうちの4個の第24のしきい値領域のうちのいずれかのしきい値領域になるように前記第2プログラムを前記不揮発性メモリに行わせるように構成される。前記4個の第23のしきい値領域のしきい値領域及び前記4個の第24のしきい値領域のしきい値領域はいずれも、前記4個の第21のしきい値領域のうちのいずれのしきい値領域よりも電圧レベルが高い。前記4個の第23のしきい値領域のしきい値領域及び前記4個の第24のしきい値領域のしきい値領域はいずれも、前記4個の第22のしきい値領域のうちのいずれのしきい値領域よりも電圧レベルが高い。 According to an embodiment, a memory system is provided. The memory system includes a nonvolatile memory having a plurality of memory cells and a memory controller. The plurality of memory cells each include a first threshold region indicating an erased state where data is erased, and a write state where data is written at a higher voltage level than the first threshold region. By 16 threshold areas including the second to sixteenth threshold areas shown, 4-bit data represented by the first to fourth bits can be stored. The memory controller, after causing the nonvolatile memory to execute a first program for writing the first bit and the second bit data, executes a second program for writing the third bit and the fourth bit data. Let the non-volatile memory do this. The memory controller may further comprise: a threshold region in the memory cell, a seventeenth threshold region indicating an erased state where data is erased according to the data of the first bit and the second bit; The first program is set so as to be in any one of an eighteenth to a twentieth threshold region indicating a write state in which data is written with a voltage level higher than the seventeenth threshold region. Is performed by the nonvolatile memory. The memory controller may be configured such that a threshold region in the memory cell is any one of the seventeenth to twentieth threshold regions according to the third bit and the fourth bit data. The non-volatile memory is configured to execute the second program such that the area becomes one of the first to sixteenth threshold areas from the area. The nth threshold region has a higher voltage level than the (n-1) th threshold region. Here, n is a natural number of 2 or more and 16 or less. The kth threshold region has a higher voltage level than the (k-1) th threshold region. Here, k is a natural number of 18 or more and 20 or less. The memory controller may be configured such that the threshold region in the memory cell is changed from the seventeenth threshold region to the first to sixteenth threshold values in accordance with the third bit and the fourth bit data. When causing the nonvolatile memory to execute the second program so as to be in any one of the threshold areas, four of the first to sixteenth threshold areas are set to the twenty-first threshold area. The nonvolatile memory is configured to execute the second program so as to be in one of the threshold areas. The memory controller may be configured such that a threshold region in the memory cell is changed from the eighteenth threshold region to the first to sixteenth threshold values in accordance with the data of the third bit and the fourth bit. When the non-volatile memory is caused to execute the second program so as to be in any one of the threshold areas, four of the first to sixteenth threshold areas are set to the twenty-second threshold area. The nonvolatile memory is configured to execute the second program so as to be in one of the threshold areas. The memory controller may be configured such that a threshold region in the memory cell is changed from the nineteenth threshold region to the first to sixteenth threshold values in accordance with the data of the third bit and the fourth bit. When the non-volatile memory is caused to execute the second program so as to be in one of the threshold areas, four of the first to sixteenth threshold areas are set in the 23rd area. The nonvolatile memory is configured to execute the second program so as to be in one of the threshold areas. The memory controller may be configured such that a threshold region in the memory cell is changed from the twentieth threshold region to the first to sixteenth threshold values in accordance with the data of the third bit and the fourth bit. When the non-volatile memory is caused to execute the second program so as to be in one of the threshold areas, four of the first to sixteenth threshold areas have a 24th area. The nonvolatile memory is configured to execute the second program so as to be in one of the threshold areas. The threshold regions of the four twenty-third threshold regions and the threshold regions of the four twenty-fourth threshold regions are each one of the four twenty-first threshold regions. Voltage level is higher than any of the threshold regions. The threshold regions of the four twenty-third threshold regions and the threshold regions of the four twenty-fourth threshold regions are each one of the four twenty-second threshold regions. Voltage level is higher than any of the threshold regions.
以下に添付図面を参照して、実施形態に係るメモリシステムおよび書き込み方法を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。 Hereinafter, a memory system and a writing method according to an embodiment will be described in detail with reference to the accompanying drawings. Note that the present invention is not limited by these embodiments.
(第1の実施形態)
図1は、第1の実施形態にかかる記憶装置の構成例を示すブロック図である。本実施形態の記憶装置は、メモリコントローラ1と不揮発性メモリ2とを備える。記憶装置は、ホストと接続可能である。ホストは、例えば、パーソナルコンピュータ、携帯端末などの電子機器である。
(First embodiment)
FIG. 1 is a block diagram illustrating a configuration example of a storage device according to the first embodiment. The storage device according to the present embodiment includes a
不揮発性メモリ2は、データを不揮発に記憶するメモリであり、例えば、NANDメモリ(NANDフラッシュメモリ)を備えている。本実施形態では、不揮発性メモリ2は、メモリセルあたり3bitを記憶可能なメモリセルを有するNANDメモリ、すなわち3bit/Cell(TLC:Triple Level Cell)のNANDメモリであるとして説明する。不揮発性メモリ2は、3次元化されている。
The
メモリコントローラ1は、ホストからの書き込みコマンドに従って不揮発性メモリ2へのデータの書き込みを制御する。また、メモリコントローラ1は、ホストからの読み出しコマンドに従って不揮発性メモリ2からのデータの読み出しを制御する。メモリコントローラ1は、RAM(Random Access Memory)11、プロセッサ12、ホストインターフェイス13、ECC(Error Check and Correct)回路14およびメモリインターフェイス15を備える。RAM11、プロセッサ12、ホストインターフェイス13、ECC回路14およびメモリインターフェイス15は、互いに内部バス16で接続される。
The
ホストインターフェイス13は、ホストから受信したコマンド、ユーザデータ(書き込みデータ)などを内部バス16に出力する。また、ホストインターフェイス13は、不揮発性メモリ2から読み出されたユーザデータ、プロセッサ12からの応答などをホストへ送信する。
The
メモリインターフェイス15は、プロセッサ12の指示に基づいて、ユーザデータ等を不揮発性メモリ2へ書き込む処理および不揮発性メモリ2から読み出す処理を制御する。
The memory interface 15 controls a process of writing user data and the like to the
プロセッサ12は、メモリコントローラ1を統括的に制御する。プロセッサ12は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等である。プロセッサ12は、ホストからホストインターフェイス13経由でコマンドを受けた場合に、そのコマンドに従った制御を行う。例えば、プロセッサ12は、ホストからのコマンドに従って、不揮発性メモリ2へのユーザデータおよびパリティの書き込みをメモリインターフェイス15へ指示する。また、プロセッサ12は、ホストからのコマンドに従って、不揮発性メモリ2からのユーザデータおよびパリティの読み出しを、メモリインターフェイス15へ指示する。
The processor 12 controls the
プロセッサ12は、RAM11に蓄積されるユーザデータに対して、不揮発性メモリ2上の格納領域(メモリ領域)を決定する。ユーザデータは、内部バス16経由でRAM11に格納される。プロセッサ12は、メモリ領域の決定を、書き込み単位であるページ単位のデータ(ページデータ)に対して実施する。本明細書では、不揮発性メモリ2の1ページに格納されるユーザデータをユニットデータと定義する。ユニットデータは、一般的には符号化されて符号語として不揮発性メモリ2に格納される。本実施形態では、符号化は必須ではない。メモリコントローラ1は、符号化せずにユニットデータを不揮発性メモリ2に格納してもよいが、図1では、一構成例として符号化を行う構成を示している。メモリコントローラ1が符号化を行わない場合には、ページデータはユニットデータと一致する。また、1つのユニットデータに基づいて1つの符号語が生成されてもよいし、ユニットデータが分割された分割データに基づいて1つの符号語が生成されてもよい。また、複数のユニットデータを用いて1つの符号語が生成されてもよい。
The processor 12 determines a storage area (memory area) on the
プロセッサ12は、ユニットデータごとに書き込み先の不揮発性メモリ2のメモリ領域を決定する。不揮発性メモリ2のメモリ領域には物理アドレスが割当てられている。プロセッサ12は、ユニットデータの書き込み先のメモリ領域を、物理アドレスを用いて管理する。プロセッサ12は、決定したメモリ領域(物理アドレス)を指定してユーザデータを不揮発性メモリ2へ書き込むようメモリインターフェイス15へ指示する。プロセッサ12は、ユーザデータの論理アドレス(ホストが管理する論理アドレス)と物理アドレスとの対応を管理する。プロセッサ12は、ホストからの論理アドレスを含む読み出しコマンドを受信した場合は、論理アドレスに対応する物理アドレスを特定し、物理アドレスを指定してユーザデータの読み出しをメモリインターフェイス15へ指示する。
The processor 12 determines a memory area of the
本明細書では、1つのワード線に共通に接続されたメモリセルをメモリセルグループMGと定義する。本実施形態では、不揮発性メモリ2は、3bit/CellのNANDメモリであり、1つのメモリセルグループMGは3ページに対応する。各メモリセルの3bitは、それぞれこの3ページに対応する。本実施形態では、この3ページをLowerページ(第1のページ)、Middleページ(第2のページ)、Upperページ(第3のページ)と呼ぶ。
In this specification, a memory cell commonly connected to one word line is defined as a memory cell group MG. In the present embodiment, the
ECC回路14は、RAM11に格納されたユーザデータを符号化して、符号語を生成する。また、ECC回路14は、不揮発性メモリ2から読み出された符号語を復号する。
The ECC circuit 14 encodes the user data stored in the
RAM11は、ホストから受信したユーザデータを不揮発性メモリ2へ記憶するまでに一時格納したり、不揮発性メモリ2から読み出したデータをホストへ送信するまでに一時格納する。RAM11は、例えば、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)などの汎用メモリである。
The
図1では、メモリコントローラ1が、ECC回路14とメモリインターフェイス15をそれぞれ備える構成例を示した。しかしながら、ECC回路14がメモリインターフェイス15に内蔵されていてもよい。また、ECC回路14が、不揮発性メモリ2に内蔵されていてもよい。
FIG. 1 illustrates a configuration example in which the
ホストからライト要求を受信した場合、記憶装置(メモリシステム)は次のように動作する。プロセッサ12は、ライトデータをRAM11に一時記憶させる。プロセッサ12は、RAM11にストアされたデータをリードし、ECC回路14に入力する。ECC回路14は、入力されたデータを符号化し、符号語をメモリインターフェイス15に入力する。メモリインターフェイス15は、入力された符号語を不揮発性メモリ2に書き込む。
When a write request is received from the host, the storage device (memory system) operates as follows. The processor 12 causes the
ホストからリード要求を受信した場合、記憶装置は次のように動作する。メモリインターフェイス15は、不揮発性メモリ2から読み出した符号語をECC回路14に入力する。ECC回路14は、入力された符号語を復号し、復号されたデータをRAM11にストアする。プロセッサ12は、RAM11にストアされたデータを、ホストインターフェイス13を介してホストに送信する。なお、不揮発メモリ2では、複数のチップが接続される場合もあり、不揮発メモリ2とメモリインターフェイス15は、貫通ビア(TSV)によって接続することも可能である。
When a read request is received from the host, the storage device operates as follows. The memory interface 15 inputs the codeword read from the
図2は、本実施形態の不揮発性メモリの構成例を示すブロック図である。不揮発性メモリ2は、NAND I/Oインターフェイス21、制御部22、NANDメモリセルアレイ(メモリセル部)23、およびページバッファ24を備える。不揮発性メモリ2は、例えば1チップの半導体基板(例えば、シリコン基板)からなる。
FIG. 2 is a block diagram illustrating a configuration example of the nonvolatile memory according to the present embodiment. The
制御部22は、NAND I/Oインターフェイス21経由でメモリコントローラ1から入力されたコマンド等に基づいて、不揮発性メモリ2の動作を制御する。具体的には、制御部22は、書き込み要求が入力された場合、書き込みが要求されたデータをNANDメモリセルアレイ23上の指定されたアドレスへ書き込むよう制御する。また、制御部22は、読み出し要求が入力された場合、読み出しが要求されたデータをNANDメモリセルアレイ23から読み出してNAND I/Oインターフェイス21経由でメモリコントローラ1へ出力するよう制御する。ページバッファ24は、NANDメモリセルアレイ23の書き込み時にメモリコントローラ1から入力されたデータを一時的に格納したり、NANDメモリセルアレイ23から読み出したデータを一時的に格納したりするバッファである。
The
図3は、3次元構造のメモリセルアレイのブロックの構成例を示す図である。図3は、3次元構造のメモリセルアレイを構成する複数のブロックのうちの1つのブロックBLKを示している。メモリセルアレイの他のブロックも図3と同様の構成を有する。なお、本実施形態は、2次元構造のメモリセルにも適用可能である。 FIG. 3 is a diagram showing a configuration example of a block of a memory cell array having a three-dimensional structure. FIG. 3 shows one block BLK among a plurality of blocks constituting a memory cell array having a three-dimensional structure. Other blocks of the memory cell array have the same configuration as that of FIG. Note that the present embodiment is also applicable to a memory cell having a two-dimensional structure.
図示するように、ブロックBLKは、例えば4つのフィンガーFNG(FNG0〜FNG3)を含む。また各々のフィンガーFNGは、複数のNANDストリングNSを含む。NANDストリングNSの各々は、例えば8個のメモリセルトランジスタMT(MT0〜MT7)と、選択トランジスタST1,ST2とを含む。なお、メモリセルトランジスタMTの個数は8個に限られない。メモリセルトランジスタMTは、選択トランジスタST1,ST2間に、その電流経路が直列接続されるようにして配置されている。この直列接続の一端側のメモリセルトランジスタMT7の電流経路は、選択トランジスタST1の電流経路の一端に接続され、他端側のメモリセルトランジスタMT0の電流経路は、選択トランジスタST2の電流経路の一端に接続されている。 As illustrated, the block BLK includes, for example, four fingers FNG (FNG0 to FNG3). Each finger FNG includes a plurality of NAND strings NS. Each of the NAND strings NS includes, for example, eight memory cell transistors MT (MT0 to MT7) and select transistors ST1 and ST2. Note that the number of memory cell transistors MT is not limited to eight. The memory cell transistor MT is arranged between the select transistors ST1 and ST2 such that their current paths are connected in series. The current path of the memory cell transistor MT7 at one end of the series connection is connected to one end of the current path of the select transistor ST1, and the current path of the memory cell transistor MT0 at the other end is connected to one end of the current path of the select transistor ST2. It is connected.
フィンガーFNG0〜FNG3の各々の選択トランジスタST1のゲートは、それぞれセレクトゲート線SGD0〜SGD3に共通接続される。他方で、選択トランジスタST2のゲートは、複数のフィンガーFNG間で同一のセレクトゲート線SGSに共通接続される。また、同一のブロックBLK内にあるメモリセルトランジスタMT0〜MT7の制御ゲートは、それぞれワード線WL0〜WL7に共通接続される。すなわち、ワード線WL0〜WL7及びセレクトゲート線SGSは、同一ブロックBLK内の複数のフィンガーFNG0〜FNG3間で共通に接続されているのに対し、セレクトゲート線SGDは、同一ブロックBLK内であってもフィンガーFNG0〜FNG3毎に独立している。 The gates of the select transistors ST1 of the fingers FNG0 to FNG3 are commonly connected to select gate lines SGD0 to SGD3, respectively. On the other hand, the gate of the select transistor ST2 is commonly connected to the same select gate line SGS among the plurality of fingers FNG. Control gates of the memory cell transistors MT0 to MT7 in the same block BLK are commonly connected to word lines WL0 to WL7, respectively. That is, the word lines WL0 to WL7 and the select gate line SGS are commonly connected among the plurality of fingers FNG0 to FNG3 in the same block BLK, whereas the select gate line SGD is in the same block BLK. Are independent for each of the fingers FNG0 to FNG3.
NANDストリングNSを構成するメモリセルトランジスタMT0〜MT7の制御ゲート電極には、それぞれワード線WL0〜WL7が接続されており、また各NANDストリングNS中のメモリセルトランジスタMTi(i=0〜n)間は、同一のワード線WLi(i=0〜n)によって共通接続されている。すなわち、ブロックBLK内において同一行にあるメモリセルトランジスタMTiの制御ゲート電極は、同一のワード線WLiに接続される。なお、以下の説明では、NANDストリングNSをストリングという場合がある。 Word lines WL0 to WL7 are connected to the control gate electrodes of the memory cell transistors MT0 to MT7 forming the NAND string NS, respectively, and between the memory cell transistors MTi (i = 0 to n) in each NAND string NS. Are commonly connected by the same word line WLi (i = 0 to n). That is, the control gate electrodes of the memory cell transistors MTi in the same row in the block BLK are connected to the same word line WLi. In the following description, the NAND string NS may be referred to as a string.
各メモリセルは、ワード線WLiに接続するとともにビット線にも接続される。各メモリセルは、ワード線WLiおよびセレクトゲート線SGD0〜SGD3を識別するアドレスとビット線を識別するアドレスとで識別可能である。上述した通り、同一のブロックBLK内にあるメモリセル(メモリセルトランジスタMT)のデータは、一括して消去される。一方、データの読み出し及び書き込みは、物理セクタMS単位で行われる。1物理セクタMSは、1つのワード線WLiに接続され、かつ1つのフィンガーFNGに属する複数のメモリセルを含む。 Each memory cell is connected to a word line WLi and also to a bit line. Each memory cell can be identified by an address for identifying the word line WLi and the select gate lines SGD0 to SGD3 and an address for identifying the bit line. As described above, data of the memory cells (memory cell transistors MT) in the same block BLK are erased collectively. On the other hand, data reading and writing are performed in physical sector MS units. One physical sector MS includes a plurality of memory cells connected to one word line WLi and belonging to one finger FNG.
リード動作及びプログラム動作時において、物理アドレスに応じて、1本のワード線WLiおよび1本のセレクトゲート線SGDが選択され、物理セクタMSが選択される。 During the read operation and the program operation, one word line WLi and one select gate line SGD are selected according to the physical address, and the physical sector MS is selected.
図4は、3次元構造のNANDメモリのメモリセルアレイの一部領域の断面図である。図4に示すように、p型ウェル領域(P-well)上に複数のNANDストリングNSが形成されている。すなわち、p型ウェル領域上には、セレクトゲート線SGSとして機能する複数の配線層333、ワード線WLiとして機能する複数の配線層332、およびセレクトゲート線SGDとして機能する複数の配線層331が形成されている。
FIG. 4 is a cross-sectional view of a partial region of a memory cell array of a three-dimensional NAND memory. As shown in FIG. 4, a plurality of NAND strings NS are formed on a p-type well region (P-well). That is, a plurality of
そして、これらの配線層333,332,331を貫通してp型ウェル領域に達するメモリホール334が形成されている。メモリホール334の側面には、ブロック絶縁膜335、電荷蓄積層336、およびゲート絶縁膜337が順次形成され、更にメモリホール334内に導電膜338が埋め込まれている。導電膜338は、NANDストリングNSの電流経路として機能し、メモリセルトランジスタMT並びに選択トランジスタST1及びST2の動作時にチャネルが形成される領域である。
Then, a
各NANDストリングNSにおいて、p型ウェル領域上に選択トランジスタST2、複数のメモリセルトランジスタMT、及び選択トランジスタST1が順次積層されている。導電膜338の上端には、ビット線BLとして機能する配線層が形成される。
In each NAND string NS, a select transistor ST2, a plurality of memory cell transistors MT, and a select transistor ST1 are sequentially stacked on a p-type well region. At the upper end of the
さらに、p型ウェル領域の表面内には、n+型不純物拡散層およびp+型不純物拡散層が形成されている。n+型不純物拡散層上にはコンタクトプラグ340が形成され、コンタクトプラグ340上には、ソース線SLとして機能する配線層が形成される。またp+型不純物拡散層上にはコンタクトプラグ339が形成され、コンタクトプラグ339上には、ウェル配線CPWELLとして機能する配線層が形成される。
Further, an n + -type impurity diffusion layer and a p + -type impurity diffusion layer are formed in the surface of the p-type well region. A
以上の図4に示した構成が、図4の紙面の奥行き方向に複数配列されており、奥行き方向に一列に並ぶ複数のNANDストリングの集合によって、1つのフィンガーFNGが形成される。 A plurality of the configurations shown in FIG. 4 described above are arranged in the depth direction of the paper surface of FIG. 4, and one finger FNG is formed by a set of a plurality of NAND strings arranged in a line in the depth direction.
図5は、第1の実施形態のしきい値領域の一例を示す図である。図5では、3bit/Cellの不揮発性メモリ2のしきい値分布例を示している。不揮発性メモリ2では、メモリセルのフローティングゲートに蓄えられた電荷量により情報を記憶する。各メモリセルは、電荷量に応じたしきい値電圧を有する。そして、メモリセルに記憶する複数のデータ値を、しきい値電圧の複数の領域(しきい値領域)にそれぞれ対応させる。
FIG. 5 is a diagram illustrating an example of the threshold region according to the first embodiment. FIG. 5 shows an example of a threshold distribution of the 3-bit / Cell
図5の、Er、A,B,C,D,E,F,Gと記載した8つの分布(山型)は、8つのしきい値領域内のそれぞれのしきい値分布を示している。このように、各メモリセルは、7つの境界によって仕切られたしきい値分布を有している。図5の横軸はしきい値電圧を示し、縦軸はメモリセル数(セル数)の分布を示している。 Eight distributions (peaks) described as Er, A, B, C, D, E, F, and G in FIG. 5 indicate respective threshold distributions in the eight threshold regions. Thus, each memory cell has a threshold distribution partitioned by seven boundaries. The horizontal axis in FIG. 5 indicates the threshold voltage, and the vertical axis indicates the distribution of the number of memory cells (number of cells).
本実施形態では、しきい値電圧がVr1以下となる領域を領域Erとよび、しきい値電圧がVr1より大きくVr2以下となる領域を領域Aとよび、しきい値電圧がVr2より大きくVr3以下となる領域を領域Bとよび、しきい値電圧がVr3より大きくVr4以下となる領域を領域Cとよぶ。また、本実施形態では、しきい値電圧がVr4より大きくVr5以下となる領域を領域Dとよび、しきい値電圧がVr5より大きくVr6以下となる領域を領域Eとよび、しきい値電圧がVr6より大きくVr7以下となる領域を領域Fとよび、しきい値電圧がVr7より大きい領域を領域Gとよぶ。 In the present embodiment, a region where the threshold voltage is equal to or lower than Vr1 is referred to as region Er, a region where the threshold voltage is higher than Vr1 and equal to or lower than Vr2 is referred to as region A, and the threshold voltage is higher than Vr2 and equal to or lower than Vr3. Is referred to as a region B, and a region in which the threshold voltage is higher than Vr3 and equal to or lower than Vr4 is referred to as a region C. In the present embodiment, a region where the threshold voltage is higher than Vr4 and lower than Vr5 is referred to as region D, a region where the threshold voltage is higher than Vr5 and lower than Vr6 is referred to as region E, and the threshold voltage is higher. A region where the threshold voltage is higher than Vr7 is referred to as region F, and a region where the threshold voltage is higher than Vr7 is referred to as region G.
また、領域Er,A,B,C,D,E,F,Gに対応するしきい値分布をそれぞれ分布Er,A,B,C,D,E,F,G(第1〜第8の分布)と呼ぶ。Vr1〜Vr7は、各領域の境界となるしきい値電圧である。 The threshold distributions corresponding to the regions Er, A, B, C, D, E, F, and G are respectively represented by distributions Er, A, B, C, D, E, F, and G (first to eighth). Distribution). Vr1 to Vr7 are threshold voltages serving as boundaries between the respective regions.
不揮発性メモリ2では、メモリセルの複数のしきい値領域(すなわちしきい値分布)に複数のデータ値をそれぞれ対応させる。この対応をデータコーディングという。このデータコーディングをあらかじめ定めておき、データの書き込み(プログラム)時には、データコーディングに従って記憶するデータ値に応じたしきい値領域内となるようにメモリセルに電荷を注入する。そして、読み出し時には、メモリセルに読み出し電圧を印加し、読み出し電圧よりメモリセルのしきい値が低いか高いかにより、データが決定される。しきい値電圧が、読み出し電圧より低い場合には、「消去」状態であるデータ値は“1”と定義する。しきい値電圧が読み出し電圧以上である場合には、「プログラムされた」状態であり、データを“0”と定義する。
In the
データの読み出し時には、読み出し対象の境界の読み出しレベルよりも、しきい値が低いか高いかでデータが決定される。しきい値が最も低い場合は、「消去」状態であり、全てのbitのデータが”1”と定義される。しきい値が、「消去」状態よりも高い場合は、「プログラムされた」状態であり、コーディングに従ってデータを”1”または”0”と定義される。 When reading data, the data is determined depending on whether the threshold value is lower or higher than the read level at the boundary of the read target. When the threshold value is the lowest, it is in the “erase” state, and data of all bits is defined as “1”. If the threshold is higher than the "erase" state, it is in the "programmed" state and the data is defined as "1" or "0" according to the coding.
図6は、第1の実施形態のデータコーディングを示す図である。本実施形態では、図5に示した8つのしきい値分布(しきい値領域)を3bitの8つのデータ値にそれぞれ対応させる。しきい値電圧と、Upper,Middle,Lowerページに対応するビットのデータ値との関係は、以下に示す通りである。
・しきい値電圧がEr領域内にあるメモリセルは“111”を記憶している状態である。
・しきい値電圧がA領域内にあるメモリセルは“101”を記憶している状態である。
・しきい値電圧がB領域内にあるメモリセルは“001”を記憶している状態である。
・しきい値電圧がC領域内にあるメモリセルは“011”を記憶している状態である。
・しきい値電圧がD領域内にあるメモリセルは“010”を記憶している状態である。
・しきい値電圧がE領域内にあるメモリセルは“110”を記憶している状態である。
・しきい値電圧がF領域内にあるメモリセルは“100”を記憶している状態である。
・しきい値電圧がG領域内にあるメモリセルは“000”を記憶している状態である。
FIG. 6 is a diagram illustrating data coding according to the first embodiment. In the present embodiment, the eight threshold distributions (threshold regions) shown in FIG. 5 are made to correspond to eight 3-bit data values, respectively. The relationship between the threshold voltage and the data values of the bits corresponding to the Upper, Middle, and Lower pages is as follows.
The memory cell whose threshold voltage is in the Er region is in a state where "111" is stored.
A memory cell whose threshold voltage is in the region A is in a state of storing “101”.
A memory cell whose threshold voltage is in the B region is in a state where “001” is stored.
A memory cell whose threshold voltage is in the C region is in a state where “011” is stored.
A memory cell whose threshold voltage is in the D region is in a state where "010" is stored.
A memory cell whose threshold voltage is in the E region is in a state where “110” is stored.
A memory cell whose threshold voltage is in the F region is in a state where “100” is stored.
A memory cell whose threshold voltage is in the G region is in a state where “000” is stored.
このように、しきい値電圧の領域毎に、各メモリセルの3bitのデータの状態を表すことが出来る。なお、メモリセルが未書き込みの状態(「消去」の状態)では、メモリセルのしきい値電圧はEr領域内にある。また、ここに示した符号では,Er(消去)状態で”111”というデータを記憶し、A状態で”101”というデータを記憶するといったように、任意の2つの隣接する状態間で1bitのみデータが変化する。このように、図6に示したコーディングは、任意の2つの隣接する領域間で1bitのみデータが変化するグレイ符号である。 In this manner, the state of 3-bit data of each memory cell can be represented for each threshold voltage region. Note that when the memory cell is in a non-written state (“erase” state), the threshold voltage of the memory cell is in the Er region. In the code shown here, only 1 bit is stored between any two adjacent states, such as storing data “111” in the Er (erase) state and storing data “101” in the A state. Data changes. Thus, the coding shown in FIG. 6 is a Gray code in which data changes by only 1 bit between any two adjacent areas.
図6に示す本実施形態のコーディングでは、各ページのビット値を判定するための境界となるしきい値電圧は、以下に示す通りである。
・Lowerページのビット値を判定するための境界となるしきい値電圧はVr4である。
・Middleページのビット値を判定するための境界となるしきい値電圧はVr2、Vr5、Vr7である。
・Upperページのビット値を判定するための境界となるしきい値電圧はVr1、Vr3、Vr6である。
In the coding according to the present embodiment shown in FIG. 6, the threshold voltages serving as boundaries for determining the bit value of each page are as follows.
The threshold voltage serving as a boundary for determining the bit value of the Lower page is Vr4.
The threshold voltages serving as boundaries for determining the bit value of the Middle page are Vr2, Vr5, and Vr7.
The threshold voltages serving as boundaries for determining the bit value of the Upper page are Vr1, Vr3, and Vr6.
このように、ビット値を判定するための境界となるしきい値電圧の数(以下、境界数とよぶ)が、Lowerページ、Middleページ、Upperページでそれぞれ1,3,3である。以下、このようなコーディングをLowerページ、Middleページ、Upperページのそれぞれの境界数を用いて、1−3−3コーディングという。ここで注目すべき事項は、ページごとの隣接データと変化する境界の最大数が3であることである。境界数の最大数が3であることは、8つの状態を3bitで表現する場合、最大境界数が最小であり、ビットエラーの偏りが少なくなる。 As described above, the number of threshold voltages serving as boundaries for determining bit values (hereinafter, referred to as the number of boundaries) is 1, 3, and 3 for the Lower page, the Middle page, and the Upper page, respectively. Hereinafter, such coding is referred to as 1-3-3 coding using the respective numbers of boundaries of the Lower page, the Middle page, and the Upper page. What should be noted here is that the maximum number of adjacent data and changing boundaries for each page is three. The fact that the maximum number of boundaries is 3 means that when eight states are expressed by 3 bits, the maximum number of boundaries is the minimum and the bias of bit errors is reduced.
不揮発性メモリ2の制御部22は、図6に示したコーディングに基づいて、NANDメモリセルアレイ23へのプログラムおよびNANDメモリセルアレイ23からの読み出しを制御する。
The
3次元メモリセルはメモリセルのサイズが、近年の微細化が進んだ世代の2次元のNANDメモリに対して大きく、セル間相互干渉が小さい。この場合は、一般的に、全bitを同時に(各bitを異なるページに割り付けていれば全ページを同時に)プログラムする手法が取られる。 The size of the three-dimensional memory cell is larger than that of a two-dimensional NAND memory of a generation that has been miniaturized in recent years, and the mutual interference between cells is small. In this case, generally, a method is used in which all bits are programmed simultaneously (all pages are simultaneously allocated if each bit is allocated to a different page).
全bitを同時にプログラムする場合、データコーディングとしては、1−2−4コーディングまたは2−3−2コーディングが用いられている。1−2−4コーディングでは、8個のしきい値分布間の7個の境界を3つのページに分配する際に、Lowerページに1つ、Middleページに2つ、Upperページに4つというように境界を分配している。また、2−3−2コーディングでは、8個のしきい値分布間の7個の境界を3つのページに分配する際に、Upperページに2つ、Middleページに3つ、Lowerページに2つというように境界を分配している。 When programming all bits simultaneously, 1-2-4 coding or 2-3-2 coding is used as data coding. In 1-2-4 coding, when seven boundaries between eight threshold distributions are distributed to three pages, one is assigned to the Lower page, two to the Middle page, and four to the Upper page. Are distributed to the border. In the 2-3-2 coding, when seven boundaries between eight threshold distributions are distributed to three pages, two are assigned to the upper page, three are assigned to the middle page, and two are assigned to the lower page. The boundaries are distributed as follows.
ところが、1−2−4コーディングの場合、境界数が各ページで著しく偏っているために、結果としてページ間のビットエラー率の偏りが大きくなる。これは、ビットエラーの原因のほとんどが隣接分布へのしきい値移動によって引き起こされ、境界数を多く有しているページほどビットエラー数が多くなるためである。このことは、メモリセルとしてのエラー率が同じであったとしても、ページデータのエラーを訂正するのに必要なECCの訂正能力を強化しなくてはいけないことにつながるので、記憶装置の速度、コストおよび消費電力を悪化させてしまう。また、境界数の偏りは、読み出し速度の偏りも引き起こす。 However, in the case of the 1-2-4 coding, the number of boundaries is remarkably deviated in each page, and as a result, the deviation of the bit error rate between pages becomes large. This is because most of the causes of the bit errors are caused by the shift of the threshold value to the adjacent distribution, and the number of the bit errors increases as the page has a larger number of boundaries. This means that even if the error rate of the memory cells is the same, it is necessary to enhance the ECC correction capability required to correct the page data error. Cost and power consumption will be worsened. In addition, the deviation of the number of boundaries also causes the deviation of the reading speed.
また、3bit/CellのNANDメモリでは、セル間相互干渉が1bit/Cellや2bit/CellのNANDメモリと比較して大きい。このため、近年の微細化が進んだ世代のNANDメモリでは、一般的に、セル間相互干渉を抑えるため、3つ又は2つのステージを用いて、メモリセルのフローティングゲートに少しずつ電荷を注入するプログラム方法(LM-Foggy-Fineプログラム又はFoggy-Fineプログラム)がある。このLM-Foggy-Fineプログラムでは、1つ目のステージ(LMステージ)の書き込み後、隣接セルの書き込みを行い、先ほどのセルに戻り、2つ目のステージ(Foggyステージ)を書き込んだ後、更に再び隣接セルに書き込み、この後再び先ほどのメモリセルに戻り3つ目のステージ(Fineステージ)の3つのプログラムステージによって書き込みが実施される。 Further, in a 3-bit / Cell NAND memory, mutual interference between cells is greater than in a 1-bit / Cell or 2-bit / Cell NAND memory. For this reason, in recent generations of miniaturized NAND memories, in order to suppress mutual interference between cells, generally, charges are injected little by little into the floating gates of the memory cells using three or two stages. There is a programming method (LM-Foggy-Fine program or Foggy-Fine program). In this LM-Foggy-Fine program, after writing the first stage (LM stage), the adjacent cell is written, returning to the previous cell, writing the second stage (Foggy stage), and further writing. Writing to the adjacent cell is performed again, and thereafter, the memory cell is returned to the previous cell, and writing is performed by three program stages of the third stage (Fine stage).
またFoggy-Fineプログラムでは、1つ目のステージ(Foggyステージ)の書き込み後、隣接セルの書き込みを行い、この後先ほどのメモリセルに戻り2つ目のステージ(Fineステージ)の2つのプログラムステージによって書き込みが実施される。この場合の各プログラムステージは、プログラムの実行単位であり、1ワード線WLiのプログラムは3つのプログラムステージを実行することで完了する。 In the Foggy-Fine program, after writing the first stage (Foggy stage), the adjacent cell is written, and after that, returning to the memory cell just before, the two program stages of the second stage (Fine stage) are performed. Writing is performed. Each program stage in this case is a program execution unit, and the program of one word line WLi is completed by executing three program stages.
1つ目のステージであるLMステージのプログラムでは、入力データは、Lowerページデータのみでよい。2つ目のステージであるFoggyステージのプログラムでは、8つのしきい値分布を用いてプログラムが実行される。この時のしきい値分布(しきい値領域)は、最終的なデータコーディングにおけるしきい値分布より広い幅を有する。すなわち、Foggyステージでは、Foggy(ラフ)書き込みが行われる。このFoggyステージのプログラムでは、入力データは3ページ全てが必要である。Foggyステージのプログラム後のしきい値分布は、隣接する分布が互いに重なり合っている中間状態であるので、データの読み出しは出来ない。3つ目のステージであるFineステージのプログラムでは、Foggyステージのプログラム後のしきい値分布を最終的なデータコーディングにおけるしきい値分布に移動させる。すなわち、Fineステージでは、Fine書き込みが行われる。このFineステージのプログラムも、入力データは3ページ全てが必要である。Fineステージのプログラム後のしきい値分布は、隣接する分布が分離された最終状態であるので、Fineステージのプログラム後にはデータの読み出しが可能である。 In the program of the LM stage which is the first stage, the input data may be only lower page data. In the program of the second stage, the Foggy stage, the program is executed using eight threshold distributions. The threshold distribution (threshold region) at this time has a wider width than the threshold distribution in the final data coding. That is, in the Foggy stage, Foggy (rough) writing is performed. In this Foggy stage program, all three pages of input data are required. Since the threshold distribution after the Foggy stage has been programmed is in an intermediate state where adjacent distributions overlap each other, data cannot be read. In the program of the third stage, the Fine stage, the threshold distribution after the programming of the Foggy stage is moved to the threshold distribution in the final data coding. That is, in the Fine stage, Fine writing is performed. This Fine stage program also requires all three pages of input data. Since the threshold distribution after the fine stage is programmed is in a final state in which adjacent distributions are separated, data can be read after the fine stage is programmed.
2−3−2コーディングの場合、境界数の偏りは少ないが、LM-Foggy-Fineプログラムのデータ入力において、全てのステージで3ページ分のデータ入力が必要となる。また、Foggy-Fineプログラムのデータ入力において、全てのステージで2ページ分のデータ入力が必要となる。これは、データ入力にかかる時間の増大となり、記憶装置の速度を悪化させてしまう。また、記憶装置内において、NANDメモリへ入力するためにデータを保持しておくための書き込みバッファのバッファ量(書き込みバッファ量)を増大させてしまう。この書き込みバッファは、一般的に、記憶装置が備えるRAM11の一部の領域が割り当てられたものである。
In the case of 2-3-2 coding, although the deviation of the number of boundaries is small, in the data input of the LM-Foggy-Fine program, data input for three pages is required in all stages. Further, in the data input of the Foggy-Fine program, data input for two pages is required in all stages. This increases the time required for data input, and deteriorates the speed of the storage device. In addition, in the storage device, the buffer amount (write buffer amount) of the write buffer for holding data to be input to the NAND memory increases. Generally, this write buffer is allocated to a part of the
これらに対する対策として、1−3−3コーディングを採用してLM-Foggy-Fineプログラムを行う方法がある。この方法では、LM-Foggy-Fineプログラムが採用されているので、セル間相互干渉を抑制できる。また、LMステージの入力は、1ページ分のデータでよいので、書き込みバッファ量の低減と、各ページ間の境界数の偏りに起因するビットエラー率の偏りの抑制と、を両立させている。 As a countermeasure against these, there is a method of executing an LM-Foggy-Fine program using 1-3-3 coding. In this method, since the LM-Foggy-Fine program is employed, mutual interference between cells can be suppressed. Further, since the input of the LM stage may be data of one page, the reduction of the write buffer amount and the suppression of the bias of the bit error rate due to the bias of the number of boundaries between the pages are both achieved.
しかしながら、不揮発性メモリ2のNANDメモリが3次元構造を有している場合、1−3−3コーディングを採用したLM-Foggy-Fineプログラム又はFoggy-Fineプログラムを適用しても、書き込みバッファ量が大きくなるので、メモリコントローラ1のコストが増大する。
However, when the NAND memory of the
そこで、本実施形態では、記憶装置が、3次元構造を有した不揮発性メモリ2に対して、1−3−3コーディングを採用し、さらに、2ステージでページ単位(page by page)の書き込みを実施する。これにより、本実施形態では、3次元構造を有した不揮発性メモリ2においてもセル間相互干渉と各ページ間のビットエラー率の偏りを抑制しつつ、メモリコントローラ1の書き込みバッファ量を低減する。
Therefore, in the present embodiment, the storage device employs the 1-3-3 coding for the
ここで、隣接メモリセル間干渉について説明する。ある1つのメモリセルのフローティングゲートに蓄積された電荷は、隣接するメモリセルの電界を乱し、その結果、隣接するメモリセルの読み出しのしきい値を変動させるノイズを与える。ある電界条件下でプログラムとベリファイとが実施され、プログラムが完結した後、隣接するメモリセルが異なる電荷にプログラムされるということは、これに起因して読み出し精度が劣化することとなる。この隣接メモリセル間干渉は、メモリデバイスの製造技術が微細化され、メモリセル間隔が縮小するにつれて顕著となる。そして、この隣接メモリセル間干渉は、大きくは同一ワード線WLi上で異なるビットラインの隣接メモリセルと、同一ビットライン上で異なるワード線WLiの隣接メモリセルと、によってもたらされる。 Here, interference between adjacent memory cells will be described. The electric charge stored in the floating gate of one memory cell disturbs the electric field of the adjacent memory cell, and as a result, gives noise that changes the read threshold of the adjacent memory cell. The fact that programming and verification are performed under a certain electric field condition, and that the adjacent memory cells are programmed with different charges after the programming is completed, causes a decrease in readout accuracy. This interference between adjacent memory cells becomes more remarkable as the memory device manufacturing technology is miniaturized and the memory cell interval is reduced. The interference between adjacent memory cells is mainly caused by adjacent memory cells of different bit lines on the same word line WLi and adjacent memory cells of different word lines WLi on the same bit line.
隣接メモリセル間干渉は、プログラムおよびベリファイの時と、隣接するメモリセルがプログラムされた後の読み出しの時と、の間における、メモリセルの電界条件の違いを少なくすることによって緩和することが可能である。同一ワード線WLi上で異なるビットラインの隣接メモリセルとの間の隣接メモリセル間干渉を低減する1つの方法として、プログラムを複数のステージに分割し、各ステージ間での電荷の大きな変化を回避するマルチステージのプログラムを実行する方法がある。 Interference between adjacent memory cells can be mitigated by reducing the difference in the electric field condition of the memory cells between the time of programming and verification and the time of reading after the adjacent memory cells are programmed. It is. As one method for reducing interference between adjacent memory cells between adjacent memory cells of different bit lines on the same word line WLi, a program is divided into a plurality of stages to avoid a large change in charge between each stage. There is a way to execute a multi-stage program.
本実施形態におけるプログラムシーケンスでは、1つのワード線WLi上の3bitは、2つのプログラムステージ、すなわち1stステージと2ndステージとによってプログラムされる。各プログラムステージは、プログラムの実行単位であり、本実施形態の記憶装置は、ワード線WLiのプログラムを、2つのプログラムステージを実行することで完了する。また、本実施形態では、2つのプログラムステージのそれぞれに、3bitの何れかのページが割り付けられる。具体的には、1stステージのプログラムには、Lowerページデータを割り付けられ、2ndステージのプログラムには、MiddleページおよびUpperページのデータが割り付けられる。 In the program sequence according to the present embodiment, three bits on one word line WLi are programmed by two program stages, that is, a first stage and a second stage. Each program stage is an execution unit of the program, and the storage device of the present embodiment completes the program of the word line WLi by executing two program stages. Further, in this embodiment, any of the 3-bit pages is allocated to each of the two program stages. Specifically, Lower page data is allocated to the first stage program, and Middle page and Upper page data are allocated to the second stage program.
図7は、第1の実施形態におけるプログラム後のしきい値分布を示す図である。図7では、メモリセルに対する各プログラムステージ後のしきい値分布を示している。図7の(T1)は、プログラム前の初期状態である消去状態のしきい値分布を示している。図7の(T2)は、1stステージのプログラム後のしきい値分布を示している。図7の(T3)は、2ndステージのプログラム後のしきい値分布を示している。 FIG. 7 is a diagram illustrating a threshold distribution after programming according to the first embodiment. FIG. 7 shows the threshold distribution after each program stage for the memory cell. (T1) in FIG. 7 shows a threshold distribution in an erased state which is an initial state before programming. (T2) of FIG. 7 shows a threshold distribution after the program of the first stage. (T3) of FIG. 7 shows a threshold distribution after the programming of the second stage.
図7の(T1)に示すように、NANDメモリセルアレイ23の全メモリセルは、未書き込みの状態(「消去」の状態)では分布Erの状態である。不揮発性メモリ2の制御部22は、図7の(T2)に示すように、1stステージのプログラムでは、Lowerページに書き込む(記憶する)ビット値に応じて、メモリセルごとに分布Erのままとする、または電荷を注入して分布Erよりも上の分布に移動させる。具体的には、制御部22は、Lowerページに書き込むビット値が“1”の場合は、電荷を注入せず、Lowerページに書き込むビット値が“0”の場合は電荷を注入して、しきい値電圧を高い方に移動させるようプログラムする。
As shown in (T1) of FIG. 7, all the memory cells of the NAND
これにより、メモリセルは、Lowerページデータによって、2値のレベルにプログラムされる。ここで注意すべき事項は、1stステージのプログラム(第1のプログラム)におけるファンクションは、Lowerページデータのみのファンクションであることである。この実行に必要なページデータは、Lowerページのみでよい。さらに、この1stステージのプログラム後のしきい値分布は、後の2ndステージのプログラム(第2のプログラム)で最終的にプログラムし直されるため、分布を細く整形する必要が無く、高速なプログラムが可能である。そして、この1stステージのプログラム後のデータは、バイナリのように見えるので、Lowerページデータの読み出しが可能である。よって、1stステージでプログラムする際のしきい値のレベルは、2ndステージのプログラムでD以上に遷移するよう割り付けることに鑑み、Vr1とVr4との間に入るよう制御される。 As a result, the memory cells are programmed to the binary level by the lower page data. It should be noted here that the function in the first stage program (first program) is a function of only the lower page data. The page data required for this execution need only be the Lower page. Furthermore, since the threshold distribution after the first stage programming is finally reprogrammed by the subsequent second stage program (second program), it is not necessary to shape the distribution finely, and a high-speed program can be realized. It is possible. Then, since the data after the programming in the first stage looks like a binary, the lower page data can be read. Therefore, the level of the threshold value at the time of programming in the first stage is controlled so as to fall between Vr1 and Vr4 in consideration of the assignment of transition to D or more in the program of the second stage.
また、図7の(T3)に示すように、2ndステージのプログラムでは、データの書き込みにはMiddleページとUpperページとの2ページが必要である。そして、不揮発性メモリ2の制御部22は、2ndステージのプログラム後のしきい値分布を、各隣接する分布が分離された最終状態で8値のレベルとなるようにプログラムする。この場合、全てのページデータの読み出しが可能である。
Further, as shown in (T3) of FIG. 7, in the program of the second stage, two pages of a Middle page and an Upper page are required for writing data. Then, the
なお、典型的には、プログラムは、1回または複数回のプログラム電圧パルスが印加されることによって行われる。各プログラム電圧パルスの後には、メモリセルがしきい値境界レベルを超えて移動したか否かを確認するために読み出しが行なわれる。この印加と読み出しとが繰り返されることで、所定のしきい値分布の範囲の中にメモリセルのしきい値を移動させることが可能となる。 Note that typically, the program is performed by applying one or more program voltage pulses. After each program voltage pulse, a read is performed to see if the memory cell has moved beyond the threshold boundary level. By repeating the application and the reading, the threshold value of the memory cell can be moved within a predetermined threshold distribution range.
なお、制御部22は、1つのワード線WLiについて、1stステージのプログラムと、2ndステージのプログラムとを連続して実施してもよいが、隣接メモリセル間干渉の影響を低減するために、複数のワード線WLiをまたいで、非連続的な順序でプログラムを実施することも可能である。
The
図8Aは、第1の実施形態のプログラム順序の第1の例を示す図である。図8Bは、第1の実施形態のプログラム順序の第2の例を示す図である。図8Cは、第1の実施形態のプログラム順序の第3の例を示す図である。図8A〜図8Cでは、隣接メモリセル間干渉の影響が小さくなるシーケンス(2ステージのプログラムの方法)を示している。図8Aは、ブロック内のストリングが1つのNANDメモリである場合のプログラム順序の一例を示している。また、図8Bおよび図8Cは、ブロック内のストリングが4つのNANDメモリである場合のプログラム順序の一例を示している。 FIG. 8A is a diagram illustrating a first example of a program order according to the first embodiment. FIG. 8B is a diagram illustrating a second example of the program order according to the first embodiment. FIG. 8C is a diagram illustrating a third example of the program order according to the first embodiment. 8A to 8C show a sequence (a two-stage programming method) in which the influence of interference between adjacent memory cells is reduced. FIG. 8A shows an example of a program order when a string in a block is one NAND memory. FIGS. 8B and 8C show an example of the program order when the strings in the block are four NAND memories.
書き込みを開始すると、制御部22は、所定の非連続的な順序でワード線WLiをまたぎながら、各プログラムステージを進む。すなわち、2つの異なるプログラムステージは、同じワード線WLiで連続的に実行されない。
When writing is started, the
例えば、ワード線WLiが2ndステージまでプログラム完了した後に、隣接ワード線WLiにおいて、1stステージおよび2ndステージのプログラムが行われると、しきい値の変動量が大きくなる。そして、隣接ワード線WLiのしきい値の変動量が大きいと、ワード線WLi間の隣接メモリセル間干渉が大きくなる。したがって、ワード線WLi間の隣接メモリセル間干渉を小さくするためには、ワード線WLiが2ndステージまでプログラム完了した後に、隣接ワード線WLiのしきい値の変動量を小さくすることが有効である。このようなシーケンスであれば、ワード線WLiが2ndステージまでプログラム完了した後の隣接ワード線WLiのプログラムステージは2ndステージのみとなる。 For example, if the programming of the 1st stage and the 2nd stage is performed on the adjacent word line WLi after the completion of the programming of the word line WLi to the second stage, the amount of change in the threshold value increases. When the amount of change in the threshold value of the adjacent word line WLi is large, interference between adjacent memory cells between the word lines WLi increases. Therefore, in order to reduce the interference between the adjacent memory cells between the word lines WLi, it is effective to reduce the variation of the threshold value of the adjacent word line WLi after the programming of the word line WLi is completed to the second stage. . In such a sequence, the program stage of the adjacent word line WLi after the completion of the programming of the word line WLi to the second stage is only the second stage.
図8Aに示すNANDメモリの場合(不揮発性メモリ2のNANDメモリが3次元構造である場合)、書き込みを開始すると、制御部22は、プロセッサ12からの指示に基づいて、以下の(1)〜(9)に示す順番でプログラムを実施する。なお、以下の処理においては、制御部22のプログラムの動作はプロセッサ12からの指示に基づくが、説明の簡略化のため、プロセッサ12からの指示に基づくという記載を省略する。
In the case of the NAND memory illustrated in FIG. 8A (when the NAND memory of the
(1)まず、制御部22は、ワード線WL0の1stステージのプログラムST11を実施する。
(2)次に、制御部22は、ワード線WL1の1stステージのプログラムST12を実施する。
(3)次に、制御部22は、ワード線WL0の2ndステージのプログラムST13を実施する。
(4)次に、制御部22は、ワード線WL2の1stステージのプログラムST14を実施する。
(5)次に、制御部22は、ワード線WL1の2ndステージのプログラムST15を実施する。
(6)次に、制御部22は、ワード線WL3の1stステージのプログラムST16を実施する。
(7)次に、制御部22は、ワード線WL2の2ndステージのプログラムST17を実施する。
(8)次に、制御部22は、ワード線WL4の1stステージのプログラムST18を実施する。
(9)次に、制御部22は、ワード線WL3の2ndステージのプログラムST19を実施する。
以下同様に、制御部22は、図8Aに示す表の右斜め上へ向かう矢印の順に処理を進めていく。
(1) First, the
(2) Next, the
(3) Next, the
(4) Next, the
(5) Next, the
(6) Next, the
(7) Next, the
(8) Next, the
(9) Next, the
Similarly, the
図8Bに示すNANDメモリの場合(不揮発性メモリ2のNANDメモリが3次元構造である場合)、書き込みを開始すると、制御部22は、以下の(11)〜(24)に示す順番でプログラムを実施する。
In the case of the NAND memory shown in FIG. 8B (when the NAND memory of the
(11)まず、制御部22は、ストリングSt0_ワード線WL0の1stステージのプログラムST21を実施する。
(12)次に、制御部22は、ストリングSt1_ワード線WL0の1stステージのプログラムST22を実施する。
(13)次に、制御部22は、ストリングSt2_ワード線WL0の1stステージのプログラムST23を実施する。
(14)次に、制御部22は、ストリングSt3_ワード線WL0の1stステージのプログラムST24を実施する。
(15)次に、制御部22は、ストリングSt0_ワード線WL1の1stステージのプログラムST25を実施する。
(16)次に、制御部22は、ストリングSt0_ワード線WL0の2ndステージのプログラムST26を実施する。
(17)次に、制御部22は、ストリングSt1_ワード線WL1の1stステージのプログラムST27を実施する。
(18)次に、制御部22は、ストリングSt1_ワード線WL0の2ndステージのプログラムST28を実施する。
(19)次に、制御部22は、ストリングSt2_ワード線WL1の1stステージのプログラムST29を実施する。
(20)次に、制御部22は、ストリングSt2_ワード線WL0の2ndステージのプログラムST210を実施する。
(21)次に、制御部22は、ストリングSt3_ワード線WL1の1stステージのプログラムST211を実施する。
(22)次に、制御部22は、ストリングSt3_ワード線WL0の2ndステージのプログラムST212を実施する。
(23)次に、制御部22は、ストリングSt0_ワード線WL2の1stステージのプログラムST213を実施する。
(24)次に、制御部22は、ストリングSt0_ワード線WL1の2ndステージのプログラムST214を実施する。
以下同様に、制御部22は、図8Bに示す表の右斜め上へ向かう矢印の順に処理を進めていく。なお、図8Bでは、ブロック内のストリングが4つである場合について説明したが、ブロック内のストリングは、3つ以下であってもよいし、5つ以上であってもよい。
(11) First, the
(12) Next, the
(13) Next, the
(14) Next, the
(15) Next, the
(16) Next, the
(17) Next, the
(18) Next, the
(19) Next, the
(20) Next, the
(21) Next, the
(22) Next, the
(23) Next, the
(24) Next, the
Similarly, the
図8Cに示すNANDメモリの場合(不揮発性メモリ2のNANDメモリが3次元構造である場合)、書き込みを開始すると、制御部22は、以下の(31)〜(50)に示す順番でプログラムを実施する。
In the case of the NAND memory shown in FIG. 8C (when the NAND memory of the
(31)まず、制御部22は、ストリングSt0_ワード線WL0の1stステージのプログラムST31を実施する。
(32)次に、制御部22は、ストリングSt1_ワード線WL0の1stステージのプログラムST32を実施する。
(33)次に、制御部22は、ストリングSt2_ワード線WL0の1stステージのプログラムST33を実施する。
(34)次に、制御部22は、ストリングSt3_ワード線WL0の1stステージのプログラムST34を実施する。
(35)まず、制御部22は、ストリングSt0_ワード線WL1の1stステージのプログラムST35を実施する。
(36)次に、制御部22は、ストリングSt1_ワード線WL1の1stステージのプログラムST36を実施する。
(37)次に、制御部22は、ストリングSt2_ワード線WL1の1stステージのプログラムST37を実施する。
(38)次に、制御部22は、ストリングSt3_ワード線WL1の1stステージのプログラムST38を実施する。
(39)次に、制御部22は、ストリングSt0_ワード線WL0の2ndステージのプログラムST39を実施する。
(40)次に、制御部22は、ストリングSt1_ワード線WL0の2ndステージのプログラムST310を実施する。
(41)次に、制御部22は、ストリングSt2_ワード線WL0の2ndステージのプログラムST311を実施する。
(42)次に、制御部22は、ストリングSt3_ワード線WL0の2ndステージのプログラムST312を実施する。
(43)次に、制御部22は、ストリングSt0_ワード線WL2の1stステージのプログラムST313を実施する。
(44)次に、制御部22は、ストリングSt1_ワード線WL2の1stステージのプログラムST314を実施する。
(45)次に、制御部22は、ストリングSt2_ワード線WL2の1stステージのプログラムST315を実施する。
(46)次に、制御部22は、ストリングSt3_ワード線WL2の1stステージのプログラムST316を実施する。
(47)次に、制御部22は、ストリングSt0_ワード線WL1の2ndステージのプログラムST317を実施する。
(48)次に、制御部22は、ストリングSt1_ワード線WL1の2ndステージのプログラムST318を実施する。
(49)次に、制御部22は、ストリングSt2_ワード線WL1の2ndステージのプログラムST319を実施する。
(50)次に、制御部22は、ストリングSt3_ワード線WL1の2ndステージのプログラムST320を実施する。
なお、図8Cでは、ブロック内のストリングが4つである場合について説明したが、ブロック内のストリングは、3つ以下であってもよいし、5つ以上であってもよい。
(31) First, the
(32) Next, the
(33) Next, the
(34) Next, the
(35) First, the
(36) Next, the
(37) Next, the
(38) Next, the
(39) Next, the
(40) Next, the
(41) Next, the
(42) Next, the
(43) Next, the
(44) Next, the
(45) Next, the
(46) Next, the
(47) Next, the
(48) Next, the
(49) Next, the
(50) Next, the
Although FIG. 8C illustrates the case where the number of strings in the block is four, the number of strings in the block may be three or less, or may be five or more.
このように、ストリングが複数となっても、1つのストリング内におけるワード線WLiの各プログラムステージのプログラムの順番は、ストリングが1つの場合と同じである。ブロック内に複数のストリングが存在する3次元構造の不揮発性メモリ2の場合、ワード線WLiとストリングとの組み合わせ位置のプログラムは、一般的には、異なるストリング内の同一ワード線番号をまずプログラムしてから、次のワード線番号に進められる。このような順番に従った場合、図8Aをストリング数分だけ結合すると、例えば、図8Bまたは図8Cのような順番となる。
As described above, even if there are a plurality of strings, the order of programming in each program stage of the word line WLi in one string is the same as that in the case of one string. In the case of the
ここで図9A〜図9Cを用いて、第1の実施形態に係るプログラム順序に従った書き込み手順の例について説明する。図9A〜図9Cでは、図8Bまたは図8Cに示すプログラム順序に従った場合の書き込み手順を示している。前述のように、メモリコントローラ1は、非連続的な順序でワード線WLiをまたぎながらプログラムステージを進めていくので、あるワード線WLiのまとまり(ここではブロック)をプログラムシーケンスのまとまりとしてプログラムを実行する。
Here, an example of a writing procedure according to the program order according to the first embodiment will be described with reference to FIGS. 9A to 9C. 9A to 9C show a writing procedure in the case of following the program order shown in FIG. 8B or 8C. As described above, since the
図9Aは、第1の実施形態に係る1ブロック分全体の書き込み手順の第1の例を示すフローチャートである。ここでの1ブロックは、ワード線WL0〜WLn(nは自然数)のn+1本のワード線WLiを有するとする。図9Bは、第1の実施形態に係る1stステージにおける書き込み手順を示すサブフローチャートであり、図9Cは、第1の実施形態に係る2ndステージでの書き込み手順を示すサブフローチャートである。なお、図9Aの各ステップの右に示した(1st)は、図9Bに示す1stステージに対応し、(2nd)は、図9Cに示す2ndステージに対応する。 FIG. 9A is a flowchart illustrating a first example of a writing procedure for one block as a whole according to the first embodiment. Here, one block has n + 1 word lines WLi of word lines WL0 to WLn (n is a natural number). FIG. 9B is a sub-flowchart showing a writing procedure in the first stage according to the first embodiment, and FIG. 9C is a sub-flowchart showing a writing procedure in the second stage according to the first embodiment. Note that (1st) shown to the right of each step in FIG. 9A corresponds to the 1st stage shown in FIG. 9B, and (2nd) corresponds to the 2nd stage shown in FIG. 9C.
図9Aに示すように、書き込みを開始すると、制御部22は、ストリングSt0_ワード線WL0の1stステージのプログラムを実施する(ステップS10)。次に、制御部22は、ストリングSt1_ワード線WL0の1stステージのプログラムを実施する(ステップS20)。この後、制御部22は、各ストリングに対してステップS10,S20と同様の処理を実施する。そして、制御部22は、ストリングSt3_ワード線WL0の1stステージのプログラムを実施する(ステップS30)。
As shown in FIG. 9A, when writing is started, the
さらに、制御部22は、ストリングSt0_ワード線WL1の1stステージのプログラムを実施する(ステップS40)。次に、制御部22は、ストリングSt0_ワード線WL0の2ndステージのプログラムを実施する(ステップS50)。次に、制御部22は、ストリングSt1_ワード線WL1の1stステージのプログラムを実施する(ステップS60)。この後、制御部22は、各ストリングの各ワード線WLiに対してステップS40,S50,S60のような処理を繰り返す。
Further, the
そして、制御部22は、ストリングSt0_ワード線WLnの1stステージのプログラムを実施する(ステップS70)。次に、制御部22は、ストリングSt0_ワード線WLn−1の2ndステージのプログラムを実施する(ステップS80)。この後、制御部22は、各ストリングの各ワード線WLiに対してステップS70,S80のような処理を繰り返す。
Then, the
そして、制御部22は、ストリングSt3_ワード線WLn−1の2ndステージのプログラムを実施する(ステップS90)。次に、制御部22は、ストリングSt0_ワード線WLnの2ndステージのプログラムを実施する(ステップS100)。次に、制御部22は、ストリングSt1_ワード線WLnの2ndステージのプログラムを実施する(ステップS110)。この後、制御部22は、各ストリングに対してステップS100,S110と同様の処理を実施する。そして、制御部22は、ストリングSt3_ワード線WLnの2ndステージのプログラムを実施する(ステップS120)。
Then, the
図9Bに示すように、1stステージのプログラムでは、まず、メモリコントローラ1から不揮発性メモリ2へLowerページデータの入力開始コマンドが入力される(ステップS210)。そして、メモリコントローラ1から不揮発性メモリ2へLowerページデータが入力される(ステップS220)。さらに、メモリコントローラ1から不揮発性メモリ2へ1stステージのプログラム実行コマンドが入力され(ステップS230)、これによりチップビジーとなる(ステップS240)。
As shown in FIG. 9B, in the first stage program, first, a command to start inputting Lower page data is input from the
データ書き込みの際には、1〜複数回のプログラム電圧パルスが印加される(ステップS250)。そして、メモリセルがしきい値境界レベルを超えて移動したか否かを確認するためにデータ読み出しが行なわれる(ステップS260)。 At the time of data writing, one or more program voltage pulses are applied (step S250). Then, data reading is performed to confirm whether or not the memory cell has moved beyond the threshold boundary level (step S260).
さらに、Lowerページにおけるデータのフェイルビット数がクライテリア(判定基準)よりも小さいか否かが確認される(ステップS270)。データのフェイルビット数がクライテリア以上である場合(ステップS270、No)、ステップS250〜S270の処理が繰り返される。そして、データのフェイルビット数がクライテリアよりも小さくなると(ステップS270、Yes)、チップレディーとなる(ステップS280)。このように、印加と、読み出しと、確認とが繰り返されることで、所定のしきい値分布の範囲の中にメモリセルのしきい値を移動させることが可能となる。 Further, it is confirmed whether or not the number of fail bits of the data in the Lower page is smaller than a criterion (criterion) (step S270). If the number of fail bits of the data is equal to or greater than the criteria (step S270, No), the processing of steps S250 to S270 is repeated. If the number of data fail bits is smaller than the criterion (step S270, Yes), the chip becomes ready (step S280). In this manner, by repeating the application, the reading, and the confirmation, the threshold value of the memory cell can be moved within the range of the predetermined threshold distribution.
図9Cに示すように、2ndステージのプログラムでは、まず、メモリコントローラ1から不揮発性メモリ2へMiddleページのデータの入力開始コマンドが入力される(ステップS310)。そして、メモリコントローラ1から不揮発性メモリ2へMiddleページのデータが入力される(ステップS320)。
As shown in FIG. 9C, in the program of the second stage, first, a command to start inputting Middle page data is input from the
次に、メモリコントローラ1から不揮発性メモリ2へUpperページのデータの入力開始コマンドが入力される(ステップS330)。そして、メモリコントローラ1から不揮発性メモリ2へUpperページのデータが入力される(ステップS340)。次に、メモリコントローラ1から不揮発性メモリ2へ2ndステージのプログラム実行コマンドが入力され(ステップS350)、これによりチップビジーとなる(ステップS360)。
Next, an input start command of upper page data is input from the
この後、制御部22は、IDL(Internal Data Load)であるLowerページデータの読み出しを行う(ステップS370)。そして、Lowerページデータに基づいて、MiddleページおよびUpperページのプログラム先のVth(しきい値電圧)が決定される(ステップS380)。この後、決定されたVthを用いて、MiddleページおよびUpperページへのデータ書き込みが行われる。
Thereafter, the
さらに、制御部22は、IDLの読み出しデータの信頼性を上げるために、複数回数読み出しを行い、チップ内のページバッファ24でこの読み出し結果の多数決をとり、次の書き込みデータとして使用することも可能である。無論、制御部22は、通常の読み出し動作時に於いて、複数回数読み出しを行いチップ内でこの読み出し結果の多数決をとり、外部への読み出しデータとして使用することも可能である。
Further, the
図9Eは、複数回数の読み出し結果の多数決処理を説明するための図である。図9Eでは、正しいビットを丸印(○)で示し、誤ったビットをばつ印(×)で示している。また、図9Eでは、3回の読み出しが行われた場合の多数決の結果を示している。 FIG. 9E is a diagram for explaining a majority decision process of a plurality of read results. In FIG. 9E, correct bits are indicated by circles (○), and erroneous bits are indicated by crosses (×). FIG. 9E shows the result of majority decision when reading is performed three times.
各ビットにおいて、多数決の結果が誤りと判断されるのは、(a)3回とも誤った場合と、(b)2回とも誤った場合である。各ビットが誤っている確立をpとすると、p=0.2の場合、(a)3回誤る確率は、p×p×p=0.2×0.2×0.2であり、(b)2回誤る確率は、(1−p)×p×p=(1−0.2)×0.2×0.2である。したがって、3回の多数決結果が誤りと判断されるのは、(p×p×p)+3×(1−p)×p×p=0.104である。このように、制御部22は、複数回数の読み出し結果の多数決処理をチップ内のページバッファ24で行うことで、読み出しデータの信頼性を上げることが可能となる。
In each bit, the result of the majority decision is determined to be erroneous when (a) three times are incorrect and (b) two times are incorrect. If the probability that each bit is erroneous is p, if p = 0.2, (a) the probability of erroneous three times is p × p × p = 0.2 × 0.2 × 0.2, and b) The probability of making a mistake twice is (1−p) × p × p = (1−0.2) × 0.2 × 0.2. Therefore, it is (p × p × p) + 3 × (1−p) × p × p = 0.104 that the result of the majority decision of three times is determined to be incorrect. As described above, the
MiddleページおよびUpperページへのデータ書き込みの際には、1〜複数回のプログラム電圧パルスが印加される(ステップS390)。そして、メモリセルがしきい値境界レベルを超えて移動したか否かを確認するために、MiddleページおよびUpperページのデータ読み出しが行なわれる(ステップS400)。 At the time of writing data to the Middle page and the Upper page, one or more program voltage pulses are applied (step S390). Then, data reading of the Middle page and the Upper page is performed to check whether the memory cell has moved beyond the threshold boundary level (step S400).
さらに、MiddleページおよびUpperページにおけるデータのフェイルビット数がクライテリアよりも小さいか否かが確認される(ステップS410)。MiddleページおよびUpperページにおけるデータのフェイルビット数がクライテリア以上である場合(ステップS410、No)、ステップS390〜S410の処理が繰り返される。そして、データのフェイルビット数がクライテリアよりも小さくなると(ステップS410、Yes)、チップレディーとなる(ステップS420)。 Further, it is confirmed whether the number of data fail bits in the Middle page and the Upper page is smaller than the criteria (step S410). If the number of fail bits of the data in the Middle page and the Upper page is equal to or greater than the criteria (step S410, No), the processing of steps S390 to S410 is repeated. When the number of data fail bits is smaller than the criterion (step S410, Yes), the chip becomes ready (step S420).
ここで、図9Cに示した書き込み手順の変形例について説明する。図9Dは、第1の実施形態に係る2ndステージでの書き込み手順の変形例を示すサブフローチャートである。なお、図9Dに示す処理手順では、図9Cで説明したステップS370の処理が行われないところを除いて、ステップS310〜S420の処理手順は図9Cと同じである。 Here, a modified example of the writing procedure shown in FIG. 9C will be described. FIG. 9D is a sub-flowchart showing a modification of the writing procedure in the second stage according to the first embodiment. In the processing procedure shown in FIG. 9D, the processing procedure of steps S310 to S420 is the same as that of FIG. 9C, except that the processing of step S370 described in FIG. 9C is not performed.
図9Dに示す処理手順の場合、ステップS310の前にステップS301〜S309の処理が行われる。具体的には、まず、メモリコントローラ1から不揮発性メモリ2へLowerページの読み出しコマンドが入力され(ステップS301)、これによりチップビジーとなる(ステップS302)。
In the case of the processing procedure illustrated in FIG. 9D, the processing of steps S301 to S309 is performed before step S310. Specifically, first, a lower page read command is input from the
この後、制御部22は、IDLであるLowerページデータの読み出しをVr4のしきい値電圧で行う。そして、制御部22は、Vr4のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS303)。この後、チップレディーとなる(ステップS304)。
Thereafter, the
制御部22が読み出したLowerページデータを出力すると(ステップS305)、このLowerページデータは、ECC回路14に送信される(ステップS306)。これにより、ECC回路14がLowerページデータをECC訂正する(ステップS307)。
When the
そして、メモリコントローラ1から不揮発性メモリ2へLowerページのデータの入力開始コマンドが入力される(ステップS308)。これにより、ECC回路14が、不揮発性メモリ2へLowerページのデータを入力する(ステップS309)。
Then, a command to start inputting data of the Lower page is input from the
この後、ステップS310〜S420の処理が行われる。なお、ステップS380では、ECC回路14からのLowerページデータに基づいて、MiddleページおよびUpperページのプログラム先のVthが決定される。 Thereafter, the processing of steps S310 to S420 is performed. In step S380, Vth of the program destination of the Middle page and the Upper page is determined based on the Lower page data from the ECC circuit 14.
上述した2ndステージのプログラムでは、不揮発性メモリ2へのデータ入力は、MiddleページとUpperページとの2ページだけである。しかし、この2ndステージでは、メモリセルのプログラムの目的地であるVthには、Lowerページ(2ndステージを始める前のVth)も含めた3ページ分のデータが必要である。そのため、このステージのプログラムでは、前処理として、制御部22が、まずLowerページデータを読み出し、そのデータを、入力されたMiddleページとUpperページとで合成してプログラム先のVthを決定するという動作を行う。
In the program of the second stage described above, data input to the
Lowerページデータを読み出すことができるのは、Lowerページの境界数が1である1−3−3コーディングを採用しているからである。2ndステージでLowerページデータが読み出されることで、2ndステージでは、Lowerページデータ入力を不要としている。すなわち、1−3−3コーディングを採用し、Lowerページデータに基づいてプログラム先のVthが決定されるので、ワード線WLi間の隣接メモリセル間干渉を小さくできるとともに、1つのページデータは1回のデータ入力で済む。 The lower page data can be read because 1-3-3 coding in which the number of boundaries of the lower page is 1 is adopted. By reading the lower page data in the second stage, it is not necessary to input the lower page data in the second stage. That is, since the programming destination Vth is determined based on the lower page data by employing the 1-3-3 coding, the interference between the adjacent memory cells between the word lines WLi can be reduced, and one page data is output once. Data input.
これにより、1−3−3コーディングを採用して3ステージでLM-Foggy-Fineプログラムが実行される場合には、メモリコントローラ1の書き込みバッファに必要なメモリ量が複数ワード線分(最大7ページ)であったのに対し、本実施形態では、メモリコントローラ1の書き込みバッファに必要なメモリ量が最大でも2ページ分で済む。
As a result, when the LM-Foggy-Fine program is executed in three stages by employing the 1-3-3 coding, the amount of memory necessary for the write buffer of the
ここで、1−3−3コーディングを採用したLM-Foggy-Fineプログラムの処理手順と、本実施形態のプログラム処理手順との比較について説明する。図10Aは、1−3−3コーディングを採用したLM-Foggy-Fineプログラムにおける書き込みバッファデータ量を説明するための図である。 Here, a comparison between the processing procedure of the LM-Foggy-Fine program employing the 1-3-3 coding and the program processing procedure of the present embodiment will be described. FIG. 10A is a diagram for explaining the write buffer data amount in the LM-Foggy-Fine program employing the 1-3-3 coding.
図10Aおよび後述する図10Bでは、上段側に、ブロック書き込みのデータ入力とプログラム実行のタイムチャートを示し、下段側に、データを書き込みバッファ内に保持するのに必要な期間のタイムチャートを示している。なお、図10Aおよび後述する図10Bでは、説明を簡単化するために、1ブロック内のストリング数が1の場合を示している。ストリングが複数の場合は、ストリング数倍だけのメモリ量が必要である。 10A and FIG. 10B to be described later, the upper part shows a time chart of data input and program execution of block writing, and the lower part shows a time chart of a period necessary to hold data in a write buffer. I have. Note that FIG. 10A and FIG. 10B to be described later show a case where the number of strings in one block is one for the sake of simplicity. When there are a plurality of strings, the memory amount is required to be equal to the number of strings.
1−3−3コーディングのLM-Foggy-Fineプログラムの場合、1つ目のステージであるLMステージでは、1ページ分のデータ入力と、この1ページ分のプログラム(LMステージのプログラム)とが行われる。また、1−3−3コーディングのLM-Foggy-Fineプログラムの場合、2つ目のステージであるFoggyステージでは、3ページ分のデータ入力と、この3ページ分のプログラム(Foggyステージのプログラム)とが行われる。また、1−3−3コーディングのLM-Foggy-Fineプログラムの場合、3つ目のステージであるFineステージでは、3ページ分のデータ入力と、この3ページ分のプログラム(Fineステージのプログラム)とが行われる。 In the case of an LM-Foggy-Fine program of 1-3-3 coding, in the first stage, the LM stage, one page of data input and this one page program (LM stage program) are executed. Will be In the case of the LM-Foggy-Fine program of the 1-3-3 coding, in the second stage, the Foggy stage, data input for three pages and the program for the three pages (Foggy stage program) are performed. Is performed. In the case of the LM-Foggy-Fine program of 1-3-3 coding, in the Fine stage which is the third stage, data input for three pages and the program (Fine stage program) for these three pages are performed. Is performed.
そして、各ワード線WL0,WL1,WL2,・・・では、Fineステージにおいてプログラムが開始されるまで、LMステージにおいて書き込まれた1ページ分のデータと、Foggyステージにおいて書き込まれた3ページ分のデータとを、書き込みバッファ内に格納しておく必要がある。 In each of the word lines WL0, WL1, WL2,..., One page of data written in the LM stage and three pages of data written in the Foggy stage until the program is started in the Fine stage. Must be stored in the write buffer.
LM-Foggy-Fineプログラムにおいても、隣接メモリセル間干渉を低減するため、Lower/Middle/Upperの3ページ分のデータは連続して書き込まれない。例えば、ワード線WL0へのLMステージが実行された後、ワード線WL0へのFoggyステージが実行される前に、ワード線WL0に隣接するワード線WL1へのLMステージが実行される。また、ワード線WL0へのFoggyステージが実行された後、ワード線WL0へのFineステージが実行される前に、ワード線WL0に隣接するワード線WL1へのFoggyステージが実行される。同様に、ワード線WL1へのLMステージが実行された後、ワード線WL1へのFoggyステージが実行される前に、ワード線WL1に隣接するワード線WL2へのLMステージが実行される。また、ワード線WL1へのFoggyステージが実行された後、ワード線WL1へのFineステージが実行される前に、ワード線WL1に隣接するワード線WL2へのFoggyステージが実行される。 Also in the LM-Foggy-Fine program, data for three pages of Lower / Middle / Upper is not continuously written in order to reduce interference between adjacent memory cells. For example, after the LM stage for the word line WL0 is executed, before the Foggy stage for the word line WL0 is executed, the LM stage for the word line WL1 adjacent to the word line WL0 is executed. Further, after the Foggy stage for the word line WL0 is executed and before the Fine stage for the word line WL0 is executed, the Foggy stage for the word line WL1 adjacent to the word line WL0 is executed. Similarly, after the LM stage for the word line WL1 is executed, before the Foggy stage for the word line WL1, the LM stage for the word line WL2 adjacent to the word line WL1 is executed. After the Foggy stage for the word line WL1 is executed, the Foggy stage for the word line WL2 adjacent to the word line WL1 is executed before the Fine stage for the word line WL1 is executed.
このように、LM-Foggy-Fineプログラムでは、各ワード線WLiにおいて、LMステージからFineステージまでには長時間を要する。例えば、ワード線WL1におけるLMステージからFineステージまでの間には、以下の(P1)〜(P5)のステージのプログラムが実行される。
(P1)ワード線WL2に対するLMステージ
(P2)ワード線WL1に対するFoggyステージ
(P3)ワード線WL0に対するFineステージ
(P4)ワード線WL3に対するLMステージ
(P5)ワード線WL2に対するFoggyステージ
Thus, in the LM-Foggy-Fine program, it takes a long time from the LM stage to the Fine stage in each word line WLi. For example, during the period from the LM stage to the Fine stage on the word line WL1, the following stage (P1) to (P5) stage programs are executed.
(P1) LM stage for word line WL2 (P2) Foggy stage for word line WL1 (P3) Fine stage for word line WL0 (P4) LM stage for word line WL3 (P5) Foggy stage for word line WL2
このように、1−3−3コーディングのLM-Foggy-Fineプログラムの場合、1つ目であるLMステージでは、入力データはLowerページだけである。ところが、この方法の場合、最終の3つ目であるFineステージのデータ入力が完了するまで、Lower/Middle/Upperの3ページ分のデータを、書き込みバッファ内に保持しておく必要がある。また、隣接メモリセル間干渉を低減するためには、複数のワード線WLiにおけるデータを、書き込みバッファ内に保持しておく必要がある。例えば、ワード線WL2に対してFoggyステージが実行される際には、ワード線WL1に対する3ページ分のデータと、ワード線WL2に対する3ページ分のデータと、ワード線WL3に対する1ページ分のデータとが、書き込みバッファ内に保持されている必要がある。このように、1−3−3コーディングのLM-Foggy-Fineプログラムの場合、最大7ページ分のデータが書き込みバッファ内に保持されている必要がある。 Thus, in the case of the LM-Foggy-Fine program of the 1-3-3 coding, in the first LM stage, the input data is only the Lower page. However, in the case of this method, it is necessary to hold the data of three pages of Lower / Middle / Upper in the write buffer until the data input of the final third Fine stage is completed. Further, in order to reduce interference between adjacent memory cells, it is necessary to hold data in a plurality of word lines WLi in a write buffer. For example, when the Foggy stage is executed for the word line WL2, three pages of data for the word line WL1, three pages of data for the word line WL2, and one page of data for the word line WL3. Must be held in the write buffer. As described above, in the case of the LM-Foggy-Fine program of the 1-3-3 coding, up to seven pages of data need to be held in the write buffer.
図10Bは、第1の実施形態のプログラムにおける書き込みバッファ量(バッファデータ量)を説明するための図である。本実施形態のプログラムでは、1−3−3コーディングで2ステージのプログラムが用いられる。この本実施形態のプログラムでは、1stステージでは、1ページ分(Lowerページ)のデータ入力と、この1ページ分のプログラム(1stプログラム)とが行われる。また、本実施形態のプログラムの場合、2ndステージでは、2ページ分(MiddleページおよびUpperページ)のデータ入力と、この2ページ分のプログラム(2ndプログラム)とが行われる。 FIG. 10B is a diagram for explaining the write buffer amount (buffer data amount) in the program according to the first embodiment. In the program of the present embodiment, a two-stage program is used in the 1-3-3 coding. In the program of the present embodiment, in the first stage, data input for one page (Lower page) and a program for this one page (1st program) are performed. In the case of the program according to the present embodiment, in the second stage, data input for two pages (Middle page and Upper page) and a program for the two pages (2nd program) are performed.
そして、各ワード線WL0,WL1,WL2,・・・では、各ステージのデータ入力の際にデータを書き込みバッファ内に格納しておけばよく、プログラムが開始されると、書き込みバッファ内からデータが削除されてもよい。例えば、1stステージにおいてデータが入力されると、このデータは書き込みバッファ内に格納される。そして、1stステージにおいてプログラムが開始されると、書き込みバッファ内に格納しておいたデータは削除されてもよい。同様に、2ndステージにおいてデータが入力されると、このデータは書き込みバッファ内に格納される。そして、2ndステージにおいてプログラムが開始されると、書き込みバッファ内に格納しておいたデータは削除されてもよい。 In each of the word lines WL0, WL1, WL2,..., Data may be stored in the write buffer at the time of data input in each stage, and when the program is started, data is written from the write buffer. It may be deleted. For example, when data is input at the first stage, this data is stored in the write buffer. Then, when the program is started in the first stage, the data stored in the write buffer may be deleted. Similarly, when data is input at the second stage, this data is stored in the write buffer. Then, when the program is started in the second stage, the data stored in the write buffer may be deleted.
本実施形態のプログラムにおいても、隣接メモリセル間干渉を低減するため、Lower/Middle/Upperの3ページ分のデータは連続して書き込まれない。例えば、ワード線WL0への1stステージが実行された後、ワード線WL0への2ndステージが実行される前に、ワード線WL0に隣接するワード線WL1への1stステージが実行される。同様に、ワード線WL1への1stステージが実行された後、ワード線WL1への2ndステージが実行される前に、ワード線WL1に隣接するワード線WL2への1stステージが実行される。 Also in the program of the present embodiment, in order to reduce interference between adjacent memory cells, data of three pages of Lower / Middle / Upper are not continuously written. For example, after the first stage for word line WL0 is executed, the first stage for word line WL1 adjacent to word line WL0 is executed before the second stage for word line WL0 is executed. Similarly, after the first stage of the word line WL1 is executed, the first stage of the word line WL2 adjacent to the word line WL1 is executed before the second stage of the word line WL1 is executed.
このように、本実施形態のプログラムは、2ステージなので、各ワード線WLiにおいて、1stステージから2ndステージまでの処理は短時間となる。例えば、ワード線WL1における1ステージから2ndステージまでの間には、以下の(P11)のステージのプログラムが実行される。
(P11)ワード線WL2に対する1stステージ
As described above, since the program of the present embodiment has two stages, the processing from the first stage to the second stage is short in each word line WLi. For example, the following (P11) stage program is executed between the first stage and the second stage of the word line WL1.
(P11) First stage for word line WL2
また、本実施形態のプログラムの場合、データ入力の開始からデータ入力の終了までの間だけデータを書き込みバッファ内に保持しておけばよく、プログラムが開始されると、書き込みバッファ内からデータが削除されてもよい。このため、本実施形態のプログラムの場合、書き込みバッファ内に保持しておく必要があるデータは、最大でも2ページ分のデータである。 Further, in the case of the program of the present embodiment, data only needs to be held in the write buffer from the start of data input to the end of data input, and when the program starts, data is deleted from the write buffer. May be done. For this reason, in the case of the program of the present embodiment, the data that needs to be held in the write buffer is data for at most two pages.
このように、本実施形態では、全てのページデータは、1回のステージのプログラムでのみ必要であるので、そのデータ入力が完了すれば書き込みバッファ内のデータは破棄可能となる。そのため、本実施形態では、書き込みバッファ内に同時に保持しておくことが必要なページ数が少なくて済む。 As described above, in the present embodiment, since all page data is necessary only in one stage program, the data in the write buffer can be discarded when the data input is completed. Therefore, in the present embodiment, the number of pages that need to be simultaneously held in the write buffer can be reduced.
不揮発性メモリ2へプログラムされるページデータは、RAM11内の書き込みバッファで構成されて一旦保持されてから、プログラム時に不揮発性メモリ2へデータ入力される。本実施形態においては、このRAM11の必要容量を小さくすることが可能となるので、コスト削減となる。
The page data to be programmed into the
また、LM-Foggy-Fineプログラム又はFoggy-Fineプログラムが用いられるときは、全てのページデータのデータ転送を2回又は3回行なわなくてはならないので、転送時間が掛かり、また転送時の消費電力も余分に必要となる。本実施形態では、全てのページデータは、各ページそれぞれ1回のデータ転送で完了するため、転送時間及び電力消費を1/2〜1/3程度に抑えることが可能になる。 In addition, when the LM-Foggy-Fine program or the Foggy-Fine program is used, the data transfer of all page data must be performed twice or three times, which takes a long time to transfer and consumes power during the transfer. Are also required. In the present embodiment, all page data is completed by one data transfer for each page, so that transfer time and power consumption can be suppressed to about 1/2 to 1/3.
図11は、第1の実施形態に係る外部プログラムコマンドのシーケンスの例を示す図である。図11の(A)では、第1の実施形態に係る1stステージにおける外部プログラムコマンドのシーケンスを示し、図11の(B)では、第1の実施形態に係る2ndステージにおける外部プログラムコマンドのシーケンスを示している。 FIG. 11 is a diagram illustrating an example of a sequence of an external program command according to the first embodiment. FIG. 11A shows a sequence of the external program command in the first stage according to the first embodiment, and FIG. 11B shows a sequence of the external program command in the second stage according to the first embodiment. Is shown.
図11の(A)に示すように、1stステージでは、プログラム開始コマンド(80h)が入力された後、プログラム対象ブロック・ページのアドレス(Lowerページのアドレス)が入力され、その後にLowerページのプログラムデータが入力される。そして、最後にプログラム実行コマンド(10h)が入力されると、チップがビジーとなりメモリチップ内部でプログラムの動作が開始される。このようなプログラムコマンドの入力により、Lowerページがプログラムされる。 As shown in FIG. 11A, in the first stage, after the program start command (80h) is input, the address of the block page to be programmed (the address of the Lower page) is input, and then the program of the Lower page is input. The data is entered. Then, when the program execution command (10h) is finally input, the chip becomes busy and the operation of the program is started inside the memory chip. By inputting such a program command, the Lower page is programmed.
図11の(B)に示すように、2ndステージでは、プログラム開始コマンド(80h)が入力された後、プログラム対象ブロック・ページのアドレス(Middleページのアドレス)が入力され、その後にMiddleページのプログラムデータが入力される。この後、プログラムコマンドの連結コマンド(1Ah)が入力され、同様のシーケンスで今度はUpperページのプログラムデータが入力される。そして、最後にプログラム実行コマンド(10h)が入力されると、チップがビジーとなりメモリチップ内部でプログラムの動作が開始される。このようなプログラムコマンドの入力により、Lowerページの読み出しが行われ、さらにMiddleページおよびUpperページがプログラムされる。なお、MiddleページのプログラムデータとUpperページのプログラムデータとは、何れが先に入力されてもよい。 As shown in FIG. 11B, in the second stage, after the program start command (80h) is input, the address of the block page to be programmed (the address of the Middle page) is input, and then the program of the Middle page is input. The data is entered. Thereafter, a concatenation command (1Ah) of the program commands is input, and the program data of the upper page is input in a similar sequence. Then, when the program execution command (10h) is finally input, the chip becomes busy and the operation of the program is started inside the memory chip. By inputting such a program command, the reading of the lower page is performed, and the middle page and the upper page are further programmed. Either the program data of the Middle page or the program data of the Upper page may be input first.
ここで、ページ読み出し処理について説明する。ページ読み出しの方法は、読み出し対象ページを含むワード線WLiに対するプログラムが、2ndステージの書き込み前か、後かで異なる。 Here, the page reading process will be described. The page reading method differs depending on whether the program for the word line WLi including the page to be read is before or after the writing in the second stage.
2ndステージ書き込み前の場合、記録されているデータはLowerページだけが有効である。このため、制御部22は、読み出しページがLowerページのときだけメモリセルからデータを読み出す。そして、制御部22は、その他のページの場合には、メモリセル読み出し動作は行わず、読み出しデータとして強制的に全て“1”を出力する制御を行う。
Before the second stage writing, only the lower page of the recorded data is valid. Therefore, the
一方、2ndステージまで完了したワード線WLiの場合、制御部22は、読み出しページがUpper/Middle/Lowerページの何れであってもメモリセルを読み出す。この場合、読み出すページが何れのページかによって必要な読み出し電圧が異なるので、制御部22は、選択されたページに従って必要な読み出しだけを実行する。
On the other hand, in the case of the word line WLi that has been completed up to the second stage, the
図6に示したコーディングによれば、Lowerページデータが変化するしきい値状態間の境界は1つだけであるので、制御部22は、その境界で分離された2つの範囲の何れにしきい値が位置するかでデータを決定する。例えば、しきい値電圧がVr4よりも小さい場合には、制御部22は、メモリセルのデータとして“1”を出力する制御を行う。一方、しきい値電圧がVr4よりも大きい場合には、制御部22は、メモリセルのデータとして“0”を出力する制御を行う。
According to the coding shown in FIG. 6, since there is only one boundary between the threshold state where the lower page data changes, the
また、MiddleページまたはUpperページのデータが変化するしきい値状態間の境界は3つであるので、制御部22は、それらの境界で分離された4つの範囲の何れの中にしきい値が位置するかでデータを決定する。
Further, since there are three boundaries between the threshold states where the data of the Middle page or the Upper page changes, the
以下、ページ読み出しの具体的な処理手順について説明する。図12Aは、第1の実施形態に係る記憶装置において2ndステージ書き込み前の場合のワード線でのページ読み出しの処理手順を示すフローチャートである。図12Bは、第1の実施形態に係る記憶装置において2ndステージまでプログラムが完了しているワード線でのページ読み出しの処理手順を示すフローチャートである。 Hereinafter, a specific processing procedure of page reading will be described. FIG. 12A is a flowchart illustrating a procedure of reading a page from a word line before writing to the second stage in the storage device according to the first embodiment. FIG. 12B is a flowchart illustrating a procedure of a page read process on a word line for which programming has been completed up to the second stage in the storage device according to the first embodiment.
図12Aに示すように、2ndステージ書き込み前のワード線WLiの場合、制御部22は、読み出しページを選択する(ステップS510)。読み出しページがLowerページの場合(ステップS510、Lower)、制御部22は、Vr4のしきい値電圧で読み出しを行う(ステップS520)。そして、制御部22は、Vr4のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS530)。
As shown in FIG. 12A, in the case of the word line WLi before the second stage writing, the
また、読み出しページがMiddleページの場合(ステップS510、Middle)、制御部22は、メモリセルの出力データとして全て強制的に“1”を出力する制御を行う(ステップS540)。
When the read page is the Middle page (Step S510, Middle), the
また、読み出しページがUpperページの場合(ステップS510、Upper)、制御部22は、メモリセルの出力データとして全て強制的に“1”を出力する制御を行う(ステップS550)。
When the read page is the upper page (step S510, Upper), the
また、図12Bに示すように、2ndステージまでプログラムが完了したワード線WLiの場合、制御部22は、読み出しページを選択する(ステップS610)。読み出しページがLowerページの場合(ステップS610、Lower)、制御部22は、Vr4のしきい値電圧で読み出しを行う(ステップS620)。そして、制御部22は、Vr4のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS630)。
Also, as shown in FIG. 12B, in the case of the word line WLi for which programming has been completed up to the second stage, the
また、読み出しページがMiddleページの場合(ステップS610、Middle)、制御部22は、Vr1、Vr3およびVr6のしきい値電圧で読み出しを行う(ステップS640,S650,S660)。そして、制御部22は、Vr1、Vr3およびVr6のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS670)。
When the read page is a Middle page (Step S610, Middle), the
また、読み出しページがUpperページの場合(ステップS610、Upper)、制御部22は、Vr2、Vr5およびVr7のしきい値電圧で読み出しを行う(ステップS680,S690,S700)。そして、制御部22は、Vr2、Vr5およびVr7のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS710)。
When the read page is the Upper page (Step S610, Upper), the
なお、ワード線WLiに対するプログラムが、2ndステージ書き込み完了前か後かは、メモリコントローラ1が管理・識別することが可能である。メモリコントローラ1が、プログラム制御を行っているので、メモリコントローラ1がその進捗状況を記録しておけば、メモリコントローラ1は、不揮発性メモリ2のどのアドレスがどのようなプログラム状態であるか容易に参照できる。この場合、メモリコントローラ1は、不揮発性メモリ2から読み出しを行う際、対象ページアドレスを含むワード線WLiがどのようなプログラム状態であるかを識別し、識別した状態に応じた読み出しコマンドを発行する。
It should be noted that the
図13は、第1の実施形態に係る外部読み出しコマンドのシーケンスの例を示す図である。図13の(A)では、第1の実施形態に係る記憶装置において1stステージまでプログラムが完了しているワード線WLiでの外部読み出しコマンドのシーケンスを示し、図13の(B)では、第1の実施形態に係る記憶装置において2ndステージまでプログラムが完了しているワード線WLiでの外部読み出しコマンドのシーケンスを示している。 FIG. 13 is a diagram illustrating an example of a sequence of an external read command according to the first embodiment. FIG. 13A shows a sequence of an external read command on the word line WLi for which programming has been completed up to the first stage in the storage device according to the first embodiment, and FIG. 23 shows a sequence of an external read command on the word line WLi for which programming has been completed up to the second stage in the storage device according to the embodiment.
図13の(A)に示すように、2ndステージ書き込み前のワード線WLiの場合、読み出し動作を実行するコマンドとして、最初に2ndステージ書き込み前の状態を示すコマンド(2Dh)が入力される。この後、読み出し開始コマンド(00h)が入力され、その後に読み出し対象ブロック・ページのアドレス(LowerページまたはMiddleページまたはUpperページのアドレス)が入力される。そして、最後に読出し実行コマンド(30h)が入力されると、チップがビジーとなり、メモリチップ内部で読み出しの動作が開始される。このようなプログラムコマンドの入力により、LowerページまたはMiddleページまたはUpperページからデータが読み出される。その後、チップがレディー状態となり、読み出されたデータが出力される。 As shown in FIG. 13A, in the case of the word line WLi before the writing of the second stage, a command (2Dh) indicating the state before the writing of the second stage is first input as a command for executing the read operation. Thereafter, a read start command (00h) is input, and thereafter, an address of a block page to be read (an address of a Lower page, a Middle page, or an Upper page) is input. When the read execution command (30h) is finally input, the chip becomes busy, and the read operation is started inside the memory chip. By inputting such a program command, data is read from the Lower page, the Middle page, or the Upper page. Thereafter, the chip enters a ready state, and the read data is output.
一方、図13の(B)に示すように、2ndステージまでプログラムが完了したワード線WLiの場合、読み出し動作を実行するコマンドとして、最初に2ndステージまでの完了状態を示すコマンド(25h)が入力される。この後、読み出し開始コマンド(00h)が入力され、その後に読み出し対象ブロック・ページのアドレス(LowerページまたはMiddleページまたはUpperページのアドレス)が入力される。そして、最後に読出し実行コマンド(30h)が入力されると、チップがビジーとなり、メモリチップ内部で読み出しの動作が開始される。このようなプログラムコマンドの入力により、LowerページまたはMiddleページまたはUpperページのアドレスからデータが読み出される。その後、チップがレディー状態となり、読み出されたデータが出力される。 On the other hand, as shown in FIG. 13B, in the case of the word line WLi for which programming has been completed up to the second stage, a command (25h) indicating the completion state up to the second stage is first input as a command for executing the read operation. Is done. Thereafter, a read start command (00h) is input, and thereafter, an address of a block page to be read (an address of a Lower page, a Middle page, or an Upper page) is input. When the read execution command (30h) is finally input, the chip becomes busy, and the read operation is started inside the memory chip. By inputting such a program command, data is read from the address of the Lower page, the Middle page, or the Upper page. Thereafter, the chip enters a ready state, and the read data is output.
このように第1の実施形態では、不揮発性メモリ2(3次元構造または2次元構造を有した3bit/CellのNANDメモリ)をプログラムする際に、1−3−3データコーディングを採用し、プログラムのステージを2ステージ制とした。このように2ステージ制でプログラムされるので、データプログラムの際に入力するデータ量が減り、メモリコントローラ1に必要とされる書き込みバッファ量を抑制することが可能となる。また、不揮発性メモリ2のページ間のビットエラー率の偏りを低減できるとともに、ECCにかかるコストを下げることができる。また、データ転送は各ページ1回のみとなるため、転送時間及び消費電力を抑えることができる。
As described above, in the first embodiment, when the non-volatile memory 2 (a 3-bit / cell NAND memory having a three-dimensional structure or a two-dimensional structure) is programmed, the 1-3-3 data coding is adopted and the program is performed. Was a two-stage system. Since programming is performed in the two-stage system in this manner, the amount of data input during data programming is reduced, and the amount of write buffer required for the
また、ワード線WLiをまたぎながら、各プログラムステージを実行するので、隣接ワード線WLiとの隣接セル間干渉の量を低減することができる。また、1−3−3データコーディングを用いるので、2ndステージの前のIDLマージンを拡大することができ、書き込みシーケンスの信頼性を向上することが可能となる。また、1−3−3データコーディングを用いるので、Lowerページにおけるしきい値境界を1つとすることにより、1stステージのプログラム、すなわちLowerページのプログラムを高速化することができる。なお、1stステージのプログラムの高速化は、書き込み及び書き込みベリファイの繰り返しときに、書き込み電圧を少しずつステップアップさせて書き込むときのステップ電圧を、2ndステージのプログラム時より大きい値にするなどで高速化ができる。 Further, since each program stage is executed while straddling the word line WLi, the amount of interference between adjacent cells with the adjacent word line WLi can be reduced. Further, since the 1-3-3 data coding is used, the IDL margin before the second stage can be expanded, and the reliability of the write sequence can be improved. Further, since the 1-3-3 data coding is used, the speed of the first stage program, that is, the program of the Lower page can be increased by setting one threshold boundary in the Lower page. The speed of the first stage program is increased by increasing the write voltage stepwise little by little at the time of repetition of write and write verify, and setting the step voltage at the time of writing to a value larger than that at the time of the second stage program. Can be.
(第2の実施形態)
つぎに、図14A,14Bおよび図15を用いて第2の実施形態について説明する。第2の実施形態では、ワード線WLn−1の2ndステージのプログラムと、ワード線WLnの1stステージのプログラムとをまとめて行う。なお、本実施形態でも第1の実施形態の図6で説明したものと同じデータコーディングを用いる場合について説明する。
(Second embodiment)
Next, a second embodiment will be described with reference to FIGS. 14A, 14B and 15. In the second embodiment, the program for the second stage of the word line WLn-1 and the program for the first stage of the word line WLn are collectively performed. In this embodiment, a case where the same data coding as that described with reference to FIG. 6 of the first embodiment is used will be described.
図9Aに示したプログラムのフローチャートでは、1stステージのプログラムと2ndステージのプログラムとは、全て1つずつ分離しており、それぞれのプログラムの際にそれぞれのプログラムコマンドとプログラムデータ入力が行なわれている。本実施形態では、このプログラムコマンドおよびプログラムデータ入力をなるべくまとめる。 In the flowchart of the program shown in FIG. 9A, the first stage program and the second stage program are all separated one by one, and each program command and program data are input at the time of each program. . In the present embodiment, the program command and the program data input are summarized as much as possible.
例えば、図8Bに示したように、ブロックの先頭と終わりの端部以外は、ワード線WLnの1stステージとワード線WLn−1の2ndステージのプログラムとが必ず連続する。そこで、本実施形態では、この部分をひとまとめのコマンド入力とする。すなわち、1回のコマンド入力で、ワード線WLnのLowerページとワード線WLn−1のMiddle/Upperページとのプログラムデータがまとめて入力される。これは、LM-Foggy-Fineが採用された場合でも、1回のプログラムコマンドでLower/Middle/Upperページのデータをまとめて(ただし、この場合は同じワード線WLi内のページ)3ページ分入力していたのと同じデータ量の入力である。 For example, as shown in FIG. 8B, the program of the first stage of the word line WLn and the program of the second stage of the word line WLn-1 are always continuous except for the end of the block and the end of the block. Therefore, in this embodiment, this part is used as a collective command input. That is, with one command input, the program data of the lower page of the word line WLn and the middle / upper page of the word line WLn-1 are collectively input. This means that even if LM-Foggy-Fine is adopted, the data of the Lower / Middle / Upper pages are collected together by one program command (however, in this case, the pages in the same word line WLi) are input for three pages This is the input of the same amount of data as was done.
このように、プログラムコマンドおよびプログラムデータの入力がまとめられることにより、メモリコントローラ1が行う制御におけるコマンド入力やポーリング(チップビジーがレディーに戻ったか否かの定期的なチェック)の頻度が減少し、記憶装置としての高速化・簡易化が可能となる。
In this way, by combining the input of the program command and the program data, the frequency of command input and polling (periodical check whether the chip busy has returned to ready) in the control performed by the
ここで図14Aおよび図14Bを用いて、第2の実施形態に係るプログラム順序に従った書き込み手順の一例について説明する。図14Aおよび図14Bでは、図8Bに示すプログラム順序に従った場合の書き込み手順を示している。なお、図14Aまたは図14Bに示す処理のうち、図9A〜図9Cで説明した処理と同様の処理については、その説明を省略する。 Here, an example of a writing procedure according to the program order according to the second embodiment will be described with reference to FIGS. 14A and 14B. FIGS. 14A and 14B show a write procedure in the case of following the program order shown in FIG. 8B. Note that among the processes illustrated in FIG. 14A or FIG. 14B, descriptions of processes similar to the processes described in FIG. 9A to FIG. 9C are omitted.
図14Aは、第2の実施形態に係る1ブロック分全体の書き込み手順を示すフローチャートである。ここでの1ブロックは、ワード線WL0〜WLn(nは自然数)のn+1本のワード線WLiを有するとする。また、図14Bは、第2の実施形態に係る1stステージおよび2ndステージにおける書き込み手順を示すサブフローチャートである。なお、図14Aの各ステップの右に示した(1st)は、図9Bに示す1stステージに対応し、(2nd)は、図9Cに示す2ndステージに対応し、(1,2)は、図14Bに示す1stステージおよび2ndステージに対応している。 FIG. 14A is a flowchart illustrating a writing procedure of one block as a whole according to the second embodiment. Here, one block has n + 1 word lines WLi of word lines WL0 to WLn (n is a natural number). FIG. 14B is a sub-flowchart showing a write procedure in the first stage and the second stage according to the second embodiment. Note that (1st) shown on the right of each step in FIG. 14A corresponds to the first stage shown in FIG. 9B, (2nd) corresponds to the 2nd stage shown in FIG. 9C, and (1,2) is 14B corresponds to the first stage and the second stage.
図14Aに示すように、書き込みを開始すると、制御部22は、ステップS10〜S30と同様の処理であるステップS810〜S830の処理を実行する。これにより、ストリングSt0〜St3のワード線WL0の1stステージのプログラムが実施される。
As shown in FIG. 14A, when writing is started, the
さらに、制御部22は、ストリングSt0_ワード線WL1の1stステージのプログラムと、ストリングSt0_ワード線WL0の2ndステージのプログラムを実施する(ステップS840)。次に、制御部22は、ストリングSt1_ワード線WL1の1stステージのプログラムと、ストリングSt1_ワード線WL0の2ndステージのプログラムを実施する(ステップS850)。次に、制御部22は、ストリングSt2_ワード線WL1の1stステージのプログラムと、ストリングSt2_ワード線WL0の2ndステージのプログラムを実施する(ステップS860)。この後、制御部22は、各ストリングの各ワード線WLiに対してステップS840,S850,S860のような処理を繰り返す。
Further, the
そして、制御部22は、ストリングSt0_ワード線WLnの1stステージのプログラムと、ストリングSt0_ワード線WLn−1の2ndステージのプログラムを実施する(ステップS870)。次に、制御部22は、ストリングSt1_ワード線WLnの1stステージのプログラムと、ストリングSt1_ワード線WLn−1の2ndステージのプログラムを実施する(ステップS880)。この後、制御部22は、各ストリングの各ワード線WLiに対してステップS870,S880のような処理を繰り返す。
Then, the
そして、制御部22は、ストリングSt3_ワード線WLnの1stステージのプログラムと、ストリングSt3_ワード線WLn−1の2ndステージのプログラムを実施する(ステップS890)。次に、制御部22は、ステップS100〜S120と同様の処理であるステップS900〜S920の処理を実行する。これにより、ストリングSt0〜St3のワード線WLnの2ndステージのプログラムが実施される。
Then, the
このように、ブロックの先頭では第1の実施形態と同様に1stステージのみのプログラムが実施され、ブロックの最後では第1の実施形態と同様に2ndステージのみのプログラムが実施される。この場合において、1stステージのみのプログラムは、図9Bに示した手順に従って実行され、2ndステージのみのプログラムは、図9Cに示した手順に従って実行される。 As described above, the program of only the first stage is executed at the head of the block as in the first embodiment, and the program of only the second stage is executed at the end of the block as in the first embodiment. In this case, the program of only the first stage is executed according to the procedure shown in FIG. 9B, and the program of only the second stage is executed according to the procedure shown in FIG. 9C.
図14Bに示すように、1stステージおよび2ndステージのプログラムでは、2ndステージのプログラムが実行された後に、続けて1stステージのプログラムが実行される。具体的には、まず、メモリコントローラ1から不揮発性メモリ2へ、ワード線WLn−1のMiddleページのデータの入力開始コマンドが入力される(ステップS1010)。そして、メモリコントローラ1から不揮発性メモリ2へ、ワード線WLn−1のMiddleページのデータが入力される(ステップS1020)。
As shown in FIG. 14B, in the first and second stage programs, after the second stage program is executed, the first stage program is subsequently executed. Specifically, first, a command to start inputting data of the Middle page of the word line WLn-1 is input from the
次に、メモリコントローラ1から不揮発性メモリ2へ、ワード線WLn−1のUpperページのデータの入力開始コマンドが入力される(ステップS1030)。そして、メモリコントローラ1から不揮発性メモリ2へ、ワード線WLn−1のUpperページのデータが入力される(ステップS1040)。
Next, a command to start inputting data of the upper page of the word line WLn-1 is input from the
次に、メモリコントローラ1から不揮発性メモリ2へ、ワード線WLnのLowerページのデータの入力開始コマンドが入力される(ステップS1050)。そして、メモリコントローラ1から不揮発性メモリ2へ、ワード線WLnのLowerページのデータが入力される(ステップS1060)。
Next, a command to start inputting data of the lower page of the word line WLn is input from the
次に、メモリコントローラ1から不揮発性メモリ2へ、1stステージおよび2ndステージのプログラム実行コマンドが入力され(ステップS1070)、これによりチップビジーとなる(ステップS1080)。
Next, a program execution command of the first stage and the second stage is input from the
この後、ワード線WLnのLowerページに対し、1〜複数回のプログラム電圧パルスが印加される(ステップS1090)。そして、メモリセルがしきい値境界レベルを超えて移動したか否かを確認するために、ワード線WLnのLowerページのデータ読み出しが行なわれる(ステップS1100)。 Thereafter, the program voltage pulse is applied one or more times to the lower page of the word line WLn (step S1090). Then, in order to confirm whether or not the memory cell has moved beyond the threshold boundary level, data reading of the Lower page of the word line WLn is performed (step S1100).
さらに、Lowerページにおけるデータのフェイルビット数がクライテリアよりも小さいか否かが確認される(ステップS1110)。Lowerページにおけるデータのフェイルビット数がクライテリア以上である場合(ステップS1110、No)、ステップS1140〜S1160の処理が繰り返される。そして、データのフェイルビット数がクライテリアよりも小さくなると(ステップS1110、Yes)、ワード線WLn−1のLowerページデータが読み出される(ステップS1120)。 Further, it is confirmed whether or not the number of fail bits of data in the Lower page is smaller than the criterion (step S1110). If the number of fail bits of the data in the lower page is equal to or greater than the criterion (step S1110, No), the processing of steps S1140 to S1160 is repeated. When the number of data fail bits is smaller than the criteria (step S1110, Yes), the lower page data of the word line WLn-1 is read (step S1120).
そして、ワード線WLn−1のLowerページデータに基づいて、MiddleページおよびUpperページのプログラム先のVth(しきい値電圧)が決定される(ステップS1130)。この後、決定されたVthを用いて、ワード線WLn−1のMiddleページおよびUpperページへのデータ書き込みが行われる。 Then, Vth (threshold voltage) of the program destination of the Middle page and the Upper page is determined based on the Lower page data of the word line WLn-1 (step S1130). Thereafter, data is written to the Middle page and the Upper page of word line WLn-1 using the determined Vth.
MiddleページおよびUpperページへのデータ書き込みの際には、ワード線WLn−1のMiddleページおよびUpperページに対し、1〜複数回のプログラム電圧パルスが印加される(ステップS1140)。そして、メモリセルがしきい値境界レベルを超えて移動したか否かを確認するために、ワード線WLn−1のMiddleページおよびUpperページのデータ読み出しが行なわれる(ステップS1150)。 When writing data to the Middle page and the Upper page, one to a plurality of program voltage pulses are applied to the Middle page and the Upper page of the word line WLn-1 (step S1140). Then, in order to confirm whether or not the memory cell has moved beyond the threshold boundary level, data reading of the Middle page and the Upper page of the word line WLn-1 is performed (step S1150).
さらに、MiddleページおよびUpperページにおけるデータのフェイルビット数がクライテリアよりも小さいか否かが確認される(ステップS1160)。MiddleページおよびUpperページにおけるデータのフェイルビット数がクライテリア以上である場合(ステップS1160、No)、ステップS1140〜S1160の処理が繰り返される。そして、データのフェイルビット数がクライテリアよりも小さくなると(ステップS1160、Yes)、チップレディーとなる(ステップS1170)。 Further, it is checked whether the number of data fail bits in the Middle page and the Upper page is smaller than the criteria (step S1160). When the number of fail bits of the data in the Middle page and the Upper page is equal to or larger than the criteria (step S1160, No), the processing of steps S1140 to S1160 is repeated. If the number of fail bits of the data becomes smaller than the criteria (step S1160, Yes), the chip becomes ready (step S1170).
なお、ステップS1010,S1030,S1050の処理は、何れが先に行われてもよい。また、ステップS1020,S1040,S1060の処理は、何れが先に行われてもよい。ただし、ステップS1020の処理は、ステップS1010の処理の後に行われ、ステップS1040の処理は、ステップS1030の処理の後に行われ、ステップS1060の処理は、ステップS1050の処理の後に行われる。 Note that any of the processes of steps S1010, S1030, and S1050 may be performed first. Further, any of steps S1020, S1040, and S1060 may be performed first. However, the processing in step S1020 is performed after the processing in step S1010, the processing in step S1040 is performed after the processing in step S1030, and the processing in step S1060 is performed after the processing in step S1050.
なお、図14Bに示したステップS1120〜S1160までの処理が、ワード線WLn−1の2ndステージのプログラムに対応し、ステップS1090〜S1110までの処理が、ワード線WLnの1stステージのプログラムに対応している。 Note that the processing of steps S1120 to S1160 shown in FIG. 14B corresponds to the program of the second stage of word line WLn-1, and the processing of steps S1090 to S1110 corresponds to the program of the first stage of word line WLn. ing.
このように、図14Bでは、ワード線WLnの1stステージのプログラムがワード線WLn−1の2ndステージのプログラムよりも前に実行される場合について説明した。これは、ワード線WLnの1stステージのプログラムが先に行なわれることで、8値のVthが書き込まれるワード線WLn−1のセルが隣接セルの影響を受けないようにするためである。 As described above, in FIG. 14B, the case where the program of the first stage of the word line WLn is executed before the program of the second stage of the word line WLn-1 is described. This is because the first-stage programming of the word line WLn is performed first, so that the cells of the word line WLn-1 to which the 8-level Vth is written are not affected by adjacent cells.
このように、本実施形態では、ワード線WLn−1のMiddleページおよびUpperページのデータと、ワード線WLnのLowerページのデータとの3ページ分のデータが連続して入力される。 As described above, in the present embodiment, data of three pages, that is, the data of the Middle page and the Upper page of the word line WLn-1 and the data of the Lower page of the word line WLn are continuously input.
図15は、第2の実施形態に係る外部プログラムコマンドのシーケンスの例を示す図である。なお、1stステージにおける外部プログラムコマンドのシーケンスは、図11の(A)に示したものと同じである。また、2ndステージにおける外部プログラムコマンドのシーケンスは図11の(B)に示したものと同じである。したがって、ここでは、2ndステージと1stステージとが連続してプログラムされる際の外部プログラムコマンドのシーケンスについて説明する。1stステージと2ndステージとが連続してプログラムされる場合には、2ndステージのコマンドと1stステージのコマンドとが連続して入力される。 FIG. 15 is a diagram illustrating an example of a sequence of an external program command according to the second embodiment. The sequence of the external program command in the first stage is the same as that shown in FIG. The sequence of the external program command in the second stage is the same as that shown in FIG. Therefore, here, the sequence of the external program command when the 2nd stage and the 1st stage are continuously programmed will be described. When the 1st stage and the 2nd stage are programmed continuously, the command of the 2nd stage and the command of the 1st stage are continuously input.
具体的には、図15に示すように、プログラム開始コマンド(80h)が入力された後、プログラム対象ブロック・ページのアドレス(ワード線WLn−1のMiddleページのアドレス)が入力され、その後にワード線WLn−1のMiddleページのプログラムデータが入力される。この後、プログラムコマンドの連結コマンド(1Ah)が入力され、同様のシーケンスで今度はワード線WLn−1のUpperページのプログラムデータが入力される。そして、プログラムコマンドの連結コマンド(1Ah)が入力され、同様のシーケンスで今度はワード線WLnのLowerページのプログラムデータが入力される。そして、最後にプログラム実行コマンド(10h)が入力されると、チップがビジーとなりメモリチップ内部でプログラムの動作が開始される。 Specifically, as shown in FIG. 15, after the program start command (80h) is input, the address of the block page to be programmed (the address of the middle page of word line WLn-1) is input, and then the word The program data of the Middle page of the line WLn-1 is input. Thereafter, a concatenation command (1Ah) of the program commands is input, and the program data of the upper page of the word line WLn-1 is input in a similar sequence. Then, a concatenation command (1Ah) of the program commands is input, and the program data of the lower page of the word line WLn is input in a similar sequence. Then, when the program execution command (10h) is finally input, the chip becomes busy and the operation of the program is started inside the memory chip.
このようなプログラムコマンドの入力により、ワード線WLnのLowerページがプログラムされる。また、IDLとして、ワード線WLn−1のLowerページデータの読み出しが行われる。そして、Lowerページデータに基づいて、MiddleページおよびUpperページのプログラム先のVthが決定され、決定されたVthでワード線WLn−1のMiddleページおよびUpperページがプログラムされる。 By inputting such a program command, the lower page of the word line WLn is programmed. Further, as IDL, reading of Lower page data of word line WLn-1 is performed. Then, based on the lower page data, the Vth of the program destination of the Middle page and the Upper page is determined, and the Middle page and the Upper page of the word line WLn-1 are programmed with the determined Vth.
また、別の変形例として、プログラムコマンドの入力後、IDLとして、ワード線WLn−1のLowerページデータの読み出しを先に行なった後に、ワード線WLnのLowerページがプログラムを行い、次に、MiddleページおよびUpperページのプログラム先のVthが決定され、決定されたVthでワード線WLnのMiddleページおよびUpperページのプログラムを行なうこともできる。このようにすると、ワード線WLnの書込みによる隣接セル間干渉を受ける前に、IDLのワード線WLn−1のLowerページデータの読み出しができる。 As another modified example, after the program command is input, the lower page data of the word line WLn-1 is first read as the IDL, and then the lower page of the word line WLn performs the program. The program destination Vth of the page and the upper page is determined, and the middle page and the upper page of the word line WLn can be programmed with the determined Vth. In this way, the lower page data of the word line WLn-1 of the IDL can be read before receiving the interference between adjacent cells due to the writing of the word line WLn.
なお、本実施形態における、ワード線WLnの1stステージとワード線WLn−1の2ndステージとのひとまとめのコマンドによるプログラムの実際の実行順番は変形が可能である。すなわち、図15に示したワード線WLnのLowerページのプログラムと、IDLとしてのワード線WLn−1のLowerページデータの読み出しとは、何れが先でもよく、入れ替えが可能である。IDL(ワード線WLn−1のLowerページデータの読み出し)がワード線WLnのLowerページのプログラムよりも前に行なわれることで、ワード線WLnのLowerページのプログラムによる影響を受けることなくIDLが可能となる。 Note that in the present embodiment, the actual execution order of the program by the collective command of the first stage of the word line WLn and the second stage of the word line WLn-1 can be modified. That is, the lower page program of the word line WLn shown in FIG. 15 and the reading of the lower page data of the word line WLn-1 as the IDL may be performed in any order, and can be interchanged. Since the IDL (reading the lower page data of the word line WLn-1) is performed before the programming of the lower page of the word line WLn, the IDL can be performed without being affected by the programming of the lower page of the word line WLn. Become.
このように第2の実施形態では、ワード線WLn−1の2ndステージのプログラムと、ワード線WLnの1stステージのプログラムとをまとめて行うので、コマンド入力やポーリングの頻度が減少する。したがって、記憶装置の高速化および簡易化が可能となる。 As described above, in the second embodiment, since the program of the second stage of the word line WLn-1 and the program of the first stage of the word line WLn are collectively performed, the frequency of command input and polling is reduced. Therefore, it is possible to speed up and simplify the storage device.
(第3の実施形態)
つぎに、図16〜図19を用いて第3の実施形態について説明する。第3の実施形態では、2ndステージのプログラムを実行する際に、Vth分布状態を領域D以上とする予定のメモリセルに対して最初にプログラムを実行し、その後、Vth分布状態を領域C以下とする予定のメモリセルに対してプログラムを実行する。なお、本実施形態でも第1の実施形態の図6で説明したものと同じデータコーディングを用いる場合について説明する。
(Third embodiment)
Next, a third embodiment will be described with reference to FIGS. In the third embodiment, when the second stage program is executed, the memory cell whose Vth distribution state is to be set to the area D or more is first executed, and then the Vth distribution state is set to the area C or less. A program is executed for a memory cell to be programmed. In this embodiment, a case will be described in which the same data coding as that described with reference to FIG. 6 of the first embodiment is used.
多ビット/cellのプログラムにおいて、プログラム実行中に突然の電源遮断が発生すると、データが破壊される。このような場合、電源遮断が発生した際に実行していたプログラムの対象のプログラムデータの情報がメモリセルから失われる。このような場合、既にプログラムが完了して、メモリコントローラ1の書き込みバッファからデータが破棄されたような過去のプログラムデータも失われてしまう場合がある。この結果、データ復旧が不可能となってしまう。
In a multi-bit / cell program, if a sudden power off occurs during execution of the program, data is destroyed. In such a case, the information of the program data that is the object of the program being executed when the power interruption occurs is lost from the memory cells. In such a case, there is a case where the program has already been completed and the past program data in which the data is discarded from the write buffer of the
このような事象は、2ndステージのMiddle/Upperページのプログラムの途中で電源遮断が起きると発生する。この状況について説明する。図16は、電源遮断に起因するデータ破壊を説明するための図である。図16の(T11)は、1stステージのプログラムが完了した後のVth分布状態(データ状態)を示している。また、図16の(T12)は、2ndステージのプログラム途中のVth分布状態を示している。また、図16の(T13)は、電源遮断後のVth分布状態を示している。 Such an event occurs when power is interrupted during the middle / upper page program of the second stage. This situation will be described. FIG. 16 is a diagram for explaining data destruction due to power interruption. (T11) in FIG. 16 shows the Vth distribution state (data state) after the completion of the first stage program. (T12) in FIG. 16 shows the Vth distribution state during the programming of the second stage. FIG. 16 (T13) shows the Vth distribution state after the power is turned off.
図16の(T11)に示したような1stステージのプログラムが完了した後に、2ndステージのプログラムが開始され、図16の(T12)に示すようなVth分布状態となる。そして、図16の(T12)に示すような書き込み途中のVth分布状態の時に、電源遮断が発生すると、図16の(T13)に示すようなVth分布状態となる。 After the completion of the program of the first stage as shown in (T11) of FIG. 16, the program of the second stage is started, and the Vth distribution state becomes as shown in (T12) of FIG. Then, when the power supply is cut off during the Vth distribution state during writing as shown in (T12) of FIG. 16, the Vth distribution state becomes as shown in (T13) of FIG.
ここで、1stステージ完了後の状態から2ndステージのプログラムを開始することを考える。一般的にNANDメモリの内部では、低いVthから高いVthへと順番にプログラムが実行される。そのため、図16の(T12)に示すように、途中まで2ndステージのプログラムが進行したところで、電源遮断が発生すると、図16の(T13)に示したようなVth分布状態となる。 Here, it is assumed that the program of the second stage is started from the state after the completion of the first stage. Generally, within a NAND memory, programs are executed in order from low Vth to high Vth. Therefore, as shown in (T12) of FIG. 16, when the power supply is cut off when the program of the second stage has progressed halfway, the Vth distribution state becomes as shown in (T13) of FIG.
ここで正の分布に含まれるメモリセルは、Lowerページデータが“1”であったメモリセルと“0”であったメモリセルとが混在した状態である。このため、この状態において既にプログラムが完了しているLowerページデータを読み出しても、正しい読み出しデータは得られない。なお、2ndステージのプログラム完了後の読み出し電圧を用いても、正しいLowerページデータは得られない。 Here, the memory cells included in the positive distribution are in a state where the memory cells in which the lower page data is “1” and the memory cells in which the lower page data is “0” are mixed. For this reason, in this state, even if the lower page data that has already been programmed is read, correct read data cannot be obtained. Note that even if the read voltage after the completion of the second stage program is used, correct lower page data cannot be obtained.
そこで、本実施形態では、2ndステージのMiddle/UpperページのプログラムのVth順序を変更する。図17は、第3の実施形態に係る2ndステージのプログラムを説明するための図である。図17では、2ndステージにおけるVth状態の遷移方法を示している。図17の(T21)は、1stステージのプログラムが完了した後のVth分布状態を示している。また、図17の(T22)は、2ndステージの前半のプログラムが完了した時点でのVth分布状態を示している。また、図17の(T23)は、2ndステージの後半のプログラムが完了した時点でのVth分布状態を示している。 Therefore, in the present embodiment, the Vth order of the program of the Middle / Upper page of the second stage is changed. FIG. 17 is a diagram for explaining a program of the second stage according to the third embodiment. FIG. 17 shows a transition method of the Vth state in the second stage. (T21) in FIG. 17 shows the Vth distribution state after the completion of the first stage program. (T22) of FIG. 17 shows the Vth distribution state at the time when the first half of the second stage program is completed. (T23) of FIG. 17 shows the Vth distribution state at the time when the second half of the second stage program is completed.
本実施形態の制御部22は、図17の(T21)に示す1stステージが完了すると、図17の(T22)に示すように、書き込み目的地のVth分布状態が領域D以上となるメモリセルを最初にプログラム(D−Firstプログラム)する。そして、制御部22は、領域D〜GまでのVth分布状態のプログラムを完了させた後、図17の(T23)に示すように、領域A〜CのVth分布状態のプログラムを実行する。
When the first stage shown in (T21) of FIG. 17 is completed, the
このように、本実施形態の制御部22は、書き込み目的地のVth分布状態を領域D以上にさせるメモリセルへのプログラムを領域C以下にさせるメモリセルへのプログラムよりも先に開始する。そして、書き込み目的地のVth分布状態を領域D以上にさせるメモリセルへのプログラムを完了させた後、領域C以下にさせるメモリセルへのプログラムを完了させる。
As described above, the
これにより、Lowerページデータが“1”であったメモリセルと“0”であったメモリセルとが混在した状態となるタイミングが発生しなくなる。したがって、たとえ2ndステージで電源遮断が発生したとしても、Vr1またはVr4の何れかの読み出し電圧を用いることによって、制御部22は、Lowerページデータを読み出すことが可能となる。
As a result, the timing at which the memory cells in which the lower page data is "1" and the memory cells in which the lower page data is "0" coexist does not occur. Therefore, even if power interruption occurs at the second stage, the
図18は、第3の実施形態に係る2ndステージでの書き込み手順を示すフローチャートである。なお、図9Cで説明した処理と同様の処理については、その説明を省略する。第3の実施形態に係る2ndステージのステップS1210〜S1280は、図9Cに示した第1の実施形態に係る2ndステージのステップS310〜S380と同じである。 FIG. 18 is a flowchart illustrating a writing procedure in the second stage according to the third embodiment. Note that the description of the same processing as the processing described in FIG. 9C is omitted. Steps S1210 to S1280 of the second stage according to the third embodiment are the same as steps S310 to S380 of the second stage according to the first embodiment shown in FIG. 9C.
MiddleページおよびUpperページのプログラム先のVthが決定された後(ステップS1280)、決定されたVthを用いて、MiddleページおよびUpperページへのデータ書き込みが行われる。 After the Vth of the program destination of the Middle page and the Upper page is determined (step S1280), data writing to the Middle page and the Upper page is performed using the determined Vth.
第3の実施形態に係る2ndステージでは、MiddleページおよびUpperページへのデータ書き込みの際に、領域D〜Gとさせるメモリセルに対し、1〜複数回のプログラム電圧パルスが印加される(ステップS1290)。そして、メモリセルがしきい値境界レベルを超えて移動したか否かを確認するために、MiddleページおよびUpperページの領域D〜Gに対してデータ読み出しが行なわれる(ステップS1300)。 In the second stage according to the third embodiment, one or more program voltage pulses are applied to the memory cells to be set to the regions D to G when writing data to the Middle page and the Upper page (step S1290). ). Then, in order to confirm whether or not the memory cell has moved beyond the threshold boundary level, data is read from the areas D to G of the Middle page and the Upper page (step S1300).
さらに、MiddleページおよびUpperページにおける領域D〜Gでのデータのフェイルビット数がクライテリアよりも小さいか否かが確認される(ステップS1310)。MiddleページおよびUpperページにおける領域D〜Gでのデータのフェイルビット数がクライテリア以上である場合(ステップS1310、No)、ステップS1290〜S1310の処理が繰り返される。 Further, it is confirmed whether or not the number of fail bits of the data in the areas DG in the Middle page and the Upper page is smaller than the criteria (step S1310). If the number of fail bits of the data in the areas D to G in the Middle page and the Upper page is equal to or larger than the criteria (step S1310, No), the processing of steps S1290 to S1310 is repeated.
そして、MiddleページおよびUpperページにおける領域D〜Gでのデータのフェイルビット数がクライテリアよりも小さくなると(ステップS1310、Yes)、MiddleページおよびUpperページにおける領域A〜Cへの書き込みを行う。具体的には、MiddleページおよびUpperページへのデータ書き込みの際に、領域A〜Cとさせるメモリセルに対し、1〜複数回のプログラム電圧パルスが印加される(ステップS1320)。そして、メモリセルがしきい値境界レベルを超えて移動したか否かを確認するために、MiddleページおよびUpperページの領域A〜Cに対してデータ読み出しが行なわれる(ステップS1330)。 Then, when the number of fail bits of the data in the areas D to G in the middle page and the upper page becomes smaller than the criterion (step S1310, Yes), the writing to the areas A to C in the middle page and the upper page is performed. Specifically, at the time of writing data to the Middle page and the Upper page, one to a plurality of program voltage pulses are applied to the memory cells to be in the regions A to C (step S1320). Then, in order to confirm whether or not the memory cell has moved beyond the threshold boundary level, data reading is performed on the areas A to C of the Middle page and the Upper page (step S1330).
さらに、MiddleページおよびUpperページにおける領域A〜Cでのデータのフェイルビット数がクライテリアよりも小さいか否かが確認される(ステップS1340)。MiddleページおよびUpperページにおける領域A〜Cでのデータのフェイルビット数がクライテリア以上である場合(ステップS1340、No)、ステップS1320〜S1340が繰り返される。 Further, it is checked whether the number of fail bits of the data in the areas A to C in the Middle page and the Upper page is smaller than the criteria (step S1340). If the number of fail bits of the data in the areas A to C in the Middle page and the Upper page is equal to or greater than the criterion (No in step S1340), steps S1320 to S1340 are repeated.
そして、MiddleページおよびUpperページにおける領域A〜Cでのデータのフェイルビット数がクライテリアよりも小さくなると(ステップS1350、Yes)、チップレディーとなる(ステップS1350)。 Then, when the number of fail bits of the data in the areas A to C in the Middle page and the Upper page becomes smaller than the criteria (step S1350, Yes), the chip becomes ready (step S1350).
なお、本実施形態では、2ndステージのプログラムの前半で、領域D〜GまでのVth分布状態のプログラムを完了させたが、目的地が領域D〜GまでのVth分布状態のメモリセルを、完全に終わらせる必要は無い。この場合、制御部22は、一旦領域D程度のVth分布状態までのプログラムにとどめておく。その後、制御部22は、領域A〜Cのプログラムと、プログラム途中であった領域D〜Gのプログラムとを順番に実行する。
In the present embodiment, the programming of the Vth distribution state to the areas D to G is completed in the first half of the program of the second stage, but the memory cells of the destination having the Vth distribution state to the areas D to G are completely replaced. There is no need to end. In this case, the
図19は、第3の実施形態に係る2ndステージのプログラム変形例を説明するための図である。図19では、2ndステージにおけるVth状態の遷移方法(変形例)を示している。図19の(T31)は、1stステージのプログラムが完了した後のVth分布状態を示している。また、図19の(T32)は、2ndステージの前半のプログラムが完了した時点でのVth分布状態を示している。また、図19の(T33)は、2ndステージの後半のプログラムが完了した時点でのVth分布状態を示している。 FIG. 19 is a diagram for describing a program modification of the second stage according to the third embodiment. FIG. 19 shows a Vth state transition method (modification) in the second stage. (T31) in FIG. 19 shows the Vth distribution state after the completion of the first stage program. (T32) in FIG. 19 shows the Vth distribution state at the time when the first half of the second stage program is completed. Further, (T33) of FIG. 19 shows the Vth distribution state at the time when the second half of the second stage program is completed.
本実施形態の制御部22は、図19の(T31)に示す1stステージが完了すると、制御部22は、図19の(T32)に示すように、領域D程度のVth分布状態までプログラムを実行する。その後、制御部22は、領域ErのVth分布状態を用いて、領域A〜Cのプログラムを実行する。さらに、制御部22は、領域D程度のVth分布状態(プログラム途中のVth分布状態)を用いて、領域D〜Gのプログラムを実行する。
When the first stage shown in (T31) of FIG. 19 is completed, the
この図19に示す方法の場合も、図17に示す方法の場合と同様に、Lowerページデータが“1”であったメモリセルと“0”であったメモリセルとが混在した状態となるタイミングが発生しなくなる。したがって、たとえ2ndステージで電源遮断が発生したとしても、Vr1またはVr4の何れかの読み出し電圧を用いることによって、制御部22は、Lowerページデータを読み出すことが可能となる。
In the case of the method shown in FIG. 19, similarly to the case of the method shown in FIG. 17, the timing at which the memory cells in which the lower page data is "1" and the memory cells in which the lower page data is "0" are mixed. No longer occurs. Therefore, even if power interruption occurs at the second stage, the
このように、制御部22は、書き込み目的地のVth分布状態を領域D以上にさせるメモリセルへのしきい値分布を、領域Er〜Cまでのしきい値領域に重ならない位置まで移動させた後、領域Er〜Gにさせるメモリセルへのプログラムを完了させる。
As described above, the
このように第3の実施形態では、2ndステージのプログラムの際に、上位のVth分布を先にプログラムするので、不正電源遮断に起因する書き込み済みデータの巻き添え破壊を防止することができ、この結果、記憶装置の信頼性を向上させることが可能となる。 As described above, in the third embodiment, the upper-level Vth distribution is programmed first during the programming of the second stage, so that it is possible to prevent collateral destruction of written data due to improper power cutoff. As a result, Thus, the reliability of the storage device can be improved.
なお、第1〜第3の実施形態では、図6で説明したものと同じ1−3−3データコーディングを用いる場合について説明したが、他の1−3−3データコーディングが用いられてもよい。ただし、1−3−3データコーディングにおいて、Lowerページデータの境界が1箇所であるという条件がある。 Note that, in the first to third embodiments, the case where the same 1-3-3 data coding as that described in FIG. 6 is used has been described, but another 1-3-3 data coding may be used. . However, in the 1-3-3 data coding, there is a condition that the boundary of the lower page data is one place.
図20は、1−3−3データコーディングの他の例を示す図である。図20の(A)に示す1−3−3データコーディングの変形例1では、しきい値電圧とデータ値との関係は、以下に示す通りである。
・しきい値電圧がEr領域内にあるメモリセルは“111”を記憶している状態である。
・しきい値電圧がA領域内にあるメモリセルは“011”を記憶している状態である。
・しきい値電圧がB領域内にあるメモリセルは“001”を記憶している状態である。
・しきい値電圧がC領域内にあるメモリセルは“101”を記憶している状態である。
・しきい値電圧がD領域内にあるメモリセルは“100”を記憶している状態である。
・しきい値電圧がE領域内にあるメモリセルは“110”を記憶している状態である。
・しきい値電圧がF領域内にあるメモリセルは“010”を記憶している状態である。
・しきい値電圧がG領域内にあるメモリセルは“000”を記憶している状態である。
FIG. 20 is a diagram illustrating another example of the 1-3-3 data coding. In the first modification of the 1-3-3 data coding shown in FIG. 20A, the relationship between the threshold voltage and the data value is as follows.
The memory cell whose threshold voltage is in the Er region is in a state where "111" is stored.
A memory cell whose threshold voltage is in the region A is in a state where “011” is stored.
A memory cell whose threshold voltage is in the B region is in a state where “001” is stored.
A memory cell having a threshold voltage in the C region is in a state where “101” is stored.
A memory cell whose threshold voltage is in the D region is in a state where "100" is stored.
A memory cell whose threshold voltage is in the E region is in a state where “110” is stored.
A memory cell whose threshold voltage is in the F region is in a state where "010" is stored.
A memory cell whose threshold voltage is in the G region is in a state where “000” is stored.
図20の(B)に示す1−3−3データコーディングの変形例2では、しきい値電圧とデータ値との関係は、以下に示す通りである。
・しきい値電圧がEr領域内にあるメモリセルは“110”を記憶している状態である。
・しきい値電圧がA領域内にあるメモリセルは“100”を記憶している状態である。
・しきい値電圧がB領域内にあるメモリセルは“000”を記憶している状態である。
・しきい値電圧がC領域内にあるメモリセルは“010”を記憶している状態である。
・しきい値電圧がD領域内にあるメモリセルは“011”を記憶している状態である。
・しきい値電圧がE領域内にあるメモリセルは“111”を記憶している状態である。
・しきい値電圧がF領域内にあるメモリセルは“101”を記憶している状態である。
・しきい値電圧がG領域内にあるメモリセルは“001”を記憶している状態である。
In the modified example 2 of the 1-3-3 data coding shown in FIG. 20B, the relationship between the threshold voltage and the data value is as follows.
A memory cell whose threshold voltage is in the Er region is in a state where “110” is stored.
A memory cell whose threshold voltage is in the region A is in a state of storing “100”.
A memory cell whose threshold voltage is in the B region is in a state where “000” is stored.
A memory cell whose threshold voltage is in the C region is in a state where "010" is stored.
A memory cell whose threshold voltage is in the D region is in a state where “011” is stored.
A memory cell whose threshold voltage is in the E region is in a state where “111” is stored.
A memory cell whose threshold voltage is in the F region is in a state where “101” is stored.
A memory cell having a threshold voltage in the G region is in a state where “001” is stored.
図20の(C)に示す1−3−3データコーディングの変形例3では、しきい値電圧とデータ値との関係は、以下に示す通りである。
・しきい値電圧がEr領域内にあるメモリセルは“110”を記憶している状態である。
・しきい値電圧がA領域内にあるメモリセルは“010”を記憶している状態である。
・しきい値電圧がB領域内にあるメモリセルは“000”を記憶している状態である。
・しきい値電圧がC領域内にあるメモリセルは“100”を記憶している状態である。
・しきい値電圧がD領域内にあるメモリセルは“101”を記憶している状態である。
・しきい値電圧がE領域内にあるメモリセルは“111”を記憶している状態である。
・しきい値電圧がF領域内にあるメモリセルは“011”を記憶している状態である。
・しきい値電圧がG領域内にあるメモリセルは“001”を記憶している状態である。
In the third example of the 1-3-3 data coding shown in FIG. 20C, the relationship between the threshold voltage and the data value is as follows.
A memory cell whose threshold voltage is in the Er region is in a state where “110” is stored.
The memory cell whose threshold voltage is in the region A is in a state where “010” is stored.
A memory cell whose threshold voltage is in the B region is in a state where “000” is stored.
A memory cell whose threshold voltage is in the C region is in a state where “100” is stored.
A memory cell whose threshold voltage is in the D region is in a state where “101” is stored.
A memory cell whose threshold voltage is in the E region is in a state where “111” is stored.
A memory cell having a threshold voltage in the F region is in a state where “011” is stored.
A memory cell having a threshold voltage in the G region is in a state where “001” is stored.
(第4の実施形態)
つぎに、図21を用いて第4の実施形態について説明する。第4の実施形態では、1stステージをLower/Middleページのプログラムとし、2ndステージをUpperページのプログラムとする。
(Fourth embodiment)
Next, a fourth embodiment will be described with reference to FIG. In the fourth embodiment, the first stage is a lower / middle page program, and the second stage is an upper page program.
図21は、第4の実施形態におけるプログラム後のしきい値分布を示す図である。図21では、メモリセルに対する各プログラムステージ後のしきい値分布を示している。図21の(T41)は、プログラム前の初期状態である消去状態のしきい値分布を示している。図21の(T42)は、1stステージのプログラム後のしきい値分布を示している。図21の(T43)は、2ndステージのプログラム後のしきい値分布を示している。 FIG. 21 is a diagram showing a threshold distribution after programming according to the fourth embodiment. FIG. 21 shows a threshold distribution of each memory cell after each program stage. (T41) of FIG. 21 shows a threshold distribution in an erased state which is an initial state before programming. (T42) of FIG. 21 shows a threshold distribution after the first stage program. (T43) of FIG. 21 shows the threshold distribution after the programming of the second stage.
図21の(T41)に示すように、NANDメモリセルアレイ23の全メモリセルは、未書き込みの状態では分布Erの状態である。不揮発性メモリ2の制御部22は、図21の(T42)に示すように、1stステージのプログラムでは、Lower/Middleページに書き込むビット値に応じて、メモリセルごとに分布Erのままとする、または電荷を注入して分布Erよりも上の分布に移動させる。これにより、メモリセルは、Lower/Middleページデータによって、4値のレベルにプログラムされる。
As shown in (T41) of FIG. 21, all the memory cells of the NAND
また、図21の(T43)に示すように、2ndステージのプログラムでは、データの書き込みにはUpperページの1ページが必要である。不揮発性メモリ2の制御部22は、1stステージのデータに対し、2ndステージとしてUpperページのデータを加える。このように、制御部22は、2ndステージのプログラム後のしきい値分布を、各隣接する分布が分離された最終状態で8値のレベルとなるようにプログラムする。
Further, as shown in (T43) of FIG. 21, in the program of the second stage, one page of the upper page is necessary for writing data. The
1stステージの4値のレベルにプログラムする際のしきい値のレベルとしては、例えば以下のようにする。制御部22は、下から2番目のしきい値レベルは、2ndステージのプログラムで領域Aと領域Bに遷移するよう割り付けることに鑑み、領域Aと同じ分布に制御する。また、制御部22は、下から3番目のしきい値レベルは、2ndステージのプログラムで領域Dと領域Eに遷移するよう割り付けることに鑑み、Vr3とVr5の間に入るよう制御する。また、制御部22は、最上位のしきい値レベルは、2ndステージのプログラムで領域Eと領域Fに遷移するよう割り付けることに鑑み、Vr5とVr7の間に入るよう制御する。この後、制御部22は、1stステージの4値を用いて、2ndステージの8値のレベルにプログラムする。
The threshold level for programming to the four-level level of the first stage is, for example, as follows. The
なお、隣接メモリセル間干渉の影響を小さくするために、図8Bで示した順番と同じ順番でプログラムが実行される。すなわち、2つの異なるプログラムステージは、同じワード線WLiに連続的に実行されない。ワード線WLi間の隣接メモリセル間干渉を小さくするためには、ワード線WLiの2ndステージまでのプログラムが完了した後に、隣接ワード線WLiのしきい値の変動量を小さくすることが有効である。図8Bに示したシーケンスであれば、ワード線WLiの2ndステージまでのプログラムが完了した後の隣接ワード線WLiのプログラムステージは2ndステージのみとなるので、隣接メモリセル間干渉の影響を小さくできる。 In order to reduce the influence of interference between adjacent memory cells, the programs are executed in the same order as shown in FIG. 8B. That is, two different program stages are not continuously executed on the same word line WLi. In order to reduce the interference between adjacent memory cells between the word lines WLi, it is effective to reduce the variation of the threshold value of the adjacent word line WLi after the programming of the word line WLi up to the second stage is completed. . In the sequence shown in FIG. 8B, the program stage of the adjacent word line WLi is only the second stage after the completion of the programming of the word line WLi up to the second stage, so that the influence of interference between adjacent memory cells can be reduced.
ここで、第4の実施形態に係る書き込み手順について説明する。なお、第4の実施形態に係る1ブロック分全体の書き込み手順は、第1の実施形態に係る1ブロック分全体の書き込み手順(図9A)と同じであるので、その説明を省略する。本実施形態でも、第1の実施形態と同様に、非連続的な順序でワード線WLiをまたぎながらプログラムステージが進められていくので、あるワード線WLiのまとまり(ここではブロック)をプログラムシーケンスのまとまりとしてプログラムが実行される。 Here, a writing procedure according to the fourth embodiment will be described. Note that the procedure for writing the entirety of one block according to the fourth embodiment is the same as the procedure for writing the entirety of one block (FIG. 9A) according to the first embodiment, and a description thereof will be omitted. Also in the present embodiment, as in the first embodiment, the program stage proceeds while straddling the word lines WLi in a discontinuous order, so that a unit (here, a block) of a certain word line WLi is converted into a program sequence. The program is executed as a unit.
図22Aは、第4の実施形態に係る1stステージにおける書き込み手順を示すサブフローチャートであり、図22Bは、第4の実施形態に係る2ndステージでの書き込み手順を示すサブフローチャートである。なお、図22Aに示した処理のうち、図9Bに示した処理と同様の処理については、その説明を省略する。また、図22Bに示した処理のうち、図9Cに示した処理と同様の処理については、その説明を省略する。 FIG. 22A is a sub-flowchart showing a writing procedure in the first stage according to the fourth embodiment, and FIG. 22B is a sub-flowchart showing a writing procedure in the second stage according to the fourth embodiment. Note that among the processing illustrated in FIG. 22A, the description of the same processing as the processing illustrated in FIG. 9B is omitted. In addition, among the processing illustrated in FIG. 22B, the description of the same processing as the processing illustrated in FIG. 9C is omitted.
図22Aに示すように、1stステージのプログラムでは、まず、メモリコントローラ1から不揮発性メモリ2へLowerページデータの入力開始コマンドが入力される(ステップS1410)。そして、メモリコントローラ1から不揮発性メモリ2へLowerページデータが入力される(ステップS1420)。
As shown in FIG. 22A, in the program of the first stage, first, a lower page data input start command is input from the
さらに、メモリコントローラ1から不揮発性メモリ2へMiddleページのデータの入力開始コマンドが入力される(ステップS1430)。そして、メモリコントローラ1から不揮発性メモリ2へMiddleページのデータが入力される(ステップS1440)。
Further, a command to start inputting data of the Middle page is input from the
そして、メモリコントローラ1から不揮発性メモリ2へ1stステージのプログラム実行コマンドが入力され(ステップS1450)、これによりチップビジーとなる(ステップS1460)。
Then, a program execution command of the first stage is input from the
この後、LowerページデータとMiddleページデータに基づいて、2ndステージのプログラム先のVthが決定される(ステップS1470)。この後、決定されたVthを用いて、LowerページおよびMiddleページへのデータ書き込みが行われる。 Thereafter, Vth of the program destination of the second stage is determined based on the lower page data and the middle page data (step S1470). Thereafter, data is written to the Lower page and the Middle page using the determined Vth.
LowerページおよびMiddleページへのデータ書き込みの際には、1〜複数回のプログラム電圧パルスが印加される(ステップS1480)。そして、メモリセルがしきい値境界レベルを超えて移動したか否かを確認するために読み出しが行なわれる(ステップS1490)。さらに、LowerページおよびMiddleページにおけるデータのフェイルビット数がクライテリア(判定基準)よりも小さいか否かが確認される(ステップS1500)。データのフェイルビット数がクライテリア以上である場合(ステップS1500、No)、ステップS1480〜S1500の処理が繰り返される。そして、データのフェイルビット数がクライテリアよりも小さくなると(ステップS1500、Yes)、チップレディーとなる(ステップS1510)。 At the time of writing data to the lower page and the middle page, one to a plurality of program voltage pulses are applied (step S1480). Then, reading is performed to check whether or not the memory cell has moved beyond the threshold boundary level (step S1490). Further, it is confirmed whether the number of data fail bits in the Lower page and the Middle page is smaller than a criterion (criterion) (step S1500). If the number of fail bits of the data is equal to or greater than the criteria (step S1500, No), the processing of steps S1480 to S1500 is repeated. If the number of data fail bits is smaller than the criterion (step S1500, Yes), the chip becomes ready (step S1510).
図22Bに示すように、2ndステージのプログラムでは、まず、メモリコントローラ1から不揮発性メモリ2へUpperページのデータの入力開始コマンドが入力される(ステップS1610)。そして、メモリコントローラ1から不揮発性メモリ2へUpperページのデータが入力される(ステップS1620)。次に、メモリコントローラ1から不揮発性メモリ2へ2ndステージのプログラム実行コマンドが入力され(ステップS1630)、これによりチップビジーとなる(ステップS1640)。
As shown in FIG. 22B, in the program of the second stage, first, an input start command of upper page data is input from the
この後、IDLであるLowerページデータの読み出しが行われる(ステップS1650)。さらに、IDLであるMiddleページデータの読み出しが行われる(ステップS1660)。そして、LowerページデータおよびMiddleページデータに基づいて、Upperページのプログラム先のVthが決定される(ステップS1670)。この後、決定されたVthを用いて、Upperページへのデータ書き込みが行われる。 After that, the lower page data, which is the IDL, is read (step S1650). Further, the middle page data as the IDL is read (step S1660). Then, the program destination Vth of the upper page is determined based on the lower page data and the middle page data (step S1670). Thereafter, data writing to the upper page is performed using the determined Vth.
さらに、制御部22は、IDLの読み出しデータの信頼性を上げるために、複数回数読み出しを行い、チップ内のページバッファ24でこの読み出し結果の多数決をとり、次の書き込みデータとして使用することも可能である。無論、制御部22は、通常の読み出し動作時に於いて、複数回数読み出しを行いチップ内でこの読み出し結果の多数決をとり、外部への読み出しデータとして使用することも可能である。
Further, the
Upperページへのデータ書き込みの際には、1〜複数回のプログラム電圧パルスが印加される(ステップS1680)。そして、メモリセルがしきい値境界レベルを超えて移動したか否かを確認するために、Upperページのデータ読み出しが行なわれる(ステップS1690)。 At the time of writing data to the Upper page, one or more program voltage pulses are applied (step S1680). Then, in order to confirm whether or not the memory cell has moved beyond the threshold boundary level, data reading of the upper page is performed (step S1690).
さらに、Upperページにおけるデータのフェイルビット数がクライテリアよりも小さいか否かが確認される(ステップS1700)。Upperページにおけるデータのフェイルビット数がクライテリア以上である場合(ステップS1700、No)、ステップS1680〜S1700の処理が繰り返される。そして、データのフェイルビット数がクライテリアよりも小さくなると(ステップS1700、Yes)、チップレディーとなる(ステップS1710)。 Further, it is confirmed whether the number of fail bits of the data in the upper page is smaller than the criterion (step S1700). If the number of fail bits of data in the Upper page is equal to or greater than the criterion (step S1700, No), the processing of steps S1680 to S1700 is repeated. If the number of data fail bits is smaller than the criteria (step S1700, Yes), the chip becomes ready (step S1710).
ここで、図22Bに示した書き込み手順の変形例について説明する。図22Cは、第4の実施形態に係る2ndステージでの書き込み手順の変形例を示すサブフローチャートである。なお、図22Cに示す処理手順では、図22Bで説明したステップS1650,S1670の処理が行われないところを除いて、ステップS1610〜S1710の処理手順は図22Bと同じである。 Here, a modified example of the writing procedure shown in FIG. 22B will be described. FIG. 22C is a sub-flowchart showing a modification of the writing procedure in the second stage according to the fourth embodiment. In the processing procedure shown in FIG. 22C, the processing procedure of steps S1610 to S1710 is the same as that of FIG. 22B except that the processing of steps S1650 and S1670 described in FIG. 22B is not performed.
図22Cに示す処理手順の場合、ステップS1610の前にステップS1601〜S1609の処理が行われる。具体的には、まず、メモリコントローラ1から不揮発性メモリ2へLowerページおよびMiddleページの読み出しコマンドが入力され(ステップS1601)、これによりチップビジーとなる(ステップS1602)。
In the case of the processing procedure illustrated in FIG. 22C, the processing of steps S1601 to S1609 is performed before step S1610. Specifically, first, a lower page and middle page read command is input from the
この後、制御部22は、IDLであるLowerページデータおよびMiddleページデータの読み出しをVr1、Vr3、Vr5、Vr7のしきい値電圧で行う。そして、制御部22は、Vr1、Vr3、Vr5、Vr7のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS1603)。この後、チップレディーとなる(ステップS1604)。
Thereafter, the
制御部22が読み出したLowerページデータおよびMiddleページデータを出力すると(ステップS1605)、このLowerページデータおよびMiddleページデータは、ECC回路14に送信される(ステップS1606)。これにより、ECC回路14がLowerページデータおよびMiddleページデータをECC訂正する(ステップS1607)。
When the
そして、メモリコントローラ1から不揮発性メモリ2へLowerページのデータおよびMiddleページデータの入力開始コマンドが入力される(ステップS1608)。これにより、ECC回路14が、不揮発性メモリ2へLowerページおよびMiddleページデータのデータを入力する(ステップS1609)。
Then, a command to start inputting lower page data and middle page data is input from the
この後、ステップS1610〜S1710の処理が行われる。なお、ステップS1670では、ECC回路14からのLowerページデータおよびMiddleページデータに基づいて、MiddleページおよびUpperページのプログラム先のVthが決定される。 Thereafter, the processing of steps S1610 to S1710 is performed. In step S1670, the program destination Vth of the Middle page and the Upper page is determined based on the Lower page data and the Middle page data from the ECC circuit 14.
このように、本実施形態では、2ndステージのプログラムにおけるデータ入力は、Upperページの1ページだけである。しかし、この2ndステージではメモリセルのプログラムの目的地であるVthは、Lower/Middleページも含めた3ページ分のデータが必要である。そのため、この2ndステージのプログラムでは、前処理として、まずLowerページデータとMiddleページデータが読み出される。そして、読み出されたデータと、入力されたUpperページデータとが合成されることによって、Upperページのプログラム先のVthが決定される。 As described above, in the present embodiment, the data input in the program of the second stage is only one upper page. However, in the second stage, Vth, which is the destination of the memory cell program, requires three pages of data including the Lower / Middle page. Therefore, in the program of the second stage, first, the lower page data and the middle page data are read as the preprocessing. Then, by combining the read data and the input upper page data, Vth of the program destination of the upper page is determined.
図23は、第4の実施形態に係る外部プログラムコマンドのシーケンスの例を示す図である。図23の(A)では、第4の実施形態に係る1stステージにおける外部プログラムコマンドのシーケンスを示し、図24の(B)では、第4の実施形態に係る2ndステージにおける外部プログラムコマンドのシーケンスを示している。 FIG. 23 is a diagram illustrating an example of a sequence of an external program command according to the fourth embodiment. FIG. 23A shows a sequence of an external program command in the first stage according to the fourth embodiment, and FIG. 24B shows a sequence of an external program command in the second stage according to the fourth embodiment. Is shown.
図23の(A)に示すように、1stステージでは、プログラム開始コマンド(80h)が入力された後、プログラム対象ブロック・ページのアドレス(Lowerページのアドレス)が入力され、その後にLowerページのプログラムデータが入力される。この後、プログラムコマンドの連結コマンド(1Ah)が入力され、同様のシーケンスで今度はMiddleページのプログラムデータが入力される。そして、最後にプログラム実行コマンド(10h)が入力されると、チップがビジーとなりメモリチップ内部でプログラムの動作が開始される。このようなプログラムコマンドの入力により、LowerページおよびMiddleページがプログラムされる。なお、LowerページのプログラムデータとMiddleページのプログラムデータの入力順序は何れが先であってもよい。 As shown in FIG. 23A, in the first stage, after the program start command (80h) is input, the address of the block page to be programmed (the address of the lower page) is input, and then the program of the lower page is input. The data is entered. Thereafter, a concatenation command (1Ah) of the program commands is input, and the program data of the Middle page is input in a similar sequence. Then, when the program execution command (10h) is finally input, the chip becomes busy and the operation of the program is started inside the memory chip. By inputting such a program command, a Lower page and a Middle page are programmed. Note that the input order of the program data of the Lower page and the program data of the Middle page may be any order.
図23の(B)に示すように、2ndステージでは、プログラム開始コマンド(80h)が入力された後、プログラム対象ブロック・ページのアドレス(Upperページのアドレス)が入力され、その後にUpperページのプログラムデータが入力される。そして、最後にプログラム実行コマンド(10h)が入力されると、チップがビジーとなりメモリチップ内部でプログラムの動作が開始される。このようなプログラムコマンドの入力により、IDLとしてのLowerページおよびMiddleページの読み出しが行われ、Upperページがプログラムされる。 As shown in FIG. 23B, in the second stage, after the program start command (80h) is input, the address of the block page to be programmed (the address of the upper page) is input, and then the program of the upper page is input. The data is entered. Then, when the program execution command (10h) is finally input, the chip becomes busy and the operation of the program is started inside the memory chip. By inputting such a program command, the lower page and the middle page as the IDL are read, and the upper page is programmed.
ここで、ページ読み出し処理について説明する。ページ読み出しの方法は、読み出し対象ページを含むワード線WLiに対するプログラムが、2ndステージ書き込み前の場合と2ndステージ完了後とによって異なる。 Here, the page reading process will be described. The page reading method differs depending on whether the program for the word line WLi including the page to be read is performed before writing the second stage or after the completion of the second stage.
2ndステージ書き込み前のワード線WLiの場合、記録されているデータはLowerページおよびMiddleページが有効である。このため、制御部22は、読み出しページがLowerページまたはMiddleページのときにはメモリセルからデータを読み出す。そして、制御部22は、そのUpperページの場合には、メモリセル読み出し動作は行わず、読み出しデータとして強制的に全て“1”を出力する制御を行う。
In the case of the word line WLi before the writing in the second stage, the recorded data is valid in the Lower page and the Middle page. For this reason, when the read page is the Lower page or the Middle page, the
一方、2ndステージまで完了したワード線WLiの場合、制御部22は、読み出しページがUpper/Middle/Lowerページの何れであってもメモリセルを読み出す。この場合、読み出すページが何れのページかによって必要な読み出し電圧が異なるので、制御部22は、選択されたページに従って必要な読み出しだけを実行する。
On the other hand, in the case of the word line WLi that has been completed up to the second stage, the
図6に示したコーディングによれば、Lowerページデータが変化するしきい値状態間の境界は1つだけであるので、制御部22は、その境界で分離された2つの範囲の何れにしきい値が位置するかでデータを決定する。
According to the coding shown in FIG. 6, since there is only one boundary between the threshold state where the lower page data changes, the
また、MiddleページまたはUpperページのデータが変化するしきい値状態間の境界は3つであるので、制御部22は、それらの境界で分離された4つの範囲の何れの中にしきい値が位置するかでデータを決定する。
Further, since there are three boundaries between the threshold states where the data of the Middle page or the Upper page changes, the
以下、ページ読み出しの具体的な処理手順について説明する。図24Aは、第4の実施形態に係る記憶装置において2ndステージ書き込み前の場合のワード線でのページ読み出しの処理手順を示すフローチャートである。図24Bは、第4の実施形態に係る記憶装置において2ndステージまでプログラムが完了しているワード線でのページ読み出しの処理手順を示すフローチャートである。なお、図24Aに示した処理のうち、図12Aに示した処理と同様の処理については、その説明を省略する。また、図24Bに示した処理のうち、図12Bに示した処理と同様の処理については、その説明を省略する。 Hereinafter, a specific processing procedure of page reading will be described. FIG. 24A is a flowchart illustrating a procedure of reading a page from a word line before writing to the second stage in the storage device according to the fourth embodiment. FIG. 24B is a flowchart illustrating a procedure of a page read process on a word line for which programming has been completed up to the second stage in the storage device according to the fourth embodiment. Note that among the processing illustrated in FIG. 24A, the description of the same processing as the processing illustrated in FIG. 12A is omitted. In addition, among the processing illustrated in FIG. 24B, the description of the same processing as the processing illustrated in FIG. 12B is omitted.
図24Aに示すように、2ndステージ書き込み前のワード線WLiの場合、制御部22は、読み出しページを選択する(ステップS1810)。読み出しページがLowerページの場合(ステップS1810、Lower)、制御部22は、Vr3のしきい値電圧で読み出しを行う(ステップS1820)。そして、制御部22は、Vr3のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS1830)。
As shown in FIG. 24A, in the case of the word line WLi before the second stage writing, the
また、読み出しページがMiddleページの場合(ステップS1810、Middle)、制御部22は、Vr1、Vr3およびVr5のしきい値電圧で読み出しを行う(ステップS1840,S1850,S1860)。そして、制御部22は、Vr1、Vr3およびVr5のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS1870)。
When the read page is the Middle page (Step S1810, Middle), the
また、読み出しページがUpperページの場合(ステップS1810、Upper)、制御部22は、メモリセルの出力データとして全て強制的に“1”を出力する制御を行う(ステップS1880)。
When the read page is the upper page (step S1810, Upper), the
また、図24Bに示すように、2ndステージまでプログラムが完了したワード線WLiの場合、制御部22は、読み出しページを選択する(ステップS1910)。読み出しページがLowerページの場合(ステップS1910、Lower)、制御部22は、Vr4のしきい値電圧で読み出しを行う(ステップS1920)。そして、制御部22は、Vr4のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS1930)。
Further, as shown in FIG. 24B, in the case of the word line WLi for which programming has been completed up to the second stage, the
また、読み出しページがMiddleページの場合(ステップS1910、Middle)、制御部22は、Vr1、Vr3およびVr6のしきい値電圧で読み出しを行う(ステップS1940,S1950,S1960)。そして、制御部22は、Vr1、Vr3およびVr6のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS1970)。
When the read page is the Middle page (Step S1910, Middle), the
また、読み出しページがUpperページの場合(ステップS1910、Upper)、制御部22は、Vr2、Vr5およびVr7のしきい値電圧で読み出しを行う(ステップS1980,S1990,S2000)。そして、制御部22は、Vr2、Vr5およびVr7のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS2010)。
When the read page is the Upper page (Step S1910, Upper), the
このように、図21に示したようなしきい値のプログラム制御では、Lowerページデータの読み出しの場合、4レベルを上下で2レベルずつ分離できる読み出しレベルとして、Vr3が用いられる。また、Middleページデータの読み出しの場合、4レベルのどこか1つを特定しないとデータを決定できないデータ割付となっているので、読み出しレベルとして、Vr1、Vr3およびVr5の3レベルの読み出しが必要となる。 As described above, in the program control of the threshold value as shown in FIG. 21, in the case of reading the lower page data, Vr3 is used as a read level that can be divided into two levels each of four levels. In the case of reading Middle page data, data is determined so that data cannot be determined unless one of the four levels is specified. Therefore, it is necessary to read three levels of Vr1, Vr3, and Vr5 as read levels. Become.
一方、2ndステージまで完了したワード線WLiの場合、読み出しページはUpper/Middle/Lowerのうちの何れであってもメモリセルを読み出すが、どのページを読み出すかによって必要な読み出し電圧が異なるので、選択されたページに従った必要な読み出しだけが実行される。 On the other hand, in the case of the word line WLi that has been completed up to the second stage, the memory cell is read regardless of whether the read page is Upper / Middle / Lower, but the required read voltage differs depending on which page is read. Only the necessary reading according to the specified page is executed.
なお、ワード線WLiに対するプログラムが、1stステージと2ndステージとの何れまで完了したかは、メモリコントローラ1が管理・識別することが可能である。メモリコントローラ1が、プログラム制御を行っているので、メモリコントローラ1がその進捗状況を記録しておけば、メモリコントローラ1は、不揮発性メモリ2のどのアドレスがどのようなプログラム状態であるか容易に参照できる。この場合、メモリコントローラ1は、不揮発性メモリ2から読み出しを行う際、対象ページアドレスを含むワード線WLiがどのようなプログラム状態であるかを識別し、識別した状態に応じた読み出しコマンドを発行する。
Note that the
図25は、第4の実施形態に係る外部読み出しコマンドのシーケンスの例を示す図である。図25の(A)では、第4の実施形態に係る記憶装置において1stステージまでプログラムが完了しているワード線WLiでの外部読み出しコマンドのシーケンスを示し、図25の(B)では、第4の実施形態に係る記憶装置において2ndステージまでプログラムが完了しているワード線WLiでの外部読み出しコマンドのシーケンスを示している。 FIG. 25 is a diagram illustrating an example of a sequence of an external read command according to the fourth embodiment. FIG. 25A shows a sequence of an external read command on the word line WLi for which programming has been completed up to the first stage in the storage device according to the fourth embodiment, and FIG. 23 shows a sequence of an external read command on the word line WLi for which programming has been completed up to the second stage in the storage device according to the embodiment.
図25の(A)に示すように、2ndステージ書き込み前のワード線WLiの場合、読み出し動作を実行するコマンドとして、最初に2ndステージ書き込み前の状態を示すコマンド(2Dh)が入力される。この後、読み出し開始コマンド(00h)が入力され、その後に読み出し対象ブロック・ページのアドレス(LowerページまたはMiddleページまたはUpperページのアドレス)が入力される。そして、最後に読出し実行コマンド(30h)が入力されると、チップがビジーとなり、メモリチップ内部で読み出しの動作が開始される。このようなプログラムコマンドの入力により、LowerページまたはMiddleページまたはUpperページからデータが読み出される。その後、チップがレディー状態となり、読み出されたデータが出力される。 As shown in FIG. 25A, in the case of the word line WLi before the writing of the second stage, a command (2Dh) indicating the state before the writing of the second stage is first input as a command for executing the read operation. Thereafter, a read start command (00h) is input, and thereafter, an address of a block page to be read (an address of a Lower page, a Middle page, or an Upper page) is input. When the read execution command (30h) is finally input, the chip becomes busy, and the read operation is started inside the memory chip. By inputting such a program command, data is read from the Lower page, the Middle page, or the Upper page. Thereafter, the chip enters a ready state, and the read data is output.
一方、図25の(B)に示すように、2ndステージまでプログラムが完了したワード線WLiの場合、読み出し動作を実行するコマンドとして、最初に2ndステージまでの完了状態を示すコマンド(25h)が入力される。この後、読み出し開始コマンド(00h)が入力され、その後に読み出し対象ブロック・ページのアドレス(LowerページまたはMiddleページまたはUpperページのアドレス)が入力される。そして、最後に読出し実行コマンド(30h)が入力されると、チップがビジーとなり、メモリチップ内部で読み出しの動作が開始される。このようなプログラムコマンドの入力により、LowerページまたはMiddleページまたはUpperページからデータが読み出される。その後、チップがレディー状態となり、読み出されたデータが出力される。 On the other hand, as shown in FIG. 25B, in the case of the word line WLi for which programming has been completed up to the second stage, a command (25h) indicating the completion state up to the second stage is first input as a command for executing the read operation. Is done. Thereafter, a read start command (00h) is input, and thereafter, an address of a block page to be read (an address of a Lower page, a Middle page, or an Upper page) is input. When the read execution command (30h) is finally input, the chip becomes busy, and the read operation is started inside the memory chip. By inputting such a program command, data is read from the Lower page, the Middle page, or the Upper page. Thereafter, the chip enters a ready state, and the read data is output.
なお、第1の実施形態に対する第2の実施形態の変形と同様の変形を、本実施形態に適用してもよい。すなわち、本実施形態においても、ワード線WLn−1の2ndステージのプログラムと、ワード線WLnの1stステージのプログラムとがまとめて行なわれてもよい。 Note that a modification similar to the modification of the second embodiment with respect to the first embodiment may be applied to the present embodiment. That is, also in the present embodiment, the program of the second stage of the word line WLn-1 and the program of the first stage of the word line WLn may be performed collectively.
また、本実施形態では、1−3−3データコーディングの種類は、Lowerでの境界数が1であるという制約が不要となる。このため、第1〜第3の実施形態で用いた1−3−3データコーディング以外の1−3−3データコーディングが適用されてもよい。本実施形態の1−3−3データコーディングの具体的な状態は、特開2015−195071号公報の図5〜8,12〜15,18,20,22,24,28〜30などに示されたものである。 Further, in the present embodiment, the type of the 1-3-3 data coding does not require the restriction that the number of boundaries in the Lower is one. For this reason, 1-3-3 data coding other than the 1-3-3 data coding used in the first to third embodiments may be applied. The specific state of the 1-3-3 data coding according to the present embodiment is shown in FIGS. 5 to 8, 12 to 15, 18, 20, 22, 24, 28 to 30 of JP-A-2015-195071. It is a thing.
このように第4の実施形態では、第1の実施形態と同様に、不揮発性メモリ2(3次元構造または2次元構造を有した3bit/CellのNANDメモリ)をプログラムする際に、1−3−3データコーディングを採用し、プログラムを2ステージ制とした。このように2ステージ制でプログラムされるので、データプログラムの際に入力するデータ量が減り、メモリコントローラ1に必要とされる書き込みバッファ量を抑制することが可能となる。また、不揮発性メモリ2のページ間のビットエラー率の偏りを低減できるとともに、ECCにかかるコストを下げることができる。
As described above, in the fourth embodiment, as in the first embodiment, when the non-volatile memory 2 (3-bit / Cell NAND memory having a three-dimensional structure or a two-dimensional structure) is programmed, 1-3 -3 data coding was adopted, and the program was a two-stage system. Since programming is performed in the two-stage system in this manner, the amount of data input during data programming is reduced, and the amount of write buffer required for the
(第5の実施形態)
つぎに、図26〜図30を用いて第5の実施形態について説明する。第5の実施形態では、ワード線WLiに対するプログラムが、1stステージと2ndステージとの何れまで完了したかをメモリセル(フラグセル)に記録しておき、データ読み出しの際は、フラグセルに記録された情報に基づいて読み出しシーケンスを適切に制御する。
(Fifth embodiment)
Next, a fifth embodiment will be described with reference to FIGS. In the fifth embodiment, the memory cell (flag cell) records how far the program for the word line WLi has been completed between the first stage and the second stage, and when reading data, the information recorded in the flag cell is recorded. The read sequence is appropriately controlled based on the
なお、本実施形態でも第1の実施形態の図6で説明したものと同じデータコーディングを用いる場合について説明する。また、以下の説明では、データを記憶するメモリセルアレイをデータ記憶セルという場合がある。また、1stステージと2ndステージとの何れまで完了したかを示す情報を完了情報という場合がある。本実施形態では、2ndステージまで完了している場合には、フラグセルにデータが書き込まれるので、このデータが2ndステージまで完了したことを示す完了情報となる。一方、2ndステージまで完了していない場合には、フラグセルにデータが書き込まれないので、この未書き込みのデータが2ndステージまで完了していないことを示す完了情報となる。 In this embodiment, a case will be described in which the same data coding as that described with reference to FIG. 6 of the first embodiment is used. In the following description, a memory cell array for storing data may be referred to as a data storage cell. Information indicating the completion of the first stage or the second stage may be referred to as completion information. In the present embodiment, when the data has been completed up to the second stage, data is written to the flag cell, and thus this data becomes completion information indicating that the data has been completed up to the second stage. On the other hand, if the data has not been completed up to the second stage, no data is written in the flag cell, so that the unwritten data becomes completion information indicating that the data has not been completed up to the second stage.
図26は、フラグセルの構成を説明するための図である。本実施形態でも第1の実施形態の図3で説明したメモリセルアレイと同様の構成を有したメモリセルアレイが用いられる。なお、図26では、セレクトゲート線SGD0に接続されたメモリセルトランジスタMTなどを図示しており、セレクトゲート線SGD1〜3に接続されたメモリセルトランジスタMTなどの図示を省略している。 FIG. 26 is a diagram for explaining the configuration of the flag cell. In this embodiment, a memory cell array having the same configuration as the memory cell array described in the first embodiment with reference to FIG. 3 is used. In FIG. 26, the memory cell transistors MT connected to the select gate line SGD0 and the like are illustrated, and the memory cell transistors MT connected to the select gate lines SGD1 to SGD1 and the like are omitted.
ビット線BL0〜BLm−1に接続されたメモリセルトランジスタ(データ記憶セル)MTの横には、ダミーセルDCとフラグセルFCが配置されている。ダミーセルDCおよびフラグセルFCは、メモリセルトランジスタMTと同様の構成を有している。具体的には、ダミーセルDCは、セレクトゲート線SGD0、ワード線WL0〜WL7、セレクトゲート線SGS、ソース線SL、ダミーセル用ビット線DBLなどに接続されている。また、フラグセルFCは、セレクトゲート線SGD0、ワード線WL0〜WL7、セレクトゲート線SGS、ソース線SL、フラグセル用ビット線FBL0〜FBLk−1などに接続されている。換言すると、ブロックBLK内のメモリセルのうちの一部がデータ記憶として用いられ、残りの一部がダミーセルDCおよびフラグセルFCとして用いられる。 Dummy cells DC and flag cells FC are arranged beside the memory cell transistors (data storage cells) MT connected to the bit lines BL0 to BLm-1. The dummy cell DC and the flag cell FC have the same configuration as the memory cell transistor MT. Specifically, the dummy cell DC is connected to a select gate line SGD0, word lines WL0 to WL7, a select gate line SGS, a source line SL, a dummy cell bit line DBL, and the like. The flag cells FC are connected to the select gate line SGD0, the word lines WL0 to WL7, the select gate line SGS, the source line SL, the flag cell bit lines FBL0 to FBLk-1, and the like. In other words, a part of the memory cells in the block BLK is used as data storage, and the remaining part is used as a dummy cell DC and a flag cell FC.
第1〜第5の実施形態では、メモリコントローラ1が、ワード線WLiに対するプログラムが1stステージと2ndステージとの何れまで完了したかを管理・識別している。そして、データ読み出しの際には、メモリコントローラ1が、プログラムの完了状態に応じた読み出しコマンドを発行する。
In the first to fifth embodiments, the
これに対し、本実施形態では、制御部22が、1stステージと2ndステージとの何れまで完了したかを示す完了情報を不揮発性メモリ2のフラグセルFCに記録する。そして、データ読み出しの際には、制御部22が、フラグセルFCに記録された完了情報に基づいて、読み出しシーケンスを制御する。
On the other hand, in the present embodiment, the
フラグセルFCは、ワード線単位で設けられている。すなわち、ワード線WLi内の複数のメモリセルのうちの一部がフラグセルFCとして使用される。フラグセルFCは、ワード線WLi毎に1つでもよいが、多重化によってデータの信頼性を上げるために、複数個とするのが好ましい。また、隣接セル間干渉による信頼性悪化の影響を抑えるために、データを記憶するデータ記憶セルと、フラグセルFCとを物理的に隣接させない方が好ましい。たとえば、データ記憶セルと、フラグセルFCとの間にはデータ記録領域としては使用しないダミーセルDCなどを配置するのが好ましい。 The flag cells FC are provided for each word line. That is, some of the plurality of memory cells in word line WLi are used as flag cells FC. The number of flag cells FC may be one for each word line WLi, but it is preferable to use a plurality of flag cells FC in order to increase data reliability by multiplexing. In order to suppress the influence of the deterioration of reliability due to interference between adjacent cells, it is preferable that the data storage cell for storing data and the flag cell FC are not physically adjacent to each other. For example, it is preferable to arrange a dummy cell DC not used as a data recording area between the data storage cell and the flag cell FC.
フラグセルFCに記録される完了情報は、2ndステージのプログラムが行われたか否かの2値情報である。制御部22は、2ndステージのプログラム時に同一ワード線WLi内のフラグセルFCに、2ndステージのプログラムが完了したことを示す完了情報を書き込む。制御部22は、完了情報を、例えばDレベル以上でフラグセルFCに書き込む。このときのしきい値分布の変化の様子について説明する。
The completion information recorded in the flag cell FC is binary information indicating whether or not the second stage program has been performed. The
図27Aは、第5の実施形態に係るフラグセルへのプログラムを説明するための図である。図27Aでは、2ndステージのプログラムの際に行われるフラグセルFCでのVth状態の遷移方法を示している。 FIG. 27A is a diagram for describing a program to a flag cell according to the fifth embodiment. FIG. 27A shows a transition method of the Vth state in the flag cell FC performed at the time of the second stage programming.
図27Aの(T51)は、プログラム前の初期状態である消去状態のフラグセルFCでのVth分布状態を示している。また、図27Aの(T52)は、1stステージのプログラムが完了した時点でのVth分布状態を示している。また、図27Aの(T53)は、2ndステージのプログラムが完了した時点でのVth分布状態を示している。本実施形態の制御部22は、2ndステージが完了する際に、図27Aの(T53)に示すように、書き込み目的地のVth分布状態が領域D以上(Vr4以上)となるよう、フラグセルFCにプログラムする。
(T51) in FIG. 27A shows the Vth distribution state of the flag cell FC in the erased state, which is the initial state before programming. (T52) of FIG. 27A shows the Vth distribution state at the time when the first stage program is completed. (T53) in FIG. 27A shows the Vth distribution state at the time when the second stage program is completed. When the 2nd stage is completed, the
フラグセルFCは、データセルと同時に2ndステージ時に書き込みが行なわれるが、フラグセルFC込みの閾値の遷移は、データセルよりも大きい。このため、フラグセルFCに隣接するデータセルの信頼性が悪化する場合は、フラグセルFCとデータセルとの間にダミーセルDCが設けられる。また、ダミーセルDCは、図27Bに示すように2ndステージ時にErからA又はB又はCへ書き込まれてもよい。 Writing is performed in the flag cell FC at the second stage at the same time as the data cell, but the threshold value transition including the flag cell FC is larger than that in the data cell. Therefore, when the reliability of the data cell adjacent to the flag cell FC deteriorates, a dummy cell DC is provided between the flag cell FC and the data cell. Also, the dummy cell DC may be written from Er to A or B or C at the second stage as shown in FIG. 27B.
図27Bは、第5の実施形態に係るダミーセルへのプログラムを説明するための図である。図27Bでは、2ndステージのプログラムの際に行われるダミーセルDCでのVth状態の遷移方法を示している。 FIG. 27B is a diagram for explaining the program to the dummy cell according to the fifth embodiment. FIG. 27B shows a transition method of the Vth state in the dummy cell DC performed at the time of the second stage programming.
図27Bの(T61)は、プログラム前の初期状態である消去状態のダミーセルDCでのVth分布状態を示している。また、図27Bの(T62)は、1stステージのプログラムが完了した時点でのVth分布状態を示している。また、図27Aの(T53)は、2ndステージのプログラムが完了した時点でのVth分布状態を示している。本実施形態の制御部22は、2ndステージが完了する際に、図27Bの(T63)に示すように、書き込み目的地のVth分布状態が領域C以下(Vr4以下)となるよう、ダミーセルDCにプログラムする。
(T61) of FIG. 27B shows the Vth distribution state of the dummy cell DC in the erased state, which is the initial state before programming. (T62) in FIG. 27B shows the Vth distribution state at the time when the first stage program is completed. (T53) in FIG. 27A shows the Vth distribution state at the time when the second stage program is completed. When the second stage is completed, the
図28は、第5の実施形態に係る2ndステージでの書き込み手順を示すフローチャートである。なお、図9Cで説明した処理と同様の処理については、その説明を省略する。第5の実施形態に係る2ndステージのステップS2110〜S2180は、図9Cに示した第1の実施形態に係る2ndステージのステップS310〜S380と同じである。 FIG. 28 is a flowchart illustrating a writing procedure in the second stage according to the fifth embodiment. Note that the description of the same processing as the processing described in FIG. 9C is omitted. Steps S2110 to S2180 of the second stage according to the fifth embodiment are the same as steps S310 to S380 of the second stage according to the first embodiment shown in FIG. 9C.
本実施形態では、Middleページ、UpperページおよびフラグセルFCへのプログラム先のVthが決定された後(ステップS2180)、決定されたVthを用いて、データ記憶セル(Middleページ、Upperページ)およびフラグセルFCへのデータ書き込みが行われる。 In the present embodiment, after Vth of the program destination to the Middle page, Upper page and flag cell FC is determined (step S2180), the data storage cell (Middle page, Upper page) and flag cell FC are determined using the determined Vth. Is written to the memory.
第5の実施形態に係る2ndステージでは、Middleページ、UpperページおよびフラグセルFCへのデータ書き込みの際に、1〜複数回のプログラム電圧パルスが印加される。(ステップS2190)。そして、メモリセルがしきい値境界レベルを超えて移動したか否かを確認するために、Middleページ、UpperページおよびフラグセルFCに対してデータ読み出しが行なわれる(ステップS2200)。 In the second stage according to the fifth embodiment, one or more program voltage pulses are applied at the time of writing data to the Middle page, the Upper page, and the flag cell FC. (Step S2190). Then, in order to confirm whether the memory cell has moved beyond the threshold boundary level, data reading is performed on the Middle page, the Upper page, and the flag cell FC (step S2200).
さらに、MiddleページおよびUpperページにおけるデータのフェイルビット数がクライテリアよりも小さいか否かが確認される(ステップS2210)。MiddleページおよびUpperページにおけるデータのフェイルビット数がクライテリア以上である場合(ステップS2210、No)、ステップS2190〜S2210の処理が繰り返される。この場合において、フラグセルFCに対するステップS2190,S2210の処理は省略される。 Further, it is confirmed whether or not the number of data fail bits in the Middle page and the Upper page is smaller than the criteria (step S2210). If the number of fail bits of the data in the Middle page and the Upper page is equal to or larger than the criteria (step S2210, No), the processing in steps S2190 to S2210 is repeated. In this case, the processing of steps S2190 and S2210 for the flag cell FC is omitted.
そして、MiddleページおよびUpperページにおけるデータのフェイルビット数がクライテリアよりも小さくなると(ステップS2210、Yes)、フラグセルFCにおけるデータのフェイルビット数がクライテリアよりも小さいか否かが確認される(ステップS2220)。 When the number of data fail bits in the Middle page and the Upper page is smaller than the criteria (step S2210, Yes), it is confirmed whether the number of data fail bits in the flag cell FC is smaller than the criteria (step S2220). .
フラグセルFCにおけるデータのフェイルビット数がクライテリア以上である場合(ステップS2220、No)、ステップS2190〜S2220の処理が繰り返される。この場合において、MiddleページおよびUpperページに対するステップS2190〜S2210の処理は省略される。 When the number of fail bits of the data in the flag cell FC is equal to or greater than the criterion (No at Step S2220), the processing of Steps S2190 to S2220 is repeated. In this case, the processing of steps S2190 to S2210 for the Middle page and the Upper page is omitted.
そして、フラグセルFCにおけるデータのフェイルビット数がクライテリアよりも小さくなると(ステップS2220、Yes)、チップレディーとなる(ステップS2230)。 When the number of data fail bits in the flag cell FC becomes smaller than the criteria (step S2220, Yes), the chip becomes ready (step S2230).
このように、本実施形態のステップS2190(プログラム電圧パルスを印加するステップ)では、データを書き込むデータ記憶セルに加え、フラグセルFCに対してもプログラム電圧パルスが同時に印加される。そして、この後のデータ読み出しにおいても、データ記憶セルとフラグセルFCとがプログラムされたか否かを確認するために、データ記憶セル内のデータとフラグセルFC内のデータ(完了情報)とが読み出される。 As described above, in step S2190 (the step of applying a program voltage pulse) of the present embodiment, the program voltage pulse is simultaneously applied to the flag cells FC in addition to the data storage cells to which data is written. In the subsequent data reading, the data in the data storage cell and the data (completion information) in the flag cell FC are read in order to confirm whether or not the data storage cell and the flag cell FC have been programmed.
その後、データ記憶セルおよびフラグセルFCから読み出されたデータと、期待値に対応するクライテリアとが比較される。このとき、フェイルしたビットの数がカウントされるが、データ記憶セル内でフェイルしたデータとフラグセルFC内でフェイルしたデータとは、別々にカウントされ、それぞれのクライテリアと比較される。何れか一方でもクライテリアを満たさない場合には、再びプログラム電圧パルスの印加手順に戻る。何れの比較においてもクライテリアを満たした場合には、チップをレディーとして終了となる。 Thereafter, the data read from the data storage cell and the flag cell FC is compared with the criterion corresponding to the expected value. At this time, the number of failed bits is counted, and the data failed in the data storage cell and the data failed in the flag cell FC are separately counted and compared with respective criteria. If any one of the criteria is not satisfied, the procedure returns to the program voltage pulse application procedure again. If the criteria are satisfied in any of the comparisons, the process ends with the chip being ready.
第1の実施形態におけるページ読み出しでは、読み出し対象ページを含むワード線WLiに対するプログラムが、1stステージと2ndステージとの何れまで完了したかによって、別々の処理順が用いられた。そして、何れの処理手順を実施するかは外部読み出しコマンドに基づいて決定されていた。しかし、本実施形態では、1stステージと2ndステージとの何れまで完了したかは、メモリコントローラ1からのコマンドで指示されるのではなく、フラグセルFC内の完了情報に従って判断される。すなわち、制御部22は、読み出しコマンドをメモリコントローラ1から受信すると、まずフラグセルFC内のデータである完了情報を読み出す。そして、制御部22は、フラグセルFCが書き込み済みであるか否かに応じて、1stステージと2ndステージとの何れまで完了しているかを判定する。
In the page reading according to the first embodiment, different processing orders are used depending on whether the program for the word line WLi including the page to be read has been completed in the first stage or the second stage. Then, which processing procedure is performed is determined based on the external read command. However, in the present embodiment, up to which of the first stage and the second stage has been completed is not determined by a command from the
上述したとおり、本実施形態では、フラグセルFCへの書き込みレベルをDレベル以上としている。このため、フラグセルFCの読み出しは、Vr1,Vr2,Vr3またはVr4のうちの任意の1つの読み出し電圧で可能である。したがって、制御部22は、読み出し対象ページがLowerページ、MiddleページまたはUpperページの何れであっても、2ndステージのプログラムまで完了している場合に必要な複数の読み出しレベルの最も低い読み出しレベルを使用して読み出せば、フラグセルFCの読み出しが可能である。そして、もしフラグセルFCが書き込み済みであると判定されたならば、制御部22は、2ndステージのプログラムまで完了していると判断し、フラグセルFC以外のメモリセルから、残りの読み出しレベルで読み出しを実行する。
As described above, in the present embodiment, the write level to the flag cell FC is equal to or higher than the D level. Therefore, reading of the flag cell FC is possible with any one of Vr1, Vr2, Vr3 or Vr4. Therefore, the
一方、フラグセルFCが未書き込みと判定された場合、Lowerページが読み出し対象であるなら、制御部22は、Vr1でデータを読み直す。また、Middle/Upperページが読み出し対象であるなら、制御部22は、これ以降の読み出しは不要と判断し、出力データを強制的に“1”とする。
On the other hand, if it is determined that the flag cell FC has not been written, and if the Lower page is to be read, the
フラグセルFCの読み出し結果(完了情報)からフラグセルFCが書き込み済みか否かを判定する際に、制御部22は、フラグセルFCが1個であるならば、そのセル自身が書き込み済みであるか否かを判定すればよい。また、フラグセルFCのデータの信頼度を上げるためにフラグセルFCが複数個設けられている場合がある。この場合、制御部22は、たとえば、複数個のフラグセルFCのうちのあるフラグセルFCから、クライテリアの数以上のセルが書き込みされたことを示す完了情報が読み出された場合、フラグセルFCは書き込み済みであると判断する。
When judging whether or not the flag cell FC has been written from the read result (completion information) of the flag cell FC, if the number of the flag cells FC is one, the
ここで、ページ読み出しの具体的な処理手順について説明する。図29は、第5の実施形態に係るページ読み出しの処理手順を示すフローチャートである。なお、図29に示した処理のうち、図12Aまたは図24Aに示した処理と同様の処理については、その説明を省略する。 Here, a specific processing procedure of page reading will be described. FIG. 29 is a flowchart illustrating a page read processing procedure according to the fifth embodiment. Note that among the processing illustrated in FIG. 29, the description of the same processing as the processing illustrated in FIG. 12A or 24A will be omitted.
図29に示すように、制御部22は、読み出しページを選択する(ステップS2310)。読み出しページがLowerページの場合(ステップS2310、Lower)、制御部22は、Vr4のしきい値電圧で読み出しを行う(ステップS2320)。
As shown in FIG. 29, the
そして、制御部22は、フラグセルFCに完了情報が書き込まれているか否かを判定する(ステップS2330)。フラグセルFCに完了情報が書き込み済みでない場合(ステップS2330、No)、制御部22は、Vr1のしきい値電圧で読み出しを行う(ステップS2340)。そして、制御部22は、Vr1のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS2350)。
Then, the
一方、フラグセルFCに完了情報が書き込み済みである場合(ステップS2330、Yes)、制御部22は、Vr4のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS2360)。
On the other hand, when the completion information has been written in the flag cell FC (step S2330, Yes), the
また、読み出しページがMiddleページの場合(ステップS2310、Middle)、制御部22は、Vr1のしきい値電圧で読み出しを行う(ステップS2370)。そして、制御部22は、フラグセルFCに完了情報が書き込まれているか否かを判定する(ステップS2380)。フラグセルFCに完了情報が書き込み済みでない場合(ステップS2380、No)、制御部22は、データ記憶セル(Middleページ)の出力データとして全て強制的に“1”を出力する制御を行う(ステップS2390)。
When the read page is the Middle page (Step S2310, Middle), the
一方、フラグセルFCに完了情報が書き込み済みである場合(ステップS2380、Yes)、制御部22は、Vr3およびVr6のしきい値電圧で読み出しを行う(ステップS2400,S2410)。そして、制御部22は、Vr1、Vr3およびVr6のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS2420)。
On the other hand, when the completion information has been written in the flag cell FC (step S2380, Yes), the
また、読み出しページがUpperページの場合(ステップS2430、Upper)、制御部22は、Vr2のしきい値電圧で読み出しを行う(ステップS2370)。そして、制御部22は、フラグセルFCに完了情報が書き込まれているか否かを判定する(ステップS2440)。フラグセルFCに完了情報が書き込み済みでない場合(ステップS2440、No)、制御部22は、データ記憶セル(Upperページ)の出力データとして全て強制的に“1”を出力する制御を行う(ステップS2450)。
When the read page is the Upper page (Step S2430, Upper), the
一方、フラグセルFCに完了情報が書き込み済みである場合(ステップS2440、Yes)、制御部22は、Vr5およびVr7のしきい値電圧で読み出しを行う(ステップS2460,S2470)。そして、制御部22は、Vr2、Vr5およびVr7のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS2780)。
On the other hand, when the completion information has been written in the flag cell FC (step S2440, Yes), the
図30は、第5の実施形態に係る外部読み出しコマンドのシーケンスの例を示す図である。本実施形態は、読み出しコマンドは1種類だけである。図30に示すように、読み出し動作を実行するコマンドとして、読み出し開始コマンド(00h)が入力され、その後に読み出し対象ブロック・ページのアドレス(LowerページまたはMiddleページまたはUpperページのアドレス)が入力される。そして、最後に読出し実行コマンド(30h)が入力されると、チップがビジーとなり、メモリチップ内部で読み出しの動作が開始される。このようなプログラムコマンドの入力により、LowerページまたはMiddleページまたはUpperページからデータが読み出される。その後、チップがレディー状態となり、読み出されたデータが出力される。 FIG. 30 is a diagram illustrating an example of a sequence of an external read command according to the fifth embodiment. In the present embodiment, there is only one type of read command. As shown in FIG. 30, a read start command (00h) is input as a command for executing a read operation, and thereafter, an address of a block page to be read (an address of a Lower page, a Middle page, or an Upper page) is input. . When the read execution command (30h) is finally input, the chip becomes busy, and the read operation is started inside the memory chip. By inputting such a program command, data is read from the Lower page, the Middle page, or the Upper page. Thereafter, the chip enters a ready state, and the read data is output.
このように第5の実施形態では、フラグセルFCに完了情報を記憶させておくので、1stステージと2ndステージとの何れまで完了したかに依らず、同じ処理順でページデータを読み出すことが可能となる。 As described above, in the fifth embodiment, the completion information is stored in the flag cell FC, so that the page data can be read in the same processing order regardless of which of the first stage and the second stage has been completed. Become.
(第6の実施形態)
つぎに、図31〜図36を用いて第6の実施形態について説明する。第6の実施形態では、3次元構造または2次元構造を有した4bit/Cell(QLC:Quadruple Level Cell)の不揮発性メモリ2に対して2ステージでページ単位の書き込みを実施する。
(Sixth embodiment)
Next, a sixth embodiment will be described with reference to FIGS. In the sixth embodiment, page-wise writing is performed in two stages in a 4-bit / Cell (QLC: Quadruple Level Cell)
図31は、第6の実施形態のしきい値領域の一例を示す図である。図31では、4bit/Cellの不揮発性メモリ2のしきい値分布例を示している。図31の、Er1、A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1と記載した16個の分布は、16個のしきい値領域内のそれぞれのしきい値分布を示している。このように、本実施形態の各メモリセルは、15個の境界によって仕切られたしきい値分布を有している。図31の横軸はしきい値電圧を示し、縦軸はメモリセル数(セル数)の分布を示している。
FIG. 31 is a diagram illustrating an example of the threshold region according to the sixth embodiment. FIG. 31 shows an example of a threshold distribution of the 4-bit / Cell
本実施形態では、しきい値電圧がVr11以下となる領域を領域Er1とよび、しきい値電圧がVr11より大きくVr12以下となる領域を領域A1とよび、しきい値電圧がVr12より大きくVr13以下となる領域を領域B1とよび、しきい値電圧がVr13より大きくVr14以下となる領域を領域C1とよぶ。また、本実施形態では、しきい値電圧がVr14より大きくVr15以下となる領域を領域D1とよび、しきい値電圧がVr15より大きくVr16以下となる領域を領域E1とよび、しきい値電圧がVr16より大きくVr17以下となる領域を領域F1とよび、しきい値電圧がVr17より大きくVr18以下となる領域を領域G1とよぶ。 In this embodiment, a region where the threshold voltage is equal to or lower than Vr11 is referred to as a region Er1, a region where the threshold voltage is higher than Vr11 and equal to or lower than Vr12 is referred to as an region A1, and the threshold voltage is higher than Vr12 and equal to or lower than Vr13. Is referred to as a region B1, and a region in which the threshold voltage is higher than Vr13 and equal to or lower than Vr14 is referred to as a region C1. In the present embodiment, a region where the threshold voltage is higher than Vr14 and lower than Vr15 is referred to as a region D1, a region where the threshold voltage is higher than Vr15 and lower than Vr16 is referred to as a region E1, and the threshold voltage is lower. A region where the threshold voltage is higher than Vr16 and lower than Vr17 is called a region F1, and a region where the threshold voltage is higher than Vr17 and lower than Vr18 is called a region G1.
また、本実施形態では、しきい値電圧がVr18より大きくVr19以下となる領域を領域H1とよび、しきい値電圧がVr19より大きくVr20以下となる領域を領域I1とよび、しきい値電圧がVr20より大きくVr21以下となる領域を領域J1とよび、しきい値電圧がVr21より大きくVr22以下となる領域を領域K1とよぶ。また、本実施形態では、しきい値電圧がVr22より大きくVr23以下となる領域を領域L1とよび、しきい値電圧がVr23より大きくVr24以下となる領域を領域M1とよび、しきい値電圧がVr24より大きくVr25以下となる領域を領域N1とよび、しきい値電圧がVr25より大きい領域を領域O1とよぶ。 In the present embodiment, a region where the threshold voltage is higher than Vr18 and lower than Vr19 is called a region H1, a region where the threshold voltage is higher than Vr19 and lower than Vr20 is called a region I1, and the threshold voltage is lower. A region where the threshold voltage is higher than Vr20 and lower than Vr21 is called a region J1, and a region where the threshold voltage is higher than Vr21 and lower than Vr22 is called a region K1. In this embodiment, a region where the threshold voltage is higher than Vr22 and lower than Vr23 is referred to as a region L1, a region where the threshold voltage is higher than Vr23 and lower than Vr24 is referred to as a region M1, and the threshold voltage is lower. A region where the threshold voltage is higher than Vr25 is referred to as a region N1, and a region where the threshold voltage is higher than Vr25 is referred to as a region O1.
また、領域Er1,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1に対応するしきい値分布をそれぞれ分布Er1,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1(第1〜第16の分布)と呼ぶ。Vr11〜Vr25は、各領域の境界となるしきい値電圧である。 The threshold distributions corresponding to the regions Er1, A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, L1, M1, N1, and O1 are respectively represented by distributions Er1, A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, L1, M1, N1, and O1 (first to sixteenth distributions). Vr11 to Vr25 are threshold voltages serving as boundaries between the regions.
以下の図32,34,36は、4bit/Cellのメモリセルに対する各プログラムステージ後のしきい値分布を示している。また、図32に示すしきい値分布と図33に示すデータコーディングは、1−4−5−5コーディングに対応している。1−4−5−5コーディングは、ビット値を判定するための境界数が、Lowerページ、Middleページ、Upperページ、Higherページでそれぞれ1,4,5,5である。 The following FIGS. 32, 34, and 36 show the threshold distribution after each program stage for the 4-bit / Cell memory cell. Further, the threshold distribution shown in FIG. 32 and the data coding shown in FIG. 33 correspond to 1-4-4-5 coding. In 1-4-5-5 coding, the number of boundaries for determining bit values is 1, 4, 5, and 5 for the Lower page, the Middle page, the Upper page, and the Higher page, respectively.
図32は、第6の実施形態におけるプログラム後のしきい値分布を示す第1例の図である。図32の(T71)は、プログラム前の初期状態である消去状態のしきい値分布を示している。図32の(T72)は、1stステージのプログラム後のしきい値分布を示している。図32の(T73)は、2ndステージのプログラム後のしきい値分布を示している。 FIG. 32 is a diagram of a first example illustrating a threshold distribution after programming according to the sixth embodiment. (T71) of FIG. 32 shows a threshold distribution in an erased state which is an initial state before programming. (T72) of FIG. 32 shows a threshold distribution after the program of the first stage. (T73) of FIG. 32 shows a threshold distribution after the programming of the second stage.
図32の(T71)に示すように、NANDメモリセルアレイ23の全メモリセルは、未書き込みの状態では分布Erである。不揮発性メモリ2の制御部22は、図32の(T72)に示すように、1stステージのプログラムでは、LowerページおよびMiddleページに書き込むビット値に応じて、メモリセルごとに分布Erのままとする、または電荷を注入して分布Erよりも上の分布に移動させる。これにより、メモリセルは、LowerページデータおよびMiddleページデータによって、4値のレベルにプログラムされる。
As shown in (T71) of FIG. 32, all the memory cells of the NAND
また、図32の(T73)に示すように、2ndステージのプログラムでは、データの書き込みにはUpperページとHigherページの2ページが必要である。そして、不揮発性メモリ2の制御部22は、2ndステージのプログラム後のしきい値分布を、各隣接する分布が分離された最終状態で16値のレベルとなるようにプログラムする。この場合、全てのページデータの読み出しが可能である。
Further, as shown in (T73) of FIG. 32, in the program of the second stage, two pages of an upper page and a higher page are necessary for writing data. Then, the
図33は、図32に示すしきい値分布に対応するデータコーディングを示す図である。図33に示すデータコーディングでは、例えば、しきい値電圧がEr1領域内にあるメモリセルは、Upper,Middle,Lower,Higherページに対応するビットのデータ値として“1111”を記憶している状態である。また、しきい値電圧がA1領域内にあるメモリセルは“1011”を記憶している状態である。 FIG. 33 is a diagram showing data coding corresponding to the threshold distribution shown in FIG. In the data coding shown in FIG. 33, for example, a memory cell having a threshold voltage in the Er1 region stores “1111” as the data value of the bit corresponding to the Upper, Middle, Lower, and Higher pages. is there. The memory cell whose threshold voltage is in the area A1 is in a state where "1011" is stored.
また、以下の図34に示すしきい値分布と図35に示すデータコーディングは、1−6−4−4コーディングに対応している。1−6−4−4コーディングは、ビット値を判定するための境界数が、Lowerページ、Middleページ、Upperページ、Higherページでそれぞれ1,6,4,4である。 The following threshold distribution shown in FIG. 34 and the data coding shown in FIG. 35 correspond to 1-6-4-4 coding. In the 1-6-4-4 coding, the number of boundaries for determining the bit value is 1, 6, 4, and 4 for the Lower page, the Middle page, the Upper page, and the Higher page, respectively.
図34は、第6の実施形態におけるプログラム後のしきい値分布を示す第2例の図である。図34の(T81)は、プログラム前の初期状態である消去状態のしきい値分布を示している。図34の(T82)は、1stステージのプログラム後のしきい値分布を示している。図34の(T83)は、2ndステージのプログラム後のしきい値分布を示している。 FIG. 34 is a diagram of a second example showing a threshold distribution after programming according to the sixth embodiment. (T81) of FIG. 34 shows a threshold distribution in an erased state which is an initial state before programming. (T82) of FIG. 34 shows the threshold distribution after the first stage program. (T83) in FIG. 34 shows the threshold distribution after the programming of the second stage.
図34の(T81)に示すように、NANDメモリセルアレイ23の全メモリセルは、未書き込みの状態では分布Erである。不揮発性メモリ2の制御部22は、図34の(T82)に示すように、1stステージのプログラムでは、LowerページおよびMiddleページに書き込むビット値に応じて、メモリセルごとに分布Erのままとする、または電荷を注入して分布Erよりも上の分布に移動させる。これにより、メモリセルは、LowerページデータおよびMiddleページデータによって、4値のレベルにプログラムされる。
As shown in (T81) of FIG. 34, all the memory cells of the NAND
また、図34の(T83)に示すように、2ndステージのプログラムでは、データの書き込みにはUpperページとHigherページの2ページが必要である。そして、不揮発性メモリ2の制御部22は、2ndステージのプログラム後のしきい値分布を、各隣接する分布が分離された最終状態で16値のレベルとなるようにプログラムする。この場合、全てのページデータの読み出しが可能である。
Further, as shown in (T83) of FIG. 34, in the program of the second stage, two pages of the upper page and the higher page are necessary for writing data. Then, the
図35は、図34に示すしきい値分布に対応するデータコーディングを示す図である。図35に示すデータコーディングでは、例えば、しきい値電圧がEr1領域内にあるメモリセルは、Upper,Middle,Lower,Higherページに対応するビットのデータ値として“1111”を記憶している状態である。また、しきい値電圧がA1領域内にあるメモリセルは“0111”を記憶している状態である。 FIG. 35 is a diagram showing data coding corresponding to the threshold distribution shown in FIG. In the data coding shown in FIG. 35, for example, a memory cell having a threshold voltage in the Er1 region stores “1111” as the data value of the bit corresponding to the Upper, Middle, Lower, and Higher pages. is there. A memory cell whose threshold voltage is in the A1 region is in a state where “0111” is stored.
また、以下の図36に示すしきい値分布と図37に示すデータコーディングは、1−2−6−6コーディングに対応している。1−2−6−6コーディングは、ビット値を判定するための境界数が、Lowerページ、Middleページ、Upperページ、Higherページでそれぞれ1,2,6,6である。 Further, the following threshold distribution shown in FIG. 36 and data coding shown in FIG. 37 correspond to 1-2-6-6 coding. In 1-2-6-6 coding, the number of boundaries for determining bit values is 1, 2, 6, and 6 for the Lower page, the Middle page, the Upper page, and the Higher page, respectively.
図36は、第6の実施形態におけるプログラム後のしきい値分布を示す第3例の図である。図36の(T91)は、プログラム前の初期状態である消去状態のしきい値分布を示している。図36の(T92)は、1stステージのプログラム後のしきい値分布を示している。図36の(T93)は、2ndステージのプログラム後のしきい値分布を示している。 FIG. 36 is a diagram of a third example illustrating a threshold distribution after programming according to the sixth embodiment. (T91) of FIG. 36 shows a threshold distribution in an erased state which is an initial state before programming. (T92) in FIG. 36 shows the threshold distribution after the first stage programming. (T93) of FIG. 36 shows a threshold distribution after the 2nd stage is programmed.
図36の(T91)に示すように、NANDメモリセルアレイ23の全メモリセルは、未書き込みの状態では分布Erである。不揮発性メモリ2の制御部22は、図36の(T92)に示すように、1stステージのプログラムでは、LowerページおよびMiddleページに書き込むビット値に応じて、メモリセルごとに分布Erのままとする、または電荷を注入して分布Erよりも上の分布に移動させる。これにより、メモリセルは、LowerページデータおよびMiddleページデータによって、4値のレベルにプログラムされる。
As shown in (T91) of FIG. 36, all the memory cells of the NAND
また、図36の(T93)に示すように、2ndステージのプログラムでは、データの書き込みにはUpperページとHigherページの2ページが必要である。そして、不揮発性メモリ2の制御部22は、2ndステージのプログラム後のしきい値分布を、各隣接する分布が分離された最終状態で16値のレベルとなるようにプログラムする。この場合、全てのページデータの読み出しが可能である。
Further, as shown in (T93) of FIG. 36, in the program of the second stage, two pages of an upper page and a higher page are necessary for writing data. Then, the
図37は、図36に示すしきい値分布に対応するデータコーディングを示す図である。図37に示すデータコーディングでは、例えば、しきい値電圧がEr1領域内にあるメモリセルは、Upper,Middle,Lower,Higherページに対応するビットのデータ値として“1111”を記憶している状態である。また、しきい値電圧がB1領域内にあるメモリセルは“0011”を記憶している状態である。 FIG. 37 is a diagram showing data coding corresponding to the threshold distribution shown in FIG. In the data coding shown in FIG. 37, for example, a memory cell having a threshold voltage in the Er1 region stores “1111” as the data value of the bit corresponding to the Upper, Middle, Lower, and Higher pages. is there. A memory cell whose threshold voltage is in the B1 region is in a state where “0011” is stored.
本実施形態においても、第1〜第5の実施形態と同様の処理によって、プログラムが実行され、各ページデータの読み出しが行われる。 Also in the present embodiment, the program is executed by the same processing as in the first to fifth embodiments, and each page data is read.
このように第6の実施形態では、3次元構造または2次元構造を有した4bit/Cellの不揮発性メモリ2に対して2ステージでページ単位の書き込みを実施するので、第1〜第5の実施形態と同様の効果を得ることが可能となる。
As described above, in the sixth embodiment, page-wise writing is performed in two stages in the 4-bit / Cell
なお、第1〜第6の実施形態が組み合されてもよい。例えば、第4の実施形態や第5の実施形態に、第2〜第4の実施形態の少なくとも1つが組み合されてもよい。 Note that the first to sixth embodiments may be combined. For example, at least one of the second to fourth embodiments may be combined with the fourth embodiment or the fifth embodiment.
また、第1〜第6の実施形態では、不揮発性メモリ2が、NANDメモリを用いて構成されている場合について説明したが、他のタイプのメモリが用いられてもよい。また、第1〜第5の実施形態では、不揮発性メモリ2が1−3−3コーディングを適用する場合について説明したが、不揮発性メモリ2が適用するコーディングは、1−3−3コーディングに限らない。例えば、不揮発性メモリ2は、1−2−4コーディングまたは2−3−2コーディングを適用してもよい。
In the first to sixth embodiments, the case has been described where the
また、図7、図12、図17、図19、図29で説明した、2ndステージ書き込み前と2ndステージ書き込み後の読み出しレベル(Vr1、Vr4)は、2ndステージ書き込み後(T3)の読出しレベル(Vr1,Vr4)と若干異なっていてもよい。また、図21、図24で説明した、2ndステージ書き込み前と2ndステージ書き込み後の読み出しレベル(Vr1、Vr3、Vr5、Vr7)は、2ndステージ書き込み後(T3)の読出しレベル(Vr1、Vr3、Vr5、Vr7)と若干異なっていてもよい。 The read levels (Vr1, Vr4) before and after the writing of the second stage described in FIGS. 7, 12, 17, 19, and 29 are the read levels (T3) after the writing of the second stage (T3). Vr1, Vr4). The read levels (Vr1, Vr3, Vr5, Vr7) before and after the writing of the second stage described in FIGS. 21 and 24 are the read levels (Vr1, Vr3, Vr5) after the writing of the second stage (T3). , Vr7).
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although several embodiments of the present invention have been described, these embodiments are provided by way of example and are not intended to limit the scope of the invention. These new embodiments can be implemented in other various forms, and various omissions, replacements, and changes can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and gist of the invention, and are also included in the invention described in the claims and their equivalents.
1…メモリコントローラ、2…不揮発性メモリ、11…RAM、12…プロセッサ、22…制御部、23…NANDメモリセルアレイ、FC…フラグセル、MT…メモリセルトランジスタ。
DESCRIPTION OF
Claims (16)
前記第1ビット及び前記第2ビットのデータを書き込む第1プログラムを前記不揮発性メモリに行わせた後に、前記第3ビット及び前記第4ビットのデータを書き込む第2プログラムを前記不揮発性メモリに行わせるメモリコントローラと、
を備え、
前記メモリコントローラは、前記メモリセルにおけるしきい値領域が、前記第1ビット及び前記第2ビットのデータに応じて、データが消去された消去状態を示す第17のしきい値領域と、前記第17のしきい値領域よりも電圧レベルが高くデータが書き込まれた書き込み状態を示す第18から第20のしきい値領域とのうちのいずれかのしきい値領域になるように前記第1プログラムを前記不揮発性メモリに行わせるように構成され、
前記メモリコントローラは、前記メモリセルにおけるしきい値領域が、前記第3ビット及び前記第4ビットのデータに応じて、前記第17から第20のしきい値領域のうちのいずれかのしきい値領域から、前記第1から第16のしきい値領域のうちのいずれかのしきい値領域になるように前記第2プログラムを前記不揮発性メモリに行わせるように構成され、
前記第nのしきい値領域は前記第(n−1)のしきい値領域よりも電圧レベルが高く(nは2以上16以下の自然数)、
前記第kのしきい値領域は前記第(k−1)のしきい値領域よりも電圧レベルが高く(kは18以上20以下の自然数)、
前記メモリコントローラは、前記メモリセルにおけるしきい値領域が、前記第3ビット及び前記第4ビットのデータに応じて、前記第17のしきい値領域から、前記第1から第16のしきい値領域のうちのいずれかのしきい値領域になるように前記第2プログラムを前記不揮発性メモリに行わせる場合に、前記第1から第16のしきい値領域のうちの4個の第21のしきい値領域のうちのいずれかのしきい値領域になるように前記第2プログラムを前記不揮発性メモリに行わせるように構成され、
前記メモリコントローラは、前記メモリセルにおけるしきい値領域が、前記第3ビット及び前記第4ビットのデータに応じて、前記第18のしきい値領域から、前記第1から第16のしきい値領域のうちのいずれかのしきい値領域になるように前記第2プログラムを前記不揮発性メモリに行わせる場合に、前記第1から第16のしきい値領域のうちの4個の第22のしきい値領域のうちのいずれかのしきい値領域になるように前記第2プログラムを前記不揮発性メモリに行わせるように構成され、
前記メモリコントローラは、前記メモリセルにおけるしきい値領域が、前記第3ビット及び前記第4ビットのデータに応じて、前記第19のしきい値領域から、前記第1から第16のしきい値領域のうちのいずれかのしきい値領域になるように前記第2プログラムを前記不揮発性メモリに行わせる場合に、前記第1から第16のしきい値領域のうちの4個の第23のしきい値領域のうちのいずれかのしきい値領域になるように前記第2プログラムを前記不揮発性メモリに行わせるように構成され、
前記メモリコントローラは、前記メモリセルにおけるしきい値領域が、前記第3ビット及び前記第4ビットのデータに応じて、前記第20のしきい値領域から、前記第1から第16のしきい値領域のうちのいずれかのしきい値領域になるように前記第2プログラムを前記不揮発性メモリに行わせる場合に、前記第1から第16のしきい値領域のうちの4個の第24のしきい値領域のうちのいずれかのしきい値領域になるように前記第2プログラムを前記不揮発性メモリに行わせるように構成され、
前記4個の第23のしきい値領域のしきい値領域及び前記4個の第24のしきい値領域のしきい値領域はいずれも、前記4個の第21のしきい値領域のうちのいずれのしきい値領域よりも電圧レベルが高く、
前記4個の第23のしきい値領域のしきい値領域及び前記4個の第24のしきい値領域のしきい値領域はいずれも、前記4個の第22のしきい値領域のうちのいずれのしきい値領域よりも電圧レベルが高い、
メモリシステム。 Each of the first threshold region indicates an erased state in which data has been erased, and the second to sixteenth write regions indicate a write state in which data is written at a higher voltage level than the first threshold region. A nonvolatile memory having a plurality of memory cells capable of storing 4-bit data represented by first to fourth bits by 16 threshold regions including the threshold region;
After the first program for writing the first bit and the second bit data is executed in the nonvolatile memory, the second program for writing the third bit and the fourth bit data is executed in the nonvolatile memory. Memory controller
With
The memory controller may further comprise: a threshold region in the memory cell, a seventeenth threshold region indicating an erased state where data is erased according to the data of the first bit and the second bit; The first program is set so as to be in any one of an eighteenth to a twentieth threshold region indicating a write state in which data is written with a voltage level higher than the seventeenth threshold region. Is configured to be performed by the nonvolatile memory,
The memory controller may be configured such that a threshold region in the memory cell is any one of the seventeenth to twentieth threshold regions according to the third bit and the fourth bit data. From the area, the nonvolatile memory is configured to execute the second program so as to be any one of the first to sixteenth threshold areas.
The n-th threshold region has a higher voltage level (n is a natural number of 2 to 16) than the (n-1) -th threshold region,
The kth threshold region has a higher voltage level than the (k-1) th threshold region (k is a natural number of 18 or more and 20 or less),
The memory controller may be configured such that the threshold region in the memory cell is changed from the seventeenth threshold region to the first to sixteenth threshold values in accordance with the third bit and the fourth bit data. When causing the nonvolatile memory to execute the second program so as to be in any one of the threshold areas, four of the first to sixteenth threshold areas are set to the twenty-first threshold area. The nonvolatile memory is configured to execute the second program so as to be any one of the threshold areas,
The memory controller may be configured such that a threshold region in the memory cell is changed from the eighteenth threshold region to the first to sixteenth threshold values in accordance with the data of the third bit and the fourth bit. When the non-volatile memory is caused to execute the second program so as to be in any one of the threshold areas, four of the first to sixteenth threshold areas are set to the twenty-second threshold area. The nonvolatile memory is configured to execute the second program so as to be any one of the threshold areas,
The memory controller may be configured such that a threshold region in the memory cell is changed from the nineteenth threshold region to the first to sixteenth threshold values in accordance with the data of the third bit and the fourth bit. When the non-volatile memory is caused to execute the second program so as to be in one of the threshold areas, four of the first to sixteenth threshold areas are set in the 23rd area. The nonvolatile memory is configured to execute the second program so as to be any one of the threshold areas,
The memory controller may be configured such that a threshold region in the memory cell is changed from the twentieth threshold region to the first to sixteenth threshold values in accordance with the data of the third bit and the fourth bit. When the non-volatile memory is caused to execute the second program so as to be in one of the threshold regions, four of the first to sixteenth threshold regions are set to the 24th region. The nonvolatile memory is configured to execute the second program so as to be any one of the threshold areas,
The threshold regions of the four twenty-third threshold regions and the threshold regions of the four twenty-fourth threshold regions are each one of the four twenty-first threshold regions. The voltage level is higher than any of the threshold regions,
The threshold regions of the four twenty-third threshold regions and the threshold regions of the four twenty-fourth threshold regions are each one of the four twenty-second threshold regions. The voltage level is higher than any of the threshold regions,
Memory system.
前記4個の第24のしきい値領域は、前記第1から第16のしきい値領域のうちの連続する4個のしきい値領域である、
請求項1に記載のメモリシステム。 The four twenty-second threshold areas are four consecutive threshold areas among the first to sixteenth threshold areas,
The four twenty-fourth threshold areas are four consecutive threshold areas among the first to sixteenth threshold areas,
The memory system according to claim 1.
前記4個の第23のしきい値領域は、前記第1から第16のしきい値領域のうちの連続する4個のしきい値領域であり、
前記4個の第22のしきい値領域のしきい値領域はいずれも、前記4個の第21のしきい値領域のうちのいずれのしきい値領域よりも電圧レベルが高く、
前記4個の第24のしきい値領域のしきい値領域はいずれも、前記4個の第23のしきい値領域のうちのいずれのしきい値領域よりも電圧レベルが高い、
請求項2に記載のメモリシステム。 The four twenty-first threshold areas are four consecutive threshold areas among the first to sixteenth threshold areas,
The four twenty-third threshold areas are four consecutive threshold areas among the first to sixteenth threshold areas,
Each of the four 22nd threshold regions has a higher voltage level than any of the four 21st threshold regions,
All of the four twenty-fourth threshold regions have a higher voltage level than any of the four twenty-third threshold regions.
The memory system according to claim 2.
前記4個の第22のしきい値領域のうちの残りの2個のしきい値領域は、前記4個の第21のしきい値領域のうちのいずれのしきい値領域よりも電圧レベルが高い、
請求項1に記載のメモリシステム。 Two of the four twenty-second threshold regions have a lower voltage level than two of the four twenty-first threshold regions. ,
The remaining two threshold areas of the four twenty-second threshold areas have a voltage level higher than any of the four twenty-first threshold areas. high,
The memory system according to claim 1.
前記4個の第24のしきい値領域のうちの残りの2個のしきい値領域は、前記4個の第23のしきい値領域のうちのいずれのしきい値領域よりも電圧レベルが高い、
請求項8に記載のメモリシステム。 Two of the four twenty-fourth threshold regions have a lower voltage level than two of the four twenty-third threshold regions. ,
The remaining two threshold regions of the four twenty-fourth threshold regions have a voltage level higher than any of the four twenty-third threshold regions. high,
The memory system according to claim 8.
前記制御部は、前記メモリコントローラからの前記第2プログラム指示に対して、書き込み済みの前記第1プログラムにより書き込まれたデータを読み出し、前記読み出したデータと、前記メモリコントローラから指示された前記第3ビット及び前記第4ビットのデータと、を使用して前記第2プログラムを実行する、
ことを特徴とする請求項1から請求項10のうちのいずれか一項に記載のメモリシステム。 The non-volatile memory further includes a control unit that executes the first program and the second program according to an instruction from the memory controller,
The control unit reads data written by the written first program in response to the second program instruction from the memory controller, and reads the read data and the third data instructed by the memory controller. Executing the second program using bits and the data of the fourth bit.
The memory system according to any one of claims 1 to 10, wherein:
前記複数のメモリセルのうちの第1のワード線に電気的に接続された第1のメモリセルグループに対する前記第1プログラムの後に、前記複数のメモリセルのうちの第2のワード線に電気的に接続された第2のメモリセルグループに対する前記第1プログラムを実行させ、
前記第2のメモリセルグループに対する前記第1プログラムの後に、前記第1のメモリセルグループに対する前記第2プログラムを実行させる、
請求項11に記載のメモリシステム。 The memory controller,
After the first program for the first memory cell group electrically connected to the first word line of the plurality of memory cells, the second word line of the plurality of memory cells is electrically connected to the first word line. Executing the first program for the second memory cell group connected to
Executing the second program on the first memory cell group after the first program on the second memory cell group;
The memory system according to claim 11.
第1のストリングの前記第1のワード線に対する第1プログラムの実行よりも後に、第2のストリングの前記第1のワード線に対する第1プログラムを実行させ、
第2のストリングの前記第1のワード線に対する第1プログラムの実行よりも後に、前記第1のストリングの前記第1のワード線に対する第2プログラムを実行させる、
請求項12に記載のメモリシステム。 The memory controller,
Causing the first program to be executed to the first word line of the second string after the execution of the first program to the first word line of the first string;
Causing the second program to be executed to the first word line of the first string after execution of the first program to the first word line of the second string;
The memory system according to claim 12.
その後、前記制御部は、前記第2のメモリセルグループに対する前記第1プログラムと、前記第1のメモリセルグループに対する前記第2プログラムと、を実行する、
請求項12又は請求項13に記載のメモリシステム。 The memory controller inputs, to the nonvolatile memory, data corresponding to the first program for the second memory cell group and data corresponding to the second program for the first memory cell group;
Then, the control unit executes the first program for the second memory cell group and the second program for the first memory cell group,
The memory system according to claim 12 or claim 13.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019215688A JP6759440B2 (en) | 2019-11-28 | 2019-11-28 | Memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019215688A JP6759440B2 (en) | 2019-11-28 | 2019-11-28 | Memory system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016131025A Division JP2018005959A (en) | 2016-06-30 | 2016-06-30 | Memory system and writing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020030881A true JP2020030881A (en) | 2020-02-27 |
JP6759440B2 JP6759440B2 (en) | 2020-09-23 |
Family
ID=69622668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019215688A Active JP6759440B2 (en) | 2019-11-28 | 2019-11-28 | Memory system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6759440B2 (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070109854A1 (en) * | 2005-11-11 | 2007-05-17 | Noboru Shibata | Semiconductor memory device capable of memorizing multivalued data |
JP2007157315A (en) * | 2005-11-11 | 2007-06-21 | Toshiba Corp | Semiconductor memory device |
US20080158951A1 (en) * | 2006-12-28 | 2008-07-03 | Micron Technology, Inc. | Non-volatile multilevel memory cell programming |
US20100322000A1 (en) * | 2009-06-19 | 2010-12-23 | Samsung Electronics Co., Ltd. | Programming methods for three-dimensional memory devices having multi-bit programming, and three-dimensional memory devices programmed thereby |
US20110222342A1 (en) * | 2010-03-09 | 2011-09-15 | Samsung Electronics Co., Ltd. | Data storage system having multi-bit memory device and operating method thereof |
US20110249496A1 (en) * | 2010-04-12 | 2011-10-13 | Hong Rak Son | Program method of multi-bit memory device and data storage system using the same |
JP2013235645A (en) * | 2012-05-04 | 2013-11-21 | Samsung Electronics Co Ltd | Programming method for memory system including three-dimensional nonvolatile memory |
US20140047163A1 (en) * | 2012-08-08 | 2014-02-13 | Donghun Kwak | Nonvolatile memory device and programming method |
-
2019
- 2019-11-28 JP JP2019215688A patent/JP6759440B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070109854A1 (en) * | 2005-11-11 | 2007-05-17 | Noboru Shibata | Semiconductor memory device capable of memorizing multivalued data |
JP2007157315A (en) * | 2005-11-11 | 2007-06-21 | Toshiba Corp | Semiconductor memory device |
US20080158951A1 (en) * | 2006-12-28 | 2008-07-03 | Micron Technology, Inc. | Non-volatile multilevel memory cell programming |
US20100322000A1 (en) * | 2009-06-19 | 2010-12-23 | Samsung Electronics Co., Ltd. | Programming methods for three-dimensional memory devices having multi-bit programming, and three-dimensional memory devices programmed thereby |
JP2011003264A (en) * | 2009-06-19 | 2011-01-06 | Samsung Electronics Co Ltd | Programming method for nonvolatile memory device having three-dimensional vertical channel structure |
US20110222342A1 (en) * | 2010-03-09 | 2011-09-15 | Samsung Electronics Co., Ltd. | Data storage system having multi-bit memory device and operating method thereof |
US20110249496A1 (en) * | 2010-04-12 | 2011-10-13 | Hong Rak Son | Program method of multi-bit memory device and data storage system using the same |
JP2013235645A (en) * | 2012-05-04 | 2013-11-21 | Samsung Electronics Co Ltd | Programming method for memory system including three-dimensional nonvolatile memory |
US20150301941A1 (en) * | 2012-05-04 | 2015-10-22 | Byung Hei Jun | System and method including three dimensional nonvolatile memory device and random access memory |
US20140047163A1 (en) * | 2012-08-08 | 2014-02-13 | Donghun Kwak | Nonvolatile memory device and programming method |
JP2014035786A (en) * | 2012-08-08 | 2014-02-24 | Samsung Electronics Co Ltd | Nonvolatile memory device and programming method |
Also Published As
Publication number | Publication date |
---|---|
JP6759440B2 (en) | 2020-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112837734B (en) | Storage system | |
US9991007B2 (en) | Nonvolatile memory device and a method of operating the same | |
US20180373592A1 (en) | Memory device and method of controlling ecc operation in the same | |
US9478304B2 (en) | Semiconductor memory device and operating method thereof | |
EP3692534A1 (en) | Non-volatile memory with multi-plane mixed sub-block programming | |
CN112489710B (en) | Memory system | |
US11967368B2 (en) | Nonvolatile memory multilevel cell programming | |
JP2020047330A (en) | Semiconductor storage device | |
JP2020047329A (en) | Semiconductor storage device | |
US11024363B2 (en) | Memory device having different numbers of bits stored in memory cells | |
JP7135185B2 (en) | Information processing system | |
JP6759440B2 (en) | Memory system | |
JP6949178B2 (en) | Memory system | |
CN112825026B (en) | Memory system | |
US20230050955A1 (en) | Non-volatile memory with sub-block based self-boosting scheme | |
JP2022051369A (en) | Semiconductor storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191128 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20191128 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20191209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200310 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200427 |
|
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: 20200804 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200902 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6759440 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |