JP4660632B2 - Semiconductor memory device - Google Patents
Semiconductor memory device Download PDFInfo
- 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
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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.
本発明は、誤り訂正能力を損なうことなく消費電力および回路規模が抑制された半導体記憶装置を提供しようとするものである。 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.
以下に本発明の実施形態について図面を参照して説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。 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
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
同じ行に属するメモリセルトランジスタの制御ゲート電極は、同じワード線と接続される。同じ列に属し且つ直列接続されたメモリセルトランジスタの両端には選択ゲートトランジスタが設けられる。一方の選択ゲートトランジスタは、ビット線と接続される。この法則に則って、メモリセルトランジスタ、選択ゲートトランジスタ、ワード線、ビット線が設けられる。データの書き込みおよび読み出しは複数のメモリセルトランジスタの集合毎に行われ、このメモリセルトランジスタの集合からなる記憶領域が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
また、半導体メモリ12は、半導体記憶装置10に供給される制御信号に応答して、読み出しを要求されているデータ(読み出しデータ)と、これに付加された誤り訂正符号および誤り検出符号を誤り訂正回路1に供給する。誤り訂正回路1は、読み出しデータの誤りを検出、および訂正する。そして、誤りが存在した場合にこれを訂正し、誤り訂正符号および誤り検出符号を除去し、読み出しデータを外部へ出力する。
Further, the
[書き込み系回路の構成]
図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
図2に示すように、誤り訂正回路1は、書き込みデータDa1、Da2、Da3、Da4、Da5、Da6、Da7、Da8を供給される。第1単位サイズは、例えば、半導体メモリ2による、書き込みおよび読み出しのデータの単位サイズと一致させることができる。より具体的には、NAND型フラッシュメモリが半導体メモリ2として用いられる場合、書き込みデータのサイズは、1ページ分のサイズに対応し、例えば512バイトである。以下、説明の便宜上、第1単位サイズが512バイトである場合を例として用いる。
As shown in FIG. 2, the
誤り訂正回路1は、一時記憶回路3を有する。一時記憶回路3は、例えば揮発性の記憶回路からなり、例えばDRAM(dynamic random access memory)とすることができる。一時記憶回路3は、書き込みの際に、半導体メモリ2への書き込みデータに対する誤り検出符号および誤り訂正符号を生成する際の一時記憶領域としての機能を有する。一時記憶回路3は、書き込みの際、書き込みデータDa1乃至Da8を供給される。そして、一時記憶回路3は、書き込みデータDa1乃至Da8を記憶する。
The
書き込みデータ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
誤り検出符号生成部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
また、誤り検出符号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
第1誤り訂正符号生成部61乃至68は、それぞれ、書き込みデータDa1乃至Da8と、誤り検出符号Db1乃至Db8とを用いて、第1誤り訂正符号を生成する。第1誤り訂正符号生成部61により生成される第1誤り訂正符号は、書き込みデータDa1および誤り検出符号のデータDb1内の誤りを訂正するために用いられる。同様に、第1誤り訂正符号生成部62乃至68により生成される第1誤り訂正符号は、それぞれ、書き込みデータDa2乃至Da8および誤り検出符号のデータDb2乃至Db8内の誤りを訂正するために用いられる。
The first error
第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
誤り検出符号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
第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
第2誤り訂正符号生成部8は、第2誤り訂正符号(のデータ)Ddを一時記憶回路3に供給する。また、一時記憶回路3は、後述のような構造とされた、書き込みデータDa1乃至Da8、誤り検出符号Db1乃至Db8、第1誤り検出符号Dc1乃至Dc8、第2誤り検出符号Ddを半導体メモリ2に供給する。
The second error
[データ書き込み時の動作]
次に、誤り訂正回路1の、データ書き込み時の動作について図3乃至図6を参照して説明する。図3乃至図6は、書き込みの際の一時記憶回路3内のデータの状態を概略的に順に示している。
[Operation when writing data]
Next, the operation of the
まず、図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
次に、図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
書き込みデータ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
次に、図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
同様に、第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
第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
第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
第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
ここまでの工程によって、第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
[読み出し系回路の構成]
図6は、誤り訂正回路1のデータ読み出しに関する主要部を示すブロック図である。
[Configuration of readout circuit]
FIG. 6 is a block diagram showing a main part related to data reading of the
図6に示すように、信号S1が、半導体メモリ2から第1誤り訂正部11に供給される。信号S1は、転送単位データ(図5の一時記憶回路3内の構成)から構成される。
As shown in FIG. 6, the signal S <b> 1 is supplied from the
第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
第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
信号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
第2誤り訂正部13は、信号S4を解析して、誤り検出部12での誤り検出の結果、誤りが検出されたか否かを知得する。誤りが検出されなかった場合は、これ以上の誤り訂正は不要であるので、例えば、第2誤り訂正部13は電源回路(図示せず)からの電源供給の停止またはクロック回路(図示せず)からのクロック信号の供給の停止等によって、処理対象である信号S2についての動作を停止する。
The second
一方、第2誤り訂正部13は、信号S4の解析の結果、信号S2内に誤りが検出されたことを知得した場合、第2誤り訂正符号Ddを用いて、第1単位データD1乃至D8内の誤りを訂正する。この際、第2誤り訂正部13は、信号S4内の情報を用いて、誤りを含んでいる第1単位データD1乃至D8のみに対して誤り訂正を行なう。その様子の例が、図7に示されている。
On the other hand, when the second
図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
なお、第2誤り訂正部13での誤り訂正は、従来と異なり、第1単位データD1乃至D8のうちの誤りが検出されたものに対して、順次行なわれる。すなわち、各第1単位データD1乃至D8専用の誤り訂正回路は設けられていない。こうすることによって、第2誤り訂正部13の回路規模および消費電力を削減できる。
The error correction in the second
一方、誤り訂正を行なう第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
また、例えば、ある転送単位データが記憶装置から繰り返し読み出される処理において、この転送単位データの最初の読み出し時に、誤り検出部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
次に、第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
図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
図9は、本実施形態の第1誤り訂正部11及び第2誤り訂正部13の担当範囲の分担の概念を示している。図9の横軸は、半導体メモリ2の所定範囲(NAND型フラッシュメモリではページ)当たりの誤りの数を示している。縦軸は、誤り発生確率を示している。また、破線は、半導体メモリ2の劣化前(データ書き込み直後)の関係を示している。一方、実線は、半導体メモリ2の劣化後(補償されるデータ保持時間が経過した後)の関係を示している。
FIG. 9 shows the concept of assignment of the assigned range of the first
図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
この結果、図10に示すように、誤り率の増加とともに、第2誤り訂正部13の利用確率は上昇する。
As a result, as shown in FIG. 10, the use probability of the second
このように、誤り訂正能力が小さいが処理時間および消費電力の少ない第1誤り訂正部11がほぼ全ての誤り訂正を担当し、処理時間および消費電力が大きいが誤り訂正能力が高い第2誤り訂正部13が残りの誤りの訂正を担当する。このため、誤り訂正回路1は、高度な誤り訂正能力を維持しながら、短い処理時間、少ない消費電力、小さな回路規模を有することが可能となる。
As described above, the first
図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
以上述べたように、実施形態に係る半導体記憶装置によれば、それぞれが複数の書き込みデータの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
また、本実施形態では、第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
その他、本発明の思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の範囲に属するものと了解される。 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
Claims (3)
各第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.
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)
| 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 |
-
2010
- 2010-07-29 JP JP2010171097A patent/JP4660632B2/en not_active Expired - Fee Related
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 |