(57)【特許請求の範囲】
【請求項１】
ディスク信号を処理するマイコンと、
該マイコンに従いセクタパルス発生のためのタイム値を貯蔵する第１セクタパルス貯蔵部と、
前記マイコンに従い欠陥スキップのある場合に前記タイム値を変更するためのオフセット値を貯蔵する第２セクタパルス貯蔵部と、
前記マイコンに従い欠陥スキップがあることを示す分離情報をもつインデックス信号を発生するインデックス論理部と、
前記マイコンに従い前記オフセット値を適用する開始セクタ値を貯蔵する開始セクタ貯蔵部と、
前記マイコンに従い最終セクタ値を貯蔵する最終セクタ貯蔵部と、
前記第２セクタパルス貯蔵部の出力を、前記インデックス論理部、前記開始セクタ貯蔵部、前記最終セクタ貯蔵部の各出力に従い選択するスイッチ部と、
前記第１セクタパルス貯蔵部の出力と前記スイッチ部の出力とを加算する加算部と、
この加算部の出力値を貯蔵する第３セクタパルス貯蔵部と、
所定のクロックを発生するクロックパルス発生部と、
このクロックパルス発生部の出力を計数するカウンタと、
前記第３セクタパルス貯蔵部の出力と前記カウンタの出力とを比較して両値が同じかどうか検出する比較部と、
この比較部の出力に従いセクタパルスを発生するセクタパルス発生部と、
を備えてなり、
前記開始セクタ貯蔵部は、欠陥スキップのあるセクタを開始セクタ値として貯蔵し、
前記スイッチ部は、前記開始セクタ貯蔵部が貯蔵する前記開始セクタ値より小さいセクタに対しては前記第２セクタパルス貯蔵部が貯蔵する前記オフセット値を出力せず、前記開始セクタ貯蔵部が貯蔵する開始セクタ値以降のセクタに対しては前記第２セクタパルス貯蔵部が貯蔵するオフセット値を出力することを特徴とするハードディスクドライブのセクタパルス発生回路。
【請求項２】
前記マイコンに従い前記スイッチ部に現在セクタ番号を知らせる現在セクタ論理部をさらに備える請求項１記載のセクタパルス発生回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はハードディスクドライブ（Ｈard Ｄisk Ｄrive：ＨＤＤ）におけるセクタパルス発生回路及び発生方法に関し、特に、欠陥除去法(Defect SwallowingMethod)を使用したＨＤＤのセクタパルス発生回路及び発生方法に関するものである。
【０００２】
【従来の技術】
ＨＤＤにおいては、原材料の不良による欠陥(Defect)、製造工程中に発生する欠陥、製品出荷時に起こる欠陥のいずれの欠陥も防ぐ必要がある。すなわち、何ら欠陥のないドライブを顧客へ提供すべきであるので、生産者側では、ドライブの性能にあまり影響しないようにして欠陥を効率的に処理する方法が要求され、これが重要な生産及び販売戦略の一つになっている。
【０００３】
また、媒体記録技術の急速発展に従って実際の記録密度も急速に増加しており、以前は無視されていた媒体の小さな欠陥が目立つようになる結果、記録媒体のもつべき基本特性に対する要求がより厳格になり、コストアップの要因となっている。これを克服するために、ドライブコントローラのＥＣＣ論理を利用する多様なエラー訂正方式と、ソフトウェア処理による欠陥除去方式が提示されている。ＥＣＣ方式としては、図１に示すような構成のハードウェア的手法が使用される。
【０００４】
図示のディスク１０１は、スピンドルモータ（Ｓ／Ｍ）駆動部１１１の制御に従い回転する。磁気ヘッドは、ＶＣＭ駆動部１０９に従うＥ−ブロックアセンブリ１０３からディスク１０１上へ延設された支持アームにそれぞれ設けられる。前置増幅器１０５は、読出時にはいずれかのヘッドによりピックアップされたアナログ読出信号を増幅して読出／書込チャンネル(read/write channel)回路１０７に印加し、書込時には読出／書込チャンネル回路１０７から印加される符号化書込データを対応ヘッドへ出力する。読出／書込チャンネル回路１０７は、前置増幅器１０５による読出信号からデータパルスを検出しコーディングしてＤＤＣ(Disk Data Controller)１１９へ印加し、そしてＤＤＣ１１９から印加される書込データをデコーディングして前置増幅器１０５へ印加する。
【０００５】
ＤＤＣ１１９は、サーボ書込器から受信されるデータを読出／書込チャンネル回路１０７と前置増幅器１０５を通じてディスク１０１へ書込む。また、このＤＤＣ１１９がホストコンピュータとＣＰＵ１１３との間の通信をインタフェースする。バッファＲＡＭ１２１は、ホストコンピュータ、ＣＰＵ１１３、読出／書込チャンネル回路１０７の間に伝送されるデータを一時貯蔵する。ＣＰＵ１１３は、ホストコンピュータから受信される読出または書込命令に応答してＤＤＣ１１９を制御し、トラック探索及びトラック追従を制御する。ＲＯＭ１１７に、そのＣＰＵ１１３の遂行プログラム及び各種設定値が貯蔵される。Ｓ／Ｍ駆動部１１１は、ＣＰＵ１１３から発生されるディスク１０１の回転制御のための制御値に従ってスピンドルモータを駆動し、ディスク１０１を回転させる。ディスク信号制御部１１５は、ＣＰＵ１１３の制御に基づいて読出／書込に必要な各種タイミング信号を発生し、サーボ情報をデコーディングしてＣＰＵ１１３に印加する。
【０００６】
これによるＥＣＣ方式は、ハードウェアにより次のセクタのデータを読取りながら前のセクタのエラーを同時に処理するＥＣＣＯＴＦ（ＥＣＣ on the Fly ）方式が使用されてきており、最近ではエラー処理範囲（ＥＣＣ correction span）を効率的に拡張することに関心が集中されている。
【０００７】
また、ＥＣＣＯＴＦの場合に比べて機能面では劣るが、ソフトウェアによりエラーをより多く処理できるリードソロモンソフトウェアのＥＣＣ方式も使用されている。
【０００８】
上記のようなＥＣＣ訂正過程を経ても欠陥のあるセクタが訂正されないとき、ドライブは、内部的に欠陥処理を行わない部分をスキップして欠陥のない位置のセクタを読出すようにし、外部的には欠陥がないかのように動作する。この欠陥をスキップする方法には、トラックやシリンダ単位で所定個数のスペアセクタを置き、欠陥セクタ直後の連続したセクタへスキップして読出す欠陥スキッピング(defect skipping) 方式、そして、スペアセクタがすでに使用されているか、スペアセクタ構造(spare sector scheme) を使用する多くのドライブで、保守シリンダ(Maintenance Cylinder)や他の空いている領域に欠陥を移動する欠陥移動(defect moving) 方式がある。
【０００９】
上記の例においては、わずかのバイト（１〜７byte）に発生した欠陥のために１セクタ全体の容量（５１２バイト、実際にはＩＤフィールド、同期フィールド、ダミーパッド領域等を含めて５７０バイト程度である）を捨て異なる領域にスキップして読出し、さらに、欠陥を予想してドライブの全容量のうち一定部分を予備領域に設定しておかなければならないので、容量の損失が大きい。また、欠陥が発生したセクタのデータは補償する必要があるので、他の位置でデータを読出さなければならない。そして、欠陥スキッピングの場合は１セクタ分の遅れ時間が発生し、欠陥移動の場合はシーク時間と待機時間(latency time)が追加され、実質的な性能低下につながる。
【００１０】
【発明が解決しようとする課題】
欠陥スワロウイング(defect swallowing) 方式は、欠陥が発生した位置、すなわちわずかのバイトに発生した欠陥部分のみスキップし、残りの部分を使用する方式で、上記方式に比べ容量の損失が相対的に非常に少なく、多量の予備容量の確保も必要ない。また、機能の低下もわずか数μｓに過ぎないので、ほとんど影響がないと言える。
【００１１】
したがって本発明の目的は、欠陥が発生した地点で所定の数バイトのみスキップし、残りの正常領域を使用可能としてディスクの欠陥除去を行い、ディスク容量と機能を向上させ得るセクタパルス発生回路及び発生方法を提供することにある。
【００１２】
【課題を解決するための手段】
この目的のために本発明は、ハードディスクドライブのセクタパルス発生方法において、無欠陥セクタのセクタパルス発生タイミングを決めるタイム値を貯蔵すると共に欠陥発生セクタの欠陥部分相当のオフセット値を貯蔵し、そして、該欠陥発生セクタのアクセスに際しては前記欠陥部分をスキップし且つ前記オフセット値で当該欠陥発生セクタ以降のセクタに対する前記タイム値を変更してセクタパルスの発生タイミングを変えることを特徴とする。
【００１３】
このために本発明によるハードディスクドライブのセクタパルス発生回路は、ディスク信号を処理するマイコンと、該マイコンに従いセクタパルス発生のためのタイム値を貯蔵する第１セクタパルス貯蔵部と、前記マイコンに従い欠陥スキップのある場合に前記タイム値を変更するためのオフセット値を貯蔵する第２セクタパルス貯蔵部と、前記マイコンに従い欠陥スキップがあることを示す分離情報をもつインデックス信号を発生するインデックス論理部と、前記マイコンに従い前記オフセット値を適用する開始セクタ値を貯蔵する開始セクタ貯蔵部と、前記マイコンに従い最終セクタ値を貯蔵する最終セクタ貯蔵部と、前記第２セクタパルス貯蔵部の出力を、前記インデックス論理部、前記開始セクタ貯蔵部、前記最終セクタ貯蔵部の各出力に従い選択するスイッチ部と、前記第１セクタパルス貯蔵部の出力と前記スイッチ部の出力とを演算する演算部と、この演算部の出力値を貯蔵する第３セクタパルス貯蔵部と、所定のクロックを発生するクロックパルス発生部と、このクロックパルス発生部の出力を計数するカウンタと、前記第３セクタパルス貯蔵部の出力と前記カウンタの出力とを比較して両値が同じかどうか検出する比較部と、この比較部の出力に従いセクタパルスを発生するセクタパルス発生部と、を備えてなることを特徴とする。この回路では、マイコンに従いスイッチ部に現在セクタ番号を知らせる現在セクタ論理部をさらに備えることもできる。
【００１４】
【発明の実施の形態】
以下、本発明の実施形態につき添付図面を参照して詳細に説明する。
【００１５】
図２に本例のドライブの回路図を示す。図１との相違点は、ディスク信号制御部１１５における機能にある。この例のディスク信号制御部１１５は、アドレスＡＤＤＲ，ＥＲＤを受けてＤＤＣ１１９へインデックスパルス(INDEX PULSE) とセクタパルス(SECTOR PULSE)を提供し、ＤＤＣ１１９の制御によりディスク１０１の欠陥発生地点で若干のバイトのみスキップ(skip)し、残りの正常な部分は使用可能にして欠陥除去できるようにする。
【００１６】
図３は、図２のディスク信号制御部１１５の具体例である。ＨＤＤ全体を制御するためのディスク信号を処理するマイコン３０１の制御に従い、第１セクタパルス貯蔵部３０３はセクタパルス発生のためのタイム値を貯蔵し、また第２セクタパルス貯蔵部３０５は、欠陥スキップのないトラックで“０”値をもつオフセット値を貯蔵する。インデックス論理部３０９は、マイコン３０１の制御下で欠陥スキップがあることを示す分離情報をもつインデックス信号を発生する。マイコン３０１の制御下で、開始セクタ貯蔵部３１０はオフセット値を適用する開始セクタ値を貯蔵し、最終セクタ貯蔵部３１１は最終セクタ値を貯蔵する。
【００１７】
スイッチ部３０６は、第２セクタパルス貯蔵部３０５から出力されるオフセット値を、インデックス論理部３０９、開始セクタ貯蔵部３１０、最終セクタ貯蔵部３１１の出力に従い選択してスイッチして加算部３０７へ送る。このスイッチ部３０６は、セクタパルス発生タイミングに従い第２セクタパルス貯蔵部３０５の出力選択を行う。そして加算部３０７が、第１セクタパルス貯蔵部３０３の出力とスイッチ部３０６の出力とを加算演算する。第３セクタパルス貯蔵部３０８は、その加算部３０７から出力されるセクタパルス発生のための最終値を貯蔵する。
【００１８】
クロックパルス発生部３１４は所定のクロックを発生し、このクロックパルス発生部３１４の出力がカウンタ３１３で計数される。そして比較部３１２が、カウンタ３１３の出力と第３セクタパルス貯蔵部３０８の出力とを比較し、これら２つの値が同じであるかどうかを検出する。セクタパルス発生部３１６は、比較部３１２において２つの入力が同じであったときにセクタパルスを発生する。
【００１９】
図４は、図２のディスク信号制御部１１５の他の具体例である。ＨＤＤの全体制御を行うマイコン３０１がアドレスＡＤ０〜ＡＤ１５、アドレスラッチ信号ＡＬＥ、読出制御信号バーＲＤ、書込制御信号バーＷＲを出力し、これにより第１セクタ論理部３０３からタイム値の第１セクタパルスが発生される。またマイコン３０１によるアドレスＡＤ０〜ＡＤ１５、アドレスラッチ信号ＡＬＥ、読出制御信号バーＲＤ、書込制御信号バーＷＲを受ける第２セクタ論理部３０５から、欠陥スキップのないトラックで“０”のオフセット信号が発生される。
【００２０】
さらに、マイコン３０１からのアドレスＡＤ０〜ＡＤ１５、アドレスラッチ信号ＡＬＥ、読出制御信号バーＲＤ、書込制御信号バーＷＲにより、開始セクタ論理部３１０からはオフセット値を適用する開始セクタ信号、最終セクタ論理部３１１からは最終セクタ信号、現在セクタ論理部３２０からは現在セクタ信号がそれぞれ発生される。インデックス論理部３０９は欠陥スキップがあることを示す分離情報をもつインデックス信号を発生する。そして、スイッチ部３０６が、第２セクタ論理部３０５の出力を、インデックス論理部３０９、開始セクタ論理部３１０、最終セクタ論理部３１１、現在セクタ論理部３２０の出力に従い選択して加算部３０７へ送り、これに従い加算部３０７の加算動作が制御される。加算部３０７は、スイッチ部３０６の選択出力値を第１セクタ論理部３０３によるセクタパルス発生タイミングに加算する。
【００２１】
この加算部３０７から出力される値により第３セクタ論理部３０８が第３セクタパルスを発生する。また、クロック端ＣＬＫの基本クロック入力によりシステムクロックがクロックパルス発生部３１４から発生され、カウンタ３１３で計数される。このカウンタ３１３の出力と第３セクタパルス論理部３０８の出力とが比較部３１２で比較され、両者の値が同じであれば、セクタパルス論理発生部３１６からセクタパルスが発生される。
【００２２】
図５に示す（５ａ）は欠陥セクタスキッピングについて説明するもので、１トラックのインデックス(Index) からＮ番目のセクタにＥＣＣで訂正できない欠陥Ｘ（長さａ）があるとき、後続のセクタＮ＋１に欠陥の発生したセクタを移動して代わりに使用する状態についての説明図である。すなわち、この欠陥セクタスキッピングでは、欠陥セクタ全体を代替位置へ再指定しなければならず、物理的セクタ位置Ｎ＋１のセクタが論理的セクタＮとして使われ、その後続のセクタも１ずつセクタ番号が減少することになる。（５ｂ）〜（５ｄ）は、読出／書込動作時の読出ゲートＲＧ、書込ゲートＷＧの動作タイミングに関する波形で、（５ｂ）（５ｃ）に示す読出ゲートＲＧ及び（５ｄ）に示す書込ゲートＷＧにより、欠陥セクタＮがまるごとすべてスキップされることが分かる。読出／書込時の短い読出ゲートＲＧのパルス部分はＩＤサーチ動作を示すものである。
【００２３】
本発明の欠陥スワロウイング方式を使用したときは、（５ｅ）〜（５ｉ）に示すようにセクタ位置が変更される。すなわち（５ｅ）〜（５ｉ）は、欠陥スワロウイング方式を使用したときのセクタ位置変更と読出／書込タイミングに関し説明するものである。この場合、ディスクフォーマッタ（あるいはディスクコントローラ）は欠陥部分の直前でディスク動作（読出または書込）とＥＣＣ処理をしばらく停止(freezing)し、その欠陥部分をスキップした後に再同期化(re-synchronization)を図り、そしてＥＣＣ処理を再開(un-freezing) してセクタの残りの部分を継続して処理する方式となる。この方式を使用する場合、スペアのデータＰＬＬフィールド、データ同期フィールドの変化部分を設け、欠陥前後にジッタ（jitter：スピンドル速度の変化やハードウェア論理のゲート遅延による）パッド部分を設けることになる。欠陥スキップがあることを示すセクタの分離(split) 情報はＩＤフィールド領域に貯蔵されて利用される。
【００２４】
この欠陥スワロウイング方式は、欠陥の発生した地点すなわち所定バイト（数μｓ〜数十μｓ）のみスキップし、残りの正常部分を使用する方法で、例えば、（５ｅ）に示すように物理的セクタ位置Ｎ番目に欠陥Ｘ（長さａ）が発生したとき、長さａだけスキップし、セクタＮの長さを元の長さよりａ′だけ長くするようにしている。したがって、後続のセクタ“Ｎ＋１，Ｎ＋２，…”は、元のタイミングよりａ′，ａ″だけ遅延される。これら領域ａ′，ａ″は、ａ′＝ａ″＝…に設定することができ、ａ′＝“欠陥部分ａ＋欠陥スワロウイング処理のために必要な領域”となる。
【００２５】
欠陥スワロウイング処理のために必要な領域は、（５ｉ）に説明するように、欠陥前ジッタパッド(Jitters Pad) ＋欠陥後ジッタパッド(Jitters Pad) ＋データＰＬＬ(Data PLL)＋データ同期(Data Sync) となる。例えば、８バイトの欠陥(Defects Pad) をスワロウイングするためには、ジッタパッド＋欠陥パッド＋ジッタパッド＋ＰＬＬ＋同期＝２＋８＋２＋１２＋１＝２５byteとなるが、トラックスペアセクタ構造（スキーム）を使用したとすれば約５７０バイト（パッド含み）で１トラック当り５４５バイトをセーブし得る。
【００２６】
このように欠陥スワロウイングを実行するためにはセクタパルス位置の再調整が必要になる。そこでまず、図３のマイコン３０１は、第１セクタパルス貯蔵部３０３にセクタパルスを発生させるためのタイム値を貯蔵させる。このタイム値は、サーボセクタ位置から読出／書込のためのセクタパルスが発生する位置までのタイム値である。そして、第２セクタパルス貯蔵部３０５が（５ｅ）のａ′，ａ″に相当するオフセット値を入れるレジスタとされ、欠陥スワロウイングのないトラックでその値を“０”とする。
【００２７】
第１セクタパルス貯蔵部３０３の出力値はＲＯＭのテーブル（予め計算）からマイコン３０１によってロードされ、第２セクタパルス貯蔵部３０５のオフセット値もマイコン３０１の制御下で計算によりロードされる。オフセット値が第２セクタパルス貯蔵部３０５にロードされると、スイッチ部３０６がインデックス論理部３０９、開始セクタ貯蔵部３１０、最終セクタ貯蔵部３１１の出力に従い選択する。スイッチ部３０６は、マイコン３０１の制御下に予めロードされたインデックス論理部３０９、開始セクタ貯蔵部３１０、最終セクタ貯蔵部３１１の出力に従い第２セクタパルス貯蔵部３０５の出力値をスイッチし、加算部３０７へ伝達する。この加算部３０７による加算出力値が第３セクタパルス貯蔵部３０８に貯蔵される。第３セクタパルス貯蔵部３０８に記録された値は、セクタパルス発生のための最終値となる。すなわち、この値が比較部３１３に入力されてクロックパルス発生部３１４及びカウンタ３１３による出力値と比較され、両者の値が同じときにセクタパルス発生部３１６から１セクタパルスが発生されることになる。
【００２８】
図４の場合も同様の過程にてセクタパルスが発生されるものであるが、この他の実施形態として、図４の第１及び第２セクタ論理部３０３，３０５と、インデックス論理部３０９と、開始セクタ論理部３１０と、最終セクタ論理部３１１と、現在セクタ論理部３２０と、スイッチ部３０６と、加算部３０７とを省略してマイコン３０１内にこれら機能同様のプログラムを付加し、セクタパルスをローディングするときの第１及び第２セクタ論理部３０３，３０５の出力値演算をソフト的に処理して第３セクタ論理部３０８へ提供する方式も可能である。この方法も、ＷＩＤ、ヘッダレス方式でも再フォーマット時にサーボフィールド情報に前記値を直接加算することが可能である。
【００２９】
【発明の効果】
本発明によれば、論理回路を利用して欠陥スワロウイングのためのセクタパルスを発生することができ、ディスクフォーマッタ（あるいはディスクコントローラ）で欠陥を処理するときにディスクオプション（読出／書込動作）とＥＣＣ動作をしばらく停止させて欠陥部分をスキップした後さらに継続して動作させることは、サーボ情報の分離がある場合と同一の方式で処理され、マイコンとゲートアレイの簡単な追加論理のみで実現可能なので、ディスク容量や機能が向上する効果がある。
【図面の簡単な説明】
【図１】  従来のハードディスクドライブの制御システムのブロック図。
【図２】  本発明によるハードディスクドライブの制御システムのブロック図。
【図３】  図２のディスク信号制御部１１５の具体例を示したブロック図。
【図４】  図２のディスク信号制御部１１５の他の具体例を示したブロック図。
【図５】  本発明によるセクタパルス発生タイミングについての説明図。
【符号の説明】
３０１ マイコン
３０３ 第１セクタパルス貯蔵部（第１セクタ論理部）
３０５ 第２セクタパルス貯蔵部（第２セクタ論理部）
３０６ スイッチ部
３０７ 加算部
３０９ インデックス論理部
３１０ 開始セクタ貯蔵部（開始セクタ論理部）
３１１ 最終セクタ貯蔵部（最終セクタ論理部）
３１２ 比較部
３１３ カウンタ
３１４ クロックパルス発生部
３１６ セクタパルス発生部（セクタパルス論理発生部）
３２０ 現在セクタ論理部
【図１】
0004028906.tif 000002
【図２】
0004028906.tif 000003
【図３】
0004028906.tif 000004
【図４】
0004028906.tif 000005
【図５】
0004028906.tif 000006