JP4686520B2 - Data storage system - Google Patents

Data storage system Download PDF

Info

Publication number
JP4686520B2
JP4686520B2 JP2007241540A JP2007241540A JP4686520B2 JP 4686520 B2 JP4686520 B2 JP 4686520B2 JP 2007241540 A JP2007241540 A JP 2007241540A JP 2007241540 A JP2007241540 A JP 2007241540A JP 4686520 B2 JP4686520 B2 JP 4686520B2
Authority
JP
Japan
Prior art keywords
spare area
error
bit
data
memory cell
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007241540A
Other languages
Japanese (ja)
Other versions
JP2008047283A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2007241540A priority Critical patent/JP4686520B2/en
Publication of JP2008047283A publication Critical patent/JP2008047283A/en
Application granted granted Critical
Publication of JP4686520B2 publication Critical patent/JP4686520B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明はデータ記憶システムおよびその設定方法に係り、特に、エラー検出・訂正ユニットを有した半導体メモリを含むデータ記憶システムに関する。   The present invention relates to a data storage system and a setting method thereof, and more particularly to a data storage system including a semiconductor memory having an error detection / correction unit.

半導体メモリの一つとして、情報を電荷蓄積層中の電荷量に応じて記憶し、電荷量に応じたMOSFETのコンダクタンス変化を測定し、情報を読み出す不揮発性半導体メモリが開発されている。いわゆるEEPROMである。   As one type of semiconductor memory, a nonvolatile semiconductor memory that stores information according to the amount of charge in the charge storage layer, measures a change in conductance of the MOSFET according to the amount of charge, and reads the information has been developed. This is a so-called EEPROM.

EEPROMのデータ読み出し方式は、例えば、DRAMと異なり、データの破壊を伴わない、いわゆる非破壊読み出し方式である。つまり、EEPROMは、データを破壊することなく、複数回のデータ読み出しが可能である。しかし、書き込み動作及び消去動作を繰り返していると、
(1) EEPROMセルの、例えば、トンネル絶縁膜が劣化し、リーク電流が増え、電荷保持特性が悪化する、
(2) 電荷が、トンネル絶縁膜中にトラップされ、EEPROMセルのしきい値が、予め設定された範囲から外れる、
という事情を招き、データが破壊されてしまう。いわゆるビット破壊である。EEPROMの記憶容量が大きくなるほど、EEPROMが、ビット破壊を生じたビットを含む確率(不良ビット発生率)が高くなる。たとえ、書き込み回数及び消去回数を一定としてもである。
The EEPROM data reading method is a so-called non-destructive reading method that does not cause data destruction, unlike, for example, a DRAM. That is, the EEPROM can read data multiple times without destroying the data. However, if the write and erase operations are repeated,
(1) In the EEPROM cell, for example, the tunnel insulating film is deteriorated, the leakage current is increased, and the charge retention characteristic is deteriorated.
(2) The charge is trapped in the tunnel insulating film, and the threshold value of the EEPROM cell deviates from the preset range.
The data will be destroyed. This is so-called bit destruction. As the storage capacity of the EEPROM increases, the probability that the EEPROM includes bits that have undergone bit destruction (failure bit occurrence rate) increases. Even if the number of times of writing and erasing is constant.

ビット破壊対策の一例は、例えば、特許文献1に記載されている。特許文献1は、エラー検出・訂正ユニット(以後、Error Correction Code回路;ECC回路と呼ぶ)を用いて、電源投入時及び遮断時などの外部I/Oからのデータを読み出す必要が無い時に、複数のページからなるメモリクラスタを読み出して不良ビットを検出し、エラー基準値を超えたエラーが検出された場合には、ECCの対象となったメモリクラスタの全データを読み出し、別の記憶領域に書き込む。これにより、外部インターフェースから見た不良ビット発生率を減少させることができる。
特許第3176019号公報
An example of countermeasures against bit destruction is described in Patent Document 1, for example. Patent Document 1 uses a plurality of error detection / correction units (hereinafter referred to as error correction code circuits; referred to as ECC circuits) when there is no need to read data from an external I / O, such as when power is turned on or off. When the memory cluster consisting of the pages is read and a defective bit is detected and an error exceeding the error reference value is detected, all data of the memory cluster subject to ECC is read and written to another storage area. . Thereby, the defective bit generation rate seen from the external interface can be reduced.
Japanese Patent No. 3176019

本発明の目的は、外部インターフェースから見た不良ビット発生率を、さらに減少させることができるデータ記憶システムおよびその設定方法を提供することにある。   An object of the present invention is to provide a data storage system and a setting method thereof that can further reduce the rate of occurrence of defective bits as viewed from an external interface.

この発明の第1態様に係るデータ記憶システムは、複数個のメモリセルブロックを有し
、これらメモリセルブロックのいくつかに接続されるページを含む非スペア領域と、予め
データがある値に揃った複数個のスペアメモリセルブロックを有し、これらスペアメモリ
セルブロックのいくつかに接続されるページを含むスペア領域と、複数個のメモリセルブ
ロックを有し、これらメモリセルブロックのいくつかに接続されるページを含み、前記非
スペア領域のブロックアドレスを記憶するFile Allocation Table領域と、前記非スペア
領域内のページからデータを読み出したときに、少なくとも2ビットのデータ誤りを検出
し、読み出したページにおける誤りビットの数を読み出したページ毎に判定する判定回路
とを具備し、前記判定回路による判定結果が2ビット以上の場合に、前記読み出したペー
ジの内容を誤り訂正し、前記スペア領域内のページに書き込み、前記スペア領域のブロッ
クアドレスは、書き込み状態ビットが消去状態ビットよりも多く含むように設定され、書
き込み状態の論理値を“1”と、消去状態の論理値を“0”と定義した場合、前記非スペ
ア領域のブロックアドレスの論理反転と前記スペア領域のブロックアドレスとの論理和を
取り、その結果論理値1ビット“0”が含まれていない場合、前記File Allocatio
n Table領域に記録された前記非スペア領域のブロックアドレスに前記スペア領域のブロ
ックアドレスを追加書き込みすることにより“0”のビットを“1”に変更し、消去を必
要としないことを特徴とする。

The data storage system according to the first aspect of the present invention has a plurality of memory cell blocks, a non-spare area including pages connected to some of these memory cell blocks, and data in a certain value in advance. A spare area including a plurality of spare memory cell blocks, including a page connected to some of the spare memory cell blocks, and a plurality of memory cell blocks connected to some of the memory cell blocks. When data is read from the page in the non-spare area and the file allocation table area for storing the block address of the non-spare area, at least 2-bit data error is detected and A determination circuit for determining the number of error bits for each read page. If the read is more than 2 bits, the content of the read page is error-corrected and written to the page in the spare area, and the block address of the spare area is set so that the write state bit includes more than the erase state bit If the logical value of the write state is defined as “1” and the logical value of the erase state is defined as “0”, the logical inversion of the block address of the non-spare area and the block address of the spare area are taken. , if the 1-bit to a logical value of results does not include "0", the File Allocatio
n The block of the spare area is added to the block address of the non-spare area recorded in the Table area.
The bit of "0" by adding write Kkuadoresu "1" was changed to, characterized in that it does not require erasure.

この発明の第態様に係るデータ記憶システムは、複数個のメモリセルブロックを有し
、これらメモリセルブロックのいくつかに接続されるページを含む非スペア領域と、予め
データがある値に揃った複数個のスペアメモリセルブロックを有し、これらスペアメモリ
セルブロックのいくつかに接続されるページを含むスペア領域と、複数個のメモリセルブ
ロックを有し、これらメモリセルブロックのいくつかに接続されるページを含み、前記非
スペア領域のブロックアドレスを記憶するFile Allocation Table領域と、前記非スペア
領域内のページからデータを読み出したときに、少なくとも2ビットのデータ誤りを検出
し、読み出したページにおける誤りビットの数を読み出したページ毎に判定する判定回路
とを具備し、前記判定回路による判定結果が2ビット以上の場合に、前記読み出したペー
ジの内容を誤り訂正し、前記スペア領域内のページに書き込み、前記スペア領域のブロッ
クアドレスは、書き込み状態ビットが消去状態ビットよりも多く含むように設定され、書
き込み状態の論理値を“1”と、消去状態の論理値を“0”と定義した場合、前記非スペ
ア領域のブロックアドレスの論理反転と前記スペア領域のブロックアドレスとの論理和を
取り、その結果論理値1ビット“0”が含まれていない場合、前記File Allocatio
n Table領域に記録された前記非スペア領域のブロックアドレスに前記スペア領域のブロ
ックアドレスを追加書き込みすることにより“0”のビットを“1”に変更し、消去を必
要としないデータ記憶システムであって、1ページ当たりの情報ビットの数をn、前記1
ページ内で誤り訂正できる最大ビット数をt、並びにmを{2m-1−t×(m−1)−1
}<n≦(2m−t×m−1)を満たす自然数としたとき、前記1ページ内のメモリセル
の数は、(n+t×m)以上であることを特徴とする。

The data storage system according to the second aspect of the present invention has a plurality of memory cell blocks, a non-spare area including pages connected to some of these memory cell blocks, and data in a certain value in advance. A spare area including a plurality of spare memory cell blocks, including a page connected to some of the spare memory cell blocks, and a plurality of memory cell blocks connected to some of the memory cell blocks. When data is read from the page in the non-spare area and the file allocation table area for storing the block address of the non-spare area, at least 2-bit data error is detected and A determination circuit for determining the number of error bits for each read page. If the read is more than 2 bits, the content of the read page is error-corrected and written to the page in the spare area, and the block address of the spare area is set so that the write state bit includes more than the erase state bit If the logical value of the write state is defined as “1” and the logical value of the erase state is defined as “0”, the logical inversion of the block address of the non-spare area and the block address of the spare area are taken. , if the 1-bit to a logical value of results does not include "0", the File Allocatio
n The block of the spare area is added to the block address of the non-spare area recorded in the Table area.
In this data storage system, the bit of “ 0” is changed to “1” by additionally writing the data address, and no erasure is required.
The maximum number of bits that can be corrected in the page is t, and m is {2 m−1 −t × (m−1) −1.
} <N ≦ (2 m −t × m−1), where the number of memory cells in one page is (n + t × m) or more.

この発明の第態様に係るデータ記憶システムは、複数個のメモリセルブロックを有し
、これらメモリセルブロックのいくつかに接続されるページを含む非スペア領域と、予め
データがある値に揃った複数個のスペアメモリセルブロックを有し、これらスペアメモリ
セルブロックのいくつかに接続されるページを含むスペア領域と、複数個のメモリセルブ
ロックを有し、これらメモリセルブロックのいくつかに接続されるページを含み、前記非
スペア領域のブロックアドレスを記憶するFile Allocation Table領域と、前記非スペア
領域内のページからデータを読み出したときに、少なくとも2ビットのデータ誤りを検出
し、読み出したページにおける誤りビットの数を読み出したページ毎に判定する判定回路
とを具備し、前記判定回路による判定結果が2ビット以上の場合に、前記読み出したペー
ジの内容を誤り訂正し、前記スペア領域内のページに書き込み、前記スペア領域のブロッ
クアドレスは、書き込み状態ビットが消去状態ビットよりも多く含むように設定され、書
き込み状態の論理値を“1”と、消去状態の論理値を“0”と定義した場合、前記非スペ
ア領域のブロックアドレスの論理反転と前記スペア領域のブロックアドレスとの論理和を
取り、その結果論理値1ビット“0”が含まれていない場合、前記File Allocatio
n Table領域に記録された前記非スペア領域のブロックアドレスに前記スペア領域のブロ
ックアドレスを追加書き込みすることにより“0”のビットを“1”に変更し、消去を必
要としないデータ記憶システムであって、前記非スペア領域及び前記スペア領域は、それ
ぞれ複数のページで同時に消去動作が行われることを特徴とする。

The data storage system according to the third aspect of the present invention has a plurality of memory cell blocks, and a non-spare area including pages connected to some of these memory cell blocks, and data is pre-arranged to a certain value in advance. A spare area including a plurality of spare memory cell blocks, including a page connected to some of the spare memory cell blocks, and a plurality of memory cell blocks connected to some of the memory cell blocks. When data is read from the page in the non-spare area and the file allocation table area for storing the block address of the non-spare area, at least 2-bit data error is detected and A determination circuit for determining the number of error bits for each read page. If the read is more than 2 bits, the content of the read page is error-corrected and written to the page in the spare area, and the block address of the spare area is set so that the write state bit includes more than the erase state bit If the logical value of the write state is defined as “1” and the logical value of the erase state is defined as “0”, the logical inversion of the block address of the non-spare area and the block address of the spare area are taken. , if the 1-bit to a logical value of results does not include "0", the File Allocatio
n The block of the spare area is added to the block address of the non-spare area recorded in the Table area.
A data storage system in which the bit of “ 0” is changed to “1” by additionally writing a lock address and does not require erasing, and the non-spare area and the spare area are simultaneously erased on a plurality of pages. Is performed.

本発明によれば、外部インターフェースから見た不良ビット発生率を、さらに減少させることができるデータ記憶システムを提供できる。   ADVANTAGE OF THE INVENTION According to this invention, the data storage system which can further reduce the bad bit generation rate seen from the external interface can be provided.

特許文献1には、エラー基準値をどのように選択したら良いかについて、具体的記述が無い。ここで、ECC回路が救済できるビット数を大幅に増やせば、外部インターフェースから見た不良ビット発生率は減少する。しかしながら、ECC回路が救済できるビット数、つまり、誤り訂正可能なビット数kを増やすと、不良を生じたビットの位置を計算するのに、例えば、k次の(ガロア体上の)誤り位置多項式の解を求める必要が生じる。このため、計算回路が複雑化し、計算時間や計算回路の面積が急増する。   Patent Document 1 does not specifically describe how to select the error reference value. Here, if the number of bits that can be relieved by the ECC circuit is significantly increased, the defective bit generation rate viewed from the external interface is reduced. However, when the number of bits that can be relieved by the ECC circuit, that is, the number k of errors that can be corrected, is increased, for example, a k-th order error position polynomial (on the Galois field) is used to calculate the position of the bit that caused the failure. It is necessary to find a solution of For this reason, the calculation circuit becomes complicated, and the calculation time and the area of the calculation circuit increase rapidly.

さらに、BCH(Bose-Chaudhuri-Hocquenghem)符号の場合には、ECCビットを含む符号長を“n”として、ECCビットが、nビットのどこが誤りビットであるかの情報を含む必要がある。このため、ECCで救済できるビットが1ビット増えると、少なくとも、
log2(n)個
の小数点を切り上げたビット数だけ、ECCが使う検査ビット数が増大する。よって、符号長が長くなってしまい、結果、チップ面積が増加したり、ユーザが使用できるデータビット数が減少したりする。
Further, in the case of a BCH (Bose-Chaudhuri-Hocquenghem) code, the code length including the ECC bits is assumed to be “n”, and the ECC bits need to include information on where n bits are error bits. Therefore, when the number of bits that can be relieved by ECC increases by one bit, at least
log 2 (n) The number of check bits used by the ECC increases by the number of bits rounded up. Therefore, the code length becomes long, and as a result, the chip area increases or the number of data bits that can be used by the user decreases.

また、特許文献1には、システムの具体的構成、例えば、空き記憶領域の構成や、記憶領域をどの程度準備すれば、チップ面積の増大を抑えつつ外部インターフェースから見た不良ビット発生率を抑制できるか、あるいはどの程度効果があるかについての開示が無い。   Further, Patent Document 1 discloses a specific configuration of a system, for example, a configuration of a free storage area, and how much storage area is prepared, and suppresses the generation rate of defective bits as viewed from an external interface while suppressing an increase in chip area. There is no disclosure about how it can be done or how effective.

さらに、特許文献1には、どのように空き記憶領域を準備し、置き換えたら高速に置き換えができるかについての開示が無い。   Furthermore, Patent Document 1 does not disclose how to prepare a free storage area and replace it at a high speed.

また、空き記憶領域はデータ記憶領域と同じ領域として、両者を含む初期容量を、ユーザの使用できるデータ記憶領域として保証している。このため、上記ECC回路が救済できるビット数を越えた不良が生じると、ユーザの使用できるデータ記憶領域が実質減ってしまい、どのくらい減ってしまうかの保証も困難である。   The free storage area is the same area as the data storage area, and the initial capacity including both is guaranteed as a data storage area usable by the user. For this reason, when a defect exceeding the number of bits that can be relieved by the ECC circuit occurs, the data storage area that can be used by the user is substantially reduced, and it is difficult to guarantee how much it is reduced.

この発明の実施形態に開示される不揮発性半導体記憶装置は、概略、ECC(error correcting code)を分析し、1ビットより多い規定数以上の不良ビットを生じたページを、予備ページに置き換える。このようにして、ECC回路の検査ビット数を増加させること無しに、規定数以上の不良ビットが生じた場合でも、外部インターフェースから見た不良ビット発生率を低減する。さらに、予備ページに置き換えるのに必要な処理時間を削減する。   In general, the nonvolatile semiconductor memory device disclosed in the embodiment of the present invention analyzes an error correcting code (ECC) and replaces a page in which a defective bit of a specified number greater than 1 bit is generated with a spare page. In this way, even when the number of defective bits exceeds the specified number without increasing the number of inspection bits of the ECC circuit, the defective bit generation rate viewed from the external interface is reduced. Furthermore, the processing time required to replace the spare page is reduced.

特に、空き記憶領域として準備する数について、ある数以上、予めスペア領域として用意する。これにより、ユーザの使用できるデータ記憶領域をライフエンドまで保証しつつ、外部インターフェースから見た不良ビット発生率を抑制できるCriticality(臨界性)を生じさせ、高速置き換えを可能とした半導体メモリを含むデータ記憶システムが実現される。   In particular, a certain number or more of spare areas are prepared in advance as spare areas. This guarantees the data storage area that can be used by the user to the end of the life, while creating criticality that can control the rate of defective bits seen from the external interface, and data including semiconductor memory that enables high-speed replacement. A storage system is realized.

以下、この発明の実施形態のいくつかを、図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。   Several embodiments of the present invention will be described below with reference to the drawings. In the description, common parts are denoted by common reference symbols throughout the drawings.

(第1実施形態)
図1はこの発明の第1実施形態に係るデータ記憶システムの構成例を示すブロック図、図2はこの発明の第1実施形態に係るデータ記憶システムのセルアレイ部、及びセンスアンプ部の構成例を示すブロック図である。図1では、データ選択線(WL)、ブロック選択線(SSL、GSL)は省略する。
(First embodiment)
FIG. 1 is a block diagram showing a configuration example of a data storage system according to the first embodiment of the present invention. FIG. 2 shows a configuration example of a cell array unit and a sense amplifier unit of the data storage system according to the first embodiment of the present invention. FIG. In FIG. 1, the data selection lines (WL) and the block selection lines (SSL, GSL) are omitted.

なお、本明細書では、メモリセルブロックとは、単一または複数のページを含み、同時に消去動作が行われるメモリセルの単位を示す。ここで、例えば、電荷蓄積層を有したフラッシュメモリセルのように、1ページのメモリセルの消去時間が1ページのメモリセルの書き込み時間よりも長い場合には、メモリセルブロックは複数のページを含み、複数のページで一度に消去動作が行われるように構成されても良い。このように構成すると、1ブロックあたりの書き込み時間と1ブロックあたりの消去時間とを同程度にすることができ、システムから見た書き込みデータ転送速度、及び消去速度のパフォーマンスを向上できる。メモリセルブロック49の具体的構成例を以下に述べる。   Note that in this specification, a memory cell block indicates a unit of a memory cell including a single page or a plurality of pages and simultaneously performing an erase operation. Here, for example, when the erase time of one page of memory cells is longer than the write time of one page of memory cells, such as a flash memory cell having a charge storage layer, the memory cell block includes a plurality of pages. In addition, an erasing operation may be performed on a plurality of pages at once. With this configuration, the writing time per block and the erasing time per block can be made comparable, and the performance of the writing data transfer rate and the erasing rate seen from the system can be improved. A specific configuration example of the memory cell block 49 will be described below.

図3はNANDセルブロック49の等価回路例を示す等価回路図、図4はNANDセルブロック49の平面パターン例を示す平面図である。図4では、図3に示すセルブロック49を3つ並列した構造を示している。また、図4では、セル構造をわかりやすくするために、制御ゲート電極27よりも下の構造のみを示している。   FIG. 3 is an equivalent circuit diagram showing an example of an equivalent circuit of the NAND cell block 49, and FIG. 4 is a plan view showing an example of a plane pattern of the NAND cell block 49. FIG. 4 shows a structure in which three cell blocks 49 shown in FIG. 3 are arranged in parallel. Further, in FIG. 4, only the structure below the control gate electrode 27 is shown for easy understanding of the cell structure.

図3に示すように、電荷蓄積層26を有するMOSトランジスタからなる不揮発性メモリセルM0〜M15が直列に接続され、その一端は選択トランジスタS1を介して“BL”と記したデータ転送線に接続され、その他端は選択トランジスタS2を介して“SL”と記した共通ソース線に接続されている。メモリセルM0〜M15、及び選択トランジスタS1、S2はそれぞれ、同一のp型ウェル23上に形成されている。メモリセルM0〜M15それぞれの制御電極は、“WL0〜WL15”と記したデータ選択線に接続されている。データ転送線BLに沿った複数のメモリセルブロック49から1つのメモリセルブロック49を選択し、選択したメモリセルブロックをデータ転送線BLに接続するため、選択トランジスタS1の制御電極はブロック選択線SSLに接続され、選択トランジスタS2の制御電極はブロック選択線GSLに接続されている。これにより、いわゆるNAND型メモリセルブロック49(点線の領域)が構成されている。本第1実施形態では、選択トランジスタS1、S2の制御配線(ブロック選択線)SSL、GSLが、メモリセルM0〜M15の電荷蓄積層26と同じ層の導電体によって、図3中の紙面上下方向に隣接する選択トランジスタS1、S2それぞれのゲートを接続しながら形成されている。ブロック選択線SSL、GSLは、メモリセルブロック49に少なくとも1本以上あればよい。ブロック選択線SSL、GSLは、データ選択線WL0〜WL15と同一方向に形成されることが、これに限られる訳ではないが望ましい。高密度化が図ることができるためである。図3では、メモリセルブロック49に16=24個のメモリセルが接続されている例を示したが、データ転送線、及びデータ選択線に接続するメモリセルの数は複数であればよく、2n個(nは正の整数)であることが、これに限られる訳ではないが望ましい。アドレスデコードが容易となるためである。 As shown in FIG. 3, nonvolatile memory cells M0 to M15 made of MOS transistors each having a charge storage layer 26 are connected in series, and one end thereof is connected to a data transfer line denoted by “BL” via a selection transistor S1. The other end is connected to a common source line labeled “SL” via a selection transistor S2. The memory cells M0 to M15 and the select transistors S1 and S2 are each formed on the same p-type well 23. The control electrodes of the memory cells M0 to M15 are connected to the data selection lines indicated as “WL0 to WL15”. In order to select one memory cell block 49 from the plurality of memory cell blocks 49 along the data transfer line BL and connect the selected memory cell block to the data transfer line BL, the control electrode of the selection transistor S1 is the block selection line SSL. The control electrode of the selection transistor S2 is connected to the block selection line GSL. As a result, a so-called NAND type memory cell block 49 (dotted line region) is formed. In the first embodiment, the control wirings (block selection lines) SSL and GSL of the selection transistors S1 and S2 are formed in the vertical direction in FIG. 3 by the conductor in the same layer as the charge storage layer 26 of the memory cells M0 to M15. Is formed while connecting the gates of the select transistors S1 and S2 adjacent to each other. There may be at least one block selection line SSL, GSL in the memory cell block 49. The block selection lines SSL and GSL are preferably formed in the same direction as the data selection lines WL0 to WL15, but are not limited thereto. This is because the density can be increased. FIG. 3 shows an example in which 16 = 2 4 memory cells are connected to the memory cell block 49, but the number of memory cells connected to the data transfer line and the data selection line may be plural, Although it is not necessarily limited to 2 n (n is a positive integer), it is desirable. This is because address decoding becomes easy.

図5は図4中のV−V線に沿う断面図、図6は図4中のVI−VI線に沿う断面図である。図5に示す断面はメモリセルの構造例を示す断面に相当し、図6に示す断面はメモリセルブロックの構造例を示す断面に相当する。   5 is a cross-sectional view taken along line VV in FIG. 4, and FIG. 6 is a cross-sectional view taken along line VI-VI in FIG. The cross section shown in FIG. 5 corresponds to a cross section showing a structural example of the memory cell, and the cross section shown in FIG. 6 corresponds to a cross section showing a structural example of the memory cell block.

図5、及び図6に示すように、p型シリコン領域23は、例えば、不純物濃度が1014cm-3から1019cm-3程度のボロンを含む。p型シリコン領域23上には、トンネル絶縁膜25、25SSL、25GSLが形成されている。トンネル絶縁膜25の一例は、例えば、3nmから15nm程度の厚みを持つシリコン酸化膜、またはシリコンオキシナイトライド膜である。トンネル絶縁膜25、25SSL、25GSL上には、電荷蓄積層26、26SSL、26GSLが形成されている。電荷蓄積層26、26SSL、26GSLの一例は、例えば、リン、または砒素を1018cm-3から1021cm-3程度含み、10nmから500nm程度の厚みを持つポリシリコンである。トンネル絶縁膜25(25、25SSL、25GSL)、及び電荷蓄積層26(26、26SSL、26GSL)は、例えば、シリコン酸化膜からなる素子分離絶縁膜24が形成されていない領域上に、p型シリコン領域23に対して自己整合的に形成されている。この構造は、例えば、トンネル絶縁膜25及び電荷蓄積層26を堆積し、堆積したトンネル絶縁膜25及び電荷蓄積層26をパターニングし、p型シリコン領域23内にかけてエッチングをさらに進め、p型シリコン領域23内に、深さが、例えば、0.05μm〜0.5μm程度の浅い溝(Shallow Trench)を形成する。次いで、浅い溝を絶縁物(素子分離絶縁膜24)で埋めることで形成できる。この構造の利点は、例えば、トンネル絶縁膜25及び電荷蓄積層26を、段差がない平面、即ち、浅い溝が形成されていないp型シリコン領域23上に形成でき、トンネル絶縁膜25及び電荷蓄積層26に対して、均一性が良く、特性の揃った膜が得られることである。 As shown in FIGS. 5 and 6, the p-type silicon region 23 includes, for example, boron having an impurity concentration of about 10 14 cm −3 to 10 19 cm −3 . On the p-type silicon region 23, tunnel insulating films 25, 25 SSL and 25 GSL are formed. An example of the tunnel insulating film 25 is a silicon oxide film or a silicon oxynitride film having a thickness of about 3 nm to 15 nm, for example. On the tunnel insulating films 25, 25 SSL , 25 GSL , charge storage layers 26, 26 SSL , 26 GSL are formed. An example of the charge storage layers 26, 26 SSL , 26 GSL is polysilicon having a thickness of about 10 nm to 500 nm including, for example, about 10 18 cm −3 to 10 21 cm −3 of phosphorus or arsenic. The tunnel insulating film 25 (25, 25 SSL , 25 GSL ) and the charge storage layer 26 (26, 26 SSL , 26 GSL ) are formed on a region where the element isolation insulating film 24 made of, for example, a silicon oxide film is not formed. The p-type silicon region 23 is formed in a self-aligned manner. In this structure, for example, the tunnel insulating film 25 and the charge storage layer 26 are deposited, the deposited tunnel insulating film 25 and the charge storage layer 26 are patterned, and etching is further advanced into the p-type silicon region 23, so that the p-type silicon region is formed. A shallow trench having a depth of, for example, about 0.05 μm to 0.5 μm is formed in 23. Next, the shallow trench can be formed by filling with an insulator (element isolation insulating film 24). The advantage of this structure is that, for example, the tunnel insulating film 25 and the charge storage layer 26 can be formed on a flat surface without a step, that is, on the p-type silicon region 23 in which no shallow trench is formed. A film having good uniformity and uniform characteristics can be obtained with respect to the layer 26.

電荷蓄積層26、26SSL、26GSL上には、ブロック絶縁膜50、50SSL、50GSLが形成されている。ブロック絶縁膜50、50SSL、50GSLの例は、例えば、厚さが5nmから30nm程度の、シリコン酸化膜、またはオキシナイトライド膜、またはシリコン酸化膜/シリコン窒化膜/シリコン酸化膜の三層膜である。ブロック絶縁膜(インターゲート絶縁膜)50、50SSL、50GSL上には、制御ゲート27が形成されている。制御ゲート27の一例は、例えば、10nmから500nm程度の厚さを持ち、リン、砒素、またはボロンを1017cm-3から1021cm-3程度含むポリシリコン、または金属シリサイドとポリシリコンとのスタック構造である。金属シリサイドの例は、例えば、WSi(タングステンシリサイド)、NiSi(ニッケルシリサイド)、MoSi(モリブデンシリサイド)、TiSi(チタンシリサイド)、CoSi(コバルトシリサイド)である。制御ゲート27は、例えば、図2に示すように、データ選択線WL0〜WL15を構成する。データ選択線WL0〜WL15は、隣接するメモリセルブロック49どうしを接続し、ロウ方向に沿ってメモリセルアレイ1の一端から他端まで形成される。p型シリコン領域23は、例えば、p型シリコン基板21から、n型シリコン領域22によって分離される。これにより、p型シリコン領域23は、p型シリコン基板21から独立して電圧を印加できる。p型シリコン領域23は、p型シリコン基板21から独立して電圧を印加できるように形成すると、消去時の昇圧回路負荷を減らし、消費電力を抑制できる利点を得られる。 Block insulating films 50, 50 SSL , 50 GSL are formed on the charge storage layers 26, 26 SSL , 26 GSL . Examples of the block insulating films 50, 50 SSL , and 50 GSL are, for example, three layers of silicon oxide film, oxynitride film, or silicon oxide film / silicon nitride film / silicon oxide film having a thickness of about 5 nm to 30 nm. It is a membrane. A control gate 27 is formed on the block insulating films (intergate insulating films) 50, 50 SSL , 50 GSL . An example of the control gate 27 is, for example, polysilicon having a thickness of about 10 nm to 500 nm and containing phosphorus, arsenic, or boron of about 10 17 cm −3 to 10 21 cm −3 , or a metal silicide and polysilicon. Stack structure. Examples of the metal silicide are, for example, WSi (tungsten silicide), NiSi (nickel silicide), MoSi (molybdenum silicide), TiSi (titanium silicide), and CoSi (cobalt silicide). The control gate 27 constitutes data selection lines WL0 to WL15, for example, as shown in FIG. The data selection lines WL0 to WL15 connect adjacent memory cell blocks 49 and are formed from one end to the other end of the memory cell array 1 along the row direction. For example, the p-type silicon region 23 is separated from the p-type silicon substrate 21 by the n-type silicon region 22. Thereby, the p-type silicon region 23 can apply a voltage independently from the p-type silicon substrate 21. If the p-type silicon region 23 is formed so that a voltage can be applied independently of the p-type silicon substrate 21, it is possible to reduce the booster circuit load at the time of erasing and to obtain the advantage of suppressing power consumption.

また、図5に示すメモリセルは、電荷蓄積層26をメモリセル毎に分離する際のエッチング工程において、p型シリコン領域23の側壁(浅い溝の側壁)が外界に露出することがない。これは、電荷蓄積層26の側壁、及びp型シリコン領域23等の側壁が素子分離絶縁膜24によって覆われているためである。このゲート構造によれば、電荷蓄積層26がp型シリコン領域23よりも下の部分にまで形成されることを抑制できる。これによる利点は、例えば、p型シリコン領域23と素子分離絶縁膜24との境界において、ゲート電界集中の抑制、及びしきい値が低い寄生トランジスタが発生することを抑制できることにある。さらに、例えば、p型シリコン領域23と素子分離絶縁膜24との境界において、ゲート電界集中を抑制でき、ゲート電界集中に起因した書き込みしきい値の低下現象、いわゆるサイドウォーク(sidewalk)現象を生じ難くできることにある。これらの利点により、図5に示すメモリセルは高い信頼性を持つ。   Further, in the memory cell shown in FIG. 5, the side wall (side wall of the shallow groove) of the p-type silicon region 23 is not exposed to the outside in the etching process when the charge storage layer 26 is separated for each memory cell. This is because the side walls of the charge storage layer 26 and the side walls of the p-type silicon region 23 and the like are covered with the element isolation insulating film 24. According to this gate structure, it is possible to suppress the charge storage layer 26 from being formed even below the p-type silicon region 23. An advantage of this is that, for example, at the boundary between the p-type silicon region 23 and the element isolation insulating film 24, the concentration of the gate electric field can be suppressed and the occurrence of a parasitic transistor having a low threshold can be suppressed. Furthermore, for example, the gate electric field concentration can be suppressed at the boundary between the p-type silicon region 23 and the element isolation insulating film 24, and a phenomenon of lowering the write threshold value due to the gate electric field concentration, a so-called sidewalk phenomenon occurs. It can be difficult. Due to these advantages, the memory cell shown in FIG. 5 has high reliability.

図6に示すように、トンネル絶縁膜25(25、25SSL、25GSL)、電荷蓄積層26(26、26SSL、26GSL)、ブロック絶縁膜50(50、50SSL、50GSL)、制御ゲート27を含む積層ゲート構造の両側壁には、それぞれ側壁絶縁膜43が形成される。側壁絶縁膜43の例は、例えば、5nmから200nmの厚みを持つシリコン窒化膜、またはシリコン酸化膜である。積層ゲート構造間の下に位置するp型シリコン領域23の部分には、n型拡散層28が形成される。n型拡散層28は、メモリセルや選択トランジスタのソース電極、またはドレイン電極である。メモリセルは、n型拡散層28、トンネル絶縁膜25、電荷蓄積層26、ブロック絶縁膜50、制御ゲート27により構成される。これは、いわゆる、浮遊ゲート型EEPROMセルと呼ばれるセルであり、そのゲート長は、例えば、0.5μm以下0.01以上とされる。n型拡散層28は、例えば、リンや砒素、アンチモンを表面濃度が1017cm-3から1021cm-3の範囲で含み、深さ10nmから500nm程度に形成される。さらに、n型拡散層28は隣接するメモリセル同士共有され、いわゆる、NAND接続が実現されている。 As shown in FIG. 6, tunnel insulating film 25 (25, 25 SSL , 25 GSL ), charge storage layer 26 (26, 26 SSL , 26 GSL ), block insulating film 50 (50, 50 SSL , 50 GSL ), control Side wall insulating films 43 are respectively formed on both side walls of the stacked gate structure including the gate 27. An example of the sidewall insulating film 43 is, for example, a silicon nitride film or a silicon oxide film having a thickness of 5 nm to 200 nm. An n-type diffusion layer 28 is formed in a portion of the p-type silicon region 23 located between the stacked gate structures. The n-type diffusion layer 28 is a source electrode or a drain electrode of a memory cell or a select transistor. The memory cell includes an n-type diffusion layer 28, a tunnel insulating film 25, a charge storage layer 26, a block insulating film 50, and a control gate 27. This is a so-called floating gate type EEPROM cell, and its gate length is, for example, 0.5 μm or less and 0.01 or more. The n-type diffusion layer 28 includes, for example, phosphorus, arsenic, and antimony in a surface concentration range of 10 17 cm −3 to 10 21 cm −3 and is formed to a depth of about 10 nm to 500 nm. Further, the n-type diffusion layer 28 is shared by adjacent memory cells, and so-called NAND connection is realized.

図6に示す“26SSL”、“26GSL”は、それぞれ“SSL”に相当するブロック選択線、“GSL”に相当するブロック選択線に接続されたゲート電極であり、上記浮遊ゲート型EEPROMの浮遊ゲート(電荷蓄積層26)と同じ導電体層を用いて形成されている。なお、本明細書では、便宜上、“26SSL”、“26GSL”を電荷蓄積層と呼んでいるが、実際には“26SSL”、“26GSL”は電荷蓄積層ではなくゲート電極である。以下、ゲート電極26SSL、26GSLと読み替える。ゲート電極26SSL、26GSLそれぞれのゲート長、即ち、選択トランジスタのゲート長は、メモリセルのゲート長よりも長い。例えば、1μm以下0.02μm以上である。選択トランジスタのゲート長を、メモリセルのゲート長より長くすることにより、ブロック選択時とブロック非選択時とのオンオフ比を大きく確保できる。オンオフ比を大きくできることは、誤書き込みの防止、及び誤読み出しの防止に有利である。 “26 SSL ” and “26 GSL ” shown in FIG. 6 are gate electrodes connected to a block selection line corresponding to “SSL” and a block selection line corresponding to “ GSL ”, respectively. It is formed using the same conductor layer as the floating gate (charge storage layer 26). In this specification, for convenience, “26 SSL ” and “26 GSL ” are referred to as charge storage layers, but actually “26 SSL ” and “26 GSL ” are not charge storage layers but gate electrodes. . Hereinafter, it will be read as the gate electrodes 26 SSL and 26 GSL . The gate lengths of the gate electrodes 26 SSL and 26 GSL , that is, the gate length of the selection transistor is longer than the gate length of the memory cell. For example, it is 1 μm or less and 0.02 μm or more. By making the gate length of the selection transistor longer than the gate length of the memory cell, a large on / off ratio between when the block is selected and when the block is not selected can be secured. The ability to increase the on / off ratio is advantageous in preventing erroneous writing and erroneous reading.

ゲート電極26SSLを挟んで、n型拡散層28の反対側に形成されたn型拡散層28dは、コンタクト31d、中間配線33d、及びコンタクト34dを介してデータ転送線36(BL)に接続されている。n型拡散層28dは、n型拡散層28と同様に、ソース電極、またはドレイン電極である。データ転送線36(BL)の材料例は、例えば、タングステン、タングステンシリサイド、チタン、チタンナイトライド、またはアルミニウムである。中間配線33dの材料も、例えば、データ転送線36(BL)と同様で良い。データ転送線36(BL)は、カラム方向に隣接するメモリセルブロックどうしを接続するように、図4において紙面左右方向に、例えば、メモリセルアレイの境界まで形成されている。ゲート電極26GSLを挟んで、n型拡散層28の反対側に形成されたn型拡散層28sは、コンタクト31sを介してソース線33(SL)に接続されている。n型拡散層28sは、n型拡散層28と同様に、ソース電極、またはドレイン電極である。ソース線33sは、例えば、中間配線33dと、同じ導電体層により形成される。ソース線33sは、ロウ方向に隣接するメモリセルブロックどうしを接続するように、図4において紙面上下方向に、例えば、メモリセルアレイの境界まで形成されている。本例では、ソース線33(SL)を有する例を示しているが、n型拡散層28sを、図4において紙面上下方向に、例えば、メモリセルアレイの境界まで形成し、ソース線としても良い。コンタクト31d、31sは導電領域であり、例えば、層間絶縁膜68に形成された開口30d、30s内に充填された導電物で形成される。導電物の材料例は、例えば、n型またはp型にドープされたポリシリコン、タングステン、タングステンシリサイド、アルミニウム、チタンナイトライド、チタンである。コンタクト34dも、コンタクト31d、31sと同様である。上記層間絶縁膜68は、ソース線33(SL)、データ転送線36(BL)、選択トランジスタ、メモリセルをそれぞれ絶縁する絶縁膜である。層間絶縁膜68の材料例は、例えば、二酸化シリコン、窒化シリコンである。層間絶縁膜68、及びデータ転送線36(BL)の上層には、データ転送線36(BL)よりも上層に存在する上部配線(図示せず)や、絶縁膜保護層37が形成される。上部配線の材料例は、例えば、タングステン、アルミニウム、銅である。絶縁膜保護層37の材料例は、例えば、二酸化シリコン、窒化シリコン、ポリイミドである。 The n-type diffusion layer 28 d formed on the opposite side of the n-type diffusion layer 28 across the gate electrode 26 SSL is connected to the data transfer line 36 (BL through the contact 31 d , the intermediate wiring 33 d , and the contact 34 d. )It is connected to the. The n-type diffusion layer 28 d is a source electrode or a drain electrode similarly to the n-type diffusion layer 28. The material example of the data transfer line 36 (BL) is, for example, tungsten, tungsten silicide, titanium, titanium nitride, or aluminum. The material of the intermediate wiring 33d may be the same as that of the data transfer line 36 (BL), for example. The data transfer line 36 (BL) is formed, for example, to the boundary of the memory cell array in the left-right direction in FIG. 4 so as to connect the memory cell blocks adjacent in the column direction. The n-type diffusion layer 28 s formed on the opposite side of the n-type diffusion layer 28 across the gate electrode 26 GSL is connected to the source line 33 (SL) via a contact 31 s . The n-type diffusion layer 28 s is a source electrode or a drain electrode similarly to the n-type diffusion layer 28. The source line 33 s is formed of, for example, the same conductor layer as the intermediate wiring 33 d . The source line 33 s is formed, for example, up to the boundary of the memory cell array in the vertical direction in FIG. 4 so as to connect the memory cell blocks adjacent in the row direction. In this example, an example having the source line 33 (SL) is shown. However, the n-type diffusion layer 28 s may be formed in the vertical direction in FIG. 4 to the boundary of the memory cell array, for example, as the source line. . The contacts 31 d and 31 s are conductive regions, and are formed of a conductive material filled in the openings 30 d and 30 s formed in the interlayer insulating film 68, for example. Examples of the material of the conductive material are polysilicon doped with n-type or p-type, tungsten, tungsten silicide, aluminum, titanium nitride, and titanium. Contact 34d is also similar to the contact 31 d, 31 s. The interlayer insulating film 68 is an insulating film that insulates the source line 33 (SL), the data transfer line 36 (BL), the selection transistor, and the memory cell. Examples of the material of the interlayer insulating film 68 are, for example, silicon dioxide and silicon nitride. In the upper layer of the interlayer insulating film 68 and the data transfer line 36 (BL), an upper wiring (not shown) existing above the data transfer line 36 (BL) and an insulating film protective layer 37 are formed. Examples of the material of the upper wiring are tungsten, aluminum, and copper, for example. Examples of the material of the insulating film protective layer 37 are, for example, silicon dioxide, silicon nitride, and polyimide.

図1、図2に示すように、メモリセルアレイ1には、メモリセルブロック49が配列される。メモリセルブロック49は、直列接続された不揮発性メモリセルを含む。または後述するように並列接続された不揮発性メモリセルを含む。   As shown in FIGS. 1 and 2, a memory cell block 49 is arranged in the memory cell array 1. Memory cell block 49 includes nonvolatile memory cells connected in series. Or, as will be described later, it includes nonvolatile memory cells connected in parallel.

センスアンプ回路46a、…、46kは、データ読み出し時においてデータ転送線BL1a、BL2a、…、BL1k、BL2kに読み出された読み出しデータをセンス増幅する。センスアンプ回路46a、…、46kは、データレジスタを兼ねており、データ書き込み時において書き込みデータを保持する。このため、センスアンプ回路46a、…、46kは、例えば、フリップフロップ回路を主体とした回路にて構成される。   The sense amplifier circuits 46a,..., 46k sense-amplify read data read to the data transfer lines BL1a, BL2a,..., BL1k, BL2k at the time of data reading. The sense amplifier circuits 46a,..., 46k also serve as data registers, and hold write data when data is written. For this reason, the sense amplifier circuits 46a,..., 46k are composed of, for example, a circuit mainly including a flip-flop circuit.

センスアンプ回路46aは、データ転送線BL1a、BL2aに、それぞれデータ転送線選択トランジスタQ1a、Q2aを介して接続される。以下、同様に、センスアンプ回路46kは、データ転送線BL1k、BL2kに、それぞれデータ転送線選択トランジスタQ1k、Q2kを介して接続される。   The sense amplifier circuit 46a is connected to the data transfer lines BL1a and BL2a via data transfer line selection transistors Q1a and Q2a, respectively. Similarly, the sense amplifier circuit 46k is connected to the data transfer lines BL1k and BL2k via the data transfer line selection transistors Q1k and Q2k, respectively.

センスアンプ回路46a〜46kは、データ入出力バッファ45に接続される。センスアンプ回路46a〜46kとデータ入出力バッファ45との接続は、例えば、カラムデコーダ48の出力によって制御される。   The sense amplifier circuits 46 a to 46 k are connected to the data input / output buffer 45. The connection between the sense amplifier circuits 46a to 46k and the data input / output buffer 45 is controlled by the output of the column decoder 48, for example.

カラムデコーダ48は、アドレスバッファ47からアドレス信号を受け、アドレス信号をデコードしたデコード結果を出力する。これにより、データ入出力バッファ45に与えられた書き込みデータはメモリセルアレイ1に書き込むことができ、また、メモリセルアレイ1から読み出された読み出しデータはデータ入出力バッファ45に、図1に示す第3の内部I/O線を介して読み出すことができる。   The column decoder 48 receives an address signal from the address buffer 47 and outputs a decoding result obtained by decoding the address signal. As a result, the write data given to the data input / output buffer 45 can be written to the memory cell array 1, and the read data read from the memory cell array 1 is stored in the data input / output buffer 45 in the third state shown in FIG. Can be read out via the internal I / O line.

ロウデコーダ3は、メモリセルアレイ1内のメモリセルを選択する。具体的には、ロウデコーダ3は、データ選択線WL0〜WL15、及びブロック選択ゲートSSL、GSLを制御し、メモリセルアレイ1内のメモリセルを選択する。ロウデコーダ3は、スペア領域のロウデコーダ3sと、非スペア領域のロウデコーダ3nとに分けられる。スペア領域のロウデコーダ3sが指定するブロックアドレスは、限られる訳ではないが、消去の“0”ビットを含む数が少なくなるように形成されていると良い(例えば、図12参照)。この理由は後述する。   The row decoder 3 selects a memory cell in the memory cell array 1. Specifically, the row decoder 3 controls the data selection lines WL0 to WL15 and the block selection gates SSL and GSL to select a memory cell in the memory cell array 1. The row decoder 3 is divided into a row decoder 3s in the spare area and a row decoder 3n in the non-spare area. The block address designated by the row decoder 3s in the spare area is not limited, but may be formed so that the number including the “0” bit for erasure is reduced (for example, see FIG. 12). The reason for this will be described later.

本実施形態のメモリセルアレイ1は、非スペア領域1nとスペア領域1sとを含む。非スペア領域1n、及びスペア領域1sは、それぞれ複数個のメモリセルブロック49を有する。非スペア領域1nにおいて、複数個のメモリセルブロック49は行列状に配置される。同じくスペア領域1sにおいても(ただし、図2は行列のうち、行(ロウ)のみを示す)、複数個のメモリセルブロック49は行列状に配置される。非スペア領域1n、及びスペア領域1sにおいて、ロウ方向に配置されたメモリセルブロック49はそれぞれ、データ選択線WLに共通に接続され、いわゆるページを構成する。   The memory cell array 1 of the present embodiment includes a non-spare area 1n and a spare area 1s. Each of the non-spare area 1n and the spare area 1s includes a plurality of memory cell blocks 49. In the non-spare area 1n, the plurality of memory cell blocks 49 are arranged in a matrix. Similarly, in the spare area 1s (however, FIG. 2 shows only rows in the matrix), a plurality of memory cell blocks 49 are arranged in a matrix. In the non-spare area 1n and the spare area 1s, the memory cell blocks 49 arranged in the row direction are commonly connected to the data selection line WL to form a so-called page.

スペア領域1sは、非スペア領域1n内のメモリセルブロック49において置き換えの必要が生じた場合に、置き換えの必要が生じた非スペア領域1n内のメモリセルブロック49のデータをコピーし、置き換えるメモリセルブロック49を含む。スペア領域1s内のメモリセルブロック49の総数は、例えば、非スペア領域1n内のメモリセルブロック49の総数よりも少なくなるように形成されている。ここで、複数ページを含むブロックのデータをフラッシュ消去(全消去)し、書き込むデータがある場合にのみ書き込みを行うメモリでは、スペア領域1sのデータを予め消去状態としておき、置き換えの必要が生じた場合に、スペア領域1sを用いるようにする。このようにスペア領域1sのデータを予め消去状態としておくことで、置き換えの必要が生じた場合に、スペア領域1sからデータを消去する時間を短縮できる。   The spare area 1s is a memory cell that copies and replaces the data of the memory cell block 49 in the non-spare area 1n that needs to be replaced when the memory cell block 49 in the non-spare area 1n needs to be replaced. Block 49 is included. For example, the total number of memory cell blocks 49 in the spare area 1s is formed to be smaller than the total number of memory cell blocks 49 in the non-spare area 1n. Here, in a memory in which data of a block including a plurality of pages is flash erased (all erased) and data is written only when there is data to be written, the data in the spare area 1s is set in an erased state in advance and needs to be replaced. In this case, the spare area 1s is used. In this way, by setting the data in the spare area 1s in the erased state in advance, the time for erasing the data from the spare area 1s can be shortened when it is necessary to replace the data.

基板電位制御回路42は、メモリセルアレイ1が形成されるp型シリコン領域23(またはp型シリコン基板21)の電位を制御する。基板電位制御回路42は、限られる訳ではないが、消去時に、例えば、10V以上の消去電圧を発生できることが望ましい。   The substrate potential control circuit 42 controls the potential of the p-type silicon region 23 (or the p-type silicon substrate 21) where the memory cell array 1 is formed. The substrate potential control circuit 42 is not limited, but it is desirable that an erase voltage of, for example, 10 V or more can be generated at the time of erasing.

Vpgm発生回路41aは、例えば、電源電圧を昇圧した書き込み電圧Vpgmを発生する。書き込み電圧Vpgmは、データ書き込み時、選択されたメモリセルに対して使用される。書き込み電圧Vpgmは、例えば、選択されたメモリセルの制御ゲート(データ選択線WL)に与えられる。書き込み電圧Vpgmの電圧例は、6V以上30V以下である。   For example, the Vpgm generation circuit 41a generates a write voltage Vpgm obtained by boosting the power supply voltage. The write voltage Vpgm is used for the selected memory cell when writing data. The write voltage Vpgm is applied to, for example, the control gate (data selection line WL) of the selected memory cell. A voltage example of the write voltage Vpgm is 6 V or more and 30 V or less.

Vpass発生回路41bは、書き込み用中間電圧Vpassを発生する。書き込み用中間電圧Vpassは、データ書き込み時、非選択のメモリセルに対して使用される。書き込み用中間電圧Vpassは、データ書き込み時、非選択のメモリセルの、例えば、制御ゲート(データ選択線WL)に与えられる。書き込み用中間電圧Vpassの電圧例は、3V以上15V以下である。   The Vpass generation circuit 41b generates a write intermediate voltage Vpass. The write intermediate voltage Vpass is used for non-selected memory cells when writing data. The write intermediate voltage Vpass is applied to, for example, a control gate (data selection line WL) of a non-selected memory cell at the time of data writing. A voltage example of the write intermediate voltage Vpass is 3 V or more and 15 V or less.

Vread発生回路41cは、読み出し用中間電圧Vreadを発生する。読み出し用中間電圧Vreadは、データ読み出し時、非選択のメモリセルに対して使用される。読み出し用中間電圧Vreadは、データ読み出し時、非選択のメモリセルの、例えば、制御ゲート(データ選択線WL)に与えられる。読み出し用中間電圧Vreadの電圧例は、1V以上9V以下である。メモリセルアレイ1が、NAND型メモリセルアレイである場合には、限られる訳では無いが、メモリセルの書き込みしきい値電圧の上限よりも、例えば、1V程度高い電圧にすると良い。十分な読み出し電流の確保、及びリードディスターブ(read-disturb)の抑制の、双方を満足する観点からである。   The Vread generation circuit 41c generates a read intermediate voltage Vread. The read intermediate voltage Vread is used for non-selected memory cells when reading data. The read intermediate voltage Vread is applied to, for example, a control gate (data selection line WL) of a non-selected memory cell at the time of data reading. A voltage example of the read intermediate voltage Vread is 1 V or more and 9 V or less. When the memory cell array 1 is a NAND type memory cell array, it is not limited, but the voltage may be higher by, for example, about 1V than the upper limit of the write threshold voltage of the memory cell. This is from the viewpoint of satisfying both of ensuring a sufficient read current and suppressing read-disturb.

Vref発生回路41dは、しきい値判定電圧Vrefを発生する。しきい値判定電圧Vrefは、データ読み出し時、選択されたメモリセルに対して使用される。しきい値判定電圧Vrefは、データ読み出し時、選択されたメモリセルの、例えば、制御ゲート(データ選択線WL)に与えられる。しきい値判定電圧Vrefの電圧例は、メモリセルの、論理的に分離され、かつ論理的に隣接するしきい値電圧分布どうしの中間の電圧である。例えば、2値メモリであるならば、データ“1”に対応するしきい値電圧分布と、データ“0”に対応するしきい値電圧分布との間の電圧に設定される。多値メモリであって、多値データの判定を、しきい値判定電圧Vrefによって実行する場合には、しきい値判定電圧Vrefは複数設定される。例えば、4値メモリならば、例えば、3つのしきい値判定電圧Vref1〜Vref3がそれぞれ、
データ“11”に対応するしきい値電圧分布と、データ“10”に対応するしきい値電圧分布との間の電圧、
データ“10”に対応するしきい値電圧分布と、データ“00”に対応するしきい値電圧分布との間の電圧、及び
データ“00”に対応するしきい値電圧分布と、データ“01”に対応するしきい値電圧分布との間の電圧それぞれに設定される。
Vref generation circuit 41d generates threshold determination voltage Vref. The threshold determination voltage Vref is used for a selected memory cell when reading data. The threshold determination voltage Vref is applied to, for example, a control gate (data selection line WL) of the selected memory cell at the time of data reading. An example of the threshold determination voltage Vref is an intermediate voltage between threshold voltage distributions of logically separated and logically adjacent memory cells. For example, in the case of a binary memory, the voltage is set between a threshold voltage distribution corresponding to data “1” and a threshold voltage distribution corresponding to data “0”. In the case of a multi-value memory, in which multi-value data determination is performed using the threshold determination voltage Vref, a plurality of threshold determination voltages Vref are set. For example, in the case of a quaternary memory, for example, three threshold determination voltages Vref1 to Vref3 are respectively
A voltage between a threshold voltage distribution corresponding to data “11” and a threshold voltage distribution corresponding to data “10”;
The voltage between the threshold voltage distribution corresponding to the data “10” and the threshold voltage distribution corresponding to the data “00” and the threshold voltage distribution corresponding to the data “00” and the data “01” Is set to each of the voltages between the threshold voltage distributions corresponding to "".

これらの電圧を発生する電圧発生回路41a、41b、41c、41d、42はそれぞれ、制御回路40によって制御される。これにより、発生回路41a、41b、41c、41d、42はそれぞれ、“データ書き込み”、“データ読み出し”、及び“データ消去”の各状態において、必要な電圧出力を、データ選択線ドライバ2や、もしくはp型シリコン領域23(またはp型シリコン基板21)に与える。   The voltage generation circuits 41a, 41b, 41c, 41d, and 42 that generate these voltages are controlled by the control circuit 40, respectively. As a result, the generation circuits 41a, 41b, 41c, 41d, and 42 generate necessary voltage outputs in the “data write”, “data read”, and “data erase” states, respectively, Alternatively, it is applied to the p-type silicon region 23 (or the p-type silicon substrate 21).

データ線制御ドライバ2は、ロウデコーダ3の出力に従って、電圧発生回路41a、41b、41c、41dの電圧出力を、書き込み、または読み出しが必要なメモリセルの制御ゲート(データ選択線WL0〜WL15)、及び選択された選択トランジスタの制御ゲート(ブロック選択線SSL、GSL)に対して与えるスイッチ回路である。   In accordance with the output of the row decoder 3, the data line control driver 2 controls the voltage output of the voltage generation circuits 41a, 41b, 41c, 41d, and the control gates (data selection lines WL0 to WL15) of the memory cells that need to be written or read. And a switch circuit applied to the control gates (block selection lines SSL, GSL) of the selected selection transistor.

本明細書の全ての実施形態では、一連のシーケンスで読み出されるデータビット数が、“t”を“1”より大きな自然数として一連のシーケンスで読み出されるデータビット数“n”が、{2m-1−t×(m−1)−1}より大きく、(2m−t×m−1)以下である場合、少なくとも(n+t×m)個以上のメモリセルブロック49を、図2に示す紙面左右、つまりデータ選択線WLが延びる方向(ロウ方向)に沿って並列に用意する。これは1ページである。 In all the embodiments of the present specification, the number of data bits read in a series of sequences is such that the number of data bits “n” read in a series of sequences where “t” is a natural number larger than “1” is {2 m− If it is larger than 1− t × (m−1) −1} and equal to or smaller than (2 m −t × m−1), at least (n + t × m) or more memory cell blocks 49 are arranged as shown in FIG. They are prepared in parallel along the left and right, that is, the direction (row direction) in which the data selection line WL extends. This is one page.

図2に示す例では、センスアンプ回路46についても、メモリセルブロック49の1ページ分の並列接続数と同様に、少なくとも(n+t×m)個以上用意すると良い。このようにセンスアンプ回路46及びメモリセルを準備することにより、例えば、BCH(Bose-Chaudhuri-Hocquenghem)符号を用いて、メモリセルアレイ1の一連のシーケンスで読み出された1ページの2ビット以上tビット以下のビット誤りを検出し、その位置を求めることができる。1ページに属する複数のメモリセルは、例えば、1つのデータ選択線WLに共通に接続すると、1度のデータ選択によって、複数のメモリセルを同時選択できる。   In the example shown in FIG. 2, at least (n + t × m) or more sense amplifier circuits 46 may be prepared as in the number of parallel connections for one page of the memory cell block 49. By preparing the sense amplifier circuit 46 and the memory cell in this way, for example, two bits or more of one page read in a series of sequences of the memory cell array 1 using a BCH (Bose-Chaudhuri-Hocquenghem) code. Bit errors below bits can be detected and their positions can be obtained. For example, when a plurality of memory cells belonging to one page are commonly connected to one data selection line WL, a plurality of memory cells can be simultaneously selected by one data selection.

さらに、センスアンプ回路46の入出力は、メモリセルの読み出しや書き込み、および消去を制御する制御回路40に接続されている。制御回路40は、例えばデータバッファに与えられたデータをコマンド入力とし、メモリセルの読み出しや書き込み、および消去を制御する。   Further, the input / output of the sense amplifier circuit 46 is connected to a control circuit 40 that controls reading, writing, and erasing of memory cells. The control circuit 40 uses, for example, data supplied to the data buffer as a command input, and controls reading, writing, and erasing of the memory cell.

また、図1では単純化のため示していないが、センスアンプ回路46には、制御回路40からセンスアンプ回路46の動作を制御する制御信号や、奇数番のデータ転送線(BL1)か偶数番のデータ転送線(BL2)かを選択する制御信号(図2中のsel1、sel2)が入力される。図1中、破線枠7で囲まれた部分は、例えば、NAND型フラッシュメモリとして、典型的に1つの半導体基板上に形成される記憶装置を示している。破線枠7については、例えば、特開2002−150783号に記載された回路ブロックを用いれば良い。従って、その詳しい説明は省略する。   Although not shown in FIG. 1 for simplification, the sense amplifier circuit 46 includes a control signal for controlling the operation of the sense amplifier circuit 46 from the control circuit 40, an odd number data transfer line (BL1), or an even number. A control signal (sel1, sel2 in FIG. 2) for selecting the data transfer line (BL2) is input. In FIG. 1, a portion surrounded by a broken line frame 7 indicates a storage device typically formed on one semiconductor substrate as, for example, a NAND flash memory. For the broken line frame 7, for example, a circuit block described in Japanese Patent Application Laid-Open No. 2002-150783 may be used. Therefore, the detailed description is abbreviate | omitted.

次に、ECC回路100について説明する。以後の説明においては、慣例に従って、符号化前のデータ列を情報ビット、符号化時に付加されるビットを検査ビット、復号化後のデータ列で、情報ビットに引き続き誤り位置を示すビット列をシンドローム、記憶装置から読み出しによって得た誤りを含む可能性がある符号を受信符号と呼ぶ。   Next, the ECC circuit 100 will be described. In the following description, according to the convention, the data string before encoding is an information bit, the bit added at the time of encoding is a check bit, the decoded data string is a bit string indicating an error position following the information bit, A code that may contain an error obtained by reading from the storage device is called a received code.

データ入出力バッファ45は、ECC回路100に内部I/O線を介して接続される。ECC回路100は、誤りビット検出回路5及び誤りビット数判定回路6を含む。誤りビット検出回路5は、誤りビット数判定回路6に誤り情報を含む誤り検出信号を出力しても良い。さらに、誤り検出信号は、誤りビット検出回路5から、第1のI/O線を通じて出力されるシンドロームによって代用してもよい。誤りビット数判定回路6は、外部入出力端子(外部I/O)を介して、実施形態に係るデータ記憶システムと外部とのデータの授受を行う。誤りビット数判定回路6は、誤りビット数が予め決められた1を超えた基準値以上であることを判定する。基準値は、ECCで救済できるビット数と等しくしても良い。基準値を、ECCで救済できるビット数と等しくすると、ECCで救済後、誤りビットを発生させずに置き換えするブロック数を減少させ、必要とするスペアブロックの数を削減できる利点が得られる。また、誤りビット数が予め決められた1を超えた基準値以上の状態になった場合、この状態が生じたことを外部に知らせる信号を外部I/Oを通じて出力し、誤りビットを生じたブロックのデータを外部I/Oにつながれた外部回路によってコピーし、スペアブロックに置き換える動作を行うようにしても良い。   The data input / output buffer 45 is connected to the ECC circuit 100 via an internal I / O line. The ECC circuit 100 includes an error bit detection circuit 5 and an error bit number determination circuit 6. The error bit detection circuit 5 may output an error detection signal including error information to the error bit number determination circuit 6. Further, the error detection signal may be substituted by a syndrome output from the error bit detection circuit 5 through the first I / O line. The error bit number determination circuit 6 exchanges data between the data storage system according to the embodiment and the outside via an external input / output terminal (external I / O). The error bit number determination circuit 6 determines that the number of error bits is equal to or greater than a predetermined reference value exceeding 1. The reference value may be equal to the number of bits that can be relieved by ECC. If the reference value is made equal to the number of bits that can be relieved by ECC, the number of blocks to be replaced without generating error bits after relieving by ECC can be reduced and the number of necessary spare blocks can be reduced. If the number of error bits exceeds a predetermined reference value exceeding 1, a signal notifying the outside that this condition has occurred is output via the external I / O, and the block in which the error bits are generated The data may be copied by an external circuit connected to the external I / O and replaced with a spare block.

図7はECC回路100の構成例を示すブロック図である。   FIG. 7 is a block diagram illustrating a configuration example of the ECC circuit 100.

図7に示すように、誤りビット数判定回路6は、CPU108と、ページバッファ11と、誤りビット数基準値を記憶するROM111と、I/Oポート106、107とを含む。ECC回路100は、例えば、フリップフロップや揮発性メモリからなるページカウンタ10を含んでいても良い。ページカウンタ10は、例えば、CPU108に設けられる。ページカウンタ10は、ブロック内容を転送するブロック内のページ数のインデックスを記憶する。ページカウンタ10には、ページ数を“i”として、log2(i)以上のビット数の段数を持つカウンタを用意すれば良い。さらに、ページカウンタ10は、少なくともカウンタの全てのビットを一定の初期値とするリセット機能と、1ブロック内のすべてのページを1度ずつアクセスするようにページ数を増やす機能を有する。以下では、ページカウンタ10の、最も機能的に簡単な例として、最初のページのインデックスを初期値とするリセット機能と、ページを“1”だけ増やす機能を有する、として説明する。 As shown in FIG. 7, the error bit number determination circuit 6 includes a CPU 108, a page buffer 11, a ROM 111 that stores an error bit number reference value, and I / O ports 106 and 107. The ECC circuit 100 may include a page counter 10 made of, for example, a flip-flop or a volatile memory. The page counter 10 is provided in the CPU 108, for example. The page counter 10 stores an index of the number of pages in a block to which block contents are transferred. The page counter 10 may be a counter having a number of bits equal to or greater than log 2 (i), where the number of pages is “i”. Further, the page counter 10 has a reset function that sets at least all the bits of the counter to a constant initial value and a function that increases the number of pages so that all pages in one block are accessed once. In the following description, it is assumed that the page counter 10 has a reset function that uses the index of the first page as an initial value and a function that increases the page by “1” as the simplest functional example.

誤りビット数判定回路6は、さらに、例えば、SRAMやDRAMなどの揮発性メモリからなるページバッファ11を含んでいても良い。ページバッファ11を含むと、図1に示すデータ記憶システム内でデータ訂正とスペア領域に対する修正データの書き込みが行え、外部I/O線にデータ出力し、外部装置(例えば、外部メモリ)とのデータの授受する時間や手順が必要ないので、動作を高速化できる利点がある。勿論、ページバッファ11は、図1のデータ記憶システムの外にあり、外部I/Oによって記憶読み出し可能な状態にあれば、本例で示すスペアブロックへの置換動作を実現することはできる。ページバッファ11に必要なビット数は、符号ビット数に等しいビット数以上あれば良い。   The error bit number determination circuit 6 may further include a page buffer 11 made of a volatile memory such as SRAM or DRAM. If the page buffer 11 is included, data correction and writing of correction data to the spare area can be performed in the data storage system shown in FIG. 1, data is output to the external I / O line, and data is exchanged with an external device (for example, external memory). There is an advantage that the operation can be speeded up. Of course, if the page buffer 11 is outside the data storage system of FIG. 1 and can be stored and read by the external I / O, the replacement operation to the spare block shown in this example can be realized. The number of bits required for the page buffer 11 may be equal to or greater than the number of bits equal to the number of sign bits.

誤りビット検出回路5は、シンドロームを出力する回路である。シンドロームは、データ入出力バッファ45から出力された一連のデータのビット誤りを含む。本例のように、2ビット以上のエラー修正が必要な場合には、シンドロームから不良ビット位置を求めるのに、ガロア体上の乗除算を行う必要がある。なお、本例では、不良ビット位置を特定し、その位置情報を誤り検出信号線、または第1の内部I/O線に出力するのは、誤りビット数判定回路6で行うものとする。誤りビット検出回路5としては、本例では、2ビット以上のエラー修正が可能な符号を用いる。このためには、誤りビット検出回路5とし、例えば、巡回符号復号器を用いれば良い。2ビット以上のエラー修正が可能な符号とする理由は後で詳しく説明する。2ビット以上のエラー修正が可能な符号は、不良ビットを含むページを置き換えるスペアページ数を、非スペアページ数に対して、例えば、5%以下の十分少ない割合で面積増加を抑制しつつ、効果を得るためにも有用である。また、1ビット誤りを訂正する符号では、訂正できる誤りビットは存在しても、訂正できる誤りビットは当然に1ビットである。本例のような1より大きな基準値を有する誤りビット数判定回路6の構成要素に含まれないことは言うまでも無い。   The error bit detection circuit 5 is a circuit that outputs a syndrome. The syndrome includes a bit error of a series of data output from the data input / output buffer 45. As in this example, when error correction of 2 bits or more is required, it is necessary to perform multiplication / division on the Galois field to obtain the defective bit position from the syndrome. In this example, it is assumed that the error bit number determination circuit 6 specifies the defective bit position and outputs the position information to the error detection signal line or the first internal I / O line. As the error bit detection circuit 5, in this example, a code capable of correcting an error of 2 bits or more is used. For this purpose, the error bit detection circuit 5 may be used, for example, a cyclic code decoder. The reason why the code can correct errors of 2 bits or more will be described in detail later. The code capable of correcting errors of 2 bits or more is effective in suppressing the increase in the area of spare pages that replace pages including defective bits at a sufficiently small ratio of, for example, 5% or less with respect to the number of non-spare pages. It is also useful for obtaining. Further, in a code for correcting a 1-bit error, even if there is an error bit that can be corrected, the error bit that can be corrected is naturally 1 bit. Needless to say, it is not included in the constituent elements of the error bit number determination circuit 6 having a reference value larger than 1 as in this example.

図8は、誤りビット検出回路5内に設けられる符号器14の回路例を示す回路図、図9及び図10はそれぞれ、誤りビット検出回路5内に設けられる複号器(シンドローム計算器)15の例を示す回路図である。図8に示す符号器14は、データ巡回BCH符号符号器の具体的な一例である。図9及び図10はそれぞれ、データ巡回BCH符号複号器の具体的な例である。これらのデータ巡回BCH符号符号器/復号器は、例えば、7ビットのデータビットで2ビット誤り訂正可能な、15ビットの符号を形成する。以下の説明では2ビット誤りを生じた場合に、誤りを生じたページの内容をスペアブロックにコピーし、ブロック置き換えを行う例を示す。さらに、以下の説明では、説明を簡単とするために、ガロア体GF(24)上の元を用いた巡回BCH符号を示すが、勿論、任意のガロア体上の巡回BCH符号やリードソロモン符号を同様に回路構成し用いることができるのは明らかである。さらに、慣例では消去状態の論理値を“1”、書き込み状態の論理値を“0”とするが、本例では消去状態の論理値を“0”、書き込み状態の論理値を“1”と逆に定義する。これは、本例では、線形な誤り訂正を行う回路を用いることを実施形態として述べているために、シンドロームが全て論理値“0”であることが“誤り無し”の状態に対応し、シンドロームを含む1ブロック全消去を行った場合に、あらためてシンドロームに符号を書き込まなくても、誤りが無い初期値を形成することができるようにするためである。勿論、メモリセルの書き込み及び消去論理値を慣例通りとし、第1の内部I/O線に論理反転回路を介在させることによって、誤りビット検出回路5において論理値がメモリセルと逆となるように設定しても良い。 8 is a circuit diagram showing a circuit example of the encoder 14 provided in the error bit detection circuit 5, and FIGS. 9 and 10 are decoders (syndrome calculators) 15 provided in the error bit detection circuit 5, respectively. It is a circuit diagram which shows the example of. The encoder 14 shown in FIG. 8 is a specific example of a data cyclic BCH code encoder. 9 and 10 are specific examples of the data cyclic BCH code decoder. These data cyclic BCH code encoders / decoders, for example, form a 15-bit code that can be 2-bit error corrected with 7 data bits. The following description shows an example in which, when a 2-bit error occurs, the contents of the page where the error occurred are copied to a spare block and block replacement is performed. Further, in the following description, a cyclic BCH code using an element on a Galois field GF (2 4 ) is shown for simplicity of explanation, but of course, a cyclic BCH code or a Reed-Solomon code on an arbitrary Galois field It is obvious that the circuit can be similarly configured and used. Further, in the conventional case, the logical value of the erased state is “1” and the logical value of the written state is “0”. In this example, the logical value of the erased state is “0” and the logical value of the written state is “1”. Define it in reverse. This is because, in this example, the use of a circuit that performs linear error correction is described as an embodiment, so that all the syndromes are logical values “0” corresponds to the “no error” state, and the syndrome This is for the purpose of forming an error-free initial value without writing a code to the syndrome again when one block including all is erased. Of course, the logic value of the memory cell is set as usual, and the logic value is reversed to that of the memory cell in the error bit detection circuit 5 by interposing a logic inversion circuit on the first internal I / O line. May be set.

図8に示すように、情報ビット入力は単位時間ごとに時系列として7ビット与えられるとする。また、参照符号8に示す回路は、1単位時間遅延させる回路であり、例えば、公知であるD型フリップフロップ等のフリップフロップ、又はラッチ回路で構成すれば良い。D型フリップフロップの場合、クロックが与えられる前は論理値“0”に設定されているものとする。また、クロックは各複数の回路8全てに対し、同期して与えても良い。クロック配線を単純化できる利点があるためである。参照符号S1(S1a、S1b)はスイッチ回路である。スイッチ回路S1は、情報ビット入力中、つまり、1ビットから7ビットまでは“S1a”側に接続され、情報ビット入力終了後で検査ビット出力中、つまり8ビットから15ビットまでは“S1b”側に接続される。参照符号S2もまたスイッチ回路である。スイッチ回路S2は、情報ビット入力中、つまり、1ビットから8ビットまでは接続状態となり、情報ビット入力終了後で検査ビット出力中、つまり8ビットから15ビットまでは論理値“0”を、図8中の○(白丸)方向に出力する。このような動作を、15ビットの出力が終了するまで、15回クロックを与えることにより、2ビット修正可能な巡回BCH符号を作成することができる。   As shown in FIG. 8, it is assumed that the information bit input is given 7 bits as a time series for each unit time. The circuit denoted by reference numeral 8 is a circuit that delays by one unit time, and may be constituted by a known flip-flop such as a D-type flip-flop or a latch circuit, for example. In the case of the D-type flip-flop, it is assumed that the logic value is set to “0” before the clock is supplied. The clock may be given to all the plurality of circuits 8 in synchronization. This is because the clock wiring can be simplified. Reference numeral S1 (S1a, S1b) is a switch circuit. The switch circuit S1 is connected to the “S1a” side during information bit input, that is, from 1 to 7 bits, and is in the test bit output after the information bit input is completed, that is, from 8 to 15 bits on the “S1b” side. Connected to. Reference numeral S2 is also a switch circuit. The switch circuit S2 is in a connected state during input of information bits, that is, from 1 to 8 bits, and is in a test bit output after completion of input of information bits, that is, a logical value “0” from 8 to 15 bits. Output in the circle (white circle) direction in 8. By applying such an operation to the clock 15 times until the 15-bit output is completed, it is possible to create a cyclic BCH code that can be corrected by 2 bits.

図13に本例でのガロア体GF(24)の元αiを示す。よく知られているように、ガロア体上での加算は、図13に示す各ベクトル表示の各因子の排他的論理和を取ったものとなる。例えば、
α0+α4=(0001)+(0011)=(0010)=α1
となる。
FIG. 13 shows the element α i of the Galois field GF (2 4 ) in this example. As is well known, the addition on the Galois field is an exclusive OR of each factor of each vector display shown in FIG. For example,
α 0 + α 4 = (0001) + (0011) = (0010) = α 1
It becomes.

乗算、及び除算は、“24−1=15”なので、それぞれ
αi×αj=α(i+j)mod15
αi/αj=α(i-j)mod15
と計算すれば良い。
Since multiplication and division are “2 4 −1 = 15”, α i × α j = α (i + j) mod 15
α i / α j = α (ij) mod15
And calculate.

元αiの逆元α-iは、
α-i=α0/αi
で求めることができる。
Inverse element α -i of the original α i is,
α -i = α 0 / α i
Can be obtained.

15ビットの符号長を持つ2重誤り訂正2元BCH符号の原始生成多項式Gs(x)は、Mi(x)をαiの最小多項式として、
s(x)=M1(x)×M3(x)
=(x4+x+1)×(x4+x3+x2+x+1)
=x8+x7+x6+x4+1
で与えられる。図8に示す回路は、上記Gs(x)を回路的に表現する。従って、符号化においては、符号出力をI/O線1に電気的に接続し、外部I/Oを、誤りビット数判定回路6を含むデータ入出力制御回路を通じて、情報ビット入力に電気的に接続する。これによって、メモリセルに2ビットの訂正が可能な符号を書き込むことができる。
The primitive generator polynomial G s (x) of a double error correcting binary BCH code having a code length of 15 bits is defined as M i (x) as a minimum polynomial of α i ,
G s (x) = M 1 (x) × M 3 (x)
= (X 4 + x + 1) × (x 4 + x 3 + x 2 + x + 1)
= X 8 + x 7 + x 6 + x 4 +1
Given in. The circuit shown in FIG. 8 represents G s (x) in a circuit form. Therefore, in encoding, the code output is electrically connected to the I / O line 1, and the external I / O is electrically connected to the information bit input through the data input / output control circuit including the error bit number determination circuit 6. Connecting. As a result, a code capable of 2-bit correction can be written in the memory cell.

なお、外部I/Oは、具体的には、例えば、メモリカードの入出力端子や、本例のデータ記憶システムを収容したパッケージの外に、コネクタ、又は無線通信手段を通じて接続される入出力部分を示す。   Specifically, the external I / O is, for example, an input / output portion connected through a connector or a wireless communication means outside an input / output terminal of a memory card or a package containing the data storage system of this example. Indicates.

図9及び図10に示すデータ巡回BCH符号複号器の具体的な例はそれぞれ、上記巡回BCH符号から2値4ビット、即ち、ガロア体GF(24)上のシンドロームを計算するシンドローム計算器15の回路例である。 A specific example of the data cyclic BCH code decoder shown in FIG. 9 and FIG. 10 is a syndrome calculator for calculating a binary 4 bits from the cyclic BCH code, that is, a syndrome on the Galois field GF (2 4 ). 15 circuit examples.

シンドローム計算器15は、受信符号入力から15単位時間遅れた後に、誤り位置情報を示すシンドロームs1、s3の出力を得る。シンドロームs1、s3は、それぞれ前述のM1(x)、M3(x)に対応するシンドロームである。後で誤り訂正の詳細は説明するが、シンドロームs1、s3が全て“0”の場合には、誤りが無いと判断できる。 The syndrome calculator 15 obtains the outputs of the syndromes s1 and s3 indicating the error position information after a delay of 15 unit time from the received code input. The syndromes s1 and s3 are syndromes corresponding to the aforementioned M 1 (x) and M 3 (x), respectively. Although details of error correction will be described later, when all of the syndromes s1 and s3 are “0”, it can be determined that there is no error.

また、上記以外で、“s13+s3”が(0000)である場合には、1ビットの誤りが生じたと判断でき、“s13+s3”が(0000)でない場合には、2ビット以上の誤りが生じたと判断できる。 In addition to the above, when “s1 3 + s3” is (0000), it can be determined that a 1-bit error has occurred, and when “s1 3 + s3” is not (0000), an error of 2 bits or more. Can be determined to have occurred.

なお、“s13+s3”は、原始多項式を、
1(x)=x4+x+1
としたガロア体上にて計算するものとする。
“S1 3 + s3” is a primitive polynomial,
M 1 (x) = x 4 + x + 1
It shall be calculated on the Galois field.

以上から、“s13+s3”を、図7に示すCPU108を用いて計算することで、メモリセルに2ビット以上の誤りを検出し、その位置情報を出力する回路が具体的に構成できる。復号化においては、符号入力をI/O線1に電気的に接続し、符号とシンドロームs1、s3を誤りビット数判定回路6に電気的に接続する図7に示す構成とする。 From the above, by calculating “s1 3 + s3” using the CPU shown in FIG. 7, a circuit that detects an error of 2 bits or more in the memory cell and outputs the position information can be specifically configured. In decoding, the code input is electrically connected to the I / O line 1, and the code and the syndromes s1 and s3 are electrically connected to the error bit number determination circuit 6 as shown in FIG.

なお、15ビットの符号長を持つ1重誤り訂正2元BCH符号の原始生成多項式は、
1(x)=x4+x+1
で与えられる。従って、図9に示すように、1単位時間遅延させる回路の2値4本の出力を、ガロア体GF(24)上の単位元をα倍するα倍回路200を通じて、複数の回路8に順次フィードバックする。これにより、αを単位元とするシンドロームs1を得ることができる。同様に、図10に示すように、α倍回路200を3つ直列に接続してから、複数の回路8に順次フィードバックする。これによりα3を単位元とするシンドロームs3を得ることができる。同様に、αkを単位元とするシンドロームskは、α倍回路200をk個直列に接続してから、複数の回路8に順次フィードバックすることで得ることができる。
The primitive generator polynomial of a single error correction binary BCH code having a code length of 15 bits is
M 1 (x) = x 4 + x + 1
Given in. Therefore, as shown in FIG. 9, the four outputs of the circuit delayed by one unit time are passed through the α multiplier circuit 200 that multiplies the unit element on the Galois field GF (2 4 ) by a plurality of circuits 8. Sequential feedback. Thereby, a syndrome s1 having α as a unit element can be obtained. Similarly, as shown in FIG. 10, three α multiplication circuits 200 are connected in series and then fed back sequentially to a plurality of circuits 8. As a result, a syndrome s3 having α 3 as a unit element can be obtained. Similarly, a syndrome sk having α k as a unit element can be obtained by sequentially feeding back k to the plurality of circuits 8 after connecting k α multiplication circuits 200 in series.

次に、誤りビット数判定回路6の動作例を、図11に示すフローチャートを用いて説明する。本動作例の説明においては、2ビットの誤り訂正を行う場合を例示する。   Next, an operation example of the error bit number determination circuit 6 will be described with reference to the flowchart shown in FIG. In the description of this operation example, a case where 2-bit error correction is performed is illustrated.

図11に示す動作例は、読み出し時に“1”より大きな誤り判断ビット数、ここでは、2ビットの誤りを生じたページについて、選択的に空きスペアブロックに、ページデータをECCにて修正し、置き換える例である。本実施形態は、2ビットという1ビットよりもビット数が大きい誤りを生じたページを選び、選択的に置き換える。   In the operation example shown in FIG. 11, the number of error determination bits larger than “1” at the time of reading, in this case, a page in which an error of 2 bits is selectively corrected to an empty spare block, and page data is corrected by ECC. This is an example of replacement. In the present embodiment, a page in which an error having a larger number of bits than 1 bit, which is 2 bits, is selected and selectively replaced.

まず、SE1において、シンドロームs1、s3を、誤りビット検出回路5からI/Oポート106を通じて、誤りビット数判定回路6に転送する。また、受信符号を、誤りビット検出回路5からI/Oポート106を通じて、誤りビット数判定回路6内のページバッファ11に転送する。   First, in SE1, the syndromes s1 and s3 are transferred from the error bit detection circuit 5 to the error bit number determination circuit 6 through the I / O port 106. The received code is transferred from the error bit detection circuit 5 to the page buffer 11 in the error bit number determination circuit 6 through the I / O port 106.

次に、SE2において、シンドロームs1、s3のいずれかが、少なくとも1つの“1”を含むか否かを判別する。シンドロームs1、s3のいずれもが“1”を含まない場合は、“誤りビット無し”である(N:No)。この場合、符号ビットの最初の7ビットを情報ビットとして出力する。また、シンドロームs1、s3のいずれかが、少なくとも1つの“1”を含む場合は、“誤りビット有り”である(Y:Yes)。この場合、SE3に進み、CPU108において、Peterson法の行列式、
sp=s13+s3
を計算する。この際、ガロア体GF(24)上の乗算表、及び逆元表をそれぞれ、誤りビット数判定回路6の、例えば、ROM111に内蔵させる(乗算表ROM、及び逆元表ROM)。これにより、乗除算計算を高速に行うことができる。ちなみに、乗算表ROMは、本例では、シンドロームs1、s3が4ビットであるため、“4ビット+4ビット=8ビット”の入力で、4ビットの出力をすれば良く、例えば、28×24=4096ビットの記憶素子で実現できる。同様に、逆元表ROMは、4ビット入力で4ビット出力すれば良く、例えば、24×24=256ビットの記憶素子で実現できる。後述するように、2ビット以上の誤り訂正を、シンドロームをアドレス入力とし、誤り位置ローケータを出力とする対応表を作成して対応する場合には、上記(4096+256)ビットよりも遥かに多いビット数を持つ対応表が必要となる。一方、2ビット以上の誤りがあっても、計算によって誤り位置ローケータを求める方法は、上記ビット数の記憶素子で良い。このように、乗算表ROMと逆元表ROMを用いる方法では、誤り訂正ビット数が大きく増えても記憶素子の個数を減らすことができ、回路面積を小さくできる利点がある。勿論、乗算表ROMや逆元表ROMは、いわゆるROMマッピングではなく、シンドロームをアドレス入力とし、誤り位置ローケータを出力とする論理回路によって形成されても良い。
Next, in SE2, it is determined whether or not any of the syndromes s1 and s3 includes at least one “1”. When neither of the syndromes s1 and s3 includes “1”, it is “no error bit” (N: No). In this case, the first 7 bits of the sign bit are output as information bits. Further, when any of the syndromes s1 and s3 includes at least one “1”, “there is an error bit” (Y: Yes). In this case, the process proceeds to SE3 and the CPU 108 determines the determinant of the Peterson method,
sp = s1 3 + s3
Calculate At this time, the multiplication table and the inverse element table on the Galois field GF (2 4 ) are incorporated in the error bit number determination circuit 6, for example, the ROM 111 (multiplication table ROM and inverse element table ROM). Thereby, multiplication / division calculation can be performed at high speed. Incidentally, in this example, since the syndromes s1 and s3 are 4 bits in the multiplication table ROM, it is sufficient to output 4 bits by inputting “4 bits + 4 bits = 8 bits”. For example, 2 8 × 2 4 = Achievable with a 4096-bit memory element. Similarly, the inverse table ROM may be a 4-bit input and a 4-bit output, and can be realized by, for example, a storage element of 2 4 × 2 4 = 256 bits. As will be described later, when an error correction of 2 bits or more is handled by creating a correspondence table with the syndrome as an address input and the error position locator as an output, the number of bits is much larger than the above (4096 + 256) bits. Correspondence table with is required. On the other hand, even if there is an error of 2 bits or more, a method for obtaining an error position locator by calculation may be a storage element having the above-mentioned number of bits. Thus, the method using the multiplication table ROM and the inverse element table ROM has an advantage that the number of storage elements can be reduced even if the number of error correction bits is greatly increased, and the circuit area can be reduced. Of course, the multiplication table ROM and the inverse element table ROM may be formed not by so-called ROM mapping but by a logic circuit having a syndrome as an address input and an error position locator as an output.

次に、SE4において、行列式spが、少なくとも1つの“1”を含むか否かを判別する。行列式spが、1つも“1”を含まない場合にはSE5に進み(N)、SE5において、シンドロームs1が少なくとも1つの“1”を含むか否かを判定する。   Next, in SE4, it is determined whether or not the determinant sp includes at least one “1”. When the determinant sp does not include any “1”, the process proceeds to SE5 (N), and in SE5, it is determined whether or not the syndrome s1 includes at least one “1”.

SE5において、シンドロームs1が、少なくとも1つの“1”を含む場合、誤りビットは1ビットである。この場合、SE6に進む(Y)。SE6において、シンドロームs1の逆元を、CPU108を用いてまず計算する。シンドロームs1の逆元を、図13に示す元を参照して“αk”すると、“15ビットで最後に入力したビットから数えて、(k+1)ビット目が誤りである”、と考えることができる。従って、SE6において、最後に入力したビットから数えて、(k+1)ビット目を、ビット反転して修正すれば良い。この後、この修正符号ビットの最初の7ビットを情報ビットとして出力する。 In SE5, when the syndrome s1 includes at least one “1”, the error bit is 1 bit. In this case, the process proceeds to SE6 (Y). In SE6, the inverse element of the syndrome s1 is first calculated using the CPU. When the inverse element of the syndrome s1 is “α k ” with reference to the element shown in FIG. 13, it may be considered that “the (k + 1) -th bit is an error as counted from the last input bit of 15 bits”. it can. Therefore, in SE6, the (k + 1) th bit counted from the last input bit may be corrected by bit inversion. Thereafter, the first 7 bits of the correction code bit are output as information bits.

一方、SE5において、シンドロームs1が、1つも“1”を含まない場合、3ビット以上のビット誤りを生じたことになる。この場合、SE14に進む(N)。SE14において、外部I/OにECC救済不可能である信号を出力して終了する。   On the other hand, in SE5, when the syndrome s1 does not include any “1”, a bit error of 3 bits or more has occurred. In this case, the process proceeds to SE14 (N). In SE14, a signal indicating that the ECC cannot be relieved is output to the external I / O, and the process ends.

また、SE4において、行列式spが、少なくとも1つの“1”を含む場合にはSE7に進み(Y)、SE7において、シンドロームs1が少なくとも1つの“1”を含むか否かを判定する。   In SE4, if the determinant sp includes at least one “1”, the process proceeds to SE7 (Y). In SE7, it is determined whether the syndrome s1 includes at least one “1”.

SE7において、シンドロームs1が、1つも“1”を含まない場合、3ビット以上のビット誤りを生じたことになる。従って、SE14に進み(N)、SE14において、外部I/OにECC救済不可能である信号を出力して終了する。   In SE7, when the syndrome s1 does not include any “1”, a bit error of 3 bits or more has occurred. Therefore, the process proceeds to SE14 (N), and in SE14, a signal indicating that the ECC cannot be repaired is output to the external I / O, and the process ends.

一方、SE7において、シンドロームs1が、1つでも“1”を含む場合、2ビット以上のビット不良を生じたことになる。この場合、SE8に進む(Y)。   On the other hand, if at least one syndrome s1 includes “1” in SE7, a bit defect of 2 bits or more has occurred. In this case, the process proceeds to SE8 (Y).

SE8において、誤り位置多項式σ(z)の係数σ1、σ2を、ガロア体上で、
σ1=s1
σ2=sp/s1
として計算する。
In SE8, the coefficients σ 1 and σ 2 of the error locator polynomial σ (z) are calculated on the Galois field,
σ1 = s1
σ2 = sp / s1
Calculate as

次に、SE9において、誤り位置多項式、
σ(z)=1+z×σ1+z2×σ2
の“z”に、ガロア体GF(24)の元を代入し、
σ(z)=0
となる解を求める。この際、上述したが、ガロア体GF(24)上の乗算表ROMを、誤りビット数判定回路6、例えば、ROM111に内蔵させることによって、乗算計算を高速に行うことができる。
Next, in SE9, an error locator polynomial,
σ (z) = 1 + z × σ 1 + z 2 × σ 2
Substituting the element of Galois field GF (2 4 ) into “z” of
σ (z) = 0
Find a solution that becomes At this time, as described above, by multiplying the multiplication table ROM on the Galois field GF (2 4 ) in the error bit number determination circuit 6, for example, the ROM 111, the multiplication calculation can be performed at high speed.

次に、SE10において、“i”、“j”をそれぞれ、{(ガロア体の元の数)−1}から0以上の、互いに異なる整数(i≠j)として“αi”、“αj”という解が求めることができたか否かを判定する。 Next, in SE10, “i” and “j” are set as “α i ” and “α j ” as {(original number of Galois field) −1} to 0 or more different integers (i ≠ j), respectively. It is determined whether or not the solution “can be obtained.

解が求まらない場合には、3ビット以上のビット誤りを生じたことになり、SE14に進む(N)。SE14において、外部I/OにECC救済不可能である信号を出力して終了する。   If no solution is obtained, it means that a bit error of 3 bits or more has occurred, and the process proceeds to SE14 (N). In SE14, a signal indicating that the ECC cannot be relieved is output to the external I / O, and the process ends.

解が求まった場合は、図13に示す元を参照し、“αi”、“αj”とすると、“15ビットで最後に入力したビットから数えて、(i+1)ビット目、及び(j+1)ビット目が誤りである”、と考えることができる。従って、SE11において、最後に入力したビットから数えて、(i+1)ビット目、及び(j+1)ビット目をそれぞれ、ビット反転して修正すれば良い。 When the solution is obtained, referring to the element shown in FIG. 13 and assuming that “α i ” and “α j ”, the “(i + 1) th bit counted from the last input bit in 15 bits, and (j + 1)” ) The bit is an error ”. Therefore, in SE11, the (i + 1) -th bit and the (j + 1) -th bit may be corrected by bit inversion, counting from the last input bit.

次に、SE12において、使用していないスペアブロックが、まだ有るか否かを確認する。これは、例えば、FAT(File Allocation Table)領域に、予め使用できるスペアブロックのアドレスを記憶するブロックアドレス情報記憶領域を準備する。例えば、使用したスペアブロックのアドレスは、ブロックアドレス情報記憶領域に記憶する。SE12において、ブロックアドレス情報記憶領域に記憶されたスペアブロックのアドレスを調べることによって、使用していないスペアブロックが、まだ有るか否かを確認できる。ブロック置き換えの方法については、後で詳述する。SE12において、“空きスペアブロック領域が有る”と判定された場合には、SE13に進む(Y)。SE13において、当該ページ内容を、空きスペアブロックにエラー訂正して転送する。この操作に引き続いて、FAT領域に記載された当該ページのブロックアドレスを、空きスペアブロックのアドレスに置き換えする作業を行っても良い。   Next, in SE12, it is confirmed whether there are still spare blocks that are not used. For example, a block address information storage area for storing an address of a spare block that can be used in advance is prepared in a FAT (File Allocation Table) area. For example, the address of the used spare block is stored in the block address information storage area. In SE12, by checking the address of the spare block stored in the block address information storage area, it can be confirmed whether there is still a spare block that is not used. The block replacement method will be described in detail later. If it is determined in SE12 that “an empty spare block area exists”, the process proceeds to SE13 (Y). In SE13, the page content is error-corrected and transferred to an empty spare block. Subsequent to this operation, the work of replacing the block address of the page described in the FAT area with the address of the free spare block may be performed.

一方、SE12において、“空きスペアブロック領域が無い”と判定された場合には、SE15に進む(N)。SE15において、空きスペアブロックが無いことを示す信号を外部I/Oから出力する。この操作に引き続いて、当該ページ内容を、元のメモリブロックアドレスに書き戻す作業を行っても良い。   On the other hand, if it is determined in SE12 that “no spare spare block area is present”, the process proceeds to SE15 (N). In SE15, a signal indicating that there is no empty spare block is output from the external I / O. Subsequent to this operation, the page content may be written back to the original memory block address.

以上、図11に示す動作例は、Peterson法を用いて、誤りビット位置を計算で求める方法である。この方法によれば、誤り位置ローケータを、対応表を引くことではなく計算によって求めるので、対応表のために必要な、大きなROM領域111を必要とせず、より小さいROM容量の回路で実現できる。よって、ROM回路の面積縮小に有利であり、しかも、ROM回路に消費される電力を少なく保つことができる。   As described above, the operation example shown in FIG. 11 is a method for obtaining the error bit position by calculation using the Peterson method. According to this method, since the error position locator is obtained by calculation rather than by drawing a correspondence table, the large ROM area 111 necessary for the correspondence table is not required, and can be realized with a circuit having a smaller ROM capacity. Therefore, it is advantageous for reducing the area of the ROM circuit, and the power consumed by the ROM circuit can be kept small.

さらに、本実施形態では、特に、非スペア領域のブロックアドレス、及びスペア領域のブロックアドレスの割り当てにも工夫が為されている。   Furthermore, in this embodiment, in particular, a device is also devised for the allocation of the block address of the non-spare area and the block address of the spare area.

図12は、非スペア領域のブロックアドレス、及びスペア領域のブロックアドレスの割り当て例を示す。   FIG. 12 shows an example of assignment of block addresses of non-spare areas and block addresses of spare areas.

図12に示す割り当て例においては、非スペア領域の実アドレスに、非スペア領域とスペア領域とを判別するフラグアドレスビットを付加する。さらに、非スペア領域ではフラグアドレスビットを“0”とし、スペア領域ではフラグアドレスビットを“1”とする。図12に示す割り当て例では、非スペア領域のブロックアドレスは、例えば、“y”を“0”か“1”かのいずれかとなるビットとし、最上位ビットを非スペア領域とスペア領域とを判別するフラグアドレスビットとしている。つまり、非スペア領域のブロックアドレスは、
(0yyyyyyyyyy)
とし、スペア領域のブロックアドレスは、
(1yyyyyyyyyy)
とする。勿論、非スペア領域とスペア領域とを判別するフラグアドレスビットは、最上位ビットである必要はなく、最下位ビットなど任意の位置のビットを用いることができる。
In the allocation example shown in FIG. 12, a flag address bit for discriminating between the non-spare area and the spare area is added to the real address of the non-spare area. Further, the flag address bit is set to “0” in the non-spare area, and the flag address bit is set to “1” in the spare area. In the example of allocation shown in FIG. 12, for the block address of the non-spare area, for example, “y” is set to either “0” or “1”, and the most significant bit is discriminated from the non-spare area and the spare area. Flag address bits to be used. In other words, the block address of the non-spare area is
(0yyyyyyyyyy)
And the block address of the spare area is
(1yyyyyyyyyy)
And Of course, the flag address bit for discriminating between the non-spare area and the spare area does not need to be the most significant bit, and a bit at an arbitrary position such as the least significant bit can be used.

さらに、本実施形態では、ブロックアドレスを、スペア領域のブロックアドレスに含まれる“0”のビットの数をなるべく減少させるように、割り当てる。このためには、まず、例えば、“1”ビットの数よりも“0”ビットの数が少なくなるように、ブロックアドレスを割り当てる必要がある。これには、スペア領域のブロックアドレスに、アドレスが全て“1”ビットであるようなブロックアドレス、例えば、
(11111111111)
が含まれるようにする。さらに、ブロックアドレスを、より適切に割り当てる方法の一例を以下に説明する。
Furthermore, in this embodiment, the block address is assigned so as to reduce the number of “0” bits included in the block address of the spare area as much as possible. For this purpose, first, for example, it is necessary to assign a block address so that the number of “0” bits is smaller than the number of “1” bits. For this, a block address in which the address is all “1” bits in the block address of the spare area, for example,
(11111111111)
To be included. Furthermore, an example of a method for assigning block addresses more appropriately will be described below.

フラグアドレスビット以外のアドレスビットが全て“1”の場合、図10に示す例では、
(11111111111)
をクラス0とする。また、クラスiは、クラス0の任意の“1”であるi個のビットを“0”に置き換えたものとする。例えば、クラス1はクラス0から1個のビットを“0”に置き換えたもの、クラス2はクラス0から2個のビットを“0”に置き換えたもの、…、となる。このようにして、クラス0、クラス1、クラス2、クラス3のように、クラスの少ないブロックアドレスを、選択的にスペア領域のブロックアドレスに割り当てる。このため、スペア領域のブロックアドレスは、結果として非連続となる。このようにすることにより、SE13に示したスペアブロックへのデータ転送に伴うブロックアドレスを記憶する領域、例えば、FAT領域の書き換えを、FAT領域の消去を必要とせず、高速に書き換えることができる。なぜなら、“1”データを“0”にするには、FATを含むブロック全体のデータを退避し、消去する必要があるのに対して、フラッシュメモリにおいて、“0”データを“1”データにする書き込みは、各ページに追加書き込みを行うことによって消去よりも高速に実現できるからである。
When all the address bits other than the flag address bits are “1”, in the example shown in FIG.
(11111111111)
Is class 0. Further, in class i, it is assumed that i bits that are arbitrary “1” of class 0 are replaced with “0”. For example, class 1 is obtained by replacing one bit from class 0 with “0”, class 2 is obtained by replacing two bits from class 0 with “0”, and so on. In this way, block addresses with fewer classes, such as class 0, class 1, class 2, and class 3, are selectively assigned to block addresses in the spare area. For this reason, the block address of the spare area becomes non-consecutive as a result. By doing so, rewriting of an area for storing a block address accompanying data transfer to the spare block shown in SE13, for example, the FAT area can be rewritten at high speed without the need to erase the FAT area. This is because, in order to set “1” data to “0”, it is necessary to save and erase data of the entire block including the FAT, whereas “0” data is changed to “1” data in the flash memory. This is because writing to be performed can be realized at higher speed than erasing by performing additional writing on each page.

一方、連続アドレスを非スペア領域として割り当てる典型的な方法では、ブロックアドレスが、たとえ適切に割り付けられたとしても、
クラス0である(11111111111)、
クラス1である(11111111110)、
クラス1である(11111111101)、
クラス2である(11111111100)、
クラス1である(11111111011)、
クラス2である(11111111010)、
クラス2である(11111111001)、
クラス3である(11111111000)、
のように、クラス3がクラス0の7個後に現れてしまう。同様に、クラスnはクラス0の(2n−1)個後に現れてしまう。
On the other hand, in the typical method of assigning consecutive addresses as non-spare areas, even if block addresses are properly assigned,
Class 0 (11111111111)
Class 1 (11111111110)
Class 1 (11111111101)
Class 2 (11111111100)
Class 1 (11111111011)
Class 2 (11111111010)
Class 2 (11111111001),
Class 3 (11111111000)
As shown, class 3 appears seven times after class 0. Similarly, class n appears after (2 n −1) class 0.

これに対して、本実施形態のアドレス割り当てでは、クラス0、クラス1、クラス2のアドレスのそれぞれの個数は、スペア領域を示すフラグを除いたデータビット数を“k”として、
1+k+k×(k−1)/2
となり、k=10である図12に示す例では、例えば、典型的な例の8−1=6個よりも遥かに多い最大56個のブロックアドレスまでクラス2以下に保つことができる。スペアブロックのアドレス選択は、非スペア領域の任意のアドレスに対して、例えば、図14に示すシーケンスに従って行えば良い。
On the other hand, in the address assignment of this embodiment, the number of addresses of class 0, class 1, and class 2 is set to “k” as the number of data bits excluding the flag indicating the spare area.
1 + k + k × (k−1) / 2
In the example shown in FIG. 12 in which k = 10, for example, up to 56 block addresses far more than the typical example of 8-1 = 6 can be kept below class 2. Spare block address selection may be performed, for example, in accordance with the sequence shown in FIG. 14 for any address in the non-spare area.

図14に示す例は、クラス2までのスペアブロックを準備した場合の置き換え例である。クラス数は、SE31〜SE33と同様なフローを各クラスについて作成し、クラスの高い順にSE30とSE31との間にシーケンスとして並べることにより、拡張できる。図14は、図11に示すSE13、又は後述する図19に示すSE25に対応するスペアブロックのアドレス選択シーケンスの例である。   The example shown in FIG. 14 is a replacement example when spare blocks up to class 2 are prepared. The number of classes can be expanded by creating a flow similar to SE31 to SE33 for each class and arranging them as a sequence between SE30 and SE31 in descending order of class. FIG. 14 shows an example of an address selection sequence for a spare block corresponding to SE13 shown in FIG. 11 or SE25 shown in FIG.

まず、SE30において、置き換えを行う元ページを含むブロックアドレスを取得し、取得したブロックアドレスの論理反転a1を作成する。この際、一般的には、スペア領域を示すフラグ領域を含まないで反転する必要があるが、上述したように、非スペア領域のブロックアドレスを、
(0yyyyyyyyyy)
とし、スペア領域のブロックアドレスを、
(1yyyyyyyyyy)
とした場合には、スペア領域を含んで反転しても良い。
First, in SE30, a block address including the original page to be replaced is acquired, and a logical inversion a1 of the acquired block address is created. At this time, generally, it is necessary to invert without including the flag area indicating the spare area, but as described above, the block address of the non-spare area is
(0yyyyyyyyyy)
And the block address of the spare area
(1yyyyyyyyyy)
In such a case, it may be reversed including the spare area.

次に、SE31において、論理反転a1とクラス2の空きスペアブロックアドレス(a2)との論理和を取り、各ビットで、1ビットでも“0”が含まれているか否かを判定する。“0”が含まれている場合、当該スペア領域のアドレスビットが“0”、即ち、消去状態であり、同時に、当該元データページ領域のアドレスビットが“1”、つまり、書き込み状態であることとなる。これ以外の場合には、FAT領域に含まれるデータページ領域のアドレスの変更に対して、各ビットで“0”の消去状態から、“0”の消去状態、又は書き込み状態“1”への変更のみとなる。よって、SE32において当該ページを、SE31で得たアドレスのスペアブロックに誤り訂正して転送し、FAT領域の、データページ領域のアドレスの変更については、消去を必要とせず追加書き込みを行えば良い。   Next, in SE31, the logical inversion a1 and the vacant spare block address (a2) of class 2 are ORed to determine whether or not “0” is included in each bit. When “0” is included, the address bit of the spare area is “0”, that is, in the erased state, and at the same time, the address bit of the original data page area is “1”, that is, in the written state. It becomes. In other cases, in response to a change in the address of the data page area included in the FAT area, each bit changes from “0” erase state to “0” erase state or write state “1”. It becomes only. Therefore, in SE32, the page is error-corrected and transferred to the spare block of the address obtained in SE31, and the change of the address of the data page area in the FAT area may be performed without erasing.

次に、SE33において、クラス2のデータ置き換えに、既に使用していない空きのスペアアドレスを全て調べたか否かを判定する。このSE31、SE33のシーケンスによって、全てのクラス2のブロックが調査される。   Next, in SE33, it is determined whether or not all spare spare addresses that are not already used are examined for class 2 data replacement. All class 2 blocks are examined by the sequence of SE31 and SE33.

次に、SE34において、論理反転a1とクラス1の空きスペアブロックアドレス(a2)との論理和を取り、各ビットで、1ビットでも“0”が含まれているか否かを判定する。“0”が含まれている場合、当該スペア領域のアドレスビットが“0”、即ち、消去状態であり、同時に、当該元データページ領域のアドレスビットが“1”、つまり、書き込み状態であることとなる。これ以外の場合には、FAT領域に含まれるデータページ領域のアドレスの変更に対して、各ビットで、“0”の消去状態から、“0”の消去状態、又は書き込み状態“1”への変更のみとなる。よって、SE35において当該ページを、SE34で得たアドレスのスペアブロックに誤り訂正して転送し、FAT領域の、データページ領域のアドレスの変更については、消去を必要とせず追加書き込みを行えば良い。   Next, in SE34, a logical sum of the logical inversion a1 and the empty spare block address (a2) of class 1 is calculated, and it is determined whether or not “0” is included in each bit. When “0” is included, the address bit of the spare area is “0”, that is, in the erased state, and at the same time, the address bit of the original data page area is “1”, that is, in the written state. It becomes. In other cases, in response to a change in the address of the data page area included in the FAT area, each bit changes from an erased state of “0” to an erased state of “0” or a written state “1”. Only changes. Therefore, in SE35, the page is error-corrected and transferred to the spare block of the address obtained in SE34, and the change of the address of the data page area in the FAT area may be performed without additional erasure.

次に、SE36において、クラス1のデータ置き換えに、既に使用していない空きのスペアアドレスを全て調べたか否かを判定する。このSE34、SE36のシーケンスによって、全てのクラス1のブロックが調査される。   Next, in SE36, it is determined whether or not all free spare addresses that have not been used for class 1 data replacement have been examined. All the class 1 blocks are examined by the sequence of SE34 and SE36.

次に、SE37において、クラス0の空きスペアブロックが既に使用されているか否かを調べる。なお、クラス0は全アドレスビットが“1”であるため、必ず追加書き込みのみでFATアドレスのスペアアドレスへの置き換えができる。使用されていない場合には、SE38において、当該ページをSE37で得たスペアブロックに誤り訂正して転送し、FAT領域の、データページ領域のアドレスの変更については、消去を必要とせず追加書き込みを行えば良い。SE37において、使用されていた場合には、SE39において、なるべくクラスの大きな空きスペアブロックアドレスを探し、当該ページをSE37で得たスペアブロックに誤り訂正して転送する。この際、FAT領域の、データページ領域のアドレスの変更については、“1”の書き込み状態から“0”の消去状態への転移をするビットが含まれる。よって、FAT領域のデータを一時退避し、FAT領域を消去した後、スペア領域へのアドレス置き換えを行ったFAT領域のデータを書き戻す必要がある。   Next, in SE37, it is checked whether or not an empty spare block of class 0 has already been used. Since all address bits of class 0 are “1”, the FAT address can be replaced with a spare address only by additional writing. If it is not used, the page is error-corrected and transferred to the spare block obtained in SE37 in SE38, and the address of the data page area in the FAT area is changed without additional erasing. Just do it. If it is used in SE37, an empty spare block address having a class as large as possible is searched for in SE39, and the page is error-corrected and transferred to the spare block obtained in SE37. At this time, the change of the address of the data page area in the FAT area includes a bit for shifting from the “1” write state to the “0” erase state. Therefore, it is necessary to temporarily save the data in the FAT area, erase the FAT area, and then write back the data in the FAT area that has been replaced with the spare area.

以上のように、FAT領域は、追加書き込みで変更が行われ、FAT領域の書き込み、及び消去の繰り返しによる劣化を防ぐことができ、より信頼性の高い半導体記憶装置が実現できる。さらに、FAT領域に対し、消去が必要になる確率を減少させることができるので、より高速にページの置き換え動作を実現することができる。   As described above, the FAT area is changed by additional writing, the deterioration due to repeated writing and erasing of the FAT area can be prevented, and a more reliable semiconductor memory device can be realized. Furthermore, since the probability of erasing the FAT area can be reduced, a page replacement operation can be realized at a higher speed.

次に、本実施形態のように、誤りビット数が予め決められた“1”を超えた基準値以上であることを判定し、スペアブロックに置き換える効果に関する、本件発明者の知見を説明する。   Next, the inventor's knowledge regarding the effect of determining that the number of error bits is equal to or greater than a predetermined reference value exceeding “1” and replacing it with a spare block as in this embodiment will be described.

1ビットあたりの良品率を“p”として、ページ長mビットの各ページにiビットのビット誤りを含む確率Piは、ページ長ビット数mが、誤りビット数iよりも充分大きな範囲においては以下のようなポアソン分布で与えられる。

Figure 0004686520
The probability P i that an i-bit bit error is included in each page having a page length of m bits, where the non-defective product rate per bit is “p”, is such that the page length bit number m is sufficiently larger than the error bit number i. It is given by the following Poisson distribution.
Figure 0004686520

信頼性の高い半導体記憶装置では、当然にビット不良を小さく抑制する必要があるので、“mp<1”は満たされている。つまり、確率Piは、誤りビット数iが大きくなると急激に減少する関数となる。 In a highly reliable semiconductor memory device, it is naturally necessary to suppress bit defects to be small, so that “mp <1” is satisfied. That is, the probability P i is a function that rapidly decreases as the number of error bits i increases.

次に、半導体記憶装置内のページ総数を“n”とし、iビットのビット誤りを含むページ数を“ki”とした場合、1、2、…、s個のビット誤りを含むページ数がk1、k2、…、ks個である確率(期待値)Pexは以下のようになる。

Figure 0004686520
Next, when the total number of pages in the semiconductor memory device is “n” and the number of pages including i-bit bit errors is “k i ”, the number of pages including 1, 2,. The probability (expected value) P ex of k 1 , k 2 ,..., k s is as follows.
Figure 0004686520

期待値Pexを、ビット不良となり得るk1、k2、…、ksの組み合わせで和を取ることにより、外部I/Oからみた不良率の計算を行うことができる。次いで、期待値Pexの対数を取って、“ki”で偏微分する。これによって、期待値Pexが最大となる点は、“n”が各“ki”よりも充分に大きく、各“ki”が1以上の場合、±8%以下の誤差で以下のようになる。

Figure 0004686520
By calculating the sum of the expected value Pex by the combination of k 1 , k 2 ,..., K s that can cause a bit failure, it is possible to calculate the failure rate as viewed from the external I / O. Next, the logarithm of the expected value P ex is taken and partial differentiation is performed with “ki”. Thus, the points expected value P ex is maximum, "n" is sufficiently larger than the "k i", in each case "k i" is 1 or more, the following the following error 8% ± become.
Figure 0004686520

よって、“ki”の期待値は、“ki”が1より充分に大きい場合には、
nPi/P0
に等しくなる。また、“ki≧1”の場合の“ki”の期待値は、
0.6×nPi/P0以上nPi/P0以下
の範囲に抑えられる。ここで、“Pi”は、“i”が大きくなると急激に減少する関数なので、i個の誤りビットを含むページ数の期待値kiは、“i”が大きくなるほど、
(mp)i/i!
に比例して急激に減少する。よって、誤りビット数が2以上の判定基準値以上に達したことを判定し、スペアブロックに置き換える本実施形態では、判定基準値を大きくすることによって、置き換えに必要なスペアブロック数を激減できる。
Therefore, when the expected value of the "k i" is, "k i" is sufficiently greater than 1,
nP i / P 0
Is equal to The expected value of “k i ” when “k i ≧ 1” is
The range is 0.6 × nP i / P 0 or more and nP i / P 0 or less. Here, “P i ” is a function that rapidly decreases as “i” increases. Therefore, the expected value k i of the number of pages including i error bits increases as “i” increases.
(Mp) i / i!
Decreases rapidly in proportion to. Therefore, in this embodiment in which it is determined that the number of error bits has reached the determination reference value of 2 or more and is replaced with a spare block, the number of spare blocks necessary for replacement can be drastically reduced by increasing the determination reference value.

加えて、判定基準値を、ECCの救済可能なビット数以内とすれば、判定基準値以下のビット誤りが生じても全てECCで救済可能であり、外部I/Oから出力されるデータは、誤りを全て訂正した情報ビットを出力できる。よって、判定基準値を、ECCで救済可能なビット数の最大値に設定する。判定基準値を、ECCで救済可能なビット数の最大値に設定することで、置き換えに必要なスペアブロック数を減少できる、という利点を得ることができる。   In addition, if the judgment reference value is within the number of bits that can be relieved by ECC, even if bit errors below the judgment reference value occur, all can be relieved by ECC, and the data output from the external I / O is: Information bits with all errors corrected can be output. Therefore, the determination reference value is set to the maximum number of bits that can be relieved by ECC. By setting the determination reference value to the maximum number of bits that can be relieved by ECC, it is possible to obtain the advantage that the number of spare blocks required for replacement can be reduced.

また、本件発明者は以下の事項も見出した。   The inventors have also found the following matters.

ページ総数nが、iビットのビット誤りを含むページ数kiより充分大きい場合には、“Pex”の書式から“Pi”が1より充分に小さい場合、“ki”の分布は、ほぼポアソン分布、
(nPiki/(ki)!×exp(−nPi
に従う。よって、“ki”の分散は“ki”の期待値に等しいと考えて良い。よって、1、2、…、s個のビット誤りを含むページ数の個数分布が求められ、k1、k2、…、ks個の期待値、及び分散を求めることができる。従って、判定基準値以上の誤りビットを含むページを置き換えるべきスペアブロック数を、統計的に計算することができる。例えば、t個のビット誤りを含むページ数の個数は、“kt”の期待値が5以上では、ポアソン分布の性質より正規分布に近似すると考えて良い。よって、t個のビット誤りを含むページに対し、
t+3×(kt0.5
のスペアブロックを用意すれば、99.7%以上の信頼度で、t個のビット誤りを含むページを全て置き換えることができる。
When the total number n of pages is sufficiently larger than the number of pages k i including bit errors of i bits, from the format of “P ex ”, when “P i ” is sufficiently smaller than 1, the distribution of “k i ” is Almost Poisson distribution,
(NP i ) ki / (k i )! Xexp (-nP i )
Follow. Thus, the dispersion of the "k i" may be considered to be equal to the expected value of "k i". Accordingly, the number distribution of the number of pages including 1, 2,..., S bit errors can be obtained, and k 1 , k 2 ,..., K s expected values and variances can be obtained. Therefore, it is possible to statistically calculate the number of spare blocks to be replaced with pages including error bits that are equal to or greater than the criterion value. For example, the number of pages including t bit errors can be considered to approximate a normal distribution due to the Poisson distribution property when the expected value of “k t ” is 5 or more. Thus, for a page containing t bit errors,
k t + 3 × (k t ) If 0.5 spare blocks are prepared, all pages including t bit errors can be replaced with a reliability of 99.7% or more.

さらに、本件発明者は、判定基準値以上の全てのページを置き換えられるだけのスペアブロックを統計的に見積もり、予め準備しておくことで、外部I/Oから見た誤りビットを生じさせる確率を減少できることを見出した。   Furthermore, the present inventor statistically estimates spare blocks that can replace all the pages that are equal to or higher than the criterion value, and prepares them in advance to increase the probability of generating error bits as viewed from the external I / O. I found that it can be reduced.

ここで、本実施形態に係る記憶装置のビット誤りは、例えば、書き込みや消去を繰り返すことによって出荷時より不可逆的に増大し、一度ビット誤りが生じたビットは正常には戻らないものとする。この場合、例えば、ページ長がmビットでtビットの誤り訂正を行えるECC回路を備えた構成で、tビットの誤りを生じた場合のページ置き換えを、n回まで行える場合には、ページ置き換えを行った当該データ単位に対して、(n+1)×tビットまでの誤り訂正を行えるECC回路を備えた構成と同等の不良率救済が可能である。   Here, it is assumed that the bit error of the storage device according to the present embodiment increases irreversibly from the time of shipment, for example, by repeating writing and erasing, and a bit once having a bit error does not return to normal. In this case, for example, in a configuration including an ECC circuit that can correct a t-bit error with a page length of m bits, if a page replacement can be performed up to n times when a t-bit error occurs, the page replacement is performed. The defective rate remedy equivalent to the configuration provided with the ECC circuit capable of performing error correction up to (n + 1) × t bits can be performed on the performed data unit.

ここで、“Pi”を計算したところで述べたように、ランダムビット不良の場合には、1ビットあたりの良品ビット確率を“p”として、ページ長mビットの各ページにiビットのビット誤りを含む確率Piは、“mp”が1よりも充分小さい場合、“i”が大きくなるほど、
(mp)i/i!
に比例して急激に減少する。よって、n回ページ置き換えを行ったページのデータは、少なくとも置き換えを行わないページのデータよりも、誤り訂正の行えないビット数を超えた誤りを生じる確率は、
(mp)nt倍以上
に急激に減少する。
Here, as described in the calculation of “P i ”, in the case of a random bit failure, a good bit probability per bit is set to “p”, and an i-bit bit error is generated for each page having a page length of m bits. If “mp” is sufficiently smaller than 1, the probability P i containing “i” increases as “i” increases.
(Mp) i / i!
Decreases rapidly in proportion to. Therefore, the probability that the data of the page that has been subjected to page replacement n times will cause an error that exceeds the number of bits that cannot be corrected at least than the data of the page that is not replaced,
(Mp) Decreases rapidly more than nt times.

以上より、2以上の判定基準値t以上に達したことを判定し、t個以上のビット誤りを含むページを全て置き換えする場合には、外部I/Oから見た誤りビットを生じさせる不良率を(mp)nt倍以上に急激に減少させることができる。 As described above, when it is determined that the determination reference value t is equal to or greater than 2 and all pages including t or more bit errors are replaced, the failure rate causing an error bit viewed from the external I / O. Can be rapidly reduced to (mp) nt times or more.

また、以上の議論から、一度置き換えたスペアブロックが不良になった場合に、さらに、スペアブロックで置き換えしても良い。それぞれのページに対してn回まで置換可能なスペアブロックを準備する、とすると、(n+1)×tビットまでの誤り訂正を行えるECC回路を備えた構成と同等の不良率救済が可能となる。しかも、不良率は
(mp)nt/(nt)!
に比例して急激に減少する。
From the above discussion, when a spare block that has been replaced once becomes defective, it may be replaced with a spare block. If a spare block that can be replaced up to n times is prepared for each page, the defect rate remedy equivalent to a configuration including an ECC circuit capable of correcting errors up to (n + 1) × t bits can be achieved. Moreover, the defect rate is (mp) nt / (nt)!
Decreases rapidly in proportion to.

さらに、詳細検討した結果、ECCで修正できるビット数を超えたページを置き換えられるスペアブロックの数を“bk”とすると、本実施形態のブロック置き換えを用いた場合には、少なくとも置き換えを行わない場合のECCを超えた許容誤り総ビット数akに、(bk×t)だけ加えた許容不良ビット数、即ち、ak+(bk×t)まで、ECCを超えた許容誤り総ビット数が緩和されることを見出した。よって、置き換えを行わない場合のECCを超えた許容誤り総ビット数をak´として、bk>ak´/tとするように、スペアブロックの数bkをさらに追加する。このようにすれば、不良率は、
(mp)nt/(nt)!
に比例して急激に減少するので、外部I/Oから見た誤りビット数が、ほぼ1ビットも無い状態を実現できる。
Further, as a result of detailed examination, if the number of spare blocks that can replace a page that exceeds the number of bits that can be corrected by ECC is “bk”, at least the replacement is not performed when the block replacement of this embodiment is used. The allowable error total number of bits exceeding ECC is relaxed to the allowable error bit number obtained by adding (bk × t) to the allowable error total bit number ak exceeding the ECC of (bk × t). I found. Therefore, the number of spare blocks bk is further added so that the total number of allowable errors exceeding the ECC when no replacement is performed is ak ′, and bk> ak ′ / t. In this way, the defect rate is
(Mp) nt / (nt)!
Since the number of error bits viewed from the external I / O is almost zero, it can be realized.

さらに、2回目に置き換えするのに必要なスペアブロック数の期待値を“k2s”とし、1回置き換えするのに必要なスペアブロック数の期待値を“ks”として、
2s≧1 かつ ks≧1
の場合には、(k2s/ks)が(P2s/Ps)に比例するので、(mp)sに比例して急激に減少する。よって、2回以上の置き換えに必要なスペアブロック数によるチップ面積増加は、1回以上の置き換えに必要なスペアブロック数によるチップ面積増加よりも充分小さい範囲に抑えられる。勿論、図12に示すスペア領域のアドレス構成を用いることによって、一度置き換えたスペアブロックが不良になった場合に、さらにスペアブロックで置き換えする場合でも、図12に示した、よりクラスの小さいアドレスを、2度以上の置き換えに用いることによって、FAT領域のデータページ領域の、アドレスの変更については、消去を必要とせず追加書き込みを行えば良く、高速で置き換え動作が実現できる。これは大きな利点である。
Furthermore, the expected value of the number of spare blocks required for the second replacement is “k 2s ”, and the expected value of the number of spare blocks required for the first replacement is “k s ”.
k 2s ≧ 1 and k s ≧ 1
In this case, since (k 2s / k s ) is proportional to (P 2s / P s ), it rapidly decreases in proportion to (mp) s . Therefore, the increase in the chip area due to the number of spare blocks required for replacement twice or more can be suppressed to a sufficiently smaller range than the increase in the chip area due to the number of spare blocks required for replacement once or more. Of course, by using the address configuration of the spare area shown in FIG. 12, even when the spare block once replaced becomes defective, even when the spare block is further replaced, the smaller class address shown in FIG. By using it for replacement twice or more, the address of the data page area in the FAT area can be changed by performing additional writing without the need for erasing, and a replacement operation can be realized at high speed. This is a great advantage.

一方、置き換えるべきスペアブロック数が、判定基準値を超えたページ数の、例えば、期待値よりも少ない場合には、スペアブロックで置き換えることができないtビット以上の誤りを含むデータページが存在する場合の数と、確率要素Pexとが存在する。このため、この場合には、全ての置き換えを行ったページよりも、少なくとも(mp)-nt倍、不良ビットを含む確率が大きくなり、外部I/Oから見た誤りビットを生じさせる確率を大幅に増大させてしまう。 On the other hand, when the number of spare blocks to be replaced is less than the expected value, for example, when the number of pages exceeds the determination reference value, there is a data page including an error of t bits or more that cannot be replaced with a spare block. And a probability element P ex exists. For this reason, in this case, the probability of including a defective bit is increased at least (mp) −nt times than the page where all replacements have been performed, and the probability of generating an error bit viewed from the external I / O is greatly increased. Will increase.

例えば、全ブロック数を“nblock”規定の最大書き込み及び消去回数後での不良ブロック数の最大保証値を“nbad”とし、ECCの誤り訂正可能なビット数を“ECC”ビット、誤りビット判定基準値ビット数を“id”ビットとすると、ブロック置き換えを行わない場合の平均的な誤りビットの状態は、統計的に以下の式が成立する。

Figure 0004686520
For example, the maximum guaranteed value of the number of bad blocks after the maximum number of writing and erasing specified by “n block ” is “n bad ”, and the number of ECC error-correctable bits is “ECC” bits and error bits. When the number of determination reference value bits is “id” bits, the following equation is statistically established as an average error bit state when block replacement is not performed.
Figure 0004686520

よって、上式を等号で置いた場合より、“mp”の上限mpmaxを求めることができる。これにより、本実施形態で必要な置き換えするブロック数の平均値の上限nreplaceは、以下の式で与えられる。

Figure 0004686520
Therefore, the upper limit mp max of “mp” can be obtained from the case where the above equation is placed with an equal sign. Thereby, the upper limit n replace of the average value of the number of blocks to be replaced required in the present embodiment is given by the following equation.
Figure 0004686520

ブロック数のばらつきまで考慮する場合は、上述の議論のように“nblocki”の分散を、“nblocki”と考え、信頼度を設定して計算すれば良い。本実施形態では当然に、信頼度を大きく取れば、上記“nreplace”よりも大きな置き換えブロック数が必要となる。また、式のnblock、nbad、及びnreplaceは、1ブロックを分割して各ページで置き換えたり、分割ページで置き換えたりする場合には、ブロック数を、それぞれページ数、分割ページ数と考えて計算すれば良い。なお、ECCで救済不可能なビット不良が生じる確率の総和の計算は、確率Pexを、各場合の数で足し合わせることで計算できる。 When considering up to the variation of the number of blocks, the distribution of as in the above discussion "n block P i", considered "n block P i", may be calculated by setting the reliability. Naturally, in the present embodiment, if the reliability is high, a larger number of replacement blocks than “n replace ” is required. In addition, the expressions n block , n bad , and n replace are regarded as the number of pages and the number of divided pages, respectively, when one block is divided and replaced with each page or replaced with divided pages. Just calculate. The total probability of occurrence of bit failures that cannot be remedied by ECC can be calculated by adding the probability P ex by the number in each case.

以上より、本実施形態の構成、即ち、ECCでの誤りビットの判定基準値以上の全てのページを置き換えられるだけのスペアブロックを統計的に見積もり、予め準備しておくことで、外部I/Oから見た誤りビットを生じさせる確率を減少できる。   As described above, the external I / O can be obtained by statistically estimating and preparing in advance the spare block that can replace all pages that are equal to or greater than the error bit determination reference value in the ECC according to the present embodiment. As a result, the probability of generating an error bit seen from the above can be reduced.

ここで、ROM111には、ページ置き換えを行う誤りビットの基準値を記憶するものとするが、これは、例えば、図11に示したように、フローチャートのプログラムの判断値として記憶しても良い。また、勿論、例えばシーケンサーなどのハードウェアで誤りビット数判定回路6を構成してもよい。   Here, the ROM 111 stores a reference value of an error bit for page replacement, but may be stored as a judgment value of a program of a flowchart as shown in FIG. 11, for example. Of course, the error bit number determination circuit 6 may be configured by hardware such as a sequencer.

また、図11に示す例では、Peterson法を用いて誤り位置ローケータを計算する方法を示したが、勿論、他の方法、例えば、ユークリッド法やBerlekamp-Massey法を用いて誤り位置ローケータを計算しても良い。   In the example shown in FIG. 11, the method of calculating the error position locator using the Peterson method is shown. Of course, the error position locator is calculated using another method, for example, the Euclidean method or the Berlekamp-Massey method. May be.

さらに、本実施形態以外の全ての実施形態について言えることであるが、Reed-Solomon(RS)符号についても、BCH符号と同様に、Peterson法、ユークリッド法、あるいはBerlekamp-Massey法を用いて、シンドロームから誤り位置ローケータを求めることができる。従って、本実施形態により説明した構成、及び効果を実現できる。   Furthermore, as can be said with respect to all the embodiments other than the present embodiment, the Reed-Solomon (RS) code also uses the Peterson method, the Euclidean method, or the Berlekamp-Massey method in the same manner as the BCH code. From this, an error position locator can be obtained. Therefore, the configuration and effects described in the present embodiment can be realized.

図15に、第1のメモリセルブロックの内容の誤りを訂正し、第2のメモリセルブロックに書き込み、誤りビットを含むデータを置き換える例を示す。なお、ここでスペア領域からなる第2のメモリセルブロックを、第1のメモリセルブロックと実質上同じ構造とする。これにより、メモリセルアレイの面積が縮小され、より安価なチップを構成できる、という利点を得ることができる。また、本例の第2のメモリセルブロックの1ブロック内の総ページ数は、少なくとも第1のメモリセルブロックの1ブロック内の総ページ数以上である必要がある。   FIG. 15 shows an example in which an error in the contents of the first memory cell block is corrected, data is written to the second memory cell block, and data including error bits is replaced. Here, the second memory cell block formed of the spare area has substantially the same structure as the first memory cell block. Thereby, the area of the memory cell array can be reduced, and an advantage that a cheaper chip can be configured can be obtained. Further, the total number of pages in one block of the second memory cell block of this example needs to be at least equal to or greater than the total number of pages in one block of the first memory cell block.

まず、SE40において、ページカウンタ10を、最初のページを示すようにリセットする。   First, in SE40, the page counter 10 is reset to indicate the first page.

次に、SE41において、誤りビット判定基準値以上のページを含む第1のメモリセルブロックについて、ページカウンタ10の示すページを読み出し、誤り訂正してページバッファ11に記憶する。この際、必要に応じ、例えば、本ブロックの読み出し操作が当該システム外より指示されている場合には、本読み出し内容を外部I/Oから出力しても良い。   Next, in SE41, the page indicated by the page counter 10 is read out, corrected for error, and stored in the page buffer 11 for the first memory cell block including a page equal to or greater than the error bit determination reference value. At this time, if necessary, for example, when a read operation of this block is instructed from outside the system, the content of the main read may be output from the external I / O.

次に、SE42において、ページカウンタ10の示すスペア領域の第2のメモリセルブロックに、ページバッファ11の内容を誤り検出符号になるように符号化して書き込む。この書き込みの情報ビットに加え、データ書き込み終了フラグを、書き込み終了後に第2のメモリセルブロックの他のビットに書き込んでも良い。このようにすると、書き込み時の電源の遮断による書き込み失敗を検出し、復帰シーケンスを行うことができる。   Next, in SE42, the contents of the page buffer 11 are encoded and written to the second memory cell block in the spare area indicated by the page counter 10 so as to become an error detection code. In addition to the write information bits, a data write end flag may be written to other bits of the second memory cell block after the write ends. In this way, it is possible to detect a writing failure due to power interruption during writing and perform a return sequence.

次に、SE43において、ページカウンタ10のカウント値を、例えば、“1”増やす。   Next, in SE43, the count value of the page counter 10 is increased by, for example, “1”.

次に、SE44において、ページカウンタ10が全てのページのインデックスを参照したか否かを判定する)。これは、ページカウンタ10のカウント値を、“1”ずつ増やすSE43のシーケンスを用いている場合には、第1のメモリセルブロックに含まれる総ページ数と比較してインデックスがそれ以下か否かを判定することと等価である。本例では、メモリセルブロックごとの置き換えの方法を示したが、勿論、各ページごとに置き換えを行っても良い。この場合には、ページカウンタ10は必要ない。スペアブロック領域で置き換えを行うページのページアドレスは、誤りビット判定基準値以上の元のページのページアドレス対して、“0”ビットが“0”か“1”ビットに対応し、“1”ビットは“1”ビットに対応するように、スペアブロック領域のページアドレスを選択する。これにより、ページアドレスについてのFAT変更についても追加書き込みで対応でき、消去する必要がなくなり、高速書き換えが実現できる。   Next, in SE44, it is determined whether or not the page counter 10 refers to the indexes of all pages). This is because, when the sequence of SE43 that increments the count value of the page counter 10 by “1” is used, whether or not the index is lower than the total number of pages included in the first memory cell block. Is equivalent to determining In this example, the replacement method for each memory cell block is shown, but of course, replacement may be performed for each page. In this case, the page counter 10 is not necessary. The page address of the page to be replaced in the spare block area corresponds to the “0” or “1” bit for the page address of the original page that is equal to or higher than the error bit determination reference value, and the “1” bit. Selects the page address of the spare block area so as to correspond to the “1” bit. As a result, the FAT change for the page address can be dealt with by additional writing, eliminating the need for erasing and realizing high-speed rewriting.

図16にページバッファの回路例を示す。図16に示す回路例は、情報ビット数であるkビットのデータを一時記憶するページバッファ11の例である。   FIG. 16 shows a circuit example of the page buffer. The circuit example shown in FIG. 16 is an example of the page buffer 11 that temporarily stores k-bit data that is the number of information bits.

本例では、D型フリップフロップ201を直列にk段接続し、最終段の出力をnチャネル型トランジスタ202、pチャネル型トランジスタ203、及びインバータ204からなる双方向スイッチ回路(bi-lateral switching circuit)によって接続している。なお、本例のD型フリップフロップ201としては、クロック入力が“L”(ここでは便宜的に0Vとする)から、“H”(ここでは便宜的にVccとする)に立ち上がる瞬間に出力が確定し、それ以後はクロックが“H”のままでも、“L”のままでも、“H”から“L”へ変化しても出力は変化しないエッジトリガー(edge trigger)型のフリップフロップとする。さらに、双方向スイッチ回路は、データ出力制御入力が“H”の場合に、トランジスタ202、203の電流端子が導通状態となり、“L”の場合に遮断状態となる回路である。図17に、その回路の動作を示す。   In this example, D-type flip-flops 201 are connected in series in k stages, and the output of the final stage is a bi-lateral switching circuit composed of an n-channel transistor 202, a p-channel transistor 203, and an inverter 204. Connected by. The D-type flip-flop 201 of this example outputs an output at the moment when the clock input rises from “L” (for convenience, 0 V here) to “H” (for convenience, Vcc here). After that, an edge trigger type flip-flop in which the output does not change even if the clock remains “H”, “L”, or changes from “H” to “L”. . Further, the bidirectional switch circuit is a circuit in which the current terminals of the transistors 202 and 203 are turned on when the data output control input is “H” and turned off when the data output control input is “L”. FIG. 17 shows the operation of the circuit.

図17に示すように、D型フリップフロップ201にデータを記憶する場合には、まず、データ出力制御入力を“L”とし、フリップフロップ201の出力がデータ入出力線に出力されないようにする。さらに、データ入出力(I/O)線に、Vcc(“H”)か0V(“L”)のディジタルデータDin1を与えた後、クロックを“L”から“H”にする。これにより、データDin1のデータが、図16中の最も左側に示されるフリップフロップ201に保持される。次いで、データ入出力(I/O)線に、Vcc(“H”)か0V(“L”)のディジタルデータDin2を与えた後、クロックを“L”から“H”にする。これにより、データDin1が、図16中の左から2番めに示されるフリップフロップ201に転送及び保持され、最も左側に示されるフリップフロップ201にデータDin2が保持される。後は、順次kビットまでデータ入出力(I/O))線にディジタルデータを与え、クロックを与えることにより、図16中の最も右側に示されるフリップフロップ201から順に、“Din1、Din2、…Dink”のデータが保持される。このようにして、ページバッファ11は、kビットのデータを保持する。   As shown in FIG. 17, when data is stored in the D-type flip-flop 201, first, the data output control input is set to “L” so that the output of the flip-flop 201 is not output to the data input / output line. Further, after Vcc (“H”) or 0 V (“L”) digital data Din1 is applied to the data input / output (I / O) line, the clock is changed from “L” to “H”. As a result, the data Din1 is held in the flip-flop 201 shown on the leftmost side in FIG. Next, Vcc (“H”) or 0 V (“L”) digital data Din2 is applied to the data input / output (I / O) line, and then the clock is changed from “L” to “H”. Thereby, the data Din1 is transferred and held in the flip-flop 201 shown second from the left in FIG. 16, and the data Din2 is held in the flip-flop 201 shown on the leftmost side. Thereafter, digital data is sequentially applied to the data input / output (I / O) line up to k bits, and a clock is applied, so that “Din1, Din2,... In order from the rightmost flip-flop 201 shown in FIG. Data of “Dink” is held. In this way, the page buffer 11 holds k-bit data.

本例に係るページバッファ11からデータを読み出す際、まず、データ出力制御入力を“H”とし、図16中の最も右側に示されるフリップフロップ201の出力をデータ入出力(I/O)線に出力する。これにより、データ入出力(I/O)線には、データDin1のデータと同じデータ(ここではDout1とする)が出力される。さらに、クロック入力を“L”から“H”にする。これにより、図16中の最も右側に示されるフリップフロップ202に1ビットデータが転送され、保持される。その結果、データ入出力(I/O)線には、データDin2のデータと同じデータ(ここではDout2とする)が出力される。後は、全部で(k−1))回クロック入力を“L”から“H”にすることにより、データ入出力(I/O)線に、図16中の最も右側に示されるフリップフロップ201から順に“Din1、Din2、…、Dink”のデータが出力される。このようにして、ページバッファ11は、kビットのデータを出力する。   When reading data from the page buffer 11 according to this example, first, the data output control input is set to “H”, and the output of the flip-flop 201 shown on the rightmost side in FIG. 16 is used as the data input / output (I / O) line. Output. As a result, the same data as the data Din1 (here, Dout1) is output to the data input / output (I / O) line. Further, the clock input is changed from “L” to “H”. As a result, 1-bit data is transferred to and held in the flip-flop 202 shown on the rightmost side in FIG. As a result, the same data as the data Din2 (here, Dout2) is output to the data input / output (I / O) line. Thereafter, by changing the clock input from “L” to “H” a total of (k−1) times, the flip-flop 201 shown on the rightmost side in FIG. 16 is connected to the data input / output (I / O) line. The data of “Din1, Din2,..., Dink” are output in order. In this way, the page buffer 11 outputs k-bit data.

本実施形態は、さらに以下の要件、及び効果を持つ。   The present embodiment further has the following requirements and effects.

(1) 本明細書に開示する全ての実施形態は、ECCの救済できるビット数を増やさなくても、外部I/Oから見た不良率を減少できる。よって、ECCの救済できるビット数を増やす時に生じる、ECC誤りビットの位置を計算する計算時間、及び回路面積をそれぞれ削減できる。また、ECCで救済できるビットが1ビット増えると、少なくとも、log2(n)個の小数点を切り上げたビット数だけ、ECCが使うビット数が増大する。よって、符号長が長くなってしまう事情や、結果、チップ面積が増加したり、ユーザが使用できるデータビット数が減少する事情を解消でき、より小さなメモリセルアレイ面積で信頼度の高い記憶装置を実現できる。 (1) All embodiments disclosed in this specification can reduce the defect rate as viewed from the external I / O without increasing the number of bits that can be relieved by ECC. Therefore, it is possible to reduce the calculation time for calculating the position of the ECC error bit and the circuit area, which are generated when the number of bits that can be relieved by ECC is increased. When the number of bits that can be relieved by ECC increases by one, the number of bits used by ECC increases by at least the number of bits obtained by rounding up log 2 (n) decimal points. Therefore, the situation that the code length becomes long, and as a result, the chip area increases or the number of data bits that can be used by the user can be solved, and a highly reliable storage device is realized with a smaller memory cell array area. it can.

システムの具体的構成で述べた量、空きスペア領域を準備することにより、外部I/Oから見たメモリ領域を、スペア領域との置き換えによってメモリの寿命まで信頼度を踏まえて保証することができる。   By preparing the spare spare area in the amount described in the specific configuration of the system, the memory area viewed from the external I / O can be guaranteed based on the reliability up to the life of the memory by replacing the spare area. .

また、ECCで修正できるビット数を超えたページを、置き換えられる置き換えスペアブロックの数を“bk”とし、誤りビット判定基準値を“t”とし、置き換えを行わない場合のECCを超えた許容誤り総ビット数を“ak´”として、“bk>ak´/t”とするように、スペアブロックの数bkを、さらに追加しておけば、外部I/Oから見た誤りビット数が、ほぼ1ビットもない状態を実現することができ、従来には無い程に信頼性が高い半導体記憶装置を実現できる。また、1ビットより大きい誤りビット基準値を用いることによって、従来には無い程に置き換えスペアブロックの数を少なくすることができ、より面積の小さな集積回路を実現できる。特に、全ブロック数を“nblock”、規定の最大書き込み及び消去回数後、または製品保証寿命時点での置き換え必要なブロック数の最大保証値を“nbad”とし、ECCの誤り訂正可能なビット数をECCビット、誤りビット判定基準値ビット数をidビットとすると、少なくとも以下の式以上の置き換えブロック数nreplaceを形成することにより、実施形態における不良率低減の効果が、さらに高まる。

Figure 0004686520
Also, for pages that exceed the number of bits that can be corrected by ECC, the number of replacement spare blocks that can be replaced is set to “bk”, the error bit determination reference value is set to “t”, and the allowable error exceeds the ECC when replacement is not performed. If the number of spare blocks bk is further added so that the total number of bits is “ak ′” and “bk> ak ′ / t”, the number of error bits viewed from the external I / O is almost equal. A state in which there is no one bit can be realized, and a semiconductor memory device with higher reliability than ever can be realized. Further, by using an error bit reference value larger than 1 bit, the number of replacement spare blocks can be reduced as compared with the conventional case, and an integrated circuit with a smaller area can be realized. In particular, the number of blocks is “n block ”, the maximum guaranteed value of the number of blocks required to be replaced after the specified maximum number of writes and erasures or at the end of the product warranty life is “n bad ”, and ECC error correction bits When the number is ECC bits and the number of error bit determination reference value bits is id bits, the defect rate reduction effect in the embodiment is further enhanced by forming a replacement block number n replace that is at least equal to or greater than the following expression.
Figure 0004686520

Figure 0004686520
Figure 0004686520

なお、上式中の“a”は、式を連立させることにより消去できる変数である。また、式のnblock、nbad、及びnreplaceは、1ブロックを分割して各ページで置き換えたり、分割ページで置き換えたりする場合には、ブロック数を、それぞれページ数、分割ページ数と考えて計算すればよい。 Note that “a” in the above equation is a variable that can be deleted by simultaneous equations. In addition, the expressions n block , n bad , and n replace are regarded as the number of pages and the number of divided pages, respectively, when one block is divided and replaced with each page or replaced with divided pages. To calculate.

さらに、id≦ECCであるから、下式が成立する。

Figure 0004686520
Further, since id ≦ ECC, the following expression is established.
Figure 0004686520

(2) さらに、置き換えスペアブロックによってブロック置き換えを行う確率は、
1−(全てのページで誤り地が判定基準値より小さくなる条件でのPexの総和)
として、定量的に計算することができる。よって、ブロック置き換えに必要な時間が生じる発生確率を求めることができ、システムのパフォーマンスを定量的に保証することができる。これは、例えば、n1、n2をn1<n2となる自然数として、書き込み及び消去回数がn1回までは、スペアブロックの置き換え確率が0%でシステムが外部I/Oからアクセスできない時間が生じないという保証に加え、例えば、n1回からn2回までは、スペアブロックの置き換え確率をr、書き換えに係る時間をtkとすると、tk×rだけシステムが外部I/Oからアクセスできない時間が生じる、という製品保証をすることができる。これにより、従来装置よりも、信頼度を定量的に保証した信頼性の高い半導体記憶装置を実現できる。
(2) Furthermore, the probability of performing block replacement with a replacement spare block is:
1- (total sum of P ex under the condition that the error location is smaller than the criterion value in all pages)
Can be calculated quantitatively. Therefore, the probability of occurrence of the time required for block replacement can be obtained, and the system performance can be quantitatively guaranteed. For example, when n1 and n2 are natural numbers satisfying n1 <n2, the spare block replacement probability is 0% and the system cannot be accessed from the external I / O until the number of times of writing and erasing is n1. In addition to guarantee, for example, from n1 to n2 times, if the replacement probability of the spare block is r and the time for rewriting is tk, the product that the system cannot access from the external I / O by tk × r occurs You can make a guarantee. Thereby, it is possible to realize a highly reliable semiconductor memory device in which reliability is quantitatively guaranteed as compared with the conventional device.

(3) データ記憶システムの半導体記憶装置7は、誤り訂正ビットを含む複数の半導体メモリが形成されており、誤り訂正ビットを含まない記憶回路とメモリセルアレイのロウ方向の数が異なるのみでデータ破壊検出専用セルなど特別な回路や手段は半導体記憶装置7には必要ない。よって、特に、誤り訂正ビットと情報記憶ビットとを隣接して同様のパターンで繰り返し形成することができるため、従来と同じ半導体記憶装置7を用いて安価でチップ面積の小さいデータ記憶システムを実現できる。さらに、本実施形態では、データを実際読み出す場合に、各ページごとに誤りを生じたビット数の検知を行う。例えば、従来装置のように、電源投入および遮断時などの外部I/Oからのデータを読み出す必要がない時に、リフレッシュのためにデータを読み出す必要はない。よって、データのリフレッシュに必要な処理時間や電力を削減でき、より実読み出しの回数の多いページに対して多く誤り検知ができる。特に、この構成は、消去及び書き込み時にしきい値が設定内に入っているか否か調べるべりファイ読み出し動作を含む場合には、書き込み及び消去による誤りビット発生も検知することができ、より信頼性の高い半導体記憶装置が実現できる。さらに、誤り訂正必要な情報ビットが発生した時点より後に、必ず誤り検知がなされる。よって、誤りビットを生じる、いわゆる“裾ビット”の統計的挙動がチップ間または経時変化によって変化しても正しく誤り検知を行うことができる。   (3) In the semiconductor memory device 7 of the data storage system, a plurality of semiconductor memories including error correction bits are formed, and the data destruction is performed only by the difference in the number of rows in the memory cell array and the memory circuit not including the error correction bits. No special circuit or means such as a detection dedicated cell is required for the semiconductor memory device 7. Therefore, in particular, since the error correction bit and the information storage bit can be repeatedly formed in the same pattern adjacent to each other, an inexpensive data storage system having a small chip area can be realized by using the same semiconductor memory device 7 as the conventional one. . Furthermore, in the present embodiment, when data is actually read, the number of bits in which an error has occurred is detected for each page. For example, there is no need to read data for refresh when there is no need to read data from an external I / O, such as when power is turned on and off, as in conventional devices. Therefore, it is possible to reduce the processing time and power required for refreshing data, and it is possible to detect a large number of errors for a page with a larger number of actual reads. In particular, this configuration can detect the occurrence of error bits due to writing and erasure when it includes a read-out operation to check whether the threshold value is within the setting at the time of erasing and writing. A semiconductor memory device having a high level can be realized. Further, error detection is always performed after the time point when information bits requiring error correction are generated. Therefore, even if the statistical behavior of so-called “bottom bits” that generate error bits changes between chips or changes with time, error detection can be performed correctly.

(4) ECC回路100は、誤りビット訂正を行える回路を有しており、データを外部I/Oに出力する過程で“1”から“0”へのデータ誤りでも、“0”から“1”へのデータ誤りのいずれでも訂正を行える。よって、本構成で、読み出しストレスによる消去ビットの書き込み状態への転移(read-disturb)のデータ訂正と共に、書き込みデータ保持不良のデータ訂正、NAND構造で課題となる設定以上のしきい値への過剰書き込み(over program)のデータ訂正、非選択データ線に接続されたメモリセルに書き込みを行うことによる誤書き込みのデータ訂正も行うことができる。   (4) The ECC circuit 100 has a circuit that can perform error bit correction. Even when a data error occurs from “1” to “0” in the process of outputting data to the external I / O, “0” to “1”. Any error in the data can be corrected. Therefore, with this configuration, data correction of read-disturb of erased bits due to read stress, data correction of write data retention failure, excessive threshold value exceeding the setting that is a problem in NAND structure Data correction for overwriting and erroneous data correction by writing to memory cells connected to non-selected data lines can also be performed.

(5) 例えば、図3に示すように、選択ゲートトランジスタS1、S2間に、複数のページに相当するメモリセルM0〜M15を形成し、これらを1ブロックとして用い、メモリセルM0からM15までのデータを同時消去するメモリでは、1ブロックの消去時間に対して、1ページの書き込み時間を非常に小さくできるので、予め消去されたスペアブロックを形成しておくことで、スペア領域への置き換え時間を短くできる。   (5) For example, as shown in FIG. 3, memory cells M0 to M15 corresponding to a plurality of pages are formed between the select gate transistors S1 and S2, and these are used as one block. In a memory that simultaneously erases data, the write time for one page can be made very small compared to the erase time for one block. Therefore, by forming a spare block that has been erased in advance, the replacement time for the spare area can be reduced. Can be shortened.

(6) 本実施形態では、従来装置と異なり、実際の誤りビットを、誤り訂正符号化したデータより直接検出している。よって、符号化したいずれのビットが、書き込みストレスや読み出しストレスに非常に弱いセル、即ち“裾ビット”であっても、データ誤りが生じた時点で正しく検出できる。よって、データ置き換え間隔を実メモリセルの“裾ビット”の特性に即して設定でき、より長くすることによりデータ置き換えに費やされる時間を短くできる。   (6) In the present embodiment, unlike the conventional apparatus, actual error bits are directly detected from the data subjected to error correction coding. Therefore, even if any of the encoded bits is a cell that is very weak against write stress or read stress, that is, “bottom bit”, it can be correctly detected when a data error occurs. Therefore, the data replacement interval can be set in accordance with the characteristics of the “base bit” of the actual memory cell, and the time spent for data replacement can be shortened by increasing the data replacement interval.

(7) 本実施形態では、1ページに対して1回のデータ読み出しによって誤りビット検出を行っている。よって、従来の誤り訂正を検出しない場合と比較して読み出しにかかる時間は変化せず、高速で読み出しを行うことができる。   (7) In this embodiment, error bit detection is performed by reading data once per page. Therefore, the time required for reading does not change as compared with the case where conventional error correction is not detected, and reading can be performed at high speed.

(8) 本実施形態に係るデータ記憶システムでは、電源遮断、電源投入、及び1つのページのデータを外部データ出力端子より読み出す一連の動作を複数回繰り返した場合にはブロック置き換え動作を行えるため、ページに書き込んだ情報データと同じ情報データが読み出せる回数は、ブロック置き換え動作を行えるため、前記1つのページのデータを連続的に読み出す操作をページに書き込んだ情報データと同じ情報データが読み出せる回数よりも多くできる。よって、システム外部から見て、半導体記憶回路7単体よりも、読み出しストレスによる消去ビットの書き込み状態への転移(read-disturb)に対して信頼性が向上したデータ記憶システムとなる。また、書き込み消去を繰り返すことにより頻度が増大する書き込み設定値を超えた不良ビット(over- program)に対しても、本実施形態の置き換えを行うことにより、書き込み消去の繰り返し回数を実質伸ばすことができ、より信頼性が向上する。   (8) In the data storage system according to the present embodiment, the block replacement operation can be performed when a series of operations of turning off the power, turning on the power, and reading one page of data from the external data output terminal are repeated a plurality of times. The number of times that the same information data as the information data written to the page can be read is the number of times that the same information data as the information data written to the page can be read because the block replacement operation can be performed. Can do more. Therefore, when viewed from the outside of the system, the data storage system is improved in reliability with respect to the read-disturb transition of the erase bit due to the read stress as compared with the semiconductor memory circuit 7 alone. In addition, the number of repetitions of write / erase can be substantially increased by replacing the present embodiment even for defective bits (over-program) that exceed the write set value, which increases in frequency due to repeated write / erase. And more reliable.

(9) 本実施形態では、スペア領域である第2のメモリセルブロックを、出荷前に予め消去すればよく、スペア領域へのデータ書き換えに対して、消去時間分を短くすることができる。   (9) In this embodiment, the second memory cell block, which is a spare area, may be erased in advance before shipment, and the erase time can be shortened with respect to data rewriting to the spare area.

(10) ここでは2ビットの誤り修正可能な巡回BCH符号の、符号回路および復号回路を示したが、勿論、他の符号系、例えば、一般のBCH符号やM系列符号、畳み込み符号(convolutional code)、差集合巡回符号でも良く、それらを組み合わせても良い。ただし、第2の内部I/O線の配線数、及び第1の内部I/O線の配線数を少なくするためには、時系列で情報ビットを与えられ、少ない回路規模で符号化及び復号化できる巡回符号であるのが良い。また、例えば、符号語を、rビットまとめた2r個の元を持つ、いわゆるバイト符号でも勿論良く、例えば、BCH符号系の中でのバイト符号であるリードソロモン符号でもよい。バイト符号の場合には、まず、元の何れかが誤りがあるというバイト誤りを検出し、その後に、誤り訂正前のバイトと誤り訂正後のバイトを1ビットずつ比較することにより、そのバイト内のデータの各ビットで誤りを生じたビットを“1”か“0”かを判別すれば良い。この後、例えば、上記判定結果で、少なくとも1つのビットで誤っている場合に、置き換え動作を行うようにすれば良い。また、畳み込み符号としては、例えば1ビット誤り訂正可能なワイナー・アッシュ符号(Wyner-Ash code)や、バースト誤り訂正可能な岩垂符号(Iwadare code), ハーゲルバーガー符号(Hagelbarger code)を用いることができる。 (10) Although a coding circuit and a decoding circuit of a 2-bit error-correctable cyclic BCH code are shown here, of course, other code systems, for example, a general BCH code, an M-sequence code, a convolutional code (convolutional code) ), A difference set cyclic code, or a combination thereof. However, in order to reduce the number of second internal I / O lines and the number of first internal I / O lines, information bits are given in time series, and encoding and decoding are performed with a small circuit scale. It is preferable that the cyclic code can be converted into a cyclic code. Further, for example, a so-called byte code having 2 r elements obtained by collecting r bits of a code word may be used. For example, a Reed-Solomon code which is a byte code in the BCH code system may be used. In the case of a byte code, first, a byte error that one of the originals has an error is detected, and then the byte before error correction and the byte after error correction are compared one bit at a time. What is necessary is just to discriminate | determine whether the bit which produced the error in each bit of this data is "1" or "0". After this, for example, when the determination result is erroneous in at least one bit, the replacement operation may be performed. Also, as the convolutional code, for example, a 1-bit error-correctable Wiener-Ash code, a burst error-correctable Iwadare code, or a Hagelbarger code may be used. it can.

(11) 図15に示すシーケンスにおいて、センスアンプ/データレジスタ回路46は、1ページ分の情報を貯えるだけで、本コピーを実現でき、外部I/Oから外部に対してデータを読み出したり、外部テンポラリメモリを設けたりする必要はない。よって、外部I/Oを通じることによるデータ転送にかかる時間がなく、高速にシーケンスを実行でき、外部I/O回路を駆動する電力を削減できる。   (11) In the sequence shown in FIG. 15, the sense amplifier / data register circuit 46 can realize the main copy only by storing information for one page, read data from the external I / O to the outside, There is no need to provide a temporary memory. Therefore, there is no time for data transfer through the external I / O, the sequence can be executed at high speed, and the power for driving the external I / O circuit can be reduced.

(第2実施形態)
第2実施形態は、第1実施形態とほぼ同一であるが、ECCで救済する場合のシーケンス及び回路構成が、第1実施形態と異なっている。第2実施形態において、第1実施形態と同一の部分や同一の電圧関係については、図面において同一符号を付し、もしくは割愛し、重複する説明は省略することにする。
(Second Embodiment)
The second embodiment is almost the same as the first embodiment, but the sequence and circuit configuration for the case of repair by ECC are different from the first embodiment. In the second embodiment, the same portions and the same voltage relationship as those in the first embodiment are denoted by the same reference numerals or omitted in the drawings, and redundant description will be omitted.

図18は、第2実施形態に係る装置が備えるECC回路100のブロック例を示すブロック図である。   FIG. 18 is a block diagram illustrating a block example of the ECC circuit 100 included in the apparatus according to the second embodiment.

図18に示すように、第2実施形態に係る装置が備えるECC回路100は、シンドローム計算器15の出力(シンドローム)s1、s3、…、s2t-1(シンドローム入力)を、誤り位置ローケータ対応ROM112に入力する。誤り位置ローケータ対応ROM112は、誤り位置ローケータα-i、α-j、…α-n(誤り位置ローケータ入力)と、誤りビット個数を示す情報ビットとを出力する。これらの出力は、I/Oポート106に入力される。誤りビット数判定回路6は、誤りビット個数分だけ、誤り位置ローケータの示す誤り位置のビットを反転することによって、誤り訂正された符号出力を得ることができる。誤りビット数基準値記憶部111のROMは、本例では、ページ置き換えを行う誤りビットの基準値を記憶するものとするが、これは、例えば、第1実施形態のROM111と同様に、図11に示すフローチャートのプログラムの判断値を記憶するようにしても良い。勿論、例えば、シーケンサーなどのハードウェアで誤りビット数判定回路6を構成しても良い。 As shown in FIG. 18, the ECC circuit 100 included in the apparatus according to the second embodiment uses the outputs (syndrome) s1, s3,..., S 2t-1 (syndrome input) of the syndrome calculator 15 for the error position locator. Input to the ROM 112. The error position locator corresponding ROM 112 outputs error position locators α -i , α -j ,... Α -n (error position locator input) and information bits indicating the number of error bits. These outputs are input to the I / O port 106. The error bit number determination circuit 6 can obtain an error-corrected code output by inverting the bit at the error position indicated by the error position locator by the number of error bits. In this example, the ROM of the error bit number reference value storage unit 111 stores an error bit reference value for page replacement. This is the same as the ROM 111 of the first embodiment, for example, as shown in FIG. The judgment value of the program of the flowchart shown in FIG. Of course, for example, the error bit number determination circuit 6 may be configured by hardware such as a sequencer.

図19は、第2実施形態に係る装置の動作例を示す流れ図である。   FIG. 19 is a flowchart showing an operation example of the apparatus according to the second embodiment.

図19は、読み出し時に1ビットより大きな誤り判断ビット数、ここでは、tビットの誤りを生じた場合ページについて、選択的に空きスペアブロックに、ページデータをECCにて修正して置き換える例を示している。また、本例では、シンドロームs1、s3、s2t-1と、誤り位置ローケータとの対応表をROM111上に、予め作成しておくことで高速に誤りビット位置を求める方法を記述している。 FIG. 19 shows an example in which page data is selectively replaced with an empty spare block and replaced by ECC in the case of an error determination bit number larger than 1 bit, in this case t-bit error, at the time of reading. ing. In this example, a method is described in which a correspondence table of syndromes s1, s3, and s2t -1 and an error position locator is created in advance on the ROM 111 to obtain an error bit position at high speed.

まず、SE1´において、シンドロームs1、s3、…、s2t-1を、誤りビット検出回路5からI/Oポート106を通じて誤りビット数判定回路6に転送する。また、受信符号を、誤りビット検出回路5からI/Oポート106を通じてビット数判定回路6内のページバッファ11に転送する。 First, in SE 1 ′, the syndromes s 1 , s 3,..., S 2t−1 are transferred from the error bit detection circuit 5 to the error bit number determination circuit 6 through the I / O port 106. The received code is transferred from the error bit detection circuit 5 to the page buffer 11 in the bit number determination circuit 6 through the I / O port 106.

次に、SE16において、シンドロームs1、s3、…、s2t-1を、ROM111上の“シンドローム→誤り位置ローケータ対応表”のアドレス入力に与え、誤り位置ローケータと誤り個数とをデータとして得る。図20に、シンドロームから誤り位置ローケータを得る対応表の例を示す。本例では、アドレス入力として、それぞれガロア体GF(24)上の根であるシンドロームをtセット、即ち、シンドロームs1、s3、…、s2t-1を与える。よって、入力アドレスビット数は、本例では4×tビットとなる。これに対して、それぞれガロア体GF(24)上の根である誤り位置ローケータα-i、α-j、…α-nと、誤りビット個数を出力する情報ビットとを出力する。誤りビット個数を出力する情報ビットは、例えば、log2(t+1)の小数点を切り上げた数(以後cnとする)だけあれば2進法によって、誤りビットの個数を出力することができる。BCHは線形符号のため、全てシンドロームが“0”の場合に、誤りビット無しとなる。 Next, in SE16, the syndromes s1, s3,..., S2t -1 are given to the address input of the “syndrome → error position locator correspondence table” on the ROM 111, and the error position locator and the number of errors are obtained as data. FIG. 20 shows an example of a correspondence table for obtaining an error position locator from a syndrome. In this example, given as an address input, t sets the syndrome is the root of the Galois field GF (2 4), respectively, i.e., syndromes s1, s3, ..., a s 2t-1. Therefore, the number of input address bits is 4 × t bits in this example. On the other hand, error position locators α- i , α- j ,... Α- n , which are roots on the Galois field GF (2 4 ), and information bits for outputting the number of error bits are output. For example, if the number of information bits for outputting the number of error bits is equal to the number obtained by rounding up the decimal point of log 2 (t + 1) (hereinafter referred to as cn), the number of error bits can be output by the binary system. Since BCH is a linear code, there is no error bit when all syndromes are “0”.

1ビット誤りのアドレス数としては、(ガロア体の元の数)をq(GF(24)の場合には16)とすると、
q-11=q−1個
のアドレスが対応し、誤り位置ローケータα-iを出力する。また、シンドロームs1の逆元はα-iとなるので、シンドロームs1より直接、逆元表ROMで計算しても良い。ここで、図20中のi、j、…、nは、0以上(q−1)以下の整数で、互いに異なる整数とする。また、(e1、f1、g1、h1)、(e2、f2、g2、h2)、…、(et、ft、gt、ht)は、シンドロームs1、s3、…、s2t-1のベクトル表示であり、(a、b、c、d)は、ベクトル表示した誤り位置ローケータ出力の任意の値で良い。
As the number of 1-bit error addresses, if (original number of Galois field) is q (16 in the case of GF (2 4 )),
q-1 C 1 = q-1 addresses correspond to each other, and an error position locator α -i is output. Further, since the inverse element of the syndrome s1 is α- i , the calculation may be performed directly from the syndrome s1 using the inverse element table ROM. Here, i, j,..., N in FIG. 20 are integers of 0 or more and (q-1) or less, and are mutually different integers. In addition, (e1, f1, g1, h1), (e2, f2, g2, h2), ..., (et, ft, gt, ht) are vector displays of the syndromes s1, s3, ..., s2t-1. Yes, (a, b, c, d) may be an arbitrary value of the error position locator output displayed in vector.

同様に、2ビット誤りのアドレス数としては、
q-12=(q−1)(q−2)/2個
のアドレスが対応し、2つの誤り位置ローケータα-i、α-jを出力する。この代替として、1ビット目の誤り位置ローケータα-iが判れば、2ビット目の誤り位置ローケータは、
α-j=1/(s1+1/α-i
となるため、2ビット目の誤り位置ローケータα-jは逆元表ROMがあれば簡単に計算できる。従って、一個のローケータでも良い。なお、逆元表ROMは、誤りビット数判定回路6に内蔵されても良い。逆元表ROMを、誤りビット数判定回路6に内蔵することで、動作を高速化できる。この場合、逆元表ROMは、例えば、ROM111上に形成される。
Similarly, the number of 2-bit error addresses is
q-1 C 2 = (q-1) (q-2) / 2 addresses correspond to each other, and two error position locators α -i and α -j are output. As an alternative to this, if the first bit error position locator α- i is known, the second bit error position locator is
α -j = 1 / (s1 + 1 / α -i )
Therefore, the error position locator α -j of the second bit can be easily calculated if there is an inverse table ROM. Therefore, one locator may be used. The inverse element table ROM may be incorporated in the error bit number determination circuit 6. By incorporating the inverse table ROM in the error bit number determination circuit 6, the operation speed can be increased. In this case, the inverse element table ROM is formed on the ROM 111, for example.

同様に、“k”を1以上t以下の整数とすると、kビット誤りのアドレス数としては、
q-1k
のアドレスが対応し、k個の誤り位置ローケータα-i、α-j、…、α-kを出力する。この代替として、1ビット目から(k−1)ビット目の誤り位置ローケータα-i、α-j、…、α-(k-1)が判れば、kビット目の誤り位置ローケータは、
α-k=1/(s1+1/α-i+…+1/α-(k-1)
となるため、2ビット目の誤り位置ローケータα-jは逆元表ROMがあれば簡単に計算できる。同様にして、tビットまでの対応表としては、図20に示すように、(0ビット誤り出力)、(1ビット誤り出力)、(2ビット誤り出力)、…、(tビット誤り出力)でそれぞれ、1、q-11q-12、…、q-1t個のアドレスに対して誤り位置ローケータの出力を設定すれば良く、他のアドレスの場合には“誤りビットがtビットを超える”、と出力すれば良い。また、それぞれの出力データビット数は、ガロア体GF(24)の本例では、(0ビット誤り出力)、(1ビット誤り出力)、(2ビット誤り出力)、…、(tビット誤り出力)でそれぞれ、cn、(4×1+cn)、(4×2+cn)、…、(4×t+cn)個用意すれば良い。例えば、ECCが2ビットまで救済する場合、t=2であり、q=16の図11と同様な不良救済条件の例では、
(1+16-1116-12)=1+15+105=121個
のアドレスに対して誤り位置ローケータの出力を設定しておき、0ビット不良、1ビット不良、2ビット不良のそれぞれの出力データビット数は、2、6、10ビット用意すれば良い。この場合、ROM111のデータ数としては、少なくとも、
1×2+15×6+105×10=1142ビット
のROMデータ領域を用意すれば良い。なお、逆元表ROMを用いた場合には、ガロア体GF(24)の本例では、(0ビット誤り出力)、(1ビット誤り出力)、(2ビット誤り出力)、…、(tビット誤り出力)でそれぞれ、cn、cn、{4×(2−1)+cn}、…、{4×(t−1)+cn}個用意すれば良い。この場合、121個のアドレスに対して誤り位置ローケータの出力を設定しておき、0ビット不良、1ビット不良、2ビット不良のそれぞれの出力データビット数は、2、2、6ビット用意すれば良い。この場合、ROM111のデータ数としては、少なくとも、
1×2+15×2+105×6=662ビット
のROMデータ領域を用意すれば良い。この逆元表ROMと変換表ROM111とを用いる方法は、逆元表ROMに必要なデータ数16ビットを加えても、678ビットと必要なROM領域を小さく保つことができる。
Similarly, if “k” is an integer between 1 and t, the number of addresses with k-bit errors is
q-1 C k addresses correspond to each other, and k error position locators α -i , α -j ,..., α -k are output. As an alternative to this, if the error position locators α -i , α -j , ..., α- (k-1) from the 1st bit to the (k-1) th bit are known, the error position locator of the kth bit is
α- k = 1 / (s1 + 1 / α- i + ... + 1 / α- (k-1) )
Therefore, the error position locator α -j of the second bit can be easily calculated if there is an inverse table ROM. Similarly, as a correspondence table up to t bits, as shown in FIG. 20, (0 bit error output), (1 bit error output), (2 bit error output), ..., (t bit error output) It is only necessary to set the output of the error position locator for 1, q-1 C 1 , q-1 C 2 ,..., Q-1 C t addresses, respectively. May exceed “t bits”. The number of output data bits is (0 bit error output), (1 bit error output), (2 bit error output),..., (T bit error output) in this example of Galois field GF (2 4 ). ), (4 × 1 + cn), (4 × 2 + cn),..., (4 × t + cn) may be prepared. For example, when ECC is relieved up to 2 bits, t = 2, and in the example of the defect relieving condition similar to FIG. 11 where q = 16,
May be set the output of the error position locator with respect to (1+ 16-1 C 1 + 16-1 C 2) = 1 + 15 + 105 = 121 amino address, 0 bit defect, 1 bit failure, the output of each of 2-bit failure The number of data bits may be 2, 6, 10 bits. In this case, the number of data in the ROM 111 is at least
A ROM data area of 1 × 2 + 15 × 6 + 105 × 10 = 1114 bits may be prepared. When the inverse table ROM is used, in this example of the Galois field GF (2 4 ), (0 bit error output), (1 bit error output), (2 bit error output), (t Bit error output), cn, cn, {4 × (2-1) + cn},..., {4 × (t−1) + cn} may be prepared. In this case, if the output of the error position locator is set for 121 addresses, the number of output data bits of 0-bit failure, 1-bit failure, and 2-bit failure will be 2, 2, and 6 bits, respectively. good. In this case, the number of data in the ROM 111 is at least
A ROM data area of 1 × 2 + 15 × 2 + 105 × 6 = 662 bits may be prepared. The method using the inverse table ROM and the conversion table ROM 111 can keep the necessary ROM area as small as 678 bits even if the necessary number of data 16 bits is added to the inverse table ROM.

このようにして得た誤り位置ローケータ、及び誤り個数より、SE17において、ビット誤りが1個以上か否かを判定する。これは、具体的には、図20中の誤り個数出力例に示すデータビットで、例えば、2進数で“001”以上であることを判別すれば良い。“001”より小さい、つまり、“000”の場合には、誤りビットは無いので、符号ビットの最初の7ビットを情報ビットとして出力する。ビット誤りが1個以上ある場合(Y)、SE18に進む。   Based on the error position locator thus obtained and the number of errors, it is determined in SE17 whether or not there are one or more bit errors. Specifically, this is the data bit shown in the error number output example in FIG. 20, for example, it may be determined that it is “001” or more in binary number. If it is smaller than “001”, that is, “000”, there is no error bit, so the first 7 bits of the sign bit are output as information bits. When there are one or more bit errors (Y), the process proceeds to SE18.

SE18において、ビット誤りがt個以上か否かを判定する。これは、具体的には、図20中の誤り個数出力例に示すデータビットで、例えば、2進数でtビットの2進数表現、例えば、“110”以上であることを判別すれば良い。“110”より小さい場合には、ビット誤りは、1ビット以上で(t−1)ビット以下である(N)。この場合、SE19に進む。SE19において、例えば、ページバッファ11上で誤り位置ローケータの示す位置のビットを反転させて誤り訂正を行い、正しいデータを外部I/Oから出力する。また、“110”以上である場合には、ビット誤りは、tビット以上である(Y)。この場合、SE20に進む。   In SE18, it is determined whether or not there are t or more bit errors. Specifically, this is a data bit shown in the error number output example in FIG. 20, and it is only necessary to determine that it is a binary representation of t-bit binary number, for example, “110” or more. When it is smaller than “110”, the bit error is 1 bit or more and (t−1) bits or less (N). In this case, the process proceeds to SE19. In SE19, for example, the bit at the position indicated by the error position locator is inverted on the page buffer 11 to perform error correction, and correct data is output from the external I / O. If it is “110” or more, the bit error is t bits or more (Y). In this case, the process proceeds to SE20.

SE20において、ビット誤りがtビットか否かを判定する。これは、具体的には、図20中の誤り個数出力例に示すデータビットで、例えば、2進数でtビットの2進数表現、例えば、“110”と等しいことを判別すれば良い。t個よりビット誤りが多い場合には、誤り訂正を行うことができない(N)。よって、この場合は、SE21において、例えば、tビットを超えたビット不良を生じたこと、つまり、エラー修正不能なビット不良が生じたことを外部I/Oに出力する。一方、ビット誤りがtビットの場合、SE22において、15ビットで最後に入力したビットから数えて(i+1)ビット目、(j+1)ビット目、…、及び(n+1)ビット目が誤りであると考え、t個の誤りビットローケータの位置のビットをビット反転して修正する。   In SE20, it is determined whether or not the bit error is t bits. Specifically, this is a data bit shown in the output example of the number of errors in FIG. 20, and it may be determined that it is equal to, for example, binary representation of t-bit binary number, for example, “110”. If there are more bit errors than t, error correction cannot be performed (N). Therefore, in this case, in SE21, for example, it is output to the external I / O that a bit failure exceeding t bits has occurred, that is, that a bit failure that cannot be corrected for errors has occurred. On the other hand, when the bit error is t bits, in SE22, the (i + 1) th bit, the (j + 1) th bit,..., And the (n + 1) th bit counted from the last input bit in 15 bits are considered to be errors. , T bit error locator position bits are inverted and corrected.

次に、SE23において、使用していないスペアブロック領域が有るか否かを確認する。これは、例えば、FAT領域に予め使用できるスペアブロックアドレスを記憶する記憶領域を準備しておき、使用したスペアブロックについては上記記憶領域にスペアブロックアドレスを記憶しておく。つまり、SE23において、上記記憶領域に記憶されたアドレスを調べることによって、使用していないスペアブロック領域が有るか否かを確認することができる。このブロック置き換えの方法については、第1実施形態で述べた方法を用いれば良い。次いで、SE23において、“空きスペアブロック領域が有る”、と判定した場合には(Y)、SE25において、当該ページ内容を空きスペアブロック領域にエラー訂正して転送する。この操作に引き続いて、FAT領域のアドレスを、空きスペアブロックに置き換えする作業を行っても良い。   Next, in SE23, it is confirmed whether there is a spare block area that is not used. For example, a storage area for storing a spare block address that can be used in advance is prepared in the FAT area, and a spare block address is stored in the storage area for the used spare block. That is, in SE23, it is possible to confirm whether there is a spare block area that is not used by checking the address stored in the storage area. As the block replacement method, the method described in the first embodiment may be used. Next, when it is determined in SE23 that “there is an empty spare block area” (Y), in SE25, the page content is error-corrected and transferred to the empty spare block area. Subsequent to this operation, the FAT area address may be replaced with an empty spare block.

また、SE23において、“空きスペアブロック領域が無い”、と場合と判定した場合には(N)、SE24において、空きスペアブロック領域が無いことを示す信号を外部I/Oから出力する。この操作に引き続いて、当該ページ内容を元のメモリブロックアドレスに書き戻す作業を行っても良い。   If it is determined in SE23 that “there is no free spare block area” (N), in SE24, a signal indicating that there is no free spare block area is output from the external I / O. Subsequent to this operation, the page content may be written back to the original memory block address.

以上、図19に示す操作は、第1実施形態に比較して、誤り位置ローケータの対応表を引く方法を用いているために、高速で誤り位置を求めることができ、より高速にデータ変換することができる。勿論、本実施形態中で示したように、逆元表ROMなどと組み合わせて、誤り位置ローケータの対応表の容量を小さく保つ方法を用いても良い。この場合には、比較的高速でECC訂正に必要なROM容量の小さいメモリを実現することができる。   As described above, since the operation shown in FIG. 19 uses the method of drawing the correspondence table of the error position locator as compared with the first embodiment, the error position can be obtained at high speed, and data conversion is performed at higher speed. be able to. Of course, as shown in this embodiment, a method of keeping the capacity of the correspondence table of the error position locator small in combination with the inverse element table ROM or the like may be used. In this case, a memory having a small ROM capacity necessary for ECC correction can be realized at a relatively high speed.

(第2実施形態の変形例)
次に、第2実施形態の変形例を説明する。
(Modification of the second embodiment)
Next, a modification of the second embodiment will be described.

図21は、第2実施形態の変形例に係る装置が備えるECC回路100のブロック例を示すブロック図である。また、図22に、第2実施形態の変形例に係る装置に利用されるシンドローム入力とが備えるROMの誤り位置ローケータの出力例を示す。本変形例のROMは、基本的には第2実施形態のROMと同じであるが、シンドローム計算器15の出力(シンドローム)s1、s3、s2t-1を、誤り位置ローケータ対応ROM112に入力し、誤り位置ローケータβi、βj、…、βnと、誤りビット個数を出力する情報ビットとを出力する。また、図22における(abcd)は、符号長の2進表現値の最大値よりも大きいか、(0000)となるアドレス表現とする。ここで、βは、例えば、前述のガロア体上の元ではなく、例えば、通常の2進数での誤り位置ビットのアドレス表現で良い。つまり、iビット目の誤り位置を示すローケータβiと(i+1)ビット目の誤り位置を示すローケータβi+1とは、2進数的に1増加、又は減少した符号となるようなアドレス表現とする。例えば、最初に入力した誤り位置から数えてiビット目である場合には、“βi”は“i”の2進数での誤り位置ビットのアドレス表現とすれば良い。例えば2ビット目が誤っている場合で“i=2”であると、(0010)とすれば良いし、“i=1”であると、(0001)とすれば良い。この出力を、本変形例では、例えば、t個のカウンタ116の初期値設定入力とし、クロック入力CLKを与えることにより、1ビットづつカウンタ116の値を減じ、(0000)以下にはならないようにするものとする。ここで、t個のカウンタ116のいずれかのカウンタの値が(0001)となった場合に、“1”を出力するように回路(図21ではカウンタの出力に接続されたOR回路に相当する)を形成し、その出力が“1”の場合に、バッファの出力を反転するようにすれば(図21では、排他的OR回路が対応する)、符号ビットの出力範囲では、誤りビットが訂正された符号を得ることができる。本変形例では、第2実施形態の誤りビット数判定回路6を、ハードウェアのみで構成できる。したがって、繰り返しなどを含むソフトウェアによるプログラムを必要とせず、誤りビット個数に従った誤り位置のビットを反転することによって、高速に誤り訂正された符号出力を得ることができる。例えば、シンドローム計算をシンドローム計算器15にて終了した時点で、ページバッファ11には、全符号が記憶される。よって、本変形例では、誤り位置ローケータ対応ROM112の出力遅れ時間後に、ページバッファ11とカウンタ116にクロック入力CLKを与えることにより、誤り訂正した符号を、瞬時に得ることができる。また、ROM111には、ページ置き換えを行う誤りビットの基準値を記憶するものとするが、これは、例えば、第1実施形態の図7に示した回路と同様に、図11のフローチャートのプログラムの判断値として記憶しても良い。 FIG. 21 is a block diagram illustrating a block example of the ECC circuit 100 included in the apparatus according to the modification of the second embodiment. FIG. 22 shows an output example of the error position locator of the ROM provided in the syndrome input used in the apparatus according to the modification of the second embodiment. The ROM of this modification is basically the same as the ROM of the second embodiment, but the outputs (syndromes) s1, s3, and s2t -1 of the syndrome calculator 15 are input to the error position locator corresponding ROM 112. , Error position locators β i , β j ,..., Β n and information bits for outputting the number of error bits are output. Further, (abcd) in FIG. 22 is an address expression that is larger than the maximum value of the binary expression value of the code length or becomes (0000). Here, β is not an element on the Galois field, for example, but may be an address representation of error position bits in a normal binary number, for example. That is, the locator β i indicating the error position of the i-th bit and the locator β i + 1 indicating the error position of the (i + 1) -th bit are address expressions such that the code becomes a binary increment or decrement by one. To do. For example, when it is the i-th bit from the first input error position, “β i ” may be an address representation of the error position bit in the binary number “i”. For example, if the second bit is incorrect and “i = 2”, it may be (0010), and if “i = 1”, it may be (0001). In this modification, for example, this output is used as an initial value setting input of t counters 116, and by giving a clock input CLK, the value of the counter 116 is decreased by 1 bit so that it does not become (0000) or less. It shall be. Here, when the value of one of the t counters 116 becomes (0001), a circuit (corresponds to an OR circuit connected to the counter output in FIG. 21) that outputs “1”. If the output of the buffer is inverted (in FIG. 21, the exclusive OR circuit corresponds), the error bit is corrected in the output range of the sign bit. Can be obtained. In this modification, the error bit number determination circuit 6 of the second embodiment can be configured only by hardware. Therefore, it is possible to obtain a high-speed error-corrected code output by inverting the bit at the error position according to the number of error bits without requiring a software program including repetition. For example, all the codes are stored in the page buffer 11 when the syndrome calculation is completed by the syndrome calculator 15. Therefore, in this modification, the error-corrected code can be obtained instantaneously by giving the clock input CLK to the page buffer 11 and the counter 116 after the output delay time of the error position locator compatible ROM 112. Further, the ROM 111 stores a reference value of an error bit for performing page replacement. This is, for example, similar to the circuit shown in FIG. 7 of the first embodiment of the program of the flowchart of FIG. It may be stored as a judgment value.

このような第2実施形態に係る装置、及び第2実施形態の変形例に係る装置においても、第1実施形態と同様な要件、及び効果、例えば、(1)〜(11)に記載した要件、及び効果を持つ。   Also in the apparatus according to the second embodiment and the apparatus according to the modification of the second embodiment, the same requirements and effects as the first embodiment, for example, the requirements described in (1) to (11) , And have an effect.

(第3実施形態)
図23、及び図24は、第3実施形態に係る装置が備えるメモリセルの断面例を示す断面図である。図23に示す断面は第1実施形態の図5に示す断面に対応し、同じく図24に示す断面は図6に示す断面に対応する。なお、平面パターンは、第1実施形態の図4に示した平面パターンと同一であるので、本実施形態においては省略する。
(Third embodiment)
23 and 24 are cross-sectional views illustrating a cross-sectional example of a memory cell included in the device according to the third embodiment. The cross section shown in FIG. 23 corresponds to the cross section shown in FIG. 5 of the first embodiment, and the cross section shown in FIG. 24 corresponds to the cross section shown in FIG. Note that the planar pattern is the same as the planar pattern shown in FIG. 4 of the first embodiment, and is omitted in this embodiment.

第3実施形態は、第1実施形態において説明した浮遊ゲート型MOSトランジスタを用いたNANDセルアレイブロック49を、M-NO-Sトランジスタ、又はM-ONO-Sトランジスタを用いたNANDセルアレイブロック49に変更したものである。   In the third embodiment, the NAND cell array block 49 using the floating gate type MOS transistor described in the first embodiment is changed to a NAND cell array block 49 using an M-NO-S transistor or an M-ONO-S transistor. It is a thing.

図23、及び図24に示すように、第1実施形態と同様に、不揮発性メモリセルは直列に接続される。本実施形態の不揮発性メモリセルは、例えば、SiNやSiONを電荷蓄積層26とする、いわゆるM-NO-S型EEPROMセル、又はM-ONO-S型EEPROMセルである(以下、M-ONO-S型セルとする)。直列に接続されたM-ONO-S型セルの一端は、選択トランジスタを介してデータ転送線36(BL)に接続され、その他端は、選択トランジスタを介して共通ソース線33(SL)に接続される。M-ONO-S型セル、及び選択トランジスタはそれぞれ、同一のp型シリコン領域23上に形成される。p型シリコン領域23の不純物濃度、例えば、ボロン濃度は、第1実施形態と同様に1014cm-3から1019cm-3の範囲である。p型シリコン領域23は、例えば、p型シリコン基板21から、n型シリコン領域22によって分離される。これにより、p型シリコン領域23は、p型シリコン基板21とは独立して電位を印加でき、第1実施形態と同様に、消去時の昇圧回路の負荷が減り、消費電力を抑制できる利点を得られる。p型シリコン領域23上のメモリセルが形成される部分上にはトンネル絶縁膜25が形成され、同じく選択トランジスタが形成される部分上にはゲート絶縁膜25SSL、25GSLが形成される。本実施形態におけるトンネル絶縁膜25の例は、例えば、1nmから10nmの範囲の厚みを持つシリコン酸化膜、またはシリコンオキシナイトライド膜である。ゲート絶縁膜25SSL、25GSLの一例は、例えば、厚さがトンネル絶縁膜25よりも厚いシリコン酸化膜、またはシリコンオキシナイトライド膜である。ゲート絶縁膜25SSL、25GSLの厚さの一例は、例えば、3nmから15nmの範囲である。トンネル絶縁膜25上には、電荷蓄積層26が形成される。本実施形態における電荷蓄積層26の例は、例えば、3nmから50nmの範囲の厚みを持つシリコン窒化膜、またはシリコンオキシナイトライド膜である。電荷蓄積層26上には、ブロック絶縁膜(インターゲート絶縁膜)50が形成される。本実施形態におけるブロック絶縁膜50の例は、例えば、2nmから10nmの厚みを持つシリコン酸化膜、Al23、HfSiO、ZrSiO、HfSiON、ZrSiONである。ブロック絶縁膜50上にはポリシリコン層51が形成され、ゲート絶縁膜25SSL、25GSL上にはポリシリコン層51SSL、51GSLが形成される。ポリシリコン層51、51SSL、51GSLは、例えば、10nmから500nmの範囲の厚さを持ち、リン、砒素、またはボロンを1019cm-3から1021cm-3の範囲で含む。なお、ポリシリコン層51、51SSL、51GSLは必要に応じて設けられれば良い。ポリシリコン層51上には制御ゲート27(WL0〜WL15)が形成され、ポリシリコン層51SSL上には制御ゲート27(SSL)が形成され、ポリシリコン層51GSL上には制御ゲート27(GSL)が形成される。制御ゲート27の例は、第1実施形態と同様に、例えば、10nmから500nmの範囲の厚さを持ち、リン、砒素、またはボロンを1017cm-3から1021cm-3の範囲で含むポリシリコン、または金属シリサイドとポリシリコンとのスタック構造である。金属シリサイドの例は、例えば、WSi、NiSi、MoSi、TiSi、CoSiである。なお、ポリシリコン層51、51SSL、51GSL、及び/又は制御ゲート27(WL0〜WL15)のリン、砒素、またはボロンの濃度を1019cm-3以上に設定すると、ポリシリコン層51、及び/又は制御ゲート27(WL0〜WL15)の空乏化を防ぐことができ、ONO積層膜(ブロック絶縁膜50、又は電荷蓄積層26)にかかる電界が大きくなり、消去時間または書き込み時間の増大を抑制できる利点を得られる。 As shown in FIGS. 23 and 24, the nonvolatile memory cells are connected in series as in the first embodiment. The nonvolatile memory cell of the present embodiment is, for example, a so-called M-NO-S type EEPROM cell or M-ONO-S type EEPROM cell using SiN or SiON as the charge storage layer 26 (hereinafter referred to as M-ONO). -S type cell). One end of the M-ONO-S type cells connected in series is connected to the data transfer line 36 (BL) via the selection transistor, and the other end is connected to the common source line 33 (SL) via the selection transistor. Is done. The M-ONO-S type cell and the selection transistor are each formed on the same p-type silicon region 23. The impurity concentration of the p-type silicon region 23, for example, the boron concentration is in the range of 10 14 cm −3 to 10 19 cm −3 as in the first embodiment. For example, the p-type silicon region 23 is separated from the p-type silicon substrate 21 by the n-type silicon region 22. As a result, the p-type silicon region 23 can be applied with a potential independently of the p-type silicon substrate 21, and, similarly to the first embodiment, the load on the booster circuit at the time of erasing is reduced and the power consumption can be suppressed. can get. A tunnel insulating film 25 is formed on the portion where the memory cell on the p-type silicon region 23 is formed, and gate insulating films 25 SSL and 25 GSL are formed on the portion where the selection transistor is also formed. An example of the tunnel insulating film 25 in the present embodiment is, for example, a silicon oxide film or a silicon oxynitride film having a thickness in the range of 1 nm to 10 nm. An example of the gate insulating films 25 SSL and 25 GSL is, for example, a silicon oxide film or a silicon oxynitride film that is thicker than the tunnel insulating film 25. An example of the thickness of the gate insulating films 25 SSL and 25 GSL is, for example, in the range of 3 nm to 15 nm. A charge storage layer 26 is formed on the tunnel insulating film 25. An example of the charge storage layer 26 in the present embodiment is, for example, a silicon nitride film or a silicon oxynitride film having a thickness in the range of 3 nm to 50 nm. A block insulating film (intergate insulating film) 50 is formed on the charge storage layer 26. Examples of the block insulating film 50 in the present embodiment are, for example, a silicon oxide film having a thickness of 2 nm to 10 nm, Al 2 O 3 , HfSiO, ZrSiO, HfSiON, and ZrSiON. A polysilicon layer 51 is formed on the block insulating film 50 and polysilicon layers 51 SSL and 51 GSL are formed on the gate insulating films 25 SSL and 25 GSL . The polysilicon layers 51, 51 SSL and 51 GSL have a thickness in the range of 10 nm to 500 nm, for example, and contain phosphorus, arsenic, or boron in the range of 10 19 cm −3 to 10 21 cm −3 . The polysilicon layers 51, 51 SSL , and 51 GSL may be provided as necessary. A control gate 27 (WL0 to WL15) is formed on the polysilicon layer 51, a control gate 27 (SSL) is formed on the polysilicon layer 51 SSL , and a control gate 27 ( GSL ) is formed on the polysilicon layer 51 GSL. ) Is formed. An example of the control gate 27 has a thickness in the range of 10 nm to 500 nm, for example, and includes phosphorus, arsenic, or boron in the range of 10 17 cm −3 to 10 21 cm −3 , as in the first embodiment. It is a stack structure of polysilicon or metal silicide and polysilicon. Examples of the metal silicide are, for example, WSi, NiSi, MoSi, TiSi, and CoSi. Note that if the concentration of phosphorus, arsenic, or boron in the polysilicon layers 51, 51 SSL , 51 GSL , and / or the control gate 27 (WL0 to WL15) is set to 10 19 cm −3 or more, the polysilicon layer 51, and / Or depletion of the control gate 27 (WL0 to WL15) can be prevented, and an electric field applied to the ONO stacked film (block insulating film 50 or charge storage layer 26) is increased, thereby suppressing an increase in erase time or write time. You can get the benefits you can.

制御ゲート27(WL0〜WL15)はそれぞれ、例えば、図2に示すデータ選択線WL0〜WL15を構成する。データ選択線WL0〜WL15はそれぞれ、例えば、隣接するメモリセルブロック49どうしを接続し、ロウ方向に沿ってメモリセルアレイ1の一端から他端まで形成される。   Each of the control gates 27 (WL0 to WL15) constitutes data selection lines WL0 to WL15 shown in FIG. 2, for example. Each of the data selection lines WL0 to WL15, for example, connects adjacent memory cell blocks 49 and is formed from one end of the memory cell array 1 to the other end along the row direction.

制御ゲート27(SSL、GSL)はそれぞれ、例えば、図2に示すブロック選択線SSL、GSLを構成する。ブロック選択線SSL、GSLはそれぞれ、例えば、隣接するメモリセルブロック49どうしを接続し、ロウ方向に沿ってメモリセルアレイ1の一端から他端まで形成される。   The control gates 27 (SSL, GSL) constitute, for example, block selection lines SSL, GSL shown in FIG. Each of the block selection lines SSL and GSL, for example, connects adjacent memory cell blocks 49 and is formed from one end to the other end of the memory cell array 1 along the row direction.

本実施形態のゲート構造も、第1実施形態と同様に、電荷蓄積層26の側壁、及びp型シリコン領域23等の側壁が絶縁膜24によって覆われている。このため、p型シリコン領域23の側壁(浅い溝の側壁)が外界に露出せず、電荷蓄積層26がp型シリコン領域23よりも下の部分にまで形成されることを抑制できる。したがって、本実施形態においても、第1実施形態と同様に、ゲート電界集中を抑制できること、寄生トランジスタの発生を抑制できること、サイドウォーク(Sidewalk)現象を抑制できること、という利点が得られる。   Also in the gate structure of this embodiment, the side walls of the charge storage layer 26 and the side walls of the p-type silicon region 23 and the like are covered with the insulating film 24 as in the first embodiment. For this reason, the side wall of the p-type silicon region 23 (the side wall of the shallow groove) is not exposed to the outside, and the charge storage layer 26 can be suppressed from being formed even below the p-type silicon region 23. Therefore, also in the present embodiment, similar to the first embodiment, there are advantages that the gate electric field concentration can be suppressed, the generation of parasitic transistors can be suppressed, and the sidewalk phenomenon can be suppressed.

ゲート構造の両側壁にはそれぞれ、側壁絶縁膜43が形成される。側壁絶縁膜43の例は、第1実施形態と同様に、例えば、5nmから200nmの厚みを持つシリコン窒化膜、またはシリコン酸化膜である。ゲート構造間の下に位置するp型シリコン領域23の部分には、n型拡散層28、28d、28sが形成される。n型拡散層28、28d、28sは、メモリセルや選択トランジスタのソース電極、またはドレイン電極である。n型拡散層28、28d、28sは、例えば、リン、又は砒素、又はアンチモンを、表面濃度が1017cm-3から1021cm-3の範囲で含み、深さ10nmから500nmの範囲に形成される。 Side wall insulating films 43 are formed on both side walls of the gate structure. An example of the sidewall insulating film 43 is a silicon nitride film or a silicon oxide film having a thickness of 5 nm to 200 nm, for example, as in the first embodiment. N-type diffusion layers 28, 28 d , and 28 s are formed in the portion of the p-type silicon region 23 located between the gate structures. The n-type diffusion layers 28, 28 d and 28 s are a source electrode or a drain electrode of a memory cell or a select transistor. The n-type diffusion layers 28, 28 d , and 28 s contain, for example, phosphorus, arsenic, or antimony at a surface concentration of 10 17 cm −3 to 10 21 cm −3 and a depth of 10 nm to 500 nm. Formed.

本実施形態に係るメモリセル、例えば、M-ONO-S型セルは、n型拡散層28、トンネル絶縁膜25、電荷蓄積層26、ブロック絶縁膜50、及び制御ゲート27によって構成される。導電体層、例えば、ポリシリコン層51は、ブロック絶縁膜50と制御ゲート27との間に、必要に応じて設けられる。M-ONO-S型EEPROMセルのゲート長の例は、例えば、0.01μm以上0.5μm以下である。   The memory cell according to the present embodiment, for example, an M-ONO-S type cell, includes an n-type diffusion layer 28, a tunnel insulating film 25, a charge storage layer 26, a block insulating film 50, and a control gate 27. The conductor layer, for example, the polysilicon layer 51 is provided between the block insulating film 50 and the control gate 27 as necessary. An example of the gate length of the M-ONO-S type EEPROM cell is, for example, 0.01 μm or more and 0.5 μm or less.

選択トランジスタは、n型拡散層28、28s、28d、ゲート絶縁膜25SSL、25GSL、及び制御ゲート27(SSL、GSL)によって構成される。導電体層、例えば、ポリシリコン層51は、ゲート絶縁膜25SSLと制御ゲート27(SSL)との間、及びゲート絶縁膜25GSLと制御ゲート27(GSL)との間に、必要に応じて設けられる。選択トランジスタのゲート長の例は、M-ONO-S型EEPROMセルのゲート長よりも長く、例えば、0.02μm以上1μm以下である。選択トランジスタのゲート長を、M-ONO-S型EEPROMセルのゲート長よりも長くすると、ブロック選択時とブロック非選択時とのオンオフ比を大きく確保できる。これは、誤書き込みや誤読み出しの抑制に効果がある。 The selection transistor includes n-type diffusion layers 28, 28 s , 28 d , gate insulating films 25 SSL , 25 GSL , and control gate 27 (SSL, GSL). The conductor layer, for example, the polysilicon layer 51 is formed between the gate insulating film 25 SSL and the control gate 27 (SSL) and between the gate insulating film 25 GSL and the control gate 27 (GSL) as necessary. Provided. An example of the gate length of the selection transistor is longer than the gate length of the M-ONO-S type EEPROM cell, and is, for example, 0.02 μm or more and 1 μm or less. If the gate length of the selection transistor is longer than the gate length of the M-ONO-S type EEPROM cell, a large ON / OFF ratio between when the block is selected and when the block is not selected can be secured. This is effective in suppressing erroneous writing and erroneous reading.

本実施形態はNAND型を示しており、M-ONO-S型セル、選択トランジスタは、互いに直列に接続される。このため、n型拡散層28、28d、28sは、隣接するM-ONO-S型セルどうし、隣接するM-ONO-S型セルと隣接する選択トランジスタ、隣接する選択トランジスタどうしでそれぞれ共有される。 This embodiment shows a NAND type, and the M-ONO-S type cell and the selection transistor are connected in series with each other. For this reason, the n-type diffusion layers 28, 28 d , and 28 s are shared by adjacent M-ONO-S cells, adjacent selection transistors with adjacent M-ONO-S cells, and adjacent selection transistors. Is done.

n型拡散層28dは、データ転送線36(BL)に、コンタクト31d、中間配線33d、及びコンタクト34dを介して接続される。データ転送線36(BL)は、例えば、図2に示すデータ転送線BL1a〜BL2kを構成する。データ転送線BL1a〜BL2kは、例えば、隣接するメモリセルブロック49どうしを接続し、カラム方向に沿ってメモリセルアレイ1の一端から他端まで形成される。データ転送線36(BL)の材料例は、例えば、タングステン、タングステンシリサイド、チタン、チタンナイトライド、又はアルミニウムである。 The n-type diffusion layer 28 d is connected to the data transfer line 36 (BL) via a contact 31 d , an intermediate wiring 33 d , and a contact 34 d . The data transfer line 36 (BL) constitutes, for example, the data transfer lines BL1a to BL2k shown in FIG. For example, the data transfer lines BL1a to BL2k connect adjacent memory cell blocks 49 and are formed from one end to the other end of the memory cell array 1 along the column direction. A material example of the data transfer line 36 (BL) is, for example, tungsten, tungsten silicide, titanium, titanium nitride, or aluminum.

n型拡散層28sは、ソース線33(SL)に、コンタクト31sを介して接続される。ソース線33(SL)は、例えば、図2に示すソース線SLを構成する。ソース線SLは、例えば、隣接するメモリセルブロック49どうしを接続し、ロウ方向に沿ってメモリセルアレイ1の一端から他端まで形成される。ソース線SLは、n型拡散層28sを、隣接するメモリセルブロック49どうしを接続し、ロウ方向に沿ってメモリセルアレイ1の一端から他端まで形成し、n型拡散層28s自体をソース線SLとしても良い。 The n-type diffusion layer 28 s is connected to the source line 33 (SL) via the contact 31 s . The source line 33 (SL) constitutes, for example, the source line SL shown in FIG. The source line SL is formed from one end to the other end of the memory cell array 1 along the row direction, for example, connecting adjacent memory cell blocks 49. The source line SL, the n-type diffusion layer 28 s, connect to what adjacent memory cell blocks 49, formed from one end of the memory cell array 1 to the other along the row direction, the source of n-type diffusion layer 28 s per se The line SL may be used.

コンタクト31s、31d、34dは、層間絶縁膜68に形成された開口30s、30d、35d内に形成される。コンタクト31s、31d、34dの材料例は、例えば、n型またはp型にドープされたポリシリコン、タングステン、タングステンシリサイド、アルミニウム、チタンナイトライド、又はチタン、又はこれら導電材料の積層構造である。層間絶縁膜68の材料例は、シリコン酸化膜、又はシリコン窒化膜である。層間絶縁膜68上、及びデータ転送線36(BL)上には、絶縁膜保護層37や、図示せぬ上部配線層が形成される。絶縁保護層37の材料例は、例えば、シリコン酸化膜、シリコン窒化膜、又はポリイミドである。上部配線層の材料例は、タングステン、アルミニウム、又は銅である。 The contacts 31 s , 31 d , and 34 d are formed in the openings 30 s , 30 d, and 35 d formed in the interlayer insulating film 68. Examples of the material of the contacts 31 s , 31 d , and 34 d are, for example, n-type or p-type doped polysilicon, tungsten, tungsten silicide, aluminum, titanium nitride, or titanium, or a laminated structure of these conductive materials. is there. An example of the material of the interlayer insulating film 68 is a silicon oxide film or a silicon nitride film. An insulating film protective layer 37 and an upper wiring layer (not shown) are formed on the interlayer insulating film 68 and the data transfer line 36 (BL). A material example of the insulating protective layer 37 is, for example, a silicon oxide film, a silicon nitride film, or polyimide. An example of the material of the upper wiring layer is tungsten, aluminum, or copper.

第3実施形態によれば、第1実施形態から得られる利点に加え、M-ONO-S型セルを用いているために、第1実施形態に係る浮遊ゲート型セルよりも、書き込み電圧、及び消去電圧を低電圧化できる。低電圧化できる結果、素子分離間隔を狭め、ゲート絶縁膜を薄膜化しても、絶縁耐圧を充分に維持できる。したがって、高電圧が印加される回路の面積を小さくでき、チップ面積を縮小し易い。   According to the third embodiment, in addition to the advantages obtained from the first embodiment, since the M-ONO-S type cell is used, the write voltage, and the floating gate type cell according to the first embodiment, and The erase voltage can be lowered. As a result of the reduction in voltage, the isolation voltage can be sufficiently maintained even when the element separation interval is narrowed and the gate insulating film is thinned. Therefore, the area of the circuit to which the high voltage is applied can be reduced, and the chip area can be easily reduced.

さらに、浮遊ゲート型セルに比較して、電荷蓄積層26の厚さを薄く、例えば、20nm以下にでき、ゲート構造のアスペクト比を小さくできる。ゲート構造のアスペクト比を小さくできる結果、ゲート構造の加工性が向上する。さらに、層間絶縁膜68の、ゲート構造間への埋め込み性も良くなり、絶縁耐圧も向上する。   Furthermore, compared with the floating gate type cell, the thickness of the charge storage layer 26 can be reduced, for example, 20 nm or less, and the aspect ratio of the gate structure can be reduced. As a result of the reduced aspect ratio of the gate structure, the workability of the gate structure is improved. Furthermore, the burying property of the interlayer insulating film 68 between the gate structures is improved, and the withstand voltage is also improved.

また、浮遊ゲート型セルに比較して、浮遊ゲートを形成するためのプロセス、及び浮遊ゲートを、例えば、ロウ方向に沿って分離するスリットを形成するためのプロセスが不要である。したがって、製造工程時間が短縮される。   Further, compared to the floating gate type cell, a process for forming the floating gate and a process for forming a slit for separating the floating gate along the row direction are unnecessary. Therefore, the manufacturing process time is shortened.

また、浮遊ゲート型セルに比較して、電荷蓄積層26が絶縁体であり、電荷は、電荷トラップにトラップされる。このため、電荷が抜け難く、例えば、放射線に対して、強い耐性が得られる。しかも、側壁絶縁膜43が薄くなっても、電荷トラップにトラップされた電荷は、全て抜けてしまうこともなく、良好な電荷保持特性を維持できる。   Further, as compared with the floating gate type cell, the charge storage layer 26 is an insulator, and the charge is trapped in the charge trap. For this reason, electric charges are difficult to escape and, for example, strong resistance to radiation can be obtained. In addition, even if the sidewall insulating film 43 is thinned, all charges trapped in the charge trap are not lost, and good charge retention characteristics can be maintained.

さらに、電荷畜積層26は、p型シリコン領域23と合わせずれなく形成できるので、電荷蓄積層26とp型シリコン領域23との間の容量を、より均一にできる。したがって、メモリセル間の容量ばらつきが低減される。   Furthermore, since the charge storage layer 26 can be formed without misalignment with the p-type silicon region 23, the capacitance between the charge storage layer 26 and the p-type silicon region 23 can be made more uniform. Therefore, capacity variation between memory cells is reduced.

(第4実施形態)
図25はこの発明の第4実施形態に係るデータ記憶システムのセルアレイ部、及びセンスアンプ部の構成例を示すブロック図である。図25に示すブロック図は、図2に示すブロック図に対応する。
(Fourth embodiment)
FIG. 25 is a block diagram showing a configuration example of a cell array portion and a sense amplifier portion of a data storage system according to the fourth embodiment of the present invention. The block diagram shown in FIG. 25 corresponds to the block diagram shown in FIG.

第4実施形態は、例えば、第1実施形態において説明したNANDセルアレイブロック49を、Virtual Ground(仮想接地)セルアレイブロック49´に変更したものである。また、メモリセルは、第3実施形態において説明したM-NO-S型EEPROMセル、又はM-ONO-S型EEPROMセルとする。   In the fourth embodiment, for example, the NAND cell array block 49 described in the first embodiment is changed to a Virtual Ground cell array block 49 ′. The memory cell is the M-NO-S type EEPROM cell or the M-ONO-S type EEPROM cell described in the third embodiment.

図25に示すように、メモリセルアレイ1には、仮想接地セルアレイブロック49´が配置される。セルアレイブロック49´は、第1データ転送線BL(BL1a、BL2a、…、BL1k、BL2k)と第2データ転送線BL(BL1a´、…、BL1k´)との間に並列接続された不揮発性メモリセルを含む。第2データ転送線BL(BL1a´、…、BL1k´)は、例えば、ソース線として機能する。   As shown in FIG. 25, a virtual ground cell array block 49 ′ is arranged in the memory cell array 1. The cell array block 49 ′ includes nonvolatile memories connected in parallel between the first data transfer lines BL (BL1a, BL2a,..., BL1k, BL2k) and the second data transfer lines BL (BL1a ′,..., BL1k ′). Contains cells. The second data transfer lines BL (BL1a ′,..., BL1k ′) function as source lines, for example.

その他の回路構成、及び回路接続はそれぞれ、図2に示すセルアレイ部、及びセンスアンプ部の構成例と同様であるので、図2と同一の参照符号を付し、その説明は省略する。図2及びその説明を参照されたい。   Other circuit configurations and circuit connections are the same as those in the configuration example of the cell array unit and the sense amplifier unit shown in FIG. 2, respectively, and thus the same reference numerals as those in FIG. See FIG. 2 and its description.

図26、及び図27は、第4実施形態に係る装置のメモリセルの断面例を示す断面図である。図26に示す断面は第1実施形態の図5に示す断面と同様に、例えば、ロウ方向に沿った断面であり、同じく図27に示す断面は図6に示す断面と同様に、例えば、ロウ方向と交差、例えば、直交するカラム方向に沿った断面である。図26、及び図27にはそれぞれ、2つずつのメモリセルの断面が含まれている。   FIG. 26 and FIG. 27 are cross-sectional views showing cross-sectional examples of the memory cell of the device according to the fourth embodiment. The cross section shown in FIG. 26 is, for example, a cross section along the row direction, similarly to the cross section shown in FIG. 5 of the first embodiment, and the cross section shown in FIG. 27 is the same as the cross section shown in FIG. It is a cross section that intersects the direction, for example, along the orthogonal column direction. Each of FIGS. 26 and 27 includes a cross section of two memory cells.

図26、及び図27に示すように、本実施形態の不揮発性メモリセルは、M-NO-S型EEPROMセル、又はM-ONO-S型EEPROMセルである(以下、M-ONO-S型セルとする)。基本構造は、第3実施形態において説明したメモリセルと同じである。特に、異なるところは、メモリセルのチャネル形成方向(チャネル長方向に一致する)が、データ選択線27、27´が延びる方向(ロウ方向)に一致していることにある。   As shown in FIGS. 26 and 27, the nonvolatile memory cell of the present embodiment is an M-NO-S type EEPROM cell or an M-ONO-S type EEPROM cell (hereinafter referred to as M-ONO-S type). Cell). The basic structure is the same as the memory cell described in the third embodiment. In particular, the difference is that the channel formation direction (corresponding to the channel length direction) of the memory cell coincides with the direction (row direction) in which the data selection lines 27 and 27 'extend.

さらに、本実施形態のメモリセルは、ソース電極28の近傍及びドレイン電極28の近傍それぞれに電荷を蓄積させ、1セル当たり少なくとも2ビットの情報を記憶する。これら2ビットの情報はそれぞれ、ソース電極28及びドレイン電極28に印加する電圧の方向により読み出すことができる。この方法の公知例は、例えば、米国特許第6、201、202号がある。この方法で情報を読み出す場合、情報を読み出さない側のビットの電流端子と、情報を読み出す側のビットの電流端子とは、直列接続されていることと等価である。このため、情報を読み出さない側のビットは、NAND型セルと同様なリードディスターブ(read disturb)ストレスが印加される。よって、情報を読み出さない側のビットは、読み出しを繰り返すと、消去状態から書き込み状態に変化する。   Furthermore, the memory cell of the present embodiment accumulates charges in the vicinity of the source electrode 28 and the vicinity of the drain electrode 28 and stores at least 2 bits of information per cell. Each of these 2-bit information can be read according to the direction of the voltage applied to the source electrode 28 and the drain electrode 28. Known examples of this method include, for example, US Pat. No. 6,201,202. When reading information by this method, the current terminal of the bit from which information is not read and the current terminal of the bit from which information is read are equivalent to being connected in series. Therefore, a read disturb stress similar to that of the NAND cell is applied to the bit on the side from which information is not read. Therefore, the bit on the side from which information is not read changes from the erased state to the written state when reading is repeated.

図26、及び図28に示すように、p型シリコン領域23上には、第1の絶縁膜25が形成される。p型シリコン領域23は、不純物濃度が1014cm-3から1019cm-3の範囲の、ボロン、又はインジウムを含む。本実施形態における第1の絶縁膜25の例は、例えば、0.5nmから10nmの範囲の厚みを持つシリコン酸化膜、又はシリコンオキシナイトライド膜である。第1の絶縁膜25上には、電荷蓄積層26が形成される。本実施形態における電荷蓄積層26の例は、例えば、3nm以上50nm以下の厚さを持つシリコン窒化膜である。電荷蓄積層26上には、第2の絶縁膜(ブロック絶縁膜)50が形成される。本実施形態における第2の絶縁膜50の例は、5nm以上30nm以下の厚さを持つシリコン酸化膜、オキシナイトライド膜、Al23、ZrSiO、HfSiO、ZrSiON、又はHfSiONである。第2の絶縁膜50上には、導電体層51、27が形成される。本実施形態における導電体層51、27の例は、例えば、ポリシリコン層である。ポリシリコン層の具体例は、例えば、10nmから500nmの範囲の厚さを持ち、例えば、ボロン、リン、又はヒ素を1019cm-3から1021cm-3の範囲で含む。なお、導電体層51は、必要に応じて設けられれば良い。なお、導電体層51、27をポリシリコン層とした場合、ポリシリコン層が含むボロン、リン、又は砒素の濃度は、1019cm-3以上にすると良い。制御電極の空乏化を防ぐことができるので、ONO積層膜(第2の絶縁膜50、電荷蓄積層26、第1の絶縁膜25)にかかる電界が大きくなり、消去時間または書き込み時間の増大を抑制できる、という利点が得られる。導電体層27上には、低抵抗導電体層27´が形成される。低抵抗導電体層27´の例は、例えば、10nmから500nmの範囲の厚さを持つ、WSi、NiSi、MoSi、TiSi、CoSi、W、Al、又はAlCuである。低抵抗導電体層27´は、必要に応じて設けられれば良い。本実施形態においては、導電体層51、27が制御ゲート電極を構成し、低抵抗導電体層27´が制御ゲート電極、即ちデータ選択線を低抵抗化する。低抵抗導電体層27´上には、絶縁膜60が形成される。絶縁膜60の例は、例えば、5nmから500nmの範囲の厚さを持つシリコン窒化膜、又はシリコン酸化膜である。絶縁膜60は、ゲート電極加工時のマスクとして機能する。絶縁膜60は、必要に応じて設けられれば良い。 As shown in FIGS. 26 and 28, a first insulating film 25 is formed on the p-type silicon region 23. The p-type silicon region 23 contains boron or indium having an impurity concentration in the range of 10 14 cm −3 to 10 19 cm −3 . An example of the first insulating film 25 in the present embodiment is, for example, a silicon oxide film or a silicon oxynitride film having a thickness in the range of 0.5 nm to 10 nm. A charge storage layer 26 is formed on the first insulating film 25. An example of the charge storage layer 26 in the present embodiment is a silicon nitride film having a thickness of 3 nm to 50 nm, for example. A second insulating film (block insulating film) 50 is formed on the charge storage layer 26. An example of the second insulating film 50 in the present embodiment is a silicon oxide film, oxynitride film, Al 2 O 3 , ZrSiO, HfSiO, ZrSiON, or HfSiON having a thickness of 5 nm to 30 nm. Conductor layers 51 and 27 are formed on the second insulating film 50. Examples of the conductor layers 51 and 27 in the present embodiment are, for example, polysilicon layers. Specific examples of the polysilicon layer have a thickness in the range of, for example, 10 nm to 500 nm, and include, for example, boron, phosphorus, or arsenic in the range of 10 19 cm −3 to 10 21 cm −3 . The conductor layer 51 may be provided as necessary. Note that when the conductor layers 51 and 27 are polysilicon layers, the concentration of boron, phosphorus, or arsenic included in the polysilicon layer is preferably 10 19 cm −3 or more. Since the depletion of the control electrode can be prevented, the electric field applied to the ONO laminated film (second insulating film 50, charge storage layer 26, first insulating film 25) is increased, and the erasing time or writing time is increased. The advantage that it can be suppressed is obtained. On the conductor layer 27, a low resistance conductor layer 27 'is formed. Examples of the low resistance conductor layer 27 'are, for example, WSi, NiSi, MoSi, TiSi, CoSi, W, Al, or AlCu having a thickness in the range of 10 nm to 500 nm. The low resistance conductor layer 27 ′ may be provided as necessary. In the present embodiment, the conductor layers 51 and 27 constitute a control gate electrode, and the low resistance conductor layer 27 ′ lowers the resistance of the control gate electrode, that is, the data selection line. An insulating film 60 is formed on the low resistance conductor layer 27 '. An example of the insulating film 60 is, for example, a silicon nitride film or a silicon oxide film having a thickness in the range of 5 nm to 500 nm. The insulating film 60 functions as a mask when processing the gate electrode. The insulating film 60 may be provided as necessary.

ゲート電極の両側壁にはそれぞれ、側壁絶縁膜19が形成される。本実施形態における側壁絶縁膜19は、導電体層51のロウ方向に沿った断面の両側壁から導電体層27内にかけて形成される。側壁絶縁膜19の例は、例えば、シリコン酸化膜、又はシリコンオキシナイトライド膜である。さらに、導電体層51が、例えば、シリコンを含む導電体であった時、本実施形態における側壁絶縁膜19の、少なくとも導電体層51に接する面は、導電体層51を酸化する又は酸窒化することによって形成される。酸化法、及び酸窒化法の例は、それぞれ熱酸化、熱酸窒化である。これによる利点は、堆積法、例えば、CVD法を用いて形成した堆積膜よりも、電荷トラップ密度が小さく、絶縁耐圧(dielectric breakdown voltage)も高く、かつ導電体層51と側壁絶縁膜19との間の界面準位密度が低くなることにある。側壁絶縁膜19には、堆積法を用いて形成した堆積膜よりも品質の高い熱酸化膜、又は熱酸窒化膜を用いることが可能である。   Side wall insulating films 19 are formed on both side walls of the gate electrode. The sidewall insulating film 19 in this embodiment is formed from both side walls of the conductor layer 51 along the row direction to the inside of the conductor layer 27. An example of the sidewall insulating film 19 is, for example, a silicon oxide film or a silicon oxynitride film. Further, when the conductor layer 51 is, for example, a conductor containing silicon, at least the surface in contact with the conductor layer 51 of the sidewall insulating film 19 in the present embodiment oxidizes or oxynitrides the conductor layer 51. It is formed by doing. Examples of the oxidation method and the oxynitridation method are thermal oxidation and thermal oxynitridation, respectively. The advantages of this are that the charge trap density is lower and the dielectric breakdown voltage is higher than that of a deposited film formed using a deposition method, for example, a CVD method. This is because the interface state density between them is lowered. As the sidewall insulating film 19, it is possible to use a thermal oxide film or a thermal oxynitride film having a higher quality than a deposited film formed by using a deposition method.

なお、図26に示すように、本実施形態における電荷蓄積層26は、n型ソース/ドレイン領域28上方において部分的に取り除かれ、取り除いた部分に層間絶縁膜68が形成される例が示されている。本実施形態における電荷蓄積層26は絶縁体である。したがって、電荷蓄積層26は、n型ソース/ドレイン領域28上方において部分的に取り除く必要は、必ずしも無い。電荷蓄積層26は、連続的に形成されていても良い。   As shown in FIG. 26, an example is shown in which the charge storage layer 26 in this embodiment is partially removed above the n-type source / drain region 28, and an interlayer insulating film 68 is formed in the removed portion. ing. In this embodiment, the charge storage layer 26 is an insulator. Therefore, it is not always necessary to partially remove the charge storage layer 26 above the n-type source / drain region 28. The charge storage layer 26 may be formed continuously.

第4実施形態に係るメモリセルは、例えば、次のような手順で形成できる。   The memory cell according to the fourth embodiment can be formed by the following procedure, for example.

まず、例えば、n型シリコン領域22をp型シリコン基板21内に形成し、p型シリコン領域23をn型シリコン領域22内に形成する。   First, for example, the n-type silicon region 22 is formed in the p-type silicon substrate 21, and the p-type silicon region 23 is formed in the n-type silicon region 22.

次に、第1の絶縁膜25をp型シリコン領域23上に形成し、電荷蓄積層26を第1絶縁膜25上に形成し、第2の絶縁膜50を電荷蓄積層26上に形成し、導電体層51、例えば、シリコンを含む導電体層51を第2の絶縁膜50上に形成する。   Next, the first insulating film 25 is formed on the p-type silicon region 23, the charge storage layer 26 is formed on the first insulating film 25, and the second insulating film 50 is formed on the charge storage layer 26. The conductor layer 51, for example, the conductor layer 51 containing silicon is formed on the second insulating film 50.

次に、導電体層51、第2の絶縁膜50、電荷蓄積層26及び第1の絶縁膜25をエッチング、例えば、異方性エッチングし、導電体層51、第2の絶縁膜50、電荷蓄積層26及び第1の絶縁膜25を部分的に取り除く。これにより、カラム方向(紙面表裏方向)に沿って長手となる、導電体層51、第2の絶縁膜50、電荷蓄積層26及び第1の絶縁膜25をそれぞれ含む複数の第1線状構造をp型シリコン領域23上に得る。   Next, the conductor layer 51, the second insulating film 50, the charge storage layer 26, and the first insulating film 25 are etched, for example, anisotropically etched, so that the conductor layer 51, the second insulating film 50, the charge The accumulation layer 26 and the first insulating film 25 are partially removed. As a result, a plurality of first linear structures each including the conductor layer 51, the second insulating film 50, the charge storage layer 26, and the first insulating film 25, which are longitudinal along the column direction (the front and back direction in the drawing). Is obtained on the p-type silicon region 23.

次に、導電体層51の表面を酸化又は酸窒化、例えば、熱酸化又は熱酸窒化し、側壁絶縁膜19を導電体層51の表面上に得る。   Next, the surface of the conductor layer 51 is oxidized or oxynitrided, for example, thermally oxidized or thermally oxynitrided to obtain the sidewall insulating film 19 on the surface of the conductor layer 51.

次に、第1線状構造をマスクに用いて、n型不純物、例えば、リン、砒素又はアンチモンをp型シリコン領域23内に、表面濃度が1017cm-3から1021cm-3の範囲となるように、深さ10nmから500nmの間にイオン注入する。これにより、n型拡散層28をp型シリコン領域23内に得る。n型拡散層28は、メモリセルのソース領域及びドレイン領域である。 Next, using the first linear structure as a mask, an n-type impurity such as phosphorus, arsenic, or antimony is in the p-type silicon region 23 and has a surface concentration in the range of 10 17 cm −3 to 10 21 cm −3 . Ion implantation is performed at a depth of 10 nm to 500 nm. Thereby, the n-type diffusion layer 28 is obtained in the p-type silicon region 23. The n-type diffusion layer 28 is a source region and a drain region of the memory cell.

次に、絶縁物、例えば、酸化シリコン、シリケートガラス又は無機ガラスを、第1線状構造及びp型シリコン領域23(n型拡散層28)それぞれの露出面上に、10nmから1000nmの厚さの範囲に堆積し、層間絶縁膜68を得る。   Next, an insulator such as silicon oxide, silicate glass, or inorganic glass is formed on the exposed surfaces of the first linear structure and the p-type silicon region 23 (n-type diffusion layer 28) to a thickness of 10 nm to 1000 nm. The interlayer insulating film 68 is obtained by depositing in the range.

次に、層間絶縁膜68の上面をエッチバック、例えば、CMP(Chemical Mechanical Polishing)し、層間絶縁膜68の上面を平坦化する。   Next, the upper surface of the interlayer insulating film 68 is etched back, for example, CMP (Chemical Mechanical Polishing), and the upper surface of the interlayer insulating film 68 is planarized.

次に、導電体層51の上面上に存在する側壁絶縁膜19を除去、例えば、フッ化アンモニウム溶液等を用いてウェットエッチングし、導電体層51の上面を露出させる。   Next, the sidewall insulating film 19 existing on the upper surface of the conductor layer 51 is removed, for example, wet etching is performed using an ammonium fluoride solution or the like, and the upper surface of the conductor layer 51 is exposed.

次に、導電物、例えば、導電性ポリシリコン又はSiGe混晶を、導電体層51上及び層間絶縁膜68上に10nmから300nmの厚さの範囲に堆積し、導電体層27を得る。なお、導電体層27に導電性不純物、例えば、ボロン、リン又は砒素を含有させる場合、その濃度を1×1019cm-3以上とすると、上述したように、ONO積層膜(第2の絶縁膜50、電荷蓄積層26、第1の絶縁膜25)にかかる電界が大きくなり、消去時間または書き込み時間の増大を抑制できる。 Next, a conductor, for example, conductive polysilicon or SiGe mixed crystal is deposited on the conductor layer 51 and the interlayer insulating film 68 in a thickness range of 10 nm to 300 nm to obtain the conductor layer 27. When the conductive layer 27 contains a conductive impurity such as boron, phosphorus, or arsenic, if the concentration is 1 × 10 19 cm −3 or more, as described above, the ONO laminated film (second insulating film) The electric field applied to the film 50, the charge storage layer 26, and the first insulating film 25) is increased, and an increase in erasing time or writing time can be suppressed.

次に、導電体層27よりも低抵抗な導電物、例えば、WSi、NiSi、MoSi、TiSi、CoSi、W、Al又はAlCuを導電体層27上に堆積し、低抵抗導電体層27´を得る。   Next, a conductor having a lower resistance than that of the conductor layer 27, for example, WSi, NiSi, MoSi, TiSi, CoSi, W, Al, or AlCu is deposited on the conductor layer 27, and a low resistance conductor layer 27 ′ is formed. obtain.

次に、マスク材、例えば、窒化シリコン又は酸化シリコンを低抵抗導電体層27´上に堆積し、絶縁膜60を得る。   Next, a mask material, for example, silicon nitride or silicon oxide is deposited on the low-resistance conductor layer 27 ′ to obtain the insulating film 60.

次に、絶縁膜60、低抵抗導電体層27´、導電体層27、導電体層51、側壁絶縁膜19、第2の絶縁膜50、電荷蓄積層26及び第1の絶縁膜25をエッチング、例えば、異方性エッチングし、これらを部分的に取り除く。これにより、ロウ方向(紙面左右方向)に沿って長手となる、絶縁膜60、低抵抗導電体層27´、導電体層27、導電体層51、側壁絶縁膜19、第2の絶縁膜50、電荷蓄積層26及び第1の絶縁膜25をそれぞれ含む複数の第2の線状構造をp型シリコン領域23上に得る。この工程において、メモリセルが、ロウ方向及びカラム方向それぞれに沿って1つ1つ分離される。   Next, the insulating film 60, the low-resistance conductor layer 27 ', the conductor layer 27, the conductor layer 51, the sidewall insulating film 19, the second insulating film 50, the charge storage layer 26, and the first insulating film 25 are etched. For example, anisotropic etching is performed, and these are partially removed. As a result, the insulating film 60, the low-resistance conductor layer 27 ′, the conductor layer 27, the conductor layer 51, the sidewall insulating film 19, and the second insulating film 50, which are long in the row direction (left and right direction on the paper surface), are formed. A plurality of second linear structures each including the charge storage layer 26 and the first insulating film 25 are obtained on the p-type silicon region 23. In this step, the memory cells are separated one by one along the row direction and the column direction.

次に、第2の線状構造をマスクに用いて、p型不純物、例えば、ボロン、フッ化ボロン(BF2)又はインジウムをp型シリコン領域23内に、表面濃度が1016cm-3から1018cm-3の範囲となるように、深さ10nmから500nmの間にイオン注入する。これにより、p型シリコン領域23よりも濃度が高い高濃度p型拡散層18をp型シリコン領域23内に得る。高濃度p型拡散層18は、カラム方向に沿って隣接するメモリセルのチャネル間に流れるリーク電流を低減する層である。高濃度p型拡散層18は、必要に応じて設けられれば良い。 Next, using the second linear structure as a mask, a p-type impurity such as boron, boron fluoride (BF 2 ), or indium is introduced into the p-type silicon region 23 from a surface concentration of 10 16 cm −3. Ion implantation is performed at a depth of 10 nm to 500 nm so as to be in the range of 10 18 cm −3 . As a result, a high-concentration p-type diffusion layer 18 having a higher concentration than the p-type silicon region 23 is obtained in the p-type silicon region 23. The high-concentration p-type diffusion layer 18 is a layer that reduces a leak current flowing between the channels of memory cells adjacent in the column direction. The high concentration p-type diffusion layer 18 may be provided as necessary.

次に、絶縁物、例えば、窒化シリコン、酸窒化シリコン又はアルミナを、第2線状構造及びp型シリコン領域23(n型拡散層28、高濃度p型拡散層18)それぞれの露出面上に、5nmから200nmの厚さの範囲に堆積し、絶縁膜61を得る。絶縁膜61は、例えば、CVD(Chemical Vapor Deposition)法又はスパッタ法を用いて形成された堆積絶縁膜である。このような絶縁膜61を、メモリセル上に堆積、例えば、全てのメモリセル上に堆積又はメモリセルアレイの全面上に堆積すると、絶縁膜61より上方に形成される膜からのガス、ラジカル又はイオンが、メモリセルに対して悪い影響を及ぼす事情を抑制できる、という利点が得られる。   Next, an insulator such as silicon nitride, silicon oxynitride, or alumina is applied to the exposed surfaces of the second linear structure and the p-type silicon region 23 (n-type diffusion layer 28, high-concentration p-type diffusion layer 18). The insulating film 61 is obtained by depositing in a thickness range of 5 nm to 200 nm. The insulating film 61 is a deposited insulating film formed by using, for example, a CVD (Chemical Vapor Deposition) method or a sputtering method. When such an insulating film 61 is deposited on the memory cell, for example, on all the memory cells or on the entire surface of the memory cell array, gas, radicals or ions from the film formed above the insulating film 61 are deposited. However, there is an advantage that the adverse effect on the memory cell can be suppressed.

次に、シリケートガラス、例えば、BPSG、PSG又はBSGを絶縁膜61上に、10nmから1000nmの厚さの範囲に堆積し、層間絶縁膜62を得る。BPSG、PSG、BSGは、例えば、ボロン、リンを1×1020cm-3以上含む。シリケートガラスはアルカリイオンをゲッタリングする機能がある。したがって、層間絶縁膜62は、メモリセル上、例えば、全てのメモリセル上又はメモリセルアレイの全面上に形成堆積すると、アルカリイオンによる汚染を抑制できる、という利点が得られる。 Next, silicate glass, for example, BPSG, PSG, or BSG is deposited on the insulating film 61 in a thickness range of 10 nm to 1000 nm to obtain an interlayer insulating film 62. BPSG, PSG, and BSG contain, for example, boron and phosphorus in an amount of 1 × 10 20 cm −3 or more. Silicate glass has a function of gettering alkali ions. Therefore, when the interlayer insulating film 62 is formed and deposited on a memory cell, for example, on all memory cells or the entire surface of the memory cell array, there is an advantage that contamination by alkali ions can be suppressed.

本実施形態では、層間絶縁膜62は、絶縁膜61に直接接して形成されているが、必ずしも接して形成される必要は無い。例えば、層間絶縁膜62は、配線層間の絶縁膜や配線層上の絶縁膜として形成しても、ゲッタリングの効果はあるので構わない。   In the present embodiment, the interlayer insulating film 62 is formed in direct contact with the insulating film 61, but it is not necessarily formed in contact therewith. For example, even if the interlayer insulating film 62 is formed as an insulating film between wiring layers or an insulating film on the wiring layer, there is no problem because it has a gettering effect.

シリケートガラスは、一般的に堆積直後の埋め込み性が悪い。このため、堆積後に、例えば、750℃から1000℃の間で2分から120分の範囲でアニールすると、粘性流動が起こり、表面が平坦化する。アニールの際、シリケートガラスに含まれる水分又はヒドロニウムイオンが遊離する。例えば、水分はメモリセルのゲート端を酸化する。このため、例えば、第2の絶縁膜50の膜厚が厚くなり、ゲート形状が変化する。しかし、絶縁膜61を形成すると、例えば、水分が遮蔽されるので、上記ゲート形状の変化を抑制できる、という利点を得られる。   Silicate glass generally has poor embedding properties immediately after deposition. For this reason, after deposition, for example, when annealing is performed in the range of 750 to 1000 ° C. for 2 to 120 minutes, viscous flow occurs and the surface becomes flat. During annealing, moisture or hydronium ions contained in the silicate glass are released. For example, moisture oxidizes the gate end of the memory cell. For this reason, for example, the film thickness of the second insulating film 50 increases, and the gate shape changes. However, when the insulating film 61 is formed, for example, moisture is shielded, so that an advantage that the change in the gate shape can be suppressed can be obtained.

層間絶縁膜62としては、例えば、シクロペンタシラン又はポリシラザンを用いて形成した無機ガラスを用いても良い。この場合、シクロペンタシラン又はポリシラザンを無機ガラスに転換するための酸化工程が必要である。酸化剤は、水分同様に、ゲート形状を変化させてしまう。しかし、絶縁膜61を形成すると、例えば、酸化剤が遮蔽されるので、上記ゲート形状の変化を抑制できる、という利点を得られる。これらのように、絶縁膜61を形成することは、例えば、微細なメモリセルを集積する場合に有利である。   As the interlayer insulating film 62, for example, an inorganic glass formed using cyclopentasilane or polysilazane may be used. In this case, an oxidation step is required to convert cyclopentasilane or polysilazane into inorganic glass. The oxidant changes the gate shape like moisture. However, when the insulating film 61 is formed, for example, since the oxidant is shielded, there is an advantage that the change in the gate shape can be suppressed. As described above, forming the insulating film 61 is advantageous, for example, when fine memory cells are integrated.

なお、層間絶縁膜62には、例えば、TEOSやHDPを用いて形成したシリコン酸化膜や、HSQ等の他の絶縁膜との積層構造を用いても良い。   For the interlayer insulating film 62, for example, a silicon oxide film formed using TEOS or HDP, or a laminated structure with another insulating film such as HSQ may be used.

次に、上部配線36を、層間絶縁膜62上に形成する。上部配線36は、半導体集積回路装置内に設けられる様々な配線である。上部配線36は、例えば、半導体集積回路装置の用途に応じて様々に変化する。したがって、本実施形態では、上部配線36の具体的な形状については省略し、上部配線36が層間絶縁膜62上に形成されることを図示するにとどめる。例えば、図26及び図27には、上部配線36は、あたかも“1枚の板”のように示すにとどめる。上部配線36は、1層のみを示しているが、もちろん2層以上の多層配線構造としても良い。   Next, the upper wiring 36 is formed on the interlayer insulating film 62. The upper wiring 36 is various wiring provided in the semiconductor integrated circuit device. The upper wiring 36 varies in various ways, for example, depending on the application of the semiconductor integrated circuit device. Therefore, in the present embodiment, a specific shape of the upper wiring 36 is omitted, and only the upper wiring 36 is formed on the interlayer insulating film 62 is illustrated. For example, in FIG. 26 and FIG. 27, the upper wiring 36 is shown as if "one plate". Although the upper wiring 36 shows only one layer, it is of course possible to have a multilayer wiring structure of two or more layers.

次に、絶縁物、例えば、TEOS又はHDPを用いて形成した酸化シリコン、又はHSQを堆積し、層間絶縁膜37を、上部配線36上及び層間絶縁膜62上に得る。   Next, an insulator, for example, silicon oxide formed using TEOS or HDP, or HSQ is deposited, and an interlayer insulating film 37 is obtained on the upper wiring 36 and the interlayer insulating film 62.

次に、窒化シリコンを層間絶縁膜37上に、例えば、プラズマ化学気相成長法を用い、20nmから1μmの厚さの範囲で堆積し、シリコン窒化膜層37´を得る。シリコン窒化膜層37´は、チップ外部(半導体集積回路装置の上面)から拡散してくる水分をブロックする機能がある。   Next, silicon nitride is deposited on the interlayer insulating film 37 in a thickness range of 20 nm to 1 μm using, for example, plasma chemical vapor deposition to obtain a silicon nitride film layer 37 ′. The silicon nitride film layer 37 ′ has a function of blocking moisture diffused from the outside of the chip (the upper surface of the semiconductor integrated circuit device).

第4実施形態によれば、上記実施形態の要件、及び効果に加え、以下の要件、及び効果がある。   According to the fourth embodiment, there are the following requirements and effects in addition to the requirements and effects of the above embodiment.

(12) 導電体層(制御ゲート)27は、n型拡散層(ソース領域及びドレイン領域)28が形成される方向(カラム方向、図26では紙面表裏方向)に交差、例えば、直交する方向(ロウ方向、図26では紙面左右方向)に形成される。そして、メモリセルは、n型拡散層(ソース領域及びドレイン領域)28間に並列接続される。このような接続状態を持つEEPROMとしては、例えば、仮想接地アレイ(Virtual Ground Array)型がある。メモリセルをn型拡散層28間に並列接続した半導体メモリは、メモリセルブロックの直列抵抗を小さく、かつ、一定にできる。したがって、メモリセルのしきい値の安定化に有利であり、しきい値分布幅が狭い、例えば、多値記憶メモリに有用である。   (12) The conductor layer (control gate) 27 intersects, for example, a direction orthogonal to the direction in which the n-type diffusion layer (source region and drain region) 28 is formed (column direction, front and back direction in FIG. 26) ( It is formed in the row direction (left and right direction in FIG. 26). The memory cells are connected in parallel between the n-type diffusion layers (source region and drain region) 28. As an EEPROM having such a connection state, for example, there is a virtual ground array type. In a semiconductor memory in which memory cells are connected in parallel between n-type diffusion layers 28, the series resistance of the memory cell block can be made small and constant. Therefore, it is advantageous for stabilizing the threshold value of the memory cell, and is useful for, for example, a multi-value storage memory having a narrow threshold distribution width.

また、層間絶縁膜(素子分離領域)68及びn型拡散層28はそれぞれ、電荷蓄積層26に対して自己整合的に形成される。層間絶縁膜68及びn型拡散層28はそれぞれ、電荷蓄積層26に対して合わせずれ余裕を確保する必要が無い。かつ層間絶縁膜68は、n型拡散層28上に形成される。したがって、素子分離領域をメモリセル間に設ける半導体メモリや、電荷蓄積層26を素子分離領域上に設ける半導体メモリに比較して、メモリセルを高密度に集積できる。   Further, the interlayer insulating film (element isolation region) 68 and the n-type diffusion layer 28 are each formed in a self-aligned manner with respect to the charge storage layer 26. The interlayer insulating film 68 and the n-type diffusion layer 28 do not need to ensure a misalignment margin with respect to the charge storage layer 26, respectively. The interlayer insulating film 68 is formed on the n-type diffusion layer 28. Therefore, the memory cells can be integrated at a higher density than a semiconductor memory in which element isolation regions are provided between memory cells and a semiconductor memory in which the charge storage layer 26 is provided on the element isolation regions.

なお、メモリセルをn型拡散層間に並列接続した半導体メモリのメモリセルアレイの要件、及び効果については、例えば、本件発明者による先行出願である特開2002−150783号公報にも記載がある。   Note that requirements and effects of a memory cell array of a semiconductor memory in which memory cells are connected in parallel between n-type diffusion layers are described in, for example, Japanese Patent Application Laid-Open No. 2002-150783, which is a prior application by the present inventor.

(13) メモリセルは、M-ONO-S型セルである。したがって、第3実施形態と同様に、浮遊ゲート型セルよりも、書き込み電圧及び消去電圧を低くでき、素子分離間隔を狭め、ゲート絶縁膜を薄くしても十分な絶縁耐圧を維持できる。このため、高電圧が印加される回路の面積を小さくでき、チップ面積を縮小し易い。   (13) The memory cell is an M-ONO-S type cell. Therefore, similarly to the third embodiment, the writing voltage and the erasing voltage can be made lower than those of the floating gate type cell, the element isolation interval can be narrowed, and a sufficient withstand voltage can be maintained even if the gate insulating film is thinned. For this reason, the area of the circuit to which the high voltage is applied can be reduced, and the chip area can be easily reduced.

第3実施形態と同様に、電荷蓄積層26の厚さを薄くできるので、浮遊ゲート型セルに比較してゲート構造のアスペクト比を小さくでき、ゲート構造の加工性が良い。層間絶縁膜68の、ゲート構造間への埋め込み性も良く、絶縁耐圧も良い。   Similar to the third embodiment, since the thickness of the charge storage layer 26 can be reduced, the aspect ratio of the gate structure can be reduced as compared with the floating gate type cell, and the workability of the gate structure is good. Interlayer insulating film 68 has good embeddability between gate structures and good withstand voltage.

第3実施形態と同様に、浮遊ゲート型セルに比較して、浮遊ゲートを形成するためのプロセスを省略、もしくは簡単化できるので、製造工程時間が短縮される。   As in the third embodiment, the process for forming the floating gate can be omitted or simplified as compared with the floating gate type cell, so that the manufacturing process time is shortened.

第3実施形態と同様に、電荷が電荷トラップにトラップされるので、浮遊ゲート型セルに比較して電荷保持特性が良い。例えば、放射線に対して、強い耐性を得ることもできる。   Similar to the third embodiment, since charges are trapped in the charge trap, the charge retention characteristic is better than that of the floating gate type cell. For example, strong resistance to radiation can be obtained.

以上、この発明をいくつかの実施形態により説明したが、この発明はいくつかの実施形態に限定されるものではなく、その実施にあたっては発明の要旨を逸脱しない範囲で種々に変形することが可能である。   As mentioned above, although this invention was demonstrated by some embodiment, this invention is not limited to some embodiment, In the implementation, it can change variously in the range which does not deviate from the summary of invention. It is.

例えば、素子分離領域、及び層間絶縁膜等の絶縁膜を形成する方法は、例えば、シリコンをシリコン酸化膜やシリコン窒化膜に変換する以外の方法を用いることが可能である。例えば、酸素イオンを堆積したシリコンに注入する方法、堆積したシリコンを酸化する方法を用いても良い。   For example, as a method of forming an element isolation region and an insulating film such as an interlayer insulating film, for example, a method other than converting silicon into a silicon oxide film or a silicon nitride film can be used. For example, a method of injecting oxygen ions into the deposited silicon or a method of oxidizing the deposited silicon may be used.

電荷蓄積層26は、TiO2、Al23、タンタル酸化膜、チタン酸ストロンチウム、チタン酸バリウム、及びチタン酸ジルコニウム鉛を用いても良い。また、これら材料を積層した積層膜を用いても良い。 The charge storage layer 26 may use TiO 2 , Al 2 O 3 , a tantalum oxide film, strontium titanate, barium titanate, and lead zirconium titanate. Alternatively, a stacked film in which these materials are stacked may be used.

半導体基板は、p型シリコンに限らず、n型シリコン、SOI基板上のSOIシリコン層、SiGe混晶、SiGeC混晶など、シリコンを含む基板、例えば、単結晶基板であれば良い。無論、半導体として、シリコン以外を使うこともできる。   The semiconductor substrate is not limited to p-type silicon, and may be any substrate including silicon, for example, a single crystal substrate, such as n-type silicon, an SOI silicon layer on an SOI substrate, a SiGe mixed crystal, or a SiGeC mixed crystal. Of course, it is possible to use other than silicon as the semiconductor.

メモリセルとして、nチャネル型MOSFET(nチャネル型浮遊ゲート型セル、nチャネル型M-NO-S型セル、nチャネル型M-ONO-S型セル)を用いたが、pチャネル型MOSFET(pチャネル型浮遊ゲート型セル、pチャネル型M-NO-S型セル、pチャネル型M-ONO-S型セル)を用いても良い。この場合には、上記実施形態の各半導体領域の導電型を、n型からp型へ、p型からn型へとそれぞれ読み替えれば良い。さらに、導電性不純物として、砒素、リン及びアンチモンのいずれかを、それぞれインジウム及びボロンのいずれかに読み替えれば良い。   As a memory cell, an n-channel MOSFET (n-channel floating gate cell, n-channel M-NO-S cell, n-channel M-ONO-S cell) is used, but a p-channel MOSFET (p A channel type floating gate cell, a p channel type M-NO-S type cell, a p channel type M-ONO-S type cell) may be used. In this case, the conductivity type of each semiconductor region in the above embodiment may be read from n-type to p-type and from p-type to n-type. Furthermore, any of arsenic, phosphorus, and antimony may be read as either indium or boron as the conductive impurity.

導電体層(制御ゲート)27、51は、Si半導体、SiGe混晶及びSiGeC混晶を用いることができ、これら材料を積層した積層構造にしても良い。また、これら材料は、多結晶、非晶質及び単結晶のいずれであっても良い。多結晶、非晶質及び単結晶の結晶性の異なる層を積層することも可能である。導電体層(制御ゲート)27、51が半導体であると、特に、シリコンを含んだ半導体であると、例えば、第4実施形態において説明したように、良好な側壁絶縁膜19を得ることができる。側壁絶縁膜19を、シリコンを含んだ半導体を酸化又は酸窒化によって形成できるためである。   The conductor layers (control gates) 27 and 51 can use Si semiconductor, SiGe mixed crystal and SiGeC mixed crystal, and may have a stacked structure in which these materials are stacked. These materials may be polycrystalline, amorphous, or single crystal. It is also possible to stack layers having different crystallinity of polycrystalline, amorphous and single crystal. When the conductor layers (control gates) 27 and 51 are semiconductors, particularly when they are semiconductors containing silicon, for example, as described in the fourth embodiment, a favorable sidewall insulating film 19 can be obtained. . This is because the sidewall insulating film 19 can be formed by oxidizing or oxynitriding a semiconductor containing silicon.

電荷蓄積層26は、ソース領域側とドレイン領域との間で分離されていたり、ドット状に形成されていたりしても良い。   The charge storage layer 26 may be separated between the source region side and the drain region, or may be formed in a dot shape.

低抵抗導電体層27´は、例えば、Ti、Co、Ni、Mo、Pd及びPtといった金属と、導電体層27、例えば、シリコンを含む導電体層27と反応させてシリサイドを形成し、これを低抵抗導電体層27´としても良い。   The low-resistance conductor layer 27 'reacts with, for example, a metal such as Ti, Co, Ni, Mo, Pd, and Pt and a conductor layer 27, for example, a conductor layer 27 containing silicon, to form silicide. May be used as the low-resistance conductor layer 27 '.

上記実施形態では、2値を記憶するメモリセルを用いた例を示したが、3値以上のディジタル値を、複数のしきい値として記憶するメモリセルを用いても良い。いわゆる多値メモリである。多値メモリは、2値メモリに比較して、各情報に対応したしきい値の分布幅が狭く、また、しきい値分布間の分離間隔も狭い。このため、多値メモリは、2値メモリに比較して、不良ビットが発生し易い。つまり、上記実施形態による利点は、多値メモリにおいてより有効に得ることができる。したがって、上記実施形態は、多値メモリに有用である。また、1つのメモリセルが記憶する情報の数を2n値とすると、情報データのデコードを簡略化できる利点がある。 In the above-described embodiment, an example in which a memory cell that stores two values is used is shown. However, a memory cell that stores three or more digital values as a plurality of threshold values may be used. This is a so-called multilevel memory. Compared to a binary memory, a multi-value memory has a narrow threshold distribution width corresponding to each information, and a separation interval between threshold distributions is also narrow. For this reason, a multi-level memory is more likely to generate defective bits than a binary memory. That is, the advantage of the above embodiment can be obtained more effectively in a multi-level memory. Therefore, the above embodiment is useful for a multi-level memory. Further, if the number of information stored in one memory cell is 2 n values, there is an advantage that decoding of information data can be simplified.

上記実施形態は、不揮発性半導体メモリの例を示したが、メモリセルで共有するデータ選択線を有し、上記データ選択線によってデータが並列に読み出されるメモリセルブロックと、並列に読み出したデータをECCにより誤りビットを訂正する回路と、メモリセルで共有するデータ選択線を有したスペアメモリセルブロックとを有した半導体メモリであれば、上記実施形態を適用することができる。この場合、誤りビットは、例えば、経年変化、エレクトロマイグレーション(electro-migration)、及び腐食(collusion)等によって生じる場合を考えれば良く、その誤りビット率を大幅に改善できることは明らかである。よって、例えば、メモリセルとしては、DRAMセル、SRAMセル、FeRAMセル、MRAMセル等、メモリセルであればいずれでも用いることができる。   In the above embodiment, an example of a nonvolatile semiconductor memory has been described. However, a memory cell block having a data selection line shared by memory cells, in which data is read in parallel by the data selection line, and data read in parallel The above embodiment can be applied to any semiconductor memory having a circuit for correcting error bits by ECC and a spare memory cell block having a data selection line shared by memory cells. In this case, it is sufficient to consider the case where error bits are caused by, for example, aging, electro-migration, corrosion, etc., and it is clear that the error bit rate can be greatly improved. Thus, for example, any memory cell such as a DRAM cell, SRAM cell, FeRAM cell, or MRAM cell can be used as the memory cell.

また、各実施形態は単独で実施することが可能であるが、適宜組み合わせて実施することも可能である。   Moreover, although each embodiment can be implemented independently, it can also be implemented in combination as appropriate.

また、各実施形態は種々の段階の発明を含んでおり、各実施形態において開示した複数の構成要件の適宜な組み合わせにより、種々の段階の発明を抽出することが可能である。   Each embodiment includes inventions at various stages, and inventions at various stages can be extracted by appropriately combining a plurality of constituent elements disclosed in each embodiment.

また、各実施形態は、この発明を半導体メモリに適用した例に基づき説明したが、この発明は半導体メモリに限られるものではなく、半導体メモリを内蔵した半導体集積回路装置、例えば、プロセッサ、システムLSI等もまた、この発明の範疇である。   Each embodiment has been described based on an example in which the present invention is applied to a semiconductor memory. However, the present invention is not limited to a semiconductor memory, and a semiconductor integrated circuit device incorporating a semiconductor memory, such as a processor or a system LSI. Etc. are also within the scope of this invention.

以上、実施形態によれば、ECC回路の検査ビット数を増加させること無しに、外部インターフェースから見た不良率を大幅に低減できる。特に、空き記憶領域として準備する数について、ある数以上予めスペア領域として用意することにより、ユーザの使用できるデータ記憶領域をライフエンドまで保証しつつ、外部インターフェースから見た不良率を急激に抑制できる。   As described above, according to the embodiment, the defect rate viewed from the external interface can be significantly reduced without increasing the number of inspection bits of the ECC circuit. In particular, by preparing a certain number or more of spare areas in advance as spare storage areas, it is possible to drastically suppress the defect rate viewed from the external interface while guaranteeing a data storage area that can be used by the user to the life end. .

図1はこの発明の第1実施形態に係るデータ記憶システムの構成例を示すブロック図FIG. 1 is a block diagram showing a configuration example of a data storage system according to the first embodiment of the present invention. 図2はこの発明の第1実施形態に係るデータ記憶システムのセルアレイ部、及びセンスアンプ部の構成例を示すブロック図FIG. 2 is a block diagram showing a configuration example of the cell array unit and the sense amplifier unit of the data storage system according to the first embodiment of the present invention. 図3は図2に示すメモリセルブロック49の等価回路例を示す等価回路図FIG. 3 is an equivalent circuit diagram showing an example of an equivalent circuit of the memory cell block 49 shown in FIG. 図4は図2に示すメモリセルブロック49の平面パターン例を示す平面図4 is a plan view showing a plane pattern example of the memory cell block 49 shown in FIG. 図5は図4中のV−V線に沿う断面図5 is a cross-sectional view taken along the line VV in FIG. 図6は図4中のVI−VI線に沿う断面図6 is a sectional view taken along line VI-VI in FIG. 図7は図1に示すECC回路100の構成例を示すブロック図FIG. 7 is a block diagram showing a configuration example of the ECC circuit 100 shown in FIG. 図8は図7に示す符号器14の回路例を示す回路図FIG. 8 is a circuit diagram showing a circuit example of the encoder 14 shown in FIG. 図9は図7に示す複号器(シンドローム計算器)15の回路例を示す回路図FIG. 9 is a circuit diagram showing a circuit example of the decoder (syndrome calculator) 15 shown in FIG. 図10は図7に示す復号器(シンドローム計算器)15の回路例を示す回路図FIG. 10 is a circuit diagram showing a circuit example of the decoder (syndrome calculator) 15 shown in FIG. 図11はこの発明の第1実施形態に係るデータ記憶システムの置き換え動作例を示す流れ図FIG. 11 is a flowchart showing an example of replacement operation of the data storage system according to the first embodiment of the present invention. 図12はこの発明の第1実施形態に係るデータ記憶システムのブロックアドレスの割り当て例を示す図FIG. 12 is a diagram showing an example of block address assignment in the data storage system according to the first embodiment of the present invention. 図13はガロア体の元を示す図FIG. 13 is a diagram showing the elements of the Galois field 図14はこの発明の第1実施形態に係るデータ記憶システムのブロック選択動作例を示す流れ図FIG. 14 is a flowchart showing an example of block selection operation of the data storage system according to the first embodiment of the present invention. 図15はこの発明の第1実施形態に係るデータ記憶システムの置き換え動作例を示す流れ図FIG. 15 is a flowchart showing an example of replacement operation of the data storage system according to the first embodiment of the present invention. 図16は図7に示すページバッファ11の回路例を示す回路図16 is a circuit diagram showing a circuit example of the page buffer 11 shown in FIG. 図17は図16に示すページバッファ11の動作例を示す動作波形図FIG. 17 is an operation waveform diagram showing an operation example of the page buffer 11 shown in FIG. 図18はこの発明の第2実施形態に係るデータ記憶システムが備えるECC回路100の構成例を示すブロック図FIG. 18 is a block diagram showing a configuration example of the ECC circuit 100 provided in the data storage system according to the second embodiment of the present invention. 図19はこの発明の第2実施形態に係るデータ記憶システムの置き換え動作例を示す流れ図FIG. 19 is a flowchart showing a replacement operation example of the data storage system according to the second embodiment of the present invention. 図20はこの発明の第2実施形態に係るデータ記憶システムに利用されるシンドローム入力と誤り位置ローケータ出力との対応表の例を示す図FIG. 20 is a diagram showing an example of a correspondence table between syndrome inputs and error position locator outputs used in the data storage system according to the second embodiment of the present invention. 図21はこの発明の第2実施形態の変形例に係るデータ記憶システムが備えるECC回路100の構成例を示すブロック図FIG. 21 is a block diagram showing a configuration example of the ECC circuit 100 included in the data storage system according to the modification of the second embodiment of the present invention. 図22はこの発明の第2実施形態の変形例に係るデータ記憶システムに利用されるシンドローム入力と誤り位置ローケータ出力との対応表の例を示す図FIG. 22 is a diagram showing an example of a correspondence table between syndrome inputs and error position locator outputs used in the data storage system according to the modification of the second embodiment of the present invention. 図23はこの発明の第3実施形態に係るデータ記憶システムが備えるメモリセルのロウ方向に沿った断面例を示す断面図FIG. 23 is a cross-sectional view showing a cross-sectional example along the row direction of the memory cell included in the data storage system according to the third embodiment of the present invention. 図24はこの発明の第3実施形態に係るデータ記憶システムが備えるメモリセルのカラム方向に沿った断面例を示す断面図FIG. 24 is a cross-sectional view showing a cross-sectional example along the column direction of the memory cell included in the data storage system according to the third embodiment of the present invention. 図25はこの発明の第4実施形態に係るデータ記憶システムのセルアレイ部、及びセンスアンプ部の構成例を示すブロック図FIG. 25 is a block diagram showing a configuration example of a cell array unit and a sense amplifier unit of a data storage system according to the fourth embodiment of the present invention. 図26はこの発明の第4実施形態に係るデータ記憶システムが備えるメモリセルのロウ方向に沿った断面例を示す断面図FIG. 26 is a cross-sectional view showing a cross-sectional example along the row direction of the memory cell included in the data storage system according to the fourth embodiment of the present invention. 図27はこの発明の第4実施形態に係るデータ記憶システムが備えるメモリセルのカラム方向に沿った断面例を示す断面図FIG. 27 is a cross-sectional view showing a cross-sectional example along the column direction of the memory cell included in the data storage system according to the fourth embodiment of the present invention.

符号の説明Explanation of symbols

1n…非スペア領域、1s…スペア領域、5…誤りビット検出回路、6…誤りビット数判定回路、49、49´…メモリセルブロック、100…ECC回路   1n ... Non-spare area, 1s ... Spare area, 5 ... Error bit detection circuit, 6 ... Error bit number determination circuit, 49, 49 '... Memory cell block, 100 ... ECC circuit

Claims (4)

複数個のメモリセルブロックを有し、これらメモリセルブロックのいくつかに接続され
るページを含む非スペア領域と、
予めデータがある値に揃った複数個のスペアメモリセルブロックを有し、これらスペア
メモリセルブロックのいくつかに接続されるページを含むスペア領域と、
複数個のメモリセルブロックを有し、これらメモリセルブロックのいくつかに接続され
るページを含み、前記非スペア領域のブロックアドレスを記憶するFile Allocation Tabl
e領域と、
前記非スペア領域内のページからデータを読み出したときに、少なくとも2ビットのデ
ータ誤りを検出し、読み出したページにおける誤りビットの数を読み出したページ毎に判
定する判定回路とを具備し、
前記判定回路による判定結果が2ビット以上の場合に、前記読み出したページの内容を
誤り訂正し、前記スペア領域内のページに書き込み、前記スペア領域のブロックアドレス
は、書き込み状態ビットが消去状態ビットよりも多く含むように設定され、書き込み状態
の論理値を“1”と、消去状態の論理値を“0”と定義した場合、前記非スペア領域のブ
ロックアドレスの論理反転と前記スペア領域のブロックアドレスとの論理和を取り、その
結果の論理値に1ビットも“0”が含まれていない場合、前記File Allocation Table領
域に記録された前記非スペア領域のブロックアドレスに前記スペア領域のブロックアドレ
スを追加書き込みすることにより“0”のビットを“1”に変更し、消去を必要としない
ことを特徴とするデータ記憶システム。
A non-spare area having a plurality of memory cell blocks and including pages connected to some of the memory cell blocks;
A spare area including a plurality of spare memory cell blocks in which data is pre-arranged to a certain value and including pages connected to some of these spare memory cell blocks;
File Allocation Tabl that has a plurality of memory cell blocks, includes pages connected to some of these memory cell blocks, and stores the block address of the non-spare area
e region,
A determination circuit that detects a data error of at least 2 bits when data is read from a page in the non-spare area and determines the number of error bits in the read page for each read page;
When the determination result by the determination circuit is 2 bits or more, the content of the read page is error-corrected and written to the page in the spare area. The block address of the spare area has a write status bit greater than an erase status bit. If the logical value of the write state is defined as “1” and the logical value of the erase state is defined as “0”, the logical inversion of the block address of the non-spare area and the block address of the spare area are defined. When the logical value of the result does not include any “0”, the block address of the spare area is added to the block address of the non-spare area recorded in the File Allocation Table area.
The data storage system is characterized in that the bit of “ 0” is changed to “1” by additionally writing to the memory and no erasure is required.
複数個のメモリセルブロックを有し、これらメモリセルブロックのいくつかに接続され
るページを含む非スペア領域と、
予めデータがある値に揃った複数個のスペアメモリセルブロックを有し、これらスペア
メモリセルブロックのいくつかに接続されるページを含むスペア領域と、
複数個のメモリセルブロックを有し、これらメモリセルブロックのいくつかに接続され
るページを含み、前記非スペア領域のブロックアドレスを記憶するFile Allocation Tabl
e領域と、
前記非スペア領域内のページからデータを読み出したときに、少なくとも2ビットのデ
ータ誤りを検出し、読み出したページにおける誤りビットの数を読み出したページ毎に判
定する判定回路とを具備し、
前記判定回路による判定結果が2ビット以上の場合に、前記読み出したページの内容を
誤り訂正し、前記スペア領域内のページに書き込み、前記スペア領域のブロックアドレス
は、書き込み状態ビットが消去状態ビットよりも多く含むように設定され、書き込み状態
の論理値を“1”と、消去状態の論理値を“0”と定義した場合、前記非スペア領域のブ
ロックアドレスの論理反転と前記スペア領域のブロックアドレスとの論理和を取り、その
結果の論理値に1ビットも“0”が含まれていない場合、前記File Allocation Table領
域に記録された前記非スペア領域のブロックアドレスに前記スペア領域のブロックアドレ
スを追加書き込みすることにより“0”のビットを“1”に変更し、消去を必要としない
データ記憶システムであって、
1ページ当たりの情報ビットの数をn、前記1ページ内で誤り訂正できる最大ビット数
をt、並びにmを{2m-1−t×(m−1)−1}<n≦(2m−t×m−1)を満たす自
然数としたとき、
前記1ページ内のメモリセルの数は、(n+t×m)以上であることを特徴とするデー
タ記憶システム。
A non-spare area having a plurality of memory cell blocks and including pages connected to some of the memory cell blocks;
A spare area including a plurality of spare memory cell blocks in which data is pre-arranged to a certain value and including pages connected to some of these spare memory cell blocks;
File Allocation Tabl that has a plurality of memory cell blocks, includes pages connected to some of these memory cell blocks, and stores the block address of the non-spare area
e region,
A determination circuit that detects a data error of at least 2 bits when data is read from a page in the non-spare area and determines the number of error bits in the read page for each read page;
When the determination result by the determination circuit is 2 bits or more, the content of the read page is error-corrected and written to the page in the spare area. The block address of the spare area has a write status bit greater than an erase status bit. If the logical value of the write state is defined as “1” and the logical value of the erase state is defined as “0”, the logical inversion of the block address of the non-spare area and the block address of the spare area are defined. When the logical value of the result does not include any “0”, the block address of the spare area is added to the block address of the non-spare area recorded in the File Allocation Table area.
A data storage system that changes the bit of “ 0” to “1” by additionally writing a memory and does not require erasure,
The number of information bits per page is n, the maximum number of bits that can be error-corrected in one page is t, and m is {2 m−1 −t × (m−1) −1} <n ≦ (2 m −t × m−1) When a natural number satisfying is satisfied,
A data storage system, wherein the number of memory cells in one page is (n + t × m) or more.
複数個のメモリセルブロックを有し、これらメモリセルブロックのいくつかに接続され
るページを含む非スペア領域と、
予めデータがある値に揃った複数個のスペアメモリセルブロックを有し、これらスペア
メモリセルブロックのいくつかに接続されるページを含むスペア領域と、
複数個のメモリセルブロックを有し、これらメモリセルブロックのいくつかに接続され
るページを含み、前記非スペア領域のブロックアドレスを記憶するFile Allocation Tabl
e領域と、
前記非スペア領域内のページからデータを読み出したときに、少なくとも2ビットのデ
ータ誤りを検出し、読み出したページにおける誤りビットの数を読み出したページ毎に判
定する判定回路とを具備し、
前記判定回路による判定結果が2ビット以上の場合に、前記読み出したページの内容を
誤り訂正し、前記スペア領域内のページに書き込み、前記スペア領域のブロックアドレス
は、書き込み状態ビットが消去状態ビットよりも多く含むように設定され、書き込み状態
の論理値を“1”と、消去状態の論理値を“0”と定義した場合、前記非スペア領域のブ
ロックアドレスの論理反転と前記スペア領域のブロックアドレスとの論理和を取り、その
結果の論理値に1ビットも“0”が含まれていない場合、前記File Allocation Table領
域に記録された前記非スペア領域のブロックアドレスに前記スペア領域のブロックアドレ
スを追加書き込みすることにより“0”のビットを“1”に変更し、消去を必要としない
データ記憶システムであって、
前記非スペア領域及び前記スペア領域は、それぞれ複数のページで同時に消去動作が行
われることを特徴とするデータ記憶システム。
A non-spare area having a plurality of memory cell blocks and including pages connected to some of the memory cell blocks;
A spare area including a plurality of spare memory cell blocks in which data is pre-arranged to a certain value and including pages connected to some of these spare memory cell blocks;
File Allocation Tabl that has a plurality of memory cell blocks, includes pages connected to some of these memory cell blocks, and stores the block address of the non-spare area
e region,
A determination circuit that detects a data error of at least 2 bits when data is read from a page in the non-spare area and determines the number of error bits in the read page for each read page;
When the determination result by the determination circuit is 2 bits or more, the content of the read page is error-corrected and written to the page in the spare area. The block address of the spare area has a write status bit greater than an erase status bit. If the logical value of the write state is defined as “1” and the logical value of the erase state is defined as “0”, the logical inversion of the block address of the non-spare area and the block address of the spare area are defined. When the logical value of the result does not include any “0”, the block address of the spare area is added to the block address of the non-spare area recorded in the File Allocation Table area.
A data storage system that changes the bit of “ 0” to “1” by additionally writing a memory and does not require erasure,
The data storage system, wherein the non-spare area and the spare area are simultaneously erased on a plurality of pages.
前記スペア領域のブロックアドレスは、クラスi(iは前記スペア領域のブロックアド
レスの“0”の個数)とした場合、iの小さいクラスの前記スペア領域のブロックアドレ
スを選択的に前記非スペア領域のブロックアドレスの論理反転と演算を行うこと
を特徴とする請求項1乃至3のいずれか1項に記載のデータ記憶システム。
When the block address of the spare area is class i (i is the number of “0” of the block address of the spare area), the block address of the spare area of the class having a small i is selectively selected in the non-spare area. The data storage system according to any one of claims 1 to 3, wherein logical inversion and operation of a block address are performed.
JP2007241540A 2007-09-18 2007-09-18 Data storage system Expired - Fee Related JP4686520B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007241540A JP4686520B2 (en) 2007-09-18 2007-09-18 Data storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007241540A JP4686520B2 (en) 2007-09-18 2007-09-18 Data storage system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2004054532A Division JP4041076B2 (en) 2004-02-27 2004-02-27 Data storage system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010093329A Division JP5121874B2 (en) 2010-04-14 2010-04-14 Data storage system setting method

Publications (2)

Publication Number Publication Date
JP2008047283A JP2008047283A (en) 2008-02-28
JP4686520B2 true JP4686520B2 (en) 2011-05-25

Family

ID=39180834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007241540A Expired - Fee Related JP4686520B2 (en) 2007-09-18 2007-09-18 Data storage system

Country Status (1)

Country Link
JP (1) JP4686520B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191984A (en) * 2010-04-14 2010-09-02 Toshiba Corp Setting method of data storage system

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102098247B1 (en) 2013-11-25 2020-04-08 삼성전자 주식회사 Method and apparatus for encoding and decoding data in memory system
JP2020150227A (en) 2019-03-15 2020-09-17 キオクシア株式会社 Semiconductor device and manufacturing method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997032253A1 (en) * 1996-02-29 1997-09-04 Hitachi, Ltd. Semiconductor memory device having faulty cells
JP2000011677A (en) * 1998-06-25 2000-01-14 Tokyo Electron Ltd Flash memory system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08203292A (en) * 1995-01-31 1996-08-09 Fuji Film Micro Device Kk Nonvolatile memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997032253A1 (en) * 1996-02-29 1997-09-04 Hitachi, Ltd. Semiconductor memory device having faulty cells
JP2000011677A (en) * 1998-06-25 2000-01-14 Tokyo Electron Ltd Flash memory system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191984A (en) * 2010-04-14 2010-09-02 Toshiba Corp Setting method of data storage system

Also Published As

Publication number Publication date
JP2008047283A (en) 2008-02-28

Similar Documents

Publication Publication Date Title
JP4041076B2 (en) Data storage system
JP5214422B2 (en) Data storage system
JP4256198B2 (en) Data storage system
JP5177991B2 (en) Nonvolatile semiconductor memory device
US9997258B2 (en) Using non-volatile memory bad blocks
TWI625728B (en) Selection of data for redundancy calculation in three dimensional nonvolatile memory
US11495311B2 (en) Non-volatile memory with erase verify skip
US10198315B2 (en) Non-volatile memory with corruption recovery
US7017099B2 (en) Method for error control in multilevel cells with configurable number of stored bits
JP4686520B2 (en) Data storage system
JP5121874B2 (en) Data storage system setting method
JP2021044519A (en) Semiconductor device
KR101015342B1 (en) Data memory system
TWI811845B (en) Semiconductor device and method for manufacturing semiconductor device
EP4361814A1 (en) Ecc decoder and memory controller including the same
US20240086277A1 (en) Nand fast cyclic redundancy check
JP2021150508A (en) Semiconductor storage device and manufacturing method for semiconductor storage device
Lavan Berman et al.(43) Pub. Date: Aug. 14, 2008

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100414

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101222

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110105

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110214

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140218

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140218

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees