JP2007087530A - 信号復号方法、信号復号装置および信号記憶システム - Google Patents

信号復号方法、信号復号装置および信号記憶システム Download PDF

Info

Publication number
JP2007087530A
JP2007087530A JP2005276705A JP2005276705A JP2007087530A JP 2007087530 A JP2007087530 A JP 2007087530A JP 2005276705 A JP2005276705 A JP 2005276705A JP 2005276705 A JP2005276705 A JP 2005276705A JP 2007087530 A JP2007087530 A JP 2007087530A
Authority
JP
Japan
Prior art keywords
columns
unit
matrix
decoding
signal
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
JP2005276705A
Other languages
English (en)
Inventor
Atsushi Esumi
淳 江角
Shiyuudo Mizuno
秀導 水野
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.)
Rohm Co Ltd
Original Assignee
Rohm Co Ltd
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 Rohm Co Ltd filed Critical Rohm Co Ltd
Priority to JP2005276705A priority Critical patent/JP2007087530A/ja
Priority to CNA2006101543157A priority patent/CN1937414A/zh
Priority to US11/524,548 priority patent/US7849388B2/en
Priority to TW095135156A priority patent/TW200721698A/zh
Publication of JP2007087530A publication Critical patent/JP2007087530A/ja
Pending 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] 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/10009Improvement or modification of read or write signals
    • G11B20/10046Improvement or modification of read or write signals filtering or equalising, e.g. setting the tap weights of an FIR filter
    • G11B20/10055Improvement or modification of read or write signals filtering or equalising, e.g. setting the tap weights of an FIR filter using partial response filtering when writing the signal to the medium or reading it therefrom
    • 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/1866Error detection or correction; Testing, e.g. of drop-outs by 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/63Joint error correction and other techniques
    • H03M13/6343Error control coding in combination with techniques for partial response channels, e.g. recording
    • 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
    • G11B2020/185Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using an low density parity check [LDPC] code

Abstract

【課題】 復号されたデータのエラー発生箇所に、検査行列に含まれる線形従属な列のすべてが乗じられるとそれらのエラーを検出できない。
【解決手段】 信号復号装置に含まれるLDPC単位復号部332は、符号化された信号の一時推定値算出部342により算出された一時推定値と検査行列との乗算を実行する乗算器であるパリティ検査部344を備える。検査行列保持部340は、検査行列を保持する。s、tをs≧t≧2なる自然数とするとき、この検査行列から抽出されたs列のうちt列以下の列どうしは、線形独立の関係となる。このs列は、一時推定値においてエラー発生頻度が比較的高い箇所に乗じられる列である。
【選択図】 図4

Description

本発明は、符号化された信号を復号するための技術に関する。
符号化された信号を復号する際、ノイズ等に起因するエラーの検出や訂正がなされる。信号を符号化する符号の一つとして、例えば、低密度パリティ検査(Low Density Parity Check。以下「LDPC」とも表記する)符号が挙げられる。LDPC符号を用いて符号化された信号を復号(「LDPC復号」とも表記する)する際、検査行列を復号された信号に乗じることにより、復号された信号で発生したエラーの検出が可能となる。この検査行列の構成方法として、様々な手法が提案されている。例えば、特許文献1には、アレイコードに関する検査行列の定義に従って定義された行列の一部を、上三角構造に修正する検査行列の構成方法が開示されている。
特開2003−115768号公報
しかし、検査行列の構成によっては、復号された信号において発生するエラーの一部を検出できない場合がある。
本発明は、上述の事情を鑑みてなされたものであり、その目的は、エラーを好適に検出できるよう検査行列を構成することにある。
検査行列において、線形従属関係を有する複数の列(以下「線形従属な列」とも表記する)が含まれるとき、線形従属な列を構成するすべての列が、復号された信号におけるエラー発生箇所に乗じられると、後述するようにそのエラーを検出できない。本発明者は、この点に着目し、線形従属な列のすべてが復号された信号のエラー発生箇所に乗じられないよう検査行列を構成することにより、好適なエラー検出を実現する本発明をするに至った。
本発明の一態様は信号復号方法に関する。この信号復号方法では、入力信号系列に属する符号化された信号が復号されたとき、この復号された信号系列に行列を作用させて復号精度を高める。s、tをs≧t≧2なる自然数とするとき、行列として、この行列から抽出されたs列のうちt列以下の列どうしが線形独立の関係となるものを用い、s列は、復号された信号系列においてエラー発生頻度が比較的高い信号に乗じられる列である。
この態様によれば、行列は、線形独立なt列、すなわち線形従属でないt列を含むよう構成される。これによって、復号された信号系列において、t箇所でエラーが発生したとき、線形従属な列のすべてがそのエラー発生箇所に乗じられることを回避できるので、発生頻度が比較的高いエラーを好適に検出できる。
本発明の別の態様も信号復号方法に関する。この信号復号方法では、入力信号系列に属する符号化された信号が復号されたとき、この復号された信号系列に行列を作用させて復号精度を高める。s、tをs≧t≧2なる自然数とするとき、行列として、この行列から抽出されたs列のうちt列以下の列どうしが線形独立の関係となるものを用い、s列は、行列において隣接する列である。
この態様によれば、行列は、線形独立なt列を隣接させて含むよう構成される。これによって、復号された信号系列においてt箇所で連続的に発生するエラー(「バーストエラー」とも表記する)が発生した場合、線形従属な列がバーストエラーの発生箇所に対して乗じられることを回避できるので、そのバーストエラーを好適に検出できる。
本発明の別の態様も信号復号方法に関する。この信号復号方法は、入力信号系列に属する符号化された信号が復号されたとき、この復号された信号系列にm行n列(mとnは、m,n≧2なる自然数)の行列を作用させて復号精度を高める。行列は、列方向に接続されたm行s列(sは、n>sなる自然数)の第1および第2の部分行列を含み、第1および第2の部分行列において、そのs列のうちt列(tはs≧t≧2なる自然数)以下の列どうしが線形独立の関係となる。
この態様によれば、行列において、t列以下で線形従属関係が成立することはない。これによって、発生するエラーの数がt以下であれば、そのt箇所で発生したのエラーに線形従属な列を構成する列のすべてが乗じられることを回避できるため、それらのエラーの検出が可能となる。
本発明の別の態様は信号復号装置に関する。この信号復号装置は、入力信号系列を取得し、この入力信号系列に属する符号化された信号が復号されたとき、この復号された信号系列と行列との乗算を実行する単位復号部を備える。s、tをs≧t≧2なる自然数とするとき、単位復号部は、行列として、行列から抽出されたs列のうちt列以下の列どうしが線形独立の関係となるものを用いる。s列は、復号された信号系列においてエラー発生頻度が比較的高い信号に乗じられる列である。
この態様によれば、行列は、線形独立なt列、すなわち線形従属でないt列を含むよう構成される。復号された信号系列におけるt箇所でエラーが発生したとき、単位復号部は、線形従属な列のすべてをそのエラー発生箇所に乗じることはないので、発生頻度が比較的高いエラーを好適に検出できる。
本発明の別の態様も信号復号装置に関する。この信号復号装置は、入力信号系列を取得し、この入力信号系列に属する符号化された信号が復号されたとき、この復号された信号系列と行列との乗算を実行する単位復号部を備える。s、tをs≧t≧2なる自然数とするとき、単位復号部は、行列として、行列から抽出されたs列のうちt列以下の列どうしが線形独立の関係となるものを用いる。s列は、行列において隣接する列である。
この態様によれば、行列が、線形独立なt列を隣接させて含むよう構成される。これによって、復号された信号系列において、t箇所でバーストエラーが発生した場合、単位復号部は、線形従属な列のすべてをそのバーストエラー発生箇所に乗じることはないので、そのバーストエラーを好適に検出できる。
本発明の別の態様も信号復号装置に関する。この信号復号装置は、入力信号系列を取得し、この入力信号系列に属する符号化された信号が復号されたとき、この復号された信号系列とm行n列(mとnは、m,n≧2なる自然数)の行列との乗算を実行する単位復号部を備える。行列は、列方向に接続されたm行s列(sは、n>sなる自然数)の第1および第2の部分行列を含み、第1および第2の部分行列において、そのs列のうちt列(tはs≧t≧2なる自然数)以下の列どうしが線形独立の関係となる。
この態様によれば、行列において、t列以下で線形従属関係が成立することはない。これによって、発生するエラーの数がt以下であれば、単位復号部が、そのt箇所で発生したエラーに線形従属な列のすべてを乗じることはないので、それらのエラーの検出が可能となる。
第2の部分行列は、第1の部分行列の要素に対して所定のシフト処理が加えられた行列であってもよい。また、そのシフト処理は行の置換であってもよい。このように、第1の部分行列を構成すれば、第2の部分行列は、第1の部分行列の要素に対して所定のシフト処理を加えれば構成できるので、行列の構成が容易となる。
信号復号装置において、tの値は、復号の際に検出不能となる、復号された信号系列に属する信号に生じるエラーの許容限度をもとに定められてもよい。この態様によれば、すべてのエラーを検出をしない場合でも、そのエラー検出結果が許容できる範囲内のものとなるようにtの値が決定される。つまり、ここで決定されたt列のうちに線形従属な列が含まれないように行列を構成することにより、許容できる範囲内のエラー検出が可能となる。これによって、すべてのエラーを検出するような行列を構成する必要がなくなるので、より容易に行列を構成することができる。
単位復号部は、低密度パリティ検査符号を用いて符号化された信号を復号してもよい。この態様によれば、LDPC復号された信号において発生するエラーの検出が可能となる。
本発明の別の態様は、信号記憶システムに関する。この信号記憶システムは、ライトチャネルとリードチャネルとを有する信号記憶システムである。ライトチャネルは、データをランレングス符号化する第1の符号化部と、第1の符号化部で符号化されたデータを低密度パリティ検査符号を用いてさらに符号化する第2の符号化部と、第2の符号化部で符号化されたデータを記憶装置に書き込む書込部とを備える。リードチャネルは、第2の符号化部で符号化されたデータを記憶装置から読み出す読出部と、読出部で読み出されたデータの尤度を計算して軟判定値を出力するソフト出力検出部と、ソフト出力検出部から出力されたデータを復号する、第2の符号化部に対応する第2の復号部と、第2の復号部で復号されたデータをさらに復号する、第1の符号化部に対応する第1の復号部とを備える。第2の復号部は、ソフト出力検出部から出力されたデータが復号されたとき、この復号されたデータと行列との乗算を実行する単位復号部を有し、s、tをs≧t≧2なる自然数とするとき、単位復号部は、行列として、行列から抽出されたs列のうちt列以下の列どうしが線形独立の関係となるものを用いる。s列は、復号されたデータにおいてエラー発生頻度が比較的高い部分に乗じられる列である。信号記憶システムは、少なくとも1つの半導体基板上に集積化されてもよい。
この態様によれば、行列は、線形独立なt列、すなわち線形従属でないt列を含むよう構成される。復号されたデータにおけるt箇所でエラーが発生したとき、単位復号部は、線形従属な列のすべてをそのエラー発生箇所に乗じることはないので、記憶装置から読み出したデータについて発生頻度が比較的高いエラーを好適に検出できる。
本発明の別の態様も信号記憶システムに関する。この信号記憶システムは、ライトチャネルとリードチャネルとを有する信号記憶システムである。ライトチャネルは、データをランレングス符号化する第1の符号化部と、第1の符号化部で符号化されたデータを低密度パリティ検査符号を用いてさらに符号化する第2の符号化部と、第2の符号化部で符号化されたデータを記憶装置に書き込む書込部とを備える。リードチャネルは、第2の符号化部で符号化されたデータを記憶装置から読み出す読出部と、読出部で読み出されたデータの尤度を計算して軟判定値を出力するソフト出力検出部と、ソフト出力検出部から出力されたデータを復号する、第2の符号化部に対応する第2の復号部と、第2の復号部で復号されたデータをさらに復号する、第1の符号化部に対応する第1の復号部とを備える。第2の復号部は、ソフト出力検出部から出力されたデータが復号されたとき、この復号されたデータと行列との乗算を実行する単位復号部を有する。s、tをs≧t≧2なる自然数とするとき、単位復号部は、行列として、行列から抽出されたs列のうちt列以下の列どうしが線形独立の関係となるものを用いる。s列は、行列において隣接する列である。信号記憶システムは、少なくとも1つの半導体基板上に集積化されてもよい。
この態様によれば、行列が、線形独立なt列、すなわち線形従属でないt列を隣接させて含むよう構成される。これによって、復号されたデータにおいて、t箇所でバーストエラーが発生した場合、単位復号部は、線形従属な列のすべてをそのバーストエラー発生箇所に乗じることはないので、記憶装置から読み出したデータについてそのバーストエラーを好適に検出できる。
信号記憶システムは、さらに、所定のデータを記憶する記憶装置と、記憶装置へのデータの書込と、記憶装置からのデータの読出とを制御する制御部とを備えてもよく、リードチャネルは、制御部の指示に従って、記憶装置に記憶されているデータを読み出し、ライトチャネルは、制御部の指示に従って、所定のデータを記憶装置に書き込んでもよい。この態様によれば、制御部による制御により記憶装置から読み出されたデータについてエラーを好適に検出できる。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
本発明の信号復号方法、信号復号装置および信号記憶システムによれば、符号化された信号について好適にエラーを検出できる。
本実施の形態では、磁気ディスク装置から読み出された信号すなわちデータをLDPC復号する際に発生するエラーの検出について説明する。具体的には、線形従属な列を互いに離れた位置に配置して検査行列を構成することにより、バーストエラーが発生する位置に線形従属な列のすべてが乗じられることを回避して、そのバーストエラーの検出を実現する。
図1は、磁気ディスク装置100の構成を示す図である。図1の磁気ディスク装置100は、大きく分けて、ハードディスクコントローラ1(以下、「HDC1」と略記する。)、中央処理演算装置2(以下、「CPU2」と略記する。)、リードライトチャネル3(以下、「R/Wチャネル3」と略記する。)、ボイスコイルモータ/スピンドルモータ制御部4(以下、「VCM/SPM制御部4」と略記する。)、及びディスクエンクロージャ5(以下、「DE5」と略記する。)からなる。一般に、HDC1、CPU2、R/Wチャネル3、及びVCM/SPM制御部4は少なくとも一つの半導体基板上に集積化される。
HDC1は、HDC1全体を制御する主制御部11、データフォーマット制御部12、誤り訂正符号化制御部13(以下、「ECC制御部13」と略記する。),及びバッファRAM14を含む。HDC1は、図示しないインタフェース部を介してホストシステムと接続される。また、R/Wチャネル3を介して、DE5と接続されており、主制御部11の制御により、ホストとDE5の間のデータ転送を行う。このHDC1には、R/Wチャネル3で生成されるリードリファレンスクロック(RRCK)が入力される。データフォーマット制御部12は、ホストから転送されたデータをディスク媒体50上に記録するのに適したフォーマットに変換し、逆に、ディスク媒体50から再生されたデータをホストに転送するのに適したフォーマットに変換する。ディスク媒体50は、たとえば、磁気ディスクを含む。ECC制御部13は、ディスク媒体50から再生されたデータに含まれる誤りの訂正及び検出を可能にするために、記録するデータを情報シンボルとして、冗長シンボルを付加する。またECC制御部13は、再生されたデータに誤りが生じているかを判断し、誤りがある場合には訂正或いは検出を行う。但し、誤りが訂正できるシンボル数は有限であり、冗長データの長さに関係する。即ち、多くの冗長データを付加するとフォーマット効率が悪化するため、誤り訂正可能シンボル数とはトレードオフとなる。ECCとしてリードソロモン(RS)符号を利用して誤り訂正を行う場合、(冗長シンボル数/2)個までの誤りを訂正できる。バッファRAM14は、ホストから転送されたデータを一時的に保存し、適切なタイミングでR/Wチャネル3に転送する。逆に、R/Wチャネル3から転送されたリードデータを一時的に保存し、ECC復号処理などの終了後、適切なタイミングでホストに転送する。
CPU2は、フラッシュROM21(以下、「FROM21」と略記する。)、及びRAM22を含み、HDC1、R/Wチャネル3、VCM/SPM制御部4、及びDE5と接続される。FROM21には、CPU2の動作プログラムが保存されている。
R/Wチャネル3は、ライトチャネル31とリードチャネル32とに大別され、HDC1との間で記録するデータ及び再生されたデータの転送を行う。また、R/Wチャネル3は、DE5と接続され、記録信号の送信、再生信号の受信を行う。詳細は後述する。
VCM/SPM制御部4は、DE5中のボイスコイルモータ52(以下、「VCM52」と略記する。)とスピンドルモータ53(以下、「SPM53」と略記する。)を制御する。
DE5は、R/Wチャネル3と接続され、記録信号の受信、再生信号の送信を行う。またDE5は、VCM/SPM制御部4と接続されている。DE5は、ディスク媒体50、ヘッド51、VCM52、SPM53、及びプリアンプ54等を有している。図1の磁気ディスク装置100においては、ディスク媒体50が1枚であり、且つヘッド51がディスク媒体50の一方の面側のみに配置されている場合を想定しているが、複数のディスク媒体50が積層配置された構成であってもよい。また、ヘッド51は、ディスク媒体50の各面に対応して設けられるのが一般的である。R/Wチャネル3により送信された記録信号は、DE5内のプリアンプ54を経由してヘッド51に供給され、ヘッド51によりディスク媒体50に記録される。逆に、ヘッド51によりディスク媒体50から再生された信号は、プリアンプ54を経由してR/Wチャネル3に送信される。DE5内のVCM52は、ヘッド51をディスク媒体50上の目標位置に位置決めするために、ヘッド51をディスク媒体50の半径方向に移動させる。また、SPM53は、ディスク媒体50を回転させる。一般に、HDC1、CPU2、R/Wチャネル3、及びVCM/SPM制御部4、プリアンプ54およびVCM52は同一の半導体集積回路で実現される。ただし、これらの一部の任意の組み合わせを同一の半導体集積回路で実現することもできる。
ここで、図2を用いて、R/Wチャネル3について説明する。図2は、図1のR/Wチャネル3の構成を示す。R/Wチャネル3は、大きく分けて、ライトチャネル31とリードチャネル32から構成される。
ライトチャネル31は、バイトインターフェース部301、スクランブラ302、ランレングス制御符号化部303(以下、「RLL符号化部303」と略記する)、低密度パリティチェック符号化部304(以下、「LDPC符号化部304」と略記する。)、書込補償部305(以下、「ライトプリコン部305」と略記する)、ドライバ306を含む。
バイトインターフェース部301では、HDC1から転送されたデータが入力データとして処理される。メディア上に書き込むデータは1セクタ単位でHDC1から入力される。このとき1セクタ分のユーザデータ(512バイト)だけでなく、HDC1によって付加されたECCバイトも同時に入力される。データバスは通常1バイト(8ビット)であり、バイトインターフェース部301により入力データとして処理される。スクランブラ302はライトデータをランダムな系列に変換する。同じパターンのデータの繰り返しは、リード時における検出性能に悪影響を与え、エラーレートを悪化させるのを防ぐためである。RLL符号化部303は0の最大連続長を制限するためのものである。0の最大連続長を制限することによりリード時の自動利得制御部317(以下、「AGC317」と略記する)などに適したデータ系列にする。
LDPC符号化部304はデータ系列にLDPC符号の冗長ビットを付加したLDPC符号化したデータ系列に符号化する役割を有する。LDPC符号化は、生成行列と呼ばれるk×nの行列に、長さkのデータ系列を左から掛け合わせることで行う。この生成行列に含まれる各要素は、0もしくは1である。
ライトプリコン部305はメディア上の磁化転移の連続による非線形歪を補償する回路である。ライトデータから補償に必要なパターンを検出し、正しい位置で磁気転移が生ずるようにライト電流波形を予め調整をする。ドライバ306は擬似ECLレベルに対応した信号を出力するドライバである。ドライバ306からの出力は図示しないDE5に送られ、プリアンプ54を通してヘッド51に送られ、ライトデータがディスク媒体50上に記録される。
リードチャネル32は、可変利得増幅器311(以下、「VGA311」と略記する。)、ローパスフィルタ312(以下、「LPF312」と略記する。)、AGC317、アナログ/ディジタル変換器313(以下、「ADC313」と略記する。)、周波数シンセサイザ314、FIRフィルタ315、SOVA(Soft−Output Viterbi Algorithm)復号部316、ゼロ相スタート部318、タイミング制御部319、インタポレータ325、LDPC繰返復号部322、同期信号検出部321、ランレングス制御復号部323(以下、「RLL復号部323」と略記する。)、デスクランブラ324とから構成されている。
VGA311及びAGC317は、図示しないプリアンプ54から送られたデータのリード波形の振幅の調整を行う。AGC317は理想的な振幅と実際の振幅を比較し、VGA311に設定すべきゲインを決定する。LPF312は、カットオフ周波数とブースト量を調整することができ、高周波ノイズの低減と部分応答(Partial Response。以下、「PR」と略記する)波形への等化の一部を担う。LPF312でPR波形への等化を行うが、ヘッドの浮上量変動、媒体の不均一性、モータの回転変動などの多くの要因により、アナログのLPFによる完全な等化は難しいので、後段に配置され、よりフレキシビリティに富んだFIRフィルタ315を用いて、再度PR波形への等化を行う。FIRフィルタ315は、そのタップ係数を適応的に調整する機能を有していてもよい。周波数シンセサイザ314は、ADC313のサンプリング用クロックを生成する。インタポレータ325は、タイミング制御部319で検出された位相誤差を用いて、周波数シンセサイザ314で生成されたサンプリング用クロックの微調整を行う。ADC313は、AD変換により直接同期サンプルを得る構成とした。なお、この構成の他に、AD変換により非同期サンプルを得る構成であってもよい。この場合は、インタポレータ325に代えて補間フィルタを用いればよい。ゼロ相スタート部318は、初期位相を決定するためのブロックである。タイミング制御部319は、決定された初期位相およびFIRフィルタ315の出力を用いて、理想的なサンプル値と実際のサンプル値を比較し、位相誤差を検出する。
SOVA復号部316は、ビタビアルゴリズムの一種であるSOVAを用いて、符号間干渉に伴う復号特性の劣化を回避する。すなわち、近年の磁気ディスク装置の記録密度の上昇に伴い、記録された符号間の干渉が大きくなり、復号特性が劣化するといった課題を解決するため、これを克服する方式として最尤復号(Partial Response Maximum Likelihood。以下、「PRML」と略記する)方式を用いる。PRML方式は、PR方式およびML方式の二つの方式から成り立ち、再生信号の符号間干渉による部分応答の尤度を最大にする信号系列を求める方式である。図2に示すように、PRML復号部320は、FIRフィルタ315とSOVA復号部316とを含む。SOVA復号部316からの出力は、LDPC繰返復号部322のソフト値入力として用いることができる。例えば、SOVAの出力として、(0.71, 0.18, 0.45, 0.45, 0.9)というソフト値が出力されたとする。これらの値は、0である可能性が大きいか、1である可能性が大きいかを数値で表している。例えば、1番目の0.71は1である可能性が大きいことを示しており、4番目の0.45は0である可能性が大きいが1である可能性も小さくはないことを意味する。従来のビタビディテクタの出力はハード値であり、SOVAの出力を硬判定したものである。ここで、硬判定とは、例えば、所定のしきい値より大きかった場合は、”1”と判定し、小さかった場合は、”0”と判定することなどをいう。上記の例の場合、(1,0,0,0,1)である。ハード値は、0であるか、1であるかのみを表しており、どちらの可能性が高いかという情報が失われている。このためLDPC繰返復号部322にソフト値を入力する方が復号性能が良くなる。
同期信号検出部321はデータの先頭に付加された同期信号(Sync Mark)を検出し、データの先頭位置を認識する役割を有する。LDPC繰返復号部322は、LDPC符号化されているデータ系列から、LDPC符号化前の系列に復元する役割を有する。復号化の方法としては、主に、sum−product復号法とmin−sum復号法があり、復号性能の面ではsum−product復号法が有利であるが、min−sum復号法はハードウェアによる実現が容易である特徴を持つ。
一般的に、LDPC復号に繰り返し復号を用いた場合、事前値と事後値と呼ばれる値を求め、さらに、DAEを介して、再度、事前値と事後値を計算する。所定の回数、もしくは、エラーが含まれなくなったと判断された場合、その時点で求まっている尤度を硬判定し、2値の復号データを出力することとなる。エラーが含まれなくなったことは、冗長データ系列を含む復号データに検査行列の転置行列を掛け合わせて、その結果が0行列であるか否かで判断できる。検査行列とは、生成行列をG、検査行列をHとするとき、GH=0が成立するような行列である。上述のように、LDPC符号化は、生成行列にデータ系列を左から掛け合わせて、データ系列に冗長ビットを付加することによりなされる。つまり、復号データに検査行列の転置行列を掛け合わせた結果が0行列になっていれば、訂正により復号データにエラーが含まれなくなったと判断され、また、結果が0行列以外であれば訂正しきれていないエラーが復号データに含まれていると判断されることとなる。他にエラーが含まれなくなったことを判断する方法としては、復号対象のデータのうち、冗長データ系列を除くデータ系列に、LDPC符号化時に用いた生成行列を掛け合わせて冗長ビットを求める。次に、冗長ビットを硬判定して、冗長データ系列と比較し、一致しているか否かによってエラーが訂正されているかどうかを判断する。
RLL復号部323は、LDPC繰返復号部322から出力されたデータに対して、ライトチャネル31のRLL符号化部303の逆操作を行い、元のデータ系列に戻す。デスクランブラ324はライトチャネル31のスクランブラ302の逆操作を行い、元のデータ系列に戻す。ここで生成されたデータはHDC1に転送される。
図3は、LDPC繰返復号部322の機能ブロック図である。LDPC繰返復号部322は、インタリーバ330、LDPC単位復号部332、デインタリーバ334、判定部336、カウンタ337、DAE338およびPR方式ターゲット保持部339を含む。
SOVA復号部316で復号されて出力されたソフト値のデータは、同期信号検出部321によりデータの先頭位置が認識されてからインタリーバ330に入力される。インタリーバ330は、入力されたデータをインタリーブして複数の経路に分ける。「インタリーブ」とは、データ系列の連続するデータを複数の段に振り分けることである。
ここで、インタリーバ330の働きを説明する。一般に、PRML方式では、バーストエラーが発生しやすいことが知られている。LDPC単位復号部332が、データ系列に検査行列を作用させるとき、データ系列でのバーストエラー発生位置に検査行列における線形従属な関係を有する列が乗じられると、そのバーストエラーを検出できない場合がある。特に、LDPC復号に用いられる検査行列の要素は、1の数が0の数に比べて少ないので線形従属な関係を有する列を含みやすく、バーストエラーを検出できない可能性が比較的高い。インタリーバ330は、データを複数の経路に分けることにより、エラーを各経路に分散させ、検査行列を乗じたときのエラー検出の精度を上げる。
しかし、バーストエラーを構成するエラー箇所の数が多く、インタリーブしてもバーストエラーが存在する場合、検査行列の構成によってはそのバーストエラーを検出できない場合がある。例えば、インタリーブされる前のデータおいてエラーが32箇所連続していて、インタリーバ330が、エラー発生箇所を8つの経路に分けるとする。この結果、各経路に振り分けられたデータにおいて、エラーは4箇所連続して存在する。ここで、検査行列の中に4列で線形従属の関係が成立する列が互いに隣接して存在し、これら4列すべてが、各経路に振り分けられたデータのそれぞれに含まれる4箇所連続しているエラーに乗じられると、これらのエラーは検出されない。このような場合、後述するように線形従属な列を離して検査行列を構成することにより、インタリーブした後にも存在するバーストエラーの検出が可能となる。
LDPC単位復号部332は、インタリーバ330で複数の経路に分けられたデータに対してLDPC復号をして、その復号データを一時推定値として出力するとともに、その一時推定値についてパリティ検査を行う。ここで、LDPC単位復号部332は、1回目の復号において入力されたソフト値を硬判定し、一時推定値をハード値として出力する。「パリティ検査」とは、一時推定値をx、検査行列をHとするとき、一時推定値xに検査行列Hの転置行列Hを乗じて、xH=0なる関係が成立するか否かを調べることである。LDPC単位復号部332は、インタリーバ330で複数経路に分けられたデータについて並列処理を施すことにより、高速な処理を実現する。デインタリーバ334は、LDPC単位復号部332で復号されて出力された一時推定値をデインタリーブして、元の一つのデータ系列の形に戻す。図3では、インタリーバ330とLDPC単位復号部332との間およびLDPC単位復号部332とデインタリーバ334との間における複数経路を3本の矢印で示す。ここで、「デインタリーブ」とは、インタリーブされて複数経路に振り分けられたデータを統合して元の形に並べ直すことである。
判定部336は、パリティ検査の結果に応じて、繰り返し復号を終了するか否かを判定する。カウンタ337は、復号が繰り返された回数を計数する。つまり、カウンタ337は、判定部336が判定をするごとにカウンタ337において1を加算する。ここで、判定部336は、パリティ検査の結果、xH=0が成立したとき、または、xH=0が成立しないが、カウンタ337があらかじめ定められた繰り返し復号の回数(「所定の回数」とも表記する)を計数したときは、繰り返し復号を終了すると判定する。一方、判定部336は、パリティ検査の結果、xH=0が成立せず、かつ、カウンタ337が所定の回数を計数していないときは繰り返し復号を終了しないと判定する。判定部336は、繰り返し復号を終了すると判定したとき、一時推定値をRLL復号部323へ出力する。一方、判定部336は、繰り返し復号を終了すると判定しなかったときは、一時推定値をDAE338に出力する。つまり、判定部336は、デインタリーバ334によりデインタリーブされた一時推定値に処理を加えることなく、その一時推定値をRLL復号部323またはDAE338へ出力する。DAE338はデインタリーブされた一時推定値、FIRフィルタ315の出力およびPR方式ターゲット保持部339が保持するPR方式によるデータの波形等価の目標値(「PR方式ターゲット」とも表記する)を用いて対数尤度比を算出する。本実施の形態では、この際に用いられる一時推定値はハード値であるが、硬判定前のソフト値であってもよい。ここで、「対数尤度比」とは、一時推定値シンボルの信頼度情報である。2回目以降の繰り返し復号には、DAE338が算出した対数尤度比が用いられる。つまり、インタリーバ330は、DAE228の出力である対数尤度比をインタリーブする。LDPC単位復号部332は、インタリーバ330によりインタリーブされた対数尤度比についてLDPC復号をして、その復号データを一時推定値として出力するとともに、その一時推定値についてパリティ検査を行う。
図4は、LDPC単位復号部332の機能ブロック図である。本実施の形態では、min−sum復号法を用いて復号する。ここで、sum−product復号法によって復号してもよい。一時推定値算出部342は、インタリーバ330によりインタリーブされた信号を復号する。一時推定値算出部342による復号は、検査行列保持部340が保持する検査行列の各要素についての対数外部値比、対数事前値比および対数尤度比を用いて、信号の一時推定値を所定の回数繰り返し算出して行われる。ここで、一時推定値算出部342は、1回目の復号において入力されたソフト値を硬判定し、一時推定値をハード値として出力する。パリティ検査部344は、一時推定値算出部342が算出した一時推定値について、パリティ検査によるエラー検出を行う。パリティ検査は、一時推定値に検査行列保持部340が保持する検査行列の転置行列を乗じて行う。具体的には、一時推定値をx、検査行列をHとすると、パリティ検査部344は、xHなる乗算を行う。回路に実装する場合、パリティ検査部344としては乗算器が用いられる。乗算の対象となった一時推定値は、パリティ検査部344から出力され、デインタリーバ334に入力される。また、パリティ検査部344での乗算した結果は、判定部336に投入される。ここで、「対数外部値比」とは、復号によるシンボルの信頼度の増分である。「対数事前値比」とは、対数外部値比の算出のためにあらかじめ与える値である。
図5は、エラー検出について説明するための図である。ここでは、検査行列に含まれる線形従属な列のすべてがエラー発生箇所に乗じられると、エラー検出が不可能となることについて説明する。同図において、一時推定値をx、検査行列をH、パリティ検査における乗算xHの結果をyとする。一時推定値xは17ビットのデータ系列であるとし、同図では、1行17列の行列として表現する。検査行列Hは6行17列の行列であり、xHなる乗算結果として1行6列の行列yが得られる。検査行列Hにおける各行に行番号、各列に列番号を付して示す。ここで、乗算結果yの要素がすべて「0」であるときは、エラーは発生しておらず、いずれかの要素が「1」であるときは、エラーが発生しているといえる。本実施の形態では、符号化される前の本来のデータは、要素がすべて「0」の1行17列の行列であるとする。同図において枠で囲って示した検査行列Hにおける3列、すなわち第11列、第12列および第15列によって線形従属関係が成立する。
一時推定値xにおいてエラーが発生していない、つまり、一時推定値xの要素がすべて「0」である場合、乗算結果yの要素はすべて「0」である「000000」となる。一時推定値xにおける1箇所においてエラーが発生し、第11列の要素が「1」となったとき、乗算結果yは「001011」となる。この場合、乗算結果yの要素に「1」が含まれているため、エラーが発生したことを判別できる。一時推定値xにおける2箇所においてエラーが発生し、第11列および第12列の要素が「1」となったとき、乗算結果yは「001100」となる。この場合も乗算結果yの要素に「1」が含まれているため、エラーが発生したことを判別できる。一時推定値xにおける3箇所においてエラーが発生し、第11列、第12列および第15列の要素が「1」となったとき、乗算結果yは「000000」となる。この場合は、一時推定値xにおいてエラーが発生していない場合と同一の乗算結果yが得られることとなり、エラーが発生したことを判別できない。これは、エラー発生箇所の要素「1」に線形従属な列のすべてが乗じられたことに起因する。以下で、図6を用いてこれを説明する。
図6は、図5に示した行列からエラー発生箇所に関する箇所を抽出した図である。行列αは、一時推定値xにおける第11列、第12列および第15列を抽出して構成した行列、行列βは、検査行列Hにおける線形従属な列、第11列、第12列および第15列を抽出して構成した行列、行列γは、乗算αβの結果である。行列βを構成する3列は線形従属関係にある。つまり、行列βの各行において要素「1」は、存在しないか、または2箇所に存在し、これら3列を加算するとすべての要素が「0」の6行1列の行列となる。
乗算αβがなされる場合、行列αの各要素と、転置行列βの各列、すなわち行列βの各行の各要素がそれぞれ乗じられてから加算されることにより、乗算結果γの各要素が算出される。図6(a)、同図(b)、同図(c)および同図(d)はそれぞれ、一時推定値xにおいてエラーが発生していない場合、1箇所にエラーが発生した場合、2箇所にエラーが発生した場合、3箇所でエラーが発生した場合の行列α、行列βおよび乗算結果γを示す。また、これらの同図(b)、(c)および(d)に示す矢印は、矢印の引出元である行列βにおける各行が、乗算した結果、矢印の引出先である乗算結果γの各要素の値の決定に関わることを示している。
一時推定値xにおいてエラーが発生していない場合、行列αの各列の要素「0」が行列βの各行の要素と乗じられ、乗算結果γは、図6(a)に示すように「000000」となる。一時推定値xにおいて1箇所にエラーが発生して行列αの第1列が「1」となった場合、この要素「1」が、行列βの第1列における各行の要素に乗じられる。この行列βの第1列の要素が「1」であるのは第3行、第5行および第6行であるので、乗算結果γは、エラーが発生していない場合の乗算結果γ「000000」の第3列、第5列および第6列の要素が反転する結果、図6(b)に示すように「001011」となる。これに起因して、図5に示して上述したように、乗算結果yも「001011」となる。ここで、「反転」とは、要素「0」が「1」となること、または要素「1」が「0」となることをいう。
一時推定値xにおいてエラーが2箇所に発生し、上述の行列αの第1列に加え、さらに第2列の要素も「1」となったとする。このとき、行列αの第1列の要素「1」が行列βの第1列における各行の要素に、行列αの第2列の要素「1」が行列βの第2列における各行の要素に乗じられる。行列βの第2列の要素が「1」であるのは第4行、第5行および第6行であるので、乗算結果γは、エラーが1箇所に発生した場合の乗算結果γ「001011」の第4列、第5列および第6列の要素が反転して、図6(c)に示すように「001100」となる。これに起因して、図5に示して上述したように、乗算結果yも「001100」となる。
一時推定値xにおいてエラーが3箇所に発生し、上述の行列αの第1列および第2列に加え、さらに第3列の要素も「1」となったとする。このとき、行列αの第1列の要素「1」が行列βの第1列における各行の要素に、行列αの第2列の要素「1」が行列βの第2列における各行の要素に、行列αの第3列の要素「1」が行列βの第3列における各行の要素に乗じられる。行列βの第3列の要素が「1」であるのは第3行および第4行であるので、乗算結果γは、エラーが2箇所に発生した場合の乗算結果γ「001100」の第3列および第4列の要素が反転して、図6(d)に示すように「000000」となる。これに起因して、図5に示して上述したように、乗算結果yも「000000」となり、この結果、エラーの検出が不可能となる。
一時推定値xの3箇所でエラーが発生したときに、乗算結果γが「000000」となるのは、行列βの第3行、第4行、第5行および第6行のそれぞれにおいて「1」が2箇所に存在することに起因する。つまり、行列βにおいてエラー発生箇所と乗じられる箇所に要素「1」があると、その要素「1」が存在する行と対応する乗算結果γの列の「0」または「1」が反転する。ここでは、行列βの第3行、第4行、第5行および第6行において「1」が2箇所に存在するため、3箇所にエラーが発生したときに乗算結果γの第3列、第4列、第5列および第6列の要素がそれぞれ2回反転して「0」となる。つまり、エラー発生箇所に線形従属の列のすべてが乗じられたとき、エラー検出が不可能となる。本実施の形態では、本来のデータにおいて「0」であった箇所にエラーが発生して「1」となった場合について説明した。本来のデータが「1」であった箇所にエラーが発生して「0」となった場合でも、乗算結果における要素「1」と「0」が反転することに変わりはなく、上述の場合と同様に説明できる。
このエラー検出が不可能となる問題点にを解消する方策として、なるべく多くの数の列で線形従属関係が成立する列を検査行列に含ませることにより、検出できるエラーの数も増加させることが考えられる。しかし、検査行列は「1」の数が「0」の数より少ない疎な行列であるため、線形従属関係が成立しやすく、線形従属が成立する列の数にも限界がある。
ここで、どの箇所でエラーが発生しても、その箇所に線形従属な列のすべてが乗じられないように線形従属な列を配置して検査行列を構成すれば、エラーの検出が可能となる。以下で、本実施の形態における、このような検査行列の構成方法を説明する。
図7および図8を用いて、本実施の形態の検査行列の構成の概念を説明する。ここでは、バーストエラーの検出するための検査行列の構成について説明する。図7および図8は、図2に示すPRML復号部320とLDPC繰返復号部322に着目した図である。PRML復号部320は、図1に示したディスク媒体50から再生されたデータをPRML復号する。上述したように、一般に、PRML復号されたデータにおいては、バーストエラーが発生しやすい。LDPC繰返復号部322は、PRML復号されたデータに検査行列を作用させる。
図7および図8において、PRML復号部320およびLDPC繰返復号部322の下に示した○と×で示す列は、PRML復号されたデータ系列の一部である。○は、そのデータ系列においてPRML復号によってエラーが発生しなかった箇所、×は、PRML復号によってエラーが発生した箇所である。図7および図8に示すように、PRML復号によって復号されたデータにおいて、5箇所連続したバーストエラーが発生している。LDPC繰返復号部322の下に示した行列は、検査行列である。図7および図8には、検査行列に含まれる3列が示されている。これら3列は、線形従属の関係を有する。検査行列において、これら3列以外には、線形従属となる列の組み合わせは存在しないものとする。図7では、これら3列は互いに隣接して配置されている。一方、図8では、これら3列は互いに離れた位置に配置されている。
図7において、信号に検査行列を作用させるときに、これら3列は、点線で結んで示したデータの×印の箇所、すなわちエラー発生箇所とそれぞれ対応するものとする。つまり、LDPC繰返復号部322において、検査行列に含まれる線形従属な列のすべてがエラー発生箇所に乗じられる。上述したように、この場合はこれらのエラーを検出できない。
一方、図8では、線形従属な3列は、検査行列の中で互いに離れた位置に配置されており、線形従属な3列のうち、エラー発生箇所と対応するのは2列であり、他の1列はエラーが発生していない箇所と対応する。つまり、検査行列におけるエラー発生箇所に対応する5箇所には、互いに線形独立な列、すなわち線形従属でない列が配置される。この場合、線形従属な列のすべてが、エラー発生箇所と乗じられることはないため、エラーの検出が可能となる。つまり、バーストエラーにおいて連続するエラーの数と同数の列のうちに、線形従属な列のすべてが含まれないように、これらの列を互いに離して配置することにより検査行列を構成すれば、バーストエラーを検出できる。
検査行列における線形従属な列を配置する位置は、バーストエラーの特性に応じて決めることができる。例えば、長手記録方式または垂直記録方式によってディスク媒体50に記録されたデータをPRML復号法により復号する場合、一般に、復号したデータにおいて発生するバーストエラーのうち、連続するエラーのビット数は、ほとんどが10ビット以下であることが知られている。このとき、隣接する10列の中に線形従属な列のすべてが含まれないように線形従属な列を配置して検査行列を構成することにより、PRML復号により復号された信号で発生するバーストエラーをほぼ検出することができる。
また、すべてのエラーパターンを検出できなくても、エラーの検出結果として許容できる範囲を設けて、エラーの検出結果がその許容範囲内のものとなるように検査行列を構成することもできる。例えば、上述のPRML復号されたデータにおいて、10ビットのような長いパターンのバーストエラーが発生することは稀であり、発生するすべてのエラーうち、約90パーセントエラーは5ビット程度のエラーパターンである。ここで、これらのエラーを検出できれば、検出結果として許容できるとする。そこで、5ビット以内のエラーパターンをすべて検出すべく、隣接する5列の中に線形従属な列のすべてが含まれないように検査行列を構成する。これによって、発生頻度の低い9ビットや10ビットの長いエラーパターンをも検出するために、隣接する10列に線形従属な列のすべてが含まれないように検査行列を構成する場合と比較して、容易に検査行列を構成できる。また、そのように構成した検査行列を用いれば許容できるエラー検出結果を得ることができ、エラー検出の精度の高さを確保できる。
図9を用いて上述したような検査行列の構成方法を説明する。ここでは、5ビット以下のバーストエラーを検出することを目的とする。つまり、検査行列のいずれの箇所においても互いに隣接する5列のうちに、線形従属な列のすべてが含まれないようにする必要がある。まず、隣接する5列に線形従属な列のすべてが含まれないようにブロックを構成する。次いで、このブロックを行方向にサイクリックシフトしたブロックを列方向に順次接続する作業を繰り返して検査行列を構成する。ここで、各ブロックの境界を挟んだ5列についても、その中に線形従属な列のすべてが含まれないようにする。サイクリックシフトが一巡したときは、最初に構成したブロックを接続し、一巡目と同様にサイクリックシフトしたブロックを、検査行列の列の数に到達するまで順次接続する作業を繰り返す。
図9は、この方法により構成された検査行列を示した図である。検査行列400は、6行37列の行列であり、ブロックA、B、C、D、E、Fの6つのブロックおよびa1なる1つの列により構成される。また、同図に示すように、ブロックAは、a1、a2、a3、a4、a5およびa6の6つの列から構成される。ブロックB〜Fも同様に、b1〜b6、c1〜c6、d1〜d6、e1〜e6、f1〜f6の6つの列からそれぞれ構成される。なお、同図において、検査行列400の下側に列の番号を示す。
検査行列の構成の手順を説明する。まず、a1〜a6の6列を列方向に並べてブロックAを構成する。ここで、a1、a3およびa6は、線形従属な列である。なお、ブロックAにおいて、これら3列以外によって、線形従属関係が成立することはないとする。a1〜a6を並べるとき、同図に示すように、隣接する5列に線形従属なこれら3列すべてが含まれないよう離して配置する。次に、ブロックAを行方向にサイクリックシフトしてブロックBを構成し、ブロックAの最終列a6に接続して配置する。ブロックAを行方向にサイクリックシフトするので、ブロックAの第1行の要素は、ブロックBの第6行の要素に相当する。また、ブロックAの第2行〜第5行は、ブロックBの第1行から第5行に相当する。つまり、b1、b3、b6は、a1、a3、a6のそれぞれを行方向にサイクリックシフトしたものである。a1、a3およびa6は線形従属な列であり、それを行方向にサイクリックシフトしたb1、b3およびb6も線形従属な列である。つまり、ブロックBにおいても、隣接する5列に線形従属な列b1、b3、b6は含まれない。なお、例えば、第6列から第10列までの5列にはa6、b1およびb3が、ブロックAとブロックBにまたがって含まれるが、ブロックの境界に留意してブロックを構成しているため、これらの列の間には線形従属関係は成立しない。
同様に、ブロックC〜Fについても、順次行方向にサイクリックシフトして接続する作業を繰り返す。ブロックA〜Fが接続された状態で、6行36列の行列が構成される。そして、検査行列400の第37列目として、ブロックAの第1列であるa1を配置する。以上の手順によって構成された検査行列400においては、いずれの箇所の隣接する5列の中にも線形従属な列のすべてが含まれることはない。これによって、連続5ビットまでのバーストエラーであれば、そのバーストエラーの発生を検出することができる。
本実施の形態における検査行列400の構成方法では、各ブロックを構成する6列のうち隣接する5列中に線形従属な列のすべてが含まれないように構成すれば、上述の所定の手順により検査行列400を構成できる。これによって、検査行列400におけるすべての列における隣接する5列中に線形従属な列のすべてが含まれないような構成を考える必要がなくなるため、容易に検査行列400を構成できる。
本実施の形態では、検査行列に含まれる各ブロックは線形従属な列を含んだが、変形例として、各ブロックに線形従属な列を含まず、線形独立な列のみを含んでもよい。これによって、検査行列の中の列はすべて線形独立な列から構成されることになるので、線形従属な列を離して配置する作業を省略できる。
本実施の形態では、バーストエラーの検出について説明するため、線形独立な列を隣接して配置した。しかし、検出されるエラーはこれに限られない。線形独立な列を信号にエラー発生頻度の高い箇所に対応する位置に配置して検査行列を構成すれば、周期的にエラーの発生しやすい信号に対するエラー検出が可能となる。また、なるべく多い数で線形従属の関係が成立するような列を検査行列に含むことにより、多くのエラーを検出できる。
本実施の形態では、本発明に係る信号復号装置をLDPC符号の復号に適用した例について説明したが、適用の対象はこれに限られず、行列を用いた復号であれば適用が可能である。
本実施の形態では、磁気ディスク装置に適用の例として説明したが、適用の対象はこれに限られず、光ディスク記憶装置、光磁気ディスク記憶装置等、符号化された信号を記憶する記憶装置であって、信号を読み取る際に復号するものへの適用が可能である。また、符号化されて送信された信号を受信する際に復号する通信システムへの適用が可能である。
実施の形態の磁気ディスク装置の構成を示す図である。 実施の形態のR/Wチャネルの構成を示す図である。 実施の形態のLDPC繰返復号部の機能ブロック図である。 実施の形態のLDPC単位復号部の機能ブロック図である。 エラー検出について説明するための図である。 (a)は、エラーが発生していない場合における図5の一部を抽出した図、(b)は、1箇所にエラーが発生した場合における図5の一部を抽出した図、(c)は、2箇所にエラーが発生した場合における図5の一部を抽出した図、(d)は、3箇所にエラーが発生した場合における図5の一部を抽出した図である。 検査行列において線形従属な列が隣接して配置される場合のエラー発生位置との対応関係を示す図である。 検査行列において線形従属な列が離れて配置される場合のエラー発生位置との対応関係を示す図である。 実施の形態の検査行列の構成方法を説明するための図である。
符号の説明
1 HDC、 2 CPU、 3 R/Wチャネル、 4 VCM/SPM制御部、 5 DE、 11 主制御部、 12 データフォーマット制御部、 13 ECC制御部、 14 バッファRAM、 21 FROM、 22 RAM、 31 ライトチャネル、 32 リードチャネル、 50 ディスク媒体、 51 ヘッド、 52 VCM、 53 SPM、 54 プリアンプ、 100 磁気ディスク装置、 301 バイトインターフェース部、 302 スクランブラ、 303 RLL符号化部、 304 LDPC符号化部、 305 ライトプリコン部、 306 ドライバ、 311 VGA、 312 LPF、 313 ADC、 314 周波数シンセサイザ、 315 FIRフィルタ、 316 SOVA復号部、 317 AGC、 320 PRML復号部、 321 同期信号検出部、 322 LDPC繰返復号部、 323 RLL復号部、 324 デスクランブラ、 330 インタリーバ、 332 LDPC単位復号部、 334 デインタリーバ、 336 判定部、 337 カウンタ、 338 DAE、 340 検査行列保持部、 342 一時推定値算出部、 344 パリティ検査部、 400 検査行列。

Claims (14)

  1. 入力信号系列に属する符号化された信号が復号されたとき、この復号された信号系列に行列を作用させて復号精度を高める方法において、
    s、tをs≧t≧2なる自然数とするとき、前記行列として、当該行列から抽出されたs列のうちt列以下の列どうしが線形独立の関係となるものを用い、
    前記s列は、前記復号された信号系列においてエラー発生頻度が比較的高い信号に乗じられる列であることを特徴とする信号復号方法。
  2. 入力信号系列に属する符号化された信号が復号されたとき、この復号された信号系列に行列を作用させて復号精度を高める方法において、
    s、tをs≧t≧2なる自然数とするとき、前記行列として、当該行列から抽出されたs列のうちt列以下の列どうしが線形独立の関係となるものを用い、
    前記s列は、前記行列において隣接する列であることを特徴とする信号復号方法。
  3. 入力信号系列に属する符号化された信号が復号されたとき、この復号された信号系列にm行n列(mとnは、m,n≧2なる自然数)の行列を作用させて復号精度を高める方法において、
    前記行列は、列方向に接続されたm行s列(sは、n>sなる自然数)の第1および第2の部分行列を含み、
    第1および第2の部分行列は、そのs列のうちt列(tはs≧t≧2なる自然数)以下の列どうしが線形独立の関係となることを特徴とする信号復号方法。
  4. 入力信号系列を取得し、この入力信号系列に属する符号化された信号が復号されたとき、この復号された信号系列と行列との乗算を実行する単位復号部を備え、
    s、tをs≧t≧2なる自然数とするとき、前記単位復号部は、前記行列として、当該行列から抽出されたs列のうちt列以下の列どうしが線形独立の関係となるものを用い、
    前記s列は、前記復号された信号系列においてエラー発生頻度が比較的高い信号に乗じられる列であることを特徴とする信号復号装置。
  5. 入力信号系列を取得し、この入力信号系列に属する符号化された信号が復号されたとき、この復号された信号系列と行列との乗算を実行する単位復号部を備え、
    s、tをs≧t≧2なる自然数とするとき、前記単位復号部は、前記行列として、当該行列から抽出されたs列のうちt列以下の列どうしが線形独立の関係となるものを用い、
    前記s列は、前記行列において隣接する列であることを特徴とする信号復号装置。
  6. 入力信号系列を取得し、この入力信号系列に属する符号化された信号が復号されたとき、この復号された信号系列とm行n列(mとnは、m,n≧2なる自然数)の行列との乗算を実行する単位復号部を備え、
    前記行列は、列方向に接続されたm行s列(sは、n>sなる自然数)の第1および第2の部分行列を含み、
    第1および第2の部分行列は、そのs列のうちt列(tはs≧t≧2なる自然数)以下の列どうしが線形独立の関係となることを特徴とする信号復号装置。
  7. 請求項6に記載の装置において、第2の部分行列は、第1の部分行列の要素に対して所定のシフト処理が加えられた関係であることを特徴とする信号復号装置。
  8. 請求項7に記載の装置において、前記シフト処理は行の置換であることを特徴とする信号復号装置。
  9. 請求項4から8のいずれかに記載の装置において、前記tの値は、復号の際に検出不能となる、復号された信号系列に属する信号に生じるエラーの許容限度をもとに定められることを特徴とする信号復号装置。
  10. 請求項4から9のいずれかに記載の装置において、前記単位復号部は、低密度パリティ検査符号を用いて符号化された信号を復号することを特徴とする信号復号装置。
  11. ライトチャネルとリードチャネルとを有する信号記憶システムであって、
    前記ライトチャネルは、
    データをランレングス符号化する第1の符号化部と、
    前記第1の符号化部で符号化されたデータを低密度パリティ検査符号を用いてさらに符号化する第2の符号化部と、
    前記第2の符号化部で符号化されたデータを記憶装置に書き込む書込部と、
    を備え、
    前記リードチャネルは、
    前記第2の符号化部で符号化されたデータを前記記憶装置から読み出す読出部と、
    前記読出部で読み出されたデータの尤度を計算して軟判定値を出力するソフト出力検出部と、
    前記ソフト出力検出部から出力されたデータを復号する、第2の符号化部に対応する第2の復号部と、
    前記第2の復号部で復号されたデータをさらに復号する、前記第1の符号化部に対応する第1の復号部と、
    を備え、
    前記第2の復号部は、前記ソフト出力検出部から出力されたデータが復号されたとき、この復号されたデータと行列との乗算を実行する単位復号部を有し、
    s、tをs≧t≧2なる自然数とするとき、前記単位復号部は、前記行列として、当該行列から抽出されたs列のうちt列以下の列どうしが線形独立の関係となるものを用い、
    前記s列は、前記復号されたデータにおいてエラー発生頻度が比較的高い部分に乗じられる列であることを特徴とする信号記憶システム。
  12. ライトチャネルとリードチャネルとを有する信号記憶システムであって、
    前記ライトチャネルは、
    データをランレングス符号化する第1の符号化部と、
    前記第1の符号化部で符号化されたデータを低密度パリティ検査符号を用いてさらに符号化する第2の符号化部と、
    前記第2の符号化部で符号化されたデータを記憶装置に書き込む書込部と、
    を備え、
    前記リードチャネルは、
    前記第2の符号化部で符号化されたデータを前記記憶装置から読み出す読出部と、
    前記読出部で読み出されたデータの尤度を計算して軟判定値を出力するソフト出力検出部と、
    前記ソフト出力検出部から出力されたデータを復号する、第2の符号化部に対応する第2の復号部と、
    前記第2の復号部で復号されたデータをさらに復号する、前記第1の符号化部に対応する第1の復号部と、
    を備え、
    前記第2の復号部は、前記ソフト出力検出部から出力されたデータが復号されたとき、この復号されたデータと行列との乗算を実行する単位復号部を有し、
    s、tをs≧t≧2なる自然数とするとき、前記単位復号部は、前記行列として、当該行列から抽出されたs列のうちt列以下の列どうしが線形独立の関係となるものを用い、
    前記s列は、前記行列において隣接する列であることを特徴とする信号記憶システム。
  13. 請求項11または12に記載の信号記憶システムにおいて、当該システムは、さらに、
    所定のデータを記憶する記憶装置と、
    記憶装置へのデータの書込と、記憶装置からのデータの読出とを制御する制御部と、
    を備え、
    前記リードチャネルは、前記制御部の指示に従って、前記記憶装置に記憶されているデータを読み出し、
    前記ライトチャネルは、前記制御部の指示に従って、前記所定のデータを前記記憶装置に書き込むことを特徴とする信号記憶システム。
  14. 請求項11または12に記載の信号記憶システムにおいて、当該システムは、少なくとも1つの半導体基板上に集積化されたことを特徴とする信号記憶システム。
JP2005276705A 2005-09-22 2005-09-22 信号復号方法、信号復号装置および信号記憶システム Pending JP2007087530A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005276705A JP2007087530A (ja) 2005-09-22 2005-09-22 信号復号方法、信号復号装置および信号記憶システム
CNA2006101543157A CN1937414A (zh) 2005-09-22 2006-09-20 信号解码方法、信号解码装置和信号存储系统
US11/524,548 US7849388B2 (en) 2005-09-22 2006-09-21 Signal decoding method and device, and signal storage system
TW095135156A TW200721698A (en) 2005-09-22 2006-09-22 Signal decoding method and device, and signal storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005276705A JP2007087530A (ja) 2005-09-22 2005-09-22 信号復号方法、信号復号装置および信号記憶システム

Publications (1)

Publication Number Publication Date
JP2007087530A true JP2007087530A (ja) 2007-04-05

Family

ID=37954741

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005276705A Pending JP2007087530A (ja) 2005-09-22 2005-09-22 信号復号方法、信号復号装置および信号記憶システム

Country Status (4)

Country Link
US (1) US7849388B2 (ja)
JP (1) JP2007087530A (ja)
CN (1) CN1937414A (ja)
TW (1) TW200721698A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009146494A (ja) * 2007-12-13 2009-07-02 Sony Corp 記録再生装置および記録再生方法
WO2010001502A1 (ja) * 2008-06-30 2010-01-07 国立大学法人愛媛大学 復号化装置、垂直磁気記録再生装置、受信装置、および、復号化方法
JP5009418B2 (ja) * 2008-06-09 2012-08-22 パイオニア株式会社 検査行列の生成方法及び検査行列、並びに復号装置及び復号方法

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904793B2 (en) * 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US7975209B2 (en) * 2007-03-31 2011-07-05 Sandisk Technologies Inc. Non-volatile memory with guided simulated annealing error correction control
US7966546B2 (en) * 2007-03-31 2011-06-21 Sandisk Technologies Inc. Non-volatile memory with soft bit data transmission for error correction control
US7971127B2 (en) * 2007-03-31 2011-06-28 Sandisk Technologies Inc. Guided simulated annealing in non-volatile memory error correction control
US7966550B2 (en) * 2007-03-31 2011-06-21 Sandisk Technologies Inc. Soft bit data transmission for error correction control in non-volatile memory
US20090113829A1 (en) * 2007-05-14 2009-05-07 Meier Franz X Three dimensional building element
US8307268B2 (en) 2007-12-06 2012-11-06 Marvell World Trade Ltd. Iterative decoder systems and methods
US8352826B2 (en) * 2008-08-05 2013-01-08 Seagate Technology Llc System for providing running digital sum control in a precoded bit stream
US8880976B2 (en) * 2009-09-25 2014-11-04 Stmicroelectronics, Inc. Method and apparatus for encoding LBA information into the parity of a LDPC system
US8677218B2 (en) * 2010-01-27 2014-03-18 Sk Hynix Memory Solutions Inc. LDPC decoding with on the fly error recovery
CN101867378B (zh) * 2010-06-11 2013-07-31 清华大学 Ldpc解码中的水平操作方法、水平操作装置及ldpc解码器
US8539321B2 (en) 2010-11-10 2013-09-17 Infineon Technologies Ag Apparatus and method for correcting at least one bit error within a coded bit sequence
US9450613B2 (en) 2010-11-10 2016-09-20 Infineon Technologies Ag Apparatus and method for error correction and error detection
US8671326B1 (en) * 2011-05-16 2014-03-11 Sk Hynix Memory Solutions Inc. Concatenated codes for recovering stored data
US8751894B2 (en) * 2011-09-06 2014-06-10 Cleversafe, Inc. Concurrent decoding of data streams
US8719686B2 (en) * 2011-11-22 2014-05-06 Lsi Corporation Probability-based multi-level LDPC decoder
US9141297B2 (en) * 2012-06-25 2015-09-22 Cleversafe, Inc. Verifying encoded data slice integrity in a dispersed storage network
US20150039660A1 (en) * 2013-07-31 2015-02-05 Cleversafe, Inc. Co-locate objects request
US20180188964A1 (en) * 2013-07-31 2018-07-05 International Business Machines Corporation Managed storage unit shutdown in a distributed storage network
US9425950B2 (en) * 2014-12-16 2016-08-23 eTopus Technology Inc. Sampling clock adjustment for an analog to digital converter of a receiver
TWI573147B (zh) * 2015-11-05 2017-03-01 大心電子股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
US10673461B2 (en) * 2015-12-24 2020-06-02 Intel Corporation Hybrid scheduling and latch-based pipelines for low-density parity-check decoding
US10379756B2 (en) 2016-12-15 2019-08-13 International Business Machines Corporation Logical format utilizing lateral encoding of data for storage on magnetic tape
US10120599B2 (en) 2016-12-15 2018-11-06 International Business Machines Corporation Low latency lateral decoding of data for retrieval from magnetic tape
US10304550B1 (en) 2017-11-29 2019-05-28 Sandisk Technologies Llc Sense amplifier with negative threshold sensing for non-volatile memory
US10643695B1 (en) 2019-01-10 2020-05-05 Sandisk Technologies Llc Concurrent multi-state program verify for non-volatile memory
US11024392B1 (en) 2019-12-23 2021-06-01 Sandisk Technologies Llc Sense amplifier for bidirectional sensing of memory cells of a non-volatile memory

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895547B2 (en) 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
FR2830636A1 (fr) * 2001-10-05 2003-04-11 St Microelectronics Sa Code de detection et/ou de correction d'erreurs a haute efficacite

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009146494A (ja) * 2007-12-13 2009-07-02 Sony Corp 記録再生装置および記録再生方法
US8266502B2 (en) 2007-12-13 2012-09-11 Sony Corporation Recording/reproducing apparatus and recording/reproducing method
JP5009418B2 (ja) * 2008-06-09 2012-08-22 パイオニア株式会社 検査行列の生成方法及び検査行列、並びに復号装置及び復号方法
WO2010001502A1 (ja) * 2008-06-30 2010-01-07 国立大学法人愛媛大学 復号化装置、垂直磁気記録再生装置、受信装置、および、復号化方法
JP5628670B2 (ja) * 2008-06-30 2014-11-19 国立大学法人愛媛大学 復号化装置、垂直磁気記録再生装置、受信装置、および、復号化方法

Also Published As

Publication number Publication date
TW200721698A (en) 2007-06-01
CN1937414A (zh) 2007-03-28
US7849388B2 (en) 2010-12-07
US20070110188A1 (en) 2007-05-17

Similar Documents

Publication Publication Date Title
JP2007087530A (ja) 信号復号方法、信号復号装置および信号記憶システム
JP4879323B2 (ja) 誤り訂正復号装置および再生装置
US8055977B2 (en) Decoding device, encoding/decoding device and recording/reproducing device
KR100976178B1 (ko) 부호화 장치, 복호화 장치, 부호화·복호화 장치 및 기록 재생 장치
US8977941B2 (en) Iterative decoder systems and methods
US9048879B1 (en) Error correction system using an iterative product code
JP2007087529A (ja) 信号復号装置、信号復号方法、および記憶システム
US8996969B2 (en) Low density parity check decoder with miscorrection handling
KR100766354B1 (ko) 에러 정정 장치, 부호기, 복호기, 방법 및 정보 기억 장치
US7590929B2 (en) Record reproduction method, apparatus, and circuit for using error correcting code
KR100933254B1 (ko) 최대 우도 검출기, 오류 정정 회로 및 매체 기억 장치
JP4118127B2 (ja) データの復号方法およびそれを用いたディスク装置
JP4290688B2 (ja) データ書込装置および記憶システム
US20100241922A1 (en) Error correction circuit and data storage device
WO2007083525A1 (ja) 符号化装置、復号装置、振幅調整装置、記録情報読取装置、信号処理装置および記憶システム
JP4244351B2 (ja) 信号処理装置および信号記憶システム
JP4294407B2 (ja) 信号処理方法及び信号処理回路
JP2004145972A (ja) リードチャネル復号器、リードチャネル復号方法およびリードチャネル復号プログラム
JP4916728B2 (ja) 符号化装置、信号処理装置、および記憶システム
JP2004193727A (ja) 信号処理方法及び信号処理回路
JP2001189059A (ja) 記録再生装置
JP2007200440A (ja) 信号符号化装置、信号復号装置、信号処理装置、および記憶システム
JP2007200412A (ja) 符号化装置、復号装置、信号処理装置、および記憶システム
JP2008152915A (ja) リードチャネル復号器、リードチャネル復号方法およびリードチャネル復号プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080624

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090113

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090414