説明

記録媒体ドライブ装置

【課題】外部機器が認識できない大容量のセクタサイズの記録媒体の容量を、外部機器に認識させることである。
【解決手段】ディスクドライブ装置20は、ディスクDが装填され、当該装填されたディスクDに、第1のセクタサイズのセクタ単位でデータの読み出し又は書き込みを行うディスク装填部25と、PC10と通信する通信部26と、前記装填されたディスクDに対応する第1のセクタサイズのセクタを分割したセクタのPC10が認識可能な第2のセクタサイズと、ディスクDの第2のセクタサイズの最終セクタアドレスと、を算出し、通信部26を介してPC10から記録媒体容量確認コマンドを受信した場合に、前記第2のセクタサイズ及びその最終セクタアドレスを通信部26を介してPC10に送信する制御部21と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記録媒体ドライブ装置に関する。
【背景技術】
【0002】
従来、記録媒体としての光磁気ディスクにデータの読み出し及び書き込みを行うディスクドライブ装置が知られている。また、リムーバブルなディスクドライブ装置は、PC(Personal Computer)等の外部機器に接続されて使用される。また、ディスクのデータアクセスの最小単位をセクタといい、その容量をセクタサイズという。近年では、UDO(Ultra Density Optical)のように、8192Bytes/Sectorの大容量のセクタサイズでデータの読み出し及び書き込みがなされるディスクが知られている。
【0003】
また、複数のセクタサイズAとセクタサイズnA(nは2以上の整数)のデータとの互換を取る場合に、ディスクのセクタサイズnAのデータフォーマットをn分割して、ディスクのセクタサイズAのデータフォーマットとするディスク再生記録装置が考えられている(例えば、特許文献1参照)。
【特許文献1】特開2001−143397号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、PCのOS(Operating System)は、大容量のセクタサイズをサポートしていないため、そのセクタサイズを認識できなかった。次表1に、OSと、そのフォーマット形式と、そのOSが認識可能な対応セクタサイズと、を示す。
【表1】

【0005】
表1に示すように、例えば、既存OSであるWindows(登録商標)、MaCOS、Linuxは、512Bytes/Sector、2048Bytes/Sectorのセクタサイズをサポートしていた。このため、上記OSのPCで、8192Bytes/Sector等の大容量のセクタサイズで既存フォーマット形式に記録媒体をフォーマットできなかった。
【0006】
このため、特許文献1のセクタ分割の構成に関し、大容量のセクタサイズのディスクに対し、この実際のセクタサイズのセクタを、OSが認識可能なセクタサイズのセクタに分割し、OSに対し、分割したセクタ単位でデータを読み出し及び書き込みを行うように振舞う専用ドライバをPCに設ける構成が考えられる。この構成では、OSがドライバを介してディスク容量を認識できるが、そのドライバ開発、評価に、時間、工数を要するという問題があった。また、このドライバも、使いこなれた既存ファイルシステムではないため、不具合が発生する可能性があった。
【0007】
また、上記ドライバを設ける構成としても、処理高速化のため、セクタ情報を直接操作してくる検索アプリ等がPC側に存在していた。このため、大容量のセクタを分割してもバグが潜んでしまい、ディスクに対する動作が不安定になるという問題があった。
【0008】
本発明の課題は、外部機器が認識できない大容量のセクタサイズの記録媒体の容量を、外部機器に認識させることである。
【課題を解決するための手段】
【0009】
上記課題を解決するため、請求項1に記載の発明の記録媒体ドライブ装置は、
記録媒体が装填され、当該装填された記録媒体に、第1のセクタサイズのセクタ単位でデータの読み出し又は書き込みを行う記録媒体装填部と、
外部機器と通信する通信部と、
前記装填された記録媒体に対応する第1のセクタサイズのセクタを分割したセクタの前記外部機器が認識可能な第2のセクタサイズと、当該記録媒体の第2のセクタサイズの最終セクタアドレスと、を算出し、前記通信部を介して前記外部機器から記録媒体容量確認コマンドを受信した場合に、前記第2のセクタサイズ及びその最終セクタアドレスを前記通信部を介して前記外部機器に送信する制御部と、を備える。
【0010】
請求項2に記載の発明は、請求項1に記載の記録媒体ドライブ装置において、
第1のセクタサイズのセクタを第2のセクタサイズのセクタに分割する分割数を記憶するメモリを備え、
前記制御部は、前記装填された記録媒体の第1のセクタサイズ及びその最終セクタアドレスを前記記録媒体装填部又はプログラムから取得し、当該第1のセクタサイズを前記メモリに記憶された分割数で除算して前記装填された記録媒体の第2のセクタサイズを算出し、前記第1のセクタサイズの最終セクタアドレス及び前記分割数を用いて、前記装填された記録媒体の第2のセクタサイズの最終セクタアドレスを算出する。
【0011】
請求項3に記載の発明は、請求項1に記載の記録媒体ドライブ装置において、
分割対象の第1のセクタサイズと、当該第1のセクタサイズのセクタを第2のセクタサイズのセクタに分割する分割数とを記憶するメモリを備え、
前記制御部は、前記装填された記録媒体の第1のセクタサイズ及びその最終セクタアドレスを前記記録媒体装填部又はプログラムから取得し、当該取得した第1のセクタサイズが、前記メモリに記憶された分割対象のセクタサイズであるか否かを判別し、当該分割対象のセクタサイズである場合に、当該第1のセクタサイズを前記メモリに記憶された分割数で除算して前記装填された記録媒体の第2のセクタサイズを算出し、前記第1のセクタサイズの最終セクタアドレス及び前記分割数を用いて、前記装填された記録媒体の第2のセクタサイズの最終セクタアドレスを算出する。
【0012】
請求項4に記載の発明は、請求項1に記載の記録媒体ドライブ装置において、
分割対象でないセクタサイズを記憶するメモリを備え、
前記制御部は、前記装填された記録媒体の第1のセクタサイズ及びその最終セクタアドレスを、前記記録媒体装填部又はプログラムから取得し、当該取得した第1のセクタサイズが前記メモリに記憶された分割対象でないセクタサイズであるか否かを判別し、当該分割対象でないセクタサイズでない場合に、当該第1のセクタサイズを予め設定された分割数で除算して前記装填された記録媒体の第2のセクタサイズを算出し、前記第1のセクタサイズの最終セクタアドレス及び前記分割数を用いて、前記装填された記録媒体の第2のセクタサイズの最終セクタアドレスを算出する。
【0013】
請求項5に記載の発明は、請求項2から4のいずれか一項に記載の記録媒体ドライブ装置において、
前記制御部は、前記装填された記録媒体の第2のセクタサイズの最終セクタアドレスを、
(前記装填された記録媒体の第1のセクタサイズの最終セクタアドレス+1)*分割数−1
の式により算出する。
【発明の効果】
【0014】
本発明によれば、外部機器が認識できない大容量のセクタサイズの記録媒体の容量を、外部機器に認識させることができる。
【発明を実施するための最良の形態】
【0015】
添付図面を参照して本発明に係る好適な実施の形態及びその第1、第2の変形例を順に詳細に説明する。なお、本発明は、図示例に限定されるものではない。また、この発明の実施の形態は発明の最も好ましい形態を表すものであり、発明の用途や用語はこれに限定するものではない。
【0016】
図1〜図5を参照して、本発明に係る実施の形態を説明する。先ず、図1を参照して、本実施の形態の装置構成を説明する。図1に、本実施の形態におけるディスクドライブシステム1の構成を示す。
【0017】
本実施の形態のディスクドライブシステム1は、記録媒体としてのディスクDにデータを読み出し又は書き込みするシステムである。図1に示すように、ディスクドライブシステム1は、外部機器としてのPC10と、記録媒体ドライブ装置としてのディスクドライブ装置20と、を備える。PC10は、予めOSがインストールされ、OSが起動しているものとする。PC10は、OSを介してディスクドライブ装置20に対し、ディスクDのデータ読み出し及び書き込み等の各種要求を行う。
【0018】
ディスクドライブ装置20は、リムーバブルなディスクドライブ装置であり、PC10に接続され、PC10の要求に応じて、ディスクDのデータ読み出し及び書き込み等を行う。ディスクドライブ装置20は、制御部21と、RAM(Random Access Memory)22と、プログラムメモリ23と、メモリとしてのEEPROM(Erasable Programmable Read Only Memory)24と、記録媒体装填部としてのディスク装填部25と、通信部26と、を備える。
【0019】
制御部21は、CPU(Central Processing Unit)により構成され、ディスクドライブ装置20内の各部を制御する。制御部21は、プログラムメモリ23に記憶されたプログラムを読み出してRAM22に展開し、RAM22に展開されたプログラムとの協働で、各種処理を実行する。
【0020】
制御部21は、ディスク認識読み書きプログラムに従い、ディスクDがディスク装填部25に装填されると、ディスク装填部25からディスクDの第1のセクタサイズとしての実際のセクタ(実セクタ)のセクタサイズ(実セクタサイズ)及びその最終セクタアドレスとしての最終LBA(Logical Block Address)を取得し、それらの情報と、EEPROM24に記憶された分割数情報30と、から、PC10のOSが認識可能な第2のセクタサイズとしての分割後のセクタ(分割セクタ)のセクタサイズ及びその最終LBAを算出する。そして、制御部21は、PC10からREAD CAPACITY コマンドを受信すると、算出した分割セクタのセクタサイズ及び最終LBAをPC10に送信し、PC10からのリードコマンド及びライトコマンドに応じてディスクDのデータの読み出し及び書き込みを行う。最終LBAとは、ディスクDの最終セクタのアドレスである。
【0021】
RAM22は、DRAM(Dynamic RAM)等の揮発性を有するメモリにより構成され、各種データ及び各種プログラムを一時的に格納するワークエリアを有する。また、RAM22は、後述する分割セクタ単位のデータ読み書き処理において、実際の読み出しデータ、書き込みデータを一時的に格納するバッファメモリとしても機能する。
【0022】
プログラムメモリ23は、フラッシュメモリ等のデータを読み出し及び書き込み可能な不揮発性メモリや、ROM等により構成され、各種プログラムを記憶している。プログラムメモリ23は、ディスク認識読み書きプログラムを記憶している。
【0023】
EEPROM24は、電気的にデータを読み出し及び書き込み可能な不揮発性のメモリである。EEPROM24には、不揮発性を要する設定データ等が記憶されている。EEPROM24には、後述する分割数情報30が記憶されているものとする。
【0024】
ディスク装填部25は、ディスクDが装填され、装填されたディスクDからデータを読み出し、またディスクDにデータを書き込むディスクドライブ部である。ディスク装填部25は、PC10のOSで認識できない大容量のセクタサイズでディスクDにデータ読み出し及び書き込みを行う。本実施の形態では、ディスクDが、セクタサイズがPC10のOSで認識できないUDOディスク(メディア)であるものとして説明を行う。ディスク装填部25は、ディスクDにレーザ光を照射してデータを読み出し及び記録するため、レーザ光源、光ピックアップ、光ピックアップ駆動部、ディスク駆動部等を有する。
【0025】
また、ディスク装填部25は、制御部21からセクタサイズ及び最終LBAを要求されると、ディスク装填部25に装填されているディスクDに記録されている実セクタサイズ及びその最終LBAを読み出し、読み出した実セクタサイズ及び最終LBAを制御部21に出力する。また、ディスク装填部25は、制御部21からのディスク装填確認要求に応じて、ディスクDが挿入(装填)されたか否かを検出し、その検出結果の情報を制御部21に出力する。
【0026】
通信部26は、SCSI、USB等の方式の通信カード等により構成され、通信ケーブルを介して接続されているPC10との情報の送受信を行う。
【0027】
PC10のOSが認識可能なディスクのセクタサイズが、512又は2048Bytes/Sectorであり、ディスクDの実セクタの実セクタサイズが、8192Bytes/Sectorであるものとする。
【0028】
次に、図2及び図3を参照して、EEPROM24に記憶されている分割数情報30を説明する。図2に、セクタサイズの分割前後のセクタの一例を示す。図3に、分割数情報30の構成を示す。
【0029】
本実施の形態では、図2に示すように、ディスクDの実セクタが8192Bytes/Sectorのセクタサイズを有する。この実セクタを4分割して、PC10のOSが認識可能なセクタサイズである2048Bytes/Sectorのセクタ(分割セクタ)にする。この分割に応じて、実セクタのLBAが、分割セクタのLBAに変更される。
【0030】
図3に示すように、分割数情報30は、分割数31の項目を有する。図3の分割数情報30の分割数31は、図2のように、実セクタを4分割する場合の数値である4が格納されている。
【0031】
分割数情報30は、分割セクタのセクタサイズがPC10のOSで認識可能なセクタサイズであれば、他の数値でもよい。例えば、分割数31を16としてもよい。また、例えば、PC10の操作部(図示略)にユーザからの分割数情報30の変更指示が入力されると、その変更指示情報がPC10からディスクドライブ装置20に送信され、制御部21が、PC10から受信した変更指示情報に応じてEEPROM24内の分割数情報30を変更(上書き)することにより、分割数情報30を変更可能な構成としてもよい。この分割数情報30の変更には、例えば、ベンダーユニークコマンドが用いられる。
【0032】
次に、図4を参照して、ディスクドライブシステム1の動作を説明する。図4に、PC10で実行されるディスク認識読み書き要求処理と、ディスクドライブ装置20で実行されるディスク認識読み書き処理と、の流れを示す。
【0033】
先ず、PC10において実行されるディスク認識読み書き要求処理を説明する。ディスク認識読み書き要求処理は、ディスクドライブ装置20に装填されたディスクDのセクタサイズ及び最終LBAを認識し、認識したディスクのデータ読み出し及びデータ書き込みを要求する処理である。PC10において、制御部(図示略)により、ディスク認識読み書き要求処理が実行される。
【0034】
図4に示すように、先ず、TEST UNIT READYコマンドがディスクドライブ装置20に送信され、そのTEST UNIT READYコマンドの応答信号がディスクドライブ装置20から受信される(ステップS1)。TEST UNIT READYコマンドとは、ディスクドライブ装置20にディスクDが装填されて認識されているか否か(“ディスク在り”又は“ディスク無し”)を示す応答信号を要求するコマンドである。
【0035】
そして、ステップS1において、“ディスク在り”の応答信号が、ディスクドライブ装置20から受信されたか否かが判別される(ステップS2)。“ディスク在り”の応答信号が受信されていない場合(ステップS2;NO)、ステップS1に移行される。ステップS1は、例えば、1秒ごと等、周期的に実行される。
【0036】
“ディスク在り”の応答信号が受信された場合(ステップS2;YES)、READ CAPACITYコマンドがディスクドライブ装置20に送信される(ステップS3)。READ CAPACITYコマンドは、ディスクドライブ装置20に装填されたディスクDのディスク容量確認コマンドであり、具体的には装填されたディスクDのセクタサイズ及び最終LBAを要求するコマンドである。
【0037】
そして、ステップS3で送信したREAD CAPACITYコマンドの応答信号として、ディスクドライブ装置20に装填されたディスクDのセクタサイズ及び最終LBAが、ディスクドライブ装置20から受信されて認識設定される(ステップS4)。ステップS4で受信されるセクタサイズ及び最終LBAは、PC10のOSが認識可能な分割セクタのセクタサイズ及び最終LBAとなっているため、PC10のOSにより認識設定される。
【0038】
そして、ステップS4で認識設定されたセクタサイズ及び最終LBAを用いて、ディスクDからの分割セクタ単位のデータ読み出しを要求するリードコマンド、又はディスクDへの分割セクタ単位のデータ書き込みを要求するライトコマンドを生成してディスクドライブ装置20へ送信し、読み出されたデータなどをディスクドライブ装置20から受信する分割セクタ単位のデータ読み書き要求処理が実行され(ステップS5)、ディスク認識読み書き要求処理が終了する。
【0039】
次いで、ディスクドライブ装置20において実行されるディスク認識読み書き処理を説明する。ディスク認識読み書き処理は、ディスクドライブ装置20に装填されたディスクDの、PC10のOSが認識可能な分割セクタのセクタサイズ及び最終LBAを算出してPC10に送信して認識させ、その認識後に、PC10のOSからの要求に応じてディスクDのデータ読み出し及びデータ書き込みを行う処理である。ディスクドライブ装置20において、例えば、電源がオンされたことをトリガとして、制御部21は、プログラムメモリ23から読み出されて適宜RAM22に展開されたディスク認識読み書きプログラムとの協働により、ディスク認識読み書き処理を実行する。
【0040】
予め、ディスク装填部25には、ディスクDが装填されていないものとする。また、ディスクドライブ装置20において、ディスク認識読み書き要求処理のステップS1に対応し、適宜、制御部21により、PC10から送信されたTEST UNIT READYコマンドが通信部26を介して受信されるものとする。
【0041】
先ず、ディスク認識読み書き要求処理のステップS1に対応し、PC10から送信されたTEST UNIT READYコマンドに応じて、“ディスク無し”の応答信号が生成され、その応答コマンドが通信部26を介してPC10に送信される(ステップS11)。
【0042】
そして、ディスク装填部25からディスクDが装填されたか否かの情報が取得され、その情報に応じて、ディスク装填部25にディスクDが挿入されたか否かが判別される(ステップS12)。ディスクDが挿入されていない場合(ステップS12;NO)、ステップS11に移行される。ディスクDが挿入された場合(ステップS12;YES)、ディスク装填部25に装填されたディスクDが認識され、ディスク読み出し準備が完了したか否かが判別される(ステップS13)。ディスクDが認識されていない場合(ステップS13;NO)、ステップS11に移行される。
【0043】
ディスクDが認識された場合(ステップS13;YES)、ディスク装填部25から装填中のディスクDの実セクタの実セクタサイズ及び最終LBAが取得され、EEPROM24から分割数情報30が読み出され、取得した実セクタサイズが分割数31で除算され、分割セクタのセクタサイズとして算出され、取得した実セクタサイズ、実セクタの最終LBA及び分割数31から、次式(1)により、分割セクタの最終LBAが算出される(ステップS14)。
分割セクタの最終LBA=(実セクタの最終LBA+1)*分割数−1 …(1)
【0044】
例えば、図3に示すように、実セクタサイズが8192Bytes/Sectorであり、分割数31が4である場合に、分割セクタのセクタサイズが2048Bytes/Sectorと算出され、実セクタの最終LBAが2である場合、式(1)により、分割セクタの最終LBAは、11と算出される。なお、分割数31が16である場合には、分割セクタのセクタサイズは、512Bytes/Sectorとなる。
【0045】
そして、ディスク認識読み書き要求処理のステップS1に対応し、PC10から送信されたTEST UNIT READYコマンドに応じて、“ディスク在り”の応答信号が生成され、その応答信号が通信部26を介してPC10に送信される(ステップS15)。
【0046】
そして、ディスク認識読み書き要求処理のステップS3に対応し、READ CAPACITYコマンドが、通信部26を介してPC10から受信される(ステップS16)。そして、ディスク認識読み書き要求処理のステップS4に対応し、READ CAPACITYコマンドの応答信号として、ステップS14で算出された分割セクタのセクタサイズ及び最終LBAが、通信部26を介してPC10へ送信される(ステップS17)。
【0047】
そして、ディスク認識読み書き要求処理のステップS5に対応し、PC10から送信されるリードコマンド又はライトコマンドに応じて、ディスク装填部25により、装填されたディスクDへの分割セクタ単位でのデータ読み出し、又は分割セクタ単位でのデータ書き込みを行う分割セクタ単位のデータ読み書き処理が実行され(ステップS18)、ディスク認識読み書き処理が終了する。
【0048】
以上、本実施の形態によれば、ディスクドライブ装置20は、装填されたディスクDの実セクタのセクタサイズ及び最終LBAをディスク装填部25から取得し、ディスクDの実セクタサイズ及びその最終LBAに基づいて、PC10のOSが認識可能な分割セクタのセクタサイズ及びその最終LBAを算出し、PC10のOSからのREAD CAPACITYコマンドの受信に応じて、算出した分割セクタのセクタサイズ及びその最終LBAをPC10に送信する。このため、PC10のOSが認識できない大容量の実セクタサイズのディスクDの容量(分割セクタのセクタサイズ及びその最終LBA)を、PC10のOSに認識させることができる。
【0049】
また、ディスクドライブ装置20は、EEPROM24に記憶された分割数情報30から分割数31を取得する。このため、分割数31を容易に取得でき、分割数31を用いて分割セクタのセクタサイズ及びその最終LBAを容易に算出できる。
【0050】
また、ディスクドライブ装置20は、分割セクタの最終LBAを、式(1)を用いて算出する。このため、分割セクタの最終LBAをさらに容易に算出できる。
【0051】
(第1の変形例)
図5を参照して、上記実施の形態の第1の変形例を説明する。図5に、セクタサイズ情報40の構成を示す。
【0052】
本変形例は、上記実施の形態と同様に、ディスクドライブシステム1を用いる。但し、ディスクドライブ装置20のEEPROM24には、分割数情報30に代えて、セクタサイズ情報40が記憶されているものとする。
【0053】
図5に示すように、セクタサイズ情報40は、セクタサイズ設定値41と、分割数42と、の項目を有する。セクタサイズ設定値41は、実セクタサイズのユーザ設定値である。分割数42は、分割数情報30の分割数31と同様である。
【0054】
また、セクタサイズ情報40は、実セクタの分割を要する(分割対象の)レコードのみを有する。また、セクタサイズ情報40は、分割数情報30と同様に、各レコードの数値が、ユーザによる操作入力により、任意に設定可能であるものとする。
【0055】
本変形例では、ディスクドライブ装置20が、実セクタサイズとして、512、2048及び8192Bytes/Sectorの3種類のセクタサイズをサポートするものとする。つまり、ディスクDの実セクタサイズが512、2048又は8192Bytes/Sectorであり、ディスク装填部25が、これらの実セクタサイズでディスクDにデータ読み出し及びデータ書き込みが可能である。また、ディスク装填部25から取得される実セクタサイズの数値が、セクタサイズ設定値41の2048又は8192である場合に、実セクタが分割対象となる。ディスク装填部25から取得される実セクタサイズの数値が、512である場合に、実セクタが分割されない。
【0056】
ディスクドライブ装置20において、上記実施の形態と同様に、ディスク認識読み書き処理が実行される。但し、ステップS14において、ディスク装填部25から装填中のディスクDの実セクタのセクタサイズ及び最終LBAが取得され、EEPROM24からセクタサイズ情報40が読み出され、取得した実セクタサイズがセクタサイズ設定値41であるレコードがセクタサイズ情報40にあるか否かが判別され、取得した実セクタサイズがセクタサイズ設定値41であるレコードがセクタサイズ情報40にある場合に、実セクタサイズが分割数42の値で除算されて分割セクタのセクタサイズとして算出され、分割数42及び実セクタの最終LBAから、式(1)により、分割セクタの最終LBAが算出される。
【0057】
また、ステップS14において、取得した実セクタサイズがセクタサイズ設定値41であるレコードがセクタサイズ情報40にない場合に、実セクタのセクタサイズ、最終LBAが、応答するセクタサイズ、最終LBAとされる。
【0058】
例えば、実セクタサイズの数値が、セクタサイズ設定値41にある2048又は8192である場合に、分割数42が4又は16であり、分割セクタのセクタサイズが、512(Bytes/Sector)、として算出され、その分割セクタの最終LBAが算出される。また、例えば、実セクタサイズの数値が、セクタサイズ設定値41にない512である場合に、応答するセクタサイズ、最終LBAとして、512 (Bytes/Sector)、実セクタの最終LBAが取得される。
【0059】
以上、本変形例によれば、上記実施の形態と同様に、PC10のOSが認識できない大容量の実セクタサイズのディスクDの容量を、PC10のOSに認識させることができる。また、ディスクドライブ装置20は、EEPROM24にセクタサイズ情報40が記憶され、実セクタサイズがセクタサイズ設定値41であるレコードがセクタサイズ情報40にある場合に、分割数42、実セクタサイズ、その最終LBAを用いて、分割セクタのセクタサイズ及び最終LBAを算出する。そして、ディスクドライブ装置20は、実セクタサイズがセクタサイズ設定値41であるレコードがセクタサイズ情報40にない場合に、実セクタのセクタサイズ、最終LBAが、そのまま応答するセクタサイズ、最終LBAとする。このため、分割数42を容易に取得でき、分割数42を用いて分割セクタのセクタサイズ、最終LBAを容易に算出できる。また、取得した実セクタサイズがセクタサイズ情報40にある場合にのみ、実セクタを分割するので、ディスクドライブ装置20(制御部21)の処理負担を低減できる。
【0060】
(第2の変形例)
図6を参照して、上記実施の形態の第2の変形例を説明する。図6に、セクタサイズ情報50の構成を示す。
【0061】
本変形例は、上記実施の形態と同様に、ディスクドライブシステム1を用いる。但し、ディスクドライブ装置20のEEPROM24には、分割数情報30に代えて、セクタサイズ情報50が記憶されているものとする。また、プログラムメモリ23に記憶されているディスク認識読み書きプログラム(ファームウェア)に、分割数の規定値が組み込まれているものとする。ここでは、一例として、分割数の規定値が4であるとして説明する。また、分割数の規定値は、プログラムメモリ23に記憶されている構成としてもよい。
【0062】
図6に示すように、セクタサイズ情報50は、セクタサイズ設定値51を項目として有する。セクタサイズ設定値51は、実セクタサイズの数値である。また、セクタサイズ情報50は、実セクタの分割を要しない(分割対象でない)レコードのみを有する。また、セクタサイズ情報50は、分割数情報30と同様に、各レコードの数値が、ユーザによる操作入力により、任意に設定可能であるものとする。
【0063】
本変形例では、第1の変形例と同様に、ディスクドライブ装置20が、実セクタサイズとして、512、2048及び8192Bytes/Sectorの3種類のセクタサイズをサポートするものとする。また、ディスク装填部25から取得される実セクタサイズの数値が、セクタサイズ設定値51の512又は2048である場合に、実セクタが分割されず、この数値が応答するセクタサイズとされる。ディスク装填部25から取得される実セクタサイズの数値が、8192である場合に、実セクタが分割される。
【0064】
ディスクドライブ装置20において、上記実施の形態と同様に、ディスク認識読み書き処理が実行される。但し、ステップS14において、ディスク装填部25から装填中のディスクDの実セクタのセクタサイズ及び最終LBAが取得され、EEPROM24からセクタサイズ情報50が読み出され、取得した実セクタサイズがセクタサイズ設定値51であるレコードがセクタサイズ情報50にあるか否かが判別され、実セクタサイズがセクタサイズ設定値51であるレコードがセクタサイズ情報50にある場合に、実セクタのセクタサイズ、最終LBAが、応答するセクタサイズ、最終LBAとされる。例えば、実セクタサイズの数値が、セクタサイズ設定値51にある512又は2048である場合に、実セクタのセクタサイズ、最終LBAが、512又は2048 (Bytes/Sector)、実セクタの最終LBAにされる。
【0065】
また、ステップS14において、取得した実セクタサイズがセクタサイズ設定値51であるレコードがセクタサイズ情報50にない場合に、実セクタを分割する分割数が、ディスク認識読み書きプログラムに予め組み込まれた規定値に設定され、実セクタサイズをこの分割数の規定値で除算して分割セクタのセクタサイズが算出され、分割数及び実セクタの最終LBAから、式(1)により、分割セクタの最終LBAが算出される。例えば、実セクタサイズの数値が、セクタサイズ設定値51にない8192である場合に、実セクタのセクタサイズ、分割数が、8192 (Bytes/Sector)、4にされる。
【0066】
以上、本変形例によれば、上記実施の形態と同様に、PC10のOSが認識できない大容量の実セクタサイズのディスクDの容量を、PC10のOSに認識させることができる。また、ディスクドライブ装置20は、EEPROM24にセクタサイズ情報50が記憶され、実セクタサイズがセクタサイズ設定値51であるレコードがセクタサイズ情報50にある場合に、実セクタのセクタサイズ、最終LBAを、応答するセクタサイズ、最終LBAとし、実セクタサイズがセクタサイズ設定値51であるレコードがセクタサイズ情報50にない場合に、分割数の規定値を取得し、分割数の規定値を用いて分割セクタのセクタサイズ、最終LBAを算出する。このため、分割セクタのセクタサイズ、最終LBAを容易に算出できる。また、取得した実セクタサイズがセクタサイズ情報50にない場合にのみ、実セクタを分割するので、ディスクドライブ装置20(制御部21)の処理負担を低減できる。
【0067】
なお、上記実施の形態及び変形例における記述は、本発明に係る好適な記録媒体ドライブ装置の一例であり、これに限定されるものではない。
【0068】
例えば、上記実施の形態及び変形例において、記録媒体ドライブ装置として、UDOディスクであるディスクDのデータ読み出し及び書き込みを行うディスクドライブ装置20を説明したが、これに限定されるものではない。例えば、記録媒体としては、セクタ方式でデータが記録されるものでよく、他の光学ディスク等のディスク、半導体メモリ等を記録媒体とし、この記録媒体のデータ読み出し及び書き込みを行う記録媒体ドライブ装置を用いる構成としてもよい。
【0069】
また、上記実施の形態及び変形例では、制御部21が、実セクタサイズ及びその最終LBAを、ディスク装填部25から取得する構成としたが、これに限定されるものではない。例えば、制御部21が、実セクタサイズ及びその最終LBAが、プログラムメモリ23に記憶されているディスク認識読み書きプログラム(ファームウェア)に組み込まれており、その実セクタサイズ及びその最終LBAの少なくとも一つを当該プログラムから取得する構成としてもよい。
【0070】
また、上記実施の形態及び変形例において、記録媒体の容量確認を行う外部機器として、OSを含むPCを説明したが、これに限定されるものではない。外部機器は、サーバ装置等、他の外部機器としてもよい。
【0071】
また、以上の実施の形態及び変形例におけるディスクドライブシステム1を構成する各部の細部構成及び細部動作に関して本発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【図面の簡単な説明】
【0072】
【図1】本発明に係る実施の形態におけるディスクドライブシステムの構成を示すブロック図である。
【図2】セクタサイズの分割前後のセクタの一例を示す図である。
【図3】実施の形態における分割数情報の構成を示す図である。
【図4】PCで実行されるディスク認識読み書き要求処理と、ディスクドライブ装置で実行されるディスク認識読み書き処理と、を示すフローチャートである。
【図5】第1の変形例におけるセクタサイズ情報の構成を示す図である。
【図6】第2の変形例におけるセクタサイズ情報の構成を示す図である。
【符号の説明】
【0073】
1 ディスクドライブシステム
10 PC
20 ディスクドライブ装置
21 制御部
22 RAM
23 プログラムメモリ
24 EEPROM
25 ディスク装填部
26 通信部
D ディスク

【特許請求の範囲】
【請求項1】
記録媒体が装填され、当該装填された記録媒体に、第1のセクタサイズのセクタ単位でデータの読み出し又は書き込みを行う記録媒体装填部と、
外部機器と通信する通信部と、
前記装填された記録媒体に対応する第1のセクタサイズのセクタを分割したセクタの前記外部機器が認識可能な第2のセクタサイズと、当該記録媒体の第2のセクタサイズの最終セクタアドレスと、を算出し、前記通信部を介して前記外部機器から記録媒体容量確認コマンドを受信した場合に、前記第2のセクタサイズ及びその最終セクタアドレスを前記通信部を介して前記外部機器に送信する制御部と、を備える記録媒体ドライブ装置。
【請求項2】
第1のセクタサイズのセクタを第2のセクタサイズのセクタに分割する分割数を記憶するメモリを備え、
前記制御部は、前記装填された記録媒体の第1のセクタサイズ及びその最終セクタアドレスを前記記録媒体装填部又はプログラムから取得し、当該第1のセクタサイズを前記メモリに記憶された分割数で除算して前記装填された記録媒体の第2のセクタサイズを算出し、前記第1のセクタサイズの最終セクタアドレス及び前記分割数を用いて、前記装填された記録媒体の第2のセクタサイズの最終セクタアドレスを算出する請求項1に記載の記録媒体ドライブ装置。
【請求項3】
分割対象の第1のセクタサイズと、当該第1のセクタサイズのセクタを第2のセクタサイズのセクタに分割する分割数とを記憶するメモリを備え、
前記制御部は、前記装填された記録媒体の第1のセクタサイズ及びその最終セクタアドレスを前記記録媒体装填部又はプログラムから取得し、当該取得した第1のセクタサイズが、前記メモリに記憶された分割対象のセクタサイズであるか否かを判別し、当該分割対象のセクタサイズである場合に、当該第1のセクタサイズを前記メモリに記憶された分割数で除算して前記装填された記録媒体の第2のセクタサイズを算出し、前記第1のセクタサイズの最終セクタアドレス及び前記分割数を用いて、前記装填された記録媒体の第2のセクタサイズの最終セクタアドレスを算出する請求項1に記載の記録媒体ドライブ装置。
【請求項4】
分割対象でないセクタサイズを記憶するメモリを備え、
前記制御部は、前記装填された記録媒体の第1のセクタサイズ及びその最終セクタアドレスを前記記録媒体装填部又はプログラムから取得し、当該取得した第1のセクタサイズが、前記メモリに記憶された分割対象でないセクタサイズであるか否かを判別し、当該分割対象でないセクタサイズでない場合に、当該第1のセクタサイズを予め設定された分割数で除算して前記装填された記録媒体の第2のセクタサイズを算出し、前記第1のセクタサイズの最終セクタアドレス及び前記分割数を用いて、前記装填された記録媒体の第2のセクタサイズの最終セクタアドレスを算出する請求項1に記載の記録媒体ドライブ装置。
【請求項5】
前記制御部は、前記装填された記録媒体の第2のセクタサイズの最終セクタアドレスを、
(前記装填された記録媒体の第1のセクタサイズの最終セクタアドレス+1)*分割数−1
の式により算出する請求項2から4のいずれか一項に記載の記録媒体ドライブ装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2010−108574(P2010−108574A)
【公開日】平成22年5月13日(2010.5.13)
【国際特許分類】
【出願番号】特願2008−282015(P2008−282015)
【出願日】平成20年10月31日(2008.10.31)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
【出願人】(303000408)コニカミノルタオプト株式会社 (3,255)
【Fターム(参考)】