JP2016122338A - Error correction apparatus - Google Patents
Error correction apparatus Download PDFInfo
- 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
Links
- 238000012937 correction Methods 0.000 title claims abstract description 483
- 208000011580 syndromic disease Diseases 0.000 claims abstract description 182
- 238000012545 processing Methods 0.000 claims abstract description 56
- 230000002159 abnormal effect Effects 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims description 112
- 238000001514 detection method Methods 0.000 claims description 29
- 239000004065 semiconductor Substances 0.000 claims description 9
- 230000015654 memory Effects 0.000 description 98
- 238000010586 diagram Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 17
- 101000869592 Daucus carota Major allergen Dau c 1 Proteins 0.000 description 10
- 101000650136 Homo sapiens WAS/WASL-interacting protein family member 3 Proteins 0.000 description 10
- 102100027539 WAS/WASL-interacting protein family member 3 Human genes 0.000 description 10
- 230000005856 abnormality Effects 0.000 description 10
- 238000012546 transfer Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 101000911772 Homo sapiens Hsc70-interacting protein Proteins 0.000 description 2
- 101000661807 Homo sapiens Suppressor of tumorigenicity 14 protein Proteins 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 108090000237 interleukin-24 Proteins 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
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
また、訂正回路の選択を動的に可変にするのではなく、異なるエラー訂正能力もしくは符号長(訂正するデータの単位)が異なる複数の訂正回路を組み合わせることにより、単体の訂正回路のエラー訂正能力を超えるようなビットエラーが発生しても、相互補完的に訂正できる技術が、例えば、特許文献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,
しかしながら、エラー訂正能力を高めるため、特許文献1及び特許文献2に開示された技術は、いずれにおいても複数の訂正回路が必要になる分、回路規模が増大するという問題点があった。
However, in order to improve the error correction capability, the techniques disclosed in
この発明は上記問題点を解決するためになされたもので、回路規模を増大させることなく、エラー訂正能力を高めたエラー訂正装置を得ることを目的とする。 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
この発明における請求項1記載の本願発明のエラー訂正装置は、ステップ(c) で読み出しデータの異常状態を判定すると、ステップ(d) のステップ(d-1)及び(d-2)による2段階訂正処理を実行している。
When the error correction apparatus of the present invention according to
このため、請求項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
<実施の形態1>
(全体構成)
図1はこの発明の実施の形態1であるメモリシステム51の構成を示すブロック図である。同図に示すように、実施の形態1のメモリシステム51は、ホスト6、メモリコントローラ1及びNANDメモリ7により構成される。
<
(overall structure)
FIG. 1 is a block diagram showing a configuration of a
ホスト6は、メモリコントローラ1を経由して制御対象の不揮発メモリであるNANDメモリ7に対してデータ書き込み、あるいはデータ読み出しを行う。
The
NANDメモリ7は、継続使用による劣化でデータ保持特性が悪くなるNANDセル構造のメモリセルにより構成される半導体メモリである。
The
NANDメモリ7は管理領域71に後述する訂正管理用データD51を格納し、ユーザデータ領域72にアドレス単位にユーザデータD1と初期シンドロームS1との組み合わせを格納している。なお、初期シンドロームS1はユーザデータD1のNANDメモリ7への書き込み時に併せて設定されるエラー訂正用の符号である。
The
メモリコントローラ1は、エラー訂正装置41を内蔵し、ホスト6の書き込み及び読み出し等の要求に応じて、NANDメモリ7に対して消去動作、書き込み動作及び読み出し動作を行う。
The
メモリコントローラ1はホストI/F11、NAND制御部15及びエラー訂正装置41を有している。エラー訂正装置41は内部にコントローラ制御部12A、SRAM13及び(エラー)訂正回路14Aを有しており、NANDメモリ7に対するアクセス時におけるエラー訂正を行う。
The
ホストI/F11はホスト6とメモリコントローラ1との間のインタフェースであり、NAND制御部15はメモリコントローラ1とNANDメモリ7との間のデータの授受等を制御し、メモリコントローラ1とNANDメモリ7とのインタフェース的な働きを有する。
The host I / F 11 is an interface between the
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
訂正回路14Aは訂正対象データCTに発生したビットエラー数が、訂正可能ビット数である24ビット以内の場合に訂正可能なビットエラー訂正能力を有するとともに、28ビット以下のエラービット数を指示するエラービット情報EBを出力するビットエラー検出能力を有している。このように、訂正回路14Aはビットエラー訂正能力(24ビット)を超えるビットエラー検出能力(28ビット)を有している。
The
コントローラ制御部12A(制御部)はNANDメモリ7に対する消去動作、書き込み動作及び読み出し動作を制御する消去機能、書き込み機能及び読み出し機能を有している。そして、コントローラ制御部12Aは、上述したSRAM13及び訂正回路14Aを用いて、訂正回路14Aのビットエラー訂正能力(24ビット)を超えるビットエラー訂正が可能なデータ訂正読み出し処理を実行制御することを特徴している。
The
(動作)
図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
また、コントローラ制御部12Aから訂正回路14Aに出力する訂正対象データCT(CT1,CT2)において、初期シンドロームS1を訂正用シンドロームCSとする場合のデータを「訂正対象データCT1」、第2シンドロームS2を訂正用シンドロームCSとする場合のデータを「訂正対象データCT2」として標記する。
Further, in the correction target data CT (CT1, CT2) output from the
さらに、訂正回路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
また、エラービット情報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
次に、ステップ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
その後、ステップST3において、訂正回路14Aは、初期シンドロームS1を用いてビットエラー訂正処理を実行して得られる訂正後データCD1をコントローラ制御部12Aに出力する。読み出しデータDT0にはビットエラーが元々存在しないため、訂正後データCD1内には読み出しデータDT0と“0”を指示するエラービット情報EB0とが含まれることになる。なお、訂正後データCD1内には訂正後のダミーデータMDも存在するが、図示を省略している。
Thereafter, in step ST3, the
(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
次に、ステップST12で、コントローラ制御部12Aは、読み出しデータDT1及びダミーデータMDの組み合わせを訂正対象データCT1とし、初期シンドロームS1を訂正用シンドロームCSとして訂正回路14Aに出力する。また、ステップST12の処理は一部、ステップST11の処理と並列的に実行することができる。
Next, in step ST12, the
ステップST13において、訂正回路14Aは、初期シンドロームS1を用いてビットエラー訂正処理を行って得られる訂正後データCD1をコントローラ制御部12Aに出力する。読み出しデータDT1にはビットエラーが存在しているため、訂正後データCD1内にはビットエラーが存在しない訂正後の読み出しデータDT0と訂正前の読み出しデータDT1内のビットエラー数を指示するエラービット情報EB1とが含まれることになる。
In step ST13, the
ステップ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
ステップST15において、訂正回路14Aはシンドローム生成対象データCTSに対応する第2シンドロームS2を生成し、この第2シンドロームS2をコントローラ制御部12Aに出力する。
In step ST15, the
そして、ステップST16において、コントローラ制御部12Aは、第2シンドロームS2と、読み出しデータDT1の読み出し時におけるのアドレスを指示するアドレス情報ADとを組にした訂正管理用データD51を、SRAM13のSRAM内管理領域R13に格納する。すなわち、図3の右側に示すように、SRAM内管理領域R13には第2シンドロームS2とアドレス情報ADと後述するフラグ情報FGの組み合わせよりなる訂正管理用データD51が格納される。なお、フラグ情報FGの初期値は“0”である。
In step ST16, the
(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
次に、ステップST22で、コントローラ制御部12Aは、読み出しデータDT2及びダミーデータMDの組み合わせを訂正対象データCT1とし、初期シンドロームS1を訂正用シンドロームCSとして訂正回路14Aに出力する。なお、ステップST22の処理は一部、ステップST21の処理と並列的に実行することができる。
Next, in step ST22, the
ステップST23において、訂正回路14Aは、初期シンドロームS1を用いてビットエラー訂正処理を実行して得られる訂正後データCD1をコントローラ制御部12Aに出力する。
In step ST23, the
この際、読み出しデータ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
したがって、コントローラ制御部12Aは、エラービット情報EB2によって読み出しデータDT2が25ビット以上の異常状態であることを正確に認識することができる。以下、ステップST21〜ST23の実行による異常状態の判定処理を第1の異常判定処理とする。
Therefore, the
続いて、ステップST24で、コントローラ制御部12Aは、SRAM13にアクセスし、読み出しデータDT2における読み出し時ののアドレスを指示するアドレス情報ADを有する訂正管理用データD51において、フラグ情報FGを“1”にセットする。
Subsequently, in step ST24, the
以降、コントローラ制御部12Aは、フラグ情報FGが“1”を指示するアドレスの読み出しデータDTを読み込んだ場合、上述したステップST21〜ST23の処理を行うことなく、直ちに当該読み出しデータDTは異常状態であると判定する。
Thereafter, when the
したがって、図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
上述した第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
そこで、ステップST25において、コントローラ制御部12Aは、SRAM13のSRAM内管理領域R13から、読み出しデータDT2のアドレスを指示するアドレス情報ADに対応づけられた第2シンドロームS2を読み出す。
Therefore, in step ST25, the
次に、ステップST26で、コントローラ制御部12Aは、図3(d) 及び図4(b) に示すように、読み出しデータDT2(ユーザデータD1+初期シンドロームS1)及び第2シンドロームS2の組み合わせを訂正対象データCT2として訂正回路14Aに出力する。この際、ステップST25で読み込んだ第2シンドロームS2が訂正用シンドロームCSとして設定される。
Next, in step ST26, the
また、フラグ情報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
すると、ステップST27において、訂正回路14Aは、第2シンドロームS2を用いてビットエラー訂正処理を実行して得られる訂正後データCD2をコントローラ制御部12Aに出力する。この訂正後データCD2は、図3(e) に示すように、24ビット以下のビットエラーを有する読み出しデータDT1(ユーザデータ部分;訂正ユーザデータD1c及び初期シンドローム部分S1;訂正初期シンドロームS1c)が含まれる。
Then, in step ST27, the
このように、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
すると、ステップST29において、訂正回路14Aは、訂正初期シンドロームS1cを用いてビットエラー訂正処理を実行して得られる訂正後データCD1をコントローラ制御部12Aに出力する。この訂正後データCD1は、図3(f) に示すように、ビットエラーが無い状態に訂正された読み出しデータDT0が含まれる。
Then, in step ST29, the
このように、初段訂正処理により得られた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
(SRAM13の訂正管理用データD51)
SRAM13はSRAM内管理領域R13内に訂正管理用データD51をアドレス単位格納しており、同一アドレスにおいて2回以上の第2シンドロームS2が生成される場合、訂正管理用データD51の第2シンドロームS2が最新の第2シンドロームS2が上書きされる。
(Correction management data D51 of SRAM 13)
The
メモリコントローラ1は、SRAM13のSRAM内管理領域R13に格納された内容が更新された場合、任意のタイミングでSRAM内管理領域R13の内容をNANDメモリ7の管理領域71に転送する。
When the contents stored in the SRAM management area R13 of the
また、メモリシステム51の電源投入時(リセット解除後)の初期動作として、メモリコントローラ1は、NANDメモリ7の管理領域71の内容を、NAND制御部15を介してSRAM13のSRAM内管理領域R13に転送する。
As an initial operation when the
このように、SRAM13,NANDメモリ7間において、訂正管理用データD51が最新の内容となるように、適宜、データ転送がなされる。
Thus, data transfer is appropriately performed between the
仮に、SRAM13からNANDメモリ7への訂正管理用データD52の更新前にリセットがかかり、SRAM13の保持内容が消去された場合、更新前との差分情報を失うことになる。
If the correction management data D52 from the
しかしながら、第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
(効果等)
このように、メモリコントローラ1内における実施の形態1のエラー訂正装置41は、上述した第1あるいは第2の異常状態判定処理により、読み出しデータDTに大量ビットエラーが生じる異常状態を判定すると、初段訂正処理及び第2段訂正処理による段階訂正処理を実行している。
(Effects etc.)
As described above, when the error correction device 41 of the first embodiment in the
このため、エラー訂正装置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
例えば、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
その結果、内蔵する訂正回路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
また、エラー訂正装置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
このため、エラービット情報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
さらに、コントローラ制御部12Aは、エラービット情報EBに基づく異常状態の判定処理により読み出しデータDTの異常状態を1度判定すると、その読み出しデータDTのアドレスを指示するアドレス情報ADを有する訂正管理用データD51のフラグ情報FGを“1”にセットすることにより、当該読み出しデータDTにおける判定を異常状態で固定することができる。
Furthermore, when the
このため、エラービット情報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と同一構成部は同一符号を付して適宜説明を省略する。
<
(overall structure)
FIG. 5 is a block diagram showing a configuration of a
NANDメモリ7は管理領域71に後述する訂正管理用データD52を格納し、ユーザデータ領域72にアドレス単位にユーザデータD1と初期シンドロームS1との組み合わせを格納している。
The
メモリコントローラ2は、実施の形態2のエラー訂正装置42を内蔵し、ホスト6の書き込み及び読み出し等の要求に応じて、NANDメモリ7に対して消去動作、書き込み動作及び読み出し動作を行う。
The
メモリコントローラ2はホストI/F11、NAND制御部15及びエラー訂正装置42を有している。エラー訂正装置42は内部にコントローラ制御部12B、SRAM13及び訂正回路14Bを有しており、NANDメモリ7に対するアクセス時におけるエラー訂正を行う。
The
SRAM13は第2シンドロームS2をアドレスに対応づけて訂正管理用データD52として格納し、エラー訂正装置42内における一時記憶部として機能する。
The
訂正回路14Bは、実施の形態1の訂正回路14Aと同様、訂正用シンドロームCSを用いて、訂正用シンドロームCS自体を含む訂正対象データCT内のビットエラーを訂正して訂正後データCDを得るビットエラー訂正処理を実行する。
Similarly to the
また、訂正回路14Bは24ビット以下のエラービット数を指示するエラービット情報EBを出力するビットエラー検出能力を有している。このように、訂正回路14Bはビットエラー訂正能力(24ビット)と同一のビットエラー検出能力(24ビット)を有している。
Further, the
コントローラ制御部12B(制御部)はNANDメモリ7に対する消去動作、書き込み動作及び読み出し動作を制御する消去機能、書き込み機能及び読み出し機能を有している。そして、コントローラ制御部12Bは、上述したSRAM13及び訂正回路14Bを用いて、訂正回路14Bのビットエラー訂正能力(24ビット)を超えるビットエラー訂正が可能なデータ訂正読み出し処理を実行制御することを特徴している。
The
(訂正回路14B)
訂正回路14Bとして、ビットエラー訂正処理をBCH符号の使用により行う訂正回路が考えられる。以下、BCH符号を使用する場合を例に挙げて説明する。
(
As the
例えば、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メモリ7において、1024バイトあたりに40ビットのビット訂正能力を要求している場合の具体例を考える。
Consider a specific example when the
この場合、具体例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
(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
ステップST15において、訂正回路14Bはシンドローム生成対象データCTSに対応する第2シンドロームS2を生成し、この第2シンドロームS2をコントローラ制御部12Bに出力する。
In step ST15, the
そして、ステップ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
実施の形態2のエラー訂正装置42では、読み出しデータDTが警戒基準ビット数以上に達して、訂正管理用データD52としてアドレス情報ADがSRAM13に登録されると、以降、当該アドレス情報ADが指示するアドレスの読み出しデータDTは異常状態であると判定するようにしている。このため、同一アドレスにおいて第2シンドロームS2が登録されるのは一度だけである。
In the
(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
したがって、コントローラ制御部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
(3−2.初段訂正処理)
ステップST25において、コントローラ制御部12Bは、実施の形態1と同様、SRAM13から、読み出しデータDT2のアドレスを指示するアドレス情報ADに対応づけられた第2シンドロームS2を読み出す。
(3-2. First stage correction processing)
In step ST25, the
なお、以降は実施の形態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
なお、説明の都合上、項目(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
また。SRAM13,NANDメモリ7間において、実施の形態1と同様、訂正管理用データD52が最新の内容となるように、適宜、データ転送がなされる。
Also. Similar to the first embodiment, data transfer is appropriately performed between the
(効果等)
このように、メモリコントローラ2内に設けられた実施の形態2のエラー訂正装置42は、SRAM内管理領域R13内における、読み出しデータDTのアドレスを指示するアドレス情報ADの存在の有無に基づく異常状態判定処理により、異常状態を判定すると、初段訂正処理及び第2段訂正処理による段階訂正処理を実行している。
(Effects etc.)
As described above, the
このため、エラー訂正装置42は、NANDメモリ7から読み出される読み出しデータDTが、訂正回路14Bの大量ビットエラーを有する読み出しデータDT2のような場合においても、訂正後読み出しデータとしてビットエラー訂正された正常な読み出しデータDT0を得ることができる。
For this reason, the
例えば、読み出しデータ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
さらに、エラー訂正装置42は、SRAM内管理領域R13内の訂正管理用データD52において、読み出しデータDTの読み出し時におけるアドレスを指示するアドレス情報ADの登録の有無に基づき、読み出しデータDTの異常状態の有無を判定している。したがって、訂正管理用データD52に登録されたアドレス情報ADの指示するアドレスの読み出しデータDTを必ず、異常状態と判定するため、一度異常状態と判定すると、当該読み出しデータDTにおける判定は異常状態で固定される。
Further, the
このように、実施の形態2のエラー訂正装置42は、読み出しデータDTの異常状態の有無判定を、SRAM内管理領域R13内容を参照することにより行うため、大量ビットエラーの発生を検出するためのビットエラー検出回路(実施の形態1の訂正回路14Aのエラービット情報EB2の生成機能、あるいは実施の形態2の訂正可否演算部16)に相当する構成部を設ける必要がない分、装置構成の簡略化を図ることができる。
As described above, the
また、実施の形態2のエラー訂正装置42で用いる訂正回路14Bは、実施の形態1の訂正回路14Aのように訂正可能ビット数を上回るビットエラー検出能力を持たせる必要がない分、訂正回路14Aより回路構成を簡略化することができる。
Further, the
<実施の形態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
NANDメモリ7は管理領域71に実施の形態2と同様、訂正管理用データD52を格納し、ユーザデータ領域72にアドレス単位にユーザデータD1と初期シンドロームS1との組み合わせを格納している。
The
メモリコントローラ3は、実施の形態3のエラー訂正装置43を内蔵し、ホスト6の書き込み及び読み出し等の要求に応じて、NANDメモリ7に対して消去動作、書き込み動作及び読み出し動作を行う。
The memory controller 3 includes the
メモリコントローラ3はホストI/F11、NAND制御部15及びエラー訂正装置43を有している。エラー訂正装置43は内部にコントローラ制御部12C、SRAM13及び訂正回路14Bを有しており、NANDメモリ7に対するアクセス時におけるエラー訂正を行う。
The memory controller 3 includes a host I / F 11, a
SRAM13は第2シンドロームS2をアドレスに対応づけて訂正管理用データD52として格納し、エラー訂正装置43内における一時記憶部として機能する。
The
訂正回路14Bは、実施の形態2の訂正回路14Bと同様、訂正用シンドロームCSを用いて、訂正用シンドロームCSを含む訂正対象データCT内のビットエラーを訂正して訂正後データCDを得るビットエラー訂正処理を実行する。すなわち、訂正回路14Bはビットエラー訂正能力(24ビット)と同一のビットエラー検出能力(24ビット)を有している。
Similarly to the
訂正可否演算部16は、演算対象データJDに対しCRC(Cyclic redundancy check)用の符号生成演算処理を行い、演算対象データJDに対応する比較用CRCコードCR16(比較用誤り検出符号)を生成する誤り検出符号生成処理を実行する。
The
コントローラ制御部12C(制御部)はNANDメモリ7に対する消去動作、書き込み動作及び読み出し動作を制御する消去機能、書き込み機能及び読み出し機能を有している。そして、コントローラ制御部12Cは、上述したSRAM13、訂正回路14B及び訂正可否演算部16を用いて、訂正回路14Bのビットエラー訂正能力(24ビット)を超えるビットエラー訂正が可能なデータ訂正読み出し処理を実行制御することを特徴している。
The
(動作)
図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
(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
次に、ステップ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
その後、ステップST53において、訂正回路14Bは、初期シンドロームS1を用いてビットエラー訂正処理を実行して得られる訂正後データCD1をコントローラ制御部12Cに出力する。読み出しデータDT0にはビットエラーが元々存在しないため、訂正後データCD1内には読み出しデータDT0と“0”を指示するエラービット情報EB0とが含まれることになる。
Thereafter, in step ST53, the
続いて、ステップST54において、コントローラ制御部12Cは、訂正後データCD1内に含まれるユーザデータD1を演算対象データJDとして訂正可否演算部16に出力する。
Subsequently, in step ST54, the
訂正可否演算部16はユーザデータD1に対してCRC用の符号生成演算処理を実行して、ユーザデータD1に対応する比較用CRCコードCR16を生成する。
The
続く、ステップST55において、コントローラ制御部12Cは訂正後データCD1内に含まれるCRCコードCRと、比較用CRCコードCR16とを比較し、両者が一致するため、訂正可能ビットを超える大量ビットエラーが生じていないことを確認することができる。
Subsequently, in step ST55, the
(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
次に、ステップST62で、コントローラ制御部12Cは、読み出しデータDT1及びダミーデータMDの組み合わせを訂正対象データCT1とし、初期シンドロームS1を訂正用シンドロームCSとして訂正回路14Bに出力する。なお、ステップST62の処理は一部、ステップS61の処理と並列的に実行することができる。
Next, in step ST62, the
ステップST63において、訂正回路14Bは、初期シンドロームS1を用いてビットエラー訂正処理を実行して得られる訂正後データCD1をコントローラ制御部12Cに出力する。読み出しデータDT1にはビットエラーが存在しているため、訂正後データCD1内にはビットエラーが存在しない訂正後の読み出しデータDT0と訂正前の読み出しデータDT1内のビットエラー数を指示するエラービット情報EB1とが含まれることになる。
In step ST63, the
その後、ステップ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
ステップST67において、訂正回路14Bはシンドローム生成対象データCTSに対応する第2シンドロームS2を生成し、この第2シンドロームS2をコントローラ制御部12Cに出力する。
In step ST67, the
そして、ステップST68において、コントローラ制御部12Cは、第2シンドロームS2と、読み出しデータDT1の読み出し時におけるアドレスを指示するアドレス情報ADとを組にした訂正管理用データD52を、SRAM13のSRAM内管理領域R13に格納する。すなわち、図11の右側に示すように、SRAM内管理領域R13には第2シンドロームS2とアドレス情報ADとの組み合わせよりなる訂正管理用データD52が格納される。
In step ST68, the
(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
次に、ステップST72で、コントローラ制御部12Cは、読み出しデータDT2及びダミーデータMDの組み合わせを訂正対象データCT1とし、初期シンドロームS1を訂正用シンドロームCSとして訂正回路14Bに出力する。なお、ステップST72の処理は一部、ステップST71の処理と並列的に実行することができる。
Next, in step ST72, the
ステップST73において、訂正回路14Bは、初期シンドロームS1を用いてビットエラー訂正処理を実行して得られる訂正後データCD1をコントローラ制御部12Cに出力する。
In step ST73, the
この際、読み出しデータ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
訂正可否演算部16は不明ユーザデータD1xxに対してCRC用の符号生成演算処理を実行して、不明ユーザデータD1xxに対応する比較用CRCコードCR16を生成する。
The
続く、ステップST75において、コントローラ制御部12Cは訂正後データCD1内に含まれるCRCコードCRと、比較用CRCコードCR16とを比較し、両者が不一致となるため、訂正可能ビットを超える大量ビットエラーが生じたことを正確に判定することができる。
Subsequently, in step ST75, the
このように、実施の形態3のエラー訂正装置43は、ステップST71〜ST75の実行により、訂正可否演算部16を利用してCRCコードCRと比較用CRCコードCR16との比較に基づき、読み出しデータDTの異常状態の有無を判定する異常判定処理を実行している。
As described above, the
上述した異常判定処理により、読み込んだ読み出しデータ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
そこで、ステップST76において、コントローラ制御部12Cは、SRAM13から、読み出しデータDT2の読み出し時におけるアドレスを指示するアドレス情報ADに対応づけられた第2シンドロームS2を読み出す。
Therefore, in step ST76, the
次に、ステップST77で、コントローラ制御部12Cは、図11(d) 及び図12(b) に示すように、読み出しデータDT2(ユーザデータD1+CRCコードCR+初期シンドロームS1)及び第2シンドロームS2の組み合わせを訂正対象データCT2として訂正回路14Bに出力する。この際、ステップST76で読み込んだ第2シンドロームS2が訂正用シンドロームCSとして設定される。
Next, in step ST77, the
すると、ステップST78において、訂正回路14Bは、第2シンドロームS2を用いてビットエラー訂正処理を実行して得られる訂正後データCD2をコントローラ制御部12Cに出力する。この訂正後データCD2は、図11(e) に示すように、24ビット以下のビットエラーを有する読み出しデータDT1(ユーザデータ部分;訂正ユーザデータD1c、CRCコード部分(誤り訂正符号部分);訂正CRCコードCRc(訂正誤り検出符号)及び初期シンドローム部分;訂正初期シンドロームS1c)が含まれる。
Then, in step ST78, the
このように、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
すると、ステップST80において、訂正回路14Bは、初期シンドロームS1を用いてビットエラー訂正処理を実行して得られる訂正後データCD1をコントローラ制御部12Cに出力する。この訂正後データCD1は、図11(f) に示すように、ビットエラーが無い状態に訂正された読み出しデータDT0が含まれる。
Then, in step ST80, the
その後、ステップ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
上述したように、コントローラ制御部12Cはコントローラ制御部12Aと異なり、ステップST52,ST62、ST72及びST79の実行時における訂正対象データCT1にCRCコードCRを含め、ステップST77の実行時における訂正対象データCT2にCRCコードCRを含めている。
As described above, unlike the
さらに、ステップ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
また、SRAM13,NANDメモリ7間において、実施の形態1と同様、訂正管理用データD52が最新の内容となるように、適宜、データ転送がなされる。
Similarly to the first embodiment, data transfer is appropriately performed between the
(効果等)
このように、メモリコントローラ1内における実施の形態3のエラー訂正装置43は、ビットエラー検出回路として専用の訂正可否演算部16を利用した異常状態判定処理により、読み出しデータDTに大量ビットエラーが生じる異常状態を判定すると、初段訂正処理及び第2段訂正処理による段階訂正処理を実行している。
(Effects etc.)
As described above, the
このため、エラー訂正装置43は、NANDメモリ7に格納されている読み出しデータDTが、訂正回路14Bの訂正可能ビット数である24ビットを超える大量ビットエラーを有する読み出しデータDT2のような場合においても、訂正後読み出しデータとしてビットエラー訂正された正常な読み出しデータDT0を得ることができる。
For this reason, the
例えば、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
その結果、内蔵する訂正回路14Bのビットエラー訂正能力を上回る、ビットエラー訂正能力を有する実施の形態3のエラー訂正装置43を、単一の訂正回路14Bからなる比較的簡単な構成で得ることができる。
As a result, it is possible to obtain the
また、エラー訂正装置43は、訂正可能ビット数を超えるビットエラーである大量ビットエラーを読み出しデータDTが発生しているか否かの判定基準となる大量ビットエラー判定情報として、訂正可否演算部16からの比較用CRCコードCR16を用いている。
Further, the
このため、比較用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
また、実施の形態3のエラー訂正装置43で用いる訂正回路14Bは、実施の形態1の訂正回路14Aのように訂正可能ビット数を上回るビットエラー検出能力を持たせる必要がない分、訂正回路14Aより回路構成を簡略化することができる。
Further, the
なお、実施の形態3のエラー訂正装置43の訂正可否演算部16では、誤り検出符号生成処理としてCRC用の符号生成演算処理を行う場合を示したが、これに代えて、Hush関数を利用した符号生成演算処理を行うようにしても良い。
In addition, in the correction
<NANDメモリ7の特性による各実施の形態の考察>
図13〜図15はNANDメモリ7から読み出したデータに関し、訂正対象データのデータ長あたりの読み出し回数に伴うビットエラー数を示すグラフであり、図13は消去及びプログラム回数が10回の場合、図14は消去及びプログラム回数が2000回の場合、図15は消去及びプログラム回数が3000回の場合を示している。
<Consideration of Embodiments According to Characteristics of
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
図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
図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
すなわち、上記の場合、エラー訂正装置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
このように、実施の形態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
<その他>
なお、上述した実施の形態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メモリ7が図13〜図15のような特性を有し、書き換え回数が3000回以上、読み出し回数が300万回以上を想定している場合、2段階訂正処理を確実に行うべく、訂正可能ビット数“24”から余裕をもって、実施の形態1〜実施の形態3の“16”程度に警戒基準ビット数を設定することが望ましい。
On the other hand, when the
また、NANDメモリ7に対し新たに消去及びプログラム処理が実行され、ユーザデータD1が新たな内容に書き換えられた場合、初期シンドロームS1も内容変更され、当該ユーザデータD1に関する訂正管理用データD51(D52)の内容も管理領域71からクリアされる。
When new erase and program processing is executed on the
なお、ダミーデータ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
また、メモリコントローラ1〜3の各部は、基本的にハードウェアで構成されるが、SRAM13を除き、ソフトウェアに基づくCPUを用いたプログラム処理によって実行するようにしても良い。
Each unit of the
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略したりすることが可能である。 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
12A to 12C
14A,
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.
前記読み出しデータが、前記訂正可能ビット数を超えるビットエラーである大量ビットエラーを発生しているか否かの判定基準となる大量ビットエラー判定情報を出力するビットエラー検出回路をさらに備え、
前記制御部は、前記ステップ(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.
前記訂正回路は、前記ビットエラー訂正処理の実行時に前記訂正対象データにおいて発生したエラービット数を指示するエラービット情報を、前記大量ビットエラー判定情報としてさらに出力し、前記エラービット情報は前記大量ビットエラーとなるエラービット数の少なくとも一部を指示し、
前記ビットエラー検出回路は前記訂正回路を含み、
前記制御部は、前記ステップ(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.
前記半導体メモリは、アドレス単位に前記ユーザデータ及び前記初期シンドロームに加え、誤り検出符号をさらに格納し、前記誤り検出符号は前記ユーザデータに対し符号生成演算処理を行って得られた符号であり、前記読み出しデータは前記誤り検出符号を含み、
前記制御部は、前記ステップ(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.
前記ステップ(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.
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)
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)
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 |
-
2014
- 2014-12-25 JP JP2014262131A patent/JP6438763B2/en active Active
Patent Citations (5)
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)
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 |