JP2016122338A - Error correction apparatus - Google Patents

Error correction apparatus Download PDF

Info

Publication number
JP2016122338A
JP2016122338A JP2014262131A JP2014262131A JP2016122338A JP 2016122338 A JP2016122338 A JP 2016122338A JP 2014262131 A JP2014262131 A JP 2014262131A JP 2014262131 A JP2014262131 A JP 2014262131A JP 2016122338 A JP2016122338 A JP 2016122338A
Authority
JP
Japan
Prior art keywords
correction
data
error
syndrome
bit
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.)
Granted
Application number
JP2014262131A
Other languages
Japanese (ja)
Other versions
JP6438763B2 (en
Inventor
啓之 丸山
Hiroyuki Maruyama
啓之 丸山
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.)
MegaChips Corp
Original Assignee
MegaChips 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 MegaChips Corp filed Critical MegaChips Corp
Priority to JP2014262131A priority Critical patent/JP6438763B2/en
Publication of JP2016122338A publication Critical patent/JP2016122338A/en
Application granted granted Critical
Publication of JP6438763B2 publication Critical patent/JP6438763B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an error correction apparatus configured to improve error correction capability without increasing circuit scale.SOLUTION: When a determination is made that read data DT2 is in an abnormal state of 25 bits or more, on the basis of error bit information EB2 obtained from a correction circuit 14A, a controller control section 12A enters two-stage correction processing. In steps ST25-ST27, first-stage correction processing is executed to restore the read data DT2 to read data DT1 of 24 bit or less with a bit error, including bit error correction processing using a correction circuit 14A with a second syndrome S2 stored in an SRAM 13 in a warning state. In steps ST28 and ST29, second-stage correction processing is executed to restore the read data DT1 to read data DT0 without bit error, including bit error correction processing using the correction circuit 14A with an initial syndrome S1.SELECTED DRAWING: Figure 2

Description

この発明は、NAND型セル等の劣化によりビットエラーが発生するセルより構成される半導体メモリに対する読み出し時におけるエラー訂正を行うエラー訂正装置に関する。   The present invention relates to an error correction apparatus that performs error correction at the time of reading from a semiconductor memory composed of cells in which a bit error occurs due to deterioration of a NAND cell or the like.

メモリコントローラと半導体メモリであるNANDメモリ(NAND型セルを有する不揮発性メモリ)とに構成されるメモリシステムにおいて、NANDメモリの特性上、リードディスターブ(Read Disturb)によるビットエラー(bit error)が発生する。   In a memory system composed of a memory controller and a NAND memory (nonvolatile memory having NAND cells) as a semiconductor memory, a bit error due to read disturb occurs due to the characteristics of the NAND memory. .

さらに、NANDメモリを継続的に使用することによりメモリセルにダメージが蓄積され、ダメージを受けたメモリセルは保持(Retention)特性が劣化したり、健常なメモリセルに比べてビットエラーが多く発生したりする。   In addition, the use of NAND memory continuously accumulates damage to memory cells, and the memory cells that have been damaged deteriorate the retention characteristics, and generate more bit errors than normal memory cells. Or

通常、一定量のビットエラーであればエラー訂正機能で訂正可能であるが、エラー訂正能力以上のビットエラーが発生してしまうと正常なデータ読み出しが不可能になる。   Normally, a certain amount of bit errors can be corrected by the error correction function, but if a bit error exceeding the error correction capability occurs, normal data reading becomes impossible.

NANDメモリに増大するビットエラーに対して一般的に以下の対策が採られる。   The following countermeasures are generally taken against bit errors that increase in the NAND memory.

(1) 異なるエラー訂正能力を有する複数の(エラー)訂正回路を搭載し、ビットエラーの発生状況に応じて、複数の訂正回路のうち一の訂正回路を選択してエラー訂正を行う。   (1) A plurality of (error) correction circuits having different error correction capabilities are mounted, and error correction is performed by selecting one of the plurality of correction circuits according to the bit error occurrence state.

(2) リフレッシュ(正常なデータの書き直し)によって保持データを正常な状態に戻す。   (2) The retained data is returned to the normal state by refresh (rewriting normal data).

上記(1)の例として、例えば、特許文献1において、異なるエラー訂正能力をもつ複数の訂正回路を搭載し、複数の訂正回路のうち、使用する訂正回路をビットエラーの発生状況に応じて動的に変化させ、エラー訂正能力を超えるビットエラーが発生しないようにする技術が開示されている。   As an example of the above (1), for example, in Patent Document 1, a plurality of correction circuits having different error correction capabilities are mounted, and among the plurality of correction circuits, the correction circuit to be used is operated according to the occurrence state of a bit error. A technique is disclosed in which a bit error exceeding the error correction capability is prevented from occurring by changing the error.

また、訂正回路の選択を動的に可変にするのではなく、異なるエラー訂正能力もしくは符号長(訂正するデータの単位)が異なる複数の訂正回路を組み合わせることにより、単体の訂正回路のエラー訂正能力を超えるようなビットエラーが発生しても、相互補完的に訂正できる技術が、例えば、特許文献2に開示されている。   In addition, the error correction capability of a single correction circuit is not achieved by combining multiple correction circuits with different error correction capabilities or code lengths (units of data to be corrected), instead of dynamically changing the correction circuit selection. For example, Patent Document 2 discloses a technique that can correct each other in a complementary manner even if a bit error exceeding 1 is generated.

特開2013−152604号公報JP2013-152604A 特開2011−507066号公報JP 2011-507066 A

しかしながら、エラー訂正能力を高めるため、特許文献1及び特許文献2に開示された技術は、いずれにおいても複数の訂正回路が必要になる分、回路規模が増大するという問題点があった。   However, in order to improve the error correction capability, the techniques disclosed in Patent Document 1 and Patent Document 2 have a problem that the circuit scale increases because a plurality of correction circuits are required.

この発明は上記問題点を解決するためになされたもので、回路規模を増大させることなく、エラー訂正能力を高めたエラー訂正装置を得ることを目的とする。   The present invention has been made to solve the above-described problems, and an object of the present invention is to obtain an error correction apparatus having improved error correction capability without increasing the circuit scale.

この発明に係る請求項1記載のエラー訂正装置は、アドレス単位にユーザデータ及び初期シンドロームを格納した半導体メモリに対する読み出し時にエラー訂正を行うエラー訂正装置であって、訂正用シンドロームを用いて、前記訂正用シンドロームを含む訂正対象データ内のビットエラーを訂正して訂正後データを得るビットエラー訂正処理を実行する訂正回路を備え、前記訂正回路は前記訂正対象データのビットエラー数が訂正可能ビット数以内の場合に訂正可能であり、第2のシンドロームをアドレスに対応づけて格納する一時記憶部と、前記半導体メモリからアドレス単位に得られる、前記ユーザデータ及び前記初期シンドロームを含む読み出しデータを取り込み、前記訂正回路による前記ビットエラー訂正処理を含むデータ訂正読み出し処理を実行制御して、訂正後読み出しデータを得る制御部とをさらに備え、前記データ訂正読み出し処理は、(a) 通常状態時、前記読み出しデータを前記訂正対象データとし、前記初期シンドロームを前記訂正用シンドロームとして、前記訂正回路に前記ビットエラー訂正処理を実行させ、前記訂正後データに含まれるデータを前記訂正後読み出しデータとするステップと、(b) 前記読み出しデータのビットエラー数が、前記訂正可能ビット数以下の値で予め設定された警戒基準ビット数以上に達した要警戒状態時に、前記読み出しデータをシンドローム生成対象データとし、前記訂正回路によって前記シンドローム生成対象データ用の前記第2のシンドロームを生成させ、前記第2のシンドロームを前記読み出しデータの読み出し時におけるアドレスに対応づけて前記一時記憶部に保存するステップと、(c) 前記読み出しデータの異常状態の有無を判定するステップと、(d) 前記ステップ(c) で前記読み出しデータの異常状態が判定された時に、2段階訂正処理を実行するステップとを含み、前記ステップ(d) は、(d-1) 前記読み出しデータと前記一時記憶部に保存された前記第2シンドロームとを前記訂正対象データとし、前記第2のシンドロームを前記訂正用シンドロームとして、前記訂正回路に前記ビットエラー訂正処理を実行させ、前記訂正後データにおけるユーザデータ部分を訂正ユーザデータとし、初期シンドローム部分を訂正初期シンドロームとするステップと、(d-2) 前記訂正ユーザデータ及び訂正初期シンドロームを前記訂正対象データとし、前記訂正初期シンドロームを前記訂正用シンドロームとして、前記訂正回路に前記ビットエラー訂正処理を実行させ、前記訂正後データに含まれるデータを前記訂正後読み出しデータとするステップとを含む。   An error correction apparatus according to claim 1 of the present invention is an error correction apparatus that performs error correction at the time of reading from a semiconductor memory in which user data and initial syndrome are stored in address units, and the correction is performed using the correction syndrome. And a correction circuit for executing a bit error correction process for correcting the bit error in the correction target data including the syndrome and obtaining the corrected data, and the correction circuit has a bit error number of the correction target data within the correctable number of bits. A temporary storage unit that stores the second syndrome in association with an address, the read data including the user data and the initial syndrome obtained from the semiconductor memory in units of addresses, Data correction reading including the bit error correction processing by the correction circuit And a control unit that obtains corrected read data by performing execution control of the read processing, and the data correction read processing is (a) in a normal state, the read data is the correction target data, and the initial syndrome is the As a correction syndrome, the step of causing the correction circuit to execute the bit error correction process and making the data included in the corrected data the corrected read data; and (b) the number of bit errors in the read data The read data is used as a syndrome generation target data in a warning state where the number of correctable bits or less reaches a preset warning reference bit number or more, and the second data for the syndrome generation target data is generated by the correction circuit. A syndrome is generated, and the second syndrome is changed during reading of the read data. (C) determining whether there is an abnormal state of the read data; (d) determining whether the read data is abnormal in step (c); The step (d) includes: (d-1) converting the read data and the second syndrome stored in the temporary storage unit to the correction target data. The second syndrome is used as the correction syndrome, the correction circuit is caused to execute the bit error correction processing, the user data portion in the corrected data is used as corrected user data, and the initial syndrome portion is used as a corrected initial syndrome. (D-2) the corrected user data and the corrected initial syndrome as the correction target data, and the corrected initial syndrome Using the correction circuit as the syndrome for correction, causing the correction circuit to execute the bit error correction processing, and using the data included in the corrected data as the corrected read data.

この発明における請求項1記載の本願発明のエラー訂正装置は、ステップ(c) で読み出しデータの異常状態を判定すると、ステップ(d) のステップ(d-1)及び(d-2)による2段階訂正処理を実行している。   When the error correction apparatus of the present invention according to claim 1 of the present invention determines the abnormal state of the read data in step (c), the error correction apparatus in two steps according to steps (d-1) and (d-2) of step (d) Correction processing is being executed.

このため、請求項1記載の本願発明のエラー訂正装置は、訂正回路の訂正可能ビット数を超える大量ビットエラーを有する読み出しデータが半導体メモリに格納されている場合においても、訂正後読み出しデータとしてビットエラー訂正された正常な読み出しデータを得ることができる。   For this reason, the error correction apparatus according to the first aspect of the present invention provides a bit as corrected read data even when read data having a large number of bit errors exceeding the correctable number of bits of the correction circuit is stored in the semiconductor memory. Normal read data with error correction can be obtained.

その結果、請求項1記載の本願発明は、内蔵する訂正回路のエラー訂正能力を上回る、ビットエラー訂正能力を有するエラー訂正装置を、単一の訂正回路からなる比較的簡単な構成で得ることができる。   As a result, the present invention according to claim 1 can obtain an error correction device having a bit error correction capability exceeding the error correction capability of the built-in correction circuit with a relatively simple configuration including a single correction circuit. it can.

この発明の実施の形態1であるメモリシステムの構成を示すブロック図である。1 is a block diagram showing a configuration of a memory system according to Embodiment 1 of the present invention. 実施の形態1のエラー訂正装置のデータ訂正読み出し処理の流れを示す説明図である。FIG. 6 is an explanatory diagram illustrating a flow of data correction read processing of the error correction device according to the first embodiment. 実施の形態1のデータ訂正読み出し処理実行時における読み出しデータ及び訂正後データの内容を示す説明図である。FIG. 6 is an explanatory diagram illustrating contents of read data and corrected data at the time of execution of data correction read processing according to the first embodiment. 実施の形態1における訂正対象データ及び訂正用シンドロームの内容を示す説明図である。FIG. 6 is an explanatory diagram showing the contents of correction target data and correction syndrome in the first embodiment. この発明の実施の形態2であるメモリシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the memory system which is Embodiment 2 of this invention. 実施の形態2のエラー訂正装置のデータ訂正読み出し処理の流れを示す説明図である。FIG. 10 is an explanatory diagram illustrating a flow of data correction read processing of the error correction device according to the second embodiment. 実施の形態2のデータ訂正読み出し処理実行時における読み出しデータ及び訂正後データの内容を示す説明図である。FIG. 10 is an explanatory diagram illustrating the contents of read data and corrected data when executing a data correction read process according to the second embodiment. 実施の形態2における訂正対象データ及び訂正用シンドロームの内容を示す説明図である。FIG. 10 is an explanatory diagram showing the contents of correction target data and correction syndrome in the second embodiment. この発明の実施の形態3であるメモリシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the memory system which is Embodiment 3 of this invention. 実施の形態3のエラー訂正装置のデータ訂正読み出し処理の流れを示す説明図である。FIG. 10 is an explanatory diagram illustrating a flow of data correction read processing of the error correction device according to the third embodiment. 実施の形態3のデータ訂正読み出し処理実行時における読み出しデータ及び訂正後データの内容を示す説明図である。FIG. 10 is an explanatory diagram showing the contents of read data and corrected data when executing a data correction read process according to the third embodiment. 実施の形態3における訂正対象データ及び訂正用シンドロームの内容を示す説明図である。FIG. 10 is an explanatory diagram showing the contents of correction target data and correction syndrome in the third embodiment. NANDメモリにおける読み出し回数に伴うビットエラー数を示すグラフ(その1)である。4 is a graph (No. 1) showing the number of bit errors associated with the number of reads in a NAND memory. NANDメモリにおける読み出し回数に伴うビットエラー数を示すグラフ(その2)である。It is a graph (the 2) which shows the number of bit errors accompanying the frequency | count of reading in NAND memory. NANDメモリにおける読み出し回数に伴うビットエラー数を示すグラフ(その3)である。7 is a graph (No. 3) showing the number of bit errors associated with the number of reads in a NAND memory.

<実施の形態1>
(全体構成)
図1はこの発明の実施の形態1であるメモリシステム51の構成を示すブロック図である。同図に示すように、実施の形態1のメモリシステム51は、ホスト6、メモリコントローラ1及びNANDメモリ7により構成される。
<Embodiment 1>
(overall structure)
FIG. 1 is a block diagram showing a configuration of a memory system 51 according to the first embodiment of the present invention. As shown in the figure, the memory system 51 according to the first embodiment includes a host 6, a memory controller 1, and a NAND memory 7.

ホスト6は、メモリコントローラ1を経由して制御対象の不揮発メモリであるNANDメモリ7に対してデータ書き込み、あるいはデータ読み出しを行う。   The host 6 writes data to or reads data from the NAND memory 7, which is a nonvolatile memory to be controlled, via the memory controller 1.

NANDメモリ7は、継続使用による劣化でデータ保持特性が悪くなるNANDセル構造のメモリセルにより構成される半導体メモリである。   The NAND memory 7 is a semiconductor memory composed of memory cells having a NAND cell structure in which data retention characteristics deteriorate due to deterioration due to continuous use.

NANDメモリ7は管理領域71に後述する訂正管理用データD51を格納し、ユーザデータ領域72にアドレス単位にユーザデータD1と初期シンドロームS1との組み合わせを格納している。なお、初期シンドロームS1はユーザデータD1のNANDメモリ7への書き込み時に併せて設定されるエラー訂正用の符号である。   The NAND memory 7 stores correction management data D51, which will be described later, in the management area 71, and stores a combination of user data D1 and initial syndrome S1 in address units in the user data area 72. The initial syndrome S1 is an error correction code that is set when the user data D1 is written to the NAND memory 7.

メモリコントローラ1は、エラー訂正装置41を内蔵し、ホスト6の書き込み及び読み出し等の要求に応じて、NANDメモリ7に対して消去動作、書き込み動作及び読み出し動作を行う。   The memory controller 1 has a built-in error correction device 41, and performs an erase operation, a write operation, and a read operation on the NAND memory 7 in response to requests from the host 6 such as writing and reading.

メモリコントローラ1はホストI/F11、NAND制御部15及びエラー訂正装置41を有している。エラー訂正装置41は内部にコントローラ制御部12A、SRAM13及び(エラー)訂正回路14Aを有しており、NANDメモリ7に対するアクセス時におけるエラー訂正を行う。   The memory controller 1 includes a host I / F 11, a NAND control unit 15, and an error correction device 41. The error correction device 41 includes a controller control unit 12A, SRAM 13, and (error) correction circuit 14A inside, and performs error correction when accessing the NAND memory 7.

ホストI/F11はホスト6とメモリコントローラ1との間のインタフェースであり、NAND制御部15はメモリコントローラ1とNANDメモリ7との間のデータの授受等を制御し、メモリコントローラ1とNANDメモリ7とのインタフェース的な働きを有する。   The host I / F 11 is an interface between the host 6 and the memory controller 1. The NAND control unit 15 controls data exchange between the memory controller 1 and the NAND memory 7, and the memory controller 1 and the NAND memory 7. Interface function.

SRAM13は後述する第2のシンドロームをアドレスに対応づけて訂正管理用データD51として格納し、エラー訂正装置41内における一時記憶部として機能する。   The SRAM 13 stores a second syndrome, which will be described later, in association with an address and stores it as correction management data D51, and functions as a temporary storage unit in the error correction device 41.

訂正回路14Aは、訂正用シンドロームCSを用いて、訂正用シンドロームCS自体を含む訂正対象データCT内のビットエラーを訂正して訂正後データCDを得るビットエラー訂正処理を実行する。   The correction circuit 14A uses the correction syndrome CS to execute a bit error correction process for correcting the bit error in the correction target data CT including the correction syndrome CS itself to obtain the corrected data CD.

訂正回路14Aは訂正対象データCTに発生したビットエラー数が、訂正可能ビット数である24ビット以内の場合に訂正可能なビットエラー訂正能力を有するとともに、28ビット以下のエラービット数を指示するエラービット情報EBを出力するビットエラー検出能力を有している。このように、訂正回路14Aはビットエラー訂正能力(24ビット)を超えるビットエラー検出能力(28ビット)を有している。   The correction circuit 14A has a bit error correction capability that can be corrected when the number of bit errors generated in the correction target data CT is within 24 bits that can be corrected, and an error that indicates an error bit number of 28 bits or less. It has a bit error detection capability for outputting bit information EB. Thus, the correction circuit 14A has a bit error detection capability (28 bits) that exceeds the bit error correction capability (24 bits).

コントローラ制御部12A(制御部)はNANDメモリ7に対する消去動作、書き込み動作及び読み出し動作を制御する消去機能、書き込み機能及び読み出し機能を有している。そして、コントローラ制御部12Aは、上述したSRAM13及び訂正回路14Aを用いて、訂正回路14Aのビットエラー訂正能力(24ビット)を超えるビットエラー訂正が可能なデータ訂正読み出し処理を実行制御することを特徴している。   The controller control unit 12A (control unit) has an erase function, a write function, and a read function for controlling an erase operation, a write operation, and a read operation with respect to the NAND memory 7. Then, the controller control unit 12A uses the SRAM 13 and the correction circuit 14A described above to execute and control data correction read processing capable of bit error correction exceeding the bit error correction capability (24 bits) of the correction circuit 14A. doing.

(動作)
図2は実施の形態1のエラー訂正装置41のデータ訂正読み出し処理の流れを示す説明図である。図3はエラー訂正装置41によるデータ訂正読み出し処理実行時における読み出しデータ及び訂正後データの内容を示す説明図である。図4は訂正対象データ及び訂正用シンドロームの内容を示す説明図である。以下、図2〜図4を参照して、実施の形態1のエラー訂正装置41によるデータ訂正読み出し処理の内容を説明する。
(Operation)
FIG. 2 is an explanatory diagram showing a flow of data correction read processing of the error correction apparatus 41 according to the first embodiment. FIG. 3 is an explanatory diagram showing the contents of read data and post-correction data when the error correction device 41 executes data correction read processing. FIG. 4 is an explanatory diagram showing the contents of correction target data and correction syndrome. Hereinafter, the contents of the data correction read processing by the error correction apparatus 41 according to the first embodiment will be described with reference to FIGS.

なお、説明の都合上、以下のように、読み出しデータDT、ユーザデータD1、訂正対象データCT、訂正後データCD及びエラービット情報EBを識別して標記する場合がある。   For convenience of explanation, the read data DT, user data D1, correction target data CT, corrected data CD, and error bit information EB may be identified and marked as follows.

読み出しデータDT(DT0〜DT2)において、ビットエラーが無いデータを「読み出しデータDT0」、訂正回路14Aの訂正可能ビット数である24ビット以下のビットエラーを有するデータを「読み出しデータDT1」、25ビット以上の大量ビットエラーを有するデータを「読み出しデータDT2」と標記する。なお、読み出しデータDTには少なくともユーザデータD1及び初期シンドロームS1が含まれている。   In the read data DT (DT0 to DT2), data having no bit error is “read data DT0”, and data having a bit error of 24 bits or less that is the number of bits that can be corrected by the correction circuit 14A is “read data DT1”, 25 bits. Data having such a large amount of bit errors is denoted as “read data DT2”. The read data DT includes at least user data D1 and initial syndrome S1.

また、コントローラ制御部12Aから訂正回路14Aに出力する訂正対象データCT(CT1,CT2)において、初期シンドロームS1を訂正用シンドロームCSとする場合のデータを「訂正対象データCT1」、第2シンドロームS2を訂正用シンドロームCSとする場合のデータを「訂正対象データCT2」として標記する。   Further, in the correction target data CT (CT1, CT2) output from the controller control unit 12A to the correction circuit 14A, the data when the initial syndrome S1 is the correction syndrome CS is “correction target data CT1”, and the second syndrome S2 is Data in the case of the correction syndrome CS is denoted as “correction target data CT2”.

さらに、訂正回路14Aのビットエラー訂正処理によって得られた訂正後データCD(CD1,CD2)において、初期シンドロームS1を用いて得られたデータを「訂正後データCD1」、第2シンドロームS2を用いて得られたデータを「訂正後データCD2」と標記する。   Further, in the corrected data CD (CD1, CD2) obtained by the bit error correction processing of the correction circuit 14A, the data obtained using the initial syndrome S1 is represented by “corrected data CD1” and the second syndrome S2. The obtained data is denoted as “corrected data CD2”.

また、エラービット情報EB(EB0〜EB2)において、ビットエラー“0”を指示する情報を「エラービット情報EB0」、訂正可能ビット数である24ビット以下のビットエラー数を指示する情報を「エラービット情報EB1」、25ビット以上の大量ビットエラーを指示する情報を「エラービット情報EB2」と標記する。   Also, in the error bit information EB (EB0 to EB2), the information indicating the bit error “0” is “error bit information EB0”, and the information indicating the number of correctable bit errors of 24 bits or less is “error”. Bit information EB1 ”and information indicating a large bit error of 25 bits or more are denoted as“ error bit information EB2 ”.

(1.読み出しデータにビットエラーが無い場合(通常状態))
まず、ユーザデータD1及び初期シンドロームS1を含む読み出しデータDTがビットエラーの無い読み出しデータDT0である場合について説明する。図2の読み出し区間PD0が読み出しデータDT0に対するデータ訂正読み出し処理を示している。
(1. When there is no bit error in the read data (normal state))
First, the case where the read data DT including the user data D1 and the initial syndrome S1 is read data DT0 having no bit error will be described. The read section PD0 in FIG. 2 shows the data correction read processing for the read data DT0.

まず、ステップST1で、コントローラ制御部12Aは、NANDメモリ7のユーザデータ領域72から、NAND制御部15を介して読み出しデータDTを読み出す。図3(a) に示すように、読み出しデータDTは読み出しデータDT0であるため、読み出しデータDT0に含まれるユーザデータD1及びユーザデータD1に対応する初期シンドロームS1のいずれにもビットエラーは存在していない。   First, in step ST1, the controller control unit 12A reads the read data DT from the user data area 72 of the NAND memory 7 via the NAND control unit 15. As shown in FIG. 3A, since the read data DT is the read data DT0, there is a bit error in both the user data D1 included in the read data DT0 and the initial syndrome S1 corresponding to the user data D1. Absent.

次に、ステップST2で、コントローラ制御部12Aは、読み出しデータDT0及びダミーデータMDの組み合わせを訂正対象データCT1とし、初期シンドロームS1を訂正用シンドロームCSとして訂正回路14Aに出力する。その結果、図4(a) に示すように、訂正回路14Aのビットエラー訂正処理実行前の設定状態において、訂正対象データCT1として、ユーザデータD1とダミーデータMDと初期シンドロームS1とが格納され、この際、訂正用シンドロームCSとして初期シンドロームS1が設定される。なお、ダミーデータMDは初期シンドロームS1と同一ビット数で、すべてが“0”に設定されている。また、ステップST2の処理は一部、ステップST1の処理と並列的に実行することができる。すなわち、コントローラ制御部12Aは、ステップST1において読み出しデータDT0のデータをコントローラ制御部12Aにて受信次第、受信完了を待つことなく直ちにステップST2の処理を実行しても良い。   Next, in step ST2, the controller control unit 12A outputs the combination of the read data DT0 and the dummy data MD as the correction target data CT1, and outputs the initial syndrome S1 as the correction syndrome CS to the correction circuit 14A. As a result, as shown in FIG. 4A, the user data D1, the dummy data MD, and the initial syndrome S1 are stored as the correction target data CT1 in the setting state before the execution of the bit error correction processing of the correction circuit 14A. At this time, the initial syndrome S1 is set as the correcting syndrome CS. The dummy data MD has the same number of bits as the initial syndrome S1, and all are set to “0”. Further, part of the process of step ST2 can be executed in parallel with the process of step ST1. That is, the controller control unit 12A may immediately execute the process of step ST2 without waiting for the completion of reception as soon as the controller control unit 12A receives the data of the read data DT0 in step ST1.

その後、ステップST3において、訂正回路14Aは、初期シンドロームS1を用いてビットエラー訂正処理を実行して得られる訂正後データCD1をコントローラ制御部12Aに出力する。読み出しデータDT0にはビットエラーが元々存在しないため、訂正後データCD1内には読み出しデータDT0と“0”を指示するエラービット情報EB0とが含まれることになる。なお、訂正後データCD1内には訂正後のダミーデータMDも存在するが、図示を省略している。   Thereafter, in step ST3, the correction circuit 14A outputs the corrected data CD1 obtained by executing the bit error correction process using the initial syndrome S1 to the controller control unit 12A. Since no bit error originally exists in the read data DT0, the corrected data CD1 includes the read data DT0 and error bit information EB0 indicating “0”. Although corrected dummy data MD also exists in the corrected data CD1, illustration thereof is omitted.

(2.読み出しデータにビットエラーが発生し、そのビット数が訂正可能ビット(24ビット)以下の場合(通常状態))
(2−1.ビットエラー数が警戒基準ビット数(16ビット)未満の場合)
次に、読み出しデータDTにビットエラーが発生し、そのビット数が24ビット以下の読み出しデータDT1である場合について説明する。図2の読み出し区間PD1が読み出しデータDT1に対するデータ訂正読み出し処理を示している。
(2. When a bit error occurs in the read data and the number of bits is less than the correctable bit (24 bits) (normal state))
(2-1. When the number of bit errors is less than the warning reference bit number (16 bits))
Next, a case where a bit error occurs in the read data DT and the number of bits is the read data DT1 having 24 bits or less will be described. The read section PD1 in FIG. 2 shows the data correction read process for the read data DT1.

まず、ステップST11で、コントローラ制御部12Aは、NANDメモリ7から、読み出しデータDTを読み出す。読み出しデータDTは、ビットエラーが存在する読み出しデータDT1であるため、読み出しデータDT1に含まれるユーザデータD1及び初期シンドロームS1のうち少なくとも一方にビットエラーが存在している。   First, in step ST11, the controller control unit 12A reads the read data DT from the NAND memory 7. Since the read data DT is read data DT1 in which a bit error exists, a bit error exists in at least one of the user data D1 and the initial syndrome S1 included in the read data DT1.

次に、ステップST12で、コントローラ制御部12Aは、読み出しデータDT1及びダミーデータMDの組み合わせを訂正対象データCT1とし、初期シンドロームS1を訂正用シンドロームCSとして訂正回路14Aに出力する。また、ステップST12の処理は一部、ステップST11の処理と並列的に実行することができる。   Next, in step ST12, the controller control unit 12A outputs the combination of the read data DT1 and the dummy data MD as the correction target data CT1, and outputs the initial syndrome S1 as the correction syndrome CS to the correction circuit 14A. Further, part of the process of step ST12 can be executed in parallel with the process of step ST11.

ステップST13において、訂正回路14Aは、初期シンドロームS1を用いてビットエラー訂正処理を行って得られる訂正後データCD1をコントローラ制御部12Aに出力する。読み出しデータDT1にはビットエラーが存在しているため、訂正後データCD1内にはビットエラーが存在しない訂正後の読み出しデータDT0と訂正前の読み出しデータDT1内のビットエラー数を指示するエラービット情報EB1とが含まれることになる。   In step ST13, the correction circuit 14A outputs the corrected data CD1 obtained by performing the bit error correction process using the initial syndrome S1 to the controller control unit 12A. Since there is a bit error in the read data DT1, there is no bit error in the corrected data CD1, and error bit information indicating the number of bit errors in the corrected read data DT0 and the read data DT1 before correction EB1 is included.

ステップST13で得たエラービット情報EB1が警戒基準ビット数である“16”を下回る15以下を指示する場合は、上述したステップST13で処理を終了する。一方、エラービット情報EB1が16以上(24以下)を指示する場合は、要警戒状態となり、さらに、次の項目(2−2.)で述べるステップST14〜ST16が続行される。なお、警戒基準ビット数は訂正可能ビット数以下の条件を満足して予め設定された値である。   When the error bit information EB1 obtained in step ST13 indicates 15 or less below “16” which is the number of warning reference bits, the process ends in step ST13 described above. On the other hand, when the error bit information EB1 indicates 16 or more (24 or less), a warning is required, and steps ST14 to ST16 described in the next item (2-2.) Are continued. The number of warning reference bits is a value set in advance satisfying the condition of the number of correctable bits or less.

なお、上述した項目(1.)及び(2−1.)の処理は後述する異常状態とならないため、通常状態の処理として実行される。   Note that the processing of the items (1.) and (2-1.) Described above is executed as processing in the normal state because it does not become an abnormal state described later.

(2−2.ビットエラー数が警戒基準ビット数(16ビット)以上の要警戒状態時の場合)
ステップST14において、コントローラ制御部12Aは、図3(b) に示すように、読み出しデータDT1(ユーザデータD1+初期シンドロームS1)をシンドローム生成対象データCTSとして訂正回路14Aに出力する。
(2-2. When the number of bit errors is in a cautionary state where the number of warning bits is 16 or more)
In step ST14, the controller control unit 12A outputs the read data DT1 (user data D1 + initial syndrome S1) as syndrome generation target data CTS to the correction circuit 14A as shown in FIG.

ステップST15において、訂正回路14Aはシンドローム生成対象データCTSに対応する第2シンドロームS2を生成し、この第2シンドロームS2をコントローラ制御部12Aに出力する。   In step ST15, the correction circuit 14A generates a second syndrome S2 corresponding to the syndrome generation target data CTS, and outputs the second syndrome S2 to the controller control unit 12A.

そして、ステップST16において、コントローラ制御部12Aは、第2シンドロームS2と、読み出しデータDT1の読み出し時におけるのアドレスを指示するアドレス情報ADとを組にした訂正管理用データD51を、SRAM13のSRAM内管理領域R13に格納する。すなわち、図3の右側に示すように、SRAM内管理領域R13には第2シンドロームS2とアドレス情報ADと後述するフラグ情報FGの組み合わせよりなる訂正管理用データD51が格納される。なお、フラグ情報FGの初期値は“0”である。   In step ST16, the controller control unit 12A manages the correction management data D51 in the SRAM 13 in the SRAM 13 by combining the second syndrome S2 and the address information AD indicating the address at the time of reading the read data DT1. Store in area R13. That is, as shown on the right side of FIG. 3, the SRAM management area R13 stores correction management data D51 including a combination of the second syndrome S2, address information AD, and flag information FG described later. Note that the initial value of the flag information FG is “0”.

(3.読み出しデータにビットエラーが発生し、そのビット数が訂正可能ビット数(24ビット)を超えた異常状態の場合)
(3−1.異常状態の有無の判定)
次に、読み出しデータDTにビットエラーが発生し、そのビット数が24ビットを超える大量ビットエラーを有する読み出しデータDT2である場合について説明する。図2の読み出し区間PD2が読み出しデータDT2に対するデータ訂正読み出し処理を示している。
(3. When a bit error occurs in the read data and the number of bits exceeds the correctable number of bits (24 bits))
(3-1. Determination of presence or absence of abnormal state)
Next, a case where a bit error occurs in the read data DT and the read data DT2 has a large number of bit errors exceeding 24 bits will be described. The read section PD2 in FIG. 2 shows the data correction read processing for the read data DT2.

まず、ステップST21で、コントローラ制御部12Aは、NANDメモリ7から、読み出しデータDTを読み出す。読み出しデータDTは、図3(c) に示すように、大量ビットエラーが存在する読み出しデータDT2であるため、読み出しデータDT2に含まれるユーザデータD1及び初期シンドロームS1に存在するビットエラー合計数が25ビット以上ある。   First, in step ST21, the controller control unit 12A reads the read data DT from the NAND memory 7. As shown in FIG. 3C, the read data DT is read data DT2 in which a large number of bit errors exist, so that the total number of bit errors existing in the user data D1 and the initial syndrome S1 included in the read data DT2 is 25. There are more than a bit.

次に、ステップST22で、コントローラ制御部12Aは、読み出しデータDT2及びダミーデータMDの組み合わせを訂正対象データCT1とし、初期シンドロームS1を訂正用シンドロームCSとして訂正回路14Aに出力する。なお、ステップST22の処理は一部、ステップST21の処理と並列的に実行することができる。   Next, in step ST22, the controller control unit 12A outputs the combination of the read data DT2 and the dummy data MD as the correction target data CT1, and outputs the initial syndrome S1 as the correction syndrome CS to the correction circuit 14A. Part of the process in step ST22 can be executed in parallel with the process in step ST21.

ステップST23において、訂正回路14Aは、初期シンドロームS1を用いてビットエラー訂正処理を実行して得られる訂正後データCD1をコントローラ制御部12Aに出力する。   In step ST23, the correction circuit 14A outputs the corrected data CD1 obtained by executing the bit error correction process using the initial syndrome S1 to the controller control unit 12A.

この際、読み出しデータDT2には25ビット以上の大量ビットエラーが発生しているため、訂正回路14Aはエラー訂正することができず、訂正後データCD1内のデータは不明データDTxxとなる。ただし、読み出しデータDT2のビットエラーが28ビット以下(25〜28)であれば、正しいビットエラー数を指示するエラービット情報EB2が訂正後データCD1内に含まれる。   At this time, since a large bit error of 25 bits or more has occurred in the read data DT2, the correction circuit 14A cannot correct the error, and the data in the corrected data CD1 becomes unknown data DTxx. However, if the bit error of the read data DT2 is 28 bits or less (25 to 28), error bit information EB2 indicating the correct number of bit errors is included in the corrected data CD1.

したがって、コントローラ制御部12Aは、エラービット情報EB2によって読み出しデータDT2が25ビット以上の異常状態であることを正確に認識することができる。以下、ステップST21〜ST23の実行による異常状態の判定処理を第1の異常判定処理とする。   Therefore, the controller control unit 12A can accurately recognize that the read data DT2 is in an abnormal state of 25 bits or more based on the error bit information EB2. Hereinafter, the abnormal state determination process performed by executing steps ST21 to ST23 is referred to as a first abnormality determination process.

続いて、ステップST24で、コントローラ制御部12Aは、SRAM13にアクセスし、読み出しデータDT2における読み出し時ののアドレスを指示するアドレス情報ADを有する訂正管理用データD51において、フラグ情報FGを“1”にセットする。   Subsequently, in step ST24, the controller control unit 12A accesses the SRAM 13, and sets the flag information FG to “1” in the correction management data D51 having the address information AD indicating the address at the time of reading in the read data DT2. set.

以降、コントローラ制御部12Aは、フラグ情報FGが“1”を指示するアドレスの読み出しデータDTを読み込んだ場合、上述したステップST21〜ST23の処理を行うことなく、直ちに当該読み出しデータDTは異常状態であると判定する。   Thereafter, when the controller control unit 12A reads the read data DT at the address in which the flag information FG indicates “1”, the read data DT is immediately in an abnormal state without performing the above-described steps ST21 to ST23. Judge that there is.

したがって、図2では図示していないが、コントローラ制御部12Aは、ステップST21〜ST23の処理に先がけて、読み出しデータDTの読み出し時におけるアドレスが、SRAM内管理領域R13内の訂正管理用データD52として存在し、かつ、当該訂正管理用データD52のフラグ情報FGが“1”にセットされているか否かを認識し、“1”にセットされている場合は、直ちに異常状態であると判定する。以下、フラグ情報FGの内容に基づく異常状態の判定処理を第2の異常判定処理とする。   Therefore, although not shown in FIG. 2, prior to the processing of steps ST21 to ST23, the controller control unit 12A sets the address when reading the read data DT as the correction management data D52 in the SRAM management area R13. It is recognized whether or not the flag information FG of the correction management data D52 is set to “1”, and if it is set to “1”, it is immediately determined as an abnormal state. Hereinafter, the abnormal state determination process based on the contents of the flag information FG is referred to as a second abnormality determination process.

上述した第1あるいは第2の異常判定処理により、読み込んだ読み出しデータDTの異常状態が検出されると、以下のステップST25〜ST29の2段階訂正処理(初段訂正処理+第2段訂正処理)に移行する。   When an abnormal state of the read data DT read is detected by the first or second abnormality determination process described above, the following two-stage correction process (first-stage correction process + second-stage correction process) in steps ST25 to ST29 is performed. Transition.

(3−2.初段訂正処理)
読み出しデータDT2のアドレスは、読み出しデータDT2のアドレスを指示するアドレス情報ADに対応して第2シンドロームS2が既にSRAM13のSRAM内管理領域R13内に格納されている。なぜなら、通常、同一アドレスの読み出しデータDTのビットエラー数が25ビット以上となる大量ビットエラー発生に先がけて、当該読み出しデータDTのビットエラー数が警戒基準ビット数以上の16〜24ビットとなるからである。
(3-2. First stage correction processing)
As for the address of the read data DT2, the second syndrome S2 has already been stored in the SRAM management area R13 of the SRAM 13 corresponding to the address information AD indicating the address of the read data DT2. This is because the number of bit errors in the read data DT is usually 16 to 24 bits, which is greater than the warning reference bit number, before the occurrence of a large number of bit errors in which the number of bit errors in the read data DT at the same address is 25 bits or more. It is.

そこで、ステップST25において、コントローラ制御部12Aは、SRAM13のSRAM内管理領域R13から、読み出しデータDT2のアドレスを指示するアドレス情報ADに対応づけられた第2シンドロームS2を読み出す。   Therefore, in step ST25, the controller control unit 12A reads the second syndrome S2 associated with the address information AD indicating the address of the read data DT2 from the in-SRAM management area R13 of the SRAM 13.

次に、ステップST26で、コントローラ制御部12Aは、図3(d) 及び図4(b) に示すように、読み出しデータDT2(ユーザデータD1+初期シンドロームS1)及び第2シンドロームS2の組み合わせを訂正対象データCT2として訂正回路14Aに出力する。この際、ステップST25で読み込んだ第2シンドロームS2が訂正用シンドロームCSとして設定される。   Next, in step ST26, the controller control unit 12A corrects the combination of the read data DT2 (user data D1 + initial syndrome S1) and the second syndrome S2, as shown in FIGS. 3 (d) and 4 (b). The data CT2 is output to the correction circuit 14A. At this time, the second syndrome S2 read in step ST25 is set as the correcting syndrome CS.

また、フラグ情報FGに基づく第2の異常判定処理が実行される場合、ステップST26の処理は一部、ステップST21の処理と並列的に実行することができる。すなわち、コントローラ制御部12Aは、ステップST21において読み出しデータDT0のデータを受信し、ステップST25にて第2シンドロームS2を受信次第、ステップST21の受信完了を待つことなく直ちにステップST26の処理を実行しても良い。   Further, when the second abnormality determination process based on the flag information FG is executed, a part of the process of step ST26 can be executed in parallel with the process of step ST21. That is, the controller control unit 12A receives the data of the read data DT0 in step ST21, and immediately receives the second syndrome S2 in step ST25, and immediately executes the process of step ST26 without waiting for the completion of reception in step ST21. Also good.

すると、ステップST27において、訂正回路14Aは、第2シンドロームS2を用いてビットエラー訂正処理を実行して得られる訂正後データCD2をコントローラ制御部12Aに出力する。この訂正後データCD2は、図3(e) に示すように、24ビット以下のビットエラーを有する読み出しデータDT1(ユーザデータ部分;訂正ユーザデータD1c及び初期シンドローム部分S1;訂正初期シンドロームS1c)が含まれる。   Then, in step ST27, the correction circuit 14A outputs the corrected data CD2 obtained by executing the bit error correction process using the second syndrome S2 to the controller control unit 12A. As shown in FIG. 3E, the post-correction data CD2 includes read data DT1 (user data portion; corrected user data D1c and initial syndrome portion S1; corrected initial syndrome S1c) having a bit error of 24 bits or less. It is.

このように、25ビット以上のビットエラーを有する読み出しデータDT2を、24ビット以下のビットエラーを有する読み出しデータDT1に戻す初段訂正処理が実行される。   In this way, the first stage correction process is performed to return the read data DT2 having a bit error of 25 bits or more to the read data DT1 having a bit error of 24 bits or less.

(3−3.第2段訂正処理)
続いて、ステップST28で、コントローラ制御部12Aは、訂正後データCD2内に含まれる読み出しデータDT1(訂正ユーザデータD1c及び訂正初期シンドロームS1c)とダミーデータMDとを訂正対象データCT1として訂正回路14Aに出力する。この際、ステップST27で得られた訂正初期シンドロームS1cが訂正用シンドロームCSとして設定される。
(3-3. Second stage correction process)
Subsequently, in step ST28, the controller control unit 12A sets the read data DT1 (corrected user data D1c and corrected initial syndrome S1c) and dummy data MD included in the corrected data CD2 as correction target data CT1 to the correction circuit 14A. Output. At this time, the corrected initial syndrome S1c obtained in step ST27 is set as the correcting syndrome CS.

すると、ステップST29において、訂正回路14Aは、訂正初期シンドロームS1cを用いてビットエラー訂正処理を実行して得られる訂正後データCD1をコントローラ制御部12Aに出力する。この訂正後データCD1は、図3(f) に示すように、ビットエラーが無い状態に訂正された読み出しデータDT0が含まれる。   Then, in step ST29, the correction circuit 14A outputs the corrected data CD1 obtained by executing the bit error correction process using the corrected initial syndrome S1c to the controller control unit 12A. The corrected data CD1 includes read data DT0 corrected to have no bit error as shown in FIG. 3 (f).

このように、初段訂正処理により得られた24ビット以下のビットエラーを有する読み出しデータDT1を、ビットエラーの無い読み出しデータDT0に戻す第2段訂正処理が実行される。   In this way, the second-stage correction process is performed in which the read data DT1 having a bit error of 24 bits or less obtained by the first-stage correction process is returned to the read data DT0 having no bit error.

その結果、メモリコントローラ1は、エラー訂正装置41により誤り訂正された読み出しデータDT0に含まれるユーザデータD1を訂正後読み出しデータとして、ホストI/F11を介してホスト6に出力することができる。   As a result, the memory controller 1 can output the user data D1 included in the read data DT0 error-corrected by the error correction device 41 to the host 6 via the host I / F 11 as corrected read data.

(SRAM13の訂正管理用データD51)
SRAM13はSRAM内管理領域R13内に訂正管理用データD51をアドレス単位格納しており、同一アドレスにおいて2回以上の第2シンドロームS2が生成される場合、訂正管理用データD51の第2シンドロームS2が最新の第2シンドロームS2が上書きされる。
(Correction management data D51 of SRAM 13)
The SRAM 13 stores the correction management data D51 in the SRAM management area R13 in units of addresses. When the second syndrome S2 is generated twice or more at the same address, the second syndrome S2 of the correction management data D51 is The latest second syndrome S2 is overwritten.

メモリコントローラ1は、SRAM13のSRAM内管理領域R13に格納された内容が更新された場合、任意のタイミングでSRAM内管理領域R13の内容をNANDメモリ7の管理領域71に転送する。   When the contents stored in the SRAM management area R13 of the SRAM 13 are updated, the memory controller 1 transfers the contents of the SRAM management area R13 to the management area 71 of the NAND memory 7 at an arbitrary timing.

また、メモリシステム51の電源投入時(リセット解除後)の初期動作として、メモリコントローラ1は、NANDメモリ7の管理領域71の内容を、NAND制御部15を介してSRAM13のSRAM内管理領域R13に転送する。   As an initial operation when the memory system 51 is turned on (after reset is released), the memory controller 1 transfers the contents of the management area 71 of the NAND memory 7 to the management area R13 in the SRAM 13 of the SRAM 13 via the NAND control unit 15. Forward.

このように、SRAM13,NANDメモリ7間において、訂正管理用データD51が最新の内容となるように、適宜、データ転送がなされる。   Thus, data transfer is appropriately performed between the SRAM 13 and the NAND memory 7 so that the correction management data D51 has the latest contents.

仮に、SRAM13からNANDメモリ7への訂正管理用データD52の更新前にリセットがかかり、SRAM13の保持内容が消去された場合、更新前との差分情報を失うことになる。   If the correction management data D52 from the SRAM 13 to the NAND memory 7 is reset before being updated and the content held in the SRAM 13 is erased, the difference information from before the update is lost.

しかしながら、第2シンドロームS2を生成するための警戒基準ビット数(16)は、訂正回路14Aの訂正可能ビット数(24)との間に余裕をもった値に設定されている。このため、再度のNANDメモリ7からの読み出し時に、第2シンドロームS2を生成する条件を満足して第2シンドロームS2を有する訂正管理用データD51がほぼ確実に生成されるため、異常状態発生時に読み出しデータDT2に対応するアドレス情報ADをSRAM13が保持していないという、実質的な問題は生じない。   However, the warning reference bit number (16) for generating the second syndrome S2 is set to a value having a margin with the correctable bit number (24) of the correction circuit 14A. For this reason, when reading from the NAND memory 7 again, the correction management data D51 having the second syndrome S2 is almost certainly generated while satisfying the condition for generating the second syndrome S2, so that reading is performed when an abnormal state occurs. There is no substantial problem that the SRAM 13 does not hold the address information AD corresponding to the data DT2.

(効果等)
このように、メモリコントローラ1内における実施の形態1のエラー訂正装置41は、上述した第1あるいは第2の異常状態判定処理により、読み出しデータDTに大量ビットエラーが生じる異常状態を判定すると、初段訂正処理及び第2段訂正処理による段階訂正処理を実行している。
(Effects etc.)
As described above, when the error correction device 41 of the first embodiment in the memory controller 1 determines an abnormal state in which a large amount of bit errors occur in the read data DT by the first or second abnormal state determination process described above, the first stage The stage correction process by the correction process and the second stage correction process is executed.

このため、エラー訂正装置41は、NANDメモリ7に格納されている読み出しデータDTが、訂正回路14Aの訂正可能ビット数である24ビットを超える大量ビットエラーを有する読み出しデータDT2のような場合においても、訂正後読み出しデータとしてビットエラー訂正された正常な読み出しデータDT0を得ることができる。   For this reason, the error correction device 41 is used even when the read data DT stored in the NAND memory 7 is read data DT2 having a large number of bit errors exceeding 24 bits, which is the correctable number of bits of the correction circuit 14A. Thus, normal read data DT0 corrected for bit errors can be obtained as post-correction read data.

例えば、SRAM13に保存した読み出しデータDTに対応する第2シンドロームS2が、24ビットのビットエラー発生時のものであれば、48ビット(24+24)のビットエラーを有する読み出しデータDT2に対しても、ビットエラーの無い読み出しデータDT0にエラー訂正することができる。   For example, if the second syndrome S2 corresponding to the read data DT stored in the SRAM 13 is at the time of occurrence of a 24-bit bit error, the read data DT2 having a bit error of 48 bits (24 + 24) is also bit Error correction can be performed on read data DT0 having no error.

その結果、内蔵する訂正回路14Aのビットエラー訂正能力を上回る、ビットエラー訂正能力を有する実施の形態1のエラー訂正装置41を、単一の訂正回路14Aからなる比較的簡単な構成で得ることができる。   As a result, the error correction device 41 according to the first embodiment having the bit error correction capability exceeding the bit error correction capability of the built-in correction circuit 14A can be obtained with a relatively simple configuration including the single correction circuit 14A. it can.

また、エラー訂正装置41は、訂正可能ビット数を超えるビットエラーである大量ビットエラーを読み出しデータDTが発生しているか否かの判定基準となる大量ビットエラー判定情報として、訂正回路14Aからエラービット情報EB(EB0〜EB2)を取得している。   Further, the error correction device 41 receives a large number of bit errors, which are bit errors exceeding the correctable number of bits, from the correction circuit 14A as a large number of bit error determination information serving as a criterion for determining whether or not the read data DT has occurred. Information EB (EB0 to EB2) is acquired.

このため、エラービット情報EBに基づくことにより、2段階訂正処理が必要な読み出しデータDTの大量ビット発生時の的確に異常状態と判定することにより、2段階訂正処理を効率的に実行することができる。   Therefore, based on the error bit information EB, it is possible to efficiently execute the two-stage correction process by accurately determining that the read data DT that needs the two-stage correction process is in an abnormal state when a large number of bits are generated. it can.

また、訂正回路14Aは、大量ビットエラーとなるエラービット数の一部(25〜28ビット)を指示するエラービット情報EBをさらに出力可能であるため、大量ビットエラー判定情報を出力するビットエラー検出回路の機能を訂正回路14Aで兼用させることができる分、エラー訂正装置41の装置構成の簡略化を図ることができる。   Further, since the correction circuit 14A can further output error bit information EB indicating a part of the number of error bits (25 to 28 bits) that causes a large bit error, a bit error detection that outputs a large amount of bit error determination information. Since the function of the circuit can be shared by the correction circuit 14A, the device configuration of the error correction device 41 can be simplified.

さらに、コントローラ制御部12Aは、エラービット情報EBに基づく異常状態の判定処理により読み出しデータDTの異常状態を1度判定すると、その読み出しデータDTのアドレスを指示するアドレス情報ADを有する訂正管理用データD51のフラグ情報FGを“1”にセットすることにより、当該読み出しデータDTにおける判定を異常状態で固定することができる。   Furthermore, when the controller control unit 12A determines the abnormal state of the read data DT once by the abnormal state determination process based on the error bit information EB, the correction management data having the address information AD indicating the address of the read data DT. By setting the flag information FG of D51 to “1”, the determination in the read data DT can be fixed in an abnormal state.

このため、エラービット情報EBに基づき読み出しデータDTが異常状態とする判定処理(第1の異常判定処理)は、同一アドレスの読み出しデータDTにおいて最初の1回で済ますことにより、以降はフラグ情報FGの“1”,“0”に基づく第2の異常判定処理によって異常認識できる分、異常判定処理の実行時間の短縮化を図ることができる。   For this reason, the determination process (first abnormality determination process) in which the read data DT is in an abnormal state based on the error bit information EB is completed only once for the read data DT at the same address, and thereafter the flag information FG As a result of the fact that the abnormality can be recognized by the second abnormality determination process based on “1” and “0”, the execution time of the abnormality determination process can be shortened.

<実施の形態2>
(全体構成)
図5はこの発明の実施の形態2であるメモリシステム52の構成を示すブロック図である。同図に示すように、実施の形態2のメモリシステム52は、ホスト6、メモリコントローラ2及びNANDメモリ7により構成される。以下、実施の形態1と同一構成部は同一符号を付して適宜説明を省略する。
<Embodiment 2>
(overall structure)
FIG. 5 is a block diagram showing a configuration of a memory system 52 according to the second embodiment of the present invention. As shown in the figure, the memory system 52 of the second embodiment includes a host 6, a memory controller 2, and a NAND memory 7. Hereinafter, the same components as those in the first embodiment are denoted by the same reference numerals, and description thereof will be omitted as appropriate.

NANDメモリ7は管理領域71に後述する訂正管理用データD52を格納し、ユーザデータ領域72にアドレス単位にユーザデータD1と初期シンドロームS1との組み合わせを格納している。   The NAND memory 7 stores correction management data D52, which will be described later, in the management area 71, and stores a combination of user data D1 and initial syndrome S1 in address units in the user data area 72.

メモリコントローラ2は、実施の形態2のエラー訂正装置42を内蔵し、ホスト6の書き込み及び読み出し等の要求に応じて、NANDメモリ7に対して消去動作、書き込み動作及び読み出し動作を行う。   The memory controller 2 includes the error correction device 42 according to the second embodiment, and performs an erase operation, a write operation, and a read operation on the NAND memory 7 in response to a request for writing and reading by the host 6.

メモリコントローラ2はホストI/F11、NAND制御部15及びエラー訂正装置42を有している。エラー訂正装置42は内部にコントローラ制御部12B、SRAM13及び訂正回路14Bを有しており、NANDメモリ7に対するアクセス時におけるエラー訂正を行う。   The memory controller 2 includes a host I / F 11, a NAND control unit 15, and an error correction device 42. The error correction device 42 includes a controller control unit 12B, SRAM 13, and correction circuit 14B therein, and performs error correction when accessing the NAND memory 7.

SRAM13は第2シンドロームS2をアドレスに対応づけて訂正管理用データD52として格納し、エラー訂正装置42内における一時記憶部として機能する。   The SRAM 13 stores the second syndrome S2 as the correction management data D52 in association with the address, and functions as a temporary storage unit in the error correction device 42.

訂正回路14Bは、実施の形態1の訂正回路14Aと同様、訂正用シンドロームCSを用いて、訂正用シンドロームCS自体を含む訂正対象データCT内のビットエラーを訂正して訂正後データCDを得るビットエラー訂正処理を実行する。   Similarly to the correction circuit 14A of the first embodiment, the correction circuit 14B uses the correction syndrome CS to correct a bit error in the correction target data CT including the correction syndrome CS itself and obtain a corrected data CD. Perform error correction processing.

また、訂正回路14Bは24ビット以下のエラービット数を指示するエラービット情報EBを出力するビットエラー検出能力を有している。このように、訂正回路14Bはビットエラー訂正能力(24ビット)と同一のビットエラー検出能力(24ビット)を有している。   Further, the correction circuit 14B has a bit error detection capability for outputting error bit information EB indicating the number of error bits of 24 bits or less. Thus, the correction circuit 14B has the same bit error detection capability (24 bits) as the bit error correction capability (24 bits).

コントローラ制御部12B(制御部)はNANDメモリ7に対する消去動作、書き込み動作及び読み出し動作を制御する消去機能、書き込み機能及び読み出し機能を有している。そして、コントローラ制御部12Bは、上述したSRAM13及び訂正回路14Bを用いて、訂正回路14Bのビットエラー訂正能力(24ビット)を超えるビットエラー訂正が可能なデータ訂正読み出し処理を実行制御することを特徴している。   The controller control unit 12B (control unit) has an erase function, a write function, and a read function for controlling an erase operation, a write operation, and a read operation with respect to the NAND memory 7. The controller control unit 12B performs execution control of data correction read processing capable of bit error correction exceeding the bit error correction capability (24 bits) of the correction circuit 14B, using the SRAM 13 and the correction circuit 14B described above. doing.

(訂正回路14B)
訂正回路14Bとして、ビットエラー訂正処理をBCH符号の使用により行う訂正回路が考えられる。以下、BCH符号を使用する場合を例に挙げて説明する。
(Correction circuit 14B)
As the correction circuit 14B, a correction circuit that performs a bit error correction process by using a BCH code can be considered. Hereinafter, a case where a BCH code is used will be described as an example.

例えば、512バイト(Byte)(=4092ビット)単位のユーザデータD1に対しビットエラー訂正処理を行う場合、ガロア拡大体GF(2^13)の既約多項式は{X^13+X^4+X^3+X+1}となり、1024バイト単位のユーザデータD1に対しビットエラー訂正処理を行う場合、ガロア拡大体GF(2^14)の既約多項式 は{X^14+X^10+X^6+X+1}となる。なお、"^"は階乗を意味する。   For example, when bit error correction processing is performed on user data D1 in units of 512 bytes (= 4092 bits), the irreducible polynomial of the Galois extension field GF (2 ^ 13) is {X ^ 13 + X ^ 4 + X ^ 3 + X + 1}, and when bit error correction processing is performed for user data D1 in 1024 bytes, the irreducible polynomial of Galois extension field GF (2 ^ 14) is {X ^ 14 + X ^ 10 + X ^ 6 + X + 1}. "^" Means factorial.

また、ユーザデータD1が512バイト(4096ビット)の場合、24ビットのビットエラー訂正能力を行うための初期シンドロームS1及びダミーデータMDのビット長は312ビットとなる。したがって、ユーザデータD1にダミーデータMD及び訂正用シンドロームCSを加えたビット長である4720ビット(=4096+312+312)が訂正対象データCTのビット長となる。一方、上記条件で40ビットのビットエラー訂正能力を持たそうとすると初期シンドロームS1のビット長は520ビット必要となる。   When the user data D1 is 512 bytes (4096 bits), the initial syndrome S1 and the dummy data MD for performing a 24-bit bit error correction capability have a bit length of 312 bits. Therefore, 4720 bits (= 4096 + 312 + 312), which is the bit length obtained by adding the dummy data MD and the correction syndrome CS to the user data D1, is the bit length of the correction target data CT. On the other hand, if it is intended to have a 40-bit bit error correction capability under the above conditions, the bit length of the initial syndrome S1 needs to be 520 bits.

一方、ユーザデータD1が1024バイト(8192ビット)の場合、初期シンドロームS1及びダミーデータMDのビット長は336ビットとなる。したがって、ユーザデータD1に訂正用シンドロームCS及びダミーデータMDを加えたビット長である8864ビット(=8192+336+336)が訂正対象データCTのビット長となる。一方、上記条件で40ビットのビットエラー訂正能力を持たそうとすると初期シンドロームS1のビット長は560ビット必要となる。   On the other hand, when the user data D1 is 1024 bytes (8192 bits), the bit length of the initial syndrome S1 and the dummy data MD is 336 bits. Therefore, 8864 bits (= 8192 + 336 + 336), which is the bit length obtained by adding the correction syndrome CS and the dummy data MD to the user data D1, is the bit length of the correction target data CT. On the other hand, if it is intended to have a 40-bit bit error correction capability under the above conditions, the bit length of the initial syndrome S1 needs to be 560 bits.

なお、NANDメモリ7において、ユーザデータ領域72は正確にはユーザデータD1用のユーザ領域と初期シンドロームS1の冗長領域に割り当てられている。   In the NAND memory 7, the user data area 72 is allocated to the user area for the user data D1 and the redundant area of the initial syndrome S1.

NANDメモリ7において、1024バイトあたりに40ビットのビット訂正能力を要求している場合の具体例を考える。   Consider a specific example when the NAND memory 7 requires a bit correction capability of 40 bits per 1024 bytes.

この場合、具体例1として、ユーザ領域を8192バイトに、冗長領域を640バイトに設定し、総計8832バイトで1ページのサイズを設定する態様が考えられる。この場合、1024バイトあたりに冗長領域が80バイト(640ビット)設けられ、512バイトあたりに冗長領域が40バイト(320ビット)設けられることになる。   In this case, as a specific example 1, a mode in which the user area is set to 8192 bytes, the redundant area is set to 640 bytes, and the size of one page is set with a total of 8832 bytes. In this case, 80 bytes (640 bits) of redundant areas are provided per 1024 bytes, and 40 bytes (320 bits) of redundant areas are provided per 512 bytes.

また、具体例2として、ユーザ領域を16384バイトに、冗長領域を1280バイトに設定し、総計17664バイトで1ページのサイズを設定する態様が考えられる。この場合も具体例1と同様、1024バイトあたりに冗長領域が80バイト(640ビット)設けられ、512バイトあたりに冗長領域が40バイト(320ビット)設けられることになる。   As specific example 2, a mode in which the user area is set to 16384 bytes, the redundant area is set to 1280 bytes, and the size of one page is set with a total of 17664 bytes can be considered. In this case as well, as in the first specific example, 80 bytes (640 bits) of redundant areas are provided per 1024 bytes, and 40 bytes (320 bits) of redundant areas are provided per 512 bytes.

したがって、具体例1及び具体例2それぞれにおいて、上述したBCH符号を用いる場合のユーザデータD1が1024バイトの際の初期シンドロームS1用の336ビット、ユーザデータD1が512バイトの際の初期シンドロームS1用の312ビットを共に冗長領域に格納することができる。   Therefore, in each of the specific example 1 and the specific example 2, when the above-described BCH code is used, for the initial syndrome S1 when the user data D1 is 1024 bytes, for the initial syndrome S1 when the user data D1 is 512 bytes, 312 bits can be stored in the redundant area.

(動作)
図6は実施の形態2のメモリコントローラ2におけるエラー訂正装置42のデータ訂正読み出し処理の流れを示す説明図である。図7はエラー訂正装置42によるデータ訂正読み出し処理実行時における読み出しデータ及び訂正後データの内容を示す説明図である。図8は訂正対象データ及び訂正用シンドロームの内容を示す説明図である。以下、図6〜図8を参照して、実施の形態2のエラー訂正装置42によるデータ訂正読み出し処理の内容を説明する。
(Operation)
FIG. 6 is an explanatory diagram showing the flow of data correction read processing of the error correction device 42 in the memory controller 2 of the second embodiment. FIG. 7 is an explanatory diagram showing the contents of read data and post-correction data when the error correction device 42 executes data correction read processing. FIG. 8 is an explanatory diagram showing the contents of the correction target data and the correction syndrome. Hereinafter, the contents of the data correction read processing by the error correction device 42 according to the second embodiment will be described with reference to FIGS.

(1.読み出しデータにビットエラーが無い場合(通常状態))
まず、読み出しデータDTがビットエラーの無い読み出しデータDT0である場合は、図2で示した実施の形態1の読み出し区間PD0と同様、図6の読み出し区間PD0にて読み出しデータDT0に対するデータ訂正読み出し処理としてステップST1〜ST3が実行される。
(1. When there is no bit error in the read data (normal state))
First, when the read data DT is read data DT0 having no bit error, the data correction read processing for the read data DT0 in the read section PD0 in FIG. 6 is performed as in the read section PD0 in the first embodiment shown in FIG. Steps ST1 to ST3 are executed.

(2.読み出しデータにビットエラーが発生し、そのビット数が訂正可能ビット(24ビット)以下の場合)
(2−1.ビットエラー数が警戒基準ビット数(16ビット)未満の場合)
次に、読み出しデータDTにビットエラーが発生し、そのビット数が警戒基準ビット数(16ビット)未満の読み出しデータDT1である場合、実施の形態1の読み出し区間PD1のステップST11〜ST13と同様に、図6の読み出し区間PD1にステップST11〜ST13が実行される。なお、図7(a) は図3の(a) に対応する。
(2. When a bit error occurs in the read data and the number of bits is less than the correctable bit (24 bits))
(2-1. When the number of bit errors is less than the warning reference bit number (16 bits))
Next, when a bit error occurs in the read data DT and the number of bits is the read data DT1 less than the warning reference bit number (16 bits), as in steps ST11 to ST13 of the read section PD1 of the first embodiment. Steps ST11 to ST13 are executed in the read section PD1 in FIG. FIG. 7 (a) corresponds to FIG. 3 (a).

したがって、エラービット情報EB1が16以上(24以下)を指示する場合は、要警戒状態となり、さらに、次の項目(2−2.)で述べるステップST14〜ST16が続行される。   Therefore, when the error bit information EB1 indicates 16 or more (24 or less), a warning state is required, and steps ST14 to ST16 described in the next item (2-2.) Are continued.

なお、上述した項目(1.)及び(2−1.)の処理は異常状態と判定されない状況下で実行される通常状態の処理となる。   Note that the processing of the items (1.) and (2-1.) Described above is processing in a normal state that is executed in a situation where it is not determined as an abnormal state.

(2−2.ビットエラー数が警戒基準ビット数(16ビット)以上の要警戒状態時の場合)
ステップST14において、コントローラ制御部12Bは、図7(b) に示すように、読み出しデータDT1(ユーザデータD1+初期シンドロームS1)をシンドローム生成対象データCTSとして訂正回路14Bに出力する。
(2-2. When the number of bit errors is in a cautionary state where the number of warning bits is 16 or more)
In step ST14, as shown in FIG. 7B, the controller control unit 12B outputs the read data DT1 (user data D1 + initial syndrome S1) to the correction circuit 14B as syndrome generation target data CTS.

ステップST15において、訂正回路14Bはシンドローム生成対象データCTSに対応する第2シンドロームS2を生成し、この第2シンドロームS2をコントローラ制御部12Bに出力する。   In step ST15, the correction circuit 14B generates a second syndrome S2 corresponding to the syndrome generation target data CTS, and outputs the second syndrome S2 to the controller control unit 12B.

そして、ステップST16において、コントローラ制御部12Bは、第2シンドロームS2と、読み出しデータDT1の読み出し時におけるアドレスを指示するアドレス情報ADとを組にした訂正管理用データD52を、SRAM13のSRAM内管理領域R13に格納する。図7の右側に示すように、訂正管理用データD52は、第2シンドロームS2とアドレス情報ADとのみの組み合わせよりなる訂正管理用データD52がSRAM内管理領域R13に格納される。すなわち、訂正管理用データD52はフラグ情報FGを有さない点で実施の形態1の訂正管理用データD51と異なる。   In step ST16, the controller control unit 12B sets the correction management data D52, which is a combination of the second syndrome S2 and the address information AD indicating the address at the time of reading the read data DT1, in the SRAM 13 management area. Store in R13. As shown on the right side of FIG. 7, the correction management data D52 is stored in the in-SRAM management area R13, which is a combination of only the second syndrome S2 and the address information AD. That is, the correction management data D52 is different from the correction management data D51 of the first embodiment in that it does not have the flag information FG.

実施の形態2のエラー訂正装置42では、読み出しデータDTが警戒基準ビット数以上に達して、訂正管理用データD52としてアドレス情報ADがSRAM13に登録されると、以降、当該アドレス情報ADが指示するアドレスの読み出しデータDTは異常状態であると判定するようにしている。このため、同一アドレスにおいて第2シンドロームS2が登録されるのは一度だけである。   In the error correction apparatus 42 according to the second embodiment, when the read data DT reaches the warning reference bit number or more and the address information AD is registered in the SRAM 13 as the correction management data D52, the address information AD instructs thereafter. The address read data DT is determined to be in an abnormal state. For this reason, the second syndrome S2 is registered only once at the same address.

(3.読み出しデータにビットエラーが発生し、そのビット数が訂正可能ビット数(24ビット)を超えた異常状態時の場合)
(3−1.異常状態の有無の判定)
次に、読み出しデータDTにビットエラーが発生し、そのビット数が24ビットを超える大量ビットエラーを有する読み出しデータDT2である場合について説明する。
(3. When a bit error occurs in the read data and the number of bits exceeds the correctable number of bits (24 bits))
(3-1. Determination of presence or absence of abnormal state)
Next, a case where a bit error occurs in the read data DT and the read data DT2 has a large number of bit errors exceeding 24 bits will be described.

図6には図示しないが、コントローラ制御部12Bは、読み出しデータDT2の読み出し時におけるアドレスを指示するアドレス情報ADが訂正管理用データD52として格納されているか否かに基づき、読み出しデータDT2の異常状態の有無を判定している。   Although not shown in FIG. 6, the controller control unit 12B determines whether the read data DT2 is in an abnormal state based on whether or not the address information AD indicating the address at the time of reading the read data DT2 is stored as the correction management data D52. Whether or not there is.

したがって、コントローラ制御部12Bは、読み出しデータDT2のアドレスを指示するアドレス情報ADが訂正管理用データD52に存在する場合、直ちに読み出しデータDT2は異常状態であると判定し、以下のステップST25〜ST29の2段階訂正処理に移行する。   Therefore, when the address information AD indicating the address of the read data DT2 exists in the correction management data D52, the controller control unit 12B immediately determines that the read data DT2 is in an abnormal state, and the following steps ST25 to ST29 are performed. The process proceeds to a two-stage correction process.

(3−2.初段訂正処理)
ステップST25において、コントローラ制御部12Bは、実施の形態1と同様、SRAM13から、読み出しデータDT2のアドレスを指示するアドレス情報ADに対応づけられた第2シンドロームS2を読み出す。
(3-2. First stage correction processing)
In step ST25, the controller control unit 12B reads out the second syndrome S2 associated with the address information AD indicating the address of the read data DT2 from the SRAM 13, as in the first embodiment.

なお、以降は実施の形態1と同様、ステップST26及びST27が実行され、25ビット以上のビットエラーを有する読み出しデータDT2が、24ビット以下のビットエラーを有する読み出しデータDT1に戻される。なお、図7(c),(d)は図3(d),(e) に対応する。   Thereafter, similarly to the first embodiment, steps ST26 and ST27 are executed, and the read data DT2 having a bit error of 25 bits or more is returned to the read data DT1 having a bit error of 24 bits or less. FIGS. 7C and 7D correspond to FIGS. 3D and 3E.

(3−3.第2段訂正処理)
実施の形態1と同様、ステップST28及びST29が実行され、初段訂正処理により得られた24ビット以下のビットエラーを有する読み出しデータDT1が、ビットエラーの無い読み出しデータDT0に戻される。
(3-3. Second stage correction process)
As in the first embodiment, steps ST28 and ST29 are executed, and the read data DT1 having a bit error of 24 bits or less obtained by the first stage correction process is returned to the read data DT0 having no bit error.

その結果、メモリコントローラ2は、エラー訂正装置42により誤り訂正された読み出しデータDT0に含まれるユーザデータD1を訂正後読み出しデータとして、ホストI/F11を介してホスト6に出力することができる。なお、図7(e) は図3(f) に対応する。   As a result, the memory controller 2 can output the user data D1 included in the read data DT0 error-corrected by the error correction device 42 to the host 6 via the host I / F 11 as corrected read data. FIG. 7 (e) corresponds to FIG. 3 (f).

なお、説明の都合上、項目(3−1.〜3−3.)の説明として、大量ビットエラーを有する読み出しデータDT2を使用している。しかしながら、警戒基準ビット数(16ビット)以上であるが訂正可能ビット数(24ビット)以下のビットエラーを有する読み出しデータDT1においても、既に対応するアドレス情報ADが訂正管理用データD52としてSRAM内管理領域R13に登録されておれば、異常状態と判定されるため2段階訂正処理の対象となり得る。   For convenience of explanation, read data DT2 having a large amount of bit errors is used as an explanation of items (3-1. To 3-3.). However, even in the read data DT1 having a bit error that is not less than the warning reference bit number (16 bits) but less than the correctable bit number (24 bits), the corresponding address information AD is already managed in the SRAM as the correction management data D52. If it is registered in the region R13, it is determined as an abnormal state and can be subjected to a two-step correction process.

したがって、図8(b) に示すように、読み出しデータDT1及び第2シンドロームS2を訂正対象データCT2とし、第2シンドロームS2を訂正用シンドロームCSとして、訂正回路14Bにビットエラー訂正処理を実行させるケースもあり得る。   Therefore, as shown in FIG. 8 (b), the read circuit DT1 and the second syndrome S2 are used as the correction target data CT2, and the second syndrome S2 is used as the correction syndrome CS. There is also a possibility.

一方、図8(a) に示すように、初期シンドロームS1を訂正用シンドロームCSとしたビットエラー訂正処理における訂正対象データCT1に含まれる読み出しデータDTは、ほぼ確実に読み出しデータDT0あるいは読み出しデータDT1となり、読み出しデータDT2が含まれる可能性は極めて低い。なぜなら、読み出しデータDT2が発生する事前段階において、同一アドレスの読み出し時に警戒基準ビット数を超える読み出しデータDT1がほぼ確実に発生して、SRAM内管理領域R13にアドレス情報ADが登録されるからである。   On the other hand, as shown in FIG. 8A, the read data DT included in the correction target data CT1 in the bit error correction processing in which the initial syndrome S1 is the correction syndrome CS is almost certainly the read data DT0 or the read data DT1. The possibility that the read data DT2 is included is extremely low. This is because, prior to the generation of the read data DT2, the read data DT1 exceeding the warning reference bit number is almost certainly generated when the same address is read, and the address information AD is registered in the management area R13 in the SRAM. .

(SRAM13の訂正管理用データD52)
SRAM13はSRAM内管理領域R13内に訂正管理用データD52をアドレス単位格納しており、同一アドレスにおいて第2シンドロームS2が1度のみ生成され、上書きされることはない。
(Correction management data D52 of SRAM 13)
The SRAM 13 stores the correction management data D52 in the SRAM management area R13 in units of addresses, and the second syndrome S2 is generated only once at the same address and is not overwritten.

また。SRAM13,NANDメモリ7間において、実施の形態1と同様、訂正管理用データD52が最新の内容となるように、適宜、データ転送がなされる。   Also. Similar to the first embodiment, data transfer is appropriately performed between the SRAM 13 and the NAND memory 7 so that the correction management data D52 has the latest contents.

(効果等)
このように、メモリコントローラ2内に設けられた実施の形態2のエラー訂正装置42は、SRAM内管理領域R13内における、読み出しデータDTのアドレスを指示するアドレス情報ADの存在の有無に基づく異常状態判定処理により、異常状態を判定すると、初段訂正処理及び第2段訂正処理による段階訂正処理を実行している。
(Effects etc.)
As described above, the error correction device 42 according to the second embodiment provided in the memory controller 2 is in an abnormal state based on the presence / absence of the address information AD indicating the address of the read data DT in the management area R13 in the SRAM. When an abnormal state is determined by the determination process, a stage correction process by a first stage correction process and a second stage correction process is executed.

このため、エラー訂正装置42は、NANDメモリ7から読み出される読み出しデータDTが、訂正回路14Bの大量ビットエラーを有する読み出しデータDT2のような場合においても、訂正後読み出しデータとしてビットエラー訂正された正常な読み出しデータDT0を得ることができる。   For this reason, the error correction device 42 is normal in which the bit error is corrected as read data after correction even when the read data DT read from the NAND memory 7 is the read data DT2 having a large bit error of the correction circuit 14B. Read data DT0 can be obtained.

例えば、読み出しデータDTに対応する第2シンドロームS2をSRAM内管理領域R13に保存したのが、16ビットのビットエラー発生時のものであっても、40ビット(24+16)のビットエラーを有する読み出しデータDT2に対して、ビットエラーの無い読み出しデータDT0にエラー訂正することができる。   For example, even if the second syndrome S2 corresponding to the read data DT is stored in the SRAM management area R13 when a 16-bit bit error occurs, the read data has a 40-bit (24 + 16) bit error. With respect to DT2, error correction can be performed to read data DT0 having no bit error.

その結果、内蔵する訂正回路14Bのビットエラー訂正能力を上回る、ビットエラー訂正能力を有する実施の形態2のエラー訂正装置42を、単一の訂正回路14Bからなる比較的簡単な構成で得ることができる。   As a result, the error correction device 42 of the second embodiment having a bit error correction capability exceeding the bit error correction capability of the built-in correction circuit 14B can be obtained with a relatively simple configuration including a single correction circuit 14B. it can.

さらに、エラー訂正装置42は、SRAM内管理領域R13内の訂正管理用データD52において、読み出しデータDTの読み出し時におけるアドレスを指示するアドレス情報ADの登録の有無に基づき、読み出しデータDTの異常状態の有無を判定している。したがって、訂正管理用データD52に登録されたアドレス情報ADの指示するアドレスの読み出しデータDTを必ず、異常状態と判定するため、一度異常状態と判定すると、当該読み出しデータDTにおける判定は異常状態で固定される。   Further, the error correction device 42 determines whether the read data DT is in an abnormal state based on the presence / absence of registration of the address information AD indicating the address at the time of reading the read data DT in the correction management data D52 in the SRAM management area R13. Judgment is made. Accordingly, since the read data DT at the address indicated by the address information AD registered in the correction management data D52 is always determined to be in an abnormal state, once it is determined as an abnormal state, the determination in the read data DT is fixed in the abnormal state. Is done.

このように、実施の形態2のエラー訂正装置42は、読み出しデータDTの異常状態の有無判定を、SRAM内管理領域R13内容を参照することにより行うため、大量ビットエラーの発生を検出するためのビットエラー検出回路(実施の形態1の訂正回路14Aのエラービット情報EB2の生成機能、あるいは実施の形態2の訂正可否演算部16)に相当する構成部を設ける必要がない分、装置構成の簡略化を図ることができる。   As described above, the error correction device 42 according to the second embodiment performs the presence / absence determination of the read data DT by referring to the contents of the management area R13 in the SRAM. Since the configuration corresponding to the bit error detection circuit (the function of generating the error bit information EB2 of the correction circuit 14A of the first embodiment or the correction availability calculation unit 16 of the second embodiment) is not required, the apparatus configuration is simplified. Can be achieved.

また、実施の形態2のエラー訂正装置42で用いる訂正回路14Bは、実施の形態1の訂正回路14Aのように訂正可能ビット数を上回るビットエラー検出能力を持たせる必要がない分、訂正回路14Aより回路構成を簡略化することができる。   Further, the correction circuit 14B used in the error correction device 42 of the second embodiment does not need to have a bit error detection capability exceeding the correctable number of bits unlike the correction circuit 14A of the first embodiment. In addition, the circuit configuration can be simplified.

<実施の形態3>
(全体構成)
図9はこの発明の実施の形態3であるメモリシステム53の構成を示すブロック図である。同図に示すように、実施の形態3のメモリシステム53は、ホスト6、メモリコントローラ3及びNANDメモリ7により構成される。以下、実施の形態1あるいは実施の形態2と同一構成部は同一符号を付して適宜説明を省略する。
<Embodiment 3>
(overall structure)
FIG. 9 is a block diagram showing a configuration of a memory system 53 according to the third embodiment of the present invention. As shown in the figure, the memory system 53 according to the third embodiment includes a host 6, a memory controller 3, and a NAND memory 7. Hereinafter, the same components as those in the first embodiment or the second embodiment are denoted by the same reference numerals, and description thereof will be omitted as appropriate.

NANDメモリ7は管理領域71に実施の形態2と同様、訂正管理用データD52を格納し、ユーザデータ領域72にアドレス単位にユーザデータD1と初期シンドロームS1との組み合わせを格納している。   The NAND memory 7 stores the correction management data D52 in the management area 71 as in the second embodiment, and the user data area 72 stores the combination of the user data D1 and the initial syndrome S1 in units of addresses.

メモリコントローラ3は、実施の形態3のエラー訂正装置43を内蔵し、ホスト6の書き込み及び読み出し等の要求に応じて、NANDメモリ7に対して消去動作、書き込み動作及び読み出し動作を行う。   The memory controller 3 includes the error correction device 43 according to the third embodiment, and performs an erasing operation, a writing operation, and a reading operation on the NAND memory 7 in response to requests such as writing and reading by the host 6.

メモリコントローラ3はホストI/F11、NAND制御部15及びエラー訂正装置43を有している。エラー訂正装置43は内部にコントローラ制御部12C、SRAM13及び訂正回路14Bを有しており、NANDメモリ7に対するアクセス時におけるエラー訂正を行う。   The memory controller 3 includes a host I / F 11, a NAND control unit 15, and an error correction device 43. The error correction device 43 includes a controller control unit 12C, SRAM 13, and correction circuit 14B inside, and performs error correction when accessing the NAND memory 7.

SRAM13は第2シンドロームS2をアドレスに対応づけて訂正管理用データD52として格納し、エラー訂正装置43内における一時記憶部として機能する。   The SRAM 13 stores the second syndrome S2 as the correction management data D52 in association with the address, and functions as a temporary storage unit in the error correction device 43.

訂正回路14Bは、実施の形態2の訂正回路14Bと同様、訂正用シンドロームCSを用いて、訂正用シンドロームCSを含む訂正対象データCT内のビットエラーを訂正して訂正後データCDを得るビットエラー訂正処理を実行する。すなわち、訂正回路14Bはビットエラー訂正能力(24ビット)と同一のビットエラー検出能力(24ビット)を有している。   Similarly to the correction circuit 14B of the second embodiment, the correction circuit 14B uses the correction syndrome CS to correct a bit error in the correction target data CT including the correction syndrome CS to obtain a corrected data CD. Perform correction processing. That is, the correction circuit 14B has the same bit error detection capability (24 bits) as the bit error correction capability (24 bits).

訂正可否演算部16は、演算対象データJDに対しCRC(Cyclic redundancy check)用の符号生成演算処理を行い、演算対象データJDに対応する比較用CRCコードCR16(比較用誤り検出符号)を生成する誤り検出符号生成処理を実行する。   The correctability calculation unit 16 performs CRC (Cyclic redundancy check) code generation calculation processing on the calculation target data JD, and generates a comparison CRC code CR16 (comparison error detection code) corresponding to the calculation target data JD. An error detection code generation process is executed.

コントローラ制御部12C(制御部)はNANDメモリ7に対する消去動作、書き込み動作及び読み出し動作を制御する消去機能、書き込み機能及び読み出し機能を有している。そして、コントローラ制御部12Cは、上述したSRAM13、訂正回路14B及び訂正可否演算部16を用いて、訂正回路14Bのビットエラー訂正能力(24ビット)を超えるビットエラー訂正が可能なデータ訂正読み出し処理を実行制御することを特徴している。   The controller control unit 12C (control unit) has an erase function, a write function, and a read function for controlling an erase operation, a write operation, and a read operation with respect to the NAND memory 7. Then, the controller control unit 12C uses the SRAM 13, the correction circuit 14B, and the correctability calculation unit 16 described above to perform a data correction read process capable of bit error correction exceeding the bit error correction capability (24 bits) of the correction circuit 14B. It is characterized by execution control.

(動作)
図10は実施の形態3のメモリコントローラ3におけるエラー訂正装置43のデータ訂正読み出し処理の流れを示す説明図である。図11はエラー訂正装置43によるデータ訂正読み出し処理実行時における読み出しデータ及び訂正後データの内容を示す説明図である。図12は訂正対象データ及び訂正用シンドロームの内容を示す説明図である。以下、図10〜図12を参照して、実施の形態3のエラー訂正装置43によるデータ訂正読み出し処理の内容を説明する。
(Operation)
FIG. 10 is an explanatory diagram showing the flow of data correction read processing of the error correction device 43 in the memory controller 3 of the third embodiment. FIG. 11 is an explanatory diagram showing the contents of read data and post-correction data when the error correction apparatus 43 executes data correction read processing. FIG. 12 is an explanatory diagram showing the contents of the correction target data and the correction syndrome. Hereinafter, the contents of the data correction read processing by the error correction device 43 according to the third embodiment will be described with reference to FIGS.

(1.読み出しデータにビットエラーが無い場合(通常状態))
まず、読み出しデータDTがビットエラーの無い読み出しデータDT0である場合について説明する。図8の読み出し区間PD0が読み出しデータDT0に対するデータ訂正読み出し処理を示している。
(1. When there is no bit error in the read data (normal state))
First, a case where the read data DT is read data DT0 having no bit error will be described. The read section PD0 in FIG. 8 shows the data correction read process for the read data DT0.

まず、ステップST51で、コントローラ制御部12Cは、NANDメモリ7のユーザデータ領域72から、NAND制御部15を介して読み出しデータDTとして読み出す。図11(a) に示すように、読み出しデータDTは、ビットエラーの無い読み出しデータDT0であるため、読み出しデータDT0に含まれるユーザデータD1及びユーザデータD1に対応する初期シンドロームS1及びCRCコードCR(誤り検出符号)のいずれにもビットエラーは存在していない。CRCコードCRはユーザデータD1に対し訂正可否演算部16によるCRC用の符号生成演算処理を実行することにより得られたコードである。   First, in step ST51, the controller control unit 12C reads data as read data DT from the user data area 72 of the NAND memory 7 via the NAND control unit 15. As shown in FIG. 11 (a), the read data DT is read data DT0 with no bit error. Therefore, the user data D1 and the initial syndrome S1 corresponding to the user data D1 and the CRC code CR ( There is no bit error in any of the error detection codes. The CRC code CR is a code obtained by executing CRC code generation calculation processing by the correctability calculator 16 on the user data D1.

次に、ステップST52で、コントローラ制御部12Cは、読み出しデータDT0及びダミーデータMDの組み合わせを訂正対象データCT1とし、初期シンドロームS1を訂正用シンドロームCSとして訂正回路14Bに出力する。その結果、図12(a) に示すように、訂正回路14Bのビットエラー訂正処理実行前の設定状態において、訂正対象データCT1として、ユーザデータD1とCRCコードCRとダミーデータMDと初期シンドロームS1とが格納され、この際、訂正用シンドロームCSとして初期シンドロームS1が設定される。なお、ダミーデータMDは初期シンドロームS1と同一ビット数で、すべてが“0”に設定されている。また、ステップST52の処理は一部、ステップST51の処理と並列的に実行することができる。   Next, in step ST52, the controller control unit 12C outputs the combination of the read data DT0 and the dummy data MD as the correction target data CT1, and outputs the initial syndrome S1 as the correction syndrome CS to the correction circuit 14B. As a result, as shown in FIG. 12 (a), the user data D1, the CRC code CR, the dummy data MD, the initial syndrome S1, In this case, the initial syndrome S1 is set as the correcting syndrome CS. The dummy data MD has the same number of bits as the initial syndrome S1, and all are set to “0”. Further, the process of step ST52 can be partially executed in parallel with the process of step ST51.

その後、ステップST53において、訂正回路14Bは、初期シンドロームS1を用いてビットエラー訂正処理を実行して得られる訂正後データCD1をコントローラ制御部12Cに出力する。読み出しデータDT0にはビットエラーが元々存在しないため、訂正後データCD1内には読み出しデータDT0と“0”を指示するエラービット情報EB0とが含まれることになる。   Thereafter, in step ST53, the correction circuit 14B outputs the corrected data CD1 obtained by executing the bit error correction process using the initial syndrome S1 to the controller control unit 12C. Since no bit error originally exists in the read data DT0, the corrected data CD1 includes the read data DT0 and error bit information EB0 indicating “0”.

続いて、ステップST54において、コントローラ制御部12Cは、訂正後データCD1内に含まれるユーザデータD1を演算対象データJDとして訂正可否演算部16に出力する。   Subsequently, in step ST54, the controller control unit 12C outputs the user data D1 included in the corrected data CD1 to the correction availability calculation unit 16 as calculation target data JD.

訂正可否演算部16はユーザデータD1に対してCRC用の符号生成演算処理を実行して、ユーザデータD1に対応する比較用CRCコードCR16を生成する。   The correctability calculator 16 executes a CRC code generation calculation process on the user data D1 to generate a comparison CRC code CR16 corresponding to the user data D1.

続く、ステップST55において、コントローラ制御部12Cは訂正後データCD1内に含まれるCRCコードCRと、比較用CRCコードCR16とを比較し、両者が一致するため、訂正可能ビットを超える大量ビットエラーが生じていないことを確認することができる。   Subsequently, in step ST55, the controller control unit 12C compares the CRC code CR included in the corrected data CD1 with the comparison CRC code CR16, and since both match, a large bit error exceeding the correctable bit occurs. You can be sure that it is not.

(2.読み出しデータにビットエラーが発生し、そのビット数が訂正可能ビット(24ビット)以下の場合(通常状態))
(2−1.ビットエラー数が警戒基準ビット数(16ビット)未満の場合)
次に、読み出しデータDTにビットエラーが発生し、そのビット数が24ビット以下の読み出しデータDT1である場合について説明する。図10の読み出し区間PD1が読み出しデータDT1に対するデータ訂正読み出し処理を示している。
(2. When a bit error occurs in the read data and the number of bits is less than the correctable bit (24 bits) (normal state))
(2-1. When the number of bit errors is less than the warning reference bit number (16 bits))
Next, a case where a bit error occurs in the read data DT and the number of bits is the read data DT1 having 24 bits or less will be described. The read section PD1 in FIG. 10 shows the data correction read processing for the read data DT1.

まず、ステップST61で、コントローラ制御部12Cは、NANDメモリ7から、読み出しデータDTを読み出す。読み出しデータDTは、ビットエラーが存在する読み出しデータDT1及び初期シンドロームS1との組み合わせにより構成される。   First, in step ST61, the controller control unit 12C reads the read data DT from the NAND memory 7. The read data DT is composed of a combination of the read data DT1 in which a bit error exists and the initial syndrome S1.

次に、ステップST62で、コントローラ制御部12Cは、読み出しデータDT1及びダミーデータMDの組み合わせを訂正対象データCT1とし、初期シンドロームS1を訂正用シンドロームCSとして訂正回路14Bに出力する。なお、ステップST62の処理は一部、ステップS61の処理と並列的に実行することができる。   Next, in step ST62, the controller control unit 12C outputs the combination of the read data DT1 and the dummy data MD as the correction target data CT1, and outputs the initial syndrome S1 as the correction syndrome CS to the correction circuit 14B. Part of the process in step ST62 can be executed in parallel with the process in step S61.

ステップST63において、訂正回路14Bは、初期シンドロームS1を用いてビットエラー訂正処理を実行して得られる訂正後データCD1をコントローラ制御部12Cに出力する。読み出しデータDT1にはビットエラーが存在しているため、訂正後データCD1内にはビットエラーが存在しない訂正後の読み出しデータDT0と訂正前の読み出しデータDT1内のビットエラー数を指示するエラービット情報EB1とが含まれることになる。   In step ST63, the correction circuit 14B outputs the corrected data CD1 obtained by executing the bit error correction process using the initial syndrome S1 to the controller control unit 12C. Since there is a bit error in the read data DT1, there is no bit error in the corrected data CD1, and error bit information indicating the number of bit errors in the corrected read data DT0 and the read data DT1 before correction EB1 is included.

その後、ステップST64及びST65において、ステップST54及びST55と同様の処理を実行し、CRCコードCRと比較用CRCコードCR16との比較に基づく大量ビットエラーの発生の有無を確認する。   Thereafter, in steps ST64 and ST65, processing similar to that in steps ST54 and ST55 is executed, and it is confirmed whether or not a large bit error has occurred based on the comparison between the CRC code CR and the comparison CRC code CR16.

ステップST63で得たエラービット情報EB1が警戒基準ビット数である“16”を下回る15以下を指示する場合は、上述したステップST65で処理を終了する。一方、エラービット情報EB1が16以上(24以下)を指示する場合は、要警戒状態となり、さらに、次の項目(2−2.)で述べるステップST66〜ST68が続行される。   When the error bit information EB1 obtained in step ST63 indicates 15 or less below “16”, which is the number of warning reference bits, the process ends in step ST65 described above. On the other hand, when the error bit information EB1 indicates 16 or more (24 or less), a warning state is required, and steps ST66 to ST68 described in the next item (2-2.) Are continued.

(2−2.ビットエラー数が警戒基準ビット数(16ビット)以上の要警戒状態時の場合)
ステップST66において、コントローラ制御部12Cは、図11(b) に示すように、読み出しデータDT1(ユーザデータD1+CRCコードCR+初期シンドロームS1)をシンドローム生成対象データCTSとして訂正回路14Bに出力する。
(2-2. When the number of bit errors is in a cautionary state where the number of warning bits is 16 or more)
In step ST66, the controller control unit 12C outputs the read data DT1 (user data D1 + CRC code CR + initial syndrome S1) to the correction circuit 14B as syndrome generation target data CTS as shown in FIG. 11B.

ステップST67において、訂正回路14Bはシンドローム生成対象データCTSに対応する第2シンドロームS2を生成し、この第2シンドロームS2をコントローラ制御部12Cに出力する。   In step ST67, the correction circuit 14B generates the second syndrome S2 corresponding to the syndrome generation target data CTS, and outputs the second syndrome S2 to the controller control unit 12C.

そして、ステップST68において、コントローラ制御部12Cは、第2シンドロームS2と、読み出しデータDT1の読み出し時におけるアドレスを指示するアドレス情報ADとを組にした訂正管理用データD52を、SRAM13のSRAM内管理領域R13に格納する。すなわち、図11の右側に示すように、SRAM内管理領域R13には第2シンドロームS2とアドレス情報ADとの組み合わせよりなる訂正管理用データD52が格納される。   In step ST68, the controller control unit 12C sets the correction management data D52, which is a combination of the second syndrome S2 and the address information AD indicating the address at the time of reading the read data DT1, in the SRAM 13 management area. Store in R13. That is, as shown on the right side of FIG. 11, correction management data D52 including a combination of the second syndrome S2 and the address information AD is stored in the management area R13 in the SRAM.

(3.読み出しデータにビットエラーが発生し、そのビット数が訂正可能ビット数(24ビット)を超えた異常状態時の場合)
(3−1.異常状態の有無の判定)
次に、読み出しデータDTにビットエラーが発生し、そのビット数が24ビットを超える大量ビットエラーを有する読み出しデータDT2である場合について説明する。図10の読み出し区間PD2が読み出しデータDT2に対するデータ訂正読み出し処理を示している。
(3. When a bit error occurs in the read data and the number of bits exceeds the correctable number of bits (24 bits))
(3-1. Determination of presence or absence of abnormal state)
Next, a case where a bit error occurs in the read data DT and the read data DT2 has a large number of bit errors exceeding 24 bits will be described. The read section PD2 in FIG. 10 shows the data correction read processing for the read data DT2.

まず、ステップST71で、コントローラ制御部12Cは、NANDメモリ7から、読み出しデータDTを読み出す。読み出しデータDTは、図11(c) に示すように、大量ビットエラーが存在する読み出しデータDT2であるため、読み出しデータDT2に含まれるユーザデータD1、CRCコードCR及び初期シンドロームS1に存在するビットエラー合計数が25ビット以上ある。   First, in step ST71, the controller control unit 12C reads the read data DT from the NAND memory 7. As shown in FIG. 11 (c), the read data DT is read data DT2 in which a large number of bit errors exist, so that the user data D1, CRC code CR included in the read data DT2, and the bit error existing in the initial syndrome S1. The total number is 25 bits or more.

次に、ステップST72で、コントローラ制御部12Cは、読み出しデータDT2及びダミーデータMDの組み合わせを訂正対象データCT1とし、初期シンドロームS1を訂正用シンドロームCSとして訂正回路14Bに出力する。なお、ステップST72の処理は一部、ステップST71の処理と並列的に実行することができる。   Next, in step ST72, the controller control unit 12C outputs the combination of the read data DT2 and the dummy data MD as the correction target data CT1, and outputs the initial syndrome S1 as the correction syndrome CS to the correction circuit 14B. Part of the process in step ST72 can be executed in parallel with the process in step ST71.

ステップST73において、訂正回路14Bは、初期シンドロームS1を用いてビットエラー訂正処理を実行して得られる訂正後データCD1をコントローラ制御部12Cに出力する。   In step ST73, the correction circuit 14B outputs the corrected data CD1 obtained by executing the bit error correction process using the initial syndrome S1 to the controller control unit 12C.

この際、読み出しデータDT2は25ビット以上の大量ビットエラーが発生しているため、訂正後データCD1内のユーザデータは不明データDTxxとなる。   At this time, since the read data DT2 has a large bit error of 25 bits or more, the user data in the corrected data CD1 becomes unknown data DTxx.

一方、ステップST74において、コントローラ制御部12Cは、訂正後データCD1内に含まれるユーザデータである不明ユーザデータD1xxを演算対象データJDとして訂正可否演算部16に出力する。   On the other hand, in step ST74, the controller control unit 12C outputs unknown user data D1xx, which is user data included in the corrected data CD1, to the correctability calculation unit 16 as calculation target data JD.

訂正可否演算部16は不明ユーザデータD1xxに対してCRC用の符号生成演算処理を実行して、不明ユーザデータD1xxに対応する比較用CRCコードCR16を生成する。   The correctability calculator 16 performs a CRC code generation calculation process on the unknown user data D1xx, and generates a comparison CRC code CR16 corresponding to the unknown user data D1xx.

続く、ステップST75において、コントローラ制御部12Cは訂正後データCD1内に含まれるCRCコードCRと、比較用CRCコードCR16とを比較し、両者が不一致となるため、訂正可能ビットを超える大量ビットエラーが生じたことを正確に判定することができる。   Subsequently, in step ST75, the controller control unit 12C compares the CRC code CR included in the corrected data CD1 with the comparison CRC code CR16, and the two do not match. Therefore, a large number of bit errors exceeding the correctable bits occur. It is possible to accurately determine what has occurred.

このように、実施の形態3のエラー訂正装置43は、ステップST71〜ST75の実行により、訂正可否演算部16を利用してCRCコードCRと比較用CRCコードCR16との比較に基づき、読み出しデータDTの異常状態の有無を判定する異常判定処理を実行している。   As described above, the error correction apparatus 43 according to the third embodiment performs the read data DT based on the comparison between the CRC code CR and the comparison CRC code CR16 by using the correctability calculator 16 by executing steps ST71 to ST75. An abnormality determination process is performed to determine whether there is an abnormal state.

上述した異常判定処理により、読み込んだ読み出しデータDTの異常状態が検出されると、以下のステップST76〜ST82の2段階訂正処理(初段訂正瀬処理+第2段訂正処理)に移行する。   When the abnormal state of the read data DT read is detected by the abnormality determination process described above, the process proceeds to the following two-stage correction process (first-stage correction process + second-stage correction process) in steps ST76 to ST82.

(3−2.初段訂正処理)
実施の形態1と同様、読み出しデータDT2の読み出し時におけるアドレスを指示するアドレス情報ADに対応して第2シンドロームS2が既にSRAM13のSRAM内管理領域R13内に格納されている。
(3-2. First stage correction processing)
Similar to the first embodiment, the second syndrome S2 is already stored in the SRAM management area R13 of the SRAM 13 corresponding to the address information AD indicating the address at the time of reading the read data DT2.

そこで、ステップST76において、コントローラ制御部12Cは、SRAM13から、読み出しデータDT2の読み出し時におけるアドレスを指示するアドレス情報ADに対応づけられた第2シンドロームS2を読み出す。   Therefore, in step ST76, the controller control unit 12C reads from the SRAM 13 the second syndrome S2 associated with the address information AD indicating the address when reading the read data DT2.

次に、ステップST77で、コントローラ制御部12Cは、図11(d) 及び図12(b) に示すように、読み出しデータDT2(ユーザデータD1+CRCコードCR+初期シンドロームS1)及び第2シンドロームS2の組み合わせを訂正対象データCT2として訂正回路14Bに出力する。この際、ステップST76で読み込んだ第2シンドロームS2が訂正用シンドロームCSとして設定される。   Next, in step ST77, the controller control unit 12C determines the combination of the read data DT2 (user data D1 + CRC code CR + initial syndrome S1) and the second syndrome S2 as shown in FIGS. 11 (d) and 12 (b). The correction target data CT2 is output to the correction circuit 14B. At this time, the second syndrome S2 read in step ST76 is set as the correcting syndrome CS.

すると、ステップST78において、訂正回路14Bは、第2シンドロームS2を用いてビットエラー訂正処理を実行して得られる訂正後データCD2をコントローラ制御部12Cに出力する。この訂正後データCD2は、図11(e) に示すように、24ビット以下のビットエラーを有する読み出しデータDT1(ユーザデータ部分;訂正ユーザデータD1c、CRCコード部分(誤り訂正符号部分);訂正CRCコードCRc(訂正誤り検出符号)及び初期シンドローム部分;訂正初期シンドロームS1c)が含まれる。   Then, in step ST78, the correction circuit 14B outputs the corrected data CD2 obtained by executing the bit error correction process using the second syndrome S2 to the controller control unit 12C. As shown in FIG. 11 (e), the corrected data CD2 is read data DT1 (user data portion; corrected user data D1c, CRC code portion (error correction code portion)) having a bit error of 24 bits or less; Code CRc (correction error detection code) and initial syndrome part; correction initial syndrome S1c) are included.

このように、25ビット以上のビットエラーを有する読み出しデータDT2を、24ビット以下のビットエラーを有する読み出しデータDT1に戻す初段訂正処理が実行される。   In this way, the first stage correction process is performed to return the read data DT2 having a bit error of 25 bits or more to the read data DT1 having a bit error of 24 bits or less.

(3−3.第2段訂正処理)
続いて、ステップST79で、コントローラ制御部12Cは、訂正後データCD2内に含まれる読み出しデータDT1(訂正ユーザデータD1c、訂正CRCコードCRc及び訂正初期シンドロームS1c)とダミーデータMDとを訂正対象データCT1として訂正回路14Aに出力する。この際、ステップST27で得られた訂正初期シンドロームS1cが訂正用シンドロームCSとして設定される。
(3-3. Second stage correction process)
Subsequently, in step ST79, the controller control unit 12C converts the read data DT1 (corrected user data D1c, corrected CRC code CRc, and corrected initial syndrome S1c) and dummy data MD included in the corrected data CD2 to the correction target data CT1. To the correction circuit 14A. At this time, the corrected initial syndrome S1c obtained in step ST27 is set as the correcting syndrome CS.

すると、ステップST80において、訂正回路14Bは、初期シンドロームS1を用いてビットエラー訂正処理を実行して得られる訂正後データCD1をコントローラ制御部12Cに出力する。この訂正後データCD1は、図11(f) に示すように、ビットエラーが無い状態に訂正された読み出しデータDT0が含まれる。   Then, in step ST80, the correction circuit 14B outputs the corrected data CD1 obtained by executing the bit error correction process using the initial syndrome S1 to the controller control unit 12C. The corrected data CD1 includes read data DT0 corrected to have no bit error as shown in FIG. 11 (f).

その後、ステップST81及びST82において、ステップST54及びST55と同様に、CRCコードCRと比較用CRCコードCR16との比較に基づく大量ビットエラーの発生の有無を確認する。   Thereafter, in steps ST81 and ST82, as in steps ST54 and ST55, it is confirmed whether or not a large number of bit errors have occurred based on the comparison between the CRC code CR and the comparison CRC code CR16.

このように、初段訂正処理により得られた24ビット以下のビットエラーを有する読み出しデータDT1を、ビットエラーの無い読み出しデータDT0に戻す第2段訂正処理が実行される。   In this way, the second-stage correction process is performed in which the read data DT1 having a bit error of 24 bits or less obtained by the first-stage correction process is returned to the read data DT0 having no bit error.

その結果、メモリコントローラ3は、エラー訂正装置43により誤り訂正された読み出しデータDT0に含まれるユーザデータD1を訂正後読み出しデータとして、ホストI/F11を介してホスト6に出力することができる。   As a result, the memory controller 3 can output the user data D1 included in the read data DT0 error-corrected by the error correction device 43 to the host 6 via the host I / F 11 as corrected read data.

上述したように、コントローラ制御部12Cはコントローラ制御部12Aと異なり、ステップST52,ST62、ST72及びST79の実行時における訂正対象データCT1にCRCコードCRを含め、ステップST77の実行時における訂正対象データCT2にCRCコードCRを含めている。   As described above, unlike the controller control unit 12A, the controller control unit 12C includes the CRC code CR in the correction target data CT1 when executing steps ST52, ST62, ST72, and ST79, and the correction target data CT2 when executing step ST77. Includes a CRC code CR.

さらに、ステップST66の実行時におけるシンドローム生成対象データCTSにCRCコードCRを含め、ステップST78の実行時における訂正後データCD2のCRCコードCR部分を訂正CRCコードCRcとし、ステップS80実行時における訂正後データCD1に訂正CRCコードCRcを含めている。   Further, the CRC code CR is included in the syndrome generation target data CTS at the time of execution of step ST66, the CRC code CR portion of the corrected data CD2 at the time of execution of step ST78 is set as the corrected CRC code CRc, and the corrected data at the time of execution of step S80. The corrected CRC code CRc is included in CD1.

(SRAM13の訂正管理用データD52)
SRAM13はSRAM内管理領域R13内に訂正管理用データD52をアドレス単位格納しており、同一アドレスにおいて2回以上の第2シンドロームS2が生成される場合、訂正管理用データD52の第2シンドロームS2が最新の第2シンドロームS2が上書きされる。
(Correction management data D52 of SRAM 13)
The SRAM 13 stores the correction management data D52 in the SRAM management area R13 in units of addresses. When the second syndrome S2 is generated twice or more at the same address, the second syndrome S2 of the correction management data D52 is The latest second syndrome S2 is overwritten.

また、SRAM13,NANDメモリ7間において、実施の形態1と同様、訂正管理用データD52が最新の内容となるように、適宜、データ転送がなされる。   Similarly to the first embodiment, data transfer is appropriately performed between the SRAM 13 and the NAND memory 7 so that the correction management data D52 has the latest contents.

(効果等)
このように、メモリコントローラ1内における実施の形態3のエラー訂正装置43は、ビットエラー検出回路として専用の訂正可否演算部16を利用した異常状態判定処理により、読み出しデータDTに大量ビットエラーが生じる異常状態を判定すると、初段訂正処理及び第2段訂正処理による段階訂正処理を実行している。
(Effects etc.)
As described above, the error correction device 43 according to the third embodiment in the memory controller 1 causes a large number of bit errors in the read data DT by the abnormal state determination process using the dedicated correctability calculator 16 as a bit error detection circuit. When the abnormal state is determined, the stage correction process by the first stage correction process and the second stage correction process is executed.

このため、エラー訂正装置43は、NANDメモリ7に格納されている読み出しデータDTが、訂正回路14Bの訂正可能ビット数である24ビットを超える大量ビットエラーを有する読み出しデータDT2のような場合においても、訂正後読み出しデータとしてビットエラー訂正された正常な読み出しデータDT0を得ることができる。   For this reason, the error correction device 43 is used even when the read data DT stored in the NAND memory 7 is read data DT2 having a large number of bit errors exceeding 24 bits, which is the correctable number of bits of the correction circuit 14B. Thus, normal read data DT0 corrected for bit errors can be obtained as post-correction read data.

例えば、SRAM13に保存した読み出しデータDTに対応する第2シンドロームS2が、24ビットのビットエラー発生時のものであれば、48ビット(24+24)のビットエラーを有する読み出しデータDT2に対しても、ビットエラーの無い読み出しデータDT0にエラー訂正することができる。   For example, if the second syndrome S2 corresponding to the read data DT stored in the SRAM 13 is at the time of occurrence of a 24-bit bit error, the read data DT2 having a bit error of 48 bits (24 + 24) is also bit Error correction can be performed on read data DT0 having no error.

その結果、内蔵する訂正回路14Bのビットエラー訂正能力を上回る、ビットエラー訂正能力を有する実施の形態3のエラー訂正装置43を、単一の訂正回路14Bからなる比較的簡単な構成で得ることができる。   As a result, it is possible to obtain the error correction device 43 of the third embodiment having a bit error correction capability exceeding the bit error correction capability of the built-in correction circuit 14B with a relatively simple configuration including a single correction circuit 14B. it can.

また、エラー訂正装置43は、訂正可能ビット数を超えるビットエラーである大量ビットエラーを読み出しデータDTが発生しているか否かの判定基準となる大量ビットエラー判定情報として、訂正可否演算部16からの比較用CRCコードCR16を用いている。   Further, the error correction device 43 receives a mass bit error that is a bit error exceeding the correctable number of bits as mass bit error determination information serving as a criterion for determining whether or not the read data DT is generated, from the correctability determination unit 16. The comparison CRC code CR16 is used.

このため、比較用CRCコードCR16に基づいて、2段階訂正処理が必要な読み出しデータDTの大量ビットエラー発生時を異常状態と正確に判定することにより、2段階訂正処理を効率的に実行することができる。   Therefore, based on the CRC code for comparison CR16, the two-stage correction process can be efficiently executed by accurately determining the occurrence of a mass bit error in the read data DT that requires the two-stage correction process as an abnormal state. Can do.

上述したように、実施の形態3のエラー訂正装置43は、ビットエラー検出回路として、CRC用の符号生成演算処理(誤り検出符号生成処理)を実行する訂正可否演算部16を備えている。このため、コントローラ制御部12Cは、訂正可否演算部16に符号生成演算処理を実行させながら、上述したステップST71〜ST75を実行することにより、読み出しデータDTにおける大量ビットエラー発生時にのみ、確実に2段階訂正処理を行うことができる。その結果、上述した2段階訂正処理を最も効率的に行うことができる。   As described above, the error correction apparatus 43 according to the third embodiment includes the correctability calculation unit 16 that executes a CRC code generation calculation process (error detection code generation process) as a bit error detection circuit. For this reason, the controller control unit 12C executes the above-described steps ST71 to ST75 while causing the correctability calculation unit 16 to execute the code generation calculation process, so that the controller control unit 12C is surely set to 2 only when a mass bit error occurs in the read data DT. A stage correction process can be performed. As a result, the above-described two-stage correction process can be performed most efficiently.

また、実施の形態3のエラー訂正装置43で用いる訂正回路14Bは、実施の形態1の訂正回路14Aのように訂正可能ビット数を上回るビットエラー検出能力を持たせる必要がない分、訂正回路14Aより回路構成を簡略化することができる。   Further, the correction circuit 14B used in the error correction device 43 of the third embodiment does not need to have a bit error detection capability exceeding the number of correctable bits unlike the correction circuit 14A of the first embodiment. In addition, the circuit configuration can be simplified.

なお、実施の形態3のエラー訂正装置43の訂正可否演算部16では、誤り検出符号生成処理としてCRC用の符号生成演算処理を行う場合を示したが、これに代えて、Hush関数を利用した符号生成演算処理を行うようにしても良い。   In addition, in the correction possibility calculation part 16 of the error correction apparatus 43 of Embodiment 3, although the case where the code generation calculation process for CRC was performed as an error detection code generation process was shown, it replaced with this and the Hush function was utilized. Code generation calculation processing may be performed.

<NANDメモリ7の特性による各実施の形態の考察>
図13〜図15はNANDメモリ7から読み出したデータに関し、訂正対象データのデータ長あたりの読み出し回数に伴うビットエラー数を示すグラフであり、図13は消去及びプログラム回数が10回の場合、図14は消去及びプログラム回数が2000回の場合、図15は消去及びプログラム回数が3000回の場合を示している。
<Consideration of Embodiments According to Characteristics of NAND Memory 7>
FIGS. 13 to 15 are graphs showing the number of bit errors associated with the number of readings per data length of the data to be corrected regarding the data read from the NAND memory 7, and FIG. 14 shows the case where the number of times of erasing and programming is 2000 times, and FIG. 15 shows the case where the number of times of erasing and programming is 3000 times.

図13〜図15において、NANDメモリ7相当の64個のNANDフラッシュメモリをサンプルとして、横軸は読み出し回数(RN)を示し、縦軸はビットエラー数(BEN)を示している。また、ビットエラー数L1、L2及びL3は検出されたビットエラー数(BEN)の最小値(Min)、平均値(Ave)及び最大値(Max)を示している。   13 to 15, taking 64 NAND flash memories corresponding to the NAND memory 7 as samples, the horizontal axis indicates the number of reads (RN), and the vertical axis indicates the number of bit errors (BEN). The bit error numbers L1, L2, and L3 indicate the minimum value (Min), average value (Ave), and maximum value (Max) of the detected bit error number (BEN).

図13及び図14に示すように、消去及びプログラム回数が2000回以下で、かつ、読み出し回数が400万回以下である場合、ビットエラー数の最大値は20ビット程度に収まるため、訂正可能ビット数が24ビットの比較的回路規模が小さい訂正回路14Aや訂正回路14Bを用いても十分にエラー訂正が可能である。   As shown in FIGS. 13 and 14, when the number of erasures and programming is 2000 times or less and the number of readings is 4 million times or less, the maximum number of bit errors is about 20 bits. Even if the correction circuit 14A or the correction circuit 14B having a relatively small circuit scale of 24 bits is used, error correction can be sufficiently performed.

すなわち、上記の場合、エラー訂正装置41〜43は、いずれも初期シンドロームS1を用いた通常状態における1回の訂正処理でエラー訂正が可能であるため、比較的時間を要する2段階訂正処理が頻繁に実行されることによる動作効率が低下する懸念は少ないと推測される。   That is, in the above case, the error correction apparatuses 41 to 43 can perform error correction by one correction process in the normal state using the initial syndrome S1, and thus two-stage correction processes that require a relatively long time are frequently performed. It is presumed that there is little concern that the operating efficiency will decrease due to the fact that it is executed immediately.

一方、図14及び図15に示すように、消去及びプログラム回数が2000回以上で、かつ、読み出し回数が500万回以上である場合、ビットエラー数の最大値は24ビットを超える大量ビットエラーがほぼ確実に発生する。   On the other hand, as shown in FIGS. 14 and 15, when the number of erases and programs is 2000 times or more and the number of readings is 5 million times or more, the maximum value of the number of bit errors is a large number of bit errors exceeding 24 bits. It occurs almost certainly.

しかしながら、実施の形態1〜実施の形態3のエラー訂正装置41〜43はそれぞれ2段階訂正処理により、大量ビットエラーが生じて場合においても、訂正回路14Aや訂正回路14Bのみを用いて確実にエラー訂正を行うことができる。   However, the error correction apparatuses 41 to 43 according to the first to third embodiments reliably perform error using only the correction circuit 14A and the correction circuit 14B even when a large number of bit errors occur due to the two-stage correction processing. Corrections can be made.

このように、実施の形態1〜実施の形態3のエラー訂正装置41〜43は、訂正可能ビット数が40ビット程度の訂正回路に比べて、回路規模が小さい訂正可能ビット数が24ビットの単一の訂正回路14Aあるいは訂正回路14Bを用いて装置構成の簡略化を図りながら、動作効率を劣化させることなく、訂正可能ビット数24を超える大量ビットエラーのエラー訂正も可能な高いビットエラー訂正能力を有することができる。   As described above, the error correction devices 41 to 43 according to the first to third embodiments are smaller than the correction circuit having a correctable bit number of about 40 bits, and the single circuit having a correctable bit number of 24 bits and a small circuit scale. High bit error correction capability capable of correcting a large number of bit errors exceeding 24 correctable bits without deteriorating the operation efficiency while simplifying the device configuration by using one correction circuit 14A or correction circuit 14B. Can have.

<その他>
なお、上述した実施の形態1〜実施の形態3では、訂正可能ビット数“24”に対し、警戒基準ビット数を“16”に設定したが、これに限定されず、訂正可能ビット数以下で適切な値に設定することが望ましい。
<Others>
In the first to third embodiments described above, the warning reference bit number is set to “16” with respect to the correctable bit number “24”. However, the present invention is not limited to this. It is desirable to set to an appropriate value.

警戒基準ビット数を決定する主な要因として、想定する書き換え(消去及びプログラム)回数、想定する読み出し回数、NANDメモリの特性(図13〜図15のような評価結果を含む) 等が考えられる。   As main factors for determining the number of warning reference bits, an assumed number of rewrites (erase and program), an assumed number of reads, characteristics of NAND memory (including evaluation results as shown in FIGS. 13 to 15), and the like can be considered.

例えば、NANDメモリ7が図13〜図15のような特性を有し、書き換え回数が2000回以下、読み出し回数が400万回以下の利用を想定している場合、警戒基準ビット数は訂正可能ビット数の“24”に近い値に設定することが、ビットエラー訂正能力を高まることができるため望ましい。さらに、実施の形態2のエラー訂正装置42において、2段階訂正処理の実行効率も高めることができる。   For example, if the NAND memory 7 has the characteristics shown in FIGS. 13 to 15 and is assumed to be used when the number of rewrites is 2000 or less and the number of reads is 4 million or less, the warning reference bit number is a correctable bit. Setting to a value close to the number “24” is desirable because the bit error correction capability can be increased. Furthermore, in the error correction device 42 of the second embodiment, the execution efficiency of the two-stage correction process can be increased.

一方、NANDメモリ7が図13〜図15のような特性を有し、書き換え回数が3000回以上、読み出し回数が300万回以上を想定している場合、2段階訂正処理を確実に行うべく、訂正可能ビット数“24”から余裕をもって、実施の形態1〜実施の形態3の“16”程度に警戒基準ビット数を設定することが望ましい。   On the other hand, when the NAND memory 7 has the characteristics as shown in FIGS. 13 to 15 and assumes that the number of rewrites is 3000 times or more and the number of reads is 3 million times or more, in order to reliably perform the two-stage correction process, It is desirable to set the warning reference bit number to about “16” in the first to third embodiments with a margin from the correctable bit number “24”.

また、NANDメモリ7に対し新たに消去及びプログラム処理が実行され、ユーザデータD1が新たな内容に書き換えられた場合、初期シンドロームS1も内容変更され、当該ユーザデータD1に関する訂正管理用データD51(D52)の内容も管理領域71からクリアされる。   When new erase and program processing is executed on the NAND memory 7 and the user data D1 is rewritten with new contents, the contents of the initial syndrome S1 are also changed, and correction management data D51 (D52 for the user data D1) is changed. ) Is also cleared from the management area 71.

なお、ダミーデータMDは一の訂正回路14A(14B)を用いて2段階訂正処理を行うべく、訂正対象データCT1及びCT2間のビット数の調整用に用いている。訂正回路14A(14B)の訂正対象データのビット数を可変設定可能な場合、訂正対象データCT1及びCT2間のビット数調整用のダミーデータMDを不要にすることが可能である。   The dummy data MD is used for adjusting the number of bits between the correction target data CT1 and CT2 in order to perform a two-step correction process using one correction circuit 14A (14B). When the number of bits of the correction target data of the correction circuit 14A (14B) can be variably set, the dummy data MD for adjusting the number of bits between the correction target data CT1 and CT2 can be eliminated.

また、メモリコントローラ1〜3の各部は、基本的にハードウェアで構成されるが、SRAM13を除き、ソフトウェアに基づくCPUを用いたプログラム処理によって実行するようにしても良い。   Each unit of the memory controllers 1 to 3 is basically configured by hardware, but may be executed by program processing using a CPU based on software except for the SRAM 13.

なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略したりすることが可能である。   It should be noted that the present invention can be freely combined with each other within the scope of the invention, and each embodiment can be appropriately modified or omitted.

1〜3 メモリコントローラ
6 ホスト
7 NANDメモリ
11 ホストI/F
12A〜12C コントローラ制御部
13 SRAM
14A,14B 訂正回路
15 NAND制御部
16 訂正可否演算部
41〜43 エラー訂正装置
51〜53 メモリシステム
1-3 Memory controller 6 Host 7 NAND memory 11 Host I / F
12A to 12C Controller control unit 13 SRAM
14A, 14B Correction circuit 15 NAND control unit 16 Correctability calculation unit 41-43 Error correction device 51-53 Memory system

Claims (5)

アドレス単位にユーザデータ及び初期シンドロームを格納した半導体メモリに対する読み出し時にエラー訂正を行うエラー訂正装置であって、
訂正用シンドロームを用いて、前記訂正用シンドロームを含む訂正対象データ内のビットエラーを訂正して訂正後データを得るビットエラー訂正処理を実行する訂正回路を備え、前記訂正回路は前記訂正対象データのビットエラー数が訂正可能ビット数以内の場合に訂正可能であり、
第2のシンドロームをアドレスに対応づけて格納する一時記憶部と、
前記半導体メモリからアドレス単位に得られる、前記ユーザデータ及び前記初期シンドロームを含む読み出しデータを取り込み、前記訂正回路による前記ビットエラー訂正処理を含むデータ訂正読み出し処理を実行制御して、訂正後読み出しデータを得る制御部とをさらに備え、
前記データ訂正読み出し処理は、
(a) 通常状態時、前記読み出しデータを前記訂正対象データとし、前記初期シンドロームを前記訂正用シンドロームとして、前記訂正回路に前記ビットエラー訂正処理を実行させ、前記訂正後データに含まれるデータを前記訂正後読み出しデータとするステップと、
(b) 前記読み出しデータのビットエラー数が、前記訂正可能ビット数以下の値で予め設定された警戒基準ビット数以上に達した要警戒状態時に、前記読み出しデータをシンドローム生成対象データとし、前記訂正回路によって前記シンドローム生成対象データ用の前記第2のシンドロームを生成させ、前記第2のシンドロームを前記読み出しデータの読み出し時におけるアドレスに対応づけて前記一時記憶部に保存するステップと、
(c) 前記読み出しデータの異常状態の有無を判定するステップと、
(d) 前記ステップ(c) で前記読み出しデータの異常状態が判定された時に、2段階訂正処理を実行するステップとを含み、
前記ステップ(d) は、
(d-1) 前記読み出しデータと前記一時記憶部に保存された前記第2シンドロームとを前記訂正対象データとし、前記第2のシンドロームを前記訂正用シンドロームとして、前記訂正回路に前記ビットエラー訂正処理を実行させ、前記訂正後データにおけるユーザデータ部分を訂正ユーザデータとし、初期シンドローム部分を訂正初期シンドロームとするステップと、
(d-2) 前記訂正ユーザデータ及び訂正初期シンドロームを前記訂正対象データとし、前記訂正初期シンドロームを前記訂正用シンドロームとして、前記訂正回路に前記ビットエラー訂正処理を実行させ、前記訂正後データに含まれるデータを前記訂正後読み出しデータとするステップとを含む、
エラー訂正装置。
An error correction device that performs error correction at the time of reading from a semiconductor memory storing user data and initial syndrome in address units,
A correction circuit that executes a bit error correction process for correcting the bit error in the correction target data including the correction syndrome and obtaining corrected data using the correction syndrome, the correction circuit including the correction target data; It can be corrected when the number of bit errors is within the correctable number of bits,
A temporary storage unit for storing the second syndrome in association with the address;
The read data including the user data and the initial syndrome obtained from the semiconductor memory in an address unit is fetched, and the data correction read processing including the bit error correction processing by the correction circuit is executed and controlled. And a control unit to obtain,
The data correction read processing is
(a) In a normal state, the read data is the correction target data, the initial syndrome is the correction syndrome, the correction circuit performs the bit error correction process, and the data included in the corrected data is the data A step of setting the read data after correction;
(b) When the number of bit errors of the read data reaches a warning reference bit number that is set in advance with a value equal to or less than the correctable bit number, the read data is used as a syndrome generation target data, and the correction is performed. Causing the circuit to generate the second syndrome for the syndrome generation target data, and storing the second syndrome in the temporary storage unit in association with an address at the time of reading the read data;
(c) determining whether there is an abnormal state of the read data;
(d) performing a two-stage correction process when an abnormal state of the read data is determined in the step (c),
The step (d)
(d-1) The read error and the second syndrome stored in the temporary storage unit are used as the correction target data, the second syndrome is used as the correction syndrome, and the bit error correction process is performed in the correction circuit. And executing the user data portion in the corrected data as corrected user data and the initial syndrome portion as a corrected initial syndrome,
(d-2) The corrected user data and the corrected initial syndrome are set as the correction target data, the corrected initial syndrome is set as the correcting syndrome, and the correction circuit executes the bit error correction processing, and is included in the corrected data. The data to be read data after correction,
Error correction device.
請求項1記載のエラー訂正装置であって、
前記読み出しデータが、前記訂正可能ビット数を超えるビットエラーである大量ビットエラーを発生しているか否かの判定基準となる大量ビットエラー判定情報を出力するビットエラー検出回路をさらに備え、
前記制御部は、前記ステップ(c) において、前記大量ビットエラー判定情報に基づき、前記読み出しデータの異常状態の有無を判定する、
エラー訂正装置。
The error correction device according to claim 1,
A bit error detection circuit that outputs a large amount of bit error determination information serving as a determination criterion as to whether or not the read data has generated a large number of bit errors that are bit errors exceeding the correctable number of bits;
The control unit, in the step (c), determines the presence or absence of an abnormal state of the read data based on the mass bit error determination information.
Error correction device.
請求項2記載のエラー訂正装置であって、
前記訂正回路は、前記ビットエラー訂正処理の実行時に前記訂正対象データにおいて発生したエラービット数を指示するエラービット情報を、前記大量ビットエラー判定情報としてさらに出力し、前記エラービット情報は前記大量ビットエラーとなるエラービット数の少なくとも一部を指示し、
前記ビットエラー検出回路は前記訂正回路を含み、
前記制御部は、前記ステップ(c) で、前記エラービット情報に基づき、前記読み出しデータの異常状態を判定すると、以後、当該読み出しデータにおける判定を異常状態で固定する、
エラー訂正装置。
The error correction device according to claim 2,
The correction circuit further outputs error bit information indicating the number of error bits generated in the correction target data during execution of the bit error correction processing as the mass bit error determination information, and the error bit information is the mass bit error Indicate at least part of the number of error bits in error,
The bit error detection circuit includes the correction circuit;
In the step (c), the control unit determines an abnormal state of the read data based on the error bit information, and thereafter fixes the determination in the read data in the abnormal state.
Error correction device.
請求項2記載のエラー訂正装置であって、
前記半導体メモリは、アドレス単位に前記ユーザデータ及び前記初期シンドロームに加え、誤り検出符号をさらに格納し、前記誤り検出符号は前記ユーザデータに対し符号生成演算処理を行って得られた符号であり、前記読み出しデータは前記誤り検出符号を含み、
前記制御部は、前記ステップ(d-1) の実行時における前記訂正後データにおける誤り訂正符号部分を訂正誤り検出符号とし、前記ステップ(d-2) の実行時における前記訂正対象データに前記訂正誤り検出符号を含め、
前記ビットエラー検出回路は、演算対象データに対し前記符号生成演算処理を行って比較用誤り検出符号を生成する訂正可否演算部を含み、
前記ステップ(c) は、
(c-1) 前記読み出しデータを前記訂正対象データとし、前記初期シンドロームを前記訂正用シンドロームとして、前記訂正回路に前記ビットエラー訂正処理を実行させて、前記訂正後データを得るステップと、
(c-2) 前記ステップ(c-1)で得た前記訂正後データにおける前記ユーザデータ部分を前記演算対象データとして、前記訂正可否演算部に前記符号生成演算処理を実行させて、前記比較用誤り検出符号を前記大量ビットエラー判定情報として得るステップと、
(c-3) 前記ステップ(c-1)で得た前記訂正後データにおける前記誤り検出符号と、前記ステップ(c-2)で得た前記比較用誤り検出符号との比較結果に基づき、前記読み出しデータの異常状態の有無を判定するステップとを含む、
エラー訂正装置。
The error correction device according to claim 2,
In addition to the user data and the initial syndrome, the semiconductor memory further stores an error detection code, and the error detection code is a code obtained by performing a code generation calculation process on the user data, The read data includes the error detection code,
The control unit uses an error correction code portion in the corrected data at the time of execution of the step (d-1) as a correction error detection code, and the correction target data at the time of execution of the step (d-2) Including error detection code,
The bit error detection circuit includes a correction availability calculation unit that generates the comparison error detection code by performing the code generation calculation process on the operation target data,
Step (c)
(c-1) The read data is the correction target data, the initial syndrome is the correction syndrome, the correction circuit is caused to execute the bit error correction process, and the corrected data is obtained;
(c-2) Using the user data portion in the corrected data obtained in step (c-1) as the operation target data, causing the correction enable / disable calculation unit to execute the code generation calculation process, and for the comparison Obtaining an error detection code as the mass bit error determination information;
(c-3) Based on the comparison result between the error detection code in the corrected data obtained in step (c-1) and the comparison error detection code obtained in step (c-2), Determining whether there is an abnormal state of the read data,
Error correction device.
請求項1記載のエラー訂正装置であって、
前記ステップ(c) は、
前記一時記憶部への対応するアドレス情報の登録の有無に基づき、前記読み出しデータの異常状態の有無を判定する、
エラー訂正装置。
The error correction device according to claim 1,
Step (c)
Based on the presence / absence of registration of corresponding address information in the temporary storage unit, the presence / absence of an abnormal state of the read data is determined,
Error correction device.
JP2014262131A 2014-12-25 2014-12-25 Error correction device Active JP6438763B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014262131A JP6438763B2 (en) 2014-12-25 2014-12-25 Error correction device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014262131A JP6438763B2 (en) 2014-12-25 2014-12-25 Error correction device

Publications (2)

Publication Number Publication Date
JP2016122338A true JP2016122338A (en) 2016-07-07
JP6438763B2 JP6438763B2 (en) 2018-12-19

Family

ID=56327445

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014262131A Active JP6438763B2 (en) 2014-12-25 2014-12-25 Error correction device

Country Status (1)

Country Link
JP (1) JP6438763B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018190416A (en) * 2017-05-08 2018-11-29 三星電子株式会社Samsung Electronics Co.,Ltd. Coding mechanism and method thereof
CN110476153A (en) * 2018-03-09 2019-11-19 深圳市汇顶科技股份有限公司 The method and electronic equipment of access instruction SRAM

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816488A (en) * 1994-06-29 1996-01-19 Nec Corp Electronic disk device
US20090044076A1 (en) * 2007-08-07 2009-02-12 Megachips Corporation Memory access system
US20120317463A1 (en) * 2011-06-13 2012-12-13 Megachips Corporation Memory controller

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816488A (en) * 1994-06-29 1996-01-19 Nec Corp Electronic disk device
US20090044076A1 (en) * 2007-08-07 2009-02-12 Megachips Corporation Memory access system
JP2009042911A (en) * 2007-08-07 2009-02-26 Mega Chips Corp Memory access system
US20120317463A1 (en) * 2011-06-13 2012-12-13 Megachips Corporation Memory controller
JP2013003656A (en) * 2011-06-13 2013-01-07 Mega Chips Corp Memory controller

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018190416A (en) * 2017-05-08 2018-11-29 三星電子株式会社Samsung Electronics Co.,Ltd. Coding mechanism and method thereof
JP7231989B2 (en) 2017-05-08 2023-03-02 三星電子株式会社 Coding mechanism and method
CN110476153A (en) * 2018-03-09 2019-11-19 深圳市汇顶科技股份有限公司 The method and electronic equipment of access instruction SRAM

Also Published As

Publication number Publication date
JP6438763B2 (en) 2018-12-19

Similar Documents

Publication Publication Date Title
JP5202130B2 (en) Cache memory, computer system, and memory access method
JP5540969B2 (en) Nonvolatile memory device, memory controller, and memory system
US7810016B2 (en) Semiconductor storage device equipped with ECC function
JP4160625B1 (en) Error detection control system
US8910018B2 (en) Memory with dynamic error detection and correction
US9384091B2 (en) Error code management in systems permitting partial writes
JP2012155430A (en) Memory system and operation method thereof
JP5010271B2 (en) Error correction code generation method and memory control device
US8140940B2 (en) Method and apparatus for controlling memory
US9804921B2 (en) Nonvolatile memory apparatus and control method of nonvolatile memory apparatus
US9547566B2 (en) Storage control apparatus, storage apparatus, information processing system, and storage control method therefor
JP7020989B2 (en) Non-volatile storage device, memory control device, and memory control method
JP2009301194A (en) System for controlling semiconductor memory device
US8769377B2 (en) Error correction scheme for non-volatile memory
JP6213345B2 (en) Transfer device, determination method, and data processing device
JP6438763B2 (en) Error correction device
JP4956230B2 (en) Memory controller
JP2016018473A (en) Semiconductor storage device, memory controller, and memory controller control method
JP2013125303A (en) Semiconductor memory control device and control method
US11221789B2 (en) Semiconductor device, memory controller, and memory accessing method
US20150332789A1 (en) Semiconductor memory device performing self-repair operation
JP2011257966A (en) Cache device and information processor
TWI482014B (en) Memory with dynamic error detection and correction
JP6054753B2 (en) Semiconductor device and data access method
JP2012022508A (en) Semiconductor storage device, control device, and method for controlling semiconductor storage device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180911

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181119

R150 Certificate of patent or registration of utility model

Ref document number: 6438763

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250