JP3935942B2 - デジタルデータ記憶用の符号器 - Google Patents

デジタルデータ記憶用の符号器 Download PDF

Info

Publication number
JP3935942B2
JP3935942B2 JP52869497A JP52869497A JP3935942B2 JP 3935942 B2 JP3935942 B2 JP 3935942B2 JP 52869497 A JP52869497 A JP 52869497A JP 52869497 A JP52869497 A JP 52869497A JP 3935942 B2 JP3935942 B2 JP 3935942B2
Authority
JP
Japan
Prior art keywords
data stream
data
randomized
bit
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP52869497A
Other languages
English (en)
Other versions
JP2001518224A5 (ja
JP2001518224A (ja
Inventor
ディー. グレイ,マーティン
Original Assignee
オーバーランド ストーリッジ,インコーポレイティド
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
Priority claimed from US08/599,149 external-priority patent/US5815514A/en
Priority claimed from US08/599,146 external-priority patent/US5712863A/en
Application filed by オーバーランド ストーリッジ,インコーポレイティド filed Critical オーバーランド ストーリッジ,インコーポレイティド
Publication of JP2001518224A publication Critical patent/JP2001518224A/ja
Publication of JP2001518224A5 publication Critical patent/JP2001518224A5/ja
Application granted granted Critical
Publication of JP3935942B2 publication Critical patent/JP3935942B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • 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
    • 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/10009Improvement or modification of read or write signals
    • 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/14Digital recording or reproducing using self-clocking codes
    • 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/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • G11B20/1423Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
    • G11B20/1426Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
    • 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/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2703Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
    • H03M13/2707Simple row-column interleaver, i.e. pure block interleaving
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/47Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37
    • 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/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • G11B20/1423Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
    • G11B20/1426Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
    • G11B2020/14348 to 9 modulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Error Detection And Correction (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Analogue/Digital Conversion (AREA)
  • Transmission And Conversion Of Sensor Element Output (AREA)

Description

発明の背景
発明の分野
本発明は、磁気又はその他のデータ記憶媒体上に記憶するためのデータを符号化するシステム及び方法、特に可変速度ビット挿入コード化システム及び方法に関する。
関連技術の説明
可変速度ビット挿入技術は、データストリームを、その中に存在する可能性のある検出誤りに対し頑強なものにするための方法として周知のものである。一般的には、この方法は、通信の分野において利用されるが、当該技術分野において周知のように、可変速度ビット挿入はその他の利用分野においても用いられている。この技術に従うと、データストリームのうちデータビットを精確に検出する上で誤りが発生する確率が増大する選択された部分の中に、データビットが挿入される。例えば、受信復号器が自己クロックされている通信システム内では、可変速度ビット挿入を使用することができる。検出器側のフェーズロックドループが、データが伝送されつつあるクロック速度においてフェーズロックを消失しないように、1又はゼロの長いストリングが分割されることが重要である。このことは、例えば磁気テープからの読取りが関与している利用分野において特に重要である。なぜなら、テープ記憶媒体は一般的に、きわめて不確かな速度プロフィールを有しておりそのため、フェーズロックを維持するためには頻繁なクロック情報が好ましい。かくして、読取り又は受信側でフェーズロックを維持することが望ましいような利用分野においては、データビットは、出力データストリーム内の「障害領域」の中に意図的に挿入されるので、このデータ信号について精確なフェーズロックを維持するように受信されたデータ信号内に充分な情報が存在し、検出器側では、データストリームが適切に復号される。
可変速度ビット挿入方法は、誤りに対するデータの頑強さを増大する安価でかつかなり単純な方法として望ましいものであるものの、このような方法は一般的にその他の利用分野では非実用的であることがわかっている。最も顕著には、可変速度ビット挿入は、磁気記録環境への適用には制限があった。磁気記録は一般的にテープ又はディスク上への記憶を含むが、これらはまず最初に磁気テープ又はディスクにデータが記憶されその後読み戻される。データの頑強な記憶を提供するためには、磁気媒体に対する書込みの前にデータを符号化するために可変速度ビット挿入が使用され得、データが読み戻される時に、挿入されたビットは検出され廃棄される。しかしながら、挿入されるべきビットの実際の数は予測が非常に難しいものであることから、挿入されたビット数がデータストリームの長さを10〜12パーセントも拡張することになる可能性がある。データストリームのこのような拡張は、特にデータ記憶効率を最大限にすることが望ましい場合、データを記憶する目的に対しては受容し難いことである。例えば、特定のデータストリームが、10ビット毎に1回のビット挿入が要求されるような特性を有する場合、磁気媒体上に記憶されるべきデータの量は10パーセントだけ増大することになる。このことは、500メガバイトの記憶媒体を事実上450メガバイトの記憶媒体にする。
可変速度ビット挿入を受け入れ可能な形態へデータストリームを変換しようとして、入力データストリームはまず最初に、例えば、擬似ランダム雑音符号を用いて、ランダム化される。擬似ランダム雑音符号は、入力データストリームと排他的論理和され、結果として得られる出力にランダムな又は擬似ランダムな性格を与える。このランダムな特性は、データストリームが例えば1パーセントより大きく拡張される確率が統計的に無視できる程度のものであることを保証する。これは、一般的に、規則的なパターンを分割するためにビット挿入が行なわれ、実質的にランダムなパターンはきわめてわずかなビット挿入しか必要としないからである。かくして、可変速度ビット挿入技術を適用する前にデータをランダム化することにより、磁気又はその他のデータ記憶媒体上へのデータ記憶を含む利用分野においてより容易に適用することが可能となる。
しかしながら、或る種の場合においては、入力データパターンが、擬似雑音コード(すなわちランダム化多項式)と相関関係をもつ特性を有し、望ましくない符号化された特性(例えば1又はゼロの長いストリング、又はその他の冗長なパターン)を生成するような場合、その特定のランダム化多項式を用いたデータストリームのランダム化は、挿入されたデータビットの長さが極端に長くなるのを防ぐようには作用しない。この特性をもつデータストリームは、標準的に退化パターンと呼ばれる。かくして、入力データストリームが退化性であるとき、可変速度ビット挿入技術は、磁気記憶又はその他のデータ記憶媒体で使用するには実用的でない。その上、単純にこのような退化データパターンの可能性は一般にデータ記憶環境内での可変速度ビット挿入の使用に対する障害としてみなされてきた。
データ記憶の利用分野における可変速度ビット挿入がもつ上述の欠点の他に、可変速度ビット挿入の従来の技術によって、位相情報の消失及び自動利得制御に付随する受信側の誤りが低減されることは常に確実というわけではない。例えば、検出されたデータストリームが、長時間にわたり振幅中の最大の振れが観測されない特性を有している場合、これは検出側の自動利得制御にトラッキングを消失させ、検出された信号内に振幅誤りを導入する。さらに、ゼロ及び1の連続的ストリング以外のデータパターンから、フェーズロックの消失が結果としてもたらされる可能性がある。従って、単にゼロ及び1の長いストリング内に1ビットを挿入するだけでは、復号側の自己クロックシステム内でフェーズロックを確実に維持することはできない。かくして、データ記憶の利用分野において可変速度ビット挿入に付随する問題点を解決し、自動利得制御又はフェーズロッククループの誤較正に付随する受信側の誤りをも説明するような改良型のデータ符号化方法に対する必要性が存在する。
発明の要約
本発明の好ましい実施形態の教示に従ったデータ符号化のシステム及び方法は、データ記憶の利用分野における可変速度ビット挿入に付随する上述の欠点を低減する。本発明によれば、可変速度ビット挿入技術の間に単一のデータビットを挿入するのではなく、最大位相及び振幅情報を符号化する多ビットがデータストリーム内に挿入され、かくして、フェーズロックを維持するため及び読取り動作中に、自動利得制御を適切に較正するために必要な情報が、記録されたデータストリーム内に常に存在することになる。本発明の特に有利な実施形態に従うと、データストリームの「障害領域」を検出する毎に、4つのデータビットが挿入される。
好ましい一実施形態においては、可変速度ビット挿入の方法は、特定の擬似ランダムのランダム化符号が退化データパターンを生成することが確認された場合にランダム化多項式が再度初期化されてランダム化装置が再構成されることになるように、構成可能なランダム化装置と組合せられる。1つの擬似雑音コードが退化パターンを生成する場合、例えば同じ族のもののようなそれに対し直交するもう1つのコードは、退化データパターンという結果をもたらすことはない。かくして、好ましい実施形態においては、直交コードに対するランダム化装置の再構成は、ランダム化装置によって退化データパターンが生成されないことを確実にする。
本発明のこの態様の特に有利な実施形態においては、ランダム化多項式は、ランダム化装置の再構成が容易に予測できないように非決定論的方法に従って再度初期化される。本発明の好ましい実施形態のこの態様は、退化データパターンの生成の意図を持って特定的に設計されるデータストリームに対抗する。
本発明のもう1つの態様に従うと、ランダム化装置の構成は、ランダム化装置の構成が「実行中に(オンザフライ)」変更され得るようにブロック毎のベースで変えられる能力をもつ。
【図面の簡単な説明】
図1a及び1bは、それぞれデータ記憶媒体上に記憶されるべきデータを符号化し、データ記憶媒体から読取られるデータを復号するための、データ符号器及びデータ復号器システムの実施例を示す、全体的システムダイヤグラムである。
図2は、図1aのランダム化装置/ビット挿入符号器の主要機能要素を例示する単純化されたブロックダイヤグラムである。
図3は、図1bのランダム化解除装置/ビット抽出復号器の主要機能要素を例示する単純化されたブロックダイヤグラムである。
図4は、本発明の可変速度コード化方法に従ってデータビットパターンを挿入するのに用いられる一般的方法を例示する流れ図である。
図5は、図4のゼロ計量(メトリック)サブルーチンブロック内のゼロ計量を決定するのに用いられる副方法を例示する流れ図である。
図6は、図4の利得制御計量サブルーチンブロック内の自動利得制御計量を決定するため本発明に従って使用される一般的方法を例示する流れ図である。
図7は、図4の位相計量サブルーチンブロック内の位相計量を決定するため本発明に従って使用される方法を例示する流れ図である。
図8は、入力データストリーム内に適切なビットパターンを選択し挿入するべく図4の挿入ビットパターンサブルーチンブロック内で使用される副方法を例示する流れ図である。
図9は、データを磁気ディスクに記憶しなくてはならない場合に、ランダム化多項式を再構成するため本発明に従って用いられる一般的方法を例示する流れ図である。
図10は、書込まれるデータ記憶媒体が磁気テープである場合、ランダム化多項式を再構成するため本発明に従って使用される全体的方法を例示する流れ図である。
図11は、本発明の1つの好ましい実施形態内のデータブロックの書式を概略的に例示する。
図12〜12dは、ゼロ、位相、及び自動利得制御の計量を決定するため読取りヘッドインパルス応答をシミュレートする畳込み符号器内で使用される方法を概略的に示している。
好ましい実施形態の詳細な説明
図1aは、データ記憶媒体への記憶のためデータ入力ストリームの符号化に使用されるデータ符号器システムを例示する非常に単純化された概略的ブロックタイヤグラムである。図1aに描かれているように、システム100は、共有メモリ資源内外へのデータの流れを管理する直接メモリアクセス(DMA)チャンネル102からデータ入力ストリームを受信するリード−ソロモン符号器105を内含している。リード−ソロモン符号化は、当該技術分野において周知のものであり、ここでは詳細に記述しない。さらに、当該技術分野において通常の知識を有する者であれば、データ入力ストリームがリード−ソロモン符号器によって符号化される必要がないということも理解できるだろう。実際には、特定の利用分野により要求されるように、図1aのシステム内では、トレリス符号化、畳込み符号化などといったその他の形の誤り符号化が使用され得る。データがリード−ソロモン符号器105内でひとたびリード−ソロモン符号化されたならば、そのデータはブロックインタリーブ装置110内でブロックインタリーブされる。当該技術分野において周知の通り、ブロックインタリーブ装置は一般的に、データストリームが行により入力され、列により読み出されるような1つの行列を具備している。符号化されたデータをブロックインタリーブすることにより、ディープフェード(すなわち長い一連のデータがレイリーフェーディング効果のために消失する期間)の間に発生する誤りは、データ入力ストリームのより大きい部分中のより小さな部分の中に分配され、そのため一定の与えられた任意の領域内で、データ内の誤りを回収できる確率がより高くなる。データがひとたびブロックインタリーブされたならば、データは、ランダム化装置/ビット挿入符号器115の中に入力される。本発明の好ましい実施形態に従うと、カスタムのランダム化装置/ビット挿入符号器115は、構成可能な擬似雑音コードで入力データストリームをランダム化し、その後、復号側での自動利得制御(AGC)回路上の較正又はフェーズロックの消失といったような周知の検出誤りに対して、ランダム化されたデータストリームを頑強にするために必要に応じてデータビットパターンを挿入する。ランダム化装置/ビット挿入符号器115については、図2を参照しながら以下でより詳細に記述される。
データがひとたびランダム化され、ビット挿入が適切な「障害スポット」において実行されたならば、データは、磁気ディスク、磁気記憶テープなどを含むと考えられるデータ記憶媒体125の上に記憶される。ブロックインタリーブ装置110及びランダム化装置/ビット挿入符号器115は、両方共マイクロコントローラ120の制御下で作動する。
図1bは、図1aを参照して記述されたシステム及び方法によってデータがコード化されている場合に、データ記憶媒体125上に記憶されたデータを復号するために用いられるシステム例を示すきわめて簡略化されたブロックダイヤグラムである。図1bに示されている通り、データ記憶媒体125から読取られたデータは、ランダム化解除装置/ビット抽出復号器130の中に送り込まれる。ランダム化解除装置/ビット抽出復号器130については、図3を参照しながら以下でさらに詳しく記述する。ランダム化解除装置/ビット抽出復号器130は、基本的に、ランダム化装置/ビット挿入符号器115内で行なわれるランダム化及びビット挿入プロセスを逆にするように作用する。すなわち、復号器130は、符号器115内に挿入されたデータビットパターンを検出し、抽出し、廃棄し、その後、ランダム化装置/ビット挿入符号器115に入力されたもとのデータストリームを得るため、データをランダム化解除する。
その後、ランダム化解除装置/ビット抽出器復号器130の出力は、ブロックインタリーブ装置135に供給され、このブロックインタリーブ装置は、当該技術分野においても充分に理解されているように、インタリーブされたブロックをもとの順序に再度順序付けする。ブロックインタリーブ解除装置135内でデータがインタリーブ解除された後、このデータは、リード−ソロモン復号器145内に送り込まれる。リード−ソロモン復号器145は、出力データストリーム内で誤りを検出し訂正するように作用する。データがひとたびリード−ソロモン復号されたならば、リード−ソロモン復号器145からの出力データストリームは、データ記憶媒体125上に記憶するため当初リード−ソロモン符号器105に入力されたデータストリームの再構成でなくてはならない。DMAチャンネル147が、適切なメモリ資源に対しデータの流れを導く。ランダム化解除装置/ビット抽出器復号器130、ブロックインタリーブ解除装置135及びリード−ソロモン復号器145は全て、1実施形態においてマイクロコントローラ120と同じマイクロプロセッサとして実現され得るマイクロコントローラ140の制御下にある。
好ましい実施態様においては、マイクロコントローラ120,140は符号器115及び復号器130を有効化/無効化する。さらに、マイクロコントローラは、復号器130から誤り状態(例えばCRC誤り、挿入抽出誤りなど)を監視する。マイクロコントローラはさらに過度の挿入について符号器115を監視し、符号器115及び復号器130のため適正なランダム化装置のシードを提供する。さらに、マイクロコントローラは、リード−ソロモン復号器についてのアドレス情報を示す各ブロックのためのヘッダバイト及び復号のために必要とされるランダム化装置シードを作成する。マイクロコントローラはさらに、リードアフタライト誤りが検出された時には、リライトを呼び出す。最後に、マイクロコントローラは、当該技術分野において充分理解されているとおり、リード−ソロモン符号器/復号器の能力を超えた時点で、リードリトライを呼び出す。マイクロコントローラ120,140の主要な動作の各々について以下でさらに詳細に記述する。
図2は、図1aのランダム化装置/ビット挿入符号器115の主要機能要素を例示する概略的ブロックダイヤグラムである。図2に示されているように、ブロックインタリーブ装置110により提供されるデータパターン入力がランダム化装置200に入る。好ましい1実施形態においては、ランダム化装置200は、第1の入力端で入力データパターンを受信しかつ擬似雑音コード発生器205から第2の入力端を介して第2の入力端上で擬似ランダム雑音コードを受信する排他的論理和ゲートを含んで成る。以下でより詳細に記述する通り、擬似雑音コード発生器205は、以下でより詳細に記述するランダム化多項式によって規定されるシフトレジスタ及び加算器の構成を含んで成る。当然のことながら、線形フィードバックシフトレジスタ(LFSR)を用いたデータのランダム化はよく知られているもので従来通りのものであるということがわかるだろう。擬似雑音コード発生器レジスタの入力値を再度初期化することにより、発生器205により生成された擬似雑音コードを再構成することができ、かくして、擬似雑音コードを実行中に(例えばデータブロックの間で)容易に変更することが可能となる。
ランダム化装置200の出力は、ビットパターンインサータ210ならびにコード計量フォロワ215に送り込まれる。コード計量フォロワ215は、それ自体ビットパターンインサータ210ならびにビット挿入しきい値検出器225に対する入力を提供する挿入カウンタ220に入力を提供する。ビット挿入しきい値検出器225は、それ自体擬似雑音コード発生器205に対して制御信号を提供する主マイクロコントローラ120に対して状態信号を提供する。
ビットパターンインサータ210の出力はデータ記憶媒体に提供される。図2に示されているようにこの媒体には、磁気テープ230又は磁気ディスク235が含まれる可能性がある。当該技術分野において通常の知識を有する者によれば、ビットパターンインサータ210が一般的にはデータ記憶媒体230,235のうちのいずれか一方に接続され、同時に両方には接続されないということがわかるだろう。
動作中、インタリーブ装置110からのデータパターンは、基本的にランダムなデータパターン分布でライン206上に出力データパターンを生成する。以上で簡単に説明した通り、基本的にランダムな特性(すなわちデータ分布)をもつデータパターンは統計的に理想的なもので、復号誤りの確率を増大させる冗長なパターンを分割するように挿入されなくてはならないデータビットの数を最小限にする。
ライン206上のランダム化された出力は、ランダム化されたデータストリームが復号誤りの確率を最小限にするべく本発明に従って規定された3つの別々の計量基準を満たすか否かを決定するコード計量フォロワ215によって検出される。コード計量フォロワ215の動作については、図4〜7を参照しながら以下でさらに詳細に説明する。
ライン206に沿ってランダム化装置データストリーム内にビットパターンが挿入されるべきであることをコード計量フォロワ215が決定した場合、挿入カウンタ220が増分され、ビットパターンインサータ210により適切なビットパターンが挿入される。好ましい1実施形態においては、挿入されたビットパターンは4ビットワードを含んでいるが、特定の利用分野によって要求されるように、実際には、単一ビット又は代替的には多ビットワード(すなわち2つ、3つまたはそれ以上のビットを有するもの)を挿入することも可能である。適切なビットパターンを挿入するためにビットパターンインサータ210によって利用される方法については、以下で図4及び8を参照しながらより詳細に記述する。ビットパターンがひとたび挿入されたならば、データストリームは、永久記憶のために記憶媒体を通過する。例えば、データストリームを、テープ230又は磁気ディスク235に書込むことも可能である。
挿入カウンタ220は、ビットパターンインサータ210により出力されたデータストリームの中に挿入されるビットパターンの数を記録する。挿入検出器225内で過度に多い挿入が検出された場合、これはマイクロコントローラ120に対し伝送される1つの信号を発生する。マイクロコントローラ120は、発生器205によって出力された擬似雑音コードを再構成するため、擬似雑音コード発生器205を制御する。マイクロコントローラ120が、擬似雑音コード発生器205により出力された擬似雑音コードを修正する方法は、以下で図9及び10を参照しながらさらに詳細に記述される。
テープ又はディスクのいずれかに書込まれたデータは符号化され得る。データが磁気ディスク235にデータが書込まれていくにつれて、セクタに書込まれるデータの可変速度符号化に起因してディスクセクタサイズを超過した場合、ブロックはセクタの終りで打ち切られ、セクタは、異なるランダム化コード(すなわちシード)を用いてランダム化された同じデータで上書きされる。
この要領で、記憶されるべきデータストリーム上で行なわれるビット挿入の回数を低減するべくデータパターンをランダム化させることができるばかりでなく、実行中にランダム化コードを再構成することもできるので、もとのランダム化コードが許容可能量より少ないビット挿入回数を生成するのに不十分である場合に、その後に続くランダム化コードが磁気媒体上での記憶のための許容限度内にあるビット挿入頻度をもたらすことになるようにすることもできる。
図3は、図1bのランダム化解除装置/ビット抽出器復号器130の主要機能要素を例示する概略的ブロックダイヤグラムである。図3に示されているように、テープ230又はディスク235といったようなデータ記憶媒体は、コード計量フォロワ310による監視のため適切なレベルに入力データストリームの振幅を自動的に調整する自動利得制御回路305内にデータを入力する。磁気媒体に書込まれたデジタルビットストリームにAGC回路305のアナログ信号出力を復元するためにアナログ−デジタル変換ハードウェア307が用いられる。コード計量フォロワ310は、図2のコード計量フォロワ215と実質的に同じ要領で作動する。コード計量フォロワ310は、A/D変換器回路307により出力されたデータストリームを受信し、抽出カウンタ315ならびに主マイクロコントローラ120に対する指令信号を生成する。主マイクロコントローラ120に対する入力は、マイクロコントローラ120に対して、データストリーム内で検出された特定のビットパターンがデータの元のビットパターンではなく挿入されたビットパターンに対応しているという指示を与える。復号器内のコード計量フォロワ310が1つの挿入を含むパターンを検出した時点で、抽出カウンタ315は通知を受ける。抽出カウンタ315は挿入されたデータビットを除去し、同時に、図8を参照しながら以下で記述する通り、先行する2つの復号されたビットの極性に基づいて抽出されたビットが正しい極性であることを確認する。極性が正しくない場合、マイクロコントローラ140に情報提供するべく誤り状態信号が生成される。
ビットパターン抽出器320は、巡回冗長コード(CRC)検査回路325を通してデータストリームを出力する。CRC検査回路325は、適切なビットがデータストリームから抽出されたことを確認し、誤りが検出された場合、マイクロコントローラ120に対して1つの信号を出力する。CRC検査回路325により誤りが検出された時点で、ブロックは、消去としてフラグが立てられる。その後のリード−ソロモン復号器145において、消去としてタグがつけられたデータは、リード−ソロモン復号器145により提供される訂正能力を用いて再構築される。当該技術分野において周知の通り、リード−ソロモンコード化は、誤り検出ならびに訂正の両方が可能である。検出数に対する訂正数の割合は、望まれる利用分野に応じて変動し得る。本発明の好ましい実施形態においては、リード−ソロモン符号器/復号器は、訂正の最大数を実行するように(すなわち検出されたものと同数の誤りを訂正するように)セットされる。これは、誤りの検出が有利にもCRCを用いて実行されるからである。訂正できる以上の誤りが検出された場合には、マイクロコントローラ140はデータの再伝送を要求する。データがCRC検査回路325によりひとたび検査されたならば、データは、ランダム化解除装置回路330(有利な実施形態では排他的論理和ゲートを含む)及び擬似雑音コード発生器325を介して適切な擬似雑音コードで再び排他的論理和が計算される。擬似雑音コード発生器335は、ランダム化解除装置330を介して一定の与えられたデータブロックを復号するためにどの擬似雑音コードが使用されるべきかを指示する命令を、マイクロコントローラ120から受信する。当該技術分野において充分に理解されているように、ランダム化解除のためにどのコードを使用すべきかに関する情報は、一般的に可変コードではなくむしろ固定コードを用いてランダム化されるデータブロックのヘッダ部分から得られる。従って、テープ230又はディスク235への記憶のために当初書込まれたのと同じデータパターンが排他的論理和ゲート330の出力端で複製され、さらなる処理のためブロックインタリーブ解除装置135(図16参照)まで転送される。
図4は、本発明の可変速度符号化方法に従ってデータパターンを挿入するため、本発明に従って使用される一般的方法を例示する流れ図である。図4に描かれているように、この方法は、開始ブロック400により開始し、それぞれゼロ計量(メトリック)、位相計量、自動利得制御(AGC)計量及びプリアンブルパターン計量を決定するべく、並行処理するため4つの計量サブルーチンブロック410,420,430,435に入る。
サブルーチンブロック410内で決定されたゼロ計量は、データストリーム内で検出された(一般にゼロパターンと呼ばれる)連続的ゼロの尺度として用いられる。以上で簡単に説明した通り、長時間にわたりデータストリーム内でゼロパターンが持続するとき、誤りが発生しやすくなるので復号に対し有害となる。かくして、サブルーチンブロック410はゼロパターンの長さを表にして、ゼロパターンを表わす計量値又はフラグを出力する。ゼロ計量を決定するためサブルーチンブロック410内で用いられる方法について、以下で、図5を参照しながらさらに詳細に記述する。
サブルーチンブロック420内に表示されているように、入力データストリームの位相計量が決定される。位相計量は、データストリームの位相内容を示すものである。以上で簡単に論述した通り、データ復号は振幅だけでなく位相にも基づくことからデータストリームが適切な位相内容を内含していることが重要である。したがって、位相復号器が充分に再較正できないほどに入力データ信号の位相内容が小さい場合、復号器は較正を消失する可能性がある。これは、結果として位相復号器によって不正確な位相測定が行われることになり得る。従って入力データストリームの位相内容の尺度として、サブルーチンブロック420は位相計量値を出力する。サブルーチンブロック420内で利用される方法については、図7を参照しながら以下でさらに詳しく記述する。
サブルーチンブロック430内で表わされているように、自動利得制御(AGC)計量が決定される。読取り信号がA/D変換器307(図3)に入力されるべき振幅を正確に決定する目的で、自動利得制御回路305は、磁気媒体からのデータストリームを適切なレベルまで増幅しなくてはならない。しかしながら、このAGC回路305は時として再較正を必要とする。この再較正は、信号が持つはずである利得振幅を決定するための信号の振幅の変動によって左右される。かくして、AGC回路305が適切な間隔で再較正できるようにデータパターンの読取り中に信号が時々により最大振幅変動を受けることがきわめて有利である。従って、規定の間隔内で最大振幅変動が発生しなかったという判断がサブルーチンブロック430内で下された場合、AGCフラグ又は最大振幅変動からどれ程の時間が経ったかを示す測定値が、サブルーチンブロック430により出力される。AGC計量を決定するためサブルーチンブロック430内で利用される方法については、以下で図6を参照しながらより詳細に記述する。
本発明の特に有利な一実施形態においては、コードフォロワ215は、プリアンブルフィールドの外でプリアンブルパターンが複製されないことを確実にするためデータブロックのヘッダ及びデータフィールド部分を監視するために構成される。プリアンブルパターンについての監視は、サブルーチンブロック435内で実行される。どこかでプリアンブルの任意の14ビット部分が複製されたことが見極められた場合、ビットインサータにこの14ビットシーケンスの終りに単一ビットを挿入させるようなフラグがセットされる。この場合、挿入されるビットは、最後から2番目の符号化されたビットと同じとなるように選ばれ、かくして、ブロックのデータフィールド又はヘッドの中にプリアンブルシーケンスが記録されないようにする。
サブルーチンブロック410,420,430,435内で決定された計量は、ゼロ、位相又はAGC計量のうちのいずれか1つを超過したか否かを見極める判断ブロック440に対する入力として作用する。有利な一実施形態においては、サブルーチンブロック410,420,430,435は、単に、計量しきい値を超えたことを示すためフラグをセットする。いずれか1つの計量が超えた場合、サブルーチンブロック450(図8参照)内に表わされているように「障害スポット」を補償するため、データストリーム内に1つのビットパターンが挿入される。しかしながら判断ブロック440内で、計量が超えなかったことが判断された場合、方法はサブルーチンブロック410,420,430,435の入力まで戻る。適切な計量値は、新しいデータブロックの始めにリセットされる。
図5は、図4のゼロ計量サブルーチンブロック内でゼロ計量を決定するのに用いられる副方法の流れ図を例示する。この副方法は、開始ブロック500内に表わされている通りに始まり、図12のレジスタ実行型インパルス応答シミュレータのレジスタR3内に記憶された値が0に等しいか否かの判断がなされる。図12〜12dを参照しながら以下でより詳しく記述する通り、磁気記憶媒体からデータを読みとるために用いられる読取りヘッドのインパルス応答が、ゼロ、位相及びAGC計量を見積る手段としてシミュレートされる。レジスタR3内に含まれている値は、ゼロパターンの持続時間を表わすもので、ゼロパターンを分割するためにビットパターンが挿入されなければならないか否かを決定するために、レジスタR3内に含まれた値が使用され得る。
判断ブロック505内に表わされているように、レジスタR3内に含まれた値が0に等しいことが判断された場合、動作ブロック510内で表わされている通りカウンタ(すなわちR3カウンタ)が増分される。しかしながら、レジスタR3内に記憶された値が0に等しくないことが判断ブロック505内で判断された場合、動作ブロック515内で表わされている通り、R3カウンタは0にクリアされ、判断ブロック505に戻る。
3カウンタがひとたび増分されたならば、判断ブロック520内に表わされているように、R3カウンタ内に記憶された値が10に等しいか否かを判断するため、さらなるテストが実行される。R3カウンタ内に記憶された値がまだ10に等しくない場合、これは、ゼロパターンが、ビットパターンの挿入に値するほど充分に長いものでないことを意味する。しかしながら、R3カウンタ内に記憶された値が10に等しいことが確認された場合、これはすなわち、ゼロパターンを分割するのに1つのビットパターンの挿入を必要とするほどの充分な長さを、そのゼロパターンが有していることを表わしている。かくして、R3カウンタ内に記憶された値が10未満である場合、判断ブロック505に戻る。しかしながら、R3カウンタ内に記憶された値が10に等しい場合、動作ブロック525内に表わされているように、ビットパターンインサータ210によりビットパターンが挿入されるべきであることを表わすため、ゼロ計量フラグがセットされる。動作ブロック525内で表わされているように、ひとたびゼロ計量フラグがセットされたならば、これは、挿入が行なわれることになるということを表わしている。その後、挿入されたビットパターンが検出されたときには、R3を非ゼロ値にセットすることになるので、R3カウンタは、自動的にゼロにクリアされることになる。そして、レジスタR3内に記憶された値を監視するために復帰する。
図6は、図4の利得制御計量サブルーチンブロック内で自動利得制御計量を決定するべく本発明に従って用いられる一般的方法を例示する流れ図である。この方法は、開始ブロック600内で表わされている通りに始まり、判断ブロック605内で表わされている通りレジスタR3内に記憶された絶対値が2に等しくないか否かを決定するべくテストが実行される。以下でより詳しく記述する通り、レジスタR3内に記憶される値は、読取り振幅の尺度として使用され得る。従って、レジスタR3の絶対値が2に等しくない場合、これは、読取り振幅が正又は負の方向に最大の変動を示さなかったということを表わしている。従って、自動利得制御回路により最大振幅変動が観察されていないことから、自動利得制御が正確に較正できないおそれがある。このような理由から、図6の方法は、最大振幅変動の間で発生するクロックサイクルの数を保持する。これを達成するため、動作ブロック610内で表わされているように、自動利得制御カウンタが増分される。しかしながら、判断ブロック605内でレジスタR3内に記憶された絶対値が2に等しいということが判断された場合には、これは、動作ブロック615内で表わされている通り、AGC回路により最大振幅変動が観察され、そのためAGCカウンタは0にクリアされるということを表わしている。動作ブロック615から、方法は判断ブロック605まで戻り、ここで読取り振幅は再び監視される。
動作ブロック610内で表わされている通り、AGCカウンタがひとたび増分されたならば、判断ブロック620内で表わされているように、AGCカウンタが60という値まで増分されたか否かの決定が下される。AGCカウンタ内に記憶された60という値は、最後の最大振幅変動以降60クロックサイクルが発生したことを表わしており、このクロックサイクル数は自動利得制御回路を再度較正する目的で適切なビットパターンを挿入するのに適切な数であることが見い出された。かくして、図6に描かれているように、AGCカウンタが60という値まで増分した場合、AGC計量フラグは、動作ブロック625内で表わされているように、適切なビットパターンが挿入されるべきであることを指示するためAGC計量フラグがセットされる。AGCカウンタが60という値までまだ増分されていない場合、フロー、レジスタR3内で記憶された値を介して読取り振幅変動を監視し続けるために判断ブロック605まで戻る。
図8を参照しながら以下でさらに詳しく記述するように、動作ブロック625内で表わされているように、データストリーム内にどのビットパターンが挿入されることになるかを決定するため、挿入されたビットパターンに先立つデータストリーム内の2つのビットが監視され、入力ビットパターンとデータストリーム内の先行する2データビットの組合せによって最大振幅変動を生成するように共に動作することを確実にするため1つのビットパターンが選択される。AGCゼロ計量フラグがひとたびセットされたならば、これは、動作ブロック615内で表わされているように、その後AGCカウンタを0にクリアすることになるビットパターンの挿入をひき起こすことになる。その一方、シミュレートされた読取り振幅の監視が再開される。
図7は、図4の位相計量サブルーチンブロック内の位相計量を決定するため、本発明に従って使用される方法を例示する流れ図である。この方法は、開始ブロック700内で表わされている通りに開始し、動作ブロック705内で表わされているように、図12のレジスタR5及びR3の中に記憶された値の間の差の絶対値が計算される。
その後、動作ブロック705内で計算された値は、動作ブロック710内で表わされている通り、加重平均値へと変換される。ここで記述されている実施形態においては、動作ブロック705内で計算された値は、0,1,2,3又は4であることから、対応する加重平均値は0,2,4,6及び8である。例えば、動作ブロック705内で計算された値が3である場合、このときこの値は動作ブロック710の中で6という値に交換されることになり、一方動作ブロック705内で計算された値が4である場合、この値は動作ブロック710内で8という値に変換されることになる。
その後、動作ブロック715によって表わされているように、位相内容について監視されてきたデータブロックのプリアンブルから始めて全てのビットについて計算された加重平均値から移動平均が算出される。この移動平均は、動作ブロック705内で新しい値が計算される度毎に再度計算される。有利には、各データブロックの始めにおいて、平均値は、最大に近い位相内容を示す何らかの数にセットされる。移動平均が計算されるにつれて、この値は、データストリームの実際の位相内容によって決定される通りに変動する。この移動平均が或る一定のしきい値より小さくなった場合、これはすなわち、データストリームが非常に低い位相内容を有し、従って位相較正を改善するためビットパターンを挿入すべきであることを示している。その理由は、レジスタR5内に記憶された値がレジスタR3内に記憶された値の時間遅延されたものであるということにある。かくして、レジスタR5及びR3内に記憶された値の間の差異は、レジスタR4内に記憶された値に対応するサンプル時間でのデータストリームの変化速度の尺度である。従ってこの差分値によって位相内容を評価し、この値から、データストリームの位相内容を増大するためビットパターンが挿入される必要があるか否かについての指示を行なうことができる。
移動平均がひとたび計算されたならば、判断ブロック720内で表示される通り、この移動平均がしきい値よりも小さいか否かの決定が下される。1つの有利な実施形態においては、しきい値は、データフィールドに対するよりもヘッダフィールドに対してはより大きいものであるが(図11参照)、これらのしきい値について用いられる実際値は、利用分野に応じて変動する可能性があり、特定の実施によって要求される通りに決定してよい。このとき位相計量フラグは、動作ブロック723の中で表わされている通りにセットされ、フローは復帰して位相内容を監視する。この要領で、データストリーム内で位相内容の欠如が検出された時点で、データストリームの位相内容を増大するためにビットパターンを挿入させるフラグがセットされる。しかしながら、移動平均がしきい値より高い場合、次の差分値を決定するために動作ブロック705に再度入る。
図8は、適切なビットパターンを選択し入力データストリーム内に挿入するため図4の挿入ビットサブルーチンブロック内で使用される副方法を例示する流れ図である。この方法は、開始ブロック800によって表示される通りに開始し、判断ブロック801内で表示されている通りプリアンブルパターンが検出されたか否かについての決定が下される。プリアンブルパターンが検出された場合、これは動作ブロック802の中で表示されているように、データストリーム内に適切なビットを挿入させることになる。一方、プリアンブルパターンが検出されなかった場合、判断ブロック803内で表示されている通りに、セットされたフラグがゼロ計量フラグであるか否かの決定がなされる。ゼロ計量フラグがセットされた場合、動作ブロック804内に表示されている通りに、ゼロパターンを分割するためデータストリーム内に「1100」のビットパターンが挿入される。1100というデータパターンの挿入は、適切にゼロパターンを分割し、同様に、正確な位相及び振幅較正を提供するべく位相及び振幅情報をも内含している。動作ブロック804から、フローは図4の主方法まで戻る。
判断ブロック803内で、ゼロ計量フラグがセットされなかったと判断された場合、判断ブロック805内で表わされているように、データストリーム内の先行する2ビットが「00」であったか否かの決定がなされる。最後の2つのビットが00であった場合、1100のビットパターンは、動作ブロック810内で表わされている通りにデータストリーム内に挿入されて、「001100」という6ビットパターンを生成する。しかしながら、判断ブロック805内で、先行する2つのデータビットが00でなかったと判断される場合、判断ブロック815内に表わされているように、最後の2つのビットが「01」であったか否かの決定に進む。最後の2ビットが01であったとすると、「011001.」の6ビットデータパターンを生成するため、動作ブロック820内に表わされているように1001のビットパターンが挿入される。しかしながら、データストリーム内の最後の2データビットが01でなかった場合、判断ブロック825まで進み、ここで、最後の2つのデータビットが「10」であったか否かの判断がなされる。データストリーム内の最後の2つのデータビットが10であった場合、「100110」の6ビットデータパターンを生成するべく動作ブロック830内で表わされているように、0110のデータパターンが挿入される。
しかしながら、最後の2つのデータビットが10でなかった場合、これは、最後の2つのデータビットが11であったことを表わしており、従って「110011」という6ビットのデータパターンを生成するべく、動作ブロック840内に表わされている通り、0011のデータビットパターンがデータストリームの中に挿入される。当業者であれば、上述のビット挿入方法は、フェーズロック及び利得較正が失なわれないようにフェーズロックドループ及びAGC回路を補助するべくデータストリーム内に最大位相及び振幅情報が挿入されることが確実になるということが理解できるだろう。
適切なデータビットパターンが動作ブロック810,820,830又は840内でひとたび挿入されたならば、動作ブロック850内に表わされている通り、図4の主方法まで戻る。この要領で、好ましい実施形態の方法は、精確なフェーズロック較正を提供するようデータストリーム内に適切かつ充分な位相内容が確実に挿入されることを確実にする。さらに、図8の方法に従った4ビットのデータパターンの挿入は最大位相変動(すなわちR3−R5=4又は−4)を結果としてもたらすことになり、この値は、最大位相変動が移動平均に対するより一層大きい寄与という結果をもたらすような形で重みづけされることから、移動平均をしきい値レベルよりもかなり上まで上昇させるには、1つのビットパターンの挿入だけで充分であり、このビットパターン挿入によって最適な位相内容を得ることができる。
図9は、データが磁気ディスク上に記憶されなければならない場合にランダム化多項式を再構成するために本発明に従って使用される一般的方法を例示する流れ図である。この方法は、開始ブロック900に表わされている通りに開始し、動作ブロック910内に表わされている通り、データストリーム内にビットパターンが挿入された場合には常に、判断ブロック920内に表わされている通り、一定の与えられたデータブロックにとって挿入されたビット数が多すぎるか否か判断される。1つの実施形態においては、挿入数が表にされ、データブロックをディスク上に記憶するには大きすぎるビット数よりもこの挿入数の4倍が大きい場合、フラグがセットされる。
したがって、挿入数がしきい値を上回っていないと判断されると、次のビットパターンインサートの作表のため動作ブロック910に戻る。しかしながら、判断ブロック920内でしきい値を超えたと判断される場合には、動作ブロック930内で表わされている通りに最後のデータブロックを切り捨てるために進む。すなわち、ディスクに書込まれたデータブロックは、このデータブロックが書込まれるセクターのサイズを超えないように切り捨てられる。その後、ランダム化されるべき次のデータブロックのためのランダム化装置の初期設定値は、動作ブロック940内で表わされている通り、マイクロコントローラ120により変更される。1つの有利な実施形態においては、ランダム化装置の設定値は、最後のデータブロック上で用いられたものに対する直交擬似雑音符号に対する設定に変更され得る。
直交符号を生成する目的でランダム化多項式を再構成するのに用いられる方法は、当該技術分野において周知である。直交符号に対する再構成は、次のデータブロックが新しい擬似雑音符号と高い相関関係をもたないようにすることを確実にする。これは、直交符号が互いに基本的にゼロの相関関係をもちそのため、ビットパターンが一定の与えられた擬似雑音符号と高い相関関係をもつとき、データの連続するブロックが基本的に同じビットパターン特性を有することを仮定すると、この同じパターンは、もとの擬似雑音コードに対し直交する擬似雑音符号と低い相関関係を有することになるからである。かくして、新しい擬似雑音符号が直前の擬似雑音符号に直交するように、次のデータブロックについてのランダム化装置の初期設定値を変更することにより、データビットストリームのための挿入数を常に、ディスク上への記憶のために必要とされるしきい値より下に低減させることができる。
好ましい1つの実施形態においては、データストリームをランダム化するのに用いる擬似雑音符号の族を生成するために用いられるランダム化多項式は、次のとおりである。
Figure 0003935942
最後にランダム化装置初期設定値が変更された後、挿入数が多すぎる直前のデータブロックは、動作ブロック950の中で表わされているように、新しい擬似雑音符号を用いて上書きされる。その後の全てのデータは同様に、新しい擬似雑音コードを用いてランダム化される。ディスク記憶装置の場合、ランダム化多項式係数を実行中に変更することそして、実行中の上書きを許容するディスク記憶媒体の特性に起因して、直前のデータブロックを上書きすることが可能である。かくして、図9の方法に従うと、実行中のランダム化多項式の変更によって、与えられたデータブロックに対する増加率が磁気ディスクへの記憶のために割当てられたセクタスペースを超えることは全くなくなることから、データが記憶目的のために大きすぎるというおそれなく、そのデータをディスク駆動機構に書込むことが可能である。
ここで、或る種のケースにおいて、ランダム化多項式係数を変更する直接的方法が用いられる場合にはかかるデータストリームが受け入れ不可能な数のビット挿入を必要とすることがなおも可能であるようにランダム化多項式内の変更を予想するような方法で(すなわち退化パターンを生成するという特定的な意図をもって)データが符号化されている、ということに留意すべきである。かくして好ましい1実施形態に従うと、ランダム化多項式を変更する方法は、それ自体疑似ランダム又は非決定論的のものであり、従ってこの方法においてデータ記憶を失敗させるべく意図的に符号化されるデータストリームは、なお、ビット挿入数を許容可能なレベルまで低減させるような形でランダム化され得るようになっている。当該技術分野において周知の通り、互いに直交する符号の数は、ランダム化多項式により規定されたコード系統群と結びつけられている。かくして最後に用いられた符号に対し直交する符号のうちのいずれか1つを次のランダム化装置シードとしてランダムに選択することができる。代替的には、特定の利用分野により要求されるように、連続的符号を選択するための複雑な非反復的パターンも使用することができる。
図10は、書込みされるデータ記憶媒体が磁気テープである場合にランダム化多項式を再構成するのに本発明に従って使用される方法全体を例示する流れ図である。方法は、開始ブロック1000内で表わされている通りに開始し、その後データストリーム内へのあらゆるビット挿入が動作ブロック1010内で表わされている通りに作表される。判断ブロック1020内で表わされている通り与えられたデータブロックについての挿入数が許容可能な限界内にあることが決定されたならば、そのとき、動作ブロック1010に戻り次の挿入を待つ。しかしながら、判断ブロック1020内で、挿入数が許容可能なしきい値レベルを超えたという決定がなされた場合は、判断ブロック1030内で、単数又は複数のデータブロックについて挿入数が大きすぎるか否かのさらなる決定がなされる。1つの有利な実施形態においては、挿入数があまりにも長時間過剰であり続けていることが決定される前は1つのデータブロックが監視されるが、特定の利用分野により要求される通りに2つ、3つ又はそれ以上のブロックを監視することも可能である。挿入数が過度に長い期間過剰でなかった場合には、動作ブロック1010まで戻る。ただし、判断ブロック1030内で、挿入数が過度に長い時間過剰であったと決定された場合には、動作ブロック1040内で表わされているように、次のブロックについてのランダム化装置初期設定値(すなわちランダム化多項式に対する係数)が変更される。動作ブロック1040内で利用される方法は、図9の動作ブロック940内で利用される方法と実質的に同一である。
次のデータブロックについてランダム化多項式係数が変更された後、方法は動作ブロック1010まで戻ってデータストリーム内へのインサート数の監視を続ける。この要領で、好ましい実施形態は、磁気テープ上に記憶されるべきデータ内へのビット挿入数が、記憶されるべきデータのサイズを許容可能な限界(例えば1%)以上に増大させないことを確実にする。
図11は、本発明の1つの好ましい実施形態の中のデータブロックの書式を概略的に例示している。ブロックフォーマット全体は利用分野に特定的である。各々のブロックは好ましくは、インターリーブされた一連の組織的リード−ソロモン符号語を含む一連のフレーム化されたサブブロックから成る。誤り訂正は、まず第1に消去に基づいている。これは効果的でかつ狭い帯域幅を使用する。
図11に示されているように、各データブロックは、プリアンブル、ヘッダ、データ部分、巡回冗長検査(CRC)部分及びポストアンブルを内含する。プリアンブルは一般的に、新しいデータブロックの始まりを識別するのに使用される4バイトセグメントを含み、有利には疑似雑音符号で符号化されず、従ってプリアンブルセグメントを検出するために疑似雑音コードを知っている必要はない。実際の1実施形態においては、プリアンブルは、“01001100110011001100110011001111.”である。
ヘッダセグメントは、データセグメントスクランブラのための初期設定ならびにその他の情報の初期設定を内含している。ヘッダセグメントは、好ましくは3バイトシーケンスであり、ホストから共有メモリ資源により受信された512バイトのデータブロックの各々に対して、マイクロコントローラ120により共有メモリ資源に送られる。従ってヘッダフィールドは好ましくは、直接メモリアクセス(DMA)チャンネルから符号器によって受信された最初の3つのバイトで構成されている。記録に先立ち、ヘッダは、固定ランダム化装置コード(すなわちシード)を用いてランダム化される。ヘッダは、復号器130で常に利用可能である固定されたシードを用いてランダム化されるから、ヘッダのランダム化は、結果として低い読取り特性をもつヘッダシーケンスをもたらす可能性がある。例えば、固定したヘッダランダム化装置は、長いゼロストリングを含むヘッダを生成するかもしれない。ヘッダフィールドのために再ランダム化は適用できないことから、データフィールドとは異なる符号化方法をヘッダフィールドについて用いることが好ましい。例えば、ヘッダは、固定された4/5又は8/9符号を用いて符号化され得る。これは、データブロックに対し用いられる可変速度挿入コードほど効率の良いものではないが、再ランダム化がない場合の読取り可能性をより確実にする。好ましい代替案としてヘッダについて可変速度ビット挿入を実行することができるが、この場合、ヘッダフィールドについての適切な読取り特性をより良く確保するため、ゼロシーケンス長、位相内容及び振幅変動について、データフィールドを書込むときに利用されるものとは異なるビット挿入しきい値及び振幅変動を用いる。
ランダム化装置初期設定は、物理的フレーム内の全てのサブブロックについて同一であることが望ましい。書込み中の読み出し誤り訂正のため、サブブロックは、物理的トラック又はそれらが記録されるフレームとは異なるトラック又はフレームに関連づけられている可能性がある。かくして、この効果を補償するのに用いられる情報がヘッダ内に内含される。
データフィールドは、ランダム化多項式を用いてコード化されたデータを内含する。このデータフィールドは、DMAチャンネルからの最後の512バイトを内含する。1つの有利な実施形態においては、データのランダム化には、当該技術分野において周知である方法に従って上述された24ビットのランダム化多項式の最下位のビットとデータとの排他的論理和を演算することを含んでいる。
CRCセグメントは有利には、先行するヘッダから計算された6バイトフィールド及びランダム化の後のデータフィールドを含む。このサブブロックは、ランダム化されておらず、サブブロックをランダム化装置の初期設定の知識なく妥当性検査できるようにしている。好ましい一実施形態では、CRCフィールドを計算するのに使用される多項式は、以下の通りである。
Figure 0003935942
ポストアンブルフィールドは有利には、0101といった4ビットパターンを含んでいる。
図12−12dは、ゼロ、位相及びAGC計量を決定するため、読取りヘッダインパルス応答をシミュレートするのに畳込み符号器内で用いられる方法を概略的に例示している。磁気媒体からデータを読取るのに用いられる読取りヘッドが充分な振幅及び位相情報を受信しているか否かを決定するために、部分的応答シミュレーション方法を用いて読取りヘッドの効果をシミュレートすることが重要である。好ましい実施形態において使用される特定の実施形態においては、拡張部分応答、クラス4(EPR4)がシミュレートされるが、これは、この方法を用いたシミュレーションが、好ましい実施形態で使用される読取りヘッド内で見られる実際の応答に最も近いからである。
図12に記述されているように、データストリームが並列の乗算器回路内に入力され、データストリームの各ビットが、正の1又は負の1のいずれかによって同時に乗算される。図12に描かれているように、データストリームからのビットは正の1で乗算され、次にレジスタR0内の値に加算され、一方、同じビットは1で乗算されてレジスタ要素R1内に記憶された値に加算される。同じデータビットは、同様に、それぞれレジスタR2及びR3内に記憶された値に加算されるべく−1で乗算される。各ブロックサイクルの時点で、シフトレジスタ要素内に記憶された値は1ビットだけシフトされ、読取りヘッドインパルス応答をシミュレートするため畳込み符号化が実行される。
例えば、図12a〜12dに描かれているように、レジスタ要素R0−R5が0に初期化されたと仮定すると、データストリーム内の第1のビットが受信された時点で、レジスタ要素R0−R5はそれぞれ、図12aに描かれているように、1,1,−1,−1,0及び0の値をもつことになる。その後、シフトレジスタ要素R0−R5内の値は1要素だけシフトされ、かくしてR0は0に等しく、R1は1に等しく、R2は1に等しく、R3は−1に等しく、R4は−1に等しく、R5は0に等しくなる。
その後、データストリーム内の次のデータビットが印加された時点で(例えば図12bに示されているように0)、この値は適切な乗算器の値により乗算され、シフトレジスタ要素R0−R5内に記憶された値に加算される。図12bの例内で示されているようにデータストリーム値は0であることから、これはシフトレジスタ要素R0−R5内に記憶されたビットのどの値も変更することはない。
しかしながら、次のクロックサイクルでは、データビットは再度シフトされ、次にデータストリーム内の次のビットが適切な乗算器の値により乗算され、シフトレジスタ要素R0−R3内のそれぞれの値に加算される。図12cに描かれているように、次のクロックサイクルで1が印加されると、これは1という値がシフトレジスタ要素R0内に記憶された0の値に加算されることになり、一方シフトレジスタ要素R1内で記憶された0値に対しても1という値が加算される。さらに、−1という値は、シフトレジスタR2及びR3内に記憶された値に加算され、かくして結果として、正味の0値がシフトレジスタ要素R2及びR3内に記憶されることになる。最後に、シフトレジスタ要素R4及びR5は、それぞれ−1及び−1のシフトされた値を含む。
ここでも又、これらの値は1つの要素だけシフトされ(かくしてR0−R5はこのとき0,1,1,0,0,−1にそれぞれ等しい)、データストリーム内の次のビットは適切な係数で乗算されシフトレジスタ要素R0−R2に加算される。シフトレジスタ要素R0−R3内に記憶された値に対する引き続く乗算及び加算は、1,2,0,−1,0及び−1の値はそれぞれシフトレジスタ要素R0−R5内に記憶されることになる。
上述の方法から理解できるように、データストリームとして連続するゼロの長いストリームが入力された場合には常に、結局R3のレジスタ値をさらなるクロックサイクル数だけ0の値にすることになる。かくしてレジスタR3内に記憶された値は、データストリーム内のゼロを表わしている。さらに、R3の値が利得内容を表わし、従ってデータストリーム内に大きな振幅変動が観測される場合に常にR3の値が+2又は−2となるということもわかるだろう。かくして、長期間にわたりレジスタ要素R3内に2又は−2の値が現われなかった場合には、常に、それは、データストリームに振幅情報が欠如しておりそのため上述の通り振幅情報を付加するビットパターンが挿入されなくてはならない、ということを表わしている。最後に、レジスタ要素R5内に記憶された値は単にレジスタ要素R3内に記憶された値の時間遅延されたものであるため、同じクロックサイクル中にとられたレジスタ要素R3及びR5内に記憶された値の間の差異は、時間R4においてデータストリームが生成したインパルス応答の「勾配」を表わすことになる。かくして、レジスタ要素R5内に記憶された値とレジスタ要素R3内に記憶された値の間の差異は、位相内容の尺度であり、ここで、大きな差異は大きな位相内容を表わし、小さい差異は小さな位相内容を表わす。
以上で好ましい実施形態について詳述したが、当業者であれば、本発明の精神又は中心となる特徴から逸脱することなく好ましい実施形態に対しいくつかの明白な修正を加えることが可能である、ということがわかるだろう。例えば、挿入カウンタは、全体的ブロックサイズ又は挿入されていないビットに対する挿入されたビットの比率を監視する装置として実施することが可能である。従って本発明の範囲は、以下の請求の範囲に照らし合わせて解釈されるべきである。

Claims (27)

  1. データ記憶媒体上に記憶されるべきデジタルデータストリームを誤り符号化するための装置において、
    データストリーム入力端末と、
    ビット挿入を実行すべきか否かを判断するため前記データストリームの内容を監視するコード監視デバイスと、
    前記コード監視デバイスがビット挿入を実行すべきであると判断した後、前記データストリーム内に所定数のビットを挿入することによって、前記データストリームの内容に依存する可変量だけ前記データストリームの長さを増大させるビットインサータであって、挿入ビットの位置が前記データストリームの内容に依存するビットインサータと、を含んで成る装置。
  2. 前記ビットインサータが、最大位相情報をコード化する多ビット語を挿入する、請求項1に記載の装置。
  3. 前記挿入された多ビット語が最大振幅情報をも符号化する、請求項2に記載の装置。
  4. 前記ビットインサータが、最大振幅情報を符号化する多ビット語を挿入する請求項1に記載の装置。
  5. 前記ビットインサータが4ビット語を挿入する請求項1に記載の装置。
  6. 前記デジタルデータストリームが、所定のプリアンブルシーケンスと関連する前記データ記録媒体に書込まれ、
    前記コード監視デバイスが、前記デジタルデータストリームが前記プリアンブルシーケンスのサブセットを含むか否かを判断するために、前記デジタルデータストリームを監視し、
    前記ビットインサータが前記プリアンブルシーケンスの前記サブセットの一方端においてビットを挿入する、請求項1に記載の装置。
  7. 磁気データ記憶媒体と、
    データストリーム内に所定数のビットを挿入することによって、前記データストリームの内容に依存する可変量だけ前記データストリームの長さを増大させるビットインサータであって、挿入ビットの位置が前記データストリームの内容に依存する、ビットインサータと、
    を含んで成るデータ記憶デバイス。
  8. データ記憶媒体上に記憶されるべきデジタルデータストリームを誤り符号化するための方法において、
    データストリームを入力する段階と、
    ビット挿入を実行すべきか否かを判断するため前記データストリームの内容を監視する段階と、
    前記ビット挿入を実行すべきである場合に前記所定数のデータストリーム内にビットを挿入することにより、前記データストリームの内容に依存する可変量だけ前記データストリームの長さを増大させる段階であって、挿入ビットの位置が前記データストリームの内容に依存する段階、を含んで成る方法。
  9. 前記入力データストリームを受信し、ランダム化データストリームを出力するデータのランダム化装置をさらに含み、前記ランダム化装置は、非決定論的方法により周期的に再構成され、その結果前記入力データストリームの異なる部分が、異なって構成されたランダム化装置によりランダム化される請求項7に記載のデータ記憶デバイス。
  10. 前記挿入段階は、最大位相情報をコード化する多ビット語を挿入する段階を含む、請求項8に記載の方法。
  11. 前記挿入された多ビット語がさらに最大振幅情報を符号化する、請求項10に記載の方法。
  12. 前記挿入段階は、最大振幅情報を符号化する多ビット語を挿入する段階を含む、請求項8に記載の方法。
  13. 前記多ビット語が4ビット語から成る請求項8に記載の方法。
  14. データ記憶媒体上に記憶されるべきデジタルデータストリームを誤り符号化するための装置において、
    データストリーム入力端末と、
    前記データストリーム入力端末と交信状態にあり、その出力端においてランダム化されたデータストリームを生成するべく第1のランダム化符号を用いて前記デジタルデータストリームをランダム化するランダム化装置と、
    ビット挿入を実行すべきか否かを判断するため前記ランダム化装置の前記出力端を監視するコード監視デバイスと、
    前記コード監視デバイスが、ビット挿入を実行すべきであると判断した時点で、前記ランダム化されたデータストリーム内にデータビットを挿入するビットインサータと、
    ランダム化されたデータストリーム内への挿入数を監視する挿入カウンタと、
    前記ランダム化されたデータストリーム内への挿入数が規定値を上回る場合に前記第1のランダム化符号とは異なる第2のランダム化符号を用いて前記ランダム化装置が前記デジタルデータストリームをランダム化するランダム化装置再構成デバイスと、を含んで成る装置。
  15. 前記第2のランダム化符号が前記第1のランダム化符号に対し直交している、請求項14に記載の装置。
  16. 前記ランダム化装置再構成デバイスが、非決定論的方法に従って前記ランダム化符号を再構成する、請求項14に記載の装置。
  17. 前記ランダム化装置再構成デバイスが、ブロック毎のベースで前記ランダム化符号を再構成する、請求項14に記載の装置。
  18. 前記ビットインサータが各々の挿入時点で多ビットを挿入し、この多ビットは、最大位相及び振幅情報を符号化するべく選択されている、請求項14に記載の装置。
  19. データ記憶媒体上に記憶されるべきデジタルデータストリームを誤り符号化するための方法において、
    ランダム化されたデータストリームを生成するべく第1のランダム化符号を用いて前記デジタルデータストリームをランダム化する段階と、
    ビット挿入が実行されるべきか否かを判断するべく前記ランダム化されたデータストリームを監視する段階と、
    ビット挿入が実行されるべきであることが判断された時点で、前記ランダム化されたデータストリーム内にデータビットを挿入する段階と、
    ランダム化されたデータストリーム内への挿入の数を監視する段階と、
    前記ランダム化されたデータストリーム内への挿入の数が規定の値を上回った時点で前記第1のランダム化符号とは異なる第2のランダム化符号を用いて前記デジタルデータストリームをランダム化する段階と、を含んで成る方法。
  20. 第2のランダム化符号を用いて前記デジタルデータストリームをランダム化する前記段階が、非決定論的方法に従って前記第2のランダム化符号を選択する請求項19に記載の方法。
  21. 第2のランダム化符号を用いて前記デジタルデータストリームをランダム化する前記段階が、ブロック毎のベースで実行され得る、請求項19に記載の方法。
  22. 前記ランダム化されたデータストリーム内にデータビットを挿入する前記段階が、各々の挿入行為の時点で多ビットを挿入し、前記多ビットは最大位相及び振幅情報を符号化するように選択されている、請求項19に記載の方法。
  23. データの一部分をランダム化する段階と、
    予め定められた条件下で前記データの前記部分を再ランダム化する段階と、を含んで成る、請求項8に記載の方法。
  24. データ記憶媒体上に記憶されるべきデジタルデータストリームを符号化するための装置において、
    第1のランダム化されたデータストリームを生成するべく第1のランダム化符号を用いて前記デジタルデータストリームをランダム化するための手段と、
    ビット挿入を実行すべき前記データストリーム内の場所を判断するための手段と、
    前記ランダム化されたデータストリーム上で実行されるべきビット挿入の数を監視するための手段と、
    前記第1のランダム化されたデータストリームへのビット挿入の数が規定値を上回った時点で、前記第1のランダム化符号とは異なる第2のランダム化符号を用いて前記データストリームをランダム化するための手段と、を含んで成る装置。
  25. 第1のランダム化符号を用いて前記データの第1の部分をランダム化する段階と、
    第2のランダム化符号を非決定論的に選択する段階と、
    前記第2のランダム化符号で前記データの第2の部分をランダム化する段階と、を含んで成る請求項8に記載の方法。
  26. 前記データの前記第2の部分と関連して前記第2のランダム化符号を記憶する段階をさらに含んで成る請求項25に記載の方法。
  27. 1のランダム化されたデータストリームを生成するべく第1のランダム化符号を用いて前記デジタルデータストリームの第1の部分をランダム化するための手段と、
    第2のランダム化符号を非決定論的に選択するための手段と、
    第2のランダム化されたデータストリームを生成するべく前記第2のランダム化符号を用いて前記デジタルデータストリームの第2の部分をランダム化するための手段と、
    データ記憶媒体上に前記第1及び第2のランダム化されたデータストリームを記憶するための手段と、
    を含んで成る請求項1に記載の装置。
JP52869497A 1996-02-09 1997-02-07 デジタルデータ記憶用の符号器 Expired - Lifetime JP3935942B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US08/599,146 1996-02-09
US08/599,149 US5815514A (en) 1996-02-09 1996-02-09 Variable rate bit inserter for digital data storage
US08/599,149 1996-02-09
US08/599,146 US5712863A (en) 1996-02-09 1996-02-09 Randomizing encoder for digital data storage
PCT/US1997/002010 WO1997029486A2 (en) 1996-02-09 1997-02-07 Encoder for digital data storage

Publications (3)

Publication Number Publication Date
JP2001518224A JP2001518224A (ja) 2001-10-09
JP2001518224A5 JP2001518224A5 (ja) 2004-11-18
JP3935942B2 true JP3935942B2 (ja) 2007-06-27

Family

ID=27083253

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52869497A Expired - Lifetime JP3935942B2 (ja) 1996-02-09 1997-02-07 デジタルデータ記憶用の符号器

Country Status (8)

Country Link
EP (2) EP1256951A1 (ja)
JP (1) JP3935942B2 (ja)
CN (1) CN1135549C (ja)
AU (1) AU733663B2 (ja)
CA (1) CA2246423C (ja)
HK (1) HK1019654A1 (ja)
RU (1) RU98116742A (ja)
WO (1) WO1997029486A2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6543024B2 (en) 1996-02-09 2003-04-01 Overland Storage, Inc. Write format for digital data storage
US5931968A (en) 1996-02-09 1999-08-03 Overland Data, Inc. Digital data recording channel
US6167550A (en) * 1996-02-09 2000-12-26 Overland Data, Inc. Write format for digital data storage
US6597526B1 (en) 1998-08-14 2003-07-22 Overland Storage, Inc. Magnetic tape drive apparatus including a variable rate encoder
EP1069569A3 (en) * 1999-06-28 2005-06-01 Hewlett-Packard Company, A Delaware Corporation Data set recovery by codeword overlay
KR100841285B1 (ko) * 2006-09-18 2008-06-25 주식회사 펜래버레토리 표면상에 절대 위치 표시 패턴을 갖는 제조물 및 그 절대위치 표시 패턴의 형성 방법
CN102169697A (zh) * 2011-01-06 2011-08-31 中国科学院上海光学精密机械研究所 抑制光盘数据直流和值的装置和方法
EP2863566B1 (en) 2013-10-18 2020-09-02 Université de Nantes Method and apparatus for reconstructing a data block
CN108011640B (zh) * 2016-11-01 2021-01-12 中国科学院沈阳自动化研究所 一种用于(2,1,n)卷积编码的通用方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6490621A (en) * 1987-09-30 1989-04-07 Nec Corp Decoder
JP2666367B2 (ja) * 1988-05-24 1997-10-22 ソニー株式会社 Mスクランブル回路
JP2974678B2 (ja) * 1988-06-23 1999-11-10 ソニー株式会社 データ誤り検出方式
US4978955A (en) * 1989-11-09 1990-12-18 Archive Corporation Data randomizing/de-randomizing circuit for randomizing and de-randomizing data
JP3053106B2 (ja) * 1990-11-02 2000-06-19 株式会社日立製作所 暗号化処理装置、及び復号化処理装置
US5255130A (en) * 1991-03-29 1993-10-19 Archive Corporation Adjustable write equalization for tape drives
DE69227795T2 (de) * 1991-03-30 1999-05-27 Kabushiki Kaisha Toshiba, Kawasaki, Kanagawa Kodiereinrichtung für digitale Signale mit verbesserter Kanal-Blockkodierung
US5369641A (en) * 1991-11-12 1994-11-29 Storage Technology Corporation Method and apparatus for detecting and correcting errors in data on magnetic tape media
AU669563B2 (en) * 1992-09-22 1996-06-13 Sony Corporation Digital video signal processing apparatus and method
JP3429795B2 (ja) * 1992-10-08 2003-07-22 株式会社デノン 光ディスク装置及び光ディスク
DE69322054T2 (de) * 1992-10-16 1999-04-01 Matsushita Electric Industrial Co., Ltd., Kadoma, Osaka Gerät zur Aufzeichnung von Datensignalen mittels Steuerung der Frequenzcharakteristiken der Datensignale
JPH06197024A (ja) * 1992-11-09 1994-07-15 Sony Corp 変調方法、変調装置及び復調装置
JP2780612B2 (ja) * 1993-10-13 1998-07-30 富士通株式会社 磁気記録再生装置

Also Published As

Publication number Publication date
AU733663B2 (en) 2001-05-17
CN1135549C (zh) 2004-01-21
HK1019654A1 (en) 2000-02-18
EP0879464A2 (en) 1998-11-25
EP1256951A1 (en) 2002-11-13
WO1997029486A3 (en) 1997-10-23
JP2001518224A (ja) 2001-10-09
CA2246423C (en) 2004-08-03
RU98116742A (ru) 2000-06-27
WO1997029486A2 (en) 1997-08-14
CN1215495A (zh) 1999-04-28
AU1955097A (en) 1997-08-28
CA2246423A1 (en) 1997-08-14

Similar Documents

Publication Publication Date Title
US5815514A (en) Variable rate bit inserter for digital data storage
US5931968A (en) Digital data recording channel
US5712863A (en) Randomizing encoder for digital data storage
US4993029A (en) Method and apparatus for randomizing data in a direct access storage device
US5224106A (en) Multi-level error correction system
US7409622B1 (en) System and method for reverse error correction coding
KR20010033954A (ko) 순환 에러 정정 코드에 대한 물리적 블록 어드레스 복구장치, 시스템 및 방법
JP3935942B2 (ja) デジタルデータ記憶用の符号器
US6167550A (en) Write format for digital data storage
EP1421699A2 (en) Enhanced coding for informed decoders
US6229458B1 (en) Rate 32/34 (D=0, G=9/I=9) modulation code with parity for a recording channel
US8797668B1 (en) Systems and methods for penalty based multi-variant encoding
US6597526B1 (en) Magnetic tape drive apparatus including a variable rate encoder
JP2002522870A5 (ja)
US6543024B2 (en) Write format for digital data storage
US6044487A (en) Majority voting scheme for hard error sites
EP2843662B1 (en) Systems and methods for multi-level encoding and decoding
US6463564B1 (en) Mis-synchronization detection system
EP0341863A2 (en) Sector mis-synchronization detection method
AU771221B2 (en) Encoder for digital data storage
JP2004235925A (ja) 誤り訂正方法、誤り訂正回路および情報記録再生装置
JP3537722B2 (ja) 記録再生装置
CA2466569A1 (en) Encoder for digital data storage
JPH01238230A (ja) 誤り訂正方式

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040203

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040203

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060509

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060808

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061109

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: 20070220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070322

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120330

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130330

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130330

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140330

Year of fee payment: 7

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

EXPY Cancellation because of completion of term