JP2004362758A - 記憶媒体から検索されたデータの誤りを訂正するシステムおよび方法、ならびにコンピュータにこれらの誤りを訂正させるためのコンピュータ実行可能な命令を含むコンピュータ読取可能な記憶媒体 - Google Patents

記憶媒体から検索されたデータの誤りを訂正するシステムおよび方法、ならびにコンピュータにこれらの誤りを訂正させるためのコンピュータ実行可能な命令を含むコンピュータ読取可能な記憶媒体 Download PDF

Info

Publication number
JP2004362758A
JP2004362758A JP2004164729A JP2004164729A JP2004362758A JP 2004362758 A JP2004362758 A JP 2004362758A JP 2004164729 A JP2004164729 A JP 2004164729A JP 2004164729 A JP2004164729 A JP 2004164729A JP 2004362758 A JP2004362758 A JP 2004362758A
Authority
JP
Japan
Prior art keywords
blocks
redundant
data
storage medium
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004164729A
Other languages
English (en)
Inventor
Matt Ball
マット・ボール
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.)
Quantum Corp
Original Assignee
Quantum 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 Quantum Corp filed Critical Quantum Corp
Publication of JP2004362758A publication Critical patent/JP2004362758A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1803Error detection or correction; Testing, e.g. of drop-outs by redundancy in data representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Abstract

【課題】 複数のデータブロックと複数のデータブロックに関連する複数の冗長ブロックとを記憶媒体から検索することにより、記憶媒体から検索したデータの誤りを訂正する。
【解決手段】 記憶媒体から検索されて誤りを有する1つ以上のデータブロックが、識別されて削除される。誤りを有していると識別されたデータブロックの数が、検索された冗長ブロックの数よりも小さい場合、1つ以上の余分な冗長ブロックが除去され、検索された冗長ブロックから1つ以上の保存される冗長ブロックが保持される。検索されたデータブロックに基づいて1つ以上の新規の冗長ブロックが生成される。1つ以上の新規の冗長ブロックと1つ以上の保存される冗長ブロックとに基づいて1つ以上の残余ブロックが生成される。生成された1つ以上の残余ブロックを用い、誤りを有していると識別された1つ以上のデータブロックが訂正される。
【選択図】 図1

Description

背景
1.発明の分野
本願は一般に、記憶媒体から検索されたデータの訂正に関し、より具体的に、記憶媒体から検索されたデータの誤りを訂正するための冗長ブロックの使用に関する。
2.関連技術
データは、記憶装置の記憶媒体にデータを書込むことによって記憶装置に格納される。格納されたデータは、記憶媒体からそのデータを読出すことによって記憶装置から後に検索され得る。しかしながら、多数の理由により、記憶装置から検索されたデータに誤りが存在する場合があり、格納されたデータが検索され得ないか、または記憶媒体に最初に格納されたデータとは異なっていることを意味する。たとえば、記憶媒体に格納されたデータの一部は時間がたつと劣化することがあり、格納されたデータの一部を後で適切に読出すことができなくなってしまう。
このような誤りを訂正するための従来の技術では、データに対して冗長ブロックの集合が生成され、そのデータとともに記憶媒体に格納される。格納されたデータが後に検索されて誤りが検出されると、検索されたデータを訂正するために冗長ブロックが用いられる。一般に、冗長ブロックの集合内の冗長ブロックのすべてが、検索されたデータの誤りの大きさに関係なく検索されたデータを訂正するために用いられる。しかしながら、冗長ブロックのすべてにアクセスすることによって記憶媒体へのアクセス時間を消費し、行なわなければならない計算の数を増やし、訂正時間を増長させる。
概要
例示的な一実施例では、複数のデータブロックと、複数のデータブロックに関連する複数の冗長ブロックとが記憶媒体から検索される。記憶媒体から検索されて誤りを有する1つ以上のデータブロックが、識別されて除去される。誤りを有していると識別されたデータブロックの数が、検索された冗長ブロックの数よりも小さい場合、1つ以上の余分な冗長ブロックが除去されて、検索された冗長ブロックから1つ以上の保存される冗長ブロックが保持される。検索されたデータブロックに基づいて1つ以上の新規の冗長ブロックが生成される。1つ以上の新規の冗長ブロックと1つ以上の保存される冗長ブロックとに基づいて1つ以上の残余ブロックが生成される。生成された1つ以上の残余ブロックを用い、誤りを有していると識別された1つ以上のデータブロックが訂正される。
詳細な説明
以下の説明は、多数の特定の構成、パラメータ等を明示する。しかしながら、このような説明が、この発明の範囲に対する限定とは意図されず、例示的な実施例のより良い説明をもたらすために提供されていることを認識されたい。
図1を参照すると、記憶装置104に接続されたホスト端末102が示される。ホスト
コンピュータ102は任意の種類のコンピュータ、たとえばパーソナルコンピュータ、ワークステーション、サーバ等であり得る。記憶装置104は任意の種類の記憶ドライブ、たとえばテープドライブ、ハードドライブ等であり得る。ホスト端末102を任意の数の記憶装置104に接続でき、任意の数のホスト端末102を1つ以上の記憶装置104に接続できることを認識されたい。
引続き図1を参照すると、例示的な一実施例において、記憶装置104は記憶装置104に格納されたデータの誤りを検出して訂正するように設定される。より具体的に、記憶装置104に格納されたデータが検索されると、たとえばその検索されたデータが記憶装置104に最初に格納されていたデータと異なる場合、または格納されたデータを検索できない場合に、記憶装置104は、検索されたデータの誤りを訂正するために誤り訂正符号(ECC)冗長ブロックとも呼ばれる冗長ブロックを用いるように設定される。加えて、この例示的な実施例では、検索されたデータの誤りを検出するために、巡回冗長検査(CRC)符号等のチェックサムが用いられる。しかしながら、冗長ブロックを用いて誤りの訂正だけでなく検出も可能であることを認識されたい。
図1に示された実施例において、記憶装置104は、記憶媒体106、チャネルおよび読出/書込ヘッド108、プロセッサ110、および誤り検出/訂正ユニット112を含む。記憶装置104において、データは記憶媒体106に格納される。読出/書込ヘッド108は記憶媒体106とデータの読出および/または書込を行なう。プロセッサ110はチャネルおよび読出/書込ヘッド108の動作を含む、記憶装置104の動作を制御する。以下により詳細に説明するように、誤り検出/訂正ユニット112は、記憶媒体106に格納されたデータの誤りを検出して訂正する。
この例示的な実施例において、誤り検出/訂正ユニット112は、データバッファ114、冗長ブロック符号器/復号器116、およびCRC符号器/復号器118を含む。データが記憶媒体106に格納されるべき場合、データがホスト端末102から受取られてデータバッファ114に書込まれる。冗長ブロック符号器/復号器116およびCRC符号器/復号器118は、データバッファ114のデータに対して冗長ブロックとCRC符号とを生成する。次に、読出/書込ヘッド108は、生成された冗長ブロックおよびCRC符号とデータとを記憶媒体106に書込む。
データが記憶媒体106から読出されるべき場合、読出/書込ヘッド108は記憶媒体106からデータバッファ114にデータと冗長ブロックとを読出す。以下により詳細に説明するように、記憶媒体106から読出されたデータのどのような誤りも、CRC符号および冗長ブロックを用いて検出および訂正される。次に、このデータをホスト端末102に転送できる。
例示的な一実施例において、データはホスト端末102と記憶装置104との間をデータレコードとして転送され、このデータレコードはキャッシュに格納される。データレコードは、予め規定された長さ、たとえば2kバイト、4kバイト、6kバイト等のデータブロックに分割される。しかしながら、さまざまな長さのデータブロックを用いてよいことを認識されたい。
この例示的な実施例では、データブロックが記憶媒体106から検索された後に、検索されたデータブロックの誤りを検出するためにCRC符号が用いられ、検索されたデータブロックの誤りは、データが記憶媒体106に最初に格納されたときのデータブロックのデータと検索されたデータブロックのデータとが異なることを示す。より具体的に、記憶媒体106にデータブロックを格納する前に、そのデータブロックに対してCRC符号が生成され、記憶媒体106にデータブロックとともに格納される。データブロックが後に
検索されると、その検索されたデータブロックに対して新規のCRC符号が生成される。次に、この新規のCRC符号が、記憶媒体106から検索されたCRC符号と比較される。記憶媒体106から検索されたこのCRC符号は、検索されたデータブロックに対応しており、検索されたデータブロックが記憶媒体106に格納される前に、この検索されたデータブロックに対して最初に生成されたものである。新規のCRC符号と検索されたCRC符号とが異なる場合、そのデータブロックに誤りが検出される。
加えて、この例示的な実施例において、検索されたデータブロックの誤りを訂正するために冗長ブロックが用いられる。より具体的に、記憶媒体106にデータブロックを格納する前に、そのデータブロックに基づいて冗長ブロックが生成され、記憶媒体106にデータブロックとともに格納される。以下により詳細に説明するように、データブロックが後に検索されたときに、誤りを有していると識別されたデータブロックは、冗長ブロックを用いて訂正される。
例示的な一実施例において、冗長ブロック204はボース−チャウドゥーリー−オッカンガム(Bose-Chaudhuri-Hocquenghem)(BCH)符号であり、より具体的にリード−ソロモン(Reed-Solomon)符号である。リード−ソロモン符号のより詳細な説明については、この明細書においてその全体が引用によって援用される、1972年、MITプレス(MIT Press)、ピーターソン(Peterson)およびウェルドン(Weldon)による「誤り訂正符号(Error Correcting Codes)」第2版を参照されたい。しかしながら、さまざまな種類の誤り訂正符号を用いてよいことを認識されたい。
例示的な一実施例において、データブロックの集合、冗長ブロックの集合、およびCRC符号の集合は、「エンティティ」と呼ばれるグループとしてまとめて読出および書込が行なわれ得る。たとえば図2を参照すると、エンティティ202は16個のデータブロック204、4個の冗長ブロック206、および20個のCRC符号208を有していることが示される。しかしながら、エンティティ202がさまざまな数のデータブロック204、冗長ブロック206、およびCRC符号208を含み得ることを認識されたい。加えて上述のように、冗長ブロックは、検索されたデータブロックの誤りを訂正するだけではなく検出するためにも用いられ得る。したがって、CRC符号208を冗長ブロックの集合と置換できる。
図2はエンティティ202がデータバッファ114(図1)に格納されている形を示す。しかしながら、エンティティ202が図2に示された形で物理的に存在しなくてよいことを認識されたい。また、エンティティ202のデータ、より具体的にデータブロック204のデータが1つのファイルに対応する必要のないことも認識されたい。むしろ、例示的な一実施例において、ホスト端末102(図1)から検索されたデータはインタリーブされる。したがって、特定のデータブロック204のデータは、ホスト端末102(図1)から検索された別個のファイルの一部に対応し得る。
図2はまた、エンティティ202のデータブロック204、冗長ブロック206、およびCRC符号208の間の論理関係を示す。図3を参照すると、データブロック204、冗長ブロック206、およびCRC符号208の間の論理関係をより明らかに示すために、エンティティ202の一部がより詳細に示される。
図3に示されるように、CRC符号208はデータブロック204または冗長ブロック206に対応しており、データブロック204または冗長ブロック206の誤りを検出するために用いられる。たとえばCRC符号のCRC19は、エンティティ202のデータブロックD19に対応する。したがって、データブロックD19の誤りを検出するために、記憶媒体106(図1)からデータブロックD19を検索した後に、検索されたデータブロック
19に対して新規のCRC符号のCRC19´が生成される。次に、記憶媒体106(図1)から検索されて、検索されたデータブロックD19に対応するCRC符号(すなわちCRC符号のCRC19)と、新規のCRC符号のCRC19´とが比較される。新規のCRC符号のCRC19´と検索されたCRC符号のCRC19とが異なる場合、データブロックD19に誤りが検出される。
この例示的な実施例では、1つの冗長ブロックを用いてエンティティ202の1つのデータブロック204を訂正できる。したがって、図2に示された例では、全部で4個の冗長ブロック206を用いて、全部で16個のデータブロック204を有するエンティティ202のうち、全部で4個のデータブロック204を訂正できる。たとえば、冗長ブロックE3を用いてエンティティ202の第1のデータブロックを訂正できる。冗長ブロックE2を用いてエンティティ202の第2のデータブロックを訂正できる。冗長ブロックE1を用いてエンティティ202の第3のデータブロックを訂正できる。冗長ブロックE0を用いてエンティティ202の第4のデータブロックを訂正できる。
この例示的な実施例において、各冗長ブロック206はエンティティ202のすべてのデータブロックのデータに基づいて生成される。たとえば冗長ブロックE0、E1、E2、およびE3の各々は、データブロックD4、D5…D19のデータに基づいて生成される。上で述べたように、図1を参照すると、冗長ブロック206は冗長ブロック符号器116によって生成される。また上で述べたように、冗長ブロックは、ホスト端末102から受取られたデータに対して最初に生成される。次に、生成された冗長ブロックと受取られたデータとが記憶媒体106に格納される。
再び図3を参照すると、冗長ブロックE0、E1、E2、およびE3は同じ集合のデータ(すなわちエンティティ202のデータブロック204)に基づいて生成されているが、各冗長ブロック204は互いに固有である。より具体的に、この実施例において、冗長ブロックE0、E1、E2、およびE3はボース−チャウドゥーリー−オッカンガム(BCH)符号であり、より具体的にリード−ソロモン符号である。冗長ブロックE0、E1、E2、およびE3は冗長ブロック符号器116(図1)を用いて生成される。例示的な符号器の説明については、この明細書においてその全体が引用によって援用される、1992年8月4日付で出願されて「長いバースト誤りに対する誤りの検出および訂正システム(ERROR DETECTION AND CORRECTION SYSTEM FOR LONG BURST ERRORS)」と題された米国特許第5,136,592号を参照されたい。
図4を参照すると、記憶媒体から検索されたデータブロックの誤りを冗長ブロックを用いて訂正するための例示的なプロセス402が示される。より具体的に、図4はコンピュータプログラムとして実現される例示的なプロセス402を示し、このコンピュータプログラムはコンピュータ実行可能な命令を含んで記憶装置の動作を指示する。たとえば図1を参照すると、図4に示されたプロセスは、記憶装置104のプロセッサ110の動作を指示することができる。しかしながら、例示的なプロセス402(図4)が特定用途向け集積回路(Application-Specific Integrated Circuit)(ASIC)等のハードウェアにおいて実現され得ることを認識されたい。
図4に関して、データブロックの集合に対して冗長ブロックの集合が事前に生成されており、冗長ブロックの集合およびデータブロックの集合が記憶媒体に事前に格納されているものとプロセス402が仮定していることを認識されたい。例示のため、m個のデータブロックに対してn個の冗長ブロックが生成されたと考えられたい。したがって図2に示された例では、nは4であり、mは16である。
再び図4を参照すると、404においてデータブロックの集合および冗長ブロックの集
合が記憶媒体から読出される。加えて、この例示的な実施例では、CRC符号の集合が記憶媒体から読出される。上で述べたように、CRC符号の集合ではなく冗長ブロックの別の集合の使用が可能である。
406において、誤りを有するデータブロックが識別されて除去される。上で述べたように、この実施例では、誤りを有するデータブロックを識別するためにCRC符号が用いられる。次に、誤りを有していると識別されたデータブロックは、消失部(erasure)としてマークされ得る。
記憶装置104(図1)がテープドライブであって記憶媒体106(図1)が磁気テープである例示的な一実施例において、データブロックおよび冗長ブロックは、磁気テープから読出されてデータバッファに格納される。データブロックまたは冗長ブロックが読出されると、そのデータブロックまたは冗長ブロックに対応するCRC符号もまた磁気テープから読出される。磁気テープから読出されたデータブロックまたは冗長ブロックに基づいて新規のCRC符号が生成され、次にこの新規のCRC符号が、検索されたCRC符号と比較される。新規のCRC符号と検索されたCRC符号とが異なっている場合、誤りが検出されて、検索されたデータブロックまたは冗長ブロックは誤りを有しているとしてフラグ付けされる。したがって、この例示的な実施例において、CRC符号は検索されたデータブロックおよび冗長ブロックとともにデータバッファに格納されない。しかしながら、後の使用のためにCRC符号を格納できることを認識されるべきである。加えて、データブロック、冗長ブロック、およびCRC符号はともに磁気テープから検索されてデータバッファに格納され得、その後、誤りを有するデータブロックおよび/または冗長ブロックが、データバッファに格納されたCRC符号を用いて識別され得る。
408において、任意の余分な冗長ブロックが除去される。上で述べたように、1つの冗長ブロックを用いて、記憶媒体から検索されたデータブロックの集合のうち1つのデータブロックを訂正できる。したがって、記憶媒体から検索されたm個のデータブロックのうち、n個の冗長ブロックを用いてn個のデータブロックを訂正できる。/l(/lはLの小文字とする)個のデータブロックが誤りを有していると識別されて/lがn未満である場合、余分なデータブロック(すなわちn−/l個)が除去され得る。
したがって、4個の冗長ブロックが用いられている(n=4)図2に示された例において、4個のデータブロックが誤りを有していると識別された場合(/l=4)、除去される冗長ブロックはない(n−/l=4−4=0)。しかしながら、3個のデータブロックが誤りを有していると識別された場合(/l=3)、1個の冗長ブロックが除去される(n−/l=4−3=1)。2個のデータブロックが誤りを有していると識別された場合(/l=2)、2個の冗長ブロックが除去される(n−/l=4−2=2)。1個のデータブロックが誤りを有していると識別された場合(/l=1)、3個の冗長ブロックが除去される(n−/l=4−1=3)。再び図4を参照すると、誤りを有していると識別されたデータブロックがない場合(/l=0)、誤り訂正のプロセス402は実行されなくてよい。
410において、検索されたデータブロックに基づいて新規の冗長ブロックが生成される。この例示的な実施例では、検索されたデータブロックに基づいて新規の冗長ブロックを生成する際に、408において誤りを有していると識別されたデータブロックが、すべて0を含むダミーのデータブロックと置換される。代替的に、新規の冗長ブロックは、検索されたデータブロックが誤りを有していると識別されたデータブロックを保持したまま、検索されたデータブロックに基づいて生成され得る。加えて、この例示的な実施例では、図1を参照すると、冗長ブロック符号器118を用いて新規の冗長ブロックが生成される。
たとえば図2を参照して、第1および第3のデータブロックが誤りを有していると識別されたものと仮定されたい。したがって、2個のデータブロックが誤りを有していると識別される(すなわち/l=2)。したがって、検索されたデータに基づいて2個の新規の冗長ブロック(すなわち/l=2)が計算される。上で述べたように、2個の新規の冗長ブロックを生成する際に、第1および第3のデータブロックは、すべて0を含むダミーのデータブロックと置換される。
412では、新規の冗長ブロックおよび検索された冗長ブロックに基づいて残余(residual)ブロックが生成される。より具体的に、残余ブロックは、新規の冗長ブロックと検索された冗長ブロックとの間で排他的論理和(Exclusive-OR)(XOR)演算を行なうことによって生成される。数学的に、残余ブロックは、検索された符号語を生成多項式で割った剰余である。ここでもまた、生成される残余ブロックの数は、誤りを有していると識別されたデータブロックの数(すなわち/l)に対応する。
414において、誤りを有していると識別されたデータブロックは、生成された残余ブロックを用いて訂正される。リード−ソロモン符号が用いられるこの例示的な実施例において、誤りを有していると識別されたデータブロックは、生成された残余ブロックの集合と訂正行列との間でガロア体(Galois Field)の行列乗算演算を行なうことによって訂正される。
この例示的な実施例では、誤りを有するデータブロックを訂正する際に用いるための訂正行列を生成するために、基本的な冗長ブロックの単位を形成する冗長ブロック記号とデータとが符号語としてグループ化される。たとえば図2を参照すると、符号語210はエンティティ202においてデータブロック204および冗長ブロック206各々の8ビット記号を含む。したがってデータブロック204が2kバイトの長さである場合、2000個の符号語が存在する。しかしながら、符号語210およびデータブロック204がどのような長さでもよいことを認識されたい。
符号語多項式はデータ多項式と冗長ブロック多項式との組合せである。より具体的に、データブロック多項式は以下のとおりである。
Figure 2004362758
ここでMはデータブロックの数であり、Diは特定のデータブロックである。冗長ブロック多項式は以下のとおりである。
Figure 2004362758
ここでNは冗長ブロックの数であり、Eiは特定の冗長ブロックである。したがって符号語多項式は以下のとおりである。
Figure 2004362758
冗長ブロック多項式は、データブロック多項式を生成多項式(G(x))で割った剰余である。生成多項式G(x)はαのN個の連続する冪を根として含み、ここでαはガロア体の原始要素である。この例示的な実施例では、G(x)の第1の根がα0であるとみなされて計算量を減じる。したがって第1の根がα0であるものとされた生成多項式は以下のとおりである。
Figure 2004362758
例示的な一実施例では以下の生成多項式を使用できる。
Figure 2004362758
ここでガロア体は、g(x)=x8+x4+x3+x2+1およびα=00000010によって定義される。ガロア体の数学的処理が加算と減算とを区別しないことに注意されたい。したがってA−A=0であるのとちょうど同様に、A+A=0である。しかしながら、A+A=0を強調するために「−」の演算子を使用すると都合がよい場合がある。
D(x)、E(x)、およびG(x)の関係をまとめると以下のようになる。
Figure 2004362758
Q(x)が、D(x)xNをG(x)で割った商であることに注意されたい。この方程式を整理し直すと、以下のものが得られる。
Figure 2004362758
この方程式の左側もまた、符号語多項式の定義であることに注意されたい。すなわち、以下のようになる。
Figure 2004362758
したがって、符号語多項式は生成多項式の倍数である。加えて、xがG(x)の根である場合、C(x)は0である。
次に、C′(x)が誤りを有するデータブロックを備えた符号語であると仮定されたい。G(x)の根においてC′(x)の値を求めることによって部分シンドロームが生成される。G(x)の各根に対して1つの部分シンドロームが存在する。すべての部分シンドロームが0であれば、その符号語内に誤りは存在しない。部分シンドロームのいずれかが0でない場合、その符号語内のどこかに誤りが存在する。
次に、Y(x)が誤り多項式であると仮定されたい。以下の2つの方程式はY(x)を記述する。
Figure 2004362758
ここでpは、誤りを有する、検索されたデータブロックおよび冗長ブロックの数であり、Yiは特定の誤りの値であり(ここでiは0とp−1との間にある)、Biは特定の誤りのブロック番号(位置)である。D′(x)が取り出されたデータブロックの集合を含み、E′(x)が取り出された冗長ブロックの集合を含むものと仮定されたい。したがって、
Figure 2004362758
となる。
上で述べたように、この例示的な実施例では、データ記憶媒体から検索されたデータブロック(D′(x))に基づき、冗長ブロック符号器116(図1)を用いて冗長ブロックの新規の集合(/E(x))が生成される(/EはEの上付きバーを示す)。対応する符号語(/C(x))は以下のようになる(/CはCの上付きバーを示す)。
Figure 2004362758
xが生成多項式G(x)の根に等しいとき、C(x)と同様に/C(x)=0であることに注意されたい。
次に、上の方程式に基づいて、誤り多項式(Y(x))が得られる。第1の方程式はC′(x)ついての方程式である。
Figure 2004362758
第2の方程式は/C(x)についての方程式である。
Figure 2004362758
これらの方程式を加えることにより、以下のものが得られる。
Figure 2004362758
ガロア体の数学的処理において、A+A=0である。したがってD′(x)の項を除去できる。
Figure 2004362758
xがこの生成多項式の根である場合にこの方程式を求めることにより、C(x)および/C(x)の項は両方とも0になる。
Figure 2004362758
Y(x)、E′(x)および/E(x)にそれらの合計記述を代入することによって以下の方程式が得られる。
Figure 2004362758
誤り位置多項式を記述するN個の方程式が存在し、G(x)の各根に対して1つの方程式が存在する。α0がG(x)の第1の根である場合、上の方程式は、
Figure 2004362758
となる。この方程式はj番目の部分シンドロームを表わす。
一般に、従来のリード−ソロモン復号技術は、部分シンドロームを直接計算してY(x)について解く。しかしながら、部分シンドロームの計算は、さらに別のハードウェアを一般に必要とする。以下に述べるように、この例示的な実施例において、Y(x)は、部分シンドロームを計算するためのハードウェアを使用せずに求められる。
この例示的な実施例において、誤り位置値(Xi)は以下の方程式を用いて求められる。
Figure 2004362758
誤り位置値は訂正プロセスの全体にわたって一定であり、ルックアップテーブルを用いて、または他の冪法技術を用いて計算され得る。
部分シンドロームの方程式は、BiではなくXiを用いて単純化できる。より具体的に、部分シンドロームの方程式は以下のようになる。
Figure 2004362758
N個の部分シンドローム方程式をすべて書き出すことにより、以下の行列方程式が得られる。
Figure 2004362758
最も左の行列は誤り位置行列である。誤り位置行列が、誤りを有するデータブロックの位置にのみ依存することに注意されたい。最も右の行列は冗長ブロック位置行列であり、これは冗長ブロックの定位の位置にのみ依存する。冗長ブロックのブロック番号は0〜N−1であり、Nは冗長ブロックの数である。データブロックはブロック番号Nで始まり、大きくなって続いてゆく。加えて、最も右の列ベクトルは残余ブロックの集合である。
誤り位置行列および冗長ブロック位置行列はともに、ヴァンデルモンド(Vander monde)行列である。ヴァンデルモンド行列の1つの特性は、その行列が平方でない場合でも常に逆行列を有することである。ヴァンデルモンド行列の別の特性は、O(N3)演算を必要とする一般的な行列とは対照的に、逆がO(N2)演算を必要とすることである。
誤り値(Yi)について解くために、誤り位置行列の逆を得る。次に、この結果を冗長ブロック位置行列で乗算する。
誤り位置行列の逆を得るために、誤り位置多項式(σ(x))が計算される。誤り位置多項式は以下のように定義される。
Figure 2004362758
ここでpは誤りを有するデータブロックおよび冗長ブロックの数であり、Xiは特定の誤り位置である。xが誤り位置に等しい場合、誤り位置多項式が0であることに注意されたい。
加えて、以下のように各誤り位置jにおける関数σ(j)(x)が求められる。
Figure 2004362758
xが誤り位置jを除く誤り位置に等しい場合、この関数σ(j)(x)は0である。
誤り位置行列の逆の各行は、以下の多項式の係数を含む。
Figure 2004362758
行列形式において、誤り位置行列の逆は以下のようになる。
Figure 2004362758
誤り位置行列の列が、昇冪で累乗された定数に等しいことに注意されたい。したがって、誤り位置行列をその逆で乗算することは、誤り位置(Xi)に等しいxでσ(j)(x)を求めることと同じである。その結果が単位行列である。
誤り訂正行列を計算するために、誤り位置行列の逆が冗長ブロック位置行列で乗算される。冗長ブロック位置行列がヴァンデルモンド行列であるため、各列は昇冪で累乗された定数に等しい。これらの2つの行列をともに乗算することは、冗長ブロックの位置行列の各列の定数においてσ(j)(x)を求めることと同じである。したがって、誤り訂正行列の一般形式は以下のようになる。
Figure 2004362758
分母が特定の行に対する定数であることに注意されたい。したがって、分母は(p×N)回ではなくp回計算されるだけでよい。この誤り訂正行列は、訂正されるべきデータを残余ブロックに関連付ける。
この例示的な実施例において、誤り訂正行列は単純化/簡約化される。より具体的に、失われたデータブロックの数が冗長ブロックの最大数(N)よりも小さい場合、誤り訂正行列をより単純化できる。上で述べたように、冗長ブロックの数が誤りを有するデータブロックの数を上回る場合、余分な冗長ブロックが除去される。誤り訂正行列の大きさがp×NからN×Nの大きさに変化し、これは当初、誤り訂正行列の大きさを拡大したように見え得る。しかしながら、ここで新規の誤り訂正行列は、余分な冗長ブロックの各々に一致する自明な列を有する(なぜなら、除去された冗長ブロックの位置が、誤り位置多項式σ(x)の一部であるためである)。さらに、余分な冗長ブロックが再構築されないと仮定すれば、余分な冗長ブロックに一致する各行を削除できる。これらの変更により、誤り訂正行列の大きさはv×vとなり、ここでvは誤りを有するデータブロックの数である。したがって、誤りを有するデータブロックを再形成するための一般的な解法は、以下のようになる。
Figure 2004362758
ここで、Ziは消去されなかった冗長ブロックの位置である。加えて、最も右の列ベクトルは残余ブロックの集合である。単純化された訂正行列は、訂正されるべきデータブロックを残余ブロックに関連付ける。
v×vの行列である誤り訂正行列(U)の行iおよび列jにおける各成分についての一般的な方程式は以下の通りである。
Figure 2004362758
jの任意の成分がXkに等しい場合、Uの成分が0になることに注意されたい。これは、余分な冗長ブロックの位置がXk内に含まれる場合に生じる。これらの列は、自明であるため含まれない。
加えて、図5を参照すると、誤り訂正行列の各成分を生成するための例示的なプロセス502が示される。例示的なプロセス502はコンピュータプログラムとして実現可能であり、このコンピュータプログラムはコンピュータ実行可能な命令を含んで記憶装置の動作を指示する。たとえば図1を参照すると、例示的なプロセス502(図5)は、記憶装置104のプロセッサ110の動作を指示することができる。しかしながら、例示的なプロセス502(図5)が特定用途向け集積回路(ASIC)等のハードウェアで実現され得ることを認識されたい。
例示的な実施例を説明してきたが、この発明の精神および/または範囲から逸脱することなくさまざまな変更を行なうことができる。したがってこの発明は、図面に示し上で説明した特定の形に限定されるものと解釈されるべきではない。
例示的な記憶装置に接続された例示的なホスト端末を示す図である。 データブロック、冗長ブロック、および巡回冗長検査符号の集合を有する例示的なエンティティを示す図である。 図2の例示的なエンティティの一部を示す図である。 記憶媒体から検索されたデータを訂正するための例示的なプロセスを示す図である。 誤り訂正行列の成分を生成するための例示的なプロセスを示す図である。
符号の説明
102 ホスト端末、104 記憶装置、106 記憶媒体、108 チャネルおよび読出/書込ヘッド、110 プロセッサ、112 誤り検出/訂正ユニット、114 データバッファ、116 冗長ブロック符号器/復号器、118 CRC符号器/復号器。

Claims (40)

  1. 記憶媒体から検索されたデータの誤りを訂正する方法であって、
    前記記憶媒体から複数のデータブロックを検索するステップと、
    前記複数のデータブロックに関連する複数の冗長ブロックを前記記憶媒体から検索するステップと、
    前記記憶媒体から検索されて誤りを有する1つ以上のデータブロックを識別するステップと、
    誤りを有していると識別された前記1つ以上のデータブロックを除去するステップと、
    誤りを有していると識別されたデータブロックの数が、検索された冗長ブロックの数よりも小さい場合、1つ以上の余分な冗長ブロックを除去し、前記検索された冗長ブロックから1つ以上の保存される冗長ブロックを保持するステップと、
    検索されたデータブロックに基づいて1つ以上の新規の冗長ブロックを生成するステップと、
    前記1つ以上の新規の冗長ブロックおよび前記1つ以上の保存される冗長ブロックに基づいて1つ以上の残余ブロックを生成するステップと、
    生成された1つ以上の残余ブロックを用い、誤りを有していると識別された前記1つ以上のデータブロックを訂正するステップとを含む、方法。
  2. 前記記憶媒体から検索されて誤りを有する1つ以上のデータブロックを識別する前記ステップは、
    検索されたデータブロックに関連するチェックサムを前記記憶媒体から検索するステップと、
    前記検索されたデータブロックに基づいて新規のチェックサムを生成するステップと、
    前記検索されたデータブロックが誤りを有しているかどうかを判断するために、検索されたチェックサムと前記新規のチェックサムとを比較するステップとを含む、請求項1に記載の方法。
  3. 前記チェックサムは巡回冗長符号である、請求項2に記載の方法。
  4. 誤りを有していると識別された前記1つ以上のブロックを除去する前記ステップは、誤りを有していると識別された前記1つ以上のデータブロックを消失部としてフラグ付けするステップを含む、請求項1に記載の方法。
  5. 保存される冗長ブロックの数は、誤りを有していると識別されたデータブロックの数に等しい、請求項1に記載の方法。
  6. 前記1つ以上の新規の冗長ブロックは、誤りを有していると識別された前記1つ以上のデータブロックが除去されている前記検索されたデータブロックに基づいて生成される、請求項1に記載の方法。
  7. 新規の冗長ブロックの数は、誤りを有していると識別されたデータブロックの数に等しい、請求項1に記載の方法。
  8. 1つ以上の残余ブロックを生成する前記ステップは、新規の冗長ブロックと検索された冗長ブロックとの間で排他的論理和演算を行なうステップを含む、請求項1に記載の方法。
  9. 前記残余ブロックはシンドロームである、請求項1に記載の方法。
  10. 残余ブロックは、検索された符号語を生成多項式で割った剰余である、請求項1に記載の方法。
  11. 誤りを有していると識別された前記1つ以上のデータブロックを訂正する前記ステップは、1つ以上の生成された残余ブロックと訂正行列との間でガロア体の行列乗算演算を行なうステップを含む、請求項1に記載の方法。
  12. 前記訂正行列は、訂正されるべき1つ以上のデータブロックを前記1つ以上の残余ブロックに関連付ける、請求項11に記載の方法。
  13. 簡約化された訂正行列を生成するために、前記1つ以上の余分な冗長ブロックに対応する1つ以上の行を前記訂正行列から除去するステップをさらに含み、前記ガロア体の行列乗算演算は、前記訂正行列ではなく前記簡約化された訂正行列と前記1つ以上の生成された残余ブロックとの間で行なわれる、請求項11に記載の方法。
  14. 前記簡約化された訂正行列の行の数は、誤りを有していると識別されたデータブロックの数に等しい、請求項13に記載の方法。
  15. 前記複数の冗長ブロックは、ボース−チャウドゥーリー−オッカンガム(BCH)符号である、請求項1に記載の方法。
  16. BCH符号はリード−ソロモン符号である、請求項15に記載の方法。
  17. 記憶媒体から検索されたデータの誤りを訂正するシステムであって、
    データバッファを備え、前記データバッファは、
    前記記憶媒体から検索された複数のデータブロックと、
    前記記憶媒体から検索された複数の冗長ブロックとを含み、前記システムはさらに、
    プロセッサを備え、前記プロセッサは、
    前記記憶媒体から検索されて誤りを有する1つ以上のデータブロックを識別し、
    誤りを有していると識別された前記1つ以上のデータブロックを除去し、
    誤りを有していると識別されたデータブロックの数が、検索された冗長ブロックの数よりも小さい場合、1つ以上の余分な冗長ブロックを除去し、前記検索された冗長ブロックから1つ以上の保存される冗長ブロックを保持し、
    検索されたデータブロックに基づいて1つ以上の新規の冗長ブロックを生成し、
    前記1つ以上の新規の冗長ブロックおよび前記1つ以上の保存される冗長ブロックに基づいて1つ以上の残余ブロックを生成し、
    生成された1つ以上の残余ブロックを用い、誤りを有していると識別された前記1つ以上のデータブロックを訂正するように設定される、システム。
  18. 保存される冗長ブロックの数は、誤りを有していると識別されたデータブロックの数に等しい、請求項17に記載のシステム。
  19. 前記1つ以上の新規の冗長ブロックは、誤りを有していると識別された前記1つ以上のデータブロックが除去されている前記検索されたデータブロックに基づいて生成される、請求項17に記載のシステム。
  20. 新規の冗長ブロックの数は、誤りを有していると識別されたデータブロックの数に等しい、請求項17に記載のシステム。
  21. 前記1つ以上の残余ブロックは、新規の冗長ブロックと検索された冗長ブロックとの間
    で排他的論理和演算を行なうことによって生成される、請求項17に記載のシステム。
  22. 誤りを有していると識別された前記1つ以上のデータブロックは、前記1つ以上の生成された残余ブロックと訂正行列との間でガロア体の行列乗算演算を行なうことによって訂正される、請求項17に記載のシステム。
  23. 前記プロセッサは、簡約化された訂正行列を生成するために、前記1つ以上の余分な冗長ブロックに対応する1つ以上の行を前記訂正行列から除去するようにさらに設定され、前記ガロア体の行列乗算演算は、前記訂正行列ではなく簡約化された訂正行列と前記1つ以上の生成された残余ブロックとの間で行なわれる、請求項22に記載のシステム。
  24. 前記簡約化された訂正行列の行の数は、誤りを有していると識別されたデータブロックの数に等しい、請求項23に記載のシステム。
  25. 記憶媒体から検索されたデータの誤りをコンピュータに訂正させるためのコンピュータ実行可能な命令を含むコンピュータ読取可能な記憶媒体であって、
    前記記憶媒体から複数のデータブロックを検索するステップと、
    前記複数のデータブロックに関連する複数の冗長ブロックを前記記憶媒体から検索するステップと、
    前記記憶媒体から検索されて誤りを有する1つ以上のデータブロックを識別するステップと、
    誤りを有していると識別された前記1つ以上のデータブロックを除去するステップと、
    誤りを有していると識別されたデータブロックの数が、検索された冗長ブロックの数よりも小さい場合、1つ以上の余分な冗長ブロックを除去し、前記検索された冗長ブロックから1つ以上の保存される冗長ブロックを保持するステップと、
    前記検索されたデータブロックに基づいて1つ以上の新規の冗長ブロックを生成するステップと、
    前記1つ以上の新規の冗長ブロックおよび前記1つ以上の保存される冗長ブロックに基づいて1つ以上の残余ブロックを生成するステップと、
    生成された1つ以上の残余ブロックを用い、誤りを有していると識別された前記1つ以上のデータブロックを訂正するステップとを行なうための命令を含む、コンピュータ読取可能な記憶媒体。
  26. 前記記憶媒体から検索されて誤りを有する1つ以上のデータブロックを識別する前記ステップは、
    検索されたデータブロックに関連するチェックサムを前記記憶媒体から検索するステップと、
    前記検索されたデータブロックに基づいて新規のチェックサムを生成するステップと、
    前記検索されたデータブロックが誤りを有しているかどうか判断するために、検索されたチェックサムと前記新規のチェックサムとを比較するステップとを含む、請求項25に記載のコンピュータ読取可能な記憶媒体。
  27. 前記チェックサムは巡回冗長符号である、請求項26に記載のコンピュータ読取可能な記憶媒体。
  28. 誤りを有していると識別された前記1つ以上のブロックを除去する前記ステップは、誤りを有していると識別された前記1つ以上のデータブロックを消失部としてフラグ付けするステップを含む、請求項25に記載のコンピュータ読取可能な記憶媒体。
  29. 保存される冗長ブロックの数は、誤りを有していると識別されたデータブロックの数に
    等しい、請求項25に記載のコンピュータ読取可能な記憶媒体。
  30. 前記1つ以上の新規の冗長ブロックは、誤りを有していると識別された前記1つ以上のデータブロックが除去されている前記検索されたデータブロックに基づいて生成される、請求項25に記載のコンピュータ読取可能な記録媒体。
  31. 新規の冗長ブロックの数は、誤りを有していると識別されたデータブロックの数に等しい、請求項25に記載のコンピュータ読取可能な記憶媒体。
  32. 1つ以上の残余ブロックを生成する前記ステップは、新規の冗長ブロックと検索された冗長ブロックとの間で排他的論理和演算を行なうステップを含む、請求項25に記載のコンピュータ読取可能な媒体。
  33. 前記残余ブロックはシンドロームである、請求項25に記載のコンピュータ読取可能な記憶媒体。
  34. 残余ブロックは、検索された符号語を生成多項式で割った剰余である、請求項25に記載のコンピュータ読取可能な記憶媒体。
  35. 誤りを有していると識別された前記1つ以上のデータブロックを訂正する前記ステップは、1つ以上の生成された残余ブロックと訂正行列との間でガロア体の行列乗算演算を行なうステップを含む、請求項25に記載のコンピュータ読取可能な記憶媒体。
  36. 前記訂正行列は、訂正されるべき1つ以上のデータブロックを前記1つ以上の残余ブロックに関連付ける、請求項35に記載のコンピュータ読取可能な記憶媒体。
  37. 簡約化された訂正行列を生成するために、前記1つ以上の余分な冗長ブロックに対応する1つ以上の行を前記訂正行列から除去するステップをさらに含み、前記ガロア体の行列乗算演算は、前記訂正行列ではなく簡約化された訂正行列と前記1つ以上の生成された残余ブロックとの間で行なわれる、請求項35に記載のコンピュータ読取可能な記憶媒体。
  38. 前記簡約化された訂正行列の行の数は、誤りを有していると識別されたデータブロックの数に等しい、請求項37に記載のコンピュータ読取可能な記憶媒体。
  39. 前記複数の冗長ブロックは、ボース−チャウドゥーリー−オッカンガム(BCH)符号である、請求項25に記載のコンピュータ読取可能な記憶媒体。
  40. BCH符号はリード−ソロモン符号である、請求項39に記載のコンピュータ読取可能な記憶媒体。
JP2004164729A 2003-06-03 2004-06-02 記憶媒体から検索されたデータの誤りを訂正するシステムおよび方法、ならびにコンピュータにこれらの誤りを訂正させるためのコンピュータ実行可能な命令を含むコンピュータ読取可能な記憶媒体 Pending JP2004362758A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/454,420 US7290197B2 (en) 2003-06-03 2003-06-03 Correcting data using redundancy blocks

Publications (1)

Publication Number Publication Date
JP2004362758A true JP2004362758A (ja) 2004-12-24

Family

ID=33299599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004164729A Pending JP2004362758A (ja) 2003-06-03 2004-06-02 記憶媒体から検索されたデータの誤りを訂正するシステムおよび方法、ならびにコンピュータにこれらの誤りを訂正させるためのコンピュータ実行可能な命令を含むコンピュータ読取可能な記憶媒体

Country Status (4)

Country Link
US (1) US7290197B2 (ja)
EP (1) EP1486872B1 (ja)
JP (1) JP2004362758A (ja)
DE (1) DE602004008150T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1672118A1 (en) 2004-12-15 2006-06-21 Aikawa Iron Works Co., Ltd. Screen apparatus

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228467B2 (en) * 2003-10-10 2007-06-05 Quantum Corporation Correcting data having more data blocks with errors than redundancy blocks
KR101227493B1 (ko) 2006-03-27 2013-02-07 엘지전자 주식회사 오류 정정을 위한 디지털 방송 수신 장치 및 방법
US8977936B2 (en) 2010-06-10 2015-03-10 The Regents Of The University Of California Strong single and multiple error correcting WOM codes, coding methods and devices
US8527839B2 (en) * 2011-01-31 2013-09-03 Macronix International Co., Ltd. On-the-fly repair method for memory
US9137250B2 (en) 2011-04-29 2015-09-15 Stephen Lesavich Method and system for electronic content storage and retrieval using galois fields and information entropy on cloud computing networks
US9361479B2 (en) 2011-04-29 2016-06-07 Stephen Lesavich Method and system for electronic content storage and retrieval using Galois fields and geometric shapes on cloud computing networks
US9569771B2 (en) 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
US9037564B2 (en) 2011-04-29 2015-05-19 Stephen Lesavich Method and system for electronic content storage and retrieval with galois fields on cloud computing networks
US10594491B2 (en) * 2015-12-24 2020-03-17 Intel Corporation Cryptographic system memory management
US10754793B2 (en) * 2018-02-28 2020-08-25 Micron Technology, Inc. Memory module data object processing systems and methods

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3860907A (en) * 1973-06-21 1975-01-14 Ibm Data resynchronization employing a plurality of decoders
US5136592A (en) 1989-06-28 1992-08-04 Digital Equipment Corporation Error detection and correction system for long burst errors
US5623507A (en) * 1991-09-13 1997-04-22 Storage Technology Corporation Error pointers for enhanced error correction
US5272252A (en) * 1991-11-04 1993-12-21 Merrell Dow Pharmaceuticals Inc. Synthetic lung surfactant having antioxidant properties
US5719884A (en) 1995-07-27 1998-02-17 Hewlett-Packard Company Error correction method and apparatus based on two-dimensional code array with reduced redundancy
US5985261A (en) * 1996-06-28 1999-11-16 National Jewish Medical And Research Center Use of thioredoxin-like molecules for induction of MnSOD to treat oxidative damage
US6150135A (en) * 1997-05-23 2000-11-21 Heska Corporation Dirofilaria and brugia thioredoxin peroxidase type-2 (TPX-2) nucleic acid molecules, and uses thereof
US6165440A (en) * 1997-07-09 2000-12-26 Board Of Regents, The University Of Texas System Radiation and nanoparticles for enhancement of drug delivery in solid tumors
US6242473B1 (en) * 1999-01-08 2001-06-05 Maxim Pharmaceuticals, Inc. Treatment and prevention of reactive oxygen metabolite-mediated cellular damage
US6438724B1 (en) * 1999-03-16 2002-08-20 International Business Machines Corporation Method and apparatus for deterministically altering cyclic redundancy check information for data storage
US6046160A (en) * 1999-07-22 2000-04-04 Deroyal Industries, Inc. Composition and method for enhancing wound healing
US6343305B1 (en) * 1999-09-14 2002-01-29 The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University Methods and apparatus for multiplication in a galois field GF (2m), encoders and decoders using same
US7000174B2 (en) * 1999-12-20 2006-02-14 Research In Motion Limited Hybrid automatic repeat request system and method
US6772390B2 (en) 2000-11-30 2004-08-03 Quantum Corporation Erasure correction for ECC entities

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1672118A1 (en) 2004-12-15 2006-06-21 Aikawa Iron Works Co., Ltd. Screen apparatus

Also Published As

Publication number Publication date
US7290197B2 (en) 2007-10-30
US20040260971A1 (en) 2004-12-23
DE602004008150T2 (de) 2008-04-30
EP1486872A1 (en) 2004-12-15
EP1486872B1 (en) 2007-08-15
DE602004008150D1 (de) 2007-09-27

Similar Documents

Publication Publication Date Title
KR100989532B1 (ko) 플래쉬 에러 정정
US6792569B2 (en) Root solver and associated method for solving finite field polynomial equations
US7162678B2 (en) Extended error correction codes
US6560747B1 (en) Error counting mechanism
US7076723B2 (en) Error correction codes
KR102143353B1 (ko) 메모리 소자로부터 액세스된 데이터의 오류를 정정하는 장치 및 방법
US8429489B2 (en) Data retrieval from a storage device using a combined error correction and detection approach
CN103238139B (zh) 解码包含集成的数据和信头保护的编码数据
JP4598711B2 (ja) 誤り訂正装置
CN102834866B (zh) 用于磁带驱动器的集成的数据与头保护
JP2009295273A (ja) 誤り訂正符号エンティティのための消失訂正のコンピュータ実現化方法
JP2004362758A (ja) 記憶媒体から検索されたデータの誤りを訂正するシステムおよび方法、ならびにコンピュータにこれらの誤りを訂正させるためのコンピュータ実行可能な命令を含むコンピュータ読取可能な記憶媒体
US6009550A (en) PBA recovery apparatus and method for interleaved reed-solomon codes
JP4733403B2 (ja) 復号器、データ記憶装置およびデータの誤り訂正の方法
JP2001196942A (ja) インターリーブ型符号ワードにおける誤りを見つけ出す冗長システム及び方法
JP2001211086A (ja) 選択的可変冗長性を具備する誤り訂正符号を与えるシステム及び方法
JP4790790B2 (ja) 誤り検出訂正回路及び半導体メモリ
US7228467B2 (en) Correcting data having more data blocks with errors than redundancy blocks
US20040078746A1 (en) Error correction method and reproduction apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080729

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081031

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090224

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090522

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090527

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090825