JP6759440B2 - Memory system - Google Patents
Memory system Download PDFInfo
- Publication number
- JP6759440B2 JP6759440B2 JP2019215688A JP2019215688A JP6759440B2 JP 6759440 B2 JP6759440 B2 JP 6759440B2 JP 2019215688 A JP2019215688 A JP 2019215688A JP 2019215688 A JP2019215688 A JP 2019215688A JP 6759440 B2 JP6759440 B2 JP 6759440B2
- Authority
- JP
- Japan
- Prior art keywords
- threshold
- program
- data
- areas
- bit
- 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.)
- Active
Links
Images
Landscapes
- Read Only Memory (AREA)
Description
本発明の実施形態は、メモリシステムに関する。 Embodiments of the present invention relate to memory systems.
近年の微細化が進んだ3bit/CellのNANDメモリでは、一般的に、セル間相互干渉を避けるため、第1のメモリセルに記憶する全bitを同時に書き込んだ後、隣接セルに同様に全bitを同時に書き込み、この後、再び第1のメモリセルに全Bitを再書込み(プログラムする)手法が取られる。しかし、この方法を用いると、再書込みのためにコントローラ側でデータを保持する必要がある。 In a 3-bit / Cell NAND memory that has been miniaturized in recent years, in general, in order to avoid mutual interference between cells, all bits to be stored in the first memory cell are written at the same time, and then all bits are similarly written to adjacent cells. Are written at the same time, and then all Bits are rewritten (programmed) to the first memory cell again. However, when this method is used, it is necessary to retain the data on the controller side for rewriting.
全bitを同時にプログラムする方法として、1−3−3コーディングが知られている。この方法は、3bit/Cellの8個のしきい値電圧の領域間の7個を、3bitにそれぞれ1つ、3つ、3つに分配するコーディングである。 1-3-3 coding is known as a method of programming all bits at the same time. This method is a coding in which 7 pieces between 8 threshold voltage regions of 3 bits / Cell are divided into 1, 3 and 3 bits, respectively.
しかしながら、近年のNANDメモリは3次元化されており、必要な書き込みバッファ量が増大するので、メモリコントローラのコストが増大している。このため、3次元の不揮発性メモリにおいても、セル間相互干渉と各ページ間のビットエラー率の偏りを抑制しつつ、メモリコントローラの書き込みバッファ量を低減する対策が望まれている。 However, the NAND memory in recent years has been made three-dimensional, and the amount of write buffer required has increased, so that the cost of the memory controller has increased. Therefore, even in a three-dimensional non-volatile memory, it is desired to take measures to reduce the amount of write buffer of the memory controller while suppressing mutual interference between cells and bias of the bit error rate between pages.
本発明が解決しようとする課題は、セル間相互干渉を抑制しつつ、メモリコントローラの書き込みバッファ量を低減することができるメモリシステムを提供することである。 An object to be solved by 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のしきい値領域のうちのいずれのしきい値領域よりも電圧レベルが高い。前記4個の第22のしきい値領域は、前記第1から第16のしきい値領域のうちの連続する4個のしきい値領域である。前記4個の第24のしきい値領域は、前記第1から第16のしきい値領域のうちの連続する4個のしきい値領域である。前記4個の第21のしきい値領域は、前記第1から第16のしきい値領域のうちの連続する4個のしきい値領域である。前記4個の第23のしきい値領域は、前記第1から第16のしきい値領域のうちの連続する4個のしきい値領域である。前記4個の第22のしきい値領域のしきい値領域はいずれも、前記4個の第21のしきい値領域のうちのいずれのしきい値領域よりも電圧レベルが高い。前記4個の第24のしきい値領域のしきい値領域はいずれも、前記4個の第23のしきい値領域のうちのいずれのしきい値領域よりも電圧レベルが高い。前記第1から第16のしきい値領域のうち隣接するしきい値領域間に存在する15個の境界のうち、前記第1ビットのデータの値の判定に用いられる第1の境界の数、前記第2ビットのデータの値の判定に用いられる第2の境界の数、前記第3ビットのデータの値の判定に用いられる第3の境界の数、前記第4ビットのデータの値の判定に用いられる第4の境界の数が順に1、2、6、6である。 According to embodiments, a memory system is provided. The memory system includes a non-volatile memory having a plurality of memory cells and a memory controller. Each of the plurality of memory cells has a first threshold area indicating an erased state in which data has been erased, and a write state in which data is written at a voltage level higher than that of the first threshold area. With 16 threshold areas including the second to 16th threshold areas shown, 4-bit data represented by the first to fourth bits can be stored. The memory controller causes the non-volatile memory to perform a first program for writing the data of the first bit and the second bit, and then executes a second program for writing the data of the third bit and the fourth bit. Let the non-volatile memory do it. In the memory controller, the threshold area in the memory cell has a 17th threshold area indicating an erased state in which data has been erased according to the data of the first bit and the second bit, and the first threshold area. The first program is set so that the threshold area is one of the 18th to 20th threshold areas indicating a writing state in which data is written with a higher voltage level than the threshold area of 17. Is configured to cause the non-volatile memory to perform the above. In the memory controller, the threshold area in the memory cell has a threshold value of any one of the 17th to 20th threshold areas according to the data of the 3rd bit and the 4th bit. The non-volatile memory is configured to perform the second program from the area so as to be in any one of the first to sixteenth threshold areas. The n-th threshold region has a higher voltage level than the (n-1) threshold region. Here, n is a natural number of 2 or more and 16 or less. The k-th threshold region has a higher voltage level than the (k-1) threshold region. Here, k is a natural number of 18 or more and 20 or less. In the memory controller, the threshold area in the memory cell is the first to 16th thresholds from the 17th threshold area according to the data of the 3rd bit and the 4th bit. When the non-volatile memory is made to perform the second program so as to be in any one of the threshold areas, the four 21st of the first to 16th threshold areas The non-volatile memory is configured to perform the second program so as to be in any one of the threshold areas. In the memory controller, the threshold area in the memory cell is the first to 16th thresholds from the 18th threshold area according to the data of the 3rd bit and the 4th bit. When the non-volatile memory is made to perform the second program so as to be one of the threshold areas of the area, the four 22nd of the first to 16th threshold areas The non-volatile memory is configured to perform the second program so as to be in any one of the threshold areas. In the memory controller, the threshold area in the memory cell is the first to 16th thresholds from the 19th threshold area according to the data of the 3rd bit and the 4th bit. When the non-volatile memory is made to perform the second program so as to be one of the threshold areas of the area, the four 23rd of the first to 16th threshold areas The non-volatile memory is configured to perform the second program so as to be in any one of the threshold areas. In the memory controller, the threshold area in the memory cell is the first to 16th thresholds from the 20th threshold area according to the data of the 3rd bit and the 4th bit. When the non-volatile memory is made to perform the second program so as to be one of the threshold areas of the area, the four 24th of the first to 16th threshold areas The non-volatile memory is configured to perform the second program so as to be in any one of the threshold areas. The threshold areas of the four 23rd threshold areas and the threshold areas of the four 24th threshold areas are all among the four 21st threshold areas. The voltage level is higher than any of the threshold regions. The threshold areas of the four 23rd threshold areas and the threshold areas of the four 24th threshold areas are all among the four 22nd threshold areas. The voltage level is higher than any of the threshold regions. The four 22nd threshold areas are four consecutive threshold areas among the first to 16th threshold areas. The four 24th threshold areas are four consecutive threshold areas among the first to sixteenth threshold areas. The four 21st threshold areas are four consecutive threshold areas among the first to 16th threshold areas. The four thirty-third threshold areas are four consecutive threshold areas among the first to sixteenth threshold areas. The threshold regions of the four 22nd threshold regions all have a higher voltage level than any of the four 21st threshold regions. Each of the four threshold regions of the 24th threshold region has a higher voltage level than any of the four 23rd threshold regions. Of the 15 boundaries existing between adjacent threshold areas in the first to 16th threshold areas, the number of first boundaries used for determining the value of the data of the first bit. The number of second boundaries used to determine the value of the second bit data, the number of third boundaries used to determine the value of the third bit data, the determination of the value of the fourth bit data The number of the fourth boundaries used in is 1, 2, 6, and 6 in order.
以下に添付図面を参照して、実施形態に係るメモリシステムおよび書き込み方法を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。 The memory system and the writing method according to the embodiment will be described in detail with reference to the accompanying drawings. The present invention is not limited to these embodiments.
(第1の実施形態)
図1は、第1の実施形態にかかる記憶装置の構成例を示すブロック図である。本実施形態の記憶装置は、メモリコントローラ1と不揮発性メモリ2とを備える。記憶装置は、ホストと接続可能である。ホストは、例えば、パーソナルコンピュータ、携帯端末などの電子機器である。
(First Embodiment)
FIG. 1 is a block diagram showing a configuration example of a storage device according to the first embodiment. The storage device of this 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
プロセッサ12は、メモリコントローラ1を統括的に制御する。プロセッサ12は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等である。プロセッサ12は、ホストからホストインターフェイス13経由でコマンドを受けた場合に、そのコマンドに従った制御を行う。例えば、プロセッサ12は、ホストからのコマンドに従って、不揮発性メモリ2へのユーザデータおよびパリティの書き込みをメモリインターフェイス15へ指示する。また、プロセッサ12は、ホストからのコマンドに従って、不揮発性メモリ2からのユーザデータおよびパリティの読み出しを、メモリインターフェイス15へ指示する。
The
プロセッサ12は、RAM11に蓄積されるユーザデータに対して、不揮発性メモリ2上の格納領域(メモリ領域)を決定する。ユーザデータは、内部バス16経由でRAM11に格納される。プロセッサ12は、メモリ領域の決定を、書き込み単位であるページ単位のデータ(ページデータ)に対して実施する。本明細書では、不揮発性メモリ2の1ページに格納されるユーザデータをユニットデータと定義する。ユニットデータは、一般的には符号化されて符号語として不揮発性メモリ2に格納される。本実施形態では、符号化は必須ではない。メモリコントローラ1は、符号化せずにユニットデータを不揮発性メモリ2に格納してもよいが、図1では、一構成例として符号化を行う構成を示している。メモリコントローラ1が符号化を行わない場合には、ページデータはユニットデータと一致する。また、1つのユニットデータに基づいて1つの符号語が生成されてもよいし、ユニットデータが分割された分割データに基づいて1つの符号語が生成されてもよい。また、複数のユニットデータを用いて1つの符号語が生成されてもよい。
The
プロセッサ12は、ユニットデータごとに書き込み先の不揮発性メモリ2のメモリ領域を決定する。不揮発性メモリ2のメモリ領域には物理アドレスが割当てられている。プロセッサ12は、ユニットデータの書き込み先のメモリ領域を、物理アドレスを用いて管理する。プロセッサ12は、決定したメモリ領域(物理アドレス)を指定してユーザデータを不揮発性メモリ2へ書き込むようメモリインターフェイス15へ指示する。プロセッサ12は、ユーザデータの論理アドレス(ホストが管理する論理アドレス)と物理アドレスとの対応を管理する。プロセッサ12は、ホストからの論理アドレスを含む読み出しコマンドを受信した場合は、論理アドレスに対応する物理アドレスを特定し、物理アドレスを指定してユーザデータの読み出しをメモリインターフェイス15へ指示する。
The
本明細書では、1つのワード線に共通に接続されたメモリセルをメモリセルグループMGと定義する。本実施形態では、不揮発性メモリ2は、3bit/CellのNANDメモリであり、1つのメモリセルグループMGは3ページに対応する。各メモリセルの3bitは、それぞれこの3ページに対応する。本実施形態では、この3ページをLowerページ(第1のページ)、Middleページ(第2のページ)、Upperページ(第3のページ)と呼ぶ。
In the present 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 RAM 11 to generate a code word. In addition, the ECC circuit 14 decodes the code word read from the
RAM11は、ホストから受信したユーザデータを不揮発性メモリ2へ記憶するまでに一時格納したり、不揮発性メモリ2から読み出したデータをホストへ送信するまでに一時格納する。RAM11は、例えば、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)などの汎用メモリである。
The RAM 11 temporarily stores the user data received from the host before being stored in the
図1では、メモリコントローラ1が、ECC回路14とメモリインターフェイス15をそれぞれ備える構成例を示した。しかしながら、ECC回路14がメモリインターフェイス15に内蔵されていてもよい。また、ECC回路14が、不揮発性メモリ2に内蔵されていてもよい。
FIG. 1 shows 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
ホストからリード要求を受信した場合、記憶装置は次のように動作する。メモリインターフェイス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
図2は、本実施形態の不揮発性メモリの構成例を示すブロック図である。不揮発性メモリ2は、NAND I/Oインターフェイス21、制御部22、NANDメモリセルアレイ(メモリセル部)23、およびページバッファ24を備える。不揮発性メモリ2は、例えば1チップの半導体基板(例えば、シリコン基板)からなる。
FIG. 2 is a block diagram showing a configuration example of the non-volatile memory of 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 in FIG. The present embodiment can also be applied 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 shown, the block BLK includes, for example, four fingers FNG (FNG0 to FNG3). Further, 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 selection transistors ST1 and ST2. The number of memory cell transistors MT is not limited to eight. The memory cell transistor MT is arranged so that its current path is connected in series between the selection transistors ST1 and ST2. The current path of the memory cell transistor MT7 on one end side of the series connection is connected to one end of the current path of the selection transistor ST1, and the current path of the memory cell transistor MT0 on the other end side is connected to one end of the current path of the selection 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 selection transistors ST1 of the fingers FNG0 to FNG3 are commonly connected to the select gate lines SGD0 to SGD3, respectively. On the other hand, the gate of the selection transistor ST2 is commonly connected to the same select gate line SGS among the plurality of finger FNGs. Further, the control gates of the memory cell transistors MT0 to MT7 in the same block BLK are commonly connected to the word lines WL0 to WL7, respectively. That is, the word lines WL0 to WL7 and the select gate line SGS are commonly connected between the plurality of fingers FNG0 to FNG3 in the same block BLK, whereas the select gate line SGD is in the same block BLK. Is also independent for each finger 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 constituting the NAND string NS, 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 the word line WLi and also to the bit line. Each memory cell can be identified by an address that identifies the word line WLi and the select gate lines SGD0 to SGD3 and an address that identifies the bit line. As described above, the data of the memory cells (memory cell transistor MT) in the same block BLK are collectively erased. On the other hand, reading and writing of data is performed in units of physical sector MS. 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 part of a memory cell array of a NAND memory having a three-dimensional structure. As shown in FIG. 4, a plurality of NAND strings NS are formed on the 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, the selection transistor ST2, the plurality of memory cell transistors MT, and the selection transistor ST1 are sequentially stacked on the p-type well region. A wiring layer that functions as a bit wire BL is formed 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 on the surface of the p-type well region. A
以上の図4に示した構成が、図4の紙面の奥行き方向に複数配列されており、奥行き方向に一列に並ぶ複数のNANDストリングの集合によって、1つのフィンガーFNGが形成される。 A plurality of the configurations shown in FIG. 4 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 row in the depth direction.
図5は、第1の実施形態のしきい値領域の一例を示す図である。図5では、3bit/Cellの不揮発性メモリ2のしきい値分布例を示している。不揮発性メモリ2では、メモリセルのフローティングゲートに蓄えられた電荷量により情報を記憶する。各メモリセルは、電荷量に応じたしきい値電圧を有する。そして、メモリセルに記憶する複数のデータ値を、しきい値電圧の複数の領域(しきい値領域)にそれぞれ対応させる。
FIG. 5 is a diagram showing an example of a threshold value region of the first embodiment. FIG. 5 shows an example of a threshold distribution of a 3-bit / Cell
図5の、Er、A,B,C,D,E,F,Gと記載した8つの分布(山型)は、8つのしきい値領域内のそれぞれのしきい値分布を示している。このように、各メモリセルは、7つの境界によって仕切られたしきい値分布を有している。図5の横軸はしきい値電圧を示し、縦軸はメモリセル数(セル数)の分布を示している。 The eight distributions (mountain-shaped) described as Er, A, B, C, D, E, F, and G in FIG. 5 indicate the respective threshold distributions within the eight threshold regions. In this way, each memory cell has a threshold distribution partitioned by seven boundaries. The horizontal axis of FIG. 5 shows the threshold voltage, and the vertical axis shows 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, the region where the threshold voltage is Vr1 or less is called a region Er, the region where the threshold voltage is larger than Vr1 and Vr2 or less is called a region A, and the threshold voltage is larger than Vr2 and Vr3 or less. The region where the threshold voltage is greater than Vr3 and Vr4 or less is referred to as region C. Further, in the present embodiment, the region where the threshold voltage is larger than Vr4 and Vr5 or less is called region D, and the region where the threshold voltage is larger than Vr5 and Vr6 or less is called region E, and the threshold voltage is called region E. The region larger than Vr6 and equal to or lower than Vr7 is called a region F, and the region where the threshold voltage is larger than Vr7 is called a region G.
また、領域Er,A,B,C,D,E,F,Gに対応するしきい値分布をそれぞれ分布Er,A,B,C,D,E,F,G(第1〜第8の分布)と呼ぶ。Vr1〜Vr7は、各領域の境界となるしきい値電圧である。 In addition, the threshold distributions corresponding to the regions Er, A, B, C, D, E, F, and G are distributed, respectively, Er, A, B, C, D, E, F, and G (1st to 8th). Distribution). Vr1 to Vr7 are threshold voltages that serve as boundaries between regions.
不揮発性メモリ2では、メモリセルの複数のしきい値領域(すなわちしきい値分布)に複数のデータ値をそれぞれ対応させる。この対応をデータコーディングという。このデータコーディングをあらかじめ定めておき、データの書き込み(プログラム)時には、データコーディングに従って記憶するデータ値に応じたしきい値領域内となるようにメモリセルに電荷を注入する。そして、読み出し時には、メモリセルに読み出し電圧を印加し、読み出し電圧よりメモリセルのしきい値が低いか高いかにより、データが決定される。しきい値電圧が、読み出し電圧より低い場合には、「消去」状態であるデータ値は“1”と定義する。しきい値電圧が読み出し電圧以上である場合には、「プログラムされた」状態であり、データを“0”と定義する。
In the
データの読み出し時には、読み出し対象の境界の読み出しレベルよりも、しきい値が低いか高いかでデータが決定される。しきい値が最も低い場合は、「消去」状態であり、全てのbitのデータが”1”と定義される。しきい値が、「消去」状態よりも高い場合は、「プログラムされた」状態であり、コーディングに従ってデータを”1”または”0”と定義される。 When reading data, the data is determined by whether the threshold value is lower or higher than the read level of the boundary to be read. When the threshold value is the lowest, it is in the "erased" state, and the data of all bits is defined as "1". If the threshold is higher than the "erased" 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 showing data coding of the first embodiment. In the present embodiment, the eight threshold distributions (threshold regions) shown in FIG. 5 correspond to the eight data values of 3 bits, respectively. The relationship between the threshold voltage and the data values of the bits corresponding to the Upper, Middle, and Lower pages is as shown below.
-The memory cell whose threshold voltage is in the Er region is in a state of storing "111".
A memory cell whose threshold voltage is in the A region is in a state of storing "101".
-The memory cell whose threshold voltage is in the B area is in a state of storing "001".
-The memory cell whose threshold voltage is in the C region is in a state of storing "011".
-The memory cell whose threshold voltage is in the D area is in a state of storing "010".
-The memory cell whose threshold voltage is in the E area is in a state of storing "110".
A memory cell whose threshold voltage is in the F region is in a state of storing "100".
-The memory cell whose threshold voltage is in the G region is in a state of storing "000".
このように、しきい値電圧の領域毎に、各メモリセルの3bitのデータの状態を表すことが出来る。なお、メモリセルが未書き込みの状態(「消去」の状態)では、メモリセルのしきい値電圧はEr領域内にある。また、ここに示した符号では,Er(消去)状態で”111”というデータを記憶し、A状態で”101”というデータを記憶するといったように、任意の2つの隣接する状態間で1bitのみデータが変化する。このように、図6に示したコーディングは、任意の2つの隣接する領域間で1bitのみデータが変化するグレイ符号である。 In this way, the state of 3-bit data of each memory cell can be represented for each area of the threshold voltage. When the memory cell is in an unwritten state (“erased” state), the threshold voltage of the memory cell is within the Er region. Further, in the code shown here, only 1 bit is stored between any two adjacent states, such as storing the data "111" in the Er (erasing) state and storing the data "101" in the A state. The data changes. As described above, the coding shown in FIG. 6 is a Gray code in which the data changes by only 1 bit between any two adjacent regions.
図6に示す本実施形態のコーディングでは、各ページのビット値を判定するための境界となるしきい値電圧は、以下に示す通りである。
・Lowerページのビット値を判定するための境界となるしきい値電圧はVr4である。
・Middleページのビット値を判定するための境界となるしきい値電圧はVr2、Vr5、Vr7である。
・Upperページのビット値を判定するための境界となるしきい値電圧はVr1、Vr3、Vr6である。
In the coding of the present embodiment shown in FIG. 6, the threshold voltage serving as a boundary for determining the bit value of each page is as shown below.
-The threshold voltage that serves as a boundary for determining the bit value on the Lower page is Vr4.
-The threshold voltages that serve as boundaries for determining the bit value on the Middle page are Vr2, Vr5, and Vr7.
-The threshold voltages that serve as boundaries for determining the bit value on the Upper page are Vr1, Vr3, and Vr6.
このように、ビット値を判定するための境界となるしきい値電圧の数(以下、境界数とよぶ)が、Lowerページ、Middleページ、Upperページでそれぞれ1,3,3である。以下、このようなコーディングをLowerページ、Middleページ、Upperページのそれぞれの境界数を用いて、1−3−3コーディングという。ここで注目すべき事項は、ページごとの隣接データと変化する境界の最大数が3であることである。境界数の最大数が3であることは、8つの状態を3bitで表現する場合、最大境界数が最小であり、ビットエラーの偏りが少なくなる。 In this way, the number of threshold voltages serving as boundaries for determining the bit value (hereinafter referred to as the number of boundaries) is 1, 3, and 3, respectively, on the Lower page, Middle page, and Upper page. Hereinafter, such coding will be referred to as 1-3-3 coding using the number of boundaries of each of the Lower page, Middle page, and Upper page. What should be noted here is that the maximum number of adjacent data and changing boundaries for each page is 3. The fact that the maximum number of boundaries is 3 means that when eight states are represented by 3 bits, the maximum number of boundaries is the minimum and the bias of bit error 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 the two-dimensional NAND memory of the generation that has been miniaturized in recent years, and the mutual interference between cells is small. In this case, a method of programming all bits at the same time (if each bit is assigned to a different page, all pages are programmed at the same time) is generally adopted.
全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 at the same time, 1-2-4 coding or 2-3-2 coding is used as the data coding. In 1-2-4 coding, when dividing 7 boundaries between 8 threshold distributions into 3 pages, 1 on the Lower page, 2 on the Middle page, 4 on the Upper page, and so on. Boundaries are distributed to. Also, in 2-3-2 coding, when distributing 7 boundaries between 8 threshold distributions to 3 pages, 2 on the Upper page, 3 on the Middle page, and 2 on the Lower page. The boundaries are distributed like this.
ところが、1−2−4コーディングの場合、境界数が各ページで著しく偏っているために、結果としてページ間のビットエラー率の偏りが大きくなる。これは、ビットエラーの原因のほとんどが隣接分布へのしきい値移動によって引き起こされ、境界数を多く有しているページほどビットエラー数が多くなるためである。このことは、メモリセルとしてのエラー率が同じであったとしても、ページデータのエラーを訂正するのに必要なECCの訂正能力を強化しなくてはいけないことにつながるので、記憶装置の速度、コストおよび消費電力を悪化させてしまう。また、境界数の偏りは、読み出し速度の偏りも引き起こす。 However, in the case of 1-2-4 coding, the number of boundaries is remarkably biased on each page, and as a result, the bias of the bit error rate between pages becomes large. This is because most of the causes of bit errors are caused by the threshold shift to the adjacent distribution, and the number of bit errors increases as the page has a large number of boundaries. This leads to the need to enhance the ECC correction capability required to correct page data errors, even if the error rates as memory cells are the same, so the speed of the storage device, It worsens cost and power consumption. The bias in the number of boundaries also causes a bias in the read 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 the NAND memory of 3 bit / Cell, the mutual interference between cells is larger than that of the NAND memory of 1 bit / Cell or 2 bit / Cell. For this reason, in the generation of NAND memory that has been miniaturized in recent years, in general, in order to suppress mutual interference between cells, electric charges are gradually injected into the floating gate of the memory cell by 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 cells are written, the cell returns to the previous cell, the second stage (Foggy stage) is written, and then further. The writing is performed in the adjacent cell again, and then the memory cell is returned again, and the writing is performed by the 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 then the memory cell is returned to and the second stage (Fine stage) is used for the two program stages. Writing is performed. Each program stage in this case is a program execution unit, and the one-word line WLi program 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 Foggy stage, which is the second 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, on the Foggy stage, Foggy (rough) writing is performed. This Foggy stage program requires all three pages of input data. The post-programmed threshold distribution of the Foggy stage is an intermediate state in which adjacent distributions overlap each other, so data cannot be read. In the third stage, the Fine stage program, the post-programmed threshold distribution of the Foggy stage is moved to the threshold distribution in the final data coding. That is, Fine writing is performed in the Fine stage. This Fine stage program also requires all three pages of input data. Since the threshold distribution after programming the Fine stage is the final state in which adjacent distributions are separated, data can be read out after the program of the Fine stage.
2−3−2コーディングの場合、境界数の偏りは少ないが、LM-Foggy-Fineプログラムのデータ入力において、全てのステージで3ページ分のデータ入力が必要となる。また、Foggy-Fineプログラムのデータ入力において、全てのステージで2ページ分のデータ入力が必要となる。これは、データ入力にかかる時間の増大となり、記憶装置の速度を悪化させてしまう。また、記憶装置内において、NANDメモリへ入力するためにデータを保持しておくための書き込みバッファのバッファ量(書き込みバッファ量)を増大させてしまう。この書き込みバッファは、一般的に、記憶装置が備えるRAM11の一部の領域が割り当てられたものである。 In the case of 2-3-2 coding, the number of boundaries is not biased, but in the data input of the LM-Foggy-Fine program, it is necessary to input data for 3 pages at all stages. In addition, in the data input of the Foggy-Fine program, it is necessary to input data for two pages at all stages. This increases the time required for data input and deteriorates the speed of the storage device. Further, in the storage device, the buffer amount (write buffer amount) of the write buffer for holding the data for inputting to the NAND memory is increased. This write buffer is generally allocated a part of the area of the RAM 11 included in the storage device.
これらに対する対策として、1−3−3コーディングを採用してLM-Foggy-Fineプログラムを行う方法がある。この方法では、LM-Foggy-Fineプログラムが採用されているので、セル間相互干渉を抑制できる。また、LMステージの入力は、1ページ分のデータでよいので、書き込みバッファ量の低減と、各ページ間の境界数の偏りに起因するビットエラー率の偏りの抑制と、を両立させている。 As a countermeasure against these, there is a method of executing the LM-Foggy-Fine program by adopting 1-3-3 coding. In this method, since the LM-Foggy-Fine program is adopted, mutual interference between cells can be suppressed. Further, since the input of the LM stage can be data for one page, both 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 each page are achieved at the same time.
しかしながら、不揮発性メモリ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 adopts 1-3-3 coding for the
ここで、隣接メモリセル間干渉について説明する。ある1つのメモリセルのフローティングゲートに蓄積された電荷は、隣接するメモリセルの電界を乱し、その結果、隣接するメモリセルの読み出しのしきい値を変動させるノイズを与える。ある電界条件下でプログラムとベリファイとが実施され、プログラムが完結した後、隣接するメモリセルが異なる電荷にプログラムされるということは、これに起因して読み出し精度が劣化することとなる。この隣接メモリセル間干渉は、メモリデバイスの製造技術が微細化され、メモリセル間隔が縮小するにつれて顕著となる。そして、この隣接メモリセル間干渉は、大きくは同一ワード線WLi上で異なるビットラインの隣接メモリセルと、同一ビットライン上で異なるワード線WLiの隣接メモリセルと、によってもたらされる。 Here, interference between adjacent memory cells will be described. The charge stored in the floating gate of one memory cell disturbs the electric field of the adjacent memory cell, resulting in noise that fluctuates the read threshold of the adjacent memory cell. The program and verification are performed under a certain electric field condition, and after the program is completed, the adjacent memory cells are programmed with different charges, which results in deterioration of the read accuracy. This interference between adjacent memory cells becomes more pronounced as the memory device manufacturing technology becomes finer and the memory cell spacing decreases. Then, the interference between adjacent memory cells is largely caused by the adjacent memory cells having different bit lines on the same word line WLi and the adjacent memory cells having different word lines WLi on the same bit line.
隣接メモリセル間干渉は、プログラムおよびベリファイの時と、隣接するメモリセルがプログラムされた後の読み出しの時と、の間における、メモリセルの電界条件の違いを少なくすることによって緩和することが可能である。同一ワード線WLi上で異なるビットラインの隣接メモリセルとの間の隣接メモリセル間干渉を低減する1つの方法として、プログラムを複数のステージに分割し、各ステージ間での電荷の大きな変化を回避するマルチステージのプログラムを実行する方法がある。 Interference between adjacent memory cells can be mitigated by reducing the difference in electric field conditions between adjacent memory cells during programming and verification and when reading after the adjacent memory cells are programmed. Is. One way to reduce interference between adjacent memory cells on the same word line WLi with adjacent memory cells on different bitlines is to divide the program into multiple stages and avoid large changes 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 in the present embodiment, 3 bits on one word line WLi are programmed by two program stages, that is, the 1st stage and the 2nd stage. Each program stage is a program execution unit, and the storage device of the present embodiment completes the program of the word line WLi by executing the two program stages. Further, in the present embodiment, any of 3 bits of pages is assigned to each of the two program stages. Specifically, lower page data is assigned to the 1st stage program, and middle page and upper page data is assigned to the 2nd stage program.
図7は、第1の実施形態におけるプログラム後のしきい値分布を示す図である。図7では、メモリセルに対する各プログラムステージ後のしきい値分布を示している。図7の(T1)は、プログラム前の初期状態である消去状態のしきい値分布を示している。図7の(T2)は、1stステージのプログラム後のしきい値分布を示している。図7の(T3)は、2ndステージのプログラム後のしきい値分布を示している。 FIG. 7 is a diagram showing the threshold distribution after the program in the first embodiment. FIG. 7 shows the threshold distribution after each program stage for the memory cells. FIG. 7 (T1) shows the threshold distribution of the erased state, which is the initial state before the program. FIG. 7 (T2) shows the threshold distribution after the program of the 1st stage. FIG. 7 (T3) shows the threshold distribution after programming the 2nd stage.
図7の(T1)に示すように、NANDメモリセルアレイ23の全メモリセルは、未書き込みの状態(「消去」の状態)では分布Erの状態である。不揮発性メモリ2の制御部22は、図7の(T2)に示すように、1stステージのプログラムでは、Lowerページに書き込む(記憶する)ビット値に応じて、メモリセルごとに分布Erのままとする、または電荷を注入して分布Erよりも上の分布に移動させる。具体的には、制御部22は、Lowerページに書き込むビット値が“1”の場合は、電荷を注入せず、Lowerページに書き込むビット値が“0”の場合は電荷を注入して、しきい値電圧を高い方に移動させるようプログラムする。
As shown in FIG. 7 (T1), 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 1st stage program (first program) is a function of only Lower page data. The page data required for this execution is only the Lower page. Furthermore, since the threshold distribution after the 1st stage program is finally reprogrammed in the later 2nd stage program (second program), there is no need to finely shape the distribution, and a high-speed program can be used. It is possible. Then, since the data after the program of the 1st stage looks like a binary, the Lower page data can be read. Therefore, the threshold level when programming in the 1st stage is controlled so as to fall between Vr1 and Vr4 in view of allocating the transition to D or higher in the 2nd stage program.
また、図7の(T3)に示すように、2ndステージのプログラムでは、データの書き込みにはMiddleページとUpperページとの2ページが必要である。そして、不揮発性メモリ2の制御部22は、2ndステージのプログラム後のしきい値分布を、各隣接する分布が分離された最終状態で8値のレベルとなるようにプログラムする。この場合、全てのページデータの読み出しが可能である。
Further, as shown in FIG. 7 (T3), in the 2nd stage program, two pages, a Middle page and an Upper page, are required for writing data. Then, the
なお、典型的には、プログラムは、1回または複数回のプログラム電圧パルスが印加されることによって行われる。各プログラム電圧パルスの後には、メモリセルがしきい値境界レベルを超えて移動したか否かを確認するために読み出しが行なわれる。この印加と読み出しとが繰り返されることで、所定のしきい値分布の範囲の中にメモリセルのしきい値を移動させることが可能となる。 It should be noted that the program is typically performed by applying one or more program voltage pulses. After each program voltage pulse, a read is made to see if the memory cell has moved beyond the threshold boundary level. By repeating this application and reading, it becomes possible to move the threshold value of the memory cell within the range of a predetermined threshold value distribution.
なお、制御部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 showing a first example of the program sequence of the first embodiment. FIG. 8B is a diagram showing a second example of the program sequence of the first embodiment. FIG. 8C is a diagram showing a third example of the program sequence of 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 the program order when the string in the block is one NAND memory. 8B and 8C also 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 programs of the 1st stage and the 2nd stage are performed on the adjacent word line WLi after the program of the word line WLi is completed up to the 2nd stage, the fluctuation amount of the threshold value becomes large. When the fluctuation amount of the threshold value of the adjacent word line WLi is large, the interference between the adjacent memory cells between the adjacent word line WLi becomes large. Therefore, in order to reduce the interference between adjacent memory cells between word line WLi, it is effective to reduce the fluctuation amount of the threshold value of adjacent word line WLi after the program of word line WLi is completed up to the 2nd stage. .. In such a sequence, the program stage of the adjacent word line WLi is only the 2nd stage after the program of the word line WLi is completed up to the 2nd stage.
図8Aに示すNANDメモリの場合(不揮発性メモリ2のNANDメモリが3次元構造である場合)、書き込みを開始すると、制御部22は、プロセッサ12からの指示に基づいて、以下の(1)〜(9)に示す順番でプログラムを実施する。なお、以下の処理においては、制御部22のプログラムの動作はプロセッサ12からの指示に基づくが、説明の簡略化のため、プロセッサ12からの指示に基づくという記載を省略する。
In the case of the NAND memory shown 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 the case where the number of strings in the block is four is described in FIG. 8C, the number of strings in the block may be three or less, or five or more.
このように、ストリングが複数となっても、1つのストリング内におけるワード線WLiの各プログラムステージのプログラムの順番は、ストリングが1つの場合と同じである。ブロック内に複数のストリングが存在する3次元構造の不揮発性メモリ2の場合、ワード線WLiとストリングとの組み合わせ位置のプログラムは、一般的には、異なるストリング内の同一ワード線番号をまずプログラムしてから、次のワード線番号に進められる。このような順番に従った場合、図8Aをストリング数分だけ結合すると、例えば、図8Bまたは図8Cのような順番となる。
In this way, even if there are a plurality of strings, the order of the programs of each program stage of the word line WLi in one string is the same as in the case of one string. In the case of a
ここで図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-9C show the writing procedure when the program order shown in FIG. 8B or FIG. 8C is followed. 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 showing a first example of a writing procedure for the entire block according to the first embodiment. It is assumed that one block here has n + 1 word lines WLi of word lines WL0 to WLn (n is a natural number). FIG. 9B is a sub-flow chart showing a writing procedure in the 1st stage according to the first embodiment, and FIG. 9C is a sub-flow chart showing a writing procedure in the 2nd 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 1st stage program, first, the lower page data input start command is input from the
データ書き込みの際には、1〜複数回のプログラム電圧パルスが印加される(ステップS250)。そして、メモリセルがしきい値境界レベルを超えて移動したか否かを確認するためにデータ読み出しが行なわれる(ステップS260)。 When writing data, program voltage pulses are applied one or more times (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 on the Lower page is smaller than the criteria (determination criterion) (step S270). When the number of fail bits of the data is equal to or greater than the criteria (steps S270, No), the processes of steps S250 to S270 are repeated. Then, when the number of fail bits of the data becomes smaller than the criteria (step S270, Yes), the data becomes chip ready (step S280). By repeating application, reading, and confirmation in this way, it is possible to move the threshold value of the memory cell within the range of a predetermined threshold value distribution.
図9Cに示すように、2ndステージのプログラムでは、まず、メモリコントローラ1から不揮発性メモリ2へMiddleページのデータの入力開始コマンドが入力される(ステップS310)。そして、メモリコントローラ1から不揮発性メモリ2へMiddleページのデータが入力される(ステップS320)。
As shown in FIG. 9C, in the 2nd stage program, first, a middle page data input start command is input from the
次に、メモリコントローラ1から不揮発性メモリ2へUpperページのデータの入力開始コマンドが入力される(ステップS330)。そして、メモリコントローラ1から不揮発性メモリ2へUpperページのデータが入力される(ステップS340)。次に、メモリコントローラ1から不揮発性メモリ2へ2ndステージのプログラム実行コマンドが入力され(ステップS350)、これによりチップビジーとなる(ステップS360)。
Next, the upper page data input start command is input from the
この後、制御部22は、IDL(Internal Data Load)であるLowerページデータの読み出しを行う(ステップS370)。そして、Lowerページデータに基づいて、MiddleページおよびUpperページのプログラム先のVth(しきい値電圧)が決定される(ステップS380)。この後、決定されたVthを用いて、MiddleページおよびUpperページへのデータ書き込みが行われる。
After that, the
さらに、制御部22は、IDLの読み出しデータの信頼性を上げるために、複数回数読み出しを行い、チップ内のページバッファ24でこの読み出し結果の多数決をとり、次の書き込みデータとして使用することも可能である。無論、制御部22は、通常の読み出し動作時に於いて、複数回数読み出しを行いチップ内でこの読み出し結果の多数決をとり、外部への読み出しデータとして使用することも可能である。
Further, the
図9Eは、複数回数の読み出し結果の多数決処理を説明するための図である。図9Eでは、正しいビットを丸印(○)で示し、誤ったビットをばつ印(×)で示している。また、図9Eでは、3回の読み出しが行われた場合の多数決の結果を示している。 FIG. 9E is a diagram for explaining a majority voting process for reading results of a plurality of times. In FIG. 9E, the correct bit is indicated by a circle (◯), and the incorrect bit is indicated by a cross mark (x). Further, FIG. 9E shows the result of the majority vote when the 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 vote is determined to be incorrect when (a) is incorrect three times and (b) is incorrect both times. Assuming that the probability that each bit is wrong is p, when p = 0.2, (a) the probability of making a mistake 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 three majority votes is determined to be incorrect. In this way, the
MiddleページおよびUpperページへのデータ書き込みの際には、1〜複数回のプログラム電圧パルスが印加される(ステップS390)。そして、メモリセルがしきい値境界レベルを超えて移動したか否かを確認するために、MiddleページおよびUpperページのデータ読み出しが行なわれる(ステップS400)。 When writing data to the Middle page and Upper page, one or more program voltage pulses are applied (step S390). 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 Upper page is performed (step S400).
さらに、MiddleページおよびUpperページにおけるデータのフェイルビット数がクライテリアよりも小さいか否かが確認される(ステップS410)。MiddleページおよびUpperページにおけるデータのフェイルビット数がクライテリア以上である場合(ステップS410、No)、ステップS390〜S410の処理が繰り返される。そして、データのフェイルビット数がクライテリアよりも小さくなると(ステップS410、Yes)、チップレディーとなる(ステップS420)。 Further, it is confirmed whether or not the number of fail bits of the data on the Middle page and the Upper page is smaller than that of the criteria (step S410). When the number of fail bits of data on the Middle page and Upper page is equal to or greater than the criteria (steps S410, No), the processes of steps S390 to S410 are repeated. Then, when the number of fail bits of the data becomes smaller than the criteria (step S410, Yes), the data becomes chip 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-flow chart showing a modified example of the writing procedure in the 2nd 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 shown in FIG. 9D, the processing of steps S301 to S309 is performed before step S310. Specifically, first, a command to read the Lower page is input from the
この後、制御部22は、IDLであるLowerページデータの読み出しをVr4のしきい値電圧で行う。そして、制御部22は、Vr4のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS303)。この後、チップレディーとなる(ステップS304)。
After that, the
制御部22が読み出したLowerページデータを出力すると(ステップS305)、このLowerページデータは、ECC回路14に送信される(ステップS306)。これにより、ECC回路14がLowerページデータをECC訂正する(ステップS307)。
When the lower page data read by the
そして、メモリコントローラ1から不揮発性メモリ2へLowerページのデータの入力開始コマンドが入力される(ステップS308)。これにより、ECC回路14が、不揮発性メモリ2へLowerページのデータを入力する(ステップS309)。
Then, the lower page data input start command is input from the
この後、ステップS310〜S420の処理が行われる。なお、ステップS380では、ECC回路14からのLowerページデータに基づいて、MiddleページおよびUpperページのプログラム先のVthが決定される。 After that, the processes of steps S310 to S420 are performed. In step S380, the 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 above-mentioned 2nd stage program, the 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 the 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 2nd stage, it is not necessary to input the Lower page data in the 2nd stage. That is, since 1-3-3 coding is adopted and the Vth of the program destination is determined based on the Lower page data, the interference between adjacent memory cells between word lines WLi can be reduced, and one page data can be used once. All you have to do is enter the data.
これにより、1−3−3コーディングを採用して3ステージでLM-Foggy-Fineプログラムが実行される場合には、メモリコントローラ1の書き込みバッファに必要なメモリ量が複数ワード線分(最大7ページ)であったのに対し、本実施形態では、メモリコントローラ1の書き込みバッファに必要なメモリ量が最大でも2ページ分で済む。
As a result, when the LM-Foggy-Fine program is executed in 3 stages by adopting 1-3-3 coding, the amount of memory required 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 adopting 1-3-3 coding and the program processing procedure of the present embodiment will be described. FIG. 10A is a diagram for explaining the amount of write buffer data in the LM-Foggy-Fine program that employs 1-3-3 coding.
図10Aおよび後述する図10Bでは、上段側に、ブロック書き込みのデータ入力とプログラム実行のタイムチャートを示し、下段側に、データを書き込みバッファ内に保持するのに必要な期間のタイムチャートを示している。なお、図10Aおよび後述する図10Bでは、説明を簡単化するために、1ブロック内のストリング数が1の場合を示している。ストリングが複数の場合は、ストリング数倍だけのメモリ量が必要である。 In FIG. 10A and FIG. 10B described later, the upper side shows a time chart of data input for block writing and program execution, and the lower side shows a time chart for a period required to hold data in the write buffer. There is. Note that FIG. 10A and FIG. 10B, which will be described later, show a case where the number of strings in one block is one for the sake of simplicity. When there are multiple strings, the amount of memory required is as many as 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 the 1-3-3 coding LM-Foggy-Fine program, in the LM stage, which is the first stage, one page of data input and this one page of the program (LM stage program) are performed. Will be. In the case of the 1-3-3 coding LM-Foggy-Fine program, in the second stage, the Foggy stage, data input for 3 pages and the program for these 3 pages (Foggy stage program) Is done. In the case of the 1-3-3 coding LM-Foggy-Fine program, in the third stage, the Fine stage, data input for three pages and the program for these three pages (Fine stage program) Is done.
そして、各ワード線WL0,WL1,WL2,・・・では、Fineステージにおいてプログラムが開始されるまで、LMステージにおいて書き込まれた1ページ分のデータと、Foggyステージにおいて書き込まれた3ページ分のデータとを、書き込みバッファ内に格納しておく必要がある。 Then, in each word line 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. And 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ステージが実行される。 Even in the LM-Foggy-Fine program, in order to reduce interference between adjacent memory cells, data for three pages of Lower / Middle / Upper are not written continuously. For example, after the LM stage to the word line WL0 is executed, before the Foggy stage to the word line WL0 is executed, the LM stage to the word line WL1 adjacent to the word line WL0 is executed. Further, after the Foggy stage to the word line WL0 is executed, before the Fine stage to the word line WL0 is executed, the Foggy stage to the word line WL1 adjacent to the word line WL0 is executed. Similarly, after the LM stage to the word line WL1 is executed and before the Foggy stage to the word line WL1 is executed, the LM stage to the word line WL2 adjacent to the word line WL1 is executed. Further, after the Foggy stage to the word line WL1 is executed and before the Fine stage to the word line WL1 is executed, the Foggy stage to the word line WL2 adjacent to 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ステージ
As described above, 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, the following stage programs (P1) to (P5) are executed between the LM stage and the Fine stage on the word line WL1.
(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ページ分のデータが書き込みバッファ内に保持されている必要がある。 As described above, in the case of the 1-3-3 coding LM-Foggy-Fine program, in the first LM stage, the input data is only the Lower page. However, in the case of this method, it is necessary to retain the data for 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 the interference between adjacent memory cells, it is necessary to hold the data in the plurality of word lines WLi in the write buffer. For example, when the Foggy stage is executed for the word line WL2, the data for three pages for the word line WL1, the data for three pages for the word line WL2, and the data for one page for the word line WL3 Must be kept in the write buffer. As described above, in the case of the 1-3-3 coding LM-Foggy-Fine program, it is necessary that the data for up to 7 pages is 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 a write buffer amount (buffer data amount) in the program of the first embodiment. In the program of this embodiment, a two-stage program is used with 1-3-3 coding. In the program of this embodiment, in the 1st stage, data input for one page (Lower page) and the program for one page (1st program) are performed. Further, in the case of the program of the present embodiment, in the 2nd stage, data input for 2 pages (Middle page and Upper page) and the program for these 2 pages (2nd program) are performed.
そして、各ワード線WL0,WL1,WL2,・・・では、各ステージのデータ入力の際にデータを書き込みバッファ内に格納しておけばよく、プログラムが開始されると、書き込みバッファ内からデータが削除されてもよい。例えば、1stステージにおいてデータが入力されると、このデータは書き込みバッファ内に格納される。そして、1stステージにおいてプログラムが開始されると、書き込みバッファ内に格納しておいたデータは削除されてもよい。同様に、2ndステージにおいてデータが入力されると、このデータは書き込みバッファ内に格納される。そして、2ndステージにおいてプログラムが開始されると、書き込みバッファ内に格納しておいたデータは削除されてもよい。 Then, in each word line WL0, WL1, WL2, ..., The data may be stored in the write buffer when the data of each stage is input, and when the program is started, the data is stored in the write buffer. It may be deleted. For example, when data is input in the 1st stage, this data is stored in the write buffer. Then, when the program is started in the 1st stage, the data stored in the write buffer may be deleted. Similarly, when data is input in the 2nd stage, this data is stored in the write buffer. Then, when the program is started in the 2nd 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 this embodiment, in order to reduce the interference between adjacent memory cells, the data for three pages of Lower / Middle / Upper are not continuously written. For example, after the 1st stage to the word line WL0 is executed and before the 2nd stage to the word line WL0 is executed, the 1st stage to the word line WL1 adjacent to the word line WL0 is executed. Similarly, after the 1st stage to the word line WL1 is executed and before the 2nd stage to the word line WL1 is executed, the 1st stage to the word line WL2 adjacent to the word line WL1 is executed.
このように、本実施形態のプログラムは、2ステージなので、各ワード線WLiにおいて、1stステージから2ndステージまでの処理は短時間となる。例えば、ワード線WL1における1ステージから2ndステージまでの間には、以下の(P11)のステージのプログラムが実行される。
(P11)ワード線WL2に対する1stステージ
As described above, since the program of this embodiment has two stages, the processing from the 1st stage to the 2nd stage is short in each word line WLi. For example, the program of the following stages (P11) is executed between the 1st stage and the 2nd stage on the word line WL1.
(P11) 1st stage for word line WL2
また、本実施形態のプログラムの場合、データ入力の開始からデータ入力の終了までの間だけデータを書き込みバッファ内に保持しておけばよく、プログラムが開始されると、書き込みバッファ内からデータが削除されてもよい。このため、本実施形態のプログラムの場合、書き込みバッファ内に保持しておく必要があるデータは、最大でも2ページ分のデータである。 Further, in the case of the program of the present embodiment, it is sufficient to hold the data in the write buffer only from the start of the data input to the end of the data input, and when the program is started, the data is deleted from the write buffer. May be done. Therefore, in the case of the program of the present embodiment, the data that needs to be held in the write buffer is at most two pages of data.
このように、本実施形態では、全てのページデータは、1回のステージのプログラムでのみ必要であるので、そのデータ入力が完了すれば書き込みバッファ内のデータは破棄可能となる。そのため、本実施形態では、書き込みバッファ内に同時に保持しておくことが必要なページ数が少なくて済む。 As described above, in the present embodiment, since all the page data is required only in the program of one stage, the data in the write buffer can be discarded once 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 programmed into the
また、LM-Foggy-Fineプログラム又はFoggy-Fineプログラムが用いられるときは、全てのページデータのデータ転送を2回又は3回行なわなくてはならないので、転送時間が掛かり、また転送時の消費電力も余分に必要となる。本実施形態では、全てのページデータは、各ページそれぞれ1回のデータ転送で完了するため、転送時間及び電力消費を1/2〜1/3程度に抑えることが可能になる。 In addition, when the LM-Foggy-Fine program or Foggy-Fine program is used, all page data must be transferred twice or three times, which takes a long transfer time and consumes power during transfer. Is also required extra. In the present embodiment, all the page data is completed by one data transfer for each page, so that the 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 showing an example of a sequence of external program commands according to the first embodiment. FIG. 11A shows a sequence of external program commands in the 1st stage according to the first embodiment, and FIG. 11B shows a sequence of external program commands in the 2nd stage according to the first embodiment. Shown.
図11の(A)に示すように、1stステージでは、プログラム開始コマンド(80h)が入力された後、プログラム対象ブロック・ページのアドレス(Lowerページのアドレス)が入力され、その後にLowerページのプログラムデータが入力される。そして、最後にプログラム実行コマンド(10h)が入力されると、チップがビジーとなりメモリチップ内部でプログラムの動作が開始される。このようなプログラムコマンドの入力により、Lowerページがプログラムされる。 As shown in FIG. 11A, in the 1st stage, after the program start command (80h) is input, the program target block page address (Lower page address) is input, and then the Lower page program. Data is entered. Finally, when the program execution command (10h) is 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 2nd stage, after the program start command (80h) is input, the program target block page address (Middle page address) is input, and then the program of the Middle page. Data is entered. After that, the concatenation command (1Ah) of the program command is input, and the program data of the Upper page is input in the same sequence. Finally, when the program execution command (10h) is 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 read, and the Middle page and Upper page are further programmed. Either the program data on the Middle page or the program data on the Upper page may be input first.
ここで、ページ読み出し処理について説明する。ページ読み出しの方法は、読み出し対象ページを含むワード線WLiに対するプログラムが、2ndステージの書き込み前か、後かで異なる。 Here, the page read processing will be described. The method of reading the page differs depending on whether the program for the word line WLi including the page to be read is before or after writing the 2nd stage.
2ndステージ書き込み前の場合、記録されているデータはLowerページだけが有効である。このため、制御部22は、読み出しページがLowerページのときだけメモリセルからデータを読み出す。そして、制御部22は、その他のページの場合には、メモリセル読み出し動作は行わず、読み出しデータとして強制的に全て“1”を出力する制御を行う。
Before writing to the 2nd stage, only the Lower page is valid for the recorded data. Therefore, the
一方、2ndステージまで完了したワード線WLiの場合、制御部22は、読み出しページがUpper/Middle/Lowerページの何れであってもメモリセルを読み出す。この場合、読み出すページが何れのページかによって必要な読み出し電圧が異なるので、制御部22は、選択されたページに従って必要な読み出しだけを実行する。
On the other hand, in the case of the word line WLi completed up to the 2nd 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 states in which the Lower page data changes, the
また、MiddleページまたはUpperページのデータが変化するしきい値状態間の境界は3つであるので、制御部22は、それらの境界で分離された4つの範囲の何れの中にしきい値が位置するかでデータを決定する。
Further, since there are three boundaries between the threshold states in which the data on the Middle page or Upper page changes, the
以下、ページ読み出しの具体的な処理手順について説明する。図12Aは、第1の実施形態に係る記憶装置において2ndステージ書き込み前の場合のワード線でのページ読み出しの処理手順を示すフローチャートである。図12Bは、第1の実施形態に係る記憶装置において2ndステージまでプログラムが完了しているワード線でのページ読み出しの処理手順を示すフローチャートである。 The specific processing procedure for reading the page will be described below. FIG. 12A is a flowchart showing a procedure for reading a page with a word line before writing the 2nd stage in the storage device according to the first embodiment. FIG. 12B is a flowchart showing a procedure for reading a page on a word line in which the program is completed up to the 2nd 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 writing the 2nd stage, the
また、読み出しページがMiddleページの場合(ステップS510、Middle)、制御部22は、メモリセルの出力データとして全て強制的に“1”を出力する制御を行う(ステップS540)。
Further, when the read page is a Middle page (step S510, Middle), the
また、読み出しページがUpperページの場合(ステップS510、Upper)、制御部22は、メモリセルの出力データとして全て強制的に“1”を出力する制御を行う(ステップS550)。
Further, when the read page is an Upper page (step S510, Upper), the
また、図12Bに示すように、2ndステージまでプログラムが完了したワード線WLiの場合、制御部22は、読み出しページを選択する(ステップS610)。読み出しページがLowerページの場合(ステップS610、Lower)、制御部22は、Vr4のしきい値電圧で読み出しを行う(ステップS620)。そして、制御部22は、Vr4のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS630)。
Further, as shown in FIG. 12B, in the case of the word line WLi whose program has been completed up to the 2nd 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 an Upper page (step S610, Upper), the
なお、ワード線WLiに対するプログラムが、2ndステージ書き込み完了前か後かは、メモリコントローラ1が管理・識別することが可能である。メモリコントローラ1が、プログラム制御を行っているので、メモリコントローラ1がその進捗状況を記録しておけば、メモリコントローラ1は、不揮発性メモリ2のどのアドレスがどのようなプログラム状態であるか容易に参照できる。この場合、メモリコントローラ1は、不揮発性メモリ2から読み出しを行う際、対象ページアドレスを含むワード線WLiがどのようなプログラム状態であるかを識別し、識別した状態に応じた読み出しコマンドを発行する。
The
図13は、第1の実施形態に係る外部読み出しコマンドのシーケンスの例を示す図である。図13の(A)では、第1の実施形態に係る記憶装置において1stステージまでプログラムが完了しているワード線WLiでの外部読み出しコマンドのシーケンスを示し、図13の(B)では、第1の実施形態に係る記憶装置において2ndステージまでプログラムが完了しているワード線WLiでの外部読み出しコマンドのシーケンスを示している。 FIG. 13 is a diagram showing an example of a sequence of external read commands according to the first embodiment. FIG. 13A shows a sequence of external read commands on the word line WLi in which the program is completed up to the 1st stage in the storage device according to the first embodiment, and FIG. 13B shows the first sequence. The sequence of the external read command on the word line WLi in which the program is completed up to the 2nd stage in the storage device according to the embodiment is shown.
図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 writing the 2nd stage, a command (2Dh) indicating the state before writing the 2nd stage is first input as a command to execute the read operation. After that, the read start command (00h) is input, and then the address of the block page to be read (the address of the Lower page, the Middle page, or the Upper page) is input. Finally, when the read execution command (30h) is 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, Middle page, or Upper page. After that, the chip becomes ready 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 in which the program is completed up to the 2nd stage, a command (25h) indicating the completion state up to the 2nd stage is first input as a command to execute the read operation. Will be done. After that, the read start command (00h) is input, and then the address of the block page to be read (the address of the Lower page, the Middle page, or the Upper page) is input. Finally, when the read execution command (30h) is 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, Middle page, or Upper page. After that, the chip becomes ready 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 programming the non-volatile memory 2 (3 bit / Cell NAND memory having a 3D structure or a 2D structure), 1-3-3 data coding is adopted and the program is programmed. The stage of is a two-stage system. Since the program is programmed in a two-stage system in this way, the amount of data input during the data program 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 1-3-3 data coding is used, the IDL margin before the 2nd stage can be expanded, and the reliability of the write sequence can be improved. Further, since 1-3-3 data coding is used, the speed of the 1st 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 1st stage program can be increased by gradually increasing the write voltage when writing and writing verification are repeated, and making the step voltage larger than that of the 2nd stage program. Can be done.
(第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 of the 2nd stage of the word line WLn-1 and the program of the 1st stage of the word line WLn are collectively performed. In this embodiment as well, a case where the same data coding as that described in 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 program of the 1st stage and the program of the 2nd stage are all separated one by one, and each program command and program data input are performed in each program. .. In this 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 programs of the 1st stage of the word line WLn and the 2nd stage of the word line WLn-1 are always continuous except for the beginning and end ends of the block. Therefore, in the present embodiment, this part is collectively referred to as a command input. That is, 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 by one command input. Even if LM-Foggy-Fine is adopted, the data of Lower / Middle / Upper pages can be input together with one program command (however, in this case, the pages in the same word line WLi) for 3 pages. It is the same amount of data input as was done.
このように、プログラムコマンドおよびプログラムデータの入力がまとめられることにより、メモリコントローラ1が行う制御におけるコマンド入力やポーリング(チップビジーがレディーに戻ったか否かの定期的なチェック)の頻度が減少し、記憶装置としての高速化・簡易化が可能となる。
By collecting the program command and program data inputs in this way, the frequency of command input and polling (regular 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. 14A and 14B show the writing procedure when the program order shown in FIG. 8B is followed. Of the processes shown in FIGS. 14A or 14B, the same processes as those described with reference to FIGS. 9A to 9C will be 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 showing a writing procedure for the entire block according to the second embodiment. It is assumed that one block here has n + 1 word lines WLi of word lines WL0 to WLn (n is a natural number). Further, FIG. 14B is a sub-flow chart showing a writing procedure in the 1st stage and the 2nd stage according to the second embodiment. Note that (1st) shown to the right of each step in FIG. 14A corresponds to the 1st stage shown in FIG. 9B, (2nd) corresponds to the 2nd stage shown in FIG. 9C, and (1 and 2) are shown in FIGS. It corresponds to the 1st stage and the 2nd stage shown in 14B.
図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, at the beginning of the block, the program of only the 1st stage is executed as in the first embodiment, and at the end of the block, the program of only the 2nd stage is executed as in the first embodiment. In this case, the program of only the 1st stage is executed according to the procedure shown in FIG. 9B, and the program of only the 2nd 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 1st stage and 2nd stage programs, the 1st stage program is executed after the 2nd stage program is executed. Specifically, first, the input start command of the 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, the input start command of the 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, the input start command of the data of the lower page of the word line WLn is input from the
次に、メモリコントローラ1から不揮発性メモリ2へ、1stステージおよび2ndステージのプログラム実行コマンドが入力され(ステップS1070)、これによりチップビジーとなる(ステップS1080)。
Next, the program execution commands of the 1st stage and the 2nd stage are input from the
この後、ワード線WLnのLowerページに対し、1〜複数回のプログラム電圧パルスが印加される(ステップS1090)。そして、メモリセルがしきい値境界レベルを超えて移動したか否かを確認するために、ワード線WLnのLowerページのデータ読み出しが行なわれる(ステップS1100)。 After that, one or a plurality of program voltage pulses are applied 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 the data on the Lower page is smaller than that of the criteria (step S1110). When the number of fail bits of the data on the Lower page is equal to or greater than the criteria (steps S1110, No), the processes of steps S1140 to S1160 are repeated. Then, when the number of fail bits of the data becomes smaller than the criteria (step S1110, Yes), the Lower page data of the word line WLn-1 is read out (step S1120).
そして、ワード線WLn−1のLowerページデータに基づいて、MiddleページおよびUpperページのプログラム先のVth(しきい値電圧)が決定される(ステップS1130)。この後、決定されたVthを用いて、ワード線WLn−1のMiddleページおよびUpperページへのデータ書き込みが行われる。 Then, the 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). After that, data is written to the Middle page and Upper page of the 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 Upper page, one or more program voltage pulses are applied to the Middle page and 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 confirmed whether or not the number of fail bits of the data on the Middle page and the Upper page is smaller than the criteria (step S1160). When the number of fail bits of data on the Middle page and Upper page is equal to or greater than the criteria (steps S1160, No), the processes of steps S1140 to S1160 are repeated. Then, when the number of fail bits of the data becomes smaller than the criteria (step S1160, Yes), the data becomes chip ready (step S1170).
なお、ステップS1010,S1030,S1050の処理は、何れが先に行われてもよい。また、ステップS1020,S1040,S1060の処理は、何れが先に行われてもよい。ただし、ステップS1020の処理は、ステップS1010の処理の後に行われ、ステップS1040の処理は、ステップS1030の処理の後に行われ、ステップS1060の処理は、ステップS1050の処理の後に行われる。 The processes of steps S1010, S1030, and S1050 may be performed first. Further, any of the processes of steps S1020, S1040, and S1060 may be performed first. However, the process of step S1020 is performed after the process of step S1010, the process of step S1040 is performed after the process of step S1030, and the process of step S1060 is performed after the process of step S1050.
なお、図14Bに示したステップS1120〜S1160までの処理が、ワード線WLn−1の2ndステージのプログラムに対応し、ステップS1090〜S1110までの処理が、ワード線WLnの1stステージのプログラムに対応している。 The processing of steps S112 to S1160 shown in FIG. 14B corresponds to the program of the 2nd stage of the word line WLn-1, and the processing of steps S109 to S1110 corresponds to the program of the 1st stage of the 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 1st stage of the word line WLn is executed before the program of the 2nd stage of the word line WLn-1 has been described. This is because the program of the 1st stage of the word line WLn is performed first so that the cell of the word line WLn-1 in which the 8-value Vth is written is not affected by the adjacent cell.
このように、本実施形態では、ワード線WLn−1のMiddleページおよびUpperページのデータと、ワード線WLnのLowerページのデータとの3ページ分のデータが連続して入力される。 As described above, in the present embodiment, 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 for three pages.
図15は、第2の実施形態に係る外部プログラムコマンドのシーケンスの例を示す図である。なお、1stステージにおける外部プログラムコマンドのシーケンスは、図11の(A)に示したものと同じである。また、2ndステージにおける外部プログラムコマンドのシーケンスは図11の(B)に示したものと同じである。したがって、ここでは、2ndステージと1stステージとが連続してプログラムされる際の外部プログラムコマンドのシーケンスについて説明する。1stステージと2ndステージとが連続してプログラムされる場合には、2ndステージのコマンドと1stステージのコマンドとが連続して入力される。 FIG. 15 is a diagram showing an example of a sequence of external program commands according to the second embodiment. The sequence of external program commands in the 1st stage is the same as that shown in FIG. 11A. The sequence of external program commands in the 2nd stage is the same as that shown in FIG. 11B. Therefore, here, a sequence of external program commands when the 2nd stage and the 1st stage are continuously programmed will be described. When the 1st stage and the 2nd stage are programmed consecutively, the 2nd stage command and the 1st stage command 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 program target block page (the address of the middle page of the word line WLn-1) is input, and then the word. The program data of the Middle page of line WLn-1 is input. After that, the concatenation command (1Ah) of the program command is input, and the program data of the Upper page of the word line WLn-1 is input in the same sequence. Then, the concatenation command (1Ah) of the program command is input, and the program data of the Lower page of the word line WLn is input this time in the same sequence. Finally, when the program execution command (10h) is 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 the IDL, the Lower page data of the word line WLn-1 is read out. Then, the Vth of the program destination of the Middle page and the Upper page is determined based on the Lower page data, 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ページデータの読み出しができる。 Further, as another modification, after inputting the program command, the Lower page of the word line WLn-1 is read first as the IDL, then the Lower page of the word line WLn is programmed, and then Middle. The Vth of the program destination 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 IDL word line WLn-1 can be read before the interference between adjacent cells due to the writing of the word line WLn is received.
なお、本実施形態における、ワード線WLnの1stステージとワード線WLn−1の2ndステージとのひとまとめのコマンドによるプログラムの実際の実行順番は変形が可能である。すなわち、図15に示したワード線WLnのLowerページのプログラムと、IDLとしてのワード線WLn−1のLowerページデータの読み出しとは、何れが先でもよく、入れ替えが可能である。IDL(ワード線WLn−1のLowerページデータの読み出し)がワード線WLnのLowerページのプログラムよりも前に行なわれることで、ワード線WLnのLowerページのプログラムによる影響を受けることなくIDLが可能となる。 In this embodiment, the actual execution order of the program by the collective command of the 1st stage of the word line WLn and the 2nd stage of the word line WLn-1 can be changed. That is, either the program of the Lower page of the word line WLn shown in FIG. 15 or the reading of the Lower page data of the word line WLn-1 as the IDL may be performed first, and can be exchanged. By performing IDL (reading the Lower page data of the word line WLn-1) before the program of the Lower page of the word line WLn, IDL can be performed without being affected by the program of the Lower page of the word line WLn. Become.
このように第2の実施形態では、ワード線WLn−1の2ndステージのプログラムと、ワード線WLnの1stステージのプログラムとをまとめて行うので、コマンド入力やポーリングの頻度が減少する。したがって、記憶装置の高速化および簡易化が可能となる。 As described above, in the second embodiment, the program of the 2nd stage of the word line WLn-1 and the program of the 1st stage of the word line WLn are collectively performed, so that the frequency of command input and polling is reduced. Therefore, the storage device can be speeded up and simplified.
(第3の実施形態)
つぎに、図16〜図19を用いて第3の実施形態について説明する。第3の実施形態では、2ndステージのプログラムを実行する際に、Vth分布状態を領域D以上とする予定のメモリセルに対して最初にプログラムを実行し、その後、Vth分布状態を領域C以下とする予定のメモリセルに対してプログラムを実行する。なお、本実施形態でも第1の実施形態の図6で説明したものと同じデータコーディングを用いる場合について説明する。
(Third Embodiment)
Next, the third embodiment will be described with reference to FIGS. 16 to 19. In the third embodiment, when the program of the 2nd stage is executed, the program is first executed for the memory cell whose Vth distribution state is planned to be the area D or more, and then the Vth distribution state is set to the area C or less. Run the program on the memory cell you plan to do. In this embodiment as well, a case where the same data coding as that described in FIG. 6 of the first embodiment is used will be described.
多ビット/cellのプログラムにおいて、プログラム実行中に突然の電源遮断が発生すると、データが破壊される。このような場合、電源遮断が発生した際に実行していたプログラムの対象のプログラムデータの情報がメモリセルから失われる。このような場合、既にプログラムが完了して、メモリコントローラ1の書き込みバッファからデータが破棄されたような過去のプログラムデータも失われてしまう場合がある。この結果、データ復旧が不可能となってしまう。
In a multi-bit / cell program, if a sudden power failure occurs during program execution, data will be destroyed. In such a case, the information of the program data of the target of the program executed when the power supply is cut off is lost from the memory cell. In such a case, the program may have already been completed, and past program data such as data 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 the power is cut off in the middle of the program on the Middle / Upper page of the 2nd stage. This situation will be described. FIG. 16 is a diagram for explaining data corruption caused by power interruption. FIG. 16 (T11) shows the Vth distribution state (data state) after the program of the 1st stage is completed. Further, (T12) in FIG. 16 shows the Vth distribution state during the program of the 2nd stage. Further, FIG. 16 (T13) shows the Vth distribution state after the power is cut off.
図16の(T11)に示したような1stステージのプログラムが完了した後に、2ndステージのプログラムが開始され、図16の(T12)に示すようなVth分布状態となる。そして、図16の(T12)に示すような書き込み途中のVth分布状態の時に、電源遮断が発生すると、図16の(T13)に示すようなVth分布状態となる。 After the program of the 1st stage as shown in (T11) of FIG. 16 is completed, the program of the 2nd stage is started, and the Vth distribution state as shown in (T12) of FIG. 16 is obtained. Then, when the power supply is cut off during the Vth distribution state during writing as shown in FIG. 16 (T12), the Vth distribution state as shown in FIG. 16 (T13) is obtained.
ここで、1stステージ完了後の状態から2ndステージのプログラムを開始することを考える。一般的にNANDメモリの内部では、低いVthから高いVthへと順番にプログラムが実行される。そのため、図16の(T12)に示すように、途中まで2ndステージのプログラムが進行したところで、電源遮断が発生すると、図16の(T13)に示したようなVth分布状態となる。 Here, it is considered that the program of the 2nd stage is started from the state after the completion of the 1st stage. Generally, inside the NAND memory, programs are executed in order from low Vth to high Vth. Therefore, as shown in FIG. 16 (T12), when the power cutoff occurs when the 2nd stage program progresses halfway, the Vth distribution state as shown in FIG. 16 (T13) is obtained.
ここで正の分布に含まれるメモリセルは、Lowerページデータが“1”であったメモリセルと“0”であったメモリセルとが混在した状態である。このため、この状態において既にプログラムが完了しているLowerページデータを読み出しても、正しい読み出しデータは得られない。なお、2ndステージのプログラム完了後の読み出し電圧を用いても、正しいLowerページデータは得られない。 Here, the memory cells included in the positive distribution are a state in which the memory cells whose Lower page data is “1” and the memory cells whose Lower page data is “0” are mixed. Therefore, even if the Lower page data for which the program has already been completed is read in this state, the correct read data cannot be obtained. Even if the read voltage after the completion of the 2nd 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 on the Middle / Upper page of the 2nd stage is changed. FIG. 17 is a diagram for explaining a program of the 2nd stage according to the third embodiment. FIG. 17 shows a transition method of the Vth state in the 2nd stage. FIG. 17 (T21) shows the Vth distribution state after the program of the 1st stage is completed. Further, (T22) in FIG. 17 shows the Vth distribution state at the time when the program in the first half of the 2nd stage is completed. Further, (T23) in FIG. 17 shows the Vth distribution state at the time when the program in the latter half of the 2nd stage is completed.
本実施形態の制御部22は、図17の(T21)に示す1stステージが完了すると、図17の(T22)に示すように、書き込み目的地のVth分布状態が領域D以上となるメモリセルを最初にプログラム(D−Firstプログラム)する。そして、制御部22は、領域D〜GまでのVth分布状態のプログラムを完了させた後、図17の(T23)に示すように、領域A〜CのVth分布状態のプログラムを実行する。
When the 1st stage shown in FIG. 17 (T21) 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 whose Lower page data is "1" and the memory cells whose Lower page data is "0" are mixed does not occur. Therefore, even if the power supply is cut off in the 2nd stage, the
図18は、第3の実施形態に係る2ndステージでの書き込み手順を示すフローチャートである。なお、図9Cで説明した処理と同様の処理については、その説明を省略する。第3の実施形態に係る2ndステージのステップS1210〜S1280は、図9Cに示した第1の実施形態に係る2ndステージのステップS310〜S380と同じである。 FIG. 18 is a flowchart showing a writing procedure in the 2nd stage according to the third embodiment. The same processing as that described with reference to FIG. 9C will be omitted. The steps S120 to S1280 of the 2nd stage according to the third embodiment are the same as the steps S310 to S380 of the 2nd 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 is written to the Middle page and the Upper page using the determined Vth.
第3の実施形態に係る2ndステージでは、MiddleページおよびUpperページへのデータ書き込みの際に、領域D〜Gとさせるメモリセルに対し、1〜複数回のプログラム電圧パルスが印加される(ステップS1290)。そして、メモリセルがしきい値境界レベルを超えて移動したか否かを確認するために、MiddleページおよびUpperページの領域D〜Gに対してデータ読み出しが行なわれる(ステップS1300)。 In the 2nd stage according to the third embodiment, when data is written to the Middle page and the Upper page, one or a plurality of program voltage pulses are applied to the memory cells in the areas D to G (step S1290). ). Then, in order to confirm whether or not the memory cell has moved beyond the threshold boundary level, data reading is performed for 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 regions D to G on the Middle page and Upper page is smaller than that of the criteria (step S1310). When the number of fail bits of data in the regions D to G on the Middle page and Upper page is equal to or greater than the criteria (steps S1310 and No), the processes of steps S1290 to S1310 are 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 on the Middle page and the Upper page becomes smaller than the criteria (step S1310, Yes), the data is written to the areas A to C on the Middle page and the Upper page. Specifically, when writing data to the Middle page and Upper page, program voltage pulses are applied one to a plurality of times to the memory cells in the areas A to C (step S1320). Then, in order to confirm whether or not the memory cell has moved beyond the threshold boundary level, data is read out to 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 confirmed whether or not the number of fail bits of the data in the regions A to C on the Middle page and the Upper page is smaller than that of the criteria (step S1340). When the number of fail bits of the data in the regions A to C on the Middle page and Upper page is equal to or greater than the criteria (steps S1340 and No), 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 regions A to C on the Middle page and Upper page becomes smaller than the criteria (step S1350, Yes), the data becomes chip ready (step S1350).
なお、本実施形態では、2ndステージのプログラムの前半で、領域D〜GまでのVth分布状態のプログラムを完了させたが、目的地が領域D〜GまでのVth分布状態のメモリセルを、完全に終わらせる必要は無い。この場合、制御部22は、一旦領域D程度のVth分布状態までのプログラムにとどめておく。その後、制御部22は、領域A〜Cのプログラムと、プログラム途中であった領域D〜Gのプログラムとを順番に実行する。
In the present embodiment, the program of the Vth distribution state in the regions D to G is completed in the first half of the program of the 2nd stage, but the memory cell in the Vth distribution state in the regions D to G is completely completed. There is no need to end up with. 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 explaining a program modification example of the 2nd stage according to the third embodiment. FIG. 19 shows a transition method (modification example) of the Vth state in the 2nd stage. FIG. 19 (T31) shows the Vth distribution state after the program of the 1st stage is completed. Further, (T32) in FIG. 19 shows the Vth distribution state at the time when the program in the first half of the 2nd stage is completed. Further, (T33) in FIG. 19 shows the Vth distribution state at the time when the program in the latter half of the 2nd stage is completed.
本実施形態の制御部22は、図19の(T31)に示す1stステージが完了すると、制御部22は、図19の(T32)に示すように、領域D程度のVth分布状態までプログラムを実行する。その後、制御部22は、領域ErのVth分布状態を用いて、領域A〜Cのプログラムを実行する。さらに、制御部22は、領域D程度のVth分布状態(プログラム途中のVth分布状態)を用いて、領域D〜Gのプログラムを実行する。
When the 1st stage shown in (T31) of FIG. 19 is completed, the
この図19に示す方法の場合も、図17に示す方法の場合と同様に、Lowerページデータが“1”であったメモリセルと“0”であったメモリセルとが混在した状態となるタイミングが発生しなくなる。したがって、たとえ2ndステージで電源遮断が発生したとしても、Vr1またはVr4の何れかの読み出し電圧を用いることによって、制御部22は、Lowerページデータを読み出すことが可能となる。
Also in the case of the method shown in FIG. 19, as in the case of the method shown in FIG. 17, the timing at which the memory cells whose Lower page data is “1” and the memory cells whose Lower page data is “0” are mixed. Will not occur. Therefore, even if the power supply is cut off in the 2nd stage, the
このように、制御部22は、書き込み目的地のVth分布状態を領域D以上にさせるメモリセルへのしきい値分布を、領域Er〜Cまでのしきい値領域に重ならない位置まで移動させた後、領域Er〜Gにさせるメモリセルへのプログラムを完了させる。
In this way, the
このように第3の実施形態では、2ndステージのプログラムの際に、上位のVth分布を先にプログラムするので、不正電源遮断に起因する書き込み済みデータの巻き添え破壊を防止することができ、この結果、記憶装置の信頼性を向上させることが可能となる。 As described above, in the third embodiment, since the upper Vth distribution is programmed first when programming the 2nd stage, it is possible to prevent the entanglement destruction of the written data due to the unauthorized power cutoff, and as a result, this result. , It becomes possible to improve the reliability of the storage device.
なお、第1〜第3の実施形態では、図6で説明したものと同じ1−3−3データコーディングを用いる場合について説明したが、他の1−3−3データコーディングが用いられてもよい。ただし、1−3−3データコーディングにおいて、Lowerページデータの境界が1箇所であるという条件がある。 In the first to third embodiments, the case where the same 1-3-3 data coding as that described with reference to FIG. 6 is used has been described, but other 1-3-3 data coding may be used. .. However, in 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 showing another example of 1-3-3 data coding. In the 1-3-3
-The memory cell whose threshold voltage is in the Er region is in a state of storing "111".
-The memory cell whose threshold voltage is in the A region is in a state of storing "011".
-The memory cell whose threshold voltage is in the B area is in a state of storing "001".
A memory cell whose threshold voltage is in the C region is in a state of storing "101".
A memory cell whose threshold voltage is in the D area is in a state of storing "100".
-The memory cell whose threshold voltage is in the E area is in a state of storing "110".
-The memory cell whose threshold voltage is in the F region is in a state of storing "010".
-The memory cell whose threshold voltage is in the G region is in a state of storing "000".
図20の(B)に示す1−3−3データコーディングの変形例2では、しきい値電圧とデータ値との関係は、以下に示す通りである。
・しきい値電圧がEr領域内にあるメモリセルは“110”を記憶している状態である。
・しきい値電圧がA領域内にあるメモリセルは“100”を記憶している状態である。
・しきい値電圧がB領域内にあるメモリセルは“000”を記憶している状態である。
・しきい値電圧がC領域内にあるメモリセルは“010”を記憶している状態である。
・しきい値電圧がD領域内にあるメモリセルは“011”を記憶している状態である。
・しきい値電圧がE領域内にあるメモリセルは“111”を記憶している状態である。
・しきい値電圧がF領域内にあるメモリセルは“101”を記憶している状態である。
・しきい値電圧がG領域内にあるメモリセルは“001”を記憶している状態である。
In the 1-3-3
-The memory cell whose threshold voltage is in the Er region is in a state of storing "110".
A memory cell whose threshold voltage is in the A region is in a state of storing "100".
-The memory cell whose threshold voltage is in the B area is in a state of storing "000".
-The memory cell whose threshold voltage is in the C region is in a state of storing "010".
-The memory cell whose threshold voltage is in the D area is in a state of storing "011".
-The memory cell whose threshold voltage is in the E region is in a state of storing "111".
A memory cell whose threshold voltage is in the F region is in a state of storing "101".
-The memory cell whose threshold voltage is in the G region is in a state of storing "001".
図20の(C)に示す1−3−3データコーディングの変形例3では、しきい値電圧とデータ値との関係は、以下に示す通りである。
・しきい値電圧がEr領域内にあるメモリセルは“110”を記憶している状態である。
・しきい値電圧がA領域内にあるメモリセルは“010”を記憶している状態である。
・しきい値電圧がB領域内にあるメモリセルは“000”を記憶している状態である。
・しきい値電圧がC領域内にあるメモリセルは“100”を記憶している状態である。
・しきい値電圧がD領域内にあるメモリセルは“101”を記憶している状態である。
・しきい値電圧がE領域内にあるメモリセルは“111”を記憶している状態である。
・しきい値電圧がF領域内にあるメモリセルは“011”を記憶している状態である。
・しきい値電圧がG領域内にあるメモリセルは“001”を記憶している状態である。
In the 1-3-3
-The memory cell whose threshold voltage is in the Er region is in a state of storing "110".
-The memory cell whose threshold voltage is in the A region is in a state of storing "010".
-The memory cell whose threshold voltage is in the B area is in a state of storing "000".
A memory cell whose threshold voltage is in the C region is in a state of storing "100".
A memory cell whose threshold voltage is in the D region is in a state of storing "101".
-The memory cell whose threshold voltage is in the E region is in a state of storing "111".
-The memory cell whose threshold voltage is in the F region is in a state of storing "011".
-The memory cell whose threshold voltage is in the G region is in a state of storing "001".
(第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 1st stage is a Lower / Middle page program, and the 2nd stage is an Upper page program.
図21は、第4の実施形態におけるプログラム後のしきい値分布を示す図である。図21では、メモリセルに対する各プログラムステージ後のしきい値分布を示している。図21の(T41)は、プログラム前の初期状態である消去状態のしきい値分布を示している。図21の(T42)は、1stステージのプログラム後のしきい値分布を示している。図21の(T43)は、2ndステージのプログラム後のしきい値分布を示している。 FIG. 21 is a diagram showing the threshold distribution after the program in the fourth embodiment. FIG. 21 shows the threshold distribution after each program stage for the memory cells. FIG. 21 (T41) shows the threshold distribution of the erased state, which is the initial state before the program. FIG. 21 (T42) shows the threshold distribution after the program of the 1st stage. FIG. 21 (T43) shows the threshold distribution after programming the 2nd stage.
図21の(T41)に示すように、NANDメモリセルアレイ23の全メモリセルは、未書き込みの状態では分布Erの状態である。不揮発性メモリ2の制御部22は、図21の(T42)に示すように、1stステージのプログラムでは、Lower/Middleページに書き込むビット値に応じて、メモリセルごとに分布Erのままとする、または電荷を注入して分布Erよりも上の分布に移動させる。これにより、メモリセルは、Lower/Middleページデータによって、4値のレベルにプログラムされる。
As shown in FIG. 21 (T41), all the memory cells of the NAND
また、図21の(T43)に示すように、2ndステージのプログラムでは、データの書き込みにはUpperページの1ページが必要である。不揮発性メモリ2の制御部22は、1stステージのデータに対し、2ndステージとしてUpperページのデータを加える。このように、制御部22は、2ndステージのプログラム後のしきい値分布を、各隣接する分布が分離された最終状態で8値のレベルとなるようにプログラムする。
Further, as shown in FIG. 21 (T43), in the 2nd stage program, one page of the Upper page is required 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 when programming to the 4-value level of the 1st stage is, for example, as follows. The
なお、隣接メモリセル間干渉の影響を小さくするために、図8Bで示した順番と同じ順番でプログラムが実行される。すなわち、2つの異なるプログラムステージは、同じワード線WLiに連続的に実行されない。ワード線WLi間の隣接メモリセル間干渉を小さくするためには、ワード線WLiの2ndステージまでのプログラムが完了した後に、隣接ワード線WLiのしきい値の変動量を小さくすることが有効である。図8Bに示したシーケンスであれば、ワード線WLiの2ndステージまでのプログラムが完了した後の隣接ワード線WLiのプログラムステージは2ndステージのみとなるので、隣接メモリセル間干渉の影響を小さくできる。 The programs are executed in the same order as shown in FIG. 8B in order to reduce the influence of interference between adjacent memory cells. That is, two different program stages are not executed consecutively on the same word line WLi. In order to reduce the interference between adjacent memory cells between word line WLi, it is effective to reduce the fluctuation amount of the threshold value of adjacent word line WLi after the program up to the 2nd stage of word line WLi is completed. .. In the sequence shown in FIG. 8B, since the program stage of the adjacent word line WLi is only the 2nd stage after the program up to the 2nd stage of the word line WLi is completed, the influence of interference between adjacent memory cells can be reduced.
ここで、第4の実施形態に係る書き込み手順について説明する。なお、第4の実施形態に係る1ブロック分全体の書き込み手順は、第1の実施形態に係る1ブロック分全体の書き込み手順(図9A)と同じであるので、その説明を省略する。本実施形態でも、第1の実施形態と同様に、非連続的な順序でワード線WLiをまたぎながらプログラムステージが進められていくので、あるワード線WLiのまとまり(ここではブロック)をプログラムシーケンスのまとまりとしてプログラムが実行される。 Here, the writing procedure according to the fourth embodiment will be described. Since the procedure for writing the entire block according to the fourth embodiment is the same as the procedure for writing the entire block according to the first embodiment (FIG. 9A), the description thereof will be omitted. In this embodiment as well, as in the first embodiment, the program stage is advanced while straddling the word line WLi in a discontinuous order, so that a group of word line WLi (block in this case) is 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-flow chart showing a writing procedure in the 1st stage according to the fourth embodiment, and FIG. 22B is a sub-flow chart showing a writing procedure in the 2nd stage according to the fourth embodiment. Of the processes shown in FIG. 22A, the same processes as those shown in FIG. 9B will be omitted. Further, among the processes shown in FIG. 22B, the same processes as those shown in FIG. 9C will be omitted.
図22Aに示すように、1stステージのプログラムでは、まず、メモリコントローラ1から不揮発性メモリ2へLowerページデータの入力開始コマンドが入力される(ステップS1410)。そして、メモリコントローラ1から不揮発性メモリ2へLowerページデータが入力される(ステップS1420)。
As shown in FIG. 22A, in the 1st stage program, first, a lower page data input start command is input from the
さらに、メモリコントローラ1から不揮発性メモリ2へMiddleページのデータの入力開始コマンドが入力される(ステップS1430)。そして、メモリコントローラ1から不揮発性メモリ2へMiddleページのデータが入力される(ステップS1440)。
Further, a middle page data input start command is input from the
そして、メモリコントローラ1から不揮発性メモリ2へ1stステージのプログラム実行コマンドが入力され(ステップS1450)、これによりチップビジーとなる(ステップS1460)。
Then, the program execution command of the 1st stage is input from the
この後、LowerページデータとMiddleページデータに基づいて、2ndステージのプログラム先のVthが決定される(ステップS1470)。この後、決定されたVthを用いて、LowerページおよびMiddleページへのデータ書き込みが行われる。 After that, the Vth of the program destination of the 2nd stage is determined based on the Lower page data and the Middle page data (step S1470). After that, 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)。 When writing data to the Lower page and the Middle page, one or more program voltage pulses are applied (step S1480). Then, reading is performed to confirm whether or not the memory cell has moved beyond the threshold boundary level (step S1490). Further, it is confirmed whether or not the number of fail bits of the data on the Lower page and the Middle page is smaller than the criteria (determination criterion) (step S1500). When the number of fail bits of the data is equal to or greater than the criteria (steps S1500, No), the processes of steps S1480 to S1500 are repeated. Then, when the number of fail bits of the data becomes smaller than the criteria (step S1500, Yes), the data becomes chip 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 2nd stage program, first, the upper page data input start command 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 which is the IDL is read (step S1660). Then, the Vth of the program destination of the Upper page is determined based on the Lower page data and the Middle page data (step S1670). After that, data is written to the Upper page using the determined Vth.
さらに、制御部22は、IDLの読み出しデータの信頼性を上げるために、複数回数読み出しを行い、チップ内のページバッファ24でこの読み出し結果の多数決をとり、次の書き込みデータとして使用することも可能である。無論、制御部22は、通常の読み出し動作時に於いて、複数回数読み出しを行いチップ内でこの読み出し結果の多数決をとり、外部への読み出しデータとして使用することも可能である。
Further, the
Upperページへのデータ書き込みの際には、1〜複数回のプログラム電圧パルスが印加される(ステップS1680)。そして、メモリセルがしきい値境界レベルを超えて移動したか否かを確認するために、Upperページのデータ読み出しが行なわれる(ステップS1690)。 When writing data to the Upper page, program voltage pulses are applied one to more than once (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 or not the number of fail bits of the data on the Upper page is smaller than that of the criteria (step S1700). When the number of fail bits of the data on the Upper page is equal to or greater than the criteria (steps S1700, No), the processes of steps S1680 to S1700 are repeated. Then, when the number of fail bits of the data becomes smaller than the criteria (step S1700, Yes), the data becomes chip 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-flow chart showing a modified example of the writing procedure in the 2nd stage according to the fourth embodiment. In the processing procedure shown in FIG. 22C, the processing procedure of steps S161 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 shown in FIG. 22C, the processing of steps S1601 to S1609 is performed before step S1610. Specifically, first, a read command for the Lower page and the Middle page is input from the
この後、制御部22は、IDLであるLowerページデータおよびMiddleページデータの読み出しをVr1、Vr3、Vr5、Vr7のしきい値電圧で行う。そして、制御部22は、Vr1、Vr3、Vr5、Vr7のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS1603)。この後、チップレディーとなる(ステップS1604)。
After that, the
制御部22が読み出したLowerページデータおよびMiddleページデータを出力すると(ステップS1605)、このLowerページデータおよびMiddleページデータは、ECC回路14に送信される(ステップS1606)。これにより、ECC回路14がLowerページデータおよびMiddleページデータをECC訂正する(ステップS1607)。
When the lower page data and the middle page data read by the
そして、メモリコントローラ1から不揮発性メモリ2へLowerページのデータおよびMiddleページデータの入力開始コマンドが入力される(ステップS1608)。これにより、ECC回路14が、不揮発性メモリ2へLowerページおよびMiddleページデータのデータを入力する(ステップS1609)。
Then, the input start command of the lower page data and the middle page data is input from the
この後、ステップS1610〜S1710の処理が行われる。なお、ステップS1670では、ECC回路14からのLowerページデータおよびMiddleページデータに基づいて、MiddleページおよびUpperページのプログラム先のVthが決定される。 After that, the processes of steps S161 to S1710 are performed. In step S1670, the Vth of the program destination of the Middle page and 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 2nd stage program is only one page of the Upper page. However, in this 2nd stage, Vth, which is the destination of the memory cell program, requires data for 3 pages including the Lower / Middle page. Therefore, in this 2nd stage program, Lower page data and Middle page data are first read as preprocessing. Then, the Vth of the program destination of the Upper page is determined by synthesizing the read data and the input Upper page data.
図23は、第4の実施形態に係る外部プログラムコマンドのシーケンスの例を示す図である。図23の(A)では、第4の実施形態に係る1stステージにおける外部プログラムコマンドのシーケンスを示し、図24の(B)では、第4の実施形態に係る2ndステージにおける外部プログラムコマンドのシーケンスを示している。 FIG. 23 is a diagram showing an example of a sequence of external program commands according to the fourth embodiment. FIG. 23 (A) shows a sequence of external program commands in the 1st stage according to the fourth embodiment, and FIG. 24 (B) shows a sequence of external program commands in the 2nd stage according to the fourth embodiment. Shown.
図23の(A)に示すように、1stステージでは、プログラム開始コマンド(80h)が入力された後、プログラム対象ブロック・ページのアドレス(Lowerページのアドレス)が入力され、その後にLowerページのプログラムデータが入力される。この後、プログラムコマンドの連結コマンド(1Ah)が入力され、同様のシーケンスで今度はMiddleページのプログラムデータが入力される。そして、最後にプログラム実行コマンド(10h)が入力されると、チップがビジーとなりメモリチップ内部でプログラムの動作が開始される。このようなプログラムコマンドの入力により、LowerページおよびMiddleページがプログラムされる。なお、LowerページのプログラムデータとMiddleページのプログラムデータの入力順序は何れが先であってもよい。 As shown in FIG. 23 (A), in the 1st stage, after the program start command (80h) is input, the program target block page address (Lower page address) is input, and then the Lower page program. Data is entered. After that, the concatenation command (1Ah) of the program command is input, and the program data of the Middle page is input this time in the same sequence. Finally, when the program execution command (10h) is 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 are programmed. The input order of the program data on the Lower page and the program data on the Middle page may come first.
図23の(B)に示すように、2ndステージでは、プログラム開始コマンド(80h)が入力された後、プログラム対象ブロック・ページのアドレス(Upperページのアドレス)が入力され、その後にUpperページのプログラムデータが入力される。そして、最後にプログラム実行コマンド(10h)が入力されると、チップがビジーとなりメモリチップ内部でプログラムの動作が開始される。このようなプログラムコマンドの入力により、IDLとしてのLowerページおよびMiddleページの読み出しが行われ、Upperページがプログラムされる。 As shown in FIG. 23 (B), in the 2nd stage, after the program start command (80h) is input, the program target block page address (Upper page address) is input, and then the program of the Upper page. Data is entered. Finally, when the program execution command (10h) is 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 read processing will be described. The method of reading the page differs depending on whether the program for the word line WLi including the page to be read is before the writing of the 2nd stage or after the completion of the 2nd stage.
2ndステージ書き込み前のワード線WLiの場合、記録されているデータはLowerページおよびMiddleページが有効である。このため、制御部22は、読み出しページがLowerページまたはMiddleページのときにはメモリセルからデータを読み出す。そして、制御部22は、そのUpperページの場合には、メモリセル読み出し動作は行わず、読み出しデータとして強制的に全て“1”を出力する制御を行う。
In the case of the word line WLi before writing the 2nd stage, the lower page and the middle page are valid for the recorded data. Therefore, the
一方、2ndステージまで完了したワード線WLiの場合、制御部22は、読み出しページがUpper/Middle/Lowerページの何れであってもメモリセルを読み出す。この場合、読み出すページが何れのページかによって必要な読み出し電圧が異なるので、制御部22は、選択されたページに従って必要な読み出しだけを実行する。
On the other hand, in the case of the word line WLi completed up to the 2nd stage, the
図6に示したコーディングによれば、Lowerページデータが変化するしきい値状態間の境界は1つだけであるので、制御部22は、その境界で分離された2つの範囲の何れにしきい値が位置するかでデータを決定する。
According to the coding shown in FIG. 6, since there is only one boundary between the threshold states in which the Lower page data changes, the
また、MiddleページまたはUpperページのデータが変化するしきい値状態間の境界は3つであるので、制御部22は、それらの境界で分離された4つの範囲の何れの中にしきい値が位置するかでデータを決定する。
Further, since there are three boundaries between the threshold states in which the data on the Middle page or Upper page changes, the
以下、ページ読み出しの具体的な処理手順について説明する。図24Aは、第4の実施形態に係る記憶装置において2ndステージ書き込み前の場合のワード線でのページ読み出しの処理手順を示すフローチャートである。図24Bは、第4の実施形態に係る記憶装置において2ndステージまでプログラムが完了しているワード線でのページ読み出しの処理手順を示すフローチャートである。なお、図24Aに示した処理のうち、図12Aに示した処理と同様の処理については、その説明を省略する。また、図24Bに示した処理のうち、図12Bに示した処理と同様の処理については、その説明を省略する。 The specific processing procedure for reading the page will be described below. FIG. 24A is a flowchart showing a procedure for reading a page with a word line before writing the 2nd stage in the storage device according to the fourth embodiment. FIG. 24B is a flowchart showing a procedure for reading a page on a word line in which the program is completed up to the 2nd stage in the storage device according to the fourth embodiment. Of the processes shown in FIG. 24A, the same processes as those shown in FIG. 12A will be omitted. Further, among the processes shown in FIG. 24B, the same processes as those shown in FIG. 12B will be 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 writing the 2nd stage, the
また、読み出しページがMiddleページの場合(ステップS1810、Middle)、制御部22は、Vr1、Vr3およびVr5のしきい値電圧で読み出しを行う(ステップS1840,S1850,S1860)。そして、制御部22は、Vr1、Vr3およびVr5のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS1870)。
When the read page is a middle page (step S1810, Middle), the
また、読み出しページがUpperページの場合(ステップS1810、Upper)、制御部22は、メモリセルの出力データとして全て強制的に“1”を出力する制御を行う(ステップS1880)。
When the read page is an 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 whose program has been completed up to the 2nd stage, the
また、読み出しページがMiddleページの場合(ステップS1910、Middle)、制御部22は、Vr1、Vr3およびVr6のしきい値電圧で読み出しを行う(ステップS1940,S1950,S1960)。そして、制御部22は、Vr1、Vr3およびVr6のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS1970)。
When the read page is a 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, Vr3 is used as the read level capable of separating the four levels into two upper and lower levels in the case of reading the Lower page data. In addition, in the case of reading Middle page data, since the data allocation is such that the data cannot be determined unless one of the four levels is specified, it is necessary to read three levels of Vr1, Vr3, and Vr5 as the read level. Become.
一方、2ndステージまで完了したワード線WLiの場合、読み出しページはUpper/Middle/Lowerのうちの何れであってもメモリセルを読み出すが、どのページを読み出すかによって必要な読み出し電圧が異なるので、選択されたページに従った必要な読み出しだけが実行される。 On the other hand, in the case of the word line WLi completed up to the 2nd stage, the read page reads the memory cell regardless of whether it is Upper / Middle / Lower, but the required read voltage differs depending on which page is read, so it is selected. Only the necessary reads are performed according to the page.
なお、ワード線WLiに対するプログラムが、1stステージと2ndステージとの何れまで完了したかは、メモリコントローラ1が管理・識別することが可能である。メモリコントローラ1が、プログラム制御を行っているので、メモリコントローラ1がその進捗状況を記録しておけば、メモリコントローラ1は、不揮発性メモリ2のどのアドレスがどのようなプログラム状態であるか容易に参照できる。この場合、メモリコントローラ1は、不揮発性メモリ2から読み出しを行う際、対象ページアドレスを含むワード線WLiがどのようなプログラム状態であるかを識別し、識別した状態に応じた読み出しコマンドを発行する。
The
図25は、第4の実施形態に係る外部読み出しコマンドのシーケンスの例を示す図である。図25の(A)では、第4の実施形態に係る記憶装置において1stステージまでプログラムが完了しているワード線WLiでの外部読み出しコマンドのシーケンスを示し、図25の(B)では、第4の実施形態に係る記憶装置において2ndステージまでプログラムが完了しているワード線WLiでの外部読み出しコマンドのシーケンスを示している。 FIG. 25 is a diagram showing an example of a sequence of external read commands according to the fourth embodiment. FIG. 25A shows a sequence of external read commands on the word line WLi in which the program is completed up to the 1st stage in the storage device according to the fourth embodiment, and FIG. 25B shows the fourth. The sequence of the external read command on the word line WLi in which the program is completed up to the 2nd stage in the storage device according to the embodiment is shown.
図25の(A)に示すように、2ndステージ書き込み前のワード線WLiの場合、読み出し動作を実行するコマンドとして、最初に2ndステージ書き込み前の状態を示すコマンド(2Dh)が入力される。この後、読み出し開始コマンド(00h)が入力され、その後に読み出し対象ブロック・ページのアドレス(LowerページまたはMiddleページまたはUpperページのアドレス)が入力される。そして、最後に読出し実行コマンド(30h)が入力されると、チップがビジーとなり、メモリチップ内部で読み出しの動作が開始される。このようなプログラムコマンドの入力により、LowerページまたはMiddleページまたはUpperページからデータが読み出される。その後、チップがレディー状態となり、読み出されたデータが出力される。 As shown in FIG. 25 (A), in the case of the word line WLi before writing the 2nd stage, a command (2Dh) indicating the state before writing the 2nd stage is first input as a command to execute the read operation. After that, the read start command (00h) is input, and then the address of the block page to be read (the address of the Lower page, the Middle page, or the Upper page) is input. Finally, when the read execution command (30h) is 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, Middle page, or Upper page. After that, the chip becomes ready 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. 25 (B), in the case of the word line WLi whose program has been completed up to the 2nd stage, a command (25h) indicating the completion state up to the 2nd stage is first input as a command to execute the read operation. Will be done. After that, the read start command (00h) is input, and then the address of the block page to be read (the address of the Lower page, the Middle page, or the Upper page) is input. Finally, when the read execution command (30h) is 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, Middle page, or Upper page. After that, the chip becomes ready and the read data is output.
なお、第1の実施形態に対する第2の実施形態の変形と同様の変形を、本実施形態に適用してもよい。すなわち、本実施形態においても、ワード線WLn−1の2ndステージのプログラムと、ワード線WLnの1stステージのプログラムとがまとめて行なわれてもよい。 In addition, the same modification as the modification of the second embodiment with respect to the first embodiment may be applied to the present embodiment. That is, also in this embodiment, the program of the 2nd stage of the word line WLn-1 and the program of the 1st stage of the word line WLn may be collectively performed.
また、本実施形態では、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 1-3-3 data coding type does not require the restriction that the number of boundaries at Lower is 1. Therefore, 1-3-3 data coding other than 1-3-3 data coding used in the first to third embodiments may be applied. Specific states of 1-3-3 data coding of the present embodiment are shown in FIGS. 5-8, 12-15, 18, 20, 22, 24, 28-30, etc. of JP2015-195071A. 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, similarly to the first embodiment, when programming the non-volatile memory 2 (3 bit / Cell NAND memory having a three-dimensional structure or a two-dimensional structure), 1-3 -3 Data coding was adopted, and the program was a two-stage system. Since the program is programmed in a two-stage system in this way, the amount of data input during the data program 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. 26 to 30. In the fifth embodiment, it is recorded in the memory cell (flag cell) whether the program for the word line WLi is completed in the 1st stage or the 2nd stage, and when the data is read, the information recorded in the flag cell is recorded. The read sequence is properly controlled based on.
なお、本実施形態でも第1の実施形態の図6で説明したものと同じデータコーディングを用いる場合について説明する。また、以下の説明では、データを記憶するメモリセルアレイをデータ記憶セルという場合がある。また、1stステージと2ndステージとの何れまで完了したかを示す情報を完了情報という場合がある。本実施形態では、2ndステージまで完了している場合には、フラグセルにデータが書き込まれるので、このデータが2ndステージまで完了したことを示す完了情報となる。一方、2ndステージまで完了していない場合には、フラグセルにデータが書き込まれないので、この未書き込みのデータが2ndステージまで完了していないことを示す完了情報となる。 In this embodiment as well, a case where the same data coding as that described in FIG. 6 of the first embodiment is used will be described. Further, in the following description, a memory cell array for storing data may be referred to as a data storage cell. In addition, information indicating which of the 1st stage and the 2nd stage has been completed may be referred to as completion information. In the present embodiment, when the 2nd stage is completed, the data is written in the flag cell, so that the data is the completion information indicating that the 2nd stage has been completed. On the other hand, when the 2nd stage is not completed, the data is not written in the flag cell, so that the unwritten data is the completion information indicating that the 2nd stage has not been completed.
図26は、フラグセルの構成を説明するための図である。本実施形態でも第1の実施形態の図3で説明したメモリセルアレイと同様の構成を有したメモリセルアレイが用いられる。なお、図26では、セレクトゲート線SGD0に接続されたメモリセルトランジスタMTなどを図示しており、セレクトゲート線SGD1〜3に接続されたメモリセルトランジスタMTなどの図示を省略している。 FIG. 26 is a diagram for explaining the configuration of the flag cell. Also in this embodiment, a memory cell array having the same configuration as the memory cell array described in FIG. 3 of the first embodiment is used. Note that FIG. 26 shows the memory cell transistor MT and the like connected to the select gate line SGD0, and the memory cell transistor MT and the like connected to the select gate lines SGD1 to 3 are not shown.
ビット線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として用いられる。 A dummy cell DC and a flag cell FC are arranged next to the memory cell transistor (data storage cell) 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 the select gate line SGD0, the word line WL0 to WL7, the select gate line SGS, the source line SL, the dummy cell bit line DBL, and the like. Further, the flag cell FC is connected to the select gate line SGD0, the word line 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 cell FC is provided in units of word lines. That is, a part of the plurality of memory cells in the word line WLi is used as the flag cell FC. The number of flag cells FC may be one for each word line WLi, but it is preferable to have a plurality of flag cells FC in order to improve the reliability of data by multiplexing. Further, in order to suppress the influence of reliability deterioration 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 or the like that is 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 as to whether or not the 2nd stage program has been performed. The
図27Aは、第5の実施形態に係るフラグセルへのプログラムを説明するための図である。図27Aでは、2ndステージのプログラムの際に行われるフラグセルFCでのVth状態の遷移方法を示している。 FIG. 27A is a diagram for explaining a program for the flag cell according to the fifth embodiment. FIG. 27A shows a Vth state transition method in the flag cell FC performed during the 2nd stage program.
図27Aの(T51)は、プログラム前の初期状態である消去状態のフラグセルFCでのVth分布状態を示している。また、図27Aの(T52)は、1stステージのプログラムが完了した時点でのVth分布状態を示している。また、図27Aの(T53)は、2ndステージのプログラムが完了した時点でのVth分布状態を示している。本実施形態の制御部22は、2ndステージが完了する際に、図27Aの(T53)に示すように、書き込み目的地のVth分布状態が領域D以上(Vr4以上)となるよう、フラグセルFCにプログラムする。
FIG. 27A (T51) shows the Vth distribution state in the flag cell FC in the erased state, which is the initial state before the program. Further, (T52) in FIG. 27A shows the Vth distribution state at the time when the program of the 1st stage is completed. Further, (T53) in FIG. 27A shows the Vth distribution state at the time when the program of the 2nd stage is completed. When the 2nd stage is completed, the
フラグセルFCは、データセルと同時に2ndステージ時に書き込みが行なわれるが、フラグセルFC込みの閾値の遷移は、データセルよりも大きい。このため、フラグセルFCに隣接するデータセルの信頼性が悪化する場合は、フラグセルFCとデータセルとの間にダミーセルDCが設けられる。また、ダミーセルDCは、図27Bに示すように2ndステージ時にErからA又はB又はCへ書き込まれてもよい。 The flag cell FC is written at the same time as the data cell at the 2nd stage, but the threshold transition including the flag cell FC is larger than that of 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. Further, the dummy cell DC may be written from Er to A or B or C at the time of the 2nd stage as shown in FIG. 27B.
図27Bは、第5の実施形態に係るダミーセルへのプログラムを説明するための図である。図27Bでは、2ndステージのプログラムの際に行われるダミーセルDCでのVth状態の遷移方法を示している。 FIG. 27B is a diagram for explaining a program for a dummy cell according to a fifth embodiment. FIG. 27B shows a Vth state transition method in the dummy cell DC performed during the 2nd stage program.
図27Bの(T61)は、プログラム前の初期状態である消去状態のダミーセルDCでのVth分布状態を示している。また、図27Bの(T62)は、1stステージのプログラムが完了した時点でのVth分布状態を示している。また、図27Aの(T53)は、2ndステージのプログラムが完了した時点でのVth分布状態を示している。本実施形態の制御部22は、2ndステージが完了する際に、図27Bの(T63)に示すように、書き込み目的地のVth分布状態が領域C以下(Vr4以下)となるよう、ダミーセルDCにプログラムする。
FIG. 27B (T61) shows the Vth distribution state in the dummy cell DC in the erased state, which is the initial state before the program. Further, (T62) in FIG. 27B shows the Vth distribution state at the time when the program of the 1st stage is completed. Further, (T53) in FIG. 27A shows the Vth distribution state at the time when the program of the 2nd stage is completed. When the 2nd stage is completed, the
図28は、第5の実施形態に係る2ndステージでの書き込み手順を示すフローチャートである。なお、図9Cで説明した処理と同様の処理については、その説明を省略する。第5の実施形態に係る2ndステージのステップS2110〜S2180は、図9Cに示した第1の実施形態に係る2ndステージのステップS310〜S380と同じである。 FIG. 28 is a flowchart showing a writing procedure in the 2nd stage according to the fifth embodiment. The same processing as that described with reference to FIG. 9C will be omitted. The steps S210 to S2180 of the 2nd stage according to the fifth embodiment are the same as the steps S310 to S380 of the 2nd stage according to the first embodiment shown in FIG. 9C.
本実施形態では、Middleページ、UpperページおよびフラグセルFCへのプログラム先のVthが決定された後(ステップS2180)、決定されたVthを用いて、データ記憶セル(Middleページ、Upperページ)およびフラグセルFCへのデータ書き込みが行われる。 In the present embodiment, after the Vth of the program destination to the Middle page, Upper page and flag cell FC is determined (step S2180), the determined Vth is used to determine the data storage cell (Middle page, Upper page) and the flag cell FC. Data is written to.
第5の実施形態に係る2ndステージでは、Middleページ、UpperページおよびフラグセルFCへのデータ書き込みの際に、1〜複数回のプログラム電圧パルスが印加される。(ステップS2190)。そして、メモリセルがしきい値境界レベルを超えて移動したか否かを確認するために、Middleページ、UpperページおよびフラグセルFCに対してデータ読み出しが行なわれる(ステップS2200)。 In the 2nd stage according to the fifth embodiment, one or a plurality of program voltage pulses are applied when writing data to the Middle page, Upper page, and flag cell FC. (Step S2190). Then, in order to confirm whether or not the memory cell has moved beyond the threshold boundary level, data is read out to the Middle page, Upper page, and 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 fail bits of the data on the Middle page and the Upper page is smaller than the criteria (step S2210). When the number of fail bits of data on the Middle page and Upper page is equal to or greater than the criteria (steps S2210, No), the processes of steps S2190 to S2210 are repeated. In this case, the processing of steps S2190 and S2210 for the flag cell FC is omitted.
そして、MiddleページおよびUpperページにおけるデータのフェイルビット数がクライテリアよりも小さくなると(ステップS2210、Yes)、フラグセルFCにおけるデータのフェイルビット数がクライテリアよりも小さいか否かが確認される(ステップS2220)。 Then, when the number of fail bits of the data on the Middle page and the Upper page is smaller than the criteria (step S2210, Yes), it is confirmed whether or not the number of fail bits of the data 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 data in the flag cell FC is equal to or greater than the criteria (steps S2220, No), the processes of steps S2190 to S2220 are repeated. In this case, the processing of steps S2190 to S2210 for the Middle page and Upper page is omitted.
そして、フラグセルFCにおけるデータのフェイルビット数がクライテリアよりも小さくなると(ステップS2220、Yes)、チップレディーとなる(ステップS2230)。 Then, when the number of fail bits of the data in the flag cell FC becomes smaller than the criteria (step S2220, Yes), the data becomes chip ready (step S2230).
このように、本実施形態のステップS2190(プログラム電圧パルスを印加するステップ)では、データを書き込むデータ記憶セルに加え、フラグセルFCに対してもプログラム電圧パルスが同時に印加される。そして、この後のデータ読み出しにおいても、データ記憶セルとフラグセルFCとがプログラムされたか否かを確認するために、データ記憶セル内のデータとフラグセルFC内のデータ(完了情報)とが読み出される。 As described above, in step S2190 (step of applying the program voltage pulse) of the present embodiment, the program voltage pulse is simultaneously applied to the flag cell FC in addition to the data storage cell for writing the data. Then, also in the subsequent data reading, the data in the data storage cell and the data (completion information) in the flag cell FC are read out in order to confirm whether or not the data storage cell and the flag cell FC are programmed.
その後、データ記憶セルおよびフラグセルFCから読み出されたデータと、期待値に対応するクライテリアとが比較される。このとき、フェイルしたビットの数がカウントされるが、データ記憶セル内でフェイルしたデータとフラグセルFC内でフェイルしたデータとは、別々にカウントされ、それぞれのクライテリアと比較される。何れか一方でもクライテリアを満たさない場合には、再びプログラム電圧パルスの印加手順に戻る。何れの比較においてもクライテリアを満たした場合には、チップをレディーとして終了となる。 After that, the data read from the data storage cell and the flag cell FC is compared with the criteria corresponding to the expected value. At this time, the number of failed bits is counted, but the data that failed in the data storage cell and the data that failed in the flag cell FC are counted separately and compared with their respective criteria. If neither of them satisfies the criteria, the procedure for applying the program voltage pulse is returned again. If the criteria are met in any of the comparisons, the chip is considered ready and the process ends.
第1の実施形態におけるページ読み出しでは、読み出し対象ページを含むワード線WLiに対するプログラムが、1stステージと2ndステージとの何れまで完了したかによって、別々の処理順が用いられた。そして、何れの処理手順を実施するかは外部読み出しコマンドに基づいて決定されていた。しかし、本実施形態では、1stステージと2ndステージとの何れまで完了したかは、メモリコントローラ1からのコマンドで指示されるのではなく、フラグセルFC内の完了情報に従って判断される。すなわち、制御部22は、読み出しコマンドをメモリコントローラ1から受信すると、まずフラグセルFC内のデータである完了情報を読み出す。そして、制御部22は、フラグセルFCが書き込み済みであるか否かに応じて、1stステージと2ndステージとの何れまで完了しているかを判定する。
In the page reading in the first embodiment, different processing orders were used depending on whether the program for the word line WLi including the page to be read was completed in the 1st stage or the 2nd stage. Then, which processing procedure is to be performed has been determined based on the external read command. However, in the present embodiment, which of the 1st stage and the 2nd stage is completed is determined not by the 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 writing level to the flag cell FC is set to D level or higher. Therefore, the reading of the flag cell FC is possible with any one reading voltage of Vr1, Vr2, Vr3 or Vr4. Therefore, the
一方、フラグセルFCが未書き込みと判定された場合、Lowerページが読み出し対象であるなら、制御部22は、Vr1でデータを読み直す。また、Middle/Upperページが読み出し対象であるなら、制御部22は、これ以降の読み出しは不要と判断し、出力データを強制的に“1”とする。
On the other hand, when the flag cell FC is determined to be unwritten and the Lower page is the read target, the
フラグセルFCの読み出し結果(完了情報)からフラグセルFCが書き込み済みか否かを判定する際に、制御部22は、フラグセルFCが1個であるならば、そのセル自身が書き込み済みであるか否かを判定すればよい。また、フラグセルFCのデータの信頼度を上げるためにフラグセルFCが複数個設けられている場合がある。この場合、制御部22は、たとえば、複数個のフラグセルFCのうちのあるフラグセルFCから、クライテリアの数以上のセルが書き込みされたことを示す完了情報が読み出された場合、フラグセルFCは書き込み済みであると判断する。
When determining whether or not the flag cell FC has been written from the read result (completion information) of the flag cell FC, the
ここで、ページ読み出しの具体的な処理手順について説明する。図29は、第5の実施形態に係るページ読み出しの処理手順を示すフローチャートである。なお、図29に示した処理のうち、図12Aまたは図24Aに示した処理と同様の処理については、その説明を省略する。 Here, a specific processing procedure for reading the page will be described. FIG. 29 is a flowchart showing a page reading processing procedure according to the fifth embodiment. Of the processes shown in FIG. 29, the same processes as those shown in FIGS. 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 already 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 a 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 already been written in the flag cell FC (steps 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 already 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 showing an example of a sequence of external read commands according to the fifth embodiment. In this embodiment, there is only one type of read command. As shown in FIG. 30, a read start command (00h) is input as a command to execute the read operation, and then the address of the block page to be read (the address of the Lower page, the Middle page, or the Upper page) is input. .. Finally, when the read execution command (30h) is 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, Middle page, or Upper page. After that, the chip becomes ready and the read data is output.
このように第5の実施形態では、フラグセルFCに完了情報を記憶させておくので、1stステージと2ndステージとの何れまで完了したかに依らず、同じ処理順でページデータを読み出すことが可能となる。 As described above, in the fifth embodiment, since the completion information is stored in the flag cell FC, it is possible to read the page data in the same processing order regardless of whether the 1st stage or the 2nd stage is completed. Become.
(第6の実施形態)
つぎに、図31〜図36を用いて第6の実施形態について説明する。第6の実施形態では、3次元構造または2次元構造を有した4bit/Cell(QLC:Quadruple Level Cell)の不揮発性メモリ2に対して2ステージでページ単位の書き込みを実施する。
(Sixth Embodiment)
Next, the sixth embodiment will be described with reference to FIGS. 31 to 36. In the sixth embodiment, page-by-page writing is performed in two stages on the
図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 showing an example of the threshold value region of the sixth embodiment. FIG. 31 shows an example of the 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 the present embodiment, the region where the threshold voltage is Vr11 or less is called region Er1, the region where the threshold voltage is larger than Vr11 and Vr12 or less is called region A1, and the threshold voltage is larger than Vr12 and Vr13 or less. The region where the threshold voltage is greater than Vr13 and Vr14 or less is referred to as region C1. Further, in the present embodiment, the region where the threshold voltage is larger than Vr14 and Vr15 or less is called a region D1, and the region where the threshold voltage is larger than Vr15 and Vr16 or less is called a region E1. The region larger than Vr16 and Vr17 or less is called a region F1, and the region where the threshold voltage is larger than Vr17 and Vr18 or less 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とよぶ。 Further, in the present embodiment, the region where the threshold voltage is larger than Vr18 and Vr19 or less is called region H1, the region where the threshold voltage is larger than Vr19 and Vr20 or less is called region I1, and the threshold voltage is called region I1. The region larger than Vr20 and lower than Vr21 is called region J1, and the region where the threshold voltage is larger than Vr21 and lower than Vr22 is called region K1. Further, in the present embodiment, the region where the threshold voltage is larger than Vr22 and Vr23 or less is called a region L1, and the region where the threshold voltage is larger than Vr23 and Vr24 or less is called a region M1. The region larger than Vr24 and equal to or less than Vr25 is called a region N1, and the region where the threshold voltage is larger than Vr25 is called 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は、各領域の境界となるしきい値電圧である。 Further, the threshold distributions corresponding to the regions Er1, A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, L1, M1, N1, O1 are distributed respectively Er1, A1, B1, respectively. It is called C1, D1, E1, F1, G1, H1, I1, J1, K1, L1, M1, N1, O1 (the first to 16th distributions). Vr11 to Vr25 are threshold voltages that serve as boundaries between regions.
以下の図32,34,36は、4bit/Cellのメモリセルに対する各プログラムステージ後のしきい値分布を示している。また、図32に示すしきい値分布と図33に示すデータコーディングは、1−4−5−5コーディングに対応している。1−4−5−5コーディングは、ビット値を判定するための境界数が、Lowerページ、Middleページ、Upperページ、Higherページでそれぞれ1,4,5,5である。 Figures 32, 34, and 36 below show the threshold distribution after each program stage for 4-bit / Cell memory cells. The threshold distribution shown in FIG. 32 and the data coding shown in FIG. 33 correspond to 1-4-5-5 coding. In 1-4-5-5 coding, the number of boundaries for determining the bit value is 1, 4, 5, 5 for the Lower page, Middle page, Upper page, and Higher page, respectively.
図32は、第6の実施形態におけるプログラム後のしきい値分布を示す第1例の図である。図32の(T71)は、プログラム前の初期状態である消去状態のしきい値分布を示している。図32の(T72)は、1stステージのプログラム後のしきい値分布を示している。図32の(T73)は、2ndステージのプログラム後のしきい値分布を示している。 FIG. 32 is a diagram of a first example showing the threshold distribution after the program in the sixth embodiment. FIG. 32 (T71) shows the threshold distribution of the erased state, which is the initial state before the program. FIG. 32 (T72) shows the threshold distribution after programming the 1st stage. FIG. 32 (T73) shows the threshold distribution after programming the 2nd stage.
図32の(T71)に示すように、NANDメモリセルアレイ23の全メモリセルは、未書き込みの状態では分布Erである。不揮発性メモリ2の制御部22は、図32の(T72)に示すように、1stステージのプログラムでは、LowerページおよびMiddleページに書き込むビット値に応じて、メモリセルごとに分布Erのままとする、または電荷を注入して分布Erよりも上の分布に移動させる。これにより、メモリセルは、LowerページデータおよびMiddleページデータによって、4値のレベルにプログラムされる。
As shown in FIG. 32 (T71), 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 2nd stage program, two pages, an Upper page and a Higher page, are required 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. 32. In the data coding shown in FIG. 33, for example, the memory cell whose threshold voltage is in the Er1 region stores "1111" as the data value of the bit corresponding to the Upper, Middle, Lower, and Higher pages. is there. Further, the memory cell whose threshold voltage is in the A1 region is in a state of storing "1011".
また、以下の図34に示すしきい値分布と図35に示すデータコーディングは、1−6−4−4コーディングに対応している。1−6−4−4コーディングは、ビット値を判定するための境界数が、Lowerページ、Middleページ、Upperページ、Higherページでそれぞれ1,6,4,4である。 Further, the threshold distribution shown in FIG. 34 and the data coding shown in FIG. 35 correspond to the 1-6-4-4 coding. In 1-6-4-4 coding, the number of boundaries for determining the bit value is 1, 6, 4, 4 for the Lower page, Middle page, Upper page, and Higher page, respectively.
図34は、第6の実施形態におけるプログラム後のしきい値分布を示す第2例の図である。図34の(T81)は、プログラム前の初期状態である消去状態のしきい値分布を示している。図34の(T82)は、1stステージのプログラム後のしきい値分布を示している。図34の(T83)は、2ndステージのプログラム後のしきい値分布を示している。 FIG. 34 is a diagram of a second example showing the post-programmed threshold distribution in the sixth embodiment. FIG. 34 (T81) shows the threshold distribution of the erased state, which is the initial state before the program. FIG. 34 (T82) shows the threshold distribution after the program of the 1st stage. FIG. 34 (T83) shows the threshold distribution after programming the 2nd stage.
図34の(T81)に示すように、NANDメモリセルアレイ23の全メモリセルは、未書き込みの状態では分布Erである。不揮発性メモリ2の制御部22は、図34の(T82)に示すように、1stステージのプログラムでは、LowerページおよびMiddleページに書き込むビット値に応じて、メモリセルごとに分布Erのままとする、または電荷を注入して分布Erよりも上の分布に移動させる。これにより、メモリセルは、LowerページデータおよびMiddleページデータによって、4値のレベルにプログラムされる。
As shown in FIG. 34 (T81), all the memory cells of the NAND
また、図34の(T83)に示すように、2ndステージのプログラムでは、データの書き込みにはUpperページとHigherページの2ページが必要である。そして、不揮発性メモリ2の制御部22は、2ndステージのプログラム後のしきい値分布を、各隣接する分布が分離された最終状態で16値のレベルとなるようにプログラムする。この場合、全てのページデータの読み出しが可能である。
Further, as shown in FIG. 34 (T83), in the 2nd stage program, two pages, an Upper page and a Higher page, are required 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. 34. In the data coding shown in FIG. 35, for example, the memory cell whose threshold voltage is in the Er1 region stores "1111" as the data value of the bit corresponding to the Upper, Middle, Lower, and Higher pages. is there. Further, the memory cell whose threshold voltage is in the A1 region is in a state of storing "0111".
また、以下の図36に示すしきい値分布と図37に示すデータコーディングは、1−2−6−6コーディングに対応している。1−2−6−6コーディングは、ビット値を判定するための境界数が、Lowerページ、Middleページ、Upperページ、Higherページでそれぞれ1,2,6,6である。 Further, the threshold distribution shown in FIG. 36 and the data coding shown in FIG. 37 correspond to the 1-2-6-6 coding. In the 1-2-6-6 coding, the number of boundaries for determining the bit value is 1, 2, 6, and 6 on the Lower page, Middle page, Upper page, and Higher page, respectively.
図36は、第6の実施形態におけるプログラム後のしきい値分布を示す第3例の図である。図36の(T91)は、プログラム前の初期状態である消去状態のしきい値分布を示している。図36の(T92)は、1stステージのプログラム後のしきい値分布を示している。図36の(T93)は、2ndステージのプログラム後のしきい値分布を示している。 FIG. 36 is a diagram of a third example showing the post-programmed threshold distribution in the sixth embodiment. FIG. 36 (T91) shows the threshold distribution of the erased state, which is the initial state before the program. FIG. 36 (T92) shows the threshold distribution after the program of the 1st stage. FIG. 36 (T93) shows the threshold distribution after programming the 2nd stage.
図36の(T91)に示すように、NANDメモリセルアレイ23の全メモリセルは、未書き込みの状態では分布Erである。不揮発性メモリ2の制御部22は、図36の(T92)に示すように、1stステージのプログラムでは、LowerページおよびMiddleページに書き込むビット値に応じて、メモリセルごとに分布Erのままとする、または電荷を注入して分布Erよりも上の分布に移動させる。これにより、メモリセルは、LowerページデータおよびMiddleページデータによって、4値のレベルにプログラムされる。
As shown in FIG. 36 (T91), all the memory cells of the NAND
また、図36の(T93)に示すように、2ndステージのプログラムでは、データの書き込みにはUpperページとHigherページの2ページが必要である。そして、不揮発性メモリ2の制御部22は、2ndステージのプログラム後のしきい値分布を、各隣接する分布が分離された最終状態で16値のレベルとなるようにプログラムする。この場合、全てのページデータの読み出しが可能である。
Further, as shown in FIG. 36 (T93), in the 2nd stage program, two pages, an Upper page and a Higher page, are required 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, the memory cell whose threshold voltage is in the Er1 region stores "1111" as the data value of the bit corresponding to the Upper, Middle, Lower, and Higher pages. is there. Further, the memory cell whose threshold voltage is in the B1 region is in a state of storing "0011".
本実施形態においても、第1〜第5の実施形態と同様の処理によって、プログラムが実行され、各ページデータの読み出しが行われる。 Also in the present embodiment, the program is executed and the page data is read by the same processing as in the first to fifth embodiments.
このように第6の実施形態では、3次元構造または2次元構造を有した4bit/Cellの不揮発性メモリ2に対して2ステージでページ単位の書き込みを実施するので、第1〜第5の実施形態と同様の効果を得ることが可能となる。
As described above, in the sixth embodiment, since the page-by-page writing is performed in two stages to the 4-bit / Cell
なお、第1〜第6の実施形態が組み合されてもよい。例えば、第4の実施形態や第5の実施形態に、第2〜第4の実施形態の少なくとも1つが組み合されてもよい。 In addition, the 1st to 6th 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コーディングを適用してもよい。
Further, in the first to sixth embodiments, the case 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 2nd stage write described in FIGS. 7, 12, 17, 19, and 29 are the read levels (T3) after the 2nd stage write. It may be slightly different from Vr1 and Vr4). Further, the read levels (Vr1, Vr3, Vr5, Vr7) before the 2nd stage write and after the 2nd stage write described with reference to FIGS. 21 and 24 are the read levels (Vr1, Vr3, Vr5) after the 2nd stage write (T3). , Vr7) may be slightly different.
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other embodiments, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are also included in the scope of the invention described in the claims and the equivalent scope thereof.
1…メモリコントローラ、2…不揮発性メモリ、11…RAM、12…プロセッサ、22…制御部、23…NANDメモリセルアレイ、FC…フラグセル、MT…メモリセルトランジスタ。 1 ... Memory controller, 2 ... Non-volatile memory, 11 ... RAM, 12 ... Processor, 22 ... Control unit, 23 ... NAND memory cell array, FC ... Flag cell, MT ... Memory cell transistor.
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のしきい値領域のうちのいずれのしきい値領域よりも電圧レベルが高く、
前記4個の第22のしきい値領域は、前記第1から第16のしきい値領域のうちの連続する4個のしきい値領域であり、
前記4個の第24のしきい値領域は、前記第1から第16のしきい値領域のうちの連続する4個のしきい値領域であり、
前記4個の第21のしきい値領域は、前記第1から第16のしきい値領域のうちの連続する4個のしきい値領域であり、
前記4個の第23のしきい値領域は、前記第1から第16のしきい値領域のうちの連続する4個のしきい値領域であり、
前記4個の第22のしきい値領域のしきい値領域はいずれも、前記4個の第21のしきい値領域のうちのいずれのしきい値領域よりも電圧レベルが高く、
前記4個の第24のしきい値領域のしきい値領域はいずれも、前記4個の第23のしきい値領域のうちのいずれのしきい値領域よりも電圧レベルが高く、
前記第1から第16のしきい値領域のうち隣接するしきい値領域間に存在する15個の境界のうち、前記第1ビットのデータの値の判定に用いられる第1の境界の数、前記第2ビットのデータの値の判定に用いられる第2の境界の数、前記第3ビットのデータの値の判定に用いられる第3の境界の数、前記第4ビットのデータの値の判定に用いられる第4の境界の数が順に1、2、6、6である、
メモリシステム。 A first threshold area indicating an erased state in which data has been erased, and a second to 16th write states in which data is written at a higher voltage level than the first threshold area, respectively. A non-volatile memory having a plurality of memory cells capable of storing 4-bit data represented by the 1st to 4th bits by 16 threshold areas including the threshold area.
After the first program for writing the data of the first bit and the second bit is performed on the non-volatile memory, the second program for writing the data of the third bit and the fourth bit is performed on the non-volatile memory. Memory controller and
With
In the memory controller, the threshold area in the memory cell has a 17th threshold area indicating an erased state in which data has been erased according to the data of the first bit and the second bit, and the first threshold area. The first program is set so that the threshold area is one of the 18th to 20th threshold areas indicating a writing state in which data is written with a higher voltage level than the threshold area of 17. Is configured to cause the non-volatile memory to perform
In the memory controller, the threshold area in the memory cell has a threshold value of any one of the 17th to 20th threshold areas according to the data of the 3rd bit and the 4th bit. The non-volatile memory is configured to perform the second program from the area so as to be one of the threshold areas of the first to sixteenth threshold areas.
The nth threshold region has a higher voltage level than the (n-1) threshold region (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) threshold region (k is a natural number of 18 or more and 20 or less).
In the memory controller, the threshold area in the memory cell is the first to 16th thresholds from the 17th threshold area according to the data of the 3rd bit and the 4th bit. When the non-volatile memory is made to perform the second program so as to be in any one of the threshold areas, the four 21st of the first to 16th threshold areas The non-volatile memory is configured to perform the second program so as to be in one of the threshold areas.
In the memory controller, the threshold area in the memory cell is the first to 16th thresholds from the 18th threshold area according to the data of the 3rd bit and the 4th bit. When the non-volatile memory is made to perform the second program so as to be one of the threshold areas of the area, the four 22nd of the first to 16th threshold areas The non-volatile memory is configured to perform the second program so as to be in one of the threshold areas.
In the memory controller, the threshold area in the memory cell is the first to 16th thresholds from the 19th threshold area according to the data of the 3rd bit and the 4th bit. When the non-volatile memory is made to perform the second program so as to be one of the threshold areas of the area, the four 23rd of the first to 16th threshold areas The non-volatile memory is configured to perform the second program so as to be in one of the threshold areas.
In the memory controller, the threshold area in the memory cell is the first to 16th thresholds from the 20th threshold area according to the data of the 3rd bit and the 4th bit. When the non-volatile memory is made to perform the second program so as to be one of the threshold areas of the area, the four 24th of the first to 16th threshold areas The non-volatile memory is configured to perform the second program so as to be in one of the threshold areas.
The threshold areas of the four 23rd threshold areas and the threshold areas of the four 24th threshold areas are all among the four 21st threshold areas. The voltage level is higher than any of the threshold regions of
The threshold areas of the four 23rd threshold areas and the threshold areas of the four 24th threshold areas are all among the four 22nd threshold areas. voltage level than any of the threshold region of rather high,
The four 22nd threshold areas are four consecutive threshold areas among the first to 16th threshold areas.
The four 24th threshold areas are four consecutive threshold areas among the first to sixteenth threshold areas.
The four 21st threshold areas are four consecutive threshold areas among the first to 16th threshold areas.
The four thirty-third threshold areas are four consecutive threshold areas among the first to sixteenth threshold areas.
The threshold regions of the four 22nd threshold regions all have higher voltage levels than any of the four 21st threshold regions.
Each of the four threshold regions of the 24th threshold region has a higher voltage level than any of the four 23rd threshold regions.
Of the 15 boundaries existing between adjacent threshold areas in the first to 16th threshold areas, the number of first boundaries used for determining the value of the data of the first bit. The number of second boundaries used to determine the value of the second bit data, the number of third boundaries used to determine the value of the third bit data, the determination of the value of the fourth bit data The number of fourth boundaries used in is 1, 2, 6, 6 in order.
Memory system.
前記第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のしきい値領域のうちのいずれのしきい値領域よりも電圧レベルが高く、
前記4個の第22のしきい値領域は、前記第1から第16のしきい値領域のうちの連続する4個のしきい値領域であり、
前記4個の第24のしきい値領域は、前記第1から第16のしきい値領域のうちの連続する4個のしきい値領域であり、
前記連続する4個の第22のしきい値領域は、前記4個の第21のしきい値領域のうちの1個のしきい値領域よりも電圧レベルが低く、前記4個の第21のしきい値領域のうちの残りの3個のしきい値領域よりも電圧レベルが高い、
メモリシステム。 A first threshold area indicating an erased state in which data has been erased, and a second to 16th writing states in which data is written at a higher voltage level than the first threshold area, respectively. A non-volatile memory having a plurality of memory cells capable of storing 4-bit data represented by the 1st to 4th bits by 16 threshold areas including the threshold area.
After the first program for writing the data of the first bit and the second bit is performed on the non-volatile memory, the second program for writing the data of the third bit and the fourth bit is performed on the non-volatile memory. Memory controller and
With
In the memory controller, the threshold area in the memory cell has a 17th threshold area indicating an erased state in which data has been erased according to the data of the first bit and the second bit, and the first threshold area. The first program is set so that the threshold area is one of the 18th to 20th threshold areas indicating a writing state in which data is written with a higher voltage level than the threshold area of 17. Is configured to cause the non-volatile memory to perform
In the memory controller, the threshold area in the memory cell has a threshold value of any one of the 17th to 20th threshold areas according to the data of the 3rd bit and the 4th bit. The non-volatile memory is configured to perform the second program from the area so as to be one of the threshold areas of the first to sixteenth threshold areas.
The nth threshold region has a higher voltage level than the (n-1) threshold region (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) threshold region (k is a natural number of 18 or more and 20 or less).
In the memory controller, the threshold area in the memory cell is the first to 16th thresholds from the 17th threshold area according to the data of the 3rd bit and the 4th bit. When the non-volatile memory is made to perform the second program so as to be in any one of the threshold areas, the four 21st of the first to 16th threshold areas The non-volatile memory is configured to perform the second program so as to be in one of the threshold areas.
In the memory controller, the threshold area in the memory cell is the first to 16th thresholds from the 18th threshold area according to the data of the 3rd bit and the 4th bit. When the non-volatile memory is made to perform the second program so as to be one of the threshold areas of the area, the four 22nd of the first to 16th threshold areas The non-volatile memory is configured to perform the second program so as to be in one of the threshold areas.
In the memory controller, the threshold area in the memory cell is the first to 16th thresholds from the 19th threshold area according to the data of the 3rd bit and the 4th bit. When the non-volatile memory is made to perform the second program so as to be one of the threshold areas of the area, the four 23rd of the first to 16th threshold areas The non-volatile memory is configured to perform the second program so as to be in one of the threshold areas.
In the memory controller, the threshold area in the memory cell is the first to 16th thresholds from the 20th threshold area according to the data of the 3rd bit and the 4th bit. When the non-volatile memory is made to perform the second program so as to be one of the threshold areas of the area, the four 24th of the first to 16th threshold areas The non-volatile memory is configured to perform the second program so as to be in one of the threshold areas.
The threshold areas of the four 23rd threshold areas and the threshold areas of the four 24th threshold areas are all among the four 21st threshold areas. The voltage level is higher than any of the threshold regions of
The threshold areas of the four 23rd threshold areas and the threshold areas of the four 24th threshold areas are all among the four 22nd threshold areas. voltage level than any of the threshold region of rather high,
The four 22nd threshold areas are four consecutive threshold areas among the first to 16th threshold areas.
The four 24th threshold areas are four consecutive threshold areas among the first to sixteenth threshold areas.
The four consecutive 22nd threshold regions have a lower voltage level than one of the four 21st threshold regions, and the four 21st threshold regions have a lower voltage level. The voltage level is higher than the remaining three threshold areas of the threshold area,
Memory system.
前記第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のしきい値領域のうちのいずれのしきい値領域よりも電圧レベルが高く、
前記4個の第22のしきい値領域のうちの2個のしきい値領域は、前記4個の第21のしきい値領域のうちの2個のしきい値領域よりも電圧レベルが低く、
前記4個の第22のしきい値領域のうちの残りの2個のしきい値領域は、前記4個の第21のしきい値領域のうちのいずれのしきい値領域よりも電圧レベルが高い、
メモリシステム。 A first threshold area indicating an erased state in which data has been erased, and a second to 16th write states in which data is written at a higher voltage level than the first threshold area, respectively. A non-volatile memory having a plurality of memory cells capable of storing 4-bit data represented by the 1st to 4th bits by 16 threshold areas including the threshold area.
After the first program for writing the data of the first bit and the second bit is performed on the non-volatile memory, the second program for writing the data of the third bit and the fourth bit is performed on the non-volatile memory. Memory controller and
With
In the memory controller, the threshold area in the memory cell has a 17th threshold area indicating an erased state in which data has been erased according to the data of the first bit and the second bit, and the first threshold area. The first program is set so that the threshold area is one of the 18th to 20th threshold areas indicating a writing state in which data is written with a higher voltage level than the threshold area of 17. Is configured to cause the non-volatile memory to perform
In the memory controller, the threshold area in the memory cell has a threshold value of any one of the 17th to 20th threshold areas according to the data of the 3rd bit and the 4th bit. The non-volatile memory is configured to perform the second program from the area so as to be one of the threshold areas of the first to sixteenth threshold areas.
The nth threshold region has a higher voltage level than the (n-1) threshold region (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) threshold region (k is a natural number of 18 or more and 20 or less).
In the memory controller, the threshold area in the memory cell is the first to 16th thresholds from the 17th threshold area according to the data of the 3rd bit and the 4th bit. When the non-volatile memory is made to perform the second program so as to be in any one of the threshold areas, the four 21st of the first to 16th threshold areas The non-volatile memory is configured to perform the second program so as to be in one of the threshold areas.
In the memory controller, the threshold area in the memory cell is the first to 16th thresholds from the 18th threshold area according to the data of the 3rd bit and the 4th bit. When the non-volatile memory is made to perform the second program so as to be one of the threshold areas of the area, the four 22nd of the first to 16th threshold areas The non-volatile memory is configured to perform the second program so as to be in one of the threshold areas.
In the memory controller, the threshold area in the memory cell is the first to 16th thresholds from the 19th threshold area according to the data of the 3rd bit and the 4th bit. When the non-volatile memory is made to perform the second program so as to be one of the threshold areas of the area, the four 23rd of the first to 16th threshold areas The non-volatile memory is configured to perform the second program so as to be in one of the threshold areas.
In the memory controller, the threshold area in the memory cell is the first to 16th thresholds from the 20th threshold area according to the data of the 3rd bit and the 4th bit. When the non-volatile memory is made to perform the second program so as to be one of the threshold areas of the area, the four 24th of the first to 16th threshold areas The non-volatile memory is configured to perform the second program so as to be in one of the threshold areas.
The threshold areas of the four 23rd threshold areas and the threshold areas of the four 24th threshold areas are all among the four 21st threshold areas. The voltage level is higher than any of the threshold regions of
The threshold areas of the four 23rd threshold areas and the threshold areas of the four 24th threshold areas are all among the four 22nd threshold areas. voltage level than any of the threshold region of rather high,
Two of the four 22nd threshold regions have lower voltage levels than the two threshold regions of the four 21st threshold regions. ,
The remaining two threshold regions of the four 22nd threshold regions have a higher voltage level than any of the four 21st threshold regions. high,
Memory system.
前記4個の第24のしきい値領域のうちの残りの2個のしきい値領域は、前記4個の第23のしきい値領域のうちのいずれのしきい値領域よりも電圧レベルが高い、
請求項5に記載のメモリシステム。 Two of the four 24th threshold regions have lower voltage levels than the two threshold regions of the four 23rd threshold regions. ,
The remaining two threshold areas of the four 24th threshold areas have a higher voltage level than any of the four 23rd threshold areas. high,
The memory system according to claim 5 .
前記制御部は、前記メモリコントローラからの前記第2プログラムを実行する指示に対して、書き込み済みの前記第1プログラムにより書き込まれたデータを読み出し、前記読み出したデータと、前記メモリコントローラから指示された前記第3ビット及び前記第4ビットのデータと、を使用して前記第2プログラムを実行する、
ことを特徴とする請求項1から請求項7のうちのいずれか一項に記載のメモリシステム。 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 the written data written by the first program in response to the instruction from the memory controller to execute the second program, and is instructed by the read data and the memory controller. The second program is executed using the third bit and the fourth bit of data.
The memory system according to any one of claims 1 to 7 , wherein the memory system is characterized in that.
前記複数のメモリセルのうちの第1のワード線に電気的に接続された第1のメモリセルグループに対する前記第1プログラムの後に、前記複数のメモリセルのうちの第2のワード線に電気的に接続された第2のメモリセルグループに対する前記第1プログラムを実行させ、
前記第2のメモリセルグループに対する前記第1プログラムの後に、前記第1のメモリセルグループに対する前記第2プログラムを実行させる、
請求項8に記載のメモリシステム。 The memory controller
After the first program for a 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. The first program is executed for the second memory cell group connected to.
After the first program for the second memory cell group, the second program for the first memory cell group is executed.
The memory system according to claim 8 .
第1のストリングの前記第1のワード線に対する第1プログラムの実行よりも後に、第2のストリングの前記第1のワード線に対する第1プログラムを実行させ、
第2のストリングの前記第1のワード線に対する第1プログラムの実行よりも後に、前記第1のストリングの前記第1のワード線に対する第2プログラムを実行させる、
請求項9に記載のメモリシステム。 The memory controller
After executing the first program for the first word line of the first string, the first program for the first word line of the second string is executed.
After executing the first program for the first word line of the second string, the second program for the first word line of the first string is executed.
The memory system according to claim 9 .
その後、前記制御部は、前記第2のメモリセルグループに対する前記第1プログラムと、前記第1のメモリセルグループに対する前記第2プログラムと、を実行する、
請求項9又は請求項10に記載のメモリシステム。 The memory controller inputs the data corresponding to the first program for the second memory cell group and the data corresponding to the second program for the first memory cell group into the non-volatile memory.
After that, 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 9 or 10 .
前記メモリコントローラは、前記第1プログラムを前記不揮発性メモリに実行させる指示において、前記第1のページのデータと前記第2のページのデータとを指定し、前記第2プログラムを前記不揮発性メモリに実行させる指示において、前記第3のページのデータと前記第4のページのデータとを指定する、The memory controller designates the data on the first page and the data on the second page in the instruction to execute the first program in the non-volatile memory, and transfers the second program to the non-volatile memory. In the instruction to be executed, the data of the third page and the data of the fourth page are specified.
請求項8から請求項13のうちのいずれか一項に記載のメモリシステム。The memory system according to any one of claims 8 to 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 JP2020030881A (en) | 2020-02-27 |
JP6759440B2 true 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) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7813170B2 (en) * | 2005-11-11 | 2010-10-12 | Kabushiki Kaisha Toshiba | Semiconductor memory device capable of memorizing multivalued data |
JP4679490B2 (en) * | 2005-11-11 | 2011-04-27 | 株式会社東芝 | Semiconductor memory device |
US7701765B2 (en) * | 2006-12-28 | 2010-04-20 | Micron Technology, Inc. | Non-volatile multilevel memory cell programming |
KR101635504B1 (en) * | 2009-06-19 | 2016-07-04 | 삼성전자주식회사 | Program method of non-volatile memory device with three-dimentional vertical channel structure |
US8355280B2 (en) * | 2010-03-09 | 2013-01-15 | Samsung Electronics Co., Ltd. | Data storage system having multi-bit memory device and operating method thereof |
KR101653262B1 (en) * | 2010-04-12 | 2016-09-02 | 삼성전자주식회사 | Program method of multi-bit memory and data storage system using the same |
US9606730B2 (en) * | 2012-05-04 | 2017-03-28 | Samsung Electronics Co., Ltd. | System and method including three dimensional nonvolatile memory device and random access memory |
KR102024850B1 (en) * | 2012-08-08 | 2019-11-05 | 삼성전자주식회사 | Memory system including three dimensional nonvolatile memory device and programming method thereof |
-
2019
- 2019-11-28 JP JP2019215688A patent/JP6759440B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2020030881A (en) | 2020-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112837734B (en) | Storage system | |
KR102408858B1 (en) | A nonvolatile memory device, a memory system including the same and a method of operating a nonvolatile memory device | |
US9991007B2 (en) | Nonvolatile memory device and a method of operating the same | |
KR102102224B1 (en) | Storage and programming method thereof | |
US9466386B2 (en) | Storage device and related programming method | |
US9478304B2 (en) | Semiconductor memory device and operating method thereof | |
US11651829B2 (en) | Nonvolatile memory device and operation method thereof | |
TWI760795B (en) | memory system | |
KR20150108179A (en) | Semiconductor apparatus | |
US20150058697A1 (en) | Storage device, controller and memory controlling method | |
JP2020047330A (en) | Semiconductor storage device | |
US11646076B2 (en) | Nonvolatile memory multilevel cell programming | |
JP2019164850A (en) | Memory system | |
JP2020047329A (en) | Semiconductor storage device | |
JP6759440B2 (en) | Memory system | |
JP6949178B2 (en) | Memory system | |
JP7135185B2 (en) | Information processing system | |
CN112825026B (en) | Memory system | |
WO2024124417A1 (en) | Best read reference voltage search of 3d nand memory | |
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 | Written amendment |
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 |