JP2014137833A - Semiconductor memory and method of outputting number of error correction bits - Google Patents

Semiconductor memory and method of outputting number of error correction bits Download PDF

Info

Publication number
JP2014137833A
JP2014137833A JP2013006349A JP2013006349A JP2014137833A JP 2014137833 A JP2014137833 A JP 2014137833A JP 2013006349 A JP2013006349 A JP 2013006349A JP 2013006349 A JP2013006349 A JP 2013006349A JP 2014137833 A JP2014137833 A JP 2014137833A
Authority
JP
Japan
Prior art keywords
circuit
error correction
bits
output
error
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
JP2013006349A
Other languages
Japanese (ja)
Inventor
Makoto Hirano
誠 平野
Naoaki Sudo
直昭 須藤
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 JP2013006349A priority Critical patent/JP2014137833A/en
Publication of JP2014137833A publication Critical patent/JP2014137833A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To provide a semiconductor memory in which even when the number of internal error correction bits increases, the number of bits of a signal that outputs it to the outside can be reduced.SOLUTION: A semiconductor memory includes: a memory array 11; a page buffer 12 that has a plurality of latches that are connected to each bit line of the memory array 11; an error correction circuit 16 that reads a plurality of predetermined bits from the page buffer 12 as an error correction unit, corrects error bits which are included in the read data, and writes it back to the page buffer 12; a determination unit 18 that includes an accumulation circuit, which outputs a result of arithmetic processing over a plurality of units of the error correction unit while holding a result of predetermined processing which is based on the number of error correction bits for each error correction unit, and a comparison circuit which performs comparison between the output of the accumulation circuit and a predetermined reference value and outputs a comparison result; and an output buffer 17 that outputs the comparison result obtained by the comparison circuit.

Description

本発明は、半導体メモリ及び誤り訂正ビット数の出力方法に関する。   The present invention relates to a semiconductor memory and an error correction bit number output method.

複数のメモリセルを直列に接続した構成を持つNAND型フラッシュメモリは、高集積化の点ですぐれている。一方、フラッシュメモリには、構造上書き込み回数に制限がある。このため、フラッシュメモリチップ内や外部のフラッシュメモリ・コントローラーに、例えば、ECC(Error Correcting Code;誤り訂正符号)を用いた誤り訂正機能を持たせる技術が開発されている。また、書き込んだデータと読み出したデータとが不一致となるビット(すなわちフェイルビット)をカウントし、不良セルが一定程度発生したブロック等を、冗長なブロック等に置き換える技術が開発されている。   A NAND flash memory having a configuration in which a plurality of memory cells are connected in series is excellent in terms of high integration. On the other hand, the flash memory has a limited number of write operations due to its structure. For this reason, a technique has been developed in which an internal flash memory chip or an external flash memory controller has an error correction function using, for example, ECC (Error Correcting Code). In addition, a technique has been developed in which a bit in which written data and read data do not match (that is, a fail bit) is counted, and a block in which defective cells are generated to a certain extent is replaced with a redundant block or the like.

例えば、特許文献1に記載されている半導体メモリは、外部から入力した期待値と、メモリセルから読み出したデータとを照合し、フェイルビット(Fail Bit)数をカウントする構成を備えている。また、特許文献2に記載されている半導体メモリは、プログラム時のデータを真とし、読み出したデータと、照合しフェイルビットをカウントする構成を備えている。これらの2つの半導体メモリは、フェイルビット数を用いて、セル不良がシステム(主にECC)の許容する範囲内かどうかを判別するための機能を有する。これに対して次に示す特許文献3及び特許文献4に記載されている半導体メモリは、半導体チップ内部にECC訂正機能を設けている。   For example, the semiconductor memory described in Patent Document 1 has a configuration in which an expected value input from the outside is compared with data read from a memory cell and the number of fail bits is counted. In addition, the semiconductor memory described in Patent Document 2 has a configuration in which data at the time of programming is true, the read data is compared, and a fail bit is counted. These two semiconductor memories have a function for determining whether a cell defect is within a range allowed by a system (mainly ECC) using the number of fail bits. On the other hand, the semiconductor memories described in Patent Document 3 and Patent Document 4 described below are provided with an ECC correction function inside the semiconductor chip.

例えば、特許文献3に記載されている半導体メモリは、誤り訂正回路と、不良セルのアドレスを置換するための構成とをチップ内に備えている。この半導体メモリは、誤り訂正回路で誤り訂正されたメモリセルのロウ座標とカラム座標を保存する。そして、一のカラム線上での誤り訂正ビットの数があらかじめ定められた値を超えた場合には、一のカラム線が冗長セルで置換される。   For example, a semiconductor memory described in Patent Document 3 includes an error correction circuit and a configuration for replacing an address of a defective cell in a chip. This semiconductor memory stores the row coordinates and column coordinates of memory cells that have been error-corrected by an error correction circuit. When the number of error correction bits on one column line exceeds a predetermined value, one column line is replaced with a redundant cell.

また、特許文献4に記載されている半導体メモリは、チップ内部に誤り訂正回路を備え、誤り訂正のステータス(つまり状態)を外部に出力する構成を備えている。外部からステータス読み出し命令が入力された場合、入出力端子の下位3ビットを使用して誤り訂正したビット数や誤り訂正が不能であることを示すデータが出力される(特許文献4の例えば段落0220〜0221、0261〜0262、表4等)。また、検査データとパリティデータを出力することで、誤り訂正回路の動作を外部で確認できるようにしている(特許文献4の段落0226)。   The semiconductor memory described in Patent Document 4 includes an error correction circuit inside the chip, and has a configuration for outputting an error correction status (that is, a state) to the outside. When a status read command is input from the outside, the number of bits corrected using the lower 3 bits of the input / output terminal and data indicating that error correction is impossible are output (for example, paragraph 0220 of Patent Document 4). To 0221, 0261 to 0262, Table 4, etc.). Further, the operation of the error correction circuit can be confirmed externally by outputting check data and parity data (paragraph 0226 of Patent Document 4).

特開2002−197898号公報JP 2002-197898 A 特開2009−134849号公報JP 2009-134849 A 特開2007−052884号公報JP 2007-052884 A 特開2001−014888号公報JP 2001-014888 A

ECC訂正機能を内部に備えていないNAND型フラッシュメモリでは、チップ単体では、完全なデータを保証することが困難であった。そのため、外部(主にNANDコントローラー)にECC(誤り訂正)機能を付加することで、データを保証することが行われていた。しかし、製造プロセスの微細化にともない、メモリセルサイズが小さくなるにつれ、NANDチップ単体でのエラーレートは高くなる。より微細化の進んだNANDチップを用いる場合、高いエラーレートに見合う高い訂正能力を持つECCシステムへの変更が必要となる。このシステムの変更は当然、開発コストや、改変リスクを伴う。このシステムの変更を行なう必要がないように、エラーレートの低いNANDチップ(微細化の進んでいないもの)を提供しつづけることは、製造コストの増大につながる。   In a NAND flash memory that does not have an ECC correction function inside, it is difficult to guarantee complete data with a single chip. Therefore, data has been guaranteed by adding an ECC (error correction) function to the outside (mainly a NAND controller). However, as the manufacturing process is miniaturized, the error rate of the NAND chip alone increases as the memory cell size decreases. In the case of using a NAND chip with further miniaturization, it is necessary to change to an ECC system having a high correction capability corresponding to a high error rate. This system change naturally involves development costs and modification risks. Providing NAND chips with low error rates (those that are not miniaturized) so that there is no need to change the system leads to an increase in manufacturing costs.

解決のひとつとして、NANDチップにオンチップでECC機能を搭載する方法がある。これにより微細化の進んだNANDチップであっても誤り訂正により、エラーレートを低くすることが可能となる。このオンチップECC・NAND型フラッシュメモリを使用すれば、外部のECCシステムを変更することなく(もしくはECCシステムなしで)、先端プロセスのNAND型フラッシュメモリへの換えが可能となる。   As one of the solutions, there is a method of mounting an ECC function on a NAND chip on-chip. This makes it possible to reduce the error rate by error correction even in a NAND chip that has been miniaturized. If this on-chip ECC / NAND flash memory is used, it is possible to replace the leading-edge process with a NAND flash memory without changing the external ECC system (or without the ECC system).

例えば、NANDコントローラー等における外部のECCが、オンチップのECCに比べ能力は低いものである場合、ECCによる訂正能力は、オンチップのECCによって決定される。この場合、オンチップECC・NAND型フラッシュメモリは、基本的にエラーフリーでの動作を前提とされる。   For example, when an external ECC in a NAND controller or the like has a lower capability than an on-chip ECC, the correction capability by the ECC is determined by the on-chip ECC. In this case, the on-chip ECC / NAND flash memory is basically premised on an error-free operation.

一方、NANDコントローラーにはデータの信頼性を保つために、さまざまな管理機能が備えられている。消去/書き込みを所定回数繰り返したブロックは、劣化が予測されるので使用不可にすることなどがよく知られている。例えば、ECCで訂正可能な最大Bit数に達した(迫った)場合などは、訂正した後に、別のブロックに置換するなどの処理を行うことでデータの信頼性を保つことができる。ここで、相対的にECC訂正ビット数が少ないNANDコントローラーと、訂正ビット数が多いNAND型フラッシュメモリとの組み合わせについて考えてみる。この場合、オンチップECC・NAND型フラッシュメモリの場合は、NANDコントローラーから見ると、オンチップECC・NAND型フラッシュメモリはエラーフリーで動作する。このため、NANDコントローラーは、エラーの発生頻度からデータの劣化を予測することが困難となる。よって、上述した管理機能は実質的に機能しなくなる。結果的にデータが劣化しても(すなわちエラー訂正ビット数が増加しても)置換が行われず、劣化が進行してやがて、訂正不可能なエラーが発生してしまう。この状態では、オンチップECC・NAND型フラッシュメモリは内蔵のECC最大訂正能力数よりも多くのエラービットを出力することが予想される。当然ながらこの状態で、外部システムは、これら多くのエラービットを訂正できる手段は持ち合わせておらず、データ破壊の状況になると予想できる。問題点は、エラー訂正不能となる以前はエラーフリーとして動作するため、外部からはデータの劣化度合いが不明であり、管理することができないということである。そのため、やがて劣化が進行し、突然訂正不可能な多くのエラービットを出してしまうという問題が発生する。   On the other hand, the NAND controller is provided with various management functions in order to maintain data reliability. It is well known that a block in which erasing / writing is repeated a predetermined number of times is made unusable because deterioration is predicted. For example, when the maximum number of bits that can be corrected by ECC is reached (approached), the reliability of data can be maintained by performing processing such as replacement with another block after correction. Consider a combination of a NAND controller with a relatively small number of ECC correction bits and a NAND flash memory with a large number of correction bits. In this case, in the case of an on-chip ECC / NAND flash memory, the on-chip ECC / NAND flash memory operates error-free when viewed from the NAND controller. For this reason, it is difficult for the NAND controller to predict data deterioration from the frequency of error occurrence. Therefore, the management function described above does not substantially function. As a result, even if the data is deteriorated (that is, even if the number of error correction bits is increased), the replacement is not performed, and the deterioration progresses and an uncorrectable error occurs. In this state, the on-chip ECC / NAND flash memory is expected to output more error bits than the built-in ECC maximum correction capability number. Of course, in this state, the external system does not have a means for correcting these many error bits, and it can be expected that a situation of data destruction will occur. The problem is that since it operates as error free before error correction becomes impossible, the degree of data degradation is unknown from the outside and cannot be managed. For this reason, there is a problem in that the deterioration progresses over time, and many error bits that cannot be corrected suddenly are generated.

また、特許文献3に記載されている半導体メモリでは、ECCで誤りが多発するカラム(Column)線が置換される。この構成は信頼性向上の手段として有効であると予測される。しかしながらカラム線を置換するためには置換情報をメモリセルに書き込む必要があり、特にNAND型フラッシュメモリではリード(Read)動作に比べて書き込みに時間を要する。そのため、いつ、どのタイミングで置換情報の書き込みをするかということが問題となる。   In addition, in the semiconductor memory described in Patent Document 3, column (Column) lines in which errors frequently occur in ECC are replaced. This configuration is expected to be effective as a means for improving reliability. However, in order to replace the column line, it is necessary to write the replacement information into the memory cell. In particular, in the NAND flash memory, writing takes longer than the read operation. Therefore, when and at what timing the replacement information is written becomes a problem.

また、特許文献3に記載されている半導体メモリでは、置換情報の書き込みのためのデバイスビジー期間が生じてしまうなどの問題があり、既存システムに不都合が生じる可能性が高い。   Further, the semiconductor memory described in Patent Document 3 has a problem that a device busy period for writing replacement information occurs, and there is a high possibility that an inconvenience occurs in an existing system.

一方、特許文献4に記載されている半導体メモリでは、ステータス信号として誤りが発生したビット数を表す信号が出力される。そのため、誤り訂正可能なビット数を増やすと、ステータスを出力するための信号数が増えてしまうという問題がある。   On the other hand, in the semiconductor memory described in Patent Document 4, a signal indicating the number of bits in which an error has occurred is output as a status signal. Therefore, when the number of bits that can be corrected is increased, there is a problem that the number of signals for outputting the status increases.

本発明は、上記の事情を考慮してなされたものであり、上記の課題を解決することができる半導体メモリ及び誤り訂正ビット数の出力方法を提供することを目的とする。   The present invention has been made in view of the above circumstances, and an object thereof is to provide a semiconductor memory and an error correction bit number output method capable of solving the above-described problems.

上記課題を解決するため、本発明の半導体メモリは、メモリアレイと、前記メモリアレイの各ビット線に接続された複数のラッチを有するページバッファと、前記ページバッファから所定の複数ビットを誤り訂正単位として読み出し、該読み出したデータに含まれる誤りビットを訂正して該ページバッファに書き戻す誤り訂正回路と、前記誤り訂正単位毎の誤り訂正ビット数に基づく所定の演算処理の結果を保持しながら、前記誤り訂正単位の複数単位にわたる演算処理の結果を出力する累算回路と、前記累算回路の出力と、所定の基準値とを比較し、比較結果を出力する比較回路と、前記比較回路による比較結果を出力する出力回路とを備えることを特徴とする。   In order to solve the above problems, a semiconductor memory according to the present invention includes a memory array, a page buffer having a plurality of latches connected to each bit line of the memory array, and a predetermined plurality of bits from the page buffer as error correction units. An error correction circuit that corrects an error bit included in the read data and writes it back to the page buffer, while holding a result of a predetermined calculation process based on the number of error correction bits for each error correction unit, An accumulation circuit that outputs a result of arithmetic processing over a plurality of units of the error correction unit, a comparison circuit that compares the output of the accumulation circuit with a predetermined reference value and outputs a comparison result, and the comparison circuit And an output circuit for outputting a comparison result.

また、本発明の他の半導体メモリは、前記所定の演算処理が、複数の前記誤り訂正単位毎の誤り訂正ビット数の最大値を求める処理であることを特徴とする。   In another semiconductor memory according to the present invention, the predetermined arithmetic processing is processing for obtaining a maximum value of the number of error correction bits for each of the plurality of error correction units.

また、本発明の他の半導体メモリは、前記所定の演算処理が、複数の前記誤り訂正単位毎の誤り訂正ビット数の合計値を求める処理であることを特徴とする。   In another semiconductor memory of the present invention, the predetermined calculation process is a process for obtaining a total value of the number of error correction bits for each of the plurality of error correction units.

また、本発明の他の半導体メモリは、前記比較回路が、前記累算回路の出力と、所定の複数の基準値とを比較し、複数の段階からなる度合を表す信号として前記比較結果を出力することを特徴とする。   In another semiconductor memory of the present invention, the comparison circuit compares the output of the accumulation circuit with a predetermined plurality of reference values, and outputs the comparison result as a signal indicating the degree of a plurality of stages. It is characterized by doing.

また、本発明の他の半導体メモリは、前記メモリアレイが複数であり、前記累算回路が複数あることを特徴とする。   Another semiconductor memory of the present invention is characterized in that the memory array is plural and the accumulation circuits are plural.

また、本発明の他の半導体メモリは、前記累算回路が、フェイルビット数をカウントするフェイルビットカウンタに共用されるものであることを特徴とする。   Another semiconductor memory according to the present invention is characterized in that the accumulation circuit is shared by a fail bit counter for counting the number of fail bits.

また、本発明の他の半導体メモリは、前記出力回路が、前記ページバッファから読み出された複数ビットのデータのうちの所定のビットを誤りデータとすることで、前記比較回路による比較結果を出力することを特徴とする。   In another semiconductor memory of the present invention, the output circuit outputs a comparison result by the comparison circuit by using predetermined bits of the plurality of bits of data read from the page buffer as error data. It is characterized by doing.

また、本発明の他の半導体メモリは、前記出力回路が、外部から入力されたステータスコマンドに応じて前記比較回路による比較結果を出力することを特徴とする。   In another semiconductor memory of the present invention, the output circuit outputs a comparison result by the comparison circuit in response to a status command input from the outside.

また、本発明の誤り訂正ビット数の出力方法は、メモリアレイと、前記メモリアレイの各ビット線に接続された複数のラッチを有するページバッファと、前記ページバッファから所定の複数ビットを誤り訂正単位として読み出し、該読み出したデータに含まれる誤りビットを訂正して該ページバッファに書き戻す誤り訂正回路と、前記誤り訂正単位毎の誤り訂正ビット数に基づく所定の演算処理の結果を保持しながら、前記誤り訂正単位の複数単位にわたる演算処理の結果を出力する累算回路と、前記累算回路の出力と、所定の基準値とを比較し、比較結果を出力する比較回路とを用いて、所定の出力回路から前記比較回路による比較結果を出力することを特徴とする。   According to another aspect of the present invention, there is provided an error correction bit number output method comprising: a memory array; a page buffer having a plurality of latches connected to each bit line of the memory array; and a predetermined plurality of bits from the page buffer as error correction units. An error correction circuit that corrects an error bit included in the read data and writes it back to the page buffer, while holding a result of a predetermined calculation process based on the number of error correction bits for each error correction unit, Using an accumulation circuit that outputs a result of arithmetic processing over a plurality of units of the error correction unit, and a comparison circuit that compares the output of the accumulation circuit with a predetermined reference value and outputs a comparison result, The comparison result of the comparison circuit is output from the output circuit.

本発明の半導体メモリでは、累算回路が、誤り訂正単位毎の誤り訂正ビット数に基づく所定の演算処理の結果を保持しながら、誤り訂正単位の複数単位にわたる演算処理の結果を出力する。また、比較回路が、累算回路の出力と、所定の基準値とを比較し、比較結果を出力する。そして、出力回路が、比較回路による比較結果を出力する。この構成によれば、出力回路からは、比較回路による比較結果が出力される。よって、誤り訂正ビット数が多くなったとしても、比較回路による比較結果を表す信号のビット数を少なくすることで、誤り訂正の状態を表す信号である出力信号のビット数を容易に少なくすることができる。   In the semiconductor memory of the present invention, the accumulation circuit outputs the result of the arithmetic processing over a plurality of units of the error correction unit while holding the result of the predetermined arithmetic processing based on the number of error correction bits for each error correction unit. The comparison circuit compares the output of the accumulation circuit with a predetermined reference value and outputs a comparison result. Then, the output circuit outputs a comparison result by the comparison circuit. According to this configuration, the comparison result from the comparison circuit is output from the output circuit. Therefore, even if the number of error correction bits increases, the number of bits of the output signal, which is a signal indicating the error correction state, can be easily reduced by reducing the number of bits of the signal indicating the comparison result by the comparison circuit. Can do.

なお、上記の効果は、所定の演算処理が、複数の誤り訂正単位毎の誤り訂正ビット数の最大値を求める処理である場合や、所定の演算処理が、複数の誤り訂正単位毎の誤り訂正ビット数の合計値を求める処理である場合でも、同様である。   Note that the above effect can be obtained when the predetermined arithmetic processing is processing for obtaining the maximum number of error correction bits for each of a plurality of error correction units, or when the predetermined arithmetic processing is performed for error correction for a plurality of error correction units. The same applies to the processing for obtaining the total value of the number of bits.

また、比較回路が、累算回路の出力と、所定の複数の基準値とを比較し、複数の段階からなる度合を表す信号として比較結果を出力する場合、誤り訂正の状態を表す信号である出力信号のビット数を適切に設定することで、ビット数を大きく増加させることなく、誤り訂正の状態をより詳細に出力することができる。   Further, when the comparison circuit compares the output of the accumulation circuit with a plurality of predetermined reference values and outputs the comparison result as a signal indicating the degree of a plurality of stages, the signal indicates an error correction state. By appropriately setting the number of bits of the output signal, it is possible to output the error correction state in more detail without greatly increasing the number of bits.

また、メモリアレイを複数とし、累算回路を複数とすることで、メモリセルの個数を増加させた大容量の半導体メモリにおいても誤り訂正の状態を適切に外部に出力することができる。   Further, by providing a plurality of memory arrays and a plurality of accumulation circuits, it is possible to appropriately output an error correction state to the outside even in a large-capacity semiconductor memory in which the number of memory cells is increased.

また、累算回路が、フェイルビット数をカウントするフェイルビットカウンタに共用されるものとした場合、両者を別々の構成とする場合と比べ回路面積等を容易に小さくすることができる。   Further, when the accumulation circuit is shared by a fail bit counter that counts the number of fail bits, the circuit area and the like can be easily reduced as compared with the case where both are configured separately.

また、他の本発明の半導体メモリでは、出力回路が、ページバッファから読み出された複数ビットのデータのうちの所定のビットを誤りデータとすることで、比較回路による比較結果を出力する。この構成によれば、ECC訂正機能とデータ劣化時のブロック置換機能等を備える外部のフラッシュメモリ・コントローラー等による管理機能と、本発明の半導体メモリと、を組み合わせた場合に、次の効果を奏する。すなわち、この構成では、例えば、半導体メモリ内部で検出した誤り訂正ビット数と異なる数のビットを強制的に誤りデータとして出力することができる。例えば、外部の管理機能の誤り訂正能力が、本発明の半導体メモリが備える誤り訂正回路の誤り訂正能力より低い場合、出力する誤りビット数を、外部の誤り訂正能力以内で、かつ、劣化がある程度発生したようなビット数に設定する。この場合、外部の管理機能によって、誤りは訂正可能で、また、ブロック置換などの処理を行わせることも可能となる。   In another semiconductor memory of the present invention, the output circuit outputs a comparison result by the comparison circuit by using predetermined bits of the plurality of bits of data read from the page buffer as error data. According to this configuration, when the management function by an external flash memory controller or the like having an ECC correction function and a block replacement function at the time of data deterioration and the semiconductor memory of the present invention are combined, the following effects are obtained. . That is, with this configuration, for example, a number of bits different from the number of error correction bits detected in the semiconductor memory can be forcibly output as error data. For example, when the error correction capability of the external management function is lower than the error correction capability of the error correction circuit included in the semiconductor memory of the present invention, the number of error bits to be output is within the external error correction capability and the deterioration is to some extent. Set the number of bits as it occurs. In this case, the error can be corrected by an external management function, and processing such as block replacement can be performed.

また、出力回路が、外部から入力されたステータスコマンドに応じて比較回路による比較結果を出力することで、外部のフラッシュメモリ・コントローラー等による管理機能において大きな変更無く、比較結果の出力を利用することが可能となる。   In addition, the output circuit outputs the comparison result by the comparison circuit according to the status command input from the outside, so that the output of the comparison result can be used without significant change in the management function by the external flash memory controller etc. Is possible.

本発明の一実施形態の半導体メモリの構成を示したブロック図である。1 is a block diagram illustrating a configuration of a semiconductor memory according to an embodiment of the present invention. 図1に示したページバッファ12内に複数設けられるページバッファユニットの構成例を示したブロック図である。FIG. 2 is a block diagram illustrating a configuration example of a plurality of page buffer units provided in the page buffer 12 illustrated in FIG. 1. 図1に示した半導体メモリ1で用いる誤り訂正単位の一例を示した説明図である。FIG. 2 is an explanatory diagram showing an example of an error correction unit used in the semiconductor memory 1 shown in FIG. 1. 図1に示した判定部18の構成例を示したブロック図である。It is the block diagram which showed the structural example of the determination part 18 shown in FIG. 図4に示した判定部18の動作例を説明するためのタイミングチャートである。5 is a timing chart for explaining an operation example of a determination unit 18 shown in FIG. 4. 図1に示した判定部18の他の構成例(図6では判定部18a)を示したブロック図である。It is the block diagram which showed the other structural example (In FIG. 6, the determination part 18a) of the determination part 18 shown in FIG. 図6に示した判定部18aの動作例を説明するためのタイミングチャートである。It is a timing chart for demonstrating the operation example of the determination part 18a shown in FIG. 図6に示した判定部18aの出力信号の他の例を示した図表である。It is the graph which showed the other example of the output signal of the determination part 18a shown in FIG. 図1に示した判定部18及び誤り訂正回路16と、図1では不図示のフェイルビット検出ブロック21との組み合わせ例を示したブロック図である。2 is a block diagram illustrating an example of a combination of a determination unit 18 and an error correction circuit 16 illustrated in FIG. 1 and a fail bit detection block 21 (not illustrated in FIG. 1). 図1に示した出力バッファ17の構成例を示した回路図である。FIG. 2 is a circuit diagram illustrating a configuration example of an output buffer 17 illustrated in FIG. 1. 図1に示した出力バッファ17の出力信号の他の例を示した図表である。6 is a chart showing another example of an output signal of the output buffer 17 shown in FIG. 1.

以下、図面を参照して本発明の実施形態について説明する。図1は、本発明の一実施形態であるNAND型フラッシュメモリの構成例を示したブロック図である。NAND型フラッシュメモリ(NAND Chip)1は、メモリアレイ(Memory Array)11、ページバッファ(PB(Page Buffer))12、カラムコーディング回路A(Column Coding A)13、カラムコーディング回路B(Column Coding B)14、アドレス制御回路(Adress Control)15、誤り訂正回路(ECC)16、出力バッファ17、判定部18、及び入出力パッド(I/O PAD)19を備えている。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration example of a NAND flash memory according to an embodiment of the present invention. A NAND flash memory 1 includes a memory array 11, a page buffer (PB (Page Buffer)) 12, a column coding circuit A (Column Coding A) 13, and a column coding circuit B (Column Coding B). 14, an address control circuit (Address Control) 15, an error correction circuit (ECC) 16, an output buffer 17, a determination unit 18, and an input / output pad (I / O PAD) 19.

メモリアレイ11は、配列状に並んだ複数のメモリセル(すなわちメモリセルトランジスタ)を含んで構成されている。複数のメモリセルのドレイン及びソースが直列に接続され、両端のドレイン及びソースが選択トランジスタを介してビット線及びソース線に接続されている。また、各列の複数のメモリセルのゲートは、行方向の複数のワード線によって接続されている。   The memory array 11 includes a plurality of memory cells (that is, memory cell transistors) arranged in an array. The drains and sources of the plurality of memory cells are connected in series, and the drains and sources at both ends are connected to the bit line and the source line via a selection transistor. The gates of the plurality of memory cells in each column are connected by a plurality of word lines in the row direction.

ページバッファ12は、メモリアレイ11が有する複数のビット線にそれぞれ接続される複数のラッチやセンスアンプを有して構成されている。ページバッファ12は、例えば、約512から数千程度のページバッファユニットから構成されている。ただし、ページバッファユニットの個数はメモリ容量の変化にともなって変化する。図2にそのページバッファユニットの構成を例示する。図2に示した各ページバッファユニット50には、メモリアレイ11のビット線(BL)8本が接続される。ビット線毎にラッチ51_0〜51_7があり、各ラッチ51_0〜51_7は、メモリアレイ11からリード/メモリアレイ11にライトするデータを保持する。各ラッチ51_0〜51_7は、マルチプレクサ(MUX)52に接続されていて、図示していない内部の制御回路で生成されたサブビット線コーディング信号(Sub BL Coding)に従って8本のビット線のうちのいずれかが選択され、ページバッファコントロール回路(PB Control Circuit)53に接続される。ページバッファコントロール回路53は、コーディング信号(Coding)に応じて、マルチプレクサ52と、誤り訂正回路16又は入出力パッド19とを接続する。ページバッファコントロール回路53は、カラムコーディング回路A13の一部と、カラムコーディング回路B14の一部とを組み合わせた回路である。また、コーディング信号(Coding)は、アドレスA信号(Address A)又はアドレスB信号(Address B)に基づいて生成される。   The page buffer 12 includes a plurality of latches and sense amplifiers respectively connected to a plurality of bit lines included in the memory array 11. The page buffer 12 is composed of, for example, about 512 to several thousand page buffer units. However, the number of page buffer units changes as the memory capacity changes. FIG. 2 illustrates the configuration of the page buffer unit. Each page buffer unit 50 shown in FIG. 2 is connected with eight bit lines (BL) of the memory array 11. There are latches 51_0 to 51_7 for each bit line, and each of the latches 51_0 to 51_7 holds data to be written from the memory array 11 to the read / memory array 11. Each of the latches 51_0 to 51_7 is connected to a multiplexer (MUX) 52, and is one of eight bit lines according to a sub bit line coding signal (Sub BL Coding) generated by an internal control circuit (not shown). Is selected and connected to a page buffer control circuit (PB Control Circuit) 53. The page buffer control circuit 53 connects the multiplexer 52 and the error correction circuit 16 or the input / output pad 19 in accordance with a coding signal (Coding). The page buffer control circuit 53 is a circuit combining a part of the column coding circuit A13 and a part of the column coding circuit B14. The coding signal (Coding) is generated based on the address A signal (Address A) or the address B signal (Address B).

カラムコーディング回路A13は、入力されたアドレスA信号(Address A)に対応するページバッファ12内のページバッファユニット50を選択し、データの入出力を行う回路である。カラムコーディング回路A13は、図2のページバッファコントロール回路53の複数分に対応する回路である。   The column coding circuit A13 is a circuit that selects the page buffer unit 50 in the page buffer 12 corresponding to the input address A signal (Address A) and inputs / outputs data. The column coding circuit A13 is a circuit corresponding to a plurality of page buffer control circuits 53 in FIG.

なお、カラムコーディング回路A13と入出力パッド19間、並びに、カラムコーディング回路A13及び入出力パッド19と出力バッファ17間におけるデータの受け渡しは、例えば8(あるいは16)本程度の信号線からなるバスを用いて行われる。   Note that data is transferred between the column coding circuit A13 and the input / output pad 19 and between the column coding circuit A13, the input / output pad 19 and the output buffer 17, for example, by a bus composed of about 8 (or 16) signal lines. Done with.

アドレス制御回路15は、データを読み書きしたいアドレスを表すアドレスA信号を生成し、カラムコーディング回路A13に送る。   The address control circuit 15 generates an address A signal representing an address at which data is to be read / written and sends the signal to the column coding circuit A13.

入出力パッド19は、例えばNANDコントローラー等の外部の装置との間でデータ(Data)の受け渡しを行う。入出力パッド19から入力されたデータは、カラムコーディング回路A13に送られる。出力バッファ17から出力されたデータが、入出力パッド19から出力される。   The input / output pad 19 exchanges data (Data) with an external device such as a NAND controller. Data input from the input / output pad 19 is sent to the column coding circuit A13. The data output from the output buffer 17 is output from the input / output pad 19.

誤り訂正回路16は、カラムコーディング回路B14を介してページバッファ12から所定の複数ビットを誤り訂正単位として読み出し、その読み出したデータに含まれる誤りビットを訂正して、再びカラムコーディング回路B14を介してページバッファ12に書き戻す回路である。誤り訂正単位は、例えば図3に示したように、メモリアレイ11におけるページを所定の複数に分割したセクターとすることができる。ここで、図3は、誤り訂正単位を説明するための説明図である。図3は、ページバッファ12に格納されている、メモリアレイ11からの読み出し単位である1ページ(Page)分(すなわち同一のワード線で選択される複数のメモリセル)のデータを模式的に示している。図3に示した例では、メモリアレイ11の1ページ(P0)が4個のECCセクター(ECC Sector)0〜3(ES0〜ES3)に分けられている。誤り訂正回路16は、ECCセクター0からECCセクター3へと順にECCセクター毎に、カラムコーディング回路B14を介してページバッファ12かデータを読み出し、その読み出したデータに含まれる誤りビットを訂正して、再びカラムコーディング回路B14を介してページバッファ12に書き戻す。   The error correction circuit 16 reads a predetermined plurality of bits as an error correction unit from the page buffer 12 via the column coding circuit B14, corrects the error bits included in the read data, and again passes through the column coding circuit B14. This is a circuit for writing back to the page buffer 12. For example, as shown in FIG. 3, the error correction unit may be a sector obtained by dividing a page in the memory array 11 into a predetermined plurality. Here, FIG. 3 is an explanatory diagram for explaining an error correction unit. FIG. 3 schematically shows data of one page (that is, a plurality of memory cells selected by the same word line) stored in the page buffer 12 as a unit of reading from the memory array 11. ing. In the example shown in FIG. 3, one page (P0) of the memory array 11 is divided into four ECC sectors (ECC Sector) 0 to 3 (ES0 to ES3). The error correction circuit 16 reads data from the page buffer 12 via the column coding circuit B14 for each ECC sector in order from the ECC sector 0 to the ECC sector 3, and corrects error bits included in the read data, The data is written back to the page buffer 12 again through the column coding circuit B14.

誤り訂正回路16は、ページバッファ12内の読み出し/書き込みアドレスを表すアドレス信号Bを生成し、カラムコーディング回路B14へ出力する。このアドレス信号Bによって、処理対象となるECCセクター0から3のいずれかが選択される。また、本実施形態では、誤り訂正回路16は、セクター毎エラー数ED[3:0]を判定部18に向けて出力する。セクター毎エラー数ED[3:0]は、誤り訂正単位毎の誤り訂正ビット数(すなわちエラー検出ビット数)を表す信号である。例えば、セクター毎エラー数ED[3:0]は、第3ビット〜第0ビットを含む2進数の4ビットの信号である。また、誤り訂正回路16は、セクター毎エラー数ED[3:0]の更新のタイミングを表すECCクロック信号ECC_CLKを判定部18に向けて出力する。例えば、誤り検出/訂正が、数のECCセクターに対して連続して行われる場合はこのクロック信号を用いることでセクター毎エラー数ED[3:0]がセクター単位で切り替わるタイミングに同期をとることができる。   The error correction circuit 16 generates an address signal B representing a read / write address in the page buffer 12 and outputs it to the column coding circuit B14. By this address signal B, one of ECC sectors 0 to 3 to be processed is selected. In this embodiment, the error correction circuit 16 outputs the number of errors per sector ED [3: 0] to the determination unit 18. The number of errors per sector ED [3: 0] is a signal representing the number of error correction bits (that is, the number of error detection bits) for each error correction unit. For example, the number of errors per sector ED [3: 0] is a binary 4-bit signal including the third to 0th bits. Further, the error correction circuit 16 outputs an ECC clock signal ECC_CLK indicating the update timing of the number of errors per sector ED [3: 0] to the determination unit 18. For example, when error detection / correction is continuously performed for a number of ECC sectors, this clock signal is used to synchronize with the timing at which the number of errors per sector ED [3: 0] is switched on a sector basis. Can do.

誤り訂正回路16による誤り訂正可能なビット数は、誤り訂正の方式や冗長ビットのビット数によって異なる。誤りビット数は、ハミング符号においては0ビットもしくは1ビットの2通りとなる。BCH(Bose−Chaudhuri−Hocquenghem)コードでは誤り検出可能なビット数は様々である。本実施形態では、例としてセクター毎に最大8ビットのエラーを検出できるBCHコードを使用し、誤り訂正ビット数(=検出ビット数)は上述したように4ビットの2進数ED[3:0]で表現されるものとする。   The number of bits that can be corrected by the error correction circuit 16 varies depending on the error correction method and the number of redundant bits. The number of error bits is two in the Hamming code, 0 bit or 1 bit. In BCH (Bose-Chudhuri-Hocquenhem) code, the number of bits that can be detected with errors varies. In this embodiment, a BCH code capable of detecting an error of up to 8 bits per sector is used as an example, and the number of error correction bits (= number of detected bits) is a 4-bit binary number ED [3: 0] as described above. It shall be expressed as

例えば、ED[3:0]=0000bでは0ビットエラー、ED[3:0]=0101bでは5ビットエラーということになる。ここで、数字の後のbは2進数を示す。誤りビット数は、シンドロームから計算できることが公知となっており、その機構についての説明は割愛する。   For example, when ED [3: 0] = 0000b, a 0-bit error occurs, and when ED [3: 0] = 0101b, a 5-bit error occurs. Here, b after the number indicates a binary number. It is known that the number of error bits can be calculated from the syndrome, and a description of the mechanism is omitted.

カラムコーディング回路B14は、入力されたアドレスB信号(Address B)に対応するページバッファ12内のページバッファユニット50を選択し、データの入出力を行う回路である。   The column coding circuit B14 is a circuit that selects the page buffer unit 50 in the page buffer 12 corresponding to the input address B signal (Address B) and inputs / outputs data.

出力バッファ17は、判定部18の判定結果を入出力パッド19に出力したり、カラムコーディング回路A13を介してページバッファ12から読み出したデータを入出力パッド19に出力したりするための回路である。   The output buffer 17 is a circuit for outputting the determination result of the determination unit 18 to the input / output pad 19 and outputting the data read from the page buffer 12 via the column coding circuit A13 to the input / output pad 19. .

判定部18は、エラー検出ビット数ED[3:0]に基づく所定の演算処理を行い演算処理の結果と所定の基準値(すなわちしきい値)と比較することで、データ(すなわちメモリセル)が劣化しているかどうか判定する回路である。判定部18は、例えば、誤り訂正単位毎(すなわちセクター毎)のエラー検出ビット数(すなわち誤り訂正ビット数)に基づく所定の演算処理の結果を保持しながら、誤り訂正単位の複数単位にわたる演算処理の結果を出力する累算回路と、累算回路の出力と所定の基準値とを比較して比較結果を出力する比較回路とを用いて構成することができる。図4に判定部18の構成の一例を示した。   The determination unit 18 performs predetermined arithmetic processing based on the error detection bit number ED [3: 0], and compares the result of the arithmetic processing with a predetermined reference value (that is, a threshold value), thereby obtaining data (that is, a memory cell). This is a circuit for determining whether or not the battery has deteriorated. For example, the determination unit 18 holds a result of a predetermined arithmetic processing based on the number of error detection bits (that is, the number of error correction bits) for each error correction unit (that is, for each sector), and performs arithmetic processing over a plurality of error correction units. The accumulation circuit that outputs the result of the above and the comparison circuit that compares the output of the accumulation circuit with a predetermined reference value and outputs the comparison result can be used. FIG. 4 shows an example of the configuration of the determination unit 18.

図4は、図1に示した判定部18の構成例を示したブロック図である。図4に示した判定部18は、累算カウンタ181と、比較回路182とから構成されている。累算カウンタ181は、演算器1811と、レジスタ1812とを含んで構成されている。演算器1811は、加算処理を行う回路であり、レジスタ1812に格納されているデータ(すなわちレジスタ1812の出力データ)と、セクター毎エラー数ED[3:0]とを加算して、加算した結果を出力する。レジスタ1812は、8ビットの記憶回路であり、演算器1811の出力をECCクロック信号ECC_CLKに同期して記憶する。このレジスタ1812の出力が累算エラー数を表す8ビットの信号AC[7:0]となる。   FIG. 4 is a block diagram illustrating a configuration example of the determination unit 18 illustrated in FIG. The determination unit 18 illustrated in FIG. 4 includes an accumulation counter 181 and a comparison circuit 182. The accumulation counter 181 includes an arithmetic unit 1811 and a register 1812. The arithmetic unit 1811 is a circuit that performs addition processing, and adds the data stored in the register 1812 (that is, the output data of the register 1812) and the number of errors per sector ED [3: 0], and the result of addition is added. Is output. The register 1812 is an 8-bit storage circuit and stores the output of the arithmetic unit 1811 in synchronization with the ECC clock signal ECC_CLK. The output of the register 1812 becomes an 8-bit signal AC [7: 0] representing the number of accumulated errors.

一方、比較回路182は、累算エラー数AC[7:0]と、劣化判定基準値を表す8ビットの信号AC_Fail_Bit[7:0]とを比較し、比較結果を、劣化判定フラグAC_Fail信号として出力する。劣化判定フラグAC_Fail信号は、1ビットの信号であり、累算エラー数AC[7:0]が劣化判定基準値AC_Fail_Bit[7:0]以上の場合に“Hi”レベルに設定される。   On the other hand, the comparison circuit 182 compares the accumulated error number AC [7: 0] with the 8-bit signal AC_Fail_Bit [7: 0] representing the deterioration determination reference value, and uses the comparison result as the deterioration determination flag AC_Fail signal. Output. The deterioration determination flag AC_Fail signal is a 1-bit signal, and is set to the “Hi” level when the accumulated error number AC [7: 0] is equal to or greater than the deterioration determination reference value AC_Fail_Bit [7: 0].

ここで図5を参照して、図4に示した判定部18の動作例について説明する。図5は、図4に示した各部の信号の変化を示すタイミングチャートであり、横軸は時間軸である。信号は、上から順に、ECCクロック信号ECC_CLK、セクター毎エラー数ED[3:0]、累算エラー数AC[7:0]、劣化判定基準AC_Fail_Bit[7:0]、そして、劣化判定フラグAC_Failである。この場合、劣化判定基準AC_Fail_Bit[7:0]を“11”(10進)=“Bh”(hは16進数を表す)に設定している。劣化判定基準AC_Fail_Bit[7:0]は例えば製造段階でヒューズ回路を用いて選択的に設定できるようにしたり、外部から入力される信号に従って所定の記憶回路に値を保持することで設定できるようにしたりすることができる。   Here, with reference to FIG. 5, the operation example of the determination part 18 shown in FIG. 4 is demonstrated. FIG. 5 is a timing chart showing changes in signals of the respective units shown in FIG. 4, and the horizontal axis is a time axis. The signals are, in order from the top, the ECC clock signal ECC_CLK, the number of errors per sector ED [3: 0], the number of accumulated errors AC [7: 0], the degradation determination criterion AC_Fail_Bit [7: 0], and the degradation determination flag AC_Fail. It is. In this case, the degradation criterion AC_Fail_Bit [7: 0] is set to “11” (decimal) = “Bh” (h represents a hexadecimal number). The degradation criterion AC_Fail_Bit [7: 0] can be set, for example, by using a fuse circuit in the manufacturing stage, or by holding a value in a predetermined storage circuit according to a signal input from the outside. Can be.

ECCクロック信号ECC_CLKはセクター毎エラー数ED[3:0]の切り替わりのタイミングに同期して変化し、レジスタ1812はECCクロック信号の立ち上がりのタイミングで演算器1811(すなわち加算器)の出力を保持する。この例では、セクター毎エラー数ED[3:0]が、セクター0で“0”(=0000b)ビット、セクター1で“2”(=0010b)ビット、セクター2で“8”(=1000b)ビット、そして、セクター3で“1”(=0001b)ビットと変化したとする。この場合、ECCクロック信号ECC_CLKの立ち上がりのタイミングで、レジスタ1812の保持値(すなわち出力値)である累算エラー数AC[7:0]は、“0h”、“2h”、“Ah”、そして、“Bh”と変化する。累算エラー数AC[7:0]が“Bh”となったとき、AC[7:0]≧AC_Fail_Bit[7:0]となるので、比較回路182は劣化判定フラグAC_Failに“Hi”レベルを出力する。   The ECC clock signal ECC_CLK changes in synchronization with the switching timing of the number of errors per sector ED [3: 0], and the register 1812 holds the output of the arithmetic unit 1811 (that is, an adder) at the rising timing of the ECC clock signal. . In this example, the number of errors per sector ED [3: 0] is “0” (= 0000b) bits in sector 0, “2” (= 0010b) bits in sector 1, and “8” (= 1000b) in sector 2. It is assumed that the bit is changed to “1” (= 0001b) bit in the sector 3. In this case, at the rising timing of the ECC clock signal ECC_CLK, the accumulated error number AC [7: 0] that is the value held in the register 1812 (ie, the output value) is “0h”, “2h”, “Ah”, and , “Bh”. When the accumulated error number AC [7: 0] becomes “Bh”, since AC [7: 0] ≧ AC_Fail_Bit [7: 0], the comparison circuit 182 sets the deterioration determination flag AC_Fail to the “Hi” level. Output.

なお、判定回路18の構成は、図4及び図5を参照して説明したように、複数のセクター(すなわち誤り訂正単位)にわたる誤り訂正ビット数の合計値と、所定の基準値とを比較する構成に限定されない。さらに、図6及び図7を参照して、判定回路18の他の構成例について説明する。   As described with reference to FIGS. 4 and 5, the configuration of the determination circuit 18 compares the total number of error correction bits over a plurality of sectors (that is, error correction units) with a predetermined reference value. It is not limited to the configuration. Furthermore, another configuration example of the determination circuit 18 will be described with reference to FIGS. 6 and 7.

図6は、図1に示した判定部18の他の構成例を示したブロック図である。図6に示した判定部18a(図1の判定部18に対応する構成)は、最大値保持レジスタ181aと、比較回路182aとから構成されている。最大値保持レジスタ181aは、演算器1811aと、レジスタ1812aとを含んで構成されている。演算器1811aは、入力された1対の信号のうち大きい方の信号を出力する回路であり、レジスタ1812aに格納されているデータ(すなわちレジスタ1812aの出力データ)と、セクター毎エラー数ED[3:0]とを比較して、大きい方の信号を出力する。レジスタ1812aは、4ビットの記憶回路であり、演算器1811aの出力をECCクロック信号ECC_CLKに同期して記憶する。このレジスタ1812aの出力がセクター毎のエラー数の最大値を表す4ビットの信号MaxED[3:0]となる。   FIG. 6 is a block diagram showing another configuration example of the determination unit 18 shown in FIG. The determination unit 18a shown in FIG. 6 (configuration corresponding to the determination unit 18 in FIG. 1) includes a maximum value holding register 181a and a comparison circuit 182a. The maximum value holding register 181a includes an arithmetic unit 1811a and a register 1812a. The arithmetic unit 1811a is a circuit that outputs the larger one of the input pair of signals, and the data stored in the register 1812a (that is, the output data of the register 1812a) and the number of errors per sector ED [3 : 0], the larger signal is output. The register 1812a is a 4-bit storage circuit and stores the output of the arithmetic unit 1811a in synchronization with the ECC clock signal ECC_CLK. The output of the register 1812a becomes a 4-bit signal MaxED [3: 0] representing the maximum number of errors for each sector.

一方、比較回路182aは、エラー数の最大値MaxED[3:0]と、劣化判定基準値を表す4ビットの信号MaxED_Fail_Bit[3:0]とを比較し、比較結果を、劣化判定フラグMaxED_Fail信号として出力する。劣化判定フラグMaxED_Fail信号は、1ビットの信号であり、最大エラー数MaxED[3:0]が劣化判定基準値MaxED_Fail_Bit[3:0]以上の場合に“Hi”レベルに設定される。この劣化判定基準MaxED_Fail_Bit[3:0]は例えば製造段階でヒューズ回路を用いて選択的に設定できるようにしたり、外部から入力される信号に従って所定の記憶回路に値を保持することで設定できるようにしたりすることができる。   On the other hand, the comparison circuit 182a compares the maximum value MaxED [3: 0] of the number of errors with a 4-bit signal MaxED_Fail_Bit [3: 0] representing the deterioration determination reference value, and compares the comparison result with the deterioration determination flag MaxED_Fail signal. Output as. The deterioration determination flag MaxED_Fail signal is a 1-bit signal, and is set to the “Hi” level when the maximum error number MaxED [3: 0] is equal to or greater than the deterioration determination reference value MaxED_Fail_Bit [3: 0]. This deterioration determination criterion MaxED_Fail_Bit [3: 0] can be set, for example, selectively using a fuse circuit in the manufacturing stage, or can be set by holding a value in a predetermined storage circuit in accordance with an externally input signal. Can be.

ここで図7を参照して、図6に示した判定部18aの動作例について説明する。図7は、図6に示した各部の信号の変化を示すタイミングチャートであり、横軸は時間軸である。信号は、上から順に、ECCクロック信号ECC_CLK、セクター毎エラー数ED[3:0]、最大エラー数MaxED[3:0]、劣化判定基準MaxED_Fail_Bit[3:0]、そして、劣化判定フラグMaxED_Failである。この場合、劣化判定基準MaxED_Fail_Bit[3:0]を“0111b”(2進数)=“7”(10進数)に設定している。   Here, with reference to FIG. 7, an operation example of the determination unit 18a illustrated in FIG. 6 will be described. FIG. 7 is a timing chart showing changes in signals of the respective units shown in FIG. 6, and the horizontal axis is a time axis. The signals are, in order from the top, the ECC clock signal ECC_CLK, the number of errors per sector ED [3: 0], the maximum number of errors MaxED [3: 0], the degradation determination criterion MaxED_Fail_Bit [3: 0], and the degradation determination flag MaxED_Fail. is there. In this case, the degradation determination criterion MaxED_Fail_Bit [3: 0] is set to “0111b” (binary number) = “7” (decimal number).

ECCクロック信号ECC_CLKはセクター毎エラー数ED[3:0]の切り替わりのタイミングに同期して変化し、レジスタ1812aはECCクロック信号ECC_CLKの立ち上がりのタイミングで演算器1811aの出力を保持する。この例では、セクター毎エラー数ED[3:0]が、セクター0で“0”(=0000b)ビット、セクター1で“2”(=0010b)ビット、セクター2で“8”(=1000b)ビット、そして、セクター3で“1”(=0001b)ビットと変化したとする。この場合、ECCクロック信号ECC_CLKの立ち上がりのタイミングで、レジスタ1812aの保持値(すなわち出力値)である最大エラー数MaxED[3:0]は、“0000b”、“0010b”、“1000b”と変化し、その後は“1000b”一定となる。最大エラー数MaxED[3:0]が“1000b”となったとき、MaxED[3:0]≧MaxED_Fail_Bit[3:0]となるので、比較回路182aは劣化判定フラグMaxED_Failに“Hi”レベルを出力する。   The ECC clock signal ECC_CLK changes in synchronization with the switching timing of the number of errors per sector ED [3: 0], and the register 1812a holds the output of the arithmetic unit 1811a at the rising timing of the ECC clock signal ECC_CLK. In this example, the number of errors per sector ED [3: 0] is “0” (= 0000b) bits in sector 0, “2” (= 0010b) bits in sector 1, and “8” (= 1000b) in sector 2. It is assumed that the bit is changed to “1” (= 0001b) bit in the sector 3. In this case, the maximum error number MaxED [3: 0], which is the value held in the register 1812a (ie, the output value), changes to “0000b”, “0010b”, and “1000b” at the rising timing of the ECC clock signal ECC_CLK. After that, “1000b” is constant. When the maximum error number MaxED [3: 0] becomes “1000b”, MaxED [3: 0] ≧ MaxED_Fail_Bit [3: 0], so the comparison circuit 182a outputs the “Hi” level to the deterioration determination flag MaxED_Fail. To do.

最大値保持レジスタ181aは、各ECCセクターで検出されたエラーBit数のうち最大のものを保持し、出力する。比較回路182aは、予め最大値をフェイル(Fail=劣化あり)とするしきい値MaxED_Fail_Bit[3:0]を基準として、パス/フェイル(Pass/Fail)を判定し、判定結果を1ビットのフラグMaxED_Failとして出力する。ただし、この最大値Max ED[3:0]は、例えば図1の出力バッファ17を介して外部に出力することが可能である。   The maximum value holding register 181a holds and outputs the maximum number of error bits detected in each ECC sector. The comparison circuit 182a determines a pass / fail (Pass / Fail) based on a threshold value MaxED_Fail_Bit [3: 0], in which the maximum value is a fail value (Fail = deteriorated) in advance, and the determination result is a 1-bit flag. Output as MaxED_Fail. However, the maximum value Max ED [3: 0] can be output to the outside via, for example, the output buffer 17 of FIG.

この例では7bitエラー以上のエラーが検出された場合はフェイルと判定している。訂正可能な最大Bit数に近いエラーを起こしているセクターの存在は、将来訂正不可能になる可能性が高いと考えられる。図6に示した構成は、そういったセクターの存在をスクリーニングすることができる構成を構築可能とする点で優れている。   In this example, when an error of 7 bits or more is detected, it is determined as a failure. The existence of a sector causing an error close to the maximum number of bits that can be corrected is considered likely to become uncorrectable in the future. The configuration shown in FIG. 6 is excellent in that it is possible to construct a configuration that can screen for the existence of such a sector.

なお、図1に示した判定部18の構成は、図4や図6を参照して説明した構成例に限定されない。例えば、図4に示した判定部18と図6に示した判定部18aの両方を備えたものとして構成することができる。   Note that the configuration of the determination unit 18 illustrated in FIG. 1 is not limited to the configuration example described with reference to FIGS. 4 and 6. For example, it can be configured to include both the determination unit 18 shown in FIG. 4 and the determination unit 18a shown in FIG.

また、比較回路182や比較回路182aから、比較結果を1ビットのフラグとして出力することに代えて(あるいはそれとあわせて)、比較結果を複数ビットの信号で出力することもできる。すなわち、比較回路182や比較回路182aが、累算カウンタ181や最大値保持レジスタ181aの出力と、所定の複数の基準値とを比較し、複数の段階からなる度合を表す信号として比較結果を出力するものとすることができる。例えば、上述のMaxED[3:0]をそのまま出力すると4bit必要だが、図8の対応表のように、MaxED[3:0]に対応させて、比較回路182aから2ビットのフェイルステータス信号FailStatus[1:0]で出力させることができる。この場合、FailStatus[1:0]の2bitだけで、4ビットのMaxED[3:0]の値を4段階の度合で出力することができ、おおよその状態を外部に伝えることが可能となる。また、単に1ビットのフラグとして出力するよりも詳細な状態を表現することができる。   Further, instead of (or in conjunction with) outputting the comparison result as a 1-bit flag from the comparison circuit 182 or the comparison circuit 182a, the comparison result can be output as a multi-bit signal. That is, the comparison circuit 182 or the comparison circuit 182a compares the output of the accumulation counter 181 or the maximum value holding register 181a with a plurality of predetermined reference values, and outputs the comparison result as a signal indicating the degree of a plurality of stages. Can be. For example, if the above-mentioned MaxED [3: 0] is output as it is, 4 bits are required. However, as shown in the correspondence table of FIG. 8, the comparison circuit 182a corresponds to the 2-bit fail status signal FailStatus [ 1: 0]. In this case, the value of 4-bit MaxED [3: 0] can be output in four stages by only 2 bits of FailStatus [1: 0], and the approximate state can be transmitted to the outside. Further, a more detailed state can be expressed than simply outputting as a 1-bit flag.

なお、判定部18の構成の採用は、セクター毎エラー数ED[3:0]そのものを外部に出力する構成を排除するものではない。すなわち、例えばセクター毎エラー数ED[3:0]を直接、出力バッファ17に接続することで、外部の所定の命令に応じて出力されるステータス信号に含ませて出力することなどが可能である。この場合、外部システムがECC処理過程で検出されたBit数であるED[3:0]を観測することが可能となり、データの劣化を詳細に予測できるようになる。実際にはさらにECCクロック信号ECC_CLKも合わせて出力するほうが同期の取りやすさの点で望ましいと考えられる。   The adoption of the configuration of the determination unit 18 does not exclude a configuration in which the number of errors per sector ED [3: 0] itself is output to the outside. That is, for example, by directly connecting the number of errors per sector ED [3: 0] to the output buffer 17, it is possible to output it by including it in a status signal output in accordance with an external predetermined command. . In this case, it becomes possible for the external system to observe ED [3: 0], which is the number of bits detected in the ECC processing process, and it becomes possible to predict data deterioration in detail. Actually, it is preferable that the ECC clock signal ECC_CLK is also output in terms of ease of synchronization.

また、図5を参照して説明した判定部18については、次のような構成を採用することができる。すなわち、図9に示したように、図4に示した判定部18が備える累算カウンタ181を、特許文献1等を参照して説明したフェイルビット数をカウントするフェイルビットカウンタに共用することが可能である。   Further, the following configuration can be adopted for the determination unit 18 described with reference to FIG. That is, as shown in FIG. 9, the accumulation counter 181 included in the determination unit 18 shown in FIG. 4 can be shared with the fail bit counter that counts the number of fail bits described with reference to Patent Document 1 and the like. Is possible.

図9に示したフェイルビット検出ブロック21は、フェイルビットの検出時に、所定のアドレスで、外部から入力された8ビットの期待値データDexpect_ext[7:0]とページバッファ12から読み出した8ビットのデータDsense[7:0]とを論理比較し、不一致のBit数をFBC_ED[3:0]として出力する。また、フェイルビット検出ブロック21では、アドレスを例えば増加させながら、複数のFBC_ED[3:0]を出力する。この不一致のBit数FBC_ED[3:0]を一定のアドレス範囲で合計することで、当該アドレス範囲の良否が判定される。なお、アドレスの増加等のタイミングに同期して、フェイルビットカウントクロック信号FBC_CLKがトグル変化する。このフェイルビットの検出は、例えば製品出荷前のテストモードで行われ、通常動作時は使用されない。そこで、図9に示した構成では、不一致のBit数FBC_ED[3:0]を合計するカウンタを、図4を参照して説明した累積カウンタ181で行うことで、カウンタの共用化を図っている。   The fail bit detection block 21 shown in FIG. 9 receives the 8-bit expected value data Despect_ext [7: 0] input from the outside at a predetermined address and the 8-bit read from the page buffer 12 when the fail bit is detected. Data Dsense [7: 0] is logically compared, and the number of mismatched bits is output as FBC_ED [3: 0]. The fail bit detection block 21 outputs a plurality of FBC_ED [3: 0] while increasing the address, for example. By summing the number of mismatched bits FBC_ED [3: 0] in a fixed address range, the quality of the address range is determined. Note that the fail bit count clock signal FBC_CLK toggles in synchronization with the timing of address increase or the like. This fail bit detection is performed, for example, in a test mode before product shipment, and is not used during normal operation. Therefore, in the configuration shown in FIG. 9, the counter that sums up the number of mismatched bits FBC_ED [3: 0] is performed by the cumulative counter 181 described with reference to FIG. .

図9に示した構成では、図4を参照して説明した判定部18の2つの入力信号である、ECCクロック信号ECC_CLKとセクター毎エラー数ED[3:0]とを、2つのマルチプレクサ22及びマルチプレクサ23を介して判定部18に入力している。マルチプレクサ22及びマルチプレクサ23の各出力は、選択信号FBC_Modeが“Lo”レベルのときにa入力側に接続される。他方、マルチプレクサ22及びマルチプレクサ23の各出力は、選択信号FBC_Modeが“Hi”レベルのときにb入力側に接続される。信号FBC_Modeは、フェイルビット検出を行う場合に、“Hi”レベルに設定される信号である。   In the configuration shown in FIG. 9, the ECC clock signal ECC_CLK and the number of errors per sector ED [3: 0], which are the two input signals of the determination unit 18 described with reference to FIG. The signal is input to the determination unit 18 via the multiplexer 23. The outputs of the multiplexer 22 and the multiplexer 23 are connected to the a input side when the selection signal FBC_Mode is at the “Lo” level. On the other hand, the outputs of the multiplexer 22 and the multiplexer 23 are connected to the b input side when the selection signal FBC_Mode is at the “Hi” level. The signal FBC_Mode is a signal set to the “Hi” level when fail bit detection is performed.

マルチプレクサ22のa側入力には、誤り訂正回路16から出力されたECCクロック信号が入力される。マルチプレクサ23のa側入力には、誤り訂正回路16から出力されたセクター毎エラー数ED[3:0]が入力される。また、マルチプレクサ22のb側入力には、フェイルビット検出ブロック21から出力されたフェイルビットカウンタクロックFBC_CLKが入力される。マルチプレクサ23のb側入力には、フェイルビット検出ブロック21から出力された不一致のBit数FBC_ED[3:0]が入力される。   The ECC clock signal output from the error correction circuit 16 is input to the a side input of the multiplexer 22. The number of errors per sector ED [3: 0] output from the error correction circuit 16 is input to the a side input of the multiplexer 23. Further, the fail bit counter clock FBC_CLK output from the fail bit detection block 21 is input to the b-side input of the multiplexer 22. The mismatched bit number FBC_ED [3: 0] output from the fail bit detection block 21 is input to the b-side input of the multiplexer 23.

図9に示した構成では、信号FBC_Modeが“Lo”レベルのときはマルチプレクサ22及び23は、a側に接続される。この場合、誤り訂正回路16から出力されたECCクロック信号ECC_CLKと、セクター毎エラー数ED[3:0]とが、累算カウンタ181に入力される。そのため、判定部18は、図4及び図5を参照して説明したECCによる劣化判定機構として動作する。   In the configuration shown in FIG. 9, when the signal FBC_Mode is at the “Lo” level, the multiplexers 22 and 23 are connected to the a side. In this case, the ECC clock signal ECC_CLK output from the error correction circuit 16 and the number of errors per sector ED [3: 0] are input to the accumulation counter 181. Therefore, the determination unit 18 operates as a deterioration determination mechanism by ECC described with reference to FIGS. 4 and 5.

一方、フェイルビットカウンタとして動作させる場合には、所定の信号を入力することでフェイルビットカウントモードにエントリさせ、FBC_Mode信号を“Hi”レベルにする。FBC_Mode信号を“Hi”レベルにするには、外部コマンド入力によって所定のフラグ信号を変化させるようにしてもよいし、テストモード用レジスタ等への書き換え動作によって行うようにしてもよい。FBC_Mode信号が“Hi”レベルになると、マルチプレクサ22及び23は、b側、すなわち、フェイルビット検出ブロック21側に接続されるので、累算カウンタ181には、フェイルビットカウンタクロックFBC_CLKと不一致のBit数FBC_ED[3:0]とが入力される。累算カウンタ181は、フェイルビットカウンタクロックFBC_CLKの立ち上がりのタイミングで、不一致のBit数FBC_ED[3:0]を累算する。   On the other hand, when operating as a fail bit counter, a predetermined signal is input to enter the fail bit count mode, and the FBC_Mode signal is set to the “Hi” level. In order to set the FBC_Mode signal to the “Hi” level, a predetermined flag signal may be changed by an external command input, or may be performed by a rewrite operation to a test mode register or the like. When the FBC_Mode signal becomes “Hi” level, the multiplexers 22 and 23 are connected to the b side, that is, the fail bit detection block 21 side. Therefore, the accumulation counter 181 has a bit number that does not match the fail bit counter clock FBC_CLK. FBC_ED [3: 0] is input. The accumulation counter 181 accumulates the number of mismatched bits FBC_ED [3: 0] at the rising timing of the fail bit counter clock FBC_CLK.

図9に示した構成例では、劣化判定の基準値すなわちフェイル/パスのしきい値であるAC_Fail_Bit[7:0]についても共用できる。例えば、初期値はECC用のしきい値に設定しておき、フェイルビットカウントモードにエントリする際には、このAC_Fail_Bitを格納する揮発性のレジスタにフェイルビットカウント用の値を上書きすればよい。このようにして、新たな回路追加をマルチプレクサ(MUX)程度に抑えた構成でECCによる劣化判定機構とフェイルビットカウント(FBC)を共有できる。   In the configuration example shown in FIG. 9, the reference value for deterioration determination, that is, AC_Fail_Bit [7: 0] that is a fail / path threshold value can also be shared. For example, the initial value may be set to the ECC threshold value, and when entering the fail bit count mode, the fail bit count value may be overwritten in the volatile register storing the AC_Fail_Bit. In this way, it is possible to share the deterioration determination mechanism by ECC and the fail bit count (FBC) with a configuration in which new circuit additions are suppressed to about the multiplexer (MUX).

次に、図10を参照して、図1に示した出力バッファ17の構成例について説明する。図10に示した出力バッファ17は、図1の判定部18が図4の構成と図6の構成とを含み、判定部18が劣化判定フラグAC_Failと劣化判定フラグMaxED_Failとを出力するものとした場合の構成例である。図10に示した出力バッファ17は、劣化判定フラグAC_Fail又は劣化判定フラグMaxED_Failの少なくとも1つが“Hi”レベルとなった場合(すなわちメモリセルから読み出したデータが劣化したと判断された場合)に、読み出し(Read)動作中に特定のアドレス(Address)の特定のビット(Bit)にエラーを出力する回路構成である。具体的には、データ劣化が判定された場合、アドレス000hの入出力ビットIO0とIO1にエラーを出力し、またアドレス001hの入出力ビットIO0とIO1にもエラーを出力する。   Next, a configuration example of the output buffer 17 shown in FIG. 1 will be described with reference to FIG. In the output buffer 17 shown in FIG. 10, the determination unit 18 of FIG. 1 includes the configuration of FIG. 4 and the configuration of FIG. 6, and the determination unit 18 outputs the deterioration determination flag AC_Fail and the deterioration determination flag MaxED_Fail. This is a configuration example. The output buffer 17 shown in FIG. 10 has a state where at least one of the deterioration determination flag AC_Fail or the deterioration determination flag MaxED_Fail becomes “Hi” level (that is, when it is determined that the data read from the memory cell has deteriorated). In this circuit configuration, an error is output to a specific bit (Bit) of a specific address (Address) during a read operation. Specifically, if data deterioration is determined, an error is output to the input / output bits IO0 and IO1 at address 000h, and an error is also output to the input / output bits IO0 and IO1 at address 001h.

図10の回路では、2入力オア(OR)回路171に信号AC_Failと信号MaxED_Failとが入力される。オア回路171の出力は、信号ECC_Failとして2入力アンド(AND)回路173の一方の入力端子に入力される。また、2入力オア回路172に信号Add_Match_000hと信号Add_Match_001hが入力される。オア回路172の出力は、信号Add_Matchとして2入力アンド回路173の他方の入力端子に入力される。この2入力アンド回路173の出力は、信号ErrorMakeとして、2入力排他的論理和回路174及び2入力排他的論理和回路175の各一方の端子に入力される。2入力排他的論理和回路174の他方の端子には信号Data_pre_IO[0]が入力される。2入力排他的論理和回路175の他方の端子には信号Data_pre_IO[1]が入力される。6個の2入力排他的論理和回路(群)176の各一方の端子はグランド(GND)に接続され、各他方の入力端子には6ビットの信号Data_pre_IO[7:2]のうちの1ビットの信号が入力される。そして、8個の2入力排他的論理和回路174、175及び176から、8ビットの信号Data_IO[7:0]が出力される。   In the circuit of FIG. 10, the signal AC_Fail and the signal MaxED_Fail are input to the two-input OR (OR) circuit 171. The output of the OR circuit 171 is input to one input terminal of a 2-input AND (AND) circuit 173 as a signal ECC_Fail. Further, the signal Add_Match_000h and the signal Add_Match_001h are input to the 2-input OR circuit 172. The output of the OR circuit 172 is input to the other input terminal of the 2-input AND circuit 173 as a signal Add_Match. The output of the 2-input AND circuit 173 is input to one terminal of each of the 2-input exclusive OR circuit 174 and the 2-input exclusive OR circuit 175 as the signal ErrorMake. The signal Data_pre_IO [0] is input to the other terminal of the 2-input exclusive OR circuit 174. The signal Data_pre_IO [1] is input to the other terminal of the 2-input exclusive OR circuit 175. One terminal of each of the six 2-input exclusive OR circuits (group) 176 is connected to the ground (GND), and each other input terminal has one bit of the 6-bit signal Data_pre_IO [7: 2]. Signal is input. The 8-bit exclusive OR circuits 174, 175, and 176 output an 8-bit signal Data_IO [7: 0].

図10に示した出力バッファ17の構成例において、データ劣化の判断は、累積訂正Bit数がある一定値に達した場合に“Hi”となるAC_Fail信号とECCコードを用いた誤り訂正における訂正Bit数が規定値(すなわちしきい値)に達した場合に“Hi”となるMaxED_Fail信号のORで実現しており、その出力はECC_Failとしている。   In the configuration example of the output buffer 17 shown in FIG. 10, the determination of data deterioration is made by correcting the error bit in error correction using the AC_Fail signal and ECC code that becomes “Hi” when the number of accumulated correction bits reaches a certain value. This is realized by OR of the MaxED_Fail signal which becomes “Hi” when the number reaches a specified value (that is, a threshold value), and its output is ECC_Fail.

また特定アドレス(Address)を判定する構成を、リード(Read)動作中のアドレスが000hのときに“Hi”となる信号Add_Match_000hとアドレスが001hのときに“Hi”となる信号Add_Match_001hのORで実現し、その出力を信号Add_Matchとしている。   Further, the configuration for determining the specific address (Address) is realized by OR of the signal Add_Match_000h which becomes “Hi” when the address during the read operation is 000h and the signal Add_Match_001h which becomes “Hi” when the address is 001h. The output is the signal Add_Match.

上述の信号ECC_Failと信号Add_MatchをAND演算した出力を信号ErrorMakeとし、これが“Hi”のとき強制的にビットエラーを発生させる。信号ErrorMakeは、エラー(Error)を出力する条件(ECC_Fail=“Hi”(すなわち“劣化”)と信号Add_Match=“Hi”(すなわち“特定アドレスであること”))が満たされると“Hi”になる。   An output obtained by ANDing the signal ECC_Fail and the signal Add_Match is set as a signal ErrorMake. When this is “Hi”, a bit error is forcibly generated. The signal ErrorMake is set to “Hi” when a condition for outputting an error (Error) (ECC_Fail = “Hi” (that is, “degraded” and signal Add_Match = “Hi” (that is, “specific address”)) is satisfied. Become.

信号ErrorMakeが“Lo”レベルであればページバッファ12から読み出した8ビットのデータData_pre_IO[7:0]と入出力パッド19に出力する8ビットのデータData_IO[7:0]は同じとなり、エラー訂正されたデータがそのまま入出力パッド19に出力され、エラーゼロとなる。   If the signal ErrorMake is at the “Lo” level, the 8-bit data Data_pre_IO [7: 0] read from the page buffer 12 and the 8-bit data Data_IO [7: 0] output to the input / output pad 19 are the same, and error correction is performed. The output data is output to the input / output pad 19 as it is, and the error becomes zero.

他方、信号ErrorMakeが“Hi”レベルであればページバッファ12から読み出したデータData_pre_IO[7:0]のうちIO0とIO1(すなわちData_pre_IO[0]とData_pre_IO[1])だけ極性反転されData_IO[7:0]となり入出力パッド19に出力される。訂正された真のデータData_pre_IO[7:0]をビットを反転することは、エラーを出力することになる。このようにしてAddress000hの8ビットのデータに2bitのエラー、Address001h8ビットのデータにも2bitのエラーを出力することができる。   On the other hand, if the signal ErrorMake is at “Hi” level, the polarity of the data Data_pre_IO [7: 0] read from the page buffer 12 is inverted by IO0 and IO1 (that is, Data_pre_IO [0] and Data_pre_IO [1]) and Data_IO [7: 0] and output to the input / output pad 19. Inverting the bits of the corrected true data Data_pre_IO [7: 0] will output an error. In this way, a 2-bit error can be output to 8-bit data of Address000h, and a 2-bit error can also be output to 8-bit data of Address001h.

図10に示した構成では、アドレスの一致条件(すなわちAdd_Matchが“Hi”となる条件)を変更することでエラーを出力するアドレスを自由に設計することができる。アドレス範囲を変更することで、例えば同一のブロック内で出力するエラービット数を変更することができる。またこの例ではIO[1:0]のみデータを反転する回路としたが、反転IO数を増減することでも、出力するエラービット数を変更することができる。   In the configuration shown in FIG. 10, an address for outputting an error can be freely designed by changing an address matching condition (that is, a condition that Add_Match is “Hi”). By changing the address range, for example, the number of error bits output in the same block can be changed. In this example, only IO [1: 0] is a circuit that inverts data. However, the number of output error bits can be changed by increasing or decreasing the number of inversion IOs.

なお、出力バッファ17の構成は、図10に示したように、特定のビットを反転してエラーを発生するものとするほか、例えば、特許文献1の図7に示されているような回路を用いることで、特定の外部コマンドに応じて、劣化状態を表す信号を通常のデータと切り替えて出力する回路とすることもできる。すなわち、外部から特定のコマンドが入力された場合、通常リード時のデータパスとフェイルステータス(すなわち、劣化判定フラグAC_Failや劣化判定フラグMaxED_Failあるいはフェイルステータス信号FailStatus[1:0])を切り替えて入出力パッド19に出力させることが可能である。   As shown in FIG. 10, the configuration of the output buffer 17 is such that a specific bit is inverted to generate an error. For example, a circuit as shown in FIG. By using it, it is also possible to provide a circuit that outputs a signal representing a deterioration state by switching to normal data in accordance with a specific external command. That is, when a specific command is input from the outside, the data path and the fail status during normal reading and the input / output are switched by switching the deterioration status flag AC_Fail, the deterioration determination flag MaxED_Fail, or the fail status signal FailStatus [1: 0]). It is possible to output to the pad 19.

なお、図10に示した出力バッファ17は、劣化判定の結果に基づき、ステータスを出力するのではなく、劣化の判定結果や度合いによって誤ったデータを意図的に出力する構成である。この構成は、次のような外部のNANDコントローラー等の装置との組み合わせにおいて顕著な効果を奏する。この項目については、以下、技術的背景の例を挙げて詳細に説明する。   Note that the output buffer 17 shown in FIG. 10 is configured to intentionally output erroneous data according to the determination result and degree of deterioration, instead of outputting a status based on the result of deterioration determination. This configuration has a remarkable effect in combination with the following device such as an external NAND controller. This item will be described in detail below with an example of the technical background.

まず、図10に示した構成を使用しない場合について説明する。例えば、ある時代に4bit/512ByteのECC(すなわち512Byteを誤り訂正単位として4ビットのエラーが訂正可能な誤り訂正機能)を兼ね備えたNANDコントローラーによってシステムAが設計されたとする。その後、先端NAND製品では微細化が進み、ビットエラーレート(Bit Error Rate)が上昇し、信頼性を保つには8bit/512Byte相当のECCが必要とされる状況になった。この先端NAND製品は安価であり、システムAでも採用したいが、そのためにはNANDコントローラーなどの置換えをする必要がある。しかし、このシステムAは市場に出回っており、高い互換性が必要とされているためシステム変更を行うことにはリスクが伴う。   First, a case where the configuration shown in FIG. 10 is not used will be described. For example, it is assumed that the system A is designed by a NAND controller having a 4-bit / 512-byte ECC (that is, an error correction function capable of correcting a 4-bit error using 512 bytes as an error correction unit) in a certain era. Thereafter, miniaturization of advanced NAND products has progressed, the bit error rate has increased, and an ECC equivalent to 8 bits / 512 bytes has been required to maintain reliability. This advanced NAND product is inexpensive and should be adopted in System A, but for that purpose, it is necessary to replace a NAND controller or the like. However, since this system A is on the market and high compatibility is required, there is a risk in changing the system.

先端NAND製品で、NANDフラッシュメモリチップ内部にECCを搭載したいわゆるエラーフリー(Error Free)動作可能な製品があり、価格も現在システムAが搭載しているNANDフラッシュメモリチップよりも安価であるため、置換えることにした。このエラーフリー(Error Free)はチップ内部に先端NANDのエラーレート(Error Rate)に耐えうる高い訂正能力、たとえば8bit/512ByteなどECCを搭載している。この場合、システムAは、前述のように4bit/512Byteのような(相対的に低い)訂正能力を兼ね備えており、冗長ブロック等への置き換え機能を具備しており、3bit以上のエラー検出訂正によりブロック(Block)置換をすることができる。   There is a so-called error-free (Error Free) product that is equipped with ECC inside the NAND flash memory chip, and the price is cheaper than the NAND flash memory chip currently installed in the system A. I decided to replace it. This error-free (Error Free) has a high correction capability that can withstand the error rate (Error Rate) of the leading-edge NAND, for example, ECC such as 8 bit / 512 Byte, in the chip. In this case, the system A has a (relatively low) correction capability such as 4 bits / 512 bytes as described above, a replacement function with a redundant block, and the like by error detection correction of 3 bits or more. Block replacement can be performed.

しかしながら、エラーフリー(Error Free)のNAND製品の場合、8bit/512Byteまでのエラーはチップ内部で訂正されるので、システムAではたとえメモリチップ内部で劣化が進行し、ブロック置き換え機能を働かせることが望ましいような状態にいたっていたとしても、3bit以上のエラー検出や訂正が行われることはなく、NANDコントローラーによるブロック置換は実質機能しなくなる。   However, in the case of an error-free NAND product, errors up to 8 bits / 512 bytes are corrected inside the chip. Therefore, in system A, it is desirable that deterioration progresses inside the memory chip and that the block replacement function is activated. Even in such a state, error detection or correction of 3 bits or more is not performed, and block replacement by the NAND controller substantially does not function.

これに対して、図10に示した構成を使用した場合(ただし、この場合、意図的にエラーを発生する際に反転するビット数は3ビットに設定されているとする)、つぎのようにシステムAのNANDコントローラーによるブロック置換が期待できる。すなわち、図10に示した構成を持つ、本発明の半導体メモリでは、NANDフラッシュメモリチップ内部のECC機能により、データの劣化が認められた場合、データリード時に意図的にエラーとなるようBit反転を行い、データIOとして入出力端子に出力する。上記の設定例だと、システムAは3bit以上のエラー検出によりブロック置換する方式なので、オンチップECC(すなわち誤り訂正回路16)及び判定部18で内部的にデータDataの劣化を検出した場合、意図的に出力バッファ17によって3bitだけデータDataを反転して外部に出力する。外部システムは3bitのエラーであれば訂正可能であり、かつブロック置換を行うことになる。   On the other hand, when the configuration shown in FIG. 10 is used (in this case, it is assumed that the number of bits to be inverted when an error is intentionally generated is set to 3 bits), as follows: Block replacement by the NAND controller of System A can be expected. That is, in the semiconductor memory of the present invention having the configuration shown in FIG. 10, when the data deterioration is recognized by the ECC function inside the NAND flash memory chip, Bit inversion is performed so that an error is intentionally generated at the time of data reading. And output to the input / output terminal as data IO. In the above setting example, since the system A is a block replacement method based on error detection of 3 bits or more, when the on-chip ECC (that is, the error correction circuit 16) and the determination unit 18 detect the deterioration of the data Data, For example, the data Data is inverted by 3 bits by the output buffer 17 and output to the outside. If the external system has a 3-bit error, it can be corrected and block replacement will be performed.

なお、どの程度のデータDataを改変(すなわち反転)するのかや、たとえばどのアドレス領域において、何Bit反転させるのかは、外部システムのECCの能力とECCセクター(あるいはECCコード)の構成により選択的に設定可能とすることが望ましい。例えば、予め電気的に変更することができるように、例えば出力バッファ17の周辺回路にヒューズ回路等の設定回路を設けることで対応することができる。   It should be noted that how much data Data is to be modified (that is, inverted), for example, in which address area, how many bits are inverted is selectively determined by the ECC capacity of the external system and the configuration of the ECC sector (or ECC code). It is desirable to be able to set. For example, a setting circuit such as a fuse circuit can be provided in the peripheral circuit of the output buffer 17 so that it can be electrically changed in advance.

なお、上記の実施形態については、さらに次のような変形が可能である。すなわち、半導体メモリ1が、例えば並列動作可能な複数のメモリアレイ11を含むものである場合や、例えば、複数のメモリ空間(メモリマット(Mat)、あるいはメモリバンク(Bank))を含む構成である場合、判定部18や累算カウンタ181あるいは最大値保持レジスタ181aをメモリアレイ11、メモリマット(あるいはバンク)別に複数設けておくことができる。この場合、半導体メモリ1が、複数のメモリアレイ11やメモリマットを備えていても、メモリアレイ11やマット(あるいはバンク)別に劣化状態を示す信号を保持し、出力することができる。   The above-described embodiment can be further modified as follows. That is, when the semiconductor memory 1 includes, for example, a plurality of memory arrays 11 that can operate in parallel, or, for example, a configuration including a plurality of memory spaces (memory mat (Mat) or memory bank (Bank)), A plurality of determination units 18, accumulation counters 181 or maximum value holding registers 181a can be provided for each memory array 11 and memory mat (or bank). In this case, even if the semiconductor memory 1 includes a plurality of memory arrays 11 and memory mats, it is possible to hold and output a signal indicating a deterioration state for each memory array 11 and mat (or bank).

また、判定部18による判定は、セクター単位で行うもののほか、例えば、ページ単位、ブロック単位、メモリアレイ11単位、メモリマット単位等で誤りビット数の累算結果や比較回路の比較結果を保持するレジスタを設けることで、ページ単位、ブロック単位、メモリアレイ11単位、メモリマット単位等で劣化判定結果を出力するものとすることができる。   In addition to the determination performed by the determination unit 18, for example, the accumulated result of the number of error bits and the comparison result of the comparison circuit are held in page units, block units, memory array 11 units, memory mat units, and the like. By providing the register, it is possible to output the degradation determination result in page units, block units, memory array 11 units, memory mat units, or the like.

なお、上述したように出力バッファ17は、特定の外部コマンドに応じて劣化状態を表す信号を通常のデータと切り替えて出力する回路とすることができる。この場合、例えば図11に示したように、既存のステータス読み出し命令に対する出力データの未使用ビットを使用して劣化状態を表す信号を出力することができる。この構成は、現行の一般的な仕様を拡張した(すなわち上位互換の)構成となるので、互換性の高いシステムを提供できる。すなわち、NANDフラッシュメモリなどのメモリ製品にはステータスコマンド(Status Command)が一般的に用意されている。また、一般的なNANDフラッシュメモリでは、ステータスコマンドに応じて出力される8ビットのデータのうち、複数のビットは未使用状態である。そこで、出力バッファ17からは、未使用のビットに、エラー訂正数(あるいは検出数)に応じて算出した劣化状態を表す情報を載せて出力する。図11に示した例では、リード時にデータ出力信号IO[0]、[1]、[2]、[3]、[4]、[5]は、未使用であるため、この部分を使用して、データDataの劣化の度合い示す情報を外部に対して出力するよう定義している。この場合、もともと仕様で定義されていない領域を使用するため、この拡張機能に対応していないコントローラーであっても、誤動作を誘発する可能性は低い。   Note that, as described above, the output buffer 17 can be a circuit that switches and outputs a signal representing a deterioration state with normal data in accordance with a specific external command. In this case, for example, as shown in FIG. 11, a signal indicating a degradation state can be output using unused bits of output data for an existing status read command. Since this configuration is an extended configuration (that is, upward compatible) of the current general specification, a highly compatible system can be provided. That is, a status command is generally prepared for a memory product such as a NAND flash memory. Also, in a general NAND flash memory, a plurality of bits are unused in 8-bit data output in response to a status command. Therefore, the output buffer 17 outputs information indicating the deterioration state calculated according to the number of error corrections (or the number of detections) on unused bits. In the example shown in FIG. 11, the data output signals IO [0], [1], [2], [3], [4], and [5] are not used at the time of reading. Thus, it is defined that information indicating the degree of deterioration of the data Data is output to the outside. In this case, since an area not originally defined in the specification is used, even a controller that does not support this extended function has a low possibility of inducing a malfunction.

図11に示した割り当て例では、ステータスコマンド(“70h”)に対するリード時のステータスデータ出力として、データ信号IO[0]、[1]、[2]、[3]、[4]、[5]をつぎのように定義している。IO[0]は、チップ全体でエラー訂正数を累算した結果を、Pass/Fail(Pass:“0”、Fail:“1”)で表す。IO[1]及びIO[2]は、半導体メモリが2個のメモリマットを備えることとして、IO[1]が第1のマットについて、そして、IO[2]が第2のマットについて、エラー訂正数を累算した結果をPass/Fail(Pass:“0”、Fail:“1”)で表す。また、IO[5:3]は、ページ毎の最大のエラー訂正数を3ビットのデータで表す。ここで、Passは劣化なし、Failは劣化検出あり、である。図11に示した割り当てによれば、ページ内のECCセクターで最大の誤りbit数をIO[5:3]で出力する。このような形で、いわゆるPass/Failの形式で劣化情報を出力したり、より詳細な誤り検出Bit数に応じた情報を出力したりすることができる。   In the example of assignment shown in FIG. 11, data signals IO [0], [1], [2], [3], [4], [5] are output as status data output at the time of reading for the status command (“70h”). ] Is defined as follows. IO [0] represents the result of accumulating the number of error corrections in the entire chip as Pass / Fail (Pass: “0”, Fail: “1”). IO [1] and IO [2] are error corrections, assuming that the semiconductor memory has two memory mats, IO [1] for the first mat and IO [2] for the second mat. The result of accumulating the number is expressed as Pass / Fail (Pass: “0”, Fail: “1”). IO [5: 3] represents the maximum number of error corrections for each page as 3-bit data. Here, “Pass” indicates no deterioration, and “Fail” indicates deterioration detection. According to the allocation shown in FIG. 11, the maximum number of error bits in the ECC sector in the page is output as IO [5: 3]. In this way, deterioration information can be output in a so-called Pass / Fail format, or information according to a more detailed number of error detection bits can be output.

上述した本発明の実施形態の構成によれば、次のような効果を得ることができる。すなわち、半導体メモリに誤り訂正回路(ECC)をオンチップで搭載し、エラーフリーで動作させる場合に、誤り検出ビット数(もしくは訂正ビット数)に対して所定の累算処理を行った結果をさらに所定の基準値と比較した結果に基づいて、内部のデータ(すなわちメモリセル)の劣化度合いを外部システムに対してステータス信号もしくは意図的なビットエラーの発生によって出力することができる。NANDブラッシュメモリは、Erase/Programを繰り返した場合、劣化するが、オンチップで誤り訂正を行うと、エラーフリーとして振る舞い、外部に現れるデータDataから劣化を推測できない。しかしながら、本発明を使用すれば、ある程度データエラーが発生し始めた時点で、これを外部に出力することができる。また、その際、エラー訂正ビット数が多くなっても、ステータスを表すために出力するデータのビット数は少なくとどめることができる。したがって、外部のNANDコントローラー等による置換機能を有効利用できる   According to the configuration of the embodiment of the present invention described above, the following effects can be obtained. That is, when an error correction circuit (ECC) is mounted on-chip in a semiconductor memory and operated without error, the result of performing a predetermined accumulation process on the number of error detection bits (or the number of correction bits) is further obtained. Based on the result of comparison with a predetermined reference value, the degree of deterioration of internal data (ie, memory cell) can be output to an external system by the occurrence of a status signal or intentional bit error. The NAND brush memory deteriorates when Erase / Program is repeated. However, if error correction is performed on-chip, the NAND brush memory behaves as error-free and cannot be estimated from data Data that appears outside. However, if the present invention is used, it can be output to the outside when a data error starts to occur to some extent. At this time, even if the number of error correction bits increases, the number of bits of data to be output to represent the status can be reduced. Therefore, the replacement function by an external NAND controller can be used effectively.

なお、本発明の実施の形態は上記のものに限定されず、例えば、各回路ブロックを複数設けて並列動作させたり、説明した各信号のビット数等を増加あるいは減少させたりといった変更を適宜実施することができる。   The embodiments of the present invention are not limited to the above-described ones. For example, changes such as providing a plurality of circuit blocks to operate in parallel or increasing or decreasing the number of bits of each signal described are appropriately implemented. can do.

1 半導体メモリ
11 メモリアレイ
12 ページバッファ
13 カラムコーディング回路A
14 カラムコーディング回路B
15 アドレス制御回路
16 誤り訂正回路
17、17a 出力バッファ
18、18a 判定部
19 入出力パッド
174、175 2入力排他的論理和回路
181 累算カウンタ
181a 最大値保持レジスタ
182、182a 比較回路
21 フェイルビット検出ブロック
DESCRIPTION OF SYMBOLS 1 Semiconductor memory 11 Memory array 12 Page buffer 13 Column coding circuit A
14 Column coding circuit B
15 Address control circuit 16 Error correction circuit 17, 17a Output buffer 18, 18a Determination unit 19 I / O pad 174, 175 2-input exclusive OR circuit 181 Accumulation counter 181a Maximum value holding register 182, 182a Comparison circuit 21 Fail bit detection block

Claims (9)

メモリアレイと、
前記メモリアレイの各ビット線に接続された複数のラッチを有するページバッファと、
前記ページバッファから所定の複数ビットを誤り訂正単位として読み出し、該読み出したデータに含まれる誤りビットを訂正して該ページバッファに書き戻す誤り訂正回路と、
前記誤り訂正単位毎の誤り訂正ビット数に基づく所定の演算処理の結果を保持しながら、前記誤り訂正単位の複数単位にわたる演算処理の結果を出力する累算回路と、
前記累算回路の出力と、所定の基準値とを比較し、比較結果を出力する比較回路と、
前記比較回路による比較結果を出力する出力回路と
を備えることを特徴とする半導体メモリ。
A memory array;
A page buffer having a plurality of latches connected to each bit line of the memory array;
An error correction circuit that reads a predetermined plurality of bits from the page buffer as an error correction unit, corrects an error bit included in the read data, and writes the error bit back to the page buffer;
An accumulation circuit that outputs a result of arithmetic processing over a plurality of units of the error correction unit while holding a result of predetermined arithmetic processing based on the number of error correction bits for each error correction unit;
A comparison circuit that compares the output of the accumulation circuit with a predetermined reference value and outputs a comparison result;
An output circuit for outputting a comparison result by the comparison circuit.
前記所定の演算処理が、複数の前記誤り訂正単位毎の誤り訂正ビット数の最大値を求める処理である
ことを特徴とする請求項1に記載の半導体メモリ。
The semiconductor memory according to claim 1, wherein the predetermined arithmetic processing is processing for obtaining a maximum value of the number of error correction bits for each of the plurality of error correction units.
前記所定の演算処理が、複数の前記誤り訂正単位毎の誤り訂正ビット数の合計値を求める処理である
ことを特徴とする請求項1に記載の半導体メモリ。
The semiconductor memory according to claim 1, wherein the predetermined calculation process is a process of obtaining a total value of the number of error correction bits for each of the plurality of error correction units.
前記比較回路が、前記累算回路の出力と、所定の複数の基準値とを比較し、複数の段階からなる度合を表す信号として前記比較結果を出力する
ことを特徴とする請求項1から3のいずれか1項に記載の半導体メモリ。
The comparison circuit compares the output of the accumulation circuit with a predetermined plurality of reference values, and outputs the comparison result as a signal representing the degree of a plurality of stages. The semiconductor memory according to any one of the above.
前記メモリアレイが複数であり、
前記累算回路が複数ある
ことを特徴とする請求項1から4のいずれか1項に記載の半導体メモリ。
A plurality of the memory arrays;
The semiconductor memory according to claim 1, wherein there are a plurality of accumulation circuits.
前記累算回路が、フェイルビット数をカウントするフェイルビットカウンタに共用されるものである
ことを特徴とする請求項1から5のいずれか1項に記載の半導体メモリ。
The semiconductor memory according to claim 1, wherein the accumulation circuit is shared by a fail bit counter that counts the number of fail bits.
前記出力回路が、前記ページバッファから読み出された複数ビットのデータのうちの所定のビットを誤りデータとすることで、前記比較回路による比較結果を出力する
ことを特徴とする請求項1から6のいずれか1項に記載の半導体メモリ。
7. The output circuit outputs a comparison result by the comparison circuit by setting predetermined bits of a plurality of bits of data read from the page buffer as error data. The semiconductor memory according to any one of the above.
前記出力回路が、外部から入力されたステータスコマンドに応じて前記比較回路による比較結果を出力する
ことを特徴とする請求項1から6のいずれか1項に記載の半導体メモリ。
The semiconductor memory according to claim 1, wherein the output circuit outputs a comparison result by the comparison circuit in accordance with a status command input from the outside.
メモリアレイと、
前記メモリアレイの各ビット線に接続された複数のラッチを有するページバッファと、
前記ページバッファから所定の複数ビットを誤り訂正単位として読み出し、該読み出したデータに含まれる誤りビットを訂正して該ページバッファに書き戻す誤り訂正回路と、
前記誤り訂正単位毎の誤り訂正ビット数に基づく所定の演算処理の結果を保持しながら、前記誤り訂正単位の複数単位にわたる演算処理の結果を出力する累算回路と、
前記累算回路の出力と、所定の基準値とを比較し、比較結果を出力する比較回路と
を用いて、
所定の出力回路から前記比較回路による比較結果を出力する
ことを特徴とする誤り訂正ビット数の出力方法。
A memory array;
A page buffer having a plurality of latches connected to each bit line of the memory array;
An error correction circuit that reads a predetermined plurality of bits from the page buffer as an error correction unit, corrects an error bit included in the read data, and writes the error bit back to the page buffer;
An accumulation circuit that outputs a result of arithmetic processing over a plurality of units of the error correction unit while holding a result of predetermined arithmetic processing based on the number of error correction bits for each error correction unit;
A comparison circuit that compares the output of the accumulation circuit with a predetermined reference value and outputs a comparison result,
A method for outputting the number of error correction bits, wherein the comparison result by the comparison circuit is output from a predetermined output circuit.
JP2013006349A 2013-01-17 2013-01-17 Semiconductor memory and method of outputting number of error correction bits Pending JP2014137833A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013006349A JP2014137833A (en) 2013-01-17 2013-01-17 Semiconductor memory and method of outputting number of error correction bits

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013006349A JP2014137833A (en) 2013-01-17 2013-01-17 Semiconductor memory and method of outputting number of error correction bits

Publications (1)

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

Family

ID=51415254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013006349A Pending JP2014137833A (en) 2013-01-17 2013-01-17 Semiconductor memory and method of outputting number of error correction bits

Country Status (1)

Country Link
JP (1) JP2014137833A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017224379A (en) * 2014-08-01 2017-12-21 華邦電子股▲ふん▼有限公司Winbond Electronics Corp. Nand flash memory having internal ecc processing and method of operation thereof
US9891987B2 (en) 2015-08-28 2018-02-13 Toshiba Memory Corporation Memory device that communicates error correction results to a host
US10452474B2 (en) 2017-03-21 2019-10-22 Toshiba Memory Corporation NAND flash memory device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017224379A (en) * 2014-08-01 2017-12-21 華邦電子股▲ふん▼有限公司Winbond Electronics Corp. Nand flash memory having internal ecc processing and method of operation thereof
US9891987B2 (en) 2015-08-28 2018-02-13 Toshiba Memory Corporation Memory device that communicates error correction results to a host
US10445174B2 (en) 2015-08-28 2019-10-15 Toshiba Memory Corporation Memory device that communicates error correction results to a host
US10452474B2 (en) 2017-03-21 2019-10-22 Toshiba Memory Corporation NAND flash memory device

Similar Documents

Publication Publication Date Title
KR101659888B1 (en) Flash memory control method, controller and electronic apparatus
US20190252035A1 (en) Decoding method, memory storage device and memory control circuit unit
US9223648B2 (en) Memory storage device, memory controller thereof, and method for processing data thereof
CN107408069B (en) Apparatus and method for detecting and relieving bit line open in flash memory
US9583217B2 (en) Decoding method, memory storage device and memory control circuit unit
US9361036B2 (en) Correction of block errors for a system having non-volatile memory
US20130318418A1 (en) Adaptive error correction for phase change memory
US9563498B2 (en) Method for preventing read-disturb errors, memory control circuit unit and memory storage apparatus
KR20160023151A (en) Memory device having error inform function
JP2012137994A (en) Memory system and controlling method thereof
US10782920B2 (en) Data access method, memory storage apparatus and memory control circuit unit
CN113064547B (en) Data access method and device for protection of check matrix with local sequence information
US8966344B2 (en) Data protecting method, memory controller and memory storage device
US20170186500A1 (en) Memory circuit defect correction
US10636490B1 (en) Decoding method, memory control circuit unit and memory storage device
US10872667B2 (en) Decoding method, memory controlling circuit unit and memory storage device
KR101497545B1 (en) Method and apparatus for detecting free page and error correction code decoding method and apparatus using the same
JP6018508B2 (en) Nonvolatile semiconductor memory device and test method thereof
JP2014137833A (en) Semiconductor memory and method of outputting number of error correction bits
US10942803B2 (en) Method for performing data processing for error handling in memory device, associated memory device and controller thereof, and associated electronic device
US10191806B2 (en) Decoding method, memory storage device and memory control circuit unit
US11139044B2 (en) Memory testing method and memory testing system
US10109373B2 (en) Data storage apparatus and operating method thereof
CN112306382B (en) Flash memory controller, storage device and reading method thereof
US9436547B2 (en) Data storing method, memory control circuit unit and memory storage device