JP2014137834A - Semiconductor storage device - Google Patents

Semiconductor storage device Download PDF

Info

Publication number
JP2014137834A
JP2014137834A JP2013006364A JP2013006364A JP2014137834A JP 2014137834 A JP2014137834 A JP 2014137834A JP 2013006364 A JP2013006364 A JP 2013006364A JP 2013006364 A JP2013006364 A JP 2013006364A JP 2014137834 A JP2014137834 A JP 2014137834A
Authority
JP
Japan
Prior art keywords
data
page buffer
ecc
circuit
unit
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.)
Pending
Application number
JP2013006364A
Other languages
Japanese (ja)
Inventor
Makoto Hirano
誠 平野
Tomohisa Miyamoto
智久 宮本
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.)
Samsung R&D Institute Japan Co Ltd
Original Assignee
Samsung R&D Institute Japan Co Ltd
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 Samsung R&D Institute Japan Co Ltd filed Critical Samsung R&D Institute Japan Co Ltd
Priority to JP2013006364A priority Critical patent/JP2014137834A/en
Publication of JP2014137834A publication Critical patent/JP2014137834A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a semiconductor storage device capable of shortening time for reading recovered and corrected data at data reading operation.SOLUTION: A data transfer unit comprises: a page buffer 102a for latching output data to be output to a bit line connected with a normal memory cell; and a page buffer 102c for latching output data to be output to a bit line connected with a parity memory cell. An ECC Bus_1 is connected with the page buffer 102a and the page buffer 102c, and connected with an ECC Bus_3. The ECC Bus_1 comprises: an ECC circuit 107a for correcting errors in output data from the page buffer 102a on the basis of output data of the page buffer 102c; and a randomizer 107b which, on the basis of preset seed data, randomizes data input from the page buffer 102a, and derandomizes data input from the ECC circuit 107a.

Description

本発明は、半導体記憶装置に関する。   The present invention relates to a semiconductor memory device.

NAND型フラッシュメモリ等に代表される半導体記憶装置は、その集積度が向上するにつれ、複数のメモリセルの間の干渉(interference)が増加するため、誤ったデータ読み出し動作や、誤ったデータ書き込み動作を行う可能性が高くなってきている。そのため、例えば特許文献1記載のフラッシュメモリでは、入力データパターン(data pattern)にデータ1とデータ0とが確率的に一定に保持されるように、入力データパターンを変える機能を実行するランダマイザを備えている。   A semiconductor memory device represented by a NAND flash memory or the like has an increase in the degree of integration, so that an interference between a plurality of memory cells increases. Therefore, an erroneous data read operation or an incorrect data write operation is performed. The possibility to do is getting higher. Therefore, for example, the flash memory described in Patent Document 1 includes a randomizer that executes a function of changing an input data pattern so that data 1 and data 0 are stochastically held constant in the input data pattern (data pattern). ing.

特許文献1記載のフラッシュメモリは、データ書き込み動作においては、ランダムシード発生回路によって発生したランダムシードRS(シード)と、入力バッファを通じて入力されたオリジナルデータOD(入力データ)とをXOR(排他的論理和)演算する。特許文献1記載のフラッシュメモリは、XOR演算によりランダムデータRDを生成し(ランダマイズ;Randomize)、このランダムデータRDをメモリセルアレイのメモリセルにプログラムする。また、特許文献1記載のフラッシュメモリは、データ読み出し動作においては、ランダムデータRDと、ランダムシードRSとをXOR演算して、ランダムデータRDをオリジナルデータODに復元、すなわち、デランダマイズ(De−Randomize)し、外部へ出力する。   In the flash memory described in Patent Document 1, in the data write operation, the random seed RS (seed) generated by the random seed generation circuit and the original data OD (input data) input through the input buffer are XOR (exclusive logic). Sum) Calculate. The flash memory described in Patent Document 1 generates random data RD by ROR operation (Randomize) and programs the random data RD into the memory cells of the memory cell array. In the flash memory described in Patent Document 1, in the data read operation, the random data RD and the random seed RS are XORed to restore the random data RD to the original data OD, that is, de-randomization (De-Randomize). ) And output to the outside.

一方、従来のNAND型フラッシュメモリでは、多数回の書き換えに伴うトンネル酸化膜の劣化等に起因して、データ保持中に記憶素子(メモリセルトランジスタ)の保持特性が失われ、エラービットの発生率(エラー率)が大きくなる傾向がある。特に、NAND型フラッシュメモリでは、メモリセルの大容量化、すなわち製造プロセスにおける微細化が進むとエラー率は上昇してしまう傾向にある。そのため、記憶すべきデータに誤り訂正符号(Error Correcting Code)の冗長データ(パリティデータ)を付加してデータ列としてフラッシュメモリに書込むと共に、読み出し時には誤り訂正符号の冗長データを基にしてデータの訂正を行うことで、エラービットが発生したときのデータの補償を行っている。   On the other hand, in the conventional NAND flash memory, the retention characteristics of the memory element (memory cell transistor) are lost during data retention due to deterioration of the tunnel oxide film accompanying many rewrites, etc., and the error bit occurrence rate (Error rate) tends to increase. In particular, in the NAND flash memory, the error rate tends to increase as the capacity of the memory cell increases, that is, the miniaturization in the manufacturing process proceeds. Therefore, error correction code (Error Correcting Code) redundant data (parity data) is added to the data to be stored and written to the flash memory as a data string. At the time of reading, the data of the error correction code is stored based on the redundant data of the error correction code. Correction is performed to compensate for data when an error bit occurs.

このデータの補償は、NAND型フラッシュメモリの内部においてECC回路により演算処理してもよく、或いは、NAND型フラッシュメモリの外部、例えばメモリコントローラにおいてECC処理を行ってもよい。特許文献1記載のフラッシュメモリでは、外部のコントローラにおいてECC処理を行っている。   This data compensation may be performed by an ECC circuit inside the NAND flash memory, or ECC processing may be performed outside the NAND flash memory, for example, in a memory controller. In the flash memory described in Patent Document 1, ECC processing is performed in an external controller.

従って、特許文献1記載のフラッシュメモリでは、データ書き込み動作においては、外部のコントローラにおいて、ホストインターフェースを通じて入力されるデータに対してエラー訂正エンコーディング(Error Correction Encoding)を行う。これにより、外部のコントローラは、パリティビット(Parity Bit)が付け加われたデータ、すなわち、エンコードされたデータを形成する。このエンコードされたデータが、NAND型フラッシュメモリに入力され、上述の様にランダマイズ処理された後に、メモリセルに書き込まれる。
一方、データ読み出し動作においては、NAND型フラッシュメモリにおいて、上述の様にランダマイズ処理された後に、復元されたオリジナルデータが、外部のコントローラのECCデコーダに入力される。このECCデコーダは、復元されたオリジナルデータのエラーを検出し、訂正する(Error Correction Decoding)。
Therefore, in the flash memory disclosed in Patent Document 1, in a data write operation, an error correction encoding (Error Correction Encoding) is performed on data input through a host interface in an external controller. As a result, the external controller forms data to which a parity bit is added, that is, encoded data. The encoded data is input to the NAND flash memory, subjected to randomization processing as described above, and then written into the memory cell.
On the other hand, in the data read operation, in the NAND flash memory, after the randomization process is performed as described above, the restored original data is input to the ECC decoder of the external controller. This ECC decoder detects and corrects an error in the restored original data (Error Correction Decoding).

特開2012−181909号公報JP 2012-181909 A

ところが、特許文献1記載のフラッシュメモリでは、シード(Seed)をページバッファ(Page Buffer)に送り、ランダマイズ(Randomize)処理をする方式を採用している。そのため、たとえばデータ読み出し(Read)動作の時に、ECCのデコード(Decode)処理を行う時間と、デランダマイズ(De−Randomize)処理を行う時間を要するため、復元、かつ訂正されたデータの読み出し時間が増大してしまうという問題がある。   However, the flash memory described in Patent Document 1 employs a system in which a seed is sent to a page buffer and a randomization process is performed. For this reason, for example, at the time of a data read operation, it takes time to perform ECC decoding (Decode) processing and time to perform de-randomization processing. Therefore, the time for reading the restored and corrected data is required. There is a problem that it increases.

そこで本発明が解決しようとする課題は、データ読み出し動作の時に、復元、かつ訂正されたデータの読み出し時間を短縮することにある。   Therefore, the problem to be solved by the present invention is to shorten the time for reading the restored and corrected data during the data reading operation.

本発明の半導体記憶装置は、第1のデータバスと、第1の動作モードによりメモリセルとの間でデータを転送する場合、複数のビット線のうち前記第1のデータバスと同じ本数のビット線と、前記第1のデータバスとを接続してデータを転送するデータ転送部と、を備え、前記データ転送部は、通常メモリセルに接続されるビット線に出力される出力データをラッチする第1のページバッファと、パリティメモリセルに接続されるビット線に出力される出力データをラッチする第2のページバッファと、を含んで構成され、前記第1のデータバスは、前記第1のページバッファ、及び前記第2のページバッファと接続され、さらに、前記第1のデータバスに接続されるとともに、前記第2のページバッファの出力データに基づき、前記第1のページバッファの出力データの誤りを訂正するECC回路と、前記第1のデータバスに接続され、予め設定されたシードデータに基づいて、前記第1のページバッファから入力されるデータをランダマイズし、前記ECC回路から入力されるデータをデランダマイズするランダマイザと、を備える、ことを特徴とする。   When transferring data between the first data bus and the memory cell in the first operation mode, the semiconductor memory device of the present invention has the same number of bits as the first data bus among the plurality of bit lines. And a data transfer unit for transferring data by connecting the first data bus, and the data transfer unit latches output data output to a bit line connected to a normal memory cell A first page buffer; and a second page buffer that latches output data output to a bit line connected to a parity memory cell. The first data bus includes the first page buffer Connected to the page buffer and the second page buffer, further connected to the first data bus, and based on the output data of the second page buffer, An ECC circuit that corrects an error in the output data of the page buffer, and is connected to the first data bus, and randomizes the data input from the first page buffer based on preset seed data, and the ECC And a randomizer for derandomizing data input from the circuit.

また、本発明の半導体記憶装置において、前記第1のページバッファのうちメモリセルまたはビット線に不良が有るページバッファの出力を固定されたデータとするページバッファ制御回路を有し、前記ページバッファ制御回路は、メモリセルまたはビット線に不良が有る場合、前記第1のデータバスからの書き込みを許可しないことを特徴とする。   The semiconductor memory device according to the present invention further includes a page buffer control circuit that uses, as the fixed data, an output of a page buffer having a defect in a memory cell or a bit line in the first page buffer. The circuit does not permit writing from the first data bus when a memory cell or a bit line has a defect.

また、本発明の半導体記憶装置において、前記第1のデータバスと異なる本数から構成され、前記第1のデータバスとは独立して設けられる第2のデータバスを備え、前記データ転送部は、第2の動作モードによりメモリセルとの間でデータを転送する場合、複数のビット線のうち前記第2のデータバスと同じ本数のビット線と、前記第2のデータバスとを接続してデータを転送し、前記第1の動作モードでは、前記第1のページバッファのうち、メモリセルまたはビット線に不良が有るページバッファと、前記第2の動作モードでの救済置換を前提として存在する第3のページバッファとの間において救済置換を行わずに、前記ECC回路、及び前記ランダマイザの入力データとして取り扱うことを特徴とする。   Further, in the semiconductor memory device of the present invention, the semiconductor memory device includes a second data bus that is configured in a different number from the first data bus and is provided independently of the first data bus, and the data transfer unit includes: When data is transferred between the memory cells in the second operation mode, the same number of bit lines as the second data bus among the plurality of bit lines are connected to the second data bus for data In the first operation mode, a page buffer having a defect in a memory cell or a bit line in the first page buffer and a replacement replacement in the second operation mode are presupposed. 3 is handled as input data to the ECC circuit and the randomizer without performing repair replacement with the third page buffer.

また、本発明の半導体記憶装置において、前記第1の動作モードのデータ書き込み動作において、前記ランダマイザは、前記第1のページバッファの出力データをランダマイズして前記ECC回路に入力し、前記ECC回路は、前記ランダマイザから入力されるデータに基づいて、パリティデータを生成して前記第2のページバッファにパリティデータを書き込み、一方、前記第1の動作モードのデータ読み出し動作において、前記ECC回路は、前記第2のページバッファのパリティデータに基づいて、前記第1のページバッファのデータを誤り訂正し、前記ランダマイザは訂正後のデータをデランダマイズして前記第1のページバッファに書き戻す、第1のランダマイズ及びECC処理を実行することを特徴とする。   In the semiconductor memory device of the present invention, in the data write operation in the first operation mode, the randomizer randomizes and outputs the output data of the first page buffer to the ECC circuit, and the ECC circuit , Generating parity data based on the data input from the randomizer and writing the parity data to the second page buffer, while in the data read operation of the first operation mode, the ECC circuit The first page buffer data is error-corrected based on the parity data of the second page buffer, and the randomizer derandomizes the corrected data and writes it back to the first page buffer. Randomization and ECC processing are executed.

また、本発明の半導体記憶装置において、前記第1のランダマイズ及びECC処理に替えて、前記第1の動作モードのデータ書き込み動作において、前記ランダマイザは、前記第1のページバッファの出力データをランダマイズして前記第1のページバッファに書き戻し、前記ECC回路は、前記第1のページバッファに書き戻されたデータに基づいて前記第2のページバッファにパリティデータを書き込み、一方、前記第1の動作モードのデータ読み出し動作において、前記ECC回路は、前記第2のページバッファのパリティデータに基づいて、前記第1のページバッファのデータを誤り訂正し、前記ランダマイザは訂正後のデータをデランダマイズして前記第1のページバッファに書き戻す、第2のランダマイズ及びECC処理を実行することを特徴とする。   In the semiconductor memory device of the present invention, the randomizer randomizes the output data of the first page buffer in the data write operation in the first operation mode instead of the first randomization and ECC processing. The ECC circuit writes parity data to the second page buffer based on the data written back to the first page buffer, while the first operation is performed. In the mode data read operation, the ECC circuit corrects the error of the data of the first page buffer based on the parity data of the second page buffer, and the randomizer derandomizes the corrected data. Execute second randomization and ECC processing to write back to the first page buffer And wherein the Rukoto.

また、本発明の半導体記憶装置において、前前記第2のランダマイズ及びECC処理に替えて、前記第1の動作モードのデータ書き込み動作において、前記ランダマイザは、ランダマイズ処理に先立って取り込んだ前記第1のページバッファの不良情報に基づいて、前記第1のページバッファの出力データのうち、前記固定されたデータを除く、前記第1のページバッファの出力データをランダマイズして前記ECC回路に入力し、前記ECC回路は、前記ランダマイザから入力されるデータに基づいて、パリティデータを生成して前記第2のページバッファにパリティデータを書き込み、一方、前記第1の動作モードのデータ読み出し動作において、前記ECC回路は、前記第2のページバッファのパリティデータに基づいて、前記第1のページバッファのデータを誤り訂正し、前記ランダマイザは訂正後のデータをデランダマイズして前記第1のページバッファに書き戻す、第3のランダマイズ及びECC処理を実行することを特徴とする。   In the semiconductor memory device of the present invention, in the data write operation in the first operation mode, instead of the second randomization and ECC processing, the randomizer captures the first fetched prior to the randomization processing. Randomize the output data of the first page buffer, excluding the fixed data, out of the output data of the first page buffer based on the defect information of the page buffer, and input it to the ECC circuit, The ECC circuit generates parity data based on the data input from the randomizer and writes the parity data to the second page buffer. On the other hand, in the data read operation of the first operation mode, the ECC circuit Is based on the parity data of the second page buffer. Data Jibaffa error correction, the randomizer and Derandamaizu the corrected data is written back to the first page buffer, and executes the third randomization and ECC processing.

また、本発明の半導体記憶装置において、前記ビット線は、n(nはpとqの公倍数であり、p、及びqはp>qである自然数)本のビット線であり、前記第1のデータバスはp本であり、前記第2のデータバスはq本であって、前記データ転送部は、前記第1の動作モードでは、(n/p)本のアドレス信号が入力されると、p本のビット線とp本の第1のデータバスとの接続を行い、一方、前記第2の動作モードでは、(n/q)本のアドレス信号が入力されると、q本ビット線と第2のデータバスとの接続を行う、ことを特徴とする。なお、上記構成は、論理的空間においての概念を前提としており、物理的ビット線数nがpとqの公倍数でなくてもよく、余りをダミービット線として処理するなどで対応できる。   In the semiconductor memory device of the present invention, the bit lines are n (n is a common multiple of p and q, p and q are natural numbers where p> q), and the first The number of data buses is p, the number of second data buses is q, and the data transfer unit receives (n / p) address signals in the first operation mode. The p bit lines and the p first data buses are connected. On the other hand, in the second operation mode, when (n / q) address signals are input, q bit lines and A connection with the second data bus is performed. The above configuration is based on the concept of a logical space, and the number of physical bit lines n may not be a common multiple of p and q, and can be dealt with by processing the remainder as a dummy bit line.

本発明の半導体記憶装置は、第1のデータバスと、第1の動作モードによりメモリセルとの間でデータを転送する場合、複数のビット線のうち第1のデータバスと同じ本数のビット線と、第1のデータバスとを接続してデータを転送するデータ転送部と、を備える。半導体記憶装置は、さらに、第1のデータバスに接続されるECC回路と、第1のデータバスに接続されるランダマイザと、を備える。   When transferring data between the first data bus and the memory cell in the first operation mode, the semiconductor memory device of the present invention has the same number of bit lines as the first data bus among the plurality of bit lines. And a data transfer unit that connects the first data bus and transfers data. The semiconductor memory device further includes an ECC circuit connected to the first data bus, and a randomizer connected to the first data bus.

これにより、ページバッファの出力に接続されるECCのデータバス(第1のデータバス)を、第1動作モード(ECCモード)用に用いることができる。また、このECCのデータバスには、ランダマイザ、及びECC回路が設けられる。そのため、本発明の半導体記憶装置によれば、ECC回路、及びランダマイザを内蔵した半導体記憶装置において、ECC処理におけるデコード(Decode)動作とデランダマイズ(De−Randomize)動作を同時に実行でき、復元、かつ訂正されたデータの読み出し時間を短縮することができる。   Accordingly, the ECC data bus (first data bus) connected to the output of the page buffer can be used for the first operation mode (ECC mode). The ECC data bus is provided with a randomizer and an ECC circuit. Therefore, according to the semiconductor memory device of the present invention, in a semiconductor memory device incorporating an ECC circuit and a randomizer, a decoding operation and a de-randomizing operation in the ECC process can be executed simultaneously, restored, and The read time of corrected data can be shortened.

また、半導体記憶装置は、第1のページバッファのうちメモリセルまたはビット線に不良が有るページバッファの出力を固定されたデータとするページバッファ制御回路を有する。半導体記憶装置は、第1の動作モードでは、第1のページバッファのうち、メモリセルまたはビット線に不良が有るページバッファと、第2の動作モードでの救済置換を前提として存在する第3のページバッファとの間において救済置換を行わずに、ECC回路、及びランダマイザの入力データとして取り扱う。また、半導体記憶装置は、以下の第1のランダマイズ及びECC処理を実行する。すなわち、半導体記憶装置では、第1の動作モードのデータ書き込み動作において、ランダマイザは、第1のページバッファの出力データをランダマイズしてECC回路に入力し、ECC回路は、ランダマイザから入力されるデータに基づいて、パリティデータを生成して第2のページバッファにパリティデータを書き込む。一方、第1の動作モードのデータ読み出し動作において、ECC回路は、第2のページバッファのパリティデータに基づいて、第1のページバッファのデータを誤り訂正し、ランダマイザは訂正後のデータをデランダマイズして第1のページバッファに書き戻す。   The semiconductor memory device also includes a page buffer control circuit that uses the output of the page buffer having a defect in the memory cell or the bit line in the first page buffer as fixed data. In the first operation mode, the semiconductor memory device has a page buffer in which a memory cell or a bit line has a defect in the first page buffer and a third buffer existing on the premise of repair replacement in the second operation mode. The data is handled as input data of the ECC circuit and the randomizer without performing replacement replacement with the page buffer. In addition, the semiconductor memory device executes the following first randomization and ECC processing. That is, in the semiconductor memory device, in the data write operation in the first operation mode, the randomizer randomizes the output data of the first page buffer and inputs it to the ECC circuit, and the ECC circuit converts the data input from the randomizer to Based on this, parity data is generated and written to the second page buffer. On the other hand, in the data read operation in the first operation mode, the ECC circuit corrects the error in the data in the first page buffer based on the parity data in the second page buffer, and the randomizer derandomizes the corrected data. Then, write back to the first page buffer.

これにより、第1のページバッファのうちメモリセルまたはビット線に不良が有るページバッファについては、ランダマイザ、及びECC回路により誤りが訂正される。そのため、本発明の半導体記憶装置によれば、ECCのデコード処理とデランダマイズ処理とを高速に実行することができる。また、第1のページバッファのうちメモリセルまたはビット線に不良が有るページバッファについては、ECC回路により誤りが訂正されるので、救済機能を省略することができる。   As a result, for the page buffer in which the memory cell or the bit line is defective among the first page buffers, the error is corrected by the randomizer and the ECC circuit. Therefore, according to the semiconductor memory device of the present invention, ECC decoding processing and derandomization processing can be executed at high speed. Further, for the page buffer having a defect in the memory cell or the bit line in the first page buffer, the error is corrected by the ECC circuit, so that the relief function can be omitted.

また、半導体記憶装置は、第1のランダマイズ及びECC処理に替えて、以下の第2のランダマイズ及びECC処理を実行する。すなわち、半導体記憶装置では、第1の動作モードのデータ書き込み動作において、ランダマイザは、第1のページバッファの出力データをランダマイズして第1のページバッファに書き戻し、ECC回路は、第1のページバッファに書き戻されたデータに基づいて第2のページバッファにパリティデータを書き込む。一方、第1の動作モードのデータ読み出し動作において、ECC回路は、第2のページバッファのパリティデータに基づいて、第1のページバッファのデータを誤り訂正し、ランダマイザは訂正後のデータをデランダマイズして第1のページバッファに書き戻す。   In addition, the semiconductor memory device executes the following second randomization and ECC processing instead of the first randomization and ECC processing. That is, in the semiconductor memory device, in the data write operation in the first operation mode, the randomizer randomizes the output data of the first page buffer and writes it back to the first page buffer, and the ECC circuit outputs the first page buffer. Parity data is written to the second page buffer based on the data written back to the buffer. On the other hand, in the data read operation in the first operation mode, the ECC circuit corrects the error in the data in the first page buffer based on the parity data in the second page buffer, and the randomizer derandomizes the corrected data. Then, write back to the first page buffer.

これにより、第1のページバッファのうちメモリセルまたはビット線に不良が有るページバッファについては、誤りが発生しないように処理される。そのため、本発明の半導体記憶装置によれば、ECC処理の訂正処理能力を下げずに、ECCのデコード処理とデランダマイズ処理とを高速に実行することができる。   As a result, the page buffer having a defect in the memory cell or the bit line in the first page buffer is processed so as not to cause an error. Therefore, according to the semiconductor memory device of the present invention, ECC decoding processing and derandomization processing can be executed at high speed without reducing the correction processing capability of ECC processing.

本実施形態におけるNAND型フラッシュメモリのブロック構成を示す図である。1 is a block diagram of a NAND flash memory according to an embodiment. ランダマイザ、及びECC回路107の詳細な構成例を示す図である。3 is a diagram illustrating a detailed configuration example of a randomizer and an ECC circuit 107. FIG. 図1に示すページバッファ102、カラムコーディング回路103、及びECCカラムコーディング回路108に対応する部分のデータ読み出し動作を説明するための図である。FIG. 2 is a diagram for explaining a data read operation of a portion corresponding to a page buffer 102, a column coding circuit 103, and an ECC column coding circuit 108 shown in FIG. 図2に示すPB 4IO ユニットの内部の構成、及びPBユニットの内部の構成を示す図である。FIG. 3 is a diagram illustrating an internal configuration of the PB 4IO unit illustrated in FIG. 2 and an internal configuration of the PB unit. PB ユニットの内部の回路構成を示す図である。It is a figure which shows the circuit structure inside a PB unit. PB ユニットの内部の他の回路構成を示す図である。It is a figure which shows the other circuit structure inside a PB unit. 図4、及び図5に示すビット内部回路50_i(i=0〜7の整数)の回路構成を示す図である。FIG. 6 is a diagram showing a circuit configuration of a bit internal circuit 50_i (i = 0 to 7) shown in FIG. 4 and FIG. 図1に示すページバッファ102、カラムコーディング回路103、及びECCカラムコーディング回路108に対応する部分のデータ書き込み動作を説明するための図である。FIG. 2 is a diagram for explaining a data write operation in a portion corresponding to a page buffer 102, a column coding circuit 103, and an ECC column coding circuit 108 shown in FIG. ページバッファ102を構成する各ページバッファを説明するための図である。3 is a diagram for explaining each page buffer constituting the page buffer 102. FIG. ページバッファ102の動作を説明するためのフローチャートである。5 is a flowchart for explaining the operation of a page buffer 102. ECCモードにおける第1のランダマイズ及びECC処理について説明するための図である。It is a figure for demonstrating the 1st randomization and ECC process in ECC mode. 第1のランダマイズ及びECC処理のフローチャートである。It is a flowchart of a 1st randomization and ECC process. ECCモードにおける第2のランダマイズ及びECC処理について説明するための図である。It is a figure for demonstrating the 2nd randomization and ECC process in ECC mode. 第2のランダマイズ及びECC処理のフローチャートである。It is a flowchart of a 2nd randomization and ECC process. ランダマイザ107b_1の回路構成を示す図である。It is a figure which shows the circuit structure of randomizer 107b_1. 第3のランダマイズ及びECC処理のフローチャートである。It is a flowchart of a 3rd randomization and ECC process.

以下、図面を参照して、本発明の実施の形態について説明する。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。   Embodiments of the present invention will be described below with reference to the drawings. In the following description, elements having the same function and configuration are denoted by the same reference numerals, and redundant description will be given only when necessary.

図1は、本実施形態におけるNAND型フラッシュメモリのブロック構成を示す図である。図1に示すNAND型フラッシュメモリ10は、メモリアレイ101、PB(Page Buffer;ページバッファ)102、Column Coding Circuit(カラムコーディング回路)103、Main Column Repair MUX(カラム救済回路)104を備えている。また、NAND型フラッシュメモリ10は、Parity CR MUX(パリティカラム置換回路)105、ECC Column Coding Circuit(ECCカラムコーディング回路)108、I/O PAD(I/Oパッド)106を備えている。また、NAND型フラッシュメモリ10は、ECC Engine(ECC回路)107a、及びRandomize Mixer(ランダマイザ)107bを備えている。本実施形態においては、以下、ECC回路107a、及びランダマイザ107bを、一体化してランダマイザ、及びECC回路107と呼ぶことがある。   FIG. 1 is a diagram showing a block configuration of a NAND flash memory according to this embodiment. A NAND flash memory 10 shown in FIG. 1 includes a memory array 101, a PB (Page Buffer) 102, a Column Coding Circuit (column coding circuit) 103, and a Main Column Repair MUX (column relief circuit) 104. The NAND flash memory 10 also includes a parity CR MUX (parity column replacement circuit) 105, an ECC column coding circuit (ECC column coding circuit) 108, and an I / O pad (I / O pad) 106. The NAND flash memory 10 includes an ECC engine (ECC circuit) 107a and a randomize mixer 107b. In the present embodiment, hereinafter, the ECC circuit 107a and the randomizer 107b may be integrated and referred to as a randomizer and an ECC circuit 107.

図1において、Data Bus_1、Data Bus_2、及びData Bus_3(第2のデータバス)は、データの受け渡しをページバッファ102とI/Oパッド106との間において行なう配線であり、以下、単にData_Busと呼ぶこともある。
I/Oパッド106(インターフェース部)は、例えばNAND型フラッシュメモリ10の制御を行なうナンドコントローラとの間で上記データの受け渡しを行なう外部端子である。
また、ECC Bus_1、ECC Bus_2、及びECC Bus_3(第1のデータバス)は、データの受け渡しをページバッファ102とランダマイザ、及びECC回路107との間において行なう配線であり、以下、単にECC_Busと呼ぶこともある。
In FIG. 1, Data Bus_1, Data Bus_2, and Data Bus_3 (second data bus) are wirings for transferring data between the page buffer 102 and the I / O pad 106. Hereinafter, they are simply referred to as Data_Bus. Sometimes.
The I / O pad 106 (interface unit) is an external terminal that exchanges the data with, for example, a NAND controller that controls the NAND flash memory 10.
ECC Bus_1, ECC Bus_2, and ECC Bus_3 (first data bus) are wirings for transferring data between the page buffer 102, the randomizer, and the ECC circuit 107, and are simply referred to as ECC_Bus hereinafter. There is also.

メモリアレイ101は、複数のメモリセルトランジスタを含んで構成される。これらの複数のメモリセルトランジスタ各々は、1ビットのデータを記憶する。メモリアレイ101において、同一のワード線に接続される複数のメモリセルトランジスタがページを構成する。1つのページにおけるメモリセルトランジスタへのデータの書き込み、及びメモリセルからのデータの読み出しは、一括して実行される。   The memory array 101 includes a plurality of memory cell transistors. Each of the plurality of memory cell transistors stores 1-bit data. In the memory array 101, a plurality of memory cell transistors connected to the same word line constitute a page. Writing data to the memory cell transistors and reading data from the memory cells in one page are executed in a batch.

NAND型フラッシュメモリ10は、図1に示すように、カラムコーディング回路103、及びECCカラムコーディング回路108を有する。カラムコーディング回路103とECCカラムコーディング回路108とでは、別系統のカラムアドレス(Coding)が入力される。また、カラムコーディング回路103とECCカラムコーディング回路108とは、後述するように、ページバッファ102のPB制御回路60に選択信号Sel_Aまたは選択信号Sel_Bを出力する。カラムコーディング回路103とECCカラムコーディング回路108は、ページバッファ102に直結した部分(図4(b)に示すマルチプレクサ52_b、及びPB制御回路60の部分)から、ページバッファの出力を、ECC Bus_1とData Bus_1とのいずれか一方のデータバスに接続する。   As shown in FIG. 1, the NAND flash memory 10 includes a column coding circuit 103 and an ECC column coding circuit 108. The column coding circuit 103 and the ECC column coding circuit 108 receive column addresses (Coding) of different systems. Further, the column coding circuit 103 and the ECC column coding circuit 108 output the selection signal Sel_A or the selection signal Sel_B to the PB control circuit 60 of the page buffer 102, as will be described later. The column coding circuit 103 and the ECC column coding circuit 108 output the output of the page buffer from the part directly connected to the page buffer 102 (the part of the multiplexer 52_b and the PB control circuit 60 shown in FIG. 4B), and the ECC Bus_1 and Data. Connect to one of the data buses with Bus_1.

カラムコーディング回路103は、図1において不図示のアドレス制御回路から入力されるカラムアドレスに基づいて、カラムアドレス信号(図4(b)に示すSub BL Coding、及びCoding)を生成し、このカラムアドレス信号に対応するページバッファ102のページバッファユニットを選択する。これにより、I/Oパッド106、Data Bus_3、Data Bus_2、及びData Bus_1、ビット回路(後述)、及びビット線を介してメモリセルトランジスタへデータが書きこまれる。また、メモリセルからのデータがビット線、ビット回路、Data Bus_1、Data Bus_2、及びData Bus_3を介してI/Oパッド106の外部へ読み出される。   The column coding circuit 103 generates a column address signal (Sub BL Coding and Coding shown in FIG. 4B) based on a column address input from an address control circuit not shown in FIG. The page buffer unit of the page buffer 102 corresponding to the signal is selected. As a result, data is written to the memory cell transistor via the I / O pad 106, Data Bus_3, Data Bus_2, and Data Bus_1, the bit circuit (described later), and the bit line. In addition, data from the memory cell is read out of the I / O pad 106 through the bit line, the bit circuit, Data Bus_1, Data Bus_2, and Data Bus_3.

一方、ECCカラムコーディング回路108は、ECC回路107aからカラムアドレス(以下、カラムアドレスAddress Bとする)が入力される。ECCカラムコーディング回路108は、不図示のアドレス制御回路からカラムコーディング回路103に入力されるカラムアドレス(以下、カラムアドレスAddress Aとする)とは独立して、PB制御回路60に対して選択信号Sel_Bを出力して、ページバッファ102の出力とECC Bus_1とを接続する。これにより、ページバッファ102の出力と、ECC Bus_1またはData Bus_1との接続におけるアドレス制御を独立して実行することができる。   On the other hand, the ECC column coding circuit 108 receives a column address (hereinafter referred to as a column address Address B) from the ECC circuit 107a. The ECC column coding circuit 108 sends a selection signal Sel_B to the PB control circuit 60 independently of a column address (hereinafter referred to as a column address Address A) input from an address control circuit (not shown) to the column coding circuit 103. And the output of the page buffer 102 and the ECC Bus_1 are connected. Thereby, the address control in the connection between the output of the page buffer 102 and the ECC Bus_1 or Data Bus_1 can be executed independently.

また、従来のNAND型フラッシュメモリでは、ページバッファの出力(データバスを以下、区別のためIOバスとする)を、第1の動作モードと第2の動作モードとにおいて共有している。これに対して、NAND型フラッシュメモリ10では、ページバッファの出力であるIOバスを、第1の動作モードと第2の動作モードとにおいて共有することなく、独立に設けている。   In the conventional NAND flash memory, the output of the page buffer (the data bus is hereinafter referred to as an IO bus for distinction) is shared in the first operation mode and the second operation mode. On the other hand, in the NAND flash memory 10, the IO bus that is the output of the page buffer is provided independently without being shared between the first operation mode and the second operation mode.

これにより、ページバッファの出力からランダマイザ、及びECC回路107への入力までの径路において、後述するカラム置換回路104等の高速なデータ転送に悪影響を及ぼす回路は不要となり、データ転送を高速に行うことができる。また、第2のデータバスを、従来の救済効率に応じたバス幅にしておくことができる。これにより、カラム置換回路104の回路規模は増大しないので、チップサイズの増加を抑制できる。さらに、NAND型フラッシュメモリ10を、ECC回路を内蔵しないNAND型フラッシュメモリに設計変更する場合であっても、ECCカラムコーディング回路108、パリティカラム置換回路105、ECC Bus_1〜ECC Bus_3、ランダマイザ、及びECC回路107を削除すればよいので、容易に設計することができる。   As a result, in the path from the output of the page buffer to the input to the randomizer and the ECC circuit 107, a circuit that adversely affects high-speed data transfer such as the column replacement circuit 104 described later becomes unnecessary, and data transfer is performed at high speed. Can do. Further, the second data bus can have a bus width corresponding to the conventional relief efficiency. Thereby, since the circuit scale of the column replacement circuit 104 does not increase, an increase in chip size can be suppressed. Further, even when the design of the NAND flash memory 10 is changed to a NAND flash memory that does not incorporate an ECC circuit, the ECC column coding circuit 108, the parity column replacement circuit 105, the ECC Bus_1 to ECC Bus_3, the randomizer, and the ECC Since the circuit 107 may be deleted, it can be designed easily.

ページバッファ102は、メモリアレイ101のページと同じ個数のデータを保持できるように構成されている。ページバッファ102は、図1に示すように、PB(Page Buffer)_Data102aと、PB_CR102bと、PB_Parity102cと、PB_PCR102dとから構成される。以下、PB(Page Buffer)_Data102aをページバッファ102aと、PB_CR102bをページバッファ102bと、PB_Parity102cをページバッファ102cと、PB_PCR102dをページバッファ102dと、それぞれ呼ぶものとする。
ページバッファ102aは、通常メモリセルに接続されるビット線の電位を増幅し、増幅結果をラッチするページバッファ(第1のページバッファ)である。また、ページバッファ102aは、通常モード(第2の動作モード)におけるデータ読み出し時に、カラムコーディング回路103から選択信号Sel_Aが入力される。ページバッファ102aは、増幅結果を読み出しデータData_Out_Aとして、Data Bus_1、Data Bus_2、及びData Bus_3(第2のデータバス)を介して、I/Oパッド106から出力する。
一方、ページバッファ102aは、ECCモード(第1の動作モード)におけるデータ読み出し時に、ECCカラムコーディング回路108から選択信号Sel_Bが入力される。ページバッファ102aは、増幅結果を読み出しデータData_Out_BとしてECC Bus_1、ECC Bus_2、及びECC Bus_3(第1のデータバス)を介して、ランダマイザ、及びECC回路107に対して出力する。
The page buffer 102 is configured to hold the same number of data as the pages of the memory array 101. As shown in FIG. 1, the page buffer 102 includes a PB (Page Buffer) _Data 102a, a PB_CR 102b, a PB_Parity 102c, and a PB_PCR 102d. Hereinafter, PB (Page Buffer) _Data 102a is referred to as a page buffer 102a, PB_CR 102b is referred to as a page buffer 102b, PB_Parity 102c is referred to as a page buffer 102c, and PB_PCR 102d is referred to as a page buffer 102d.
The page buffer 102a is a page buffer (first page buffer) that amplifies the potential of the bit line connected to the normal memory cell and latches the amplification result. The page buffer 102a receives the selection signal Sel_A from the column coding circuit 103 when reading data in the normal mode (second operation mode). The page buffer 102a outputs the amplification result as read data Data_Out_A from the I / O pad 106 via Data Bus_1, Data Bus_2, and Data Bus_3 (second data bus).
On the other hand, the page buffer 102a receives the selection signal Sel_B from the ECC column coding circuit 108 when reading data in the ECC mode (first operation mode). The page buffer 102a outputs the amplification result as read data Data_Out_B to the randomizer and the ECC circuit 107 via the ECC Bus_1, ECC Bus_2, and ECC Bus_3 (first data bus).

また、ページバッファ102aは、通常モードにおけるデータ書込み時に、カラムコーディング回路103から選択信号Sel_Aが入力される。ページバッファ102aは、I/Oパッド106から入力される書き込みデータがData Bus_3、Data Bus_2、及びData Bus_1を介して書き込みデータData_In_Aとして入力される。一方、ページバッファ102aは、ECCモードにおけるデータ書き込み時に、ECCカラムコーディング回路108から選択信号Sel_Bが入力される。ページバッファ102aは、ランダマイザ、及びECC回路107におけるECC回路107aのECC処理の結果がECC Bus_3、ECC Bus_2、及びECC Bus_1を介して書き込みデータData_In_Bとして入力される。   The page buffer 102a receives the selection signal Sel_A from the column coding circuit 103 when writing data in the normal mode. Write data input from the I / O pad 106 is input to the page buffer 102a as write data Data_In_A via Data Bus_3, Data Bus_2, and Data Bus_1. On the other hand, the selection signal Sel_B is input from the ECC column coding circuit 108 to the page buffer 102a when writing data in the ECC mode. The page buffer 102a receives the result of the ECC processing of the ECC circuit 107a in the randomizer and the ECC circuit 107 as write data Data_In_B via ECC Bus_3, ECC Bus_2, and ECC Bus_1.

ページバッファ102bは、ページバッファ102aに接続される通常メモリセルまたはビット線に不良が有る場合に、通常メモリセル、及びビット線とともに置換されるページバッファ(第3のページバッファ)である。すなわち、ページバッファ102aを構成するページバッファユニットの1つに不良があった場合、このページバッファユニットは、ページバッファ102bを構成するページバッファユニットの1つに置換される。なお、ページバッファ102bの動作は、上述したページバッファ102aと同じ動作であるので、説明を省略する。   The page buffer 102b is a page buffer (third page buffer) that is replaced together with the normal memory cell and the bit line when there is a defect in the normal memory cell or the bit line connected to the page buffer 102a. That is, when one of the page buffer units constituting the page buffer 102a is defective, this page buffer unit is replaced with one of the page buffer units constituting the page buffer 102b. Since the operation of the page buffer 102b is the same as that of the above-described page buffer 102a, the description thereof is omitted.

このページバッファ102aからページバッファ102bへのページバッファユニットの置換を行なうのが、カラム置換回路104である。カラム置換回路104は、ページバッファ102aにおける不良のページバッファユニットを選択するカラムアドレス(後述する選択信号Sel_A)がカラムコーディング回路103に入力される場合、カラムコーディング回路103がページバッファ102bにおけるページバッファユニットを選択するように制御を実行する。   The column replacement circuit 104 replaces the page buffer unit from the page buffer 102a to the page buffer 102b. When a column address (selection signal Sel_A, which will be described later) for selecting a defective page buffer unit in the page buffer 102a is input to the column coding circuit 103, the column replacement circuit 104 causes the page coding unit 103 to select a page buffer unit in the page buffer 102b. The control is executed so as to select.

ページバッファ102cは、パリティメモリセル(ECC処理用のメモリセルトランジスタ。ただし、構成は通常メモリセルと同じ)に接続されるビット線の電位を増幅し、増幅結果をラッチするページバッファ(第2のページバッファ)である。なお、パリティメモリセルが記憶するパリティデータは、通常モードでは、I/Oパッド106を介して外部に出力されない。ページバッファ102cは、ECCモードにおけるデータ読み出し時に、ECCカラムコーディング回路108から選択信号Sel_Bが入力される。ページバッファ102cは、増幅結果を読み出しデータData_Out_Bとして、ECC Bus_1、ECC Bus_2、及びECC Bus_3を介してECC回路107に対して出力する。   The page buffer 102c amplifies the potential of a bit line connected to a parity memory cell (memory cell transistor for ECC processing; however, the configuration is the same as that of a normal memory cell) and latches the amplified result. Page buffer). Note that the parity data stored in the parity memory cell is not output to the outside via the I / O pad 106 in the normal mode. The page buffer 102c receives the selection signal Sel_B from the ECC column coding circuit 108 when reading data in the ECC mode. The page buffer 102c outputs the amplification result as read data Data_Out_B to the ECC circuit 107 via the ECC Bus_1, ECC Bus_2, and ECC Bus_3.

また、パリティメモリセルが記憶するパリティデータは、通常モードでは、I/Oパッド106を介して外部から入力されない。
ページバッファ102cは、ECCモードにおけるデータ書き込み時に、ECCカラムコーディング回路108から選択信号Sel_Bが入力される。ページバッファ102cは、ECC回路107のECC処理の結果であるパリティデータがECC Bus_3、ECC Bus_2、及びECC Bus_1を介して書き込みデータData_In_Bとして入力される。
The parity data stored in the parity memory cell is not input from the outside via the I / O pad 106 in the normal mode.
The page buffer 102c receives the selection signal Sel_B from the ECC column coding circuit 108 when writing data in the ECC mode. Parity data, which is the result of the ECC processing of the ECC circuit 107, is input to the page buffer 102c as write data Data_In_B via ECC Bus_3, ECC Bus_2, and ECC Bus_1.

ページバッファ102dは、ページバッファ102cに接続されるパリティメモリセルまたはビット線に不良が有る場合に、パリティメモリセル、及びビット線とともに置換されるページバッファ(第4のページバッファ)である。すなわち、ページバッファ102cを構成するページバッファユニットの1つに不良があった場合、このページバッファユニットは、ページバッファ102dを構成するページバッファユニットの1つに置換される。なお、ページバッファ102dの動作は、上述したページバッファ102cと同じ動作であるので、説明を省略する。   The page buffer 102d is a page buffer (fourth page buffer) that is replaced together with the parity memory cell and the bit line when there is a defect in the parity memory cell or the bit line connected to the page buffer 102c. That is, when one of the page buffer units constituting the page buffer 102c is defective, this page buffer unit is replaced with one of the page buffer units constituting the page buffer 102d. Since the operation of the page buffer 102d is the same as that of the above-described page buffer 102c, the description thereof is omitted.

このページバッファ102cからページバッファ102dへのページバッファユニットの置換を行なうのが、パリティカラム置換回路105である。パリティカラム置換回路105は、ページバッファ102cにおける不良のページバッファユニットを選択するカラムアドレス(後述する選択信号Sel_B)がECCカラムコーディング回路108に入力される場合、ECCカラムコーディング回路108がページバッファ102dにおけるページバッファユニットを選択するように制御を実行する。   It is the parity column replacement circuit 105 that replaces the page buffer unit from the page buffer 102c to the page buffer 102d. When a column address (selection signal Sel_B described later) for selecting a defective page buffer unit in the page buffer 102c is input to the ECC column coding circuit 108, the parity column replacement circuit 105 causes the ECC column coding circuit 108 to Control is performed to select a page buffer unit.

次に、図2は、ランダマイザ、及びECC回路107の詳細な構成例を示す図である。
本実施形態においては、ランダマイザ、及びECC回路107として、BCH符号(Bose−Chaudhuri Hocquenghem code)で代表されるガロア体演算を利用したECC回路を例にとって説明する。なお、BCH符号の替りに、例えばHamming符号(Hamming code)、リードソロモン符号(Reed−Solomon code)を用いることも可能である。なお、以下の説明では、情報データ長511ビットを訂正単位とし、それぞれの訂正単位のうちの4ビットのデータの訂正が可能なBCH符号を用いたECC回路について説明する。
ランダマイザ、及びECC回路107のうち、図1に示すECC回路107aは、データの復号を司るデコーダ部と、パリティデータを生成するエンコーダ部とを含んで構成される。
Next, FIG. 2 is a diagram illustrating a detailed configuration example of the randomizer and the ECC circuit 107.
In the present embodiment, an explanation will be given by taking an ECC circuit using Galois field arithmetic represented by a BCH code (Bose-Chudhuri Hocquechem code) as an example of the randomizer and the ECC circuit 107. Instead of the BCH code, for example, a Hamming code (Hamming code) or a Reed-Solomon code (Reed-Solomon code) can be used. In the following description, an ECC circuit using a BCH code capable of correcting data of 4 bits in each correction unit with an information data length of 511 bits as a correction unit will be described.
Of the randomizer and the ECC circuit 107, the ECC circuit 107a shown in FIG. 1 includes a decoder unit that controls data decoding and an encoder unit that generates parity data.

ECC回路107aのうち、デコーダ部は、Syndrome Calculation Circuit(シンドローム算出回路)31、Error−Coefficient Calculation Circuit(誤り係数算出回路)32、及びChien Search Circuit(チェン探索回路)33を含んで構成される。
シンドローム算出回路31は、NAND型フラッシュメモリ10のECCモードでのデータ読み出し時に、ページバッファ102に読み出されたメモリセルからのデータが、符号データLoad Data<510:0>として、例えばセクタ毎に入力される。シンドローム算出回路31は、この符号データLoad Data<510:0>を独立な最小多項式で除算することによりシンドロームを計算する。4ビットのデータの誤り訂正が可能なBCH符号で使用される独立な最小多項式は、4つである。シンドローム算出回路31は、これら4つの最小多項式に対応して、4つのシンドローム算出部を備えている。これらのシンドローム算出部は、それぞれシンドローム(ここではシンドロームS1、S3、S5、S7とする)を計算する。
In the ECC circuit 107 a, the decoder unit includes a syndrome calculation circuit (syndrome calculation circuit) 31, an error-coefficient calculation circuit (error coefficient calculation circuit) 32, and a chien search circuit (chain search circuit) 33.
When the NAND flash memory 10 reads data in the ECC mode, the syndrome calculation circuit 31 converts the data read from the memory cell into the page buffer 102 as code data Load Data <510: 0>, for example, for each sector. Entered. The syndrome calculation circuit 31 calculates a syndrome by dividing the code data Load Data <510: 0> by an independent minimum polynomial. There are four independent minimum polynomials used in a BCH code capable of correcting an error of 4-bit data. The syndrome calculation circuit 31 includes four syndrome calculation units corresponding to these four minimum polynomials. These syndrome calculation units calculate syndromes (here, syndromes S1, S3, S5, and S7).

誤り係数算出回路32は、これらのシンドロームS1、S3、S5、S7を使用して、セクタ毎のエラー位置探索方程式の係数(ここでは係数e、e、e、e、及びeとする)を計算する。係数e、e、e、e、及びeは、エラー位置探索方程式Λ(x)=e+e+e+e+eの係数である。エラー位置探索方程式Λ(x)は、ページバッファ102からセクタ毎に読み出されたビットに誤りがあるか否かを探索する際にチェン探索回路33において用いられる。 The error coefficient calculation circuit 32 uses the syndromes S1, S3, S5, and S7 to use the coefficients of the error position search equation for each sector (here, coefficients e 4 , e 3 , e 2 , e 1 , and e 0). )). The coefficients e 4 , e 3 , e 2 , e 1 , and e 0 are coefficients of the error position search equation Λ (x) = e 4 x 4 + e 3 x 3 + e 2 x 2 + e 1 x 1 + e 0 . The error position search equation Λ (x) is used in the chain search circuit 33 when searching for an error in the bits read from the page buffer 102 for each sector.

チェン探索回路33では、誤り係数算出回路32が算出する係数(エラー位置探索方程式の係数e〜e)を用いて、エラー位置探索方程式Λ(x)に、代入値xとして符号データLoad Data<510:0>の位置を示すアドレス(カラムアドレス)を代入して、エラー位置探索方程式Λ(x)が0になるか否かをチェックされる。また、チェン探索回路33は、このチェック結果に応じてエラー位置(Error Position)を示す信号であるエラー検出信号EP<510:0>を出力する。チェン探索回路33は、エラー検出信号EP<510:0>において、符号データLoad Data<510:0>のビットのうち、誤りがあったビットに対してはデータ1、誤りのなかったビットに対してはデータ0とする。 The chain search circuit 33 uses the coefficients calculated by the error coefficient calculation circuit 32 (coefficients e 0 to e 4 of the error position search equation) to the error position search equation Λ (x) as the substitution value x and the code data Load Data. An address (column address) indicating the position of <510: 0> is substituted, and it is checked whether or not the error position search equation Λ (x) becomes zero. Further, the chain search circuit 33 outputs an error detection signal EP <510: 0> which is a signal indicating an error position (Error Position) according to the check result. In the error detection signal EP <510: 0>, the chain search circuit 33 performs data 1 for an error bit among the bits of the code data Load Data <510: 0> and for a bit without an error. Data 0.

ランダマイザ107bには、NAND型フラッシュメモリ10のECCモードでのデータ読み出し時に、ECCカラムコーディング回路108がページバッファ102に選択信号Sel_B(カラムアドレス)を入力することにより、このカラムアドレスが示す位置のページバッファ102の符号データLoad Data<510:0>が入力される。ランダマイザ107bは、符号データLoad Data<510:0>とエラー検出信号EP<510:0>とを排他的論理和演算(EXOR)することにより、誤りのあったビットを反転し、誤りのなかったビットは反転されず、誤りのないデータを得ることができる。   In the randomizer 107b, when reading data in the ECC mode of the NAND flash memory 10, the ECC column coding circuit 108 inputs the selection signal Sel_B (column address) to the page buffer 102, whereby the page at the position indicated by the column address is displayed. Code data Load Data <510: 0> of the buffer 102 is input. The randomizer 107b performs an exclusive OR operation (EXOR) between the code data Load Data <510: 0> and the error detection signal EP <510: 0>, thereby inverting the erroneous bit, and there is no error. The bits are not inverted, and error-free data can be obtained.

また、ランダマイザ107bは、排他的論理和演算により得られた誤りのないデータと、不図示のランダムシード発生回路によって発生したランダムシードRS<510:0>(シード)とを、更に排他的論理和演算することにより、すなわちデランダマイズ(De−Randomize)する。ランダマイザ107bは、符号データLoad Data<510:0>をエンコード前の状態に復元する。ランダマイザ107bは、符号データLoad Data<510:0>を復元したデータである、復元済の符号データStore Data<510:0>をページバッファ102に書き込む。   The randomizer 107b further performs exclusive OR operation on error-free data obtained by the exclusive OR operation and random seed RS <510: 0> (seed) generated by a random seed generation circuit (not shown). By calculating, that is, de-randomization. The randomizer 107b restores the code data Load Data <510: 0> to the state before encoding. The randomizer 107b writes the restored code data Store Data <510: 0>, which is data obtained by restoring the code data Load Data <510: 0>, to the page buffer 102.

以上説明したECCモードでのデータ読み出し動作(デコード、及びデランダマイズ)におけるデータの流れは、図2において、実線(Decodeでのデータの流れを示す)、及び一点鎖線(Encode/Decode共通のデータの流れを示す)により示される。また、ECCモードでのデータ読み出し動作における処理において、ページバッファ102への書き込みデータである符号データStore Dataは、数学的に下記の式で表される。なお、この式では、排他的論理和演算をXORで表すこととして、ページバッファ102からの読み出しデータである符号データLoad Data、エラー検出信号EP、及びランダムシードRSを用いている。
すなわち、
Store Data=(Load Data)XOR(EP)XOR(RS)
で表わされる。
なお、この符号データStore Dataは、通常モードのデータ読み出し動作においては、カラムコーディング回路103から選択信号Sel_A(カラムアドレス)をページバッファ102に与えることにより、パリティデータを除くデータを、I/Oパッド106を介して外部に出力することができる。
The data flow in the data read operation (decoding and derandomization) in the ECC mode described above is shown in FIG. Shows the flow). In the processing in the data read operation in the ECC mode, the code data Store Data that is the write data to the page buffer 102 is mathematically expressed by the following equation. In this equation, the exclusive OR operation is represented by XOR, and code data Load Data, error detection signal EP, and random seed RS that are read data from the page buffer 102 are used.
That is,
Store Data = (Load Data) XOR (EP) XOR (RS)
It is represented by
In the normal mode data read operation, this code data Store Data is supplied with a selection signal Sel_A (column address) from the column coding circuit 103 to the page buffer 102, and the data other than the parity data is transferred to the I / O pad. The data can be output to the outside via 106.

また、ECC回路107aのうち、エンコーダ部40は、Parity Generation Circuit(パリティ生成回路)41を有する。パリティ生成回路41は、ランダマイザ107bから入力されるランダマイズ処理後のデータを生成多項式で除算して、パリティデータを生成し、生成したパリティデータを、ページバッファ102(後述するページバッファ102c)に対して出力する。
ECCモードでのデータ書込み動作(エンデコード、及びランダマイズ)では、ランダマイザ107bは、ページバッファ102から入力される、符号データLoad Data<510:0>をランダマイズする処理を行う。この際、ランダマイザ107bでは、エラー検出信号EP<510:0>を固定データ(オール0)とし、すなわちエラー検出信号EP<510:0>=0とする。ランダマイザ107bは、符号データLoad Data<510:0>と、ランダムシードRS<510:0>と、エラー検出信号EP<510:0>との排他的論理和演算を実行し、パリティ生成回路41に対して出力する符号データStore Dataを生成する。
In the ECC circuit 107 a, the encoder unit 40 includes a parity generation circuit (parity generation circuit) 41. The parity generation circuit 41 divides the randomized data input from the randomizer 107b by a generator polynomial to generate parity data, and the generated parity data is output to the page buffer 102 (page buffer 102c described later). Output.
In the data write operation (end decoding and randomization) in the ECC mode, the randomizer 107 b performs a process of randomizing the code data Load Data <510: 0> input from the page buffer 102. At this time, the randomizer 107b sets the error detection signal EP <510: 0> to fixed data (all 0), that is, sets the error detection signal EP <510: 0> = 0. The randomizer 107b performs an exclusive OR operation on the code data Load Data <510: 0>, the random seed RS <510: 0>, and the error detection signal EP <510: 0>, and sends it to the parity generation circuit 41. On the other hand, code data Store Data to be output is generated.

このパリティ生成回路41への書き込みデータである符号データStore Dataは、数学的に下記の式で表される。なお、この式では、排他的論理和演算をXORで表すこととして、ページバッファ102からの読み出しデータである符号データLoad Data、エラー検出信号EP、及びランダムシードRSを用いている。
すなわち、デコード時と同じく、
Store Data=(Load Data)XOR(EP)XOR(RS)
で表わされる。
また、パリティ生成回路41は、ランダマイザ107bから入力される符号データStore Dataからパリティデータを生成する。
ランダマイザ107bは、パリティデータを除く符号データStore Dataを、パリティ生成回路41は、パリティデータを、ページバッファ102に対して出力する。これらの合成したデータが符号データStore Dataとして、ページバッファ102に書き込まれる。
The code data Store Data, which is data to be written to the parity generation circuit 41, is mathematically expressed by the following equation. In this equation, the exclusive OR operation is represented by XOR, and code data Load Data, error detection signal EP, and random seed RS that are read data from the page buffer 102 are used.
That is, as with decoding,
Store Data = (Load Data) XOR (EP) XOR (RS)
It is represented by
In addition, the parity generation circuit 41 generates parity data from the code data Store Data input from the randomizer 107b.
The randomizer 107 b outputs the code data Store Data excluding the parity data, and the parity generation circuit 41 outputs the parity data to the page buffer 102. These combined data are written in the page buffer 102 as code data Store Data.

このように、ECC回路107aとランダマイザ107bとを一体的に構成し、図1に示す様にECC Busに設けたので、ECCのエンコード時にランダマイズ、及びエンコードを、デコード時にデコード、及びデランダマイズを、それぞれ同時に実行することができる。   In this way, the ECC circuit 107a and the randomizer 107b are integrally configured and provided in the ECC bus as shown in FIG. 1, so that randomization and encoding are performed during ECC encoding, decoding and derandomization are performed during decoding, Each can be executed simultaneously.

図1に戻って、ページバッファ102を構成するページバッファ102a〜102dは、全て同一の回路構成からなり、以下にその回路構成について、図3〜図7を用いて詳細に説明する。図3は、図1に示すページバッファ102、カラムコーディング回路103、及びECCカラムコーディング回路108に対応する部分の簡略的な構成を示す図である。また、図4は、図2に示すPB 4IO ユニットの内部の構成、及びPB ユニットの内部の構成を示す図である。また、図5は、PB ユニットの内部の回路構成を示す図である。また、図6は、PB ユニットの内部の他の回路構成を示す図である。また、図7は、図5、及び図6に示すビット内部回路50_i(i=0〜7の整数)の回路構成を示す図である。   Returning to FIG. 1, the page buffers 102a to 102d constituting the page buffer 102 all have the same circuit configuration, and the circuit configuration will be described in detail below with reference to FIGS. FIG. 3 is a diagram showing a simplified configuration of portions corresponding to the page buffer 102, the column coding circuit 103, and the ECC column coding circuit 108 shown in FIG. FIG. 4 is a diagram showing an internal configuration of the PB 4IO unit shown in FIG. 2 and an internal configuration of the PB unit. FIG. 5 is a diagram showing an internal circuit configuration of the PB unit. FIG. 6 is a diagram showing another circuit configuration inside the PB unit. FIG. 7 is a diagram showing a circuit configuration of the bit internal circuit 50_i (i = 0 to 7) shown in FIG. 5 and FIG.

図3を参照して、図1に示すページバッファ102、カラムコーディング回路103、及びECCカラムコーディング回路108に対応する部分は、4本分のIO線からの4つのデータをラッチし、4本分のIO線に対してデータを書き込むPB 4IO ユニットを有する。   Referring to FIG. 3, portions corresponding to page buffer 102, column coding circuit 103, and ECC column coding circuit 108 shown in FIG. 1 latch four data from four IO lines and A PB 4IO unit for writing data to the IO line.

図3においては、10個のPB 4IOとして、PB0 IO 0123、PB0 IO 4567、PB1IO 0123、PB1 IO 4567、PB2 IO 0123、PB2 IO 4567、PB3 IO 0123、PB3 IO 4567、PB4 IO 0123、PB4 IO 4567を示している。以下、PB0 IO 0123をPB 4IO ユニット30_0、PB0 IO 4567をPB 4IO ユニット30_1、PB1IO 0123をPB 4IO ユニット30_2、PB1 IO 4567をPB 4IO ユニット30_3、PB2 IO 0123をPB 4IO ユニット30_4、と呼ぶことがある。また、PB2 IO 4567をPB 4IO ユニット30_5、PB3 IO 0123をPB 4IO ユニット30_6、PB3 IO 4567をPB 4IO ユニット30_7、PB4 IO 0123をPB 4IO ユニット30_8、PB4 IO 4567をPB 4IO ユニット30_9と呼ぶことがある。   In FIG. 3, as 10 PB 4IOs, PB0 IO 0123, PB0 IO 4567, PB1IO 0123, PB1 IO 4567, PB2 IO 0123, PB2 IO 4567, PB3 IO 0123, PB3 IO 4567, PB4 IO 0123, 454 Is shown. Hereinafter, PB0 IO 0123 is called PB 4IO unit 30_0, PB0 IO 4567 is called PB 4IO unit 30_1, PB1IO 0123 is called PB 4IO unit 30_2, PB1 IO 4567 is called PB 4IO unit 30_3, and PB2 IO 0123 is called PB 4IO unit. is there. Also, PB2 IO 4567 is called PB 4IO unit 30_5, PB3 IO 0123 is called PB 4IO unit 30_6, PB3 IO 4567 is called PB 4IO unit 30_7, PB4 IO 0123 is called PB 4IO unit 30_8, and PB4 IO 4567 is called PB 4IO unit 30. is there.

ここで、IO線とは、後述するPBユニットにおいて、マルチプレクサ52_bとPB制御回路60との間に設けられる入出力線である。このIO線は、本実施形態では、マルチプレクサ52_bと8個のビット回路51_0a〜51_7aとを介して、8本のビット線のいずれか一本と電気的に接続される。すなわち、IO線は、メモリセルトランジスタに書き込むデータ或いはメモリセルトランジスタから読み出されるデータが行き来する信号線である。   Here, the IO line is an input / output line provided between the multiplexer 52_b and the PB control circuit 60 in the PB unit described later. In this embodiment, the IO line is electrically connected to any one of the eight bit lines via the multiplexer 52_b and the eight bit circuits 51_0a to 51_7a. That is, the IO line is a signal line through which data written to the memory cell transistor or data read from the memory cell transistor is transferred.

図4(a)を参照して、図3に示すPB 4IO ユニットは、同一の構成を有している。図4(a)では、図3に示すPB 4IO ユニット30_0を代表として、その構成を示している。PB 4IO ユニット30_0は、4個のPBユニット30_00〜30_03から構成される。
PBユニット30_00〜30_03各々は、活性レベル(以下、例としてHレベルとする)の選択信号Sel_A<0>がカラムコーディング回路103から供給されると、自身に接続される1本のIO線とData Bus(第2のデータバス;後述するデータバスData_A<7:0>)とを接続する。これにより、図4(a)に示すように、4本のIO線からデータバスData_A<3:0>へ、4ビットの読み出しデータData_Out_A<0>〜Data_Out_A<3>が読み出される。
Referring to FIG. 4A, the PB 4IO unit shown in FIG. 3 has the same configuration. FIG. 4A shows the configuration of the PB 4IO unit 30_0 shown in FIG. 3 as a representative. The PB 4IO unit 30_0 includes four PB units 30_00 to 30_03.
Each of the PB units 30_00 to 30_03 is supplied with one IO line connected to itself and Data when a selection signal Sel_A <0> of an active level (hereinafter referred to as H level) is supplied from the column coding circuit 103. Bus (second data bus; data bus Data_A <7: 0> described later) is connected. As a result, as shown in FIG. 4A, 4-bit read data Data_Out_A <0> to Data_Out_A <3> is read from the four IO lines to the data bus Data_A <3: 0>.

また、PBユニット30_00〜30_03各々は、活性レベル(以下、例としてHレベルとする)の選択信号Sel_B<0>がECCカラムコーディング回路108から供給されると、自身に接続される1本のIO線とECC Bus(第1のデータバス;後述するデータバスData_B<19:0>)とを接続する。これにより、図4(a)に示すように、4本のIO線からデータバスData_B<3:0>へ、4ビットの読み出しデータData_Out_B<0>〜Data_Out_B<3>が読み出される。   Each of the PB units 30_00 to 30_03 is supplied with an IO level selection signal Sel_B <0> from the ECC column coding circuit 108 when the selection signal Sel_B <0> is activated. The line is connected to ECC Bus (first data bus; data bus Data_B <19: 0> described later). As a result, as shown in FIG. 4A, the 4-bit read data Data_Out_B <0> to Data_Out_B <3> is read from the four IO lines to the data bus Data_B <3: 0>.

図4(b)を参照して、図4(a)に示すPBユニット各々は、回路構成が同一である8個のビット回路51_0a〜51_7aと、マルチプレクサ52_bと、本願に特徴的部分であるPB Control Cirucuit(ページバッファ制御回路)60とから構成される。
MUX(マルチプレクサ)52_bは、図1に示すカラムコーディング回路103またはECCカラムコーディング回路108からカラムアドレス信号(Sub BL Coding)が入力される。MUX(マルチプレクサ)52_bは、このカラムアドレス信号(図5において選択信号DIO<i>で示す)に基づいて、ビット回路51_0a〜ビット回路51_7aのうちいずれか一つを選択する。すなわち、マルチプレクサ52_bは、8本のビット線のうちのいずれか一本のビット線を、PB Control Circuit(PB制御回路)60と接続する。
Referring to FIG. 4B, each of the PB units shown in FIG. 4A includes eight bit circuits 51_0a to 51_7a having the same circuit configuration, a multiplexer 52_b, and a PB which is a characteristic part of the present application. It is composed of a control circuit (page buffer control circuit) 60.
The MUX (multiplexer) 52_b receives a column address signal (Sub BL Coding) from the column coding circuit 103 or the ECC column coding circuit 108 shown in FIG. The MUX (multiplexer) 52_b selects any one of the bit circuits 51_0a to 51_7a based on the column address signal (indicated by the selection signal DIO <i> in FIG. 5). In other words, the multiplexer 52 — b connects any one of the eight bit lines to the PB Control Circuit (PB control circuit) 60.

まず、図5、及び図7を参照して、1つのPBユニットの詳細な回路構成について説明する。
図7では、図5に示すビット内部回路50_0〜50_7各々の回路における、書き込み動作におけるデータのセンシング部、及びラッチ部、読み出し動作における信号線を駆動するドライバ部の構成を、具体的にトランジスタ、及びインバータ回路を用いて記載している。なお、図4(b)に示すビット回路51_0a〜51_7aとマルチプレクサ52_bとを合わせた回路が、ビット内部回路50_0〜50_7に相当する。すなわち、ビット内部回路は、選択信号DIOにより選択されるので、ビット回路とマルチプレクサ52_bの一部の機能を有している。
First, a detailed circuit configuration of one PB unit will be described with reference to FIGS. 5 and 7.
In FIG. 7, in each of the bit internal circuits 50 </ b> _ <b> 0 to 50 </ b> _ <b> 7 illustrated in FIG. 5, the configuration of the data sensing unit and the latch unit in the write operation, and the driver unit that drives the signal line in the read operation is specifically illustrated. And an inverter circuit. Note that a circuit including the bit circuits 51_0a to 51_7a and the multiplexer 52_b illustrated in FIG. 4B corresponds to the bit internal circuits 50_0 to 50_7. That is, since the bit internal circuit is selected by the selection signal DIO, it has a partial function of the bit circuit and the multiplexer 52_b.

図7に示すように、ビット内部回路50_i(iを整数として、i=0〜7の8台は同一構成の回路である)は、インバータ回路511、インバータ回路512、トランジスタ513、トランジスタ514、トランジスタ515、トランジスタ521、及びトランジスタ522から構成される。ここで、トランジスタ513、トランジスタ514、トランジスタ515、トランジスタ521、及びトランジスタ522は、Nチャネル型MOS(Metal Oxide Semiconductor)トランジスタである。   As shown in FIG. 7, the bit internal circuit 50 — i (i is an integer where i = 0 to 7 is an identical circuit) is an inverter circuit 511, an inverter circuit 512, a transistor 513, a transistor 514, a transistor 515, a transistor 521, and a transistor 522. Here, the transistor 513, the transistor 514, the transistor 515, the transistor 521, and the transistor 522 are N-channel MOS (Metal Oxide Semiconductor) transistors.

ビット内部回路50_iにおいて、ラッチ部は、インバータ回路511とインバータ回路512とから構成されている。ここで、インバータ回路511は、出力端子が接続点N2においてインバータ回路512の入力端子に接続され、入力端子が接続点N1においてインバータ回路512の出力端子に接続されている。
この接続点N1は、不図示のメモリセルトランジスタにビット線を介して接続される。接続点N1は、読み出し動作において、メモリセルトランジスタが記憶するデータがData_iとして現れ、書き込み動作においてはメモリセルに書き込むべきデータがData_iとして現れる。例えば、メモリセルトランジスタがL(ロウ)レベル(データ0とする)を記憶するとき、Data_iの電位はLレベルとなり、一方、メモリセルトランジスタがH(ハイ)レベル(データ1とする)を記憶するとき、Data_iの電位はHレベルとなる。
In the bit internal circuit 50_i, the latch unit includes an inverter circuit 511 and an inverter circuit 512. Here, the inverter circuit 511 has an output terminal connected to the input terminal of the inverter circuit 512 at the connection point N2, and an input terminal connected to the output terminal of the inverter circuit 512 at the connection point N1.
This connection point N1 is connected to a memory cell transistor (not shown) via a bit line. At the connection point N1, data stored in the memory cell transistor appears as Data_i in the read operation, and data to be written in the memory cell appears as Data_i in the write operation. For example, when the memory cell transistor stores L (low) level (data 0), the potential of Data_i is L level, while the memory cell transistor stores H (high) level (data 1). At this time, the potential of Data_i becomes H level.

ビット内部回路50_iにおいて、ドライバ部は、トランジスタ515、及びトランジスタ522から構成される。
トランジスタ522は、ドレインが読み出し信号RDの配線に接続され、ゲートが選択信号DIO<i>の配線に接続され、ソースがトランジスタ515のドレインに接続されている。
トランジスタ515は、ドレインがトランジスタ522のソースに接続され、ゲートが接続点N2に接続され、ソースが接地されている。
ここで、選択信号DIO<i>(i=0〜7)は、図4(b)に示すSub BL Codingである。例えば、カラムコーディング回路103は不図示のアドレス制御回路から入力される3ビットのアドレス信号に基づいて、或いはECCカラムコーディング回路108はECC回路107から入力される3ビットのアドレス信号に基づいて、選択信号DIO<i>のうちの1つの信号をHレベルとする。これにより、図5に示すビット内部回路50_0〜50_7の1つのビット内部回路が選択される。
In the bit internal circuit 50_i, the driver unit includes a transistor 515 and a transistor 522.
The transistor 522 has a drain connected to the wiring of the read signal RD, a gate connected to the wiring of the selection signal DIO <i>, and a source connected to the drain of the transistor 515.
The transistor 515 has a drain connected to the source of the transistor 522, a gate connected to the connection point N2, and a source grounded.
Here, the selection signal DIO <i> (i = 0 to 7) is Sub BL Coding shown in FIG. For example, the column coding circuit 103 is selected based on a 3-bit address signal input from an unillustrated address control circuit, or the ECC column coding circuit 108 is selected based on a 3-bit address signal input from an ECC circuit 107. One of the signals DIO <i> is set to the H level. Thereby, one bit internal circuit of the bit internal circuits 50_0 to 50_7 shown in FIG. 5 is selected.

以上の構成により、メモリセルトランジスタからのデータ読み出し動作において、選択信号DIO<i>がHレベルになると、読み出し信号RDの論理レベルはData_iの論理レベルと同じ論理レベルとなる。つまり、例えば読み出し信号RDをHレベルにプリチャージしておくことにより、Data_iがHレベルのときは、トランジスタ515がオフ(非導通状態)、トランジスタ522がオン(導通状態)であり、ビット内部回路50_iは、読み出し信号RDをHレベルに維持する。一方、Data_iがLレベルのときは、トランジスタ515がオン、トランジスタ522がオンであり、ビット内部回路50_iは、読み出し信号RDをHレベルからLレベルに変化させる。
読み出し信号RDの配線は、図5に示すように、PB制御回路60に接続される。
第1の動作モード(ECCモード)では、選択信号Sel_B(ECCカラムコーディング回路108が出力するカラムアドレス)が入力されると、読み出し信号RDの配線はECC Busに接続される。これにより、ECC Busには、ビット内部回路50_iのData_iがデータ読み出し信号Data_Out_Bとして読み出される。
With the above configuration, in the data read operation from the memory cell transistor, when the selection signal DIO <i> becomes H level, the logical level of the read signal RD becomes the same logical level as that of Data_i. That is, for example, by precharging the read signal RD to H level, when Data_i is at H level, the transistor 515 is off (non-conducting state), the transistor 522 is on (conducting state), and the bit internal circuit 50_i maintains the read signal RD at the H level. On the other hand, when Data_i is at L level, the transistor 515 is on and the transistor 522 is on, and the bit internal circuit 50_i changes the read signal RD from H level to L level.
The wiring of the read signal RD is connected to the PB control circuit 60 as shown in FIG.
In the first operation mode (ECC mode), when the selection signal Sel_B (column address output from the ECC column coding circuit 108) is input, the wiring of the read signal RD is connected to the ECC Bus. As a result, Data_i of the bit internal circuit 50_i is read out to the ECC Bus as the data read signal Data_Out_B.

一方、第2の動作モード(通常モード)では、選択信号Sel_A(カラムコーディング回路103が出力するカラムアドレス)が入力されると、読み出し信号RDの配線は、Data Busに接続される。これにより、Data Busには、ビット内部回路50_iのData_iがデータ読み出し信号Data_Out_Aとして読み出される。   On the other hand, in the second operation mode (normal mode), when the selection signal Sel_A (column address output from the column coding circuit 103) is input, the wiring of the read signal RD is connected to the Data Bus. As a result, Data_i of the bit internal circuit 50_i is read to the Data Bus as the data read signal Data_Out_A.

図7に戻って、ビット内部回路50_iにおいて、センシング部は、トランジスタ513、トランジスタ514、トランジスタ521から構成される。
トランジスタ513は、ドレインが接続点N1に接続され、ゲートが書き込み信号DIの配線に接続され、ソースがトランジスタ521のドレインに接続されている。
トランジスタ514は、ドレインが接続点N2に接続され、ゲートが書き込み信号nDIの配線に接続され、ソースがトランジスタ521のドレインに接続されている。
トランジスタ521は、ドレインがトランジスタ513のソース、及びトランジスタ514のソースに接続され、ゲートが選択信号DIO<i>の配線に接続され、ソースが接地されている。
Returning to FIG. 7, in the bit internal circuit 50 — i, the sensing unit includes a transistor 513, a transistor 514, and a transistor 521.
The transistor 513 has a drain connected to the connection point N <b> 1, a gate connected to the wiring of the write signal DI, and a source connected to the drain of the transistor 521.
The transistor 514 has a drain connected to the connection point N2, a gate connected to the wiring of the write signal nDI, and a source connected to the drain of the transistor 521.
The transistor 521 has a drain connected to the source of the transistor 513 and the source of the transistor 514, a gate connected to the wiring of the selection signal DIO <i>, and a source grounded.

書き込み信号DI、及び書き込み信号nDIの配線は、図5に示すように、PB制御回路60に接続される。後述するように、第1の動作モードでは選択信号Sel_BによりデータバスECC Busに接続され、ECC Busからデータ書き込み信号Data_In_Bが入力される。これにより、PB制御回路60では、このデータ書き込み信号Data_In_Bのレベルに応じて書き込み信号DI、及び書き込み信号nDIのいずれか一方をLレベルからHレベルに変化させ、他方をLレベルに維持する。
一方、第2の動作モードでは、選択信号Sel_AによりData Busに接続され、Data Busからデータ書き込み信号Data_In_Aが入力される。これにより、PB制御回路60は、このデータ書き込み信号Data_In_Aのレベルに応じて書き込み信号DI、及び書き込み信号nDIのいずれか一方をLレベルからHレベルに変化させ、他方をLレベルに維持する。
The wiring for the write signal DI and the write signal nDI is connected to the PB control circuit 60 as shown in FIG. As will be described later, in the first operation mode, the selection signal Sel_B is connected to the data bus ECC Bus, and the data write signal Data_In_B is input from the ECC Bus. Accordingly, the PB control circuit 60 changes either the write signal DI or the write signal nDI from the L level to the H level according to the level of the data write signal Data_In_B, and maintains the other at the L level.
On the other hand, in the second operation mode, the selection signal Sel_A is connected to the Data Bus, and the data write signal Data_In_A is input from the Data Bus. Thus, the PB control circuit 60 changes either the write signal DI or the write signal nDI from the L level to the H level according to the level of the data write signal Data_In_A, and maintains the other at the L level.

以上の構成により、メモリセルトランジスタへのデータ書き込み動作において、選択信号DIO<i>がHレベルになると、書き込み信号DI、及び書き込み信号nDIのレベルに応じて、ビット内部回路50_iのData_iのレベルが決定する。具体的には、データ書き込み信号Data_In_A,またはデータ書き込み信号Data_In_BがLレベル(データ0)のとき、PB制御回路60は、書き込み信号DIをHレベル、書き込み信号nDIをLレベルとする。これにより、ビット内部回路50_iでは、トランジスタ513がオンし、トランジスタ514がオフする。そして、接続点N1はLレベル、接続点N2はHレベルとなり、Data_iの論理は、データバスの論理と同じくLレベル(データ0)となる。   With the above configuration, when the selection signal DIO <i> becomes H level in the data write operation to the memory cell transistor, the level of Data_i of the bit internal circuit 50_i is set according to the level of the write signal DI and the write signal nDI. decide. Specifically, when the data write signal Data_In_A or the data write signal Data_In_B is at L level (data 0), the PB control circuit 60 sets the write signal DI to H level and the write signal nDI to L level. Thereby, in the bit internal circuit 50_i, the transistor 513 is turned on and the transistor 514 is turned off. The connection point N1 is at the L level, the connection point N2 is at the H level, and the logic of Data_i is at the L level (data 0), similar to the logic of the data bus.

一方、データ書き込み信号Data_In_A,またはデータ書き込み信号Data_In_BがHレベル(データ1)のとき、PB制御回路60は、書き込み信号DIをLレベル、書き込み信号nDIをHレベルとする。これにより、ビット内部回路50_iでは、トランジスタ513がオフし、トランジスタ514がオンする。そして、接続点N1はHレベル、接続点N2はLレベルとなり、Data_iの論理は、データバスの論理と同じくHレベル(データ1)となる。   On the other hand, when the data write signal Data_In_A or the data write signal Data_In_B is at the H level (data 1), the PB control circuit 60 sets the write signal DI to the L level and the write signal nDI to the H level. Accordingly, in the bit internal circuit 50_i, the transistor 513 is turned off and the transistor 514 is turned on. The connection point N1 is at the H level, the connection point N2 is at the L level, and the logic of Data_i is at the H level (data 1) as is the data bus logic.

図7に戻って、PB制御回路60(転送部)の構成を説明する。
PB制御回路60は、データバスからページバッファへのデータ転送を実行する書き込み部と、ページバッファからデータバスへのデータ転送を実行する読み出し部とからなる。
このうち、PB制御回路60の読み出し部は、トランジスタ61a、及びトランジスタ61bから構成される。
トランジスタ61a、及びトランジスタ61bは、NMOSトランジスタである。
トランジスタ61aは、ドレインが読み出し信号RDの配線に接続され、ゲートが選択信号Sel_Aの配線に接続され、ソースがData Bus(第2のデータバス)に接続されている。トランジスタ61bは、ドレインが読み出し信号RDの配線に接続され、ゲートが選択信号Sel_Bの配線に接続され、ソースがECC Bus(第1のデータバス)に接続されている。
Returning to FIG. 7, the configuration of the PB control circuit 60 (transfer unit) will be described.
The PB control circuit 60 includes a writing unit that executes data transfer from the data bus to the page buffer and a reading unit that executes data transfer from the page buffer to the data bus.
Among these, the reading unit of the PB control circuit 60 includes a transistor 61a and a transistor 61b.
The transistors 61a and 61b are NMOS transistors.
The transistor 61a has a drain connected to the wiring for the read signal RD, a gate connected to the wiring for the selection signal Sel_A, and a source connected to the Data Bus (second data bus). The transistor 61b has a drain connected to the wiring of the read signal RD, a gate connected to the wiring of the selection signal Sel_B, and a source connected to the ECC Bus (first data bus).

ここで、選択信号Sel_Aは、カラムコーディング回路103が、図1において不図示のアドレス制御回路から入力されるAddress A、例えば複数ビットのアドレスに基づいて生成するカラムアドレス信号である。また、選択信号Sel_Bは、ECCカラムコーディング回路108が、図1に示すECC回路107から入力されるAddress B、例えば上記複数ビットのうちの一部のビットのアドレスに基づいて生成するカラムアドレス信号である。   Here, the selection signal Sel_A is a column address signal generated by the column coding circuit 103 based on Address A, for example, a multi-bit address, input from an address control circuit (not shown in FIG. 1). The selection signal Sel_B is a column address signal generated by the ECC column coding circuit 108 based on the address B input from the ECC circuit 107 shown in FIG. 1, for example, the address of a part of the plurality of bits. is there.

このように、PB制御回路60の読み出し部は、ECCモード(第1の動作モード)のデータ読み出し時において、Hレベルの選択信号Sel_BがECCコーディング回路108から入力されると、トランジスタ61bをオンさせて読み出し信号RDの配線とECC Busとを接続する。これにより、ビット内部回路50_0〜50_7に格納されたメモリセルトランジスタのデータ(ビット内部回路ではData_i)が、ECC Busにデータ読み出し信号Data_Out_Bとして出力される。   As described above, when the H-level selection signal Sel_B is input from the ECC coding circuit 108 in the ECC mode (first operation mode) data reading, the reading unit of the PB control circuit 60 turns on the transistor 61b. Then, the wiring of the read signal RD and the ECC bus are connected. As a result, the memory cell transistor data (Data_i in the bit internal circuit) stored in the bit internal circuits 50_0 to 50_7 is output to the ECC Bus as the data read signal Data_Out_B.

また、PB制御回路60の読み出し部は、通常モード(第2の動作モード)のデータ読み出し時において、Hレベルの選択信号Sel_Aがコーディング回路103から入力される。PB制御回路60の読み出し部は、トランジスタ61aをオンさせて読み出し信号RDの配線とData Busとを接続する。これにより、ビット内部回路50_0〜50_7に格納されたメモリセルトランジスタのデータが、Data Busにデータ読み出し信号Data_Out_Aとして出力される。   In addition, the reading unit of the PB control circuit 60 receives an H level selection signal Sel_A from the coding circuit 103 when reading data in the normal mode (second operation mode). The reading unit of the PB control circuit 60 turns on the transistor 61a to connect the wiring of the reading signal RD and the Data Bus. As a result, the data of the memory cell transistors stored in the bit internal circuits 50_0 to 50_7 is output to the Data Bus as the data read signal Data_Out_A.

また、PB制御回路60の読み出し部は、ページバッファ102a、及びページバッファ102cにおいて、メモリセルトランジスタ、またはメモリセルトランジスタに接続されるビット線に不良がある場合、次の構成を有している。すなわち、ECCモードのデータ読み出し時において、ECC回路107に入力するデータが固定データ(この場合はデータ0に固定する)となるように、PB制御回路60の読み出し部は、図5に示すように、不良情報格納部90a、及びデータ固定部90bを有している。   The read unit of the PB control circuit 60 has the following configuration when the page buffer 102a and the page buffer 102c are defective in the memory cell transistor or the bit line connected to the memory cell transistor. That is, when reading data in the ECC mode, the reading unit of the PB control circuit 60 is as shown in FIG. 5 so that the data input to the ECC circuit 107 is fixed data (in this case, fixed to data 0). A defect information storage unit 90a and a data fixing unit 90b.

不良情報格納部90aは、インバータ回路92、インバータ回路93、トランジスタ94、トランジスタ95、及びトランジスタ96から構成される。ここで、トランジスタ94、トランジスタ95、及びトランジスタ96は、Nチャネル型MOSトランジスタである。
不良情報格納部90aにおいて、ラッチ部は、インバータ回路92とインバータ回路93とから構成されている。ここで、インバータ回路92は、出力端子が接続点N4においてインバータ回路93の入力端子に接続され、入力端子が接続点N3においてインバータ回路93の出力端子に接続されている。
この接続点N3は、アンド回路91の第1入力端子に接続される。接続点N3は、ラッチ部が記憶するデータが、欠陥を示す欠陥信号PB_Defcetとして現れる。また、接続点N4は、ラッチ部が記憶するデータが、欠陥を示す欠陥信号nPB_Defcetとして現れる。
The defect information storage unit 90a includes an inverter circuit 92, an inverter circuit 93, a transistor 94, a transistor 95, and a transistor 96. Here, the transistor 94, the transistor 95, and the transistor 96 are N-channel MOS transistors.
In the defect information storage unit 90a, the latch unit includes an inverter circuit 92 and an inverter circuit 93. Here, the inverter circuit 92 has an output terminal connected to the input terminal of the inverter circuit 93 at the connection point N4, and an input terminal connected to the output terminal of the inverter circuit 93 at the connection point N3.
The connection point N3 is connected to the first input terminal of the AND circuit 91. At the connection point N3, the data stored in the latch unit appears as a defect signal PB_Defet indicating a defect. At the connection point N4, the data stored in the latch unit appears as a defect signal nPB_Defet indicating a defect.

不良情報格納部90aにおいて、センシング部は、トランジスタ94、トランジスタ95、トランジスタ96から構成される。
トランジスタ94は、ドレインが接続点N3に接続され、ゲートが不良情報信号SDIの配線に接続され、ソースがトランジスタ96のドレインに接続されている。
トランジスタ95は、ドレインが接続点N4に接続され、ゲートが不良情報信号nSDIの配線に接続され、ソースがトランジスタ96のドレインに接続されている。
トランジスタ96は、ドレインがトランジスタ94のソース、及びトランジスタ95のソースに接続され、ゲートがパワーオンリセット信号POR_Modeの配線に接続され、ソースが接地されている。
In the defect information storage unit 90a, the sensing unit includes a transistor 94, a transistor 95, and a transistor 96.
The transistor 94 has a drain connected to the connection point N3, a gate connected to the wiring of the defect information signal SDI, and a source connected to the drain of the transistor 96.
The transistor 95 has a drain connected to the connection point N4, a gate connected to the wiring of the defect information signal nSDI, and a source connected to the drain of the transistor 96.
The transistor 96 has a drain connected to the source of the transistor 94 and the source of the transistor 95, a gate connected to the wiring of the power-on reset signal POR_Mode, and a source grounded.

ここで、不良情報信号SDI、及び不良情報信号nSDIは、PB制御回路60に接続されるビット線、当該ビット線に接続されるメモリセルトランジスタに不良が有るか否かを示す信号である。これらの不良情報信号は、製造後のテストにおいて、PB制御回路60に接続されるビット線等に不良が有る場合、不良情報信号SDIがデータ0(Lレベル)、不良情報信号nSDIがデータ1(Hレベル)とされる。一方、PB制御回路60に接続されるビット線等に不良がない場合、不良情報信号SDIがHレベル、不良情報信号nSDIがLレベルとされる。そして、これらの不良情報信号は、テスト後の製品出荷前において、PB制御回路60の位置を示す選択信号Sel_Bに関連付けられて、NAND型フラッシュメモリ10の例えばシステム用記憶領域に格納される。
また、パワーオンリセット信号POR_Modeは、NAND型フラッシュメモリ10の電源投入後の所定期間(不良情報信号をシステム用記憶領域からPB制御回路60に転送する期間)、Hレベルを維持する信号である。
Here, the defect information signal SDI and the defect information signal nSDI are signals indicating whether or not there is a defect in the bit line connected to the PB control circuit 60 and the memory cell transistor connected to the bit line. These defect information signals include a defect information signal SDI of data 0 (L level) and a defect information signal nSDI of data 1 (when the bit line connected to the PB control circuit 60 is defective in a test after manufacture. H level). On the other hand, when there is no defect in the bit line connected to the PB control circuit 60, the defect information signal SDI is set to H level and the defect information signal nSDI is set to L level. These defect information signals are stored in, for example, the system storage area of the NAND flash memory 10 in association with the selection signal Sel_B indicating the position of the PB control circuit 60 before product shipment after the test.
The power-on reset signal POR_Mode is a signal that maintains the H level for a predetermined period after the power to the NAND flash memory 10 is turned on (period in which the failure information signal is transferred from the system storage area to the PB control circuit 60).

以上の構成により、不良情報格納部90aは、NAND型フラッシュメモリ10の電源投入後に、PB制御回路60に接続されるビット線等に不良が有る場合、パワーオンリセット信号POR_ModeがHレベルとなることにより、トランジスタ94がオフ、トランジスタ95がオンする。これにより、ノードN3がHレベル、ノードN4がLレベルとなり、欠陥信号PB_DefcetがHレベルとなる。そして、不良情報格納部90aは、転送期間終了後、パワーオンリセット信号POR_ModeがLレベルとなることにより、以降のNAND型フラッシュメモリ10に電源が投入されている期間、欠陥信号PB_DefcetをHレベルに維持する。   With the above configuration, the defect information storage unit 90a causes the power-on reset signal POR_Mode to be at the H level when the NAND flash memory 10 is powered on and the bit line connected to the PB control circuit 60 is defective. Thus, the transistor 94 is turned off and the transistor 95 is turned on. As a result, the node N3 becomes H level, the node N4 becomes L level, and the defect signal PB_Defet becomes H level. Then, after the transfer period ends, the defect information storage unit 90a sets the defect signal PB_Defet to the H level during the subsequent power-on period of the NAND flash memory 10 when the power-on reset signal POR_Mode becomes the L level. maintain.

また、不良情報格納部90aは、NAND型フラッシュメモリ10の電源投入後に、PB制御回路60に接続されるビット線等に不良がない場合、パワーオンリセット信号POR_ModeがHレベルとなることにより、トランジスタ94がオン、トランジスタ95がオフする。これにより、ノードN3がLレベル、ノードN4がHレベルとなり、欠陥信号PB_DefcetがLレベルとなる。そして、不良情報格納部90aは、転送期間終了後、パワーオンリセット信号POR_ModeがLレベルとなることにより、以降のNAND型フラッシュメモリ10に電源が投入されている期間、欠陥信号PB_DefcetをLレベルに維持する。   In addition, when the NAND flash memory 10 is powered on and the bit line connected to the PB control circuit 60 is not defective, the failure information storage unit 90a is activated by the power-on reset signal POR_Mode being H level. 94 is turned on and the transistor 95 is turned off. As a result, the node N3 becomes L level, the node N4 becomes H level, and the defect signal PB_Defet becomes L level. Then, after the transfer period ends, the defect information storage unit 90a sets the defect signal PB_Defet to the L level during the subsequent power-on period of the NAND flash memory 10 when the power-on reset signal POR_Mode becomes the L level. maintain.

また、データ固定部90bは、アンド回路91、トランジスタ61cを有している。ここで、トランジスタ61cは、NMOSトランジスタである。
アンド回路91は、2入力1出力の論理積回路であり、第1入力端子が接続点N3に接続され、第2入力端子が選択信号Sel_Aの配線に接続され、出力端子は、トランジスタ61cのゲートに接続される。
トランジスタ61cは、ドレインが読み出し信号RDの配線に接続され、ゲートがアンド回路91の出力端子に接続され、ソースが接地されている。
The data fixing unit 90b includes an AND circuit 91 and a transistor 61c. Here, the transistor 61c is an NMOS transistor.
The AND circuit 91 is a logical product circuit with two inputs and one output, the first input terminal is connected to the connection point N3, the second input terminal is connected to the wiring of the selection signal Sel_A, and the output terminal is the gate of the transistor 61c. Connected to.
The transistor 61c has a drain connected to the wiring of the read signal RD, a gate connected to the output terminal of the AND circuit 91, and a source grounded.

以上の構成により、PB制御回路60に接続されるビット線等に不良がない場合、データ固定部90bは、欠陥信号PB_DefcetがLレベルであるから、アンド回路91の出力信号は常にLレベルであり、トランジスタ61cはオフする。このため、データ固定部90bは実質何の動作も行わない。
一方、PB制御回路60に接続されるビット線等に不良が有る場合、欠陥信号PB_DefcetがHレベルとなっている。ECC使用時、すなわちECCモードではアンド回路91にHレベルの選択信号Sel_Bが入力されると、アンド回路91の出力信号がHレベルとなり、トランジスタ61cがオンするので、ECC Bus_1は接地され、読み出しデータData_Out_BはLレベル(GNDレベル)に固定される。つまり、PB制御回路60に接続されるビット線等に不良がある場合、ECCモードではPB制御回路は、ECC Bus_1に固定レベル(Lレベル)の読み出しデータData_Out_Bを出力するデータ固定回路として動作する。
With the above configuration, when there is no defect in the bit line or the like connected to the PB control circuit 60, the data fixing unit 90b has an output signal of the AND circuit 91 always at L level because the defect signal PB_Defet is at L level. The transistor 61c is turned off. For this reason, the data fixing unit 90b performs substantially no operation.
On the other hand, when the bit line connected to the PB control circuit 60 has a defect, the defect signal PB_Defet is at the H level. When the ECC is used, that is, in the ECC mode, when the selection signal Sel_B of H level is input to the AND circuit 91, the output signal of the AND circuit 91 becomes H level and the transistor 61c is turned on, so that the ECC Bus_1 is grounded and the read data Data_Out_B is fixed at L level (GND level). That is, when a bit line connected to the PB control circuit 60 is defective, in the ECC mode, the PB control circuit operates as a data fixing circuit that outputs read data Data_Out_B having a fixed level (L level) to ECC Bus_1.

なお、通常モードでのデータ読み出し時は、PB制御回路60は選択信号Sel_Aで選択されるので、アンド回路91の出力はLレベルとなり、この追加回路であるデータ固定部90bは実質動作しないことになる。もっとも、このアンド回路91を使用せず、欠陥信号PB_Defectを直接トランジスタ91cのゲートに入力すれば、PB制御回路60に接続されるビット線等に不良が有る場合、読み出し信号RDはLレベルに固定される。つまり、PB制御回路60は、通常モードで選択信号Sel_Aが入力されると、Data Bus_1に固定レベル(Lレベル)の読み出しデータData_Out_Aを出力し、ECCモードで選択信号Sel_Bが入力されると、Lレベルの読み出しデータData_Out_Bを出力するデータ固定回路として動作する。   Note that when reading data in the normal mode, the PB control circuit 60 is selected by the selection signal Sel_A, so that the output of the AND circuit 91 becomes L level, and the data fixing unit 90b, which is this additional circuit, does not operate substantially. Become. However, if the AND circuit 91 is not used and the defect signal PB_Defect is directly input to the gate of the transistor 91c, the read signal RD is fixed at the L level when there is a defect in the bit line connected to the PB control circuit 60. Is done. That is, when the selection signal Sel_A is input in the normal mode, the PB control circuit 60 outputs the read data Data_Out_A at a fixed level (L level) to the Data Bus_1, and when the selection signal Sel_B is input in the ECC mode, It operates as a data fixing circuit for outputting level read data Data_Out_B.

なお、図5に示す不良情報格納部90a、及びデータ固定部90bの構成は、図6に示す構成であってもよい。図6は、PB ユニットの内部の他の回路構成を示す図である。
なお、図6において図5と同一の部分には同一の符号を付し、その説明を省略する。
図6において、不良情報格納部90aついては図5に示すものと同じ構成だが、データ固定部90bについては、データ固定部90b’としている。なお、不良情報格納部90aついて、接続点N4に現れる信号を欠陥信号nPB_Defectとしている。
データ固定部90b’は、トランジスタ61cのみから構成される。トランジスタ61cは、ソースがECC Bus(第1のデータバス)に接続されている。また、これにより、トランジスタ61bは、ドレインが読み出し信号RDの配線に接続され、ゲートが選択信号Sel_Bの配線に接続され、ソースがトランジスタ61cのドレインに接続されている。
The configuration of the defect information storage unit 90a and the data fixing unit 90b illustrated in FIG. 5 may be the configuration illustrated in FIG. FIG. 6 is a diagram showing another circuit configuration inside the PB unit.
In FIG. 6, the same parts as those in FIG.
In FIG. 6, the defect information storage unit 90a has the same configuration as that shown in FIG. 5, but the data fixing unit 90b is a data fixing unit 90b ′. For the defect information storage unit 90a, a signal appearing at the connection point N4 is defined as a defect signal nPB_Defect.
The data fixing unit 90b ′ is composed of only the transistor 61c. The source of the transistor 61c is connected to ECC Bus (first data bus). Accordingly, the transistor 61b has a drain connected to the wiring of the read signal RD, a gate connected to the wiring of the selection signal Sel_B, and a source connected to the drain of the transistor 61c.

この構成により、PB制御回路60に接続されるビット線等に不良が有る場合、欠陥信号nPB_DefectがLレベルとなるので、トランジスタ61cがオフとなり、読み出し信号RDのECC Bus_1への伝送パスが断たれることになる。このため、読み出しデータData_Out_Bは、Pull Up回路によりHレベルに固定される。一方、PB制御回路60に接続されるビット線等に不良がない場合、欠陥信号nPB_DefectはHレベルとなり、トランジスタ61cが常時オンとなる。これにより、読み出し信号RD、つまりメモリセルトランジスタのデータを、ECC Bus_1へ読み出しデータData_Out_Bとして読み出すことができる。
データ固定部90b’は、図6に示すデータ固定部90bと比較して、読み出し信号RDの配線とECC Bus_1との間で、トランジスタ61bとトランジスタ61cとが
直列回路となるが、アンド回路を不要とできるメリットがある。
With this configuration, when the bit line connected to the PB control circuit 60 is defective, the defect signal nPB_Defect is at L level, so the transistor 61c is turned off and the transmission path of the read signal RD to the ECC Bus_1 is cut off. Will be. For this reason, the read data Data_Out_B is fixed to the H level by the Pull Up circuit. On the other hand, when the bit line connected to the PB control circuit 60 is not defective, the defect signal nPB_Def is H level and the transistor 61c is always turned on. Thereby, the read signal RD, that is, the data of the memory cell transistor can be read to the ECC Bus_1 as read data Data_Out_B.
Compared with the data fixing unit 90b shown in FIG. 6, the data fixing unit 90b ′ is a series circuit of the transistor 61b and the transistor 61c between the wiring of the read signal RD and the ECC Bus_1, but does not need an AND circuit. There is a merit that can be.

また、図6に示すデータ固定部90b’において、例えばトランジスタ61cを、読み出し信号RDの配線とトランジスタ61a、及びトランジスタ61bのドレインとの間、すなわち読み出し信号RDの配線とPB制御回路60との間に挿入する。このようにすれば、PB制御回路60は、通常モードで選択信号Sel_Aが入力されると、Data Bus_1に固定レベル(Hレベル)の読み出しデータData_Out_Aを出力する。一方、PB制御回路60は、ECCモードで選択信号Sel_Bが入力されると、Hレベルの読み出しデータData_Out_Bを出力するデータ固定回路として動作する。
以上のような回路構成により、PB制御回路60に接続されるビット線等に不良が有る場合、データData_Out_AまたはBデータData_Out_BをLレベルまたはHレベルの固定値とすることができる。
In the data fixing unit 90b ′ shown in FIG. 6, for example, the transistor 61c is connected between the wiring of the read signal RD and the drains of the transistors 61a and 61b, that is, between the wiring of the read signal RD and the PB control circuit 60. Insert into. In this way, when the selection signal Sel_A is input in the normal mode, the PB control circuit 60 outputs the fixed level (H level) read data Data_Out_A to the Data Bus_1. On the other hand, when the selection signal Sel_B is input in the ECC mode, the PB control circuit 60 operates as a data fixing circuit that outputs H level read data Data_Out_B.
With the circuit configuration as described above, when a bit line connected to the PB control circuit 60 has a defect, the data Data_Out_A or the B data Data_Out_B can be set to a fixed value of L level or H level.

図5に戻って、PB制御回路60の書き込み部は、インバータ回路62、インバータ回路63、ナンド回路64、ナンド回路65、オア回路66、インバータ回路67、スイッチ68、及びスイッチ69から構成される。
インバータ回路62は、論理反転回路であり、出力端子が書き込み信号DIの配線に接続され、入力端子がナンド回路64の出力端子に接続される。インバータ回路63は、論理反転回路であり、出力端子が書き込み信号nDIの配線に接続され、入力端子がナンド回路65の出力端子に接続される。
Returning to FIG. 5, the writing unit of the PB control circuit 60 includes an inverter circuit 62, an inverter circuit 63, a NAND circuit 64, a NAND circuit 65, an OR circuit 66, an inverter circuit 67, a switch 68, and a switch 69.
The inverter circuit 62 is a logic inversion circuit, and has an output terminal connected to the wiring of the write signal DI and an input terminal connected to the output terminal of the NAND circuit 64. The inverter circuit 63 is a logic inversion circuit, and has an output terminal connected to the wiring of the write signal nDI and an input terminal connected to the output terminal of the NAND circuit 65.

ナンド回路64は、3入力1出力の否定的論理積回路であり、第1入力端子が書き込みイネーブル信号fDinEnableの配線に接続され、第2入力端子がオア回路66の出力端子に接続され、第3入力端子がインバータ回路67の出力端子に接続される。また、ナンド回路64の出力端子は、インバータ回路62の入力端子に接続される。
ナンド回路65は、3入力1出力の否定的論理積回路であり、第1入力端子が書き込みイネーブル信号fDinEnableの配線に接続され、第2入力端子がオア回路66の出力端子に接続され、第3入力端子がスイッチ68の第1入出力端子、及びスイッチ69の第1入出力端子に接続される。また、ナンド回路65の出力端子は、インバータ回路63の入力端子に接続される。
The NAND circuit 64 is a 3-input 1-output NAND circuit, the first input terminal is connected to the wiring of the write enable signal fDinEnable, the second input terminal is connected to the output terminal of the OR circuit 66, and the third The input terminal is connected to the output terminal of the inverter circuit 67. The output terminal of the NAND circuit 64 is connected to the input terminal of the inverter circuit 62.
The NAND circuit 65 is a three-input one-output NAND circuit, the first input terminal is connected to the wiring of the write enable signal fDinEnable, the second input terminal is connected to the output terminal of the OR circuit 66, and the third The input terminal is connected to the first input / output terminal of the switch 68 and the first input / output terminal of the switch 69. The output terminal of the NAND circuit 65 is connected to the input terminal of the inverter circuit 63.

オア回路66は、2入力1出力の論理和回路であり、第1入力端子がアンド回路71の出力に接続され、第2入力端子が選択信号Sel_Aの配線に接続される。また、オア回路66の出力端子は、ナンド回路64の第2入力端子、及びナンド回路65の第2入力端子に接続される。アンド回路71は、選択信号Sel_Bと欠陥信号nPB_Defectとの論理積を演算する。これにより、欠陥信号nPB_DefectがHレベルの場合(不良でない場合)は、選択信号Sel_BがHレベルになることにより、ナンド回路65の第2入力端子がHレベルとなり、書き込みの条件の1つを満たすことができる。一方、欠陥信号nPB_DefectがLレベルの場合(不良ページバッファである)は選択信号Sel_Bの動作モードにおいて、ナンド回路65の第2入力端子がHレベルになることはなく、書き込みが行われなくなる。
インバータ回路67は、論理反転回路であり、入力端子がスイッチ68の第1入出力端子、及びスイッチ69の第1入出力端子に接続され、出力端子がナンド回路64の第3入力端子に接続される。
The OR circuit 66 is a 2-input 1-output OR circuit, and has a first input terminal connected to the output of the AND circuit 71 and a second input terminal connected to the wiring of the selection signal Sel_A. The output terminal of the OR circuit 66 is connected to the second input terminal of the NAND circuit 64 and the second input terminal of the NAND circuit 65. The AND circuit 71 calculates a logical product of the selection signal Sel_B and the defect signal nPB_Defect. As a result, when the defect signal nPB_Defect is at the H level (when it is not defective), the selection signal Sel_B becomes the H level, so that the second input terminal of the NAND circuit 65 becomes the H level and satisfies one of the write conditions. be able to. On the other hand, when the defect signal nPB_Defect is at L level (it is a defective page buffer), the second input terminal of the NAND circuit 65 does not become H level in the operation mode of the selection signal Sel_B, and writing is not performed.
The inverter circuit 67 is a logic inverting circuit, and has an input terminal connected to the first input / output terminal of the switch 68 and the first input / output terminal of the switch 69, and an output terminal connected to the third input terminal of the NAND circuit 64. The

スイッチ68は、双方向に信号を伝達するスイッチであり、第1入出力端子がインバータ回路67の入力端子、及びナンド回路65の第3入力端子に接続され、第2入出力端子がData Busに接続される。
スイッチ69は、双方向に信号を伝達するスイッチであり、第1入出力端子がインバータ回路67の入力端子、及びナンド回路65の第3入力端子に接続され、第2入出力端子がECC Busに接続される。なお、上記双方向スイッチがどちらも非選択の場合にインバータ回路67の入力が不定にならないように、インバータ回路67の入力がPMOSトランジスタによりPull Up(プルアップ)処理される。
The switch 68 is a switch that transmits a signal in both directions. The first input / output terminal is connected to the input terminal of the inverter circuit 67 and the third input terminal of the NAND circuit 65, and the second input / output terminal is connected to the Data Bus. Connected.
The switch 69 is a switch that transmits signals in both directions. The first input / output terminal is connected to the input terminal of the inverter circuit 67 and the third input terminal of the NAND circuit 65, and the second input / output terminal is connected to the ECC bus. Connected. Note that the input of the inverter circuit 67 is subjected to Pull Up (pull-up) processing by the PMOS transistor so that the input of the inverter circuit 67 does not become unstable when neither of the bidirectional switches is selected.

以上の構成により、PB制御回路60の書き込み部は、ECCモード(第1の動作モード)のデータ書き込み時において、書き込みイネーブル信号fDinEnableがHレベルに、選択信号Sel_BがHレベルになると、スイッチ69がオンする。これにより、PB制御回路60の書き込み部は、ECC Busから入力されるデータ書き込み信号Data_In_Bのレベルに応じて、書き込み信号DI、及び書き込み信号nDIのいずれか一方をLレベルからHレベルに変化させる。具体的には、データ書き込み信号Data_In_BがLレベル(データ0)のとき、書き込み信号DIをHレベルに変化させる。これにより、ビット内部回路50_0〜50_7のうち、いずれか1つのビット内部回路のData_iが、Lレベルになり、その後のプログラム処理により、メモリセルトランジスタにデータ0が書き込まれる。   With the above configuration, the writing unit of the PB control circuit 60 allows the switch 69 to be turned on when the write enable signal fDinEnable becomes H level and the selection signal Sel_B becomes H level during data writing in the ECC mode (first operation mode). Turn on. As a result, the writing unit of the PB control circuit 60 changes one of the write signal DI and the write signal nDI from the L level to the H level according to the level of the data write signal Data_In_B input from the ECC Bus. Specifically, when the data write signal Data_In_B is at L level (data 0), the write signal DI is changed to H level. Thereby, Data_i of any one of the bit internal circuits 50_0 to 50_7 becomes L level, and data 0 is written to the memory cell transistor by the subsequent program processing.

一方、データ書き込み信号Data_In_BがHレベル(データ1)のとき、書き込み信号nDIをHレベルに変化させる。これにより、ビット内部回路50_0〜50_7のうち、いずれか1つのビット内部回路のData_iが、Hレベルになり、その後のプログラム処理により、メモリセルトランジスタにデータ1が書き込まれる。   On the other hand, when the data write signal Data_In_B is at the H level (data 1), the write signal nDI is changed to the H level. Thereby, Data_i of any one of the bit internal circuits 50_0 to 50_7 becomes H level, and data 1 is written to the memory cell transistor by the subsequent program processing.

また、PB制御回路60の書き込み部は、通常モード(第2の動作モード)のデータ書き込み時において、書き込みイネーブル信号fDinEnableがHレベルに、選択信号Sel_AがHレベルになると、スイッチ68がオンする。これにより、PB制御回路60の書き込み部は、Data Busから入力されるデータ書き込み信号Data_In_Aのレベルに応じて、書き込み信号DI、及び書き込み信号nDIのいずれか一方をLレベルからHレベルに変化させる。具体的には、データ書き込み信号Data_In_AがLレベル(データ0)のとき、書き込み信号DIをHレベルに変化させる。これにより、ビット内部回路50_0〜50_7のうち、いずれか1つのビット内部回路のData_iが、Lレベルになり、その後のプログラム処理により、メモリセルトランジスタにデータ0が書き込まれる。   In the writing unit of the PB control circuit 60, the switch 68 is turned on when the write enable signal fDinEnable becomes H level and the selection signal Sel_A becomes H level during normal mode (second operation mode) data writing. Accordingly, the writing unit of the PB control circuit 60 changes either the write signal DI or the write signal nDI from the L level to the H level according to the level of the data write signal Data_In_A input from the Data Bus. Specifically, when the data write signal Data_In_A is at L level (data 0), the write signal DI is changed to H level. Thereby, Data_i of any one of the bit internal circuits 50_0 to 50_7 becomes L level, and data 0 is written to the memory cell transistor by the subsequent program processing.

一方、データ書き込み信号Data_In_AがHレベル(データ1)のとき、書き込み信号nDIをHレベルに変化させる。これにより、ビット内部回路50_0〜50_7のうち、いずれか1つのビット内部回路のData_iが、Hレベルになり、その後のプログラム処理により、メモリセルトランジスタにデータ1が書き込まれる。   On the other hand, when the data write signal Data_In_A is at the H level (data 1), the write signal nDI is changed to the H level. Thereby, Data_i of any one of the bit internal circuits 50_0 to 50_7 becomes H level, and data 1 is written to the memory cell transistor by the subsequent program processing.

このように、PB制御回路60は、ページバッファ102のPBユニットを構成するビット内部回路50_0〜50_7のうち、選択信号DIO<i>により選択されたビット内部回路にビット線を介して接続されるメモリセルトランジスタと、データバス(第1のデータバス、および第2のデータバス)との間のデータ転送を制御する回路である。   As described above, the PB control circuit 60 is connected to the bit internal circuit selected by the selection signal DIO <i> among the bit internal circuits 50_0 to 50_7 constituting the PB unit of the page buffer 102 via the bit line. This circuit controls data transfer between the memory cell transistor and the data bus (the first data bus and the second data bus).

また、上述した読み出し信号RDの配線、書き込み信号DIの配線、及び書き込み信号nDIの配線(IO線)は、PBユニットを構成するビット内部回路50_0〜50_7とPB制御回路60とを接続する配線であり、これらの配線はPBユニットのデータ転送用の入出力配線である。従って、本実施形態において、PB制御回路60は、ページバッファ102の入出力部と、第1、及び第2のデータバス(ECC Bus、Data Bus)との間で、書き込みデータ、及び読み出しデータを転送する。   Further, the wiring of the read signal RD, the wiring of the write signal DI, and the wiring (IO line) of the write signal nDI described above are wirings that connect the bit internal circuits 50_0 to 50_7 and the PB control circuit 60 constituting the PB unit. These wirings are input / output wirings for data transfer of the PB unit. Therefore, in the present embodiment, the PB control circuit 60 transfers write data and read data between the input / output unit of the page buffer 102 and the first and second data buses (ECC Bus, Data Bus). Forward.

図4(a)に戻って、以上のPB制御回路60の構成により、PB 4IOユニット30_0は次に説明する動作を実行する。
PB 4IO ユニット30_0は、Hレベルの選択信号Sel_A<0>がカラムコーディング回路103から入力されると、4本分のページバッファの入出力線(図5に示すデータ読み出し線RD;IO線IO_0〜IO_3とする)を、4ビット分のData Bus(ここではデータバスData_A<3:0>とする)にそれぞれ接続する。これにより、PB 4IO ユニット30_0は、データバスData_A<3:0>にデータ読み出し信号Data_Out_A<0>〜A<3>(以下、データ読み出し信号Data_Out_A<3:0>とする)を出力する。
Returning to FIG. 4A, the PB 4IO unit 30_0 executes the operation described below by the configuration of the PB control circuit 60 described above.
When the H level selection signal Sel_A <0> is input from the column coding circuit 103, the PB 4IO unit 30_0 receives four page buffer input / output lines (data read lines RD shown in FIG. 5; IO lines IO_0 to IO_0). IO_3) is connected to a 4-bit Data Bus (here, data bus Data_A <3: 0>). As a result, the PB 4IO unit 30_0 outputs the data read signals Data_Out_A <0> to A <3> (hereinafter referred to as data read signals Data_Out_A <3: 0>) to the data bus Data_A <3: 0>.

また、PB 4IO ユニット30_0は、Hレベルの選択信号Sel_B<0>がECCカラムコーディング回路108から入力されると、4本分のページバッファの入出力線IO線IO_0〜IO_3を、4ビット分のECC Bus(ここでは、データバスData_B<3:0>とする)にそれぞれ接続する。これにより、PB 4IO ユニット30_0は、データバスData_B<3:0>にデータ読み出し信号Data_Out_B<0>〜B<3>(以下、データ読み出し信号Data_Out_B<3:0>とする)を出力する。   In addition, when the H level selection signal Sel_B <0> is input from the ECC column coding circuit 108, the PB 4IO unit 30_0 transmits the four page buffer input / output lines IO_0 to IO_3 for four bits. Each is connected to ECC Bus (here, data bus Data_B <3: 0>). As a result, the PB 4IO unit 30_0 outputs data read signals Data_Out_B <0> to B <3> (hereinafter referred to as data read signals Data_Out_B <3: 0>) to the data bus Data_B <3: 0>.

図3に戻って、以上のPB 4IOユニット30_0の構成により、図3に示すデータ読み出し動作において、ページバッファ102、及びカラムコーディング回路103、及びECCカラムコーディング回路108(ここでは、データ読み出しモデルとする)は、次に説明する動作を実行する。
なお、図3に示すPB 4IOユニット30_1〜30_9に接続されるページバッファの入出力線(図5、及び図6に示すデータ読み出し線RD)を、これらのPB 4IOユニットの順番に、それぞれ次のように呼ぶ。すなわち、IO線IO_4〜IO_7、IO線IO_8〜IO_11、IO線IO_12〜IO_15、IO線IO_16〜IO_19、IO線IO_20〜IO_23、IO線IO_24〜IO_27、IO線IO_28〜IO_31、IO線IO_32〜IO_35、IO線IO_36〜IO_39とする。
また、Data Busは、8ビット幅のバスであり、これらをデータバスData_A<7:0>とする。また、ECC Busは、20ビット幅のバスであり、これらをデータバスData_B<19:0>とする。
Returning to FIG. 3, with the above-described configuration of the PB 4IO unit 30_0, in the data read operation shown in FIG. 3, the page buffer 102, the column coding circuit 103, and the ECC column coding circuit 108 (here, a data read model is used). ) Executes the operation described below.
Note that the page buffer input / output lines (data read lines RD shown in FIGS. 5 and 6) connected to the PB 4IO units 30_1 to 30_9 shown in FIG. Call it like this. That is, IO lines IO_4 to IO_7, IO lines IO_8 to IO_11, IO lines IO_12 to IO_15, IO lines IO_16 to IO_19, IO lines IO_20 to IO_23, IO lines IO_24 to IO_27, IO lines IO_28 to IO_31, IO lines IO_32 to IO_35, The IO lines are IO_36 to IO_39.
Data Bus is an 8-bit bus, which is a data bus Data_A <7: 0>. The ECC Bus is a 20-bit bus, and these are data bus Data_B <19: 0>.

通常モード(第2の動作モード)では、カラムコーディング回路103は、選択信号Sel_A<0>〜Sel_A<4>の5つのカラムアドレスのうち1つのカラムアドレスをHレベル、残りの4つのカラムアドレスをLレベルに維持して、データ読み出しモデルに対して出力する。
例えば、通常モードにおいて、選択信号Sel_A<0>〜Sel_A<4>の順番に、選択信号を5回、データ読み出しモデルに与えると、次のようにIO線IO_0〜IO_39の40ビットのデータがデータバスData_A<7:0>に順次読み出される。
In the normal mode (second operation mode), the column coding circuit 103 sets one column address among the five column addresses of the selection signals Sel_A <0> to Sel_A <4> to the H level and the remaining four column addresses. Maintaining the L level, output to the data read model.
For example, when the selection signal is given to the data read model five times in the order of the selection signals Sel_A <0> to Sel_A <4> in the normal mode, the 40-bit data of the IO lines IO_0 to IO_39 is data as follows: The data is sequentially read to the bus Data_A <7: 0>.

選択信号Sel_A<0>がHレベルになると、PB 4IOユニット30_0、及びPB 4IOユニット30_1は、それぞれのPB制御回路60におけるトランジスタ61aがオンし、IO線IO_0〜IO_7とデータバスData_A<7:0>とを接続する。これにより、PB 4IOユニット30_0、及びPB 4IOユニット30_1は、データバスData_A<7:0>に、読み出しデータData_Out_A<7:0>(IO線IO_0〜IO_7のデータ)を出力する。   When the selection signal Sel_A <0> becomes H level, in the PB 4IO unit 30_0 and the PB 4IO unit 30_1, the transistor 61a in each PB control circuit 60 is turned on, and the IO lines IO_0 to IO_7 and the data bus Data_A <7: 0. >. Thus, the PB 4IO unit 30_0 and the PB 4IO unit 30_1 output the read data Data_Out_A <7: 0> (data of the IO lines IO_0 to IO_7) to the data bus Data_A <7: 0>.

次に、選択信号Sel_A<1>がHレベルになると、PB 4IOユニット30_2、及びPB 4IOユニット30_3は、それぞれのPB制御回路60におけるトランジスタ61aがオンし、IO線IO_8〜IO_15とデータバスData_A<7:0>とを接続する。これにより、PB 4IOユニット30_2、及びPB 4IOユニット30_3は、データバスData_A<7:0>に、読み出しデータData_Out_A<7:0>(IO線IO_8〜IO_15のデータ)を出力する。   Next, when the selection signal Sel_A <1> becomes H level, the PB 4IO unit 30_2 and the PB 4IO unit 30_3 turn on the transistors 61a in the respective PB control circuits 60, and the IO lines IO_8 to IO_15 and the data bus Data_A < 7: 0>. As a result, the PB 4IO unit 30_2 and the PB 4IO unit 30_3 output the read data Data_Out_A <7: 0> (data on the IO lines IO_8 to IO_15) to the data bus Data_A <7: 0>.

次に、選択信号Sel_A<2>がHレベルになると、PB 4IOユニット30_4、及びPB 4IOユニット30_5は、それぞれのPB制御回路60におけるトランジスタ61aがオンし、IO線IO_16〜IO_23とデータバスData_A<7:0>とを接続する。これにより、PB 4IOユニット30_4、及びPB 4IOユニット30_5は、データバスData_A<7:0>に、読み出しデータData_Out_A<7:0>(IO線IO_16〜IO_23のデータ)を出力する。   Next, when the selection signal Sel_A <2> is set to the H level, in the PB 4IO unit 30_4 and the PB 4IO unit 30_5, the transistor 61a in each PB control circuit 60 is turned on, and the IO lines IO_16 to IO_23 and the data bus Data_A < 7: 0>. Thereby, the PB 4IO unit 30_4 and the PB 4IO unit 30_5 output the read data Data_Out_A <7: 0> (data of the IO lines IO_16 to IO_23) to the data bus Data_A <7: 0>.

次に、選択信号Sel_A<3>がHレベルになると、PB 4IOユニット30_6、及びPB 4IOユニット30_7は、それぞれのPB制御回路60におけるトランジスタ61aがオンし、IO線IO_24〜IO_31とデータバスData_A<7:0>とを接続する。これにより、PB 4IOユニット30_6、及びPB 4IOユニット30_7は、データバスData_A<7:0>に、読み出しデータData_Out_A<7:0>(IO線IO_24〜IO_31のデータ)を出力する。   Next, when the selection signal Sel_A <3> becomes H level, the PB 4IO unit 30_6 and the PB 4IO unit 30_7 turn on the transistors 61a in the respective PB control circuits 60, and the IO lines IO_24 to IO_31 and the data bus Data_A < 7: 0>. Thus, the PB 4IO unit 30_6 and the PB 4IO unit 30_7 output the read data Data_Out_A <7: 0> (data of the IO lines IO_24 to IO_31) to the data bus Data_A <7: 0>.

最後に、選択信号Sel_A<4>がHレベルになると、PB 4IOユニット30_8、及びPB 4IOユニット30_9は、それぞれのPB制御回路60におけるトランジスタ61aがオンし、IO線IO_32〜IO_39とデータバスData_A<7:0>とを接続する。これにより、PB 4IOユニット30_8、及びPB 4IOユニット30_9は、データバスData_A<7:0>に、読み出しデータData_Out_A<7:0>(IO線IO_32〜IO_39のデータ)を出力する。   Finally, when the selection signal Sel_A <4> becomes H level, the PB 4IO unit 30_8 and the PB 4IO unit 30_9 turn on the transistors 61a in the respective PB control circuits 60, and the IO lines IO_32 to IO_39 and the data bus Data_A < 7: 0>. As a result, the PB 4IO unit 30_8 and the PB 4IO unit 30_9 output the read data Data_Out_A <7: 0> (data of the IO lines IO_32 to IO_39) to the data bus Data_A <7: 0>.

このようにして、選択信号Sel_Aを5回、データ読み出しモデルに供給すると、PB 4IOユニット30_0〜30_9は、PB制御回路60により、IO線IO_0〜IO_39を8本ずつ、データバスData_A<7:0>に接続する。これにより、合計40ビットのメモリセルトランジスタの記憶するデータを、ビット線、及びIO線IO_0〜IO_39を介してData Busに読み出すことができる。   In this way, when the selection signal Sel_A is supplied to the data read model five times, the PB 4IO units 30_0 to 30_9 use the PB control circuit 60 to provide eight IO lines IO_0 to IO_39 and data bus Data_A <7: 0. Connect to>. Thereby, the data stored in the memory cell transistors of a total of 40 bits can be read out to the Data Bus via the bit lines and the IO lines IO_0 to IO_39.

また、ECCモード(第1の動作モード)では、ECCカラムコーディング回路108は、選択信号Sel_B<0>〜Sel_B<1>の2つのカラムアドレスのうち1つのカラムアドレスをHレベル、残りの1つのカラムアドレスをLレベルに維持して、データ読み出しモデルに対して出力する。
例えば、ECCモードにおいて、選択信号Sel_B<0>〜Sel_B<1>の順番に、選択信号を2回、データ読み出しモデルに与えると、次のようにIO線IO_0〜IO_39の40ビットのデータがデータバスData_B<19:0>に順次読み出される。
In the ECC mode (first operation mode), the ECC column coding circuit 108 sets one column address of the two column addresses of the selection signals Sel_B <0> to Sel_B <1> to the H level and the remaining one The column address is maintained at L level and output to the data read model.
For example, in the ECC mode, when the selection signal is given to the data read model twice in the order of the selection signals Sel_B <0> to Sel_B <1>, the 40-bit data of the IO lines IO_0 to IO_39 is data as follows: The data is sequentially read to the bus Data_B <19: 0>.

選択信号Sel_B<0>がHレベルになると、PB 4IOユニット30_0、30_2、30_4、30_6、及び30_8は、それぞれのPB制御回路60におけるトランジスタ61bがオンする。PB 4IOユニット30_0、30_2、30_4、30_6、及び30_8は、それぞれIO線IO_0〜IO_3、IO_8〜IO_11、IO_16〜IO_19、IO_24〜IO_27、IO_32〜IO_35とデータバスData_B<19:0>とを接続する。これにより、PB 4IOユニット30_0、30_2、30_4、30_6、及び30_8は、データバスData_B<19:0>に、読み出しデータData_Out_B<19:0>(IO線IO_0〜IO_3、IO_8〜IO_11、IO_16〜IO_19、IO_24〜IO_27、IO_32〜IO_35のデータ)を出力する。   When the selection signal Sel_B <0> becomes H level, in the PB 4IO units 30_0, 30_2, 30_4, 30_6, and 30_8, the transistor 61b in each PB control circuit 60 is turned on. The PB 4IO units 30_0, 30_2, 30_4, 30_6, and 30_8 connect the IO lines IO_0 to IO_3, IO_8 to IO_11, IO_16 to IO_19, IO_24 to IO_27, IO_32 to IO_35, and the data bus Data_B <19: 0>, respectively. . Thereby, the PB 4IO units 30_0, 30_2, 30_4, 30_6, and 30_8 are connected to the data bus Data_B <19: 0> and the read data Data_Out_B <19: 0> (IO lines IO_0 to IO_3, IO_8 to IO_11, IO_16 to IO_19). , IO_24 to IO_27, IO_32 to IO_35).

次に、選択信号Sel_B<1>がHレベルになると、PB 4IOユニット30_1、30_3、30_5、30_7、及び30_9は、それぞれのPB制御回路60におけるトランジスタ61aがオンする。PB 4IOユニット30_1、30_3、30_5、30_7、及び30_9は、それぞれIO線IO_4〜IO_7、IO_12〜IO_15、IO_20〜IO_23、IO_28〜IO_31、IO_36〜IO_39とデータバスData_B<19:0>とを接続する。これにより、PB 4IOユニット30_1、30_3、30_5、30_7、及び30_9は、データバスData_B<19:0>に、読み出しデータData_Out_B<19:0>(IO線IO_4〜IO_7、IO_12〜IO_15、IO_20〜IO_23、IO_28〜IO_31、IO_36〜IO_39のデータ)を出力する。   Next, when the selection signal Sel_B <1> becomes H level, in the PB 4IO units 30_1, 30_3, 30_5, 30_7, and 30_9, the transistor 61a in each PB control circuit 60 is turned on. The PB 4IO units 30_1, 30_3, 30_5, 30_7, and 30_9 connect the IO lines IO_4 to IO_7, IO_12 to IO_15, IO_20 to IO_23, IO_28 to IO_31, IO_36 to IO_39, and the data bus Data_B <19: 0>, respectively. . Thereby, the PB 4IO units 30_1, 30_3, 30_5, 30_7, and 30_9 are connected to the data bus Data_B <19: 0> and the read data Data_Out_B <19: 0> (IO lines IO_4 to IO_7, IO_12 to IO_15, IO_20 to IO_23). , IO_28 to IO_31, IO_36 to IO_39).

このようにして、選択信号Sel_Bを2回、データ読み出しモデルに供給すると、PB 4IOユニット30_0〜30_9は、PB制御回路60により、IO線IO_0〜IO_39を20本ずつ、データバスData_B<19:0>に接続する。これにより、合計40ビットのメモリセルトランジスタの記憶するデータを、ビット線、及びIO線IO_0〜IO_39を介してECC Busに読み出すことができる。
例えば、通常モードでは、IO線IO_0〜IO_3、IO_8〜IO_11、IO_16〜IO_19、IO_24〜IO_27、IO_32〜IO_35のデータは、選択信号を5回与えなければ、Data Busに読み出すことができなかった。これに対して、ECCモードでは、選択信号を1回与えれば(選択信号Sel_B<0>を与えれば)、IO線IO_0〜IO_3、IO_8〜IO_11、IO_16〜IO_19、IO_24〜IO_27、IO_32〜IO_35のデータを、ECC Busに読み出すことができる。
When the selection signal Sel_B is supplied to the data read model twice in this manner, the PB 4IO units 30_0 to 30_9 use the PB control circuit 60 to set 20 IO lines IO_0 to IO_39 and data bus Data_B <19: 0. Connect to>. As a result, the data stored in the memory cell transistors of a total of 40 bits can be read out to the ECC Bus via the bit lines and the IO lines IO_0 to IO_39.
For example, in the normal mode, the data of the IO lines IO_0 to IO_3, IO_8 to IO_11, IO_16 to IO_19, IO_24 to IO_27, and IO_32 to IO_35 cannot be read to the data bus unless the selection signal is given five times. On the other hand, in the ECC mode, if the selection signal is given once (if the selection signal Sel_B <0> is given), the IO lines IO_0 to IO_3, IO_8 to IO_11, IO_16 to IO_19, IO_24 to IO_27, IO_32 to IO_35 Data can be read into ECC Bus.

また、図8は、図1に示すページバッファ102、カラムコーディング回路103、及びECCカラムコーディング回路108に対応する部分のデータ書き込み動作を説明するための図である。
データ書き込み動作においても、PB 4IOユニット30_0の動作により、ページバッファ102、及びカラムコーディング回路103、及びECCカラムコーディング回路108(ここでは、データ書き込みモデルとする)は、データ書き込み動作を実行する。
データ書き込みモデルでは、データの転送を図3に示す方向と逆方向に処理を行なうだけであるので、詳細な説明は省略する。
FIG. 8 is a diagram for explaining a data write operation in a portion corresponding to the page buffer 102, the column coding circuit 103, and the ECC column coding circuit 108 shown in FIG.
Also in the data write operation, the page buffer 102, the column coding circuit 103, and the ECC column coding circuit 108 (here, a data write model) execute the data write operation by the operation of the PB 4IO unit 30_0.
In the data writing model, only data transfer is performed in the direction opposite to that shown in FIG.

データ書き込みモデルでは、例えば、通常モードでは、IO線IO_0〜IO_3、IO_8〜IO_11、IO_16〜IO_19、IO_24〜IO_27、IO_32〜IO_35へ与えるデータは、選択信号を5回与えなければ、Data Busから書き込むことができなかった。これに対して、ECCモードでは、選択信号を1回与えれば(選択信号Sel_B<0>を与えれば)、IO線IO_0〜IO_3、IO_8〜IO_11、IO_16〜IO_19、IO_24〜IO_27、IO_32〜IO_35へ与えるデータを、ECC Busから書き込むことができる。   In the data writing model, for example, in the normal mode, data to be given to the IO lines IO_0 to IO_3, IO_8 to IO_11, IO_16 to IO_19, IO_24 to IO_27, and IO_32 to IO_35 is written from the Data Bus unless the selection signal is given five times. I couldn't. On the other hand, in the ECC mode, if the selection signal is given once (if the selection signal Sel_B <0> is given), to the IO lines IO_0 to IO_3, IO_8 to IO_11, IO_16 to IO_19, IO_24 to IO_27, and IO_32 to IO_35. The given data can be written from ECC Bus.

このように、本実施形態のNAND型フラッシュメモリ10(半導体記憶装置)は、第1のデータバス(データバスData_B<19:0>)と、第1のデータバスと異なる本数から構成され、第1のデータバスとは独立して設けられる第2のデータバス(データバスData_A<7:0>)と、を備える。また、NAND型フラッシュメモリ10は、データ転送部(PB 4IOユニット30_0〜30_9各々におけるPB制御回路60)を備える。データ転送部は、第1の動作モードによりメモリセルとの間でデータを転送する場合、複数のビット線のうち第1のデータバスと同じ本数のビット線と、第1のデータバスとを接続してデータを転送する。一方、データ転送部は、第2の動作モードによりメモリセルとの間でデータを転送する場合、複数のビット線のうち第2のデータバスと同じ本数のビット線と、第2のデータバスと、を接続してデータを転送する。   As described above, the NAND flash memory 10 (semiconductor memory device) of the present embodiment includes the first data bus (data bus Data_B <19: 0>) and a different number from the first data bus. And a second data bus (data bus Data_A <7: 0>) provided independently of one data bus. The NAND flash memory 10 includes a data transfer unit (PB control circuit 60 in each of the PB 4IO units 30_0 to 30_9). When transferring data between memory cells in the first operation mode, the data transfer unit connects the same number of bit lines as the first data bus among the plurality of bit lines and the first data bus. And transfer the data. On the other hand, the data transfer unit, when transferring data to and from the memory cell in the second operation mode, has the same number of bit lines as the second data bus among the plurality of bit lines, the second data bus, , Connect and transfer data.

また、ビット線を、n(nはpとqの公倍数であり、p、及びqはp>qである自然数)本のビット線とすると、次の構成となっている。すなわち、第1のデータバスはp本であり、第2のデータバスはq本であって、データ転送部は、第1の動作モードでは、(n/p)本のアドレス信号が入力されると、p本のビット線とp本の第1のデータバスとの接続を行い、一方、第2の動作モードでは、(n/q)本のアドレス信号が入力されると、q本ビット線と第2のデータバスとの接続を行う。   Further, when the bit lines are n (n is a common multiple of p and q, and p and q are natural numbers where p> q), the configuration is as follows. That is, there are p first data buses, q second data buses, and the data transfer unit receives (n / p) address signals in the first operation mode. And p bit lines and p first data buses are connected, while in the second operation mode, when (n / q) address signals are input, q bit lines are connected. Are connected to the second data bus.

また、NAND型フラッシュメモリ10は、メモリアレイ101と、メモリアレイ101からページ単位でデータを読み出し、メモリアレイ101から読み出された読み出しデータを格納するページバッファ102を備える。また、NAND型フラッシュメモリ10は、ページバッファ102から転送された読み出しデータに対して誤りを訂正し、この訂正された読み出しデータをページバッファ102に書き戻すECC回路107(ECC部)と、ページバッファに書き戻された読み出しデータを出力するI/Oパッド106(インターフェース部)と、を備える。このECC Busは、ECC回路107に接続され、Data Busは、I/Oパッド106に接続される。   The NAND flash memory 10 includes a memory array 101 and a page buffer 102 that reads data from the memory array 101 in units of pages and stores read data read from the memory array 101. In addition, the NAND flash memory 10 corrects an error in the read data transferred from the page buffer 102 and writes the corrected read data back to the page buffer 102, and the page buffer. And an I / O pad 106 (interface unit) for outputting the read data written back to. The ECC bus is connected to the ECC circuit 107, and the data bus is connected to the I / O pad 106.

また、NAND型フラッシュメモリ10において、ページバッファ102は、I/Oパッド106に入力された書き込みデータを格納し、ECC回路107は、ページバッファから転送された書き込みデータに対してパリティデータを生成し、パリティデータ及び書き込みデータをページバッファに書き戻す。   In the NAND flash memory 10, the page buffer 102 stores the write data input to the I / O pad 106, and the ECC circuit 107 generates parity data for the write data transferred from the page buffer. The parity data and the write data are written back to the page buffer.

これにより、ページバッファ102から複数のデータバス(本実施形態ではECC Bus、Data Bus)を用意し、それぞれについて独立したカラムコーディング(Column Coding)、すなわちアドレス制御を可能にすることができる。
本実施形態では、ページバッファ102の入出力線(上記例で言えばIO_0〜IO_39)から、すなわちページバッファに直結した部分から独立なデータバスの構成、および独立なアドレス制御としているところが特徴である。
そのため、本実施形態における半導体記憶装置では、以下に述べる特徴的な効果を奏することができる。
Thus, a plurality of data buses (ECC Bus and Data Bus in this embodiment) are prepared from the page buffer 102, and independent column coding (Column Coding), that is, address control can be made for each.
The present embodiment is characterized in that the data bus configuration is independent from the input / output lines (IO_0 to IO_39 in the above example) of the page buffer 102, that is, the portion directly connected to the page buffer, and the address control is independent. .
Therefore, the semiconductor memory device according to this embodiment can exhibit the following characteristic effects.

(1)第1の動作モード(本実施形態ではECCモード)において、バス幅を広げ、高速化できる。
本実施形態の説明では、1回のカラムアドレス入力により、第2の動作モード(通常モード)では、Data Busに8ビットのデータを転送し、ECCモードでは20ビットのデータを転送する場合に説明した。このように、Address_Bの入力(選択信号Sel_BのPB制御回路60への入力)次第では、すなわちページバッファ102へのカラムコーディング次第では、簡単にバス幅を広げることができる。例えば、1024個のPBユニットでカラムアドレスを2アドレスとすれば、ECCモードではECC Busを512bitのバス幅に広げてデータ転送できる。
また、ページバッファに直結した部分から独立なデータバスの構成、および独立なアドレス制御としている。そのため、従来のように、Data Busの一部を共有してECC回路へデータ転送する場合に比べて、高速なデータ転送が可能になる。
特に、不良のPBユニットについては、PB制御回路60が固定データをECC Busを介してECC回路107へ転送するので、ECC処理においてカラム置換回路104で救済処理した後のデータをECC Busを介してECC回路107に転送する必要はなくなる。そのため、バス幅の拡大されたECC Busの径路にカラム置換回路104を配置する必要が無くなる。このため、カラム置換回路104での救済処理に要する時間だけ、ECC処理の際のページバッファからECC回路へのデータ転送の時間を短縮できる。また、ECC処理に際してData Bus(第2のデータバス)のバス幅を拡大する必要はないので、カラム置換回路104の回路規模の増大を抑制できる。
(1) In the first operation mode (ECC mode in this embodiment), the bus width can be increased and the speed can be increased.
In the description of the present embodiment, a case where 8-bit data is transferred to Data Bus in the second operation mode (normal mode) and 20-bit data is transferred in the ECC mode by one column address input. did. As described above, depending on the input of Address_B (input of the selection signal Sel_B to the PB control circuit 60), that is, depending on the column coding to the page buffer 102, the bus width can be easily widened. For example, if the column address is 2 addresses with 1024 PB units, data transfer can be performed with the ECC Bus widened to a 512-bit bus width in the ECC mode.
In addition, the data bus is independent from the portion directly connected to the page buffer, and the address control is independent. Therefore, as compared with the conventional case, data transfer can be performed at a higher speed than when a part of Data Bus is shared to transfer data to the ECC circuit.
In particular, for a defective PB unit, the PB control circuit 60 transfers the fixed data to the ECC circuit 107 via the ECC bus. Therefore, the data after the relief processing by the column replacement circuit 104 in the ECC processing is transferred via the ECC bus. There is no need to transfer to the ECC circuit 107. Therefore, it is not necessary to arrange the column replacement circuit 104 in the ECC Bus path whose bus width is increased. For this reason, the time required for data transfer from the page buffer to the ECC circuit during the ECC processing can be shortened by the time required for the relief processing in the column replacement circuit 104. Further, since it is not necessary to increase the bus width of the Data Bus (second data bus) during the ECC processing, an increase in the circuit scale of the column replacement circuit 104 can be suppressed.

(2)アドレス制御、アドレスマップの自由度の向上
本実施形態の説明では、通常モードにおいて、1つのカラムアドレスで8ビットのデータ転送する際、例えばPB 4IOユニット30_0、と30_1に選択信号Sel_A<0>を供給して、IO線IO_0〜IO_7のデータをData Busに転送した。これに対して、ECCモードでは、PB 4IOユニット30_0、と30_1に選択信号Sel_B<0>、Sel_B<1>と別々のアドレスを割り当てて、全アドレスについて一括でECC回路にデータ転送をすることができる。例えば、通常データとパリティデータとが、通常モードにおいて選択信号Sel_Aの異なるアドレスに割り付けられていた場合であっても、ECCモードにおいて選択信号Sel_Bの同じアドレスに割り付けることができ、通常データとパリティデータを一括してECC回路に入力することができる。このように、第2の動作モードにおけるアドレス制御が第1の動作モードにおけるアドレス制御に対して独立性が非常に高く、アドレスマップの自由度を高くすることができる。
(2) Improving the degree of freedom of address control and address map In the description of this embodiment, when transferring 8-bit data with one column address in the normal mode, for example, the selection signal Sel_A <is sent to the PB 4IO units 30_0 and 30_1 0> is supplied, and the data of the IO lines IO_0 to IO_7 is transferred to the Data Bus. On the other hand, in the ECC mode, the selection signals Sel_B <0> and Sel_B <1> and different addresses are assigned to the PB 4IO units 30_0 and 30_1, and data is transferred to the ECC circuit for all addresses at once. it can. For example, even when normal data and parity data are assigned to different addresses of the selection signal Sel_A in the normal mode, they can be assigned to the same address of the selection signal Sel_B in the ECC mode. Can be collectively input to the ECC circuit. Thus, the address control in the second operation mode is very independent of the address control in the first operation mode, and the degree of freedom of the address map can be increased.

また、通常モードではカラムアドレスは選択信号Sel_A<0>〜Sel_A<4>の5つに対し、ECCモードではカラムアドレスは選択信号Sel_B<0>、Sel_B<1>の2つとなった。このことは、通常モードにおける規格(User Spec)では、カラムアドレスが2のn乗でない(所謂きりのよくない)値で定められていたとしても、ECCモードではアドレス空間を2のn乗などのきりのよい単位空間へ変換可能であることを意味している。
これにより、ECC回路107のコード構成、たとえばコード長をいくつにするか、積符号化する場合のコード長構成の最適化などの過程において、自由度をもって設計することができ、より最適なパフォーマンスを引き出すことができる。
In the normal mode, the column address has five selection signals Sel_A <0> to Sel_A <4>, whereas in the ECC mode, the column address has two selection signals Sel_B <0> and Sel_B <1>. This means that even if the column address is defined by a value that is not 2 to the nth power (so-called unsatisfactory) in the standard (User Spec) in the normal mode, the address space is set to a power of 2n in the ECC mode. It means that it can be converted into a unit space with a good quality.
As a result, the code configuration of the ECC circuit 107, for example, how many code lengths are used, and optimization of the code length configuration when product encoding is performed can be designed with a degree of freedom, and more optimal performance can be achieved. It can be pulled out.

(3)設計変更の容易化
またECC回路を内蔵した製品を設計する場合、仮に当該製品の派生製品であってECC回路の内蔵が不要な製品を別途設計するような場合、データバス(ECCバス)、アドレス制御に係るカラムコーディング回路がECCモードと通常モードでは独立している。これにより、ECCモードに係る回路と通常モードに係る回路の切り分けが明確であるため、不要なECCモードに係る回路の削減が容易となり、設計変更が容易になる。
(3) Ease of design change When designing a product incorporating an ECC circuit, if a product that is a derivative product of the product and does not require the incorporation of an ECC circuit is designed separately, a data bus (ECC bus) ), The column coding circuit for address control is independent in the ECC mode and the normal mode. Thereby, since the separation between the circuit related to the ECC mode and the circuit related to the normal mode is clear, it is easy to reduce the circuits related to the unnecessary ECC mode, and the design change is facilitated.

続いて、図1に示すNAND型フラッシュメモリの第1の動作モード、及び第2の動作モードでの動作について、ページバッファ102の概略構成、及び動作フローチャートを参照して説明する。図9は、ページバッファ102を構成する各ページバッファを説明するための図である。また、図10は、ページバッファ102の動作を説明するためのフローチャートである。
図9(a)には、ページバッファ102を構成するMain Data(通常データ)用のページバッファ102a、Column Repair for Main Data(通常データの置換データ)用のページバッファ102bを模式的に示している。また、図9(a)には、ECC Parity(パリティデータ)用のページバッファ102c、及びParity’s Column Repair(パリティデータの置換データ)用のページバッファ102dを模式的に示している。
図9(a)には、これらページバッファ102a〜102dを構成するPB ユニット(図5、及び図6に示すPB制御回路60、及びビット内部回路50_0〜50_7を単位とする回路)に番号を付して示している。この番号は、図4(b)に示すCodelinng、すなわちPB ユニットの位置を示す選択信号Sel_Aの番号である。
Next, operations in the first operation mode and the second operation mode of the NAND flash memory shown in FIG. 1 will be described with reference to a schematic configuration of the page buffer 102 and an operation flowchart. FIG. 9 is a diagram for explaining each page buffer constituting the page buffer 102. FIG. 10 is a flowchart for explaining the operation of the page buffer 102.
FIG. 9A schematically shows a page buffer 102a for Main Data (normal data) and a page buffer 102b for Column Repair for Main Data (replacement data for normal data) constituting the page buffer 102. . FIG. 9A schematically shows a page buffer 102c for ECC parity (parity data) and a page buffer 102d for parity's column repair (parity data replacement data).
In FIG. 9A, numbers are assigned to the PB units (the PB control circuit 60 shown in FIGS. 5 and 6 and the circuit having the bit internal circuits 50_0 to 50_7 as units) constituting the page buffers 102a to 102d. As shown. This number is the codeling shown in FIG. 4B, that is, the number of the selection signal Sel_A indicating the position of the PB unit.

すなわち、ページバッファ102aは、通常データ用のPB ユニットとして、256個のPB ユニット0〜PB ユニット255を有し、ページバッファ102bは、通常データの置換用のPB ユニットとして8個のPB ユニット256〜PB ユニット263を有する。
また、ページバッファ102cは、パリティデータ用のPB ユニットとして、36個のPB ユニット264〜PB ユニット299を有し、ページバッファ102dは、パリティデータの置換用のPB ユニットとして8個のPB ユニット300〜PB ユニット307を有する。
That is, the page buffer 102a has 256 PB units 0 to PB units 255 as PB units for normal data, and the page buffer 102b has eight PB units 256 to 256 as PB units for replacement of normal data. A PB unit 263 is included.
The page buffer 102c has 36 PB units 264 to PB units 299 as PB units for parity data, and the page buffer 102d has 8 PB units 300 to 300 as PB units for parity data replacement. A PB unit 307 is included.

また、ここでは、図9(b)に示す様に、ページバッファ102aのPB ユニット1に接続される8本のビット線、或いは当該8本のビット線に接続されるメモリセルトランジスタに不良があった場合に、ページバッファ102bのPB ユニット256に置換される例を示している。また、図9(b)では、ページバッファ102cのPB ユニット265に接続される8本ビット線、或いは当該8本のビット線に接続されるメモリセルトランジスタに不良があった場合に、ページバッファ102dのPB ユニット300に置換される例を示している。
なお、図9(b)において斜線を施して示しているページバッファ102bにおけるPB ユニット257〜263は使用されないので、これらはカラム置換回路104の制御によりカラムコーディング回路103が選択することはなく、すなわち不活性状態となっている。また、同じく図9(b)において斜線を施して示しているページバッファ102dにおけるPB ユニット301〜307は使用されないので、これらはパリティカラム置換回路105の制御によりECCカラムコーディング回路108が選択することはなく、すなわち不活性状態となっている。
Further, here, as shown in FIG. 9B, there are defects in the eight bit lines connected to the PB unit 1 of the page buffer 102a or the memory cell transistors connected to the eight bit lines. In this example, the PB unit 256 of the page buffer 102b is replaced. In FIG. 9B, when there is a defect in the eight bit lines connected to the PB unit 265 of the page buffer 102c or the memory cell transistors connected to the eight bit lines, the page buffer 102d In this example, the PB unit 300 is replaced.
Since the PB units 257 to 263 in the page buffer 102b shown by hatching in FIG. 9B are not used, they are not selected by the column coding circuit 103 under the control of the column replacement circuit 104. Inactive state. Similarly, since the PB units 301 to 307 in the page buffer 102d shown by hatching in FIG. 9B are not used, they are selected by the ECC column coding circuit 108 under the control of the parity column replacement circuit 105. That is, inactive.

また、ページバッファ102aにおけるPB ユニット1は、通常モードでは選択されず、置換先のPB ユニット256が選択信号Sel_Aにより選択される。これにより、読み出しデータData_Out_A(PB ユニット1から読み出すはずのデータ)が、Data Bus_1、Data Bus_2、及びData Bus_3(第2のデータバス)を介してI/Oパッド106から出力される。また、通常モードでは、書き込みデータがI/Oパッド106から入力されると、Data Bus_3、Data Bus_2、及びData Bus_1を介してPB ユニット255に、書き込みデータData_A_In(PB ユニット1に書き込むはずのデータ)として入力される。このように、ユーザがカラムアドレスを供給して使用できるページバッファの領域はページバッファ102aのPB ユニット0〜255までである。つまり、ページバッファ102bのPB ユニット256〜263、ページバッファ102cのPB ユニット264〜299、及びページバッファ102dのPB ユニット300〜307は、ユーザがアクセスすることのできないページバッファの領域である。   Further, the PB unit 1 in the page buffer 102a is not selected in the normal mode, and the replacement destination PB unit 256 is selected by the selection signal Sel_A. As a result, the read data Data_Out_A (data to be read from the PB unit 1) is output from the I / O pad 106 via the Data Bus_1, Data Bus_2, and Data Bus_3 (second data bus). In the normal mode, when write data is input from the I / O pad 106, the write data Data_A_In (data to be written to the PB unit 1) is written to the PB unit 255 via the Data Bus_3, Data Bus_2, and Data Bus_1. Is entered as Thus, the page buffer area that the user can use by supplying the column address is the PB units 0 to 255 of the page buffer 102a. That is, the PB units 256 to 263 of the page buffer 102b, the PB units 264 to 299 of the page buffer 102c, and the PB units 300 to 307 of the page buffer 102d are page buffer areas that cannot be accessed by the user.

また、ページバッファ102aにおけるPB ユニット1は、ECCモードで選択信号Sel_Bにより選択され、LレベルまたはHレベルのいずれか一方に固定された読み出しデータData_Out_Bが、ECC Bus_1、及びECC Bus_2(第1のデータバス)を介してECC回路107まで転送され、ECC処理に用いられる。また、置換先のPB ユニット256も選択信号Sel_Bにより選択され、読み出しデータData_Out_Bが、ECC Bus_1、ECC Bus_2、及びECC Bus_3を介してECC回路107まで転送され、ユーザから見たPB ユニット1の読み出しデータとしてECC処理に用いられる。また、ECCモードでは、ECC処理が終了すると、PB ユニット1に書き戻すべきデータがECC Bus_3、ECC Bus_2、およびECC Bus_1(第1のデータバス)を介してPB ユニット255に、書き込みデータData_A_Inとして入力される。なお、これらのECC処理後のデータのうちPB ユニット0〜255のデータは、上述の様に、データバスData_Aを介して外部へ誤りのないデータ(Clear Data)として読み出される。   The PB unit 1 in the page buffer 102a is selected by the selection signal Sel_B in the ECC mode, and the read data Data_Out_B fixed to either the L level or the H level is ECC Bus_1 and ECC Bus_2 (first data). The data is transferred to the ECC circuit 107 via the bus and used for ECC processing. The replacement PB unit 256 is also selected by the selection signal Sel_B, and the read data Data_Out_B is transferred to the ECC circuit 107 via the ECC Bus_1, ECC Bus_2, and ECC Bus_3, and the read data of the PB unit 1 viewed from the user. Used for ECC processing. In the ECC mode, when the ECC processing is completed, data to be written back to the PB unit 1 is input as write data Data_A_In to the PB unit 255 via the ECC Bus_3, ECC Bus_2, and ECC Bus_1 (first data bus). Is done. Of these data after ECC processing, the data of the PB units 0 to 255 is read out as error-free data (Clear Data) to the outside via the data bus Data_A as described above.

また、ページバッファ102aにおけるPB ユニット265は、ECCモードで選択信号Sel_Bにより選択され、LレベルまたはHレベルのいずれか一方に固定された読み出しデータData_Out_Bが、ECC Bus_1、及びECC Bus_2(データバスData_B)を介してパリティカラム置換回路105まで転送される。また、置換先のPB ユニット300も選択信号Sel_Bにより選択され、読み出しデータData_Out_Bが、ECC Bus_1、及びECC Bus_2を介してパリティカラム置換回路105まで転送され、置換処理が行われる。こうして、PB ユニット300の出力するデータが、PB ユニット265の読み出しデータとしてECC Bus_3を介してECC回路107に転送され、ECC処理に用いられる。また、ECCモードでは、ECC処理が終了すると、PB ユニット265に書き戻すべきデータがECC Bus_3を介してパリティカラム置換回路105まで転送され、置換処理した後、ECC Bus_2、およびECC Bus_1(第1のデータバス)を介してPB ユニット300に、書き込みデータData_B_Inとして入力される。なお、これらのECC処理後のデータは、上述の様に、データバスData_Aを介して外部へ読み出されることはない。   Further, the PB unit 265 in the page buffer 102a is selected by the selection signal Sel_B in the ECC mode, and the read data Data_Out_B fixed to one of the L level and the H level is ECC Bus_1 and ECC Bus_2 (data bus Data_B). To the parity column replacement circuit 105. Also, the replacement destination PB unit 300 is also selected by the selection signal Sel_B, and the read data Data_Out_B is transferred to the parity column replacement circuit 105 via the ECC Bus_1 and ECC Bus_2, and the replacement process is performed. Thus, the data output from the PB unit 300 is transferred to the ECC circuit 107 via the ECC Bus_3 as read data of the PB unit 265, and used for ECC processing. In the ECC mode, when the ECC process is completed, the data to be written back to the PB unit 265 is transferred to the parity column replacement circuit 105 via the ECC Bus_3, and after the replacement process, the ECC Bus_2 and the ECC Bus_1 (first bus). The data is input to the PB unit 300 via the data bus as write data Data_B_In. Note that the data after the ECC processing is not read out via the data bus Data_A as described above.

図10に示すフローチャートを参照して、メモリセルトランジスタへのデータ書き込み動作、メモリセルトランジスタからのデータ読み出し動作について説明する。なお、図10(a)はデータ書込み動作(Data In)、図10(b)は、データ読み出し動作(Data Out)を、それぞれ示している。また、図10(c)は、図2に示すランダマイザ、及びECC回路107におけるデータランダマイズ(Data Randomize)、及びエンコード(Encode)処理動作を示している。また、図10(d)は、ランダマイザ、及びECC回路107におけるデコード(Decode)、及びデータデランダマイズ(Data De−Randomize)処理動作を示している。なお、以下に説明する動作において、図10(c)に示すエンコード処理、及び図10(d)に示すデコード処理は、ECCモード(第1の動作モード)における第1のランダマイズ及びECC処理(欠陥ビットに関してECC回路により不良救済する処理)である。本実施形態のNAND型フラッシュメモリ10は、ECCモードにおいて、第1のランダマイズ及びECC処理と、第2のランダマイズ及びECC処理(欠陥ビットに関して誤りが発生しないように処理され、ECC処理の訂正処理能力を下げない処理)とを切り替えて実行することが可能である。第2のランダマイズ及びECC処理の構成、及び動作については後述することとする。ここでは、第1のランダマイズ及びECC処理を用いるものとして、また、救済置換処理を中心に、ページバッファ102のECCモードにおける動作の詳細について説明する。   A data write operation to the memory cell transistor and a data read operation from the memory cell transistor will be described with reference to the flowchart shown in FIG. 10A shows a data write operation (Data In), and FIG. 10B shows a data read operation (Data Out). FIG. 10C shows data randomization and encoding processing in the randomizer and ECC circuit 107 shown in FIG. Further, FIG. 10D shows a decoding (decode) and data de-randomization (Data De-Randomize) processing operations in the randomizer and the ECC circuit 107. In the operation described below, the encoding process shown in FIG. 10C and the decoding process shown in FIG. 10D are performed in the first randomization and ECC processes (defects in the ECC mode (first operation mode)). This is a process for relieving a defective bit by an ECC circuit). In the ECC mode, the NAND flash memory 10 according to the present embodiment performs the first randomization and ECC processing and the second randomization and ECC processing (processing is performed so that no error occurs with respect to defective bits, and the correction processing capability of the ECC processing). It is possible to switch and execute the processing without lowering the value. The configuration and operation of the second randomization and ECC processing will be described later. Here, the details of the operation of the page buffer 102 in the ECC mode will be described on the assumption that the first randomization and ECC processing are used, and that the repair replacement processing is mainly described.

[データ書き込み動作]
ユーザがI/Oパッド106を介してNAND型フラッシュメモリ10に、所定のコマンド(ライトコマンド)を入力し、アドレス(ここでは、PB ユニット1を選択するカラムアドレス)入力をし、引き続いて、書き込みデータを入力する(ステップST1)。
次に、通常データの置換が実行される(ステップST2)。具体的には、カラム置換回路104の制御によりカラムコーディング回路103は、PB ユニット1を選択せず、代わりにPB ユニット256を選択し、PB ユニット256には外部からのデータが格納される。
[Data write operation]
A user inputs a predetermined command (write command) to the NAND flash memory 10 via the I / O pad 106, inputs an address (here, a column address for selecting the PB unit 1), and subsequently writes. Data is input (step ST1).
Next, normal data replacement is executed (step ST2). Specifically, under the control of the column replacement circuit 104, the column coding circuit 103 does not select the PB unit 1, but instead selects the PB unit 256, and external data is stored in the PB unit 256.

次に、ユーザが所定時間経過後に、プログラム実行コマンド(Program Executuion Command)を与える(Invoke)と、通常モード(第2の動作モード)であれば、ステップST6に進みプログラム処理(ページバッファからビット線を介してメモリセルトランジスタへデータを与える)を実行する。ECCモード(第1の動作モード)であれば、ステップST5に進みECCのエンコード処理を実行する。(ステップST5)。具体的には次の処理を実行する。   Next, when the user gives a program execution command (Program Execution Command) after a predetermined time has passed (Invoke), if it is the normal mode (second operation mode), the process proceeds to step ST6 and program processing (from the page buffer to the bit line). The data is supplied to the memory cell transistor via the. If the mode is the ECC mode (first operation mode), the process proceeds to step ST5, and the ECC encoding process is executed. (Step ST5). Specifically, the following processing is executed.

ここで、図9(c)は、ECC処理でのコード構成を示している。ECCとしてのData部は、PB ユニット0〜PB ユニット263に格納されたデータであり、パリティ部(ECC Parity)は、PB ユニット264〜PB ユニット299に格納されたデータからなる。なお、PB ユニット1に書き込むべきデータは、PB ユニット256に書き込まれて格納され、PB ユニット1以外のPB ユニット0、PB ユニット2〜255には、それぞれに接続されるビット線を介してメモリセルトランジスタが記憶するデータが読み出されて格納されている。
PB ユニット0〜PB ユニット263に格納されたデータが、ECC Bus_1、ECC Bus_2、及びECC Bus_3(第1のデータバス)を介して、ランダマイザ、及びECC回路107に入力(Data Load)される(ステップST31)。
Here, FIG. 9C shows a code configuration in the ECC process. The Data part as ECC is data stored in the PB unit 0 to the PB unit 263, and the parity part (ECC Parity) consists of data stored in the PB unit 264 to the PB unit 299. The data to be written to the PB unit 1 is written and stored in the PB unit 256, and the PB units 0 and PB units 2 to 255 other than the PB unit 1 are connected to the memory cells via bit lines connected to the PB unit 1 respectively. Data stored in the transistor is read and stored.
The data stored in the PB unit 0 to the PB unit 263 is input (Data Load) to the randomizer and the ECC circuit 107 via the ECC Bus_1, ECC Bus_2, and ECC Bus_3 (first data bus) (step S1). ST31).

なお、このとき、上述したように、ランダマイザ107bには、PB ユニット1からは固定データ(図5に示すPB制御回路60であればLデータ、図6に示すPB制御回路60であればHデータ)が入力される。また、ランダマイザ107bには、PB ユニット256からは、PB ユニット1に書き込むべきだったが実際はPB ユニット256に書き込まれたデータが入力される。
ランダマイザ107bは、ランダマイズ(Data Randomize)処理を実行し(ステップST32a)、ランダマイズ処理後のデータをECC回路107aに対して出力する。
ECC回路107aは、入力されるランダマイズ処理後のデータに対してエンコード(Encode)処理を実行し、パリティデータを生成(Parity Generation)する(ステップST32b)。
At this time, as described above, the randomizer 107b receives fixed data from the PB unit 1 (L data for the PB control circuit 60 shown in FIG. 5 and H data for the PB control circuit 60 shown in FIG. ) Is entered. Further, the randomizer 107b is inputted with data written in the PB unit 256, which should have been written in the PB unit 1, from the PB unit 256.
The randomizer 107b executes a randomization process (Step ST32a), and outputs the data after the randomization process to the ECC circuit 107a.
The ECC circuit 107a performs an encoding process on the input randomized data and generates parity data (Parity Generation) (step ST32b).

続いて、ランダマイザ、及びECC回路107は、PB ユニット0〜307にECC処理後のデータを書き戻す(Data Store)処理を実行する(ステップST33)。ここで、図2に示すランダマイザ107bがPB ユニット0〜263に、パリティ生成回路41がPB ユニット264〜307に、それぞれデータを書き戻す。
なお、このとき、ECCコーディング回路108は、パリティカラム置換回路105の制御により、PB ユニット265を非選択とし、PB ユニット300を選択する。これにより、PB ユニット265に書き戻すべきパリティデータがPB ユニット300に書き戻される。また、PB ユニット0〜263には、ステップST32aでランダマイズ処理した後のデータが書き込まれ、PB ユニット264〜307にはパリティデータが書き込まれる。このように、図9(b)において斜線を施して示している不活性状態ページバッファには、図5または図6に示す回路により、書き込みがされないようになっている。
Subsequently, the randomizer and the ECC circuit 107 execute a process (Data Store) for writing back the data after the ECC process to the PB units 0 to 307 (step ST33). Here, the randomizer 107b shown in FIG. 2 writes the data back to the PB units 0 to 263, and the parity generation circuit 41 writes the data back to the PB units 264 to 307, respectively.
At this time, the ECC coding circuit 108 deselects the PB unit 265 and selects the PB unit 300 under the control of the parity column replacement circuit 105. As a result, parity data to be written back to the PB unit 265 is written back to the PB unit 300. Further, the data after the randomization process in step ST32a is written to the PB units 0 to 263, and the parity data is written to the PB units 264 to 307. As described above, the inactive state page buffer indicated by hatching in FIG. 9B is not written by the circuit shown in FIG. 5 or FIG.

続いて、各PBユニットにおいて、図7に示すラッチ部にメモリセルに書き込むべきデータ(Data_i)がラッチされたので、メモリセルトランジスタへのデータ書込み(Program to Memory Cell)処理が開始される(ステップST6)。
各PB ユニットでは、書込みが成功するまで、ラッチ部からメモリセルへのデータ印加が繰り返される(ステップST7)。書き込みが成功すれば、繰り返し処理は終了し(ステップST7−Yes)、書き込みが成功しなければ、書込みが成功する、まで、ステップST6に戻ってプログラム処理が実行される(ステップST7−No)。
Subsequently, in each PB unit, the data (Data_i) to be written in the memory cell is latched in the latch unit shown in FIG. ST6).
In each PB unit, the data application from the latch unit to the memory cell is repeated until the writing is successful (step ST7). If the writing is successful, the repetitive processing ends (step ST7-Yes), and if the writing is not successful, the program processing is executed by returning to step ST6 until the writing is successful (step ST7-No).

[データ読み出し動作]
ユーザがI/Oパッド106を介して所定のコマンド(リードコマンド)を入力し、アドレス(ここでは、PB ユニット1を選択するカラムアドレス)を入力する(ステップST11)。
次に、各PB ユニットにおいて、図6に示すビット内部回路の接続点N1に、メモリセルトランジスタからのデータ(Data_i)がセンシングされラッチ部へ読み出される(ステップST12)。
また、ビット内部回路のラッチ部にData_iがラッチされる(ステップST13)。
その後、通常モード(第2の動作モード)であれば、ステップST15に進みセンシング処理が終了する。ECCモード(第1の動作モード)では、ステップST14に進み、ECCのデコード(Decode)処理を実行する。(ステップST14)。具体的には次の処理を実行する。
[Data read operation]
The user inputs a predetermined command (read command) via the I / O pad 106, and inputs an address (here, a column address for selecting the PB unit 1) (step ST11).
Next, in each PB unit, data (Data_i) from the memory cell transistor is sensed at the connection point N1 of the bit internal circuit shown in FIG. 6 and read to the latch unit (step ST12).
Data_i is latched in the latch portion of the bit internal circuit (step ST13).
Then, if it is a normal mode (2nd operation mode), it will progress to step ST15 and will complete | finish a sensing process. In the ECC mode (first operation mode), the process proceeds to step ST14, and ECC decoding (Decode) processing is executed. (Step ST14). Specifically, the following processing is executed.

PB ユニット0〜PB ユニット299に格納されたデータが、ECC Bus_1、ECC Bus_2、及びECC Bus_3(第1のデータバス)を介して、ランダマイザ、及びECC回路107に入力(Data Load)される(ステップST41)。
なお、このとき、上述したように、図2に示すECC回路107aのシンドローム算出回路31には、PB ユニット1からは固定データ(図5に示すPB制御回路60であればLデータ、図6に示すPB制御回路60であればHデータ)が入力される。また、ECC回路107aのシンドローム算出回路31には、PB ユニット256からは、PB ユニット1に書き込むべきだったが実際はPB ユニット256に書き込まれたデータが入力される。また、パリティカラム置換回路105には、PB ユニット300からは、PB ユニット265に書き込むべきだったが実際はPB ユニット300に書き込まれたパリティデータがECC Bus_1、及びECC Bus_2を介して入力され、置換処理した後、ECC Bus_3を介してECC回路107aのシンドローム算出回路31に入力する。
ランダマイザ、及びECC回路107は、デコード(Decode)処理を実行し、パリティデータに基づいて、PB ユニット0〜PB ユニット263に格納されたデータの誤りを訂正(Error Correction)する(ステップST42a)。
ランダマイザ107bは、ECC処理による訂正後のデータを、デランダマイズ(De−Randomize)処理を実行する(ステップST42b)。
The data stored in the PB unit 0 to the PB unit 299 is input (Data Load) to the randomizer and the ECC circuit 107 via the ECC Bus_1, ECC Bus_2, and ECC Bus_3 (first data bus) (step S1). ST41).
At this time, as described above, the syndrome calculation circuit 31 of the ECC circuit 107a shown in FIG. 2 receives the fixed data from the PB unit 1 (the L data in the case of the PB control circuit 60 shown in FIG. In the case of the PB control circuit 60 shown, H data) is input. Further, the syndrome calculation circuit 31 of the ECC circuit 107a receives data written in the PB unit 256 from the PB unit 256, which should have been written in the PB unit 1. The parity column replacement circuit 105 receives the parity data written in the PB unit 300 from the PB unit 300 but actually written in the PB unit 265 via the ECC Bus_1 and ECC Bus_2, and the replacement process. After that, the data is input to the syndrome calculation circuit 31 of the ECC circuit 107a via the ECC Bus_3.
The randomizer and the ECC circuit 107 execute a decoding process, and corrects an error in the data stored in the PB unit 0 to the PB unit 263 (Error Correction) based on the parity data (step ST42a).
The randomizer 107b performs a de-randomization process on the data corrected by the ECC process (step ST42b).

続いて、ランダマイザ、及びECC回路107は、PB ユニット0〜307にデランダマイズ処理後のデータを書き戻す(Data Store)処理を実行する(ステップST43)。ここで、図2に示すランダマイザ107bがPB ユニット0〜307にデータを書き戻す。
PB ユニット0〜263には、ECC処理後のデータ(誤り訂正されたデータ)がそのまま書き戻される。PB ユニット264〜307のパリティデータ部についてはユーザーが使用しないため、ECC処理後のデータ(誤り訂正されたデータ)を書き戻す必要はないが、書き戻してもよい。パリティカラム置換回路105の制御により、PB ユニット265を非選択とし、PB ユニット300を選択する。これにより、PB ユニット265に書き戻すべき誤り訂正後のパリティデータをPB ユニット300に書き戻す。このように、図9(b)において斜線を施して示している不活性状態ページバッファには図5または図6に示す回路により、書き込みがされないようになっている。
Subsequently, the randomizer and the ECC circuit 107 execute a data store process for writing back the data after the derandomization process to the PB units 0 to 307 (step ST43). Here, the randomizer 107 b shown in FIG. 2 writes the data back to the PB units 0 to 307.
In the PB units 0 to 263, data after ECC processing (error-corrected data) is written back as it is. Since the user does not use the parity data portion of the PB units 264 to 307, it is not necessary to write back the data after ECC processing (error-corrected data), but it may be written back. Under the control of the parity column replacement circuit 105, the PB unit 265 is deselected and the PB unit 300 is selected. Thereby, the parity data after error correction to be written back to the PB unit 265 is written back to the PB unit 300. As described above, the inactive state page buffer indicated by hatching in FIG. 9B is not written by the circuit shown in FIG. 5 or FIG.

続いて、各PBユニットにおいて、図7に示すラッチ部にメモリセルに書き込むべきデータ(Data_i)がラッチされたので、センシング(Sensing)処理が終了すし、読み出し可能な状態へ移行する(ステップST15)。
PB ユニット0〜PB ユニット255には、選択信号Sel_Aが入力され、格納されたデータが、Data Bus_1、Data Bus_2、及びData Bus_3を介して、読み出される。このとき、カラムコーディング回路103は、カラム置換回路104の制御により、PB ユニット1を非選択とし、PB ユニット256を選択する。PB ユニット256は、PB ユニット1に書き込むべきだったが実際はPB ユニット256に書き込まれたデータを出力する。つまり、不良を有するカラムの置換(Defect Column Repair)が実行される(ステップST16)。
このようにして、ユーザがPB ユニット1を介してメモリセルトランジスタへ書き込んだ書き込みデータが、不良救済されて他のメモリセルトランジスタに書き込まれ、更に書き込まれたデータが誤り訂正されて、I/Oパッド106から出力される(ステップST17)。
Subsequently, in each PB unit, since the data (Data_i) to be written in the memory cell is latched in the latch unit shown in FIG. 7, the sensing process is terminated and the state shifts to a readable state (step ST15). .
The selection signal Sel_A is input to the PB unit 0 to the PB unit 255, and the stored data is read out via the Data Bus_1, Data Bus_2, and Data Bus_3. At this time, the column coding circuit 103 deselects the PB unit 1 and selects the PB unit 256 under the control of the column replacement circuit 104. The PB unit 256 should write to the PB unit 1, but actually outputs the data written to the PB unit 256. That is, replacement of defective columns (Defect Column Repair) is executed (step ST16).
In this way, the write data written to the memory cell transistor by the user via the PB unit 1 is relieved from the defect and written to the other memory cell transistor. Further, the written data is error-corrected and the I / O is corrected. It is output from the pad 106 (step ST17).

以上説明したように、本発明のNAND型フラッシュメモリ10(半導体記憶装置)は、ECC Bus_1〜3(第1のデータバス)と、第1のデータバスと異なる本数から構成され、第1のデータバスとは独立して設けられるData Bus_1〜3(第2のデータバス)と、ページバッファ102(データ転送部)と、を備える。ページバッファ102は、ECCモード(第1の動作モード)によりメモリセルとの間でデータを転送する場合、複数のビット線のうち第1のデータバスと同じ本数のビット線と、第1のデータバスとを接続してデータを転送する。一方、ページバッファ102は、通常モード(第2の動作モード)によりメモリセルとの間でデータを転送する場合、複数のビット線のうち第2のデータバスと同じ本数のビット線と、第2のデータバスとを接続してデータを転送する
また、データ転送部は、通常メモリセルに接続されるビット線の電位を増幅し、増幅結果をラッチするページバッファ102a(第1のページバッファ)と、第1のページバッファに接続される通常メモリセルまたはビット線に不良が有る場合に、通常メモリセル、及びビット線とともに置換されるページバッファ102b(第3のページバッファ)と、を含んで構成される。また、データ転送部は、パリティメモリセルに接続されるビット線の電位を増幅し、増幅結果をラッチするページバッファ102c(第2のページバッファ)を含んで構成される。また、第2のデータバスは、第1のページバッファ、及び第3のページバッファと接続され、第1のデータバスは、第1のページバッファ、第3のページバッファ、及び第2のページバッファと接続される。
As described above, the NAND flash memory 10 (semiconductor memory device) of the present invention is composed of ECC Bus_1 to 3 (first data bus) and a different number from the first data bus, and the first data Data Bus_1 to 3 (second data bus) provided independently of the bus, and a page buffer 102 (data transfer unit). When transferring data to and from the memory cell in the ECC mode (first operation mode), the page buffer 102 has the same number of bit lines as the first data bus among the plurality of bit lines, and the first data Connect to the bus to transfer data. On the other hand, when transferring data to and from the memory cell in the normal mode (second operation mode), the page buffer 102 has the same number of bit lines as the second data bus among the plurality of bit lines, Further, the data transfer unit amplifies the potential of the bit line connected to the normal memory cell, and latches the amplification result with the page buffer 102a (first page buffer). And a normal memory cell connected to the first page buffer or a page buffer 102b (third page buffer) replaced with the bit line when there is a defect in the bit line. Is done. The data transfer unit includes a page buffer 102c (second page buffer) that amplifies the potential of the bit line connected to the parity memory cell and latches the amplification result. The second data bus is connected to the first page buffer and the third page buffer, and the first data bus is connected to the first page buffer, the third page buffer, and the second page buffer. Connected.

また、半導体記憶装置は、第1のデータバスに接続され、第2のページバッファに接続されるパリティメモリセルまたはビット線に不良が有る場合に、パリティメモリセル、及びビット線とともに置換されるページバッファ102d(第4のページバッファ)を備える。また、半導体記憶装置は、第2のデータバスに接続されるとともに、第1のページバッファのうちメモリセルまたはビット線に不良が有るページバッファを第3のページバッファに置換するカラム置換回路104(第1の救済置換回路)を備える。また、半導体記憶装置は、第1のデータバスに接続されるとともに、第2のページバッファのうちメモリセルまたはビット線に不良が有るページバッファを第4のページバッファに置換するパリティカラム置換回路105(第2の救済置換回路)を備える。また、半導体記憶装置は、第1のデータバスに接続されるとともに、第2のページバッファ、及び前記第4のページバッファの出力データに基づき、前記第1のページバッファ、及び第3のページバッファの出力データの誤りを訂正するECC回路107a(ECC回路)を備える。   In addition, the semiconductor memory device is connected to the first data bus, and when there is a defect in the parity memory cell or bit line connected to the second page buffer, the page replaced together with the parity memory cell and the bit line. A buffer 102d (fourth page buffer) is provided. In addition, the semiconductor memory device is connected to the second data bus, and also replaces a page buffer having a defective memory cell or bit line in the first page buffer with a third page buffer. A first relief replacement circuit). In addition, the semiconductor memory device is connected to the first data bus, and the parity column replacement circuit 105 replaces a page buffer having a defective memory cell or bit line in the second page buffer with a fourth page buffer. (Second relief replacement circuit). The semiconductor memory device is connected to the first data bus, and based on the output data of the second page buffer and the fourth page buffer, the first page buffer and the third page buffer ECC circuit 107a (ECC circuit) for correcting an error in the output data is provided.

また、半導体記憶装置は、第1のページバッファのうちメモリセルまたはビット線に不良が有るページバッファの出力を固定されたデータとするPB制御回路60(ページバッファ制御回路)を有する。   The semiconductor memory device also includes a PB control circuit 60 (page buffer control circuit) that uses the output of the page buffer having a defect in the memory cell or bit line in the first page buffer as fixed data.

また、ページバッファ制御回路は、メモリセルまたはビット線に不良が有る場合、第1のデータバスからの書き込みを許可しない。   The page buffer control circuit does not permit writing from the first data bus when a memory cell or a bit line has a defect.

また、第1の動作モードでは、第1のページバッファと、第2の動作モードでの救済置換を前提として存在する第3のページバッファとのうち、メモリセルまたはビット線に不良が有るページバッファについては救済置換を行わずに、ECC回路の入力データとして取り扱う。   In the first operation mode, the page buffer having a defect in the memory cell or the bit line out of the first page buffer and the third page buffer existing on the premise of the repair replacement in the second operation mode. Are handled as input data of the ECC circuit without performing repair replacement.

また、ビット線を、n(nはpとqの公倍数であり、p、及びqはp>qである自然数)本のビット線とすると、第1のデータバスはp本であり、第2のデータバスはq本である。また、データ転送部は、第1の動作モードでは、(n/p)本のアドレス信号が入力されると、p本のビット線とp本の第1のデータバスとの接続を行い、一方、第2の動作モードでは、(n/q)本のアドレス信号が入力されると、q本ビット線と第2のデータバスとの接続を行う。なお、上記構成は、論理的空間においての概念を前提としており、物理的ビット線数nがpとqの公倍数でなくてもよく、余りをダミービット線として処理するなどで対応できる。   Further, if the bit lines are n (n is a common multiple of p and q, and p and q are natural numbers where p> q), the first data bus is p, There are q data buses. In the first operation mode, the data transfer unit connects the p bit lines and the p first data buses when (n / p) address signals are input. In the second operation mode, when (n / q) address signals are input, the q bit lines are connected to the second data bus. The above configuration is based on the concept of a logical space, and the number of physical bit lines n may not be a common multiple of p and q, and can be dealt with by processing the remainder as a dummy bit line.

このように、本発明によれば、ECC回路107aへのECC Bus(第1のデータバス)のバス幅を広くしやすいことから(上記説明では、ECC回路へのバス幅は300ビット)、また、Main Data部の置換回路(カラム置換回路104)がこのECC Busの途中には不要となるため、ECC処理でのデータ転送を高速化することができる。また、Main Data部の置換回路は従来の様に増大しないことから、チップサイズの増大を抑制でき、従来に比べて製造の際のコストを低減できる効果がある。
なお、上記実施形態では、Main Data部の置換回路と比較して、規模が小さいParity部に専用のPCR置換システム(パリティカラム置換回路105)を用いて説明したが、この構成は必須ではない。もっとも、パリティカラム置換回路105は、Parity部の不良を救済する方法として有用である。パリティカラム置換回路105を用いない場合には、カラム1ビットあたり50%(0か1か)の確率で1エラー分の訂正ができなくなってしまい、ECC処理における訂正能力を損なってしまう。これに対して、上記説明の様に、パリティカラム置換回路105を用いてParity部の不良を救済すると、ECC訂正能力を向上できる。
As described above, according to the present invention, the bus width of the ECC Bus (first data bus) to the ECC circuit 107a can be easily increased (in the above description, the bus width to the ECC circuit is 300 bits). Since the replacement circuit (column replacement circuit 104) of the Main Data portion is not required in the middle of the ECC bus, data transfer in the ECC processing can be speeded up. Further, since the replacement circuit of the Main Data portion does not increase as in the conventional case, it is possible to suppress an increase in chip size and to reduce the manufacturing cost as compared with the conventional case.
In the above-described embodiment, the description has been made using the dedicated PCR replacement system (parity column replacement circuit 105) for the Parity section, which is smaller in scale than the replacement circuit of the Main Data section, but this configuration is not essential. However, the parity column replacement circuit 105 is useful as a method for relieving defects in the parity part. If the parity column replacement circuit 105 is not used, one error cannot be corrected with a probability of 50% (0 or 1) per column bit, and the correction capability in the ECC processing is impaired. On the other hand, as described above, the ECC correction capability can be improved by repairing the defect in the parity portion using the parity column replacement circuit 105.

[第1のランダマイズ及びECC処理]
続いて、ECCモード(第1の動作モード)における第1のランダマイズ及びECC処理(欠陥ビットに関してECC回路により不良救済する処理)の詳細について説明する。
なお、ここでは、上述した処理フローのうち、図10(c)に対応するランダマイズ、及びエンコード処理、及び図10(d)に対応するデコード、及びデランダマイズ処理について詳述する。また、以下では、ページバッファ102c(第2のページバッファ)におけるページバッファユニット、ページバッファユニットに接続されるビット線、及びメモリセルトランジスタには不良がないものとして、すなわち、上述したパリティカラム置換回路105による置換処理はないものとして説明をする。
[First randomization and ECC processing]
Next, details of the first randomization and ECC processing (processing for repairing a defective bit by the ECC circuit for defects) in the ECC mode (first operation mode) will be described.
Here, the randomization and encoding processing corresponding to FIG. 10C and the decoding and derandomization processing corresponding to FIG. 10D in the processing flow described above will be described in detail. In the following description, it is assumed that the page buffer unit in the page buffer 102c (second page buffer), the bit line connected to the page buffer unit, and the memory cell transistor are not defective, that is, the parity column replacement circuit described above. A description will be given assuming that there is no replacement processing by 105.

また、説明を簡単にするため、上述したページバッファ102a(第1のページバッファ)を構成するPB ユニットのうち4個のPB ユニット、及び、ページバッファ102c(第2のページバッファ)を構成するPB ユニットのうち1個のPB ユニットを例にとって、ECCモード(第1の動作モード)における動作を説明する。以下では、この4個のPB ユニットをPB ユニット0〜3とし、1個のPB ユニットをPB ユニット4とする。   For the sake of simplicity, four PB units among the PB units constituting the page buffer 102a (first page buffer) described above and the PB constituting the page buffer 102c (second page buffer) are described. The operation in the ECC mode (first operation mode) will be described by taking one PB unit of the units as an example. Hereinafter, these four PB units are referred to as PB units 0 to 3, and one PB unit is referred to as a PB unit 4.

ここでは、ECCモードにおける動作として、ランダマイザ、及びECC回路107が、PB ユニット0〜3に格納されているデータに基づいてパリティデータを生成し、生成したパリティデータをPB1 ユニット4に書き戻す処理(ランダマイズ、及びECCエンコード処理)について説明する。また、PB ユニット4に格納されたパリティデータに基づいてPB ユニット0〜3に格納されているデータを、誤り訂正し、かつ、復元する処理(ECCデコード、及びデランダマイズ処理)について説明する。
図11は、ECCモードにおける第1のランダマイズ及びECC処理について説明するための図である。また、図12は、第1のランダマイズ及びECC処理のフローチャートである。なお、以下では、ユーザが、通常モード(第1の動作モード)において、PB ユニット0〜3に、Data D0〜D3を書き込んだものとする。また、PB ユニット4には、これらのData D0〜D3の誤り訂正に使用されるパリティデータが格納されるが、このパリティデータをParity Pxとする。
Here, as an operation in the ECC mode, the randomizer and the ECC circuit 107 generate parity data based on the data stored in the PB units 0 to 3, and write back the generated parity data to the PB1 unit 4 ( Randomization and ECC encoding processing) will be described. In addition, processing (ECC decoding and derandomization processing) for correcting and restoring the data stored in the PB units 0 to 3 based on the parity data stored in the PB unit 4 will be described.
FIG. 11 is a diagram for describing the first randomization and ECC processing in the ECC mode. FIG. 12 is a flowchart of first randomization and ECC processing. In the following, it is assumed that the user has written Data D0 to D3 in the PB units 0 to 3 in the normal mode (first operation mode). The PB unit 4 stores parity data used for error correction of these Data D0 to D3. This parity data is assumed to be Parity Px.

図11は、第1のランダマイズ及びECC処理を、(1)〜(5)に示す処理により時系列に示し、各処理におけるData D0〜D3、及びParity Pxの論理データ(論理値)を示している。ここで、図11(a)には、Page Buffer(ページバッファ102)に格納されるデータの(1)〜(5)における変化が示されている。また、図11(b)には、Randomizer(ランダマイザ107b)における演算結果の(1)〜(5)における変化が示されている。また、図11(c)には、ECC Engine(ECC回路107a)への入力データ、及びECC処理後のデータの(1)〜(5)における変化が示されている。
また、図12(a)は、第1のランダマイズ及びECC処理におけるランダマイズ、及びエンコード処理のフローを、図12(b)は、デコード処理、及びデランダマイズ処理のフローを示している。
FIG. 11 shows the first randomization and ECC processing in time series by the processing shown in (1) to (5), and shows the logical data (logical values) of Data D0 to D3 and Parity Px in each processing. Yes. Here, FIG. 11A shows changes in data (1) to (5) of data stored in the page buffer (page buffer 102). FIG. 11B shows changes in the calculation results (1) to (5) in the randomizer (randomizer 107b). FIG. 11C shows changes in data (1) to (5) of data input to the ECC Engine (ECC circuit 107a) and data after the ECC processing.
FIG. 12A shows the flow of randomization and encoding processing in the first randomization and ECC processing, and FIG. 12B shows the flow of decoding processing and derandomization processing.

ここで、PB ユニット1は、不良のユニットであり、PB ユニット自身、或いはPB ユニットに接続されるビット線、またはメモリセルトランジスタのいずれかに不良のあるPB ユニットであるものとする。PB ユニット1は、図5に示す回路において、欠陥信号PB_DectがHレベル、欠陥信号nPB_DefectがLレベルであり、Data D1としてデータ0が格納されている。このため、PB ユニット1は、ECCモードのデータ読み出し動作では固定データであるデータ0を出力し、ECCモードのデータ書込み動作では、データを書き込むことはできない。以下では、このPB ユニットと置換されるページバッファ102b(第3のページバッファ)におけるPB ユニット 1の動作については、すなわち、上述したパリティカラム置換回路105の動作については、ここでの説明に直接関係しないため、省略する。   Here, the PB unit 1 is a defective unit, and is assumed to be a defective PB unit in either the PB unit itself, a bit line connected to the PB unit, or a memory cell transistor. In the circuit shown in FIG. 5, the PB unit 1 has the defect signal PB_Dect at the H level, the defect signal nPB_Defect at the L level, and data 0 is stored as Data D1. Therefore, the PB unit 1 outputs data 0 which is fixed data in the ECC mode data read operation, and cannot write data in the ECC mode data write operation. Hereinafter, the operation of the PB unit 1 in the page buffer 102b (third page buffer) to be replaced with this PB unit, that is, the operation of the parity column replacement circuit 105 described above is directly related to the description here. Because it does not, omit.

なお、PB ユニット1は、通常モード(第2の動作モード)において、ページバッファ102bにおけるPB ユニットに置換される。この置換先のPB ユニットのデータ(本来、ユーザから見てPB ユニット1に書き込むはずのデータ)はECCモード(第1の動作モード)の書き込み動作においてランダマイズ処理、及びエンコード処理され、PB ユニットに書き戻される。また、置換先のPB ユニットのデータは、ECCモードの読み出し動作において、デコード処理、及びデランダマイズ処理され、PB ユニットに書き戻される。この書き戻されたデータは、通常モードにおいて、カラム置換回路104が、PB ユニット1に換えて置換先のPB ユニットを選択することにより、Data Bus(第2のデータバス)を介してI/Oパッド106に読み出される。   The PB unit 1 is replaced with the PB unit in the page buffer 102b in the normal mode (second operation mode). This replacement destination PB unit data (data that should originally be written to the PB unit 1 from the user's point of view) is randomized and encoded in the ECC mode (first operation mode) write operation and written to the PB unit. Returned. The data of the replacement destination PB unit is decoded and derandomized in the ECC mode read operation, and written back to the PB unit. In the normal mode, the column replacement circuit 104 selects the replacement destination PB unit in place of the PB unit 1 in the normal mode, so that the I / O is returned to the written data via the Data Bus (second data bus). Read out to the pad 106.

また、ランダマイザ107bは、一般的には入力したDataをランダム(Random)に符号化する機能を有するが、ここでは説明を簡単にするため、例示として簡易的に奇数番目のビット(ここではData D1、及びData D3)の論理を反転させる機能を有するものとする。また、ECC回路107a(ECC Engine)は、誤り訂正機能を有するが、例示として簡易的に、エンコード(Encode)時には入力されたData D0〜D3に対してParity Pxを生成し、デコード(Decode)時にはParity Pxを基にData D0〜D3の誤り訂正を行うものとする。   The randomizer 107b generally has a function of encoding input data randomly (Random). However, for the sake of simplicity of explanation, the randomizer 107b is simply illustrated as an odd-numbered bit (here, Data D1). And the function of inverting the logic of Data D3). The ECC circuit 107a (ECC Engine) has an error correction function, but as an example, for simplicity, Parity Px is generated for the input Data D0 to D3 at the time of encoding (Encode), and at the time of decoding (Decode). It is assumed that error correction of Data D0 to D3 is performed based on Parity Px.

以下、図10(a)、図10(b)、図11、及び図12を参照しつつ、第1のランダマイズ及びECC処理について詳述する。
メモリセルトランジスタへのデータ書込み動作では、まず、ユーザがI/Oパッド106を介してNAND型フラッシュメモリ10に、所定のコマンド(ライトコマンド)を入力し、アドレス(ここでは、PB ユニット0〜3を選択するカラムアドレス)入力をし、引き続いて、書き込みデータを入力する(図10(a)に示すフローのステップST1)。これにより、図11(a)における(1)Data Inに示す様に、PB ユニット0〜3に格納されるData D0〜D3は、Data“0011”となる。
Hereinafter, the first randomization and ECC processing will be described in detail with reference to FIGS. 10 (a), 10 (b), 11, and 12. FIG.
In the data write operation to the memory cell transistor, the user first inputs a predetermined command (write command) to the NAND flash memory 10 via the I / O pad 106, and addresses (here, PB units 0 to 3). Next, write data is input (step ST1 of the flow shown in FIG. 10A). Thereby, as shown in (1) Data In in FIG. 11A, Data D0 to D3 stored in the PB units 0 to 3 become Data “0011”.

ページバッファ102のPB ユニット0〜PBユニット3は、Data D0〜D3(Data“0011”)を、ECC Bus_1、ECC Bus_2、及びECC Bus_3(第1のデータバス)を介して、ランダマイザ、及びECC回路107に入力(Data Load)する(図12(a)のフローに示すステップST51)。
まず、ランダマイザ107bは、データランダマイズ(Data Randomize)処理を行う(ステップST52a)。ここでは、ランダマイザ107bは、図11(b)における(2)Randomize&ECC Enocodeに示す様に、ランダマイズ処理により、Data“0011”をData“0110”へと変換する。
The PB unit 0 to PB unit 3 of the page buffer 102 are configured to transmit the data D0 to D3 (Data “0011”) to the randomizer and the ECC circuit via the ECC Bus_1, the ECC Bus_2, and the ECC Bus_3 (first data bus). The data is input to 107 (Data Load) (step ST51 shown in the flow of FIG. 12A).
First, the randomizer 107b performs a data randomization process (step ST52a). Here, as shown in (2) Randomize & ECC Encode in FIG. 11B, the randomizer 107b converts Data “0011” to Data “0110” by randomization processing.

ECC回路107aは、エンコード(Encode)処理を実行し、パリティデータを生成(Parity Generation)する(ステップST52b)。
ここでは、ECC回路107aは、ランダマイズ処理後の、すなわち変換後のData“0110”に基づいて、Data“0110”に対応するParity Px(Parity Data“P(0110)”とする)を生成する。
The ECC circuit 107a executes an encoding process, and generates parity data (Parity Generation) (step ST52b).
Here, the ECC circuit 107a generates Parity Px (referred to as Parity Data “P (0110)”) corresponding to Data “0110” based on Data “0110” after the randomization processing, that is, after conversion.

続いて、ランダマイザ、及びECC回路107は、PB ユニット0〜3に、ランダマイズ処理、及びECC処理後のデータを書き戻す(Data Store)処理を実行する(ステップST53)。
ここでは、ECC回路107aは、図11(c)における(3)Randomize&ECC Enocodeに示す様に、PB ユニット0〜PBユニット3にData“0110”を、PB ユニット4にParity Data“P(0110)”を書き戻す。しかしながら、PB ユニット1は、”0”に固定しているため、データ1を書き込むことはできない。そのため、図11(a)における(3)Randomize&ECC Enocodeに示す様に、PB ユニット0〜PBユニット3が格納するデータはData“0010”となる。しかしながら、PB ユニット4が格納するデータは、このData“0110”に基づいて生成されるので、Parity Data“P(0110)”となる。
Subsequently, the randomizer and the ECC circuit 107 execute a randomization process and a process for writing back data after the ECC process (Data Store) to the PB units 0 to 3 (step ST53).
Here, the ECC circuit 107a, as shown in (3) Randomize & ECC Encode in FIG. 11C, Data “0110” in the PB unit 0 to PB unit 3, and Parity Data “P (0110)” in the PB unit 4. Write back. However, since the PB unit 1 is fixed at “0”, data 1 cannot be written. Therefore, as shown in (3) Randomize & ECC Encode in FIG. 11A, the data stored in PB unit 0 to PB unit 3 is Data “0010”. However, since the data stored in the PB unit 4 is generated based on this Data “0110”, it becomes Parity Data “P (0110)”.

以降、PB ユニット0、2〜4において、図7に示すラッチ部にメモリセルに書き込むべきデータ(Data_i)がラッチされ、メモリセルトランジスタへのデータ書込み(Program to Memory Cell)処理が開始される(図10に示すフローのステップST6)。なお、PB ユニット1では、図5に示す回路のうち、オア回路66の出力がLレベルであり、メモリセルトランジスタにデータは書き込まれない。   Thereafter, in the PB units 0 and 2 to 4, data (Data_i) to be written in the memory cell is latched in the latch unit shown in FIG. 7, and data writing (Program to Memory Cell) processing to the memory cell transistor is started ( Step ST6 of the flow shown in FIG. In the PB unit 1, the output of the OR circuit 66 in the circuit shown in FIG. 5 is L level, and data is not written to the memory cell transistor.

メモリセルトランジスタからのデータ読み出し動作では、PB ユニット0〜PB ユニット4に格納されたデータが、ECC Bus_1、ECC Bus_2、及びECC Bus_3(第1のデータバス)を介して、ランダマイザ、及びECC回路107に入力(Data Load)される(ステップST61)。
ここでは、図11(c)における(4)Data Loadに示す様に、ECC回路107aには、PB ユニット0〜PB ユニット4に格納されたData“0010”、Parity Data“P(0110)”が、ランダマイザ107bを介さずに直接入力される。
In the data read operation from the memory cell transistor, the data stored in the PB unit 0 to the PB unit 4 is transferred to the randomizer and the ECC circuit 107 via the ECC Bus_1, ECC Bus_2, and ECC Bus_3 (first data bus). Is input (Data Load) (step ST61).
Here, as shown in (4) Data Load in FIG. 11C, the ECC circuit 107a has Data “0010” and Parity Data “P (0110)” stored in PB unit 0 to PB unit 4. , Input directly without going through the randomizer 107b.

ECC回路107aは、デコード(Decode)処理を実行し、Parity Data“P(0110)”に基づいて、PB ユニット0〜PB ユニット3に格納されたData“0010”の誤りを訂正(Error Correction)する(ステップST62a)。
ここでは、上記ステップST53においてPBユニット 1にデータ1を書きこむことができなかったため、PB ユニット4に格納されたデータであるParity Data“P(0110)”に基づいて、PB ユニット1のデータ0のみが誤り訂正されてデータ1となる。つまり、ECC回路107aは、図11(c)における(5)ECC Decode、De−Randomize&Data Storeに示す様に、PB ユニット0〜PB ユニット3の訂正後のデータをData“0110”とする。
The ECC circuit 107a executes a decoding process and corrects an error of Data “0010” stored in PB unit 0 to PB unit 3 based on the parity data “P (0110)” (Error Correction). (Step ST62a).
Here, since data 1 could not be written to PB unit 1 in step ST53, data 0 of PB unit 1 is based on the parity data “P (0110)” that is data stored in PB unit 4. Only the error is corrected to become data 1. That is, the ECC circuit 107a sets the data after correction of the PB unit 0 to the PB unit 3 to Data “0110” as shown in (5) ECC Decode, De-Randomize & Data Store in FIG.

ランダマイザ107bは、訂正後のData“0110”をランダマイズ処理(De−Randomize)する(ステップST62b)。ここでは、ランダマイザ107bは、図11(b)における(5)ECC Decode、De−Randomize&Data Storeに示す様に、ランダマイズ処理により、Data“0110”の奇数番目のビットの論理を反転させて、Data“0011”へと変換する。   The randomizer 107b performs a randomization process (De-Randomize) on the corrected data “0110” (step ST62b). Here, as shown in (5) ECC Decode, De-Randomize & Data Store in FIG. 11B, the randomizer 107 b inverts the logic of the odd-numbered bits of Data “0110” by randomization processing, and displays Data “0110”. 0011 ".

続いて、ランダマイザ、及びECC回路107は、PB ユニット0〜4にECC処理後のData“0011”を書き戻す(Data Store)処理を実行する(ステップST63)。
このようにして、ランダマイザ、及びECC回路107により、真のData“0011”(ユーザが、図11(a)における(1)Data Inに示す様に、PB ユニット0〜3に書き込んだはずのデータ)がページバッファ102へ格納される。
Subsequently, the randomizer and the ECC circuit 107 execute a process (Data Store) of writing back Data “0011” after the ECC process to the PB units 0 to 4 (step ST63).
In this manner, the true data “0011” (the data that the user should have written in the PB units 0 to 3 as shown in (1) Data In in FIG. 11A) is performed by the randomizer and the ECC circuit 107. ) Is stored in the page buffer 102.

以降、第2の動作モードにおいて、選択信号Sel_Aを与えることにより、ユーザがPB ユニット0〜3を介して各メモリセルトランジスタへ書き込んだ書き込みデータが、誤り訂正されて、I/Oパッド106から出力される(図10に示すフローのステップST17)。なお、この際、PB ユニット1(不良を有するカラム)の置換(Defect Column Repair)が実行される(ステップST16)。これにより、PB ユニット1に書き込むべきであったが、実際はページバッファ102bのPBユニットに書き込まれたデータ(このデータも上述した第1のランダマイズ及びECC処理により誤り訂正されてPB ユニットに格納されている)が、I/Oパッド106から出力される。   Thereafter, in the second operation mode, when the selection signal Sel_A is given, the write data written by the user to each memory cell transistor via the PB units 0 to 3 is error-corrected and output from the I / O pad 106 (Step ST17 of the flow shown in FIG. 10). At this time, replacement (Defective Column Repair) of PB unit 1 (column having a defect) is executed (step ST16). Thus, although the data should have been written to the PB unit 1, the data actually written to the PB unit of the page buffer 102b (this data is also error-corrected by the above-described first randomization and ECC processing and stored in the PB unit). Are output from the I / O pad 106.

このように、NAND型フラッシュメモリ10(半導体記憶装置)は、第1のランダマイズ及びECC処理を実行する。第1のランダマイズ及びECC処理では、ECCモード(第1の動作モード)のデータ書き込み動作において、ランダマイザ107b(ランダマイザ)は、ページバッファ102a(第1のページバッファ)の出力データをランダマイズしてECC回路107a(ECC回路)に入力する。ECC回路107aは、ランダマイザ107bから入力されるデータ(上記例ではData“0011”)に基づいて、パリティデータ(Parity Data“P(0110)”)を生成してページバッファ102c(第2のページバッファ)にパリティデータを書き込む。一方、第1のランダマイズ及びECC処理では、第1の動作モードのデータ読み出し動作において、ECC回路107aは、ページバッファ102cのパリティデータに基づいて、ページバッファ102aのデータ(上記例ではData“0010”)を誤り訂正する。ランダマイザ107bは訂正後のデータ(上記例ではData“0110”)をデランダマイズしてページバッファ102aに書き戻す。   As described above, the NAND flash memory 10 (semiconductor memory device) performs the first randomization and ECC processing. In the first randomization and ECC processing, in the data write operation in the ECC mode (first operation mode), the randomizer 107b (randomizer) randomizes the output data of the page buffer 102a (first page buffer) to generate an ECC circuit. 107a (ECC circuit). The ECC circuit 107a generates parity data (Parity Data “P (0110)”) based on data input from the randomizer 107b (Data “0011” in the above example) and generates a page buffer 102c (second page buffer). ) Write the parity data. On the other hand, in the first randomization and ECC processing, in the data read operation in the first operation mode, the ECC circuit 107a uses the data in the page buffer 102a (Data “0010” in the above example) based on the parity data in the page buffer 102c. ) Is corrected. The randomizer 107b derandomizes the corrected data (Data “0110” in the above example) and writes it back to the page buffer 102a.

これにより、ページバッファ102a(第1のページバッファ)のうちメモリセルまたはビット線に不良が有るPB ユニット(ページバッファ)については、ランダマイザ、及びECC回路107(ECC回路)により誤りが訂正される。そのため、本発明のNAND型フラッシュメモリ10(半導体記憶装置)によれば、ECCのデコード処理とデランダマイズ処理とを高速に実行することができるとともに、救済機能を省略することができる。   As a result, the error is corrected by the randomizer and the ECC circuit 107 (ECC circuit) for the PB unit (page buffer) having a defective memory cell or bit line in the page buffer 102a (first page buffer). Therefore, according to the NAND flash memory 10 (semiconductor memory device) of the present invention, ECC decoding processing and derandomization processing can be executed at a high speed, and the relief function can be omitted.

[第2のランダマイズ及びECC処理]
ところで、上述した第1のランダマイズ及びECC処理では、不良のあるPB ユニット1に対して、ECCの訂正処理能力を使用している。これに対して、不良のあるPB ユニットに対してECC回路107aによる誤り訂正を不要とする、第2のランダマイズ及びECC処理について、以下に詳述する。
なお、ここでは、第1のランダマイズ及びECC処理と同様に、図10(c)に対応するランダマイズ、及びエンコード処理、及び図10(d)に対応するデコード、及びデランダマイズ処理について詳述する。また、第1のランダマイズ及びECC処理と同様に、ページバッファ102c(第2のページバッファ)におけるページバッファユニット、ページバッファユニットに接続されるビット線、及びメモリセルトランジスタには不良がないものとして、すなわち、上述したパリティカラム置換回路105による置換処理はないものとして説明をする。
[Second randomization and ECC processing]
By the way, in the first randomization and ECC processing described above, the ECC correction processing capability is used for the defective PB unit 1. On the other hand, the second randomization and ECC processing that makes error correction by the ECC circuit 107a unnecessary for a defective PB unit will be described in detail below.
Here, as in the first randomization and ECC processing, the randomization and encoding processing corresponding to FIG. 10C and the decoding and derandomization processing corresponding to FIG. 10D will be described in detail. Similarly to the first randomization and ECC processing, the page buffer unit in the page buffer 102c (second page buffer), the bit line connected to the page buffer unit, and the memory cell transistor are assumed to have no defects. That is, the description will be made assuming that the above-described replacement process by the parity column replacement circuit 105 is not performed.

また、第1のランダマイズ及びECC処理と同様に、ページバッファ102aを構成するPB ユニットのうち4個のPB ユニット0〜PB ユニット3、及び、ページバッファ102c(第2のページバッファ)を構成するPB ユニットのうち1個のPB ユニット4を例にとって、ECCモード(第1の動作モード)における動作を説明する。
図13は、ECCモードにおける第2のランダマイズ及びECC処理について説明するための図である。また、図14は、第2のランダマイズ及びECC処理のフローチャートである。なお、以下では、第1のランダマイズ及びECC処理と同様に、ユーザが、通常モード(第1の動作モード)において、PB ユニット0〜3に、Data D0〜D3を書き込んだものとする。また、PB ユニット4には、これらのData D0〜D3の誤り訂正に使用されるパリティデータが格納されるが、このパリティデータをParity Pxとする。
Similarly to the first randomization and ECC processing, four PB units 0 to 3 of the PB units constituting the page buffer 102a and the PB constituting the page buffer 102c (second page buffer). The operation in the ECC mode (first operation mode) will be described by taking one PB unit 4 of the units as an example.
FIG. 13 is a diagram for describing the second randomization and ECC processing in the ECC mode. FIG. 14 is a flowchart of the second randomization and ECC process. In the following description, it is assumed that the user writes Data D0 to D3 in the PB units 0 to 3 in the normal mode (first operation mode) as in the first randomization and ECC processing. The PB unit 4 stores parity data used for error correction of these Data D0 to D3. This parity data is assumed to be Parity Px.

図13は、第2のランダマイズ及びECC処理を、(1)〜(7)に示す処理により時系列に示し、各処理におけるData D0〜D3、及びParity Pxの論理データ(論理値)を示している。ここで、図13(a)には、Page Buffer(ページバッファ102)に格納されるデータの(1)〜(7)における変化が示されている。図13(b)には、Randomizer(ランダマイザ107b)における演算結果の(1)〜(7)における変化が示されている。また、図13(c)には、ECC Engine(ECC回路107a)への入力データ、及びECC処理後のデータの(1)〜(7)における変化が示されている。
また、図14は、第2のランダマイズ及びECC処理におけるランダマイズ、及びエンコード処理のフローを示している。なお、デコード処理、及びデランダマイズ処理のフローについては、第1のランダマイズ及びECC処理と同じであるので、図12(b)を用いて説明する。
FIG. 13 shows the second randomization and ECC processing in time series by the processing shown in (1) to (7), and shows the logical data (logical values) of Data D0 to D3 and Parity Px in each processing. Yes. Here, FIG. 13A shows changes in data (1) to (7) of data stored in the page buffer (page buffer 102). FIG. 13B shows changes in the calculation results (1) to (7) in the randomizer (randomizer 107b). FIG. 13C shows changes in data (1) to (7) of data input to the ECC Engine (ECC circuit 107a) and data after the ECC processing.
FIG. 14 shows a flow of randomization and encoding processing in the second randomization and ECC processing. The flow of the decoding process and the derandomization process is the same as the first randomization and ECC process, and will be described with reference to FIG.

ここで、PB ユニット1は、第1のランダマイズ及びECC処理と同様に、不良のユニットであり、PB ユニット自身、或いはPB ユニットに接続されるビット線、またはメモリセルトランジスタのいずれかに不良のあるPB ユニットであるものとする。このため、PB ユニット1は、ECCモードのデータ読み出し動作では固定データであるデータ0を出力し、ECCモードのデータ書込み動作では、データを書き込むことはできない。なお、以下では、このPB ユニットと置換されるページバッファ102b(第3のページバッファ)におけるページバッファユニットの動作については、すなわち、上述したパリティカラム置換回路105の動作については、第1のランダマイズ及びECC処理と同様に、ここでの説明に直接関係しないため、省略する。
また、ランダマイザ107b、及び、ECC回路107aの機能は、第1のランダマイズ及びECC処理と同様の機能を有するものとする。
Here, the PB unit 1 is a defective unit as in the first randomization and ECC processing, and either the PB unit itself, the bit line connected to the PB unit, or the memory cell transistor is defective. It shall be a PB unit. Therefore, the PB unit 1 outputs data 0 which is fixed data in the ECC mode data read operation, and cannot write data in the ECC mode data write operation. In the following, the operation of the page buffer unit in the page buffer 102b (third page buffer) replaced with the PB unit, that is, the operation of the parity column replacement circuit 105 described above, Similar to the ECC processing, it is not directly related to the description here, and therefore will be omitted.
The functions of the randomizer 107b and the ECC circuit 107a are assumed to have the same functions as those of the first randomization and ECC processing.

以下、図10(a)、図10(b)、図12(b)、図13、及び図14を参照しつつ、第2のランダマイズ及びECC処理について詳述する。
メモリセルトランジスタへのデータ書込み動作では、まず、ユーザがI/Oパッド106を介してNAND型フラッシュメモリ10に、所定のコマンド(ライトコマンド)を入力し、アドレス(ここでは、PB ユニット0〜3を選択するカラムアドレス)入力をし、引き続いて、書き込みデータを入力する(図10(a)に示すフローのステップST1)。図13(a)における(1)Data Inに示す様に、PB ユニット0〜PBユニット3に格納されるData D0〜D3は、Data“0011”となる。
Hereinafter, the second randomization and ECC processing will be described in detail with reference to FIGS. 10 (a), 10 (b), 12 (b), 13, and 14. FIG.
In the data write operation to the memory cell transistor, the user first inputs a predetermined command (write command) to the NAND flash memory 10 via the I / O pad 106, and addresses (here, PB units 0 to 3). Next, write data is input (step ST1 of the flow shown in FIG. 10A). As shown in (1) Data In in FIG. 13A, Data D0 to D3 stored in PB unit 0 to PB unit 3 is Data “0011”.

ページバッファ102のPB ユニット0〜PBユニット3は、Data D0〜D3(Data“0011”)を、ECC Bus_1、ECC Bus_2、及びECC Bus_3(第1のデータバス)を介して、ランダマイザ、及びECC回路107に入力(Data Load)する(ステップST71)。
まず、ランダマイザ107bは、データランダマイズ(Data Randomize)処理を行う(ステップST72a)。ここでは、ランダマイザ107bは、図13(b)における(2)Randomizeに示す様に、ランダマイズ処理により、Data“0011”をData“0110”へと変換する。
The PB unit 0 to PB unit 3 of the page buffer 102 are configured to convert Data D0 to D3 (Data “0011”) into a randomizer and an ECC circuit via ECC Bus_1, ECC Bus_2, and ECC Bus_3 (first data bus). Input to 107 (Data Load) (step ST71).
First, the randomizer 107b performs a data randomization process (step ST72a). Here, as shown in (2) Randomize in FIG. 13B, the randomizer 107b converts Data “0011” to Data “0110” by randomization processing.

続いて、ランダマイザ、及びECC回路107は、第1のランダマイズ及びECC処理と相違して、PB ユニット0〜3に、ランダマイズ処理後のデータを書き戻す(Data Store)処理を実行する(ステップST81)。
ここでは、ランダマイザ107bは、図13(b)における(3)Randomize&Data Storeに示す様に、PB ユニット0〜PBユニット3にData“0110”を書き戻す。しかしながら、PB ユニット1は、”0”に固定しているため、データ1を書き込むことはできない。そのため、図13(a)における(3)Randomize&ECC Enocodeに示す様に、PB ユニット0〜PBユニット3が格納するデータはData“0010”となる。
Subsequently, unlike the first randomization and ECC processing, the randomizer and ECC circuit 107 executes processing for writing back the data after randomization processing (Data Store) to the PB units 0 to 3 (step ST81). .
Here, the randomizer 107b writes Data “0110” back to the PB unit 0 to the PB unit 3 as shown in (3) Randomize & Data Store in FIG. However, since the PB unit 1 is fixed at “0”, data 1 cannot be written. Therefore, as shown in (3) Randomize & ECC Encode in FIG. 13A, the data stored in PB unit 0 to PB unit 3 is Data “0010”.

続いて、ページバッファ102のPB ユニット0〜PBユニット3は、Data D0〜D3(Data“0010”)を、ECC Bus_1、ECC Bus_2、及びECC Bus_3(第1のデータバス)を介して、ランダマイザ、及びECC回路107に入力(Data Load)する(ステップST82)。
ECC回路107aは、エンコード(Encode)処理を実行し、パリティデータを生成(Parity Generation)する(ステップST72b)。
ここでは、ECC回路107aは、第1のランダマイズ及びECC処理と相違して、PB ユニット0〜3に格納されたData“0010”に基づいて、Data“0010”に対応するParity Px(Parity Data“P(0010)”とする)を生成する。
Subsequently, the PB unit 0 to PB unit 3 of the page buffer 102 transfer Data D0 to D3 (Data “0010”) to the randomizer, ECC Bus_1, ECC Bus_2, and ECC Bus_3 (first data bus). The data is input to the ECC circuit 107 (Data Load) (step ST82).
The ECC circuit 107a executes an encoding process, and generates parity data (Parity Generation) (step ST72b).
Here, unlike the first randomization and ECC processing, the ECC circuit 107a is based on the Data “0010” stored in the PB units 0 to 3, and the Parity Px (Parity Data “Parity Data” corresponding to the Data “0010” is used. P (0010) ") is generated.

続いて、ランダマイザ、及びECC回路107は、PB ユニット0〜3に、ECC処理後のデータを書き戻す(Data Store)処理を実行する(ステップST73)。
ここでは、ECC回路107aは、図13(a)における(5)Data Storeに示す様に、PB ユニット0〜PBユニット3にData“0010”を、PB ユニット4にParity Data“P(0010)”を書き戻す。ここで、PB ユニット1は、”0”に固定しているため、第1のランダマイズ及びECC処理と相違して、ユーザが図13(a)における(1)Data Inにおいて書いたデータと同じデータ0が書き込まれたことと同等の状態となる。つまり、図13(a)における(5)Data Storeに示す様に、PB ユニット0〜PBユニット3が格納するデータはData“0010”となる。また、PB ユニット4が格納するデータは、Data“0010”に基づいて生成されたParity Data“P(0010)”となる。なお、ページバッファに書き戻す際、PB ユニット4にParity Data“P(0010)”を書き戻し、PB ユニット0〜PBユニット3にはデータを書き戻さなくてもよい。
Subsequently, the randomizer and the ECC circuit 107 execute a data store process for writing back the data after the ECC process to the PB units 0 to 3 (step ST73).
Here, the ECC circuit 107a, as shown in (5) Data Store in FIG. 13A, Data “0010” is stored in the PB unit 0 to PB unit 3, and Parity Data “P (0010)” is stored in the PB unit 4. Write back. Here, since the PB unit 1 is fixed to “0”, unlike the first randomization and ECC processing, the same data as the data written by the user in (1) Data In in FIG. The state is equivalent to 0 being written. That is, as shown in (5) Data Store in FIG. 13A, the data stored in the PB unit 0 to the PB unit 3 is Data “0010”. Further, the data stored in the PB unit 4 is Parity Data “P (0010)” generated based on Data “0010”. When data is written back to the page buffer, the parity data “P (0010)” may be written back to the PB unit 4 and the data may not be written back to the PB units 0 to 3.

以降、第1のランダマイズ及びECC処理と同様に、PB ユニット0、2〜4において、図7に示すラッチ部にメモリセルに書き込むべきデータ(Data_i)がラッチされ、メモリセルトランジスタへのデータ書込み(Program to Memory Cell)処理が開始される(図10に示すフローのステップST6)。なお、PB ユニット1では、図5に示す回路のうち、オア回路66の出力がLレベルであり、メモリセルトランジスタにデータは書き込まれない。   Thereafter, similarly to the first randomization and ECC processing, in the PB units 0 and 2 to 4, data (Data_i) to be written in the memory cell is latched in the latch unit shown in FIG. 7, and data writing to the memory cell transistor ( A Program to Memory Cell) process is started (step ST6 of the flow shown in FIG. 10). In the PB unit 1, the output of the OR circuit 66 in the circuit shown in FIG. 5 is L level, and data is not written to the memory cell transistor.

メモリセルトランジスタからのデータ読み出し動作では、PB ユニット0〜PB ユニット4に格納されたデータが、ECC Bus_1、ECC Bus_2、及びECC Bus_3(第1のデータバス)を介して、ランダマイザ、及びECC回路107に入力(Data Load)される(図12(b)に示すフローのステップST61)。
ここでは、図13(c)における(6)Data Loadに示す様に、ECC回路107aには、PB ユニット0〜PB ユニット4に格納されたData“0010”、Parity Data“P(0010)”が、ランダマイザ107bを介さずに直接入力される。
In the data read operation from the memory cell transistor, the data stored in the PB unit 0 to the PB unit 4 is transferred to the randomizer and the ECC circuit 107 via the ECC Bus_1, ECC Bus_2, and ECC Bus_3 (first data bus). (Data Load) (step ST61 of the flow shown in FIG. 12B).
Here, as shown in (6) Data Load in FIG. 13C, the ECC circuit 107 a has Data “0010” and Parity Data “P (0010)” stored in the PB unit 0 to the PB unit 4. , Input directly without going through the randomizer 107b.

ECC回路107aは、デコード(Decode)処理を実行し、Parity Data“P(0010)”に基づいて、PB ユニット0〜PB ユニット3に格納されたData“0010”の誤りを訂正(Error Correction)する(ステップST62a)。
ここでは、上記ステップST73においてPBユニット 1において、データ0が書き込まれたことと同等の状態となるので、PB ユニット1のデータ0は誤り訂正されない。ECC回路107aは、図13(c)における(7)ECC Decode、De−Randomize&Data Storeに示す様に、PB ユニット0〜PB ユニット3のデータに誤りがないので、出力データをData“0010”とする。
The ECC circuit 107a executes decoding (Decode) processing, and corrects (Error Correction) the error of Data “0010” stored in PB unit 0 to PB unit 3 based on Parity Data “P (0010)”. (Step ST62a).
Here, since the PB unit 1 is in the same state as the data 0 is written in the step ST73, the data 0 of the PB unit 1 is not error-corrected. As shown in (7) ECC Decode, De-Randomize & Data Store in FIG. 13C, the ECC circuit 107a sets the output data to Data “0010” because there is no error in the data of PB unit 0 to PB unit 3. .

ランダマイザ107bは、ECC回路107aの出力データであるData“0010”をランダマイズ処理(De−Randomize)する(ステップST62b)。ここでは、ランダマイザ107bは、図13(b)における(7)ECC Decode、De−Randomize&Data Storeに示す様に、ランダマイズ処理により、Data“0010”の奇数番目のビットの論理を反転させて、Data“0111”へと変換する。   The randomizer 107b performs a randomization process (De-Randomize) on Data “0010”, which is output data of the ECC circuit 107a (step ST62b). Here, as shown in (7) ECC Decode, De-Randomize & Data Store in FIG. 13B, the randomizer 107 b inverts the logic of the odd-numbered bits of the data “0010” by randomization processing, and displays the data “Data”. To 0111 ".

続いて、ランダマイザ、及びECC回路107は、PB ユニット0〜4にECC処理後のData“0111”を書き戻す(Data Store)処理を実行する(ステップST63)。しかしながら、PB ユニット1は、”0”に固定しているため、データ1を書き込むことはできない。そのため、図13(a)における(7)ECC Decode、De−Randomize&Data Storeに示す様に、PB ユニット0〜PBユニット3が格納するデータはData“0010”となる。
このようにして、ランダマイザ、及びECC回路107により、真のData“0011”(ユーザが、図13(a)における(1)Data Inに示す様に、PB ユニット0〜3に書き込んだはずのデータ)がページバッファ102へ格納される。
Subsequently, the randomizer and the ECC circuit 107 execute a process of rewriting Data “0111” after the ECC process (Data Store) in the PB units 0 to 4 (step ST63). However, since the PB unit 1 is fixed at “0”, data 1 cannot be written. Therefore, as shown in (7) ECC Decode, De-Randomize & Data Store in FIG. 13A, the data stored in PB unit 0 to PB unit 3 is Data “0010”.
In this manner, the true data “0011” (the data that the user should have written to the PB units 0 to 3 as shown in (1) Data In in FIG. 13A) by the randomizer and the ECC circuit 107. ) Is stored in the page buffer 102.

以降、第2の動作モードにおいて、選択信号Sel_Aを与えることにより、ユーザがPB ユニット0〜3を介して各メモリセルトランジスタへ書き込んだ書き込みデータが、誤り訂正されて、I/Oパッド106から出力される(図10に示すフローのステップST17)。なお、この際、PB ユニット1(不良を有するカラム)の置換(Defect Column Repair)が実行される(ステップST16)。これにより、PB ユニット1に書き込むべきであったが、実際はページバッファ102bのPBユニットに書き込まれたデータ(このデータも上述した第2のランダマイズ及びECC処理により誤り訂正されている)が、I/Oパッド106から出力される。   Thereafter, in the second operation mode, when the selection signal Sel_A is given, the write data written by the user to each memory cell transistor via the PB units 0 to 3 is error-corrected and output from the I / O pad 106 (Step ST17 of the flow shown in FIG. 10). At this time, replacement (Defective Column Repair) of PB unit 1 (column having a defect) is executed (step ST16). As a result, data that should have been written to the PB unit 1 is actually written into the PB unit of the page buffer 102b (this data is also error-corrected by the above-described second randomization and ECC processing). Output from the O pad 106.

このように、NAND型フラッシュメモリ10(半導体記憶装置)は、第1のランダマイズ及びECC処理に替えて、第2のランダマイズ及びECC処理を実行する。第2のランダマイズ及びECC処理では、ECCモード(第1の動作モード)のデータ書き込み動作において、ランダマイザ107b(ランダマイザ)は、ページバッファ102a(第1のページバッファ)の出力データをランダマイズしてページバッファ102aに書き戻す。ECC回路107a(ECC回路)は、ページバッファ102aに書き戻されたデータに基づいてページバッファ102c(第2のページバッファ)にパリティデータを書き込む。一方、第2のランダマイズ及びECC処理では、第1の動作モードのデータ読み出し動作において、ECC回路107aは、ページバッファ102cのパリティデータに基づいて、ページバッファ102aのデータを誤り訂正する。ランダマイザ107bは訂正後のデータをデランダマイズしてページバッファ102aに書き戻す。   In this manner, the NAND flash memory 10 (semiconductor memory device) executes the second randomization and ECC processing instead of the first randomization and ECC processing. In the second randomization and ECC processing, in the data write operation in the ECC mode (first operation mode), the randomizer 107b (randomizer) randomizes the output data of the page buffer 102a (first page buffer) to generate a page buffer. Write back to 102a. The ECC circuit 107a (ECC circuit) writes parity data to the page buffer 102c (second page buffer) based on the data written back to the page buffer 102a. On the other hand, in the second randomization and ECC processing, in the data read operation in the first operation mode, the ECC circuit 107a performs error correction on the data in the page buffer 102a based on the parity data in the page buffer 102c. The randomizer 107b derandomizes the corrected data and writes it back to the page buffer 102a.

これにより、ページバッファ102a(第1のページバッファ)のうちメモリセルまたはビット線に不良が有るPB ユニット(ページバッファ)については、誤りが発生しないように処理される。そのため、本発明のNAND型フラッシュメモリ10(半導体記憶装置)によれば、ECC処理の訂正処理能力を下げずに、ECCのデコード処理とデランダマイズ処理とを高速に実行することができる。   As a result, the PB unit (page buffer) having a defect in the memory cell or the bit line in the page buffer 102a (first page buffer) is processed so as not to cause an error. Therefore, according to the NAND flash memory 10 (semiconductor memory device) of the present invention, ECC decoding processing and derandomization processing can be performed at high speed without reducing the correction processing capability of the ECC processing.

[第3のランダマイズ及びECC処理]
なお、上述した第2のランダマイズ及びECC処理に替えて、第3のランダマイズ及びECC処理を実行することにより、上述した第2のランダマイズ及びECC処理の効果に加えて、更に、エンコード処理においてページバッファへのデータ書き戻し処理(Data Store)を1回にでき、エンコード処理の高速化を図ることができる効果を奏する。
以下、第3のランダマイズ及びECC処理について、図15、及び図16を用いて説明する。図15は、ランダマイザ107b_1の回路構成を示す図であり、図16は、第3のランダマイズ及びECC処理のフローチャートである。
ここでは、第3のランダマイズ及びECC処理として、前述のページバッファに格納されている不良情報をランダマイザ107bに転送し、ランダマイザ107b側では転送された不良ビット情報をもとに、不良ビットに対してランダマイズ処理をせず、固定データとする機構について説明する。
[Third randomization and ECC processing]
In addition to the effects of the second randomization and ECC processing described above, by executing the third randomization and ECC processing instead of the second randomization and ECC processing described above, a page buffer is further used in the encoding processing. Data write-back processing (Data Store) can be performed once, and the speed of encoding processing can be increased.
Hereinafter, the third randomization and ECC processing will be described with reference to FIGS. 15 and 16. FIG. 15 is a diagram illustrating a circuit configuration of the randomizer 107b_1, and FIG. 16 is a flowchart of third randomization and ECC processing.
Here, as the third randomization and ECC processing, the failure information stored in the page buffer is transferred to the randomizer 107b, and the randomizer 107b side performs the failure bit processing on the failure bit. A mechanism for generating fixed data without performing randomization will be described.

図15に示すランダマイザ107bの1ビット分の回路(以下、ランダマイザ107b_1とする)は、排他的論理和回路151、DFF(D型フリップフロップ)152、及びアンド回路153を含んで構成される。
排他的論理和回路151において、第1入力端子が、不図示のランダムシード発生回路に接続され、ランダムシードデータRSの1ビット分のデータが入力される。また、第2入力端子が、ECC Busを介してPB ユニットに接続され、読み出しデータData_Out_Bが入力される。また、排他的論理和回路151は、出力端子がアンド回路153の第1入力端子に接続され、出力信号(ランダムシードデータRSの1ビット分のデータと読み出しデータData_Out_Bとの排他的論理和)をアンド回路153に対して出力する。
A circuit for one bit of the randomizer 107b shown in FIG. 15 (hereinafter, referred to as a randomizer 107b_1) includes an exclusive OR circuit 151, a DFF (D-type flip-flop) 152, and an AND circuit 153.
In the exclusive OR circuit 151, the first input terminal is connected to a random seed generation circuit (not shown), and 1-bit data of the random seed data RS is input. Further, the second input terminal is connected to the PB unit via the ECC Bus, and the read data Data_Out_B is input. The exclusive OR circuit 151 has an output terminal connected to the first input terminal of the AND circuit 153, and outputs an output signal (exclusive OR of 1-bit data of the random seed data RS and the read data Data_Out_B). Output to the AND circuit 153.

DFF152において、データ入力端子Dは、ECC Busを介してPB ユニットに接続され、読み出しデータData_Out_Bが入力される。また、クロック端子CKは、例えばECC回路107aが内蔵するクロック信号発生回路に接続され、クロック信号Flag_Latch_Clockが入力される。クロック信号Flag_Latch_Clockは、ランダマイズ処理期間において、選択信号Sel_Bが切り替わる毎に発生する信号である。つまり、DFF152は、クロック端子CKにクロック信号Flag_Latch_Clockのトグル(Toggle)入力されるたびに、PB ユニットが出力する読み出しデータData_Out_BがD端子に取り込まれる。
また、DFF152において、データ出力端子Qは、アンド回路153の第1入力端子に接続される。
In the DFF 152, the data input terminal D is connected to the PB unit via the ECC Bus, and the read data Data_Out_B is input. The clock terminal CK is connected to, for example, a clock signal generation circuit built in the ECC circuit 107a, and receives a clock signal Flag_Latch_Clock. The clock signal Flag_Latch_Clock is a signal that is generated every time the selection signal Sel_B is switched in the randomization processing period. That is, every time the clock signal Flag_Latch_Clock is toggled to the clock terminal CK, the DFF 152 takes in the read data Data_Out_B output from the PB unit to the D terminal.
In the DFF 152, the data output terminal Q is connected to the first input terminal of the AND circuit 153.

また、アンド回路153は、第1入力端子が排他的論理和回路151の出力端子に接続され、第2入力端子がDFF152のデータ出力端子Qに接続され、出力端子は、ランダマイザ、及びECC回路107のパリティ生成回路41とPBユニットに接続される。
ここで、図5または図6に示すPB制御回路60を参照して、ECCのエンコード処理時に、選択信号DIO<0>〜<7>をすべてLレベルとし、ビット内部回路50_0〜50_7を非選択状態とすれば、読み出し信号RDの配線から見てビット側(ビット線、及びメモリセルトランジスタ側)はハイインピーダンス状態となる。そこで、選択信号Sel_BをHレベルとしてPB ユニットのPB制御回路60を選択すれば、不良ビット情報が(トランジスタ90bを通して)、ECC Busに読み出しデータData_Out_Bとして現れる。つまり、不良ビット情報をランダマイザ107b_1のDFF152(不良ビット情報格納部)に転送することができる。
In the AND circuit 153, the first input terminal is connected to the output terminal of the exclusive OR circuit 151, the second input terminal is connected to the data output terminal Q of the DFF 152, the output terminals are the randomizer, and the ECC circuit 107. To the parity generation circuit 41 and the PB unit.
Here, referring to PB control circuit 60 shown in FIG. 5 or FIG. 6, during ECC encoding processing, all of selection signals DIO <0> to <7> are set to L level, and bit internal circuits 50_0 to 50_7 are not selected. In this state, the bit side (bit line and memory cell transistor side) is in a high impedance state when viewed from the wiring of the read signal RD. Therefore, if the selection signal Sel_B is set to the H level and the PB control circuit 60 of the PB unit is selected, the defective bit information (through the transistor 90b) appears in the ECC Bus as read data Data_Out_B. That is, the defective bit information can be transferred to the DFF 152 (defective bit information storage unit) of the randomizer 107b_1.

詳細に説明すると、PB ユニットが不良であれば、欠陥信号PB_DefectがHレベルであるので、トランジスタ61cがオンし、読み出しデータData_Out_BはLレベルとなる。そこで、ランダマイザ107b_1において、不良ビット情報が読み出しデータData_Out_BとしてPB ユニットから出力されたら、クロック信号Flag_Latch_Clockをトグル入力することにより、不良情報をDFF152にラッチすることができる。PB ユニットが不良であればLレベルがDFF152にラッチされ、データ出力端子QもLレベルとなる。これにより、アンド回路153の出力信号である“Randomized Data”、ランダマイザ107b_1の出力は、Lレベルに固定される。一方、PB ユニットが不良ではない場合、読み出しデータData_Out_Bの配線はプルアップされているため、HレベルがDFF152にラッチされる。これにより、データ出力端子QはHレベルとなり、ランダムシードRSと読み出しデータData_Out_Bの排他的論理和が、アンド回路153から“Randomized Data”として出力され、ランダマイザ107b_1がランダマイザとして機能する。   More specifically, if the PB unit is defective, the defect signal PB_Defect is at the H level, so that the transistor 61c is turned on and the read data Data_Out_B is at the L level. Therefore, if the randomizer 107b_1 outputs the defective bit information as read data Data_Out_B from the PB unit, the defective information can be latched in the DFF 152 by toggling the clock signal Flag_Latch_Clock. If the PB unit is defective, the L level is latched by the DFF 152, and the data output terminal Q is also at the L level. Thereby, the output signal of the AND circuit 153, “Randomized Data”, and the output of the randomizer 107b_1 are fixed to the L level. On the other hand, when the PB unit is not defective, the wiring of the read data Data_Out_B is pulled up, so that the H level is latched by the DFF 152. As a result, the data output terminal Q becomes H level, the exclusive OR of the random seed RS and the read data Data_Out_B is output from the AND circuit 153 as “Randomized Data”, and the randomizer 107b_1 functions as a randomizer.

続いて、図16を用いて、第3のランダマイズ及びECC処理について説明する。なお、ここでは、第2のランダマイズ及びECC処理との比較を行うため、図13を用いて説明した第2のランダマイズ及びECC処理と同様に、PB ユニット0〜PB ユニット3のうちPB ユニット1が不良ユニットであるものとして説明する。
まず、PB ユニット0〜PBユニット3から不良情報(Defect Bit Information)をランダマイザ107bに転送する(ステップST91a)。
具体的には、ページバッファ102のPB ユニット0〜PBユニット3に対して、選択信号DIOを全てLレベルにし、PB ユニット0〜PBユニット3各々において、読み出し信号RDの配線から見てビット側をハイインピーダンス状態とする。次に、選択信号Sel_BをHレベルにして、読み出し信号RDの配線とECC Busとを接続する。PB ユニット0〜PBユニット3のうち、PB ユニット1のPB制御回路60においては、トランジスタ61c、及び61bがオンして、読み出しデータData_Out_BがLレベルとなる。一方、PB ユニット0、2、3については、読み出しデータData_Out_Bの配線に接続されたプルアップ回路(Pull Up)により、読み出しデータData_Out_Bは、Hレベルに維持される。つまり、ランダマイザ107bのDFF152(ここでは、PB ユニット0〜PBユニット3に対応させて4個ある)には、ECC Bus_1、ECC Bus_2、及びECC Bus_3(第1のデータバス)を介して、Data D0〜D3としてData“1011”が格納される。
Next, the third randomization and ECC process will be described with reference to FIG. Here, in order to make a comparison with the second randomization and ECC processing, the PB unit 1 among the PB units 0 to 3 is the same as the second randomization and ECC processing described with reference to FIG. A description will be given assuming that the unit is a defective unit.
First, defect information (Detect Bit Information) is transferred from the PB unit 0 to the PB unit 3 to the randomizer 107b (step ST91a).
Specifically, all the selection signals DIO are set to L level with respect to the PB units 0 to 3 of the page buffer 102, and the bit side of each of the PB units 0 to 3 is viewed from the wiring of the read signal RD. Set to high impedance state. Next, the selection signal Sel_B is set to the H level to connect the wiring of the read signal RD and the ECC Bus. Among the PB units 0 to 3, in the PB control circuit 60 of the PB unit 1, the transistors 61c and 61b are turned on, and the read data Data_Out_B becomes L level. On the other hand, for the PB units 0, 2, and 3, the read data Data_Out_B is maintained at the H level by the pull-up circuit (Pull Up) connected to the wiring of the read data Data_Out_B. In other words, the DFF 152 of the randomizer 107b (here, there are four corresponding to the PB unit 0 to the PB unit 3) has the Data D0 via the ECC Bus_1, ECC Bus_2, and ECC Bus_3 (first data bus). Data “1011” is stored as .about.D3.

次に、Data D0〜D3(Data“0011”)を、ECC Bus_1、ECC Bus_2、及びECC Bus_3(第1のデータバス)を介して、ランダマイザ107bに入力(Data Load)する(ステップST91b)。
このとき、選択信号DIOはいずれか一本が選択されるので、ページバッファ102のPB ユニット0〜PBユニット3から、Data D0〜D3(Data“0011”)が、ECC Bus_1、ECC Bus_2、及びECC Bus_3を介して、ランダマイザ107bに入力される。
Next, Data D0 to D3 (Data “0011”) are input (Data Load) to the randomizer 107b via the ECC Bus_1, ECC Bus_2, and ECC Bus_3 (first data bus) (step ST91b).
At this time, any one of the selection signals DIO is selected, so that the data D0 to D3 (Data “0011”) from the PB unit 0 to the PB unit 3 of the page buffer 102 are ECC Bus_1, ECC Bus_2, and ECC. The data is input to the randomizer 107b via Bus_3.

次に、ランダマイザ107bは、データランダマイズ(Data Randomize)処理を行う(ステップST92)。ここでは、ランダマイザ107bのDFF152(不良ビット情報格納部)には、Data“1011”が格納されている。また、ここでは、ランダムシードRSは、第2のランダマイズ及びECC処理と同様、奇数番目のビットを反転させるため、Data D0〜D3に対応してData“0101”である。
PB ユニット0〜PBユニット3のうちPB ユニット1が出力するデータD1(“0”)は、DFF152に格納されているデータが“0”であるため、排他的論理和演算の結果はアンド回路153から出力されず、アンド回路153の出力信号である“Randomized Data”は“0”となる。
一方、PB ユニット0、2、3が出力するデータD0(“0”)、D2(“1”)、D3(“1”)は、それぞれランダムシードRS“0”、“0”、“1”と排他的論理和演算され、すなわち、奇数番目のデータのみ反転され、“0”、“1”、“0”となる。また、データD0、D2、D3は、DFF152に格納されているデータが全て“1”であるため、排他的論理和演算の結果がアンド回路153から出力され、アンド回路153の出力信号である“Randomized Data”は、データD0、D2、D3に対応して、それぞれ“0”、“1”、“0”となる。
つまり、固定データを出力するPB ユニット1のデータは、奇数番目のビットであるが、第2のランダマイズ及びECC処理のときのように、ランダマイズ処理(ここでは論理反転処理)されて“1”となることはない。一方、固定データではない、データD0、D2、D3は、ランダマイズ処理される。
Next, the randomizer 107b performs a data randomization process (step ST92). Here, Data “1011” is stored in the DFF 152 (defective bit information storage unit) of the randomizer 107b. Also, here, the random seed RS is Data “0101” corresponding to Data D0 to D3 in order to invert the odd-numbered bits as in the second randomization and ECC processing.
Since the data D1 (“0”) output from the PB unit 1 among the PB units 0 to 3 is “0”, the result of the exclusive OR operation is the AND circuit 153. “Randomized Data” that is an output signal of the AND circuit 153 is “0”.
On the other hand, the data D0 (“0”), D2 (“1”), and D3 (“1”) output from the PB units 0, 2, and 3 are the random seeds RS “0”, “0”, and “1”, respectively. Is calculated, that is, only odd-numbered data is inverted and becomes “0”, “1”, “0”. Further, since all of the data D0, D2, and D3 stored in the DFF 152 are “1”, the result of the exclusive OR operation is output from the AND circuit 153 and is the output signal of the AND circuit 153 “ Randomized Data is “0”, “1”, and “0” corresponding to the data D0, D2, and D3, respectively.
That is, the data of the PB unit 1 that outputs fixed data is an odd-numbered bit, but is randomized (here, logical inversion processing) to “1” as in the second randomization and ECC processing. Never become. On the other hand, data D0, D2, and D3 that are not fixed data are randomized.

以上のような固定データを除く、ランダマイズ処理の結果、ランダマイザ107bは、Data“0010”をECC回路107aに対して出力する。
これは、第2のランダマイズ及びECC処理において、ページバッファ102のPB ユニット0〜PBユニット3から、Data D0〜D3(Data“0010”)を、ECC Busを介して、ECC回路107aに入力(Data Load)する状態と同じである(図13(a)における(4)Data Load&ECC Encode参照)。
その後は、第2のランダマイズ及びECC処理と同様、下記の処理が行われる。
すなわち、ECC回路107aは、エンコード(Encode)処理を実行し、パリティデータを生成(Parity Generation)する(ステップST72b)。
ここでは、ECC回路107aは、ランダマイザ107bから入力されるData“0010”に基づいて、Data“0010”に対応するParity Px(Parity Data“P(0010)”)を生成する。
As a result of the randomizing process excluding the fixed data as described above, the randomizer 107b outputs Data “0010” to the ECC circuit 107a.
In the second randomization and ECC processing, Data D0 to D3 (Data “0010”) are input from the PB unit 0 to PB unit 3 of the page buffer 102 to the ECC circuit 107a via the ECC Bus (Data (See (4) Data Load & ECC Encode in FIG. 13A).
Thereafter, the following processing is performed as in the second randomization and ECC processing.
That is, the ECC circuit 107a performs an encoding process, and generates parity data (Parity Generation) (step ST72b).
Here, the ECC circuit 107a generates Parity Px (Parity Data “P (0010)”) corresponding to Data “0010” based on Data “0010” input from the randomizer 107b.

続いて、ランダマイザ、及びECC回路107は、PB ユニット0〜3に、ECC処理後のデータを書き戻す(Data Store)処理を実行する(ステップST73)。
ここでは、ECC回路107aは、図13(a)における(5)Data Storeに示す様に、PB ユニット0〜PBユニット3にData“0010”を、PB ユニット4にParity Data“P(0010)”を書き戻す。ここで、PB ユニット1は、”0”に固定しているため、第2のランダマイズ及びECC処理と同様、ユーザが図13(a)における(1)Data Inにおいて書いたデータと同じデータ0が書き込まれたことと同等の状態となる。つまり、図13(a)における(5)Data Storeに示す様に、PB ユニット0〜PBユニット3が格納するデータはData“0010”となる。また、PB ユニット4が格納するデータは、Data“0010”に基づいて生成されたParity Data“P(0010)”となる。
Subsequently, the randomizer and the ECC circuit 107 execute a data store process for writing back the data after the ECC process to the PB units 0 to 3 (step ST73).
Here, the ECC circuit 107a, as shown in (5) Data Store in FIG. 13A, Data “0010” is stored in the PB unit 0 to PB unit 3, and Parity Data “P (0010)” is stored in the PB unit 4. Write back. Here, since the PB unit 1 is fixed to “0”, the same data 0 as the data written by the user in (1) Data In in FIG. It will be in the same state as written. That is, as shown in (5) Data Store in FIG. 13A, the data stored in the PB unit 0 to the PB unit 3 is Data “0010”. Further, the data stored in the PB unit 4 is Parity Data “P (0010)” generated based on Data “0010”.

このように、第3のランダマイズ及びECC処理においては、ランダマイザ(ランダマイザ107b)は、ランダマイズ処理に先立って不良ビット情報格納部(DFF152)に取り込んだ第1のページバッファ(ページバッファ102a)の不良情報に基づいて、第1のページバッファの出力データ(Data D0〜D3)のうち、固定されたデータ(Data D1)を除く、第1のページバッファの出力データをランダマイズしてECC回路107aに入力する。これにより、第2のランダマイズ及びECC処理と同様に、ECC処理の訂正処理能力を下げずに、ECCのデコード処理とデランダマイズ処理とを高速に実行することができる。また、第2のランダマイズ及びECC処理に比べて、ページバッファにデータを書き戻すData Store処理(図14に示すステップST81)、ページバッファからECC回路へデータを入力するData Load処理(図14に示すステップST82)を不要とすることができる。そのため、第2のランダマイズ及びECC処理に比べて、ECC処理のエンコード処理を高速に実行することができる。   As described above, in the third randomization and ECC processing, the randomizer (randomizer 107b) performs failure information on the first page buffer (page buffer 102a) fetched into the defective bit information storage unit (DFF 152) prior to the randomization processing. The output data of the first page buffer except the fixed data (Data D1) among the output data (Data D0 to D3) of the first page buffer is randomized and input to the ECC circuit 107a. . As a result, like the second randomization and ECC processing, the ECC decoding processing and derandomization processing can be executed at high speed without reducing the correction processing capability of the ECC processing. Compared to the second randomization and ECC process, a data store process (step ST81 shown in FIG. 14) for writing data back to the page buffer, and a data load process (shown in FIG. 14) for inputting data from the page buffer to the ECC circuit. Step ST82) can be dispensed with. Therefore, the encoding process of the ECC process can be executed at a higher speed than the second randomizing and ECC process.

また、本発明のNAND型フラッシュメモリ10(半導体記憶装置)は、ECC Bus_1〜3(第1のデータバス)と、ECCモード(第1の動作モード)によりメモリセルとの間でデータを転送する場合、複数のビット線のうちECC Busと同じ本数のビット線と、ECC Busとを接続してデータを転送するページバッファ102(データ転送部)と、を備える。また、データ転送部は、通常メモリセルに接続されるビット線に出力される出力データをラッチするページバッファ102a(第1のページバッファ)と、パリティメモリセルに接続されるビット線に出力される出力データをラッチするページバッファ102c(第2のページバッファ)と、を含んで構成される。そして、第1のデータバスは、第1のページバッファ、及び第2のページバッファと接続され、第1のデータバスに接続されるとともに、第2のページバッファの出力データに基づき、第1のページバッファの出力データの誤りを訂正するECC回路107a(ECC回路)を備える。また、第1のデータバスに接続され、予め設定されたシードデータに基づいて、第1のページバッファから入力されるデータをランダマイズし、ECC回路から入力されるデータをデランダマイズするランダマイザ107b(ランダマイザ)を備える。   Also, the NAND flash memory 10 (semiconductor memory device) of the present invention transfers data between ECC Bus_1 to 3 (first data bus) and memory cells in the ECC mode (first operation mode). In this case, the same number of bit lines as the ECC bus among a plurality of bit lines and a page buffer 102 (data transfer unit) for transferring data by connecting the ECC bus are provided. The data transfer unit outputs data to a page buffer 102a (first page buffer) that latches output data output to a bit line connected to a normal memory cell and a bit line connected to a parity memory cell. And a page buffer 102c (second page buffer) that latches output data. The first data bus is connected to the first page buffer and the second page buffer, is connected to the first data bus, and is connected to the first data bus based on the output data of the second page buffer. An ECC circuit 107a (ECC circuit) for correcting an error in the output data of the page buffer is provided. Further, a randomizer 107b (randomizer) that is connected to the first data bus and randomizes data input from the first page buffer and derandomizes data input from the ECC circuit based on preset seed data. ).

これにより、ページバッファ102の出力に接続されるECC Bus(第1のデータバス)を、ECCモード(第1動作モード)用に用いることができる。また、ECC Busには、ランダマイザ107b(ランダマイザ)、及びECC回路107a(ECC回路)が設けられる。そのため、本発明のNAND型フラッシュメモリ10によれば、ECC回路、及びランダマイザ107(ECC回路、及びランダマイザ)を内蔵したNAND型フラッシュメモリ10(半導体記憶装置)において、ECC処理におけるデコード(Decode)動作とデランダマイズ(De−Randomize)動作を同時に実行でき、復元、かつ訂正されたデータの読み出し時間を短縮することができる。   Thereby, the ECC Bus (first data bus) connected to the output of the page buffer 102 can be used for the ECC mode (first operation mode). The ECC bus is provided with a randomizer 107b (randomizer) and an ECC circuit 107a (ECC circuit). Therefore, according to the NAND flash memory 10 of the present invention, in the NAND flash memory 10 (semiconductor memory device) incorporating the ECC circuit and the randomizer 107 (ECC circuit and randomizer), a decoding operation in the ECC process is performed. And the de-randomization operation can be performed simultaneously, and the read time of the restored and corrected data can be shortened.

例えば、従来のNAND型フラッシュメモリにおいては、所定のデータ長のデータについてランダマイズ処理、及びECCデコード処理する場合、ページバッファにおけるデータのセットアップとセンシング処理とに20μs(マイクロ秒)、デランダマイズ処理に10μs、ECCのデコード処理に20μs、それぞれ要しており、データの読み出し時間が50μsであった。これに対し、本実施形態のNAND型フラッシュメモリ10では、デコード(Decode)動作とデランダマイズ(De−Randomize)動作をランダマイザ、及びECC回路107において同時に実行できるため、ECCデコード、及びデランダマイズ処理に要する時間を20μsまで短縮でき、データの読み出し時間を40μsまで短縮することができる。   For example, in a conventional NAND flash memory, when randomizing processing and ECC decoding processing are performed on data of a predetermined data length, 20 μs (microseconds) is required for data setup and sensing processing in the page buffer, and 10 μs is required for derandomizing processing. The ECC decoding process required 20 μs, and the data read time was 50 μs. On the other hand, in the NAND flash memory 10 according to the present embodiment, the decode operation and the de-randomization operation can be performed simultaneously in the randomizer and the ECC circuit 107, so that the ECC decode and de-randomization processing can be performed. The required time can be reduced to 20 μs, and the data read time can be reduced to 40 μs.

以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。   The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes a design and the like within the scope not departing from the gist of the present invention.

10…NAND型フラッシュメモリ、101…メモリアレイ、102,102a,102b,102c,102d…ページバッファ、103,108…カラムコーディング回路、104…カラム置換回路、105…パリティカラム置換回路、107a…ECC回路、107b…ランダマイザ、106,106c…I/Oパッド   DESCRIPTION OF SYMBOLS 10 ... NAND type flash memory, 101 ... Memory array, 102, 102a, 102b, 102c, 102d ... Page buffer, 103, 108 ... Column coding circuit, 104 ... Column substitution circuit, 105 ... Parity column substitution circuit, 107a ... ECC circuit 107b ... Randomizer, 106,106c ... I / O pad

Claims (7)

第1のデータバスと、
第1の動作モードによりメモリセルとの間でデータを転送する場合、複数のビット線のうち前記第1のデータバスと同じ本数のビット線と、前記第1のデータバスとを接続してデータを転送するデータ転送部と、を備え、
前記データ転送部は、
通常メモリセルに接続されるビット線に出力される出力データをラッチする第1のページバッファと、
パリティメモリセルに接続されるビット線に出力される出力データをラッチする第2のページバッファと、を含んで構成され、
前記第1のデータバスは、前記第1のページバッファ、及び前記第2のページバッファと接続され、
さらに、前記第1のデータバスに接続されるとともに、前記第2のページバッファの出力データに基づき、前記第1のページバッファの出力データの誤りを訂正するECC回路と、
前記第1のデータバスに接続され、予め設定されたシードデータに基づいて、前記第1のページバッファから入力されるデータをランダマイズし、前記ECC回路から入力されるデータをデランダマイズするランダマイザと、を備える、
ことを特徴とする半導体記憶装置。
A first data bus;
When data is transferred between memory cells in the first operation mode, the same number of bit lines as the first data bus among a plurality of bit lines and the first data bus are connected to each other. A data transfer unit for transferring
The data transfer unit is
A first page buffer for latching output data output to a bit line normally connected to a memory cell;
A second page buffer that latches output data output to a bit line connected to the parity memory cell,
The first data bus is connected to the first page buffer and the second page buffer,
An ECC circuit that is connected to the first data bus and corrects an error in the output data of the first page buffer based on the output data of the second page buffer;
A randomizer connected to the first data bus, for randomizing data input from the first page buffer based on preset seed data, and derandomizing data input from the ECC circuit; Comprising
A semiconductor memory device.
前記第1のページバッファのうちメモリセルまたはビット線に不良が有るページバッファの出力を固定されたデータとするページバッファ制御回路を有し、
前記ページバッファ制御回路は、メモリセルまたはビット線に不良が有る場合、前記第1のデータバスからの書き込みを許可しないことを特徴とする請求項1に記載の半導体記憶装置。
A page buffer control circuit configured to fix the output of the page buffer having a defect in a memory cell or a bit line in the first page buffer;
The semiconductor memory device according to claim 1, wherein the page buffer control circuit does not permit writing from the first data bus when a memory cell or a bit line has a defect.
前記第1のデータバスと異なる本数から構成され、前記第1のデータバスとは独立して設けられる第2のデータバスを備え、
前記データ転送部は、第2の動作モードによりメモリセルとの間でデータを転送する場合、複数のビット線のうち前記第2のデータバスと同じ本数のビット線と、前記第2のデータバスとを接続してデータを転送し、
前記第1の動作モードでは、前記第1のページバッファのうち、メモリセルまたはビット線に不良が有るページバッファと、前記第2の動作モードでの救済置換を前提として存在する第3のページバッファとの間において救済置換を行わずに、前記ECC回路、及び前記ランダマイザの入力データとして取り扱うことを特徴とする請求項1または請求項2いずれかに記載の半導体記憶装置。
The second data bus is configured with a different number from the first data bus, and is provided independently of the first data bus,
When the data transfer unit transfers data to or from a memory cell in the second operation mode, the same number of bit lines as the second data bus among the plurality of bit lines, and the second data bus And transfer data,
In the first operation mode, among the first page buffers, a page buffer having a defect in a memory cell or a bit line, and a third page buffer existing on the premise of repair replacement in the second operation mode 3. The semiconductor memory device according to claim 1, wherein the semiconductor memory device is handled as input data of the ECC circuit and the randomizer without performing repair replacement between the first and second circuits.
前記第1の動作モードのデータ書き込み動作において、
前記ランダマイザは、前記第1のページバッファの出力データをランダマイズして前記ECC回路に入力し、前記ECC回路は、前記ランダマイザから入力されるデータに基づいて、パリティデータを生成して前記第2のページバッファにパリティデータを書き込み、
一方、前記第1の動作モードのデータ読み出し動作において、
前記ECC回路は、前記第2のページバッファのパリティデータに基づいて、前記第1のページバッファのデータを誤り訂正し、前記ランダマイザは訂正後のデータをデランダマイズして前記第1のページバッファに書き戻す、
第1のランダマイズ及びECC処理を実行することを特徴とする請求項3に記載の半導体記憶装置。
In the data write operation in the first operation mode,
The randomizer randomizes the output data of the first page buffer and inputs it to the ECC circuit, and the ECC circuit generates parity data based on the data input from the randomizer to generate the second data Write parity data to the page buffer,
On the other hand, in the data read operation in the first operation mode,
The ECC circuit corrects the error of the data of the first page buffer based on the parity data of the second page buffer, and the randomizer derandomizes the corrected data to the first page buffer. Write back,
4. The semiconductor memory device according to claim 3, wherein the first randomization and ECC processing is executed.
前記第1のランダマイズ及びECC処理に替えて、
前記第1の動作モードのデータ書き込み動作において、
前記ランダマイザは、前記第1のページバッファの出力データをランダマイズして前記第1のページバッファに書き戻し、前記ECC回路は、前記第1のページバッファに書き戻されたデータに基づいて前記第2のページバッファにパリティデータを書き込み、
一方、前記第1の動作モードのデータ読み出し動作において、
前記ECC回路は、前記第2のページバッファのパリティデータに基づいて、前記第1のページバッファのデータを誤り訂正し、前記ランダマイザは訂正後のデータをデランダマイズして前記第1のページバッファに書き戻す、
第2のランダマイズ及びECC処理を実行することを特徴とする請求項4に記載の半導体記憶装置。
Instead of the first randomization and ECC processing,
In the data write operation in the first operation mode,
The randomizer randomizes the output data of the first page buffer and writes it back to the first page buffer, and the ECC circuit sets the second page buffer based on the data written back to the first page buffer. Write parity data to the page buffer
On the other hand, in the data read operation in the first operation mode,
The ECC circuit corrects the error of the data of the first page buffer based on the parity data of the second page buffer, and the randomizer derandomizes the corrected data to the first page buffer. Write back,
5. The semiconductor memory device according to claim 4, wherein a second randomization and ECC process is executed.
前記第2のランダマイズ及びECC処理に替えて、
前記第1の動作モードのデータ書き込み動作において、
前記ランダマイザは、ランダマイズ処理に先立って取り込んだ前記第1のページバッファの不良情報に基づいて、前記第1のページバッファの出力データのうち、前記固定されたデータを除く、前記第1のページバッファの出力データをランダマイズして前記ECC回路に入力し、前記ECC回路は、前記ランダマイザから入力されるデータに基づいて、パリティデータを生成して前記第2のページバッファにパリティデータを書き込み、
一方、前記第1の動作モードのデータ読み出し動作において、
前記ECC回路は、前記第2のページバッファのパリティデータに基づいて、前記第1のページバッファのデータを誤り訂正し、前記ランダマイザは訂正後のデータをデランダマイズして前記第1のページバッファに書き戻す、
第3のランダマイズ及びECC処理を実行することを特徴とする請求項5に記載の半導体記憶装置。
Instead of the second randomization and ECC processing,
In the data write operation in the first operation mode,
The randomizer removes the fixed data from the output data of the first page buffer based on the defect information of the first page buffer fetched prior to the randomizing process. The output data is randomized and input to the ECC circuit, and the ECC circuit generates parity data based on the data input from the randomizer and writes the parity data to the second page buffer.
On the other hand, in the data read operation in the first operation mode,
The ECC circuit corrects the error of the data of the first page buffer based on the parity data of the second page buffer, and the randomizer derandomizes the corrected data to the first page buffer. Write back,
6. The semiconductor memory device according to claim 5, wherein third randomization and ECC processing are executed.
前記ビット線は、n(nはpとqの公倍数であり、p、及びqはp>qである自然数)本のビット線であり、前記第1のデータバスはp本であり、前記第2のデータバスはq本であって、
前記データ転送部は、
前記第1の動作モードでは、(n/p)本のアドレス信号が入力されると、p本のビット線とp本の第1のデータバスとの接続を行い、
一方、前記第2の動作モードでは、(n/q)本のアドレス信号が入力されると、q本ビット線と第2のデータバスとの接続を行う、
ことを特徴とする請求項3から請求項6いずれか一項に記載の半導体記憶装置。
The bit lines are n (n is a common multiple of p and q, and p and q are natural numbers where p> q), the first data bus is p, There are q data buses,
The data transfer unit is
In the first operation mode, when (n / p) address signals are input, the p bit lines are connected to the p first data buses.
On the other hand, in the second operation mode, when (n / q) address signals are input, the q bit lines are connected to the second data bus.
The semiconductor memory device according to claim 3, wherein the semiconductor memory device is a semiconductor memory device.
JP2013006364A 2013-01-17 2013-01-17 Semiconductor storage device Pending JP2014137834A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013006364A JP2014137834A (en) 2013-01-17 2013-01-17 Semiconductor storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013006364A JP2014137834A (en) 2013-01-17 2013-01-17 Semiconductor storage device

Publications (1)

Publication Number Publication Date
JP2014137834A true JP2014137834A (en) 2014-07-28

Family

ID=51415255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013006364A Pending JP2014137834A (en) 2013-01-17 2013-01-17 Semiconductor storage device

Country Status (1)

Country Link
JP (1) JP2014137834A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019114313A (en) * 2017-12-25 2019-07-11 ラピスセミコンダクタ株式会社 Semiconductor integrated circuit
US10720945B2 (en) 2016-05-12 2020-07-21 Samsung Electronics Co., Ltd. Nonvolatile memory device and read and copy-back methods thereof
US11194656B2 (en) 2019-06-04 2021-12-07 Kioxia Corporation Memory system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10720945B2 (en) 2016-05-12 2020-07-21 Samsung Electronics Co., Ltd. Nonvolatile memory device and read and copy-back methods thereof
US11362685B2 (en) 2016-05-12 2022-06-14 Samsung Electronics Co., Ltd. Nonvolatile memory device and read and copy-back methods thereof
JP2019114313A (en) * 2017-12-25 2019-07-11 ラピスセミコンダクタ株式会社 Semiconductor integrated circuit
US11194656B2 (en) 2019-06-04 2021-12-07 Kioxia Corporation Memory system
US11740965B2 (en) 2019-06-04 2023-08-29 Kioxia Corporation Memory system

Similar Documents

Publication Publication Date Title
US20140169092A1 (en) Semiconductor memory device
US9424953B2 (en) Semiconductor memory device including repair circuit
JP4135680B2 (en) Semiconductor memory device and signal processing system
US9336078B1 (en) Memory error detection circuitry
TWI269155B (en) Method and checker of checking for errors in an error correction code (ECC) protected mechanism and a computer system including the checker
US7610542B2 (en) Semiconductor memory in which error correction is performed by on-chip error correction circuit
TW556203B (en) Semiconductor memory device having ECC type error recovery circuit
JP3272903B2 (en) Error correction detection circuit and semiconductor memory device
WO2010004664A1 (en) Semiconductor memory device
KR102146071B1 (en) Semiconductor memory device
JP2009104757A (en) Semiconductor storage device
JP4602246B2 (en) Semiconductor integrated circuit
US20080034253A1 (en) Ferroelectric memory with spare memory cell array and ecc circuit
US8990667B2 (en) Error check and correction circuit, method, and memory device
US9362007B2 (en) Semiconductor memory device
JP2014137834A (en) Semiconductor storage device
JP6018508B2 (en) Nonvolatile semiconductor memory device and test method thereof
KR102146080B1 (en) Semiconductor memory device
JP2014033364A (en) Error detection and correction circuit and memory device
JP5617776B2 (en) MEMORY CIRCUIT, MEMORY DEVICE, AND MEMORY DATA ERROR CORRECTION METHOD
JP2014142976A (en) Semiconductor storage device
JP4582078B2 (en) Memory controller, flash memory system, and flash memory control method
JP4534639B2 (en) Semiconductor memory device
KR20070112953A (en) Error checking and correcting control circuit, method thereof and semiconductor memory device
JP2014116049A (en) Semiconductor memory device