説明

記録再生制御方法、記録再生制御装置

【課題】 AVストリームデータの記録再生に適した転送レートの安定化
【解決手段】
連続アクセスした場合にアクセス時間がかかる場所(転送レート低下が発生する単位領域:セクタ)についての情報を参照して、記録再生時に連続してアクセスしていく各アクセス単位の記録媒体上での領域を設定する。即ち、転送レート低下が発生する単位領域のアドレスをテーブルデータとして登録する処理を行い、そのテーブルデータを参照して、転送レート低下が発生する単位領域の全部又は一部が1アクセス単位としての領域の途中に含まれないように、各アクセス単位の上記記録媒体上での領域を設定する。例えば交替処理セクタ、リトライセクタ、ヘッドチェンジやシーク後のセクタ、トラックジャンプシーク後のセクタなど、転送レート低下が発生する単位領域(セクタ)が、極力、各アクセス単位BLの途中に位置することがないように領域設定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えばHDD(ハードディスクドライブ)などとしての記録媒体に対してのデータの記録再生動作を制御する記録再生制御方法、記録再生制御装置に関し、特にAV(オーディオ・ビデオ)データのようなストリームデータの記録再生に適用することに好適な技術にかかるものである。
【背景技術】
【0002】
【特許文献1】特開平11−297004号公報
【0003】
磁気記録方式の情報記録装置としてHDD(Hard Disk Drive)が知られている。
HDDのドライブユニット内には記録媒体である数枚の磁気メディアが収容され、モータによって高速に回転する。磁気メディアには、酸化鉄やコバルト・クロムなどの磁性体が、メッキや薄膜生成によって塗布されている。
そして、磁気ヘッドを回転するメディア表面上で半径方向にスキャンさせることによって、メディア上にデータに相当する磁化を生じさせて書込みを行い、あるいはデータを読み出すことができる。
【0004】
ハードディスクは既に広汎に普及している。例えば、パーソナルコンピュータ用の標準的な外部記憶装置として、コンピュータを起動するために必要なオペレーティングシステム(OS)やアプリケーションなど、さまざまなソフトウェアをインストールしたり、作成・編集したファイルを保存したりするためにハードディスクが利用されている。通常、HDDは、IDE(Integrated Drive Electronics)やSCSI(Small Computer System Interface)などの標準的なインターフェースを介してコンピュータ本体に接続され、その記憶空間は、FAT(File Allocation Table)などの、オペレーティングシステムのサブシステムであるファイルシステムによって管理される。
そして最近では、HDDの大容量化が進んでおり、これに伴って、従来のコンピュータ用補助記憶装置としてだけでなく、放送受信されたAVコンテンツを蓄積するハードディスクレコーダなど、適用分野が拡大し、さまざまなコンテンツを記録するために利用され始めている。
【0005】
ここで、コンピュータ用補助記憶装置として使用される場合を例にとって、ハードディスクの物理フォーマット方法やハードディスクへのデータ読み書きオペレーションについて簡単に述べておく。
ハードディスク上には、データを記録するための区画として、同心円状に多数の「トラック」を形成する。そして、ディスクの最外周から内周に向かって0,1,…とトラック番号が割り振られる。ディスク表面上にトラック数が多いほどメディアの記憶容量は増す。
【0006】
さらに、各トラックは、単位領域としての「セクタ」に分割される。ディスクに対する通常のデータ読み書き動作はセクタ単位で行われる。セクタサイズはメディア毎に相違するが、ハードディスクのセクタは一般的には512バイトとされる。また、メディアの使用効率を考慮して、各トラック上の記録密度をほぼ均一にするために、周長が長くなる外側のトラックに向かうほどセクタ数を多く設けている。これを”Zone Bit Recording”(ゾーンビットレコーディング)方式と呼ぶ。
ゾーンビットレコーディング方式を採用した場合、各トラック上の記録密度をほぼ均一にすることができる一方で、トラック毎のデータ転送速度が不均一となるという短所がある。データ転送速度は、ディスクの内周方向に進むにつれて低くなっていく。
【0007】
また、数枚のメディアが同心円状に重なって構成されているHDDの場合、各メディアの同じ番号のトラックは円筒状に配置されていると捉えることができ、これを「シリンダ」と呼ぶ。各シリンダには、トラック番号と同じ番号が割り振られ、最外周から順にシリンダ0,シリンダ1,・・・となる。各メディア間に挿設された複数のヘッドは常に一体となって作動して、シリンダ間を移動する。
【0008】
目的となるセクタを指定(アドレス)する方式として、CHS方式を挙げることができる。これは、ディスク上のPBA(Physical Block Address:物理ブロックアドレス)を、C(Cylinder)、H(Head)、S(Sector)の順に指定することによって、所望のデータにアクセスする方式である。
一方、CHS方式においては、HDDに対するホストとして動作するコンピュータ本体側では、指定できるCHSパラメータに限界があり、ハードディスクの大容量化に対応できなくなってくる。このため、LBA(Logical Block Address:論理ブロックアドレス)方式が採用されている。これは、シリンダ番号、ヘッド番号、セクタ番号(CHS)を0から始まるLBAという論理的な通し番号で表現するものである。
【0009】
従来のHDDでは、メディアにアクセスしてデータを読み書きするためには、先ず、磁気ヘッドが目的とするセクタのあるトラックに到達するために、磁気ヘッドをメディア上で走査させる。これを磁気ヘッドの「シーク」動作と呼ぶ。次に、トラック上で目的のセクタに到達するために、メディアが回転して、目的のセクタが磁気ヘッドの真下に来るまで待つ。これを「回転待ち」と呼ぶ。
【0010】
従来の多くのHDDは、IDEやSCSIなどコンピュータとの接続を目的としたインターフェースを持っている。そして、コンピュータ本体からのディスクドライブ制御は、インターフェースで定義されているコマンドセットを用いて、先頭セクタを示すLBAとアクセスを行うセクタ数を指定することを基本動作とする。
この場合、HDD側では、指定された先頭セクタからのアクセスを行うとともに、その後アクセスされるセクタを予測して先読みを行うシーケンスを作成しながらアクセスを行うことができる。
この先読みという動作は、一連のデータに対して連続するアドレスを持つセクタが割り振られていることを前提としている。通常、連続するアドレスを持つセクタは、連続するヘッド番号あるいはトラック番号に存在する。
サイズの大きなデータがメディア上に連続して書き込まれている場合には、読出し時の先読み動作が有効に働く。
【発明の開示】
【発明が解決しようとする課題】
【0011】
ところで、ハードディスクドライブにストリームデータなどの連続した比較的サイズの大きなデータを書き込む場合、実際にデータを格納する領域はディスク面上の論理ブロックアドレス(LBA)の連続する場所である場合が多い。
上述したように、HDDのディスク面上では各トラック内にLBAの連続するセクタが配置される。そして隣接するトラックにおいてもLBAが連続する配置になっている。
図12は、HDDのディスク上のトラックを模式的に示すものであるが、図示するようにトラックTK1,TK2,TK3,TK4・・・が同心円状に形成される。
図中の数字は各セクタに与えられたLBAであるとし、仮に、トラックTK1の先頭セクタのLBAを「0」とする。1トラックに600セクタが配置されるとすると、図示するようにトラックTK1にはLBA「0」〜「599」のセクタが配置される。また、隣接する次のトラックTK2には、LBA「600」〜「1199」のセクタが、さらに次のトラックTK3には、LBA「1200」〜「1799」のセクタが・・・というようにLBAの連続するセクタが配置されることになる。
【0012】
ところが、このような複数のトラックにわたったLBAの連続性はディスクの記録面の全トラックにおいて保たれるわけではない。
多くのHDDは複数ディスク面にデータ領域とデータ読み書きのためのヘッドをそれぞれ設けており、またディスク半径方向に分割するように、記録密度が異なるゾーン設定がなされる。
図13は、ディスクを半径方向にみた模式図であり、ディスクの表裏が記録面100,101とされている。記録面100に対してはヘッド102により記録再生が行われ、記録面101に対してはヘッド103により記録再生が行われる。
また、半径方向にゾーン(Zone0〜Zone(n))が設定されている様子を示している。
この場合、LBAの値は図13に示す、「0」・・・「x」「x+1」・・・「y」「y+1」・・・「Z」「Z+1」・・・「W」「W+1」・・・「V」・・・というように進行するように設定されることがある。
このため、LBAに従ってセクタを連続して記録又は再生アクセスしていく場合、次のような動作が行われる。
まずゾーン0においてヘッド102により、記録面100のLBA「0」から、ディスク内周側に向かってLBA「x」までのアクセスAC1が行われる。
続いてヘッドチェンジHC1として、記録又は再生を行うヘッドがヘッド103に切り換えられる。そしてヘッド103により、記録面101のLBA「x+1」から、ディスク外周側に向かってLBA「y」までのアクセスAC2が行われる。
続いて、シークSK1として、ヘッド103のLBA「y+1」へのシークが行われ、シーク完了後、記録面101のゾーン1におけるLBA「y+1」から、ディスク内周側に向かってLBA「z」までのアクセスAC3が行われる。
続いては、ヘッドチェンジHC2として、記録又は再生を行うヘッドがヘッド102に切り換えられ、ヘッド102により、記録面100のゾーン1のLBA「z+1」から、ディスク外周側に向かってLBA「w」までのアクセスAC4が行われる。
続いて、シークSK2として、ヘッド102のLBA「w+1」へのシークが行われ、シーク完了後、記録面100のゾーン2におけるLBA「w+1」から、ディスク内周側に向かってLBA「v」までのアクセスAC5が行われる。
【0013】
LBAがディスク上の物理的な位置として図13のようなに順序に設定されるのは、記録密度が異なるゾーン毎の信号処理切換やヘッド移送の都合を考慮したものである。
即ち、まず記録面100,101を含んで、ゾーン内でLBAを連続させることが好適なことにより、例えばLBA「0」〜「x」と、それに続くLBA「x+1」〜「y」は、ゾーン0に配するようにする。
また、LBA「0」〜「x」が外周→内周の方向に進行していることに対して、LBA「x+1」〜「y」が内周→外周の方向に進行しているのは、ヘッドチェンジHC1の際にヘッド移送を行う必要をなくし、動作を効率化するためである。
他のゾーンについても同様であり、その結果、上記のような動作が行われるものとなる。
【0014】
ここで、記録又は再生時の転送レートという観点で考えると、次のように転送レートが低下するセクタが存在することになる。
まず、例えば図13のアクセスAC1を例にして考えると、このアクセスAC1としての記録再生中は、図12のように隣接するトラックを順次シークしながらLBAが連続するセクタをアクセスしていくものとなる。
例えばトラックTK1でLBA「0」〜「599」をアクセスしたら、続いてトラックジャンプシークTJ1を行ってトラックTK2のLBA「600」に進み、その後トラックTK2上をLBA「1199」までアクセスする。また、続いてトラックジャンプシークTJ2を行ってトラックTK3のLBA「1200」に進む、というような動作となる。
なお、各トラックの先頭セクタが周方向にずれているのは、トラックジャンプシークに要する時間とディスク回転を考慮して、なるべく回転待ち時間が少なくなるようにするためである。
このようなアクセス動作過程においては、トラックジャンプシークを必要とするセクタ、つまりこの例におけるLBA「600」「1200」「1800」のような各トラックの先頭セクタは、他のセクタよりも記録又は再生に要する時間が長くなる。従って、これらのトラック先頭セクタは、転送レートが低下するセクタであるといえる。
【0015】
また、図13のようなアクセス動作を考えると、記録再生のためにヘッドチェンジHC1、HC2・・・やシークSK1、SK2・・・を必要とするセクタは、それだけ記録再生に余分な時間を要する。つまり例えば図13の例におけるLBA「x+1」「y+1」「Z+1」「w+1」・・・等のセクタは、転送レートが低下するセクタであるといえる。
【0016】
また、これらのLBAの配置によるものだけでなく、転送レートが低下するセクタが存在する。
連続するLBAのセクタを順に記録又は再生していく場合の動作として、或るセクタにおいてエラーが生じた場合、リトライが行われる。リトライは、データの記録又は読出が良好にできなかったために、それをやり直す動作であり、当然ディスク1回転以上の時間を要することになる。リトライは記録領域の物理的な位置や特性に関わることが多く、従ってリトライの発生しやすいセクタが存在する。リトライが発生しやすいセクタは、転送レートが低下するセクタであるといえる。
【0017】
また、HDD等のディスクシステムでは記録領域上の物理的な欠陥や損傷などによってリトライを行っても記録再生できないようなセクタは、他のセクタに代替させる処理が行われることがある。即ちディスク上の欠陥セクタについては、使用しないようにし、そのセクタのLBAを交替用のセクタに割り当てるものである。そして連続したLBAの途中に交替処理された欠陥セクタがあると、そのLBAについてのみ、欠陥セクタに代替された交替セクターをシークして記録又は再生を行うことになる。
いうまでもなく、交替処理されたセクタは、通常のセクタよりも記録再生に時間がかかり、従って転送レートが低下するセクタであるといえる。
【0018】
これらのように転送レートが低下するセクタの存在は、特にAVストリームデータのように時間的連続性が要求されるデータの記録再生にとって不都合を与える。
図14でAVストリームデータを記録再生する場合の転送レートの事情を説明する。
一般に、FATなどに代表される従来のファイルフォーマットではハードディスクへのアクセス単位はクラスタと呼ばれるLBAの連続する8セクタ、16セクタなど2の乗数のセクタをひとかたまりとし、LBAの増加する方向に順に配置されている。但しデータサイズが大きく、且つ時間的連続性のあるAVストリームデータの記録再生においては、1000セクタ、2000セクタ、10000セクタ等、通常のデータファイル記録用途に比べて遙かに大きなサイズでアクセス単位が設定される。
例えば図14は、このようなAVストリームデータの記録再生におけるアクセス単位として、アクセス単位BL0、BL1・・・を模式的に示している。
図14(a)では、破線箇所として交替処理セクタ又はリトライ発生セクタを示している。固定セクタ数をアクセス単位BLとし連続的に配置したフォーマットにおいて、ストリームデータのような連続データの記録再生アクセスすることを考えると、リトライ処理や交替処理のようなエラー処理の必要なセクタについては、エラー処理の必要でないセクタと比べてアクセスに要する時間が長くなり、従ってそのようなエラーセクタを含むアクセス単位(BL2、BL6,BL7,BL14)での転送レートは低下する。
また図14(b)には上記図13に示したヘッドチェンジHC(及びシークSK)が発生する箇所を点線で示しているが、例えばアクセス単位BL3,BL10、BL13のように、アクセス単位内で連続するセクタ間においてヘッドチェンジHCやシークSKが行われる場合、それらが必要でないアクセス単位と比べて転送レートは低下する。
実際のディスク上のデータ領域においては図14(c)に示すように、リトライなどのエラー処理が必要な箇所(破線)とヘッドチェンジ等が必要な箇所(点線)は混在するため、転送レートが低下する箇所はデータ領域において広範囲に分布することが多い。即ち☆を付したアクセス単位(BL2,BL3等)では、☆を付ししていない他のアクセス単位よりも転送レートが低下することになる。
【0019】
転送レートの低下は、ビデオストリームデータの記録再生において動画のコマ落ちが生じたり、オーディオストリームデータの記録再生において音飛びが生じる原因となりうるため、避けなければならない問題である。
即ち、AVストリームデータの記録再生においては、転送レート低下、もしくは転送レートの不安定化は極力防止することが求められる。
【0020】
このため、本発明では、ストリームデータの記録再生に適したアクセス単位を設定し、転送レートの安定化や部分的な転送レートの低下を防止することを目的とする。
なお上記特許文献1には、記録再生可能領域に設定されたゾーン毎に欠陥セクタなどエラーの多く発生したセクタのスウをカウントし、そのようなセクタが多いゾーンをアクセス禁止とする技術が開示されているが、ストリームデータの記録再生に適したアクセス単位を設定するということについては記載されていない。
【課題を解決するための手段】
【0021】
本発明は上記の目的のために、HDD等の記録再生装置に内蔵されるか、もしくはHDDの外部機器として接続される記録再生制御装置、及び記録再生制御方法を提供する。
【0022】
本発明の記録再生制御方法は、記録媒体におけるデータ記録領域内で、転送レート低下が発生する単位領域を判別する判別ステップと、上記判別ステップで把握された、転送レート低下が発生する単位領域の情報を参照して、記録再生時に連続してアクセスしていく各アクセス単位としての上記記録媒体上での領域(例えば先頭位置とサイズ)を設定する設定ステップと、上記記録媒体に対するデータの記録再生を、上記設定ステップで設定されたアクセス単位毎に順に実行するように制御する記録再生制御ステップとを備える。
また上記判別ステップでは、転送レート低下が発生する単位領域のアドレスをテーブルデータとして登録する処理を行い、上記設定ステップでは、上記テーブルデータを参照して、転送レート低下が発生する単位領域の全部又は一部が1アクセス単位としての領域の途中に含まれないように、各アクセス単位としての上記記録媒体上での領域(例えば先頭位置とサイズ)を設定する。
【0023】
本発明の記録再生制御装置は、記録媒体におけるデータ記録領域内で、転送レート低下が発生する単位領域を判別する判別手段と、上記判別手段で把握された、転送レート低下が発生する単位領域の情報を参照して、記録再生時に連続してアクセスしていく各アクセス単位としての上記記録媒体上での領域(例えば先頭位置とサイズ)を設定する設定手段と、上記記録媒体に対するデータの記録再生を、上記設定手段で設定されたアクセス単位毎に順に実行するように制御する記録再生制御手段とを備える。
また上記判別手段は、転送レート低下が発生する単位領域のアドレスをテーブルデータとして登録する処理を行い、上記設定手段は、上記テーブルデータを参照して、転送レート低下が発生する単位領域の全部又は一部が1アクセス単位としての領域の途中に含まれないように、各アクセス単位としての上記記録媒体上での領域(例えば先頭位置とサイズ)を設定する。
【0024】
これら記録再生制御方法、記録再生制御装置では、記録再生ヘッドが切り換えもしくは移送されて記録再生が行われることになる先頭の単位領域を、転送レート低下が発生する単位領域として判別する。
また、記録再生ヘッドがトラック移動を行って記録再生を行うトラックの先頭の単位領域を転送レート低下が発生する単位領域として判別する。
また、記録再生時にリトライが発生する単位領域を転送レート低下が発生する単位領域として判別する。
また、欠陥領域として交替処理された単位領域を転送レート低下が発生する単位領域として判別する。
そしてこれら転送レート低下が発生する単位領域のアドレスをテーブルデータとして登録する。
【0025】
即ち本発明では、特にAVストリームデータの記録再生を目的としたストレージシステムにおいて、ストリームデータの記録再生のためにデータ領域をアクセス単位ごとに順にアクセスする場合に、ストリームデータ途中のあるデータ箇所におけるデータ転送レートが他の場所と比べて低下しないよう、フォーマット時または記録前にストリームデータを格納するデータ領域場所を確定するフォーマット処理(アクセス単位としての領域設定処理)を行うものである。
例えば、HDDを記録媒体としてAVストリームデータを書き込む場合、データ領域において複数セクタ(セクタとは上記単位領域)ごとのまとまりをアクセス単位とすることが多いが、本発明では連続アクセスした場合にアクセス時間がかかる場所(例えば、交替処理やヘッドチェンジなどが必要なセクタ)についての情報を参照し、そのようなアクセス時間のかかるセクタをまたがないよう、アクセス単位ごとの領域(例えば先頭位置とサイズ)を決定する。
【発明の効果】
【0026】
本発明によれば、連続アクセスした場合にアクセス時間がかかる場所(転送レート低下が発生する単位領域:セクタ)についての情報を参照して、記録再生時に連続してアクセスしていく各アクセス単位の上記記録媒体上での領域を設定する。即ち、転送レート低下が発生する単位領域のアドレスをテーブルデータとして登録する処理を行い、そのテーブルデータを参照して、転送レート低下が発生する単位領域の全部又は一部が1アクセス単位としての領域の途中に含まれないように、各アクセス単位の上記記録媒体上での領域を設定する。これにより、交替処理セクタ、リトライセクタ、ヘッドチェンジやシーク後のセクタ、トラックジャンプシーク後のセクタなど、転送レート低下が発生する単位領域が、極力、各アクセス単位の途中に位置することがないように領域設定されることになる。
従ってアクセス単位毎の転送レートのバラツキが解消又は低減され、或いは転送レートが低下するアクセス単位を解消できる。
つまりアクセス時間を見積もったデータ領域にストリームデータを記録し、又再生することができるため、ストリームデータにおける転送レートの低下やバラツキを防ぐことができ、安定した記録再生が可能となる。
【発明を実施するための最良の形態】
【0027】
以下、図面を参照しながら本発明の実施の形態について次の順序で説明する。
1.ハードディスク装置の構成
2.アクセス単位のフォーマットの概要
3.アクセス単位設定処理例
4.変形例

【0028】
1.ハードディスク装置の構成

図1には、本発明の一実施形態に係るHDD(ハードディスク装置)10の全体構成を模式的に示している。
本例のHDD10は、例えばカメラ部50をホスト機器とするストレージ機器とされる。そしてカメラ部50から供給されたAVストリームデータの記録を行い、また再生したAVストリームデータをカメラ部50に供給する。カメラ部50は例えば撮像機能や再生映像表示機能を備えるものとされる。
実際には、本例のHDD10は、カメラ装置に内蔵されるHDDとされたり、カメラ装置に接続されてビデオデータの記録再生を行う機器とされることが考えられる。
なお、カメラ部50と接続するシステムとするのは一例であり、例えば本例のHDD10はテレビジョン放送用の受信/録画機器に内蔵或いは接続されたり、パーソナルコンピュータに内蔵或いは接続されるものでも良い。特に、AVストリームデータの記録再生のためのストレージ部として本例のHDD10は好適なものとなる。
【0029】
同図に示すように、HDD10は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)/RAM(Random Access Memory)12と、ディスクコントローラ13と、バッファRAM14と、データ読み書き制御部15と、サーボ制御部16、そして磁気ディスク21とを備えている。
【0030】
磁気ディスク21は、1枚あるいは複数枚で構成され、さらに記録面は片面あるいは両面(ディスクの表裏)となっている。また記録面上にはヘッドが配置される。図1においては表裏が記録面とされた1枚の磁気ディスク21が配され、これに対応して2つの記録再生ヘッド(磁気ヘッド)22a、22bが設けられている状態を示している。
つまり磁気ディスク21に対して、その表裏の記録面を挟むようにダウンヘッド22a、アップヘッド22bが設けられ、ダウンヘッド22aは下降することで磁気ディスク21の表側の記録面をトレースする。またアップヘッド22bは上昇することで磁気ディスク21の裏側の記録面をトレースする。
なお、ドライブユニット内に数枚の磁気ディスク(プラッタ)を配する場合は、それら複数の磁気ディスクが同心円状に重なるように構成することができ、そのとき各磁気ディスクの同じトラック番号は円筒状に配置され(シリンダ)、トラック番号と同じシリンダ番号で指定される。
【0031】
図1において、CPU11は、ROM/RAM12に格納されている制御コードを実行して、HDD10内の動作を統括的にコントロールする。
また後述するアクセス単位設定処理も行い、それに基づいて記録再生動作を制御する。
ディスクコントローラ13は、インターフェース17を介して接続されるホスト機器からコマンドを受け取る。この例では上記のようにカメラ部50をホスト機器としている。例えばカメラ部50からのコマンドはCPU11に受け渡され、CPU11はそのコマンド処理を行い、ディスクコントローラ13はコマンド処理結果に従って、データ読み書き制御部15やサーボ制御部16に対するハードウェア操作を指示する。
インターフェース17経由でカメラ部50から受け取った書込みデータや、磁気ディスク21から読み取ってカメラ部50に渡されるデータは、バッファRAM14に一時的に格納される。
【0032】
データ読み書き制御部15は、符号化変調処理を行って実際に記録するデータパターンを作成し、プリアンプ25を介して磁気ディスク21にデータを書き込む。また、逆に読み込んだデータをプリアンプ25を介して磁気ディスク21から取り込み、データの復調処理を行う。
【0033】
サーボ制御部16は、磁気ヘッド22a、22bを搭載したアームを移動するボイスコイルモータ(VCM)23、及び磁気ディスク21を回転させるスピンドルモータ(SPM)24を同期的駆動させて、磁気ヘッド22a、22bが磁気ディスク21上の目的とするトラック上の所定範囲内に到達するように制御する。さらに、ディスク上のサーボパターンよりヘッド位置を所定の位置にシークさせるための制御を行う。
【0034】
磁気ディスク21上には、データを記録するための区画である多数のトラックが同心円状に形成され、例えばディスク21の最外周から、内周に向かって0,1,2,…とトラック番号が割り振られている。また、各トラックは、さらにセクタ毎に分割されており、このセクタ単位が、データ読み書き動作の可能な最小単位となっている。
セクタ内のデータ量は例えば512バイトで固定である。
実際に記録されているセクタには、データに加えて、ヘッダ情報やエラー訂正用コードなどが付加されている。
1周当たりのセクタ数については、周長が長くなる外側のトラックに向かうほどセクタ数を多く設けるZBR(Zone Bit Recording)方式を採用する。すなわち、磁気ディスク21の全周に渡るトラック毎のセクタ数は均一ではなく、磁気ディスク21を半径方向に複数のゾーンに区切り、各ゾーン内においては同じセクタ数となるように設定する。
ゾーンの切り替えに当たり、具体的なセクタ数については、スピンドルモータ24の回転数は一定とし、記録再生クロックを可変にするなどによって、線記録密度を所定の範囲におさめ、ディスク当たりの記憶容量を増加させるように決定される。
【0035】
図2は、図1のディスクコントローラ13の内部構成をより詳細に示している。同図に示すように、ディスクコントローラ13は、CPUインターフェース31と、ホストコントローラ32と、バッファコントローラ33と、サーボコントローラ34と、ディスクフォーマッタ35と、ECCコントローラ36とで構成されている。なお、同図において、データの移動が発生する矢印に対しては二重線で示してある。
【0036】
CPUインターフェース31は、CPU11と、RAM/ROM12とのインターフェースであり、カメラ部50等のホストからのコマンドをCPU11に通知したり、CPU11からのコマンド処理結果の受信などを行ったりする。
ホストコントローラ32は、インターフェース17を介して接続されるホスト(カメラ部50)との通信を行う。
バッファコントローラ33は、バッファRAM14と、ディスクコントローラ13内の各部間でのデータのやりとりを制御する。
サーボコントローラ34は、VCM(ボイスコイルモータ)23及びSPM(スピンドルモータ)24の動作を制御することによって、磁気ディスク21上のサーボパターンからサーボ情報を読み取り、この情報をサーボ制御部15へ渡す。
ディスクフォーマッタ35は、バッファRAM14上のデータを磁気ディスク21に書き込んだり、あるいは磁気ディスク21からデータを読出したりするための制御を行う。
ECCコントローラ36は、バッファRAM14に格納されているデータより、書込み時にはECC符号を生成して付加したり、あるいは読出し時にはエラー訂正を行ったりする。
このような図2に示すディスクコントローラ13は、CPU11より、フォーマッタ制御情報およびECC制御情報を受け取る。
【0037】
アクセス方式としては、いわゆるLBA(Logical Block Address)に基づいてアクセスを行う。
LBAによるアクセスを行う場合においては、上記フォーマッタ制御情報は、シークされたトラック上でアクセス可能となった後、LBAで指定されたセクタのアクセスを行うためのフォーマット情報である。この情報は、CPUインターフェース31を介してディスクフォーマッタ35へ送られ、ここでデータフォーマッタが生成される。
また、AVストリームデータの記録再生のための1アクセス単位としては、例えば1000セクタ、2000セクタ、10000セクタなど、比較的な大きなデータ領域が設定されるが、各アクセス単位のディスク上の物理的な位置及びサイズは、後述するフォーマット処理(アクセス単位設定処理)によりCPU11が設定し、ディスクフォーマッタ35は、その設定に基づいて、記録再生を行なうようにする。
また、ECC制御情報は、第1のエラー訂正符号C1によるECCブロック構成、もしくは第1のエラー訂正符号C1と第2のエラー訂正符号C2を持つECCブロック構成の設定を行うための情報であり、また例えばゾーン毎に、セクタ数などに応じてECCブロック構成を可変する場合に、その構成を指示する情報となる。この情報は、CPUインターフェース31を介してECCコントローラ36へ送られ、ここでECCブロック構成が設定され、バッファRAM14をアクセスして所定のECC処理が行われる。
【0038】
なお、これら制御情報(フォーマッタ制御情報、ECC切替制御情報)は、図1のCPU11に付随するROM/RAM内にある場合のほか、例えば、磁気ディスク21にこれらの情報を記憶させておき、起動時に、磁気ディスク21より読出しを行い、バッファRAM14に格納するようにしてもよく、この場合バッファRAM14から制御情報を各部に送るようにすればよい。
【0039】
本実施の形態に係るハードディスク装置10は、上述したような構成とされ、この構成において、以下説明するように、アクセス単位設定のためのフォーマット処理を行い、AVストリームデータの記録再生の際に転送レートの安定化が実現されるようにする。
【0040】
2.アクセス単位のフォーマットの概要

HDD10においてディスク21にAVストリームデータを書き込む場合、データはセクタ単位に分割され、データの連続性を保つために複数セクタのまとまりをアクセス単位とする。
本例のHDD10では、連続アクセスした場合にアクセス時間がかかる場所、即ち転送レート低下が発生するセクタについての情報を事前に入手し、そのようなアクセス時間のかかるセクタを途中に含まないアクセス単位ごとのデータ領域マップ(以下、アクセス単位領域マップ)を作成する。
【0041】
図3にアクセス単位領域マップの例を示す。
図14(c)で説明したように、例えば単にアクセス単位を2000セクタとし、アクセス単位BL0,BL1・・・をLBAの順に割り当てていくと、転送レートが低下するアクセス単位が発生する。
転送レートの低下は、上述したように例えばリトライや交替処理に起因する。ここで本例では、例えばリトライや交替処理が発生するセクタを禁止LBAテーブルに登録する。
図3(a)は、図14(a)と同様に交替処理セクタ又はリトライ発生セクタを破線で示しているが、これら破線のセクタのLBAが禁止LBAテーブルに登録されるようにする。
【0042】
この禁止LBAテーブルを参照して、各アクセス単位BL0,BL1・・・を設定すると図3(a)のようになる。即ち、先頭LBAから順にアクセス単位BL0,BL1・・・を設定していったときに、或るアクセス単位に禁止LBAテーブルに登録されたLBAのセクタが含まれることとなる場合は、その禁止LBAテーブル登録セクタまでの所要データ区間をスキップして、次のセクタからアクセス単位としてのデータ領域を設ける。例えば図3(a)ではアクセス単位BL2,BL13がそれに当たる。このようにして、どのアクセス単位においても禁止LBAテーブルに登録されたセクタ(交替処理セクタやリトライ発生セクタ)を含まない、アクセス単位ごとの転送時間から交替処理時間が取り除かれたアクセス単位領域マップを設定する。
【0043】
また、図13で説明したヘッドチェンジHCやシークSK、或いは図12で説明したトラックジャンプシークTJの直後となるセクタも、転送レート低下が発生するセクタである。
そこで、ヘッドチェンジHCとシークSK(以下、ヘッドチェンジHCとシークSKのいずれかという意味で「ヘッドチェンジ/シーク」と表記する)を介してアクセスされるセクタや、トラックジャンプシークTJによってアクセスされるトラック先頭セクタを先頭LBAテーブルに登録する。
このヘッドチェンジ/シーク後のセクタや、トラックジャンプシークTJ直後のセクタ(つまりトラックの先頭セクタ)は、アクセス単位の先頭として用いることができるがアクセス単位の途中には含ませないセクタとする。
【0044】
図3(b)には、先頭LBAテーブルに登録されたセクタを点線で示している。
そして先頭LBAテーブルに登録されたセクタがアクセス単位の途中に含まれないようにすると、図3(b)のようにアクセス単位BL0、BL1・・・を設定したアクセス単位領域マップが生成できる。例えばアクセス単位BL3,BL6,BL9は、ヘッドチェンジ/シークが発生するセクタを考慮して、ヘッドチェンジ/シーク前の最終セクタまでのデータ区間をスキップし、ヘッドチェンジ/シーク後の先頭セクタからアクセス単位が開始されるようにしている。このようにすることで、どのアクセス単位においても途中でヘッドチェンジ/シークが行われないこととでき、アクセス単位ごとの転送時間からヘッドチェンジ/シーク時間が取り除かれたアクセス単位領域マップが設定されるものとなる。
なお、AVストリームデータの記録再生のためにアクセス単位が2000セクタ程度、10000セクタ程度など、比較的大きく設定される場合(具体的には1トラックのセクタ数より大きく設定される場合)は、トラックジャンプシークTJによってアクセスされるセクタは、アクセス単位内に含まざるを得ないことになる。従って、そのような場合は先頭LBAテーブルに登録されているトラックジャンプシークTJ直後のセクタについては考慮せず、ヘッドチェンジ/シーク直後のセクタがアクセス単位の途中に含まれないようにすればよい。
但し、基本的には先頭LBAテーブルに登録された、ヘッドチェンジ/シーク直後のセクタやトラックジャンプシークTJ直後のセクタが、アクセス単位BLの先頭セクタとされ、またそれらの発生間隔に応じてアクセス単位のサイズが設定されることで、各アクセス単位の転送レートのバラツキを解消できる。
【0045】
ところで、実際には図3(a)の禁止LBAテーブルに登録されたセクタと、図3(b)の先頭LBAテーブルに登録されたセクタの両方を考慮しなければならない。
即ち禁止LBAテーブルと先頭LBAテーブルの登録セクタを考慮し、禁止LBAテーブルに登録されたセクタについてはアクセス単位に含まれないように、かつ先頭LBAテーブルに登録されたセクタについては、アクセス単位の先頭セクタとしてはよいが途中に含まれないようにする、という条件でアクセス単位領域マップを生成する。すると、図3(c)のようにアクセス単位BL0、BL1・・・が設定されたアクセス単位領域マップが形成されることになる。
このようにアクセス単位領域マップを生成し、この設定されたアクセス単位毎に連続して記録、再生が行われていくことで、各アクセス単位の記録再生中に、交替処理セクタやリトライセクタが含まれず、それによる転送レート低下は無くなる。また各アクセス単位の途中(先頭セクタ以外)でヘッドチェンジ/シークが発生し、転送レートが低下するということがなくなる。
【0046】
以上のように、交替処理セクタやリトライ箇所、ヘッドチェンジ/シーク箇所、トラックジャンプシーク箇所など、転送レート低下の原因となるドライブ動作の生じる箇所が分かれば、それを考慮してアクセス単位の設定を行うことで、それらの転送レート低下の影響をアクセス単位における転送時間から排除できる。
なお、アクセス単位の設定においては、各アクセス単位の開始位置だけでなく、アクセス単位のサイズも設定する。即ち、禁止LBAテーブルや先頭LBAテーブルに登録されたセクタが、なるべくアクセス単位の途中に含まれないように、適切なサイズも設定するものである。
【0047】
交替処理やヘッドチェンジ、トラックチェンジ位置などの情報はハードディスクドライブ固有の情報としてあらかじめハードディスク内部に保存されている情報から参照する場合と、LBAの連続するセクタごとの転送時間差から論理位置を推定する方法のいずれかにより得ることができる。
リトライ箇所やスリップ処理位置などついても同様にLBAの隣接するセクタごとの転送時間差から論理位置を推定することができる(スリップとは、欠陥等により予め使用しないものとして除外された1セクタ又は複数セクタの領域)。
実際の方法ではデータ領域全体に対してセクタごとのアクセス時間を測定し、LBAの隣接するセクタと比べてリトライ処理やスリップ処理などによるアクセスに余計な時間がかかる遅延箇所を遅延セクタとして登録し、この遅延セクタと交替処理セクタをまとめて禁止LBAテーブルを生成し、アクセス単位のフォーマット時に参照する方法が考えられる。

3.アクセス単位設定処理例

CPU11が実行するアクセス単位設定処理の例を図4〜図8で説明する。
図4はアクセス単位設定処理のフローチャートであり、CPU11は、ディスク21の記録領域のうちで、少なくともAVストリームデータの記録再生に用いる領域について図4のアクセス単位設定処理を行う。
この処理例では、上述したアクセス単位領域マップの生成のために先頭LBAテーブル、禁止LBAテーブルを用いるが、さらにその先頭LBAテーブル、禁止LBAテーブルを生成する前段階の処理として、トラック先頭LBAテーブル、遅延LBAテーブル、交替セクタLBAテーブル、ヘッドチェンジ先頭セクタLBAテーブルを生成するものとしている。
【0048】
まずステップF101として、トラック先頭LBAテーブル及び遅延LBAテーブルを作成する。
このステップF101としてのトラック先頭LBAテーブル及び遅延LBAテーブルの作成は、例えば図5の処理で実行できる。
図5の処理は、磁気ディスク21においてAVストリームデータの記録再生に用いる領域の全セクタについてアクセスに要する時間を計測し、トラックジャンプシークTJやリトライが発生するセクタを検出する処理となる。
CPU11はディスクコントローラ13に指示して、検査範囲とするAVストリームデータの記録再生領域のデータ再生アクセスを実行させ、各セクタ毎にアクセス所要時間を計測しながら図5の処理を進める。
【0049】
ステップF201では、まず検査範囲とする領域の先頭セクタのLBAを変数iに代入する。
そしてステップF206で変数iが検査範囲の終了セクタのLBAとなっていることが検出されるまで、ステップF207で変数iをインクリメントしながら、セクタi毎にステップF202〜F205の処理を行っていく。つまり、1セクタ毎に順次、ステップF202〜F205の処理を行う。
【0050】
ステップF202では、セクタiについて、そのセクタiを読み出すのに必要な時間がトラックスキュー基準値よりも大きいか否かを判断する。トラックスキュー基準値とは、図12に示したトラックジャンプシークTJが行われたセクタであるか否かを判別する基準値であり、例えばトラックジャンプシークTJに要する最低限の時間を基準にして設定される。
セクタiの読出時間が、トラックスキュー基準値以内であれば、それはトラックジャンプシークTJが行われないセクタであったと判断し、ステップF202からF206に進む。
セクタiの読出時間が、トラックスキュー基準値より大きければ、そのセクタiはトラックジャンプシークTJが行われた直後のセクタ、即ちトラックの先頭セクタの可能性があるとしてステップF202からF203に進む。
【0051】
ステップF203では、セクタiの読出に要した時間が、ディスク回転時間基準値より大きいか否かを判別する。
ディスク回転時間基準値とは、例えばディスク21の1回転に要する時間とする。図12で説明したように各トラックの先頭セクタは周方向にずらされて設定され、またそのズレ量はトラックジャンプシークTJに要する時間(トラックスキュー)を考慮して設定されている。このため通常のトラックジャンプシークTJの場合は、ディスク1回転以上の回転待ちを行うことなく、トラックの先頭セクタに到達できる。
一方、セクタの読出エラーによりリトライが行われた場合は、再度、そのセクタのアクセスを行うことになるため、少なくともディスク1回転の回転待ちが必要となる。
従ってセクタiの読出に要した時間が、ディスク回転時間基準値以内であれば、そのセクタiはトラックジャンプシークTJ直後の先頭セクタと推定でき、一方、セクタiの読出に要した時間が、ディスク回転時間基準値を越えていれば、そのセクタiは読出時にリトライが発生したセクタと推定できる。
そこで、ステップF203で、セクタiの読出に要した時間がディスク回転時間基準値以内である場合は、そのセクタiはトラックジャンプシークTJ直後の先頭セクタとし、ステップF204に進んで、該セクタiのLBA(iの値)をトラック先頭LBAテーブルに登録する。
また、ステップF203で、セクタiの読出に要した時間がディスク回転時間基準値を越えている場合は、そのセクタiはリトライが発生したセクタとし、ステップF205に進んで、該セクタiのLBA(iの値)を遅延LBAテーブルに登録する。
【0052】
変数i、つまりLBAの値を進行させながら、以上の処理を行うことにより、トラック先頭LBAテーブル、遅延LBAテーブルが生成される。
図6(a)(b)に、このようにして生成される先頭LBAテーブル、遅延LBAテーブルを示す。
図6(a)は、LBA「0」からの各セクタについてデータ読出に要した時間を示している。
ここで、ステップF202で用いるトラックスキュー基準値を1.1〜1.3msec、ステップF203で用いるディスク回転時間を10.0〜12.0msecと定義する。
すると、図6(a)のような計測結果の場合、破線で囲ったセクタ、即ちLBA「632」「1265」「1898」・・・はステップF204に進んでトラック先頭LBAテーブルに登録されるセクタとなる。
また実線で囲ったセクタ、即ちLBA「2235」「4801」・・・は、ステップF205に進んで遅延LBAテーブルに登録されるセクタとなる。
そして図6(b)に示すように、これらのセクタのLBAが登録されたトラック先頭LBAテーブル、遅延LBAテーブルが生成される。
【0053】
なお、トラック先頭LBAテーブルに登録されたLBAは、各トラックの先頭セクタとなるため、ディスク21について図8(a)の状況が推定される。
図8(a)は、仮にLBA「0」のセクタを含むトラックをTK1とし、トラック単位でTK1,TK2,TK3・・・を区切った図としている。
この場合、トラックTK1にはLBA「0」〜「631」のセクタ、トラックTK2にはLBA「632」〜「1264」のセクタ、トラックTK3にはLBA「1265」〜「1897」のセクタ・・・というように各トラックのセクタが形成されている。
そして、遅延LBAテーブルに登録されたLBA「2235」はトラックTK4内のセクタであり、LBA「4801」はトラックTK8内のセクタとなっている。
【0054】
図4のステップF101として図5の処理が行われ、図6(b)のようにトラック先頭LBAテーブル、遅延LBAテーブルが生成されたら、CPU11は続いて、図4のステップF102で交替セクタLBAテーブル、ヘッドチェンジ先頭LBAテーブルを作成する。
交替セクタLBAテーブルは、交替処理が行われるLBAを登録するテーブルである。
交替セクタ(交替する欠陥セクタと、それに代替するセクタ)のLBAの情報は、交替処理により登録されており、HDD10の内部に保持されている。例えば交替セクタ情報は磁気ディスク21内の特定領域に保存されたり、あるいはROM/RAM12において不揮発性メモリ領域に保存される。
従って、その交替セクタ情報を参照することで、CPU11は交替セクタLBAテーブルを作成することができる。
【0055】
また、ヘッドチェンジ先頭LBAテーブルは、アクセスのためにヘッドチェンジ/シークが行われるセクタのLBA、即ち図13の例で言えば、LBA「x+1」「y+1」「z+1」・・・を登録するテーブルである。
ヘッドチェンジ/シークは、例えばゾーン設定及びLBAの設定に応じて行われるもので、即ちヘッドチェンジ先頭LBAテーブルに登録すべきLBAは、ディスク22上でゾーン設定及びLBA設定を行った段階でわかるものである。このため、上記交替セクタ情報と同様に、磁気ディスク21内の特定領域或いはROM/RAM12の不揮発性メモリ領域などに、ヘッドチェンジ/シークを行うセクタの情報が記憶されていることで、CPU11は、それを参照してヘッドチェンジ先頭LBAテーブルを作成することができる。
【0056】
図6(c)に作成された交替セクタLBAテーブル、ヘッドチェンジ先頭LBAテーブルの例を示している。
なお、交替セクタLBAテーブルやヘッドチェンジ先頭LBAテーブルについても、セクタ毎の読出時間計測に基づいた推定により作成しても良い。即ち、データ読出時間の判定基準値として、上記トラックスキュー基準値、ディスク回転時間基準値に加え、ヘッドチェンジ/シークの判定基準値、交替処理判定基準値を設定し、各セクタについて計測された読出時間に基づいて、交替セクタLBAテーブル、ヘッドチェンジ先頭LBAテーブルに登録すべきものであるか否かを判定していくこともできる。
【0057】
図4のステップF101,F102で4つのテーブルを作成したら、続いてCPU11はステップF103で、4つのテーブルを用いて先頭LBAテーブルと禁止LBAテーブルを作成する。
この処理を図6(b)(c)(d)(e)に示す。
まず、トラック先頭LBAテーブルとヘッドチェンジ先頭LBAテーブルに登録されたLBAの情報をひとまとめにして、図6(d)の先頭LBAテーブルを生成する。
この処理により、先頭LBAテーブルは、ヘッドチェンジ/シーク直後のセクタのLBAとトラックジャンプシーク直後のセクタのLBAが登録されたものとして生成される。
また遅延LBAテーブルと交替セクタLBAテーブルに登録されたLBAの情報をひとまとめにして、図6(e)の禁止LBAテーブルを生成する。
この処理により、禁止LBAテーブルは、リトライの発生するセクタのLBAと交替処理セクタのLBAが登録されたものとして生成される。
【0058】
次にCPU22は、図4のステップF104で、先頭LBAテーブルと禁止LBAテーブルを参照して、アクセス単位領域マップを作成する。
これは、上記図3(c)で説明したように、禁止LBAテーブルに登録されたセクタについてはアクセス単位に含まれないように、かつ先頭LBAテーブルに登録されたセクタについては、アクセス単位の先頭セクタとしてはよいが途中に含まれないようにする、という条件でアクセス単位のサイズ及び各アクセス単位の先頭位置(先頭LBA)を設定する処理となる。
図7(a)(b)に具体例を示す。図7(a)は、図6(d)(e)に示した先頭LBAテーブルと禁止LBAテーブルを示している。
この図7(a)の先頭LBAテーブル、禁止LBAテーブルを参照して、各アクセス単位BL0、BL1・・・としての先頭LBAとサイズ(=セクタ数)を設定し、図7(b)のアクセス単位領域マップを作成する。
【0059】
AVストリームデータの記録再生のためのアクセス単位を2000セクタ程度に設定するものとし、また、アクセス単位サイズとしての許容範囲が例えば1800セクタ〜2400セクタ程度に設定されているとする。
すると、この場合、アクセス単位のセクタ数を、上記許容範囲内で適切なサイズとして1899セクタに設定する。
そして、先頭のLBA「0」から1899セクタ毎に、順にアクセス単位BL0、BL1・・・を設定していく。このとき、禁止LBAテーブルに登録されたセクタを含むトラックは含まないようにし、また先頭LBAテーブルに登録されたLBAはアクセス単位の先頭となるようにする。
【0060】
なお、この図6,図7の例の場合、アクセス単位のサイズ制限と1トラックにおけるセクタ数の関係から、図6(b)のトラック先頭LBAテーブルに登録されたLBAを全てアクセス単位内に含まないようにすることはできない。そこで、先頭LBAテーブルのうち、トラック先頭LBAテーブルに登録されたLBAについては、なるべくアクセス単位の先頭とするが、アクセス単位の途中となることを許容する。一方、同じく先頭LBAテーブルのうち、ヘッドチェンジ先頭LBAテーブルに登録されたLBAは、極力アクセス単位の先頭となるようにすることが適切となる。
【0061】
図7(b)に示すように、各アクセス単位BL0、BL1・・・の先頭LBA及びサイズが設定されたアクセス単位領域マップが作成されるが、これは、図8(b)のようにして生成されたものである。
即ち、禁止LBAテーブルに登録されたLBA「2235」「4801」がアクセス単位に含まれないようにするため、アクセス単位BL1は、アクセス単位BL0に連続させずにトラックTK4に含まれるセクタをスキップさせ、トラックTK5の先頭セクタから開始されるものとし、またアクセス単位BL2も、アクセス単位BL1に連続させずにトラックTK8に含まれるセクタをスキップさせ、トラックTK9の先頭セクタから開始されるようにする。
このようにトラック単位で、先頭LBAをずらしたアクセス単位は、図7(b)に☆を付したアクセス単位BL1,BL2,BL5となる。
そしてこのように設定された各アクセス単位BL0、BL1・・・は、上記図6(a)の計測結果に基づく場合、読出に必要な時間は全て36.8msecとなり、転送レートは211.5Mbpsとなる。つまり転送レートにバラツキがなくなる。
なお、アクセス単位の先頭をトラック単位でずらすこと(次のトラックの先頭から開始させること)により、トラックジャンプシークが行われるセクタはなるべくアクセス単位の先頭とされることになる。また、ヘッドチェンジ/シークが行われるセクタをアクセス単位の先頭セクタとするには、1又は複数トラックにわたってアクセス単位の開始位置をずらせばよい。
【0062】
比較のために、本例の処理を行わないでアクセス単位領域マップを生成した場合を図7(c)、図8(c)に示す。
例えば1つのアクセス単位のサイズを2000セクタとし、LBA「0」から単純に順番にアクセス単位BL0、BL1・・・を設定していくと、図7(c)、図8(c)に示すようになる。
すると、図8(c)に示すようにアクセス単位BL1,BL2は、途中にリトライセクタであるLBA「2235」「4801」が存在することになる。また図7(c)のアクセス単位BL7は例えば交替処理セクタが存在する。
これにより、図7(c)に破線で囲って示すように、転送レートが低下したりばらつくアクセス単位が生ずることになる。
この図7(c)の場合と比較することで、本例の図7(b)に示したアクセス単位領域マップによれば、各アクセス単位での転送レートの安定化が実現されることが理解される。
【0063】
図4のステップF104でアクセス単位領域マップを作成したら、CPU11は、ステップF105に進んで、作成したアクセス単位領域マップ、及び上述した各テーブル(トラック先頭LBAテーブル、遅延LBAテーブル、交替セクタLBAテーブル、ヘッドチェンジ先頭LBAテーブル、先頭LBAテーブル、禁止LBAテーブル)を保存する。例えば磁気ディスク21内の特定領域、或いはROM/RAM12において不揮発性メモリ領域に記憶させる。
なお、保存するのはアクセス単位領域マップのみでもよい。
【0064】
以上の処理で、アクセス単位の設定処理が完了する。
以後、CPU11は、カメラ部50の要求に基づくAVストリームデータの記録再生の際には、アクセス単位領域マップに基づいて、各アクセス単位毎に順番に記録又は再生が行われていくようにディスクコントローラ13を制御することになる。
例えば、カメラ部50から記録要求が発せられた場合は、カメラ部50から転送されてくるAVストリームデータをバッファRAM14に蓄積させながら、設定したアクセス単位サイズ毎にバッファRAM14から読み出させ、アクセス単位領域マップで指定されたLBAを書込位置として磁気ディスク21に記録させる制御を行う。
またカメラ部50からAVストリームデータの再生指示を受けた場合は、設定したアクセス単位領域マップを参照して、アクセス単位毎に、磁気ディスク21から読み出しを実行させる。
これによって、実際のAVストリームデータの記録再生は、例えば図7(c)のように設定されたアクセス単位毎に行われていき、記録再生時の転送レートが安定化される。
即ち本例のHDD10によれば、AVストリームデータの書き込み、読み込みのいずれに対しても、アクセス時間を見積もったアクセス単位ごとのデータ領域へのアクセスを行うことができ、交替処理やリトライ、ヘッドチェンジ等による転送レートの低下、バラツキを防ぐことができる。
これによりAVストリームデータの安定した記録再生が実現でき、例えばコマ落ち等の減少が発生することも回避できる。
また転送レートが安定化することは、記録可能な上限の転送レートも確実に判断できることにつながる。すると、ホスト機器からの書込要求に的確に対応できる。例えば或るホスト機器から、上限転送レート以上のデータ書込要求があった場合に、それを記録不能として、予めユーザに警告し、不適切な記録を未然に防ぐことなども可能となる。
【0065】
4.変形例

以下では、各種変形例や応用例を説明する。
図9は、テーブル作成処理の別例としての処理を示している。
上述したように、アクセス単位領域マップの作成のためには、禁止LBAテーブルと先頭LBAテーブルを作成するが、上記例では、この2つのテーブルの作成の前段階の処理として4つのテーブル(トラック先頭LBAテーブル、遅延LBAテーブル、交替セクタLBAテーブル、ヘッドチェンジ先頭LBAテーブル)を作成するものとした。
これ以外の例として、例えば先頭LBAテーブルは既にHDD内で把握しているヘッドチェンジ/シーク箇所としてのLBAを登録するものとし、またセクタ読出時間計測により、禁止LBAテーブルを直接作成するとともに交替処理(交替セクタの登録処理)も実行する例が考えられる。つまり、上記4つの前段処理のテーブルを作成せずに、禁止LBAテーブルと先頭LBAテーブルを直接的に作成する例である。
その場合、まず先頭LBAテーブルは、上述したヘッドチェンジ先頭LBAテーブルと同様の処理で作成する。つまりHDD10内に保持されたヘッドチェンジ/シーク箇所の情報を参照して先頭LBAテーブルを作成する。
その後、図9の処理により禁止LBAテーブルを作成するとともに、交替処理を行う。
【0066】
図9の処理は、上記図5と同様に、変数iに順次LBAを代入しながら、そのセクタiの読出時間に応じてテーブル登録をするか否かを判断する処理となる。即ち、ステップF301で、検査範囲とする領域の先頭セクタのLBAを変数iに代入する。
そしてステップF307で変数iが検査範囲の終了セクタのLBAとなっていることが検出されるまで、ステップF308で変数iをインクリメントしながら、セクタi毎にステップF302〜F306の処理を行っていく。つまり、1セクタ毎に順次、ステップF302〜F306の処理を行う。
【0067】
ステップF302では、セクタiの読出に要した時間が、ディスク回転時間基準値より大きいか否かを判別する。ディスク回転時間基準値は上述のとおりである。
読出に要した時間がディスク回転時間基準値より長い場合は、リトライが行われたか、或いは欠陥セクタとして読出不能であるか、或いはヘッドチェンジ/シークを要するセクタである可能性が高い。
そこで読出に要した時間がディスク回転時間基準値より長い場合は、まずステップF303で、ヘッドチェンジ/シークを要するセクタであるか否かを判別する。これは、例えば、この図9の処理に先立って作成した先頭LBAテーブルを参照し、該当LBAの有無を確認すれば良い。
セクタiが、ヘッドチェンジ/シークを要するセクタではない場合は、リトライセクタ又は交替処理が必要なセクタであると判断し、ステップF304に進んで、そのLBAを禁止LBAテーブルに登録する。
次にステップF305で、読出の際にリトライが何回行われたかを判断し、リトライ回数基準値と比較する。リトライ回数基準値とは、例えばリトライ回数の上限値或いは上限値よりは小さい所定値とする。即ち、読出のためにリトライが、リトライ回数上限に達していた場合(結果として読出エラーとなった場合)、もしくは読出は最終的に完了できたとしても所定の回数以上のリトライが行われた場合などであったか否かを判断する。そしてリトライ回数基準値以上のリトライが行われた場合は、交替処理が必要なセクタであると判断し、ステップF306に進んで交替処理を行う。即ち、代替させるセクタを設定し、交替管理情報として登録する。
【0068】
以上の処理を各セクタについて行うことにより、禁止LBAテーブルの登録と交替管理情報の生成を同時に行うことができる。
また、その後は、図4のステップF104,F105の処理が行われることで、アクセス単位領域マップを生成することができる。
【0069】
次に、図10にアクセス単位領域マップの生成の際の変形例を示す。
上記図3(c)のようにアクセス単位のサイズを一律に設定し(或いはサイズに制限を設けて)アクセス単位領域マップを生成した場合、図3(c)におけるスキップ区間は、AVストリームデータの格納に用いられないためそのまま無駄領域となる可能性が高い。 このような無駄領域を削減するために、アクセス単位が制限のない可変長とすることが考えられる。図10は、アクセス単位のサイズを可変長とした例であり、例えばアクセス単位BL1は、図3(c)のそれと比較してわかるように、スキップ区間を含むように拡大されたものとなっている。
このようにすることで、データ領域の有効利用を図ることができる。
【0070】
また図10において「*」を付した区間は、禁止LBAテーブル或いは先頭LBAテーブルに登録されたLBAに挟まれた区間がアクセス単位とするには短い区間である。これはストリームデータの記録再生のためのアクセス単位に設定することは適切ではない。そこで、これらの区間は転送レートに対する要求の小さい非ストリームデータ領域に用いることが考えられる。
【0071】
また、トラックチェンジ(トラックジャンプシークTJ)による転送レートのばらつきを排除するために、ストリームデータのアクセス単位をトラック単位とすることも有効な手法として考えられる。
同一ゾーンにおけるトラックあたりのセクタ数が同じであるならば、アクセス単位ごとのトラック数が異なっていてもストリームデータのアクセス単位が複数のトラックでれば転送データ量と転送時間の比が同じであるため転送レートが等しくなる。
【0072】
ところで、上記実施の形態では、HDD10内の制御部(CPU11やディスクコントローラ13)により、本発明の記録再生制御装置、記録再生制御方法が実現される例とした。この別例として、HDDとは別体の機器として図11に示すHDD制御装置60を設け、このHDD制御装置60が本発明の記録再生制御装置とされる例も考えられる。
図11のシステムの場合、例えばホスト機器とされるカメラ部50と、HDD10Aの間に、HDD制御装置60が接続される構成を採る。この場合HDD10Aは、従前の通常のHDDとされ、上述したアクセス単位設
定機能を備えないものとする。
【0073】
HDD制御装置60は、CPU61,ATAインターフェース63、外部インターフェース64、メモリコントローラ66、バッファRAM67を備え、これらの間のAVデータ/コマンド/制御情報の転送がCPUバス62、データバス65で行われる構成とされている。
外部インターフェース64はカメラ部50との間で、コマンドやAVストリームデータの記録再生の受け渡しを行う。ATAインターフェース63は、HDD10Aとの間でコマンドやAVストリームデータの受け渡しを行う。
HDD10Aでの記録のためにカメラ部50から外部インターフェース64に転送されてくるAVストリームデータは、メモリコントローラ66の制御によりバッファRAM67に一旦蓄積され、所定タイミングで読み出されてATAインターフェース63からHDD10Aに供給される。
またHDD10Aで再生されATAインターフェース63に転送されてくるAVストリームデータは、メモリコントローラ66の制御によりバッファRAM67に一旦蓄積され、所定タイミングで読み出されて外部インターフェース64からカメラ部50に供給される。
【0074】
この場合、システム接続された際に、CPU61がHDD10Aの制御して上述したテーブル作成及びアクセス単位領域マップの作成を行う。
即ち、CPU61はHDD10Aに対してコマンドを発し、AVストリームデータ記録領域とする範囲の各セクタの読出を実行させながら、例えば図4,図5と同様の処理でアクセス単位領域マップを作成する。
その後、カメラ部50から記録要求が発せられた場合は、カメラ部50から転送されてくるAVストリームデータをバッファRAM67に蓄積させながら、設定したアクセス単位サイズ毎にバッファRAM67から読み出し、HDD10Aに転送させていく。各アクセス単位サイズのAVストリームデータをHDD10Aに転送する際には、アクセス単位領域マップで設定した各アクセス単位の先頭のLBAを指定して、HDD10Aに記録指示を出す。
またカメラ部50からAVストリームデータの再生指示を受けた場合は、設定したアクセス単位領域マップを参照して、アクセス単位毎に、HDD10Aに読出を開始するLBAを指示し、再生を実行させる。
このような処理を行うHDD制御装置60によっても、上記実施の形態で説明したものと同様の効果を得ることができる。
また、このようにHDDとは別体のHDD制御装置60を設けることによっては、従前のHDDにおいて転送レートの安定化を図ることができるものとなり、従前のHDDをAVストリームデータの記録再生に適したものとすることができる。
【0075】
本発明はさらに上述した例に限定されず、以下のように各種の場合に適用できる。
図1のHDD10における磁気ディスク21の枚数は、1枚の場合を示したが、2枚以上のHDD10の場合も本発明を適用できる。また、1枚のディスク21において表面のみが記録面とされる場合も適用できる。但しその場合はヘッドチェンジ/シーク箇所についてはアクセス単位領域マップに反映させる必要はなくなる。
また、一般にHDDではディスク21は装置内に固定的に内蔵されるが、ディスク21を着脱可能とするHDDも考えられる。そのような装置でも本発明は適用可能である。
更に、HDD以外のディスクシステム(光ディスク記録再生装置、光磁気ディスク記録再生装置)においても本発明は適用できる。
【0076】
また本発明においてCPU11等にアクセス単位領域マップを実行させるプログラムは、例えばROM/RAM12に予め記憶しておくことができる。或いは磁気ディスク21に記憶しておき、ROM/RAM12にロードされる形態も考えられる。
【図面の簡単な説明】
【0077】
【図1】本発明の実施の形態のHDDの全体構成のブロック図である。
【図2】実施の形態のHDDのディスクコントローラのブロック図である。
【図3】実施の形態のアクセス単位設定の説明図である。
【図4】実施の形態のアクセス単位設定処理のフローチャートである。
【図5】実施の形態のテーブル作成処理のフローチャートである。
【図6】実施の形態のテーブル作成処理の説明図である。
【図7】実施の形態のアクセス単位領域マップ作成の説明図である。
【図8】実施の形態のアクセス単位領域マップ作成の説明図である。
【図9】実施の形態のテーブル更新処理のフローチャートである。
【図10】実施の形態の他のアクセス単位設定の説明図である。
【図11】他の実施の形態のHDD制御装置のブロック図である。
【図12】トラックとLBAの進行の説明図である。
【図13】LBAの進行とヘッドチェンジ及びシークの必要性の説明図である。
【図14】アクセス単位毎に転送レートのバラツキが発生する場合の説明図である。
【符号の説明】
【0078】
10 HDD(ハードディスク装置)、11,61 CPU、12 ROM/RAM、13 ディスクコントローラ、14,67 バッファRAM、15 データ読み書き制御部、16 サーボ制御部、21 磁気ディスク 22,22a,22b 磁気ヘッド、31 CPUインターフェース、35 ディスクフォーマッタ、

【特許請求の範囲】
【請求項1】
記録媒体におけるデータ記録領域内で、転送レート低下が発生する単位領域を判別する判別ステップと、
上記判別ステップで把握された、転送レート低下が発生する単位領域の情報を参照して、記録再生時に連続してアクセスしていく各アクセス単位としての上記記録媒体上での領域を設定する設定ステップと、
上記記録媒体に対するデータの記録再生を、上記設定ステップで設定されたアクセス単位毎に順に実行するように制御する記録再生制御ステップと、
を備えたことを特徴とする記録再生制御方法。
【請求項2】
上記判別ステップでは、転送レート低下が発生する単位領域のアドレスをテーブルデータとして登録する処理を行い、
上記設定ステップでは、上記テーブルデータを参照して、転送レート低下が発生する単位領域の全部又は一部が1アクセス単位としての領域の途中に含まれないように、各アクセス単位としての上記記録媒体上での領域を設定することを特徴とする請求項1に記載の記録再生制御方法。
【請求項3】
上記記録媒体に対しては、複数の記録再生ヘッドが、上記記録媒体における領域に応じて切り換えられて記録再生が行われる構造とされ、
上記判別ステップでは、上記記録再生ヘッドが切り換えもしくは移送されて記録再生が行われることになる先頭の単位領域を、転送レート低下が発生する単位領域として判別し、その単位領域のアドレスを上記テーブルデータとして登録することを特徴とする請求項2に記載の記録再生制御方法。
【請求項4】
上記記録媒体は、同心円状のトラックが形成されているとともに、上記各トラックは複数の上記単位領域に分割されるディスク記録媒体であり、
上記判別ステップでは、記録再生ヘッドがトラック移動を行って記録再生を行うトラックの先頭の単位領域を転送レート低下が発生する単位領域として判別し、その単位領域のアドレスを上記テーブルデータとして登録することを特徴とする請求項2に記載の記録再生制御方法。
【請求項5】
上記判別ステップでは、記録再生時にリトライが発生する単位領域を転送レート低下が発生する単位領域として判別し、その単位領域のアドレスを上記テーブルデータとして登録することを特徴とする請求項2に記載の記録再生制御方法。
【請求項6】
上記判別ステップでは、欠陥領域として交替処理された単位領域を転送レート低下が発生する単位領域として判別し、その単位領域のアドレスを上記テーブルデータとして登録することを特徴とする請求項2に記載の記録再生制御方法。
【請求項7】
記録媒体におけるデータ記録領域内で、転送レート低下が発生する単位領域を判別する判別手段と、
上記判別手段で把握された、転送レート低下が発生する単位領域の情報を参照して、記録再生時に連続してアクセスしていく各アクセス単位としての上記記録媒体上での領域を設定する設定手段と、
上記記録媒体に対するデータの記録再生を、上記設定手段で設定されたアクセス単位毎に順に実行するように制御する記録再生制御手段と、
を備えたことを特徴とする記録再生制御装置。
【請求項8】
上記判別手段は、転送レート低下が発生する単位領域のアドレスをテーブルデータとして登録する処理を行い、
上記設定手段は、上記テーブルデータを参照して、転送レート低下が発生する単位領域の全部又は一部が1アクセス単位としての領域の途中に含まれないように、各アクセス単位としての上記記録媒体上での領域を設定することを特徴とする請求項7に記載の記録再生制御装置。
【請求項9】
上記判別手段は、上記記録媒体に対して設けられた複数の記録再生ヘッドが切り換えもしくは移送されて記録再生が行われることになる先頭の単位領域を、転送レート低下が発生する単位領域として判別し、その単位領域のアドレスを上記テーブルデータとして登録することを特徴とする請求項8に記載の記録再生制御装置。
【請求項10】
上記記録媒体は、同心円状のトラックが形成されているとともに、上記各トラックは複数の上記単位領域に分割されるディスク記録媒体であり、
上記判別手段は、記録再生ヘッドがトラック移動を行って記録再生を行うトラックの先頭の単位領域を転送レート低下が発生する単位領域として判別し、その単位領域のアドレスを上記テーブルデータとして登録することを特徴とする請求項8に記載の記録再生制御装置。
【請求項11】
上記判別手段は、記録再生時にリトライが発生する単位領域を転送レート低下が発生する単位領域として判別し、その単位領域のアドレスを上記テーブルデータとして登録することを特徴とする請求項8に記載の記録再生制御装置。
【請求項12】
上記判別手段は、欠陥領域として交替処理された単位領域を転送レート低下が発生する単位領域として判別し、その単位領域のアドレスを上記テーブルデータとして登録することを特徴とする請求項8に記載の記録再生制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2006−31754(P2006−31754A)
【公開日】平成18年2月2日(2006.2.2)
【国際特許分類】
【出願番号】特願2004−205038(P2004−205038)
【出願日】平成16年7月12日(2004.7.12)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】