(57)【要約】【課題】  外乱等の影響を軽減できる安定したシステムの提供【解決手段】  第１のエラー訂正符号単位と第２のエラー訂正符号単位を用いることによって、より広い範囲でのランダムエラーやバーストエラーに対してもエラー訂正が可能として、リトライ動作を回避することによって、転送速度を低下させることなく、安定したデータ再生を行う。また、エラー訂正ブロックの構成は、第２のエラー訂正符号によるセクタ（Ｃ２セクタ）が、シーク動作により或るトラックに移動した際に最初に読出しを行うサーボフレーム内のセクタ、例えば先頭セクタとなるように設定する。【選択図】        図１２
2005228454.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが複数のセクタに分割された同心円状のトラックが形成されているとともに、サーボ領域が放射状となるように各トラック上の所定位置に形成され、トラック上のサーボ領域とサーボ領域の間にセクタが配されてサーボフレームを構成するディスク記録媒体に対するデータ記録再生装置であって、
目的とするトラックをシークするシーク手段と、
該シークされたトラック上でアクセスを行うデータアクセス手段と、
データをエラー訂正するためのエラー訂正符号を生成するとともにエラー訂正符号に基づいてデータをエラー訂正するエラー訂正手段とを備え、
上記エラー訂正手段は、所定のデータ量単位に対して第１のエラー訂正符号単位を設定し、また複数個の第１のエラー訂正符号単位に対する第２のエラー訂正符号単位を設定し、複数個の上記第１のエラー訂正符号単位及びこれに対して付加された上記第２のエラー訂正符号単位からなるエラー訂正ブロックを形成するとともに、上記第２のエラー訂正符号によるセクタの少なくとも１つが、上記シーク手段により上記ディスク記録媒体上の或るトラックに移動した際に上記データアクセス手段が読み出しを行う先頭のサーボフレーム内のセクタとなるように、上記エラー訂正ブロックを生成することを特徴とするデータ記録再生装置。
【請求項２】
上記エラー訂正手段は、トラック上で上記先頭のサーボフレームに対して前方又は後方に隣接する複数のサーボフレームにも、上記第２のエラー訂正符号によるセクタが含まれるように、上記第２のエラー訂正符号によるセクタを分散した上記エラー訂正ブロックを形成することを特徴とする請求項１に記載のデータ記録再生装置。
【請求項３】
上記エラー訂正手段は、トラック上の全てのサーボフレームに、上記第２のエラー訂正符号によるセクタが含まれるように、上記第２のエラー訂正符号によるセクタを分散した上記エラー訂正ブロックを形成することを特徴とする請求項１に記載のデータ記録再生装置。
【請求項４】
上記エラー訂正手段は、上記サーボフレーム内において少なくとも先頭セクタが上記第２のエラー訂正符号によるセクタとなるように、上記エラー訂正ブロックを形成することを特徴とする請求項１、請求項２、又は請求項３に記載のデータ記録再生装置。
【請求項５】
上記エラー訂正手段は、上記サーボフレーム内において先頭セクタから連続する複数のセクタが上記第２のエラー訂正符号によるセクタとなるように、上記エラー訂正ブロックを形成することを特徴とする請求項１、請求項２、又は請求項３に記載のデータ記録再生装置。
【請求項６】
上記エラー訂正手段は、上記サーボフレーム内において先頭セクタと終端セクタが上記第２のエラー訂正符号によるセクタとなるように、上記エラー訂正ブロックを形成することを特徴とする請求項１、請求項２、又は請求項３に記載のデータ記録再生装置。
【請求項７】
上記エラー訂正手段は、少なくとも上記エラー訂正ブロックにおける先頭に上記第２のエラー訂正符号によるセクタが配置されるように、上記エラー訂正ブロックを形成することを特徴とする請求項１に記載のデータ記録再生装置。
【請求項８】
上記エラー訂正手段は、上記エラー訂正ブロック内で、複数の上記第２のエラー訂正符号によるセクタが分散されて配置されるように、上記エラー訂正ブロックを形成することを特徴とする請求項１に記載のデータ記録再生装置。
【請求項９】
上記エラー訂正手段は、１又は複数のトラック単位でエラー訂正ブロックを完結させるように、上記エラー訂正ブロックを形成することを特徴とする請求項１に記載のデータ記録再生装置。
【請求項１０】
上記エラー訂正手段はリードソロモン符号方式によりエラー訂正符号を生成することを特徴とする請求項１に記載のデータ記録再生装置。
【請求項１１】
上記エラー訂正手段が形成する上記エラー訂正ブロックは、上記第１又は第２のエラー訂正符号単位において、インターリーブ構造を備えることを特徴とする請求項１に記載のデータ記録再生装置。
【請求項１２】
上記データアクセス手段は、上記シーク手段によりシークされたトラック上で、アクセス可能となった先頭のセクタから書込みアクセスを開始して１トラック分のアクセスを行うことを特徴とする請求項１に記載のデータ記録再生装置。
【請求項１３】
上記データアクセス手段は、書込みアクセス時には、各セクタに対して、トラック上でアクセスを開始したセクタから順番に相対位置アドレスを割り振り、読出しアクセス時には、トラック上の各セクタから読出したデータを相対位置アドレスに従って再配置して、書き込まれたデータを再現することを特徴とする請求項１２に記載のデータ記録再生装置。
【請求項１４】
上記エラー訂正手段は、トラック当たりに２以上のエラー訂正ブロックが存在しないように、且つ、１又は複数のトラック単位でエラー訂正ブロックを完結させるように、上記エラー訂正ブロックを形成することを特徴とする請求項１２に記載のデータ記録再生装置。
【請求項１５】
それぞれが複数のセクタに分割された同心円状のトラックが形成されているとともに、サーボ領域が放射状となるように各トラック上の所定位置に形成され、トラック上のサーボ領域とサーボ領域の間にセクタが配されてサーボフレームを構成するディスク記録媒体に対するデータ記録再生方法として、
目的とするトラックをシークするシークステップと、
該シークされたトラック上でアクセスを行うデータアクセスステップと、
データをエラー訂正するためのエラー訂正符号を生成するとともにエラー訂正符号に基づいてデータをエラー訂正するエラー訂正ステップとを備え、
上記エラー訂正ステップでは、所定のデータ量単位に対して第１のエラー訂正符号単位を設定し、また複数個の第１のエラー訂正符号単位に対する第２のエラー訂正符号単位を設定し、複数個の上記第１のエラー訂正符号単位及びこれに対して付加された上記第２のエラー訂正符号単位からなるエラー訂正ブロックを形成するとともに、上記第２のエラー訂正符号によるセクタの少なくとも１つが、上記シークステップで上記ディスク記録媒体上の或るトラックに移動した際に上記データアクセスステップで読み出しを行う先頭のサーボフレーム内のセクタとなるように、上記エラー訂正ブロックを生成することを特徴とするデータ記録再生方法。
【請求項１６】
上記エラー訂正ステップでは、トラック上で上記先頭のサーボフレームに対して前方又は後方に隣接する複数のサーボフレームにも、上記第２のエラー訂正符号によるセクタが含まれるように、上記第２のエラー訂正符号によるセクタを分散した上記エラー訂正ブロックを形成することを特徴とする請求項１５に記載のデータ記録再生方法。
【請求項１７】
上記エラー訂正ステップでは、トラック上の全てのサーボフレームに、上記第２のエラー訂正符号によるセクタが含まれるように、上記第２のエラー訂正符号によるセクタを分散した上記エラー訂正ブロックを形成することを特徴とする請求項１５に記載のデータ記録再生方法。
【請求項１８】
上記エラー訂正ステップでは、上記サーボフレーム内において少なくとも先頭セクタが上記第２のエラー訂正符号によるセクタとなるように、上記エラー訂正ブロックを形成することを特徴とする請求項１５、請求項１６、又は請求項１７に記載のデータ記録再生方法。
【請求項１９】
上記エラー訂正ステップでは、上記サーボフレーム内において先頭セクタから連続する複数のセクタが上記第２のエラー訂正符号によるセクタとなるように、上記エラー訂正ブロックを形成することを特徴とする請求項１５、請求項１６、又は請求項１７に記載のデータ記録再生方法。
【請求項２０】
上記エラー訂正ステップでは、上記サーボフレーム内において先頭セクタと終端セクタが上記第２のエラー訂正符号によるセクタとなるように、上記エラー訂正ブロックを形成することを特徴とする請求項１５、請求項１６、又は請求項１７に記載のデータ記録再生方法。
【請求項２１】
上記エラー訂正ステップでは、少なくとも上記エラー訂正ブロックにおける先頭に上記第２のエラー訂正符号によるセクタが配置されるように、上記エラー訂正ブロックを形成することを特徴とする請求項１５に記載のデータ記録再生方法。
【請求項２２】
上記エラー訂正ステップでは、上記エラー訂正ブロック内で、複数の上記第２のエラー訂正符号によるセクタが分散されて配置されるように、上記エラー訂正ブロックを形成することを特徴とする請求項１５に記載のデータ記録再生方法。
【請求項２３】
上記エラー訂正ステップでは、１又は複数のトラック単位でエラー訂正ブロックを完結させるように、上記エラー訂正ブロックを形成することを特徴とする請求項１５に記載のデータ記録再生方法。
【請求項２４】
上記エラー訂正ステップではリードソロモン符号方式によりエラー訂正符号を生成することを特徴とする請求項１５に記載のデータ記録再生方法。
【請求項２５】
上記エラー訂正ステップで形成される上記エラー訂正ブロックは、上記第１又は第２のエラー訂正符号単位において、インターリーブ構造を備えることを特徴とする請求項１５に記載のデータ記録再生方法。
【請求項２６】
上記データアクセスステップでは、上記シークステップでシークされたトラック上で、アクセス可能となった先頭のセクタから書込みアクセスを開始して１トラック分のアクセスを行うことを特徴とする請求項１５に記載のデータ記録再生方法。
【請求項２７】
上記データアクセスステップでは、書込みアクセス時には、各セクタに対して、トラック上でアクセスを開始したセクタから順番に相対位置アドレスを割り振り、読出しアクセス時には、トラック上の各セクタから読出したデータを相対位置アドレスに従って再配置して、書き込まれたデータを再現することを特徴とする請求項２６に記載のデータ記録再生方法。
【請求項２８】
上記エラー訂正ステップでは、トラック当たりに２以上のエラー訂正ブロックが存在しないように、且つ、１又は複数のトラック単位でエラー訂正ブロックを完結させるように、上記エラー訂正ブロックを形成することを特徴とする請求項２６に記載のデータ記録再生方法。
【請求項２９】
それぞれが複数のセクタに分割された同心円状のトラックが形成されているとともに、サーボ領域が放射状となるように各トラック上の所定位置に形成され、トラック上のサーボ領域とサーボ領域の間にセクタが配されてサーボフレームを構成するディスク記録媒体に対するデータ記録再生処理をコンピュータシステム上で実行するためにコンピュータ可読形式で記述されたプログラムとして、
目的とするトラックをシークするシークステップと、
該シークされたトラック上でアクセスを行うデータアクセスステップと、
データをエラー訂正するためのエラー訂正符号を生成するとともにエラー訂正符号に基づいてデータをエラー訂正するエラー訂正ステップとを備え、
上記エラー訂正ステップでは、所定のデータ量単位に対して第１のエラー訂正符号単位を設定し、また複数個の第１のエラー訂正符号単位に対する第２のエラー訂正符号単位を設定し、複数個の上記第１のエラー訂正符号単位及びこれに対して付加された上記第２のエラー訂正符号単位からなるエラー訂正ブロックを形成するとともに、上記第２のエラー訂正符号によるセクタの少なくとも１つが、上記シークステップで上記ディスク記録媒体上の或るトラックに移動した際に上記データアクセスステップで読み出しを行う先頭のサーボフレーム内のセクタとなるように、上記エラー訂正ブロックを生成するプログラム。
【請求項３０】
上記エラー訂正ステップでは、トラック上で上記先頭のサーボフレームに対して前方又は後方に隣接する複数のサーボフレームにも、上記第２のエラー訂正符号によるセクタが含まれるように、上記第２のエラー訂正符号によるセクタを分散した上記エラー訂正ブロックを形成する請求項２９に記載のプログラム。
【請求項３１】
上記エラー訂正ステップでは、トラック上の全てのサーボフレームに、上記第２のエラー訂正符号によるセクタが含まれるように、上記第２のエラー訂正符号によるセクタを分散した上記エラー訂正ブロックを形成する請求項２９に記載のプログラム。
【請求項３２】
上記エラー訂正ステップでは、上記サーボフレーム内において少なくとも先頭セクタが上記第２のエラー訂正符号によるセクタとなるように、上記エラー訂正ブロックを形成する請求項２９、請求項３０、又は請求項３１に記載のプログラム。
【請求項３３】
上記エラー訂正ステップでは、上記サーボフレーム内において先頭セクタから連続する複数のセクタが上記第２のエラー訂正符号によるセクタとなるように、上記エラー訂正ブロックを形成する請求項２９、請求項３０、又は請求項３１に記載のプログラム。
【請求項３４】
上記エラー訂正ステップでは、上記サーボフレーム内において先頭セクタと終端セクタが上記第２のエラー訂正符号によるセクタとなるように、上記エラー訂正ブロックを形成する請求項２９、請求項３０、又は請求項３１に記載のプログラム。
【請求項３５】
上記エラー訂正ステップでは、少なくとも上記エラー訂正ブロックにおける先頭に上記第２のエラー訂正符号によるセクタが配置されるように、上記エラー訂正ブロックを形成する請求項２９に記載のプログラム。
【請求項３６】
上記エラー訂正ステップでは、上記エラー訂正ブロック内で、複数の上記第２のエラー訂正符号によるセクタが分散されて配置されるように、上記エラー訂正ブロックを形成する請求項２９に記載のプログラム。
【請求項３７】
上記エラー訂正ステップでは、１又は複数のトラック単位でエラー訂正ブロックを完結させるように、上記エラー訂正ブロックを形成する請求項２９に記載のプログラム。
【請求項３８】
上記エラー訂正ステップではリードソロモン符号方式によりエラー訂正符号を生成する請求項２９に記載のプログラム。
【請求項３９】
上記エラー訂正ステップで形成される上記エラー訂正ブロックは、上記第１又は第２のエラー訂正符号単位において、インターリーブ構造を備えるようにした請求項２９に記載のプログラム。
【請求項４０】
上記データアクセスステップでは、上記シークステップでシークされたトラック上で、アクセス可能となった先頭のセクタから書込みアクセスを開始して１トラック分のアクセスを行う請求項２９に記載のプログラム。
【請求項４１】
上記データアクセスステップでは、書込みアクセス時には、各セクタに対して、トラック上でアクセスを開始したセクタから順番に相対位置アドレスを割り振り、読出しアクセス時には、トラック上の各セクタから読出したデータを相対位置アドレスに従って再配置して、書き込まれたデータを再現する請求項４０に記載のプログラム。
【請求項４２】
上記エラー訂正ステップでは、トラック当たりに２以上のエラー訂正ブロックが存在しないように、且つ、１又は複数のトラック単位でエラー訂正ブロックを完結させるように、上記エラー訂正ブロックを形成する請求項４０に記載のプログラム。
【請求項４３】
それぞれが複数のセクタに分割された同心円状のトラックが形成されているとともに、サーボ領域が放射状となるように各トラック上の所定位置に形成され、トラック上のサーボ領域とサーボ領域の間にセクタが配されてサーボフレームを構成するディスク記録媒体であって、
所定のデータ量単位に対して第１のエラー訂正符号単位が設定され、また複数個の第１のエラー訂正符号単位に対する第２のエラー訂正符号単位が設定され、複数個の上記第１のエラー訂正符号単位及びこれに対して付加された上記第２のエラー訂正符号単位からなるエラー訂正ブロックが形成されるとともに、
上記エラー訂正ブロックは、上記第２のエラー訂正符号によるセクタの少なくとも１つが、シーク動作により或るトラックに移動した際に最初に読み出しを行う先頭のサーボフレーム内のセクタとなるように生成されており、
上記エラー訂正ブロックの構成を有するデータが、上記各トラックに記録されること特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ランダムアクセス可能な記録媒体のためのデータ記録再生装置及びデータ記録再生方法、並びにコンピュータプログラム、記録媒体に係り、特に、ハードディスクのようにメディアとしての磁気ディスク上で磁気ヘッドをスキャンさせながらデータの読み書き動作を行うディスク型記録媒体のための技術に関する。さらに詳しくは、本発明は、所望のデータ記憶場所へのアクセス時間の短縮を図りながら、安定したデータ記録再生を行う技術に関する。
【背景技術】
【０００２】
【特許文献１】特開２０００−２７６８５６号公報
【特許文献２】特開２０００−２７８６４５号公報
【０００３】
情報処理や情報通信など情報技術の発達とともに、過去において作成・編集した情報についても再利用する必要が生じてきており、このために情報蓄積技術はますます重要となってきている。いままで、磁気テープや磁気ディスクなどさまざまなメディアを利用した情報記録装置が開発され普及している。
このうちＨＤＤ（Hard Disk Drive）は、磁気記録方式の補助記憶装置である。ＨＤＤのドライブユニット内には記録媒体である数枚の磁気メディアが収容され、モータによって高速に回転する。メディアには、酸化鉄やコバルト・クロムなどの磁性体が、メッキや薄膜生成によって塗布されている。
そして、磁気ヘッドを回転するメディア表面上で半径方向にスキャンさせることによって、メディア上にデータに相当する磁化を生じさせて書込みを行い、あるいはデータを読み出すことができる。
【０００４】
ハードディスクは既に広汎に普及している。例えば、パーソナルコンピュータ用の標準的な外部記憶装置として、コンピュータを起動するために必要なオペレーティングシステム（ＯＳ）やアプリケーションなど、さまざまなソフトウェアをインストールしたり、作成・編集したファイルを保存したりするためにハード・ディスクが利用されている。通常、ＨＤＤは、ＩＤＥ（Integrated Drive Electronics）やＳＣＳＩ（Small Computer System Interface）などの標準的なインターフェースを介してコンピュータ本体に接続され、その記憶空間は、ＦＡＴ（File Allocation Table）などの、オペレーティングシステムのサブシステムであるファイルシステムによって管理される。
そして最近では、ＨＤＤの大容量化が進んでおり、これに伴って、従来のコンピュータ用補助記憶装置としてだけでなく、放送受信されたＡＶコンテンツを蓄積するハードディスクレコーダなど、適用分野が拡大し、さまざまなコンテンツを記録するために利用され始めている。
【０００５】
ここで、コンピュータ用補助記憶装置として使用される場合を例にとって、ハードディスクの物理フォーマット方法やハードディスクへのデータ読み書きオペレーションについて考察してみる。
ハードディスク上には、データを記録するための区画として、同心円状に多数の「トラック」を形成する。そして、ディスクの最外周から内周に向かって０，１，…とトラック番号が割り振られる。ディスク表面上にトラック数が多いほどメディアの記憶容量は増す。
【０００６】
さらに、各トラックは、記録単位である「セクタ」に分割される。ディスクに対する通常のデータ読み書き動作はセクタ単位で行われる。セクタサイズはメディア毎に相違するが、ハードディスクのセクタは一般的には５１２バイトとされる。また、メディアの使用効率を考慮して、各トラック上の記録密度をほぼ均一にするために、周長が長くなる外側のトラックに向かうほどセクタ数を多く設けている。これを”Zone Bit Recording”（ゾーンビットレコーディング）方式と呼ぶ。
ゾーンビットレコーディング方式を採用した場合、各トラック上の記録密度をほぼ均一にすることができる一方で、トラック毎のデータ転送速度が不均一となるという短所がある。データ転送速度は、ディスクの内周方向に進むにつれて低くなっていく。
【０００７】
また、数枚のメディアが同心円状に重なって構成されているＨＤＤの場合、各メディアの同じ番号のトラックは円筒状に配置されていると捉えることができ、これを「シリンダ」と呼ぶ。各シリンダには、トラック番号と同じ番号が割り振られ、最外周から順にシリンダ０，シリンダ１，・・・となる。各メディア間に挿設された複数のヘッドは常に一体となって作動して、シリンダ間を移動する。
【０００８】
目的となるセクタを指定（アドレス）する方式として、ＣＨＳ方式を挙げることができる。これは、ディスク上のＰＢＡ（Physical Block Address：物理ブロックアドレス）を、Ｃ（Cylinder）、Ｈ（Head）、Ｓ（Sector）の順に指定することによって、所望のデータにアクセスする方式である。
【０００９】
一方、ＣＨＳ方式においては、ＨＤＤに対するホストとして動作するコンピュータ本体側では、指定できるＣＨＳパラメータに限界があり、ハードディスクの大容量化に対応できなくなってくる。このため、ＬＢＡ（Logical Block Address：論理ブロックアドレス）方式が採用されている。これは、シリンダ番号、ヘッド番号、セクタ番号（ＣＨＳ）を０から始まるＬＢＡという論理的な通し番号で表現するものである。
【００１０】
従来のＨＤＤでは、メディアにアクセスしてデータを読み書きするためには、先ず、磁気ヘッドが目的とするセクタのあるトラックに到達するために、磁気ヘッドをメディア上で走査させる。これを磁気ヘッドの「シーク」動作と呼ぶ。次に、トラック上で目的のセクタに到達するために、メディアが回転して、目的のセクタが磁気ヘッドの真下に来るまで待つ。これを「回転待ち」と呼ぶ。
【００１１】
ディスクの大容量化に伴い、トラック密度が増大してトラック幅が極めて狭くなる。したがって、データを正確に書込み及び再生するためには、磁気ヘッドの位置決めは高い精度が要求される。そこで、磁気ヘッドの位置を常にトラックの中心に合わせるというサーボ技術が採用されている。各トラック上に「サーボパターン」と呼ばれる信号を一定間隔で書き込んでおき、これを磁気ヘッドで読むことにより、磁気ヘッドがトラックの中心にあるかどうかをチェックすることができる。サーボパターンは、ＨＤＤの製造工程において、高精度に書き込まれる。サーボ領域には、例えば、ヘッドの位置決めするための信号と、シリンダ番号、ヘッド番号、サーボ番号などが書き込まれている。
【００１２】
従来の多くのＨＤＤは、ＩＤＥやＳＣＳＩなどコンピュータとの接続を目的としたインターフェースを持っている。そして、コンピュータ本体からのディスクドライブ制御は、インターフェースで定義されているコマンドセットを用いて、先頭セクタを示すＬＢＡとアクセスを行うセクタ数を指定することを基本動作とする。
この場合、ＨＤＤ側では、指定された先頭セクタからのアクセスを行うとともに、その後アクセスされるセクタを予測して先読みを行うシーケンスを作成しながらアクセスを行うことができる。
この先読みという動作は、一連のデータに対して連続するアドレスを持つセクタが割り振られていることを前提としている。通常、連続するアドレスを持つセクタは、連続するヘッド番号あるいはトラック番号に存在する。
大きなデータがメディア上に連続して書き込まれている場合には、読出し時の先読み動作が有効に働く。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、記憶領域のフラグメンテーションが進行し、大きなデータが小さく断片化されて複数の場所に分散しているような場合には、読出し時の先読みは別のデータを指してしまうために、有効に働くことができない。このような現象は、データの読み書きを要求するホスト（コンピュータ本体など）側が取り扱うファイル構造を、ＨＤＤ側が把握していないことから起きるとも言える。
また、ホスト側からの新たなアクセス要求によってその予測がはずれた場合、ディスクドライブは、その要求されるデータの存在するセクタが含まれるトラックへシークを行い、トラッキングが完了すると目的のセクタのアクセスが可能となるのを待つ。ここにおいて、シーク時間と回転待ち時間が発生する。
【００１４】
先読みデータの保存は、データバッファの容量が許容する限りである。予測が外れる場合が連続的あるいは散発的に発生すると、データバッファ上の使われていない古いデータから順に破棄されることとなる。また、この先読みを行っている間はシーク起動を行うことができない。
【００１５】
以上のように、シーク時間と回転待ち時間、無効な先読みによるシーク起動の遅れによる時間の損失、並びに無効な先読みによるデータの損失が発生していると言える。
通常のディスクドライブでは、このシーク時間と回転待ち時間を短縮するために、ディスクの回転数を上げることが行われている。これは、コンピュータなどのホスト側で扱われるデータ量やデータ構造に規則性がないため、アクセス方法による改善を行うことが困難であるからである。しかしディスクの回転数を上げる方式では、電力消費や記憶容量の面において不利であり、問題となる。
【００１６】
また、ＨＤＤなどの従来の外部記憶システムの多くは、１セクタ（１セクタは通常５１２バイト）単位でエラー訂正が行われる。これにより、各セクタに発生するランダムエラーに対してエラー訂正を行うことができる。そして、訂正可能範囲を越えたランダムエラーや、あるいはバーストエラーに対しては、エラー訂正を行うことができない。そこで、リトライ動作を実施するなどによって、読み取りエラーを一定以下にしていた。
しかしながら、このようなリトライ動作は、１周回転待ちして再読み込みを行う必要がある。このため、さらにデータ読出し時間の遅れを発生させることになる。
例えば、ＡＶコンテンツを扱うシステムにおいて、ＨＤ（ハイビジョン画質）の再生やあるいは特殊再生を行うなど、高転送速度が要求される状況があり、セクタ内において訂正不能な読み取りエラーが発生しても時間的にリトライを行うことが出来ない場合がある。このようなとき、現状では、エラー訂正が行われないまま処理を進める他なく、この結果、再生品質は悪くなった。
【００１７】
なお、例えば上記特許文献２には、記録するデータブロックの重要度を示す情報を持たせ、この情報に基づいて、重要であるデータブロックについてはリトライを実行させ、それ以外はリトライをさせない等の切換を行う技術が開示されている。
また上記特許文献１には、記録するデータブロックの重要度を示す情報を持たせ、この情報に基づいて、重要であるデータブロックについてはエラー訂正能力を増加させ、それ以外は通常の訂正能力とする等の切換を行う技術が開示されている。
これらの技術は、特にＡＶコンテンツを扱うシステム等において或る程度適切に機能するが、リトライの回避やエラー訂正においてより効果的な技術が求められている。
【００１８】
またさらに、これらＡＶコンテンツの読出し中において振動等の外乱が加えられると、外乱のなかった状態での読出し時よりも、エラーの発生が多くなる。そのために、エラー訂正が不可能となるデータも増え、結局再生品質が悪くなる。
特に外乱の加わった状態でのエラーの発生は、シークした直後において多く発生する傾向がある。これは例えば、外乱が加わることによって、オントラックとなるための時間が長くなり、その結果エラーとなることが考えられる。
発生するエラーは、ランダムの場合とバーストの場合に分類できるが、外乱が無い時には、もっぱらランダムな発生となっているのに対し、外乱が加わった際には、ランダムの頻度が増すと同時に、時にはバーストが発生するようになる。
これに対して例えばエラー訂正方式として、セクタ内の訂正に加えて、セクタ間の訂正を付加することによって、ランダムのエラーだけでなく、バーストのエラーに対しても訂正が可能なようにすることができる。しかし、外乱が大きくなるに従って、最終的にはエラー訂正が不可能なセクタが発生し、さらには増加していく。
また外乱が大きい時においては、上記したオントラックとなるための時間は、さらに不均一となってくる。すなわちシーク直後の読み出し先頭セクタは、一定位置を定めることが困難になる。
【００１９】
このような、読出し時におけるエラーの発生の増加の他の要因としては、経年変化がある。過去に書込みしたデータを読み出す際に、ＳＰＭ（スピンドルモータ）やＶＣＭ（ボイスコイルモータ）が劣化したことによって、同様な現象を示すことが考えられる。
この外乱によるシーク直後のエラー発生も、当然に、データ品質やアクセス時間、転送速度に悪影響を及ぼすものであり、このようなエラーに対する対策も求められている。
【課題を解決するための手段】
【００２０】
本発明は上述したような課題に鑑みたものであり、データ記録再生装置及びデータ記録再生方法、並びにコンピュータプログラム、記録媒体として、以下の目的を実現する。
即ち、所望のデータ記憶場所へのアクセス時間の短縮を図る。
また、転送速度を低下させることなく安定したデータ再生を行う。
また、より広い範囲でのランダムエラーやバーストエラーに対してもエラー訂正可能とし、リトライ動作やデータ品質の低下をを回避して転送速度の低下を少なくし、安定したデータ再生を行うことができるようにする。
さらに外乱によるシーク直後のエラーによる影響を回避して、転送速度の低下を少なくし、安定したデータ再生を行うことができるようにする。
【００２１】
本発明のデータ記録再生装置は、それぞれが複数のセクタに分割された同心円状のトラックが形成されているとともに、サーボ領域が放射状となるように各トラック上の所定位置に形成され、トラック上のサーボ領域とサーボ領域の間にセクタが配されてサーボフレームを構成するディスク記録媒体に対するデータ記録再生装置である。そして目的とするトラックをシークするシーク手段と、該シークされたトラック上でアクセスを行うデータアクセス手段と、データをエラー訂正するためのエラー訂正符号を生成するとともにエラー訂正符号に基づいてデータをエラー訂正するエラー訂正手段とを備える。このエラー訂正手段は、所定のデータ量単位に対して第１のエラー訂正符号単位を設定し、また複数個の第１のエラー訂正符号単位に対する第２のエラー訂正符号単位を設定し、複数個の上記第１のエラー訂正符号単位及びこれに対して付加された上記第２のエラー訂正符号単位からなるエラー訂正ブロックを形成するとともに、上記第２のエラー訂正符号によるセクタの少なくとも１つが、上記シーク手段により上記ディスク記録媒体上の或るトラックに移動した際に上記データアクセス手段が最初に読み出しを行う先頭のサーボフレーム内のセクタとなるように、上記エラー訂正ブロックを生成する。
また上記エラー訂正手段は、トラック上で上記先頭のサーボフレームに対して前方又は後方に隣接する複数のサーボフレームにも、上記第２のエラー訂正符号によるセクタが含まれるように、上記第２のエラー訂正符号によるセクタを分散した上記エラー訂正ブロックを形成する。
又は上記エラー訂正手段は、トラック上の全てのサーボフレームに、上記第２のエラー訂正符号によるセクタが含まれるように、上記第２のエラー訂正符号によるセクタを分散した上記エラー訂正ブロックを形成する。
また、これらの場合において、上記エラー訂正手段は、上記サーボフレーム内において、少なくとも先頭セクタが上記第２のエラー訂正符号によるセクタとなるように、或いは先頭セクタから連続する複数のセクタが上記第２のエラー訂正符号によるセクタとなるように、或いは先頭セクタと終端セクタが上記第２のエラー訂正符号によるセクタとなるように上記エラー訂正ブロックを形成する。
また、上記エラー訂正手段は、少なくとも上記エラー訂正ブロックにおける先頭に上記第２のエラー訂正符号によるセクタが配置されるように、上記エラー訂正ブロックを形成する。
また、上記エラー訂正手段は、上記エラー訂正ブロック内で、複数の上記第２のエラー訂正符号によるセクタが分散されて配置されるように、上記エラー訂正ブロックを形成する。
また上記エラー訂正手段は、１又は複数のトラック単位でエラー訂正ブロックを完結させるように、上記エラー訂正ブロックを形成する。
また上記エラー訂正手段はリードソロモン符号方式によりエラー訂正符号を生成する。
また上記エラー訂正手段が形成する上記エラー訂正ブロックは、上記第１又は第２のエラー訂正符号単位において、インターリーブ構造を備える。
【００２２】
また上記データアクセス手段は、上記シーク手段によりシークされたトラック上で、アクセス可能となった先頭のセクタから書込みアクセスを開始して１トラック分のアクセスを行う。
この場合、上記データアクセス手段は、書込みアクセス時には、各セクタに対して、トラック上でアクセスを開始したセクタから順番に相対位置アドレスを割り振り、読出しアクセス時には、トラック上の各セクタから読出したデータを相対位置アドレスに従って再配置して、書き込まれたデータを再現する。
また、この場合、上記エラー訂正手段は、トラック当たりに２以上のエラー訂正ブロックが存在しないように、且つ、１又は複数のトラック単位でエラー訂正ブロックを完結させるように、上記エラー訂正ブロックを形成する。
【００２３】
本発明のデータ記録再生方法は、それぞれが複数のセクタに分割された同心円状のトラックが形成されているとともに、サーボ領域が放射状となるように各トラック上の所定位置に形成され、トラック上のサーボ領域とサーボ領域の間にセクタが配されてサーボフレームを構成するディスク記録媒体に対するデータ記録再生方法である。そして、目的とするトラックをシークするシークステップと、該シークされたトラック上でアクセスを行うデータアクセスステップと、データをエラー訂正するためのエラー訂正符号を生成するとともにエラー訂正符号に基づいてデータをエラー訂正するエラー訂正ステップとを備える。上記エラー訂正ステップでは、所定のデータ量単位に対して第１のエラー訂正符号単位を設定し、また複数個の第１のエラー訂正符号単位に対する第２のエラー訂正符号単位を設定し、複数個の上記第１のエラー訂正符号単位及びこれに対して付加された上記第２のエラー訂正符号単位からなるエラー訂正ブロックを形成するとともに、上記第２のエラー訂正符号によるセクタの少なくとも１つが、上記シークステップで上記ディスク記録媒体上の或るトラックに移動した際に上記データアクセスステップで最初に読み出しを行う先頭のサーボフレーム内のセクタとなるように、上記エラー訂正ブロックを生成する。
また、上記エラー訂正ステップでは、トラック上で上記先頭のサーボフレームに対して前方又は後方に隣接する複数のサーボフレームにも、上記第２のエラー訂正符号によるセクタが含まれるように、上記第２のエラー訂正符号によるセクタを分散した上記エラー訂正ブロックを形成する。
または、上記エラー訂正ステップでは、トラック上の全てのサーボフレームに、上記第２のエラー訂正符号によるセクタが含まれるように、上記第２のエラー訂正符号によるセクタを分散した上記エラー訂正ブロックを形成する。
これらの場合において、上記エラー訂正ステップでは、上記サーボフレーム内において少なくとも先頭セクタが上記第２のエラー訂正符号によるセクタとなるように、或いは先頭セクタから連続する複数のセクタが上記第２のエラー訂正符号によるセクタとなるように、或いは、先頭セクタと終端セクタが上記第２のエラー訂正符号によるセクタとなるように、上記エラー訂正ブロックを形成する。
また、上記エラー訂正ステップでは、少なくとも上記エラー訂正ブロックにおける先頭に上記第２のエラー訂正符号によるセクタが配置されるように、上記エラー訂正ブロックを形成する。
また上記エラー訂正ステップでは、上記エラー訂正ブロック内で、複数の上記第２のエラー訂正符号によるセクタが分散されて配置されるように、上記エラー訂正ブロックを形成する。
また、上記エラー訂正ステップでは、１又は複数のトラック単位でエラー訂正ブロックを完結させるように、上記エラー訂正ブロックを形成する。
また、上記エラー訂正ステップではリードソロモン符号方式によりエラー訂正符号を生成する。
また、上記エラー訂正ステップで形成される上記エラー訂正ブロックは、上記第１又は第２のエラー訂正符号単位において、インターリーブ構造を備える。
【００２４】
また上記データアクセスステップでは、上記シークステップでシークされたトラック上で、アクセス可能となった先頭のセクタから書込みアクセスを開始して１トラック分のアクセスを行う。
この場合、上記データアクセスステップでは、書込みアクセス時には、各セクタに対して、トラック上でアクセスを開始したセクタから順番に相対位置アドレスを割り振り、読出しアクセス時には、トラック上の各セクタから読出したデータを相対位置アドレスに従って再配置して、書き込まれたデータを再現する。
又この場合、上記エラー訂正ステップでは、トラック当たりに２以上のエラー訂正ブロックが存在しないように、且つ、１又は複数のトラック単位でエラー訂正ブロックを完結させるように、上記エラー訂正ブロックを形成する。
【００２５】
本発明のプログラムは、それぞれが複数のセクタに分割された同心円状のトラックが形成されているとともに、サーボ領域が放射状となるように各トラック上の所定位置に形成され、トラック上のサーボ領域とサーボ領域の間にセクタが配されてサーボフレームを構成するディスク記録媒体に対するデータ記録再生処理をコンピュータシステム上で実行するためにコンピュータ可読形式で記述されたプログラムであり、上記データ記録再生方法のステップを実行させるプログラムである。
【００２６】
本発明の記録媒体は、それぞれが複数のセクタに分割された同心円状のトラックが形成されているとともに、サーボ領域が放射状となるように各トラック上の所定位置に形成され、トラック上のサーボ領域とサーボ領域の間にセクタが配されてサーボフレームを構成するディスク記録媒体である。そして、以下のエラー訂正ブロックの構成を有するデータが、上記各トラックに記録されること特徴とする。即ち、所定のデータ量単位に対して第１のエラー訂正符号単位が設定され、また複数個の第１のエラー訂正符号単位に対する第２のエラー訂正符号単位が設定され、複数個の上記第１のエラー訂正符号単位及びこれに対して付加された上記第２のエラー訂正符号単位からなるエラー訂正ブロックが形成されるとともに、上記エラー訂正ブロックは、上記第２のエラー訂正符号によるセクタの少なくとも１つが、シーク動作により或るトラックに移動した際に最初に読み出しを行う先頭のサーボフレーム内のセクタとなるように生成されている。
【００２７】
以上の本発明により、上述した所期の目的を実現する。
即ち、第１のエラー訂正符号（Ｃ１）単位を用いることによりセクタ内でのランダムエラーを訂正することができるとともに、第２のエラー訂正符号（Ｃ２）単位を用いることによりセクタ内エラー訂正範囲を越えるエラーや、セクタ間にまたがるバーストエラーを訂正することができる。すなわち、エラー訂正ブロック構成をＣ１＋Ｃ２とすることによって、データ転送速度を所望以上に保つためにリトライが行えない状況においても、Ｃ１でエラー訂正が不能となった際に、さらにＣ２でエラー訂正を行うことができるので、より安定したシステムを提供することができる。そしてこのように、より広い範囲でのランダムエラーやバーストエラーに対してもエラー訂正が可能として、リトライ動作を回避することによって、転送速度を低下させることなく、安定したデータ再生を行うことができる。
さらに、エラー訂正ブロック構成において、第２のエラー訂正符号によるセクタ（Ｃ２セクタ）が、シーク動作により或るトラックに移動した際に最初に読出しを行うサーボフレーム内となるように設定されていることで、シーク直後のアクセスは、Ｃ２セクタを含むサーボフレームから開始されるものとなる。例えばアクセスがＣ２セクタから開始される。シーク直後の先頭のサーボフレームに対するアクセスにおいては外乱等により最もエラーが発生し易いが、そのサーボフレーム内にＣ２セクタが配されることで、データセクタへの外乱の影響を最小限とする。
またＣ２セクタがエラーとなることは、設定したＥＣＣ訂正能力を超えてエラーとなった際にも、エラーによるデータ損失を効果的に減少することができる。つまり、エラー訂正不能によりＣ２セクタを損失しても、データセクタは損なわれていないため、エラー訂正不能となってもデータセクタは正常であることが期待できるためである。
【００２８】
また、シーク直後のアクセスにおいて先頭とされるサーボフレームの前方又は後方の隣接するサーボフレームにもＣ２セクタを分散して配置するようにすれば、シーク位置が前後した場合にも対応できる。
【００２９】
また、上記データアクセス手段は、上記シーク手段によりシークされたトラック上で、アクセス可能となった先頭のセクタから書込みアクセスを開始して１トラック分のアクセスを行う。例えば磁気ヘッドがオン・トラックしたセクタから１トラック分のアクセスを行う。これによって書込み時には回転待ちをなくすことができる。また読出しアクセス時には、１トラックをアクセス単位とすることで、先読みという不確定な処理を省いて、シーク起動のタイミングを確実に決定することができる。
特にこの場合、上記データアクセス手段が、書込みアクセス時には、各セクタに対して、トラック上でアクセスを開始したセクタから順番に相対位置アドレスを割り振り、読出しアクセス時には、トラック上の各セクタから読出したデータを相対位置アドレスに従って再配置して、書き込まれたデータを再現することで、基本的には、トラックのどのセクタからでもアクセスを行うことができる。
すると、シーク直後の任意のヘッド位置から読み書きを行うことにより、回転待ちを最小化することができる。この結果、シークの回数を最小限に抑え、アクセス時間が短縮化される。そして特にこの場合も、シーク直後の任意のヘッド位置が、Ｃ２セクタを配置したサーボフレームに相当するようにしていれば、読出しアクセス時に外乱による影響を最小限とすることができる。
特にこのようなアクセス方式の場合、全てのサーボフレームにＣ２を配置することが好ましい。
またこのようなアクセス方式の場合、書込みや読出しの要求元（例えば、ＨＤＤに接続されているコンピュータなどのホスト装置）は、ディスク上のセクタアドレスを意識する必要がない。また、データサイズが短くて済む相対位置アドレスを用いることにより、記憶領域の有効利用を図ることができる。
また、読出しアクセス時には、トラック上の各セクタから読出したデータを、例えばバッファメモリ上で相対位置アドレスに従って再配置することによって、アクセスを開始したセクタの位置に拘わらず、元のデータを組み立てることができるが、この場合、トラック当たりに２以上のエラー訂正ブロックが存在しないように、且つ、１又は複数のトラック単位でエラー訂正ブロックを完結させるようにエラー訂正ブロックを形成することが適切である。
【発明の効果】
【００３０】
本発明によれば、エラー訂正符号による冗長の効率の良くてかつ、安定したデータ再生を行うことができる、優れたデータ記録再生装置及びデータ記録再生方法、並びにプログラム、記録媒体を提供することができる。
即ち、第１のエラー訂正符号単位を用いることによりセクタ内でのランダムエラーを訂正することができるとともに、第２のエラー訂正符号単位を用いることによって、セクタ内エラー訂正範囲を越えるエラーや、セクタ間にまたがるバーストエラーを訂正することができる。これによって、データ転送速度を所望以上に保つためにリトライが行えない状況においても、適切にエラー訂正ができ、より安定したシステムを提供することができる。そしてこのように、より広い範囲でのランダムエラーやバーストエラーに対してもエラー訂正が可能として、リトライ動作を回避することによって、転送速度を低下させることなく、安定したデータ再生を行うことができる。
さらに、エラー訂正ブロック構成において、第２のエラー訂正符号によるセクタ（Ｃ２セクタ）が、少なくともシーク動作により或るトラックに移動した際に最初に読出しを行う先頭のサーボフレーム内のセクタとなるように設定されていることで、シーク直後のアクセスは、Ｃ２セクタを含むものとなる。例えばサーボフレームの先頭をＣ２セクタとすることでＣ２セクタからアクセスが開始される。このため、外乱等によりエラーが頻発し易いセクタとしてＣ２セクタをあてることができ、データセクタへの外乱の影響を最小限とし、安定したデータ再生が可能となる。つまり、万が一設定したＥＣＣ訂正能力を超えてエラーとなった際にも、エラーとなるのはＣ２セクタである確率が高いものとできるため、エラーによるデータ損失を効果的に減少することができる。
【００３１】
また、Ｃ２セクタを分散して、上記先頭のサーボフレームの前後のサーボフレームにもＣ２セクタを配置するようにしたり、或いは全てのサーボフレームにＣ２セクタを配置するようにすれば、想定外時の対策として、シーク位置が前後した場合にも対応して上記効果を得ることができる。
また、先頭のサーボフレーム、或いは他のサーボフレームにＣ２セクタを配置する際には、少なくとも先頭セクタがＣ２セクタとなるようにすることが最も有効である。サーボフレーム内では先頭セクタ最もエラーとなる可能性が高いためである。
また、先頭セクタから連続する複数のセクタがＣ２セクタとなるようにすれば、外乱が大きくエラーセクタが連続するような場合にも有効となる。
【００３２】
さらに本発明によれば、シークされたトラック上でアクセス可能となった先頭のセクタからアクセスを開始して１トラック分の書込みアクセスを行うことによって、１トラックをアクセス単位とすることができ、回転待ちを発生することのないデータ書込みアクセス制御を実現することができる。すなわち、データアクセス時間を短縮することができる。
またそのようなアクセス方式においても、シーク直後のヘッド位置が、Ｃ２セクタに相当するようにしていれば、外乱による影響を最小限とすることができる。即ち読出しアクセス時に安定した読出しが可能となる。特には、この場合、アクセスを開始するサーボフレームは特定できないことになるため、全てのサーボフレームにおいて、例えば先頭セクタがＣ２セクタとなるようにすることが有効である。
【発明を実施するための最良の形態】
【００３３】
以下、図面を参照しながら本発明の実施の形態について次の順序で説明する。
１．ハードディスク装置の構成
２．サーボエリア
３．アクセス動作
４．ＥＣＣ構成
５．ＬＢＡアクセスにおけるＥＣＣブロック設定
６．相対アドレスアクセスにおけるＥＣＣブロック設定
７．読出処理
８．適用例
【００３４】
１．ハードディスク装置の構成
図１には、本発明の一実施形態に係るＨＤＤ（ハードディスク装置）１０の全体構成を模式的に示している。
同図に示すように、ＨＤＤ１０は、ＣＰＵ（Central Processing Unit）１１と、ＲＯＭ（Read Only Memory）／ＲＡＭ（Random Access Memory）１２と、ディスクコントローラ１３と、バッファＲＡＭ１４と、データ読み書き制御部１５と、サーボ制御部１６、そして磁気ディスク２１とを備えている。
【００３５】
磁気ディスク２１は、１枚あるいは複数枚で構成され、さらに記録面は片面あるいは両面（ディスクの表裏）となっている。また記録面上にはヘッドが配置される。図１においては２枚の磁気ディスク２１ａ、２１ｂが配され、また対応して２つの記録再生ヘッド（磁気ヘッド）２２ａ、２２ｂが設けられている状態を示している、。
即ちドライブユニット内には、数枚の磁気ディスク（プラッタ）が同心円状に重なって構成することができ、そのとき各磁気ディスクの同じトラック番号は円筒状に配置され（シリンダ）、トラック番号と同じシリンダ番号で指定される。
なお、図１に示すように、１つの磁気ディスク２１に対して１つの記録再生ヘッド２２が配されるのは、磁気ディスク２１は片面が記録面とされる場合である。
両面が記録面とされる場合、１つの磁気ディスク２１に対して２つの記録再生ヘッド２２が配される。
【００３６】
図１において、ＣＰＵ１１は、ＲＯＭ／ＲＡＭ１２に格納されている制御コードを実行して、ＨＤＤ１０内の動作を統括的にコントロールする。
ディスクコントローラ１３は、インターフェース１７を介して接続されるホスト（図示しない）からコマンドを受け取る。ＣＰＵ１１はこのコマンド処理を行い、ディスクコントローラ１３はコマンド処理結果に従って、データ読み書き制御部１５やサーボ制御部１６に対するハードウェア操作を指示する。
インターフェース１７経由でホストから受け取った書込みデータや、磁気ディスク２１から読み取ってホストに渡されるデータは、バッファＲＡＭ１４に一時的に格納される。
【００３７】
データ読み書き制御部１５は、符号化変調処理を行って実際に記録するデータパターンを作成し、プリアンプ２５を介して磁気ディスク２１にデータを書き込む。また、逆に読み込んだデータをプリアンプ２５を介して磁気ディスク２１から取り込み、データの復調処理を行う。
【００３８】
サーボ制御部１６は、磁気ヘッド２２を搭載したアームを移動するボイスコイルモータ（ＶＣＭ）２３、及び磁気ディスク２１を回転させるスピンドルモータ（ＳＰＭ）２４を同期的駆動させて、磁気ヘッド２２が磁気ディスク２１上の目的とするトラック上の所定範囲内に到達するように制御する。さらに、ディスク上のサーボパターンよりヘッド位置を所定の位置にシークさせるための制御を行う。
【００３９】
磁気ディスク２１上には、データを記録するための区画である多数のトラックが同心円状に形成され、例えばディスク２１の最外周から、内周に向かって０，１，２，…とトラック番号が割り振られている。また、各トラックは、さらにセクタ毎に分割されており、このセクタ単位が、データ読み書き動作の可能な最小単位となっている。
セクタ内のデータ量は例えば５１２バイトで固定である。
実際に記録されているセクタには、データに加えて、ヘッダ情報やエラー訂正用コードなどが付加されている。
【００４０】
１周当たりのセクタ数については、周長が長くなる外側のトラックに向かうほどセクタ数を多く設けるＺＢＲ（Ｚｏｎｅ  Ｂｉｔ  Ｒｅｃｏｒｄｉｎｇ）方式を採用する。すなわち、磁気ディスク２１の全周に渡るトラック毎のセクタ数は均一ではなく、磁気ディスク２１を半径方向に複数のゾーンに区切り、各ゾーン内においては同じセクタ数となるように設定する。
【００４１】
図３には、ＺＢＲ方式の一例を示している。
同図に示す例では、ディスクを３つのゾーンに区切っており、最外周から順にゾーン０，１，２とゾーン番号が与えられている。さらに、各ゾーン内には複数本のトラックが含まれている。
また図３において、各ゾーンをセクタで区切っているが、この場合（あくまで模式的な例として）、ゾーン０は６４セクタで構成され、ゾーン１は３２セクタ、ゾーン２は１６セクタでそれぞれ構成されている。ゾーンの切り替えに当たり、具体的なセクタ数については、スピンドルモータ２４の回転数は一定とし、記録再生クロックを可変にするなどによって、線記録密度を所定の範囲におさめ、ディスク当たりの記憶容量を増加させるように決定される。
【００４２】
図２は、図１のディスクコントローラ１３の内部構成をより詳細に示している。同図に示すように、ディスクコントローラ１３は、ＣＰＵインターフェース３１と、ホストコントローラ３２と、バッファコントローラ３３と、サーボコントローラ３４と、ディスクフォーマッタ３５と、ＥＣＣコントローラ３６とで構成されている。なお、同図において、データの移動が発生する矢印に対しては二重線で示してある。
【００４３】
ＣＰＵインターフェース３１は、ＣＰＵ１１と、ＲＡＭ／ＲＯＭ１２とのインターフェースであり、ホストからのコマンドをＣＰＵ１１に通知したり、ＣＰＵ１１からのコマンド処理結果の受信などを行ったりする。
ホストコントローラ３２は、インターフェース１７を介して接続されるホストとの通信を行う。
バッファコントローラ３３は、バッファＲＡＭ１４と、ディスクコントローラ１３内の各部間でのデータのやりとりを制御する。
サーボコントローラ３４は、ＶＣＭ（ボイスコイルモータ）２３及びＳＰＭ（スピンドルモータ）２４の動作を制御することによって、磁気ディスク２１上のサーボパターンからサーボ情報を読み取り、この情報をサーボ制御部１５へ渡す。
ディスクフォーマッタ３５は、バッファＲＡＭ１４上のデータを磁気ディスク２１に書き込んだり、あるいは磁気ディスク２１からデータを読出したりするための制御を行う。
ＥＣＣコントローラ３６は、バッファＲＡＭ１４に格納されているデータより、書込み時にはＥＣＣ符号を生成して付加したり、あるいは読出し時にはエラー訂正を行ったりする。
このような図２に示すディスクコントローラ１３は、ＣＰＵ１１より、フォーマッタ制御情報およびＥＣＣ制御情報を受け取る。
【００４４】
ところで、本例のアクセス方式としては、いわゆるＬＢＡ（Logical Block Address）に基づいてアクセスを行うものであってもよいし、後述するが、トラック単位で相対アドレスを用いたアクセスを行うものでも良い。
【００４５】
ＬＢＡによるアクセスを行う場合においては、上記フォーマッタ制御情報は、シークされたトラック上でアクセス可能となった後、ＬＢＡで指定されたセクタのアクセスを行うためのフォーマット情報である。この情報は、ＣＰＵインターフェース３１を介してディスクフォーマッタ３５へ送られ、ここでデータフォーマッタが生成される。
また、ＥＣＣ制御情報は、第１のエラー訂正符号Ｃ１および、第２のエラー訂正符号Ｃ２を持つＥＣＣブロック構成の設定を行うための情報であり、また例えばゾーン毎に、セクタ数などに応じてＥＣＣブロック構成を可変する場合に、その構成を指示する情報となる。この情報は、ＣＰＵインターフェース３１を介してＥＣＣコントローラ３６へ送られ、ここでＥＣＣブロック構成が設定され、バッファＲＡＭ１４をアクセスして所定のＥＣＣ処理が行われる。
【００４６】
トラック単位で相対アドレスを用いたアクセスを行う場合においては、上記フォーマッタ制御情報は、シークされたトラック上でアクセス可能となった後の、先頭のセクタからアクセスを開始して、1トラック分のアクセスを行うための、フォーマット情報であり、この情報は、ＣＰＵインターフェース３１を介してディスクフォーマッタ３５へ送られ、ここでデータフォーマッタが生成される。
また、ＥＣＣ制御情報は、トラック単位で完結するＥＣＣブロック構成の設定を行うための情報であり、また例えばゾーン毎に、セクタ数などに応じてＥＣＣブロック構成を可変する場合に、その構成を指示する情報となる。この情報は、ＣＰＵインターフェース３１を介してＥＣＣコントローラ３６へ送られ、ここでＥＣＣブロック構成が設定され、バッファＲＡＭ１４をアクセスして所定のＥＣＣ処理が行われる。
【００４７】
なお、これら制御情報（フォーマッタ制御情報、ＥＣＣ切替制御情報）は、図１のＣＰＵ１１に付随するＲＯＭ／ＲＡＭ内にある場合のほか、例えば、磁気ディスク２１にこれらの情報を記憶させておき、起動時に、磁気ディスク２１より読出しを行い、バッファＲＡＭ１４に格納するようにしてもよく、この場合バッファＲＡＭ１４から制御情報を各部に送るようにすればよい。
【００４８】
本実施の形態に係るＨＤＤ１０は、上述したような構成とされ、この構成において、以下説明するように、回転待ちを発生することのないデータアクセス制御を行い、アクセス時間の短縮やデータ転送速度の早いシステムを実現する。また、広い範囲でのランダムエラーやバーストエラーに対してもエラー訂正可能とすることでリトライ動作を回避して転送速度の低下を少なくし、安定したデータ再生を行う。さらに、アクセスするトラックにおいて、シーク直後のサーボフレーム内に第２のエラー訂正コード（Ｃ２）のセクタが配置されるようにすることで、外乱等による悪影響を低減するものである。
【００４９】
２．サーボエリア
図４には磁気ディスク２１におけるサーボエリアの配置の一例を示している。
図４において半径方向の実線は、サーボエリアＳＲＶを示している（図３に示したようなセクタの区切りではない）。
図４に示す例では、磁気ディスク２１において、半径方向に３２本の実線で示すように、放射状にサーボエリアが配置されている。即ちサーボエリアＳＲＶは、同心円となるゾーン０，１，２に関係なく形成されている。つまりどのゾーンにおいても、１トラックにつき３２個のサーボエリアＳＲＶが形成されている。なお、サーボエリアＳＲＶが１トラックに付き３２個というのは説明上の一例にすぎない。
【００５０】
１セクタが５１２バイトで与えられている場合、セクタ当たりの大きさ（セクタサイズ）は、トラック上の２つのサーボエリアの間の容量と比較して小さいので、トラック上の或るサーボエリアと、次のサーボエリアの間には複数のセクタが配置されることになる。
これらセクタの配置は、主にＺＢＲのゾーン毎に定められている。すなわち、ゾーンが切り替わると、サーボエリアとサーボエリアの間に配置されているセクタ数についても異なっている。
そして、上記ゾーンの切り替えに当たり、具体的なセクタ数については、スピンドルモータ２４の回転数は一定とし、記録再生クロックを可変にするなどによって、線記録密度を所定の範囲におさめ、ディスク当たりの記憶容量を増加させるように決定される。
【００５１】
図４の例では、１トラックあたりのサーボエリア数を３２としたが、例えばサーボエリア数を９６とすれば、同様にして、ディスクに対して放射状に配置され、さらに、所定のサーボエリアと、次のサーボエリアの間には、複数のセクタが配置される。
尚、サーボ帯域については、１トラックあたりのサーボエリア数及びディスクの回転数、サーボ周波数等によって決定され、システムの要求に合わせて設定されている。
【００５２】
図４において「Ａ」として示すトラック部分として、サーボエリアとサーボエリアの間に配置されている、セクタの具体的な例を図５に示す。
図５（ａ）は、サーボエリアＳＲＶとサーボエリアＳＲＶの間に８セクタが配置されている例である。
なお、２つのサーボエリアＳＲＶに挟まれる範囲をサーボフレームとも呼ぶ。従ってこの例は、サーボフレームとして８セクタが設けられる例となる。
また図５（ｂ）は、サーボエリアＳＲＶとサーボエリアＳＲＶの間（サーボフレーム）に８．５セクタが配置されている例である。
【００５３】
図５にあるような各セクタの長さは、スピンドルモータ２４の回転数および記録再生クロック等によって決定されるが、必ずしもサーボエリアＳＲＶとサーボエリアＳＲＶの間に丁度セクタが収まらなくて良いものとしている。
このような場合、図５（ａ）のように、サーボエリア間の内に収まる最大のセクタを配置し、余りの部分は空きとしてセクタに使用しないように構成することが出来るし、あるいは図５（ｂ）のように、余りの部分もセクタの配置に使用し、セクタ分として不足した残りを、次のサーボエリア間で配置するような構成にして効率を上げても良い。
【００５４】
サーボエリアＳＲＶでは、例えばトラックの位置決め制御を行っている。即ち磁気ヘッド２２によるトラックのトレースが、サーボエリアＳＲＶを通過する時に、オン・トラックとなったか、あるいはトラックが外れたかの情報が得られる。
ここで、データ読み取り時において振動等の外乱が加わったことによって、トラック位置がずれたとする。トラックが大きく移動した場合は、全体のサーボ制御は最初から行われることになる。つまりデータ読取が中断され、再度必要なトラックにアクセスしてデータ読取が行われる。
【００５５】
３．アクセス動作
上記のように、アクセス方式としてはＬＢＡに基づくアクセス方式と、トラック単位で相対アドレスを用いたアクセス方式が考えられる。ＬＢＡに基づくアクセス方式とは通常、多くのＨＤＤで採用されているアクセス方式であるため、詳述は避けるが、ここでトラック単位で相対アドレスを用いたアクセス方式について説明しておく。
【００５６】
このアクセス方式の場合、ＨＤＤ（ハードディスク装置）１０においては、磁気ヘッド２２がオン・トラックしたセクタから１トラック分のアクセスを行う。同一トラック上のセクタ番号は固定されておらず、相対位置によって与えることができる。
これにより、１トラック上のどのセクタからでもアクセスを開始することができる。すなわち、１トラックをアクセス単位とすることによって、先読みという不確定要素からなる処理を行う必要をなくして、シーク起動のタイミングを確実に決定することができる。また、１トラックのどのセクタからでもアクセスを行うことによって、回転待ちを行わなくて済む。これによって、シークの回数を最小限に抑え、アクセス時間を短縮させることができる。
【００５７】
所定のトラックに書込みを行う際には、アクセスを開始したセクタから始まる相対位置をセクタに与える。
また、読出しを行う際には、アクセスを開始したセクタから読出しを行い、相対位置セクタ番号に基づいて、バッファＲＡＭ１４上に展開する。このため、どのセクタから読出しを始めても良い。
【００５８】
このような動作を可能とするために磁気ディスク２１のトラックで利用されるセクタフォーマットの例を図６に模式的に示す。
図６（ａ）に示すように、セクタは、トラック上でのセクタの相対位置を表す相対位置データと、データ本体と、セクタ領域全体に対してエラー訂正を行うためのＥＣＣとで構成され、これら全体をエラー訂正範囲及び記録範囲とする。
相対位置データをヘッダとしてエラー訂正範囲に含めることにより、例えばセクタ内でランダムエラーが発生した場合であってもエラー訂正により相対位置データを回復することができるので、円滑なディスクアクセス動作を実現することができる。
また、一般に、セクタはセクタの番地を記録するためのＩＤフィールドを持つが、絶対位置ではなく相対位置を記録するので、ＩＤフィールドのサイズを縮小することができる。その分だけセクタ中でデータ本体に使用可能なフィールドサイズが大きくなり記憶領域の有効活用になる。
【００５９】
トラックに書込みを行うとき、アクセスを開始したセクタから始まる相対位置をセクタに与え、相対位置と本来の記録データによるＥＣＣデータを生成して、それぞれを当該セクタの相対位置フィールド、データ・フィールド、及びＥＣＣフィールドに記録する。アクセスを開始したセクタから書込みを開始するので、回転待ちする必要がない。
【００６０】
また、読出しを行うときには、トラック上でアクセスを開始したセクタから読出しを行い、相対位置フィールドによって得られたセクタ位置に基づいて、バッファＲＡＭ１４上での格納位置を決定する。したがって、任意のセクタからデータの読出しを開始しても、バッファＲＡＭ１４上では相対位置に基づいてデータを再配置することによって、トラック上に格納されているデータが元の順番通りに復元される。また、アクセスを開始したセクタから読出しを開始するので、回転待ちする必要がない。
【００６１】
また、図６（ｂ）には、本実施の形態に係るＨＤＤ１０において、磁気ディスク２１のトラックで利用されるセクタフォーマットの他の例を模式的に示している。
この場合も、上述と同様に、セクタは、トラック上でのセクタの相対位置を表す相対位置データと、データ本体と、セクタ領域全体に対してエラー訂正を行うためのＥＣＣとで構成される。但し、これら全体をエラー訂正範囲とするが、図６（ａ）に示した例と相違し、相対位置フィールドを記録範囲に含まない。したがって、相対位置フィールドがなくなる分だけ、さらに上述した例よりもセクタ中でデータ本体に使用可能なフィールドサイズが大きくなり記憶領域の有効活用になる。
【００６２】
この場合、トラックに書込みを行うときは、アクセスを開始したセクタから始まる相対位置をセクタに与え、相対位置と本来の記録データによるＥＣＣデータを生成して、記録データ及びＥＣＣデータのみを当該セクタ上に記録する。アクセスを開始したセクタから書込みを開始するので、回転待ちする必要がない。
また、読出しを行うときには、アクセスを開始したセクタから読出しを行い、ＥＣＣを用いてエラー訂正を行うことによって、セクタには書き込まれなかった相対位置を再生成する。そして、この相対位置に基づいて、バッファＲＡＭ１４上での格納位置を決定する。したがって、任意のセクタからデータの読出しを開始しても、バッファＲＡＭ１４上ではトラック上に格納されているデータが元の順番通りに復元される。また、アクセスを開始したセクタから読出しを開始するので、回転待ちする必要がない。
【００６３】
上記のようなセクタフォーマットに係るデータ記録再生の際のホストとの通信例を説明する。
本例のＨＤＤ１０は、インターフェース１７経由で接続されたホストからのコマンドによってデータ書込みを行うときの通信例は、次のようになる。
まずホストは、ＨＤＤ１０に対してデータの書込みコマンドを発行する。これに応答して、ＨＤＤ１０は現在のアクセスシーケンスからシーク時間が最小となるアドレス領域を応答する。
ホストは、ＨＤＤ１０からの応答を受けると、指示されたアドレス領域の大きさ（バイト数，セクタ数など）のデータコンテンツを転送する。ＨＤＤ１０は、受信したデータコンテンツをトラック単位で書込み動作を行う。
【００６４】
ここで上述のように、書込み時のトラック上のアクセス先頭位置を基準に各セクタに相対位置情報を割り振ると、書込み要求の際、ホスト側では、シリンダ番号、ヘッド番号、セクタ番号などの具体的な書込み場所を特に意識する必要はなく、またこれらを指示する必要も特にない。
また、ＨＤＤ１０側からホストに通知されるアドレス領域は、例えば、ホストからデータ書込み要求されるコンテンツを識別するコンテンツ番号などの簡素なものでよい。
ＨＤＤ１０側では、各コンテンツ番号とディスク２１上での物理的な記録場所との変換テーブルを用意しておく。
トラック単位でディスクアクセスを行うことから、コンテンツ番号との変換テーブルは、例えば図７に示すようなものとなる。即ち、コンテンツ番号に対応してトラック番号やヘッド番号が登録されていく。
【００６５】
ここで、ＣＨＳ方式のセクタ番号が変換テーブルに含まれていないことに注意されたい。このように、書込み時のトラック上のアクセス先頭セクタを基準に各セクタに相対位置情報を割り振る構成では、読出し時のトラック上のアクセス先頭セクタに関わらず、各セクタの相対位置情報に基づきデータの再配置が可能となる。このため、変換テーブルにおいて、アクセス開始セクタを指定する必要がないものとなる。
この変換テーブルは、バッファＲＡＭ１４内に書き込まれる。変換テーブルの書込みは、ホストから書込みデータを受け取った時点で、ディスクコントローラ１３又はＣＰＵ１１が実行するソフトウェアによって行われる。
【００６６】
また、本例のＨＤＤ１０がインターフェース１７経由で接続されたホストからのコマンドによってデータ読出しを行うときの通信例は次のようになる。
ホストは、ＨＤＤ１０に対してデータの読出しコマンドを発行する。読出しコマンドでは、目的とするコンテンツ番号が指定されている。
これに対し、ＨＤＤ１０は、コンテンツ番号に基づいて上記図７の変換テーブルから目的とするトラックを特定して、磁気ヘッド２２のシーク動作を行う。そして、データ書込み時に応答したアドレス領域のシーケンスに従い、ディスク２１上のデータを転送する。
このデータ読出し要求の際、ホスト側は、所望のコンテンツ番号を指定するだけで、シリンダ番号、ヘッド番号、セクタ番号などの具体的な書込み場所（ＰＢＡ）を意識する必要はない。
【００６７】
上述したように、ＨＤＤ１０では、磁気ヘッド２２がオン・トラックしたセクタから１トラック分のアクセスを行う。１トラックをアクセス単位とすることで、先読みという不確定な処理を省いて、シーク起動のタイミングを確実に決定することができる。また、トラックのどのセクタからでもアクセスを行うことができるので、シーク直後の任意のヘッド位置から読み書きを行うことにより、回転待ちをなくすことができる。この結果、シークの回数を最小限に抑え、アクセス時間が短縮化される。
【００６８】
このようなディスクアクセスオペレーションは、ディスクコントローラ１３が、ＣＰＵ１１によるコマンド処理結果に応じて、データ読み書き制御部１５やサーボ制御部１６に対するハードウェア操作を指示することによって実現される。
【００６９】
４．ＥＣＣ構成
上述してきたようにＨＤＤ１０が１トラックを単位としてアクセスを行う場合、磁気ディスク２１上には１トラックを基本単位としたＥＣＣブロックが形成されることが適切となる。
なお、ＬＢＡに基づくアクセス方式が採用される場合は、必ずしも１トラックを基本単位としたＥＣＣブロックが形成される必要はないが、もちろん１トラックを基本単位としてもよい。
ここでは、１トラックを基本としたＥＣＣブロックの例を説明する。
【００７０】
図８は、１トラックを基本単位としたＥＣＣ構成例を示している。
図８（ａ）の例では、磁気ディスク２１は、ゾーン分割されており、ゾーンｎにおけるＥＣＣブロック構成の例が示されている。すなわち、ゾーンｎ内の、破線で示す所定のトラックＴＫのように、各トラックの１周分がＥＣＣブロックの構成単位となるようにする。
ＥＣＣブロックの内部には、セクタ内の訂正を行うＣ１と、セクタ間の訂正を行うＣ２が含まれている。
そしてＣ１＋Ｃ２からなるエラー訂正単位（ＥＣＣブロック構成単位）は１トラックを基本単位としており、各トラック内においては、ＥＣＣブロック構成単位が２つ以上存在することはない。
【００７１】
また図８（ｂ）はＥＣＣブロックの他の例である。この場合も磁気ディスク２１は、ゾーン分割されており、ゾーンｍにおいて、ＥＣＣブロックの例が示されている。この例は、ゾーンｍ内の３トラック分でＥＣＣブロックの構成単位となるようにするものである。なお、この例は１トラックの整数倍を構成単位とするものであり、もちろんトラック３周分に限られるものではない。
このような例の場合も、ＥＣＣブロックの内部には、セクタ内の訂正を行うＣ１と、セクタ間の訂正を行うＣ２が含まれている。またＣ１＋Ｃ２からなるエラー訂正単位（ＥＣＣブロック構成単位）は１トラックを基本単位としており、各トラック内においては、ＥＣＣブロック構成単位が２つ以上存在することはない。
【００７２】
図９には、図８に示したＥＣＣブロック構成を採用した磁気ディスク２１のＥＣＣブロック構造の例を示している。
ここではＥＣＣ訂正符号として、シンボル長８のリードソロモン符号を用いているものとする。
ある磁気ディスクのあるゾーンにおけるトラック１周分の有効なセクタ数を、７６８セクタとする。１セクタは例えば、５１２バイトのデータに４バイトのＣＲＣ（クロスチェックコード）、並びに合計で４８バイトのＣ１を付加し、４インターリーブで構成してある。
【００７３】
図９のＥＣＣブロック構成の例では、セクタ０〜７０３までの７０４セクタをデータ領域として与え、セクタ７０４〜７６７までの６４セクタをＣ２領域として与えている。Ｃ２については、例えば１６セクタずつの４インターリーブで構成する。
このような構成としたとき、１つのＥＣＣブロックは合計７６８セクタとなって、このゾーン内において１周分となり、トラック単位を実現させることが出来る。
【００７４】
この例におけるエラー訂正能力について考察する。
ランダムエラーに対してはＣ１を利用することによって、セクタ当たり最大２４バイトまで(バイトの消失情報が得られる場合は最大４８バイトまで)の訂正が可能である。
さらに、バーストエラーに対しては、Ｃ２を利用することによって、トラック当たり最大３２セクタまで（ＣＲＣの結果を利用することで最大６４セクタまで）の長さのエラー訂正が可能となる。
尚、実際の最大エラー訂正数の設定は、誤訂正をする可能性等を考慮して決定される。例えば、最大３２セクタまでであるが、２４セクタまでを訂正可能とし、訂正したものについては、誤訂正が限りなく発生しないように設定する。
【００７５】
この他、トラック単位ではない、所定のセクタ数をＥＣＣブロックとした場合でも同様にして説明ができる。
その場合、例えばＥＣＣブロックが１９２（＝１７６セクタのデータ＋１６セクタのＣ２）セクタといった、小さいＥＣＣブロック単位とすることもできる。
【００７６】
ここで、上記のようなエラー訂正ブロックを採用する事情について述べておく。
従来のＨＤＤのシステムの多くにおいては、エラー訂正が、５１２バイトデータと情報ビットからなる１セクタ単位においてのみ行われている。
したがって、各セクタ内に発生するランダムエラーに対してはエラー訂正を行うことができるが、訂正可能範囲を越えたランダムエラーや、あるいはバーストエラーすなわちセクタを越えて長く連続したエラーに対しては、エラー訂正を行うことが出来なかった。
【００７７】
このような場合、例えばリトライ動作を実施するなどによって、読み取りエラーを一定以下にし、エラー訂正を行うことができる。ところが、リトライ動作は基本的に、１回当たり１周分の余分なアクセス時間の増加に相当する。
ここで、上述のようなトラック単位アクセスによってアクセス時間の短縮がなされたにもかかわらず、リトライ動作が発生すると、結局アクセス時間は増加し、データ読出し時間の遅れを発生させる結果となる。
例えばＨＤ（ハイビジョン画質）の再生や特殊再生時といったＡＶコンテンツを扱う場合において、高転送速度が要求されるとき、訂正不能な読み取りエラーが発生しても時間的にリトライ動作を行う余裕のないときがある。このような場合、現状では、読み取りエラー訂正が行われないまま処理を進めている。この結果、再生品質は悪くなってしまう。
【００７８】
そこで、ＥＣＣ構成を上記のようにして、安定したデータ再生を実現し、リトライの発生する事態を引き起こすようなエラー訂正の出来ない場合を減少させるようにするものである。
つまり、従来の１セクタ単位のエラー訂正であるＣ１訂正に加えて、セクタ間の訂正を行うことが可能なＣ２訂正を付加する。そして、Ｃ１＋Ｃ２からなる、エラー訂正単位（ＥＣＣブロック）を例えばトラックで完結するような構成をとる。
【００７９】
トラックの１周でＣ１＋Ｃ２からなるＥＣＣブロック単位を完結させた場合、１トラックをアクセス単位とすることができ、回転待ちを発生することのないデータアクセス制御を実現することができる。すなわち、所望のデータ記憶場所へのアクセス時間を短縮することができる。また、同一トラック上で２以上のＥＣＣブロックを持つことがないようにすれば、ＥＣＣ構成を複数トラック単位とした場合であっても、同様に、回転待ちを発生することのないデータアクセス制御を実現することができる。
【００８０】
ところで、上記図９に示すシンボル長８のリード・ソロモン符号では５１２バイトのデータに対してインターリーブを適用することができる。
図１０、図１１には、本例のＥＣＣブロック構成において、インターリーブを適用した例を示している。
図１０及び図１１では、セクタｎ に対してインターリーブを適用したものであり、１セクタが４バイトのヘッダと５１２バイトのデータ、そして４バイトのＣＲＣより、これらの合計を４分割し、各分割単位毎に１２バイトのＥＣＣ符号Ｃ１を付加している。
例えば、インターリーブ０は１バイトのヘッダと１２８バイトのデータと１バイトのＣＲＣに１２バイトのパリティが付加されて構成される。インターリーブ２，３，４も同様である。
【００８１】
そして、セクタ内の配置を、０番目にはインターリーブ０、１番目にはインターリーブ１、２番目にはインターリーブ２、３番目にはインターリーブ３、４番目には再び戻ってインターリーブ０、・・・のように順に並べる。
４バイトのヘッダ、５１２バイトのデータ、その後には４バイトのＣＲＣを付加し、続いて作成したＣ１コードを同様にして順に並べる。
図１０にはインターリーブで分解したものを示しており、また、図１１にはメモリ上にアドレス０から５６７まで割り振ったときの配置を示している。
【００８２】
この図１０及び図１１は、前述の図９と同じセクタ単位となる。すなわち、４バイトのヘッダ、５１２バイトのデータに、４バイトのＣＲＣと、合計４８バイトのＥＣＣ符号Ｃ１が付加されて１セクタとなり、磁気ディスク２１上への記録セクタの主要部として構成される。
なお、実際の記録データの構成は、プリアンブル、同期信号、ポストアンブルなどがさらに付加されている。また、セクタ単位の他の構成例としては、ヘッダファイルを持たない形式や、あるいはＣＲＣを持たない形式などがある。
【００８３】
このようなインターリーブの構成は、主にハードウェア構成によって決定すればよく、シンボル長８のリードソロモン符号では、Ｃ１方向（すなわちセクタ方向）においてインターリーブ構成を例えば図１０に示すように適用する。
【００８４】
なお、上述したインターリーブは、セクタ間でＥＣＣを実行したＣ２に対して適用してもよい。この場合においても、図１０において、ＤＡＴＡ部のＢｙｔｅをセクタと置き換えてＣ２方向（すなわちセクタに直交する方向）に展開させることで、同様な構成及び作用を実現することができる。
【００８５】
また、この例においては、１セクタを５１２バイトのデータとしたが、セクタサイズはこの限りではなく、例えば１０２４バイト、あるいは２０４８バイトを１セクタのデータとした場合においても、上記と同様にしてセクタ毎及びセクタ間に構成されたＥＣＣブロックを実現することができる。
【００８６】
ところで、ＥＣＣブロックをトラック単位で完結させるとき、磁気ディスク２１のゾーンが切り替わった際には、トラックあたりのセクタ数が異なるので、同一のＥＣＣパリティ数の構成では、エラー訂正能力がゾーン毎で大きく異なったものとなる可能性がある。
この場合、ゾーン毎でＥＣＣブロック構成を可変とすることによって、エラー訂正符号の冗長度を一定範囲内におさめることができ、その結果、エラー訂正能力をディスクの全周に渡って同様な強さとすることができる。
例えば図３の例では、１トラックあたりのセクタ数は、ゾーン０では６４セクタ、ゾーン１では３２セクタ、ゾーン２では１６セクタとなっている。各ゾーンに対しては、回転数を同一とするが、動作クロックを変更し、各ゾーンにおける線記録密度は一定範囲にあるものとする。
【００８７】
このとき、ＥＣＣは、各セクタ毎においてはＣ１が付加されている。Ｃ１の構成は固定で同一であるものとする。具体的には、例えば図９のような構成とする。
そして、Ｃ２の構成については、ゾーン０では６４セクタのうちの８セクタをＣ２パリティとして与え、ゾーン１では３２セクタのうちの４セクタを、ゾーン２では１６セクタのうちの２セクタをそれぞれＣ２パリティとして与える。
このように構成にしたとき、各ゾーンの１周分のデータセクタ数に対するＣ２パリティのセクタ数の割合が一定になり、Ｃ２訂正能力についても各ゾーンで同一とすることができる。
なお、実際のフォーマットにおいては、ゾーンとセクタ数の関係にあるような、ちょうど割り切れる値となる場合は少ないので、ＥＣＣ部分の冗長度が一定範囲となるような設定をすればよい。
【００８８】
このように、ＥＣＣブロックをトラック単位に完結させ、Ｃ１＋Ｃ２構成とし、さらにインターリーブ構成とすることに加えて、ゾーン毎でＥＣＣ構成を可変としてＥＣＣ部分の冗長度を所定範囲内に制御することによって、ディスクの全周に渡って、より広い範囲でのランダムエラーやバーストエラーに対してもエラー訂正が可能なようになり、安定したデータ再生が実現する。
なお、この例では、ＥＣＣ構成のうちＣ１部分を固定とし、Ｃ２部分を可変とすることでＥＣＣ部分の冗長度すなわちエラー訂正能力を所定範囲内に制御した。しかしながら、例えばＣ１部分をゾーン毎に可変としてＣ２部分を固定させてエラー訂正能力を所定範囲内に制御するようにしてもよく、あるいはＣ１とＣ２を総合的に制御してエラー訂正能力を所定範囲内に制御するようにしてもよい。
【００８９】
５．ＬＢＡアクセスにおけるＥＣＣブロック設定
ＥＣＣブロック構造は、基本的には以上の通りであるが、本実施の形態ではさらに、トラック上のセクタ配置として、トラックに対してシークした直後にアクセスを開始する先頭のサーボフレーム内にＣ２セクタが配置されるように、ＥＣＣブロック構成が設定される。
このようなＥＣＣブロック構成について、ＬＢＡアクセス方式が採用される場合と、上記したトラック単位の相対アドレスによるアクセス方式が採用される場合とについて、それぞれ述べる。
【００９０】
まず図１２、図１３、図１４で、ＬＢＡアクセス方式の場合の例を説明する。
図１２は、本例におけるセクタ配置の詳細を示したものである。なお、この場合、アクセス単位がトラック単位と限定されておらず、各セクタにＬＢＡが割り振られている。
図１２では、図３のようにゾーン０，１，２を有するディスク２１において中周のゾーン１において、２トラック分でのセクタ配置を模式的に示している。上述したようにゾーン１における各トラックは３２セクタの例としている。
なお図において、放射状の線として、太線と細線を区別しているが、細線はセクタの境界を示す。一方、太線は、サーボフレームの境界であり、かつセクタの境界でもある線としている。例えば各トラックにおいて太線の位置にサーボエリアＳＲＶ（図５参照）が形成されており、この太線と太線の間が、１つのサーボフレームとなる。
図１２の場合、ゾーン０，１，２とも、１トラックが８サーボフレームに分かれていることになる。またゾーン１では１トラック＝３２セクタであるため、ゾーン１では１サーボフレームに４セクタが含まれるものとしている。
【００９１】
図示するように、ゾーン１に含まれる或る２トラック（ＴＫ１，ＴＫ２）には、ＬＢＡとしての番号として例えば「１」から「６４」まで順に割り振られている。なお、この「１」〜「６４」は説明上の数値であり、これらは実際にはＬＢＡとしての値となる。ＬＢＡはディスク上のトラック全周にわたって例えば外周側から内周側に向けて各セクタに連続的に付される値である。
ゾーン１の或るトラックＴＫ１では、各セクタにＬＢＡ番号「１」〜「３２」が割り振られている。次のトラックＴＫ２では、各セクタにＬＢＡ番号「３３」〜「６４」が割り振られるが、この場合、トラックＴＫ１の先頭セクタ「１」と、トラックＴＫ２の先頭セクタ「３３」は、回転数およびサーボエリア等の情報によって定められるトラック・スキュー分だけずれた位置とされている。
トラック・スキュー分は例えば、ディスク上で放射状に配置されている複数本のサーボエリアによるサーボフレーム単位で与えられている。
つまり或るトラックから次トラックへのシークとして、矢印ＴＪとして示すようにトラックジャンプする際の所要時間とディスク回転による１サーボフレーム分のトラック・スキューが考慮されて先頭セクタの位置がずれるように設定されるものである。
そして、トラックＴＫ１のアクセスは、セクタ「１」〜「３２」まで行われ、続いてトラックＴＫ２に移動するが、上記のようにトラック・スキュー分だけずれて先頭セクタが配置されることで、シーク後の待ち時間を少なくしてセクタ「３３」からアクセスすることができる。
【００９２】
ＬＢＡに従った読出し時のアクセスは、図１２のトラックＴＫ１のＬＢＡ「１」から「３２」、そしてトラックＴＫ２へのシーク後にＬＢＡ「３３」から「６４」へとたどっていく。
そしてここでは、１トラックをＥＣＣブロック構成とし、ゾーン１の１周３２セクタのうち、データセクタを２６セクタ、Ｃ２セクタを６セクタで構成している。
このとき、図１２において、トラックＴＫ１ではＬＢＡ「１」「５」「９」「１３」「１７」「２１」をＣ２セクタとして配置し、さらに次のトラックＴＫ２では、ＬＢＡ「３３」「３７」「４１」「４５」「４９」「５３」をＣ２セクタとして配置する。
即ち、少なくともシーク後の先頭のサーボフレームにおける先頭のセクタ（トラックＴＫ１におけるＬＢＡ「１」或いはトラックＴＫ２におけるＬＢＡ「３３」）を含み、後続の５つの各サーボフレームでも先頭セクタにＣ２セクタが配置される。
【００９３】
図１３は他の配置例を示している。
ＬＢＡに従った読出し時のアクセスは、図１２と同様にトラックＴＫ１のＬＢＡ「１」から「３２」、そしてトラックＴＫ２へのシーク後にＬＢＡ「３３」から「６４」へとたどっていく。また同様に１トラックをＥＣＣブロック構成とし、ゾーン１の１周３２セクタのうち、データセクタを２６セクタ、Ｃ２セクタを６セクタで構成している。
この図１３においては、トラックＴＫ１ではＬＢＡ「１」「２」「５」「６」「２９」「３０」をＣ２セクタとして配置し、さらに次のトラックＴＫ２では、ＬＢＡ「３３」「３４」「３７」「３８」「６１」「６２」をＣ２セクタとして配置する。
即ち、少なくともシーク後の先頭のサーボフレームにおける先頭のセクタ（トラックＴＫ１におけるＬＢＡ「１」或いはトラックＴＫ２におけるＬＢＡ「３３」）を含み、前後に隣接する各サーボフレームでも先頭セクタにＣ２セクタが配置される。また、それらの各サーボフレームにおいても先頭セクタと次のセクタがＣ２セクタとされている。
【００９４】
図１４はさらに他の配置例を示している。
ＬＢＡに従った読出し時のアクセスは、図１２と同様にトラックＴＫ１のＬＢＡ「１」から「３２」、そしてトラックＴＫ２へのシーク後にＬＢＡ「３３」から「６４」へとたどっていく。また同様に１トラックをＥＣＣブロック構成とし、ゾーン１の１周３２セクタのうち、データセクタを２６セクタ、Ｃ２セクタを６セクタで構成している。
この図１４においては、トラックＴＫ１ではＬＢＡ「１」「４」「５」「８」「２９」「３２」をＣ２セクタとして配置し、さらに次のトラックＴＫ２では、ＬＢＡ「３３」「３６」「３７」「４０」「６１」「６４」をＣ２セクタとして配置する。
即ち、少なくともシーク後の先頭のサーボフレームにおける先頭のセクタ（トラックＴＫ１におけるＬＢＡ「１」或いはトラックＴＫ２におけるＬＢＡ「３３」）を含み、前後に隣接する各サーボフレームでも先頭セクタにＣ２セクタが配置される。また、これらの各サーボフレームにおいては終端セクタもＣ２セクタとされている。
【００９５】
これら３つの配置例を示したが、これらは全て、図９で示したようなＥＣＣブロック構成において、Ｃ２セクタを、ＥＣＣブロック内で分散して所定位置に配置し、記録再生することに相当している。この様子を図１５、図１６、図１７に示す。
図１５、図１６、図１７は、それぞれ図１２，図１３，図１４のゾーン１のトラックに対応して示しており、例えばトラック１周分でのＥＣＣブロックを構成するセクタを示している。１トラックについての８個のサーボフレームをＳＦ１〜ＳＦ８として示している。
また、これらでは先頭セクタからのＬＢＡ番号が「3FC」から始まる例とした。
【００９６】
図１５は、図１２の場合のセクタ配置であり、先頭のサーボフレームを含む所要のサーボフレーム（ＳＦ１〜ＳＦ６）において、それぞれ先頭セクタをＣ２セクタとする場合の例である。この場合、セクタ「3FC」「400」「404」「408」「40C」「410」がＣ２セクタとされる。
この図１５のようにＣ２セクタが配置されたＥＣＣブロックが形成され、或るトラックにデータ書込みが行われることで、例えば図１２のように先頭のサーボフレームを含む所定数のサーボフレームの先頭がＣ２セクタとされる。
図１２のトラックＴＫ１のＬＢＡ「１」が実際には「3FC」であるとすると、この図１５のようにＣ２セクタが配置されたＥＣＣブロックが形成され、トラックＴＫ１にデータ書込みが行われることで、図１２のように「１」「５」「９」「１３」「１７」「２１」がＣ２セクタとなる。
また次のトラックＴＫ２においても、図１５のようにＣ２セクタが配置されたＥＣＣブロックが形成され、データ書込みが行われることで、図１２のように「３３」「３７」「４１」「４５」「４９」「５３」「３３」がＣ２セクタとなる。
即ち、このようなＥＣＣブロック設定されたデータを、ＬＢＡに従ってデータ書込みを行うことで、データ読出しの際、各トラックにおいて、オン・トラック直後に読出しを開始する先頭のサーボフレームの先頭セクタに、ＥＣＣブロックのＣ２セクタを与えることができる。
【００９７】
図１６は、図１３の場合のセクタ配置であり、先頭のサーボフレームと、その前後に隣接するサーボフレーム（ＳＦ１、ＳＦ２、ＳＦ８）において、それぞれ先頭セクタと次のセクタをＣ２セクタとする場合の例である。この場合、セクタ「3FC」「3FD」「400」「401」「418」「419」がＣ２セクタとされる。
この図１６のようにＣ２セクタが配置されたＥＣＣブロックが形成され、或るトラックにＬＢＡに従ってデータ書込みが行われることで、例えば図１３のように先頭のサーボフレームとその前後のサーボフレームの先頭２セクタがＣ２セクタとされる。
【００９８】
図１７は、図１４の場合のセクタ配置であり、先頭のサーボフレームと、その前後に隣接するサーボフレーム（ＳＦ１、ＳＦ２、ＳＦ８）において、それぞれ先頭セクタと終端セクタをＣ２セクタとする場合の例である。この場合、セクタ「3FC」「3FF」「400」「403」「418」「41B」がＣ２セクタとされる。
この図１７のようにＣ２セクタが配置されたＥＣＣブロックが形成され、或るトラックにＬＢＡに従ってデータ書込みが行われることで、例えば図１４のように先頭のサーボフレームとその前後のサーボフレームの先頭セクタと終端セクタがＣ２セクタとされる。
【００９９】
なお、以上の３つの例は説明上の例として、１トラックが３２セクタで、その内６セクタがＣ２セクタとなり、１サーボフレームに４セクタが含まれる例で説明したが、Ｃ２セクタをＥＣＣブロック内で分散して所定位置に配置する、より一般的なセクタ配置例を図１８に示す。
図１８ではＬＢＡ番号を3FCから始まる例として、トラック１周分（或いはｎ周分）でのＥＣＣブロックを構成するセクタを示している。
例えば１０セクタがサーボフレーム内に含むことが出来るならば、図１８のように１セクタのＣ２セクタの後に、９セクタのデータセクタが配置される。即ち例えば図１２（図１５）の例のように先頭のサーボフレームＳＦ１を含む所要数のサーボフレームの先頭セクタがＣ２セクタとなるようにした場合のセクタ配置例である。
【０１００】
以上の各例のようにＣ２セクタを配置する理由は次の通りである。
シークを伴う読出しにおいて、高速で連続読出しを行う場合、所定の転送速度を保つために、読出しエラーが発生しても、リトライ処理によるリカバーを行うことが困難な場合がある。又、読出しエラーの発生は、振動等の外乱が加わった場合には、より顕著となる。そして上記エラーの発生は、シークし、オントラック直後に読出しを開始する付近において多く発生する。この原因として例えば、トラックの位置決めが十分安定していない等が考えられる。
ここで、シーク直後の読出しが極めて不安定な場合、あるいは外乱が加わった状況下でのシーク直後の読出しによって、多くのエラーが発生して想定以上のセクタエラーとなり、設定されたＥＣＣブロックのＣ２訂正能力を超えた場合を考える。
エラー訂正が出来ないときは、データはエラー訂正等の処理を行わずに、読み出されたデータをそのまま出力する。一方、多くエラーが発生しているセクタ部位は、読出し開始直後付近のセクタである。
このような状況下において、本例のように、読出し開始直後付近、つまり先頭のサーボフレーム内のセクタとして冗長セクタであるＣ２セクタを配置するようにしておけば、訂正不能エラーとなった際でも、エラーによるデータ損失を少なくすることができる。
【０１０１】
例えば、シーク動作により或るトラックに移動した際に、そのトラックの最初の読出しを行うサーボフレームの先頭セクタがＣ２セクタとなるようにエラー訂正ブロックを生成して書込みを行うことによって、読出しアクセス時において、読出し開始直後のセクタは、冗長部分であるＣ２セクタとすることができる。
より具体的には、少なくともエラー訂正ブロックにおける先頭に、Ｃ２セクタが配置されるようなエラー訂正ブロックを形成することで、読出しアクセス時には、オントラック直後にＣ２セクタから読出しアクセスが開始される。
このとき、外乱等によってエラーが発生しているとすると、エラーとなっているセクタはＣ２セクタ部分に多く発生していると考えることができる。
結局、リカバーされないで出力された、エラーを含んだセクタに対して、より影響の少ないデータ出力をすることが可能となる。なぜならばエラーセクタが、冗長セクタに発生している可能性が高いためである。従って、より安定したデータ再生が実現する。
【０１０２】
以上のことから理解されるように、上記各例のように少なくとも読出を行う先頭のサーボフレームＳＦ１の先頭セクタをＣ２セクタとすることが最も有効となる。
もちろん与えられたＣ２セクタに対して、サーボフレーム直後の先頭セクタを含む１あるいは複数セクタの割当ては、システムによって決定して良い。
例えば、振動等の外乱が大きいときには、想定されている所定のスキューに対して、さらに大きなシーク時間を要し、オントラック直後に読み出しを開始する位置が大きくずれてしまうことがある。このような外乱によるシーク時間のズレを考慮するなら、上記各例のように、先頭のサーボフレーム以外のサーボフレーム、例えば先頭のサーボフレームに続く所要数のサーボフレームや、先頭のサーボフレームの前後のサーボフレームなどにＣ２セクタを分散配置することが好適となる。
また、外乱時のシーク直後の乱れがしばらく発生することを考慮するなら、例えば図１３の様に、サーボフレーム内で先頭セクタから連続する所要数のセクタをＣ２セクタとすることが有効である。
また、サーボフレーム内の終端セクタもエラーが発生し易いことを考慮すれば、図１４の例のように、サーボフレーム内で先頭セクタと終端セクタをＣ２セクタとすることが有効である。
【０１０３】
なお図１２〜図１４では、ＥＣＣブロック構成をトラック１周単位とした例を示したが、それに限定されるものではない。すなわち、ＥＣＣブロック構成についてトラック単位以外のセクタ数とする場合であっても、同様に、シークにより或るトラックに移動した際に、そのトラックの最初の読出しセクタがＣ２セクタとなるような構成にすることで、より安定したデータ再生が実現する。
【０１０４】
ところで、ＥＣＣブロックにおけるＣ２セクタ数は、ＥＣＣブロックのセクタ数に応じて所定の冗長度を得るために設定され、上記図１２〜図１４の例では３２セクタのうち６セクタをＣ２セクタとしたが、もちろんこれは一例にすぎない。サーボエリア数も一例である。
実際には、各ゾーンにおいて１トラック、又は複数トラックで完結するＥＣＣブロックのセクタ数において所定の冗長度をもつようにＣ２セクタ数が設定される。そしてそのＣ２セクタ数がどのように配置されるかは、サーボフレーム数にもよるものとなる。
例えば１トラックで１ＥＣＣブロックが完結し、１トラックに付き１０００セクタ程度のセクタ数に分割され、さらにサーボエリアが１トラックに９６個というような場合、トラック上の９６個の全てのサーボフレームにおいて少なくとも先頭セクタをＣ２セクタとするような配置も可能である。
もちろんそのような冗長度やサーボフレーム数の場合でも、先頭サーボフレームを含んでその周辺のサーボフレームにおいて、Ｃ２セクタを分散配置しても良い。少なくとも、オントラック後に読出を開始する先頭のサーボフレームを含む、その周辺のサーボフレームや、各サーボフレーム内においては先頭セクタ、先頭セクタに続くセクタ、終端セクタなど、エラーの発生しやすい箇所にＣ２セクタを配置することが好適なことは前述のとおりである。
【０１０５】
６．相対アドレスアクセスにおけるＥＣＣブロック設定
次に、上述したトラック単位の相対アドレスによるアクセス方式が採用される場合について、図１９、図２０、図２１で説明する。
図１９にセクタ配置の詳細を示した。なお、この場合、アクセス単位はトラック単位となり、上述したように、各セクタには相対アドレスが割り振られる。
図１９は、上記図１２の場合と同様に、ゾーン１において、２トラック分でのセクタ配置を模式的に示している。ゾーン１における各トラックは３２セクタとしている。また１トラックに付き８個のサーボフレームが形成されるとし、ゾーン１では１サーボフレームに４セクタが含まれる例としている。
そしてここでは、1トラックをＥＣＣブロック構成とし、ゾーン１の１周３２セクタのうち、データセクタを２４セクタ、Ｃ２セクタを８セクタで構成している。
図示するように、ゾーン１に含まれる或る２トラック（ＴＫ１，ＴＫ２）には、それぞれ相対アドレス「１」から「３２」が割り振られている。この相対アドレス「１」から「３２」は、各トラックに対する書込みアクセス時に、順に割り振られるものであり、トラック上での物理的な各セクタ位置に対して固定的なものではない。
例えばトラックＴＫ１の相対アドレス「１」のセクタとは、トラックＴＫにシークして最初に書込みアクセスが可能となったセクタとなる。
【０１０６】
また、トラックＴＫ１，ＴＫ２について連続的に書込みを行うとすると、ゾーン１のトラックＴＫ１では、各セクタに相対アドレス「１」〜「３２」が割り振られ、また、次のトラックＴＫ２でも、各セクタに相対アドレス「１」〜「３２」が割り振られるが、この場合、トラックＴＫ１の先頭セクタ「１」と、トラックＴＫ２の先頭セクタ「１」の位置のずれは、トラックＴＫ１からＴＫ２へのシーク動作（トラックジャンプＴＪ）を行った直後からアクセスが開始されるまでのずれである。これは、上述した、回転数およびサーボエリア等の情報によって定められるトラック・スキュー分に必ずしも一致するものではない。
【０１０７】
相対アドレスに従った書込み時のアクセスは、図１９のトラックＴＫ１の相対アドレス「１」から「３２」、そしてトラックＴＫ２へのシーク後に、トラックＴＫ２の相対アドレス「１」から「３２」へとたどっていく。
このとき、図１９において、トラックＴＫ１では相対アドレス「１」「５」「９」「１３」「１７」「２１」「２５」「２９」をＣ２セクタとして配置し、さらに次のトラックＴＫ２でも同様に、相対アドレス「１」「５」「９」「１３」「１７」「２１」「２５」「２９」をＣ２セクタとして配置する。
【０１０８】
これは、図９で示すようなＥＣＣブロック構成において、Ｃ２セクタを、ＥＣＣブロックの先頭セクタを含んで所定位置に分散して配置し、記録再生することに相当している。この様子を図２０に示す。
図２０は例えばトラック１周分でのＥＣＣブロックを構成するセクタを示している。なお、図１９のようにサーボフレームに４セクタが含まれる例とはしておらず、図２０ではサーボフレームに１０セクタが含まれる例で示している。
【０１０９】
図示するように相対アドレスが「１」「１１」「２１」・・・となる、各サーボフレームＳＦ１，ＳＦ２・・・の先頭セクタがＣ２セクタとして配置されるようにＥＣＣブロックが形成される。このようなＥＣＣブロック構成が行われて、トラックＴＫ１、ＴＫ２に順次データ書込みが行われると、各トラックのサーボフレームの先頭セクタがＣ２セクタとなる。
すなわち、全サーボフレームにおいて少なくとも先頭セクタがＣ２セクタとされるようにエラー訂正ブロックを生成して書込みを行うことによって、読出しアクセス時において、読出し開始直後のセクタは、冗長部分であるＣ２セクタとすることができる。
つまりは、サーボフレームにおけるセクタ数ｎに応じて、１個のＣ２セクタと、（n-1）個のデータセクタを配置していくことで、各サーボフレームの先頭セクタが必ずＣ２セクタとなる。
【０１１０】
上述したように相対アドレスアクセス方式では、シークによってオントラックした位置がどこであろうと、その位置から書込又は読出アクセスを行うことで、回転待ちを解消できるという利点がある。
換言すれば、シーク直後の先頭のサーボフレームはＬＢＡアクセスの場合のように固定的ではない。つまりトラック上のどのサーボフレームもが、シーク直後に読出アクセスを開始する「先頭のサーボフレーム」となり得るものである。
この場合、全てのサーボフレームが「先頭のサーボフレーム」になり得ることを考えると、図１９のように、全てのサーボフレームにおいて、先頭セクタをＣ２セクタとすることが好適であることが理解される。
即ち、これによって読出しアクセス時には、オントラック直後にＣ２セクタから読出しアクセスを開始させることができ、そのため、リカバーされないで出力された、エラーを含んだセクタに対して、より影響の少ないデータ出力をすることが可能となる。
つまり、より安定したデータ再生が実現することは、上記ＬＢＡアクセスの場合で説明した理由と同様である。
また相対アドレスアクセス方式の説明で述べたとおり、回転待ちが解消されることも転送レート上、有利となる。
【０１１１】
なお、図１９のように１トラックを３２セクタとし、そのうち８セクタをＣ２セクタとするのは説明上の一例である。
実際には、各ゾーンにおいて１トラック、又は複数トラックで完結するＥＣＣブロックのセクタ数において所定の冗長度をもつようにＣ２セクタ数が設定される。そしてそのＣ２セクタ数がどのように配置されるかは、サーボフレーム数にもよるものとなる。
例えば１トラックで１ＥＣＣブロックが完結し、１トラックに付き１０００セクタ程度のセクタ数に分割され、さらにサーボエリアが１トラックに９６個というような場合、トラック上の９６個の全てのサーボフレームにおいて少なくとも先頭セクタをＣ２セクタとするような配置が可能である。
【０１１２】
また一部又は全部のサーボフレームにおいて、先頭セクタと後続のセクタをＣ２セクタとしたり、或いは先頭セクタと終端セクタをＣ２セクタとする例も当然に考えられる。
例えば、振動等の外乱が大きいときのシーク時間のズレを考慮するなら、サーボフレーム内で先頭セクタから連続する所要数のセクタをＣ２セクタとすることが有効である。
また、サーボフレーム内の終端セクタもエラーが発生し易いことを考慮すれば、サーボフレーム内で先頭セクタと終端セクタをＣ２セクタとすることが有効である。
【０１１３】
ところで、相対アドレスアクセス方式の場合において、１トラックにおける全サーボフレームではなく、例えば図２１のように一部のサーボフレームにＣ２セクタを配置する例も考えられるが、その場合、以下のような事情が生ずる。
【０１１４】
相対アドレスによるアクセス方式の場合は、どのサーボフレームが上記「先頭のサーボフレーム」になるかはわからない。すると、一部のサーボフレームにおいてＣ２セクタを配置していると、読出し時にはオントラック直後のセクタがＣ２セクタとなるとは、必ずしも限らない。
そこで、一部のサーボフレームにおいてＣ２セクタを配置するようにする場合は、１回の連続した書込みアクセスによって複数トラックにデータ書込みが行われるときに、その複数トラックに対する読出し動作時において、当該複数トラックのうちの、２番目のトラック（この場合トラックＴＫ２）以降の各トラックについて、オン・トラック直後に読出しを開始する先頭位置となるセクタが、Ｃ２セクタとなるように動作制御する必要がある。この点を説明する。
【０１１５】
上述したように相対アドレスに基づくアクセスの場合、１トラックにおいてどのセクタから書込み／読出しを行っても良い。書込みについては書込み可能となったセクタから相対アドレスを割り振るのでどのセクタから開始してもよいし、また読出し時には、読み出した１トラック分のセクタデータを、相対アドレスに従ってバッファＲＡＭ１４上で並び替えればよいので、どのセクタからでも読み始めることができる。
すなわちトラックのどのセクタからでもアクセスを行うことができるため、シーク直後の任意のヘッド位置から読み書きを行うことにより、回転待ちをなくすことができることを先に述べた。
そしてこのことは、読出し時において、必ずしも相対アドレス「１」のセクタから読み出す必要がないことを示している。
【０１１６】
今、図２１に示すように相対アドレス「１」「２」「５」「６」「９」「１０」がＣ２セクタとされるような例を考える。
そして最初に図２１のトラックＴＫ１にシークした場合を考えると、オントラックした後、読出し可能となったセクタの相対アドレスが何であろうと、そのセクタから１周分の読出しアクセスを行えばよい。例えばシーク直後のヘッド位置が相対アドレス「１７」のセクタ位置であったら、相対アドレス「１７」「１８」・・・「３２」「１」「２」・・・「１６」と、各セクタをアクセスすれば良いものとなる。これによって回転待ちもなくなる。
しかしながら、すると次のトラックＴＫ２に対しては、セクタ「１６」の読出しを行った直後にシークすればよいことになるが、この場合、トラックＴＫ２においてはセクタ「１７」前後でオントラックしてしまう。つまり、オントラック直後の最初のセクタがＣ２セクタ（セクタ「１」「２」「５」「６」「９」「１０」のいずれか）とならない。すると上記した外乱等に対する効果が得られない。
【０１１７】
そこで、最初のトラックについては、必要に応じて回転待ちを行い、〈１〉読出しアクセスは相対アドレス「１」のセクタから開始するようにするか、或いは、〈２〉１トラック分の読出しアクセスを行った後、相対アドレス「３２」に達した時点で次トラックへのシークを行うようにする。
上記〈１〉のように、読出しアクセスは相対アドレス「１」のセクタから開始するようにする場合は、例えばトラックＴＫ１にシークしてオントラックした後、必要なだけ回転待ちを行い、相対アドレス「１」のセクタに達した時点から読出しを開始する。すると、相対アドレス「１」〜「３２」まで１トラック分の読出しを行った時点で次のトラックＴＫ２にシークすれば、トラックＴＫ２においても、相対アドレス「１」のセクタ付近から読出しが開始される。従って、シーク直後の最初のセクタはＣ２セクタとすることができる。
また、図２１には示していないが、さらにトラックＴＫ３，ＴＫ４・・・と連続して各トラックを読出していくときも同様に、シーク直後の最初のセクタはＣ２セクタとすることができる。
なお、この場合、トラックＴＫ３、ＴＫ４、・・・は、トラックＴＫ１からの連続した一連の動作で書込みアクセスが行われたトラックである。相対アドレスによるアクセス方式の場合、書込み時はシーク直後の任意のセクタから書込みを実行して良いが、連続した書込みアクセスで書込みが行われたトラックである限りは、上記トラックＴＫ１，ＴＫ２のように、先頭セクタ「１」の位置は、いずれもシーク動作（トラックジャンプＴＪ）による分だけずれて位置している。すなわちセクタ「３２」の直後にシーク動作を行えば、次のトラックはセクタ「１」付近から読出しが可能となる。
【０１１８】
また上記〈２〉の、１トラック分の読出しアクセスを行った後、相対アドレス「３２」に達した時点で次トラックへのシークを行うようにするとは、例えばトラックＴＫ１にシークしてオン・トラックした直後から、回転待ちをせずに１トラック分の読出しを行う。そして１トラック分の読出しを行った後、必要なだけ回転待ちを行い、相対アドレス「３２」に達したら次のトラックＴＫ２にシークする。この場合、トラックＴＫ２においては、相対アドレス「１」のセクタ付近から読出しが開始される。従って、シーク直後の最初のセクタはＣ２セクタとすることができる。そしてトラックＴＫ２では相対アドレス「１」〜「３２」の読出しが行われた後、次のトラックＴＫ３にシークするため、トラックＴＫ３でも同様となる。
【０１１９】
以上のように、相対アドレスによるアクセス方式が採用される場合において、一部のサーボフレームにＣ２セクタを配置する場合は、最初のトラックのみは相対アドレス「１」から読出しを行うようにするか、或いは１トラック分の読出し後、相対アドレス「３２」まで待ってシークを行うようにする。これによって、続くトラックＴＫ２以降の各トラックでは、シーク直後にＣ２セクタから読出しが行われるものとなる。
なお、ここでいう最初のトラックとは、所定数の複数トラックを一単位とした時の、その最初のトラックである。例えば、記録再生時において連続しており、さらにシークによるトラック・スキュー分が一定である所定数のトラックに対し、これを一単位とする。
以上のようにすることによって、読出し時に回転待ちを解消するという相対アドレスによるアクセス方式の利点を、一部制限することになるが、書込みアクセスにおいて回転待ちが不要となることは変わらない。例えば上記トラックＴＫ１、ＴＫ２の書込みを行うことを考えた場合、上記ＬＢＡアクセス方式において回転待ちが必要となるのはトラックＴＫ１にオン・トラックした際であるが、相対アドレスによるアクセス方式では、トラックＴＫ１にオン・トラックした直後の任意のセクタを相対アドレス「１」として書込みを開始することができる。
【０１２０】
なお図１９、図２１では、ＥＣＣブロック構成をトラック１周単位とした例を示したが、それに限定されず、ＥＣＣブロック構成は、トラックｎ周単位としてもよい。
【０１２１】
７．読出処理
本実施形態に係るＨＤＤ１０は、以上のように、トラックに対するシーク直後に最初に読出しを行うサーボフレーム内のセクタ、即ち外乱によるエラーの発生しやすいセクタがＣ２セクタとなるようにＥＣＣブロックを形成し、配置することによって、リトライ動作などによってリカバーすることが出来ない状況下で発生するＣ２訂正が不可能なエラーの発生に対して、データ損失を軽減し、その結果、より安定したデータ再生を行うことができる。
【０１２２】
この点を読出し時の処理とともに説明する。
図２２は、読出し時におけるエラーセクタ訂正処理の流れを示したものである。
先ずステップＦ１０１でデータ読出し処理が行われる。これによって、所定単位だけのセクタ数が読み出され、バッファＲＡＭ１４に格納される。なお、相対アドレスによるアクセスの場合であって、かつトラック上の一部のサーボフレームのみにＣ２セクタを配置する場合は、この読出し処理の最初のトラックについては、上記〈１〉又は〈２〉の制御を行う必要がある。
次にステップＦ１０２では、ディスクコントローラ１３は、バッファＲＡＭ１４からＥＣＣブロック単位のセクタデータを取り込み、取り込まれたセクタの中に、セクタエラーが発生しているかどうかを調べる。これは、例えば、１セクタ内に与えているＣ１訂正を行うことによって判定することができる。
ここでセクタエラーの発生がなかったときは、Ｃ１訂正されたデータがバッファＲＡＭ１４に戻される。そしてステップＦ１０６では、バッファＲＡＭ１４においてＥＣＣブロック単位のセクタより、冗長セクタ部分、つまりＣ２セクタが取り除かれ、必要なデータセクタだけが取り出されて、データ読出し処理が完了する。つまりバッファＲＡＭ１４においてＣ２セクタが除かれたセクタデータが、ホストコントローラ３２を介してインターフェース１７から出力される。この場合、出力される読出しデータはエラーのない正しいデータである。
【０１２３】
一方、ステップＦ１０２でセクタエラーの発生が検出されたときは、続いてステップＦ１０３でＣ２訂正処理を行うことになる。
そしてＣ２によるセクタ訂正が可能であった場合には、ステップＦ１０４からＦ１０５に進み、バッファＲＡＭ１４から取り込まれた読出しデータに対してＣ２による訂正処理が行われ、正しく訂正されたデータが得られる。訂正されたデータはバッファＲＡＭ１４に書き込まれる。
そしてその訂正されたＥＣＣブロック単位のデータからステップＦ１０６で冗長セクタ部分、つまりＣ２セクタが取り除かれ、必要なデータセクタだけが取り出されて出力され、データ読出し処理が完了する。この場合も、出力される読出しデータは、エラーのない正しいデータである。
【０１２４】
ところが、ステップＦ１０４でＣ２訂正不能とされたときは、セクタエラー訂正処理は行われない。この場合ディスクコントローラ１３は、エラー訂正のためにバッファＲＡＭ１４から取り込んだデータをそのままバッファＲＡＭ１４に送り返す。そしてステップＦ１０６では、その訂正されなかったＥＣＣブロック単位のデータから冗長セクタであるＣ２セクタが取り除かれ、必要なデータセクタだけが取り出されて出力され、データ読出し処理が完了する。この場合、出力される読出しデータは、エラーが含まれている場合がある。
しかしながら、上記図１１〜図１５における説明から理解されるように、エラーの発生しているセクタは、Ｃ２セクタである可能性が高い。従って、エラー訂正不能であったとしても、ステップＦ１０６でＣ２セクタが削除されて出力される際に、エラーセクタが削除されている可能性が高いものとなる。このため、総合的に見て、Ｃ２訂正不能エラーが発生しても、訂正不可能エラーによるデータ損失を軽減できるものである。
【０１２５】
８．適用例
本発明は上述した例に限定されず、以下のように各種の場合に適用できる。
ＨＤＤ１０における磁気ディスク２１の枚数は、２枚の場合を示したが、１枚、或いは３枚以上のＨＤＤ１０の場合も本発明を適用できる。また、１枚のディスク２１において表裏が記録面とされる場合も適用できる。さらに、磁気ヘッド２２の数も多様な構成が考えられるが、本発明の適用を妨げるものではない。
また、一般にＨＤＤではディスク２１は装置内に固定的に内蔵されるが、ディスク２１を着脱可能とするＨＤＤも考えられる。そのような装置でも本発明は適用可能である。
更に、ＨＤＤ以外のディスクシステム（光ディスク記録再生装置、光磁気ディスク記録再生装置）においても本発明は適用できる。
【０１２６】
また、Ｃ２セクタの配置については、必ずしもシーク後、オントラックした直後の先頭のサーボフレームにおいて、先頭セクタにＣ２セクタを配置していなくてもよく、当該サーボフレーム内にＣ２セクタを配置すること自体が有効である。なぜなら外乱による影響は、当該先頭のサーボフレームの各セクタに出やすいと考えることもできるからである。
さらに、上記各例は、基本的には図５（ａ）のようなサーボフレーム構造、つまりサーボフレーム内に整数個のセクタが配される場合を例にして説明したが、図５（ｂ）のようなセクタ数が整数でないサーボフレーム構造の場合も、本発明は適用可能である。
例えば図５（ｂ）のセクタ番号９のセクタは、セクタ９−１，９−２に分割されてサーボフレームにまたがって記録される。ここで、セクタ９−２、１０・・・を有するサーボフレームの先頭をＣ２セクタとする場合は、セクタ９−２が先頭セクタとなるため、セクタ９，つまりセクタ９−１，９−２がＣ２セクタとなる。従ってこのような場合は、先頭セクタをＣ２セクタとするものであっても、先頭セクタと直前のサーボフレームの終端セクタがＣ２セクタとなり、模式的にみれば図１４に近いかたちとなる。もちろんそのような場合でも、上記各例で述べた効果を得ることができる。
【０１２７】
本発明のプログラムは、上述したＨＤＤ１０の機能を実現するプログラムである。特にＣＰＵ１１によって起動され、ＨＤＤ１０の各部がそのプログラムに基づいて制御されることで図１８，図２０等によって説明したＥＣＣブロック構成を実現させる処理が実行される。
このプログラムは、例えばＲＯＭ／ＲＡＭ１２に予め記憶しておくことができる。或いは磁気ディスク２１に記憶しておき、ＲＯＭ／ＲＡＭ１２にロードされる形態も考えられる。
【図面の簡単な説明】
【０１２８】
【図１】本発明の実施の形態のＨＤＤの全体構成のブロック図である。
【図２】実施の形態のＨＤＤのディスクコントローラのブロック図である。
【図３】実施の形態のディスクフォーマット構造を模式的に示した説明図である。
【図４】実施の形態のディスクのサーボエリアの説明図である。
【図５】実施の形態のサーボフレームの説明図である。
【図６】実施の形態のエラー訂正範囲の説明図である。
【図７】実施の形態のアクセスのための変換テーブルの説明図である。
【図８】実施の形態のトラック単位となるＥＣＣブロックの説明図である。
【図９】実施の形態のＥＣＣブロック構造の説明図である。
【図１０】実施の形態のインターリーブ構造の説明図である。
【図１１】実施の形態のインターリーブ構造の説明図である。
【図１２】実施の形態のＬＢＡアクセス方式でのＣ２セクタ配置例の説明図である。
【図１３】実施の形態のＬＢＡアクセス方式でのＣ２セクタ配置例の説明図である。
【図１４】実施の形態のＬＢＡアクセス方式でのＣ２セクタ配置例の説明図である。
【図１５】実施の形態のＥＣＣブロック構成例の説明図である。
【図１６】実施の形態のＥＣＣブロック構成例の説明図である。
【図１７】実施の形態のＥＣＣブロック構成例の説明図である。
【図１８】実施の形態のＥＣＣブロック構成例の説明図である。
【図１９】実施の形態の相対アドレスアクセス方式でのＣ２セクタ配置例の説明図である。
【図２０】実施の形態のＥＣＣブロック構成例の説明図である。
【図２１】実施の形態の相対アドレスアクセス方式でのＣ２セクタ配置例の説明図である。
【図２２】実施の形態の再生時の処理のフローチャートである。
【符号の説明】
【０１２９】
１０  ＨＤＤ（ハードディスク装置）、１１  ＣＰＵ、１２  ＲＯＭ／ＲＡＭ、１３  ディスクコントローラ、１４  バッファＲＡＭ、１５  データ読み書き制御部、１６  サーボ制御部、２１，２１ａ，２１ｂ  磁気ディスク  ２２，２２ａ，２２ｂ  磁気ヘッド
【図１】
2005228454.tif 000003
【図２】
2005228454.tif 000004
【図３】
2005228454.tif 000005
【図４】
2005228454.tif 000006
【図５】
2005228454.tif 000007
【図６】
2005228454.tif 000008
【図７】
2005228454.tif 000009
【図８】
2005228454.tif 000010
【図９】
2005228454.tif 000011
【図１０】
2005228454.tif 000012
【図１１】
2005228454.tif 000013
【図１２】
2005228454.tif 000014
【図１３】
2005228454.tif 000015
【図１４】
2005228454.tif 000016
【図１５】
2005228454.tif 000017
【図１６】
2005228454.tif 000018
【図１７】
2005228454.tif 000019
【図１８】
2005228454.tif 000020
【図１９】
2005228454.tif 000021
【図２０】
2005228454.tif 000022
【図２１】
2005228454.tif 000023
【図２２】
2005228454.tif 000024