JP6710298B2 - Memory system - Google Patents

Memory system Download PDF

Info

Publication number
JP6710298B2
JP6710298B2 JP2019003580A JP2019003580A JP6710298B2 JP 6710298 B2 JP6710298 B2 JP 6710298B2 JP 2019003580 A JP2019003580 A JP 2019003580A JP 2019003580 A JP2019003580 A JP 2019003580A JP 6710298 B2 JP6710298 B2 JP 6710298B2
Authority
JP
Japan
Prior art keywords
page
value
written
memory cell
threshold
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
JP2019003580A
Other languages
Japanese (ja)
Other versions
JP2019053814A (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
Application filed by Kioxia Corp filed Critical Kioxia Corp
Publication of JP2019053814A publication Critical patent/JP2019053814A/en
Application granted granted Critical
Publication of JP6710298B2 publication Critical patent/JP6710298B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Read Only Memory (AREA)

Description

本発明の実施形態は、メモリシステムに関する。 Embodiments of the present invention relate to memory systems .

NANDフラッシュメモリ(以下、NANDメモリという)では、メモリセルのフローティングゲートに蓄えられた電荷量により情報を記憶する。各メモリセルは、電荷量に応じたしきい値電圧を有する。メモリセルに記憶する複数のデータ値をしきい値電圧の複数の領域にそれぞれ対応させ、メモリセルのしきい値電圧が記憶するデータ値に対応する領域となるよう電荷を注入する。そして、読み出し時には、メモリセルのしきい値電圧がどの領域に存在するかを判定することにより、メモリセルの記憶するデータ値を得ることができる。 In a NAND flash memory (hereinafter referred to as a NAND memory), information is stored by the amount of electric charge stored in the floating gate of a memory cell. Each memory cell has a threshold voltage according to the amount of charge. A plurality of data values stored in the memory cell are made to correspond to a plurality of threshold voltage regions, respectively, and charges are injected so that the threshold voltage of the memory cell becomes a region corresponding to the stored data value. Then, at the time of reading, the data value stored in the memory cell can be obtained by determining in which region the threshold voltage of the memory cell exists.

1つのメモリセルに3bit記憶可能な3bit/CellのNANDメモリでは、1つのメモリセルに1bit記憶可能な1bit/Cellや1つのメモリセルに2bit記憶可能な2bit/CellのNANDメモリと比べ、しきい値電圧の領域の数が多い。このため、3bit/CellのNANDメモリでは、1bit/Cellや2bit/CellのNANDメモリと比べ、しきい値電圧の調整精度が要求され、セル間相互干渉の影響が大きくなる。 In a 3 bit/cell NAND memory capable of storing 3 bits in one memory cell, a threshold is compared with a 1 bit/cell capable of storing 1 bit in one memory cell or a 2 bit/cell NAND memory capable of storing 2 bit in one memory cell. There are many value voltage regions. Therefore, the 3-bit/Cell NAND memory requires a higher threshold voltage adjustment accuracy than the 1-bit/Cell or 2-bit/Cell NAND memory, and the mutual interference between cells becomes large.

近年の微細化が進んだ世代のNANDメモリでは、一般的に、セル間相互干渉を避けるため、1つのメモリセルに記憶する全bitを同時に書き込む(プログラムする)手法が取られる。 In recent generations of miniaturized NAND memories, generally, a method of simultaneously writing (programming) all bits stored in one memory cell is taken in order to avoid mutual interference between cells.

一方、セル間相互干渉がそれほど大きくなければ、1つのメモリセルに格納するbitを1つずつ順番にプログラムしてもよい。3bit/Cellのメモリセルについて、このように1bitずつプログラムする方法として、1−2−4コーディングが知られている。この方法は、3bit/Cellの8個のしきい値電圧の領域間の7個を、3bitにそれぞれ1つ、2つ、4つに分配するコーディングである。 On the other hand, if the mutual interference between cells is not so great, the bits to be stored in one memory cell may be programmed one by one. The 1-2-4 coding is known as a method for programming the memory cells of 3 bits/Cell by 1 bit in this way. This method is a coding method in which 7 bits between 8 threshold voltage regions of 3 bits/Cell are divided into 1 bit, 2 bits and 4 bits, respectively.

米国特許第8054684号明細書US Pat. No. 8054684 米国特許第8472280号明細書U.S. Patent No. 8472280

1つのメモリセルに格納するビットを1つずつ順番にプログラムすると、プログラム時の自由度が増すが、上記従来の1−2−4コーディングでは、境界数のビット間での偏りが著しい。このため、境界数が多いビットでは誤りが生じる可能性が高くなる。 When the bits stored in one memory cell are sequentially programmed one by one, the degree of freedom at the time of programming increases, but in the above-mentioned conventional 1-2-4 coding, the deviation of the number of boundaries between bits is significant. Therefore, there is a high possibility that an error will occur in a bit having a large number of boundaries.

本発明の一つの実施形態によれば、メモリシステムは、ワード線と、各々がワード線に接続され3ビットデータを保存可能であり、第1のページから第3のページに対応する複数のメモリセルと、を有する不揮発性メモリと、不揮発性メモリへの書き込みを制御するメモリコントローラと、を備える。不揮発性メモリは、メモリコントローラから書き込みが要求されたデータをメモリセルへ書き込むように制御し、消去済みのメモリセルに第1のページの書き込みを行う場合、書き込むデータが第1の値の場合、しきい値電圧が第2のしきい値領域となるようにプログラムし、第1のページの書き込みが行われた第2のページの書き込みを行う場合、第1のページに対応する値が第2の値であって第2のページに書き込むデータが第1の値の場合、しきい値電圧が第4のしきい値領域となるようにプログラムし、第1のページに対応する値が第1の値であって第2のページに書き込むデータが第1の値の場合、しきい値電圧が第3のしきい値領域となるようにプログラムし、第2のページの書き込みが行われたメモリセルに第3のページの書き込みを行う場合、第1のページに対応する値が第2の値で第2のページに対応する値が第2の値であって第3のページに書き込むデータが第1の値の場合、メモリセルのしきい値電圧が第6のしきい値領域となるようにプログラムし、第1のページに対応する値が第1の値で第2のページに対応する値が第2の値であって第3のページに書き込むデータが第1の値の場合しきい値電圧を第7のしきい値領域となるようにプログラムし、第1のページに対応する値が第1の値で第2のページに対応する値が第1の値であって第3のページに書き込むデータが第1の値の場合しきい値電圧を第8のしきい値領域となるようにプログラムし、第1のページに対応する値が前記第2の値で第2のページに対応する値が第1の値であって第3のページに書き込むデータが第1の値の場合しきい値電圧を第5のしきい値領域となるようにプログラムし、第(n−1)のしきい値領域の電圧値より第nのしきい値領域(nは2以上8以下の整数)の電圧値が大きい制御部を有するAccording to one embodiment of the present invention, a memory system includes a word line and a plurality of memories , each of which is connected to the word line and can store 3-bit data, corresponding to a first page to a third page. A non-volatile memory including a cell, and a memory controller that controls writing to the non-volatile memory. The non-volatile memory controls to write the data requested to be written from the memory controller to the memory cell, and when writing the first page to the erased memory cell, when the written data has the first value, When the threshold voltage is programmed to be in the second threshold region and the second page is written after the first page is written, the value corresponding to the first page is set to the second value. And the data to be written to the second page is the first value, the threshold voltage is programmed to be in the fourth threshold region, and the value corresponding to the first page is set to the first value. And the data to be written in the second page is the first value, the threshold voltage is programmed to be in the third threshold region, and the memory in which the second page is written is written. When writing the third page to the cell, the value corresponding to the first page is the second value, the value corresponding to the second page is the second value, and the data to be written to the third page is In the case of the first value, the threshold voltage of the memory cell is programmed to be in the sixth threshold region, and the value corresponding to the first page is the first value and corresponds to the second page. If the value is the second value and the data to be written to the third page is the first value, the threshold voltage is programmed to be in the seventh threshold region, and the value corresponding to the first page is set. Is the first value, the value corresponding to the second page is the first value, and the data to be written to the third page is the first value, the threshold voltage becomes the eighth threshold region. And the value corresponding to the first page is the second value, the value corresponding to the second page is the first value, and the data to be written to the third page is the first value. The threshold voltage is programmed to be the fifth threshold region, and the n-th threshold region (n is an integer of 2 or more and 8 or less) from the voltage value of the (n-1)th threshold region. a controller is large voltage value).

図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 according to the first embodiment. 図3は、第1の実施の形態のしきい値領域の一例を示す図である。FIG. 3 is a diagram showing an example of the threshold region according to the first embodiment. 図4は、第1の実施の形態のデータコーディングを示す図である。FIG. 4 is a diagram showing data coding according to the first embodiment. 図5は、第1の実施の形態におけるメモリセルに対するプログラム後のしきい値分布を示す図である。FIG. 5 is a diagram showing the threshold voltage distribution after programming for the memory cell in the first embodiment. 図6は、第1の実施の形態のLowerページの読み出し方法を示す図である。FIG. 6 is a diagram showing a method of reading a Lower page according to the first embodiment. 図7は、第1の実施の形態のMiddleページの読み出し方法を示す図である。FIG. 7 is a diagram showing a method of reading a Middle page according to the first embodiment. 図8は、第1の実施の形態のUpperページの読み出し方法を示す図である。FIG. 8 is a diagram showing a method of reading the Upper page according to the first embodiment. 図9は、第1の実施の形態の書き込み手順の一例を示すフローチャートである。FIG. 9 is a flowchart showing an example of the writing procedure of the first embodiment. 図10は、第1の実施の形態の読み出し手順の一例を示すフローチャートである。FIG. 10 is a flowchart showing an example of the reading procedure according to the first embodiment. 図11は、第2の実施の形態のデータコーディングを示す図である。FIG. 11 is a diagram showing data coding according to the second embodiment. 図12は、第2の実施の形態におけるメモリセルに対するプログラム後のしきい値分布を示す図である。FIG. 12 is a diagram showing a threshold distribution after programming of the memory cell according to the second embodiment. 図13は、第2の実施の形態のLowerページの読み出し方法を示す図である。FIG. 13 is a diagram showing a method of reading a Lower page according to the second embodiment. 図14は、第2の実施の形態のMiddleページの読み出し方法を示す図である。FIG. 14 is a diagram showing a method of reading a Middle page according to the second embodiment. 図15は、第2の実施の形態のUpperページの読み出し方法を示す図である。FIG. 15 is a diagram showing a method of reading an Upper page according to the second embodiment. 図16は、第2の実施の形態の読み出し手順の一例を示すフローチャートである。FIG. 16 is a flowchart showing an example of the reading procedure according to the second embodiment. 図17は、第3の実施の形態のデータコーディングを示す図である。FIG. 17 is a diagram showing data coding according to the third embodiment. 図18は、第3の実施の形態におけるメモリセルに対するプログラム後のしきい値分布を示す図である。FIG. 18 is a diagram showing a threshold distribution after programming of the memory cell according to the third embodiment. 図19は、第4の実施の形態のデータコーディングを示す図である。FIG. 19 is a diagram showing data coding according to the fourth embodiment. 図20は、第4の実施の形態におけるメモリセルに対するプログラム後のしきい値分布を示す図である。FIG. 20 is a diagram showing a threshold distribution after programming of the memory cell according to the fourth embodiment. 図21は、第5の実施の形態のデータコーディングを示す図である。FIG. 21 is a diagram showing data coding according to the fifth embodiment. 図22は、第5の実施の形態におけるメモリセルに対するプログラム後のしきい値分布を示す図である。FIG. 22 is a diagram showing the threshold voltage distribution after programming for the memory cell in the fifth embodiment. 図23は、第6の実施の形態のデータコーディングを示す図である。FIG. 23 is a diagram showing data coding according to the sixth embodiment. 図24は、第6の実施の形態におけるメモリセルに対するプログラム後のしきい値分布を示す図である。FIG. 24 is a diagram showing the threshold voltage distribution after programming for the memory cell in the sixth embodiment. 図25は、しきい値分布の変動の一例を示す図である。FIG. 25 is a diagram showing an example of variations in the threshold distribution. 図26は、読み出し電圧を変更する場合の実施の形態7の読み出し手順の一例を示す図である。FIG. 26 is a diagram showing an example of the read procedure of the seventh embodiment when the read voltage is changed. 図27は、ソフトビットの様子の一例を示す図である。FIG. 27 is a diagram showing an example of a state of soft bits. 図28は、実施の形態9における各ページのプログラム後のしきい値分布の一例を示す図である。FIG. 28 is a diagram showing an example of the threshold distribution after programming of each page in the ninth embodiment. 図29は、実施の形態10における各ページのプログラム後のしきい値分布の一例を示す図である。FIG. 29 is a diagram showing an example of the threshold distribution after programming of each page in the tenth embodiment. 図30は、実施の形態11における各ページのプログラム後のしきい値分布の一例を示す図である。FIG. 30 is a diagram showing an example of the threshold distribution after programming of each page in the eleventh embodiment.

以下に添付図面を参照して、実施形態にかかる不揮発性メモリおよび書き込み方法を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。 Hereinafter, a nonvolatile memory and a writing method according to embodiments 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メモリである。本実施の形態では、不揮発性メモリ2は、メモリセルあたり3bitを記憶可能なメモリセルを有するNANDメモリ、すなわち3bit/CellのNANDメモリであるとして説明する。 The nonvolatile memory 2 is a memory that stores data in a nonvolatile manner, and is, for example, a NAND memory. In the present embodiment, the nonvolatile memory 2 will be described as a NAND memory having memory cells capable of storing 3 bits per memory cell, that is, a 3 bit/Cell NAND memory.

メモリコントローラ1は、ホストからの書き込みコマンドに従って不揮発性メモリ2への書き込みを制御する。また、メモリコントローラ1は、ホストからの読み出しコマンドに従って不揮発性メモリ2からの読み出しを制御する。メモリコントローラ1は、RAM11、プロセッサ12、ホストインターフェイス13、ECC回路14およびメモリインターフェイス15を備える。RAM(Random Access Memory)11、プロセッサ12、ホストインターフェイス13、ECC回路14およびメモリインターフェイス15は、互いに内部バス16で接続される。 The memory controller 1 controls writing to the nonvolatile memory 2 according to a write command from the host. Further, the memory controller 1 controls reading from the non-volatile memory 2 according to a read command from the host. The memory controller 1 includes a RAM 11, a processor 12, a host interface 13, an ECC circuit 14 and a memory interface 15. A RAM (Random Access Memory) 11, a processor 12, a host interface 13, an ECC circuit 14, and a 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), etc. received from the host to the internal bus 16. Further, the host interface 13 transmits user data read from the non-volatile memory 2 and a response from the processor 12 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 an instruction from 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 centrally controls the memory controller 1. 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 performs control according to the command. For example, the processor 12 instructs the memory interface 15 to write user data and parity in the nonvolatile 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に格納される。本実施の形態では、符号化は必須ではなく、符号化せずにユニットデータを不揮発性メモリ2に格納してもよいが、図1では、一構成例として符号化を行う構成を示している。符号化を行わない場合には、ページデータはユニットデータと一致する。また、1つのユニットデータに基づいて1つの符号語が生成されてもよいし、ユニットデータが分割された分割データに基づいて1つの符号語が生成されてもよい。また、複数のユニットデータを用いて1つの符号語が生成されてもよい。 The processor 12 determines a storage area (memory area) on the nonvolatile memory 2 for the user data accumulated in the RAM 11. User data is stored in the RAM 11 via the internal bus 16. The processor 12 determines the memory area for page-based data (page data) that is a 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 the present embodiment, the encoding is not essential, and the unit data may be stored in the non-volatile memory 2 without being encoded, but FIG. 1 shows a configuration in which the encoding is performed as one configuration example. .. When not encoded, 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 divided data obtained by dividing the unit data. Moreover, one codeword may be generated using a plurality of unit data.

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

本明細書では、1つのワード線に共通に接続されたメモリセルをメモリセルグループと定義する。本実施の形態では、不揮発性メモリ2は、3bit/CellのNANDメモリであり、1つのメモリセルグループは3ページに対応する。各メモリセルの3bitは、それぞれこの3ページに対応する。本実施の形態では、この3ページをLowerページ(第1のページ),Middleページ(第2のページ),Upperページ(第3のページ)と呼ぶ。 In this specification, memory cells commonly connected to one word line are defined as a memory cell group. In the present embodiment, the nonvolatile memory 2 is a 3-bit/Cell NAND memory, and one memory cell group corresponds to three pages. The 3 bits of each memory cell correspond to these 3 pages, respectively. In the present embodiment, these three pages are called Lower page (first page), Middle page (second page), 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. The ECC circuit 14 also decodes the codeword read from the nonvolatile 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 the data read from the non-volatile memory 2 before being transmitted to the host. The RAM 11 is a general-purpose memory such as SRAM (Static Random Access Memory) or 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 the ECC circuit 14 and the memory interface 15, respectively. However, the ECC circuit 14 may be built in the memory interface 15. Further, the ECC circuit 14 may be built in the nonvolatile memory 2.

図2は、本実施の形態の不揮発性メモリ2の構成例を示すブロック図である。不揮発性メモリ2は、NAND I/O Interface21、制御部22、NANDメモリセルアレイ(メモリセル部)23、およびページバッファ24を備える。不揮発性メモリ2は、例えば1チップの半導体基板(例えば、シリコン基板)からなる。 FIG. 2 is a block diagram showing a configuration example of the nonvolatile memory 2 of the present embodiment. The nonvolatile 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 nonvolatile memory 2 is composed of, for example, a one-chip semiconductor substrate (for example, a silicon substrate).

制御部22は、NAND I/O Interface21経由でメモリコントローラ1から入力されたコマンド等に基づいて、不揮発性メモリ2の動作を制御する。具体的には、書き込み要求が入力された場合、書き込みが要求されたデータをNANDメモリセルアレイ23上の指定されたアドレスへ書き込むよう制御する。また、制御部22は、読み出し要求が入力された場合、読み出しが要求されたデータをNANDメモリセルアレイ23から読み出してNAND I/O Interface21経由でメモリコントローラ1へ出力するよう制御する。ページバッファ24は、NANDメモリセルアレイ23の書き込み時にメモリコントローラ1から入力されたデータを一時的に格納したり、NANDメモリセルアレイ23から読み出したデータを一時的に格納したりするバッファである。 The control unit 22 controls the operation of the nonvolatile 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 data requested to be written is controlled to be written to a specified address on the NAND memory cell array 23. Further, when a read request is input, the control unit 22 controls the read requested data to be read from the NAND memory cell array 23 and output to the memory controller 1 via the NAND I/O interface 21. The page buffer 24 is a buffer for temporarily storing the data input from the memory controller 1 when writing to the NAND memory cell array 23 and temporarily storing the data read from the NAND memory cell array 23.

図3は、本実施の形態のしきい値領域の一例を示す図である。NANDメモリでは、メモリセルのフローティングゲートに蓄えられた電荷量により情報を記憶する。各メモリセルは、電荷量に応じたしきい値電圧を有する。そして、メモリセルに記憶する複数のデータ値を、しきい値電圧の複数の領域(しきい値領域)にそれぞれ対応させる。図3の、Er、A,B,C,D,E,F,Gと記載した8つの分布(山型)は、8つのしきい値領域内のそれぞれのしきい値分布を示している。図3の横軸はしきい電圧を示し、縦軸はメモリセル数(セル数)の分布を示している。本実施の形態では、しきい値電圧がVr1以下となる領域を領域Erとよび、しきい値電圧がVr1より大きくVr2以下となる領域を領域Aとよび、しきい値電圧がVr2より大きくVr3以下となる領域を領域Bとよび、しきい値電圧がVr3より大きくVr4以下となる領域を領域Cとよび、しきい値電圧がVr4より大きくVr5以下となる領域を領域Dとよび、しきい値電圧がVr5より大きくVr6以下となる領域を領域Eとよび、しきい値電圧がVr6より大きくVr7以下となる領域を領域Fとよび、しきい値電圧がVr7より大きい領域を領域Gとよぶ。また、領域Er,A,B,C,D,E,F,Gに対応するしきい値分布をそれぞれ分布Er,A,B,C,D,E,F,G(第1〜第8の分布)と呼ぶ。Vr1〜Vr7は、各領域の境界となるしきい値電圧である。 FIG. 3 is a diagram showing an example of the threshold region of this embodiment. In the NAND memory, 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 threshold voltage regions (threshold regions), respectively. Eight distributions (mountain type) described as Er, A, B, C, D, E, F, G in FIG. 3 indicate respective threshold distributions within the eight threshold regions. The horizontal axis of FIG. 3 represents the threshold voltage, and the vertical axis represents the distribution of the number of memory cells (the number of cells). In the present embodiment, a region where the threshold voltage is Vr1 or lower is called region Er, a region where the threshold voltage is higher than Vr1 and Vr2 is lower than region A, and the threshold voltage is higher than Vr2 and Vr3. The region having the following voltage is referred to as region B, the region having the threshold voltage higher than Vr3 and not higher than Vr4 is referred to as region C, and the region having the threshold voltage higher than Vr4 and not higher than Vr5 is referred to as region D. A region where the value voltage is higher than Vr5 and lower than Vr6 is called region E, a region where the threshold voltage is higher than Vr6 and lower than Vr7 is called region F, and a region where the threshold voltage is higher than Vr7 is called region G. .. Further, the threshold distributions corresponding to the regions Er, A, B, C, D, E, F, and G are distributed to Er, A, B, C, D, E, F, and G (first to eighth). Distribution). Vr1 to Vr7 are threshold voltages that serve as boundaries between regions.

NANDメモリでは、メモリセルの複数のしきい値領域(すなわちしきい値分布)に複数のデータ値をそれぞれ対応させる。この対応をデータコーディングという。このデータコーディングをあらかじめ定めておき、データの書き込み(プログラム)時には、データコーディングに従って記憶するデータ値に応じたしきい値領域内となるようにメモリセルに電荷を注入する。そして、読み出し時には、メモリセルに読み出し電圧を印加し、読み出し電圧よりメモリセルのしきい値が低いか高いかにより、データが決定される。しきい値電圧が、読み出し電圧より低い場合には、「消去」状態であるデータ値は“1”と定義する。しきい値電圧が読み出し電圧以上である場合には、「プログラムされた」状態であり、データを“0”と定義する。 In the NAND memory, a plurality of data values are associated with a plurality of threshold regions (that is, threshold distributions) of memory cells. This correspondence is called data coding. This data coding is determined in advance, and at the time of writing (programming) data, charges are injected into the memory cell so as to be within the threshold region according to the data value stored according to the data coding. Then, at the time of reading, a read voltage is applied to the memory cell, and the data is determined depending on whether the threshold voltage of the memory cell is lower or higher than the read 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".

図4は、本実施の形態のデータコーディングを示す図である。本実施の形態では、図3に示した8つのしきい値分布(しきい値領域)を3bitの8つのデータ値にそれぞれ対応させる。図4に示すように、しきい値電圧がEr領域内にあるメモリセルは、Upper,Middle,Lowerページに対応するビットのデータ値として“111”を記憶している状態である。しきい値電圧がA領域内にあるメモリセルは“110”を記憶している状態である。しきい値電圧がB領域内にあるメモリセルは“100”を記憶している状態である。しきい値電圧がC領域内にあるメモリセルは“101”を記憶している状態である。しきい値電圧がD領域内にあるメモリセルは“001”を記憶している状態である。しきい値電圧がE領域内にあるメモリセルは“011”を記憶している状態である。しきい値電圧がF領域内にあるメモリセルは“010”を記憶している状態である。しきい値電圧がG領域内にあるメモリセルは“000”を記憶している状態である。なお、メモリセルが未書き込みの状態(「消去」の状態)では、メモリセルのしきい値電圧はEr領域内にある。このように、図4に示したコーディングは、任意の2つの隣接する領域間で1bitのみデータが変化するグレイ符号である。 FIG. 4 is a diagram showing data coding according to the present embodiment. In the present embodiment, the eight threshold distributions (threshold regions) shown in FIG. 3 are made to correspond to eight 3-bit data values, respectively. As shown in FIG. 4, the memory cell whose threshold voltage is within the Er region is in a state where “111” is stored as the data value of the bit corresponding to the Upper, Middle, and Lower pages. A memory cell whose threshold voltage is within the area A is in a state of storing "110". A memory cell whose threshold voltage is within the B region is in a state of storing "100". A memory cell whose threshold voltage is within the C region is in a state of storing "101". A memory cell whose threshold voltage is within the D region is in a state of storing "001". A memory cell whose threshold voltage is within the E region is in a state of storing "011". A memory cell whose threshold voltage is within the F region is in a state of storing "010". A memory cell whose threshold voltage is within the G region is in a state of storing "000". When the memory cell is in the unwritten state (“erased” state), the threshold voltage of the memory cell is within the Er region. As described above, the coding shown in FIG. 4 is a Gray code in which data changes only by 1 bit between any two adjacent regions.

図4に示す本実施の形態のコーディングでは、Upperページのビット値を判定するための境界となるしきい値電圧はVr4である。Middleページのビット値を判定するための境界となるしきい値電圧はVr2、Vr5、Vr7である。Lowerページのビット値を判定するための境界となるしきい値電圧はVr1、Vr3、Vr6である。ビット値を判定するための境界となるしきい値電圧の数(以下、境界数とよぶ)が、Upperページ,Middleページ,Lowerページでそれぞれ1,3,3である。以下、このようなコーディングをUpperページ,Middleページ,Lowerページのそれぞれの境界数を用いて、1−3−3コーディングという。ここで注目すべき事項は、ページごとの隣接データと変化する境界の数が最大3であることである。不揮発性メモリ2の制御部22は、図4に示したコーディングに基づいて、NANDメモリセルアレイ23へのプログラムおよびNANDメモリセルアレイ23からの読み出しを制御する。 In the coding of the present embodiment shown in FIG. 4, the threshold voltage serving as a boundary for determining the bit value of the Upper page is Vr4. The threshold voltages serving as boundaries for determining the bit value of the Middle page are Vr2, Vr5, and Vr7. The threshold voltages that are boundaries for determining the bit value of the Lower page are Vr1, Vr3, and Vr6. The number of threshold voltages (hereinafter, referred to as a boundary number) serving as a boundary for determining a bit value is 1, 3, and 3 in Upper page, Middle page, and Lower page, respectively. Hereinafter, such coding is referred to as 1-3-3 coding by using the boundary numbers of the Upper page, Middle page, and Lower page. What should be noted here is that the maximum number of boundaries that change between adjacent data for each page is three. The control unit 22 of the non-volatile memory 2 controls the program to the NAND memory cell array 23 and the read from the NAND memory cell array 23 based on the coding shown in FIG.

3bit/CellのNANDメモリへのプログラム方法として、1つのメモリセルグループに記憶する3ページのデータを同時に書き込む方法が知られている。しかしながら、この方法では、1ページずつデータを書込むことができず、3ページ分のデータが揃ってからでないと書き込みができない。書き込みを効率的に実施するためには、1ページずつ書き込みができることが望ましい。1ページずつ順番にプログラムする例として、Upperページ、Middleページ、Lowerページの境界数がそれぞれ1,2,4である1−2−4コーディングが知られている。この方法では、最大の境界数が4となるため、境界数の多いページでは誤りの発生確率が高くなる。ユーザデータを符号化する際の誤り訂正能力は、誤りの発生確率の高いページに対応できるよう実施することになる。このため、誤り訂正能力を高めるための記憶装置のコストや消費電力を増加させ、書き込みおよび読み出し速度を低下させてしまう。このため、誤り発生確率はページ間でなるべく偏りのないことが望まれる。 As a programming method for a 3-bit/Cell NAND memory, there is known a method of simultaneously writing data of three pages stored in one memory cell group. However, with this method, data cannot be written page by page, and data cannot be written until data for three pages has been prepared. In order to perform writing efficiently, it is desirable that writing can be performed page by page. As an example of sequentially programming one page at a time, 1-2-4 coding is known in which the numbers of boundaries of Upper page, Middle page, and Lower page are 1, 2, and 4, respectively. In this method, since the maximum number of boundaries is 4, the error occurrence rate becomes high in a page having many boundaries. The error correction capability when encoding user data will be implemented so as to be able to handle pages with a high error occurrence probability. Therefore, the cost and power consumption of the storage device for increasing the error correction capability are increased, and the writing and reading speeds are reduced. Therefore, it is desired that the error occurrence probabilities be as biased as possible among the pages.

本実施の形態では、後述するように1ページずつ書き込みを行うことができる。その上、上述のように、1−3−3コーディングであり、ページ間の境界数の偏りが少ない。これにより、1−2−4コーディングに比べ、記憶装置のコストおよび消費電力を抑制し、書き込みおよび読み出し速度を高めることができる。また、後述するように、どのページまで書き込みが行われたかの情報を管理せずに、Upperページ、Middleページ、Lowerページのどのページを読み出しても正しい読み出し結果を得ることができる。 In this embodiment, writing can be performed page by page as described later. Furthermore, as described above, the 1-3-3 coding is performed, and the number of boundaries between pages is less biased. As a result, the cost and power consumption of the storage device can be suppressed and the writing and reading speeds can be increased as compared with the 1-2-4 coding. Further, as will be described later, a correct read result can be obtained even if any of the Upper page, the Middle page, and the Lower page is read without managing the information up to which page has been written.

図5は、本実施の形態におけるメモリセルに対するプログラム後のしきい値分布を示す図である。図5(A)は、Lowerページのプログラム後のしきい値分布を示し、図5(B)は、Middleページのプログラム後のしきい値分布を示し、図5(C)は、Upperページのプログラム後のしきい値分布を示す。本実施の形態では、1ページずつプログラムすることが可能であるが、プログラムの順序は決まっており、Lowerページ、Middleページ、Upperページの順に書き込む。ただし、1つのメモリセルグループのLowerページ、Middleページ、Upperページを連続して書き込む必要はない。例えば、第1のメモリセルグループのLowerページの書き込みを行い、第2のメモリセルグループのLowerページの書き込みを行い、…、その後、第1のメモリセルグループのMiddleページの書き込みを行うというような書き込みを実施可能である。 FIG. 5 is a diagram showing a threshold distribution after programming of the memory cell according to the present embodiment. 5A shows the threshold distribution after programming of the Lower page, FIG. 5B shows the threshold distribution after programming of the Middle page, and FIG. 5C shows that of the Upper page. The threshold distribution after programming is shown. In this embodiment, it is possible to program one page at a time, but the order of programming is fixed, and the lower page, the middle page, and the upper page are written in that order. However, it is not necessary to continuously write the Lower page, Middle page, and Upper page of one memory cell group. For example, the lower page of the first memory cell group is written, the lower page of the second memory cell group is written,..., And then, the Middle page of the first memory cell group is written. Writing can be performed.

NANDメモリセルアレイ23の全メモリセルは、未書き込みの状態(「消去」の状態)である分布Erの状態である。不揮発性メモリ2の制御部22は、図5(A)に示すように、Lowerページのプログラムでは、Lowerページに書き込む(記憶する)ビット値に応じて、メモリセルごとに分布Erのままとする、または電荷を注入して1つ上の分布Aに異動させる。具体的には、Lowerページに書き込むビット値が“1”の場合は、電荷を注入せず、Lowerページに書き込むビット値が“0”の場合は電荷を注入して、しきい値電圧を分布Aに移動させるようプログラムする。 All the memory cells of the NAND memory cell array 23 are in a state of distribution Er which is an unwritten state (“erased” state). As shown in FIG. 5A, the control unit 22 of the nonvolatile memory 2 keeps the distribution Er for each memory cell according to the bit value written (stored) in the Lower page in the program of the Lower page. , Or injecting charge to move it to the next higher distribution A. Specifically, when the bit value written to the Lower page is “1”, no charge is injected, and when the bit value written to the Lower page is “0”, the charge is injected to distribute the threshold voltage. Program to move to A.

Lowerページの書き込みを実施済のメモリセルグループに書き込みを行う場合、制御部22は、図5(B)に示すように、Middleページのプログラムを実施する。具体的には、Lowerページのプログラムにより分布Erの状態であったメモリセルに対しては、Middleページに書き込むビット値が“1”の場合は分布Erのままとし、Middleページに書き込むビット値が“0”の場合は分布Cに移動させるようプログラムする。また、Lowerページのプログラムにより分布Aの状態であったメモリセルに対しては、Middleページに書き込むビット値が“1”の場合は分布Aのままとし、Middleページに書き込むビット値が“0”の場合は分布Bに移動させるようプログラムする。 When writing to the memory cell group for which writing of the Lower page has been performed, the control unit 22 executes the programming of the Middle page, as shown in FIG. Specifically, for the memory cells that were in the distribution Er state due to the programming of the Lower page, if the bit value written to the Middle page is “1”, the distribution Er remains unchanged and the bit value written to the Middle page remains unchanged. If it is "0", the program is moved to the distribution C. For the memory cells that were in the distribution A state due to the programming of the Lower page, if the bit value written to the Middle page is “1”, the distribution A remains as it is, and the bit value written to the Middle page is “0”. If, then program to move to distribution B.

Middleページの書き込みを実施済のメモリセルグループに書き込みを行う場合、制御部22は、図5(C)に示すように、Upperページのプログラムを実施する。具体的には、Middleページのプログラムにより分布Erの状態であったメモリセルに対しては、Upperページに書き込むビット値が“1”の場合は分布Erのままとし、Upperページに書き込むビット値が“0”の場合は分布Eに移動させるようプログラムする。また、Middleページのプログラムにより分布Aの状態であったメモリセルに対しては、Upperページに書き込むビット値が“1”の場合は分布Aのままとし、Upperページに書き込むビット値が“0”の場合は分布Fに移動させるようプログラムする。また、Middleページのプログラムにより分布Bの状態であったメモリセルに対しては、Upperページに書き込むビット値が“1”の場合は分布Bのままとし、Upperページに書き込むビット値が“0”の場合は分布Gに移動させるようプログラムする。また、Middleページのプログラムにより分布Cの状態であったメモリセルに対しては、Upperページに書き込むビット値が“1”の場合は分布Cのままとし、Upperページに書き込むビット値が“0”の場合は分布Dに移動させるようプログラムする。 When writing is performed to the memory cell group in which the Middle page has been written, the control unit 22 executes the Upper page program, as shown in FIG. Specifically, for the memory cells that have been in the distribution Er state by programming the Middle page, if the bit value to be written in the Upper page is “1”, the distribution Er is left unchanged, and the bit value to be written in the Upper page is In the case of "0", the program is moved to the distribution E. For the memory cells that were in the distribution A state due to the programming of the Middle page, if the bit value written to the Upper page is “1”, the distribution A remains as it is, and the bit value written to the Upper page is “0”. If, then program to move to distribution F. For the memory cells that were in the distribution B state due to the programming of the Middle page, if the bit value written to the Upper page is “1”, the distribution B remains as it is and the bit value written to the Upper page is “0”. If, then program to move to distribution G. For the memory cells that were in the distribution C state due to the programming of the Middle page, if the bit value written to the Upper page is “1”, the distribution C remains as it is and the bit value written to the Upper page is “0”. If, then program to move to distribution D.

以上のように、本実施の形態では、制御部22は、どのページのプログラムにおいても、書き込むビット値が“1”の場合は、電荷の注入はせず、書き込むビット値が“0”の場合には電荷の注入を実施し、プログラム前よりしきい値電圧の高い分布へ移動させる。 As described above, in the present embodiment, the control unit 22 does not inject charges when the bit value to be written is “1” and the bit value to be written is “0” in any page program. In the first step, charges are injected to move to a distribution with a higher threshold voltage than before programming.

なお、典型的にはプログラムは、1回または複数回のプログラム電圧パルスを印可することによって行われる。各プログラム電圧パルスの後には、セルがしきい値境界レベルを超えて移動したかどうかを確認するために読み出しを行う。それを繰り返すことで、所定のしきい値分布(しきい値領域)の範囲の中にメモリセルのしきい値を移動させる。プログラムの具体的手順は、この例に限定されない。 Note that the programming is typically performed by applying the programming voltage pulse once or a plurality of times. After each program voltage pulse, a read is performed to see if the cell has moved above the threshold boundary level. By repeating this, the threshold value of the memory cell is moved within the range of the predetermined threshold distribution (threshold region). The specific procedure of the program is not limited to this example.

次に、本実施の形態の読み出しについて説明する。図6は、本実施の形態のLowerページの読み出し方法を示す図である。本実施の形態では、どのページまでの書き込みが行われているかにかかわらず、Vr1,Vr3,Vr6の3つを読み出し電圧として印加することによりLowerページのビット値を読み出すことができる。 Next, reading according to this embodiment will be described. FIG. 6 is a diagram showing a method of reading a Lower page according to the present embodiment. In this embodiment, the bit value of the Lower page can be read by applying three read voltages, Vr1, Vr3, and Vr6, regardless of which page is being written.

図6(A)は、図5に示した本実施の形態のプログラム方法により、Lowerページの書き込みが行われ、Middleページ、Upperページの書き込みは行われていない状態を示している。この状態で、Vr1,Vr3,Vr6の3つを読み出し電圧として印加すると、ビット値“1”を記憶しているメモリセルは、Vr1未満のしきい値電圧であると判定され、Lowerページのビット値の読み出し結果は“1”となる。一方、ビット値“0”を記憶しているメモリセルは、Vr1以上Vr3未満のしきい値電圧であると判定され、Lowerページのビット値の読み出し結果は“0”となる。 FIG. 6A shows a state in which the Lower page is written and the Middle page and the Upper page are not written by the programming method of the present embodiment shown in FIG. In this state, when three of Vr1, Vr3, and Vr6 are applied as the read voltage, the memory cell storing the bit value “1” is determined to have the threshold voltage less than Vr1, and the bit of the Lower page is determined. The value read result is "1". On the other hand, the memory cell storing the bit value “0” is determined to have the threshold voltage of Vr1 or more and less than Vr3, and the result of reading the bit value of the Lower page is “0”.

図6(B)は、図5に示した本実施の形態のプログラム方法により、Middleページの書き込みが行われ、Upperページの書き込みは行われていない状態を示している。この状態で、Vr1,Vr3,Vr6の3つを読み出し電圧として印加すると、ビット値“11”を記憶しているメモリセルは、Vr1未満のしきい値電圧であると判定され、Lowerページのビット値の読み出し結果は“1”となる。ビット値“10”を記憶しているメモリセルおよびビット値“00”を記憶しているメモリセルは、Vr1以上Vr3未満のしきい値電圧であると判定され、Lowerページのビット値の読み出し結果は“0”となる。ビット値“01”を記憶しているメモリセルは、Vr3以上Vr6未満のしきい値電圧であると判定され、Lowerページのビット値の読み出し結果は“1”となる。 FIG. 6B shows a state in which the Middle page is written and the Upper page is not written by the programming method of the present embodiment shown in FIG. In this state, when three of Vr1, Vr3, and Vr6 are applied as the read voltage, the memory cell storing the bit value “11” is determined to have the threshold voltage less than Vr1, and the bit of the Lower page is determined. The value read result is "1". The memory cell storing the bit value “10” and the memory cell storing the bit value “00” are determined to have the threshold voltage of Vr1 or more and less than Vr3, and the read result of the bit value of the Lower page Becomes "0". The memory cell storing the bit value “01” is determined to have the threshold voltage of Vr3 or more and less than Vr6, and the read result of the bit value of the Lower page becomes “1”.

図6(C)は、図5に示した本実施の形態のプログラム方法により、Upperページの書き込みが行われた状態を示している。この状態で、Vr1,Vr3,Vr6の3つを読み出し電圧として印加すると、ビット値“111”を記憶しているメモリセルは、Vr1未満のしきい値電圧であると判定され、Lowerページのビット値の読み出し結果は“1”となる。ビット値“110”を記憶しているメモリセルおよびビット値“100”を記憶しているメモリセルは、Vr1以上Vr3未満のしきい値電圧であると判定され、Lowerページのビット値の読み出し結果は“0”となる。ビット値“101”を記憶しているメモリセルおよびビット値“001”を記憶しているメモリセルおよびビット値“011”を記憶しているメモリセルは、Vr3以上Vr6未満のしきい値電圧であると判定され、Lowerページのビット値の読み出し結果は“1”となる。ビット値“010”を記憶しているメモリセルおよびビット値“000”を記憶しているメモリセルは、Vr6以上のしきい値電圧であると判定され、Lowerページのビット値の読み出し結果は“0”となる。 FIG. 6C shows a state where the Upper page is written by the programming method of the present embodiment shown in FIG. When three voltages Vr1, Vr3, and Vr6 are applied as read voltages in this state, the memory cell storing the bit value “111” is determined to have a threshold voltage less than Vr1, and the bits of the Lower page are The value read result is "1". The memory cell storing the bit value “110” and the memory cell storing the bit value “100” are determined to have the threshold voltage of Vr1 or more and less than Vr3, and the read result of the bit value of the Lower page Becomes "0". The memory cell storing the bit value “101”, the memory cell storing the bit value “001”, and the memory cell storing the bit value “011” have threshold voltages of Vr3 or more and less than Vr6. It is determined that there is, and the result of reading the bit value of the Lower page is “1”. The memory cell storing the bit value “010” and the memory cell storing the bit value “000” are determined to have a threshold voltage of Vr6 or higher, and the read result of the bit value of the Lower page is “ It becomes 0".

以上のように、どのページまでの書き込みが行われているかに関わらず、Vr1,Vr3,Vr6の3つを読み出し電圧として印加することにより、Lowerページのビット値を正しく読み出すことができる。 As described above, the bit value of the Lower page can be correctly read by applying the three read voltages Vr1, Vr3, and Vr6 regardless of which page is being written.

図7は、本実施の形態のMiddleページの読み出し方法を示す図である。本実施の形態では、どのページまでの書き込みが行われているかにかかわらず、Vr2,Vr5,Vr7の3つを読み出し電圧として印加することによりMiddleページのビット値を読み出すことができる。 FIG. 7 is a diagram showing a method of reading the Middle page according to the present embodiment. In the present embodiment, the bit value of the Middle page can be read by applying three voltages Vr2, Vr5, and Vr7 as the read voltage regardless of which page is being written.

図7(A)は、図5に示した本実施の形態のプログラム方法により、Lowerページの書き込みが行われ、Middleページ、Upperページの書き込みは行われていない状態を示している。この状態で、Vr2,Vr5,Vr7の3つを読み出し電圧として印加すると、ビット値“1”を記憶しているメモリセルおよびビット値“0”を記憶しているメモリセルは、Vr2未満のしきい値電圧であると判定され、Middleページのビット値の読み出し結果は“1”となる。この状態ではMiddleページの書き込みは行われていないため、Middleページのビット値としては未書き込みを示す“1”が正しい値である。 FIG. 7A shows a state in which the Lower page is written and the Middle page and the Upper page are not written by the programming method of the present embodiment shown in FIG. In this state, when three of Vr2, Vr5, and Vr7 are applied as the read voltage, the memory cell storing the bit value “1” and the memory cell storing the bit value “0” are less than Vr2. It is determined to be the threshold voltage, and the result of reading the bit value of the Middle page is “1”. In this state, since the Middle page is not written, the bit value of the Middle page is "1" which indicates unwritten and is a correct value.

図7(B)は、図5に示した本実施の形態のプログラム方法により、Middleページの書き込みが行われ、Upperページの書き込みは行われていない状態を示している。この状態で、Vr2,Vr5,Vr7の3つを読み出し電圧として印加すると、ビット値“11”を記憶しているメモリセルおよびビット値“10”を記憶しているメモリセルは、Vr2未満のしきい値電圧であると判定され、Middleページのビット値の読み出し結果は“1”となる。ビット値“00”を記憶しているメモリセルおよびビット値“01”を記憶しているメモリセルは、Vr2以上Vr5未満のしきい値電圧であると判定され、Middleページのビット値の読み出し結果は“0”となる。 FIG. 7B shows a state in which the Middle page is written and the Upper page is not written by the programming method of the present embodiment shown in FIG. In this state, if three of Vr2, Vr5, and Vr7 are applied as the read voltage, the memory cell storing the bit value “11” and the memory cell storing the bit value “10” are less than Vr2. It is determined to be the threshold voltage, and the result of reading the bit value of the Middle page is “1”. The memory cell storing the bit value “00” and the memory cell storing the bit value “01” are determined to have the threshold voltage of Vr2 or more and less than Vr5, and the read result of the bit value of the Middle page Becomes "0".

図7(C)は、図5に示した本実施の形態のプログラム方法により、Upperページの書き込みが行われた状態を示している。この状態で、Vr2,Vr5,Vr7の3つを読み出し電圧として印加すると、ビット値“111”を記憶しているメモリセルおよびビット値“110”を記憶しているメモリセルは、Vr2未満のしきい値電圧であると判定され、Middleページのビット値の読み出し結果は“1”となる。ビット値“100”を記憶しているメモリセルおよびビット値“101”を記憶しているメモリセルおよびビット値“001”を記憶しているメモリセルは、Vr2以上Vr5未満のしきい値電圧であると判定され、Middleページのビット値の読み出し結果は“0”となる。ビット値“011”を記憶しているメモリセルおよびビット値“010”を記憶しているメモリセルは、Vr5以上Vr7未満のしきい値電圧であると判定され、Middleページのビット値の読み出し結果は“1”となる。ビット値“000”を記憶しているメモリセルは、Vr7以上のしきい値電圧であると判定され、Middleページのビット値の読み出し結果は“0”となる。 FIG. 7C shows a state where the Upper page is written by the programming method of the present embodiment shown in FIG. In this state, if three voltages Vr2, Vr5, and Vr7 are applied as the read voltages, the memory cells storing the bit value “111” and the memory cells storing the bit value “110” are less than Vr2. It is determined to be the threshold voltage, and the result of reading the bit value of the Middle page is “1”. The memory cell storing the bit value “100”, the memory cell storing the bit value “101”, and the memory cell storing the bit value “001” have a threshold voltage of Vr2 or more and less than Vr5. It is determined that there is, and the result of reading the bit value of the Middle page is “0”. The memory cell storing the bit value “011” and the memory cell storing the bit value “010” are determined to have the threshold voltage of Vr5 or more and less than Vr7, and the read result of the bit value of the Middle page Becomes "1". The memory cell storing the bit value “000” is determined to have a threshold voltage of Vr7 or higher, and the result of reading the bit value of the Middle page is “0”.

以上のように、どのページまでの書き込みが行われているかに関わらず、Vr2,Vr5,Vr7の3つを読み出し電圧として印加することにより、Middleページのビット値を正しく読み出すことができる。 As described above, the bit value of the Middle page can be correctly read by applying three of Vr2, Vr5, and Vr7 as the read voltage regardless of which page is being written.

図8は、本実施の形態のUpperページの読み出し方法を示す図である。本実施の形態では、どのページまでの書き込みが行われているかにかかわらず、Vr4を読み出し電圧として印加することによりUpperページのビット値を読み出すことができる。 FIG. 8 is a diagram showing a method of reading the Upper page according to the present embodiment. In the present embodiment, the bit value of the Upper page can be read by applying Vr4 as the read voltage regardless of which page is being written.

図8(A)は、図5に示した本実施の形態のプログラム方法により、Lowerページの書き込みが行われ、Middleページ、Upperページの書き込みは行われていない状態を示している。この状態で、Vr4を読み出し電圧として印加すると、ビット値“1”を記憶しているメモリセルおよびビット値“0”を記憶しているメモリセルは、Vr4未満のしきい値電圧であると判定され、Upperページのビット値の読み出し結果は“1”となる。この状態ではUpperページの書き込みは行われていないため、Upperページのビット値としては未書き込みを示す“1”が正しい値である。 FIG. 8A shows a state where the Lower page is written and the Middle page and the Upper page are not written by the programming method of the present embodiment shown in FIG. In this state, when Vr4 is applied as the read voltage, it is determined that the memory cell storing the bit value “1” and the memory cell storing the bit value “0” have the threshold voltage lower than Vr4. Then, the reading result of the bit value of the Upper page becomes “1”. In this state, since the Upper page is not written, the bit value of the Upper page is “1”, which indicates unwritten, is a correct value.

図8(B)は、図5に示した本実施の形態のプログラム方法により、Middleページの書き込みが行われ、Upperページの書き込みは行われていない状態を示している。この状態で、Vr4を読み出し電圧として印加すると、ビット値“11”を記憶しているメモリセル、ビット値“10”を記憶しているメモリセル、ビット値“00”を記憶しているメモリセルおよびビット値“01”を記憶しているメモリセルは、Vr4未満のしきい値電圧であると判定され、Upperページのビット値の読み出し結果は“1”となる。この状態ではUpperページの書き込みは行われていないため、Upperページのビット値としては未書き込みを示す“1”が正しい値である。 FIG. 8B shows a state in which the Middle page is written and the Upper page is not written by the programming method of the present embodiment shown in FIG. When Vr4 is applied as the read voltage in this state, the memory cell storing the bit value “11”, the memory cell storing the bit value “10”, and the memory cell storing the bit value “00”. The memory cell storing the bit value “01” is determined to have a threshold voltage lower than Vr4, and the read result of the bit value of the Upper page is “1”. In this state, since the Upper page is not written, the bit value of the Upper page is “1”, which indicates unwritten, is a correct value.

図8(C)は、図5に示した本実施の形態のプログラム方法により、Upperページの書き込みが行われた状態を示している。この状態で、Vr4を読み出し電圧として印加すると、ビット値“111”を記憶しているメモリセル、ビット値“110”を記憶しているメモリセル、ビット値“100”を記憶しているメモリセルおよびビット値“101”を記憶しているメモリセルは、Vr4未満のしきい値電圧であると判定され、Upperページのビット値の読み出し結果は“1”となる。ビット値“001”を記憶しているメモリセル、ビット値“011”を記憶しているメモリセル、ビット値“010”を記憶しているメモリセルおよびビット値“000”を記憶しているメモリセルは、Vr4以上のしきい値電圧であると判定され、Upperページのビット値の読み出し結果は“0”となる。 FIG. 8C shows a state where the Upper page is written by the programming method of the present embodiment shown in FIG. When Vr4 is applied as a read voltage in this state, a memory cell storing a bit value “111”, a memory cell storing a bit value “110”, and a memory cell storing a bit value “100”. The memory cell storing the bit value “101” is determined to have a threshold voltage less than Vr4, and the read result of the bit value of the Upper page is “1”. Memory cell storing bit value "001", memory cell storing bit value "011", memory cell storing bit value "010", and memory storing bit value "000" The cell is determined to have a threshold voltage of Vr4 or higher, and the read result of the bit value of the Upper page becomes “0”.

以上のように、どのページまでの書き込みが行われているかに関わらず、Vr4を読み出し電圧として印加することにより、Upperページのビット値を正しく読み出すことができる。このように、どのページまでの書き込みが行われているかに関わらず、各ページのビット値を正しく読み出すことができるため、本実施の形態では、どのページまでの書き込みが行われているかの情報を管理する必要がない。 As described above, the bit value of the Upper page can be correctly read by applying Vr4 as the read voltage regardless of which page is written. As described above, since the bit value of each page can be correctly read regardless of which page is being written, in this embodiment, information about which page is being written can be obtained. No need to manage.

図9は、本実施の形態の書き込み手順の一例を示すフローチャートである。図9は、1つのメモリセルグループについて、未書き込みの状態からUpperページの書き込みが終了するまでの手順の一例を示している。まず、未書き込みの状態で、制御部22は、メモリセルごとに書き込むビット値が“0”であるか否かを判断する(ステップS1)。書き込むビット値が“0”であるメモリセルの場合(ステップS1 Yes)、制御部22は、電荷を注入してしきい値電圧を分布Er(第1の領域)から分布A(第2の領域)に上昇させる(ステップS2)。書き込むビット値が“0”でない(“1”である)メモリセルの場合(ステップS1 No)、しきい値電圧は変化させない。 FIG. 9 is a flowchart showing an example of the writing procedure of this embodiment. FIG. 9 shows an example of the procedure from the unwritten state to the writing of the Upper page for one memory cell group. First, in the unwritten state, the control unit 22 determines whether the bit value to be written for each memory cell is "0" (step S1). In the case of the memory cell whose bit value to be written is “0” (Yes in step S1), the control unit 22 injects charges to change the threshold voltage from the distribution Er (first region) to the distribution A (second region). ) (Step S2). If the bit value to be written is not “0” (“1”) (No in step S1), the threshold voltage is not changed.

メモリセルグループの全てのメモリセルについて、上記のステップS1,S2を実施すると、Lowerページの書き込みを終了し(ステップS3)、他のメモリセルグループの書き込みを実施する(ステップS4)。なお、他のメモリセルグループの書き込みを実施せずに、次のステップS5へ進んでもよい。 When the above steps S1 and S2 are performed on all the memory cells in the memory cell group, the writing of the Lower page is completed (step S3), and the writing of the other memory cell groups is performed (step S4). Note that the process may proceed to the next step S5 without writing to another memory cell group.

Lowerページの書き込み終了後、制御部22は、このメモリセルグループへ書き込みを行う場合、メモリセルごとに書き込むビット値が0であるか否かを判断する(ステップS5)。書き込むビット値が“0”であるメモリセルの場合(ステップS5 Yes)、制御部22は、該メモリセルのしきい値電圧が分布Erであるか否かを判断する(ステップS6)。メモリセルのしきい値電圧が分布Erである場合(ステップS6 Yes)、電荷を注入してしきい値電圧を分布Erから分布C(第4の領域)に上昇させる(ステップS7)。メモリセルのしきい値電圧が分布Erでない場合(ステップS6 No)、電荷を注入してしきい値電圧を分布Aから分布B(第3の領域)に上昇させる(ステップS8)。書き込むビット値が“0”でない(“1”である)メモリセルの場合(ステップS5 No)、しきい値電圧は変化させない。 After writing the Lower page, the control unit 22 determines whether the bit value to be written is 0 for each memory cell when writing to this memory cell group (step S5). In the case of the memory cell whose write bit value is "0" (Yes in step S5), the control unit 22 determines whether or not the threshold voltage of the memory cell has the distribution Er (step S6). When the threshold voltage of the memory cell is the distribution Er (Yes in step S6), charges are injected to increase the threshold voltage from the distribution Er to the distribution C (fourth region) (step S7). When the threshold voltage of the memory cell is not distribution Er (No in step S6), charges are injected to increase the threshold voltage from distribution A to distribution B (third region) (step S8). When the bit value to be written is not "0" ("1") (No in step S5), the threshold voltage is not changed.

メモリセルグループの全てのメモリセルについて、上記のステップS5〜S8を実施すると、Middleページの書き込みを終了し(ステップS9)、他のメモリセルグループの書き込みを実施する(ステップS10)。なお、他のメモリセルグループの書き込みを実施せずに、次のステップS11へ進んでもよい。 When the above steps S5 to S8 are carried out for all the memory cells of the memory cell group, the writing of the Middle page is finished (step S9), and the writing of the other memory cell groups is carried out (step S10). Note that the process may proceed to the next step S11 without writing to another memory cell group.

Middleページの書き込み終了後、制御部22は、このメモリセルグループへ書き込みを行う場合、メモリセルごとに書き込むビット値が“0”であるか否かを判断する(ステップS11)。書き込むビット値が“0”であるメモリセルの場合(ステップS11 Yes)、制御部22は、該メモリセルに電荷を注入してしきい値電圧を上昇させる(ステップS12)。具体的には、分布Erのメモリセルは分布E(第6の領域)へ、分布Aのメモリセルは分布F(第7の領域)へ、分布Bのメモリセルは分布G(第8の領域)へ、分布Cのメモリセルは分布D(第5の領域)へそれぞれ移動させる。書き込むビット値が“0”でないメモリセルの場合(ステップS11 No)、そのまま処理を終了する。以上の処理により、Upperページまでの書き込みが終了する。 After writing the Middle page, the control unit 22 determines whether the bit value to be written is "0" for each memory cell when writing to this memory cell group (step S11). When the bit value to be written is “0” (Yes in step S11), the control unit 22 injects charges into the memory cell to raise the threshold voltage (step S12). Specifically, memory cells of distribution Er are in distribution E (sixth region), memory cells of distribution A are in distribution F (seventh region), and memory cells of distribution B are in distribution G (eighth region). ), the memory cells of distribution C are moved to distribution D (fifth region). If the bit value to be written is not "0" in the memory cell (No in step S11), the process ends. With the above processing, writing to the Upper page is completed.

図10は、本実施の形態の読み出し手順の一例を示すフローチャートである。上述したように、本実施の形態では、Upper,Middle,Lowerのどのページまで書き込みが行われた状態であっても、読み出しを実施することができる。まず、制御部22は、読み出すページがUpper,Middle,Lowerのうちどのページであるかを選択する(ステップS21)。Upperページを選択した場合(ステップS21 Upper)、Vr4で読み出しを実施する(ステップS22)。制御部22は、Vr4での読み出し結果に基づいてデータ(各メモリセルのビット値)を決定し(ステップS23)、処理を終了する。 FIG. 10 is a flowchart showing an example of the reading procedure of the present embodiment. As described above, in the present embodiment, reading can be performed regardless of which page of Upper, Middle, and Lower has been written. First, the control unit 22 selects which of Upper, Middle, and Lower pages is to be read (step S21). When the Upper page is selected (Step S21 Upper), reading is performed with Vr4 (Step S22). The control unit 22 determines data (bit value of each memory cell) based on the read result at Vr4 (step S23), and ends the process.

Middleページを選択した場合(ステップS21 Middle)、Vr2で読み出しを実施する(ステップS24)。次に、制御部22は、Vr5で読み出しを実施する(ステップS25)。次に、制御部22は、Vr7で読み出しを実施する(ステップS26)。Vr2、Vr5、Vr7での読み出し結果に基づいてデータを決定し(ステップS27)、処理を終了する。 When the Middle page is selected (step S21 Middle), reading is performed with Vr2 (step S24). Next, the control unit 22 performs reading with Vr5 (step S25). Next, the control unit 22 performs reading with Vr7 (step S26). Data is determined based on the read results of Vr2, Vr5, and Vr7 (step S27), and the process ends.

Lowerページを選択した場合(ステップS21 Lower)、Vr1で読み出しを実施する(ステップS28)。次に、制御部22は、Vr3で読み出しを実施する(ステップS29)。次に、制御部22は、Vr6で読み出しを実施する(ステップS30)。Vr1、Vr3、Vr6での読み出し結果に基づいてデータを決定し(ステップS31)、処理を終了する。 When the Lower page is selected (step S21 Lower), reading is performed with Vr1 (step S28). Next, the control unit 22 performs reading with Vr3 (step S29). Next, the control unit 22 performs reading with Vr6 (step S30). Data is determined based on the read results of Vr1, Vr3, and Vr6 (step S31), and the process ends.

以上のように、本実施の形態では、図4に示した1−3−3コーディングを用いることにより1ページごとの書き込みを実施するようにした。このため、ページ間の境界数の偏りが少なく、誤り発生確率をページ間で平滑化することができ、記憶装置のコストおよび消費電力を抑制し、書き込みおよび読み出し速度を高めることができる。また、どのページまで書き込みが行われたかによらず、同一の手順でUpperページ、Middleページ、Lowerページをそれぞれ読み出すことができるため、どのページまで書き込みが行われたかの情報を管理する必要がない。 As described above, in the present embodiment, the writing for each page is performed by using the 1-3-3 coding shown in FIG. Therefore, the number of boundaries between pages is less biased, the error occurrence probability can be smoothed between pages, the cost and power consumption of the storage device can be suppressed, and the writing and reading speeds can be increased. Further, regardless of which page has been written, the Upper page, the Middle page, and the Lower page can be read in the same procedure, so there is no need to manage information about which page has been written.

(第2の実施の形態)
図11は、第2の実施の形態のデータコーディングを示す図である。本実施の形態の記憶装置の構成および不揮発性メモリ2の構成は第1の実施の形態と同様である。以下、第1の実施の形態と異なる点を説明する。
(Second embodiment)
FIG. 11 is a diagram showing data coding according to the second embodiment. The configuration of the storage device and the configuration of the non-volatile memory 2 of this embodiment are the same as those of the first embodiment. Hereinafter, the points different from the first embodiment will be described.

図11(A)は、Lowerページの書き込みにおけるデータコーディングを示し、図11(B)は、Middleページの書き込みにおけるデータコーディングを示し、図11(C)は、Upperページの書き込みにおけるデータコーディングを示す。図11に示すように、UpperページとMiddleページの書き込みでは、同一のデータコーディング(図11の上段)を用いるが、Lowerページの書き込みでは、UpperページとMiddleページの書き込みとは異なるデータコーディング(図11の下段)を用いる。 11A shows data coding in writing the Lower page, FIG. 11B shows data coding in writing the Middle page, and FIG. 11C shows data coding in writing the Upper page. .. As shown in FIG. 11, the same data coding (upper part of FIG. 11) is used for writing the Upper page and the Middle page, but different data coding is used for writing the Lower page (Fig. 11). (Lower part of 11) is used.

このように、本実施の形態では、ページによりデータコーディングが異なるが、どのページまで書き込みを行ったかの情報を管理していれば、1ページずつ順番に書き込みを実施することができる。本実施の形態のページごとの境界数は、第1の実施の形態と同様に、1−3−3であり、ページ間の誤りの発生確率を平滑化することができる。 As described above, in the present embodiment, although the data coding differs depending on the page, if the information about which page has been written is managed, writing can be performed page by page in order. The number of boundaries for each page in the present embodiment is 1-3-3 as in the first embodiment, and the probability of error occurrence between pages can be smoothed.

本実施の形態では、制御部22が、メモリセルグループごとにUpperページ、Middleページ、Lowerページのどのページまで書き込みが行われているかの情報を書き込みページフラグ(書き込みページ情報)として管理している。 In the present embodiment, the control unit 22 manages, as a write page flag (write page information), information indicating to which page the upper page, the middle page and the lower page are written for each memory cell group. ..

図11の上段のデータコーディングと図11の下段のデータコーディングを比較すると、下段のデータコーディングのMiddleページの分布Bに対応するビット値が変更されている。図11の下段のデータコーディングは、Lowerページの書き込みにおけるデータコーディングであり、この時点では、MiddleページおよびUpperページは書き込まれていない。図11の下段の、存在しないしきい値分布としてハッチングした分布は、Lowerページの書き込みで使用しないしきい値分布を示す。第1の実施の形態では、Lowerページの書き込みで使用しないしきい値分布は、分布B以上の連続した領域であった。これに対し、本実施の形態では、分布C以上の連続した領域に加え、Lowerページの書き込みで使用する分布Erと分布Bの間に使用しない分布Aが存在する。これにより、Lowerページの書き込み後に未書き込みのMiddleページを読み出す際には、Middleページが書き込まれた後のデータの割り付けと異なるデータ割り付けで読み出しを実施する必要が生じる。 Comparing the data coding in the upper part of FIG. 11 with the data coding in the lower part of FIG. 11, the bit value corresponding to distribution B on the Middle page of the lower data coding is changed. The data coding in the lower part of FIG. 11 is the data coding in writing the Lower page, and at this time, the Middle page and the Upper page are not written. The distribution hatched as the nonexistent threshold distribution in the lower part of FIG. 11 indicates a threshold distribution that is not used for writing the Lower page. In the first embodiment, the threshold distribution which is not used for writing the Lower page is a continuous region of distribution B or more. On the other hand, in the present embodiment, in addition to the continuous region of distribution C and above, there is a distribution A that is not used between the distribution Er and the distribution B that are used for writing the Lower page. As a result, when reading an unwritten Middle page after writing the Lower page, it is necessary to perform reading with data allocation different from the data allocation after the Middle page is written.

図12は、本実施の形態におけるメモリセルに対するプログラム後のしきい値分布を示す図である。図12(A)は、Lowerページのプログラム後のしきい値分布を示し、図12(B)は、Middleページのプログラム後のしきい値分布を示し、図12(C)は、Upperページのプログラム後のしきい値分布を示す。本実施の形態では、1ページずつプログラムすることが可能であるが、プログラムの順序は決まっており、Lowerページ、Middleページ、Upperページの順に書き込む。 FIG. 12 is a diagram showing the threshold distribution after programming of the memory cell in the present embodiment. 12A shows the threshold distribution after programming of the Lower page, FIG. 12B shows the threshold distribution after programming of the Middle page, and FIG. 12C shows that of the Upper page. The threshold distribution after programming is shown. In this embodiment, it is possible to program one page at a time, but the order of programming is fixed, and the lower page, the middle page, and the upper page are written in that order.

不揮発性メモリ2の制御部22は、図12(A)に示すように、Lowerページのプログラムでは、Lowerページに書き込むビット値に応じて、メモリセルごとに分布Erのままとする、または電荷を注入して1つ上の分布Bに異動させる。具体的には、Lowerページに書き込むビット値が“1”の場合は、電荷を注入せず、Lowerページに書き込むビット値が“0”の場合は電荷を注入して、しきい値電圧を分布Bに移動させるようプログラムする。 As shown in FIG. 12A, the control unit 22 of the nonvolatile memory 2 keeps the distribution Er in each memory cell or keeps the charge in the Lower page program according to the bit value to be written in the Lower page. Inject and move to distribution B one above. Specifically, when the bit value written to the Lower page is “1”, no charge is injected, and when the bit value written to the Lower page is “0”, the charge is injected to distribute the threshold voltage. Program to move to B.

Lowerページの書き込みを実施済のメモリセルグループに書き込みを行う場合、制御部22は、図12(B)に示すように、Middleページのプログラムを実施する。具体的には、Lowerページのプログラムにより分布Erの状態であったメモリセルに対しては、Middleページに書き込むビット値が“1”の場合は分布Erのままとし、Middleページに書き込むビット値が“0”の場合は分布Aに移動させるようプログラムする。また、Lowerページのプログラムにより分布Bの状態であったメモリセルに対しては、Middleページに書き込むビット値が“0”の場合は分布Bのままとし、Middleページに書き込むビット値が“1”の場合は分布Cに移動させるようプログラムする。第1の実施の形態では、書き込むビット値が“1”の場合は、電荷を注入せず、ビット値が“0”の場合に電荷を注入してしきい値分布を移動させたが、本実施の形態では、Middleページの書き込みにおいて、書き込むビット値が“0”の場合に電荷を注入せず、“1”の場合に電荷を注入するというケースが存在する。 When writing to the memory cell group that has already been written to the Lower page, the control unit 22 executes the program for the Middle page, as shown in FIG. Specifically, for the memory cells that were in the distribution Er state due to the programming of the Lower page, if the bit value written to the Middle page is “1”, the distribution Er remains unchanged and the bit value written to the Middle page remains unchanged. If it is “0”, the program is moved to the distribution A. For the memory cells that were in the distribution B state due to the programming of the Lower page, if the bit value written to the Middle page is “0”, the distribution B remains as it is and the bit value written to the Middle page is “1”. If, then program to move to distribution C. In the first embodiment, when the bit value to be written is "1", the charge is not injected, and when the bit value is "0", the charge is injected to move the threshold distribution. In the embodiment, in the writing of the Middle page, there is a case where the charge is not injected when the bit value to be written is “0” and the charge is injected when the bit value is “1”.

Middleページの書き込みを実施済のメモリセルグループに書き込みを行う場合、制御部22は、図12(C)に示すように、Upperページのプログラムを実施する。具体的には、Middleページのプログラムにより分布Erの状態であったメモリセルに対しては、Upperページに書き込むビット値が“1”の場合は分布Erのままとし、Upperページに書き込むビット値が“0”の場合は分布Eに移動させるようプログラムする。また、Middleページのプログラムにより分布Aの状態であったメモリセルに対しては、Upperページに書き込むビット値が“1”の場合は分布Aのままとし、Upperページに書き込むビット値が“0”の場合は分布Fに移動させるようプログラムする。また、Middleページのプログラムにより分布Bの状態であったメモリセルに対しては、Upperページに書き込むビット値が“1”の場合は分布Bのままとし、Upperページに書き込むビット値が“0”の場合は分布Gに移動させるようプログラムする。また、Middleページのプログラムにより分布Cの状態であったメモリセルに対しては、Upperページに書き込むビット値が“1”の場合は分布Cのままとし、Upperページに書き込むビット値が“0”の場合は分布Dに移動させるようプログラムする。 When writing to the memory cell group for which writing of the Middle page has been performed, the control unit 22 performs programming of the Upper page, as shown in FIG. Specifically, for the memory cells that have been in the distribution Er state by programming the Middle page, if the bit value to be written in the Upper page is “1”, the distribution Er is left unchanged, and the bit value to be written in the Upper page is In the case of "0", the program is moved to the distribution E. For the memory cells that were in the distribution A state due to the programming of the Middle page, if the bit value written to the Upper page is “1”, the distribution A remains as it is, and the bit value written to the Upper page is “0”. If, then program to move to distribution F. For the memory cells that were in the distribution B state due to the programming of the Middle page, if the bit value written to the Upper page is “1”, the distribution B remains as it is and the bit value written to the Upper page is “0”. If, then program to move to distribution G. For the memory cells that were in the distribution C state due to the programming of the Middle page, if the bit value written to the Upper page is “1”, the distribution C remains as it is and the bit value written to the Upper page is “0”. If, then program to move to distribution D.

次に、本実施の形態の読み出しについて説明する。図13は、本実施の形態のLowerページの読み出し方法を示す図である。本実施の形態では、どのページまでの書き込みが行われているかにかかわらず、Vr2,Vr5,Vr7の3つを読み出し電圧として印加することによりLowerページのビット値を読み出すことができる。 Next, reading according to this embodiment will be described. FIG. 13 is a diagram showing a method of reading a Lower page according to the present embodiment. In this embodiment, the bit value of the Lower page can be read by applying three voltages Vr2, Vr5, and Vr7 as the read voltages regardless of which page is being written.

図14は、本実施の形態のMiddleページの読み出し方法を示す図である。本実施の形態では、Middleページの読み出しでは、Vr1,Vr3,Vr6の3つを読み出し電圧として印加する。ただし、Middleページの書き込みが実施済であるか否かにより、読み出しに用いるデータコーディングが異なる。したがって、制御部22は、ページ書き込みフラグを参照して、Lowerページの書き込みを行った状態である場合は、図14(A)に示すように、図11(A)のデータコーディングに従い、しきい値電圧がVr3以上の場合は、ビット値を“0”と判定し、しきい値電圧がVr3未満の場合はビット値を“1”と判定する。Middleページ,Upperページまでの書き込みが行われた状態の場合は、図12(B)または図12(C)に示すように、図11(B),(C)のデータコーディングに従い、Vr1,Vr3,Vr6の読み出し結果に基づいてビット値を決定する。 FIG. 14 is a diagram showing a method of reading the Middle page according to the present embodiment. In the present embodiment, when reading the Middle page, three of Vr1, Vr3, and Vr6 are applied as the read voltage. However, the data coding used for reading differs depending on whether or not the writing of the Middle page is completed. Therefore, the control unit 22 refers to the page write flag and, in the case where the lower page is written, as shown in FIG. 14A, according to the data coding of FIG. When the value voltage is Vr3 or more, the bit value is determined as "0", and when the threshold voltage is less than Vr3, the bit value is determined as "1". When writing is performed up to the Middle page and the Upper page, as shown in FIG. 12(B) or FIG. 12(C), according to the data coding of FIG. 11(B), (C), Vr1, Vr3 , Vr6 are read out to determine the bit value.

図15は、本実施の形態のUpperページの読み出し方法を示す図である。本実施の形態では、どのページまでの書き込みが行われているかにかかわらず、Vr4を読み出し電圧として印加することによりUpperページのビット値を読み出すことができる。 FIG. 15 is a diagram showing a method of reading the Upper page according to the present embodiment. In the present embodiment, the bit value of the Upper page can be read by applying Vr4 as the read voltage regardless of which page is being written.

本実施の形態の書き込み手順は、図12に示したように、書き込むビット値に応じてしきい値分布を移動させる。具体的手順は、データコーディングが異なる以外は、第1の実施の形態と同様である。 In the writing procedure of this embodiment, as shown in FIG. 12, the threshold distribution is moved according to the bit value to be written. The specific procedure is the same as that of the first embodiment except that the data coding is different.

図16は、本実施の形態の読み出し手順の一例を示すフローチャートである。図16は、1つのメモリセルグループについて、未書き込みの状態からUpperページの書き込みが終了するまでの手順の一例を示している。まず、制御部22は、読み出し対象のメモリセルグループの書き込みページフラグを読み出す(ステップS41)。ステップS42,S43は、第1の実施の形態のステップS21,S22と同様である。ステップS43の後、制御部22は、書き込みページフラグおよびVr4での読み出し結果に基づいてデータを決定する(ステップS44)。 FIG. 16 is a flowchart showing an example of the reading procedure of this embodiment. FIG. 16 shows an example of the procedure from the unwritten state to the writing of the Upper page for one memory cell group. First, the control unit 22 reads the write page flag of the memory cell group to be read (step S41). Steps S42 and S43 are the same as steps S21 and S22 of the first embodiment. After step S43, the control unit 22 determines data based on the write page flag and the read result at Vr4 (step S44).

ステップS42でMiddleページを選択した場合(ステップS42 Middle)、制御部22は、Vr1で読み出しを実施する(ステップS45)。次に、制御部22は、Vr3で読み出しを実施する(ステップS46)。次に、制御部22は、Vr6で読み出しを実施する(ステップS47)。次に、制御部22は、書き込みページフラグおよびVr1、Vr3、Vr6での読み出し結果に基づいてデータを決定し(ステップS48)、処理を終了する。具体的には、書き込みページフラグがLowerページの書き込みが行われた状態を示す値であった場合、図11(A)のデータコーディングに従い、しきい値電圧がVr3以上の場合は、ビット値を“0”と判定し、しきい値電圧がVr3未満の場合はビット値を“1”と判定する。書き込みページフラグがUpperページまたはMiddleページの書き込みが行われた状態を示す値であった場合、図11(B),(C)のデータコーディングに従い、Vr1,Vr3,Vr6の読み出し結果に基づいてビット値を決定する。 When the Middle page is selected in step S42 (step S42 Middle), the control unit 22 performs reading with Vr1 (step S45). Next, the control unit 22 performs reading with Vr3 (step S46). Next, the control unit 22 performs reading with Vr6 (step S47). Next, the control unit 22 determines the data based on the write page flag and the read result of Vr1, Vr3, and Vr6 (step S48), and ends the process. Specifically, when the write page flag has a value indicating the state in which the Lower page is written, according to the data coding of FIG. 11A, if the threshold voltage is Vr3 or more, the bit value is changed. If the threshold voltage is less than Vr3, the bit value is determined to be "1". When the write page flag has a value indicating a state in which the Upper page or the Middle page has been written, the bits are read based on the read results of Vr1, Vr3, and Vr6 according to the data coding of FIGS. 11B and 11C. Determine the value.

Lowerページを選択した場合(ステップS21 Lower)、制御部22は、Vr2で読み出しを実施する(ステップS49)。次に、制御部22は、Vr5で読み出しを実施する(ステップS50)。次に、制御部22は、Vr7で読み出しを実施する(ステップS51)。次に、制御部22は、書き込みページフラグおよびVr2、Vr5、Vr7での読み出し結果に基づいてデータを決定し(ステップS52)、処理を終了する。 When the Lower page is selected (step S21 Lower), the control unit 22 performs reading with Vr2 (step S49). Next, the control unit 22 performs reading with Vr5 (step S50). Next, the control unit 22 performs reading with Vr7 (step S51). Next, the control unit 22 determines the data based on the write page flag and the read result at Vr2, Vr5, and Vr7 (step S52), and ends the process.

なお、LowerページおよびUpperページの読み出しでは、上述したように、書き込みページフラグによらず同一のデータコーディングを用いることができるため、ステップS48、S52では、書き込みページフラグを考慮しなくてもよい。 As described above, the same data coding can be used for reading the Lower page and the Upper page regardless of the write page flag. Therefore, in steps S48 and S52, it is not necessary to consider the write page flag.

本実施の形態では、上述したようにプログラム済みのページがどこまでかを判別するために、ページプログラムの時にその情報を書き込みページフラグとして保持しておくこととする。この書き込みページフラグは、例えば、NANDメモリセルアレイ23のユーザデータを格納するメモリグループ内の、ユーザデータを格納するメモリセルとは別のメモリセルに保持してもよい。またはNANDメモリセルアレイ23のユーザデータを格納するメモリグループとは別のメモリセルグループに格納してもよく、または不揮発性メモリ2内またはメモリコントローラ1内のメモリの記憶領域に保持してもよい。このように、書き込みページフラグの管理方法に限定は無い。また、書き込みページフラグを読み出すタイミングは、データ決定までであれば図16に示されたタイミングで無くとも良く、例えばデータ読み出しと同じタイミングでもよい。特に、書き込みページフラグをユーザデータの格納されたメモリセルグループ内に保持する場合はこの読みタイミングが適切である。 In the present embodiment, as described above, in order to determine the extent of the programmed pages, the information is held as a write page flag at the time of page programming. The write page flag may be held in, for example, a memory cell different from the memory cell storing the user data in the memory group storing the user data in the NAND memory cell array 23. Alternatively, the NAND memory cell array 23 may be stored in a memory cell group different from the memory group for storing user data, or may be held in a storage area of a memory in the nonvolatile memory 2 or the memory controller 1. As described above, there is no limitation on the method of managing the write page flag. Further, the timing of reading the write page flag may not be the timing shown in FIG. 16 as long as the data is determined, and may be the same timing as the data reading, for example. Especially, when the write page flag is held in the memory cell group in which the user data is stored, this read timing is appropriate.

以上のように、本実施の形態では、図11に示した1−3−3コーディングを用い、書き込みページフラグを用いてどのページまでの書き込みが行われたかを管理することにより、1ページごとの書き込みを実施するようにした。このため、ページ間の境界数の偏りが少なく、誤り発生確率をページ間で平滑化することができ、記憶装置のコストおよび消費電力を抑制し、書き込みおよび読み出し速度を高めることができる。 As described above, in the present embodiment, the 1-3-3 coding shown in FIG. 11 is used to manage which page has been written by using the write page flag. Writing was carried out. Therefore, the number of boundaries between pages is less biased, the error occurrence probability can be smoothed between pages, the cost and power consumption of the storage device can be suppressed, and the writing and reading speeds can be increased.

(第3の実施の形態)
図17は、第3の実施の形態のデータコーディングを示す図である。本実施の形態の記憶装置の構成および不揮発性メモリ2の構成は第1の実施の形態と同様である。以下、第1の実施の形態と異なる点を説明する。
(Third Embodiment)
FIG. 17 is a diagram showing data coding according to the third embodiment. The configuration of the storage device and the configuration of the non-volatile memory 2 of this embodiment are the same as those of the first embodiment. Hereinafter, the points different from the first embodiment will be described.

図17(A)は、Lowerページの書き込みにおけるデータコーディングを示し、図17(B)は、Middleページの書き込みにおけるデータコーディングを示し、図17(C)は、Upperページの書き込みにおけるデータコーディングを示す。 17A shows data coding in writing the Lower page, FIG. 17B shows data coding in writing the Middle page, and FIG. 17C shows data coding in writing the Upper page. ..

図17の四角で囲んだしきい値分布(領域)は、どこまでの書き込みを行ったかにより、データ値の割り付けが変更されるしきい値分布を示す。ハッチングした部分は、対応するページの書き込みで使用しないしきい値分布を示す。本実施の形態においても、第2の実施の形態と同様に書き込みページフラグを用いてどのページまで書き込みが行われたかを管理する。 The threshold value distribution (area) surrounded by a square in FIG. 17 shows the threshold value distribution in which the allocation of data values is changed depending on how much writing is performed. The hatched portion shows the threshold distribution which is not used for writing the corresponding page. Also in the present embodiment, as in the second embodiment, the write page flag is used to manage up to which page has been written.

図18は、本実施の形態におけるメモリセルに対するプログラム後のしきい値分布を示す図である。図18(A)は、Lowerページのプログラム後のしきい値分布を示し、図18(B)は、Middleページのプログラム後のしきい値分布を示し、図18(C)は、Upperページのプログラム後のしきい値分布を示す。本実施の形態では、1ページずつプログラムすることが可能であるが、プログラムの順序は決まっており、Lowerページ、Middleページ、Upperページの順に書き込む。 FIG. 18 is a diagram showing the threshold distribution after programming of the memory cell in the present embodiment. 18A shows the threshold distribution after programming of the Lower page, FIG. 18B shows the threshold distribution after programming of the Middle page, and FIG. 18C shows that of the Upper page. The threshold distribution after programming is shown. In this embodiment, it is possible to program one page at a time, but the order of programming is fixed, and the lower page, the middle page, and the upper page are written in that order.

不揮発性メモリ2の制御部22は、図18(A)に示すように、Lowerページに書き込むビット値が“1”の場合は、電荷を注入せず、Lowerページに書き込むビット値が“0”の場合は電荷を注入して、しきい値電圧を分布Dに移動させるようプログラムする。 As shown in FIG. 18A, the control unit 22 of the nonvolatile memory 2 does not inject charges when the bit value written in the Lower page is “1” and the bit value written in the Lower page is “0”. In the case of, the charge is injected and the threshold voltage is programmed to move to the distribution D.

Lowerページの書き込みを実施済のメモリセルグループに書き込みを行う場合、制御部22は、図18(B)に示すように、Lowerページのプログラムにより分布Erの状態であったメモリセルに対しては、Middleページに書き込むビット値が“1”の場合は分布Erのままとし、Middleページに書き込むビット値が“0”の場合は分布Bに移動させるようプログラムする。また、Lowerページのプログラムにより分布Dの状態であったメモリセルに対しては、Middleページに書き込むビット値が“0”の場合は分布Dのままとし、Middleページに書き込むビット値が“1”の場合は分布Eに移動させるようプログラムする。 When writing to the memory cell group that has already been written to the Lower page, the control unit 22 controls the memory cells in the distribution Er state by programming the Lower page as shown in FIG. 18B. , If the bit value to be written in the Middle page is “1”, the distribution Er is left unchanged, and if the bit value to be written in the Middle page is “0”, the distribution B is programmed. For the memory cells that were in the distribution D state due to the programming of the Lower page, if the bit value written to the Middle page is “0”, the distribution D remains as it is and the bit value written to the Middle page is “1”. If, then program to move to distribution E.

Middleページの書き込みを実施済のメモリセルグループに書き込みを行う場合、制御部22は、図18(C)に示すように、Middleページのプログラムにより分布Erの状態であったメモリセルに対しては、Upperページに書き込むビット値が“1”の場合は分布Erのままとし、Upperページに書き込むビット値が“0”の場合は分布Aに移動させるようプログラムする。また、Middleページのプログラムにより分布Bの状態であったメモリセルに対しては、Upperページに書き込むビット値が“0”の場合は分布Bのままとし、Upperページに書き込むビット値が“1”の場合は分布Cに移動させるようプログラムする。また、Middleページのプログラムにより分布Dの状態であったメモリセルに対しては、Upperページに書き込むビット値が“1”の場合は分布Dのままとし、Upperページに書き込むビット値が“0”の場合は分布Gに移動させるようプログラムする。また、Middleページのプログラムにより分布Eの状態であったメモリセルに対しては、Upperページに書き込むビット値が“1”の場合は分布Eのままとし、Upperページに書き込むビット値が“0”の場合は分布Fに移動させるようプログラムする。 When writing to the memory cell group in which the Middle page has been written, the control unit 22 writes the memory cells in the state of distribution Er by the program of the Middle page, as shown in FIG. 18C. , If the bit value to be written in the Upper page is “1”, the distribution Er is left unchanged, and if the bit value to be written in the Upper page is “0”, the program is moved to the distribution A. For the memory cells that have been in the distribution B state due to the programming of the Middle page, if the bit value written to the Upper page is “0”, the distribution B remains as it is and the bit value written to the Upper page is “1”. If, then program to move to distribution C. For the memory cells that were in the distribution D state due to the programming of the Middle page, if the bit value written to the Upper page is “1”, the distribution D remains unchanged and the bit value written to the Upper page is “0”. If, then program to move to distribution G. For the memory cells that have been in the distribution E state due to the programming of the Middle page, if the bit value written to the Upper page is “1”, the distribution E remains as it is and the bit value written to the Upper page is “0”. If, then program to move to distribution F.

第1の実施の形態では、書き込むビット値が“1”の場合は、電荷を注入せず、ビット値が“0”の場合に電荷を注入してしきい値分布を移動させたが、本実施の形態では、MiddleページおよびUpperページの書き込みにおいて、書き込むビット値が“0”の場合に電荷を注入せず、“1”の場合に電荷を注入するというケースが存在する。このため、図17のデータコーディングにおいて、書き込み済のページに依存してデータ値の割り付けが変更される分布がMiddleページとUpperページで1か所ずつ存在する。 In the first embodiment, when the bit value to be written is "1", the charge is not injected, and when the bit value is "0", the charge is injected to move the threshold distribution. In the embodiment, in the writing of the Middle page and the Upper page, there is a case where the charge is not injected when the bit value to be written is “0” and the charge is injected when the bit value is “1”. Therefore, in the data coding of FIG. 17, there is one distribution in which the allocation of data values is changed depending on the written page, one in the Middle page and one in the Upper page.

本実施の形態の書き込み手順は、図18に示したように、書き込むビット値に応じてしきい値分布を移動させる。具体的手順は、データコーディングが異なる以外は、第1の実施の形態と同様である。 In the writing procedure of the present embodiment, as shown in FIG. 18, the threshold distribution is moved according to the bit value to be written. The specific procedure is the same as that of the first embodiment except that the data coding is different.

本実施の形態の読み出し手順は、データコーディングが異なる以外は、第2の実施の形態と同様に、書き込みページフラグと各ページの境界となる読み出し電圧での読み出し結果とを用いてデータ値を決定する。具体的には、本実施の形態では、Upperページの読み出しでは、Vr1、Vr3、Vr6を用い、Middleページの読み出しでは、Vr2、Vr5、Vr7を用い、Lowerページの読み出しでは、Vr4を用いる。Upperページまでの書き込みが行われている場合は、図17(C)のデータコーディングに従ってビット値を決定する。Middleページまでの書き込みが行われている場合は、図17(B)のデータコーディングに従ってビット値を決定する。Middleページまでの書き込みが行われている場合、LowerページおよびMiddleページのデータ値の決定方法は、Upperページまでの書き込みが行われている場合と同様であるが、Upperページの読み出し時には、しきい値電圧がVr1以上Vr3未満と判定された場合、ビット値は“1”と決定する。Lowerページまでの書き込みが行われている場合は、図17(A)のデータコーディングに従ってビット値を決定する。Lowerページまでの書き込みが行われている場合、Lowerページ、Upperページのデータ値の決定方法は、Upperページまでの書き込みが行われている場合と同様であるが、Middleページの読み出し時には、しきい値電圧がVr2以上Vr5未満と判定された場合、ビット値は“1”と決定する。 The read procedure of this embodiment is similar to that of the second embodiment except that the data coding is different, and the data value is determined using the write page flag and the read result at the read voltage at the boundary of each page. To do. Specifically, in the present embodiment, Vr1, Vr3, and Vr6 are used for reading the Upper page, Vr2, Vr5, Vr7 are used for reading the Middle page, and Vr4 is used for reading the Lower page. When writing is performed up to the Upper page, the bit value is determined according to the data coding in FIG. When writing is performed up to the Middle page, the bit value is determined according to the data coding in FIG. When writing is performed up to the Middle page, the data values for the Lower page and Middle page are determined in the same way as when writing is performed up to the Upper page, but the threshold is used when reading the Upper page. When it is determined that the value voltage is Vr1 or more and less than Vr3, the bit value is determined to be “1”. When writing is performed up to the Lower page, the bit value is determined according to the data coding in FIG. When data is written up to the Lower page, the method of determining the data values of the Lower page and Upper page is the same as when writing is written up to the Upper page, but the threshold is set when reading the Middle page. When it is determined that the value voltage is Vr2 or more and less than Vr5, the bit value is determined to be "1".

以上のように、本実施の形態では、図17に示した3−3−1コーディングを用い、書き込みページフラグを用いてどのページまでの書き込みが行われたかを管理することにより、1ページごとの書き込みを実施するようにした。このため、ページ間の境界数の偏りが少なく、誤り発生確率をページ間で平滑化することができ、記憶装置のコストおよび消費電力を抑制し、書き込みおよび読み出し速度を高めることができる。 As described above, in the present embodiment, by using the 3-3-1 coding shown in FIG. 17 and managing up to which page has been written using the write page flag, it is possible to Writing was carried out. Therefore, the number of boundaries between pages is less biased, the error occurrence probability can be smoothed between pages, the cost and power consumption of the storage device can be suppressed, and the writing and reading speeds can be increased.

(第4の実施の形態)
図19は、第4の実施の形態のデータコーディングを示す図である。本実施の形態の記憶装置の構成および不揮発性メモリ2の構成は第1の実施の形態と同様である。以下、第1の実施の形態と異なる点を説明する。
(Fourth Embodiment)
FIG. 19 is a diagram showing data coding according to the fourth embodiment. The configuration of the storage device and the configuration of the non-volatile memory 2 of this embodiment are the same as those of the first embodiment. Hereinafter, the points different from the first embodiment will be described.

図19(A)は、Lowerページの書き込みにおけるデータコーディングを示し、図19(B)は、Middleページの書き込みにおけるデータコーディングを示し、図19(C)は、Upperページの書き込みにおけるデータコーディングを示す。 FIG. 19(A) shows data coding in writing the Lower page, FIG. 19(B) shows data coding in writing the Middle page, and FIG. 19(C) shows data coding in writing the Upper page. ..

図19の四角で囲んだしきい値分布(領域)は、どこまでの書き込みを行ったかにより、データ値の割り付けが変更されるしきい値分布を示す。ハッチングした部分は、対応するページの書き込みで使用しないしきい値分布を示す。本実施の形態においても、第2の実施の形態と同様に書き込みページフラグを用いてどのページまで書き込みが行われたかを管理する。 The threshold distribution (area) surrounded by a square in FIG. 19 shows the threshold distribution in which the allocation of data values is changed depending on how much writing has been performed. The hatched portion shows the threshold distribution which is not used for writing the corresponding page. Also in the present embodiment, as in the second embodiment, the write page flag is used to manage up to which page has been written.

図20は、本実施の形態におけるメモリセルに対するプログラム後のしきい値分布を示す図である。図20(A)は、Lowerページのプログラム後のしきい値分布を示し、図20(B)は、Middleページのプログラム後のしきい値分布を示し、図20(C)は、Upperページのプログラム後のしきい値分布を示す。本実施の形態では、1ページずつプログラムすることが可能であるが、プログラムの順序は決まっており、Lowerページ、Middleページ、Upperページの順に書き込む。 FIG. 20 is a diagram showing the threshold distribution after programming of the memory cell in the present embodiment. 20A shows the threshold distribution after programming of the Lower page, FIG. 20B shows the threshold distribution after programming of the Middle page, and FIG. 20C shows that of the Upper page. The threshold distribution after programming is shown. In this embodiment, it is possible to program one page at a time, but the order of programming is fixed, and the lower page, the middle page, and the upper page are written in that order.

不揮発性メモリ2の制御部22は、図20(A)に示すように、Lowerページに書き込むビット値が“1”の場合は、電荷を注入せず、Lowerページに書き込むビット値が“0”の場合は電荷を注入して、しきい値電圧を分布Dに移動させるようプログラムする。 As shown in FIG. 20A, when the bit value written in the Lower page is “1”, the control unit 22 of the nonvolatile memory 2 does not inject charges and the bit value written in the Lower page is “0”. In the case of, the charge is injected and the threshold voltage is programmed to move to the distribution D.

Lowerページの書き込みを実施済のメモリセルグループに書き込みを行う場合、制御部22は、図20(B)に示すように、Lowerページのプログラムにより分布Erの状態であったメモリセルに対しては、Middleページに書き込むビット値が“1”の場合は分布Erのままとし、Middleページに書き込むビット値が“0”の場合は分布Aに移動させるようプログラムする。また、Lowerページのプログラムにより分布Dの状態であったメモリセルに対しては、Middleページに書き込むビット値が“1”の場合は分布Dのままとし、Middleページに書き込むビット値が“0”の場合は分布Fに移動させるようプログラムする。 When writing to the memory cell group that has already been written to the Lower page, the control unit 22 controls the memory cells in the distribution Er state by the programming of the Lower page as shown in FIG. , If the bit value to be written in the Middle page is “1”, the distribution Er is left unchanged, and if the bit value to be written in the Middle page is “0”, the program is moved to the distribution A. For the memory cells that were in the distribution D state due to the programming of the Lower page, if the bit value written to the Middle page is “1”, the distribution D remains as it is and the bit value written to the Middle page is “0”. If, then program to move to distribution F.

Middleページの書き込みを実施済のメモリセルグループに書き込みを行う場合、制御部22は、図20(C)に示すように、Middleページのプログラムにより分布Erの状態であったメモリセルに対しては、Upperページに書き込むビット値が“1”の場合は分布Erのままとし、Upperページに書き込むビット値が“0”の場合は分布Cに移動させるようプログラムする。また、Middleページのプログラムにより分布Aの状態であったメモリセルに対しては、Upperページに書き込むビット値が“1”の場合は分布Aのままとし、Upperページに書き込むビット値が“0”の場合は分布Bに移動させるようプログラムする。また、Middleページのプログラムにより分布Dの状態であったメモリセルに対しては、Upperページに書き込むビット値が“0”の場合は分布Dのままとし、Upperページに書き込むビット値が“1”の場合は分布Eに移動させるようプログラムする。また、Middleページのプログラムにより分布Fの状態であったメモリセルに対しては、Upperページに書き込むビット値が“1”の場合は分布Fのままとし、Upperページに書き込むビット値が“0”の場合は分布Gに移動させるようプログラムする。 When writing is performed to the memory cell group in which the Middle page has been written, the control unit 22 writes the memory cells in the distribution Er state by the program of the Middle page, as shown in FIG. , If the bit value to be written in the Upper page is "1", the distribution Er is left unchanged, and if the bit value to be written in the Upper page is "0", the distribution C is moved. For the memory cells that were in the distribution A state due to the programming of the Middle page, if the bit value written to the Upper page is “1”, the distribution A remains as it is, and the bit value written to the Upper page is “0”. If, then program to move to distribution B. For the memory cells that were in the distribution D state due to the programming of the Middle page, if the bit value written to the Upper page is “0”, the distribution D remains as it is and the bit value written to the Upper page is “1”. If, then program to move to distribution E. For the memory cells that were in the distribution F state due to the programming of the Middle page, if the bit value written to the Upper page is “1”, the distribution F is left unchanged and the bit value written to the Upper page is “0”. If, then program to move to distribution G.

第1の実施の形態では、書き込むビット値が“1”の場合は、電荷を注入せず、ビット値が“0”の場合に電荷を注入してしきい値分布を移動させたが、本実施の形態では、Upperページの書き込みにおいて、書き込むビット値が“0”の場合に電荷を注入せず、“1”の場合に電荷を注入するというケースが存在する。このため、図19のデータコーディングにおいて、書き込み済のページに依存してデータ値の割り付けが変更される分布がUpperページに1か所存在する。 In the first embodiment, when the bit value to be written is "1", the charge is not injected, and when the bit value is "0", the charge is injected to move the threshold distribution. In the embodiment, in the writing of the Upper page, there is a case where the charges are not injected when the bit value to be written is “0” and the charges are injected when the bit value is “1”. Therefore, in the data coding of FIG. 19, there is one distribution in which the allocation of data values is changed depending on the written page in the Upper page.

本実施の形態の書き込み手順は、図20に示したように、書き込むビット値に応じてしきい値分布を移動させる。具体的手順は、データコーディングが異なる以外は、第1の実施の形態と同様である。 In the writing procedure of this embodiment, as shown in FIG. 20, the threshold distribution is moved according to the bit value to be written. The specific procedure is the same as that of the first embodiment except that the data coding is different.

本実施の形態の読み出し手順は、データコーディングが異なる以外は、第2の実施の形態と同様に、書き込みページフラグと各ページの境界となる読み出し電圧での読み出し結果とを用いてデータ値を決定する。具体的には、本実施の形態では、Upperページの読み出しでは、Vr2、Vr5、Vr7を用い、Middleページの読み出しでは、Vr1、Vr3、Vr6を用い、Lowerページの読み出しでは、Vr4を用いる。Upperページまでの書き込みが行われている場合は、図19(C)のデータコーディングに従ってビット値を決定する。Middleページまでの書き込みが行われている場合は、図19(B)のデータコーディングに従ってビット値を決定する。Middleページまでの書き込みが行われている場合、LowerページおよびMiddleページのデータ値の決定方法は、Upperページまでの書き込みが行われている場合と同様であるが、Upperページの読み出し時には、しきい値電圧がVr2以上Vr5未満と判定された場合、ビット値は“1”と決定する。Lowerページまでの書き込みが行われている場合は、図19(A)のデータコーディングに従ってビット値を決定する。Lowerページまでの書き込みが行われている場合、Lowerページ、Middleページのデータ値の決定方法は、Upperページまでの書き込みが行われている場合と同様であるが、Upperページの読み出し時には、しきい値電圧がVr2以上Vr5未満と判定された場合、ビット値は“1”と決定する。 The read procedure of this embodiment is similar to that of the second embodiment except that the data coding is different, and the data value is determined using the write page flag and the read result at the read voltage at the boundary of each page. To do. Specifically, in the present embodiment, Vr2, Vr5, and Vr7 are used for reading the Upper page, Vr1, Vr3, Vr6 are used for reading the Middle page, and Vr4 is used for reading the Lower page. When writing is performed up to the Upper page, the bit value is determined according to the data coding in FIG. When writing is performed up to the Middle page, the bit value is determined according to the data coding in FIG. When writing is performed up to the Middle page, the data values for the Lower page and Middle page are determined in the same way as when writing is performed up to the Upper page, but the threshold is used when reading the Upper page. When it is determined that the value voltage is Vr2 or more and less than Vr5, the bit value is determined to be "1". When writing is performed up to the Lower page, the bit value is determined according to the data coding in FIG. When writing is done up to the Lower page, the data values for the Lower page and Middle page are determined in the same way as when writing is done up to the Upper page, but when reading the Upper page, the threshold is set. When it is determined that the value voltage is Vr2 or more and less than Vr5, the bit value is determined to be "1".

以上のように、本実施の形態では、図19に示した3−3−1コーディングを用い、書き込みページフラグを用いてどのページまでの書き込みが行われたかを管理することにより、1ページごとの書き込みを実施するようにした。このため、ページ間の境界数の偏りが少なく、誤り発生確率をページ間で平滑化することができ、記憶装置のコストおよび消費電力を抑制し、書き込みおよび読み出し速度を高めることができる。 As described above, in the present embodiment, by using the 3-3-1 coding shown in FIG. 19 and managing up to which page has been written using the write page flag, it is possible to Writing was carried out. Therefore, the number of boundaries between pages is less biased, the error occurrence probability can be smoothed between pages, the cost and power consumption of the storage device can be suppressed, and the writing and reading speeds can be increased.

(第5の実施の形態)
図21は、第5の実施の形態のデータコーディングを示す図である。本実施の形態の記憶装置の構成および不揮発性メモリ2の構成は第1の実施の形態と同様である。以下、第1の実施の形態と異なる点を説明する。
(Fifth Embodiment)
FIG. 21 is a diagram showing data coding according to the fifth embodiment. The configuration of the storage device and the configuration of the non-volatile memory 2 of this embodiment are the same as those of the first embodiment. Hereinafter, the points different from the first embodiment will be described.

図21(A)は、Lowerページの書き込みにおけるデータコーディングを示し、図21(B)は、Middleページの書き込みにおけるデータコーディングを示し、図21(C)は、Upperページの書き込みにおけるデータコーディングを示す。 21A shows data coding in writing the Lower page, FIG. 21B shows data coding in writing the Middle page, and FIG. 21C shows data coding in writing the Upper page. ..

図21の四角で囲んだしきい値分布(領域)は、どこまでの書き込みを行ったかにより、データ値の割り付けが変更されるしきい値分布を示す。ハッチングした部分は、対応するページの書き込みで使用しないしきい値分布を示す。本実施の形態においても、第2の実施の形態と同様に書き込みページフラグを用いてどのページまで書き込みが行われたかを管理する。 The threshold distribution (area) surrounded by a square in FIG. 21 shows the threshold distribution in which the allocation of data values is changed depending on how much writing has been performed. The hatched portion shows the threshold distribution which is not used for writing the corresponding page. Also in the present embodiment, as in the second embodiment, the write page flag is used to manage up to which page has been written.

図22は、本実施の形態におけるメモリセルに対するプログラム後のしきい値分布を示す図である。図22(A)は、Lowerページのプログラム後のしきい値分布を示し、図22(B)は、Middleページのプログラム後のしきい値分布を示し、図22(C)は、Upperページのプログラム後のしきい値分布を示す。本実施の形態では、1ページずつプログラムすることが可能であるが、プログラムの順序は決まっており、Lowerページ、Middleページ、Upperページの順に書き込む。 FIG. 22 is a diagram showing the threshold distribution after programming of the memory cell in the present embodiment. 22A shows the threshold distribution after programming of the Lower page, FIG. 22B shows the threshold distribution after programming of the Middle page, and FIG. 22C shows that of the Upper page. The threshold distribution after programming is shown. In this embodiment, it is possible to program one page at a time, but the order of programming is fixed, and the lower page, the middle page, and the upper page are written in that order.

不揮発性メモリ2の制御部22は、図22(A)に示すように、Lowerページに書き込むビット値が“1”の場合は、電荷を注入せず、Lowerページに書き込むビット値が“0”の場合は電荷を注入して、しきい値電圧を分布Bに移動させるようプログラムする。 As shown in FIG. 22A, the control unit 22 of the nonvolatile memory 2 does not inject charges when the bit value written to the Lower page is “1” and the bit value written to the Lower page is “0”. In the case of 2, the charge is injected and the threshold voltage is programmed to move to the distribution B.

Lowerページの書き込みを実施済のメモリセルグループに書き込みを行う場合、制御部22は、図22(B)に示すように、Lowerページのプログラムにより分布Erの状態であったメモリセルに対しては、Middleページに書き込むビット値が“1”の場合は分布Erのままとし、Middleページに書き込むビット値が“0”の場合は分布Eに移動させるようプログラムする。また、Lowerページのプログラムにより分布Bの状態であったメモリセルに対しては、Middleページに書き込むビット値が“1”の場合は分布Bのままとし、Middleページに書き込むビット値が“0”の場合は分布Dに移動させるようプログラムする。 When writing to the memory cell group that has already been written to the Lower page, the control unit 22 controls the memory cells that have been in the distribution Er state by programming the Lower page, as shown in FIG. , If the bit value to be written in the Middle page is “1”, the distribution Er is left unchanged, and if the bit value to be written in the Middle page is “0”, the program is moved to the distribution E. For the memory cells that were in the distribution B state due to the programming of the Lower page, if the bit value written to the Middle page is “1”, the distribution B remains as it is and the bit value written to the Middle page is “0”. If, then program to move to distribution D.

Middleページの書き込みを実施済のメモリセルグループに書き込みを行う場合、制御部22は、図22(C)に示すように、Middleページのプログラムにより分布Erの状態であったメモリセルに対しては、Upperページに書き込むビット値が“1”の場合は分布Erのままとし、Upperページに書き込むビット値が“0”の場合は分布Aに移動させるようプログラムする。また、Middleページのプログラムにより分布Bの状態であったメモリセルに対しては、Upperページに書き込むビット値が“0”の場合は分布Bのままとし、Upperページに書き込むビット値が“1”の場合は分布Cに移動させるようプログラムする。また、Middleページのプログラムにより分布Dの状態であったメモリセルに対しては、Upperページに書き込むビット値が“1”の場合は分布Dのままとし、Upperページに書き込むビット値が“0”の場合は分布Gに移動させるようプログラムする。また、Middleページのプログラムにより分布Eの状態であったメモリセルに対しては、Upperページに書き込むビット値が“1”の場合は分布Eのままとし、Upperページに書き込むビット値が“0”の場合は分布Fに移動させるようプログラムする。 When writing to the memory cell group in which the Middle page has been written, the control unit 22 writes the memory cells that have been in the distribution Er state by programming the Middle page, as shown in FIG. , If the bit value to be written in the Upper page is “1”, the distribution Er is left unchanged, and if the bit value to be written in the Upper page is “0”, the program is moved to the distribution A. For the memory cells that have been in the distribution B state due to the programming of the Middle page, if the bit value written to the Upper page is “0”, the distribution B remains as it is and the bit value written to the Upper page is “1”. If, then program to move to distribution C. For the memory cells that were in the distribution D state due to the programming of the Middle page, if the bit value written to the Upper page is “1”, the distribution D remains unchanged and the bit value written to the Upper page is “0”. If, then program to move to distribution G. For the memory cells that have been in the distribution E state due to the programming of the Middle page, if the bit value written to the Upper page is “1”, the distribution E remains as it is and the bit value written to the Upper page is “0”. If, then program to move to distribution F.

第1の実施の形態では、書き込むビット値が“1”の場合は、電荷を注入せず、ビット値が“0”の場合に電荷を注入してしきい値分布を移動させたが、本実施の形態では、Upperページの書き込みにおいて、書き込むビット値が“0”の場合に電荷を注入せず、“1”の場合に電荷を注入するというケースが存在する。このため、図21のデータコーディングにおいて、書き込み済のページに依存してデータ値の割り付けが変更される分布がUpperページに1か所存在する。 In the first embodiment, when the bit value to be written is "1", the charge is not injected, and when the bit value is "0", the charge is injected to move the threshold distribution. In the embodiment, in the writing of the Upper page, there is a case where the charges are not injected when the bit value to be written is “0” and the charges are injected when the bit value is “1”. Therefore, in the data coding of FIG. 21, there is one distribution in the Upper page in which the allocation of data values is changed depending on the written page.

本実施の形態の書き込み手順は、図22に示したように、書き込むビット値に応じてしきい値分布を移動させる。具体的手順は、データコーディングが異なる以外は、第1の実施の形態と同様である。 In the writing procedure of this embodiment, as shown in FIG. 22, the threshold distribution is moved according to the bit value to be written. The specific procedure is the same as that of the first embodiment except that the data coding is different.

本実施の形態の読み出し手順は、データコーディングが異なる以外は、第2の実施の形態と同様に、書き込みページフラグと各ページの境界となる読み出し電圧での読み出し結果とを用いてデータ値を決定する。具体的には、本実施の形態では、Upperページの読み出しでは、Vr1、Vr3、Vr6を用い、Middleページの読み出しでは、Vr4を用い、Lowerページの読み出しでは、Vr2、Vr5、Vr7を用いる。Upperページまでの書き込みが行われている場合は、図21(C)のデータコーディングに従ってビット値を決定する。Middleページまでの書き込みが行われている場合は、図21(B)のデータコーディングに従ってビット値を決定する。Middleページまでの書き込みが行われている場合、LowerページおよびMiddleページのデータ値の決定方法は、Upperページまでの書き込みが行われている場合と同様であるが、Upperページの読み出し時には、しきい値電圧がVr1以上Vr3未満と判定された場合、ビット値は“1”と決定する。Lowerページまでの書き込みが行われている場合は、図21(A)のデータコーディングに従ってビット値を決定する。Lowerページまでの書き込みが行われている場合、Lowerページ、Middleページのデータ値の決定方法は、Upperページまでの書き込みが行われている場合と同様であるが、Upperページの読み出し時には、しきい値電圧がVr1以上Vr3未満と判定された場合、ビット値は“1”と決定する。 The read procedure of this embodiment is similar to that of the second embodiment except that the data coding is different, and the data value is determined using the write page flag and the read result at the read voltage at the boundary of each page. To do. Specifically, in the present embodiment, Vr1, Vr3, and Vr6 are used for reading the Upper page, Vr4 is used for reading the Middle page, and Vr2, Vr5, Vr7 are used for reading the Lower page. When writing is performed up to the Upper page, the bit value is determined according to the data coding in FIG. When writing is performed up to the Middle page, the bit value is determined according to the data coding in FIG. When writing is performed up to the Middle page, the data values for the Lower page and Middle page are determined in the same way as when writing is performed up to the Upper page, but the threshold is used when reading the Upper page. When it is determined that the value voltage is Vr1 or more and less than Vr3, the bit value is determined to be “1”. When writing is performed up to the Lower page, the bit value is determined according to the data coding in FIG. When writing is done up to the Lower page, the data values for the Lower page and Middle page are determined in the same way as when writing is done up to the Upper page, but when reading the Upper page, the threshold is set. When it is determined that the value voltage is Vr1 or more and less than Vr3, the bit value is determined to be “1”.

以上のように、本実施の形態では、図21に示した3−1−3コーディングを用い、書き込みページフラグを用いてどのページまでの書き込みが行われたかを管理することにより、1ページごとの書き込みを実施するようにした。このため、ページ間の境界数の偏りが少なく、誤り発生確率をページ間で平滑化することができ、記憶装置のコストおよび消費電力を抑制し、書き込みおよび読み出し速度を高めることができる。 As described above, in the present embodiment, by using the 3-1-3 coding shown in FIG. 21 and managing up to which page has been written using the write page flag, each page is written. Writing was carried out. Therefore, the number of boundaries between pages is less biased, the error occurrence probability can be smoothed between pages, the cost and power consumption of the storage device can be suppressed, and the writing and reading speeds can be increased.

(第6の実施の形態)
図23は、第6の実施の形態のデータコーディングを示す図である。本実施の形態の記憶装置の構成および不揮発性メモリ2の構成は第1の実施の形態と同様である。以下、第1の実施の形態と異なる点を説明する。
(Sixth Embodiment)
FIG. 23 is a diagram showing data coding according to the sixth embodiment. The configuration of the storage device and the configuration of the non-volatile memory 2 of this embodiment are the same as those of the first embodiment. Hereinafter, the points different from the first embodiment will be described.

図23(A)は、Lowerページの書き込みにおけるデータコーディングを示し、図23(B)は、Middleページの書き込みにおけるデータコーディングを示し、図23(C)は、Upperページの書き込みにおけるデータコーディングを示す。 23A shows the data coding in writing the Lower page, FIG. 23B shows the data coding in writing the Middle page, and FIG. 23C shows the data coding in writing the Upper page. ..

図23の四角で囲んだしきい値分布(領域)は、どこまでの書き込みを行ったかにより、データ値の割り付けが変更されるしきい値分布を示す。ハッチングした部分は、対応するページの書き込みで使用しないしきい値分布を示す。本実施の形態においても、第2の実施の形態と同様に書き込みページフラグを用いてどのページまで書き込みが行われたかを管理する。 The threshold value distribution (area) surrounded by a square in FIG. 23 shows the threshold value distribution in which the allocation of data values is changed depending on how much writing is performed. The hatched portion shows the threshold distribution which is not used for writing the corresponding page. Also in the present embodiment, as in the second embodiment, the write page flag is used to manage up to which page has been written.

図24は、本実施の形態におけるメモリセルに対するプログラム後のしきい値分布を示す図である。図24(A)は、Lowerページのプログラム後のしきい値分布を示し、図24(B)は、Middleページのプログラム後のしきい値分布を示し、図24(C)は、Upperページのプログラム後のしきい値分布を示す。本実施の形態では、1ページずつプログラムすることが可能であるが、プログラムの順序は決まっており、Lowerページ、Middleページ、Upperページの順に書き込む。 FIG. 24 is a diagram showing the threshold distribution after programming of the memory cell according to the present embodiment. 24A shows the threshold distribution after programming of the Lower page, FIG. 24B shows the threshold distribution after programming of the Middle page, and FIG. 24C shows that of the Upper page. The threshold distribution after programming is shown. In this embodiment, it is possible to program one page at a time, but the order of programming is fixed, and the lower page, the middle page, and the upper page are written in that order.

不揮発性メモリ2の制御部22は、図24(A)に示すように、Lowerページに書き込むビット値が“1”の場合は、電荷を注入せず、Lowerページに書き込むビット値が“0”の場合は電荷を注入して、しきい値電圧を分布Aに移動させるようプログラムする。 As shown in FIG. 24A, the control unit 22 of the non-volatile memory 2 does not inject charges when the bit value to be written in the Lower page is “1” and the bit value to be written in the Lower page is “0”. In the case of 2, the charge is injected and the threshold voltage is programmed to move to the distribution A.

Lowerページの書き込みを実施済のメモリセルグループに書き込みを行う場合、制御部22は、図24(B)に示すように、Lowerページのプログラムにより分布Erの状態であったメモリセルに対しては、Middleページに書き込むビット値が“1”の場合は分布Erのままとし、Middleページに書き込むビット値が“0”の場合は分布Dに移動させるようプログラムする。また、Lowerページのプログラムにより分布Aの状態であったメモリセルに対しては、Middleページに書き込むビット値が“1”の場合は分布Aのままとし、Middleページに書き込むビット値が“0”の場合は分布Fに移動させるようプログラムする。 When writing to the memory cell group that has already been written to the Lower page, the control unit 22 controls the memory cells in the distribution Er state by programming the Lower page as shown in FIG. 24B. , If the bit value to be written in the Middle page is “1”, the distribution Er is left unchanged, and if the bit value to be written in the Middle page is “0”, the program is moved to the distribution D. For the memory cells that were in the distribution A state due to the programming of the Lower page, if the bit value written to the Middle page is “1”, the distribution A remains as it is, and the bit value written to the Middle page is “0”. If, then program to move to distribution F.

Middleページの書き込みを実施済のメモリセルグループに書き込みを行う場合、制御部22は、図24(C)に示すように、Middleページのプログラムにより分布Erの状態であったメモリセルに対しては、Upperページに書き込むビット値が“1”の場合は分布Erのままとし、Upperページに書き込むビット値が“0”の場合は分布Cに移動させるようプログラムする。また、Middleページのプログラムにより分布Aの状態であったメモリセルに対しては、Upperページに書き込むビット値が“1”の場合は分布Aのままとし、Upperページに書き込むビット値が“0”の場合は分布Bに移動させるようプログラムする。また、Middleページのプログラムにより分布Dの状態であったメモリセルに対しては、Upperページに書き込むビット値が“0”の場合は分布Dのままとし、Upperページに書き込むビット値が“1”の場合は分布Eに移動させるようプログラムする。また、Middleページのプログラムにより分布Fの状態であったメモリセルに対しては、Upperページに書き込むビット値が“1”の場合は分布Fのままとし、Upperページに書き込むビット値が“0”の場合は分布Gに移動させるようプログラムする。 When writing to the memory cell group in which the Middle page has been written, the control unit 22 writes the memory cells that have been in the distribution Er state by programming the Middle page, as shown in FIG. , If the bit value to be written in the Upper page is "1", the distribution Er is left unchanged, and if the bit value to be written in the Upper page is "0", the distribution C is moved. For the memory cells that were in the distribution A state due to the programming of the Middle page, if the bit value written to the Upper page is “1”, the distribution A remains as it is, and the bit value written to the Upper page is “0”. If, then program to move to distribution B. For the memory cells that were in the distribution D state due to the programming of the Middle page, if the bit value written to the Upper page is “0”, the distribution D remains as it is and the bit value written to the Upper page is “1”. If, then program to move to distribution E. For the memory cells that were in the distribution F state due to the programming of the Middle page, if the bit value written to the Upper page is “1”, the distribution F is left unchanged and the bit value written to the Upper page is “0”. If, then program to move to distribution G.

第1の実施の形態では、書き込むビット値が“1”の場合は、電荷を注入せず、ビット値が“0”の場合に電荷を注入してしきい値分布を移動させたが、本実施の形態では、Upperページの書き込みにおいて、書き込むビット値が“0”の場合に電荷を注入せず、“1”の場合に電荷を注入するというケースが存在する。このため、図23のデータコーディングにおいて、書き込み済のページに依存してデータ値の割り付けが変更される分布がUpperページに1か所存在する。 In the first embodiment, when the bit value to be written is "1", the charge is not injected, and when the bit value is "0", the charge is injected to move the threshold distribution. In the embodiment, in the writing of the Upper page, there is a case where the charges are not injected when the bit value to be written is “0” and the charges are injected when the bit value is “1”. Therefore, in the data coding of FIG. 23, there is one distribution in which the allocation of data values is changed depending on the written page in the Upper page.

本実施の形態の書き込み手順は、図24に示したように、書き込むビット値に応じてしきい値分布を移動させる。具体的手順は、データコーディングが異なる以外は、第1の実施の形態と同様である。 In the writing procedure of this embodiment, as shown in FIG. 24, the threshold distribution is moved according to the bit value to be written. The specific procedure is the same as that of the first embodiment except that the data coding is different.

本実施の形態の読み出し手順は、データコーディングが異なる以外は、第2の実施の形態と同様に、書き込みページフラグと各ページの境界となる読み出し電圧での読み出し結果とを用いてデータ値を決定する。具体的には、本実施の形態では、Upperページの読み出しでは、Vr2、Vr5、Vr7を用い、Middleページの読み出しでは、Vr4を用い、Lowerページの読み出しでは、Vr1、Vr3、Vr6を用いる。Upperページまでの書き込みが行われている場合は、図23(C)のデータコーディングに従ってビット値を決定する。Middleページまでの書き込みが行われている場合は、図23(B)のデータコーディングに従ってビット値を決定する。Middleページまでの書き込みが行われている場合、LowerページおよびMiddleページのデータ値の決定方法は、Upperページまでの書き込みが行われている場合と同様であるが、Upperページの読み出し時には、しきい値電圧がVr2以上Vr5未満と判定された場合、ビット値は“1”と決定する。Lowerページまでの書き込みが行われている場合は、図23(A)のデータコーディングに従ってビット値を決定する。Lowerページまでの書き込みが行われている場合、Lowerページ、Middleページのデータ値の決定方法は、Upperページまでの書き込みが行われている場合と同様であるが、Upperページの読み出し時には、しきい値電圧がVr2以上Vr5未満と判定された場合、ビット値は“1”と決定する。 The read procedure of this embodiment is similar to that of the second embodiment except that the data coding is different, and the data value is determined using the write page flag and the read result at the read voltage at the boundary of each page. To do. Specifically, in the present embodiment, Vr2, Vr5, and Vr7 are used for reading the Upper page, Vr4 is used for reading the Middle page, and Vr1, Vr3, and Vr6 are used for reading the Lower page. If writing has been performed up to the Upper page, the bit value is determined according to the data coding in FIG. When writing is performed up to the Middle page, the bit value is determined according to the data coding in FIG. When writing is performed up to the Middle page, the data values for the Lower page and Middle page are determined in the same way as when writing is performed up to the Upper page, but the threshold is used when reading the Upper page. When it is determined that the value voltage is Vr2 or more and less than Vr5, the bit value is determined to be "1". When writing is performed up to the Lower page, the bit value is determined according to the data coding in FIG. When writing is done up to the Lower page, the data values for the Lower page and Middle page are determined in the same way as when writing is done up to the Upper page, but when reading the Upper page, the threshold is set. When it is determined that the value voltage is Vr2 or more and less than Vr5, the bit value is determined to be "1".

以上のように、本実施の形態では、図23に示した3−1−3コーディングを用い、書き込みページフラグを用いてどのページまでの書き込みが行われたかを管理することにより、1ページごとの書き込みを実施するようにした。このため、ページ間の境界数の偏りが少なく、誤り発生確率をページ間で平滑化することができ、記憶装置のコストおよび消費電力を抑制し、書き込みおよび読み出し速度を高めることができる。 As described above, in the present embodiment, by using the 3-1-3 coding shown in FIG. 23 and managing up to which page has been written using the write page flag, it is possible to Writing was carried out. Therefore, the number of boundaries between pages is less biased, the error occurrence probability can be smoothed between pages, the cost and power consumption of the storage device can be suppressed, and the writing and reading speeds can be increased.

(第7の実施の形態)
次に、第7の実施の形態の記憶装置における読み出し方法について説明する。本実施の形態の記憶装置の構成および不揮発性メモリ2の構成は第1の実施の形態と同様である。本実施の形態のデータコーディングは第1の実施の形態と同様である。以下、第1の実施の形態と異なる点を説明する。
(Seventh embodiment)
Next, a reading method in the storage device according to the seventh embodiment will be described. The configuration of the storage device and the configuration of the non-volatile memory 2 of this embodiment are the same as those of the first embodiment. The data coding of this embodiment is the same as that of the first embodiment. Hereinafter, the points different from the first embodiment will be described.

一般的に、NANDメモリの各メモリセルのしきい値は、何らかの要因によって変動(変化)する。この要因としては、たとえばプログラムディスターブ、またはリードディスターブ、またはデータリテンションなどさまざまなものがある。変動したしきい値を有するメモリセルは、読み出しの時に、書き込まれたデータ値に対応するしきい値分布(領域)とは別のしきい値分布(領域)に対応する状態であると判定されることがあり、読み出しデータの誤りが生じる。この問題への対策として、しきい値の変動を補正して読み出すという手法がある。 Generally, the threshold value of each memory cell of a NAND memory fluctuates (changes) due to some factor. There are various factors such as program disturb, read disturb, and data retention. A memory cell having a changed threshold value is determined to be in a state corresponding to a threshold value distribution (region) different from the threshold value distribution (region) corresponding to the written data value at the time of reading. May occur, resulting in an error in read data. As a measure against this problem, there is a method of correcting the threshold value fluctuation and reading the data.

図25は、しきい値分布の変動の一例を示す図である。図25では、第1の実施の形態の図6(C)の状態にプログラムを行った後に、Lowerページを読み出す時のしきい値変動の一例を示している。実線で示したしきい値分布100は、変動前、すなわち書込み時のしきい値分布を示している。点線で示したしきい値分布101は、変動後のしきい値分布を示している。符号はそれぞれ1つずつに付しているが、符号を付していないしきい値分布についても実線が変動前のものを示し、点線が変動後のものを示している。図25の例では、データリテンションによって、分布Erと分布Aは、正方向(図25では、右へ向かう方向)に、分布B〜Gは、負方向(図25では、左へ向かう方向)にしきい値が変動した様子を表している。しきい値変動後のメモリセルを、元の読み出し電圧Vr1,Vr3,Vr6を使って読み出すと、例えば分布Fに属するメモリセルの一部(低電圧側の一部)はVr3とVr6の間の範囲内と判定されてしまう。このように、しきい値変動が生じることにより、多数のメモリセルのデータを読み誤る。 FIG. 25 is a diagram showing an example of variations in the threshold distribution. FIG. 25 shows an example of the threshold fluctuation when the Lower page is read after the programming is performed in the state of FIG. 6C of the first embodiment. The threshold distribution 100 shown by the solid line shows the threshold distribution before change, that is, at the time of writing. The threshold value distribution 101 shown by the dotted line shows the threshold value distribution after fluctuation. Although the reference numerals are assigned to the respective ones, the solid lines also show the pre-variation threshold values and the dotted lines show the post-variation threshold value distributions without reference numerals. In the example of FIG. 25, due to the data retention, the distribution Er and the distribution A are in the positive direction (the direction toward the right in FIG. 25), and the distributions BG are in the negative direction (the direction toward the left in FIG. 25). It shows how the threshold value fluctuates. When the memory cells after the threshold value change are read using the original read voltages Vr1, Vr3, and Vr6, for example, a part of the memory cells belonging to the distribution F (a part on the low voltage side) is between Vr3 and Vr6. It is determined to be within the range. As described above, the threshold value variation causes the data in many memory cells to be erroneously read.

そこで、本実施の形態では、Vr1,Vr3,Vr6の代わりに、Vr1’,Vr3’,Vr6’という変動を補正した読み出し電圧を使用する。Vr1’,Vr3’,Vr6’の決定方法はどのような方法を用いてもよいが、例えば、読み出し電圧を変更して誤り訂正処理を行い、誤り訂正可能となった読み出し電圧をVr1’,Vr3’,Vr6’として用いる方法が考えられる。Vr1’,Vr3’,Vr6’の決定方法はこの方法に限定されない。 Therefore, in the present embodiment, instead of Vr1, Vr3, and Vr6, a read voltage in which variations such as Vr1', Vr3', and Vr6' are corrected is used. Any method may be used to determine Vr1′, Vr3′, and Vr6′. For example, the read voltage is changed to perform error correction processing, and the read voltages that can be corrected are Vr1′ and Vr3. A method of using as “, Vr6” can be considered. The method for determining Vr1', Vr3', Vr6' is not limited to this method.

図26は、読み出し電圧を変更する場合の本実施の形態の読み出し手順の一例を示すフローチャートである。常時図26に示す手順で読み出しを実施してもよいし、通常は読み出し電圧は変更しない読み出しを実施し、しきい値が変動したと想定される一定条件を満たした場合に、図26の読み出し手順を実施するようにしてもよい。この一定条件には特に制約はないが、例えば、読み出し時の誤り訂正処理により誤り訂正不可となる比率が一定比率を超えた場合に図26に示した読み出し電圧の変更を行う読み出しを実施する。図26に示すように、プロセッサ12は、メモリインターフェイス15経由で、不揮発性メモリ2へページ読み出しコマンド(ページ単位で読み出しを要求するコマンド)を入力する(ステップS61)。不揮発性メモリ2は、ページ読み出しコマンドに従ってデータを読み出し(ステップS62)、メモリインターフェイス15経由でECC回路14へ読み出したデータを送信する(ステップS63)。ステップS62の読み出しで用いる読み出し電圧は、後述する読み出しレベル変更コマンドを受信していない場合には初期値(上記図25の例ではVr1,Vr3,Vr6)である。ただし、この初期値は、メモリコントローラ1からの指示に基づいて変更可能としてもよい。 FIG. 26 is a flowchart showing an example of the read procedure of the present embodiment when the read voltage is changed. The reading may be always performed in the procedure shown in FIG. 26, or the reading of the reading voltage is not changed normally and the reading of FIG. You may make it implement a procedure. Although there is no particular restriction on this constant condition, for example, when the ratio at which error correction becomes impossible due to the error correction processing at the time of reading exceeds a certain ratio, the reading is performed by changing the read voltage shown in FIG. As shown in FIG. 26, the processor 12 inputs a page read command (command for requesting reading in page units) to the nonvolatile memory 2 via the memory interface 15 (step S61). The nonvolatile memory 2 reads data according to the page read command (step S62), and transmits the read data to the ECC circuit 14 via the memory interface 15 (step S63). The read voltage used for reading in step S62 is an initial value (Vr1, Vr3, Vr6 in the example of FIG. 25) when the read level change command described later has not been received. However, this initial value may be changeable based on an instruction from the memory controller 1.

ECC回路14は、入力されたデータを用いて誤り訂正処理を行う(ステップS64)。ECC回路14は、この誤り訂正処理で、誤り訂正が可能であったか否かをプロセッサ12へ通知する。プロセッサ12は、この通知により誤り訂正が可能であったか否かを判断し(ステップS65)、誤り訂正が可能であった場合(ステップS65 Yes)、処理を終了する。誤り訂正不可であった場合(ステップS65 No)、プロセッサ12は、不揮発性メモリ2の読み出しレベル(読み出し電圧)をステップS62で用いた読み出し電圧とは異なる値に決定する(ステップS67)。そして、プロセッサ12は、決定した値に基づいて読み出しレベル変更コマンドをメモリインターフェイス15経由で、不揮発性メモリ2へ入力し(ステップS66)、ステップS61へ戻る。不揮発性メモリ2は、読み出しレベル変更コマンドに従って、読み出し電圧を変更する。 The ECC circuit 14 performs error correction processing using the input data (step S64). The ECC circuit 14 notifies the processor 12 whether or not error correction was possible in this error correction processing. Based on this notification, the processor 12 determines whether or not the error correction is possible (step S65), and when the error correction is possible (step S65 Yes), the process ends. If the error cannot be corrected (No in step S65), the processor 12 determines the read level (read voltage) of the nonvolatile memory 2 to be a value different from the read voltage used in step S62 (step S67). Then, the processor 12 inputs the read level change command to the nonvolatile memory 2 via the memory interface 15 based on the determined value (step S66), and returns to step S61. The nonvolatile memory 2 changes the read voltage according to the read level change command.

以上の手順により、誤り訂正可能となる読み出し電圧を探索することが可能となる。誤り訂正可能となった場合の読み出し電圧が図25のVr1’,Vr3’,Vr6’に相当する。 With the above procedure, it is possible to search for a read voltage that enables error correction. The read voltages when error correction is possible correspond to Vr1', Vr3', and Vr6' in FIG.

以上の説明では、第1の実施の形態のデータコーディングを用いる例を説明したが、第2〜6の実施の形態のデータコーディングを用いる場合に、同様に、読み出し電圧の変更を行ってもよい。 In the above description, an example in which the data coding of the first embodiment is used has been described. However, when the data coding of the second to sixth embodiments is used, the read voltage may be similarly changed. ..

本実施の形態では、第1〜第6の実施の形態のデータコーディングを用いた書込みおよび読み出しを行う場合に、しきい値が変動した場合に読み出し電圧を変更するようにした。このため、第1〜第6の実施の形態の効果が得られるとともに、しきい値が変動した場合にも、データの読み出し誤りを低減することができる。 In the present embodiment, the read voltage is changed when the threshold value fluctuates when writing and reading are performed using the data coding of the first to sixth embodiments. For this reason, the effects of the first to sixth embodiments can be obtained, and data read errors can be reduced even when the threshold value changes.

(第8の実施の形態)
次に、第8の実施の形態の記憶装置における読み出し方法について説明する。本実施の形態の記憶装置の構成および不揮発性メモリ2の構成は第1の実施の形態と同様である。本実施の形態のデータコーディングは第1の実施の形態と同様である。以下、第1の実施の形態と異なる点を説明する。
(Eighth Embodiment)
Next, a reading method in the memory device according to the eighth embodiment will be described. The configuration of the storage device and the configuration of the non-volatile memory 2 of this embodiment are the same as those of the first embodiment. The data coding of this embodiment is the same as that of the first embodiment. Hereinafter, the points different from the first embodiment will be described.

不揮発メモリ2に格納されるデータを保護するために誤り訂正符号化する際に、どのような誤り訂正符号を用いてもよいが、復号時に軟判定復号を行ってもよい。軟判定復号を行う場合には、一般にはLDPC(Low Density Parity Check)符号等のように、軟判定復号を行う符号を用いて符号化を行うが、硬判定復号を行うことが可能な符号(BCH符号等)を用いた符号化を行い、復号時に軟判定復号を行ってもよい。 Any error correction code may be used when performing error correction coding to protect the data stored in the non-volatile memory 2, but soft-decision decoding may be performed at the time of decoding. When performing soft-decision decoding, coding is generally performed using a code that performs soft-decision decoding, such as LDPC (Low Density Parity Check) code, but a code that can perform hard-decision decoding ( It is also possible to perform coding using a BCH code or the like) and perform soft decision decoding at the time of decoding.

本実施の形態では、復号時に軟判定復号を行う例について説明する。符号化の方式については特に制約はないが、上述したように例えばLDPC符号により符号化を行う。軟判定復号を行う場合は、通常の読み出しと同様の硬判定値に加えいわゆるソフトビット情報を不揮発性メモリ2から読み出し、読み出した硬判定値およびソフトビット情報を用いて復号を行う。ソフトビット情報とは、どれだけ真値に近いかという確率情報である。不揮発メモリ2としてNANDメモリを用いる場合、しきい値分布を分ける境界となる読み出し電圧から各メモリセルのしきい値電圧が離れているほど真値に近いとみなせる。 In the present embodiment, an example of performing soft decision decoding at the time of decoding will be described. The encoding method is not particularly limited, but as described above, for example, the LDPC code is used for encoding. When performing soft-decision decoding, so-called soft bit information is read from the nonvolatile memory 2 in addition to the hard decision value similar to normal reading, and decoding is performed using the read hard decision value and soft bit information. The soft bit information is probability information about how close the true value is. When a NAND memory is used as the non-volatile memory 2, it can be considered that the closer the threshold voltage of each memory cell is to the threshold voltage of the memory cell, the closer to the true value.

以下、ソフトビット情報を読み出す読み出し方法をソフトビットリードとよび、第1の実施の形態等で前提として通常の読み出しはハードビットリード(HB read)とよぶ。ハードビットリードは、しきい値分布を分ける境界に対応する1つの読み出し電圧を印加することにより、当該境界よりメモリセルのしきい値電圧が高いか否かを判定する。これに対し、ソフトビットリードでは、判定対象の1つの境界に対して複数の読み出し電圧で読み出しを実施する。ソフトビットリードを行うためのハードウェア構成はどのような構成としてもよいが、例えば、不揮発性メモリ2がソフトビットリードと通常読み出し(ハードビットリード)の両方の読み出し方法に対応可能とし、メモリコントローラ1からの指示に基づいて、読み出しを行うとする。また、ソフトビットリードを行う際の、読み出し電圧のシフト量や何種類のシフトを行うかについては、不揮発性メモリ2にあらかじめ設定されていてもよいし、メモリコントローラ1から指示するようにしてもよい。 Hereinafter, the reading method for reading the soft bit information is called a soft bit read, and the normal read is called a hard bit read (HB read) on the premise of the first embodiment and the like. The hard bit read determines whether or not the threshold voltage of the memory cell is higher than the boundary by applying one read voltage corresponding to the boundary dividing the threshold distribution. On the other hand, in soft bit read, reading is performed with a plurality of read voltages for one boundary to be determined. Although the hardware configuration for performing the soft bit read may be any configuration, for example, the nonvolatile memory 2 can support both read methods of the soft bit read and the normal read (hard bit read), and the memory controller It is assumed that reading is performed based on the instruction from 1. Further, the amount of shift of the read voltage and the number of types of shift when performing the soft bit read may be set in advance in the non-volatile memory 2 or may be instructed from the memory controller 1. Good.

図27は、ソフトビットの様子の一例を示す図である。図27では、第1の実施の形態の図6(C)の状態にプログラムを行った後に、Lowerページをソフトビットリードにより読み出す様子を示している。この図の例では、2種類のソフトビット情報を読み出している。ソフトビットリードは基本的に、ハードビットリードと読み出し電圧をシフトさせた場合のデータの読み出し値(メモリセルのしきい値電圧が、シフトさせた読み出し電圧以上であるか否か)を用いた読み出しとの組み合わせである。図27の例では、まず、不揮発性メモリ2は、通常の読み出し電圧Vr1,Vr3,Vr6をそれぞれ使った3回の読み出し結果に基づいて、3つのハードビットリードのデータ(しきい値電圧が読み出し電圧以上であるか否か)をそれぞれ決定する(図27(A))。しきい値電圧が、読み出し電圧以上である場合データ値は“0”であり、読み出し電圧未満である場合データ値は“1”である。 FIG. 27 is a diagram showing an example of a state of soft bits. FIG. 27 shows a state in which the Lower page is read by soft bit reading after programming is performed in the state of FIG. 6C of the first embodiment. In the example of this figure, two types of soft bit information are read. The soft bit read is basically a read using the data read value when the read voltage is shifted from the hard bit read (whether or not the threshold voltage of the memory cell is equal to or higher than the shifted read voltage). It is a combination with. In the example of FIG. 27, first, the nonvolatile memory 2 reads three hard bit read data (threshold voltage is read based on the read results of three times using the normal read voltages Vr1, Vr3, and Vr6). Whether the voltage is equal to or higher than the voltage) is determined (FIG. 27A). The data value is “0” when the threshold voltage is equal to or higher than the read voltage, and the data value is “1” when the threshold voltage is lower than the read voltage.

次に、不揮発性メモリ2は、電圧Vr1,Vr3,Vr6からそれぞれ所定量ΔRだけ低い読み出し電圧で、ソフトビットリード#1(S1 read)を行う。そして、Vr1−ΔR,Vr3−ΔR,Vr6−ΔRをそれぞれ使った3回の読み出し結果に基づいて、S1 readのデータを決定する(図27(B))。次に、不揮発性メモリ2は、電圧Vr1,Vr3,Vr6からそれぞれΔRだけ高い読み出し電圧でソフトビットリード#2(S2 read)を行う。そして、Vr1+ΔR,Vr3+ΔR,Vr6+ΔRを使った3回の読み出し結果に基づいて、S2 readのデータを決定する(図27(C))。 Next, the nonvolatile memory 2 performs the soft bit read #1 (S1 read) with the read voltage lower than the voltages Vr1, Vr3, Vr6 by the predetermined amount ΔR. Then, the data of S1 read is determined based on the results of reading three times using Vr1-ΔR, Vr3-ΔR, and Vr6-ΔR (FIG. 27(B)). Next, the non-volatile memory 2 performs soft bit read #2 (S2 read) with a read voltage higher than the voltages Vr1, Vr3, and Vr6 by ΔR. Then, the data of S2 read is determined based on the read result of three times using Vr1+ΔR, Vr3+ΔR, and Vr6+ΔR (FIG. 27(C)).

次に、不揮発性メモリ2は、電圧Vr1,Vr3,Vr6からそれぞれΔRの2倍だけ低い読み出し電圧で、ソフトビットリード#3(S3 read)を行う。そして、電圧Vr1−2ΔR,Vr3−2ΔR,Vr6−2ΔRをそれぞれ使った3回の読み出し結果に基づいて、S3 readのデータを決定する(図27(D))。次に、不揮発性メモリ2は、電圧Vr1,Vr3,Vr6からそれぞれΔRの2倍だけ高い読み出し電圧で、ソフトビットリード#4(S4 read)を行う。そして、電圧Vr1+2ΔR,Vr3+2ΔR,Vr6+2ΔRをそれぞれ使った3回の読み出し結果に基づいて、S4 readのデータを決定する(図27(E))。 Next, the non-volatile memory 2 performs soft bit read #3 (S3 read) at a read voltage that is lower than the voltages Vr1, Vr3, and Vr6 by twice the ΔR. Then, the data of S3 read is determined based on the results of reading three times using the voltages Vr1-2ΔR, Vr3-2ΔR, and Vr6-2ΔR (FIG. 27D). Next, the nonvolatile memory 2 performs the soft bit read #4 (S4 read) with the read voltage higher than the voltages Vr1, Vr3, and Vr6 by twice the ΔR. Then, the data of S4 read is determined based on the results of reading three times using the voltages Vr1+2ΔR, Vr3+2ΔR, and Vr6+2ΔR (FIG. 27(E)).

さらに、S1 readのデータとS2readのデータとの否定排他的論理和を演算することで、Vr1−ΔRとVr1+ΔRの間の範囲とVr3−ΔRとVr3+ΔRの間の範囲とVr6−ΔRとVr6+ΔRの間の範囲とのしきい値電圧を有するメモリセルをそれぞれ特定することができる(図27(F))。同様に、S3 readのデータとS4 readのデータの否定排他的論理和を演算することで、Vr1−2ΔRとVr1+2ΔRの間の範囲とVr3−2ΔRとVr3+2ΔRの間の範囲とVr6−2ΔRとVr6+2ΔRの間の範囲とのしきい値電圧を有するメモリセルをそれぞれ特定することができる(図27(G))。この図27(F)と図27(G)の結果が、2種類のソフトビット情報となる。 Further, by calculating the exclusive-NOR of the data of S1 read and the data of S2 read, the range between Vr1-ΔR and Vr1+ΔR, the range between Vr3-ΔR and Vr3+ΔR, and the range between Vr6-ΔR and Vr6+ΔR It is possible to specify the memory cells having the threshold voltage in the range of (FIG. 27(F)). Similarly, by operating the exclusive-NOR of the data of S3 read and the data of S4 read, the range between Vr1-2ΔR and Vr1+2ΔR, the range between Vr3-2ΔR and Vr3+2ΔR, and the range of Vr6-2ΔR and Vr6+2ΔR. A memory cell having a threshold voltage in the range between the memory cells can be specified (FIG. 27G). The results of FIGS. 27F and 27G are two types of soft bit information.

そして、ECC回路14は、ハードビットリードの結果とソフトビット情報とを用いて軟判定復号を行うことにより、誤り訂正を行うことができる。なお、本実施の形態では、第1の実施の形態のデータコーディングを用いる例を説明したが、第2〜6の実施の形態のデータコーディングを用いる場合に、同様に、ソフトビットリードを行ってもよい。また、本実施の形態のソフトビットリードを行う場合に、第7の実施の形態で述べた読み出し電圧の変更を行ってもよい。 Then, the ECC circuit 14 can perform error correction by performing soft-decision decoding using the hard bit read result and the soft bit information. In the present embodiment, an example in which the data coding of the first embodiment is used has been described. However, when the data coding of the second to sixth embodiments is used, soft bit read is similarly performed. Good. Further, when the soft bit read according to the present embodiment is performed, the read voltage described in the seventh embodiment may be changed.

(第9の実施の形態)
次に、第9の実施の形態の記憶装置におけるしきい値分布について説明する。本実施の形態の記憶装置の構成および不揮発性メモリ2の構成は第1の実施の形態と同様である。本実施の形態のデータコーディングは第1の実施の形態と同様である。以下、第1の実施の形態と異なる点を説明する。
(Ninth Embodiment)
Next, the threshold distribution in the memory device of the ninth embodiment will be described. The configuration of the storage device and the configuration of the non-volatile memory 2 of this embodiment are the same as those of the first embodiment. The data coding of this embodiment is the same as that of the first embodiment. Hereinafter, the points different from the first embodiment will be described.

第1〜第6の実施の形態では、いずれも、LowerページやMiddleページのプログラムにおいても、しきい値分布(領域)の幅は、最終的にUpperページのプログラムで必要とされる幅と同じ幅に形成しておく例について説明した。 In each of the first to sixth embodiments, the width of the threshold distribution (area) is the same as the width finally required for the program of the Upper page in the program of the Lower page and the Middle page. The example of forming the width has been described.

本実施の形態では、第3の実施の形態で述べたデータコーディングの変形例として、LowerページおよびMiddleページのしきい値分布の幅を広くし、またMiddleページのしきい値分布の間隔を広くする。これにより、Lowerページの書き込みの高速化とMiddleページのデータ誤りの確率の低減を図る。 In the present embodiment, as a modification of the data coding described in the third embodiment, the width of the threshold distribution of the Lower page and the Middle page is widened, and the interval of the threshold distribution of the Middle page is widened. To do. This will speed up the writing of the Lower page and reduce the probability of data error in the Middle page.

図28は、本実施の形態における各ページのプログラム後のしきい値分布の一例を示す図である。本実施の形態のLowerページプログラム後におけるデータ値“0”に対応するしきい値分布は、第3の実施の形態の図18に示したLowerページプログラム後におけるデータ値“0”に対応する分布102に比べ、幅が広がり中心電圧が低くなっている。これにより、Middleページのプログラム後におけるデータ値“00”に対応するしきい値分布とデータ値“10”に対応するしきい値分布との間隔も広がっている。 FIG. 28 is a diagram showing an example of the threshold distribution after programming of each page in the present embodiment. The threshold value distribution corresponding to the data value “0” after the Lower page program of the present embodiment is the distribution corresponding to the data value “0” after the Lower page program shown in FIG. 18 of the third embodiment. Compared with 102, the width is wider and the center voltage is lower. As a result, the interval between the threshold value distribution corresponding to the data value “00” and the threshold value distribution corresponding to the data value “10” after programming the Middle page is also widened.

以上のように、しきい値分布の幅を広げることで、Lowerページのプログラム時にワード線に印可するプログラム電圧の1回のプログラムパルス毎の上昇幅をMiddleページやUpperページのそれよりも大きくすることができる。すなわち、分布幅調整をラフに行うことができるので、プログラム時間を高速化することができる。またMiddleページのしきい値分布の間隔が広がるため、データ誤りの確率が下がり、より正確なデータを読み出すことが可能になる。それを利用して、Lowerページのみをプログラムが高速で信頼性の良い2値データとして使用することも可能である。 As described above, by increasing the width of the threshold distribution, the increase width of the program voltage applied to the word line at the time of programming the Lower page per program pulse is made larger than that of the Middle page or Upper page. be able to. That is, since the distribution width can be roughly adjusted, the program time can be shortened. In addition, since the threshold distribution of the Middle page is widened, the probability of data error is reduced, and more accurate data can be read. By utilizing this, it is also possible for the program to use only the Lower page as high-speed and reliable binary data.

なおこれにより、第3の実施の形態ではUpperページのプログラムにおいてはデータ値“100”のしきい値分布が、Middleページのプログラム後のデータ値“00”のしきい値分布と同じであったため、Upperページの書込みの際にデータ値“100”の場合はプログラムを実施する必要がなかった。これに対し、本実施の形態では、Upperページの書込みの際にデータ値“100”の場合、図28(C)に示すデータ値“100”のしきい値分布となるように、プログラムを実施する。 As a result, in the third embodiment, the threshold distribution of the data value “100” in the Upper page program is the same as the threshold distribution of the data value “00” in the Middle page after programming. , When writing the Upper page, it was not necessary to execute the program when the data value was “100”. On the other hand, in the present embodiment, the program is executed so that the threshold value distribution of the data value “100” shown in FIG. 28C is obtained when the data value is “100” when writing the Upper page. To do.

なお、ここでは、第3の実施の形態の変形例について説明したが、他の実施の形態についても同様にLowerページおよびMiddleページのプログラム後におけるしきい値分布の少なくとも一部について幅を広げまたMiddleページのしきい値分布の間隔を広げることができる。 Although the modification of the third embodiment has been described here, the width of at least a part of the threshold distribution after programming of the Lower page and the Middle page is widened similarly in the other embodiments. The interval of the threshold distribution of the Middle page can be widened.

以上のように、本実施の形態では、LowerページおよびMiddleページのプログラム後におけるしきい値分布の少なくとも一部について幅を広げ、またMiddleページのしきい値分布の間隔を広げるようにした。これにより、プログラム時間を高速化することができる。また、Middleページの読み出し誤りを低減することができる。 As described above, in the present embodiment, the width of at least a part of the threshold distribution of the Lower page and the Middle page after programming is widened, and the interval of the threshold distribution of the Middle page is widened. As a result, the programming time can be shortened. In addition, it is possible to reduce errors in reading Middle pages.

(第10の実施の形態)
次に、第10の実施の形態の記憶装置におけるしきい値分布について説明する。本実施の形態の記憶装置の構成および不揮発性メモリ2の構成は第1の実施の形態と同様である。本実施の形態のデータコーディングは第1の実施の形態と同様である。以下、第1の実施の形態と異なる点を説明する。
(Tenth Embodiment)
Next, the threshold distribution in the storage device of the tenth embodiment will be described. The configuration of the storage device and the configuration of the non-volatile memory 2 of this embodiment are the same as those of the first embodiment. The data coding of this embodiment is the same as that of the first embodiment. Hereinafter, the points different from the first embodiment will be described.

本実施の形態では、第9の実施の形態と同様に、第3の実施の形態で述べたデータコーディングの変形例として、LowerページおよびMiddleページのしきい値分布の幅を広くし、またMiddleページのしきい値分布の間隔を広くする。 In the present embodiment, as in the ninth embodiment, as a modified example of the data coding described in the third embodiment, the width of the threshold distribution of the Lower page and the Middle page is widened, and the Middle page is widened. Increase the page threshold distribution interval.

図29は、本実施の形態における各ページのプログラム後のしきい値分布の一例を示す図である。本実施の形態のLowerページプログラム後におけるデータ値“0”に対応するしきい値分布は、第9の実施の形態に比べさらに低電圧側に移動させている。図29において、分布102は、第3の実施の形態のしきい値分布を示す。なお、図29では、符号は1つの分布に付しているが、点線で示したしきい値分布は符号を付した分布と同様に第3の実施の形態のしきい値分布を示している。Middleページのプログラム後におけるデータ値“01”に対応するしきい値分布、データ値”10”に対応するしきい値分布についてそれぞれ第3の実施の形態に比べ、しきい値分布の幅を広げ中心電圧も下げている。 FIG. 29 is a diagram showing an example of the threshold distribution after programming of each page in the present embodiment. The threshold value distribution corresponding to the data value “0” after the Lower page program of the present embodiment is moved to the lower voltage side as compared with the ninth embodiment. In FIG. 29, distribution 102 shows the threshold distribution of the third embodiment. Note that in FIG. 29, the reference numeral is assigned to one distribution, but the threshold distribution shown by the dotted line shows the threshold distribution of the third embodiment similarly to the distribution assigned with the reference numeral. . The threshold distribution corresponding to the data value “01” and the threshold distribution corresponding to the data value “10” after programming the Middle page are respectively wider than those in the third embodiment. The center voltage is also decreasing.

これにより、Middleページプログラム後におけるデータ値“00”のしきい値分布とデータ値“10”のしきい値分布との間隔も広がっている。したがって、LowerページとMiddleページのプログラム時にワード線に印可するプログラム電圧の1回のプログラムパルス毎の上昇幅をUpperページのそれよりも大きくすることができる。すなわち、分布幅調整をラフに行うことができるので、プログラム時間の高速化が可能である。またMiddleページの分布間隔が広がるため、データ誤りの確率が下がり、より正確なデータを読み出すことができる。それを利用して、Lowerページのみをプログラムが高速で信頼性の良い2値データとして使用することも可能である。 As a result, the interval between the threshold value distribution of the data value “00” and the threshold value distribution of the data value “10” after the middle page programming is widened. Therefore, the increase width of the program voltage applied to the word line at the time of programming of the Lower page and the Middle page for each program pulse can be made larger than that of the Upper page. That is, since the distribution width can be roughly adjusted, the programming time can be shortened. Also, since the distribution interval of the Middle page is widened, the probability of data error is reduced, and more accurate data can be read. By utilizing this, it is also possible for the program to use only the Lower page as high-speed and reliable binary data.

なお第3の実施の形態ではUpperページのプログラムにおいてはデータ値“001”,“100”,“110”のしきい値分布については、Middleページプログラム後のデータ値“01”,“00”,“10”のしきい値分布とそれぞれ同じだったためプログラムを実施する必要がなかった。本実施の形態では、Upperページのプログラムにおいてはデータ値“001”,“100”,“110”のしきい値分布が、図29(C)に示すしきい値分布となるようにプログラムを実施する。 In the third embodiment, regarding the threshold distribution of the data values “001”, “100”, and “110” in the program of the Upper page, the data values “01”, “00”, after the Middle page program, Since it was the same as the threshold distribution of "10", it was not necessary to execute the program. In this embodiment, the program is executed so that the threshold distribution of the data values "001", "100", "110" in the program of the Upper page becomes the threshold distribution shown in FIG. 29(C). To do.

なお、ここでは、第3の実施の形態の変形例について説明したが、他の実施の形態についても同様にLowerページおよびMiddleページのプログラム後におけるしきい値分布の少なくとも一部について幅を広げまたMiddleページのしきい値分布の間隔を広げることができる。 Although the modification of the third embodiment has been described here, the width of at least a part of the threshold distribution after programming of the Lower page and the Middle page is widened similarly in the other embodiments. The interval of the threshold distribution of the Middle page can be widened.

以上のように、本実施の形態では、LowerページおよびMiddleページのプログラム後におけるしきい値分布の少なくとも一部について幅を広げ、またMiddleページのしきい値分布の間隔を広げるようにした。これにより、プログラム時間を高速化することができる。また、Middleページの読み出し誤りを低減することができる。 As described above, in the present embodiment, the width of at least a part of the threshold distribution of the Lower page and the Middle page after programming is widened, and the interval of the threshold distribution of the Middle page is widened. As a result, the programming time can be shortened. In addition, it is possible to reduce errors in reading Middle pages.

(第11の実施の形態)
次に、第11の実施の形態の記憶装置におけるしきい値分布について説明する。本実施の形態の記憶装置の構成および不揮発性メモリ2の構成は第1の実施の形態と同様である。本実施の形態のデータコーディングは第4の実施の形態と同様である。以下、第4の実施の形態と異なる点を説明する。
(Eleventh Embodiment)
Next, the threshold distribution in the storage device of the eleventh embodiment will be described. The configuration of the storage device and the configuration of the non-volatile memory 2 of this embodiment are the same as those of the first embodiment. The data coding of this embodiment is the same as that of the fourth embodiment. Hereinafter, the points different from the fourth embodiment will be described.

例えば第4の実施の形態のデータコーディングでは、Middleページプログラム後のデータ値“11”のしきい値分布とデータ値“01”のしきい値分布とが、Upperページのプログラム後の最終分布での隣接分布になっている。したがって、Middleページでは使用される分布数が少ないにもかかわらず、隣接する分布の境界の読み出し電圧を用いる読み出しに関してはUpperページプログラム後と同等のデータ誤り確率となってしまう。特に消去分布(分布Er)は、その後のプログラムによる電圧補正が無く、データ誤りの原因となるストレス(プログラムディスターブ,リードディスターブ,データリテンション)が蓄積する。このため、他のデータ分布よりデータ誤りの確率が一般的に大きく、消去分布と消去分布に隣接する分布とを用いると誤りの発生確率が高くなる。そこで本実施の形態では、消去分布と隣接する分布との分布間隔を他の分布間の間隔よりも広げることにより、Middleページのデータ誤りの確率の低減を図る。 For example, in the data coding of the fourth embodiment, the threshold distribution of the data value “11” and the threshold distribution of the data value “01” after the Middle page programming are the final distribution after the programming of the Upper page. The distribution is adjacent to. Therefore, although the number of distributions used in the Middle page is small, the data error probability is the same as that after the Upper page program when reading using the read voltage at the boundary between adjacent distributions. In particular, in the erase distribution (distribution Er), there is no voltage correction by programming thereafter, and stress (program disturb, read disturb, data retention) that causes a data error is accumulated. For this reason, the probability of data error is generally higher than that of other data distributions, and the error occurrence probability becomes higher when the erase distribution and the distribution adjacent to the erase distribution are used. Therefore, in the present embodiment, the probability of data error in the Middle page is reduced by making the distribution interval between the erased distribution and the adjacent distribution wider than the interval between other distributions.

図30は、本実施の形態における各ページのプログラム後のしきい値分布の一例を示す図である。図30において、点線で示した分布103は、第4の実施の形態のしきい値分布を示している。図30は、第4の実施の形態と同様のデータコーディングを行う場合に、第4の実施の形態のしきい値分布103に比べ、消去分布以外のデータ分布の中心電圧を高くすることにより、消去分布とその隣接分布との間隔を広げている。これにより、消去分布とその隣接分布と間の読み出し電圧を用いた読み出しにおけるデータ誤りの確率が下がり、より正確なデータを読み出すことができる。 FIG. 30 is a diagram showing an example of the threshold distribution after programming of each page in the present embodiment. In FIG. 30, the distribution 103 indicated by the dotted line shows the threshold distribution of the fourth embodiment. FIG. 30 shows that, when the same data coding as that of the fourth embodiment is performed, the central voltage of the data distribution other than the erase distribution is made higher than that of the threshold distribution 103 of the fourth embodiment. The interval between the erased distribution and its adjacent distribution is widened. As a result, the probability of data error in reading using the read voltage between the erase distribution and its adjacent distribution is reduced, and more accurate data can be read.

なお、ここでは、第4の実施の形態の変形例について説明したが、Middleページのプログラム後のデータ分布がUpperページプログラム後の最終分布での隣接分布となっている他の実施の形態(第1の実施の形態、第2の実施の形態、第6の実施の形態)についても同様に消去分布以外のデータ分布の中心電圧を高くすることができる。 Although the modification of the fourth embodiment has been described here, another embodiment in which the data distribution after programming of the Middle page is the adjacent distribution of the final distribution after programming of the Upper page is described. Similarly, in the first embodiment, the second embodiment, and the sixth embodiment, the center voltage of the data distribution other than the erase distribution can be increased.

以上のように、Middleページのプログラム後のデータ分布がUpperページプログラム後の最終分布での隣接分布となっている場合に、消去分布以外のデータ分布の中心電圧を高くする、すなわち、消去分布とその隣接分布と間の間隔を他の分布間の間隔より広くするようにした。これにより、消去分布とその隣接分布と間の読み出し電圧を用いた読み出しにおけるデータ誤りの確率が下がり、より正確なデータを読み出すことができる。 As described above, when the data distribution after programming the Middle page is the adjacent distribution in the final distribution after programming the Upper page, the center voltage of the data distribution other than the erase distribution is increased, that is, the erase distribution and The interval between the adjacent distributions is made wider than the interval between other distributions. As a result, the probability of data error in reading using the read voltage between the erase distribution and its adjacent distribution is reduced, and more accurate data can be read.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 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 forms, and various omissions, replacements, and changes can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and gist of the invention, and are also included in the invention described in the claims and the scope equivalent thereto.

1 メモリコントローラ、2 不揮発性メモリ、14 ECC回路、22 制御部、23 NANDメモリセルアレイ。 1 memory controller, 2 non-volatile memory, 14 ECC circuit, 22 control part, 23 NAND memory cell array.

Claims (8)

ワード線と、各々が前記ワード線に接続され3ビットデータを保存可能であり、第1のページから第3のページに対応する複数のメモリセルと、を有する不揮発性メモリと、
前記不揮発性メモリへの書き込みを制御するメモリコントローラと、
を備え、
前記不揮発性メモリは、
前記メモリコントローラから書き込みが要求されたデータを前記メモリセルへ書き込むように制御し、
消去済みの前記メモリセルに前記第1のページの書き込みを行う場合、前記第1のページに書き込むデータが第1の値の場合、前記メモリセルのしきい値電圧が第2のしきい値領域となるようにプログラムし、
前記第1のページの書き込みが行われた前記メモリセルに前記第2のページの書き込みを行う場合、前記メモリセルの前記第1のページに対応する値が第2の値であって前記第2のページに書き込むデータが前記第1の値の場合、前記メモリセルのしきい値電圧が第4のしきい値領域となるようにプログラムし、前記メモリセルの前記第1のページに対応する値が前記第1の値であって前記第2のページに書き込むデータが前記第1の値の場合、前記メモリセルのしきい値電圧が第3のしきい値領域となるようにプログラムし、
前記第2のページの書き込みが行われた前記メモリセルに前記第3のページの書き込みを行う場合、前記メモリセルの前記第1のページに対応する値が前記第2の値で前記第2のページに対応する値が前記第2の値であって前記第3のページに書き込むデータが前記第1の値の場合、前記メモリセルのしきい値電圧が第6のしきい値領域となるようにプログラムし、前記メモリセルの前記第1のページに対応する値が前記第1の値で前記第2のページに対応する値が前記第2の値であって前記第3のページに書き込むデータが前記第1の値の場合前記メモリセルのしきい値電圧を第7のしきい値領域となるようにプログラムし、前記メモリセルの前記第1のページに対応する値が前記第1の値で前記第2のページに対応する値が前記第1の値であって前記第3のページに書き込むデータが前記第1の値の場合前記メモリセルのしきい値電圧を第8のしきい値領域となるようにプログラムし、前記メモリセルの前記第1のページに対応する値が前記第2の値で前記第2のページに対応する値が前記第1の値であって前記第3のページに書き込むデータが前記第1の値の場合前記メモリセルのしきい値電圧を第5のしきい値領域となるようにプログラムし、
前記第(n−1)のしきい値領域の電圧値より前記第nのしきい値領域(nは2以上8以下の整数)の電圧値が大きい制御部を
有するメモリシステム
A word line, each is capable store connected 3-bit data to the word lines, and a nonvolatile memory having a plurality of memory cells corresponding the first page to the third page, and
A memory controller for controlling writing to the nonvolatile memory,
Equipped with
The nonvolatile memory is
Control to write data requested to be written from the memory controller to the memory cell,
When writing the first page to the erased memory cell, when the data written to the first page has a first value, the threshold voltage of the memory cell has a second threshold region. Program to
When the second page is written in the memory cell in which the first page is written, the value corresponding to the first page in the memory cell is the second value and the second value is the second value. If the data to be written to the page is at the first value, the threshold voltage of the memory cell is programmed to be in the fourth threshold region, and the value corresponding to the first page of the memory cell is set. Is the first value and the data to be written to the second page is the first value, the threshold voltage of the memory cell is programmed to be the third threshold region,
When the third page is written to the memory cell in which the second page is written, the value corresponding to the first page of the memory cell is the second value and the second value is the second value. When the value corresponding to the page is the second value and the data to be written to the third page is the first value, the threshold voltage of the memory cell becomes the sixth threshold region. Data written to the third page when the value corresponding to the first page of the memory cell is the first value and the value corresponding to the second page is the second value. Is the first value, the threshold voltage of the memory cell is programmed to be a seventh threshold region, and the value corresponding to the first page of the memory cell is the first value. When the value corresponding to the second page is the first value and the data to be written to the third page is the first value, the threshold voltage of the memory cell is set to the eighth threshold value. A region corresponding to the first page, the value corresponding to the first page is the second value, and the value corresponding to the second page is the first value, and the third value is the third value. If the data to be written to the page is the first value, the threshold voltage of the memory cell is programmed to be the fifth threshold region ,
A control unit in which the voltage value of the nth threshold region (n is an integer of 2 or more and 8 or less) is larger than the voltage value of the (n-1)th threshold region.
A memory system having .
前記第1のページの値を判定するためのしきい値領域の境界の数は3つであり、前記第2のページの値を判定するためのしきい値領域の境界の数は3つであり、前記第3のページの値を判定するためのしきい値領域の境界の数は1つである、The number of boundaries of the threshold region for determining the value of the first page is three, and the number of boundaries of the threshold region for determining the value of the second page is three. And the number of boundaries of the threshold region for determining the value of the third page is one,
請求項1に記載のメモリシステム。 The memory system according to claim 1.
ワード線と、各々が前記ワード線に接続され3ビットデータを保存可能であり、第1のページから第3のページに対応する複数のメモリセルと、を有する不揮発性メモリと、
前記不揮発性メモリへの書き込みを制御するメモリコントローラと、
を備え、
前記不揮発性メモリは、
前記メモリコントローラから書き込みが要求されたデータを前記メモリセルへ書き込むように制御し、
消去済みの前記メモリセルに前記第1のページの書き込みを行う場合、前記第1のページに書き込むデータが第1の値の場合、前記メモリセルのしきい値電圧が第5のしきい値領域となるようにプログラムし、
前記第1のページの書き込みが行われた前記メモリセルに前記第2のページの書き込みを行う場合、前記メモリセルの前記第1のページに対応する値が第2の値であって前記第2のページに書き込むデータが前記第1の値の場合、前記メモリセルのしきい値電圧が第3のしきい値領域となるようにプログラムし、前記メモリセルの前記第1のページに対応する値が前記第1の値であって前記第2のページに書き込むデータが前記第2の値の場合、前記メモリセルのしきい値電圧が第6のしきい値領域となるようにプログラムし、
前記第2のページの書き込みが行われた前記メモリセルに前記第3のページの書き込みを行う場合、前記メモリセルの前記第1のページに対応する値が前記第2の値で前記第2のページに対応する値が前記第2の値であって前記第3のページに書き込むデータが前記第1の値の場合、前記メモリセルのしきい値電圧が第2のしきい値領域となるようにプログラムし、前記メモリセルの前記第1のページに対応する値が前記第2の値で前記第2のページに対応する値が前記第1の値であって前記第3のページに書き込むデータが前記第の値の場合前記メモリセルのしきい値電圧が第4のしきい値領域となるようにプログラムし、前記メモリセルの前記第1のページに対応する値が前記第1の値で前記第2のページに対応する値が前記第1の値であって前記第3のページに書き込むデータが前記第1の値の場合前記メモリセルのしきい値電圧が第8のしきい値領域となるようにプログラムし、前記メモリセルの前記第1のページに対応する値が前記第1の値で前記第2のページに対応する値が前記第2の値であって前記第3のページに書き込むデータが前記第1の値の場合前記メモリセルのしきい値電圧が第7のしきい値領域となるようにプログラムし、
前記第(n−1)のしきい値領域の電圧値より前記第nのしきい値領域(nは2以上8以下の整数)の電圧値が大きい制御部を
有するメモリシステム
A word line, each is capable store connected 3-bit data to the word lines, and a nonvolatile memory having a plurality of memory cells corresponding the first page to the third page, and
A memory controller for controlling writing to the nonvolatile memory,
Equipped with
The nonvolatile memory is
Control to write data requested to be written from the memory controller to the memory cell,
When writing the first page to the erased memory cell, when the data written to the first page has a first value, the threshold voltage of the memory cell is the fifth threshold region. Program to
When the second page is written in the memory cell in which the first page is written, the value corresponding to the first page in the memory cell is the second value and the second value is the second value. If the data to be written to the page is the first value, the threshold voltage of the memory cell is programmed to be the third threshold region, and the value corresponding to the first page of the memory cell is set. Is the first value and the data to be written to the second page is the second value, programming is performed such that the threshold voltage of the memory cell is in the sixth threshold region,
When the third page is written to the memory cell in which the second page is written, the value corresponding to the first page of the memory cell is the second value and the second value is the second value. When the value corresponding to the page is the second value and the data to be written in the third page is the first value, the threshold voltage of the memory cell is set to the second threshold region. Data to be written to the third page, wherein the value corresponding to the first page of the memory cell is the second value and the value corresponding to the second page is the first value. Is the second value, the threshold voltage of the memory cell is programmed to be in the fourth threshold region, and the value corresponding to the first page of the memory cell is the first value. When the value corresponding to the second page is the first value and the data to be written to the third page is the first value, the threshold voltage of the memory cell is the eighth threshold value. A region corresponding to the first page, the value corresponding to the first page is the first value and the value corresponding to the second page is the second value, and the third value is the third value. When the data to be written to the page has the first value, the threshold voltage of the memory cell is programmed to be the seventh threshold region ,
A control unit in which the voltage value of the nth threshold region (n is an integer of 2 or more and 8 or less) is larger than the voltage value of the (n-1)th threshold region.
A memory system having .
ワード線と、各々が前記ワード線に接続され3ビットデータを保存可能であり、第1のページから第3のページに対応する複数のメモリセルと、を有する不揮発性メモリと、
前記不揮発性メモリへの書き込みを制御するメモリコントローラと、
を備え、
前記不揮発性メモリは、
前記メモリコントローラから書き込みが要求されたデータを前記メモリセルへ書き込むように制御し、
消去済みの前記メモリセルに前記第1のページの書き込みを行う場合、前記第1のページに書き込むデータが第1の値の場合、前記メモリセルのしきい値電圧が第5のしきい値領域となるようにプログラムし、
前記第1のページの書き込みが行われた前記メモリセルに前記第2のページの書き込みを行う場合、前記メモリセルの前記第1のページに対応する値が第2の値であって前記第2のページに書き込むデータが前記第1の値の場合、前記メモリセルのしきい値電圧が第2のしきい値領域となるようにプログラムし、前記メモリセルの前記第1のページに対応する値が前記第1の値であって前記第2のページに書き込むデータが前記第1の値の場合、前記メモリセルのしきい値電圧が第7のしきい値領域となるようにプログラムし、
前記第2のページの書き込みが行われた前記メモリセルに前記第3のページの書き込みを行う場合、前記メモリセルの前記第1のページに対応する値が前記第2の値で前記第2のページに対応する値が前記第2の値であって前記第3のページに書き込むデータが前記第1の値の場合、前記メモリセルのしきい値電圧を第4のしきい値領域となるようにプログラムし、前記メモリセルの前記第1のページに対応する値が前記第2の値で前記第2のページに対応する値が前記第1の値であって前記第3のページに書き込むデータが前記第1の値の場合前記メモリセルのしきい値電圧が第3のしきい値領域となるようにプログラムし、前記メモリセルの前記第1のページに対応する値が前記第1の値で前記第2のページに対応する値が前記第2の値であって前記第3のページに書き込むデータが前記第2の値の場合前記メモリセルのしきい値電圧が第6のしきい値領域となるようにプログラムし、前記メモリセルの前記第1のページに対応する値が前記第1の値で前記第2のページに対応する値が前記第1の値であって前記第3のページに書き込むデータが前記第1の値の場合前記メモリセルのしきい値電圧が第8のしきい値領域となるようにプログラムし、
前記第(n−1)のしきい値領域の電圧値より前記第nのしきい値領域(nは2以上8以下の整数)の電圧値が大きい制御部を
有するメモリシステム
A word line, each is capable store connected 3-bit data to the word lines, and a nonvolatile memory having a plurality of memory cells corresponding the first page to the third page, and
A memory controller for controlling writing to the nonvolatile memory,
Equipped with
The nonvolatile memory is
Control to write data requested to be written from the memory controller to the memory cell,
When writing the first page to the erased memory cell, when the data written to the first page has a first value, the threshold voltage of the memory cell is the fifth threshold region. Program to
When the second page is written in the memory cell in which the first page is written, the value corresponding to the first page in the memory cell is the second value and the second value is the second value. If the data to be written to the page is the first value, the threshold voltage of the memory cell is programmed to be in the second threshold region, and the value corresponding to the first page of the memory cell is set. Is the first value and the data to be written to the second page is the first value, the threshold voltage of the memory cell is programmed to be the seventh threshold region,
When the third page is written to the memory cell in which the second page is written, the value corresponding to the first page of the memory cell is the second value and the second value is the second value. When the value corresponding to the page is the second value and the data to be written in the third page is the first value, the threshold voltage of the memory cell is set to the fourth threshold region. Data to be written to the third page, wherein the value corresponding to the first page of the memory cell is the second value and the value corresponding to the second page is the first value. Is the first value, programming is performed such that the threshold voltage of the memory cell is in the third threshold region, and the value corresponding to the first page of the memory cell is the first value. When the value corresponding to the second page is the second value and the data written to the third page is the second value, the threshold voltage of the memory cell is the sixth threshold value. A region corresponding to the first page, the value corresponding to the first page is the first value, and the value corresponding to the second page is the first value, and the third value is the third value. When the data to be written to the page has the first value, the threshold voltage of the memory cell is programmed to be the eighth threshold region ,
A control unit in which the voltage value of the nth threshold region (n is an integer of 2 or more and 8 or less) is larger than the voltage value of the (n-1)th threshold region.
A memory system having .
ワード線と、各々が前記ワード線に接続され3ビットデータを保存可能であり、第1のページから第3のページに対応する複数のメモリセルと、を有する不揮発性メモリと、
前記不揮発性メモリへの書き込みを制御するメモリコントローラと、
を備え、
前記不揮発性メモリは、
前記メモリコントローラから書き込みが要求されたデータを前記メモリセルへ書き込むように制御し、
消去済みの前記メモリセルに前記第1のページの書き込みを行う場合、前記第1のページに書き込むデータが第1の値の場合、前記メモリセルのしきい値電圧が第3のしきい値領域となるようにプログラムし、
前記第1のページの書き込みが行われた前記メモリセルに前記第2のページの書き込みを行う場合、前記メモリセルの前記第1のページに対応する値が第2の値であって前記第2のページに書き込むデータが前記第1の値の場合、前記メモリセルのしきい値電圧が第6のしきい値領域となるようにプログラムし、前記メモリセルの前記第1のページに対応する値が前記第1の値であって前記第2のページに書き込むデータが前記第1の値の場合、前記メモリセルのしきい値電圧が第5のしきい値領域となるようにプログラムし、
前記第2のページの書き込みが行われた前記メモリセルに前記第3のページの書き込みを行う場合、前記メモリセルの前記第1のページに対応する値が前記第2の値で前記第2のページに対応する値が前記第2の値であって前記第3のページに書き込むデータが前記第1の値の場合、前記メモリセルのしきい値電圧が第2のしきい値領域となるようにプログラムし、前記メモリセルの前記第1のページに対応する値が前記第1の値で前記第2のページに対応する値が前記第2の値であって前記第3のページに書き込むデータが前記第2の値の場合前記メモリセルのしきい値電圧が第4のしきい値領域となるようにプログラムし、前記メモリセルの前記第1のページに対応する値が前記第1の値で前記第2のページに対応する値が前記第1の値であって前記第3のページに書き込むデータが前記第1の値の場合前記メモリセルのしきい値電圧が第8のしきい値領域となるようにプログラムし、前記メモリセルの前記第1のページに対応する値が前記第2の値で前記第2のページに対応する値が前記第1の値であって前記第3のページに書き込むデータが前記第1の値の場合前記メモリセルのしきい値電圧が第7のしきい値領域となるようにプログラムし、
前記第(n−1)のしきい値領域の電圧値より前記第nのしきい値領域(nは2以上8以下の整数)の電圧値が大きい制御部を
有するメモリシステム
A word line, each is capable store connected 3-bit data to the word lines, and a nonvolatile memory having a plurality of memory cells corresponding the first page to the third page, and
A memory controller for controlling writing to the nonvolatile memory,
Equipped with
The nonvolatile memory is
Control to write data requested to be written from the memory controller to the memory cell,
When writing the first page to the erased memory cell, when the data written to the first page has a first value, the threshold voltage of the memory cell is the third threshold region. Program to
When the second page is written in the memory cell in which the first page is written, the value corresponding to the first page in the memory cell is the second value and the second value is the second value. If the data to be written to the page is the first value, the threshold voltage of the memory cell is programmed to be the sixth threshold region, and a value corresponding to the first page of the memory cell is programmed. Is the first value and the data to be written to the second page is the first value, the threshold voltage of the memory cell is programmed to be the fifth threshold region.
When the third page is written to the memory cell in which the second page is written, the value corresponding to the first page of the memory cell is the second value and the second value is the second value. When the value corresponding to the page is the second value and the data to be written in the third page is the first value, the threshold voltage of the memory cell is set to the second threshold region. Data written to the third page when the value corresponding to the first page of the memory cell is the first value and the value corresponding to the second page is the second value. Is the second value, the threshold voltage of the memory cell is programmed to be in the fourth threshold region, and the value corresponding to the first page of the memory cell is the first value. When the value corresponding to the second page is the first value and the data to be written to the third page is the first value, the threshold voltage of the memory cell is the eighth threshold value. A region corresponding to the first page, the value corresponding to the first page is the second value, and the value corresponding to the second page is the first value, and the third value is the third value. When the data to be written to the page has the first value, the threshold voltage of the memory cell is programmed to be the seventh threshold region ,
A control unit in which the voltage value of the nth threshold region (n is an integer of 2 or more and 8 or less) is larger than the voltage value of the (n-1)th threshold region.
A memory system having .
ワード線と、各々が前記ワード線に接続され3ビットデータを保存可能であり、第1のページから第3のページに対応する複数のメモリセルと、を有する不揮発性メモリと、
前記不揮発性メモリへの書き込みを制御するメモリコントローラと、
を備え、
前記不揮発性メモリは、
前記メモリコントローラから書き込みが要求されたデータを前記メモリセルへ書き込むように制御し、
消去済みの前記メモリセルに前記第1のページの書き込みを行う場合、前記第1のページに書き込むデータが第1の値の場合、前記メモリセルのしきい値電圧が第2のしきい値領域となるようにプログラムし、
前記第1のページの書き込みが行われた前記メモリセルに前記第2のページの書き込みを行う場合、前記メモリセルの前記第1のページに対応する値が第2の値であって前記第2のページに書き込むデータが前記第1の値の場合、前記メモリセルのしきい値電圧が第5のしきい値領域となるようにプログラムし、前記メモリセルの前記第1のページに対応する値が前記第1の値であって前記第2のページに書き込むデータが前記第1の値の場合、前記メモリセルのしきい値電圧が第7のしきい値領域となるようにプログラムし、
前記第2のページの書き込みが行われた前記メモリセルに前記第3のページの書き込みを行う場合、前記メモリセルの前記第1のページに対応する値が前記第2の値で前記第2のページに対応する値が前記第2の値であって前記第3のページに書き込むデータが前記第1の値の場合、前記メモリセルのしきい値電圧が第4のしきい値領域となるようにプログラムし、前記メモリセルの前記第1のページに対応する値が前記第1の値で前記第2のページに対応する値が前記第2の値であって前記第3のページに書き込むデータが前記第1の値の場合前記メモリセルのしきい値電圧が第3のしきい値領域となるようにプログラムし、前記メモリセルの前記第1のページに対応する値が前記第2の値で前記第2のページに対応する値が前記第1の値であって前記第3のページに書き込むデータが前記第2の値の場合前記メモリセルのしきい値電圧が第6のしきい値領域となるようにプログラムし、前記メモリセルの前記第1のページに対応する値が前記第1の値で前記第2のページに対応する値が前記第1の値であって前記第3のページに書き込むデータが前記第1の値の場合前記メモリセルのしきい値電圧が第8のしきい値領域となるようにプログラムし、
前記第(n−1)のしきい値領域の電圧値より前記第nのしきい値領域(nは2以上8以下の整数)の電圧値が大きい制御部を
有するメモリシステム
A word line, each is capable store connected 3-bit data to the word lines, and a nonvolatile memory having a plurality of memory cells corresponding the first page to the third page, and
A memory controller for controlling writing to the nonvolatile memory,
Equipped with
The nonvolatile memory is
Control to write data requested to be written from the memory controller to the memory cell,
When writing the first page to the erased memory cell, when the data written to the first page has a first value, the threshold voltage of the memory cell has a second threshold region. Program to
When the second page is written in the memory cell in which the first page is written, the value corresponding to the first page in the memory cell is the second value and the second value is the second value. If the data to be written to the page is at the first value, the threshold voltage of the memory cell is programmed to be in the fifth threshold region, and the value corresponding to the first page of the memory cell is set. Is the first value and the data to be written to the second page is the first value, the threshold voltage of the memory cell is programmed to be the seventh threshold region,
When the third page is written to the memory cell in which the second page is written, the value corresponding to the first page of the memory cell is the second value and the second value is the second value. When the value corresponding to the page is the second value and the data to be written to the third page is the first value, the threshold voltage of the memory cell becomes the fourth threshold region. Data written to the third page when the value corresponding to the first page of the memory cell is the first value and the value corresponding to the second page is the second value. Is the first value, programming is performed such that the threshold voltage of the memory cell is in the third threshold region, and the value corresponding to the first page of the memory cell is the second value. When the value corresponding to the second page is the first value and the data to be written to the third page is the second value, the threshold voltage of the memory cell is the sixth threshold value. A region corresponding to the first page, the value corresponding to the first page is the first value, and the value corresponding to the second page is the first value, and the third value is the third value. When the data to be written to the page has the first value, the threshold voltage of the memory cell is programmed to be the eighth threshold region ,
A control unit in which the voltage value of the nth threshold region (n is an integer of 2 or more and 8 or less) is larger than the voltage value of the (n-1)th threshold region.
A memory system having .
前記第1の値は0であり、前記第2の値は1である請求項1から6のいずれか1つに記載のメモリシステム7. The memory system according to claim 1, wherein the first value is 0 and the second value is 1. 前記第1のページの値を判定するためのしきい値領域の境界の数、前記第2のページの値を判定するためのしきい値領域の境界の数、前記第3のページの値を判定するためのしきい値領域の境界の数のうち最大の個数は3個である請求項1から7のいずれか1つに記載のメモリシステムThe number of boundaries of the threshold region for determining the value of the first page, the number of boundaries of the threshold region for determining the value of the second page, the value of the third page 8. The memory system according to claim 1, wherein the maximum number of boundaries of the threshold region for determination is three.
JP2019003580A 2014-03-18 2019-01-11 Memory system Active JP6710298B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014055408 2014-03-18
JP2014055408 2014-03-18

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017235462A Division JP6470389B2 (en) 2014-03-18 2017-12-07 Control method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020089801A Division JP2020129428A (en) 2014-03-18 2020-05-22 Memory system

Publications (2)

Publication Number Publication Date
JP2019053814A JP2019053814A (en) 2019-04-04
JP6710298B2 true JP6710298B2 (en) 2020-06-17

Family

ID=61567522

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2017235462A Active JP6470389B2 (en) 2014-03-18 2017-12-07 Control method
JP2019003580A Active JP6710298B2 (en) 2014-03-18 2019-01-11 Memory system
JP2020089801A Pending JP2020129428A (en) 2014-03-18 2020-05-22 Memory system

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017235462A Active JP6470389B2 (en) 2014-03-18 2017-12-07 Control method

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2020089801A Pending JP2020129428A (en) 2014-03-18 2020-05-22 Memory system

Country Status (1)

Country Link
JP (3) JP6470389B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6262063B2 (en) 2014-03-18 2018-01-17 東芝メモリ株式会社 Nonvolatile memory and writing method
JP6916129B2 (en) 2018-03-02 2021-08-11 株式会社神戸製鋼所 Galvanized steel sheet for hot stamping and its manufacturing method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4768298B2 (en) * 2005-03-28 2011-09-07 株式会社東芝 Nonvolatile semiconductor memory device
JP2009059453A (en) * 2007-09-03 2009-03-19 Toshiba Corp Nonvolatile semiconductor memory device and memory system
US8180994B2 (en) * 2009-07-08 2012-05-15 Sandisk Technologies Inc. Optimized page programming order for non-volatile memory
US8625345B2 (en) * 2011-07-27 2014-01-07 Micron Technology, Inc. Determining and transferring data from a memory array
JP6262063B2 (en) * 2014-03-18 2018-01-17 東芝メモリ株式会社 Nonvolatile memory and writing method

Also Published As

Publication number Publication date
JP2019053814A (en) 2019-04-04
JP2018037132A (en) 2018-03-08
JP2020129428A (en) 2020-08-27
JP6470389B2 (en) 2019-02-13

Similar Documents

Publication Publication Date Title
JP6262063B2 (en) Nonvolatile memory and writing method
US8582360B2 (en) Read method for nonvolatile memory device, and data storage system using the same
KR101423052B1 (en) Memory device and method of controlling read level
KR102048765B1 (en) Method of operating memory system and memory system
JP2011165305A (en) Nonvolatile memory device and memory system containing the same
US9230664B2 (en) Nonvolatile memory and data writing method
KR20100032704A (en) Memory device and programming method thereof
US9171629B1 (en) Storage device, memory controller and memory control method
US10210042B2 (en) Memory system
JP2020047330A (en) Semiconductor storage device
JP6710298B2 (en) Memory system
US9865338B2 (en) Memory system and method of controlling nonvolatile memory by converting write data written to a page
KR20210062845A (en) Method of controlling operation of nonvolatile memory device and data converter for performing the same
KR101437103B1 (en) Memory device and memory data read method
WO2015155860A1 (en) Information storage device and method for controlling information storage device
JP2013045428A (en) Memory device and method of controlling memory device
US20150254131A1 (en) Memory controller, storage device and memory control method
JP2011198408A (en) Nonvolatile semiconductor memory device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191008

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200526

R150 Certificate of patent or registration of utility model

Ref document number: 6710298

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150