JP2014033364A - Error detection and correction circuit and memory device - Google Patents

Error detection and correction circuit and memory device Download PDF

Info

Publication number
JP2014033364A
JP2014033364A JP2012173182A JP2012173182A JP2014033364A JP 2014033364 A JP2014033364 A JP 2014033364A JP 2012173182 A JP2012173182 A JP 2012173182A JP 2012173182 A JP2012173182 A JP 2012173182A JP 2014033364 A JP2014033364 A JP 2014033364A
Authority
JP
Japan
Prior art keywords
data
error
circuit
unit
error detection
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
JP2012173182A
Other languages
Japanese (ja)
Inventor
Masao Kuriyama
正男 栗山
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 Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority to JP2012173182A priority Critical patent/JP2014033364A/en
Priority to KR1020130039901A priority patent/KR20140018095A/en
Priority to US13/958,074 priority patent/US8990667B2/en
Publication of JP2014033364A publication Critical patent/JP2014033364A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits

Abstract

PROBLEM TO BE SOLVED: To provide an error detection and correction circuit and a memory device that can error-correct and output arbitrary addressed bits of a data string at high speed.SOLUTION: The error detection and correction circuit includes: a data storage section (page buffer 12) for storing a data string; a syndrome calculation section 31 for calculating syndromes from the data string; an error coefficient calculation section 32 for calculating coefficients of an error location search equation from the syndromes; a latch section 35 for storing the coefficients; a substitute value calculation section 36 for calculating a substitute value to be substituted into the error location search equation from an address indicating the location of the data string and the coefficients stored in the latch section 35; a Chien search section 33 for outputting error detection signals indicating whether or not there are any errors in respective bits of the data string in response to the result of substitution of the substitute value into the error location search equation when the data string is output; and an error correction section 34 for correcting errors in bit data of the data string to be output according to the error detection signals.

Description

本発明は、誤り検出訂正回路、及びメモリ装置に関する。   The present invention relates to an error detection / correction circuit and a memory device.

電気的書き換え可能な不揮発性半導体記憶装置(EEPROM;Electrically Erasable and Programmable Read Only Memory)の一つとして、NAND型フラッシュメモリが知られている。NAND型フラッシュメモリは、複数のメモリセルを直列接続したNANDセルユニット(NANDストリング)を用いることにより、小さいチップ面積での大容量記憶を可能としている。   A NAND flash memory is known as one of electrically rewritable nonvolatile semiconductor memory devices (EEPROM) that are electrically erasable and programmable read only memory (EEPROM). The NAND flash memory uses a NAND cell unit (NAND string) in which a plurality of memory cells are connected in series, thereby enabling large-capacity storage with a small chip area.

NAND型フラッシュメモリでは、多数回の書き換えに伴うトンネル酸化膜の劣化等に起因して、データ保持中に記憶素子(メモリセル)の保持特性が失われ、エラービットの発生率(エラー率)が大きくなる傾向がある。特に、NAND型フラッシュメモリでは、メモリセルの大容量化、すなわち製造プロセスにおける微細化が進むとエラー率は上昇してしまう傾向にある。そのため、記憶すべきデータに誤り訂正符号(Error Correcting Code)の冗長データを付加してデータ列としてフラッシュメモリに書込むと共に、読出し時には誤り訂正符号の冗長データを基にしてデータの訂正を行うことで、エラービットが発生したときのデータの補償を行っている。   In the NAND flash memory, the retention characteristics of the memory element (memory cell) are lost during data retention due to deterioration of the tunnel oxide film caused by many rewrites, and the error bit rate (error rate) is increased. There is a tendency to grow. 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 is added to the data to be stored and written to the flash memory as a data string, and at the time of reading, the data is corrected based on the error correction code redundant data. Thus, data compensation is performed when an error bit occurs.

例えば、特許文献1には、誤り検出訂正回路(ECC回路)を備えたNAND型フラッシュメモリが開示されている。特許文献1記載の誤り検出訂正回路では、チェン探索部において、受信情報(データ列)のうちのビットの位置をエラー位置探索方程式に代入し、当該ビットに誤りがあるか否かを検出する。データ列の出力時には、チェン探索部にアドレスを最下位から最上位まで全て代入する。そして、誤り訂正回路(誤り訂正部)では、各ビットに誤りがある場合はビットのデータを訂正して訂正後のデータを出力し、誤りがない場合は訂正しないでビットのデータをそのまま出力する。   For example, Patent Document 1 discloses a NAND flash memory including an error detection / correction circuit (ECC circuit). In the error detection and correction circuit described in Patent Document 1, the chain search unit substitutes the position of a bit in received information (data string) into an error position search equation, and detects whether or not the bit has an error. When the data string is output, all addresses from the lowest to the highest are assigned to the chain search unit. The error correction circuit (error correction unit) corrects the bit data when each bit has an error and outputs the corrected data, and outputs the bit data as it is without correction when there is no error. .

特開2009−100369号公報Japanese Patent Application Laid-Open No. 2009-100369

しかしながら、上述した特許文献1に記載された構成では、データ列のうち任意のアドレスのビットを読み出そうとする場合、誤り訂正回路の出力するビットを一端バッファメモリ等に記憶させ、その後、読み出すべきビットのアドレスをバッファメモリに対して供給しなければならない。つまり、従来においては、誤り検出訂正回路において、読み出すべきビットが含まれるデータ列の全てのビットに対するエラービットのデータの訂正処理が終了するまで、任意のアドレスのビットのデータの誤り訂正を行って誤り訂正後のデータを高速に読み出すことができないという問題があった。   However, in the configuration described in Patent Document 1 described above, when a bit at an arbitrary address in a data string is to be read, the bit output from the error correction circuit is once stored in a buffer memory or the like and then read out. The address of the bit to be supplied must be supplied to the buffer memory. That is, conventionally, the error detection / correction circuit performs error correction on the data of the bit at an arbitrary address until the error bit data correction processing for all the bits of the data string including the bit to be read is completed. There was a problem that data after error correction could not be read out at high speed.

そこで本発明が解決しようとする課題は、データ列のうち任意のアドレスのビットのデータの誤り訂正を行って、誤り訂正後のデータを外部に高速に出力することができる誤り検出訂正回路、及びメモリ装置を提供することにある。   Therefore, the problem to be solved by the present invention is an error detection and correction circuit capable of performing error correction of data of a bit at an arbitrary address in a data string and outputting the error-corrected data to the outside at high speed, and It is to provide a memory device.

本発明の誤り検出訂正回路は、データ列を格納するデータ格納部と、前記データ列からシンドロームを計算するシンドローム計算部と、前記シンドロームからエラー位置探索方程式の係数を算出する誤り係数計算部と、前記係数を記憶するラッチ部と、前記データ列の位置を示すアドレスと、前記ラッチ部が記憶する係数とを用いて前記エラー位置探索方程式に代入する代入値を算出する代入値計算部と、前記データ列の出力時に、前記代入値の前記エラー位置探索方程式への代入結果に応じて、前記データ列のビット毎に誤りが有るか否かを示すエラー検出信号を出力するチェン探索部と、前記エラー検出信号により前記データ列におけるビットのデータの誤りを訂正して出力する誤り訂正部と、を備えることを特徴とする。   The error detection and correction circuit of the present invention includes a data storage unit that stores a data string, a syndrome calculation unit that calculates a syndrome from the data string, an error coefficient calculation unit that calculates a coefficient of an error position search equation from the syndrome, A latch unit that stores the coefficient; an address that indicates a position of the data string; and a substitution value calculation unit that calculates a substitution value to be substituted into the error position search equation using the coefficient stored in the latch unit; A chain search unit that outputs an error detection signal indicating whether or not there is an error for each bit of the data string, according to a result of substitution of the substitution value into the error position search equation when the data string is output, And an error correction unit that corrects and outputs an error of bit data in the data string by an error detection signal.

また、本発明の誤り検出訂正回路において、前記データ列が複数のデータ列から構成され、前記ラッチ部が、前記複数のデータ列の各々に対応して設けられることを特徴とする。   In the error detection / correction circuit of the present invention, the data string is composed of a plurality of data strings, and the latch unit is provided corresponding to each of the plurality of data strings.

また、本発明のメモリ装置は、上記誤り検出訂正回路を備えたメモリ装置であって、前記データ格納部は記憶素子から読み出したデータ列を格納する回路であり、前記アドレスは前記記憶素子のメモリにおける列の位置を示すカラムアドレスであることを特徴とする。   According to another aspect of the present invention, there is provided a memory device including the error detection and correction circuit, wherein the data storage unit stores a data string read from a storage element, and the address is a memory of the storage element. It is a column address indicating the position of the column in.

本発明の誤り検出訂正回路は、エラー位置探索方程式の係数を記憶するラッチ部と、この係数とビットの位置とからエラー位置探索方程式への代入値を計算する代入値計算部とを設けた。そのため、データの読み出し時に、代入値計算部に読み出すべきビットのアドレスを入力すれば、チェン探索部が当該ビットのデータに誤りが有るか否かを検出する。誤り訂正部は、当該ビットのデータに誤りがあればビットのデータを訂正して訂正後のビットのデータを出力し、誤りがない場合はビットのデータをそのまま出力する。よって、データ列のうち任意のアドレスのビットのデータについて、誤り訂正を行って訂正後のデータを高速に読み出すことができる誤り検出訂正回路、及びメモリ装置を提供することができる。   The error detection and correction circuit according to the present invention includes a latch unit that stores a coefficient of an error position search equation, and a substitution value calculation unit that calculates a substitution value to the error position search equation from the coefficient and the bit position. Therefore, when an address of a bit to be read is input to the substitution value calculation unit at the time of reading data, the chain search unit detects whether or not there is an error in the data of the bit. The error correction unit corrects the bit data if there is an error in the bit data and outputs the corrected bit data, and outputs the bit data as it is if there is no error. Therefore, it is possible to provide an error detection and correction circuit and a memory device that can perform error correction on data of a bit at an arbitrary address in a data string and read the corrected data at high speed.

不揮発性半導体記憶装置10であるNAND型フラッシュメモリの構成例を示す概略ブロック図である。1 is a schematic block diagram illustrating a configuration example of a NAND flash memory that is a nonvolatile semiconductor memory device 10; 誤り検出訂正回路13の詳細な構成例を示す図である。3 is a diagram illustrating a detailed configuration example of an error detection and correction circuit 13. FIG. チェン探索部33の詳細な構成の一例を示す図である。It is a figure which shows an example of a detailed structure of the chain search part. 代入値計算部36の詳細な構成の一例を示す図である。4 is a diagram illustrating an example of a detailed configuration of an assigned value calculation unit 36. FIG. 誤り検出訂正回路13aの詳細な構成例を示す図である。It is a figure which shows the detailed structural example of the error detection correction circuit 13a. 誤り検出訂正回路13と誤り検出訂正回路13aとの比較を説明するための図である。It is a figure for demonstrating the comparison with the error detection correction circuit 13 and the error detection correction circuit 13a.

以下、図面を参照して、本発明の実施の形態について説明する。図1は、不揮発性半導体記憶装置10であるNAND型フラッシュメモリの構成例を示す概略ブロック図である。
不揮発性半導体記憶装置10は、メモリセルアレイ11、ページバッファ12、誤り検出訂正回路13、バッファ14、I/Oパッド15、制御回路16、アドレスデコーダ17、及びロウ及びブロックデコーダ18を含んで構成される。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a schematic block diagram showing a configuration example of a NAND flash memory that is a nonvolatile semiconductor memory device 10.
The nonvolatile semiconductor memory device 10 includes a memory cell array 11, a page buffer 12, an error detection and correction circuit 13, a buffer 14, an I / O pad 15, a control circuit 16, an address decoder 17, and a row and block decoder 18. The

メモリセルアレイ11は、複数のスタックゲート構造のトランジスタ、すなわち電気的書き換え可能な不揮発性メモリセル(記憶素子)をカラム方向(列方向)に直列接続して、ビット線毎に設けられたNANDセルストリングを、行方向(ビット線の配列方向)に複数個配置したブロックから構成される。このブロックは、ビット線の配線方向に複数個配置される。また、このブロックは、メモリセルのデータの消去単位で設けられている。各ブロックにおいては、同一行に配置された不揮発性メモリ各々のゲートには、ビット線に直行したワード線が接続される。
1本のワード線により選択される不揮発性メモリセルの範囲がプログラム及び読み出しの単位となる1ページである。
The memory cell array 11 is a NAND cell string provided for each bit line by connecting a plurality of stack gate transistors, that is, electrically rewritable nonvolatile memory cells (storage elements) in series in the column direction (column direction). Are made up of a plurality of blocks arranged in the row direction (bit line arrangement direction). A plurality of blocks are arranged in the wiring direction of the bit lines. Further, this block is provided in units of erasing data of memory cells. In each block, a word line perpendicular to the bit line is connected to the gate of each nonvolatile memory arranged in the same row.
A range of nonvolatile memory cells selected by one word line is one page as a unit for programming and reading.

ページバッファ12は、ページ単位のデータのプログラム及び読み出しを行うため、ビット線毎に設けられたページバッファ回路から構成されている。このページバッファ12におけるページバッファ回路各々は、それぞれのビット線に接続され、接続されたビット線の電位を増幅して判定するセンスアンプ回路として用いるラッチ回路を有する。
ページバッファ12(データ格納部)は、不揮発性半導体記憶装置10のデータ読み出し動作において、メモリセルアレイ11の1ページ分のメモリセルが記憶するデータ(データ列)からなるセルデータCell Dataが入力され、このデータを増幅して誤り検出訂正回路13に対して出力する。一方、ページバッファ12は、不揮発性半導体記憶装置10のデータ書込み(プログラム)動作において、誤り検出訂正回路13から供給されるデータを内部のラッチ回路に格納し、ベリファイ動作を行いつつ、全てのデータを符号データCode Dataとして1ページ内のメモリセルに書き込む。
この符号データCode Dataには、誤り検出訂正回路13が生成するパリティデータParityが含まれる。なお、本実施形態において、例えば情報長512Byte (バイト)に対しBCH符号を用いて4Bit(ビット)訂正を行う誤り訂正システムを例に取るとき、1ページは、2K(=2048)バイト、すなわち、16k(=176384)ビットの通常データを各々記憶するメモリセルと、208ビットのパリティデータを各々記憶するメモリセルから構成される。すなわち、セルデータCell Data、及び符号データCode Dataは、(16k+208)ビットから構成される。また、1ページは、誤り検出訂正回路13の訂正の単位として、例えば4つのセクタに分割されている。つまり、1セクタに対応するデータは、512バイト(=4096ビット)の通常データ、52ビットのパリティデータから構成される。
また、本実施形態において、メモリ外部よりのアクセスは、通常メモリに対して対応するカラムアドレスY[13:0]を入力することにより行われる。パリティデータは、通常データの訂正用に付加される内部データであり、外部からは直接アクセスされることはない。
The page buffer 12 includes a page buffer circuit provided for each bit line in order to program and read data in units of pages. Each page buffer circuit in the page buffer 12 has a latch circuit that is connected to each bit line and that is used as a sense amplifier circuit that amplifies and determines the potential of the connected bit line.
The page buffer 12 (data storage unit) receives cell data Cell Data composed of data (data string) stored in one page of memory cells in the memory cell array 11 in the data read operation of the nonvolatile semiconductor memory device 10. This data is amplified and output to the error detection and correction circuit 13. On the other hand, the page buffer 12 stores the data supplied from the error detection / correction circuit 13 in the internal latch circuit in the data write (program) operation of the nonvolatile semiconductor memory device 10, and performs all the data while performing the verify operation. Is written as code data Code Data in a memory cell in one page.
The code data Code Data includes parity data Parity generated by the error detection and correction circuit 13. In this embodiment, for example, when an error correction system that performs 4-bit (bit) correction using a BCH code for an information length of 512 bytes (bytes) is taken as an example, one page is 2K (= 2048) bytes, that is, The memory cells each store 16k (= 176384) bits of normal data and the memory cells each store 208 bits of parity data. That is, cell data Cell Data and code data Code Data are composed of (16k + 208) bits. One page is divided into, for example, four sectors as a correction unit of the error detection and correction circuit 13. That is, the data corresponding to one sector is composed of normal data of 512 bytes (= 4096 bits) and parity data of 52 bits.
In this embodiment, access from the outside of the memory is performed by inputting the corresponding column address Y [13: 0] to the normal memory. Parity data is internal data added for correction of normal data and is not directly accessed from the outside.

誤り検出訂正回路13は、詳細については後述するが、不揮発性半導体記憶装置10のデータ読み出し動作において、ページバッファ12から読み出されたデータを、セクタ毎に処理して、エラー位置探索方程式の係数を算出し、内部のラッチに保持する。また、誤り検出訂正回路13は、読み出し動作において、カラムアドレスにより位置が示されるビットのデータの誤りを訂正し、I/Oパッド15を介して訂正済データCorrected Dataとして外部へ出力する。なお、I/Oパッド15と誤り検出訂正回路13との間に入出力回路を設けて、この入出力回路を介して外部へデータを出力してもよい。
また、誤り検出訂正回路13は、不揮発性半導体記憶装置10のデータ書き込み動作において、I/Oパッド15から入力される情報データInformation Dataを、バッファ14を介して受け取る。誤り検出訂正回路13は、受け取った情報データInformation DataからパリティデータParityを生成するとともに、受け取った情報データInformation Data、及びパリティデータParityをページバッファ12に対して出力する。ページバッファ12は、これらのデータを符号データCode Dataとして、選択されているページに接続されるメモリセルに書き込む。
Although the details will be described later, the error detection / correction circuit 13 processes the data read from the page buffer 12 for each sector in the data read operation of the nonvolatile semiconductor memory device 10 to obtain the coefficient of the error position search equation. Is calculated and held in an internal latch. Further, the error detection / correction circuit 13 corrects an error in the data of the bit whose position is indicated by the column address in the read operation, and outputs the corrected data to the outside through the I / O pad 15 as corrected data. An input / output circuit may be provided between the I / O pad 15 and the error detection / correction circuit 13, and data may be output to the outside through the input / output circuit.
Further, the error detection and correction circuit 13 receives information data Information Data input from the I / O pad 15 through the buffer 14 in the data write operation of the nonvolatile semiconductor memory device 10. The error detection / correction circuit 13 generates parity data parity from the received information data information data, and outputs the received information data information data and parity data parity to the page buffer 12. The page buffer 12 writes these data as code data Code Data in a memory cell connected to the selected page.

制御回路16は、各種制御信号が入力され、不揮発性メモリセルに対するデータのプログラム、読み出し、消去などの動作、及びベリファイの動作の制御を行う。
例えば、制御信号は、外部クロック信号、チップイネーブル信号/CE、読み出しイネーブル信号/RE、プログラムイネーブル信号/WE、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトプロテクト信号/WPなどである。制御回路16は、これらの制御信号と、I/Oパッド15から入力されるコマンドデータとが示す動作モードに応じて、各回路に対して内部制御信号を出力する。
例えば、制御回路16は、プログラムイネーブル信号/WEの立ち上がり時にコマンドラッチイネーブル信号CLEがロウ(L)レベルからハイ(H)レベルになることにより、I/Oパッド15からコマンドデータを取り込み、内部のレジスタに保持する。
The control circuit 16 receives various control signals and controls operations such as data programming, reading, and erasing of the nonvolatile memory cell, and verification operation.
For example, the control signals are an external clock signal, a chip enable signal / CE, a read enable signal / RE, a program enable signal / WE, a command latch enable signal CLE, an address latch enable signal ALE, a write protect signal / WP, and the like. The control circuit 16 outputs an internal control signal to each circuit in accordance with the operation mode indicated by these control signals and command data input from the I / O pad 15.
For example, when the command latch enable signal CLE changes from the low (L) level to the high (H) level when the program enable signal / WE rises, the control circuit 16 takes in the command data from the I / O pad 15 and Hold in register.

アドレスデコーダ17は、I/Oパッド15から入力されるアドレス(ロウアドレス、ブロックアドレス、カラムアドレス)を制御回路16からの内部制御信号に基づいて保持する。また、アドレスデコーダ17は、保持したアドレスを、制御回路16からの内部制御信号に基づいて、ロウ及びブロックデコーダ18、ページバッファ12、及び誤り検出訂正回路13へ出力する。
例えば、制御回路16は、プログラムイネーブル信号/WEの立ち上がり時にアドレスラッチイネーブル信号ALEがロウ(L)レベルからハイ(H)レベルになることにより、I/Oパッド15からアドレスを取り込み、アドレスデコーダ17の内部レジスタに保持する。
The address decoder 17 holds an address (row address, block address, column address) input from the I / O pad 15 based on an internal control signal from the control circuit 16. The address decoder 17 outputs the held address to the row and block decoder 18, the page buffer 12, and the error detection and correction circuit 13 based on the internal control signal from the control circuit 16.
For example, the control circuit 16 fetches an address from the I / O pad 15 when the address latch enable signal ALE changes from the low (L) level to the high (H) level when the program enable signal / WE rises, and the address decoder 17 In the internal register.

ロウ及びブロックデコーダ18は、アドレスデコーダ17が保持し、出力するロウアドレス、及びブロックアドレスに応じて、メモリセルアレイ11のブロック、及びワード線の選択を行い、1ページ上のメモリセルを選択する。
また、アドレスデコーダ17は、内部に保持するカラムアドレスに応じて、メモリセルアレイ11のビット線及びページバッファ12の選択を行う。
The row and block decoder 18 selects a memory cell on one page by selecting a block and a word line of the memory cell array 11 according to a row address and a block address held and output by the address decoder 17.
The address decoder 17 selects a bit line of the memory cell array 11 and the page buffer 12 according to a column address held therein.

本実施形態において、データ読み出し動作においては、ページバッファ12内のセルデータCell Dataが誤り検出訂正回路13に読み出され、エラー位置探索方程式の係数がセクタ毎に計算される。そして、セクタ毎に計算された係数とカラムアドレスとに応じて、カラムアドレスにより位置が示されるビットのデータ、すなわちメモリセルのデータ(16ビット)に誤りがあるか否かが検出され、誤りがある場合は訂正されて、訂正済データCorrected DataとしてI/Oパッド15から出力される(詳細後述)。   In the present embodiment, in the data read operation, the cell data Cell Data in the page buffer 12 is read to the error detection and correction circuit 13, and the coefficient of the error position search equation is calculated for each sector. Then, according to the coefficient calculated for each sector and the column address, it is detected whether or not there is an error in the bit data whose position is indicated by the column address, that is, the memory cell data (16 bits). If there is, it is corrected and output from the I / O pad 15 as corrected data Corrected Data (details will be described later).

また、データ書き込み動作においては、バッファ14にいったんページバッファ12内に格納されたセルデータCell Dataが読み出される。バッファ14は、例えばSRAM(Static Random Access Memory)により構成される。
バッファ14では、セルデータCell Dataのうち、入力されるカラムアドレスに対応する部分のデータが、I/Oパッド15からのデータInformation Dataに書き換えられる。また、誤り検出訂正回路13では、バッファ14の書き換え後のデータを含む1セクタ分のデータに対応したパリティデータが算出される。そして、これらのパリティデータを含む4セクタ分のデータが、符号データCode Dataとして、ページバッファ12を介して選択されているページに書き込まれる。
Further, in the data write operation, the cell data Cell Data once stored in the page buffer 12 is read into the buffer 14. The buffer 14 is configured by, for example, SRAM (Static Random Access Memory).
In the buffer 14, the data corresponding to the input column address in the cell data Cell Data is rewritten to the data Information Data from the I / O pad 15. Further, the error detection and correction circuit 13 calculates parity data corresponding to data for one sector including the data after rewriting of the buffer 14. Then, data for four sectors including the parity data is written as code data Code Data on the page selected via the page buffer 12.

次に、図2は、誤り検出訂正回路13の詳細な構成例を示す図である。
本実施形態においては、誤り検出訂正回路(以下、ECC回路とも称する)13として、BCH符号(Bose−Chaudhuri Hocquenghem code)を用いたECC回路を例にとって説明する。ECC回路は、BCH符号で代表されるガロア体演算を利用したブロック符号である。なお、BCH符号の替りに、例えばHamming符号(Hamming code)、リードソロモン符号(Reed−Solomon code)を用いることも可能である。なお、以下の説明では、情報データ長512バイト(=4096ビット)を訂正単位、すなわち1ページの1/4のセルのデータを訂正の単位とし、それぞれの訂正単位のうちの4ビットのデータの訂正が可能なBCH符号を用いたECC回路について説明する。
Next, FIG. 2 is a diagram illustrating a detailed configuration example of the error detection and correction circuit 13.
In this embodiment, an error detection correction circuit (hereinafter also referred to as an ECC circuit) 13 will be described as an example of an ECC circuit using a BCH code (Bose-Chudhuri Hocquenhem code). The ECC circuit is a block code using a Galois field operation represented by a BCH code. 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 information data length of 512 bytes (= 4096 bits) is used as a correction unit, that is, data of a quarter cell of one page is used as a correction unit, and data of 4 bits of each correction unit. An ECC circuit using a BCH code that can be corrected will be described.

誤り検出訂正回路13は、データの復号を司るデコーダ部30と、訂正用パリティデータParityを生成し、訂正用パリティデータParityをセルへの書き込みデータに付加するエンコーダ部40とを含んで構成される。
このうち、エンコーダ部40は、パリティ生成回路41を有する。パリティ生成回路41は、バッファ14に書き込まれた情報データInformation Dataを生成多項式で除算して得られるパリティデータParityを生成する。また、パリティ生成回路41は、情報データInformation Dataに、生成したパリティデータParityを付加して、ページバッファ12に対して出力する。これらのデータは、不揮発性半導体記憶装置10のデータ書き込み時において、選択された1ページに書き込まれる符号データCode Dataとなる。なお、本実施形態では、不揮発性半導体記憶装置10からのデータ読み出し時において、誤り検出訂正回路13が高速にデータ訂正処理を行うことに特徴を有するものであり、以下ではデコーダ部30について詳細に説明する。
The error detection and correction circuit 13 includes a decoder unit 30 that controls decoding of data, and an encoder unit 40 that generates correction parity data parity and adds the correction parity data parity to data to be written to the cell. .
Among these, the encoder unit 40 includes a parity generation circuit 41. The parity generation circuit 41 generates parity data Parity obtained by dividing the information data Information Data written in the buffer 14 by a generator polynomial. Further, the parity generation circuit 41 adds the generated parity data Parity to the information data Information Data, and outputs the information data Information Data to the page buffer 12. These data become code data Code Data written to one selected page when the nonvolatile semiconductor memory device 10 writes data. The present embodiment is characterized in that the error detection / correction circuit 13 performs data correction processing at high speed when data is read from the nonvolatile semiconductor memory device 10, and the decoder section 30 will be described in detail below. explain.

デコーダ部30は、シンドローム計算部31、誤り係数計算部32、チェン探索部33、誤り訂正部34、ラッチ部35、及び代入値計算部36を含んで構成される。
シンドローム計算部31は、不揮発性半導体記憶装置10のデータ読み出し時に、ページバッファ12に読み出されたセルデータCell Dataが、符号データとしてセクタ毎に入力され、この符号データを独立な最小多項式で除算することによりシンドロームを計算する。4ビットのデータの誤り訂正が可能なBCH符号で使用される独立な最小多項式は、4つである。シンドローム計算部31は、これら4つの最小多項式に対応して、4つのシンドローム算出回路31_1〜31_4を備えている。これらのシンドローム算出回路31_1〜31_4は、それぞれシンドロームS1、S3、S5、S7を計算する。
The decoder unit 30 includes a syndrome calculation unit 31, an error coefficient calculation unit 32, a chain search unit 33, an error correction unit 34, a latch unit 35, and a substitution value calculation unit 36.
The syndrome calculation unit 31 receives the cell data Cell Data read to the page buffer 12 for each sector as code data when reading data from the nonvolatile semiconductor memory device 10, and divides the code data by an independent minimum polynomial. To calculate the syndrome. There are four independent minimum polynomials used in a BCH code capable of correcting an error of 4-bit data. The syndrome calculation unit 31 includes four syndrome calculation circuits 31_1 to 31_4 corresponding to these four minimum polynomials. These syndrome calculation circuits 31_1 to 31_4 calculate syndromes S1, S3, S5, and S7, respectively.

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

ここで、エラー位置探索方程式について説明するため、チェン探索部33の構成、及び動作について説明する。
図3は、チェン探索部33の詳細な構成の一例を示す図である。
チェン探索部33は、4台のセレクタ、5台のフリップフロップ、64台の定数乗算回路、16台の排他的論理和演算回路、及び16台の論理反転回路を含んで構成される。
図3に示すように、4台のセレクタはセレクタ301、302、303、304であり、5台のフリップフロップはフリップフロップ310、311、312、313、314、である。また、64台の定数乗算回路は、定数乗算回路321_1、321_2、・・・、321_16、定数乗算回路322_1、322_2、・・・、322_16、定数乗算回路323_1、323_2、・・・、323_16、定数乗算回路324_1、324_2、・・・、324_16である。また、16台の排他的論理和演算回路は、排他的論理和演算回路330_1、330_2、・・・、330_15、330_16であり、16台の論理反転回路は、論理反転回路340_1、340_2、・・・、340_15、340_16である。
Here, in order to explain the error position search equation, the configuration and operation of the chain search unit 33 will be described.
FIG. 3 is a diagram illustrating an example of a detailed configuration of the chain search unit 33.
The chain search unit 33 includes four selectors, five flip-flops, 64 constant multiplication circuits, 16 exclusive OR operation circuits, and 16 logic inversion circuits.
As shown in FIG. 3, the four selectors are selectors 301, 302, 303, and 304, and the five flip-flops are flip-flops 310, 311, 312, 313, and 314. In addition, the 64 constant multiplication circuits include constant multiplication circuits 321_1, 321_2, ..., 321_16, constant multiplication circuits 322_1, 322_2, ..., 322_16, constant multiplication circuits 323_1, 323_2, ..., 323_16, constant Multiplier circuits 324_1, 324_2,..., 324_16. Further, the 16 exclusive OR operation circuits are exclusive OR operation circuits 330_1, 330_2,..., 330_15, 330_16, and the 16 logic inversion circuits are the logic inversion circuits 340_1, 340_2,. -340_15 and 340_16.

セレクタ301〜セレクタ304にそれぞれ入力されるex、e、e、eにおけるxは、符号データ、つまりページバッファに格納されたセルデータCell Dataの位置を示す値が入力される。このセルデータCell Detaには、パリティビット(52ビット)がカラム最下位に付加されている。具体的には、xとして次の値が入力される。すなわち、1ページに16kビットのデータ(パリティデータを除く)が含まれるので、ビット線の位置を示すカラムアドレスは14ビットのカラムアドレスY[13:0]である。このうち、上位10ビットのカラムアドレスY[13:4]を、Y=a13×213+a12×212+・・・+a×2+a×2と十進数で表わすと、本実施形態では16ビット単位でビットのデータの誤り訂正を行うので、xとして、パリティビット(52ビット)分ずらしたa13×213+a12×212+・・・+a×2+a×2+52(=αとする)が入力される。 X in e 1 x, e 1 x 2 , e 1 x 3 , and e 1 x 4 respectively input to the selectors 301 to 304 indicates code data, that is, the position of the cell data Cell Data stored in the page buffer. A value is entered. In this cell data Cell Data, a parity bit (52 bits) is added to the lowest column. Specifically, the following value is input as x. That is, since 16 kbit data (excluding parity data) is included in one page, the column address indicating the position of the bit line is the 14-bit column address Y [13: 0]. Of these, the upper 10 bits of the column address Y [13: 4] are represented by decimal numbers as Y = a 13 × 2 13 + a 12 × 2 12 +... + A 5 × 2 5 + a 4 × 2 4 . In this embodiment, error correction of bit data is performed in units of 16 bits. Therefore, x is a 13 × 2 13 + a 12 × 2 12 +... + A 5 × 2 5 + a shifted by a parity bit (52 bits). 4 × 2 4 +52 (= α j ) is input.

ここで、i=0〜15(整数)として、αi+jは、ガロア有限体GF(2)の元であり、カラムアドレスY[13:0]の最小値、すなわちカラムアドレスのビットがオール0の場合から数えて何番目のカラムアドレスに位置するかを示す値、すなわち(j×16+i+1)番目のビット線の位置を示す値である。
αi+j=α×αであるから、エラー位置探索方程式Λ(x)=e+e+e+e+eにx=αi+jを代入すると、Λ(x)は、
Λ(αi+j
=e(αi+j+e(αi+j+e(αi+j+e(αi+j+e
=e(α・(α+e(α・(α+e(α・(α+e(α・(α+e(α・(α
となる。
Here, when i = 0 to 15 (integer), α i + j is an element of the Galois finite field GF (2 m ), and the minimum value of the column address Y [13: 0], that is, the column address bits are all 0. This is a value indicating the position of the column address counting from the case of (i.e., the value of (j × 16 + i + 1) th bit line).
Since α i + j = α i × α j , the error location search equation Λ (x) = e 4 x 4 + e 3 x 3 + e 2 x 2 + e 1 x 1 + e 0 is substituted by x = α i + j x)
Λ (α i + j )
= E 4i + j ) 4 + e 3i + j ) 3 + e 2i + j ) 2 + e 1i + j ) 1 + e 0
= E 44 ) i · (α 4 ) j + e 33 ) i · (α 3 ) j + e 22 ) i · (α 2 ) j + e 11 ) i · (α 1 ) j + e 00 ) i · (α 0 ) j
It becomes.

そこで、セレクタ301では、e(α)を取り込み、これらをi=0〜15の範囲で、(α倍だけ定数倍すれば、エラー位置探索方程式Λ(x)のxに代入するx=αi+j、すなわち(j×16+i)番目のビット線の位置を示すxが得られる。同様に、セレクタ302では、e(α)を取り込み、これらをi=0〜15の範囲で、(α倍だけ定数倍すれば、エラー位置探索方程式Λ(x)のxに代入するx=αi+j、すなわち(j×16+i)番目のビット線の位置を示すxが得られる。また、同様に、セレクタ303では、e(α)を取り込み、これらをi=0〜15の範囲で、(α倍だけ定数倍すれば、エラー位置探索方程式Λ(x)のxに代入するx=αi+j、すなわち(j×16+i)番目のビット線の位置を示すxが得られる。また、同様に、セレクタ304では、e(α)を取り込み、これらをi=0〜15の範囲で、(α倍だけ定数倍すれば、エラー位置探索方程式Λ(x)のxに代入するx=αi+j、すなわち(j×16+i)番目のビット線の位置を示すxが得られる。 Therefore, the selector 301 takes in e 1j ) and multiplies them by (α 1 ) i times a constant within a range of i = 0 to 15 to obtain x 1 of the error position search equation Λ (x). X = α i + j to be substituted, that is, x indicating the position of the (j × 16 + i) th bit line is obtained. Similarly, the selector 302 captures e 2j ), and if these are multiplied by a constant by (α 2 ) i times within a range of i = 0 to 15, x 2 of the error position search equation Λ (x). X = α i + j to be assigned to i.e., x indicating the position of the (j × 16 + i) th bit line is obtained. Similarly, if the selector 303 takes e 3j ) and multiplies them by a constant (α 3 ) i within a range of i = 0 to 15, the error position search equation Λ (x) x = α i + j to be substituted for x 3 , that is, x indicating the position of the (j × 16 + i) th bit line is obtained. Similarly, the selector 304 takes in e 4j ) and multiplies them by a constant (α 4 ) i within the range of i = 0 to 15 to obtain the error position search equation Λ (x). x = α i + j to be substituted for x 4 , that is, x indicating the position of the (j × 16 + i) th bit line is obtained.

そのため、セレクタ301〜セレクタ304各々には、セレクタの入力を切り替える制御信号SELが制御回路16から入力される。この制御信号SELは、不揮発性半導体記憶装置10からのデータ読み出し時に、アドレスデコーダ17がカラムアドレスをラッチした後、制御回路16が、例えばLレベルからHレベルに変化させる制御信号である。セレクタ301〜セレクタ304において、制御信号SELがHレベルとなると、それぞれのセレクタにおいてex、e、e、eが取り込まれ、取り込まれた値はそれぞれの後段に接続されたフリップフロップ311〜314に記憶される。なお、係数eは、フリップフロップ310に記憶される。 Therefore, a control signal SEL for switching the selector input is input from the control circuit 16 to each of the selectors 301 to 304. This control signal SEL is a control signal that the control circuit 16 changes from L level to H level, for example, after the address decoder 17 latches the column address when reading data from the nonvolatile semiconductor memory device 10. In the selectors 301 to 304, when the control signal SEL becomes H level, e 1 x, e 1 x 2 , e 1 x 3 , e 1 x 4 are fetched in the respective selectors, and the fetched values are the subsequent stages. Is stored in the flip-flops 311 to 314 connected to. The coefficient e 0 is stored in the flip-flop 310.

また、フリップフロップ311〜314の後段には、それぞれ定数乗算回路が16台ずつ直列に接続される。フリップフロップ311の後段には、入力される値に定数αを乗じて出力する定数乗算回路321_1〜321_16が直列接続される。また、フリップフロップ312の後段には、入力される値に定数αを乗じて出力する定数乗算回路322_1〜322_16が直列接続される。また、フリップフロップ313の後段には、入力される値に定数αを乗じて出力する定数乗算回路323_1〜323_16が直列接続される。また、フリップフロップ314の後段には、入力される値に定数αを乗じて出力する定数乗算回路324_1〜324_16が直列接続される。 In addition, 16 constant multiplication circuits are connected in series in the subsequent stages of the flip-flops 311 to 314, respectively. At the subsequent stage of the flip-flop 311, constant multiplier circuits 321 </ b> _ <b> 1 to 321 </ b> _ <b> 16 that multiply the input value by a constant α and output the result are connected in series. Further, in the subsequent flip-flop 312, a constant multiplier circuit 322_1~322_16 to output multiplied by a constant alpha 2 are connected in series to the values entered. Further, in the subsequent flip-flop 313, a constant multiplier circuit 323_1~323_16 to output multiplied by a constant alpha 3 are connected in series to the values entered. Further, in the subsequent flip-flop 314, a constant multiplier circuit 324_1~324_16 to output multiplied by a constant alpha 4 are connected in series to the values entered.

排他的論理和回路330_1は、フリップフロップ310〜314の出力の排他的論理和を演算し、後段の論理反転回路340_1に対して出力する。論理反転回路340_1は、排他的論理和回路330_1の演算結果を論理反転して、エラー検出信号Error<0>を、誤り訂正部34に対して出力する。すなわち、排他的論理和回路330_1において、エラー位置探索方程式Λ(x)=e+e+e+e+eにx=αi+j(i=0)を代入したときに、Λ(x)の値が0である場合、エラー検出信号Error<0>はHレベルとなる。一方、Λ(x)の値が0でない場合、エラー検出信号Error<0>はLレベルとなる。
誤り訂正部34は、本実施形態において、16台の排他的論理和演算回路34_i(図2参照、i=0〜15)により構成される。排他的論理和演算回路34_iのうち、排他的論理和演算回路34_0は、エラー検出信号Error<0>と、ページバッファ12に読み出し動作において格納されたセルデータCell Dataのうち、(j×16+0)番目のビット線の位置のビットとが入力される。つまり、排他的論理和演算回路34_0は、エラー検出信号Error<0>がHレベルであれば、(j×16+0)番目のビット線の位置のビットのデータの論理(0または1)を反転して、訂正済データCorrected Dataの1ビットとして出力する。一方、排他的論理和演算回路34_0は、エラー検出信号Error<0>がLレベルであれば、(j×16+0)番目のビット線の位置のビットのデータの論理をそのまま、つまり訂正しないで訂正済データCorrected Dataの1ビットとして出力する。
The exclusive OR circuit 330_1 calculates an exclusive OR of the outputs of the flip-flops 310 to 314 and outputs the result to the subsequent logic inversion circuit 340_1. The logic inversion circuit 340_1 logically inverts the operation result of the exclusive OR circuit 330_1 and outputs an error detection signal Error <0> to the error correction unit 34. That is, in the exclusive OR circuit 330_1, x = α i + j (i = 0) is substituted into the error position search equation Λ (x) = e 4 x 4 + e 3 x 3 + e 2 x 2 + e 1 x 1 + e 0 Sometimes, when the value of Λ (x) is 0, the error detection signal Error <0> becomes H level. On the other hand, when the value of Λ (x) is not 0, the error detection signal Error <0> is at the L level.
In this embodiment, the error correction unit 34 includes 16 exclusive OR operation circuits 34_i (see FIG. 2, i = 0 to 15). Of the exclusive OR operation circuit 34_i, the exclusive OR operation circuit 34_0 includes (j × 16 + 0) of the error detection signal Error <0> and the cell data Cell Data stored in the page buffer 12 in the read operation. The bit at the position of the th bit line is input. That is, the exclusive OR operation circuit 34_0 inverts the logic (0 or 1) of the bit data at the position of the (j × 16 + 0) th bit line if the error detection signal Error <0> is at the H level. And output as 1 bit of the corrected data Corrected Data. On the other hand, if the error detection signal Error <0> is at the L level, the exclusive OR operation circuit 34_0 corrects the logic of the data of the bit at the position of the (j × 16 + 0) th bit line as it is, that is, without correction. It is output as 1 bit of the completed data Corrected Data.

同様に、i=1〜15として、排他的論理和回路330_iは、定数乗算回路321_i、定数乗算回路322_i、定数乗算回路323_i、定数乗算回路323_iそれぞれの出力の排他的論理和を演算し、後段の論理反転回路340_iに対して出力する。論理反転回路340_iは、排他的論理和回路330_iの演算結果を論理反転して、エラー検出信号Error<i>を、誤り訂正部34に対して出力する。すなわち、排他的論理和回路330_iにおいて、エラー位置探索方程式Λ(x)=e+e+e+e+eにx=αi+j(i=1〜15)をそれぞれ代入したときに、Λ(x)の値が0である場合、エラー検出信号Error<i>はHレベルとなる。一方、Λ(x)の値が0でない場合、エラー検出信号Error<i>はLレベルとなる。
誤り訂正部34における排他的論理和演算回路34_iは、エラー検出信号Error<i>と、ページバッファ12に読み出し動作において格納されたセルデータCell Dataのうち、(j×16+i)番目のビット線の位置のビットとが入力される。つまり、排他的論理和演算回路34_i(i=1〜15)各々は、エラー検出信号Error<i>がHレベルであれば、(j×16+i)番目のビット線の位置のビットのデータの論理を反転して、訂正済データCorrected Dataの1ビットとして出力する。一方、排他的論理和演算回路34_0は、エラー検出信号Error<i>がLレベルであれば、(j×16+i)番目のビット線の位置のビットのデータの論理をそのまま、訂正しないで訂正済データCorrected Dataの1ビットとして出力する。
Similarly, assuming that i = 1 to 15, the exclusive OR circuit 330_i calculates the exclusive OR of the outputs of the constant multiplication circuit 321_i, the constant multiplication circuit 322_i, the constant multiplication circuit 323_i, and the constant multiplication circuit 323_i, and To the logic inversion circuit 340_i. The logic inversion circuit 340_i logically inverts the operation result of the exclusive OR circuit 330_i and outputs an error detection signal Error <i> to the error correction unit 34. That is, in the exclusive OR circuit 330_i, the error position search equation Λ (x) = e 4 x 4 + e 3 x 3 + e 2 x 2 + e 1 x 1 + e 0 is set to x = α i + j (i = 1 to 15). When each value is substituted and the value of Λ (x) is 0, the error detection signal Error <i> becomes H level. On the other hand, when the value of Λ (x) is not 0, the error detection signal Error <i> is at the L level.
The exclusive OR operation circuit 34_i in the error correction unit 34 has the error detection signal Error <i> and the cell data Cell Data stored in the page buffer 12 in the read operation, of the (j × 16 + i) th bit line. Position bit is input. In other words, each of the exclusive OR operation circuits 34_i (i = 1 to 15) determines the logic of the bit data at the position of the (j × 16 + i) th bit line if the error detection signal Error <i> is at the H level. Is inverted and output as one bit of the corrected data Corrected Data. On the other hand, if the error detection signal Error <i> is at the L level, the exclusive OR operation circuit 34_0 corrects the logic of the data of the bit at the position of the (j × 16 + i) th bit line without correction. Output as 1 bit of data Corrected Data.

ところで、ECC回路を内蔵しないNAND型フラッシュメモリでは、1回の読み出し命令、すなわちデータ読み出しを指示するコマンドが入力されれば、1ページに相当するデータがメモリセルからページバッファ12に読みだされる。そして、最初のカラムアドレスに続いて、読み出しイネーブル信号/REと同期してページバッファ12に格納されたデータを連続読み出しすることが可能となっている。   By the way, in a NAND flash memory that does not include an ECC circuit, data corresponding to one page is read from the memory cell to the page buffer 12 when a single read command, that is, a command for instructing data read is input. . Then, following the first column address, the data stored in the page buffer 12 can be continuously read in synchronization with the read enable signal / RE.

ECC回路を内蔵した不揮発性半導体記憶装置10においても、同様な読み出しを可能にしようとすると、以下のような処理が必要となる。すなわち、メモリセルから読み出されたデータ(ページバッファ12に格納されたデータ)より、シンドローム計算部31においてシンドロームを計算し、係数計算部32において誤り係数を求める。そして、上述したようにチェン探索部33におけるセレクタの入力のカラムアドレスを、例えば最下位から変化させて、エラー位置探索方程式Λ(X)が0になるか否かをチェックする。このチェック結果によって、ページバッファ12から読み出されたデータに誤りが有れば誤りを訂正し、訂正後のデータを出力すれば良い。   Even in the nonvolatile semiconductor memory device 10 incorporating the ECC circuit, the following processing is required to enable the same reading. That is, the syndrome calculation unit 31 calculates the syndrome from the data read from the memory cell (data stored in the page buffer 12), and the coefficient calculation unit 32 obtains an error coefficient. Then, as described above, the column address of the selector input in the chain search unit 33 is changed from, for example, the lowest order to check whether the error position search equation Λ (X) becomes zero. According to this check result, if there is an error in the data read from the page buffer 12, the error may be corrected and the corrected data may be output.

しかしながら、ECC回路を内蔵しないNAND型メモリでは、任意のカラムアドレスを入力し、アクセスするモードも存在する。そのため、不揮発性半導体記憶装置10が、この任意のカラムアドレスを入力することによりアクセスするモードを備える場合、メモリセルからページバッファへのデータ読み出しに続いて、1ページ分のデータの誤り訂正処理を完了させておき、更に処理後の訂正データを記憶する処理が必要となる。
不揮発性半導体記憶装置10では、ページバッファ12とは別にバッファ14(例えばSRAM;Static Random Access Memory)を備えているので、このバッファ14に訂正後のデータを全て書きこみ、書込み後に任意のカラムアドレスを与えて、訂正後のデータをI/Oパッド15から出力することもできる。或いは、回路的な工夫により、訂正後のデータをバッファ14ではなく、ページバッファ12に書き戻した後に、ページバッファ12からデータを読み出す方式も考えられる。
However, in a NAND memory that does not incorporate an ECC circuit, there is a mode in which an arbitrary column address is input and accessed. Therefore, in the case where the nonvolatile semiconductor memory device 10 has a mode for accessing by inputting an arbitrary column address, error correction processing of data for one page is performed following data reading from the memory cell to the page buffer. It is necessary to complete the process and store the corrected data after the process.
Since the nonvolatile semiconductor memory device 10 includes a buffer 14 (for example, SRAM; Static Random Access Memory) in addition to the page buffer 12, all the corrected data is written in the buffer 14, and an arbitrary column address is written after the writing. And the corrected data can be output from the I / O pad 15. Alternatively, a method of reading data from the page buffer 12 after the corrected data is written back to the page buffer 12 instead of the buffer 14 by circuit contrivance is also conceivable.

このように、ECC回路を内蔵する不揮発性半導体記憶装置10において、任意のカラムアドレスを入力することによりアクセスするモードを備えようとする場合、1ページ分のデータの誤り訂正処理を完了させる必要があり、この任意のカラムアドレスを入力して、その位置のメモリセルのデータを読み出すまでの時間(以下、1st Access Overheadと称する)が長くなってしまう。   As described above, in the nonvolatile semiconductor memory device 10 incorporating the ECC circuit, when it is intended to have a mode for accessing by inputting an arbitrary column address, it is necessary to complete the error correction processing of data for one page. There is a long time (hereinafter referred to as “1st Access Overhead”) from when the arbitrary column address is input until the data of the memory cell at that position is read out.

そこで、不揮発性半導体記憶装置10では、この1st Access Overheadを短縮し、ECC回路を内蔵しないNAND型フラッシュメモリと同等のランダムアクアクセスを可能とするため、ラッチ部35と、代入値計算部36とを備えている。
ラッチ部35は、1ページ分のECC処理の単位となるセクタごとに、エラー位置探索方程式の係数e、e、e、e、及びeをラッチする。係数ラッチ35_0は、セクタ<0>のデータ(512バイトのデータ)と、このセクタ<0>に対応するパリティデータから算出されるエラー位置探索方程式の係数e、e、e、e、及びeをラッチする。なお、セクタ<0>のデータを保持するメモリセルの位置を示すカラムアドレスY[13:0]のうち上位の2ビットのカラムアドレスY[13:12]は、カラムアドレスY[13:12]=(0、0)で表わされる。
Therefore, in the nonvolatile semiconductor memory device 10, in order to shorten this 1st Access Overhead and to enable random access equivalent to a NAND flash memory not incorporating an ECC circuit, a latch unit 35, an assigned value calculation unit 36, It has.
The latch unit 35 latches the coefficients e 4 , e 3 , e 2 , e 1 , and e 0 of the error position search equation for each sector that is a unit of ECC processing for one page. The coefficient latch 35_0 is the coefficient e 4 , e 3 , e 2 , e 1 of the error position search equation calculated from the data of sector <0> (512-byte data) and the parity data corresponding to this sector <0>. , and to latch the e 0. Of the column address Y [13: 0] indicating the position of the memory cell holding the data of sector <0>, the upper 2-bit column address Y [13:12] is the column address Y [13:12]. = (0, 0).

また、係数ラッチ35_1は、セクタ<1>のデータ(同じく512バイトのデータ)と、このセクタ<1>に対応するパリティデータから算出されるエラー位置探索方程式の係数e、e、e、e、及びeをラッチする。なお、セクタ<1>のデータを保持するメモリセルの位置を示すカラムアドレスY[13:0]のうち上位2ビットのカラムアドレスY[13:12]は、カラムアドレスY[13:12]=(0、1)で表わされる。また、係数ラッチ35_2は、セクタ<2>のデータ(同じく512バイトのデータ)と、このセクタ<1>に対応するパリティデータから算出されるエラー位置探索方程式の係数e、e、e、e、及びeをラッチする。なお、セクタ<2>のデータを保持するメモリセルの位置を示すカラムアドレスY[13:0]のうち上位2ビットのカラムアドレスY[13:12]は、カラムアドレスY[13:12]=(1、0)で表わされる。また、係数ラッチ35_3は、セクタ<3>のデータ(同じく512バイトのデータ)と、このセクタ<3>に対応するパリティデータから算出されるエラー位置探索方程式の係数e、e、e、e、及びeをラッチする。なお、セクタ<3>のデータを保持するメモリセルの位置を示すカラムアドレスY[13:0]のうち上位2ビットのカラムアドレスY[13:12]は、カラムアドレスY[13:12]=(1、1)で表わされる。 The coefficient latch 35_1 also uses coefficients e 4 , e 3 , e 2 of the error position search equation calculated from the data of sector <1> (also 512-byte data) and the parity data corresponding to this sector <1>. , E 1 , and e 0 are latched. Of the column address Y [13: 0] indicating the position of the memory cell holding the data of sector <1>, the upper 2 bits of column address Y [13:12] are equal to column address Y [13:12] = (0, 1). In addition, the coefficient latch 35_2 has coefficients e 4 , e 3 , e 2 of the error position search equation calculated from the data of sector <2> (also 512-byte data) and the parity data corresponding to this sector <1>. , E 1 , and e 0 are latched. Of the column address Y [13: 0] indicating the position of the memory cell holding the data of sector <2>, the upper 2-bit column address Y [13:12] is equal to the column address Y [13:12] = It is represented by (1, 0). Further, the coefficient latch 35_3 has coefficients e 4 , e 3 , e 2 of the error position search equation calculated from the data of sector <3> (also 512-byte data) and the parity data corresponding to this sector <3>. , E 1 , and e 0 are latched. Of the column address Y [13: 0] indicating the position of the memory cell holding the data of sector <3>, the upper 2-bit column address Y [13:12] is equal to the column address Y [13:12] = (1, 1).

図4は、代入値計算部36の詳細な構成の一例を示す図である。
代入値計算部36は、8台のセレクタ、13台の乗算回路、及び2台の自乗演算回路を含んで構成される。
図4に示すように、8台のセレクタは、セレクタ401、402、403、404,405、406、407、408である。13台の乗算回路は、乗算回路411、412、413、414、421、422、431、441、442、461、462、463、464である。また、2台の自乗演算回路は、自乗演算回路451、452である。
FIG. 4 is a diagram illustrating an example of a detailed configuration of the substitution value calculation unit 36.
The substitution value calculation unit 36 includes eight selectors, thirteen multiplication circuits, and two square operation circuits.
As shown in FIG. 4, the eight selectors are selectors 401, 402, 403, 404, 405, 406, 407, and 408. The 13 multiplication circuits are multiplication circuits 411, 412, 413, 414, 421, 422, 431, 441, 442, 461, 462, 463, 464. The two square calculation circuits are square calculation circuits 451 and 452.

各セレクタは、j=4〜12として、αの2乗の値と1とが入力され、カラムアドレス信号Yjによりこれらのうちの一方の値が選択され、選択した値を後段の乗算回路に対して出力する。
このαの2乗の値は、上述したエラー位置探索方程式Λ(x)に代入する、符号データの(2+52)番目の位置を表わす。符号データの(2+52)番目の値とは、パリティビットに対応するビット線を含んだビット線のうち、(2+52)番目のビット線の位置を表わす。また、カラムアドレス信号Yjとは、カラムアドレスY[13:0]のうち1ビットのY[j]である。
各セレクタは、入力されるカラムアドレス信号YjがHレベルのとき、つまりY[j]=1のとき、αの2乗の値を選択する。一方、各セレクタは、入力されるカラムアドレス信号YjがLレベルのとき、つまりY[j]=0のとき、1を選択する。
例えば、上位10ビットのカラムアドレス[13:4]のうち、1ビットのY[4]が1で、残りの9ビットのY[13:5]が全て0のとき、セレクタ401はα16を選択し、他のセレクタ402〜408は1を選択する。以下、代入値計算部36における他の回路の接続、動作について説明しつつ、符号データの(2+52)番目の位置を表わすx=α(16+52)をチェン探索部33に入力する例について説明する。
Each selector, as j = 4 to 12, is input value and 1 2 j-th power of α is selected is one of the values of these by the column address signal Yj, to the subsequent multiplier circuit selected value Output.
2 j-th power value of this α is substituted into the above-described error location search equation lambda (x), representing the (2 j +52) th position of the code data. The (2 j +52) -th value of the code data represents the position of the (2 j +52) -th bit line among the bit lines including the bit line corresponding to the parity bit. The column address signal Yj is 1 bit Y [j] of the column address Y [13: 0].
Each selector selects the value of α to the 2jth power when the input column address signal Yj is at the H level, that is, when Y [j] = 1. On the other hand, each selector selects 1 when the input column address signal Yj is at L level, that is, when Y [j] = 0.
For example, the upper 10 bits of the column address: Of [13 4], in 1-bit Y [4] is 1, the remaining 9 bits of Y: when [13 5] are all 0, the selector 401 alpha 16 The other selectors 402 to 408 select “1”. Hereinafter, an example in which x = α (16 + 52) representing the (2 4 +52) th position of the code data is input to the chain search unit 33 will be described while explaining the connection and operation of other circuits in the substitution value calculation unit 36. To do.

乗算回路411は、セレクタ401の出力端子とセレクタ402の出力端子とに接続され、各セレクタの出力値を乗算し、乗算結果を後段の乗算回路421の第1の入力端子に対して出力する。上述の例であれば、乗算結果は、α16であり、乗算回路421の第1の入力端子にはα16が入力される。
乗算回路412は、セレクタ403の出力端子とセレクタ404の出力端子とに接続され、各セレクタの出力値を乗算し、乗算結果を後段の乗算回路421の第2の入力端子に対して出力する。上述の例であれば、乗算結果は、1であり、乗算回路421の第2の入力端子には1が入力される。
乗算回路413は、セレクタ405の出力端子とセレクタ406の出力端子とに接続され、各セレクタの出力値を乗算し、乗算結果を後段の乗算回路422の第1の入力端子に対して出力する。上述の例であれば、乗算結果は、1であり、乗算回路422の第1の入力端子には1が入力される。
乗算回路414は、セレクタ407の出力端子とセレクタ408の出力端子とに接続され、各セレクタの出力値を乗算し、乗算結果を後段の乗算回路422の第2の入力端子に対して出力する。上述の例であれば、乗算結果は、1であり、乗算回路422の第2の入力端子には1が入力される。
The multiplication circuit 411 is connected to the output terminal of the selector 401 and the output terminal of the selector 402, multiplies the output value of each selector, and outputs the multiplication result to the first input terminal of the subsequent multiplication circuit 421. In the example described above, the multiplication result is alpha 16, the first input terminal of the multiplier circuit 421 alpha 16 is input.
The multiplication circuit 412 is connected to the output terminal of the selector 403 and the output terminal of the selector 404, multiplies the output value of each selector, and outputs the multiplication result to the second input terminal of the subsequent multiplication circuit 421. In the above example, the multiplication result is 1, and 1 is input to the second input terminal of the multiplication circuit 421.
The multiplier circuit 413 is connected to the output terminal of the selector 405 and the output terminal of the selector 406, multiplies the output value of each selector, and outputs the multiplication result to the first input terminal of the subsequent multiplier circuit 422. In the above example, the multiplication result is 1, and 1 is input to the first input terminal of the multiplication circuit 422.
The multiplication circuit 414 is connected to the output terminal of the selector 407 and the output terminal of the selector 408, multiplies the output value of each selector, and outputs the multiplication result to the second input terminal of the subsequent multiplication circuit 422. In the above example, the multiplication result is 1, and 1 is input to the second input terminal of the multiplication circuit 422.

乗算回路421は、乗算回路411の出力端子と乗算回路412の出力端子とに接続され、各乗算回路の出力値を乗算し、乗算結果を後段の乗算回路431の第1の入力端子に対して出力する。上述の例であれば、乗算結果は、α16であり、乗算回路431の第1の入力端子にはα16が入力される。
乗算回路422は、乗算回路413の出力端子と乗算回路414の出力端子とに接続され、各乗算回路の出力値を乗算し、乗算結果を後段の乗算回路431の第2の入力端子に対して出力する。上述の例であれば、乗算結果は、1であり、乗算回路431の第2の入力端子には1が入力される。
乗算回路431は、乗算回路421の出力端子と乗算回路422の出力端子とに接続され、各乗算回路の出力値を乗算し、乗算結果を後段の乗算回路441の第1の入力端子に対して出力する。上述の例であれば、乗算結果は、α16であり、乗算回路441の第1の入力端子にはα16が入力される。
The multiplication circuit 421 is connected to the output terminal of the multiplication circuit 411 and the output terminal of the multiplication circuit 412, multiplies the output value of each multiplication circuit, and the multiplication result is applied to the first input terminal of the subsequent multiplication circuit 431. Output. In the example described above, the multiplication result is alpha 16, the first input terminal of the multiplier circuit 431 alpha 16 is input.
The multiplier circuit 422 is connected to the output terminal of the multiplier circuit 413 and the output terminal of the multiplier circuit 414, multiplies the output value of each multiplier circuit, and outputs the multiplication result to the second input terminal of the subsequent multiplier circuit 431. Output. In the above example, the multiplication result is 1, and 1 is input to the second input terminal of the multiplication circuit 431.
The multiplier circuit 431 is connected to the output terminal of the multiplier circuit 421 and the output terminal of the multiplier circuit 422, multiplies the output value of each multiplier circuit, and outputs the multiplication result to the first input terminal of the subsequent multiplier circuit 441. Output. In the above example, the multiplication result is α 16 , and α 16 is input to the first input terminal of the multiplication circuit 441.

乗算回路441は、第1の入力端子が乗算回路431の出力端子に接続されて乗算回路431の出力値が入力され、第2の入力端子には固定値であるα52が入力される。このα52は、符号データ、つまりページバッファに格納されたセルデータCell Dataのうち、パリティビット52ビットの次に位置する通常データが読み出されるビット線の位置を、すなわちカラムアドレスY[13:0]=0により通常データが読み出されるビット線の位置を示す値である。
乗算回路441は、乗算回路431の出力値、及びα52を乗算し、乗算結果を後段の自乗演算回路451の入力端子、乗算回路442の第1の入力端子、及び乗算回路461の第1の入力端子に対して出力する。上述の例であれば、乗算結果は、α(16+52)であり、自乗演算回路451の入力端子、乗算回路442の第1の入力端子、及び乗算回路461の第1の入力端子にはα(16+52)が入力される。
自乗演算回路451は、乗算回路441の出力端子に接続され、乗算回路441の出力値を自乗し、自乗結果を後段の自乗演算回路452の入力端子、乗算回路442の第2の入力端子、及び乗算回路462の第1の入力端子に対して出力する。上述の例であれば、自乗結果は、α(16+52)×2であり、自乗演算回路452の入力端子、乗算回路442の第2の入力端子、及び乗算回路462の第1の入力端子にはα(16+52)×2が入力される。
In the multiplication circuit 441, the first input terminal is connected to the output terminal of the multiplication circuit 431, the output value of the multiplication circuit 431 is input, and the fixed value α 52 is input to the second input terminal. This α 52 is the position of the bit line from which the normal data located next to the parity bit 52 bits is read out of the code data, ie, the cell data Cell Data stored in the page buffer, that is, the column address Y [13: 0. ] = 0 is a value indicating the position of the bit line from which normal data is read.
The multiplication circuit 441 multiplies the output value of the multiplication circuit 431 and α 52 , and the multiplication result is input to the subsequent square operation circuit 451, the first input terminal of the multiplication circuit 442, and the first of the multiplication circuit 461. Output to the input terminal. In the above example, the multiplication result is α (16 + 52) , and the input terminal of the square operation circuit 451, the first input terminal of the multiplication circuit 442, and the first input terminal of the multiplication circuit 461 have α ( 16 + 52) is input.
The square calculation circuit 451 is connected to the output terminal of the multiplication circuit 441, squares the output value of the multiplication circuit 441, and outputs the square result to the input terminal of the subsequent square calculation circuit 452, the second input terminal of the multiplication circuit 442, and The signal is output to the first input terminal of the multiplier circuit 462. In the above example, the square result is α (16 + 52) × 2 , and the input terminal of the square calculation circuit 452, the second input terminal of the multiplication circuit 442, and the first input terminal of the multiplication circuit 462 are α (16 + 52) × 2 is input.

乗算回路442は、乗算回路441の出力端子と自乗演算回路451の出力端子とに接続され、乗算回路441、及び自乗演算回路451の各出力値を乗算し、乗算結果を後段の乗算回路463の第1の入力端子に対して出力する。上述の例であれば、乗算結果は、α(16+52)×3であり、乗算回路463の第1の入力端子にはα(16+52)×3が入力される。
自乗演算回路452は、自乗演算回路451の出力端子に接続され、自乗演算回路451の出力値を自乗し、自乗結果を後段の乗算回路464の第1の入力端子に対して出力する。上述の例であれば、自乗結果は、α(16+52)×4であり、乗算回路464の第1の入力端子にはα(16+52)×4が入力される。
The multiplication circuit 442 is connected to the output terminal of the multiplication circuit 441 and the output terminal of the square calculation circuit 451, multiplies the output values of the multiplication circuit 441 and the square calculation circuit 451, and multiplies the multiplication result by the multiplication circuit 463 in the subsequent stage. Output to the first input terminal. In the above example, the multiplication result is α (16 + 52) × 3 , and α (16 + 52) × 3 is input to the first input terminal of the multiplication circuit 463.
The square calculation circuit 452 is connected to the output terminal of the square calculation circuit 451, squares the output value of the square calculation circuit 451, and outputs the square result to the first input terminal of the subsequent multiplication circuit 464. In the above example, the squared result is α (16 + 52) × 4 , and α (16 + 52) × 4 is input to the first input terminal of the multiplication circuit 464.

乗算回路461は、ラッチ部35における係数ラッチの出力端子と乗算回路441の出力端子とに接続され、係数ラッチ、及び乗算回路441の各出力値を乗算し、乗算結果をexとしてチェン探索部33に対して出力する。上述の例であれば、係数ラッチは係数ラッチ35_0であり、乗算回路461の第2の入力端子には誤り係数eが入力され、乗算回路461の乗算結果は、e(α(16+52))である。これにより、チェン探索部33のセレクタ301にはe(α(16+52))が、すなわちxとして(α(16+52))が入力される。 The multiplication circuit 461 is connected to the output terminal of the coefficient latch in the latch unit 35 and the output terminal of the multiplication circuit 441. The multiplication circuit 461 multiplies each output value of the coefficient latch and the multiplication circuit 441, and uses the multiplication result as e 1 x to perform a chain search. To the unit 33. In the example described above, the coefficient latch is a coefficient latch 35_0, the error coefficient e 1 is input to the second input terminal of the multiplier circuit 461, the multiplication result of the multiplication circuit 461, e 1 (α (16 + 52) ). Thus, e 1 to the selector 301 of the Chien search section 33 (α (16 + 52) ) , ie as x (α (16 + 52) ) is input.

乗算回路462は、ラッチ部35における係数ラッチの出力端子と自乗演算回路451の出力端子とに接続され、係数ラッチ、及び自乗演算回路451の各出力値を乗算し、乗算結果をexとしてチェン探索部33に対して出力する。上述の例であれば、係数ラッチは係数ラッチ35_0であり、乗算回路462の第2の入力端子には誤り係数eが入力され、乗算回路462の乗算結果は、e(α(16+52)×2)である。これにより、チェン探索部33のセレクタ302にはe(α(16+52)が、すなわちxとして(α(16+52))が入力される。 The multiplication circuit 462 is connected to the output terminal of the coefficient latch in the latch unit 35 and the output terminal of the square calculation circuit 451, multiplies each output value of the coefficient latch and the square calculation circuit 451, and sets the multiplication result as e 2 x. Output to the chain search unit 33. In the above example, the coefficient latch is the coefficient latch 35_0, the error coefficient e 2 is input to the second input terminal of the multiplication circuit 462, and the multiplication result of the multiplication circuit 462 is e 2(16 + 52) × 2 ). Thus, e 2(16 + 52) ) 2 is input to the selector 302 of the chain search unit 33, that is, (α (16 + 52) ) is input as x.

乗算回路463は、ラッチ部35における係数ラッチの出力端子と乗算回路442の出力端子とに接続され、係数ラッチ、及び乗算回路442の各出力値を乗算し、乗算結果をexとしてチェン探索部33に対して出力する。上述の例であれば、係数ラッチは係数ラッチ35_0であり、乗算回路463の第2の入力端子には誤り係数eが入力され、乗算回路463の乗算結果は、e(α(16+52)×3)である。これにより、チェン探索部33のセレクタ303にはe(α(16+52)が、すなわちxとして(α(16+52))が入力される。 The multiplication circuit 463 is connected to the output terminal of the coefficient latch in the latch unit 35 and the output terminal of the multiplication circuit 442, multiplies each output value of the coefficient latch and the multiplication circuit 442, and performs a chain search with the multiplication result as e 3 x. To the unit 33. In the example described above, the coefficient latch a coefficient latch 35_0, the second input terminal of the multiplier circuit 463 is input the error coefficient e 3, the multiplication result of the multiplication circuit 463, e 3 (α (16 + 52) × 3 ). Accordingly, e 3(16 + 52) ) 3 is input to the selector 303 of the chain search unit 33, that is, (α (16 + 52) ) is input as x.

乗算回路464は、ラッチ部35における係数ラッチの出力端子と自乗演算回路452の出力端子とに接続され、係数ラッチ、及び自乗演算回路452の各出力値を乗算し、乗算結果をexとしてチェン探索部33に対して出力する。上述の例であれば、係数ラッチは係数ラッチ35_0であり、乗算回路463の第2の入力端子には誤り係数eが入力され、乗算回路464の乗算結果は、e(α(16+52)×4)である。これにより、チェン探索部33のセレクタ304にはe(α(16+52)が、すなわちxとして(α(16+52))が入力される。 The multiplication circuit 464 is connected to the output terminal of the coefficient latch in the latch unit 35 and the output terminal of the square calculation circuit 452, and multiplies each output value of the coefficient latch and the square calculation circuit 452, and sets the multiplication result as e 4 x. Output to the chain search unit 33. In the example described above, the coefficient latch is a coefficient latch 35_0, the error coefficient e 4 is input to the second input terminal of the multiplier circuit 463, the multiplication result of the multiplication circuit 464, e 4 (α (16 + 52) × 4 ). Accordingly, e 4(16 + 52) ) 4 is input to the selector 304 of the chain search unit 33, that is, (α (16 + 52) ) is input as x.

以上説明したように、代入値計算部36では、データ列の位置を示すアドレス(カラムアドレスY)と、ラッチ部35が記憶する係数(エラー位置探索方程式の係数e〜e)とを用いてエラー位置探索方程式Λ(x)に代入する代入値x(上記例ではx=α(16+52))を算出する。
これによって、メモリセルからのデータ読み出し時にページバッファ12に格納される1ページ分のデータと、パリティデータを基に、セクタ毎の誤り係数をラッチ部35にラッチしておけば、この係数とカラムアドレスY[13:4]とに基づいてエラー位置探索方程式Λ(x)に代入する代入値xを求めることができる。
チェン探索部33では、代入値xが入力されると、上述した様に、この代入値を初期値とする16ビット分(上記例ではx=α(16+52)、α(17+52)、α(18+52)、・・・、α(30+52)、α(31+52)の16ビット)に対して、エラー位置探索方程式Λ(x)が0になるか否かがチェックされる。また、チェン探索部33は、このチェック結果に応じてエラー検出信号ERR<0>〜ERR(15>を出力する。誤り訂正部34には、アドレスデコーダ17がページバッファ12にカラムアドレスを入力することにより、このカラムアドレスが示す位置のメモリセルのデータが入力される。誤り訂正部は、この入力されたデータを、チェン探索部33が出力するエラー検出信号に応じて、エラーデータである場合は誤り訂正され、訂正されたデータを、エラーデータでない場合はそのままのデータを出力する。
As described above, the substitution value calculation unit 36 uses the address indicating the position of the data string (column address Y) and the coefficient stored in the latch unit 35 (coefficients e 1 to e 4 of the error position search equation). Then, a substitution value x (x = α (16 + 52) in the above example) to be substituted into the error position search equation Λ (x) is calculated.
Accordingly, if the error coefficient for each sector is latched in the latch unit 35 based on the data for one page stored in the page buffer 12 and the parity data when data is read from the memory cell, the coefficient and the column Based on the address Y [13: 4], the substitution value x to be substituted into the error position search equation Λ (x) can be obtained.
When the substitution value x is input to the chain search unit 33, as described above, 16 bits worth of the substitution value as an initial value (in the above example, x = α (16 + 52) , α (17 + 52) , α (18 + 52 ) ,..., Α (30 + 52) , 16 bits of α (31 + 52)) , it is checked whether or not the error position search equation Λ (x) becomes zero. Further, the chain search unit 33 outputs error detection signals ERR <0> to ERR (15> according to the check result. The address decoder 17 inputs the column address to the page buffer 12 in the error correction unit 34. Thus, the data of the memory cell at the position indicated by the column address is input, and the error correction unit receives the input data as error data according to the error detection signal output from the chain search unit 33. Is error-corrected, and the corrected data is output as it is if it is not error data.

次に、上述したラッチ部35と、代入値計算部36とを有する誤り検出訂正回路13を備えた不揮発性半導体記憶装置10について、ECC処理における遅延時間(1st Access Overhead)の短縮に関する効果について、図面を参照しつつ説明する。図5は、誤り検出訂正回路13aの詳細な構成例を示す図である。また、図6は、誤り検出訂正回路13と誤り検出訂正回路13aとの比較を説明するための図である。
図5において、図2と同一の部分には同一の符号を付しており、その説明は省略する。図5に示す誤り検出訂正回路13aは、図2に示す誤り検出訂正回路13と相違し、ラッチ部35、及び代入値計算部36を備えていない。また、誤り検出訂正回路13aでは、誤り訂正部34の出力結果がバッファ14を介して、訂正済データCorrected DataとしてI/Oパッド15に出力される構成となっている点が誤り検出訂正回路13とは相違する。
Next, regarding the nonvolatile semiconductor memory device 10 including the error detection and correction circuit 13 including the latch unit 35 and the substitution value calculation unit 36 described above, the effect relating to the reduction of the delay time (1st Access Overhead) in the ECC processing will be described. This will be described with reference to the drawings. FIG. 5 is a diagram showing a detailed configuration example of the error detection and correction circuit 13a. FIG. 6 is a diagram for explaining a comparison between the error detection / correction circuit 13 and the error detection / correction circuit 13a.
In FIG. 5, the same parts as those in FIG. 2 are denoted by the same reference numerals, and the description thereof is omitted. Unlike the error detection and correction circuit 13 shown in FIG. 2, the error detection and correction circuit 13 a shown in FIG. 5 does not include the latch unit 35 and the substitution value calculation unit 36. The error detection / correction circuit 13a is configured such that the output result of the error correction unit 34 is output to the I / O pad 15 as corrected data Corrected Data via the buffer 14. Is different.

以下、図6を参照しつつ、誤り検出訂正回路13、及び誤り検出訂正回路13a各々での1st Access Overheadについて説明する。
誤り検出訂正回路13aでは、1セクタにおける復号データのビット数は、4096ビット(=512kバイト)とパリディビット52ビット(=カラムアドレス 13ビット×4)の合計ビットである。これらのデータを一括で計算することは回路規模が大きくなるという点から現実的ではないので、シンドローム計算部31では、64ビット単位で計算を実行する。
演算のために基準となるクロック信号の周期を40nsとすると、シンドローム計算部31のシンドローム算出回路各々における計算時間は、クロック数clkが(4096+52)/64≒65clk必要となり、40ns×65clk=2.6μs(μ秒)となる。また、シンドローム計算部31におけるシンドローム算出回路各々においては、4次方程式の解(エラー位置探索方程式の係数e、e、e、e、及びe)を求めるため、40ns×20clk=0.8μsとなる。さらに、チェン探索部33においては、上述の様に16ビットを一括して誤りの有無を判定する。この判定に要する計算時間は、クロック数clkが(4096+52)/16≒260clk必要となり、40ns×260clk=10.4μsとなる。誤り訂正部34では、入力されるデータの訂正を、チェン探索部33での判定と同時に、すなわちエラー検出信号を用いて行うので、計算時間を要しない。
Hereinafter, the 1st Access Overhead in each of the error detection and correction circuit 13 and the error detection and correction circuit 13a will be described with reference to FIG.
In the error detection and correction circuit 13a, the number of bits of decoded data in one sector is a total of 4096 bits (= 512 kbytes) and 52 bits of parity bits (= column address 13 bits × 4). Since it is not realistic to calculate these data collectively because the circuit scale becomes large, the syndrome calculation unit 31 executes the calculation in units of 64 bits.
If the period of the clock signal used as a reference for calculation is 40 ns, the calculation time in each syndrome calculation circuit of the syndrome calculation unit 31 requires the clock number clk to be (4096 + 52) / 64≈65 clk, and 40 ns × 65 clk = 2. 6 μs (μ seconds). Further, in each of the syndrome calculation circuits in the syndrome calculation unit 31, in order to obtain a solution of the quaternary equation (coefficients e 4 , e 3 , e 2 , e 1 , and e 0 of the error position search equation), 40 ns × 20 clk = 0.8 μs. Further, the chain search unit 33 determines whether or not there is an error by batching 16 bits as described above. The calculation time required for this determination is that the number of clocks clk is (4096 + 52) / 16≈260 clk, and 40 ns × 260 clk = 10.4 μs. The error correction unit 34 corrects the input data simultaneously with the determination by the chain search unit 33, that is, using the error detection signal, so that calculation time is not required.

つまり、ECC処理に要する時間は、以上の計算時間を合計して、1セクタの512バイトあたりについて、2.6μs+0.8μs+10.4μs=13.8μsとなる。
図6(a)は、時刻t0からセクタ0(Sector<0>)、セクタ1(Sector<1>)、セクタ2(Sector<2>)、セクタ3(Sector<3>)の順番に、ECC処理が進むことを示している。シンドローム計算部31におけるシンドローム算出回路31_1では、シンドロームS1(Partial Syndorome)の計算に2.6μsを要する。そして、次段の誤り係数計算部32では、エラー位置探索方程式の係数e、e、e、e、及びeの計算に0.8μsを要する。次段のチェン探索部33では、入力されるデータの訂正に10.4μsを要する、なお、バッファ14の書き込みに要する時間(SRAMへのData Out)の時間は、短いものとし、この10.4μsに含まれるものとする。
以上のECC処理が、セクタ2、セクタ3、及びセクタ4についても実行され、ECC処理開始から55.2μsの時間を要して、時刻t1において終了する。つまり、任意のカラムアドレスを入力して、そのカラムアドレスが位置を示すビットのデータの外部への読み出しは、バッファ14に1ページ全てのセルの訂正後のデータが書き込まれるまでの時間待たなければ可能とならない。このバッファ14に1ページ全てのセルの訂正後のデータが書き込まれるまでの時間が、1st Access Overheadの55.2μsであり、この時間はECC回路を搭載しないNAND型フラッシュメモリのほぼ2倍に達してしまう。
That is, the time required for the ECC processing is 2.6 μs + 0.8 μs + 10.4 μs = 13.8 μs per 512 bytes of one sector by adding the above calculation times.
FIG. 6A shows the ECC in order of sector 0 (Sector <0>), sector 1 (Sector <1>), sector 2 (Sector <2>), and sector 3 (Sector <3>) from time t0. It shows that the process proceeds. The syndrome calculation circuit 31_1 in the syndrome calculation unit 31 requires 2.6 μs for calculation of the syndrome S1 (Partial Syndrome). Then, the error coefficient calculation unit 32 in the next stage requires 0.8 μs to calculate the coefficients e 4 , e 3 , e 2 , e 1 , and e 0 of the error position search equation. The chain search unit 33 in the next stage requires 10.4 μs to correct the input data. Note that the time required for writing to the buffer 14 (Data Out to SRAM) is short, and this 10.4 μs. Shall be included.
The above ECC processing is also executed for sector 2, sector 3, and sector 4, and takes 55.2 μs from the start of the ECC processing, and ends at time t1. That is, after inputting an arbitrary column address and reading out the bit data indicating the position of the column address to the outside, it is necessary to wait for a time until the corrected data of all the cells in one page is written in the buffer 14. Not possible. The time until the corrected data of all the cells in one page is written to the buffer 14 is 55.2 μs of 1st Access Overhead, and this time reaches almost twice that of the NAND flash memory not equipped with the ECC circuit. End up.

これに対して、誤り検出訂正回路13では、メモリセルからページバッファ12へのセルデータCell Dataの読み出しに引き続いて、1ページ分のデータに基づいて、シンドローム計算部31のシンドローム算出回路各々において、セクタ毎に順次行う。また、誤り係数計算部32では、4次方程式の解(エラー位置探索方程式の係数e、e、e、e、及びe)を求める計算を、セクタ毎に順次行う。図6(b)は、時刻t0からセクタ0(Sector<0>)、セクタ1(Sector<1>)、セクタ2(Sector<2>)、セクタ3(Sector<3>)について、順次、シンドローム(Partial Syndorome)、エラー位置探索方程式の係数e、e、e、e、及びeの計算処理が進むことを示している。これらの計算処理は、ECC処理開始から13.6μsの時間を要して、時刻t2において終了する。なお、各計算の処理時間は、誤り検出訂正回路13aと同じ時間としている。 On the other hand, in the error detection and correction circuit 13, following the reading of the cell data Cell Data from the memory cell to the page buffer 12, each of the syndrome calculation circuits of the syndrome calculation unit 31 based on the data for one page, Sequentially for each sector. Further, the error coefficient calculation unit 32 sequentially performs a calculation for obtaining a solution of the quaternary equation (coefficients e 4 , e 3 , e 2 , e 1 , and e 0 of the error position search equation) for each sector. FIG. 6B shows the syndromes in order from the time t0 for the sector 0 (Sector <0>), the sector 1 (Sector <1>), the sector 2 (Sector <2>), and the sector 3 (Sector <3>). (Partial Syndrome) indicates that calculation processing of coefficients e 4 , e 3 , e 2 , e 1 , and e 0 of the error position search equation proceeds. These calculation processes take time of 13.6 μs from the start of the ECC process and end at time t2. The processing time for each calculation is the same as that for the error detection and correction circuit 13a.

この時刻t2において、ラッチ部35の係数ラッチ各々には、セクタ1〜セクタ4におけるエラー位置探索方程式の係数e、e、e、e、及びeがラッチされる。つまり、時刻t2以降において、代入値計算部36に任意のカラムアドレスを入力すれば、そのカラムアドレスが位置を示すビットのデータの誤り判定をチェン探索部33において行うことができる。また、誤り訂正部34では、カラムアドレスにより位置が示されるセルのデータの誤りを検出し、訂正してI/Oパッド15から外部へ出力することができる。つまり、誤り検出訂正回路13aと比較して、バッファ14に1ページ全てのセルの訂正後のデータを書き込む処理を不要とし、1st Access Overheadを13.6μsまで短縮することができる。なお、図6(b)において、データの外部への読み出しを、ページバッファ12内のビットのデータの配置順(カラムアドレス順)、すなわちセクタの順番に示している。しかしながら、時刻t2以降は、ランダムアクセスが可能であり、どのセクタにおける任意の位置のビットを誤り訂正して直ちに出力することができる。つまり、データ出力前に必要な計算時間として、訂正用係数の計算時間(代入値計算部36とチェン探索部33による計算時間であり、40ns程度)要するだけであり、誤り検出訂正回路13aと比較して、1st Access Overheadの大幅な短縮を実現できる。 At time t2, the coefficients e 4 , e 3 , e 2 , e 1 , and e 0 of the error position search equation in sectors 1 to 4 are latched in each of the coefficient latches of the latch unit 35. In other words, if an arbitrary column address is input to the substitution value calculation unit 36 after time t2, the chain search unit 33 can perform an error determination on the bit data indicating the position of the column address. Further, the error correction unit 34 can detect an error in the data of the cell whose position is indicated by the column address, correct it, and output it from the I / O pad 15 to the outside. That is, as compared with the error detection / correction circuit 13a, it is not necessary to write the corrected data of all the cells in one page in the buffer 14, and the 1st Access Overhead can be shortened to 13.6 μs. In FIG. 6B, reading of data to the outside is shown in the order of arrangement of the bit data in the page buffer 12 (column address order), that is, the order of sectors. However, after time t2, random access is possible, and a bit at any position in any sector can be error-corrected and output immediately. That is, as the calculation time required before data output, only the correction coefficient calculation time (the calculation time by the substitution value calculation unit 36 and the chain search unit 33, about 40 ns) is required, which is compared with the error detection and correction circuit 13a. As a result, the 1st Access Overhead can be significantly shortened.

このように、本発明の誤り検出訂正回路13は、データ列を格納するデータ格納部(ページバッファ12)と、データ列からシンドロームを計算するシンドローム計算部31と、シンドロームからエラー位置探索方程式の係数を算出する誤り係数計算部32と、係数を記憶するラッチ部35と、データ列の位置を示すアドレス(カラムアドレス)と、ラッチ部35が記憶する係数とを用いてエラー位置探索方程式Λ(x)に代入する代入値xを算出する代入値計算部36と、データ列の出力時に、代入値xのエラー位置探索方程式Λ(x)への代入結果に応じて、データ列のビット毎に誤りが有るか否かを示すエラー検出信号ERR<i>を出力するチェン探索部33と、エラー検出信号ERR<i>によりデータ列におけるビットのデータの誤りを訂正して出力する誤り訂正部34と、を備える。   As described above, the error detection and correction circuit 13 of the present invention includes a data storage unit (page buffer 12) that stores a data string, a syndrome calculation unit 31 that calculates a syndrome from the data string, and a coefficient of an error position search equation from the syndrome. The error position search equation Λ (x (x) is calculated using the error coefficient calculation unit 32 for calculating the data, the latch unit 35 for storing the coefficient, the address (column address) indicating the position of the data string, and the coefficient stored in the latch unit 35 The substitution value calculation unit 36 that calculates the substitution value x to be substituted into () and an error for each bit of the data string according to the substitution result of the substitution value x into the error position search equation Λ (x) when the data string is output. A chain search unit 33 that outputs an error detection signal ERR <i> indicating whether or not there is a bit error, and the error detection signal ERR <i> An error correction unit 34 that corrects and outputs an error.

本発明の誤り検出訂正回路13は、エラー位置探索方程式の係数を記憶するラッチ部35と、この係数とビットの位置とからエラー位置探索方程式への代入値を計算する代入値計算部36とを設けた。そのため、データの読み出し時に、代入値計算部36に読み出すべきビットのアドレス(カラムアドレス)を入力すれば、チェン探索部33が当該ビットのデータに誤りが有るか否かを検出する。誤り訂正部34は、当該ビットのデータに誤りがあればビットのデータを訂正して訂正後のビットのデータを出力し、誤りがない場合はビットのデータをそのまま出力する。よって、データ列(セルデータCell Data)のうち任意のアドレスのビットのデータについて、誤り訂正を行って訂正後のデータを高速に読み出すことができる誤り検出訂正回路、及びメモリ装置を提供することができる。   The error detection and correction circuit 13 of the present invention includes a latch unit 35 that stores a coefficient of an error position search equation, and a substitution value calculation unit 36 that calculates a substitution value to the error position search equation from the coefficient and the bit position. Provided. For this reason, when an address of a bit to be read (column address) is input to the substitution value calculation unit 36 at the time of reading data, the chain search unit 33 detects whether or not there is an error in the data of the bit. If there is an error in the bit data, the error correction unit 34 corrects the bit data and outputs the corrected bit data. If there is no error, the error correction unit 34 outputs the bit data as it is. Therefore, it is possible to provide an error detection / correction circuit and a memory device that can perform error correction on data of a bit at an arbitrary address in a data string (cell data Cell Data) and read the corrected data at high speed. it can.

以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。   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…不揮発性半導体記憶装置、11…メモリセルアレイ、12…ページバッファ、13,13a…誤り検出訂正回路、14…バッファ、15…I/Oパッド、16…制御回路、17…アドレスデコーダ、18…ロウ及びブロックデコーダ、30…デコーダ部、31…シンドローム計算部、31_1,31_2,31_3,31_4…シンドローム算出回路、32…誤り係数計算部、33…チェン探索部、34…誤り訂正部、34_i,330_1,330_2,330_15,330_16…排他的論理和演算回路、35…ラッチ部、35_1,35_2,35_3,35_4…係数ラッチ、36…代入値計算部、40…エンコーダ部、41…パリティ生成回路、301,302,303,304,401,402,403,404,405,406,407,408…セレクタ、321_1,321_2,321_16,322_1,322_2,322_16,323_1,323_2,323_16,324_1,324_2,324_16…定数乗算回路、310,311,312,313,314…フリップフロップ、340_1,340_2,340_15,340_16…論理反転回路、411,412,413,414,421,422,431,441,442,461,462,463,464…乗算回路、451,452…自乗演算回路   DESCRIPTION OF SYMBOLS 10 ... Nonvolatile semiconductor memory device, 11 ... Memory cell array, 12 ... Page buffer, 13, 13a ... Error detection correction circuit, 14 ... Buffer, 15 ... I / O pad, 16 ... Control circuit, 17 ... Address decoder, 18 ... Row and block decoder, 30... Decoder unit, 31... Syndrome calculation unit, 31_1, 31_2, 31_3, 31_4... Syndrome calculation circuit, 32 .. error coefficient calculation unit, 33 ... chain search unit, 34. , 330_2, 330_15, 330_16 ... exclusive OR operation circuit, 35 ... latch unit, 35_1, 35_2, 35_3, 35_4 ... coefficient latch, 36 ... substitution value calculation unit, 40 ... encoder unit, 41 ... parity generation circuit, 301, 302, 303, 304, 401, 402, 403, 404, 40 , 406, 407, 408... Selector, 321_1, 321_2, 321_16, 322_1, 322_2, 322_16, 323_1, 323_2, 323_16, 324_1, 324_2, 324_16 ... constant multiplication circuit, 310, 311, 312, 313, 314. 340_1, 340_2, 340_15, 340_16 ... logic inversion circuit, 411, 412, 413, 414, 421, 422, 431, 441, 442, 461, 462, 463, 464 ... multiplication circuit, 451, 452 ... square operation circuit

Claims (3)

データ列を格納するデータ格納部と、
前記データ列からシンドロームを計算するシンドローム計算部と、
前記シンドロームからエラー位置探索方程式の係数を算出する誤り係数計算部と、
前記係数を記憶するラッチ部と、
前記データ列の位置を示すアドレスと、前記ラッチ部が記憶する係数とを用いて前記エラー位置探索方程式に代入する代入値を算出する代入値計算部と、
前記データ列の出力時に、前記代入値の前記エラー位置探索方程式への代入結果に応じて、前記データ列のビット毎に誤りが有るか否かを示すエラー検出信号を出力するチェン探索部と、
前記エラー検出信号により前記データ列におけるビットのデータの誤りを訂正して出力する誤り訂正部と、を備えることを特徴とする誤り検出訂正回路。
A data storage unit for storing data strings;
A syndrome calculation unit for calculating a syndrome from the data string;
An error coefficient calculation unit for calculating a coefficient of an error position search equation from the syndrome;
A latch unit for storing the coefficient;
An substitution value calculation unit that calculates an substitution value to be substituted into the error position search equation using an address indicating the position of the data string and a coefficient stored in the latch unit;
A chain search unit for outputting an error detection signal indicating whether or not there is an error for each bit of the data string, according to a result of substitution of the substitution value into the error position search equation when the data string is output;
An error correction unit comprising: an error correction unit that corrects and outputs an error of bit data in the data string by the error detection signal.
前記データ列が複数のデータ列から構成され、
前記ラッチ部が、前記複数のデータ列の各々に対応して設けられることを特徴とする請求項1に記載の誤り検出訂正回路。
The data string is composed of a plurality of data strings,
The error detection and correction circuit according to claim 1, wherein the latch unit is provided corresponding to each of the plurality of data strings.
請求項1または請求項2に記載の誤り検出訂正回路を備えたメモリ装置であって、
前記データ格納部は記憶素子から読み出したデータ列を格納する回路であり、
前記アドレスは前記記憶素子のメモリにおける列の位置を示すカラムアドレスであることを特徴とするメモリ装置。
A memory device comprising the error detection and correction circuit according to claim 1,
The data storage unit is a circuit for storing a data string read from a storage element,
The memory device, wherein the address is a column address indicating a column position in the memory of the storage element.
JP2012173182A 2012-08-03 2012-08-03 Error detection and correction circuit and memory device Pending JP2014033364A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012173182A JP2014033364A (en) 2012-08-03 2012-08-03 Error detection and correction circuit and memory device
KR1020130039901A KR20140018095A (en) 2012-08-03 2013-04-11 Error check and correction circuit and memory device
US13/958,074 US8990667B2 (en) 2012-08-03 2013-08-02 Error check and correction circuit, method, and memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012173182A JP2014033364A (en) 2012-08-03 2012-08-03 Error detection and correction circuit and memory device

Publications (1)

Publication Number Publication Date
JP2014033364A true JP2014033364A (en) 2014-02-20

Family

ID=50266407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012173182A Pending JP2014033364A (en) 2012-08-03 2012-08-03 Error detection and correction circuit and memory device

Country Status (2)

Country Link
JP (1) JP2014033364A (en)
KR (1) KR20140018095A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021163352A (en) * 2020-04-02 2021-10-11 ウィンボンド エレクトロニクス コーポレーション Semiconductor storing apparatus and readout method

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9529672B2 (en) * 2014-09-25 2016-12-27 Everspin Technologies Inc. ECC word configuration for system-level ECC compatibility
TWI566091B (en) 2015-09-10 2017-01-11 慧榮科技股份有限公司 Method for decoding an error correction code, and associated decoding circuit
KR102558044B1 (en) 2016-06-14 2023-07-20 에스케이하이닉스 주식회사 Comparison circuit and semiconductor device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021163352A (en) * 2020-04-02 2021-10-11 ウィンボンド エレクトロニクス コーポレーション Semiconductor storing apparatus and readout method
JP7018089B2 (en) 2020-04-02 2022-02-09 ウィンボンド エレクトロニクス コーポレーション Semiconductor storage device and readout method
US11487614B2 (en) 2020-04-02 2022-11-01 Winbond Electronics Corp. Semiconductor storing apparatus and readout method

Also Published As

Publication number Publication date
KR20140018095A (en) 2014-02-12

Similar Documents

Publication Publication Date Title
JP4538034B2 (en) Semiconductor memory device and control method thereof
US9690650B2 (en) Storage scheme for built-in ECC operations
US8990667B2 (en) Error check and correction circuit, method, and memory device
US20070198902A1 (en) Semiconductor memory device
US20090319863A1 (en) Error-correcting system of semiconductor memory, error-correcting method, and memory system with error-correcting system
JP2006190425A (en) Semiconductor memory device
JP2003157697A (en) Semiconductor memory
JP2012137994A (en) Memory system and controlling method thereof
JP2005346758A (en) Semiconductor storage apparatus and signal processing system
JP5657079B1 (en) Semiconductor memory device
US9384083B2 (en) Error location search circuit, and error check and correction circuit and memory device including the same
JP2010512601A (en) Error detection and correction method and apparatus using cache in memory
KR102064508B1 (en) Ecc circuit and memory device including the same
JP2014033364A (en) Error detection and correction circuit and memory device
JP6018508B2 (en) Nonvolatile semiconductor memory device and test method thereof
US9152493B2 (en) Error check and correction circuit and semiconductor memory
US20210384919A1 (en) Error correction device and method for generating syndromes and partial coefficient information in a parallel
JP6479638B2 (en) Video server apparatus and data writing / reading method
KR102021560B1 (en) Error bit search circuit, error check and correction circuit therewith, and memory device therewith
JP7178465B1 (en) semiconductor storage device
JP2014116659A (en) Error detection and correction circuit and semiconductor storage device
US11689216B1 (en) Low gate-count generalized concatenated code (GCC) by online calculation of syndromes instead of buffer
US20240022261A1 (en) Error correction code circuit and semiconductor apparatus including the error correction code circuit
TWI753814B (en) Semiconductor storage apparatus and ecc related information reading method
KR102027949B1 (en) Error check and correction circuit and semiconductor memory

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20141226