(57)【要約】【課題】外部機器が認識できない大容量のセクタサイズの記録媒体に、データの読み出し又は書き込みを行うにあたり、データのバッファリングを適切に行うことである。【解決手段】ディスクドライブ装置２０は、ディスクＤが装填されるディスク装填部２５と、ＰＣ１０と通信する通信部２６と、ＲＡＭ２２と、通信部２６を介してＰＣ１０から、第１のセクタサイズのセクタが、ＰＣ１０が認識可能なように分割されたセクタの第２のセクタサイズに対応するブロックのデータのリード要求又はライト要求を受信した場合に、その要求に必要な第１のセクタサイズのブロックのアドレス及びブロック数を算出し、当該算出したアドレス及びブロック数を用いて、第１のセクタサイズのセクタのデータをディスク装填部２５に装填されたディスクＤから読み出してＲＡＭ２２にバッファデータとして記憶させる制御部２１と、を備える。【選択図】図１
2010118125.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体が装填され、当該装填された記録媒体に、第１のセクタサイズのセクタ単位でデータの読み出し又は書き込みを行うための記録媒体装填部と、
外部機器と通信する通信部と、
メモリと、
前記通信部を介して外部機器から、第１のセクタサイズのセクタが、当該外部機器が認識可能なように分割されたセクタの第２のセクタサイズに対応するブロックのデータのリード要求又はライト要求を受信した場合に、データの読み出し又は書き込みに必要な第１のセクタサイズのブロックのアドレス及びブロック数を算出し、当該算出したアドレス及びブロック数を用いて、当該第１のセクタサイズのブロックに対応するセクタのデータを前記記録媒体装填部に装填された記録媒体から読み出して前記メモリにバッファデータとして記憶させる制御部と、を備える記録媒体ドライブ装置。
【請求項２】
前記制御部は、前記通信部を介して外部機器からリード要求を受信した場合に、当該リード要求に含まれる読み出し要求対象の第２のセクタサイズのブロックの要求開始アドレス及び要求ブロック数を用いて、実際の読み出し対象の第１のセクタサイズのブロックの開始実アドレスと、その実ブロック数と、当該開始実アドレスのブロックの第２のセクタサイズの先頭アドレスから前記要求開始アドレスまでの間の補正ブロックの補正ブロック数と、を算出し、当該算出した開始実アドレス及び実ブロック数に対応する第１のセクタサイズのセクタのデータを前記記録媒体装填部により前記記録媒体から読み出して前記メモリにバッファデータとして記憶させ、前記算出した補正ブロック数及び前記要求ブロック数を用いて、前記メモリに記憶されたバッファデータから、送信対象の第２のセクタサイズのデータを読み出して前記通信部を介して前記外部機器に送信する請求項１に記載の記録媒体ドライブ装置。
【請求項３】
前記制御部は、前記通信部を介して外部機器からリード要求を受信した場合に、当該リード要求の読み出し対象の第１のセクタサイズのブロックに対応するセクタのデータとともに、当該ブロックよりもアドレスが大きい第１のセクタサイズのブロックに対応するセクタのデータを前記記録媒体装填部により前記記録媒体から読み出して前記メモリにバッファデータとして記憶させる請求項２に記載の記録媒体ドライブ装置。
【請求項４】
前記制御部は、前記通信部を介して外部機器から書き込みデータのライト要求を受信した場合に、当該ライト要求に含まれる書き込み対象の第２のセクタサイズのブロックの要求開始アドレス及び要求ブロック数を用いて、実際の書き込み要求対象の第１のセクタサイズのブロックの開始実アドレスと、その実ブロック数と、当該開始実アドレスのブロックの第２のセクタサイズの先頭アドレスから前記要求開始アドレスまでの間の補正ブロックの補正ブロック数と、を算出し、当該算出した開始実アドレス及び実ブロック数を用いて、書き込み先の先頭及び／又は最終の第１のセクタサイズのセクタのデータを前記記録媒体装填部により前記記録媒体から読み出して前記メモリにバッファデータとして記憶させ、前記算出した補正ブロック数を用いて、前記書き込みデータを前記メモリに記憶されたバッファデータに上書きし、前記算出した実ブロック数及び開始実アドレスを用いて、前記メモリに記憶された第１のセクタサイズのバッファデータを読み出して前記記録媒体装填部により前記記録媒体に書き込む請求項１に記載の記録媒体ドライブ装置。
【請求項５】
前記制御部は、前記補正ブロックがある場合に、前記算出した開始実アドレスの先頭の第１のセクタサイズのセクタのデータを前記記録媒体から読み出して前記メモリに第１のバッファデータとして記憶させ、前記要求ブロック数及び前記補正ブロック数の加算値が前記分割数の整数倍でない場合に、前記開始実アドレス及び前記実ブロック数を用いて、書き込み先の最終の第１のセクタサイズのセクタのデータを前記記録媒体から読み出して前記メモリに第２のバッファデータとして記憶させる請求項４に記載の記録媒体ドライブ装置。
【請求項６】
前記制御部は、前記開始実アドレスを、
前記要求ブロック数／（第１のセクタサイズのセクタから第２のセクタサイズのセクタへの分割数）
の式で算出し、前記要求ブロック数及び前記補正ブロック数の加算値が前記分割数の整数倍である場合に、前記実ブロック数を、
（前記要求ブロック数＋前記補正ブロック数）／前記分割数
の式で算出し、前記要求ブロック数及び前記補正ブロック数の加算値が前記分割数の整数倍でない場合に、前記実ブロック数を、
（前記要求ブロック数＋前記補正ブロック数）／前記分割数＋１
の式で算出する請求項２から５のいずれか一項に記載の記録媒体ドライブ装置。
【請求項７】
前記制御部は、前記補正ブロック数を、前記要求開始アドレスを前記分割数で除算した余りとして算出する請求項６に記載の記録媒体ドライブ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録媒体ドライブ装置に関する。
【背景技術】
【０００２】
従来、データの記録媒体としての光磁気ディスクにデータの読み出し及び書き込みを行うディスクドライブ装置が知られている。また、リムーバブルなディスクドライブ装置は、ＰＣ（Personal Computer）等の外部機器に接続されて使用される。また、ディスクのデータアクセスの最小単位をセクタといい、その容量をセクタサイズという。近年では、ＵＤＯ（Ultra Density Optical）のように、８１９２Bytes/Sectorの大容量のセクタサイズでデータの読み出し及び書き込みがなされるディスクが知られている。
【０００３】
また、複数のセクタサイズＡとセクタサイズｎＡ（ｎは２以上の整数）のデータとの互換を取る場合に、ディスクのセクタサイズｎＡのデータフォーマットをｎ分割し、セクタサイズＡのデータをさらにセグメント単位に分割し、そのセグメントを複数のセクタサイズｎＡのセクタに渡って連続して記録することで、読み出し対象のセグメント単位のアドレスを算出し、そのアドレスのデータを読み出すディスク装置が考えられている（例えば、特許文献１参照）。
【０００４】
また、複数のセクタサイズＡとセクタサイズｎＡのデータとの互換を取る場合に、ディスクのセクタサイズｎＡのデータフォーマットをｎ分割して、ディスクのセクタサイズＡのデータフォーマットとして、そのディスクにデータを記録するディスク装置が考えられている（例えば、特許文献２参照）。
【特許文献１】特開平５−２９０５１６号公報
【特許文献２】特開平５−２８９８１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来、ＰＣのＯＳ（Operating System）は、８１９２Bytes/Sectorの大容量のセクタサイズをサポートしていなかった。例えば、既存ＯＳであるＷｉｎｄｏｗｓ（登録商標）、ＭａＣＯＳ、Ｌｉｎｕｘは、５１２Bytes/Sector、２０４８Bytes/Sectorのセクタサイズをサポートしていた。このため、特許文献１、２のデータアクセス方法及びデータ記録方式を応用し、大容量のセクタサイズのディスクに対し、この実際のセクタサイズのセクタを、ＯＳが認識可能なセクタサイズのセクタに分割し、分割したセクタ単位でデータを読み出し及び書き込みを行う構成が考えられる。
【０００６】
しかし、分割したセクタ単位でディスクにデータの読み出し又は書き込みを行う構成としても、実際にディスクに読み書きするデータ単位が大容量のセクタサイズであり、その読み書きの際のデータのバッファリングを適切に行う要請がある。
【０００７】
本発明の課題は、外部機器が認識できない大容量のセクタサイズの記録媒体に、データの読み出し又は書き込みを行うにあたり、データのバッファリングを適切に行うことである。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、請求項１に記載の発明は、
記録媒体が装填され、当該装填された記録媒体に、第１のセクタサイズのセクタ単位でデータの読み出し又は書き込みを行うための記録媒体装填部と、
外部機器と通信する通信部と、
メモリと、
前記通信部を介して外部機器から、第１のセクタサイズのセクタが、当該外部機器が認識可能なように分割されたセクタの第２のセクタサイズに対応するブロックのデータのリード要求又はライト要求を受信した場合に、データの読み出し又は書き込みに必要な第１のセクタサイズのブロックのアドレス及びブロック数を算出し、当該算出したアドレス及びブロック数を用いて、当該第１のセクタサイズのブロックに対応するセクタのデータを前記記録媒体装填部に装填された記録媒体から読み出して前記メモリにバッファデータとして記憶させる制御部と、を備える。
【０００９】
請求項２に記載の発明は、請求項１に記載の記録媒体ドライブ装置において、
前記制御部は、前記通信部を介して外部機器からリード要求を受信した場合に、当該リード要求に含まれる読み出し要求対象の第２のセクタサイズのブロックの要求開始アドレス及び要求ブロック数を用いて、実際の読み出し対象の第１のセクタサイズのブロックの開始実アドレスと、その実ブロック数と、当該開始実アドレスのブロックの第２のセクタサイズの先頭アドレスから前記要求開始アドレスまでの間の補正ブロックの補正ブロック数と、を算出させ、当該算出した開始実アドレス及び実ブロック数に対応する第１のセクタサイズのセクタのデータを前記記録媒体装填部により前記記録媒体から読み出して前記メモリにバッファデータとして記憶し、前記算出した補正ブロック数及び前記要求ブロック数を用いて、前記メモリに記憶されたバッファデータから、送信対象の第２のセクタサイズのデータを読み出して前記通信部を介して前記外部機器に送信する。
【００１０】
請求項３に記載の発明は、請求項２に記載の記録媒体ドライブ装置において、
前記制御部は、前記通信部を介して外部機器からリード要求を受信した場合に、当該リード要求の読み出し対象の第１のセクタサイズのブロックに対応するセクタのデータとともに、当該ブロックよりもアドレスが大きい第１のセクタサイズのブロックに対応するセクタのデータを前記記録媒体装填部により前記記録媒体から読み出して前記メモリにバッファデータとして記憶させる。
【００１１】
請求項４に記載の発明は、請求項１に記載の記録媒体ドライブ装置において、
前記制御部は、前記通信部を介して外部機器から書き込みデータのライト要求を受信した場合に、当該ライト要求に含まれる書き込み対象の第２のセクタサイズのブロックの要求開始アドレス及び要求ブロック数を用いて、実際の書き込み要求対象の第１のセクタサイズのブロックの開始実アドレスと、その実ブロック数と、当該開始実アドレスのブロックの第２のセクタサイズの先頭アドレスから前記要求開始アドレスまでの間の補正ブロックの補正ブロック数と、を算出し、当該算出した開始実アドレス及び実ブロック数を用いて、書き込み先の先頭及び／又は最終の第１のセクタサイズのセクタのデータを前記記録媒体装填部により前記記録媒体から読み出して前記メモリにバッファデータとして記憶させ、前記算出した補正ブロック数を用いて、前記書き込みデータを前記メモリに記憶されたバッファデータに上書きし、前記算出した実ブロック数及び開始実アドレスを用いて、前記メモリに記憶された第１のセクタサイズのバッファデータを読み出して前記記録媒体装填部により前記記録媒体に書き込む。
【００１２】
請求項５に記載の発明は、請求項４に記載の記録媒体ドライブ装置において、
前記制御部は、前記補正ブロックがある場合に、前記算出した開始実アドレスの先頭の第１のセクタサイズのセクタのデータを前記記録媒体から読み出して前記メモリに第１のバッファデータとして記憶させ、前記要求ブロック数及び前記補正ブロック数の加算値が前記分割数の整数倍でない場合に、前記開始実アドレス及び前記実ブロック数を用いて、書き込み先の最終の第１のセクタサイズのセクタのデータを前記記録媒体から読み出して前記メモリに第２のバッファデータとして記憶させる。
【００１３】
請求項６に記載の発明は、請求項２から５のいずれか一項に記載の記録媒体ドライブ装置において、
前記制御部は、前記開始実アドレスを、
前記要求ブロック数／（第１のセクタサイズのセクタから第２のセクタサイズのセクタへの分割数）
の式で算出し、前記要求ブロック数及び前記補正ブロック数の加算値が前記分割数の整数倍である場合に、前記実ブロック数を、
（前記要求ブロック数＋前記補正ブロック数）／前記分割数
の式で算出し、前記要求ブロック数及び前記補正ブロック数の加算値が前記分割数の整数倍でない場合に、前記実ブロック数を、
（前記要求ブロック数＋前記補正ブロック数）／前記分割数＋１
の式で算出する。
【００１４】
請求項７に記載の発明は、請求項６に記載の記録媒体ドライブ装置において、
前記制御部は、前記補正ブロック数を、前記要求開始アドレスを前記分割数で除算した余りとして算出する。
【発明の効果】
【００１５】
本発明によれば、外部機器が認識できない大容量のセクタサイズの記録媒体に、データの読み出し又は書き込みを行うにあたり、データのバッファリングを適切に行うことができる。
【発明を実施するための最良の形態】
【００１６】
添付図面を参照して本発明に係る好適な実施の形態を詳細に説明する。なお、本発明は、図示例に限定されるものではない。また、この発明の実施の形態は発明の最も好ましい形態を表すものであり、発明の用途や用語はこれに限定するものではない。
【００１７】
先ず、図１を参照して、本実施の形態の装置構成を説明する。図１に、本実施の形態におけるディスクドライブシステム１の構成を示す。
【００１８】
本実施の形態のディスクドライブシステム１は、記録媒体としてのディスクＤにデータを読み出し又は書き込みするシステムである。図１に示すように、ディスクドライブシステム１は、外部機器としてのＰＣ１０と、記録媒体ドライブ装置としてのディスクドライブ装置２０と、を備える。ＰＣ１０は、予めＯＳがインストールされ、ＯＳが起動しているものとする。ＰＣ１０は、ＯＳを介してディスクドライブ装置２０に対し、ディスクＤのデータ読み出し及び書き込み等の各種要求を行う。
【００１９】
ディスクドライブ装置２０は、リムーバブルなディスクドライブ装置であり、ＰＣ１０に接続され、ＰＣ１０の要求に応じて、ディスクＤのデータ読み出し及び書き込み等を行う。ディスクドライブ装置２０は、制御部２１と、メモリとしてのＲＡＭ（Random Access Memory）２２と、プログラムメモリ２３と、ＥＥＰＲＯＭ（Erasable Programmable Read Only Memory）２４と、記録媒体装填部としてのディスク装填部２５と、通信部２６と、を備える。
【００２０】
制御部２１は、ＣＰＵ（Central Processing Unit）により構成され、ディスクドライブ装置２０内の各部を制御する。制御部２１は、プログラムメモリ２３に記憶されたプログラムを読み出してＲＡＭ２２に展開し、ＲＡＭ２２に展開されたプログラムとの協働で、各種処理を実行する。
【００２１】
制御部２１は、データ読み出しプログラムに従い、ＰＣ１０（のＯＳ）からリード要求（リードコマンド）を受信すると、ディスク装填部２５に装填されたディスクＤの読み出しの開始実アドレスを算出し、補正ブロック数を取得し、補正ブロックが在る場合に要求ブロック数に補正ブロック数を加算し、要求ブロック数を分割数で除算し、その余りがある場合に実ブロック数を＋１する。制御部２１は、このようにして得た開始実アドレス及び実ブロック数を用いて、ディスクＤから読み出した実セクタをＲＡＭ２２にバッファデータとして格納し、このバッファデータの先頭アドレス、補正ブロック数、要求ブロック数、分割セクタサイズを用いて、このバッファデータから送信対象のデータを読み出してＰＣ１０に送信する。
【００２２】
実セクタとは、ディスク装填部２５でディスクＤに実際に読み出し、書き込みされる実セクタサイズのセクタである。この実セクタサイズは、ＰＣ１０のＯＳで認識できない大容量のセクタサイズである。分割セクタとは、実セクタを分割した分割セクタサイズのセクタである。この分割セクタサイズは、ＰＣ１０のＯＳで認識できるセクタサイズである。ブロックとは、各セクタに対応するセクタサイズのデータであり、データ読み出し処理、データ書き込み処理で扱うデータである。実ブロックとは、実セクタに対応し、実セクタサイズのデータである。分割ブロックとは、分割セクタに対応し、分割セクタサイズのデータである。補正ブロックとは、読み出し対象の実ブロックの先頭にあり、ＰＣ１０への送信対象でない分割ブロックである。
【００２３】
また、制御部２１は、データ書き込みプログラムに従い、ＰＣ１０（のＯＳ）からライト要求（ライトコマンド）を受信すると、ディスク装填部２５に装填されたディスクＤの書き込みの開始実アドレスを算出し、補正ブロック数を取得し、補正ブロックが在る場合に、書き込み対象の先頭セクタのデータをディスクＤから読み出して第１のバッファデータとしてＲＡＭ２２に格納し、要求ブロック数に補正ブロック数を加算し、要求ブロック数を分割数で除算し、その余りがある場合に、書き込み対象の最終セクタのデータをディスクＤから読み出して第２のバッファデータとしてＲＡＭ２２に格納し、実ブロック数を＋１する。制御部２１は、補正ブロック数等を用いて、ＰＣ１０から受信した書き込みデータをＲＡＭ２２に格納して（ＲＡＭ２２に第１、第２のバッファデータが格納されている場合は書き込みデータを第１、第２のバッファデータに上書きして）実ブロックのバッファデータとし、そのバッファデータをＲＡＭ２２から読み出してディスク装填部２５によりディスクＤの開始実アドレスより書き込む。
【００２４】
ＲＡＭ２２は、ＤＲＡＭ（Dynamic RAM）等の揮発性を有するメモリにより構成され、各種データ及び各種プログラムを一時的に格納するワークエリアを有する。また、ＲＡＭ２２は、後述するデータ読み出し処理及びデータ書き込み処理において、バッファデータを一時的に格納するバッファメモリとしても機能する。
【００２５】
プログラムメモリ２３は、フラッシュメモリ等のデータを読み出し及び書き込み可能な不揮発性メモリや、ＲＯＭ等により構成され、各種プログラムを記憶している。プログラムメモリ２３は、データ読み出しプログラム及びデータ書き込みプログラムを記憶している。
【００２６】
ＥＥＰＲＯＭ２４は、電気的にデータを読み出し及び書き込み可能な不揮発性のメモリである。ＥＥＰＲＯＭ２４には、不揮発性を要する設定データ等が記憶されている。ＥＥＰＲＯＭ２４には、後述する分割数情報３０が記憶されているものとする。
【００２７】
ディスク装填部２５は、ディスクＤが装填され、装填されたディスクＤからデータを読み出し、またディスクＤにデータを書き込むディスクドライブ部である。ディスク装填部２５は、ＰＣ１０のＯＳで認識できない大容量のセクタサイズでディスクＤにデータ読み出し及び書き込みを行う。本実施の形態では、ディスクＤが、セクタサイズがＰＣ１０のＯＳで認識できないＵＤＯディスク（メディア）であるものとして説明を行う。ディスク装填部２５は、ディスクＤにレーザ光を照射してデータを読み出し及び記録するため、レーザ光源、光ピックアップ、光ピックアップ駆動部、ディスク駆動部等を有する。
【００２８】
また、ディスク装填部２５は、制御部２１からセクタサイズ及び最終ＬＢＡを要求されると、ディスク装填部２５に装填されているディスクＤに記録されている実セクタサイズ及びその最終ＬＢＡを読み出し、読み出した実セクタサイズ及び最終ＬＢＡを制御部２１に出力する。
【００２９】
通信部２６は、ＳＣＳＩ、ＵＳＢ等の方式の通信カード等により構成され、通信ケーブルを介して接続されているＰＣ１０との情報の送受信を行う。
【００３０】
ＰＣ１０のＯＳが認識可能なディスクのセクタサイズが、512又は2048Bytes/Sectorであり、ディスクＤの実セクタの実セクタサイズが、8192Bytes/Sectorであるものとする。
【００３１】
次に、図２及び図３を参照して、ＥＥＰＲＯＭ２４に記憶されている分割数情報３０を説明する。図２に、セクタサイズの分割前後のセクタの一例を示す。図３に、分割数情報３０の構成を示す。
【００３２】
本実施の形態では、図２に示すように、ディスクＤの実セクタが8192Bytes/Sectorのセクタサイズを有する。この実セクタを４分割して、ＰＣ１０のＯＳが認識可能なセクタサイズである2048Bytes/Sectorのセクタ（分割セクタ）にする。この分割に応じて、実セクタのＬＢＡ（Logical Block Address）が、分割セクタのＬＢＡに変更される。
【００３３】
図３に示すように、分割数情報３０は、分割数３１の項目を有する。図３の分割数情報３０の分割数３１は、図２のように、実セクタを４分割する場合の数値である4が格納されている。
【００３４】
分割数情報３０は、分割セクタのセクタサイズがＰＣ１０のＯＳで認識可能なセクタサイズであれば、他の数値でもよい。例えば、分割数３１を16としてもよい。また、例えば、ＰＣ１０の操作部（図示略）にユーザからの分割数情報３０の変更指示が入力されると、その変更指示情報がＰＣ１０からディスクドライブ装置２０に送信され、制御部２１が、ＰＣ１０から受信した変更指示情報に応じてＥＥＰＲＯＭ２４内の分割数情報３０を変更（上書き）することにより、分割数情報３０を変更可能な構成としてもよい。この分割数情報３０の変更には、例えば、ベンダーユニークコマンドが用いられる。
【００３５】
次に、図４〜図７を参照して、ディスクドライブシステム１の動作を説明する。先ず、図４及び図５を参照して、ディスクドライブ装置２０で実行されるデータ読み出し処理を説明する。図４に、ディスクドライブ装置２０で実行されるデータ読み出し処理の流れを示す。
【００３６】
データ読み出し処理は、ディスクドライブ装置２０が、ＰＣ１０から送信されるリード要求に応じて、ディスクＤに記録されているデータを読み出してＰＣ１０に送信する処理である。データ読み出し処理の処理の実行前に、予め、ＰＣ１０（のＯＳ）とディスクドライブ装置２０との間の通信が確立しており、ディスクドライブ装置２０のディスク装填部２５にディスクＤが装填されたものとする。そして、ディスク容量確認コマンドがＰＣ１０からディスクドライブ装置２０に送信される。ディスクドライブ装置２０の制御部２１は、通信部２６を介してディスク容量確認コマンドをＰＣ１０から受信すると、ディスクＤの実セクタサイズ、最終ＬＢＡと、ＥＥＰＲＯＭ２４に記憶された分割数情報３０とに基づいて、実セクタが分割された、ＰＣ１０のＯＳが認識可能なセクタサイズ及びその最終ＬＢＡを算出して通信部２６を介してＰＣ１０に送信する。このようにして、ＰＣ１０が、ディスクＤの容量を認識しているものとする。
【００３７】
ＰＣ１０におけるディスクＤのディスク容量認識後、ＰＣ１０のＯＳは、操作部（図示略）のユーザ操作等に応じて、ディスクＤのデータ読み出し要求の情報としてのリード要求をディスクドライブ装置２０に送信する。リード要求は、要求開始アドレスと、要求ブロック数とが含まれる。要求開始アドレスは、読み出し要求対象の分割ブロックの先頭アドレス（ＬＢＡ）である。要求ブロック数とは、読み出し要求対象の分割ブロックの数である。
【００３８】
ディスクドライブ装置２０において、通信部２６を介してＰＣ１０からリード要求をＰＣ１０から受信開始したことをトリガとして、制御部２１は、プログラムメモリ２３から読み出されてＲＡＭ２２に適宜展開されたデータ読み出しプログラムとの協働で、データ読み出し処理を実行する。
【００３９】
図５に示すように、先ず、ＰＣ１０（のＯＳ）から送信されたリード要求が通信部２６を介して受信される（ステップＳ１１）。そして、ＥＥＰＲＯＭ２４に記憶された分割数情報３０が読み出され、分割数情報３０と、リード要求に含まれる要求開始アドレスとを用いて、ディスク装填部２５に装填されたディスクＤの読み出しの開始実アドレスが算出される（ステップＳ１２）。読み出し対象の開始実アドレスは、読み出し対象の実ブロックの先頭アドレス（ＬＢＡ）である。ステップＳ１２において、開始実アドレスは、要求開始アドレスが、分割数情報３０の分割数３１で除算されて算出される。
【００４０】
そして、分割数情報３０、要求開始アドレスを用いて、補正ブロック数が算出される（ステップＳ１３）。補正ブロックは、読み出し対象の実ブロックの先頭アドレスから要求開始アドレスまでの間にある分割ブロックであり、読み出し対象の実ブロックの先頭にあるＰＣ１０への送信対象でない分割ブロックである。実ブロックが先頭から読み出される場合には、補正ブロックが存在しなく、補正ブロック数が０になる。ステップＳ１３において、補正ブロック数は、要求開始アドレス％分割数（要求開始アドレスを分割数で除算した余り）の式により算出される。
【００４１】
そして、ステップＳ１３で算出された補正ブロック数に基づいて、補正ブロックが在るか（補正ブロック数≠０）否かが判別される（ステップＳ１４）。補正ブロックが在る場合（ステップＳ１４；ＹＥＳ）、リード要求に含まれる要求ブロック数に、ステップＳ１３で算出された補正ブロック数が加算される（ステップＳ１５）。そして、要求ブロック数が、分割数情報３０の分割数３１で除算される（ステップＳ１６）。補正ブロックがない場合（ステップＳ１４；ＮＯ）、ステップＳ１６に移行される。
【００４２】
そして、ステップＳ１６の算出結果が、読み出し対象の実ブロック数として取得される（ステップＳ１７）。そして、ステップＳ１６における要求ブロック数に対する分割数３１の除算の余りが在るか（要求ブロック数が分割数３１の倍数でないか）否かが判別される（ステップＳ１８）。除算の余りが在る場合（ステップＳ１８；ＹＥＳ）、ステップＳ１７で取得された実ブロック数に１が加算される（ステップＳ１９）。除算の余りがない場合（ステップＳ１８；ＮＯ）、ステップＳ２０に移行される。
【００４３】
つまり、（要求ブロック数＋補正ブロック数）が分割数の倍数である場合に、
実ブロック数＝（要求ブロック数＋補正ブロック数）／分割数
となり、（要求ブロック数＋補正ブロック数）が分割数の倍数でない場合に、
実ブロック数＝（要求ブロック数＋補正ブロック数）／分割数＋１
となる。
【００４４】
そして、ステップＳ１２で算出された開始実アドレスと、ステップＳ１９又はＳ１７で算出された実ブロック数とを用いて、ディスク装填部２５によりディスクＤから読み出し対象の実ブロックに対応する実セクタのデータが読み出され、ＲＡＭ２２にバッファデータとして格納される（ステップＳ２０）。ステップＳ２０では、開始実アドレスから実ブロック数分のデータがディスクＤから読み出される。
【００４５】
そして、バッファデータの先頭アドレス、補正ブロック数、要求ブロック数、分割セクタサイズを用いて、ＲＡＭ２２に格納されているバッファデータの読み出し対象且つ送信対象の分割ブロックの送信開始アドレスと、その送信データ量とが算出される（ステップＳ２１）。送信開始アドレスは、ＲＡＭ２２に格納されたバッファデータのうちの読み出し対象の分割ブロックの先頭アドレスであり、バッファデータの先頭アドレスに補正ブロック数を加えたアドレスである。送信データ量は、ＲＡＭ２２におけるバッファデータのうちの読み出し対象の分割ブロックのデータ量であり、要求ブロック数×分割セクタサイズに対応するデータ量である。
【００４６】
そして、ステップＳ２１で算出された送信開始アドレス及び送信データ量を用いて、ＲＡＭ２２に格納されたバッファデータから、送信データ量分の送信対象のデータが、送信開始アドレスより読み出され、通信部２６を介してＰＣ１０（のＯＳ）に送信され（ステップＳ２２）、データ読み出し処理が終了する。ステップＳ２２では、送信開始アドレスから送信データ量分のデータがＲＡＭ２２から読み出されて送信される。
【００４７】
図５を参照して、データ読み出し処理の具体例を説明する。分割数３１は4である。図５（ａ）に、第１のリード要求ブロックに対応する実ブロック及びバッファデータを示す。図５（ｂ）に、第２のリード要求ブロックに対応する実ブロック及びバッファデータを示す。図５（ｃ）に、第３のリード要求ブロックに対応する実ブロック及びバッファデータを示す。図５（ｄ）に、第４のリード要求ブロックに対応する実ブロック及びバッファデータを示す。
【００４８】
先ず、リード要求として、要求開始アドレスが100、要求ブロック数が4である第１のリード要求を考える。この場合、図５（ａ）に示すように、リード要求ブロックは、アドレスが100〜103の４つの分割ブロックとなる。そして、ステップＳ１２で算出される開始実アドレスが、100/4=25となる。そして、ステップＳ１３で算出される補正ブロック数が、100%4=0となる。そして、ステップＳ１６の除算の余りが(4+0)%4=0であり、ステップＳ１６，Ｓ１７で算出される実ブロック数が、(4+0)/4=1となる。そして、ステップＳ２０でアドレスが25の１つの実セクタのデータがディスクＤから読み出されてバッファデータとしてＲＡＭ２２に格納される。補正ブロック数が0であり、要求ブロック数が4であるので、ステップＳ２２で全てのバッファデータが読み出されてＰＣ１０に送信される。
【００４９】
次いで、リード要求として、要求開始アドレスが100、要求ブロック数が3である第２のリード要求を考える。この場合、図５（ｂ）に示すように、リード要求ブロックは、アドレスが100〜102の３つの分割ブロックとなる。そして、ステップＳ１２で算出される開始実アドレスが、100/4=25となる。そして、ステップＳ１３で算出される補正ブロック数が、100%4=0となる。そして、ステップＳ１６の除算の余りが(3+0)%4≠0であり、ステップＳ１６〜Ｓ１９で算出される実ブロック数が、(3+0)/4+1=1となる。そして、ステップＳ２０でアドレスが25の１つの実セクタのデータがディスクＤから読み出されてバッファデータとしてＲＡＭ２２に格納される。補正ブロック数が0であり、要求ブロック数が3であるので、ステップＳ２２でバッファデータの先頭アドレスから３つの分割ブロック分が読み出されてＰＣ１０に送信される。
【００５０】
次いで、リード要求として、要求開始アドレスが101、要求ブロック数が3である第３のリード要求を考える。この場合、図５（ｃ）に示すように、リード要求ブロックは、アドレスが101〜103の３つの分割ブロックとなる。そして、ステップＳ１２で算出される開始実アドレスが、101/4=25となる。そして、ステップＳ１３で算出される補正ブロック数が、101%4=1となる。そして、ステップＳ１６の除算の余りが(3+1)%4=0であり、ステップＳ１６，Ｓ１７で算出される実ブロック数が、(3+1)/4=1となる。そして、ステップＳ２０でアドレスが25の１つの実セクタのデータがディスクＤから読み出されてバッファデータとしてＲＡＭ２２に格納される。補正ブロック数が1であり、要求ブロック数が3であるので、ステップＳ２２でバッファデータの先頭アドレスから１つの分割ブロック分後の３つの分割ブロック分が読み出されてＰＣ１０に送信される。
【００５１】
次いで、リード要求として、要求開始アドレスが101、要求ブロック数が8である第４のリード要求を考える。この場合、図５（ｄ）に示すように、リード要求ブロックは、アドレスが101〜108の８つの分割ブロックとなる。そして、ステップＳ１２で算出される開始実アドレスが、101/4=25となる。そして、ステップＳ１３で算出される補正ブロック数が、101%4=1となる。そして、ステップＳ１６の除算の余りが(8+1)%4≠0であり、ステップＳ１６〜Ｓ１９で算出される実ブロック数が、(8+1)/4+1=3となる。そして、ステップＳ２０でアドレスが25，26，27の３つの実セクタのデータがディスクＤから読み出されてバッファデータとしてＲＡＭ２２に格納される。補正ブロック数が1であり、要求ブロック数が8であるので、ステップＳ２２でバッファデータの先頭アドレスから１つの分割ブロック分後の８つの分割ブロック分が読み出されてＰＣ１０に送信される。
【００５２】
次に、図６及び図７を参照して、ディスクドライブ装置２０で実行されるデータ書き込み処理を説明する。図６に、ディスクドライブ装置２０で実行されるデータ書き込み処理の流れを示す。
【００５３】
データ書き込み処理は、ディスクドライブ装置２０が、ＰＣ１０から送信されるライト要求に応じて、ディスクＤにデータを書き込む処理である。データ読み出し処理と同様に、データ書き込み処理の処理の実行前に、予め、ＰＣ１０（のＯＳ）が、ディスク装填部２５に装填されたディスクＤのディスク容量（実セクタサイズ及びその最終ＬＢＡ）を認識しているものとする。
【００５４】
ＰＣ１０におけるディスクＤのディスク容量認識後、ＰＣ１０のＯＳは、操作部（図示略）のユーザ操作等に応じて、ディスクＤのデータ書き込み要求の情報としてのライト要求をディスクドライブ装置２０に送信する。ライト要求は、要求開始アドレスと、要求ブロック数ととが含まれる。要求開始アドレスは、書き込み要求対象の分割ブロックの先頭アドレス（ＬＢＡ）である。要求ブロック数とは、書き込み要求対象の分割ブロックの数である。
【００５５】
ディスクドライブ装置２０において、通信部２６を介してＰＣ１０（のＯＳ）からライト要求をＰＣ１０から受信開始したことをトリガとして、制御部２１は、プログラムメモリ２３から読み出されてＲＡＭ２２に適宜展開されたデータ書き込みプログラムとの協働で、データ書き込み処理を実行する。
【００５６】
図５に示すように、先ず、ＰＣ１０から送信されたライト要求が通信部２６を介して受信される（ステップＳ３１）。そして、ＥＥＰＲＯＭ２４に記憶された分割数情報３０が読み出され、分割数情報３０と、ライト要求に含まれる要求開始アドレスとを用いて、ディスク装填部２５に装填されたディスクＤの書き込みの開始実アドレスが算出される（ステップＳ３２）。読み出し対象の開始実アドレスは、読み出し対象の実ブロックの先頭アドレス（ＬＢＡ）である。ステップＳ３２において、開始実アドレスは、要求開始アドレスが、分割数情報３０の分割数３１で除算されて算出される。
【００５７】
そして、分割数情報３０、要求開始アドレスを用いて、補正ブロック数が算出される（ステップＳ３３）。補正ブロックとは、読み出し対象の実ブロックの先頭にある書き込みされない分割ブロックである。実ブロックが先頭から書き込まれる場合には、補正ブロックが存在しなく、補正ブロック数が０になる。ステップＳ３３において、補正ブロック数は、要求開始アドレス％分割数（要求開始アドレスを分割数で除算した余り）の式により算出される。
【００５８】
そして、ステップＳ３３で算出された補正ブロック数に基づいて、補正ブロックが在るか（補正ブロック数≠０）否かが判別される（ステップＳ３４）。補正ブロックが在る場合（ステップＳ３４；ＹＥＳ）、ディスク装填部２５を介して、ステップＳ３２で算出された開始実アドレスの１つの実セクタ（先頭セクタ）のデータがディスクＤから読み出され、その読み出されたデータがＲＡＭ２２に第１のバッファデータとして格納される（ステップＳ３５）。ステップＳ３５では、第１のバッファデータの書き込み先のＲＡＭ２２上の先頭アドレスが指定され、ディスクＤから読み出されたデータが、この指定された先頭アドレスより書き込まれるとともに、この先頭アドレスが保持されるものとする。そして、ライト要求に含まれる要求ブロック数に、ステップＳ３３で算出された補正ブロック数が加算される（ステップＳ３６）。そして、要求ブロック数が、分割数情報３０の分割数３１で除算される（ステップＳ３７）。補正ブロックがない場合（ステップＳ３４；ＮＯ）、ステップＳ３７に移行される。
【００５９】
そして、ステップＳ３７の算出結果が、書き込み対象の実ブロック数として取得される（ステップＳ３８）。そして、ステップＳ３８における要求ブロック数に対する分割数３１の除算の余りが在るか（要求ブロック数が分割数３１の倍数でないか）否かが判別される（ステップＳ３９）。除算の余りが在る場合（ステップＳ３９；ＹＥＳ）、ステップＳ３８で取得された実ブロック数に１が加算される（ステップＳ４０）。除算の余りがない場合（ステップＳ３９；ＮＯ）、ステップＳ４２に移行される。
【００６０】
つまり、（要求ブロック数＋補正ブロック数）が分割数の倍数である場合に、
実ブロック数＝（要求ブロック数＋補正ブロック数）／分割数
となり、（要求ブロック数＋補正ブロック数）が分割数の倍数でない場合に、
実ブロック数＝（要求ブロック数＋補正ブロック数）／分割数＋１
となる。
【００６１】
ステップＳ４０の実行後、ディスク装填部２５を介して、ステップＳ３２で算出された開始実アドレスから実ブロック数番目の１つの実セクタ（書き込み対象の最終セクタ）のデータがディスクＤから読み出され、その読み出されたデータがＲＡＭ２２に第２のバッファデータとして格納される（ステップＳ４１）。ステップＳ４１で読み出される最終セクタの実アドレス（ＬＢＡ）は、次式（１）により算出される。
最終セクタの実アドレス＝開始実アドレス＋実ブロック数−１  …（１）
【００６２】
なお、ステップＳ４１で算出される式（１）は、ステップＳ３９でＹＥＳ及びＮＯのケースを包含する次式（２）に基づく。
最終セクタの実アドレス＝開始実アドレス＋（要求ブロック数＋補正ブロック数）／分割数＋第２補正ブロック数−１  …（２）
但し、（要求ブロック数＋補正ブロック数）％分割数≠０の場合に、第２補正ブロック数＝１であり、（要求ブロック数＋補正ブロック数）％分割数＝０の場合に、第２補正ブロック数＝０である。
【００６３】
また、ステップＳ４１において、第１のバッファデータがＲＡＭ２２に書き込まれている場合に、第２のバッファデータは、ステップＳ３５で保持された第１のバッファデータのＲＡＭ２２上の先頭アドレスが開始実アドレスの先頭に対応しているものとして、第２のバッファデータが、上記最終セクタの実アドレスの先頭に対応するＲＡＭ２２上のアドレスより格納される。また、ステップＳ４１において、第１のバッファデータがＲＡＭ２２に書き込まれていない場合に、ＲＡＭ２２上のバッファデータの書き込み先の先頭アドレスが指定され、この指定されたＲＡＭ２２上の先頭アドレスが開始実アドレスの先頭に対応するものとして、第２のバッファデータが、上記最終セクタの実アドレスの先頭に対応するＲＡＭ２２上のアドレスより格納される。
【００６４】
そして、ＰＣ１０（のＯＳ）から送信された書き込み要求対象の書き込みデータが通信部２６を介して受信され、ＲＡＭ２２上のバッファデータの先頭アドレス、補正ブロック数、分割セクタサイズを用いて、その書き込みデータがＲＡＭ２２に格納（上書き）されてバッファデータとされる（ステップＳ４２）。ステップＳ４２において、ＲＡＭ２２に第１のバッファデータ及び／又は第２のバッファデータが格納されている場合には、第１のバッファデータ及び／又は第２のバッファデータの書き込み対象のアドレスに書き込みデータが上書きされる。ＲＡＭ２２に第１のバッファデータが格納されている場合には、補正ブロック数×分割セクタサイズにより、補正ブロックのデータ量が算出され、ステップＳ３５で保持された第１のバッファデータのＲＡＭ２２上の先頭アドレスから補正ブロックのデータ量分後のアドレスより、書き込みデータが上書きされる。ＲＡＭ２２に第２のバッファデータのみが格納されている場合には、ステップＳ４１で指定されたバッファデータのＲＡＭ２２上の先頭アドレス（開始実アドレスの先頭に対応するＲＡＭ２２上のアドレス）より、書き込みデータが上書きされる。ＲＡＭ２２に第１及び第２のバッファデータが格納されていない場合には、ＲＡＭ２２上の先頭アドレスが指定され、その指定されたＲＡＭ２２上の先頭アドレスより、書き込みデータのみが格納される。いずれの場合も、バッファデータは、実ブロック数分のデータとなる。
【００６５】
そして、バッファデータのＲＡＭ２２上の先頭アドレス、実ブロック数及び実セクタサイズを用いて、実ブロック数×実セクタサイズのデータ量のバッファデータが、ＲＡＭ２２から、バッファデータのＲＡＭ２２上の先頭アドレスより読み出され、開始実アドレス、実ブロック数及び実セクタサイズを用いて、そのバッファデータが、ディスク装填部２５により、ディスクＤの開始実アドレスより書き込まれ（ステップＳ４３）、データ書き込み処理が終了する。
【００６６】
図７を参照して、データ書き込み処理の具体例を説明する。分割数３１は4である。図７に、ライト要求ブロックに対応する第１、第２のバッファデータ、上書きした書き込みデータ及びバッファデータを示す。
【００６７】
要求開始アドレスが101、要求ブロック数が8であるライト要求を考える。この場合、図７に示すように、ライト要求ブロックは、アドレスが101〜108の８つの分割ブロックとなる。そして、ステップＳ３２で算出される開始実アドレスが、101/4=25となる。そして、ステップＳ３３で算出される補正ブロック数が、101%4=1となる。このため、ステップＳ３５で、開始実アドレスが25の１つの実セクタのデータがディスクＤから読み出されて第１のバッファデータとしてＲＡＭ２２に格納される。
【００６８】
そして、ステップＳ３７の除算の余りが(8+1)%4≠0であり、ステップＳ３７〜Ｓ４０で算出される実ブロック数が、(8+1)/4+1=3となる。そして、ステップＳ４１で、実セクタのアドレスが25+3-1=27である実セクタのデータがディスクＤから読み出されて第２のバッファデータとしてＲＡＭ２２に格納される。そして、ステップＳ４２で、第１のバッファデータの先頭アドレスから１つの補正ブロックのデータ量だけ後のアドレスに、分割ブロック数が8の書き込みデータがＲＡＭ２２に格納されることにより、第１及び第２のバッファデータに書き込みデータが上書きされる。そして、ステップＳ４３において、アドレスが25〜27の３つの実ブロックのバッファデータがＲＡＭ２２から読み出されて、ディスクＤに書き込まれる。
【００６９】
以上、本実施の形態によれば、ディスクドライブ装置２０は、ディスクＤのデータのリード要求又はライト要求を受信した場合に、データの読み出し又は書き込みに必要な実ブロックの開始実アドレス及び実ブロック数を算出し、当該算出した開始実アドレス及び実ブロック数を用いて、当該実ブロックに対応する実セクタのデータをディスク装填部２５によりディスクＤから読み出してＲＡＭ２２にバッファデータとして記憶する。このため、ＰＣ１０（のＯＳ）が認識できない大容量のセクタサイズのディスクＤに、データの読み出し又は書き込みを行うにあたり、実セクタサイズ単位のバッファデータを用いて、データのバッファリングを適切に行うことができる。
【００７０】
また、ディスクドライブ装置２０は、リード要求を受信した場合に、当該リード要求に含まれる読み出し要求対象の分割ブロックの要求開始アドレス及び要求ブロック数等を用いて、読み出し対象の実ブロックの開始実アドレス及び実ブロック数と、補正ブロック数と、を算出し、当該算出した開始実アドレス及び実ブロック数に対応する実セクタのデータをディスク装填部２５によりディスクＤから読み出してバッファデータとしてＲＡＭ２２に記憶し、前記算出した補正ブロック数及び要求ブロック数等を用いて、ＲＡＭ２２に記憶されたバッファデータから、送信対象の送信データを読み出して通信部２６を介してＰＣ１０に送信する。このため、ディスクＤのデータの読み出しを行うにあたり、実セクタのデータをディスクＤから読み出して実セクタサイズ単位のバッファデータとしてバッファリングを適切に行うことができ、要求されたデータを確実にバッファデータから読み出してＰＣ１０に送信できる。
【００７１】
また、ディスクドライブ装置２０は、データ読み出し処理における開始実アドレスを、
（要求ブロック数／分割数）
の式で算出し、
要求ブロック数及び補正ブロック数の加算値が分割数の整数倍である場合に、実ブロック数を、
（要求ブロック数＋補正ブロック数）／分割数
の式で算出し、要求ブロック数及び補正ブロック数の加算値が分割数の整数倍でない場合に、実ブロック数を、
（要求ブロック数＋補正ブロック数）／分割数＋１
の式で算出する。このため、ディスクＤにデータの読み出し行うにあたり、開始実アドレス、実ブロック数を容易且つ正確に算出できる。
【００７２】
また、ディスクドライブ装置２０は、書き込みデータのライト要求を受信した場合に、当該ライト要求に含まれる書き込み対象の分割ブロックの要求開始アドレス及び要求ブロック数等を用いて、実際の書き込み要求対象の実ブロックの開始実アドレスと、その実ブロック数と、補正ブロック数と、を算出し、当該算出した開始実アドレス及び実ブロック数等を用いて、書き込み先の先頭及び／又は最終の実ブロックに対応する実セクタのデータをディスク装填部２５によりディスクＤから読み出してＲＡＭ２２にバッファデータとして記憶し、前記算出した補正ブロック数等を用いて、ＰＣ１０から受信した書き込みデータをＲＡＭ２２に記憶されたバッファデータに上書きし、前記算出した実ブロック数及び開始実アドレス等を用いて、ＲＡＭ２２に記憶されたバッファデータを読み出してディスク装填部２５によりディスクＤに書き込む。このため、ディスクＤにデータの書き込みを行うにあたり、実セクタのデータをディスクＤから読み出して書き込みデータを上書きして、実セクタサイズ単位のバッファデータとしてバッファリングを適切に行うことができ、要求された書き込みデータを含むバッファデータを読み出してディスクＤに確実に書き込みできる。
【００７３】
また、ディスクドライブ装置２０は、データ書き込み処理における開始実アドレスを、
（要求ブロック数／分割数）
の式で算出し、要求ブロック数及び補正ブロック数の加算値が分割数の整数倍である場合に、実ブロック数を、
（要求ブロック数＋補正ブロック数）／分割数
の式で算出し、要求ブロック数及び補正ブロック数の加算値が分割数の整数倍でない場合に、実ブロック数を、
（要求ブロック数＋補正ブロック数）／分割数＋１
の式で算出する。このため、ディスクＤにデータの書き込みを行うにあたり、データ書き込み処理における開始実アドレス、実ブロック数を容易且つ正確に算出できる。
【００７４】
また、ディスクドライブ装置２０は、補正ブロックがある場合に、前記算出した開始実アドレスに対応する書き込み先の先頭セクタのデータをディスクＤから読み出してＲＡＭ２２に第１のバッファデータとして記憶し、要求ブロック数及び補正ブロック数の加算値が分割数の整数倍でない場合に、前記開始実アドレス、前記実ブロック数等を用いて、最終セクタの実アドレスを算出し、最終セクタの実アドレスによりディスクＤから最終セクタのデータを読み出してＲＡＭ２２に第２のバッファデータとして記憶する。このため、ディスクＤにデータの書き込みを行うにあたり、書き込みデータを含む実セクタサイズ単位の最小のバッファデータを容易且つ正確に記憶できる。
【００７５】
なお、上記実施の形態における記述は、本発明に係る好適な記録媒体ドライブ装置の一例であり、これに限定されるものではない。
【００７６】
例えば、上記実施の形態のデータ読み出し処理において、１つのリード要求に対応するデータ読み出しを説明したが、これに限定されるものではない。実際にディスクのデータを読み出す場合には、読み出し対象のブロックの連続したアドレスを複数のコマンド（リード要求）に分けて読み出し要求される。それを見越して、リード要求に対応するブロック数よりも多くの実ブロックを読み出しておく構成としてもよい。
【００７７】
図８に、第５のリード要求ブロックに対応する、格納するバッファデータ、ＰＣ１０に送信するバッファデータ、及び第５、第６のリード要求に対応するバッファデータを示す。図８に示すように、要求開始アドレスが100、要求ブロック数が4である第５のリード要求と、要求開始アドレスが104、要求ブロック数が4である第６のリード要求と、要求開始アドレスが108、要求ブロック数が5である第７のリード要求と、の連続した３つのリード要求を考える。
【００７８】
第５のリード要求に対応するバッファデータは、開始実アドレスが25のアドレスの１つの実ブロックのデータとなる。第５のリード要求がＰＣ１０（のＯＳ）からディスクドライブ装置２０へ送信されると、ディスクドライブ装置２０において、アドレス25の実セクタとともに、このアドレスに連続した26〜28のアドレスの３つの実セクタのデータが読み出され、25〜28のアドレスのバッファデータとしてＲＡＭ２２に格納される。このとき、バッファデータは、分割ブロックのアドレスで管理される。そして、第５のリード要求に対応して、アドレスが100〜103のバッファデータがＲＡＭ２２から読み出されてＰＣ１０に送信される。
【００７９】
次いで、第６のリード要求がＰＣ１０（のＯＳ）からディスクドライブ装置２０へ送信されると、ディスクドライブ装置２０において、制御部２１により、アドレスが104〜107のバッファデータが在るか否かが判別され、このバッファデータが在るので、このアドレスが104〜107のバッファデータがＲＡＭ２２から読み出されて通信部２６を介してＰＣ１０に送信される。仮に、対応するバッファデータがない場合には、第６のリード要求に対応するバッファデータがディスクＤから読み出されてＲＡＭ２２に格納される。次いで、第７のリード要求がＰＣ１０（のＯＳ）からディスクドライブ装置２０へ送信されると、ディスクドライブ装置２０において、制御部２１により、アドレスが108〜112のバッファデータが在るか否かが判別され、このバッファデータが在るので、このアドレスが108〜112のバッファデータがＲＡＭ２２から読み出されて通信部２６を介してＰＣ１０に送信される。
【００８０】
次回以降のリード要求を見越してバッファデータに格納しておく実ブロックの数は、予め設定された所定数、ＲＡＭ２２に格納可能なサイズの数等とされる。この実ブロック数は、ＥＥＰＲＯＭ２４に予め記憶されていたり、データ読み出しプログラム（ファームウェア）に組み込まれてるものとする。この構成によれば、ＲＡＭ２２へのバッファデータの格納回数を低減できる。
【００８１】
また、上記実施の形態において、記録媒体ドライブ装置として、ＵＤＯディスクであるディスクＤのデータ読み出し及び書き込みを行うディスクドライブ装置２０を説明したが、これに限定されるものではない。例えば、記録媒体としては、セクタ方式でデータが記録されるものでよく、他の光学ディスク等のディスク、半導体メモリ等を記録媒体とし、この記録媒体のデータ読み出し及び書き込みを行う記録媒体ドライブ装置を用いる構成としてもよい。
【００８２】
また、上記実施の形態において、記録媒体のデータ読み書きを行う外部機器として、ＯＳを含むＰＣを説明したが、これに限定されるものではない。外部機器は、サーバ装置等、他の外部機器としてもよい。
【００８３】
また、以上の実施の形態におけるディスクドライブシステム１を構成する各部の細部構成及び細部動作に関して本発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【図面の簡単な説明】
【００８４】
【図１】本発明に係る実施の形態におけるディスクドライブシステムの構成を示すブロック図である。
【図２】セクタサイズの分割前後のセクタの一例を示す図である。
【図３】分割数情報の構成を示す図である。
【図４】ディスクドライブ装置で実行されるデータ読み出し処理を示すフローチャートである。
【図５】（ａ）は、第１のリード要求ブロックに対応する実ブロック及びバッファデータを示す図である。（ｂ）は、第２のリード要求ブロックに対応する実ブロック及びバッファデータを示す図である。（ｃ）は、第３のリード要求ブロックに対応する実ブロック及びバッファデータを示す図である。（ｄ）は、第４のリード要求ブロックに対応する実ブロック及びバッファデータを示す図である。
【図６】ディスクドライブ装置で実行されるデータ書き込み処理を示すフローチャートである。
【図７】ライト要求ブロックに対応する第１、第２のバッファデータ、上書きした書き込みデータ及びバッファデータを示す図である。
【図８】第５のリード要求ブロックに対応する、格納するバッファデータ、ＰＣに送信するバッファデータ、及び第５、第６のリード要求に対応するバッファデータを示す図である。
【符号の説明】
【００８５】
１  ディスクドライブシステム
１０  ＰＣ
２０  ディスクドライブ装置
２１  制御部
２２  ＲＡＭ
２３  プログラムメモリ
２４  ＥＥＰＲＯＭ
２５  ディスク装填部
２６  通信部
Ｄ  ディスク
【図１】
2010118125.tif 000003
【図２】
2010118125.tif 000004
【図３】
2010118125.tif 000005
【図４】
2010118125.tif 000006
【図５】
2010118125.tif 000007
【図６】
2010118125.tif 000008
【図７】
2010118125.tif 000009
【図８】
2010118125.tif 000010