[go: up one dir, main page]

JP4660632B2 - Semiconductor memory device - Google Patents

Semiconductor memory device Download PDF

Info

Publication number
JP4660632B2
JP4660632B2 JP2010171097A JP2010171097A JP4660632B2 JP 4660632 B2 JP4660632 B2 JP 4660632B2 JP 2010171097 A JP2010171097 A JP 2010171097A JP 2010171097 A JP2010171097 A JP 2010171097A JP 4660632 B2 JP4660632 B2 JP 4660632B2
Authority
JP
Japan
Prior art keywords
error correction
error
unit
data
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010171097A
Other languages
Japanese (ja)
Other versions
JP2010238363A (en
Inventor
伸一 菅野
浩典 内川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2010171097A priority Critical patent/JP4660632B2/en
Publication of JP2010238363A publication Critical patent/JP2010238363A/en
Application granted granted Critical
Publication of JP4660632B2 publication Critical patent/JP4660632B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、半導体記憶装置に関し、不揮発に情報を記憶するとともに誤り訂正回路を有する記憶装置に関する。   The present invention relates to a semiconductor memory device, and more particularly to a memory device that stores information in a nonvolatile manner and has an error correction circuit.

不揮発性の記憶装置の種類によっては、時間の経過とともに、データの記憶を担っている物理量の状態が変化する。時間の経過が、ある一定の長さに達すると、データが失われることもある。このような特徴を有する記憶装置には、様々なものが含まれる。そのような記憶装置の1つとして、例えば、いわゆる積層ゲート構造を有するトランジスタをメモリセルとして用いた不揮発性半導体記憶装置がある。   Depending on the type of the non-volatile storage device, the state of the physical quantity responsible for storing data changes with time. When the passage of time reaches a certain length, data may be lost. Various storage devices having such characteristics are included. As one of such memory devices, for example, there is a nonvolatile semiconductor memory device using a transistor having a so-called stacked gate structure as a memory cell.

積層ゲート構造は、基板上に順に積層されたトンネル絶縁膜、浮遊ゲート電極、電極間絶縁膜、制御ゲート電極を有する。メモリセルに情報を記憶させるには、トンネル絶縁膜を介して浮遊ゲート電極に基板から電子を注入する。そして、浮遊ゲート電極に蓄積された電荷によって情報が保持される。浮遊ゲート電極に蓄積された電荷は、時間の経過とともに、トンネル絶縁膜を介して基板へと漏れ出す。このため、時間の経過とともに、メモリセルが保持する情報が失われ得る(情報に誤りが生じ得る)。   The stacked gate structure includes a tunnel insulating film, a floating gate electrode, an interelectrode insulating film, and a control gate electrode that are sequentially stacked on the substrate. In order to store information in the memory cell, electrons are injected from the substrate into the floating gate electrode through the tunnel insulating film. Information is held by the charges accumulated in the floating gate electrode. The electric charge accumulated in the floating gate electrode leaks to the substrate through the tunnel insulating film as time passes. For this reason, as time passes, information held in the memory cell may be lost (an error may occur in the information).

情報を格納した時点からの時間の経過が短ければ、情報に誤りが生じている可能性は低い。一方、情報を格納した時点からの時間の経過が長ければ、情報に誤りが生じている可能性は高い。このようなメモリセルを複数個有する記憶装置では、誤った情報を正しく復元するための誤り訂正機構が設けられていることがある。   If the passage of time from the time when the information is stored is short, the possibility that the information has an error is low. On the other hand, if the time has passed since the information was stored, there is a high possibility that the information has an error. In such a memory device having a plurality of memory cells, an error correction mechanism for correctly restoring erroneous information may be provided.

一般に、複数のビットからなるデータに、情報の記録から時間が経過したこと等を理由として誤りが多く含まれている場合でも誤りを訂正するには、高い誤り訂正能力を有する訂正機構が必要である。高い誤り訂正能力を有する訂正機構は、回路規模が大きく、消費電力が大きく、処理に時間を要する。通常、情報の記憶から長時間が経過した後でも正しい情報を復元できることを保証しておくために、高い誤り訂正能力を有する訂正機構が設けられている。そして、情報の記憶からの時間の経過の長短によらずに、一律に、高性能の誤り訂正機構が適用される。   In general, a correction mechanism with high error correction capability is required to correct errors even when there are many errors in the data consisting of multiple bits due to the fact that time has passed since the recording of information. is there. A correction mechanism having high error correction capability has a large circuit scale, large power consumption, and requires time for processing. Usually, a correction mechanism having a high error correction capability is provided in order to ensure that correct information can be restored even after a long time has elapsed since the information was stored. A high-performance error correction mechanism is applied uniformly regardless of the length of time elapsed since the information was stored.

このため、記憶から短い時間しか経過していない情報を読み出す際にも、このような高性能の誤り訂正機構が用いられる。すると、それほど多くの誤りが含まれていない情報の読み出しであるにも係らず、無駄に、高性能の誤り訂正機構が用いられる。このことは、記憶装置の消費電力が無駄に消費されることにつながる。   For this reason, such a high-performance error correction mechanism is also used when reading information for which only a short time has elapsed since storage. As a result, a high-performance error correction mechanism is uselessly used in spite of reading information that does not include so many errors. This leads to wasteful consumption of the power consumption of the storage device.

さらに、一般に、誤り訂正能力を高めるには、誤り訂正の対象となる情報を大きくすることが求められる。例えば、512バイトのデータに対して誤り訂正符号が生成される代わりに、複数個の512バイトのデータが連結された例えば4kバイトのデータを1つの単位として用いて誤り訂正符号が生成される。こうすることにより、誤り訂正能力を高めることができる。しかしながら、この手法は、例えば、512バイトのデータを読み出したいにも係らず、4kバイトのデータを読み出さなければならないことにつながる。このことによっても、記憶装置は、無駄な電力を消費することを強いられる。   Furthermore, in general, in order to increase the error correction capability, it is required to increase the information to be corrected. For example, instead of generating an error correction code for 512-byte data, an error correction code is generated using, for example, 4 kbytes of data obtained by concatenating a plurality of 512-byte data as one unit. By doing so, the error correction capability can be enhanced. However, this method leads to the fact that, for example, 4 kbytes of data must be read although 512 bytes of data are to be read. This also forces the storage device to consume useless power.

この出願の発明に関連する先行技術文献情報としては次のものがある。   Prior art document information related to the invention of this application includes the following.

特開昭63−275225号公報JP-A-63-275225

本発明は、誤り訂正能力を損なうことなく消費電力および回路規模が抑制された半導体記憶装置を提供しようとするものである。   It is an object of the present invention to provide a semiconductor memory device in which power consumption and circuit scale are suppressed without impairing error correction capability.

本発明の一態様による半導体記憶装置は、複数の第1データ内の誤りをそれぞれ検出するための複数の検出符号を生成する検出符号生成部と、各第1データとこれに対応する検出符号とから第1単位データが構成され、複数の第1単位データ内の誤りをそれぞれ訂正するための複数の第1訂正符号を生成する第1訂正符号生成部と、前記複数の第1単位データから第2単位データが構成され、この第2単位データ内の誤りを訂正するための第2訂正符号を生成する第2訂正符号生成部と、前記第2単位データ、前記複数の第1訂正符号、及び前記第2訂正符号を不揮発に格納する半導体メモリと、前記複数の第1訂正符号を用いて、前記複数の第1単位データ内の誤りをそれぞれ訂正する第1訂正部と、前記複数の検出符号を用いて、前記第1訂正部により訂正された複数の第1データ内の誤りをそれぞれ検出し、かつ前記訂正された複数の第1データのそれぞれについての誤りの有無を示す第1誤り情報を生成する検出部と、前記第1誤り情報および前記第2訂正符号を用いて、前記訂正された複数の第1データのうち誤りを含んだものに対してチェン探索を行い、誤りを訂正する第2訂正部とを具備し、前記第2訂正符号の誤り訂正能力は、前記第1訂正符号の誤り訂正能力よりも高い。   A semiconductor memory device according to an aspect of the present invention includes a detection code generation unit that generates a plurality of detection codes for detecting errors in a plurality of first data, each first data, and a corresponding detection code. The first unit data is composed of a first correction code generation unit that generates a plurality of first correction codes for correcting errors in the plurality of first unit data, and A second correction code generating unit configured to generate a second correction code for correcting an error in the second unit data, the second unit data, the plurality of first correction codes, and A semiconductor memory for storing the second correction code in a nonvolatile manner, a first correction unit for correcting an error in the plurality of first unit data using the plurality of first correction codes, and the plurality of detection codes Using the above A detection unit that detects errors in the plurality of first data corrected by the correction unit, and generates first error information indicating presence / absence of errors for each of the plurality of corrected first data; A second correction unit that performs a chain search on the one of the plurality of corrected first data including an error using the first error information and the second correction code, and corrects the error; The error correction capability of the second correction code is higher than the error correction capability of the first correction code.

本発明によれば、誤り訂正能力を損なうことなく消費電力および回路規模が抑制された半導体記憶装置を提供できる。   According to the present invention, it is possible to provide a semiconductor memory device in which power consumption and circuit scale are suppressed without impairing error correction capability.

本発明の実施形態に係る半導体記憶装置を概略的に示すブロック図。1 is a block diagram schematically showing a semiconductor memory device according to an embodiment of the present invention. 誤り訂正回路のデータ書き込みに関する主要部を示すブロック図。The block diagram which shows the principal part regarding the data writing of an error correction circuit. 書き込みの際の一時記憶回路3内のデータの状態を示す図。The figure which shows the state of the data in the temporary memory circuit 3 at the time of writing. 図3に続く状態を示す図。The figure which shows the state following FIG. 図4に続く状態を示す図。The figure which shows the state following FIG. 誤り訂正回路のデータ読み出しに関する主要部を示すブロック図。The block diagram which shows the principal part regarding the data reading of an error correction circuit. 第2誤り訂正部での動作の一例を示す図。The figure which shows an example of operation | movement in a 2nd error correction part. 書き込みからの経過時間と必要訂正能力との関係を示す図。The figure which shows the relationship between the elapsed time from writing and required correction capability. 第1誤り訂正部11及び第2誤り訂正部13の担当範囲の分担の概念を示す図。The figure which shows the concept of assignment of the range in charge of the 1st error correction part 11 and the 2nd error correction part 13. FIG. 誤り率と第2誤り訂正部の利用確率との関係を示す図。The figure which shows the relationship between an error rate and the utilization probability of a 2nd error correction part. 誤り率と第2誤り訂正部による平均チェン探索との関係を示す図。The figure which shows the relationship between an error rate and the average chain search by a 2nd error correction part.

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

また、以下に示す各実施形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものでない。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。   In addition, each embodiment shown below exemplifies an apparatus and a method for embodying the technical idea of the present invention, and the technical idea of the present invention includes the material, shape, structure, The layout is not specified as follows. The technical idea of the present invention can be variously modified within the scope of the claims.

また、本発明の各実施形態における各機能ブロックは、ハードウェア、コンピュータソフトウェア、のいずれかまたは両者の組み合わせとして実現することができる。このため、各ブロックは、これらのいずれでもあることが明確となるように、概してそれらの機能の観点から以下に説明される。このような機能が、ハードウェアとして実行されるか、またはソフトウェアとして実行されるかは、具体的な実施態様またはシステム全体に課される設計制約に依存する。当業者は、具体的な実施態様ごとに、様々な方法でこれらの機能を実現し得るが、そのような実現を決定することは本発明の範疇に含まれるものである。   Each functional block in each embodiment of the present invention can be realized as either hardware, computer software, or a combination of both. For this reason, each block is generally described below in terms of their functionality so that it is clear that they are any of these. Whether such functionality is implemented as hardware or software depends upon the specific implementation or design constraints imposed on the overall system. Those skilled in the art can implement these functions in various ways for each specific embodiment, and determining such implementation is within the scope of the invention.

図1は、本発明の実施形態に係る半導体記憶装置を概略的に示すブロック図である。   FIG. 1 is a block diagram schematically showing a semiconductor memory device according to an embodiment of the present invention.

図1に示すように、半導体記憶装置10は、誤り訂正回路1と半導体メモリ2とを備えている。誤り訂正回路1と半導体メモリ2とは、例えば、1つの半導体集積回路として1つの半導体チップ上に設けられる。半導体メモリ2は、情報を不揮発に記憶し、記憶されているデータに変化が生じ得る特徴を有すれば、どのような記憶装置であっても構わない。そのような半導体メモリ2として、例えば、NAND型フラッシュメモリが挙げられる。   As shown in FIG. 1, the semiconductor memory device 10 includes an error correction circuit 1 and a semiconductor memory 2. The error correction circuit 1 and the semiconductor memory 2 are provided on one semiconductor chip as one semiconductor integrated circuit, for example. The semiconductor memory 2 may be any storage device as long as it stores information in a nonvolatile manner and the stored data has characteristics that can cause changes. An example of such a semiconductor memory 2 is a NAND flash memory.

NAND型フラッシュメモリは、複数のメモリセルを有する。各メモリセルは、いわゆる積層ゲート構造型のMOSFET(metal oxide semiconductor field effect transistor)から構成される。積層ゲート構造のMOSトランジスタは、トンネル絶縁膜、浮遊ゲート電極、電極間絶縁膜、制御ゲート電極、ソース/ドレイン拡散層を含んでいる。各メモリセルトランジスタは、浮遊ゲート電極に蓄えられる電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じた情報を記憶する。メモリセルトランジスタは、1ビットの情報を記憶するように構成されていても、複数ビットの情報を記憶するように構成されていてもよい。そして、半導体メモリ2内のセンスアンプ、及び電位発生回路等を含む制御回路は、半導体メモリ2に供給されたデータをメモリセルトランジスタに書き込み、メモリセルトランジスタに記憶されているデータを半導体メモリ2の外部に出力することが可能な構成を有している。   The NAND flash memory has a plurality of memory cells. Each memory cell is composed of a so-called stacked gate structure type MOSFET (metal oxide semiconductor field effect transistor). A MOS transistor having a stacked gate structure includes a tunnel insulating film, a floating gate electrode, an interelectrode insulating film, a control gate electrode, and a source / drain diffusion layer. Each memory cell transistor changes the threshold voltage according to the number of electrons stored in the floating gate electrode, and stores information corresponding to the difference in the threshold voltage. The memory cell transistor may be configured to store 1-bit information or may be configured to store multiple bits of information. Then, the control circuit including the sense amplifier and the potential generation circuit in the semiconductor memory 2 writes the data supplied to the semiconductor memory 2 to the memory cell transistor, and stores the data stored in the memory cell transistor in the semiconductor memory 2. It has a configuration capable of outputting to the outside.

同じ行に属するメモリセルトランジスタの制御ゲート電極は、同じワード線と接続される。同じ列に属し且つ直列接続されたメモリセルトランジスタの両端には選択ゲートトランジスタが設けられる。一方の選択ゲートトランジスタは、ビット線と接続される。この法則に則って、メモリセルトランジスタ、選択ゲートトランジスタ、ワード線、ビット線が設けられる。データの書き込みおよび読み出しは複数のメモリセルトランジスタの集合毎に行われ、このメモリセルトランジスタの集合からなる記憶領域が1つのページに対応する。また、複数のページから、ブロックが構成される。NAND型フラッシュメモリは、ブロック単位でデータを消去する。   Control gate electrodes of memory cell transistors belonging to the same row are connected to the same word line. Select gate transistors are provided at both ends of memory cell transistors belonging to the same column and connected in series. One select gate transistor is connected to the bit line. In accordance with this rule, a memory cell transistor, a select gate transistor, a word line, and a bit line are provided. Data writing and reading are performed for each set of a plurality of memory cell transistors, and a storage area including the set of memory cell transistors corresponds to one page. A block is composed of a plurality of pages. The NAND flash memory erases data in units of blocks.

半導体記憶装置10には、外部から半導体メモリ2への書き込みを要求されているデータ(書き込みデータ)が供給される。誤り訂正回路1は、書き込みデータに誤り訂正符号および誤り検出符号を付加して、半導体メモリ2に供給する。半導体メモリ2は、誤り訂正符号および誤り検出符号を付加された書き込みデータを記憶する。   Data (write data) requested to be written to the semiconductor memory 2 from the outside is supplied to the semiconductor memory device 10. The error correction circuit 1 adds an error correction code and an error detection code to the write data and supplies them to the semiconductor memory 2. The semiconductor memory 2 stores write data to which an error correction code and an error detection code are added.

また、半導体メモリ12は、半導体記憶装置10に供給される制御信号に応答して、読み出しを要求されているデータ(読み出しデータ)と、これに付加された誤り訂正符号および誤り検出符号を誤り訂正回路1に供給する。誤り訂正回路1は、読み出しデータの誤りを検出、および訂正する。そして、誤りが存在した場合にこれを訂正し、誤り訂正符号および誤り検出符号を除去し、読み出しデータを外部へ出力する。   Further, the semiconductor memory 12 performs error correction on the data (read data) requested to be read and the error correction code and error detection code added thereto in response to a control signal supplied to the semiconductor memory device 10. Supply to circuit 1. The error correction circuit 1 detects and corrects errors in read data. If an error exists, it is corrected, the error correction code and the error detection code are removed, and the read data is output to the outside.

[書き込み系回路の構成]
図2は、誤り訂正回路1のデータ書き込みに関する主要部を示すブロック図である。誤り訂正回路1は、それぞれが所定の大きさの複数の書き込みデータのそれぞれを1つの単位として、誤り訂正符号を生成するとともに、複数の書き込みデータ全体を1つの単位として別の誤り訂正符号を生成する。書き込みデータの数は、達成することが望まれる誤り訂正能力および採用される誤り訂正符号に応じて決定され、以下、書き込みデータが8個である例について説明する。
[Configuration of write circuit]
FIG. 2 is a block diagram showing a main part related to data writing of the error correction circuit 1. The error correction circuit 1 generates an error correction code with each of a plurality of write data of a predetermined size as one unit, and generates another error correction code with the plurality of write data as one unit. To do. The number of write data is determined according to the error correction capability desired to be achieved and the error correction code employed, and an example in which there are eight write data will be described below.

図2に示すように、誤り訂正回路1は、書き込みデータDa1、Da2、Da3、Da4、Da5、Da6、Da7、Da8を供給される。第1単位サイズは、例えば、半導体メモリ2による、書き込みおよび読み出しのデータの単位サイズと一致させることができる。より具体的には、NAND型フラッシュメモリが半導体メモリ2として用いられる場合、書き込みデータのサイズは、1ページ分のサイズに対応し、例えば512バイトである。以下、説明の便宜上、第1単位サイズが512バイトである場合を例として用いる。   As shown in FIG. 2, the error correction circuit 1 is supplied with write data Da1, Da2, Da3, Da4, Da5, Da6, Da7, Da8. The first unit size can be made to coincide with the unit size of write and read data by the semiconductor memory 2, for example. More specifically, when a NAND flash memory is used as the semiconductor memory 2, the size of the write data corresponds to the size of one page and is, for example, 512 bytes. Hereinafter, for convenience of explanation, a case where the first unit size is 512 bytes is used as an example.

誤り訂正回路1は、一時記憶回路3を有する。一時記憶回路3は、例えば揮発性の記憶回路からなり、例えばDRAM(dynamic random access memory)とすることができる。一時記憶回路3は、書き込みの際に、半導体メモリ2への書き込みデータに対する誤り検出符号および誤り訂正符号を生成する際の一時記憶領域としての機能を有する。一時記憶回路3は、書き込みの際、書き込みデータDa1乃至Da8を供給される。そして、一時記憶回路3は、書き込みデータDa1乃至Da8を記憶する。   The error correction circuit 1 has a temporary storage circuit 3. The temporary storage circuit 3 includes, for example, a volatile storage circuit, and can be a dynamic random access memory (DRAM), for example. The temporary storage circuit 3 has a function as a temporary storage area when generating an error detection code and an error correction code for data written to the semiconductor memory 2 at the time of writing. The temporary storage circuit 3 is supplied with write data Da1 to Da8 at the time of writing. The temporary storage circuit 3 stores write data Da1 to Da8.

書き込みデータDa1、Da2、Da3、Da4、Da5、Da6、Da7、Da8は、それぞれ、誤り検出符号生成部41、42、43、44、45、46、47、48(一部のみ図示)に供給される。   Write data Da1, Da2, Da3, Da4, Da5, Da6, Da7, Da8 are respectively supplied to error detection code generators 41, 42, 43, 44, 45, 46, 47, 48 (only a part is shown). The

誤り検出符号生成部41、42、43、44、45、46、47、48は、それぞれ、書き込みデータDa1、Da2、Da3、Da4、Da5、Da6、Da7、Da8に対する誤り検出符号(のデータ)Db1、Db2、Db3、Db4、Db5、Db6、Db7、Db8を生成する。誤り検出符号Db1乃至Db8は、それぞれ、書き込みデータDa1乃至Da8の誤りを検出するために用いられる。そして、誤り検出符号Db1乃至Db8は、この目的を達成しつつ、符号の計算が簡単で、誤り検出符号生成部12の消費電力の少ないものが用いられる。例えば、誤り検出符号としては、CRC(cyclic redundancy checksum)32、CRC16等を用いることができる。誤り検出符号Db1乃至Db8は、一時記憶回路3に供給される。   The error detection code generation units 41, 42, 43, 44, 45, 46, 47, and 48 are error detection codes (data) Db1 for the write data Da1, Da2, Da3, Da4, Da5, Da6, Da7, Da8, respectively. , Db2, Db3, Db4, Db5, Db6, Db7, Db8. The error detection codes Db1 to Db8 are used to detect errors in the write data Da1 to Da8, respectively. As the error detection codes Db1 to Db8, those that achieve this purpose, have a simple code calculation, and consume less power of the error detection code generation unit 12 are used. For example, CRC (cyclic redundancy checksum) 32, CRC 16 or the like can be used as the error detection code. The error detection codes Db1 to Db8 are supplied to the temporary storage circuit 3.

また、誤り検出符号Db1、Db2、Db3、Db4、Db5、Db6、Db7、Db8は、それぞれ、第1誤り訂正符号生成部61、62、63、64、65、66、67、68に供給される。また、第1誤り訂正符号生成部61乃至68には、それぞれ、書き込みデータDa1乃至Da8が供給される。   The error detection codes Db1, Db2, Db3, Db4, Db5, Db6, Db7, and Db8 are supplied to the first error correction code generation units 61, 62, 63, 64, 65, 66, 67, and 68, respectively. . Further, write data Da1 to Da8 are supplied to the first error correction code generators 61 to 68, respectively.

第1誤り訂正符号生成部61乃至68は、それぞれ、書き込みデータDa1乃至Da8と、誤り検出符号Db1乃至Db8とを用いて、第1誤り訂正符号を生成する。第1誤り訂正符号生成部61により生成される第1誤り訂正符号は、書き込みデータDa1および誤り検出符号のデータDb1内の誤りを訂正するために用いられる。同様に、第1誤り訂正符号生成部62乃至68により生成される第1誤り訂正符号は、それぞれ、書き込みデータDa2乃至Da8および誤り検出符号のデータDb2乃至Db8内の誤りを訂正するために用いられる。   The first error correction code generators 61 to 68 generate first error correction codes using the write data Da1 to Da8 and the error detection codes Db1 to Db8, respectively. The first error correction code generated by the first error correction code generation unit 61 is used to correct errors in the write data Da1 and the error detection code data Db1. Similarly, the first error correction codes generated by the first error correction code generators 62 to 68 are used to correct errors in the write data Da2 to Da8 and the error detection code data Db2 to Db8, respectively. .

第1誤り訂正符号として、例えば1ビットの誤り訂正能力程度の、それほど訂正能力が高くは無いが、計算のために高い電力および長い時間を要求せず、実行のために用いられる回路の規模が小さいものを用いることができる。より具体的には、第1誤り訂正符号として、例えば、ハミング符号等を用いることができる。   As the first error correction code, the correction capability is not so high, for example, about 1-bit error correction capability, but does not require high power and long time for calculation, and the scale of the circuit used for execution is Smaller ones can be used. More specifically, for example, a Hamming code or the like can be used as the first error correction code.

第1誤り訂正符号生成部61乃至68は、それぞれ、第1誤り訂正符号(のデータ)Dc1、Dc2、Dc3、Dc4、Dc5、Dc6、Dc7、Dc8を出力する。第1誤り訂正符号Dc1乃至Dc8は、一時記憶回路3に供給される。   The first error correction code generators 61 to 68 output first error correction codes (data) Dc1, Dc2, Dc3, Dc4, Dc5, Dc6, Dc7, and Dc8, respectively. The first error correction codes Dc1 to Dc8 are supplied to the temporary storage circuit 3.

誤り検出符号Db1乃至Db8は、第2誤り訂正符号生成部8に供給される。第2誤り訂正符号生成部8には、また、書き込みデータDa1乃至Da8が供給される。第2誤り訂正符号生成部8は、書き込みデータDa1乃至Da8、誤り検出符号データDb1乃至Db8を用いて、第2誤り訂正符号を生成する。第2誤り訂正符号は、書き込みデータDa1乃至Da8および誤り検出符号Db1乃至Db8内の誤りを訂正するために用いられる。   The error detection codes Db1 to Db8 are supplied to the second error correction code generation unit 8. The second error correction code generation unit 8 is also supplied with write data Da1 to Da8. The second error correction code generation unit 8 generates a second error correction code using the write data Da1 to Da8 and the error detection code data Db1 to Db8. The second error correction code is used to correct errors in the write data Da1 to Da8 and the error detection codes Db1 to Db8.

第2誤り訂正符号として、例えば、計算量が多いが多ビットの誤りを訂正できる、第1誤り訂正符号を用いた誤り訂正よりも高い能力の誤り訂正を可能とするものが用いられる。より具体的には、第2誤り訂正符号として、例えば、BCH符号、リード・ソロモン(RS)符号、或いはLDPC符号(low density parity check code)等を用いることができる。第2誤り訂正符号生成部8は、演算量が多いがために、回路規模、消費電力、演算時間が、第1誤り訂正符号生成部61乃至68より大きいが、第1誤り訂正符号生成部61乃至68より高い誤り訂正能力を有している。   As the second error correction code, for example, a code capable of correcting an error with a higher capability than an error correction using the first error correction code, which has a large calculation amount but can correct a multi-bit error, is used. More specifically, for example, a BCH code, a Reed-Solomon (RS) code, an LDPC code (low density parity check code), or the like can be used as the second error correction code. Since the second error correction code generation unit 8 has a large calculation amount, the circuit scale, power consumption, and calculation time are larger than those of the first error correction code generation units 61 to 68, but the first error correction code generation unit 61 The error correction capability is higher than 68.

第2誤り訂正符号生成部8は、第2誤り訂正符号(のデータ)Ddを一時記憶回路3に供給する。また、一時記憶回路3は、後述のような構造とされた、書き込みデータDa1乃至Da8、誤り検出符号Db1乃至Db8、第1誤り検出符号Dc1乃至Dc8、第2誤り検出符号Ddを半導体メモリ2に供給する。   The second error correction code generator 8 supplies the second error correction code (data) Dd to the temporary storage circuit 3. Further, the temporary storage circuit 3 stores write data Da1 to Da8, error detection codes Db1 to Db8, first error detection codes Dc1 to Dc8, and second error detection code Dd in the semiconductor memory 2 having a structure as described below. Supply.

[データ書き込み時の動作]
次に、誤り訂正回路1の、データ書き込み時の動作について図3乃至図6を参照して説明する。図3乃至図6は、書き込みの際の一時記憶回路3内のデータの状態を概略的に順に示している。
[Operation when writing data]
Next, the operation of the error correction circuit 1 during data writing will be described with reference to FIGS. 3 to 6 schematically show the state of data in the temporary storage circuit 3 at the time of writing.

まず、図3に示すように、半導体メモリ2への書き込み対象となる8個の書き込みデータDa1乃至Da8が、誤り訂正回路1に供給される。書き込みデータDa1乃至Da8は、一時記憶回路3内に格納される。   First, as shown in FIG. 3, eight pieces of write data Da1 to Da8 to be written into the semiconductor memory 2 are supplied to the error correction circuit 1. The write data Da1 to Da8 are stored in the temporary storage circuit 3.

次に、図4に示すように、書き込みデータDa1乃至Da8は、それぞれ、誤り検出符号生成部41乃至48に供給される。誤り検出符号生成部41乃至48は、それぞれ、書き込みデータDa1乃至Da8についての誤り検出符号Db1乃至Db8を生成する。誤り検出符号としてCRC32が用いられる場合、各誤り検出符号Db1乃至Db8のサイズは、32ビットである。   Next, as shown in FIG. 4, the write data Da1 to Da8 are supplied to the error detection code generators 41 to 48, respectively. The error detection code generation units 41 to 48 generate error detection codes Db1 to Db8 for the write data Da1 to Da8, respectively. When CRC32 is used as the error detection code, the size of each error detection code Db1 to Db8 is 32 bits.

書き込みデータDa1と、その後ろに繋げられた誤り検出符号Db1とによって、誤り訂正単位を構成する第1単位データD1が構成される。同様に、書き込みデータDa2乃至Da8と、それぞれの後ろに繋げられた誤り検出符号Db2乃至Db8とによって、第1単位データD2乃至D8が構成される。そして、第1単位データD1乃至D8は、一時記憶回路3に格納される。誤り検出符号生成部41乃至48の詳細な構成は、当業者にとって既知であり、ここでは説明を省略する。本実施形態では、誤り検出符号生成部41乃至48は、検出符号生成動作を並行して行っている。このように、誤り検出符号生成部41乃至48を並行して動作させることによって、処理時間を短縮させることができる。   The write data Da1 and the error detection code Db1 connected behind the write data Da1 constitute first unit data D1 constituting an error correction unit. Similarly, the first unit data D2 to D8 are constituted by the write data Da2 to Da8 and the error detection codes Db2 to Db8 connected to the back of each. The first unit data D1 to D8 are stored in the temporary storage circuit 3. The detailed configuration of the error detection code generators 41 to 48 is known to those skilled in the art, and a description thereof is omitted here. In the present embodiment, the error detection code generation units 41 to 48 perform detection code generation operations in parallel. Thus, the processing time can be shortened by operating the error detection code generation units 41 to 48 in parallel.

次に、図5に示すように、第1単位データD1乃至D8は、それぞれ、第1誤り訂正符号生成部61乃至68に供給される。第1誤り訂正符号生成部61は、第1単位データD1を用いて、第1単位データD1の誤りを訂正するための第1誤り訂正符号Dc1を生成する。第1誤り訂正符号Dc1は、誤り検出符号Db1の後ろと書き込みデータDa2の前に連結された形で、一時記憶回路3内に格納される。   Next, as shown in FIG. 5, the first unit data D1 to D8 are supplied to the first error correction code generators 61 to 68, respectively. The first error correction code generator 61 uses the first unit data D1 to generate a first error correction code Dc1 for correcting an error in the first unit data D1. The first error correction code Dc1 is stored in the temporary storage circuit 3 in a form concatenated after the error detection code Db1 and before the write data Da2.

同様に、第1誤り訂正符号生成部62乃至68は、それぞれ、第1単位データD2乃至D8を用いて、第1単位データD2乃至D8の誤りを訂正するための第1誤り訂正符号Dc2乃至Dc8を生成する。第1誤り訂正符号Dc2は、誤り検出符号Db2の後ろと書き込みデータDa3の前に連結された形で、一時記憶回路3内に格納される。同様に、第1誤り訂正符号Dc3乃至Dc7は誤り検出符号Db3乃至Db7の後ろと書き込みデータDa4乃至Da8の前に連結され、第1誤り訂正符号Dc8は誤り検出符号Db8の後ろに連結された形で、一時記憶回路3内に格納される。   Similarly, the first error correction code generators 62 to 68 use the first unit data D2 to D8 to correct the errors of the first unit data D2 to D8, respectively. Is generated. The first error correction code Dc2 is stored in the temporary storage circuit 3 in a form concatenated after the error detection code Db2 and before the write data Da3. Similarly, the first error correction codes Dc3 to Dc7 are connected after the error detection codes Db3 to Db7 and before the write data Da4 to Da8, and the first error correction code Dc8 is connected after the error detection code Db8. And stored in the temporary storage circuit 3.

第1誤り訂正符号としてハミング符号が用いられた場合、各第1単位データD1乃至D8は、4096ビットの各書き込みデータ+32ビットの誤り検出符号からなるサイズを有する。この各第1単位データD1乃至D8内の1ビットの誤り訂正を行なうためには、各第1誤り訂正符号Db1乃至Db8のサイズは、例えば13ビットである。第1誤り訂正符号生成部61乃至68の詳細な構成は、当業者にとって既知であり、ここでは説明は省略する。本実施形態では、第1誤り訂正符号生成部61乃至68は、訂正符号生成動作を並行して行っている。このように、第1誤り訂正符号生成部61乃至68を並行して動作させることによって、処理時間を短縮させることができる。   When a Hamming code is used as the first error correction code, each of the first unit data D1 to D8 has a size consisting of 4096 bits of each write data + 32 bits of an error detection code. In order to perform 1-bit error correction in each of the first unit data D1 to D8, the size of each of the first error correction codes Db1 to Db8 is, for example, 13 bits. The detailed configuration of the first error correction code generators 61 to 68 is known to those skilled in the art and will not be described here. In the present embodiment, the first error correction code generation units 61 to 68 perform correction code generation operations in parallel. Thus, the processing time can be shortened by operating the first error correction code generation units 61 to 68 in parallel.

第1単位データD1乃至D8は、順に連結されて第2単位データを構成し、第2単位データは、第2誤り訂正符号生成部8に供給される。第2単位データは、第2誤り訂正符号生成部が第2誤り訂正符号を生成する際に用いるデータの単位である。第2誤り訂正符号生成部8は、第2単位データを用いて、第2単位データ内の誤りを訂正するための第2誤り訂正符号Ddを生成する。第2誤り訂正符号Ddは、第2単位データの後ろに連結された形で一時記憶回路3内に格納される。   The first unit data D1 to D8 are concatenated in order to form second unit data, and the second unit data is supplied to the second error correction code generation unit 8. The second unit data is a unit of data used when the second error correction code generation unit generates the second error correction code. The second error correction code generation unit 8 generates a second error correction code Dd for correcting an error in the second unit data using the second unit data. The second error correction code Dd is stored in the temporary storage circuit 3 in a form concatenated after the second unit data.

第2誤り訂正符号としてRS符号が用いられた場合、第2単位データは、4096ビットの書き込みデータ×8+32ビットの誤り検出符号×8からなるサイズを有し、この第2単位データ内の12ビットの誤りを訂正する。このような大きさの第2単位データの誤りを訂正するためには、第2誤り訂正符号Ddの大きさは、例えば192ビットである。第2誤り訂正符号生成部8の詳細な構成は、当業者にとって既知であり、ここでは説明は省略する。   When the RS code is used as the second error correction code, the second unit data has a size of 4096 bits of write data × 8 + 32 bits of error detection code × 8, and 12 bits in the second unit data. Correct the error. In order to correct the error of the second unit data having such a size, the size of the second error correction code Dd is, for example, 192 bits. A detailed configuration of the second error correction code generation unit 8 is known to those skilled in the art, and a description thereof is omitted here.

ここまでの工程によって、第2単位データの後ろに第2誤り訂正符号Ddが繋げられることによって、転送単位データ(図5の一時記憶回路3内の構成)が得られる。転送単位データは、半導体メモリ2に供給される。半導体メモリ2は、転送単位データごとに、データを記憶する処理を行なう。   Through the steps so far, the second error correction code Dd is connected after the second unit data, so that transfer unit data (configuration in the temporary storage circuit 3 in FIG. 5) is obtained. The transfer unit data is supplied to the semiconductor memory 2. The semiconductor memory 2 performs a process of storing data for each transfer unit data.

[読み出し系回路の構成]
図6は、誤り訂正回路1のデータ読み出しに関する主要部を示すブロック図である。
[Configuration of readout circuit]
FIG. 6 is a block diagram showing a main part related to data reading of the error correction circuit 1.

図6に示すように、信号S1が、半導体メモリ2から第1誤り訂正部11に供給される。信号S1は、転送単位データ(図5の一時記憶回路3内の構成)から構成される。   As shown in FIG. 6, the signal S <b> 1 is supplied from the semiconductor memory 2 to the first error correction unit 11. The signal S1 is composed of transfer unit data (configuration in the temporary storage circuit 3 in FIG. 5).

第1単位データD1乃至D8内に誤りが存在する場合、第1誤り訂正部11は、信号S1内の第1誤り訂正符号Dc1乃至Dc8を用いて、第1誤り訂正部11の能力の範囲内で第1単位データD1乃至D8内の誤りをそれぞれ訂正する。すなわち、第1誤り訂正部11は、第1誤り訂正符号Dc1を用いて、第1単位データD1内の誤りを訂正する。同様に、第1誤り訂正部11は、第1単位データD2乃至D8内の誤りを、誤り訂正符号Dc2乃至Dc8を用いて、第1誤り訂正部11の能力の範囲内でそれぞれ訂正する。   When there is an error in the first unit data D1 to D8, the first error correction unit 11 uses the first error correction codes Dc1 to Dc8 in the signal S1, and falls within the capability range of the first error correction unit 11. Thus, the errors in the first unit data D1 to D8 are respectively corrected. That is, the first error correction unit 11 corrects an error in the first unit data D1 using the first error correction code Dc1. Similarly, the first error correction unit 11 corrects errors in the first unit data D2 to D8 using the error correction codes Dc2 to Dc8 within the capability of the first error correction unit 11, respectively.

第1誤り訂正部11は、こうして、信号S1に対して第1誤り訂正符号を用いた誤り訂正が施された形態の信号S2を出力する。誤り訂正前の各第1単位データD1乃至D8内の誤りビットの数が、第1誤り訂正部11の誤り訂正能力以下であれば、信号S2内の誤り訂正後の第1単位データD1乃至D8内には誤りが無い。一方、誤り訂正前の各第1単位データD1乃至D8内の誤りビットの数が、第1誤り訂正部11の誤り訂正能力を超えていれば、信号S2内の誤り訂正後の第1単位データD1乃至D8内には誤りが含まれている。   Thus, the first error correction unit 11 outputs the signal S2 in a form in which the error correction using the first error correction code is performed on the signal S1. If the number of error bits in each of the first unit data D1 to D8 before error correction is equal to or less than the error correction capability of the first error correction unit 11, the first unit data D1 to D8 after error correction in the signal S2 There are no errors in it. On the other hand, if the number of error bits in each of the first unit data D1 to D8 before error correction exceeds the error correction capability of the first error correction unit 11, the first unit data after error correction in the signal S2. Errors are included in D1 to D8.

信号S2は、誤り検出部12および第2誤り訂正部13に供給される。誤り検出部12は、誤り検出符号Db1乃至Db8を用いて、書き込みデータDa1乃至Da8内の誤りをそれぞれ検出する。そして、誤り検出部12は、信号S2をそのまま選択部14に供給する。また、誤り検出部12は、全ての第1単位データD1乃至D8内に誤りを検出しなかったか、誤りを検出したかを示す信号S3を選択部14に供給する。また、誤り検出部12は、誤りが検出されたか否かに加えて、第1単位データD1乃至D8のいずれにおいて誤りが検出されたかの情報を含んだ信号S4を第2誤り訂正部13に供給する。   The signal S2 is supplied to the error detection unit 12 and the second error correction unit 13. The error detection unit 12 detects errors in the write data Da1 to Da8 using the error detection codes Db1 to Db8, respectively. Then, the error detection unit 12 supplies the signal S2 to the selection unit 14 as it is. Further, the error detection unit 12 supplies the selection unit 14 with a signal S3 indicating whether no error has been detected in all the first unit data D1 to D8 or whether an error has been detected. Further, the error detection unit 12 supplies the second error correction unit 13 with a signal S4 including information on which of the first unit data D1 to D8 has detected an error in addition to whether or not an error has been detected. .

第2誤り訂正部13は、信号S4を解析して、誤り検出部12での誤り検出の結果、誤りが検出されたか否かを知得する。誤りが検出されなかった場合は、これ以上の誤り訂正は不要であるので、例えば、第2誤り訂正部13は電源回路(図示せず)からの電源供給の停止またはクロック回路(図示せず)からのクロック信号の供給の停止等によって、処理対象である信号S2についての動作を停止する。   The second error correction unit 13 analyzes the signal S4 to know whether or not an error has been detected as a result of error detection by the error detection unit 12. If no error is detected, no further error correction is required. For example, the second error correction unit 13 stops power supply from a power supply circuit (not shown) or a clock circuit (not shown). The operation of the signal S2 to be processed is stopped, for example, by stopping the supply of the clock signal from.

一方、第2誤り訂正部13は、信号S4の解析の結果、信号S2内に誤りが検出されたことを知得した場合、第2誤り訂正符号Ddを用いて、第1単位データD1乃至D8内の誤りを訂正する。この際、第2誤り訂正部13は、信号S4内の情報を用いて、誤りを含んでいる第1単位データD1乃至D8のみに対して誤り訂正を行なう。その様子の例が、図7に示されている。   On the other hand, when the second error correction unit 13 learns from the analysis of the signal S4 that an error has been detected in the signal S2, the second error correction unit 13 uses the second error correction code Dd to generate the first unit data D1 to D8. Correct the error in At this time, the second error correction unit 13 performs error correction only on the first unit data D1 to D8 including an error, using the information in the signal S4. An example of this is shown in FIG.

図7は、第1単位データD2、D4、D5内で誤りが検出された例を示している。第2誤り訂正部13は、第2誤り訂正符号Ddを用いたシンドロームの計算については、第1単位データD1乃至D8の全てを対象とする。一方、第2誤り訂正部13は、チェン探索(Chien Search)については、誤りが検出された第1単位データD2、D4、D5のみを対象とする。そして、第2誤り訂正部13は、第1単位データD2、D4、D5内の誤りを第2誤り訂正符号Ddを用いて訂正する。第2誤り訂正部13は、信号S2に対して第2誤り訂正符号を用いて誤り訂正が施された形態の信号S5を出力する。   FIG. 7 shows an example in which an error is detected in the first unit data D2, D4, D5. The second error correction unit 13 targets all of the first unit data D1 to D8 for the calculation of the syndrome using the second error correction code Dd. On the other hand, the second error correction unit 13 targets only the first unit data D2, D4, and D5 in which an error is detected for the Chien Search. The second error correction unit 13 corrects errors in the first unit data D2, D4, and D5 using the second error correction code Dd. The second error correction unit 13 outputs a signal S5 in a form in which error correction is performed on the signal S2 using the second error correction code.

なお、第2誤り訂正部13での誤り訂正は、従来と異なり、第1単位データD1乃至D8のうちの誤りが検出されたものに対して、順次行なわれる。すなわち、各第1単位データD1乃至D8専用の誤り訂正回路は設けられていない。こうすることによって、第2誤り訂正部13の回路規模および消費電力を削減できる。   The error correction in the second error correction unit 13 is sequentially performed on the first unit data D1 to D8 in which an error is detected, unlike the conventional case. That is, no error correction circuit dedicated to each of the first unit data D1 to D8 is provided. By doing so, the circuit scale and power consumption of the second error correction unit 13 can be reduced.

一方、誤り訂正を行なう第1単位データの数によっては、第1単位データD1乃至D8専用の回路を設けて並列に誤り訂正を行なう場合よりも多くの時間がかかることになる。しかしながら、本実施形態では、第2誤り訂正部13が、第1単位データD1乃至D8のうちの誤りが検出されたものに対してのみチェン探索を行なう。これに加えて、後述するように、第1誤り訂正符号は、第1誤り訂正符号を用いた訂正のみによって、第1単位データD1乃至D8の誤りのほとんど(100%に近い割合)を訂正できるように設計される。このため、第2誤り訂正符号を用いるケースは稀である。したがって、本実施形態では、第1単位データD1乃至D8に対する誤り訂正回路を共用することによって、処理時間の増大を招くことなく、第2誤り訂正部13の回路規模および消費電力を削減できる。   On the other hand, depending on the number of first unit data to be error-corrected, more time is required than when error correction is performed in parallel by providing a circuit dedicated to the first unit data D1 to D8. However, in the present embodiment, the second error correction unit 13 performs a chain search only for the first unit data D1 to D8 in which an error is detected. In addition, as will be described later, the first error correction code can correct most of the errors in the first unit data D1 to D8 (ratio close to 100%) only by correction using the first error correction code. Designed as such. For this reason, the case of using the second error correction code is rare. Therefore, in the present embodiment, by sharing the error correction circuit for the first unit data D1 to D8, the circuit scale and power consumption of the second error correction unit 13 can be reduced without increasing the processing time.

また、例えば、ある転送単位データが記憶装置から繰り返し読み出される処理において、この転送単位データの最初の読み出し時に、誤り検出部12がこの転送単位データ内に誤りを検出しなかったとする。このようなとき、この転送単位データの2回目以降の読み出しの際に、予め第2誤り訂正部13への電源供給とクロック信号供給の少なくとも一方が停止される。この結果、このように同じ転送単位データが読み出される際に、誤り訂正回路1での電力消費が、大幅に削減される。   In addition, for example, in a process in which certain transfer unit data is repeatedly read from the storage device, it is assumed that the error detection unit 12 does not detect an error in the transfer unit data at the first reading of the transfer unit data. In such a case, at the time of reading the transfer unit data for the second and subsequent times, at least one of power supply and clock signal supply to the second error correction unit 13 is stopped in advance. As a result, when the same transfer unit data is read in this way, the power consumption in the error correction circuit 1 is greatly reduced.

次に、第1誤り訂正部11及び第2誤り訂正部13の訂正能力の決定の仕方について説明する。なお、第1誤り訂正部11の訂正能力という場合には、第1誤り訂正符号生成部61乃至68が第1誤り訂正符号Dc1乃至Dc8を生成する処理も含まれるものとする。同様に、第2誤り訂正部13の訂正能力という場合には、第2誤り訂正符号生成部8が第2誤り訂正符号Ddを生成する処理も含まれるものとする。   Next, how to determine the correction capability of the first error correction unit 11 and the second error correction unit 13 will be described. Note that the correction capability of the first error correction unit 11 includes processing in which the first error correction code generation units 61 to 68 generate the first error correction codes Dc1 to Dc8. Similarly, the correction capability of the second error correction unit 13 includes a process in which the second error correction code generation unit 8 generates the second error correction code Dd.

図8は、半導体メモリ2にデータを書き込んでからの経過時間と、必要訂正能力との関係を示す図である。図8に示すように、経過時間が長くなると、半導体メモリ2に書き込まれたデータのうち誤りの数が増加する。そこで、誤りの数の増加に合わせて誤り訂正能力を変化させる。そして、過剰または不十分な誤り訂正能力が使用されないように、第1誤り訂正部11及び第2誤り訂正部13の誤り訂正能力が決定される。具体的には、経過時間が短い間は、第1誤り訂正部11のみによって誤り訂正ができるとともに、経過時間が所定時間(誤り数が急激に増加する時間)を過ぎた後は第1誤り訂正部11及び第2誤り訂正部13によって誤りが訂正できるように、第1誤り訂正部11及び第2誤り訂正部13の誤り訂正能力が決定される。   FIG. 8 is a diagram showing the relationship between the elapsed time after writing data in the semiconductor memory 2 and the required correction capability. As shown in FIG. 8, when the elapsed time becomes longer, the number of errors in the data written in the semiconductor memory 2 increases. Therefore, the error correction capability is changed as the number of errors increases. Then, the error correction capabilities of the first error correction unit 11 and the second error correction unit 13 are determined so that excessive or insufficient error correction capability is not used. Specifically, while the elapsed time is short, the error correction can be performed only by the first error correction unit 11 and the first error correction is performed after the elapsed time has passed a predetermined time (the time when the number of errors increases rapidly). The error correction capability of the first error correction unit 11 and the second error correction unit 13 is determined so that the error can be corrected by the unit 11 and the second error correction unit 13.

図9は、本実施形態の第1誤り訂正部11及び第2誤り訂正部13の担当範囲の分担の概念を示している。図9の横軸は、半導体メモリ2の所定範囲(NAND型フラッシュメモリではページ)当たりの誤りの数を示している。縦軸は、誤り発生確率を示している。また、破線は、半導体メモリ2の劣化前(データ書き込み直後)の関係を示している。一方、実線は、半導体メモリ2の劣化後(補償されるデータ保持時間が経過した後)の関係を示している。   FIG. 9 shows the concept of assignment of the assigned range of the first error correction unit 11 and the second error correction unit 13 of the present embodiment. The horizontal axis of FIG. 9 indicates the number of errors per predetermined range (a page in the NAND flash memory) of the semiconductor memory 2. The vertical axis indicates the error occurrence probability. A broken line indicates a relationship before the semiconductor memory 2 is deteriorated (immediately after data writing). On the other hand, the solid line shows the relationship after the semiconductor memory 2 is deteriorated (after the compensated data retention time has elapsed).

図9に示すように、所定範囲当たりの誤りの数が少ない範囲では、第1誤り訂正部11のみで全ての誤りが訂正されるように第1誤り訂正部11の誤り訂正能力が決定される。具体的には、訂正可能なビット数、誤り訂正方式、および誤り訂正符号のビット数等が決定される。例えば、劣化前の段階では第1誤り訂正部11がほぼ100%程度の誤り、劣化後では99%程度の誤りを訂正できるように、第1誤り訂正部11の誤り訂正能力が決定される。一方、第2誤り訂正部13の誤り訂正能力は、劣化後で残りの1%程度の誤りを訂正できるように決定される。   As shown in FIG. 9, in the range where the number of errors per predetermined range is small, the error correction capability of the first error correction unit 11 is determined so that all errors are corrected only by the first error correction unit 11. . Specifically, the number of correctable bits, the error correction method, the number of bits of the error correction code, and the like are determined. For example, the error correction capability of the first error correction unit 11 is determined so that the first error correction unit 11 can correct approximately 100% error before the deterioration and about 99% error after deterioration. On the other hand, the error correction capability of the second error correction unit 13 is determined so that the remaining error of about 1% can be corrected after deterioration.

この結果、図10に示すように、誤り率の増加とともに、第2誤り訂正部13の利用確率は上昇する。   As a result, as shown in FIG. 10, the use probability of the second error correction unit 13 increases as the error rate increases.

このように、誤り訂正能力が小さいが処理時間および消費電力の少ない第1誤り訂正部11がほぼ全ての誤り訂正を担当し、処理時間および消費電力が大きいが誤り訂正能力が高い第2誤り訂正部13が残りの誤りの訂正を担当する。このため、誤り訂正回路1は、高度な誤り訂正能力を維持しながら、短い処理時間、少ない消費電力、小さな回路規模を有することが可能となる。   As described above, the first error correction unit 11 with small error correction capability but low processing time and power consumption is responsible for almost all error correction, and second error correction with high processing time and power consumption but high error correction capability. Part 13 is responsible for correcting the remaining errors. For this reason, the error correction circuit 1 can have a short processing time, low power consumption, and a small circuit scale while maintaining a high level of error correction capability.

図11は、誤り率と第2誤り訂正部13による平均チェン探索範囲との関係を示している。本実施形態(実線)では、上記したように、第1誤り訂正部11のみによってほとんどの場合の誤りを訂正できるように、第1誤り訂正部11の誤り訂正能力が設定されている。このため、従来(破線)と比べて、誤り率が高くても、第2誤り訂正部13が誤り訂正に関与することが少ない。   FIG. 11 shows the relationship between the error rate and the average chain search range by the second error correction unit 13. In the present embodiment (solid line), as described above, the error correction capability of the first error correction unit 11 is set so that errors in most cases can be corrected only by the first error correction unit 11. For this reason, compared with the conventional case (broken line), even if the error rate is high, the second error correction unit 13 is less involved in error correction.

以上述べたように、実施形態に係る半導体記憶装置によれば、それぞれが複数の書き込みデータの1つを含んだ複数の第1単位データD1乃至D8が構成され、複数の第1単位データD1乃至D8に対して複数の第1誤り訂正符号Dc1乃至Dc8がそれぞれ生成されるとともに、複数の第1単位データD1乃至D8からなる第2単位データに対して第2誤り訂正符号Ddが生成される。そして、誤りビット数が少ない場合は、低能力であるが電力消費が少なく必要な回路規模が小さい第1誤り訂正符号Dc1乃至Dc8を用いた訂正が行なわれ、誤りビット数が多い場合は、電力消費が多く必要な回路規模が大きいが高能力での訂正が可能な第2誤り訂正符号Ddおよび第1誤り訂正符号Dc1乃至Dc8を併用して訂正が行なわれる。このため、誤り訂正能力が損なわれることなく、誤り訂正回路1の回路規模および消費電力が適正化され且つ誤り訂正時間の短い半導体記憶装置が提供される。   As described above, according to the semiconductor memory device according to the embodiment, the plurality of first unit data D1 to D8 each including one of the plurality of write data are configured, and the plurality of first unit data D1 to D8 are configured. A plurality of first error correction codes Dc1 to Dc8 are respectively generated for D8, and a second error correction code Dd is generated for the second unit data composed of the plurality of first unit data D1 to D8. When the number of error bits is small, correction is performed using the first error correction codes Dc1 to Dc8 that have low capacity but low power consumption and a small circuit size, and when the number of error bits is large, Correction is performed by using both the second error correction code Dd and the first error correction codes Dc1 to Dc8 that are consumed and require a large circuit scale but can be corrected with high performance. Therefore, a semiconductor memory device in which the circuit scale and power consumption of the error correction circuit 1 are optimized and the error correction time is short is provided without impairing the error correction capability.

また、本実施形態では、第1誤り訂正符号Db1乃至Db8を用いて誤り訂正が行われた後も誤りを含んでいる第1単位データD1乃至D8に対してのみ、第2誤り訂正符号Ddを用いた誤り訂正が行なわれる。このため、第2誤り訂正符号Ddを用いた誤り訂正を行なう回路を複数の第1単位データD1乃至D8のそれぞれに設ける例に比べて、第2誤り訂正部13の規模は大幅に小さい。   In the present embodiment, the second error correction code Dd is applied only to the first unit data D1 to D8 including errors even after error correction is performed using the first error correction codes Db1 to Db8. The used error correction is performed. For this reason, the scale of the second error correction unit 13 is significantly smaller than an example in which a circuit that performs error correction using the second error correction code Dd is provided in each of the plurality of first unit data D1 to D8.

その他、本発明の思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の範囲に属するものと了解される。   In addition, in the category of the idea of the present invention, those skilled in the art can conceive of various changes and modifications, and it is understood that these changes and modifications also belong to the scope of the present invention. .

1…誤り訂正回路、2…半導体メモリ、3…一時記憶回路、10…半導体記憶装置、41乃至48…誤り検出符号生成部、61乃至68…第1誤り訂正符号生成部、8…第2誤り訂正符号生成部、Da1乃至Da8…書き込みデータ、Db1乃至Db8…誤り検出符号、Dc1乃至Dc8…第1誤り訂正符号、Dd…第2誤り訂正符号、11…第1誤り訂正部、12…誤り検出部、13…第2誤り訂正部、14…選択部。   DESCRIPTION OF SYMBOLS 1 ... Error correction circuit, 2 ... Semiconductor memory, 3 ... Temporary memory circuit, 10 ... Semiconductor memory device, 41 thru | or 48 ... Error detection code generation part, 61 thru | or 68 ... 1st error correction code generation part, 8 ... 2nd error Correction code generation unit, Da1 to Da8 ... write data, Db1 to Db8 ... error detection code, Dc1 to Dc8 ... first error correction code, Dd ... second error correction code, 11 ... first error correction unit, 12 ... error detection Part, 13 ... second error correction part, 14 ... selection part.

Claims (3)

複数の第1データ内の誤りをそれぞれ検出するための複数の検出符号を生成する検出符号生成部と、
各第1データとこれに対応する検出符号とから第1単位データが構成され、複数の第1単位データ内の誤りをそれぞれ訂正するための複数の第1訂正符号を生成する第1訂正符号生成部と、
前記複数の第1単位データから第2単位データが構成され、この第2単位データ内の誤りを訂正するための第2訂正符号を生成する第2訂正符号生成部と、
前記第2単位データ、前記複数の第1訂正符号、及び前記第2訂正符号を不揮発に格納する半導体メモリと、
前記複数の第1訂正符号を用いて、前記複数の第1単位データ内の誤りをそれぞれ訂正する第1訂正部と、
前記複数の検出符号を用いて、前記第1訂正部により訂正された複数の第1データ内の誤りをそれぞれ検出し、かつ前記訂正された複数の第1データのそれぞれについての誤りの有無を示す第1誤り情報を生成する検出部と、
前記第1誤り情報および前記第2訂正符号を用いて、前記訂正された複数の第1データのうち誤りを含んだものに対してチェン探索を行い、誤りを訂正する第2訂正部と、
を具備し、
前記第2訂正符号の誤り訂正能力は、前記第1訂正符号の誤り訂正能力よりも高いことを特徴とする半導体記憶装置。
A detection code generator for generating a plurality of detection codes for detecting errors in the plurality of first data,
First correction code generation for generating a plurality of first correction codes for correcting respective errors in the plurality of first unit data, wherein the first unit data is composed of each first data and the corresponding detection code. And
A second correction code generating unit configured to generate a second correction code for correcting an error in the second unit data, the second unit data being composed of the plurality of first unit data;
A semiconductor memory for storing the second unit data, the plurality of first correction codes, and the second correction code in a nonvolatile manner;
A first correction unit that corrects each error in the plurality of first unit data using the plurality of first correction codes;
The plurality of detection codes are used to detect errors in the plurality of first data corrected by the first correction unit, and indicate the presence / absence of errors in each of the corrected plurality of first data A detector that generates first error information;
Using the first error information and the second correction code, a second correction unit that performs a chain search on the corrected first data including an error and corrects the error;
Comprising
The semiconductor memory device characterized in that the error correction capability of the second correction code is higher than the error correction capability of the first correction code.
前記第2訂正部は、前記第1訂正部により訂正された複数の第1データ内に誤りが存在しない場合に、訂正処理を停止することを特徴とする請求項1に記載の半導体記憶装置。2. The semiconductor memory device according to claim 1, wherein the second correction unit stops correction processing when there is no error in the plurality of first data corrected by the first correction unit. 前記半導体メモリは、NAND型フラッシュメモリであることを特徴とする請求項1又は2に記載の半導体記憶装置。The semiconductor memory device according to claim 1, wherein the semiconductor memory is a NAND flash memory.
JP2010171097A 2010-07-29 2010-07-29 Semiconductor memory device Expired - Fee Related JP4660632B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010171097A JP4660632B2 (en) 2010-07-29 2010-07-29 Semiconductor memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010171097A JP4660632B2 (en) 2010-07-29 2010-07-29 Semiconductor memory device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007225996A Division JP4564520B2 (en) 2007-08-31 2007-08-31 Semiconductor memory device and control method thereof

Publications (2)

Publication Number Publication Date
JP2010238363A JP2010238363A (en) 2010-10-21
JP4660632B2 true JP4660632B2 (en) 2011-03-30

Family

ID=43092532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010171097A Expired - Fee Related JP4660632B2 (en) 2010-07-29 2010-07-29 Semiconductor memory device

Country Status (1)

Country Link
JP (1) JP4660632B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4564520B2 (en) 2007-08-31 2010-10-20 株式会社東芝 Semiconductor memory device and control method thereof
JP4672743B2 (en) * 2008-03-01 2011-04-20 株式会社東芝 Error correction apparatus and error correction method
JP4686645B2 (en) * 2010-07-29 2011-05-25 株式会社東芝 Semiconductor memory device and control method thereof
US8464137B2 (en) * 2010-12-03 2013-06-11 International Business Machines Corporation Probabilistic multi-tier error correction in not-and (NAND) flash memory
JP6346123B2 (en) 2015-05-25 2018-06-20 東芝メモリ株式会社 Controller and control method
US11216333B2 (en) 2018-10-16 2022-01-04 Micron Technology, Inc. Methods and devices for error correction

Also Published As

Publication number Publication date
JP2010238363A (en) 2010-10-21

Similar Documents

Publication Publication Date Title
JP4564520B2 (en) Semiconductor memory device and control method thereof
JP4538034B2 (en) Semiconductor memory device and control method thereof
JP4660632B2 (en) Semiconductor memory device
JP4686645B2 (en) Semiconductor memory device and control method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100729

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100819

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20101110

TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20101124

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101130

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101228

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

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4660632

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees