Data writing device and storage system

申请号 JP2005276921 申请日 2005-09-22 公开(公告)号 JP4290688B2 公开(公告)日 2009-07-08
申请人 ローム株式会社; 发明人 秀導 水野; 淳 江角;
摘要
权利要求
  • 記憶装置に対し、本体データとその誤り訂正に利用するパリティデータとを書き込む装置であって、
    本体データおよびパリティデータを記憶装置に書き込む書込回路と、
    本体データの書込中に並行してパリティデータを生成するパリティ生成回路と、
    生成したパリティデータの先頭が本体データの末尾の後に書込タイミング上連続して出現するよう調整するタイミング調整回路と、
    を備え、
    前記タイミング調整回路によってタイミング調整された本体データとパリティデータが前記書込回路へ提供され、
    前記パリティ生成回路は、
    本体データの順序を、所定の規則にしたがって並べ替えるインタリーブ回路と、
    前記インタリーブ回路によって並べ替えられたデータに対し、低密度パリティチェック符号化を行って符号化データを生成する低密度パリティチェック符号化回路と、
    前記低密度パリティチェック符号化回路によって生成された符号化データの順序をもとに戻して前記パリティデータを出力するデインタリーブ回路と、を含み、
    前記タイミング調整回路は、
    本体データの個数を示すデータが入力され、その本体データの個数を示すデータをもとに本体データの先頭から末尾までのデータを前記書込回路に供給するのに要する時間を決定し、その決定された時間を、 前記パリティ生成回路において本体データの先頭が入力されてからパリティデータの先頭が出力されるまでの時間から減じて得た値を遅延量として決定する遅延量決定部 と、
    本体データを入力とし、遅延させて出力する複数の遅延素子と、
    前記遅延量決定部によって決定された遅延量にもとづいて、前記複数の遅延素子のうちのいずれかの遅延素子を選択し、選択された遅延素子から本体データを順次前記書込回路に出力するセレクタと、を含み、
    前記パリティ生成回路において本体データの先頭が入力されてからパリティデータの先頭が出力されるまでの時間は、前記本体データの先頭から末尾までのデータを前記書込回路に供給するのに要する時間の2倍未満であることを特徴とするデータ書込装置。
  • 前記タイミング調整回路は、前記パリティ生成回路における遅延時間を相殺するよう本体データの伝搬経路に設けられることを特徴とする 請求項1に記載のデータ書込装置。
  • 前記複数の遅延素子は、少なくとも前記遅延量より多くの遅延量を有することを特徴とする 請求項1に記載のデータ書込装置。
  • 前記記憶装置はコンピュータに内蔵される磁気記録装置であって、
    前記パリティ生成回路は、前記コンピュータ内で生成された本体データに対してパリティデータを生成し、
    前記書込回路は、前記本体データと前記パリティデータとを順次前記磁気記録装置に書き込むことを特徴とする請求項1乃至 のいずれかに記載のデータ書込装置。
  • データを記憶装置に書き込むライトチャネルと、記憶装置に記憶されているデータを読み出すリードチャネルを有する信号記憶システムであって、
    前記ライトチャネルは、
    データをランレングス符号化する第1の符号化部と、
    前記第1の符号化部で符号化されたデータに対し、低密度パリティ検査符号を用いて符号化する第2の符号化部と、
    前記第2の符号化部で符号化されたデータを記憶装置に書き込むデータ書込部と、
    を有し、
    前記リードチャネルは、
    前記記憶装置に記憶されているデータを読み出すデータ読出部と、
    前記データ読み出し部によって読み出されたデータの尤度を計算して軟判定値を出力するソフト出力検出部と、
    前記ソフト出力検出部から出力されたデータを復号する、第2の符号化部に対応した第1の復号部と、
    前記第1の復号部で復号されたデータを復号する、前記第1の符号化部に対応した第2の復号部と、
    を有し、
    前記データ書込部は、
    前記第1の符号化部で符号化されたデータ である本体データおよびパリティデータを記憶装置に書き込む書込回路と、
    本体データの書込中に並行してパリティデータを生成するパリティ生成回路と、
    生成したパリティデータの先頭が本体データの末尾の後に書込タイミング上連続して出現するよう調整するタイミング調整回路と、
    を有し、前記タイミング調整回路によってタイミング調整された本体データとパリティデータが前記書込回路へ提供され、
    前記パリティ生成回路は、
    本体データの順序を、所定の規則にしたがって並べ替えるインタリーブ回路と、
    前記インタリーブ回路によって並べ替えられたデータに対し、低密度パリティチェック符号化を行って符号化データを生成する低密度パリティチェック符号化回路と、
    前記低密度パリティチェック符号化回路によって生成された符号化データの順序をもとに戻して前記パリティデータを出力するデインタリーブ回路と、を含み、
    前記タイミング調整回路は、
    本体データの個数を示すデータが入力され、その本体データの個数を示すデータをもとに本体データの先頭から末尾までのデータを前記書込回路に供給するのに要する時間を決定し、その決定された時間を、 前記パリティ生成回路において本体データの先頭が入力されてからパリティデータの先頭が出力されるまでの時間から減じて得た値を遅延量として決定する遅延量決定部と、
    本体データを入力とし、遅延させて出力する複数の遅延素子と、
    前記遅延量決定部によって決定された遅延量にもとづいて、前記複数の遅延素子のうちのいずれかの遅延素子を選択し、選択された遅延素子から本体データを順次前記書込回路に出力するセレクタと、を含み、
    前記パリティ生成回路において本体データの先頭が入力されてからパリティデータの先頭が出力されるまでの時間は、前記本体データの先頭から末尾までのデータを前記書込回路に供給するのに要する時間の2倍未満であることを特徴とする記憶システム。
  • 請求項1に記載のデータ書込装置おいて、当該装置は、1つの半導体基板上に一体集積化されたことを特徴とするデータ書込装置。
  • 说明书全文

    本発明は、記憶媒体へのアクセス技術に関し、特に、データ書込装置および記憶システムに関する。

    近年、ハードディスクを用いた記憶装置は、パーソナルコンピュータ、ハードディスクレコーダー、ビデオカメラ、携帯電話など、さまざまな分野において必須の装置となりつつある。 ハードディスクを用いた記憶装置は、適用される分野によって求められる仕様もさまざまであり、たとえば、パーソナルコンピュータに用いる場合は、高速でかつ大容量が求められる。 しかしながら、大容量になるほど扱うデータの量が増えるため、十分な誤り訂正能が必要となり、高速化が難しくなる。

    従来、ハードディスクを用いた記憶装置に用いられる誤り訂正方式として、ターボ符号化、低密度パリティチェック符号化などがある。 これらの誤り訂正方式は、誤り訂正符号化の対象となるデータに所定の処理を施してパリティデータを生成し、復号側にて、パリティデータを用いて誤りの有無のチェック、および、誤りの訂正を行っている。 したがって、データとパリティデータとは連結されて記憶装置に書き込まれることが必要とされる。 しかしながら、データとパリティデータとは別経路にて生成されるので、両者をハンドシェイクしつつ、高速に記憶装置に書き込むのは難しい。 また、回路が複雑になるとともに、コストも高くなるといった問題があった。 これを改善する方法としては、記憶装置への書き込みサイクル終了後のデータ経路の空き時間を利用してパリティビットを出力するといった方法がある(例えば、特許文献1を参照)。

    特開平10−340596号公報

    しかし、一般に、誤り訂正符号化の対象となるデータとパリティデータとを高速に記憶装置に書き込みつつ、データとパリティデータとを整列することは難しい。

    本発明はこうした状況に鑑みてなされたものであり、その目的は、より高速でアクセスすることのできる記憶装置を提供することにある。

    上記課題を解決するために、本発明のある態様のデータ書込装置は、記憶装置に対し、本体データとその誤り訂正に利用するパリティデータとを書き込む装置であって、本体データおよびパリティデータを記憶装置に書き込む書込回路と、本体データの書込中に並行してパリティデータを生成するパリティ生成回路と、生成したパリティデータの先頭が本体データの末尾の後に書込タイミング上連続して出現するよう調整するタイミング調整回路と、を備え、タイミング調整回路によってタイミング調整された本体データとパリティデータが書込回路へ提供される。

    この態様によると、本体データとパリティデータの書き込みタイミングを調整することによって、本体データとパリティデータが離れることなく、双方が連結した状態で記憶装置に書き込むことができる。

    ここで、「本体データの書込中に並行してパリティデータを生成する」とは、本体データの書き込み処理が、パリティデータの生成処理が時間的に同時に行われていることを含み、また、いずれか一方の処理における処理時間の一部が、他方の処理における処理時間の一部と重なっていることを含む。 また、「パリティデータの先頭が本体データの末尾の後に書込タイミング上連続して出現するよう調整する」とは、本体データの末尾が書き込まれた直後にパリティデータの先頭が書き込まれるように、タイミングが調整されることを含む。 また、「データ書込装置」は、たとえば、本体データに対し誤り訂正符号化を施してパリティデータを生成する回路を含んでもよく、また、本体データのタイミングを調整する回路、また、本体データを生成する回路、その他本体データに所定の処理を施して記憶装置に書き込むデータを生成する回路などを含んでもよい。

    パリティ生成回路は、本体データの順序を、所定の規則にしたがって並べ替えるインタリーブ回路と、インタリーブ回路によって並べ替えられたデータに対し、低密度パリティチェック符号化を行って符号化データを生成する低密度パリティチェック符号化回路と、低密度パリティチェック符号化回路によって生成された符号化データの順序をもとに戻してパリティデータを出力するデインタリーブ回路と、を備えてもよい。

    また、タイミング調整回路は、パリティ生成回路における遅延時間を相殺するよう本体データの伝搬経路に設けられてもよい。 また、タイミング調整回路は、パリティ生成回路におけるパリティデータの生成に要する時間から、本体データの先頭から末尾までのデータを書込回路に供給するのに要する時間を減じて得た値を遅延量として、本体データを遅延させてもよい。 また、タイミング調整回路は、遅延量に相当する個数の遅延素子を有し、遅延素子は、当該遅延素子に入力された本体データを遅延させて出力してもよい。 このような構成により、遅延量を固定とすることができるため、書込装置のハード規模を低減することができる。

    また、タイミング調整回路は、遅延量を決定する遅延量決定部と、本体データを入力とし、遅延させて出力する複数の遅延素子と、を備えてもよい。 遅延量決定部によって決定された遅延量をもとに、複数の遅延素子のうちのいずれかの遅延素子を選択して、本体データを選択された遅延素子から前記書込回路に出力させてもよい。 また、複数の遅延素子は、少なくとも前記遅延量より多くの遅延量を有していてもよい。 このような構成をとることにより、本体データの個数が可変である場合であっても、適応的に、遅延量を変化させることができる。

    また、データ書込装置は、遅延量を生成してタイミング調整回路に供給する遅延量決定部をさらに有してもよい。 タイミング調整回路は、遅延量決定部から供給された遅延量を用いて、当該タイミング調整回路に入力された本体データを遅延させて出力してもよい。 また、記憶装置はコンピュータに内蔵される磁気記録装置であって、パリティ生成回路は、コンピュータ内で生成された本体データに対してパリティデータを生成し、書込回路は、本体データとパリティデータとを順次磁気記録装置に書き込んでもよい。 また、データ書込装置は、1つの半導体基板上に一体集積化されていてもよい。

    この態様によると、タイミング調整回路を本体データの処理経路中に設けることによって、パリティ生成回路の負荷を軽減し、また、記憶装置への書込時間を短くすることができる。 また、パリティデータの生成に要する時間を考慮した値で、本体データを遅延させることによって、本体データとパリティデータをタイミングよく記憶装置に書き込むことができる。 また、あらかじめ、遅延量に相当する個数の遅延素子を設けることによって、ソフト的なハンドシェイク制御を必要としないで、自律的なタイミング調整ができる。 また、余分なハードウェアを搭載する必要がなくなるので、低規模な半導体集積回路を実現できる。

    ここで、「パリティ生成回路における遅延時間を相殺するよう」とは、パリティ生成回路における処理時間を考慮して、タイミング調整回路がタイミングを調整することを含む。

    本発明の別の態様は、記憶システムである。 この記憶システムは、データを記憶装置に書き込むライトチャネルと、記憶装置に記憶されているデータを読み出すリードチャネルを有する信号記憶システムであって、ライトチャネルは、データをランレングス符号化する第1の符号化部と、前記第1の符号化部で符号化されたデータに対し、低密度パリティ検査符号を用いて符号化する第2の符号化部と、前記第2の符号化部で符号化されたデータを記憶装置に書き込むデータ書込部と、を有し、リードチャネルは、記憶装置に記憶されているデータを読み出すデータ読出部と、データ読み出し部によって読み出されたデータの尤度を計算して軟判定値を出力するソフト出力検出部と、ソフト出力検出部から出力されたデータを復号する、第2の符号化部に対応した第1の復号部と、第1の復号部で復号されたデータを復号する、第1の符号化部に対応した第2の復号部と、を有し、データ書込部は、第1の符号化部で符号化されたデータおよびパリティデータを記憶装置に書き込む書込回路と、第1の符号化部で符号化されたデータの書込中に並行してパリティデータを生成するパリティ生成回路と、生成したパリティデータの先頭が本体データの末尾の後に書込タイミング上連続して出現するよう調整するタイミング調整回路と、を有し、タイミング調整回路によってタイミング調整された本体データとパリティデータが書込回路へ提供される。 また記憶システムは、1つの半導体基板上に一体集積化されてもよい。

    この態様によると、タイミング調整回路を設けることによって、本体データとパリティデータとを正確に連結させることができる。 また、より高速に記憶システムのアクセス制御を実現することができる。

    なお、以上の構成要素の任意の組合せや本発明の構成要素や表現を方法、装置、システムなどの間で相互に置換したものもまた、本発明の態様として有効である。

    本発明によれば、より高速にアクセスすることのできる記憶装置を提供することができる。

    以下、図面を参照して本発明の実施の形態(以下、「実施形態」という。)について説明する。

    (実施形態)
    本発明の実施形態を具体的に説明する前に、まず本実施形態にかかる記憶装置について概要を述べる。 本実施形態にかかる記憶装置は、ハードディスクコントローラと、磁気ディスク装置と、リードチャネルとライトチャネルを含むリードライトチャネルと、を有する。 また、ライトチャネルは、パリティデータ生成回路と、タイミング調整回路と、書込回路と、を有する。 ライトチャネルにおいては、パリティ生成回路にてパリティデータを生成し、本体データとともに書込回路を経由して記憶装置に書き込む処理を行う。

    ここで、タイミング調整回路におけるタイミングの調整は、次のいくつかの方法が考えられる。 1つ目の方法としては、データ書込回路内にメモリを設け、パリティデータがデータ書込回路に到着するまで、そのメモリに本体データを一時的に保持するといった方法である。 また、パリティデータの先頭がデータ書込回路に到着したことを契機として、本体データを書込回路内のメモリからの出力を開始するとしてもよい。 2つ目の方法としては、書込回路を経由して本体データの末尾を書き込んだ後、パリティデータの先頭が書込回路に入力されるまで、書込許可を否とする方法である。 この場合の書込許可は、記憶装置への書込の可否をハード的、もしくはソフト的な処理によって判断(以下、「ハンドシェイク」と称する。)し、書込の可否を切り替える制御フラグである。 たとえば、パリティデータの先頭が書込回路に入力されたことを契機として、制御フラグを否から可に反転するなどのハンドシェイクを行う。

    上述した2つのタイミング調整の方法は、いずれの場合も本体データとパリティデータとは連続した状態で記憶装置に書き込むことができる。 しかしながら、1つ目の方法においては、書込回路内のメモリの容量は本体データのデータ量だけ必要とされるので、大容量の記憶装置において適用すると、ハード規模が増大してしまう。 また、2つ目の方法においては、フラグの切り替え制御にハンドシェイクが必要とされるので、高速化が望まれる記憶装置には適さない。

    そこで、本発明の実施形態においては、パリティ生成回路におけるパリティデータ生成のための処理時間を考慮して、本体データを遅延させる方法をとることとした。 詳細は後述するが、パリティ生成回路にてパリティデータを生成している間、本体データは、タイミング調整回路にてタイミングが調整され、その後、書込回路へと入力される。 さらに、パリティ生成回路にて生成されたパリティデータは、書込回路へと入力される。 このとき、タイミング調整回路は、パリティ生成回路における処理時間を考慮して、本体データを遅延させている。 したがって、書込回路へは、本体データの末尾の後に、パリティデータの先頭が入力されることとなる。 その結果、本体データとパリティデータの間に隙間は発生せず、両者は連結された状態で書込回路を経由して記憶装置に書き込まれることとなる。 このような態様をとることにより、記憶装置が大容量化されてもハード規模を増大させず、また、高速化への影響も低減することができる記憶装置を提供することができる。

    ここで、「記憶装置」は、たとえば、コンピュータ、デジタルビデオ、携帯電話などに内蔵されるハードディスクであってもよく、また、デジタルビデオディスクなどの蓄積媒体に対し読み書き処理を行う装置であってもよい。 また、「本体データ」は、誤り訂正符号化を施す対象となるデータに限らず、たとえば画像データであってもよく、音声データなどでもよい。 また、画像データ、音声データに対して所定の圧縮符号化を施した後のデータであってもよい。 また、「パリティデータ」は、本体データに関する冗長データ、もしくは、冗長符号を含み、たとえばターボ符号化、低密度パリティチェック符号化(Low Density Parity Check Codes。以下、「LDPC符号化」と略称する。)などの誤り訂正符号化の結果、組織符号、もしくは非組織符号として生成される符号に含まれるパリティビット系列であってもよい。 また、誤り訂正符号化の結果、複数のパリティビット系列が生成される場合、少なくとも1つのパリティビット系列でもよい。

    なお、一般的には、LDPC符号化、もしくはLDPC復号における生成行列をG、検査行列をHと表記する。 ここでは説明を簡単にするため、双方とも、所定の行列、もしくは、行列Hとして説明する。 なお、生成行列Gは、検査行列Hと式(1)の関係を有しているので、一方が決まると他方も決まる性質を持つ。
    G×H =0 式(1)
    ここで、H は、Hの転置行列を示す。 また、右辺の0は、0行列を示す。

    また、以下における説明を簡易とするために、「記憶」、「記録」を、「記憶」と統一して記載する。 同様に、「記憶する」、「記録する」を、「記憶する」と統一して記載する。 以下、図面を用いて、本発明の実施形態について詳細に説明する。

    図1は、本発明の第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を回転させる。

    ここで、図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符号化は、生成行列と呼ばれるk×nの行列に、長さkのデータ系列を左から掛け合わせることで行う。 この生成行列に対応する検査行列Hに含まれる各要素は、0もしくは1であり、1の数が0の数に比べて少ないことから、低密度パリティ検査符号(Low Density Parity Check Codes)と呼ばれている。 この1と0の配置を利用することによって、後述するLDPC繰返復号部322にて、効率的にエラーの訂正を行うことができる。 詳細は後述する。

    ライトプリコン部305は、メディア上の磁化転移の連続による非線形歪を補償する回路である。 ライトデータから補償に必要な規則を検出し、正しい位置で磁気転移が生ずるようにライト電流波形を予め調整をする。 ドライバ306は擬似ECLレベルに対応した信号を出力するドライバである。 ドライバ306からの出力は図示しないDE5に送られ、プリアンプ54を通してヘッド51に送られ、ライトデータがディスク媒体50上に記憶される。

    リードチャネル32は、可変利得増幅器311(以下、「VGA311」と略記する。)、ローパスフィルタ312(以下、「LPF312」と略記する。)、AGC317、アナログ/ディジタル変換器313(以下、「ADC313」と略記する。)、周波数シンセサイザ314、フィルタ315、ソフト出力検出部320、LDPC繰返復号部322、同期信号検出部321、ランレングス制御復号部323(以下、「RLL復号部323」と略記する。)、デスクランブラ324とから構成されている。

    VGA311及びAGC317は、図示しないプリアンプ54から送られたデータのリード波形の振幅の調整を行う。 AGC317は理想的な振幅と実際の振幅を比較し、VGA311に設定すべきゲインを決定する。 LPF312は、カットオフ周波数とブースト量を調整することができ、高周波ノイズの低減と部分応答(Partial Response。以下、「PR」と略記する。)波形への等化の一部を担う。 LPF312でPR波形への等化を行うが、ヘッドの浮上量変動、媒体の不均一性、モータの回転変動などの多くの要因により、アナログのLPFによる完全な等化は難しいので、後段に配置され、よりフレキシビリティに富んだフィルタ315を用いて、再度PR波形への等化を行う。 フィルタ315は、そのタップ係数を適応的に調整する機能を有していてもよい。 周波数シンセサイザ314は、ADC313のサンプリング用クロックを生成する。 ADC313は、AD変換により直接同期サンプルを得る構成とした。 なお、この構成の他に、AD変換により非同期サンプルを得る構成であってもよい。 この場合は、ゼロ相リスタート部、タイミング制御部、及び補間フィルタをさらにADC313の後段に設ければよい。 非同期サンプルから同期サンプルを得る必要があり、これらのブロックがその役割を担う。 ゼロ相リスタート部は初期位相を決定するためのブロックで、できるだけ早く同期サンプルを得るために用いられる。 初期位相を決定した後は、タイミング制御部で理想的なサンプル値と実際のサンプル値を比較し、位相のずれを検出する。 これを用いて補間フィルタのパラメータを決定することにより、同期サンプルを得ることができる。

    ソフト出力検出部320は、符号間干渉に伴う復号特性の劣化を回避するために、ビタビアルゴリズムの一種であるソフト出力ビタビアルゴリズム(Soft−Output Viterbi Algorithm。以下、「SOVA」と略記する。)が用いられる。 すなわち、近年の磁気ディスク装置の記憶密度の上昇に伴い、記憶された符号間の干渉が大きくなり、復号特性が劣化するといった課題を解決するため、これを克服する方式として符号間干渉による部分応答を利用した最ゆう復号(Partial Response MaximumLikelihood。以下、「PRML」と略記する。)方式を用いる。 PRMLは、再生信号の部分応答のゆう度を最大にする信号系列を求める方式である。

    ソフト出力検出部320は、SOVAなどによって構成され、軟判定値を出力する。 例えば、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、0、0、1)である。 ハード値は、0であるか、1であるかのみを表しており、どちらの可能性が高いかという情報が失われている。 このためLDPC繰返復号部322に軟判定値を入力する方が復号性能が向上する。

    LDPC繰返復号部322は、LDPC符号化されているデータ系列から、LDPC符号化前の系列に復元する役割を有する。 復号化の方法としては、主に、sum−product復号法とmin−sum復号法があり、復号性能の面ではsum−product復号法が有利であるが、min−sum復号法はハードウェアによる実現が容易である特徴を持つ。 LDPC符号を用いる実際の復号操作では、ソフト出力検出部320とLDPC繰返復号部322の間で繰り返し復号を行うことにより、非常に良好な復号性能を得ることができる。 このために実際はソフト出力検出部320とLDPC繰返復号部322を複数段配列した構成が必要になる。

    LDPC繰返復号部322は、ソフト出力検出部320から出力された信号系列に対し、インタリーブ処理を行って、LDPC復号処理を施し、さらに、逆のインタリーブ処理を行う。 また、LDPC復号により誤りが訂正されたことを検査し、再度繰り返し処理を行うかを判定する。 繰り返して復号を行う場合、再度軟判定値を計算して、インタリーブ処理の前段にフィードバックする。

    具体的には、LDPC繰返復号部322は、所定の並替規則を用いて、ソフト出力検出部320から出力されたデータを並べ替える処理を行う。 具体的な動作は、後述する第1のインタリーブ330と同様であるので、ここでは説明を省略する。 また、行列Hを用いて、並び替えられたデータ系列の事前値と事後値を求め、復号結果である軟判定値を算出する。 さらに、所定の並替規則を用いて、算出された軟判定値を、先に並び替えた系列を元に戻す、逆の並べ替え処理を行う。 具体的な動作は、第1のデインタリーブ332と同様であるので、ここでは説明を省略する。 このように、エラーの集中している個所を振り分けることによって、エラーが含まれる信号を分散することができる。 また、復号時の誤り訂正能力を向上することができる。

    同期信号検出部321はデータの先頭に付加された同期信号(Sync Mark)を検出し、データの先頭位置を認識する役割を有する。 RLL復号部323は、LDPC繰返復号部322から出力されたデータに対して、ライトチャネル31のRLL符号化部303の逆操作を行い、元のデータ系列に戻す。 デスクランブラ324はライトチャネル31のスクランブラ302の逆操作を行い、元のデータ系列に戻す。 ここで生成されたデータはHDC1に転送される。

    ここで、LDPC符号化部304について詳細に説明する。 図3は、図2のLDPC符号化部304の構成例を示す図である。 LDPC符号化部304は、本体データに対しタイミング調整を行って書込回路334に出力するタイミング調整回路326と、入力信号系列に対しLDPC符号化を行ってパリティデータを生成して書込回路334に出力するパリティ生成回路328と、本体データとパリティデータを順次うけとって、ライトプリコン部305、ドライバ306などを介して、記憶装置に出力する書込回路334と、を含む。

    タイミング調整回路326は、入力された本体データのタイミングを調整し、本体データを遅延させて出力する回路である。 このタイミングの調整は、パリティ生成回路328におけるパリティデータ生成のために要する時間を考慮して行われる。 いいかえると、パリティ生成回路328における遅延時間を相殺するように、本体データのタイミングが調整される。 これにより、生成したパリティデータの先頭が本体データの末尾の後に書込タイミング上連続して書込回路334に出現し、本体データの書込回路334への出力タイミングが調整できることとなる。 ここで、タイミング調整回路326を本体データの処理経路中に設ける理由は、本体データに含まれる全てのデータが書込回路334へ入力されるのに要する時間がパリティ生成回路328におけるパリティデータ生成に要する時間よりも短いためである。 このため、本体データのタイミングを調整しないと、パリティデータと連結された状態にはならないこととなる。 なお、本体データのタイミングを調整する具体的な態様についての詳細は後述することとする。

    パリティ生成回路328は、入力信号系列に対しインタリーブ処理を行う第1のインタリーブ330と、インタリーブされた個々の信号系列とH行列との乗算を行う乗算部340〜344(以下、代表して「乗算部340」と表記する。)と、乗算結果に対し、第1のインタリーブ330と逆の並べ替え処理を行って、パリティビットを生成する第1のデインタリーブ332と、を含む。 パリティ生成回路328は、本体データに対し、LDPC符号化を施して、書込回路334に出力する回路である。 パリティ生成回路328は、タイミング調整回路326による本体データの遅延処理、および/または、書込回路334などを介した記憶装置への書き込み処理と、時間的に並行してパリティデータを生成する。

    第1のインタリーブ330は、入力された信号系列を複数の系列に振り分け、それぞれ乗算部340に出力する。 この振り分けは、外部から入力される並替規則(Interleaving Pattern)、および処理経路の個数にしたがって振り分けられる。 例えば、並替規則が(0、1、2、3、4、5、6、7)であり、また、信号系列がd0、d1〜d7の順で入力された場合、信号系列は式(2)のように並べ替えられることとなる。
    (d0、d1、d2、d3、d4、d5、d6、d7) 式(2)
    ここで、処理経路の個数が2個、すなわち、乗算部340の個数が2個(乗算部340と乗算部342)である場合は、下記のように出力される。
    乗算部340の入力系列:(d0、d2、d4、d6)
    乗算部342の入力系列:(d1、d3、d5、d7)
    つまり、式(2)で示す信号が、乗算部の個数である2個おきに同一の乗算部に入力されることとなる。

    もう1つ例を用いて説明する。 例えば、並替規則が(0、4、1、5、2、6、3、7)であり、また、信号系列がd0、d1〜d8の順で入力された場合、信号系列は式(3)のように並べ替えられることとなる。
    (d0、d4、d1、d5、d2、d6、d3、d7) 式(3)
    ここで、処理経路の個数が2個、すなわち、乗算部340の個数が2個(乗算部340と乗算部342)である場合は、下記のように出力される。
    乗算部340の入力系列:(d0、d1、d2、d3)
    乗算部342の入力系列:(d4、d5、d6、d7)
    つまり、式(3)で示す信号系列が、乗算部の個数である2個おきに同一の乗算部に入力されることとなる。

    乗算部340は、各処理経路に設けられ、第1のインタリーブ330から出力された信号に、外部より入力された行列Hを作用させて、乗算を行う。 具体的には、式(4)で表される演算を行う。
    ×H=C 式(4)
    ここで、D とは、1×kの行列であって、各乗算部340に入力される信号系列を表す。 また、iは、1以上M以下の正の整数であって、処理経路の数を表す。 また、Hは、k×nの行列を表す。 また、C は、符号化系列であって、1×nの行列を表す。

    つぎに、第1のデインタリーブ332について説明する。 第1のデインタリーブ332は、各々の乗算部340から出力された符号化系列を統合して並べ替える処理を行って、パリティ系列を出力する。 この並べ替えの処理は、第1のインタリーブ330で用いた並替規則を用いて行う。 ただし、同じ並替規則であっても、並び替え処理自体は、第1のインタリーブ330とは異なる。 具体的には、並替規則が(0、1、2、3、4、5、6、7)であって、乗算部340から出力された系列をそれぞれ、(d0、d2、d4、d6)、(d1、d3、d5、d7)とすると、第1のデインタリーブ332の出力系列は、(d0、d1、d2、d3、d4、d5、d6、d7)となる。 すなわち、乗算部340がなかった場合、並び替え処理がなされなかったものとなるように、並べ替えられる。 すなわち、第1のデインタリーブ332は、第1のインタリーブ330の逆処理を行っている。 ここで、処理経路の数、並替規則は、信号系列の含まれるバーストエラーの局在性、もしくは、後述する行列Hの有する線形従属性を考慮して決定される。

    書込回路334は、タイミング調整回路326によってタイミング調整された本体データと、パリティ生成回路328によって生成されたパリティデータとを順次後段の回路に出力する処理を行う。 たとえば、本体データがd0〜d100であり、パリティデータがp0〜p7であった場合、書込回路334の出力系列は、式(5)で示すように、d0を先頭のデータ、p7を最後のデータとする系列となる。
    (d0、d1、・・・d99、d100、p0、p1、・・・、p7) 式(5)

    ここで、タイミング調整回路326におけるタイミング調整について、図4〜図7を用いて詳細に説明する。 図4は、図3のタイミング調整回路326の第1の構成例を示す図である。 タイミング調整回路326は、遅延素子370で代表される第1遅延素子370Aと、第2遅延素子370Bと、第N遅延素子370Cなどを含む。 ここで、遅延素子370の個数は、N個とする。 また、Nは、遅延量と同じ値とする。 いいかえると、遅延部350は、予め計算した遅延量と同じ個数だけ、遅延素子370を備えていることになる。 図4に示すタイミング調整回路326の第1の構成例は、遅延量を固定の値として予め計算し、一切のソフト処理を介さずに、本体データのタイミングを調整するものである。 このため、遅延量を適応的に変化することができない構成となる。 しかしながら、図3に示したような誤り訂正回路においては、誤り訂正を行う対象となるデータの個数は予め決まっていることが多く、本変形例のように固定の遅延量をもってタイミングを調整したとしても問題となることはない。 また、予め計算することにより、遅延量を計算するためのハードウェアを必要としないので、ハード規模の低減が図れることとなる。

    なお、遅延量Nの算出の例は、図3に示したパリティ生成回路328における遅延時間を相殺するよう、パリティ生成回路328におけるパリティデータの生成に要する時間を考慮して生成される。 具体的には、たとえば、パリティ生成回路328におけるパリティデータの生成に要する時間から、本体データの先頭から末尾までのデータを書込回路334に供給するのに要する時間を減じて得た値を遅延量として生成してもよい。 パリティ生成回路328におけるパリティデータの生成に要する時間とは、前述したパリティ生成回路328において、本体データの先頭が入力されてから、パリティデータの先頭が出力されるまでの処理時間などをいう。 また、本体データの先頭から末尾までのデータを書込回路334に供給するのに要する時間とは、本体データの先頭がタイミング調整回路326に入力されてから、本体データの末尾が書込回路334に入力されるまでの時間などをいう。 また、本体データのタイミング調整回路326への入力処理、遅延部350における遅延処理、書込回路334への入力処理において、一つのデータが処理される時間はすべて同じ間隔で行われる、すなわち、全ての処理は同一のレートで行われると仮定した場合、本体データの先頭から末尾までのデータを書込回路334に供給するのに要する時間は、本体データの長さとなる。 なお、データの個数、遅延量は、同一の単位で表現できる値とし、以下、1つのデータを処理する時間、もしくは、1つのデータを遅延させる時間を、「単位時間」と表現する。 このように遅延量を決定することによって、後述する図6に図示するように、パリティデータの先頭が本体データの末尾の後に書込タイミング上連続して出現するよう、調整されることとなる。 なお、上記の例にかぎらず、本体データとパリティデータとが連結された状態で記憶装置に書き込まれるように調節できる値として算出されたものであってもよい。

    本体データは、まず、先頭のデータが第1遅延素子370Aに入力され、1単位時間だけ遅延させられて第2遅延素子370Bに出力される。 ついで、第2遅延素子370Bにおいて、同様に1単位時間だけ遅延させられて、次の遅延素子370に出力される。 以後、順次、第N遅延素子370Cまで出力され、合計してN単位時間分遅延させられた先頭データが遅延部350から出力されることとなる。 ここで、本体データの先頭データ以外のデータは、本体データの先頭データがそれぞれの遅延素子370から出力されるたびに、当該遅延素子370に続いて入力され、先頭データと同様の処理がなされる。 したがって、本体データの先頭が第1遅延素子370Aに入力されてから、(本体データに含まれるデータの個数+N)で計算される単位時間後に、本体データに含まれる全てのデータが遅延部350から出力されることとなる。 この結果、本体データとパリティデータとが時間的に連結するよう、書込回路334に現れることとなる。

    図5は、図3のタイミング調整回路326の第2の構成例を示す図である。 タイミング調整回路326の第2の構成例は、遅延素子370で代表される第1遅延素子370A、第2遅延素子370B、第M遅延素子370Dなどを含む。 Mは、前述したNより大きい正の整数である。 また、第M遅延素子370Dを除くそれぞれの遅延素子370の出力信号は、信号線372で代表される第1の信号線372A、第2の信号線372B、第3の信号線372Cを通じ、第4の信号線372Dを介して第M遅延素子370Dの後段に出力される。 なお、前述した実施の形態と共通する部分については同一の符号を付して説明を簡略化する。

    タイミング調整回路326の第2の構成例においては、予想される遅延量Nより多めに遅延素子370を設けることが必要になる。 予想される遅延量Nは、LDPC符号化部304が適用されるシステムにおいて想定されるLDPC符号化の対象となるデータの最大の値などとすればよい。 その後、実験等を行って、遅延量Nを確定し、所望の遅延量Nが得られるように、信号線372のうち、いずれか1つの信号線を除き、LSIマスク上のレーザによるトリミングを行うこととなる。 LSIマスク上のレーザによるトリミングとは、電気信号が導通しないように、LSIマスク上の信号線をレーザによって焼き切ることなどをいう。 たとえば、実験等によって確定した遅延量Nが1であった場合は、第1の信号線372Aを除く信号線372をトリミングすればよい。 また、遅延量が2であった場合は、第2の信号線372Bを除く信号線372をトリミングすればよい。 この結果、タイミング調整回路326の第2の構成例は、図4に図示したタイミング調整回路326の第1の構成例に相当する、遅延素子370をM個有するバッファ機能を有し、本体データとパリティデータとが時間的に連結するように、本体データのタイミング調整ができることとなる。

    このような構成をとることによって、予め遅延量が確定できないような場合であっても、柔軟に遅延量を変更できるタイミング調整回路326を実現することができる。 言い換えると、第2の構成例は、遅延量を可変とするタイミング調整回路326といえる。 実際のLDPC符号化部304の設計、実装においては、LSIの実装手順などによっては、半導体基板上に実装されるまで、パリティ生成回路328における遅延時間が確定しない場合がある。 このような場合に本構成例は好適となる。

    図6は、図3のタイミング調整回路326の第3の構成例を示す図である。 タイミング調整回路326の第3の構成例は、入力された本体データを遅延させて出力する遅延部350と、本体データの個数をもとに遅延量を決定する遅延量決定部352と、遅延量決定部352で決定された遅延量をもとに、遅延量を設定してセレクタ380に指示する遅延量設定部378と、遅延量設定部378の指示にもとづいて、遅延部350から出力された信号のいずれかを選択して出力するセレクタ380とを含む。 タイミング調整回路326の第3の構成例は、図4、図5に示した構成例と異なり、適応的に遅延量を変更できる構成となっている。 なお、前述した実施の形態と共通する部分については同一の符号を付して説明を簡略化する。

    遅延部350は、破線で囲った部分に図示したように、遅延素子370で代表される第1遅延素子370A、第2遅延素子370B、第M遅延素子370Dなどを含み、それぞれの遅延素子370は、入力された信号を遅延させて後段の遅延素子370に出力するとともに、セレクタ380に対しても出力する。 それぞれの遅延素子370は、入力された本体データを順次蓄積し、1単位時間遅延させて出力する。 ここで、Mは、遅延量Nよりも大きい値を有する正の整数である。 なお、遅延部350は、たとえば、入力されたデータを一時的に保持するバッファを含んで構成されてもよく、フリップフロップ回路で構成されたシフトレジスタなどを含んで構成などを含んでいてもよい。

    セレクタ380は、後述する遅延量設定部378からの指示にもとづき、入力されたそれぞれの遅延素子370の出力信号うち、いずれかの出力信号を選択して出力させる。 選択された出力信号は、遅延量設定部378からの指示が変わらなければ、ひきつづき選択される。 言い換えると、遅延量設定部378からの指示が変わらなければ、一定の遅延量で遅延されて出力させることとなる。 したがって、遅延量設定部378からの指示が変わらないかぎり、図4、図5に示したタイミング調整回路326と同様に、固定の遅延量で本体データを一定の遅延させる機能を有するといえる。

    遅延量決定部352は、本体データのタイミングを調整するための遅延量を決定する回路である。 この遅延量は、図3に示したパリティ生成回路328における遅延時間を相殺するよう、パリティ生成回路328におけるパリティデータの生成に要する時間を考慮して、前述したような方法などで生成すればよい。 遅延量決定部352は、本体データの個数が変更されるたびに遅延量の計算を行い、遅延量設定部378に通知する。

    ここで、遅延量は、本体データに含まれるデータの個数と比べ、かなりさな値となることを示す。 前述したように、遅延量は、パリティ生成回路328における処理時間(以下、「パリティ生成時間」と略称する。)から本体データに含まれるデータの個数(以下、「データ数」と略称する。)を減じたものとしている。 ここで、遅延量がデータ数より小さな値となるためには、式(6)に示す関係を有する必要がある。
    パリティ生成時間 − データ数 < データ数 式(6)
    ここで、式(6)を変形すると、式(7)のようになる。
    パリティ生成時間 < 2×データ数 式(7)
    式(7)を満たすためには、パリティ生成時間はデータ数の2倍未満である必要がある。 ここで、パリティ生成回路328における生成処理を考えると、パリティ生成回路328は、本体データに含まれるデータ全てが入力されてから処理を開始するのではなく、本体データの先頭が入力された後、ただちに処理を開始する。 ついで、本体データの先頭の次のデータが入力され、以後、入力されるたびに処理が進む 。 この処理は、前述した第1のインタリーブ330、乗算部340、および第1のデインタリーブ332においてなされ、 全てのデータが入力されてからパリティデータの先頭の生成が完了するまでの時間はデータ数より少ないことは当業者にとって明らかである。 なぜならば、本実施形態の記憶装置におけるデータ数は数千〜数万の値をとる一方、 全てのデータが入力されてからパリティデータの先頭の生成が完了するまでは 、通常、数単位時間(α)で終了することができるからである。 したがって、パリティ生成時間は、データ数+α(αは、1以上データ数未満の値)となる。 そうすると、式(7)を満たすこととなる。 通常、αは、データ数よりも小さいな値となることから、遅延量は、本体データに含まれるデータの個数と比べ、かなり少ない値となる。

    遅延量設定部378は、遅延量決定部352で決定された遅延量をもとに、セレクタ380に対し、それぞれの遅延素子370によって遅延された信号のうち、1つの出力信号を選択して出力させるかを指示する。 いいかえると、遅延量設定部378は、本体データが遅延量決定部352で決定された遅延量で遅延してセレクタ380から出力されるように、指示すればよい。 たとえば、遅延量決定部352で決定された遅延量Nが2であった場合、遅延量設定部378は、第2遅延素子370Bの出力信号を出力させるために、第2の信号線372Bを選択させればよい。 また、遅延量Nが(M−1)の場合、遅延量設定部378は、第M遅延素子370Dの前段の遅延素子370の出力信号を出力させるために、第3の信号線372Cを選択させればよい。

    このような構成をとることにより、本体データは、遅延量Nだけ遅延させることができる。 また、遅延したことにより、タイミングが調整され、書込回路334において、本体データの末尾のデータの後に、パリティデータの先頭が出力され、両者は連結された状態とすることができる。 また、LDPC符号化部304における符号化対象となるデータの個数が適応的に変化するような場合であっても、データの個数が変わるたびに、遅延量を適応的に変化させることによって、本体データのタイミングを調整することができる。 たとえば、携帯端末にLDPC符号化部304が適用される場合、通信を行うデータによって、LDPC符号化部304における符号化対象となるデータの個数は可変となるが、このような場合においても、通信を行うデータごとに、遅延量を適応的に変化することができるため、タイミング調整回路326の第3の構成例は好適となる。

    図7は、図3のタイミング調整回路326とパリティ生成回路328の動作を示すタイミングチャートの例を示す図である。 図7のタイミングチャートは、本発明を容易に理解するために、本体データ、パリティデータが書込回路334に順次書き込まれていく状態を視覚的に図示したものである。 図7中においては、本体データに含まれる個々のデータを丸(○)で表現し、また、パリティデータに含まれる個々のデータを三(△)で表現する。 丸の中に記載した数値は、本体データがタイミング調整回路326に入力される順序、もしくは、出力される順序を示す。 タイミング調整回路326によって遅延処理されるそれぞれの本体データと、タイミング調整回路326から書込回路334へ出力される本体データとは、丸の中に記載された数値が同一のデータ同士がそれぞれ対応している。 さらに、丸(○)、三角(△)を図7に示した書込回路334を示すブロックの中に記載することによって、どのタイミングで本体データ、もしくは、パリティデータが書込回路334に入力されていくかを明らかにした。 なお、実際の処理においては、書込回路334は、データが書き込まれるごとに、後段の回路を介して、記憶装置への書込を開始することとなるが、本体データとパリティデータとが連結していることを視覚的に表現するために、便宜的に図7のように図示した。

    ここで、本体データに含まれるデータの個数を5個、パリティデータに含まれるデータの個数を3個と仮定した。 また、パリティ生成回路328におけるパリティデータ生成時間を8単位時間とし、タイミング調整回路326における遅延量を3単位時間とした。

    まず、時間t1において、本体データの1番目のデータは、タイミング調整回路326、パリティ生成回路328に、それぞれ本体データの先頭から順次入力される。 ついで、本体データは、タイミング調整回路326において、時間t1から時間t2まで、遅延量である3単位時間だけ遅延させられる。 さらに、時間t2において、書込回路334への書込が開始され、本体データの末尾まで順に書き込まれる。 同様に、本体データの2番目のデータが時間(t1+1)のタイミングでタイミング調整回路326に入力され、3単位時間後の時間(t1+4)において、書込回路334に入力されることとなる。 以後、同様に、順次、タイミング調整回路326、書込回路334に書き込まれていく。 一方、本体データは、時間t1において、パリティ生成回路328に順次先頭から入力される。 ついで、8単位時間後の時間t3において、パリティデータの先頭が書込回路334に出力される。 以後、パリティデータに含まれる全てのデータが順次書き込まれる。 この結果、書込回路334のブロック中に図示するように、本体データとパリティデータは、時間的に連続して書き込まれた状態となる。

    このような態様をとることにより、ハンドシェイクすることなしに、本体データとパリティデータとが連結された状態で記憶装置に書き込まれることとなる。 このため、記憶装置が大容量化されてもハード規模を増大させず、また、高速化への影響も低減することができる記憶装置を提供することができる。

    以上、本実施形態によれば、パリティ生成回路328における遅延時間を相殺するように、本体データのタイミングを調整することによって、生成したパリティデータの先頭が本体データの末尾の後に書込タイミング上連続して書込回路334に出現させることができる。 また、本体データとパリティデータが離れることなく、双方が連結した状態で記憶装置に書き込むことができる。 また、タイミング調整回路326を本体データの処理経路中に設けることによって、パリティ生成回路328に余分な負荷を与えることなく、本体データとパリティデータとを正確に連結させることができる。 また、記憶装置への書込時間を短くすることができる。 また、パリティデータの生成に要する時間を考慮した値で、本体データを遅延させることによって、本体データとパリティデータをタイミングよく記憶装置に書き込むことができる。 また、あらかじめ、遅延量に相当する個数の遅延素子370を設けることによって、ソフト的なハンドシェイク制御を必要としないで、自律的なタイミング調整ができる。 また、余分なハードウェアを搭載する必要がなくなるので、低規模な半導体集積回路を実現できる。 また、より高速に記憶システムのアクセス制御を実現することができる。

    本実施形態において、遅延量は、パリティ生成回路328における処理時間から本体データの長さを減じたものとして計算するとして説明した。 しかしながらこれに限らず、予め計算した遅延量を保持し、必要に応じて使用できるようにしてもよい。 また、タイミング調整回路326の第3の構成例において、随時、遅延量決定部352において遅延量を決定するものとして説明した。 しかしながらこれにかぎらず、予め生成した遅延量をソフト的に固定し、システムが起動されるごとに遅延量設定部378に設定されるようにしてもよい。 また、遅延量をハード的に、電源、GNDによって固定してもよい。 これらの場合であっても、前述した効果を得ることができる。

    以上、本発明を実施形態をもとに説明した。 この実施形態は例示であり、実施形態相互の組み合わせ、または、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。

    本発明の実施形態に係る磁気ディスク装置の構成例を示す図である。

    図1のR/Wチャネルの構成例を示す図である。

    図2のLDPC符号化部の構成例を示す図である。

    図3のタイミング調整回路の第1の構成例を示す図である。

    図3のタイミング調整回路の第2の構成例を示す図である。

    図3のタイミング調整回路の第3の構成例を示す図である。

    図3のタイミング調整回路とパリティ生成回路の動作を示すタイミングチャートの例を示す図である。

    符号の説明

    31 ライトチャネル、 32 リードチャネル、 320 ソフト出力検出部、 326 タイミング調整回路、 328 パリティ生成回路、 334 書込回路、 370 遅延素子。

    QQ群二维码
    意见反馈