(57)【要約】【課題】早期シークによりランダムリード性能を改善することができる技術を提供する。【解決手段】メディアに書かれたデータを読み出すリード手段と、このデータの繰り返し復号を行う復号手段と、このデータの到着を待たずに早期にリード可否を予測する予測手段と、この予測手段がリード可と予測した場合に続けてシークを開始するシーク手段とを備えたチャネル回路。また、メディアに書かれたデータを読み出すリード工程と、このデータの繰り返し復号を行う復号工程と、このデータの到着を待たずに早期にリード可否を予測する予測工程と、この予測手段がリード可と予測した場合に続けてシークを開始するシーク工程とを含むシーク方法。【選択図】  図２
2013016219.tif 000002
【特許請求の範囲】
【請求項１】
メディアに書かれたデータを読み出すリード手段と、
このデータの繰り返し復号を行う復号手段と、
このデータの到着を待たずに早期にリード可否を予測する予測手段と、
この予測手段がリード可と予測した場合に続けてシークを開始するシーク手段とを
備えたチャネル回路。
【請求項２】
前記予測手段は、前記繰り返し復号の終了前にリード可否を予測する請求項１に記載のチャネル回路。
【請求項３】
前記リード可の予測は、早期判定フラグに基づくものである請求項１に記載のチャネル回路。
【請求項４】
前記リード可の予測は、シンドロームに基づくものである請求項１に記載のチャネル回路。
【請求項５】
前記リード可の予測は、パリティ検査に基づくものである請求項１に記載のチャネル回路。
【請求項６】
メディアに書かれたデータを読み出すリード工程と、
このデータの繰り返し復号を行う復号工程と、
このデータの到着を待たずに早期にリード可否を予測する予測工程と、
この予測手段がリード可と予測した場合に続けてシークを開始するシーク工程とを
含むシーク方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、早期シークによりランダムリード性能を改善するチャネル回路及びシーク方法に関する。
【背景技術】
【０００２】
ディスクのシークにおいて、早期シークの要望がある。特にLDPC符号に代表される繰り返し復号方式では、目的のセクタをリードしてからリードチャネルがHDCにデータを出すまでに数セクタ〜数十セクタの復号遅延が発生する。このため、異なるゾーン、シリンダにあるデータを続けてリードする際、コントローラは次の目的位置へのシークを開始するまで復号遅延分の待機が必要となる。これによって、ランダムリード性能の低下が懸念される。
【０００３】
関連して例えば、特許文献１では、ディスクのシーク中にメモリとバッファ間のデータ転送を並行処理すること、およびバッファの読出／書込動作にラップアラウンド機能を設け、バッファとディスク間のデータ転送中にも、メインメモリとバッファ間のデータ転送を連続かつ並行処理することの記載がある。
【０００４】
しかしながら、早期シークによりランダムリード性能を改善することができる技術への要望がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開昭６２−１２１５２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の実施の形態は、早期シークによりランダムリード性能を改善することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、実施形態によればチャネル回路は、メディアに書かれたデータを読み出すリード手段と、このデータの繰り返し復号を行う復号手段と、このデータの到着を待たずに早期にリード可否を予測する予測手段と、この予測手段がリード可と予測した場合に続けてシークを開始するシーク手段とを備える。
【図面の簡単な説明】
【０００８】
【図１】この発明の一実施形態の磁気ディスク装置を備えた電子機器の典型的な構成を示すブロック図。
【図２】同実施形態の要部の概略を示すブロック構成図。
【図３】同実施形態の早期判定器の機能構成図。
【図４】同実施形態の符号器と復号器のブロック図。
【図５】同実施形態に用いられる早期判定後の処理を示すフローチャート。
【図６】同実施形態の動作を示す説明図。
【発明を実施するための形態】
【０００９】
以下、一実施形態を図１乃至図６を参照して説明する。
図１は第１の実施形態の磁気ディスク装置を備えた電子機器の典型的な構成を示すブロック図である。図１において、電子機器は、磁気ディスク装置（ＨＤＤ）１０及びホスト（ホストシステム）２０を備えている。電子機器は、例えば、パーソナルコンピュータ、ビデオカメラ、音楽プレーヤー、携帯端末、或いは携帯電話機である。ホスト２０はＨＤＤ１０を当該ホスト２０の記憶装置として利用する。
【００１０】
ＨＤＤ１０は、ヘッドディスクアセンブリ部（ＨＤＡ部）１００と、制御ボード部２００とを備えている。
ＨＤＡ部１００は、例えば２枚のディスク（磁気ディスク）１１０-1及び１１０-2と、スピンドルモータ（ＳＰＭ）１３０と、アクチュエータ１４０と、ヘッドＩＣ１５０とを備えている。
【００１１】
ディスク１１０-1及び１１０-2の各々は上側と下側の２つの記録面を備えている。ディスク１１０-1及び１１０-2はＳＰＭ１３０により高速に回転させられる。ディスク１１０-i（ｉ＝１，２）はＣＤＲ（constant density recording）と呼ばれる周知の記録フォーマットを適用している。このためディスク１１０-iの各記録面は、当該ディスク１１-iの半径方向に複数のゾーンに区分して管理される。つまり、ディスク１１０-iの各記録面は、複数のゾーンを備えている。
【００１２】
アクチュエータ１４０はディスク１１０-1のそれぞれの記録面に対応して配置されるヘッド・アームの先端にヘッド（磁気ヘッド）１２０-0及び１２０-1を備えている。アクチュエータ１４０は更に、ディスク１１０-2のそれぞれの記録面に対応して配置されるヘッド・アームの先端にヘッド１２０-2及び１２０-3を有する。ヘッド１２０-0及び１２０-1は、ディスク１１０-1へ／からのデータの書き込み／読み出しに用いられ、ヘッド１２０-2及び１２０-3は、ディスク１１０-2へ／からのデータの書き込み／読み出しに用いられる。
【００１３】
アクチュエータ１４０はボイスコイルモータ（ＶＣＭ）１４１を備えている。アクチュエータ１４０はＶＣＭ１４１によって駆動され、ヘッド１２０-0乃至１２０-3をディスク１１０-1及び１１０-2の半径方向に移動させる。
【００１４】
ＳＰＭ１３０及びＶＣＭ１４１は、後述するモータドライバＩＣ２１０からそれぞれ供給される駆動電流（ＳＰＭ電流及びＶＣＭ電流）により駆動される。
ヘッドＩＣ１５０は、ヘッド１２０-j（ｊ＝０，１，２，３）により読み出された信号（リード信号）を増幅する。ヘッドＩＣ１５０はまた、後述するリード／ライトチャネル２３０から転送されるライトデータをライト電流に変換してヘッド１２０-jに出力する。
【００１５】
制御ボード部２００は、モータドライバＩＣ２１０及びシステムＬＳＩ２２０の２つのＬＳＩを備えている。モータドライバＩＣ２１０は、ＳＰＭ１３０を一定の回転速度で駆動する。モータドライバＩＣ２１０はまた、ＣＰＵ２７０から指定されたＶＣＭ操作量に相当する値の電流（ＶＣＭ電流）をＶＣＭ１４１に供給することで、アクチュエータ１４０を駆動する。
【００１６】
システムＬＳＩ２２０は、リード／ライトチャネル（Ｒ／Ｗチャネル）２３０、ディスクコントローラ（ＨＤＣ）２４０、バッファＲＡＭ２５０、フラッシュメモリ２６０、プログラムＲＯＭ２７０、ＣＰＵ２８０及びＲＡＭ２９０が単一チップに集積されたＳＯＣ（System on Chip）と呼ばれるＬＳＩである。後述するラインキャッシュ領域は、例えばこのＣＰＵ２８０またはＲＡＭ２９０内のキャッシュメモリ上で実現可能である。
【００１７】
Ｒ／Ｗチャネル２３０は、リード／ライトに関連する信号処理を行う信号処理デバイスである。Ｒ／Ｗチャネル２３０は、リード信号をデジタルデータに変換し、このデジタルデータからリードデータを復号する。Ｒ／Ｗチャネル２３０はまた、上記デジタルデータからヘッド１２０-jの位置決めに必要なサーボデータを抽出する。Ｒ／Ｗチャネル２３０はまた、ライトデータを符号化する。
【００１８】
ＨＤＣ２４０は、ホスト２０とホストインタフェース２１を介して接続されている。ＨＤＣ２４０は、ホスト２０から転送されるコマンド（ライトコマンド、リードコマンド等）を受信する。ＨＤＣ２４０は、ホスト２０と当該ＨＤＣ２４０との間のデータ転送を制御する。ＨＤＣ２４０は、Ｒ／Ｗチャネル２３０を介して行われるディスク１１０-i（ｉ＝１，２）と当該ＨＤＣ２４０との間のデータ転送を制御する。
【００１９】
バッファＲＡＭ２５０は、ディスク１１０-iに書き込まれるべきデータ及びディスク１１０-iからヘッドＩＣ１５０及びＲ／Ｗチャネル２３０を介して読み出されたデータを一時格納するのに用いられる。
【００２０】
フラッシュメモリ２６０は、書き換え可能な不揮発性メモリである。フラッシュメモリ２６０は、例えばホストから受信するライトコマンドの端数セクタのデータを一時的に格納するのに用いられる。フラグテーブル２６４はフラッシュメモリ２６０内にある汎用のテーブルである。
【００２１】
プログラムＲＯＭ２７０は、制御プログラム（ファームウェアプログラム）を予め格納する。なお、制御プログラムがフラッシュメモリ２６０の一部の領域に格納されていても構わない。
【００２２】
ＣＰＵ２８０は、ＨＤＤ１０の主コントローラとして機能する。ＣＰＵ２８０はプログラムＲＯＭ２７０に格納されている制御プログラムに従ってＨＤＤ１０内の他の少なくとも一部の要素を制御する。ＲＡＭ２９０の一部の領域は、ＣＰＵ２８０の作業領域として用いられる。この作業領域には、ＨＤＤ１０のパワーオン時に、フラッシュメモリ２６０に格納されている一部のデータがロードされる。
【００２３】
さて、実施形態の目的に関して、説明する。一般にLDPC（Low Density Parity Check）符号に代表される繰り返し復号方式では、目的のセクタをリードしてからリードチャネルがHDCにデータを出すまでに数セクタ〜数十セクタの復号遅延が発生する。このため、異なるゾーン、シリンダにあるデータを続けてリードする際、コントローラは次の目的位置へのシークを開始するまで復号遅延分の待機が必要となる。これによって、ランダムリード性能の低下が懸念される。この方法は、待機をせずに早期にシークを行うことでシリンダをまたいでリードする際のパフォーマンスを改善する方法である。一方、アンコレクタブル発生等によりリトライが必要となった場合、前の位置にシークしなおさないといけないので、早期シークによってパフォーマンスのダウンが発生することが考えられるが、リードチャネルの復号品質情報を利用して早期シークを行うか選択する機構を備え、これを防止する。
【００２４】
（実施形態の構成）
図２は、実施形態の要部の概略を示すブロック構成図である。HDC６はHDC２４０の機能に相当し、他はＲ／Ｗチャネル２３０内の機能としてある。即ち、アナログフロントエンド１、A/Dコンバータ２、FIRフィルタ３、SOVA検出器及び繰り返し復号器４およびチャネル品質判定器（早期判定器）５の構成である。
【００２５】
図２に示される本実施形態の構成は、従来の構成にチャネル品質判定器５を加とその出力をHDC６に接続した構成となっている。
ヘッドから出力された信号はアナログフロントエンド１で示されるアナログ回路で処理され、A/Dコンバータ２により量子化されたサンプル値がFIRフィルタ３によって等化される。等化後サンプルはSOVA検出器及び繰り返し復号器４による繰り返し復号により、誤り訂正が行われる。チャネル品質判定器５は、リードチャネル各部のモニタ信号が入力され、HDCの６へ早期判定結果を出力する。
【００２６】
図３は早期判定器５の機能構成を示している。早期判定器５はリードチャネルの各部から得られるモニタ値と判定結果をメモリ内に保存する（１回目の復号のパリティ違反数、検出器の尤度情報、FIR出力の等化誤差、シンクマーク未検出、ADCの量子化エラー、PLL、アナログ部分のエラー信号、ディフェクト検出、最終パリティチェック結果等）。この判定結果はHDC６からアクセスすることができ、早期シークを行うか否かを決定する。
【００２７】
リードチャネルの各部(11)から、モニタ値もしくはエラー信号が入力される。判定器は(12)のような記憶領域を持ち、処理中の数セクタ分にわたって情報を保持することができる。リードチャネルがHDCへ読みだしたユーザデータを出力、つまり処理が完了したセクタから順次内容はクリアされる。なお、AFE Errorは電圧の異常などであり、またA/D Errorはオーバーフローなどである。またE.Q.Errorはフィルタの等化誤差などで、Defect Detectは振幅異常などである。またDetector Errorは発散など、Syndromeはパリティ違反などである。
【００２８】
この判定器は(13)の早期判定フラグ、(14)のシンドロームフラグ、(15)の最終パリティ検査結果フラグの３つのフラグ判定を行う。(13)は主に(16)で示されるアナログ部から得られる情報から判定を行い、現在処理中のセクタのリード可否予測を保存する。(14)はLDPC復号の1回目のシンドロームからリード可否予測を保存する。(15)はLDPC復号の最終結果によるパリティ違反の有無から判定をし、その結果を保持する。
【００２９】
図４は、実施形態の符号器と復号器のブロック図である。SOVA検出器及び繰り返し復号器４の詳細である。主に扱い対象セクタが、再生可能かどうかの判定信号がこのIterativeデコーダ２６から出力されるよう構成されている。後述の図６のステップに必要な信号群は、図示しないが各構成要素から得られるものとする。
【００３０】
図４では本実施形態で必須ではないが、パリティをデータと同じ周期となるように並び替えを行う機能が備わっている。１と０の数が同数でない場合、余ったビットは例えばデータの最後に並べておく。例えば、0の数が多く、1の数が少ない例では１がパディングされる。データとパリティを結合するときパリティビットの１と０が同数でない時は、並び替えられたパリティに余分なパッドビットを挿入し、データと同じ周期となるようにマルチプレクスする。
【００３１】
メディアにライトした信号を再生するときこの信号は図示せぬ等化器でアナログ信号処理され、一方は、ディフェクトスキャン回路で信号振幅の落ち込みなどを検出する。もう一方は、Iterativeデコーダ２６に入力される。まず、SOVA(Soft Output Viterbi Algorithm)復号器３１を通り、デマルチプレクサ３２により、データとパリティと余分なパッドビットに分離される。余分なパッドビットは破棄される。パリティは元に戻す並び替えを行い、データと共にLDPC復号器３５に入力し、LDPCによる復号が行われる。さらに、マルチプレクサ３６により、データと並び替えを行ったパリティと余分なパッドビットを結合し、SOVA復号器３１に入力する。このように反復復号を行い、最終的にそのセクタが、再生可能かどうかの判定信号がコントローラに送られる。コントローラは、上記ディフェクトスキャン回路とIterativeデコーダ２６との２つの手段の結果から、欠陥の検出を行う。
【００３２】
（従来の構成による動作）
ここでは、Sector0〜Sector4のデータを読み出す場合を想定している。ただし、Sector0,1,2,3とSector4は別々のシリンダに存在しており、間にシーク動作が必要となる。
【００３３】
各セクタのアナログ信号、SOVA検出器の動作タイミング、LDPC復号器の動作タイミング、LDPC復号のパリティ検査結果、読み出したユーザデータの出力がキーとなる。通常、HDCがSector3までデータを受け取ってから、Sector4のシリンダへのシークが行われる。
【００３４】
繰り返し復号化方式では、1回目の復号が収束しなかった場合、2回目,3回目,…n回目と、繰り返し復号が行われる。例えばSector0が3回の繰り返し復号が必要となった場合である。Sector0は1回目のパリティ検査でNGとなっており、2nd SOVAと2nd LDPC復号が行われ、さらに3回目の復号が行われるとする。ただし、動作タイミングは復号器の構成に依存する。この間、Sector1〜Sector3はそれぞれ1回目で収束しているため、ユーザデータはリードチャネル内で送信待ちとなっている。この場合、Sector0の復号収束の終了後、リードチャネルはSector0〜3のユーザデータを順次出力し、完了後のタイミングでシークが開始される。
【００３５】
このように、繰り返し復号化方式では、アナログ入力終了後からデータ出力までの間には一定ではない遅延が生じ、特にシークを伴うリード時にパフォーマンスが落ちることが考えられる。
【００３６】
（実施形態の動作）
図５は、実施形態に用いられる早期判定後の早期判定器５を主体とする処理を示すフローチャートである。
もし、Sector0,1,2,3の早期判定フラグの異常を確認し（ステップＳ５１）、がすべてOKだった場合、後で示されるSector3のアナログ信号終端で即時にシークを開始できる（ステップＳ５２）。また、早期判定フラグではNGだったものの、シンドロームの異常を確認し（ステップＳ５３）この判定結果、リード可と判断できる場合、後で図６に示されるタイミングでシークを開始できる（ステップＳ５２）。そして、これらでNGとなっている場合でも、処理中のセクタすべてのパリティ検査の異常を確認し（ステップＳ５４）判定が可となっていれば、後で図６に示されるタイミングでシークを開始する（ステップＳ５２）。この場合は、ユーザデータをリードチャネルから送信する時間分、早期にシークができる。他のケースでは従来タイミングでシークを開始する（ステップＳ５５）。
【００３７】
図６は実施例の動作タイミングを示している。ここでは上記従来例と同様の、1回目の復号が収束しなかったケースも想定している(37-47)。
(47a)で示される早期判定は各セクタの1回目のSOVA検出が完了した時点で行われる。(16)で示される各モニタ値のしきい値判定、もしくは各部のエラーの有無から処理中のセクタに対する早期判定フラグを(13)へ保持する。(48)で示されるシンドローム判定は(40)で示されるLDPC復号の1回目でのシンドロームを利用してフラグを生成、(14)へ保持する。(49)で示される最終パリティ検査フラグは(15)に対応し、各LDPC復号の終了時に復号器からの情報によりフラグを生成、保持する。
【００３８】
もし、Sector0,1,2,3の早期判定フラグがすべてOKだった場合、(51)で示されるSector3のアナログ信号終端で即時にシークを開始できる。また、早期判定フラグではNGだったものの、シンドローム判定の結果、リード可と判断できる場合、(52)で示されるタイミングでシークを開始できる。そして、(47a)(48)でNGとなっている場合でも、処理中のセクタすべてのパリティ検査判定が可となっていれば、(53)のタイミングでシークを開始する。この場合は、ユーザデータをリードチャネルから送信する時間分、早期にシークができる。
【００３９】
以上のように早期にシークを開始することによって、従来方法よりも早くSector4のリードに移れるため、ランダムリードのような、シークを伴うリード動作のパフォーマンスを改善することができる。
【００４０】
上記のように、本実施形態では繰り返し復号器による復号遅延時間をシークに利用し、パフォーマンス改善を狙う方法を採る。
（１）データを待たずに早期にリード成否を予測し、即時にシークを開始する方法
（２）繰り返し復号の終了前に早期にリードの成否を予測する方法
これらの効果として、早期に次のセクタの読み出し位置にシークを行うことにより、従来に比べ、早く次のセクタの読み出しを行うことができる。これにより、連続リードで異なるシリンダにあるセクタを読む場合の復号遅延に起因するパフォーマンスダウンを改善する。また、早期にリードの成否を予測することにより、リトライが発生すると予想される場合には早期シークを行わず、シークのやり直しが生じないようにすることができる。
【００４１】
本実施形態はリードによるアナ口グ入力終了時点で早期シークを行う方法である。また、エラー予測により早期シークを行う。
この方法は、待機をせずに早期にシークを行うことでシリンダをまたいでリードする際のパフォーマンスを改善する方法である。一方、アンコレ等によりリトライが必要となった場合、前の位置に再びシークする必要があり、早期シークによってパフォーマンスのダウンが発生することが考えられるが、リードチャネルの復号品質情報を利用して早期シークを行うか選択する機構を備え、これを防止する。
【００４２】
なお、この発明は上記実施形態に限定されるものではなく、この外その要旨を逸脱しない範囲で種々変形して実施することができる。
また、上記した実施の形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素から幾つかの構成要素を削除しても良いものである。さらに、異なる実施の形態に係わる構成要素を適宜組み合わせても良いものである。
【符号の説明】
【００４３】
１０…ＨＤＤ（磁気ディスク装置）、２０…ホスト、１１０-1，１１０-2，１１０-i…ディスク、１１１…パラメータ調整領域、１２０-0〜１２０-3…ヘッド、２３０…Ｒ／Ｗチャネル（リード／ライトチャネル）、２４０…ＨＤＣ、２５０…バッファＲＡＭ、２６０…フラッシュメモリ、２６４…フラグテーブル、２７０…プログラムＲＯＭ、２８０…ＣＰＵ、２９０…ＲＡＭ。
【図１】
2013016219.tif 000003
【図２】
2013016219.tif 000004
【図３】
2013016219.tif 000005
【図４】
2013016219.tif 000006
【図５】
2013016219.tif 000007
【図６】
2013016219.tif 000008