JP6949178B2 - Memory system - Google Patents

Memory system Download PDF

Info

Publication number
JP6949178B2
JP6949178B2 JP2020125604A JP2020125604A JP6949178B2 JP 6949178 B2 JP6949178 B2 JP 6949178B2 JP 2020125604 A JP2020125604 A JP 2020125604A JP 2020125604 A JP2020125604 A JP 2020125604A JP 6949178 B2 JP6949178 B2 JP 6949178B2
Authority
JP
Japan
Prior art keywords
program
data
stage
page
memory
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
Application number
JP2020125604A
Other languages
Japanese (ja)
Other versions
JP2020184404A (en
Inventor
徳正 原
徳正 原
柴田 昇
昇 柴田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kioxia Corp
Original Assignee
Kioxia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2016131025A external-priority patent/JP2018005959A/en
Application filed by Kioxia Corp filed Critical Kioxia Corp
Priority to JP2020125604A priority Critical patent/JP6949178B2/en
Publication of JP2020184404A publication Critical patent/JP2020184404A/en
Priority to JP2021148809A priority patent/JP7135185B2/en
Application granted granted Critical
Publication of JP6949178B2 publication Critical patent/JP6949178B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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 distributed to 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.

特開2015−195071号公報Japanese Unexamined Patent Publication No. 2015-19571 米国特許第9230664号明細書U.S. Pat. No. 9230664

本発明が解決しようとする課題は、セル間相互干渉を抑制しつつ、メモリコントローラの書き込みバッファ量を低減することができるメモリシステムを提供することである。 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から第8のしきい値領域とを合わせたしきい値領域であって前記第nのしきい値領域は前記第(n−1)のしきい値領域よりも電圧レベルが高い(nは2以上8以下の自然数)8個のしきい値領域により、第1から第3ビットで表わせられる3ビットのデータを記憶可能である。前記メモリコントローラは、バッファを備え、前記バッファに保存された前記第1ビットのデータを指定した第1プログラム用コマンドを前記不揮発性メモリに送信し、前記第1プログラム用コマンド送信後に、前記バッファに保存された前記第1ビットのデータを削除し、前記バッファに保存された前記第2ビット及び前記第3ビットのデータを指定した第2プログラム用コマンドを前記不揮発性メモリに送信するように構成される。前記不揮発性メモリは、前記送信された第1プログラム用コマンドに対して、前記指定された第1ビットのデータに応じて、前記メモリセルにおけるしきい値領域が、データが消去された消去状態を示す第9のしきい値領域と、前記第9のしきい値領域よりも電圧レベルが高くデータが書き込まれた書き込み状態を示す第10のしきい値領域とのうちのいずれかのしきい値領域になるように、前記メモリセルに対して第1のプログラムを実行するように構成される。前記不揮発性メモリは、前記送信された第2プログラム用コマンドに対して、前記第1のプログラムが実行されたメモリセルから前記第1ビットのデータを読み出し、前記読み出した第1ビットのデータと、前記指定された第2ビット及び第3ビットのデータとに基づいて、前記第9のしきい値領域から前記第1から第4のしきい値領域のうちのいずれかのしきい値領域に、前記第10のしきい値領域から前記第5から第8のしきい値領域のうちのいずれかのしきい値領域になるように前記メモリセルに対して第2のプログラムを実行するように構成される制御部を備える。前記第1から第8のしきい値領域のうち隣接するしきい値領域間に存在する第1から第7の境界のうち、前記第1ビットのデータの値の判定に用いられる境界の数は1であり、前記第2ビットのデータの値の判定に用いられる境界の数は3であり、前記第3ビットのデータの値の判定に用いられる境界の数は3であり、前記制御部は、前記第2のプログラムにおいて、前記第1のプログラムが実行されたメモリセルから複数回前記第1ビットのデータを読み出し、前記読み出した結果に関する多数決の結果を、前記読み出した第1ビットのデータとして使用する。 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. It is a threshold region including the second to eighth threshold regions shown, and the nth threshold region has a higher voltage level than the (n-1) threshold region (n-1). n is a natural number of 2 or more and 8 or less) It is possible to store 3-bit data represented by the first to third bits by eight threshold areas. The memory controller includes a buffer, transmits a command for a first program specifying the data of the first bit stored in the buffer to the non-volatile memory, and after transmitting the command for the first program, sends the command to the buffer. It is configured to delete the stored data of the first bit and send a command for a second program specifying the data of the second bit and the third bit stored in the buffer to the non-volatile memory. NS. In the non-volatile memory, in response to the transmitted first program command, the threshold area in the memory cell is in an erased state in which the data is erased according to the data of the designated first bit. One of the thresholds of the ninth threshold region shown and the tenth threshold region indicating a writing state in which data is written with a higher voltage level than the ninth threshold region. The first program is executed on the memory cell so as to be an area. The non-volatile memory reads the data of the first bit from the memory cell in which the first program is executed in response to the transmitted command for the second program, and receives the read data of the first bit and the data of the first bit. From the ninth threshold area to any of the first to fourth threshold areas, based on the designated second and third bit data. A second program is executed on the memory cell so as to change from the tenth threshold area to any one of the fifth to eighth threshold areas. It is provided with a control unit to be operated. Of the first to seventh boundaries existing between adjacent threshold areas in the first to eighth threshold areas, the number of boundaries used for determining the value of the data of the first bit is 1, the number of boundary used for determination of the second bit of the data value is 3, the number of boundary used for determination of the third-bit data values are three der, the control unit Reads the data of the first bit a plurality of times from the memory cell in which the first program is executed in the second program, and obtains the result of a majority decision regarding the read result of the read first bit data. We want to use as.

図1は、第1の実施形態にかかる記憶装置の構成例を示すブロック図である。FIG. 1 is a block diagram showing a configuration example of a storage device according to the first embodiment. 図2は、第1の実施形態の不揮発性メモリの構成例を示すブロック図である。FIG. 2 is a block diagram showing a configuration example of the non-volatile memory of the first embodiment. 図3は、3次元構造のメモリセルアレイのブロックの構成例を示す図である。FIG. 3 is a diagram showing a configuration example of a block of a memory cell array having a three-dimensional structure. 図4は、3次元構造のNANDメモリのメモリセルアレイの一部領域の断面図である。FIG. 4 is a cross-sectional view of a part of a memory cell array of a NAND memory having a three-dimensional structure. 図5は、第1の実施形態のしきい値領域の一例を示す図である。FIG. 5 is a diagram showing an example of a threshold value region of the first embodiment. 図6は、第1の実施形態のデータコーディングを示す図である。FIG. 6 is a diagram showing data coding of the first embodiment. 図7は、第1の実施形態におけるプログラム後のしきい値分布を示す図である。FIG. 7 is a diagram showing the threshold distribution after the program in the first embodiment. 図8Aは、第1の実施形態のプログラム順序の第1の例を示す図である。FIG. 8A is a diagram showing a first example of the program sequence of the first embodiment. 図8Bは、第1の実施形態のプログラム順序の第2の例を示す図である。FIG. 8B is a diagram showing a second example of the program sequence of the first embodiment. 図8Cは、第1の実施形態のプログラム順序の第3の例を示す図である。FIG. 8C is a diagram showing a third example of the program sequence of the first embodiment. 図9Aは、第1の実施形態に係る1ブロック分全体の書き込み手順の例を示すフローチャートである。FIG. 9A is a flowchart showing an example of a writing procedure for the entire block according to the first embodiment. 図9Bは、第1の実施形態に係る1stステージにおける書き込み手順を示すサブフローチャートである。FIG. 9B is a sub-flow chart showing a writing procedure in the 1st stage according to the first embodiment. 図9Cは、第1の実施形態に係る2ndステージでの書き込み手順を示すサブフローチャートである。FIG. 9C is a sub-flow chart showing a writing procedure in the 2nd stage according to the first embodiment. 図9Dは、第1の実施形態に係る2ndステージでの書き込み手順の変形例を示すサブフローチャートである。FIG. 9D is a sub-flow chart showing a modified example of the writing procedure in the 2nd stage according to the first embodiment. 図9Eは、複数回数の読み出し結果の多数決処理を説明するための図である。FIG. 9E is a diagram for explaining a majority decision process of the reading result of a plurality of times. 図10Aは、1−3−3コーディングを採用したLM-Foggy-Fineプログラムにおけるバッファデータ量を説明するための図である。FIG. 10A is a diagram for explaining the amount of buffer data in the LM-Foggy-Fine program that employs 1-3-3 coding. 図10Bは、第1の実施形態のプログラムにおけるバッファデータ量を説明するための図である。FIG. 10B is a diagram for explaining the amount of buffer data in the program of the first embodiment. 図11は、第1の実施形態に係る外部プログラムコマンドのシーケンスの例を示す図である。FIG. 11 is a diagram showing an example of a sequence of external program commands according to the first embodiment. 図12Aは、第1の実施形態に係る記憶装置において1stステージまでプログラムが完了しているワード線でのページ読み出しの処理手順を示すフローチャートである。FIG. 12A is a flowchart showing a processing procedure of reading a page with a word line in which the program is completed up to the 1st stage in the storage device according to the first embodiment. 図12Bは、第1の実施形態に係る記憶装置において2ndステージまでプログラムが完了しているワード線でのページ読み出しの処理手順を示すフローチャートである。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. 図13は、第1の実施形態に係る外部読み出しコマンドのシーケンスの例を示す図である。FIG. 13 is a diagram showing an example of a sequence of external read commands according to the first embodiment. 図14Aは、第2の実施形態に係る1ブロック分全体の書き込み手順を示すフローチャートである。FIG. 14A is a flowchart showing a writing procedure for the entire block according to the second embodiment. 図14Bは、第2の実施形態に係る1stステージおよび2ndステージにおける書き込み手順を示すサブフローチャートである。FIG. 14B is a sub-flow chart showing a writing procedure in the 1st stage and the 2nd stage according to the second embodiment. 図15は、第2の実施形態に係る外部プログラムコマンドのシーケンスの例を示す図である。FIG. 15 is a diagram showing an example of a sequence of external program commands according to the second embodiment. 図16は、電源遮断に起因するデータ破壊を説明するための図である。FIG. 16 is a diagram for explaining data corruption caused by power interruption. 図17は、第3の実施形態に係る2ndステージのプログラムを説明するための図である。FIG. 17 is a diagram for explaining a program of the 2nd stage according to the third embodiment. 図18は、第3の実施形態に係る2ndステージでの書き込み手順を示すフローチャートである。FIG. 18 is a flowchart showing a writing procedure in the 2nd stage according to the third embodiment. 図19は、第3の実施形態に係る2ndステージのプログラム変形例を説明するための図である。FIG. 19 is a diagram for explaining a program modification example of the 2nd stage according to the third embodiment. 図20は、1−3−3データコーディングの他の例を示す図である。FIG. 20 is a diagram showing another example of 1-3-3 data coding. 図21は、第4の実施形態におけるプログラム後のしきい値分布を示す図である。FIG. 21 is a diagram showing the threshold distribution after the program in the fourth embodiment. 図22Aは、第4の実施形態に係る1stステージにおける書き込み手順を示すサブフローチャートである。FIG. 22A is a sub-flow chart showing a writing procedure in the 1st stage according to the fourth embodiment. 図22Bは、第4の実施形態に係る2ndステージでの書き込み手順を示すサブフローチャートである。FIG. 22B is a sub-flow chart showing a writing procedure in the 2nd stage according to the fourth embodiment. 図22Cは、第4の実施形態に係る2ndステージでの書き込み手順の変形例を示すサブフローチャートである。FIG. 22C is a sub-flow chart showing a modified example of the writing procedure in the 2nd stage according to the fourth embodiment. 図23は、第4の実施形態に係る外部プログラムコマンドのシーケンスの例を示す図である。FIG. 23 is a diagram showing an example of a sequence of external program commands according to the fourth embodiment. 図24Aは、第4の実施形態に係る記憶装置において1stステージまでプログラムが完了しているワード線でのページ読み出しの処理手順を示すフローチャートである。FIG. 24A is a flowchart showing a processing procedure of reading a page with a word line in which the program is completed up to the 1st stage in the storage device according to the fourth embodiment. 図24Bは、第4の実施形態に係る記憶装置において2ndステージまでプログラムが完了しているワード線でのページ読み出しの処理手順を示すフローチャートである。FIG. 24B is a flowchart showing a processing procedure of reading a page with a word line in which the program is completed up to the 2nd stage in the storage device according to the fourth embodiment. 図25は、第4の実施形態に係る外部読み出しコマンドのシーケンスの例を示す図である。FIG. 25 is a diagram showing an example of a sequence of external read commands according to the fourth embodiment. 図26は、フラグセルの構成を説明するための図である。FIG. 26 is a diagram for explaining the configuration of the flag cell. 図27Aは、第5の実施形態に係るフラグセルへのプログラムを説明するための図である。FIG. 27A is a diagram for explaining a program for the flag cell according to the fifth embodiment. 図27Bは、第5の実施形態に係るダミーセルへのプログラムを説明するための図である。FIG. 27B is a diagram for explaining a program for a dummy cell according to a fifth embodiment. 図28は、第5の実施形態に係る2ndステージでの書き込み手順を示すフローチャートである。FIG. 28 is a flowchart showing a writing procedure in the 2nd stage according to the fifth embodiment. 図29は、第5の実施形態に係るページ読み出しの処理手順を示すフローチャートである。FIG. 29 is a flowchart showing a page reading processing procedure according to the fifth embodiment. 図30は、第5の実施形態に係る外部読み出しコマンドのシーケンスの例を示す図である。FIG. 30 is a diagram showing an example of a sequence of external read commands according to the fifth embodiment. 図31は、第6の実施形態のしきい値領域の一例を示す図である。FIG. 31 is a diagram showing an example of the threshold value region of the sixth embodiment. 図32は、第6の実施形態におけるプログラム後のしきい値分布を示す第1例の図である。FIG. 32 is a diagram of a first example showing the threshold distribution after the program in the sixth embodiment. 図33は、図32に示すしきい値分布に対応するデータコーディングを示す図である。FIG. 33 is a diagram showing data coding corresponding to the threshold distribution shown in FIG. 図34は、第6の実施形態におけるプログラム後のしきい値分布を示す第2例の図である。FIG. 34 is a diagram of a second example showing the post-programmed threshold distribution in the sixth embodiment. 図35は、図34に示すしきい値分布に対応するデータコーディングを示す図である。FIG. 35 is a diagram showing data coding corresponding to the threshold distribution shown in FIG. 34. 図36は、第6の実施形態におけるプログラム後のしきい値分布を示す第3例の図である。FIG. 36 is a diagram of a third example showing the threshold distribution after the program in the sixth embodiment. 図37は、図36に示すしきい値分布に対応するデータコーディングを示す図である。FIG. 37 is a diagram showing data coding corresponding to the threshold distribution shown in FIG.

以下に添付図面を参照して、実施形態に係るメモリシステムおよび書き込み方法を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。 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 memory controller 1 and a non-volatile memory 2. The storage device can be connected to the host. The host is, for example, an electronic device such as a personal computer or a mobile terminal.

不揮発性メモリ2は、データを不揮発に記憶するメモリであり、例えば、NANDメモリ(NANDフラッシュメモリ)を備えている。本実施形態では、不揮発性メモリ2は、メモリセルあたり3bitを記憶可能なメモリセルを有するNANDメモリ、すなわち3bit/Cell(TLC:Triple Level Cell)のNANDメモリであるとして説明する。不揮発性メモリ2は、3次元化されている。 The non-volatile memory 2 is a memory that stores data non-volatilely, and includes, for example, a NAND memory (NAND flash memory). In the present embodiment, the non-volatile memory 2 will be described as a NAND memory having a memory cell capable of storing 3 bits per memory cell, that is, a NAND memory of 3 bits / Cell (TLC: Triple Level Cell). The non-volatile memory 2 is three-dimensional.

メモリコントローラ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 memory controller 1 controls writing of data to the non-volatile memory 2 according to a write command from the host. Further, the memory controller 1 controls reading of data from the non-volatile memory 2 according to a reading command from the host. The memory controller 1 includes a RAM (Random Access Memory) 11, a processor 12, a host interface 13, an ECC (Error Check and Correct) circuit 14, and a memory interface 15. The RAM 11, the processor 12, the host interface 13, the ECC circuit 14, and the memory interface 15 are connected to each other by an internal bus 16.

ホストインターフェイス13は、ホストから受信したコマンド、ユーザデータ(書き込みデータ)などを内部バス16に出力する。また、ホストインターフェイス13は、不揮発性メモリ2から読み出されたユーザデータ、プロセッサ12からの応答などをホストへ送信する。 The host interface 13 outputs commands, user data (write data), and the like received from the host to the internal bus 16. Further, the host interface 13 transmits the user data read from the non-volatile memory 2, the response from the processor 12, and the like to the host.

メモリインターフェイス15は、プロセッサ12の指示に基づいて、ユーザデータ等を不揮発性メモリ2へ書き込む処理および不揮発性メモリ2から読み出す処理を制御する。 The memory interface 15 controls a process of writing user data and the like to the non-volatile memory 2 and a process of reading from the non-volatile memory 2 based on the instruction of the processor 12.

プロセッサ12は、メモリコントローラ1を統括的に制御する。プロセッサ12は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等である。プロセッサ12は、ホストからホストインターフェイス13経由でコマンドを受けた場合に、そのコマンドに従った制御を行う。例えば、プロセッサ12は、ホストからのコマンドに従って、不揮発性メモリ2へのユーザデータおよびパリティの書き込みをメモリインターフェイス15へ指示する。また、プロセッサ12は、ホストからのコマンドに従って、不揮発性メモリ2からのユーザデータおよびパリティの読み出しを、メモリインターフェイス15へ指示する。 The processor 12 controls the memory controller 1 in an integrated manner. The processor 12 is, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like. When the processor 12 receives a command from the host via the host interface 13, the processor 12 controls according to the command. For example, the processor 12 instructs the memory interface 15 to write user data and parity to the non-volatile memory 2 according to a command from the host. Further, the processor 12 instructs the memory interface 15 to read the user data and the parity from the non-volatile memory 2 according to the command from the host.

プロセッサ12は、RAM11に蓄積されるユーザデータに対して、不揮発性メモリ2上の格納領域(メモリ領域)を決定する。ユーザデータは、内部バス16経由でRAM11に格納される。プロセッサ12は、メモリ領域の決定を、書き込み単位であるページ単位のデータ(ページデータ)に対して実施する。本明細書では、不揮発性メモリ2の1ページに格納されるユーザデータをユニットデータと定義する。ユニットデータは、一般的には符号化されて符号語として不揮発性メモリ2に格納される。本実施形態では、符号化は必須ではない。メモリコントローラ1は、符号化せずにユニットデータを不揮発性メモリ2に格納してもよいが、図1では、一構成例として符号化を行う構成を示している。メモリコントローラ1が符号化を行わない場合には、ページデータはユニットデータと一致する。また、1つのユニットデータに基づいて1つの符号語が生成されてもよいし、ユニットデータが分割された分割データに基づいて1つの符号語が生成されてもよい。また、複数のユニットデータを用いて1つの符号語が生成されてもよい。 The processor 12 determines a storage area (memory area) on the non-volatile memory 2 with respect to the user data stored in the RAM 11. The user data is stored in the RAM 11 via the internal bus 16. The processor 12 determines the memory area for the page-based data (page data), which is the writing unit. In this specification, user data stored in one page of the non-volatile memory 2 is defined as unit data. The unit data is generally encoded and stored in the non-volatile memory 2 as a code word. In this embodiment, coding is not essential. The memory controller 1 may store the unit data in the non-volatile memory 2 without encoding, but FIG. 1 shows a configuration in which encoding is performed as a configuration example. If the memory controller 1 does not encode, the page data matches the unit data. Further, one codeword may be generated based on one unit data, or one codeword may be generated based on the divided data in which the unit data is divided. Further, one codeword may be generated using a plurality of unit data.

プロセッサ12は、ユニットデータごとに書き込み先の不揮発性メモリ2のメモリ領域を決定する。不揮発性メモリ2のメモリ領域には物理アドレスが割当てられている。プロセッサ12は、ユニットデータの書き込み先のメモリ領域を、物理アドレスを用いて管理する。プロセッサ12は、決定したメモリ領域(物理アドレス)を指定してユーザデータを不揮発性メモリ2へ書き込むようメモリインターフェイス15へ指示する。プロセッサ12は、ユーザデータの論理アドレス(ホストが管理する論理アドレス)と物理アドレスとの対応を管理する。プロセッサ12は、ホストからの論理アドレスを含む読み出しコマンドを受信した場合は、論理アドレスに対応する物理アドレスを特定し、物理アドレスを指定してユーザデータの読み出しをメモリインターフェイス15へ指示する。 The processor 12 determines the memory area of the non-volatile memory 2 to be written for each unit data. A physical address is assigned to the memory area of the non-volatile memory 2. The processor 12 manages the memory area to which the unit data is written by using the physical address. The processor 12 specifies the determined memory area (physical address) and instructs the memory interface 15 to write the user data to the non-volatile memory 2. The processor 12 manages the correspondence between the logical address (logical address managed by the host) of the user data and the physical address. When the processor 12 receives a read command including a logical address from the host, the processor 12 identifies the physical address corresponding to the logical address, specifies the physical address, and instructs the memory interface 15 to read the user data.

本明細書では、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 non-volatile memory 2 is a 3 bit / Cell NAND memory, and one memory cell group MG corresponds to 3 pages. Each 3 bits of each memory cell corresponds to these 3 pages. In the present embodiment, these three pages are referred to as a Lower page (first page), a Middle page (second page), and an Upper page (third page).

ECC回路14は、RAM11に格納されたユーザデータを符号化して、符号語を生成する。また、ECC回路14は、不揮発性メモリ2から読み出された符号語を復号する。 The ECC circuit 14 encodes the user data stored in the RAM 11 to generate a code word. Further, the ECC circuit 14 decodes the code word read from the non-volatile memory 2.

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 until it is stored in the non-volatile memory 2, or temporarily stores the data read from the non-volatile memory 2 until it is transmitted to the host. The RAM 11 is, for example, a general-purpose memory such as a SRAM (Static Random Access Memory) or a DRAM (Dynamic Random Access Memory).

図1では、メモリコントローラ1が、ECC回路14とメモリインターフェイス15をそれぞれ備える構成例を示した。しかしながら、ECC回路14がメモリインターフェイス15に内蔵されていてもよい。また、ECC回路14が、不揮発性メモリ2に内蔵されていてもよい。 FIG. 1 shows a configuration example in which the memory controller 1 includes an ECC circuit 14 and a memory interface 15, respectively. However, the ECC circuit 14 may be built into the memory interface 15. Further, the ECC circuit 14 may be built in the non-volatile memory 2.

ホストからライト要求を受信した場合、記憶装置(メモリシステム)は次のように動作する。プロセッサ12は、ライトデータをRAM11に一時記憶させる。プロセッサ12は、RAM11にストアされたデータをリードし、ECC回路14に入力する。ECC回路14は、入力されたデータを符号化し、符号語をメモリインターフェイス15に入力する。メモリインターフェイス15は、入力された符号語を不揮発性メモリ2に書き込む。 When a write request is received from the host, the storage device (memory system) operates as follows. The processor 12 temporarily stores the write data in the RAM 11. The processor 12 reads the data stored in the RAM 11 and inputs it to the ECC circuit 14. The ECC circuit 14 encodes the input data and inputs the codeword to the memory interface 15. The memory interface 15 writes the input codeword to the non-volatile memory 2.

ホストからリード要求を受信した場合、記憶装置は次のように動作する。メモリインターフェイス15は、不揮発性メモリ2から読み出した符号語をECC回路14に入力する。ECC回路14は、入力された符号語を復号し、復号されたデータをRAM11にストアする。プロセッサ12は、RAM11にストアされたデータを、ホストインターフェイス13を介してホストに送信する。なお、不揮発性メモリ2では、複数のチップが接続される場合もあり、不揮発性メモリ2とメモリインターフェイス15は、貫通ビア(TSV)によって接続することも可能である。 When a read request is received from the host, the storage device operates as follows. The memory interface 15 inputs the code word read from the non-volatile memory 2 to the ECC circuit 14. The ECC circuit 14 decodes the input codeword and stores the decoded data in the RAM 11. The processor 12 transmits the data stored in the RAM 11 to the host via the host interface 13. In the non-volatile memory 2, a plurality of chips may be connected, and the non-volatile memory 2 and the memory interface 15 can be connected by a through via (TSV).

図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 non-volatile memory 2 includes a NAND I / O interface 21, a control unit 22, a NAND memory cell array (memory cell unit) 23, and a page buffer 24. The non-volatile memory 2 is composed of, for example, a one-chip semiconductor substrate (for example, a silicon substrate).

制御部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 control unit 22 controls the operation of the non-volatile memory 2 based on a command or the like input from the memory controller 1 via the NAND I / O interface 21. Specifically, when a write request is input, the control unit 22 controls to write the requested data to a designated address on the NAND memory cell array 23. Further, when a read request is input, the control unit 22 controls to read the requested data from the NAND memory cell array 23 and output it to the memory controller 1 via the NAND I / O interface 21. The page buffer 24 is a buffer that temporarily stores the data input from the memory controller 1 at the time of writing to the NAND memory cell array 23, and temporarily stores the data read from the NAND memory cell array 23.

図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 also 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 finger FNGs (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, on the p-type well region, a plurality of wiring layers 333 functioning as the select gate line SGS, a plurality of wiring layers 332 functioning as the word line WLi, and a plurality of wiring layers 331 functioning as the select gate line SGD are formed. Has been done.

そして、これらの配線層333,332,331を貫通してp型ウェル領域に達するメモリホール334が形成されている。メモリホール334の側面には、ブロック絶縁膜335、電荷蓄積層336、およびゲート絶縁膜337が順次形成され、更にメモリホール334内に導電膜338が埋め込まれている。導電膜338は、NANDストリングNSの電流経路として機能し、メモリセルトランジスタMT並びに選択トランジスタST1及びST2の動作時にチャネルが形成される領域である。 Then, a memory hole 334 that penetrates these wiring layers 333, 332 and 331 and reaches the p-type well region is formed. A block insulating film 335, a charge storage layer 336, and a gate insulating film 337 are sequentially formed on the side surface of the memory hole 334, and a conductive film 338 is further embedded in the memory hole 334. The conductive film 338 functions as a current path for the NAND string NS, and is a region in which channels are formed during the operation of the memory cell transistors MT and the selection transistors ST1 and ST2.

各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 conductive film 338.

さらに、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 contact plug 340 is formed on the n + type impurity diffusion layer, and a wiring layer that functions as a source line SL is formed on the contact plug 340. Further, a contact plug 339 is formed on the p + type impurity diffusion layer, and a wiring layer functioning as a well wiring CPWELL is formed on the contact plug 339.

以上の図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 non-volatile memory 2. In the non-volatile memory 2, information is stored by the amount of electric charge stored in the floating gate of the memory cell. Each memory cell has a threshold voltage according to the amount of charge. Then, the plurality of data values stored in the memory cell are made to correspond to the plurality of areas (threshold area) of the threshold voltage.

図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 region Er, the region where the threshold voltage is larger than Vr1 and Vr2 or less is called 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は、各領域の境界となるしきい値電圧である。 Further, 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 non-volatile memory 2, a plurality of data values are associated with each of a plurality of threshold areas (that is, threshold distributions) of the memory cell. This correspondence is called data coding. This data coding is defined in advance, and at the time of writing (programming) data, the charge is injected into the memory cell so as to be within the threshold area corresponding to the data value to be stored according to the data coding. Then, at the time of reading, a reading voltage is applied to the memory cell, and the data is determined depending on whether the threshold value of the memory cell is lower or higher than the reading voltage. When the threshold voltage is lower than the read voltage, the data value in the "erased" state is defined as "1". If the threshold voltage is greater than or equal to the read voltage, it is in the "programmed" state and the data is defined as "0".

データの読み出し時には、読み出し対象の境界の読み出しレベルよりも、しきい値が低いか高いかでデータが決定される。しきい値が最も低い場合は、「消去」状態であり、全ての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 region 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 region is in a state of storing "010".
-The memory cell whose threshold voltage is in the E region 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 the 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 is 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 control unit 22 of the non-volatile memory 2 controls the programming to the NAND memory cell array 23 and the reading from the NAND memory cell array 23 based on the coding shown in FIG.

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, generally, 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 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 distributing 7 boundaries between 8 threshold distributions to 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, 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 cell is 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 to the previous memory cell, 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 an execution unit of the program, 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 second stage, the Foggy stage program, 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, Foggy writing is performed on the Foggy stage. 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 the program of the Fine stage is the final state in which the adjacent distributions are separated, the data can be read 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, when inputting data for the Foggy-Fine program, it is necessary to input data for two pages at every stage. This increases the time required for data input and deteriorates the speed of the storage device. In addition, the buffer amount (write buffer amount) of the write buffer for holding data for inputting to the NAND memory in the storage device 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 non-volatile memory 2 has a three-dimensional structure, the amount of write buffer is large even if the LM-Foggy-Fine program or the Foggy-Fine program that employs 1-3-3 coding is applied. As the size increases, the cost of the memory controller 1 increases.

そこで、本実施形態では、記憶装置が、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 non-volatile memory 2 having a three-dimensional structure, and further, page-by-page writing is performed in two stages. implement. Thereby, in the present embodiment, even in the non-volatile memory 2 having the three-dimensional structure, the amount of the write buffer of the memory controller 1 is reduced while suppressing the mutual interference between cells and the bias of the bit error rate between each page.

ここで、隣接メモリセル間干渉について説明する。ある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 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 run a multi-stage program.

本実施形態におけるプログラムシーケンスでは、1つのワード線WLi上の3bitは、2つのプログラムステージ、すなわち1stステージと2ndステージとによってプログラムされる。各プログラムステージは、プログラムの実行単位であり、本実施形態の記憶装置は、ワード線WLiのプログラムを、2つのプログラムステージを実行することで完了する。また、本実施形態では、2つのプログラムステージのそれぞれに、3bitの何れかのページが割り付けられる。具体的には、1stステージのプログラムには、Lowerページデータを割り付けられ、2ndステージのプログラムには、MiddleページおよびUpperページのデータが割り付けられる。 In the program sequence in this 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 an execution unit of the program, 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 memory cell array 23 are in the distributed Er state in the unwritten state (“erased” state). As shown in (T2) of FIG. 7, the control unit 22 of the non-volatile memory 2 keeps the distribution Er for each memory cell according to the bit value to be written (stored) in the Lower page in the program of the 1st stage. Or inject a charge to move it to a distribution above the distribution Er. Specifically, the control unit 22 does not inject an electric charge when the bit value to be written to the Lower page is "1", and injects an electric charge when the bit value to be written to the Lower page is "0". Program to move the threshold voltage to the higher side.

これにより、メモリセルは、Lowerページデータによって、2値のレベルにプログラムされる。ここで注意すべき事項は、1stステージのプログラム(第1のプログラム)におけるファンクションは、Lowerページデータのみのファンクションであることである。この実行に必要なページデータは、Lowerページのみでよい。さらに、この1stステージのプログラム後のしきい値分布は、後の2ndステージのプログラム(第2のプログラム)で最終的にプログラムし直されるため、分布を細く整形する必要が無く、高速なプログラムが可能である。そして、この1stステージのプログラム後のデータは、バイナリのように見えるので、Lowerページデータの読み出しが可能である。よって、1stステージでプログラムする際のしきい値のレベルは、2ndステージのプログラムでD以上に遷移するよう割り付けることに鑑み、Vr1とVr4との間に入るよう制御される。 As a result, the memory cell is 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 performed. 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 to be 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 control unit 22 of the non-volatile memory 2 programs the threshold value distribution after the program of the 2nd stage so that each adjacent distribution becomes an eight-value level in the final state in which the adjacent distributions are separated. In this case, all page data can be read.

なお、典型的には、プログラムは、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 control unit 22 may continuously execute the program of the 1st stage and the program of the 2nd stage for one word line WLi, but in order to reduce the influence of interference between adjacent memory cells, a plurality of control units 22 may be executed. It is also possible to execute the program in a discontinuous order across the word lines WLi.

図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. Further, FIGS. 8B and 8C show an example of the program order when the strings in the block are four NAND memories.

書き込みを開始すると、制御部22は、所定の非連続的な順序でワード線WLiをまたぎながら、各プログラムステージを進む。すなわち、2つの異なるプログラムステージは、同じワード線WLiで連続的に実行されない。 When writing is started, the control unit 22 advances through each program stage while straddling the word line WLi in a predetermined discontinuous order. That is, two different program stages are not executed consecutively on the same word line WLi.

例えば、ワード線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 the word line WLi, it is effective to reduce the fluctuation amount of the threshold value of the adjacent word line WLi after the program of the 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 non-volatile memory 2 has a three-dimensional structure), when writing is started, the control unit 22 receives the following instructions (1) to (1) based on the instruction from the processor 12. The programs are implemented in the order shown in (9). In the following processing, the operation of the program of the control unit 22 is based on the instruction from the processor 12, but the description that it is based on the instruction from the processor 12 is omitted for simplification of the description.

(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 control unit 22 executes the program ST 11 of the 1st stage of the word line WL0.
(2) Next, the control unit 22 executes the program ST 1 2 of the 1st stage of the word line WL1.
(3) Next, the control unit 22 executes the program ST 13 of the 2nd stage of the word line WL0.
(4) Next, the control unit 22 performs a program ST 1 4 of 1st stage of the word line WL2.
(5) Next, the control unit 22 executes the program ST 15 of the 2nd stage of the word line WL1.
(6) Next, the control unit 22 performs a program ST 1 6 of 1st stage of the word line WL3.
(7) Next, the control unit 22 performs a program ST 1 7 of 2nd stage of the word line WL2.
(8) Next, the control unit 22 performs a program ST 1 8 of 1st stage of the word line WL4.
(9) Next, the control unit 22 performs a program ST 1 9 of 2nd stage of the word line WL3.
Similarly, the control unit 22 proceeds with the processing in the order of the arrows pointing diagonally upward to the right in the table shown in FIG. 8A.

図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 non-volatile memory 2 has a three-dimensional structure), when writing is started, the control unit 22 executes the programs in the order shown in (11) to (24) below. implement.

(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 control unit 22 executes the program ST 2 1 of the 1st stage of the string St0_word line WL0.
(12) Next, the control unit 22 executes the program ST 2 2 of the 1st stage of the string St1_word line WL0.
(13) Next, the control unit 22 executes the program ST 2 3 of the 1st stage of the string St2_word line WL0.
(14) Next, the control unit 22 executes the program ST 2 4 of the 1st stage of the string St3_word line WL0.
(15) Next, the control unit 22 performs a program ST 2 5 of 1st stage string St0_ word line WL1.
(16) Next, the control unit 22 performs a program ST 2 6 of 2nd stage string St0_ word line WL0.
(17) Next, the control unit 22 performs a program ST 2 7 of 1st stage string St1_ word line WL1.
(18) Next, the control unit 22 executes the program ST 2 8 of the 2nd stage of the string St1_word line WL0.
(19) Next, the control unit 22 performs a program ST 2 9 of 1st stage string St2_ word line WL1.
(20) Next, the control unit 22 executes the program ST 2 10 of the 2nd stage of the string St2_word line WL0.
(21) Next, the control unit 22 executes the program ST 2 11 of the 1st stage of the string St3_word line WL1.
(22) Next, the control unit 22 executes the program ST 2 12 of the 2nd stage of the string St3_word line WL0.
(23) Next, the control unit 22 executes the program ST 2 13 of the 1st stage of the string St0_word line WL2.
(24) Next, the control unit 22 executes the program ST 2 14 of the 2nd stage of the string St0_word line WL1.
Similarly, the control unit 22 proceeds with the processing in the order of the arrows pointing diagonally upward to the right in the table shown in FIG. 8B. In FIG. 8B, the case where the number of strings in the block is four has been described, but the number of strings in the block may be three or less, or five or more.

図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 non-volatile memory 2 has a three-dimensional structure), when writing is started, the control unit 22 executes the programs in the order shown in (31) to (50) below. implement.

(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 control unit 22 executes the program ST 3 1 of the 1st stage of the string St0_word line WL0.
(32) Next, the control unit 22 executes the program ST 3 2 of the 1st stage of the string St1_word line WL0.
(33) Next, the control unit 22 executes the program ST 3 3 of the 1st stage of the string St2_word line WL0.
(34) Next, the control unit 22 executes the program ST 3 4 of the 1st stage of the string St3_word line WL0.
(35) First, the control unit 22 performs a program ST 3 5 of 1st stage string St0_ word line WL1.
(36) Next, the control unit 22 performs a program ST 3 6 of 1st stage string St1_ word line WL1.
(37) Next, the control unit 22 performs a program ST 3 7 of 1st stage string St2_ word line WL1.
(38) Next, the control unit 22 performs a program ST 3 8 of 1st stage string St3_ word line WL1.
(39) Next, the control unit 22 performs a program ST 3 9 of 2nd stage string St0_ word line WL0.
(40) Next, the control unit 22 executes the program ST 3 10 of the 2nd stage of the string St1_word line WL0.
(41) Next, the control unit 22 executes the program ST 3 11 of the 2nd stage of the string St2_word line WL0.
(42) Next, the control unit 22 performs a program ST 3 12 of 2nd stage string St3_ word line WL0.
(43) Next, the control unit 22 executes the program ST 3 13 of the 1st stage of the string St0_word line WL2.
(44) Next, the control unit 22 executes the program ST 3 14 of the 1st stage of the string St1_word line WL2.
(45) Next, the control unit 22 executes the program ST 3 15 of the 1st stage of the string St2_word line WL2.
(46) Next, the control unit 22 executes the program ST 3 16 of the 1st stage of the string St3_word line WL2.
(47) Next, the control unit 22 executes the program ST 3 17 of the 2nd stage of the string St0_word line WL1.
(48) Next, the control unit 22 executes the program ST 3 18 of the 2nd stage of the string St1_word line WL1.
(49) Next, the control unit 22 executes the program ST 3 19 of the 2nd stage of the string St2_word line WL1.
(50) Next, the control unit 22 executes the program ST 3 20 of the 2nd stage of the string St3_word line WL1.
In FIG. 8C, the case where the number of strings in the block is four has been described, but 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 non-volatile memory 2 having a three-dimensional structure in which a plurality of strings exist in a block, a program at a combination position of the word line WLi and the string generally first programs the same word line number in different strings. Then proceed to the next word line number. According to such an order, if FIG. 8A is combined by the number of strings, the order is as shown in FIG. 8B or FIG. 8C, for example.

ここで図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 memory controller 1 advances the program stage while straddling the word line WLi in a discontinuous order, the program is executed with a certain word line WLi group (block in this case) as a group of the program sequence. do.

図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 control unit 22 executes the program of the 1st stage of the string St0_word line WL0 (step S10). Next, the control unit 22 executes the program of the 1st stage of the string St1_word line WL0 (step S20). After that, the control unit 22 performs the same processing as in steps S10 and S20 for each string. Then, the control unit 22 executes the program of the 1st stage of the string St3_word line WL0 (step S30).

さらに、制御部22は、ストリングSt0_ワード線WL1の1stステージのプログラムを実施する(ステップS40)。次に、制御部22は、ストリングSt0_ワード線WL0の2ndステージのプログラムを実施する(ステップS50)。次に、制御部22は、ストリングSt1_ワード線WL1の1stステージのプログラムを実施する(ステップS60)。この後、制御部22は、各ストリングの各ワード線WLiに対してステップS40,S50,S60のような処理を繰り返す。 Further, the control unit 22 executes a program of the 1st stage of the string St0_word line WL1 (step S40). Next, the control unit 22 executes a program of the 2nd stage of the string St0_word line WL0 (step S50). Next, the control unit 22 executes the program of the 1st stage of the string St1_word line WL1 (step S60). After that, the control unit 22 repeats the processes of steps S40, S50, and S60 for each word line WLi of each string.

そして、制御部22は、ストリングSt0_ワード線WLnの1stステージのプログラムを実施する(ステップS70)。次に、制御部22は、ストリングSt0_ワード線WLn−1の2ndステージのプログラムを実施する(ステップS80)。この後、制御部22は、各ストリングの各ワード線WLiに対してステップS70,S80のような処理を繰り返す。 Then, the control unit 22 executes the program of the 1st stage of the string St0_word line WLn (step S70). Next, the control unit 22 executes a program of the 2nd stage of the string St0_word line WLn-1 (step S80). After that, the control unit 22 repeats the processes of steps S70 and S80 for each word line WLi of each string.

そして、制御部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 control unit 22 executes the program of the 2nd stage of the string St3_word line WLn-1 (step S90). Next, the control unit 22 executes a program of the 2nd stage of the string St0_word line WLn (step S100). Next, the control unit 22 executes a program of the 2nd stage of the string St1_word line WLn (step S110). After that, the control unit 22 performs the same processing as in steps S100 and S110 for each string. Then, the control unit 22 executes a program of the 2nd stage of the string St3_word line WLn (step S120).

図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 memory controller 1 to the non-volatile memory 2 (step S210). Then, the Lower page data is input from the memory controller 1 to the non-volatile memory 2 (step S220). Further, a program execution command of the 1st stage is input from the memory controller 1 to the non-volatile memory 2 (step S230), which makes the chip busy (step S240).

データ書き込みの際には、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 memory controller 1 to the non-volatile memory 2 (step S310). Then, the data of the Middle page is input from the memory controller 1 to the non-volatile memory 2 (step S320).

次に、メモリコントローラ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 memory controller 1 to the non-volatile memory 2 (step S330). Then, the data of the Upper page is input from the memory controller 1 to the non-volatile memory 2 (step S340). Next, the program execution command of the 2nd stage is input from the memory controller 1 to the non-volatile memory 2 (step S350), which makes the chip busy (step S360).

この後、制御部22は、IDL(Internal Data Load)であるLowerページデータの読み出しを行う(ステップS370)。そして、Lowerページデータに基づいて、MiddleページおよびUpperページのプログラム先のVth(しきい値電圧)が決定される(ステップS380)。この後、決定されたVthを用いて、MiddleページおよびUpperページへのデータ書き込みが行われる。 After that, the control unit 22 reads the Lower page data which is the IDL (Internal Data Load) (step S370). Then, based on the Lower page data, the Vth (threshold voltage) of the program destination of the Middle page and the Upper page is determined (step S380). After that, data is written to the Middle page and Upper page using the determined Vth.

さらに、制御部22は、IDLの読み出しデータの信頼性を上げるために、複数回数読み出しを行い、チップ内のページバッファ24でこの読み出し結果の多数決をとり、次の書き込みデータとして使用することも可能である。無論、制御部22は、通常の読み出し動作時に於いて、複数回数読み出しを行いチップ内でこの読み出し結果の多数決をとり、外部への読み出しデータとして使用することも可能である。 Further, the control unit 22 can read a plurality of times in order to improve the reliability of the read data of the IDL, take a majority decision of the read result in the page buffer 24 in the chip, and use it as the next write data. Is. Of course, the control unit 22 can read a plurality of times in a normal read operation, take a majority vote of the read result in the chip, and use it as read data to the outside.

図9Eは、複数回数の読み出し結果の多数決処理を説明するための図である。図9Eでは、正しいビットを丸印(○)で示し、誤ったビットをばつ印(×)で示している。また、図9Eでは、3回の読み出しが行われた場合の多数決の結果を示している。 FIG. 9E is a diagram for explaining a majority decision process of the reading result 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 judged to be erroneous when (a) it is erroneous three times and (b) it is erroneous 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 decisions is determined to be incorrect. In this way, the control unit 22 can improve the reliability of the read data by performing the majority determination process of the read result of a plurality of times in the page buffer 24 in the chip.

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 lower page read command is input from the memory controller 1 to the non-volatile memory 2 (step S301), which makes the chip busy (step S302).

この後、制御部22は、IDLであるLowerページデータの読み出しをVr4のしきい値電圧で行う。そして、制御部22は、Vr4のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS303)。この後、チップレディーとなる(ステップS304)。 After that, the control unit 22 reads the Lower page data which is the IDL at the threshold voltage of Vr4. Then, the control unit 22 determines the value of the read data to be “0” or “1” based on the read result at the threshold voltage of Vr4 (step S303). After that, it becomes chip ready (step S304).

制御部22が読み出したLowerページデータを出力すると(ステップS305)、このLowerページデータは、ECC回路14に送信される(ステップS306)。これにより、ECC回路14がLowerページデータをECC訂正する(ステップS307)。 When the lower page data read by the control unit 22 is output (step S305), the lower page data is transmitted to the ECC circuit 14 (step S306). As a result, the ECC circuit 14 ECC corrects the Lower page data (step S307).

そして、メモリコントローラ1から不揮発性メモリ2へLowerページのデータの入力開始コマンドが入力される(ステップS308)。これにより、ECC回路14が、不揮発性メモリ2へLowerページのデータを入力する(ステップS309)。 Then, the lower page data input start command is input from the memory controller 1 to the non-volatile memory 2 (step S308). As a result, the ECC circuit 14 inputs the data of the Lower page to the non-volatile memory 2 (step S309).

この後、ステップ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 2nd stage program described above, the data input to the non-volatile memory 2 is only two pages, the Middle page and 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 page (Vth before starting the 2nd stage). Therefore, in the program of this stage, as a preprocessing, the control unit 22 first reads the Lower page data, synthesizes the data with the input Middle page and Upper page, and determines the Vth of the program destination. I do.

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 memory controller 1 is a plurality of word lines (up to 7 pages). ), In the present embodiment, the maximum amount of memory required for the write buffer of the memory controller 1 is two pages.

ここで、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, a time chart of data input for block writing and program execution is shown on the upper side, and a time chart for a period required to hold data in the write buffer is shown on the lower side. There is. In addition, in FIG. 10A and FIG. 10B described later, the case where the number of strings in one block is 1 is shown for simplification of the description. 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 1-3-3 coding LM-Foggy-Fine program, in the first stage, LM stage, one page of data input and this one page of program (LM stage program) are performed. It is said. 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) are performed. 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, 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 at the time of data input of each stage, 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, 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, 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 the present 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, all the page data is required only in the program of one stage, so that 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 held in the write buffer at the same time can be reduced.

不揮発性メモリ2へプログラムされるページデータは、RAM11内の書き込みバッファで構成されて一旦保持されてから、プログラム時に不揮発性メモリ2へデータ入力される。本実施形態においては、このRAM11の必要容量を小さくすることが可能となるので、コスト削減となる。 The page data programmed into the non-volatile memory 2 is composed of a write buffer in the RAM 11 and is temporarily held, and then the data is input to the non-volatile memory 2 at the time of programming. In the present embodiment, the required capacity of the RAM 11 can be reduced, so that the cost can be reduced.

また、LM-Foggy-Fineプログラム又はFoggy-Fineプログラムが用いられるときは、全てのページデータのデータ転送を2回又は3回行なわなくてはならないので、転送時間が掛かり、また転送時の消費電力も余分に必要となる。本実施形態では、全てのページデータは、各ページそれぞれ1回のデータ転送で完了するため、転送時間及び電力消費を1/2〜1/3程度に抑えることが可能になる。 Also, when the LM-Foggy-Fine program or Foggy-Fine program is used, the data transfer of all page data must be performed 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 address of the program target block page (Lower page address) is input, and then the program of the Lower 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 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 address of the program target block page (the address of the Middle page) is input, and then the program of the Middle page is input. 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 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 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 reading process 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 control unit 22 reads data from the memory cell only when the read page is the Lower page. Then, in the case of other pages, the control unit 22 does not perform the memory cell read operation, but controls to forcibly output all "1" as read data.

一方、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 control unit 22 reads the memory cell regardless of whether the read page is the Upper / Middle / Lower page. In this case, since the required read voltage differs depending on which page is read, the control unit 22 executes only the required read according to the selected page.

図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 control unit 22 sets the threshold value in any of the two ranges separated by the boundary. The data is determined by the location of. For example, when the threshold voltage is smaller than Vr4, the control unit 22 controls to output "1" as the data of the memory cell. On the other hand, when the threshold voltage is larger than Vr4, the control unit 22 controls to output "0" as the data of the memory cell.

また、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 control unit 22 positions the threshold value in any of the four ranges separated by those boundaries. Determine the data by doing.

以下、ページ読み出しの具体的な処理手順について説明する。図12Aは、第1の実施形態に係る記憶装置において2ndステージ書き込み前の場合のワード線でのページ読み出しの処理手順を示すフローチャートである。図12Bは、第1の実施形態に係る記憶装置において2ndステージまでプログラムが完了しているワード線でのページ読み出しの処理手順を示すフローチャートである。 Hereinafter, a specific processing procedure for reading the page will be described. 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 in the 2nd stage, the control unit 22 selects the read page (step S510). When the read page is the Lower page (step S510, Lower), the control unit 22 reads out at the threshold voltage of Vr4 (step S520). Then, the control unit 22 determines the value of the read data to be “0” or “1” based on the read result at the threshold voltage of Vr4 (step S530).

また、読み出しページがMiddleページの場合(ステップS510、Middle)、制御部22は、メモリセルの出力データとして全て強制的に“1”を出力する制御を行う(ステップS540)。 Further, when the read page is a middle page (step S510, Middle), the control unit 22 controls to forcibly output "1" as the output data of the memory cell (step S540).

また、読み出しページがUpperページの場合(ステップS510、Upper)、制御部22は、メモリセルの出力データとして全て強制的に“1”を出力する制御を行う(ステップS550)。 When the read page is an Upper page (step S510, Upper), the control unit 22 controls to forcibly output "1" as the output data of the memory cell (step S550).

また、図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 control unit 22 selects the read page (step S610). When the read page is the Lower page (step S610, Lower), the control unit 22 reads out at the threshold voltage of Vr4 (step S620). Then, the control unit 22 determines the value of the read data to be “0” or “1” based on the read result at the threshold voltage of Vr4 (step S630).

また、読み出しページが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 control unit 22 reads at the threshold voltages of Vr1, Vr3, and Vr6 (steps S640, S650, S660). Then, the control unit 22 determines the value of the read data to be “0” or “1” based on the read result at the threshold voltage of Vr1, Vr3, and Vr6 (step S670).

また、読み出しページがUpperページの場合(ステップS610、Upper)、制御部22は、Vr2、Vr5およびVr7のしきい値電圧で読み出しを行う(ステップS680,S690,S700)。そして、制御部22は、Vr2、Vr5およびVr7のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS710)。 When the read page is the Upper page (step S610, Upper), the control unit 22 reads at the threshold voltages of Vr2, Vr5, and Vr7 (steps S680, S690, S700). Then, the control unit 22 determines the value of the read data to be “0” or “1” based on the read result at the threshold voltage of Vr2, Vr5, and Vr7 (step S710).

なお、ワード線WLiに対するプログラムが、2ndステージ書き込み完了前か後かは、メモリコントローラ1が管理・識別することが可能である。メモリコントローラ1が、プログラム制御を行っているので、メモリコントローラ1がその進捗状況を記録しておけば、メモリコントローラ1は、不揮発性メモリ2のどのアドレスがどのようなプログラム状態であるか容易に参照できる。この場合、メモリコントローラ1は、不揮発性メモリ2から読み出しを行う際、対象ページアドレスを含むワード線WLiがどのようなプログラム状態であるかを識別し、識別した状態に応じた読み出しコマンドを発行する。 The memory controller 1 can manage and identify whether the program for the word line WLi is before or after the completion of the 2nd stage writing. Since the memory controller 1 controls the program, if the memory controller 1 records the progress status, the memory controller 1 can easily determine which address of the non-volatile memory 2 is in what program state. You can refer to it. In this case, when reading from the non-volatile memory 2, the memory controller 1 identifies what kind of program state the word line WLi including the target page address is in, and issues a read command according to the identified state. ..

図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 memory controller 1 can be suppressed. In addition, the bias of the bit error rate between the pages of the non-volatile memory 2 can be reduced, and the cost of ECC can be reduced. Further, since data transfer is performed only once for each page, transfer time and power consumption can be suppressed.

また、ワード線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 write 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, the 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 with reference to FIG. 6 of the first embodiment is used will be described.

図9Aに示したプログラムのフローチャートでは、1stステージのプログラムと2ndステージのプログラムとは、全て1つずつ分離しており、それぞれのプログラムの際にそれぞれのプログラムコマンドとプログラムデータ入力が行なわれている。本実施形態では、このプログラムコマンドおよびプログラムデータ入力をなるべくまとめる。 In the flow chart of the program shown in FIG. 9A, the program of the 1st stage and the program of the 2nd stage are all separated 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 summarizing the input of the program command and the program data 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 memory controller 1 is reduced. It is possible to speed up and simplify the storage device.

ここで図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 control unit 22 executes the process of steps S810 to S830, which is the same process as steps S10 to S30. As a result, the program of the 1st stage of the word line WL0 of the strings St0 to St3 is executed.

さらに、制御部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 control unit 22 executes a program of the 1st stage of the string St0_word line WL1 and a program of the 2nd stage of the string St0_word line WL0 (step S840). Next, the control unit 22 executes a program of the 1st stage of the string St1_word line WL1 and a program of the 2nd stage of the string St1_word line WL0 (step S850). Next, the control unit 22 executes a program of the 1st stage of the string St2_word line WL1 and a program of the 2nd stage of the string St2_word line WL0 (step S860). After that, the control unit 22 repeats the processes of steps S840, S850, and S860 for each word line WLi of each string.

そして、制御部22は、ストリングSt0_ワード線WLnの1stステージのプログラムと、ストリングSt0_ワード線WLn−1の2ndステージのプログラムを実施する(ステップS870)。次に、制御部22は、ストリングSt1_ワード線WLnの1stステージのプログラムと、ストリングSt1_ワード線WLn−1の2ndステージのプログラムを実施する(ステップS880)。この後、制御部22は、各ストリングの各ワード線WLiに対してステップS870,S880のような処理を繰り返す。 Then, the control unit 22 executes the program of the 1st stage of the string St0_word line WLn and the program of the 2nd stage of the string St0_word line WLn-1 (step S870). Next, the control unit 22 executes a program of the 1st stage of the string St1_word line WLn and a program of the 2nd stage of the string St1_word line WLn-1 (step S880). After that, the control unit 22 repeats the processes of steps S870 and S880 for each word line WLi of each string.

そして、制御部22は、ストリングSt3_ワード線WLnの1stステージのプログラムと、ストリングSt3_ワード線WLn−1の2ndステージのプログラムを実施する(ステップS890)。次に、制御部22は、ステップS100〜S120と同様の処理であるステップS900〜S920の処理を実行する。これにより、ストリングSt0〜St3のワード線WLnの2ndステージのプログラムが実施される。 Then, the control unit 22 executes the program of the 1st stage of the string St3_word line WLn and the program of the 2nd stage of the string St3_word line WLn-1 (step S890). Next, the control unit 22 executes the processes of steps S900 to S920, which are the same processes as those of steps S100 to S120. As a result, the program of the 2nd stage of the word line WLn of the strings St0 to St3 is executed.

このように、ブロックの先頭では第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 memory controller 1 to the non-volatile memory 2 (step S1010). Then, the data of the middle page of the word line WLn-1 is input from the memory controller 1 to the non-volatile memory 2 (step S1020).

次に、メモリコントローラ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 memory controller 1 to the non-volatile memory 2 (step S1030). Then, the data of the Upper page of the word line WLn-1 is input from the memory controller 1 to the non-volatile memory 2 (step S1040).

次に、メモリコントローラ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 memory controller 1 to the non-volatile memory 2 (step S1050). Then, the data of the lower page of the word line WLn is input from the memory controller 1 to the non-volatile memory 2 (step S1060).

次に、メモリコントローラ1から不揮発性メモリ2へ、1stステージおよび2ndステージのプログラム実行コマンドが入力され(ステップS1070)、これによりチップビジーとなる(ステップS1080)。 Next, the program execution commands of the 1st stage and the 2nd stage are input from the memory controller 1 to the non-volatile memory 2 (step S1070), which makes the chip busy (step S1080).

この後、ワード線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 that of 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 processing 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 at 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 word line WLn-1 of the IDL can be read out 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 come 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, since 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, 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 with reference to 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 memory controller 1 may be lost. As a result, data recovery becomes impossible.

このような事象は、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, consider starting the program of the 2nd stage 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 supply is cut off 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 control unit 22 of the present embodiment sets a memory cell in which the Vth distribution state of the writing destination becomes the area D or more as shown in FIG. 17 (T22). First, program (D-First program). Then, after completing the program of the Vth distribution state in the regions D to G, the control unit 22 executes the program of the Vth distribution state of the regions A to C as shown in FIG. 17 (T23).

このように、本実施形態の制御部22は、書き込み目的地のVth分布状態を領域D以上にさせるメモリセルへのプログラムを領域C以下にさせるメモリセルへのプログラムよりも先に開始する。そして、書き込み目的地のVth分布状態を領域D以上にさせるメモリセルへのプログラムを完了させた後、領域C以下にさせるメモリセルへのプログラムを完了させる。 As described above, the control unit 22 of the present embodiment starts the program to the memory cell that causes the Vth distribution state of the writing destination to be the area D or more before the program to the memory cell that causes the area C or less. Then, after completing the program to the memory cell that makes the Vth distribution state of the writing destination in the area D or more, the program in the memory cell that makes the Vth distribution state in the area C or less is completed.

これにより、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 control unit 22 can read the Lower page data by using the read voltage of either Vr1 or Vr4.

図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 is read out to 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 the 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), writing to the areas A to C on the Middle page and the Upper page is performed. Specifically, when writing data to the Middle page and Upper page, a program voltage pulse is 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 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. You don't have to end up with. In this case, the control unit 22 temporarily keeps the program up to the Vth distribution state of about the region D. After that, the control unit 22 sequentially executes the programs in the areas A to C and the programs in the areas D to G that were in the middle of the program.

図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 FIG. 19 (T31) is completed, the control unit 22 of the present embodiment executes the program up to the Vth distribution state of about the region D as shown in FIG. 19 (T32). do. After that, the control unit 22 executes the programs of the regions A to C using the Vth distribution state of the region Er. Further, the control unit 22 executes the programs in the regions D to G using the Vth distribution state (Vth distribution state in the middle of the program) of about the region D.

この図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 control unit 22 can read the Lower page data by using the read voltage of either Vr1 or Vr4.

このように、制御部22は、書き込み目的地のVth分布状態を領域D以上にさせるメモリセルへのしきい値分布を、領域Er〜Cまでのしきい値領域に重ならない位置まで移動させた後、領域Er〜Gにさせるメモリセルへのプログラムを完了させる。 In this way, the control unit 22 moves the threshold distribution to the memory cells that causes the Vth distribution state of the writing destination to be the area D or higher to a position that does not overlap the threshold areas from the areas Er to C. After that, the program to the memory cell to be made into the area Er to G is completed.

このように第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 lower page data has one boundary.

図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 data coding modification 1 shown in FIG. 20 (A), the relationship between the threshold voltage and the data value is as shown below.
-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 region 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 region is in a state of storing "100".
-The memory cell whose threshold voltage is in the E region 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 data coding modification 2 shown in FIG. 20 (B), the relationship between the threshold voltage and the data value is as shown below.
-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 region 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 data coding modification 3 shown in FIG. 20 (C), the relationship between the threshold voltage and the data value is as shown below.
-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 region 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 memory cell array 23 are in the state of distribution Er in the unwritten state. As shown in (T42) of FIG. 21, the control unit 22 of the non-volatile memory 2 keeps the distribution Er for each memory cell according to the bit value written in the Lower / Middle page in the program of the 1st stage. Alternatively, a charge is injected to move the distribution above the distribution Er. As a result, the memory cell is programmed to the quaternary level by the Lower / Middle page data.

また、図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 control unit 22 of the non-volatile memory 2 adds the data of the Upper page as the 2nd stage to the data of the 1st stage. In this way, the control unit 22 programs the threshold distribution after the program of the 2nd stage so that each adjacent distribution has an 8-value level in the final state in which it is separated.

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 control unit 22 controls the second threshold level from the bottom to have the same distribution as the area A in view of allocating the transition to the area A and the area B in the program of the 2nd stage. Further, the control unit 22 controls so that the third threshold level from the bottom falls between Vr3 and Vr5 in view of allocating the transition to the area D and the area E in the program of the 2nd stage. Further, the control unit 22 controls so that the highest threshold level is placed between Vr5 and Vr7 in view of allocating the highest threshold level so as to transition to the area E and the area F in the program of the 2nd stage. After that, the control unit 22 programs the 4 values of the 1st stage to the 8 value level of the 2nd stage.

なお、隣接メモリセル間干渉の影響を小さくするために、図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 the present embodiment as well, as in the first embodiment, the program stage is advanced while straddling the word line WLi in a discontinuous order. 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 memory controller 1 to the non-volatile memory 2 (step S1410). Then, the Lower page data is input from the memory controller 1 to the non-volatile memory 2 (step S1420).

さらに、メモリコントローラ1から不揮発性メモリ2へMiddleページのデータの入力開始コマンドが入力される(ステップS1430)。そして、メモリコントローラ1から不揮発性メモリ2へMiddleページのデータが入力される(ステップS1440)。 Further, a middle page data input start command is input from the memory controller 1 to the non-volatile memory 2 (step S1430). Then, the data of the Middle page is input from the memory controller 1 to the non-volatile memory 2 (step S1440).

そして、メモリコントローラ1から不揮発性メモリ2へ1stステージのプログラム実行コマンドが入力され(ステップS1450)、これによりチップビジーとなる(ステップS1460)。 Then, the program execution command of the 1st stage is input from the memory controller 1 to the non-volatile memory 2 (step S1450), which makes the chip busy (step S1460).

この後、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 memory controller 1 to the non-volatile memory 2 (step S1610). Then, the data of the Upper page is input from the memory controller 1 to the non-volatile memory 2 (step S1620). Next, the program execution command of the 2nd stage is input from the memory controller 1 to the non-volatile memory 2 (step S1630), which makes the chip busy (step S1640).

この後、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 out (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 control unit 22 can read a plurality of times in order to improve the reliability of the read data of the IDL, take a majority decision of the read result in the page buffer 24 in the chip, and use it as the next write data. Is. Of course, the control unit 22 can read a plurality of times in a normal read operation, take a majority vote of the read result in the chip, and use it as read data to the outside.

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, the lower page and middle page read commands are input from the memory controller 1 to the non-volatile memory 2 (step S1601), which makes the chip busy (step S1602).

この後、制御部22は、IDLであるLowerページデータおよびMiddleページデータの読み出しをVr1、Vr3、Vr5、Vr7のしきい値電圧で行う。そして、制御部22は、Vr1、Vr3、Vr5、Vr7のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS1603)。この後、チップレディーとなる(ステップS1604)。 After that, the control unit 22 reads the Lower page data and the Middle page data, which are IDLs, at the threshold voltages of Vr1, Vr3, Vr5, and Vr7. Then, the control unit 22 determines the value of the read data to be “0” or “1” based on the read result at the threshold voltage of Vr1, Vr3, Vr5, and Vr7 (step S1603). After that, it becomes chip ready (step S1604).

制御部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 control unit 22 are output (step S1605), the lower page data and the middle page data are transmitted to the ECC circuit 14 (step S1606). As a result, the ECC circuit 14 ECC corrects the Lower page data and the Middle page data (step S1607).

そして、メモリコントローラ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 memory controller 1 to the non-volatile memory 2 (step S1608). As a result, the ECC circuit 14 inputs the data of the Lower page and Middle page data to the non-volatile memory 2 (step S1609).

この後、ステップ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 address of the program target block page (Lower page address) is input, and then the program of the Lower page. 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 address of the program target block page (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 reading process 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 control unit 22 reads data from the memory cell when the read page is the Lower page or the Middle page. Then, in the case of the Upper page, the control unit 22 does not perform the memory cell read operation, but controls to forcibly output all "1" as read data.

一方、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 control unit 22 reads the memory cell regardless of whether the read page is the Upper / Middle / Lower page. In this case, since the required read voltage differs depending on which page is read, the control unit 22 executes only the required read according to the selected page.

図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 control unit 22 sets the threshold value in any of the two ranges separated by the boundary. The data is determined by the location of.

また、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 control unit 22 positions the threshold value in any of the four ranges separated by those boundaries. Determine the data by doing.

以下、ページ読み出しの具体的な処理手順について説明する。図24Aは、第4の実施形態に係る記憶装置において2ndステージ書き込み前の場合のワード線でのページ読み出しの処理手順を示すフローチャートである。図24Bは、第4の実施形態に係る記憶装置において2ndステージまでプログラムが完了しているワード線でのページ読み出しの処理手順を示すフローチャートである。なお、図24Aに示した処理のうち、図12Aに示した処理と同様の処理については、その説明を省略する。また、図24Bに示した処理のうち、図12Bに示した処理と同様の処理については、その説明を省略する。 Hereinafter, a specific processing procedure for reading the page will be described. FIG. 24A is a flowchart showing a processing procedure of 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 processing procedure of reading a page with 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 in the 2nd stage, the control unit 22 selects the read page (step S1810). When the read page is the Lower page (step S1810, Lower), the control unit 22 reads out at the threshold voltage of Vr3 (step S1820). Then, the control unit 22 determines the value of the read data to be “0” or “1” based on the read result at the threshold voltage of Vr3 (step S1830).

また、読み出しページが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 control unit 22 reads at the threshold voltages of Vr1, Vr3, and Vr5 (steps S1840, S1850, S1860). Then, the control unit 22 determines the value of the read data to be “0” or “1” based on the read result at the threshold voltage of Vr1, Vr3, and Vr5 (step S1870).

また、読み出しページがUpperページの場合(ステップS1810、Upper)、制御部22は、メモリセルの出力データとして全て強制的に“1”を出力する制御を行う(ステップS1880)。 When the read page is an Upper page (step S1810, Upper), the control unit 22 controls to forcibly output "1" as the output data of the memory cell (step S1880).

また、図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 control unit 22 selects the read page (step S1910). When the read page is the Lower page (step S1910, Lower), the control unit 22 reads out at the threshold voltage of Vr4 (step S1920). Then, the control unit 22 determines the value of the read data to be “0” or “1” based on the read result at the threshold voltage of Vr4 (step S1930).

また、読み出しページが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 control unit 22 reads at the threshold voltages of Vr1, Vr3, and Vr6 (steps S1940, S1950, S1960). Then, the control unit 22 determines the value of the read data to be “0” or “1” based on the read result at the threshold voltage of Vr1, Vr3, and Vr6 (step S1970).

また、読み出しページが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 control unit 22 reads at the threshold voltages of Vr2, Vr5, and Vr7 (steps S1980, S1990, S2000). Then, the control unit 22 determines the value of the read data to be “0” or “1” based on the read result at the threshold voltage of Vr2, Vr5, and Vr7 (step S2010).

このように、図21に示したようなしきい値のプログラム制御では、Lowerページデータの読み出しの場合、4レベルを上下で2レベルずつ分離できる読み出しレベルとして、Vr3が用いられる。また、Middleページデータの読み出しの場合、4レベルのどこか1つを特定しないとデータを決定できないデータ割付となっているので、読み出しレベルとして、Vr1、Vr3およびVr5の3レベルの読み出しが必要となる。 As described above, in the threshold program control 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. Further, 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 memory controller 1 can manage and identify whether the program for the word line WLi is completed in the 1st stage or the 2nd stage. Since the memory controller 1 controls the program, if the memory controller 1 records the progress status, the memory controller 1 can easily determine which address of the non-volatile memory 2 is in what program state. You can refer to it. In this case, when reading from the non-volatile memory 2, the memory controller 1 identifies what kind of program state the word line WLi including the target page address is in, and issues a read command according to the identified state. ..

図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. 25 (A) 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. 25 (B) 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 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 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ステージのプログラムとがまとめて行なわれてもよい。 A modification similar to the modification of the second embodiment with respect to the first embodiment may be applied to the present embodiment. That is, also in 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 to 8, 12 to 15, 18, 20, 22, 24, 28 to 30 of Japanese Patent Application Laid-Open No. 2015-19571 and the like. 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 memory controller 1 can be suppressed. In addition, the bias of the bit error rate between the pages of the non-volatile memory 2 can be reduced, and the cost of ECC can be reduced.

(第5の実施形態)
つぎに、図26〜図30を用いて第5の実施形態について説明する。第5の実施形態では、ワード線WLiに対するプログラムが、1stステージと2ndステージとの何れまで完了したかをメモリセル(フラグセル)に記録しておき、データ読み出しの際は、フラグセルに記録された情報に基づいて読み出しシーケンスを適切に制御する。
(Fifth Embodiment)
Next, the 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. Appropriately control the read sequence 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 with reference to 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 with reference to 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 memory controller 1 manages and identifies whether the program for the word line WLi is completed in the 1st stage or the 2nd stage. Then, when reading data, the memory controller 1 issues a read command according to the completion state of the program.

これに対し、本実施形態では、制御部22が、1stステージと2ndステージとの何れまで完了したかを示す完了情報を不揮発性メモリ2のフラグセルFCに記録する。そして、データ読み出しの際には、制御部22が、フラグセルFCに記録された完了情報に基づいて、読み出しシーケンスを制御する。 On the other hand, in the present embodiment, the control unit 22 records the completion information indicating whether the 1st stage or the 2nd stage is completed in the flag cell FC of the non-volatile memory 2. Then, at the time of data reading, the control unit 22 controls the reading sequence based on the completion information recorded in the flag cell FC.

フラグセルFCは、ワード線単位で設けられている。すなわち、ワード線WLi内の複数のメモリセルのうちの一部がフラグセルFCとして使用される。フラグセルFCは、ワード線WLi毎に1つでもよいが、多重化によってデータの信頼性を上げるために、複数個とするのが好ましい。また、隣接セル間干渉による信頼性悪化の影響を抑えるために、データを記憶するデータ記憶セルと、フラグセルFCとを物理的に隣接させない方が好ましい。たとえば、データ記憶セルと、フラグセルFCとの間にはデータ記録領域としては使用しないダミーセルDCなどを配置するのが好ましい。 The flag cell FC is provided in word line units. 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 control unit 22 writes the completion information indicating that the program of the 2nd stage is completed in the flag cell FC in the same word line WLi at the time of programming the 2nd stage. The control unit 22 writes the completion information in the flag cell FC, for example, at the D level or higher. The state of change in the threshold distribution at this time will be described.

図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 method of transitioning the Vth state in the flag cell FC, which is 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 control unit 22 of the present embodiment sets the flag cell FC so that the Vth distribution state of the writing destination becomes the region D or more (Vr4 or more) as shown in (T53) of FIG. 27A. Program.

フラグセル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 transition of the threshold value 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 method of transitioning the Vth state in the dummy cell DC, which is 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 control unit 22 of the present embodiment sets the dummy cell DC so that the Vth distribution state of the writing destination becomes region C or less (Vr4 or less) as shown in (T63) of FIG. 27B. Program.

図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 and the criteria corresponding to the expected value are compared. At this time, the number of failed bits is counted, but the data failed in the data storage cell and the data 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 to carry out was determined based on the external read command. However, in the present embodiment, which of the 1st stage and the 2nd stage is completed is not instructed by the command from the memory controller 1, but is determined according to the completion information in the flag cell FC. That is, when the control unit 22 receives the read command from the memory controller 1, the control unit 22 first reads the completion information which is the data in the flag cell FC. Then, the control unit 22 determines whether the 1st stage or the 2nd stage is completed depending on whether or not the flag cell FC has been written.

上述したとおり、本実施形態では、フラグセル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 control unit 22 uses the lowest read level of the plurality of read levels required when the program of the 2nd stage is completed regardless of whether the read target page is the Lower page, the Middle page, or the Upper page. Then, the flag cell FC can be read. Then, if it is determined that the flag cell FC has been written, the control unit 22 determines that the program of the 2nd stage has been completed, and reads from the memory cells other than the flag cell FC at the remaining read level. Run.

一方、フラグセル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 control unit 22 rereads the data with Vr1. If the Middle / Upper page is the read target, the control unit 22 determines that subsequent reading is unnecessary, and forcibly sets the output data to "1".

フラグセル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 control unit 22 determines whether or not the cell itself has been written if there is only one flag cell FC. Should be determined. Further, a plurality of flag cell FCs may be provided in order to increase the reliability of the data of the flag cell FCs. In this case, the control unit 22 has written the flag cell FC, for example, when the completion information indicating that more than the number of cells of the criteria have been written is read from a certain flag cell FC among the plurality of flag cell FCs. Judge that.

ここで、ページ読み出しの具体的な処理手順について説明する。図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 control unit 22 selects a read page (step S2310). When the read page is the Lower page (step S2310, Lower), the control unit 22 reads out at the threshold voltage of Vr4 (step S2320).

そして、制御部22は、フラグセルFCに完了情報が書き込まれているか否かを判定する(ステップS2330)。フラグセルFCに完了情報が書き込み済みでない場合(ステップS2330、No)、制御部22は、Vr1のしきい値電圧で読み出しを行う(ステップS2340)。そして、制御部22は、Vr1のしきい値電圧での読み出し結果に基づいて、読み出したデータの値を“0”または“1”に決定する(ステップS2350)。 Then, the control unit 22 determines whether or not the completion information is written in the flag cell FC (step S2330). When the completion information has not been written in the flag cell FC (step S2330, No), the control unit 22 reads out at the threshold voltage of Vr1 (step S2340). Then, the control unit 22 determines the value of the read data to be “0” or “1” based on the read result at the threshold voltage of Vr1 (step S2350).

一方、フラグセル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 control unit 22 sets the value of the read data to “0” or “” based on the read result at the threshold voltage of Vr4. It is determined to be 1 ”(step S2360).

また、読み出しページが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 control unit 22 reads at the threshold voltage of Vr1 (step S2370). Then, the control unit 22 determines whether or not the completion information is written in the flag cell FC (step S2380). When the completion information has not been written in the flag cell FC (step S2380, No), the control unit 22 controls to forcibly output "1" as the output data of the data storage cell (Middle page) (step S2390). ..

一方、フラグセル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 control unit 22 reads out at the threshold voltages of Vr3 and Vr6 (steps S2400, S2410). Then, the control unit 22 determines the value of the read data to be “0” or “1” based on the read result at the threshold voltage of Vr1, Vr3, and Vr6 (step S2420).

また、読み出しページが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 control unit 22 reads at the threshold voltage of Vr2 (step S2370). Then, the control unit 22 determines whether or not the completion information is written in the flag cell FC (step S2440). When the completion information has not been written in the flag cell FC (step S2440, No), the control unit 22 controls to forcibly output "1" as the output data of the data storage cell (Upper page) (step S2450). ..

一方、フラグセル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 control unit 22 reads out at the threshold voltages of Vr5 and Vr7 (steps S2460, S2470). Then, the control unit 22 determines the value of the read data to be “0” or “1” based on the read result at the threshold voltage of Vr2, Vr5, and Vr7 (step S2780).

図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 non-volatile memory 2 of a 4-bit / Cell (QLC: Quadruple Level Cell) having a three-dimensional structure or a two-dimensional structure.

図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 non-volatile memory 2. The 16 distributions described as Er1, A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, L1, M1, N1, O1 in FIG. 31 have 16 thresholds. Each threshold distribution within the region is shown. As described above, each memory cell of the present embodiment has a threshold distribution partitioned by 15 boundaries. The horizontal axis of FIG. 31 shows the threshold voltage, and the vertical axis shows the distribution of the number of memory cells (number of cells).

本実施形態では、しきい値電圧が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 where the threshold voltage is 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 where the threshold voltage is larger than Vr20 and Vr21 or less is called region J1, and the region where the threshold voltage is larger than Vr21 and Vr22 or less 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. Further, 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 the program of 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 memory cell array 23 have a distribution Er in the unwritten state. As shown in (T72) of FIG. 32, the control unit 22 of the non-volatile memory 2 keeps the distribution Er for each memory cell according to the bit value written to the Lower page and the Middle page in the program of the 1st stage. , Or charge is injected to move it to a distribution above the distribution Er. As a result, the memory cells are programmed to the quaternary level by the Lower page data and the Middle page data.

また、図32の(T73)に示すように、2ndステージのプログラムでは、データの書き込みにはUpperページとHigherページの2ページが必要である。そして、不揮発性メモリ2の制御部22は、2ndステージのプログラム後のしきい値分布を、各隣接する分布が分離された最終状態で16値のレベルとなるようにプログラムする。この場合、全てのページデータの読み出しが可能である。 Further, as shown in FIG. 32 (T73), in the 2nd stage program, two pages, an Upper page and a Higher page, are required for writing data. Then, the control unit 22 of the non-volatile memory 2 programs the threshold distribution after the program of the 2nd stage so that each adjacent distribution has a level of 16 values in the final state in which the adjacent distributions are separated. In this case, all page data can be read.

図33は、図32に示すしきい値分布に対応するデータコーディングを示す図である。図33に示すデータコーディングでは、例えば、しきい値電圧がEr1領域内にあるメモリセルは、Upper,Middle,Lower,Higherページに対応するビットのデータ値として“1111”を記憶している状態である。また、しきい値電圧がA1領域内にあるメモリセルは“1011”を記憶している状態である。 FIG. 33 is a diagram showing data coding corresponding to the threshold distribution shown in FIG. In the data coding shown in FIG. 33, for example, 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. be. 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, and 4, respectively, on the Lower page, Middle page, Upper page, and Higher page.

図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 memory cell array 23 have a distribution Er in the unwritten state. As shown in (T82) of FIG. 34, the control unit 22 of the non-volatile memory 2 keeps the distribution Er for each memory cell according to the bit value written to the Lower page and the Middle page in the program of the 1st stage. , Or charge is injected to move it to a distribution above the distribution Er. As a result, the memory cells are programmed to the quaternary level by the Lower page data and the Middle page data.

また、図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 control unit 22 of the non-volatile memory 2 programs the threshold distribution after the program of the 2nd stage so that each adjacent distribution has a level of 16 values in the final state in which the adjacent distributions are separated. In this case, all page data can be read.

図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. be. 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 threshold distribution after the program 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 memory cell array 23 have a distribution Er in the unwritten state. As shown in (T92) of FIG. 36, the control unit 22 of the non-volatile memory 2 keeps the distribution Er for each memory cell according to the bit value written to the Lower page and the Middle page in the program of the 1st stage. , Or charge is injected to move it to a distribution above the distribution Er. As a result, the memory cells are programmed to the quaternary level by the Lower page data and the Middle page data.

また、図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 control unit 22 of the non-volatile memory 2 programs the threshold distribution after the program of the 2nd stage so that each adjacent distribution has a level of 16 values in the final state in which the adjacent distributions are separated. In this case, all page data can be read.

図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. be. Further, the memory cell whose threshold voltage is in the B1 region is in a state of storing "0011".

本実施形態においても、第1〜第5の実施形態と同様の処理によって、プログラムが実行され、各ページデータの読み出しが行われる。 Also in this 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 non-volatile memory 2 having the three-dimensional structure or the two-dimensional structure, the first to fifth embodiments are performed. It is possible to obtain the same effect as the form.

なお、第1〜第6の実施形態が組み合されてもよい。例えば、第4の実施形態や第5の実施形態に、第2〜第4の実施形態の少なくとも1つが組み合されてもよい。 The first to sixth embodiments may be combined. For example, at least one of the second to fourth embodiments may be combined with the fourth embodiment or the fifth embodiment.

また、第1〜第6の実施形態では、不揮発性メモリ2が、NANDメモリを用いて構成されている場合について説明したが、他のタイプのメモリが用いられてもよい。また、第1〜第5の実施形態では、不揮発性メモリ2が1−3−3コーディングを適用する場合について説明したが、不揮発性メモリ2が適用するコーディングは、1−3−3コーディングに限らない。例えば、不揮発性メモリ2は、1−2−4コーディングまたは2−3−2コーディングを適用してもよい。 Further, in the first to sixth embodiments, the case where the non-volatile memory 2 is configured by using the NAND memory has been described, but other types of memories may be used. Further, in the first to fifth embodiments, the case where the non-volatile memory 2 applies the 1-3-3 coding has been described, but the coding applied to the non-volatile memory 2 is limited to the 1-3-3 coding. No. For example, the non-volatile memory 2 may apply 1-2-4 coding or 2-3-2 coding.

また、図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 (6)

各々が、データが消去された消去状態を示す第1のしきい値領域と、前記第1のしきい値領域よりも電圧レベルが高くデータが書き込まれた書き込み状態を示す第2から第8のしきい値領域とを合わせたしきい値領域であって前記第nのしきい値領域は前記第(n−1)のしきい値領域よりも電圧レベルが高い(nは2以上8以下の自然数)8個のしきい値領域により、第1から第3ビットで表わせられる3ビットのデータを記憶可能な複数のメモリセルを有する不揮発性メモリと、
バッファを備え、前記バッファに保存された前記第1ビットのデータを指定した第1プログラム用コマンドを前記不揮発性メモリに送信し、前記第1プログラム用コマンド送信後に、前記バッファに保存された前記第1ビットのデータを削除し、前記バッファに保存された前記第2ビット及び前記第3ビットのデータを指定した第2プログラム用コマンドを前記不揮発性メモリに送信するように構成されるメモリコントローラと、
を備え、
前記不揮発性メモリは、
前記送信された第1プログラム用コマンドに対して、前記指定された第1ビットのデータに応じて、前記メモリセルにおけるしきい値領域が、データが消去された消去状態を示す第9のしきい値領域と、前記第9のしきい値領域よりも電圧レベルが高くデータが書き込まれた書き込み状態を示す第10のしきい値領域とのうちのいずれかのしきい値領域になるように、前記メモリセルに対して第1のプログラムを実行するように構成され、
前記送信された第2プログラム用コマンドに対して、前記第1のプログラムが実行されたメモリセルから前記第1ビットのデータを読み出し、前記読み出した第1ビットのデータと、前記指定された第2ビット及び第3ビットのデータとに基づいて、前記第9のしきい値領域から前記第1から第4のしきい値領域のうちのいずれかのしきい値領域に、前記第10のしきい値領域から前記第5から第8のしきい値領域のうちのいずれかのしきい値領域になるように前記メモリセルに対して第2のプログラムを実行するように構成される制御部を備え、
前記第1から第8のしきい値領域のうち隣接するしきい値領域間に存在する第1から第7の境界のうち、前記第1ビットのデータの値の判定に用いられる境界の数は1であり、前記第2ビットのデータの値の判定に用いられる境界の数は3であり、前記第3ビットのデータの値の判定に用いられる境界の数は3であり、
前記制御部は、前記第2のプログラムにおいて、前記第1のプログラムが実行されたメモリセルから複数回前記第1ビットのデータを読み出し、前記読み出した結果に関する多数決の結果を、前記読み出した第1ビットのデータとして使用するメモリシステム。
A first threshold area indicating an erased state in which data has been erased, and a second to eighth threshold area indicating a write state in which data is written at a higher voltage level than the first threshold area, respectively. The nth threshold region, which is a threshold region including the threshold region, has a higher voltage level than the (n-1) threshold region (n is 2 or more and 8 or less). Non-volatile memory having a plurality of memory cells capable of storing 3-bit data represented by 1st to 3rd bits by 8 threshold areas (natural number), and
The first program command provided with a buffer and designating the data of the first bit stored in the buffer is transmitted to the non-volatile memory, and after the first program command is transmitted, the first program stored in the buffer is transmitted. A memory controller configured to delete 1-bit data and transmit a second program command specifying the 2nd bit and 3rd bit data stored in the buffer to the non-volatile memory.
With
The non-volatile memory is
In response to the transmitted first program command, the threshold area in the memory cell indicates the erased state in which the data has been erased according to the data of the designated first bit. The threshold area is one of the value area and the tenth threshold area indicating the writing state in which the data is written because the voltage level is higher than the ninth threshold area. It is configured to execute the first program on the memory cell.
In response to the transmitted command for the second program, the data of the first bit is read from the memory cell in which the first program is executed, and the read data of the first bit and the designated second are used. Based on the bit and the data of the third bit, the tenth threshold is moved from the ninth threshold area to any one of the first to fourth threshold areas. A control unit configured to execute a second program on the memory cell so that the value area becomes one of the fifth to eighth threshold areas is provided. ,
Of the first to seventh boundaries existing between adjacent threshold areas in the first to eighth threshold areas, the number of boundaries used for determining the value of the data of the first bit is 1, the number of boundary used for determination of the second bit of the data value is 3, the number of boundary used for determination of the third-bit data values are three der,
In the second program, the control unit reads the data of the first bit a plurality of times from the memory cell in which the first program is executed, and reads the result of the majority decision regarding the read result, the first read. memory system to use as bit data.
前記第4の境界が前記第1ビットのデータの値の判定に用いられ、
前記第1の境界、前記第3の境界及び前記第6の境界が、前記第2ビットのデータの値の判定に用いられ、
前記第2の境界、前記第5の境界及び前記第7の境界が、前記第3ビットのデータの値の判定に用いられる請求項に記載のメモリシステム。
The fourth boundary is used to determine the value of the first bit of data.
The first boundary, the third boundary, and the sixth boundary are used to determine the value of the second bit of data.
The memory system according to claim 1 , wherein the second boundary, the fifth boundary, and the seventh boundary are used for determining the value of the data of the third bit.
前記第10のしきい値領域の電圧レベルは前記第1の境界と前記第4の境界との間に入る請求項1または請求項に記載のメモリシステム。 The memory system according to claim 1 or 2 , wherein the voltage level in the tenth threshold region falls between the first boundary and the fourth boundary. 前記メモリコントローラは、
前記複数のメモリセルのうちの第1のワード線に電気的に接続された第1のメモリセルグループに対する前記第1プログラムを実行させるための前記第1プログラム用コマンドを送信し、
前記第1のメモリセルグループに対する前記第1プログラムの後に、前記複数のメモリセルのうちの第2のワード線に電気的に接続された第2のメモリセルグループに対する前記第1プログラムを実行させるための前記第1プログラム用コマンドを送信し、
前記第2のメモリセルグループに対する前記第1プログラムの後に、前記第1のメモリセルグループに対する前記第2プログラムを実行させるための前記第2プログラム用コマンドを送信するように構成される請求項1から請求項のうちのいずれか一項に記載のメモリシステム。
The memory controller
The command for the first program for executing the first program for the first memory cell group electrically connected to the first word line of the plurality of memory cells is transmitted, and the command for the first program is transmitted.
To execute the first program for a second memory cell group electrically connected to a second word line among the plurality of memory cells after the first program for the first memory cell group. Send the command for the first program of
From claim 1, the second program command for executing the second program for the first memory cell group is transmitted after the first program for the second memory cell group. The memory system according to any one of claims 3.
前記第1のメモリセルグループのメモリセルと前記第2のメモリセルグループのメモリセルとは直列接続される請求項に記載のメモリシステム。 The memory system according to claim 4 , wherein the memory cells of the first memory cell group and the memory cells of the second memory cell group are connected in series. 前記メモリコントローラは、
第1のストリングの前記第1のメモリセルグループに対する第1プログラムの実行よりも後に、第2のストリングの前記第1のメモリセルグループに対する第1プログラムを実行させるための前記第1プログラム用コマンドを送信し、
第2のストリングの前記第1のメモリセルグループに対する第1プログラムの実行よりも後に、前記第1のストリングの前記第1のメモリセルグループに対する第2プログラムを実行させるための前記第2プログラム用コマンドを送信するように構成される請求項または請求項に記載のメモリシステム。
The memory controller
After executing the first program for the first memory cell group of the first string, the command for the first program for executing the first program for the first memory cell group of the second string is issued. Send and
The command for the second program for executing the second program for the first memory cell group of the first string after the execution of the first program for the first memory cell group of the second string. The memory system according to claim 4 or 5 , wherein the memory system is configured to transmit.
JP2020125604A 2016-06-30 2020-07-22 Memory system Active JP6949178B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020125604A JP6949178B2 (en) 2016-06-30 2020-07-22 Memory system
JP2021148809A JP7135185B2 (en) 2020-07-22 2021-09-13 Information processing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016131025A JP2018005959A (en) 2016-06-30 2016-06-30 Memory system and writing method
JP2020125604A JP6949178B2 (en) 2016-06-30 2020-07-22 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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021148809A Division JP7135185B2 (en) 2020-07-22 2021-09-13 Information processing system

Publications (2)

Publication Number Publication Date
JP2020184404A JP2020184404A (en) 2020-11-12
JP6949178B2 true JP6949178B2 (en) 2021-10-13

Family

ID=73045254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020125604A Active JP6949178B2 (en) 2016-06-30 2020-07-22 Memory system

Country Status (1)

Country Link
JP (1) JP6949178B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094921A (en) * 2005-09-30 2007-04-12 Toshiba Corp Memory card and control method for it
US8180994B2 (en) * 2009-07-08 2012-05-15 Sandisk Technologies Inc. Optimized page programming order for non-volatile memory
JP5586666B2 (en) * 2012-08-01 2014-09-10 力晶科技股▲ふん▼有限公司 Nonvolatile semiconductor memory device and reading method thereof
KR102024850B1 (en) * 2012-08-08 2019-11-05 삼성전자주식회사 Memory system including three dimensional nonvolatile memory device and programming method thereof
US9230664B2 (en) * 2014-06-06 2016-01-05 Kabushiki Kaisha Toshiba Nonvolatile memory and data writing method

Also Published As

Publication number Publication date
JP2020184404A (en) 2020-11-12

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
KR102015906B1 (en) Memory system comprising nonvolatile memory device and read method tererof
CN105374388B (en) Memory device and method of operating the same
KR102102224B1 (en) Storage and programming method thereof
US9466386B2 (en) Storage device and related programming method
US8446766B2 (en) Nonvolatile memory device and related programming method
US9478304B2 (en) Semiconductor memory device and operating method thereof
KR102251810B1 (en) Memory Device, Memory System and Control Method for Memory Device
US20170125128A1 (en) Nonvolatile memory device and a method of operating the same
KR20150108179A (en) Semiconductor apparatus
US11756611B2 (en) Memory system
US20150058697A1 (en) Storage device, controller and memory controlling method
JP2020047330A (en) Semiconductor storage device
JP2020047329A (en) Semiconductor storage device
JP2019164850A (en) Memory system
KR20110114020A (en) Program method of multi-bit memory and data storage system using the same
CN111176551A (en) Memory device including random I/O engine and storage device including the same
JP6949178B2 (en) Memory system
JP6759440B2 (en) Memory system
JP7135185B2 (en) Information processing system
CN112825026B (en) Memory system
TWI767789B (en) semiconductor memory device
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: 20200722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210729

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210921

R150 Certificate of patent or registration of utility model

Ref document number: 6949178

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150