以下に、本発明の実施の形態について図面を参照して説明する。
図1は、本発明を適用した駆動装置の一実施の形態の構成を示す図である。本発明は、所定のディスクを駆動し、そのディスクに対してデータを記録したり、記録されているデータを再生したりする装置である。
図1に示した駆動装置は、所定のディスクとして、ディスク11を駆動する。ディスク11は、例えば、DVD(Digital Versatile Disc)やBD(Blu-ray Disc)である。駆動装置は、スピンドルモータ12、光学ヘッド13−1、光学ヘッド13−1、光学ピックアップ14−1、光学ピックアップ14−2、ピックアップ制御部15−1、ピックアップ制御部15−2、および、ホストCPU(Central Processing Unit)16を備える。
以下、光学ヘッド13−1、光学ヘッド13−2を個々に区別する必要がない場合、単に、光学ヘッド13と記述する。他の部分に関しても同様に記述する。
図1に示した駆動装置は、2つの光学ヘッド13−1と光学ヘッド13−2が備えられ、1つの光学ヘッド13−1に1つの光学ピックアップ14−1が備えられ、1つの光学ヘッド13−2に1つの光学ピックアップ14−2が備えられている構成とされている。光学ヘッド13−1(光学ピックアップ14−1)は、ピックアップ制御部15―1により制御され、光学ヘッド13−2(光学ピックアップ14−2)は、ピックアップ制御部15―2により制御される。
しかしながら、光学ヘッド13−1(光学ピックアップ14−1)と光学ヘッド13−2(光学ピックアップ14−2)は、例えば、データを同時に書き込む場合など協調して動作する必要があり、協調して動作できるようにするための信号が、ピックアップ制御部15―1とピックアップ制御部15―2の間で授受される。図3を参照して説明するように、スピンドルモータ12の制御は、ピックアップ制御部15―1とピックアップ制御部15―2のうちのどちらか一方でのみ行う必要がある。そこで、ピックアップ制御部15―1とピックアップ制御部15―2のうちの、どちらか一方のみのがスピンドルモータ12の制御を行うように構成されている。
図2は、本発明を適用した駆動装置の一実施の形態の他の構成を示す図である。図2に示した駆動装置も、所定のディスクとして、ディスク11を駆動する。図2に示した駆動装置は、スピンドルモータ12、光学ヘッド33、光学ピックアップ34−1、光学ピックアップ34−2、ピックアップ制御部35−1、ピックアップ制御部35−2、および、ホストCPU16を備える。
図2に示した駆動装置は、1つの光学ヘッド33に2つの光学ピックアップ34−1と光学ピックアップ34−2が備えられている。光学ピックアップ34−1は、ピックアップ制御部35―1により制御され、光学ピックアップ34−2は、ピックアップ制御部35―2により制御される。このような構成の場合、光学ヘッド33は、ピックアップ制御部35−1またはピックアップ制御部35―2のどちらかにより制御される。また、図1に示した駆動装置と同じように、スピンドルモータ12の制御などは、ピックアップ制御部35―1とピックアップ制御部35―2のうちのどちらか一方でのみ行われる。
図2に示した駆動装置においても、ピックアップ制御部35―1とピックアップ制御部35―2とが協調動作できるように、ピックアップ制御部35―1とピックアップ制御部35―2の間で信号の授受が行えるように構成されている。
図3は、図1や図2に示した駆動装置(図3では、図2に示した駆動装置を例に挙げて説明する)におけるスピンドルモータ12の制御について説明する図である。ディスク11は、スピンドルモータ12により回転が制御されるが、その制御するための信号は、ピックアップ制御部35―1から供給される。スピンドルモータ12は、回転速度を示すFG(Frequency Generator)信号を、ピックアップ制御部35―1とピックアップ制御部35−2に供給する構成とされている。
ピックアップ制御部35―1とピックアップ制御部35−2は、それぞれ、光学ピックアップ34を制御するために、FG信号が必要なため、FG信号は、ピックアップ制御部35―1とピックアップ制御部35−2にそれぞれ供給される構成とされている。スピンドルモータ12を制御するのが、ピックアップ制御部35―1であると設定されている場合、ピックアップ制御部35―1が、スピンドルモータ12を制御するための信号を生成し、スピンドルモータ12に供給する構成とされる。
図4は、図2に示した駆動装置の内部構成例を示す図である。ここでは、図2に示した駆動装置を例に挙げて説明するが、図1に示した駆動装置のように、2つの光学ヘッド13に、それぞれ光学ピックアップ14を有するような駆動装置であっても、同様の内部構成を有する。
ピックアップ制御部35―1は、LSI(Large Scale Integrated)61−1、SDRAM(Synchronous Dynamic Random Access Memory)62−1、およびRF(Radio Frequency)信号処理部63−1を含む構成とされている。LSI61−1は、SATA(Serial Advanced Technology Attachment)制御部71、メモリ制御部72、デコーダ73、エンコーダ74、サーボ制御部75、CPU76、およびシリアル通信制御部77を含む構成とされている。
同様にピックアップ制御部35―2は、LSI61−2、SDRAM62−2、およびRF信号処理部63−2を含む構成とされている。LSI61−2は、SATA制御部81、メモリ制御部82、デコーダ83、エンコーダ84、サーボ制御部85、CPU86、およびシリアル通信制御部87を含む構成とされている。
ピックアップ制御部35―1は、光学ピックアップ34−1を制御し、光学ピックアップ34−1にデータを供給したり、光学ピックアップ34−1からのデータを受信したりする。再生動作のとき、光学ピックアップ34−1からのデータは、RF信号処理部63−1を介して、LSI61−1のデコーダ73に供給される。デコーダ73は、所定のデコード方式で、供給された信号をデコードし、そのデータをメモリ制御部72に供給する。
メモリ制御部72は、CPU76の制御のもと、SDRAM62−1に供給されたデータを記憶させたり、SDRAM62−1に記憶されているデータを読み出したりする。SDRAM62−1は、バッファとして用いられる。
また、記録動作が行われるときには、メモリ制御部72の制御のもと、SDRAM62−1からデータが読み出され、エンコーダ74にデータが供給される。エンコーダ74は、供給されたデータを所定のエンコード方式でエンコードし、RF信号処理部63−1を介して、光学ピックアップ34−1に供給する。
SATA制御部71は、ホストCPU16(図2)と通信を行うときの制御を行う。シリアル通信制御部77は、ピックアップ制御部35―2との通信を制御する。すなわち、上記したように、光学ピックアップ34−1と光学ピックアップ34−2を協調動作させるために、ピックアップ制御部35―1とピックアップ制御部35―2で情報を共有する必要があり、そのための通信を、シリアル通信制御部77が制御する。また、この通信を行うために、ピックアップ制御部35−1とピックアップ制御部35−2とは、2本の通信線(2本のシリアルシンターフェース)を備える構成とされる。
サーボ制御部75は、光学ピックアップ34−1(光学ヘッド33)のフォーカスやトラッキングといったサーボ関係の制御を行う。また、サーボ制御部75は、スピンドルモータ12の回転の制御も行う。
ピックアップ制御部35−2も、ピックアップ制御部35−1と同様に、光学ピックアップ34―2を制御して記録や再生の制御を行う。しかしながら、ピックアップ制御部35―2のサーボ制御部85は、ピックアップ制御部35―1のサーボ制御部75と異なり、スピンドルモータ12からのFG信号は受信するが、スピンドルモータ12へ、制御信号を出すことはないように構成されている。
このように、2つの光学ピックアップ34をそれぞれ制御するピックアップ制御部35―1とピックアップ制御部35―2は、同様の構成を有し、同様の処理を行うが、スピンドルモータ12を制御するのは、ピックアップ制御部35―1であるように構成されている。このように構成することで、同じLSIを用いることができ、コストを低減させることができるといった効果があるとともに、情報を共有するためのシリアル通信制御部77(87)を設けることで、協調動作をさせることができるといった効果もある。
さらに、そのようなLSIは、例えば、パーソナルコンピュータのドライブなどに用いられるLSIを用いることも可能であり、そのようなLSIは、比較的廉価であるため、駆動装置全体のコストを下げることができるようになる。
図4に示した駆動装置の構成を、ソフトウエアの構成で示すと図5のようになる。ピックアップ制御部35―1は、ATA TASK101、BufCtl TASK102、RwCtl TASK103、およびSvCtl TASK104を含む構成とされる。同様に、ピックアップ制御部35―2は、ATA TASK111、BufCtl TASK112、RwCtl TASK113、およびSvCtl TASK114を含む構成とされる。
ATA TASK101は、SATA制御部71などを制御し、SATAインターフェースからのコマンドの受信やデータ転送などを制御する。BufCtl TASK102は、メモリ制御部72などを制御し、ドライブのバッファの制御、例えば、Cacheなどの制御を行う。RwCtl TASK103は、デコーダ73やエンコーダ74などを制御し、ディスク11へのデータのリード(Read)やライト(Write)を実行させるための制御を行う。SvCtl TASK104は、サーボ制御部75などを制御し、光学ピックアップ34−1のサーボを制御する。
同様に、ATA TASK111は、SATA制御部81などを制御し、SATAインターフェースからのコマンドの受信やデータ転送などを制御する。BufCtl TASK112は、メモリ制御部82などを制御し、ドライブのバッファの制御、例えば、Cacheなどの制御を行う。RwCtl TASK113は、デコーダ83やエンコーダ84などを制御し、ディスク11へのデータのリード(Read)やライト(Write)を実行させるための制御を行う。SvCtl TASK114は、サーボ制御部85などを制御し、光学ピックアップ34−2のサーボを制御する。
これらのタスク(TASK)は、必要に応じ、シリアル通信制御部77またはシリアル通信制御部87を制御して通信を行う。すなわち、BufCtl TASK102とBufCtl TASK112、RwCtl TASK103とRwCtl TASK113、SvCtl TASK104とSvCtl TASK114は、それぞれ必要に応じ、シリアル通信制御部77またはシリアル通信制御部87を制御して通信を行う。
次に、具体的な例を挙げて、駆動装置の動作について説明する。まず、サーボのオンまたはオフのときの動作について説明する。サーボに関する処理は、SvCtl TASK104やSvCtl TASK114が行うため、図6に示すように、SvCtl TASK104とSvCtl TASK114が、通信(UART(Universal Asynchronous Receiver Transmitter)通信)を行い、情報の授受を行うことで制御される。
また、サーボのオンまたはオフの指示は、ホストCPU16から供給され、LSI61−1内のATA TASK101、BufCtl TASK102、RwCtl TASK103、およびSvCtl TASK104間でコマンドの授受が行われることで実行される。サーボのオンまたはオフは、ピックアップ制御部35−1で制御されるため、ピックアップ制御部35−2内のタスクでは、コマンドの授受を行う必要はないため行われない。
図7を参照し、サーボオンのときのSvCtl TASK104とSvCtl TASK114の動作について説明する。ステップS21において、SvCtl TASK104は、サーボオンの要求を受ける。SvCtl TASK104がサーボオンの要求を受けると、ステップS22において、サーボオンの要求を受けたことを、SvCtl TASK114に通知する。すなわち、CPU76は、シリアル通信制御部77を制御して、サーボオンの要求を受けたことを、ピックアップ制御部35―2に通知する。
ピックアップ制御部35―2のシリアル通信制御部87により、シリアル通信制御部77からの通知が、ステップS41において受信されると、CPU86は、その通知を解析し、サーボオンの要求があったことを認識し、ステップS42において、サーボオンに係わる処理を実行する。すなわち、SvCtl TASK114は、サーボオンに係わる処理を実行する。
同様に、SvCtl TASK104も、ステップS23において、サーボオンに係わる処理を実行する。SvCtl TASK104は、スピンドルモータ12も制御するため、ステップS24において、スピンドルモータ12の制御も実行する。この場合、SvCtl TASK104のみがスピンドルモータ12の制御を行うため、SvCtl TASK104がスピンドルモータ12の制御を実行し、SvCtl TASK114は、スピンドルモータ12の制御を行わない(ステップS42で実行されるサーボオンに係わる処理には含まれない)。
スピンドルモータ12の制御を行わないSvCtl TASK114は、ステップS43において、サーボオンに係わる処理が完了したことを、SvCtl TASK104に対して通知する。そのような通知をSvCtl TASK104は、ステップS25において受信する。同様に、SvCtl TASK104が、ステップS26において、サーボオンに係わる処理が完了したことを、SvCtl TASK104に対して通知すると、その通知は、ステップS44において、SvCtl TASK114に受信される。
このように、SvCtl TASK104とSvCtl TASK114の相互でサーボオンに係わる処理が完了し、通知が行われると、SvCtl TASK104は、ステップS27において、SvCtl TASK114は、ステップS45において、それぞれ、サーボオンの処理を終了する。
このように、SvCtl TASK104とSvCtl TASK114が通信を行うことで、サーボオンの処理が実行される。また、このような通信が行われることで、協調動作が実現される。
図7を参照して説明したサーボオンのときの動作においては、SvCtl TASK104にサーボオンの要求があったときを例に挙げて説明したが、SvCtl TASK114にサーボオンの要求があったときも、同様の処理が行われる。すなわち、SvCtl TASK114にサーボオンの要求があったときは、図7において、ステップS21乃至S27の処理を、SvCtl TASK114が実行し、ステップS41乃至S45の処理を、SvCtl TASK104が実行する。ただし、スピンドルモータ12の制御に係わるステップS24の処理AH、SvCtl TASK104が実行する。
次に、サーボオフの処理について、図8のフローチャートを参照して説明する。サーボオフの処理は、サーボオンの処理とほぼ同じであるので、簡便に説明する。サーボオフの要求もホストCPU16からSvCtl TASK104に出され、SvCtl TASK114には出されないように構成されている。
ステップS61において、SvCtl TASK104は、サーボオフの要求を受ける。ステップS62において、サーボオフの要求を受けたことを、SvCtl TASK114に通知する。そのような通知が、ステップS81において、SvCtl TASK141により受信されると、ステップS82において、サーボオフに係わる処理が実行される。同様に、SvCtl TASK104も、ステップS63において、サーボオフに係わる処理を実行する。
SvCtl TASK114は、ステップS83において、サーボオフに係わる処理が完了したことを、SvCtl TASK104に対して通知する。そのような通知をSvCtl TASK104は、ステップS64において受信する。SvCtl TASK104は、サーボオフに係わる処理が完了したことを示す通知を受信すると、ステップS65において、スピンドルモータ12の制御を行う。この場合、スピンドルモータ12の回転を減速し、停止するための制御が行われる。
SvCtl TASK114でサーボオフの処理が完了しない前に、スピンドルモータ12が停止してしまうようなことがないように、上記したようにSvCtl TASK114からの通知が受信された後に、スピンドルモータ12を停止するための処理が実行される。スピンドルモータ12が停止されると、ステップS66において、SvCtl TASK104から、サーボオフに係わる処理が完了したことが、SvCtl TASK114に対して通知され、その通知は、ステップS84において、SvCtl TASK114に受信される。
このように、SvCtl TASK104とSvCtl TASK114の相互が、サーボオフに係わる処理を完了し、通知が行われると、SvCtl TASK104は、ステップS67において、SvCtl TASK114は、ステップS85において、それぞれ、サーボオフの処理を終了する。
このように、SvCtl TASK104とSvCtl TASK114が通信を行うことで、サーボオフの処理が実行される。また、このような通信が行われることで、協調動作が実現される。
このようなSvCtl TASK104とSvCtl TASK114が通信を行うときに用いられるパケットについて、図9を参照して説明を加える。1単位は、1パケット(Packet)であり、1パケットは、4バイトで構成される。1パケットを構成する4バイトのうち、1バイトのデータは、スタートビット(Start)、データ(Data)、パリティ(Parity)、およびストップビット(Stop)を含む構成とされる。
1パケットは、1バイトのコマンド(Command)、1バイトのパラメータ(Parameter0)、1バイトのパラメータ(Parameter1)、および1バイトのパラメータ(Parameter2)から構成される。このように構成される1パケットは、例えば、UART通信が用いられてピックアップ制御部35−1とピックアップ制御部35―2の間で授受される。
このように構成される1パケットを具体的に示すと、図10のようになる。図10Aに示したパケットは、サーボオンまたはサーボオフが要求されたときに授受されるパケットを示している。すなわち、図7のステップS22の処理で出される通知、または図8のステップS62の処理で出される通知に関するパケットである。
コマンド(Command)の部分には、“IPC_CMD_DRV_REQ”とのサーボオンまたはサーボオフの要求であるパケットであることを示すコマンドが格納される。パラメータ(Parameter0)のbit7のところには、サーボオンの要求のときには、“0”が格納され、サーボオフの要求のときには“1”が格納される。その他の部分は、パディング(padding)される。
図10Bに示したパケットは、サーボオンまたはサーボオフの要求を示す通知を受けたときに返信として授受されるパケットを示している。すなわち、図7のステップS43の処理で出される通知、または図8のステップS83の処理で出される通知に関するパケットである。
コマンド(Command)の部分には、“IPC_CMD_DRV_RET”とのサーボオンまたはサーボオフの要求を示す通知を受けたことに対する返信であることを示すコマンドが格納される。パラメータ(Parameter0)のところには、正常に終了されたときには“0”が格納され、エラーが発生したときには“0”以外の、エラーを特定するためのエラーコードなどが格納される。その他の部分は、パディングされる。
図10Cに示したパケットは、サーボオンまたはサーボオフの処理が完了されたときに授受されるパケットを示している。すなわち、図7のステップS26の処理で出される通知、または図8のステップS66の処理で出される通知に関するパケットである。
コマンド(Command)の部分には、“IPC_CMD_DRV_CMP”とのサーボオンまたはサーボオフの処理が完了したことを示すコマンドが格納される。パラメータ(Parameter0)のところには、正常に終了されたときには“0”が格納され、エラーが発生したときには“0”以外の、エラーを特定するためのエラーコードなどが格納される。他の部分は、パディングされる。
このようなパケットが、サーボオンまたはサーボオフに係わる処理のときに、ピックアップ制御部35―1とピックアップ制御部35―2との間で授受される。
次に、ピックアップ制御部35―1とピックアップ制御部35―2の他の処理について説明する。他の処理として、シーク動作時の処理について説明する。CLV(Constant Linear Velocity)動作時において、光学ピックアップ34−1または光学ピックアップ34−2のうちのどちらかの光学ピックアップ34がシーク動作を開始すると、そのシーク動作に合わせて、スピンドルモータ12の回転数(SP Target)を変更する必要がある。その時、シーク動作を開始していない他方の光学ピックアップ34も、シーク動作を開始しなければ、ディスク11上のアドレス情報が読めず、記録や再生といった動作を行えなくなってしまう。
どちらか一方の光学ピックアップ34の要求でシーク動作が開始され、そのシーク動作に同期するために行われるシーク動作を、同期シーク(Synchronous seek)と記述する。後述するように、記録や再生が行われることにより、ディスク11に対する光学ピックアップ34の読み出し位置や書き込み位置が移動し、その為にシーク動作が必要となることがあるが、そのようなシーク動作を、追従シーク(Follow seek)と記述する。
同期シークは、図11に示すように、同期シークに関する通信は、RwCtl TASK103とRwCtl TASK113との間で行われる。また、同期シークに関する指示は、ホストCPU16からLSI161−1に供給され、LSI61−1内のATA TASK101、BufCtl TASK102、RwCtl TASK103、およびSvCtl TASK104間でコマンドの授受が行われることで実行される。または、同期シークに関する指示は、ホストCPU16からLSI161−2に供給され、LSI61−2内のATA TASK111、BufCtl TASK112、RwCtl TASK113、およびSvCtl TASK114間でコマンドの授受が行われることで実行される。
同期シークについて、図12と図13のフローチャートを参照し説明する。なお、以下の説明においては、光学ピックアップ34−1側でシーク動作の要求を出すとして説明するが、光学ピックアップ34−2側でシーク動作の要求が出されたときも基本的に同様の処理が、立場を入れ換えて行われるだけであるので、その説明は省略する。
ステップS101において、RwCtl TASK103は、シークの要求を受ける。ステップS102において、RwCtl TASK103は、シークの要求があったことを、シリアル通信制御部77を制御して、RwCtl TASK113に対して通知する。このとき、図14Aに示すようなパケットが作成され、出される。図14Aに示したパケットも、上述したように、4バイトで構成される。
コマンド(Command)の部分には、“IPC_CMD_SEEK_REQ”とのシークの要求があったことを示すコマンドが格納される。パラメータ(Parameter0)のところには、RUB(bit23〜bit16)が格納され、パラメータ(Parameter1)のところには、RUB(bit15〜bit8)が格納され、パラメータ(Parameter2)のところには、RUB(bit7〜bit0)が格納される。なお、RUBとは、Recording Unit Blockの略である。
Parameter0、Parameter1、Parameter2のところに、シークのターゲット先のアドレスが記載される。このように、RwCtl TASK103からは、シークの要求を受けたことを通知するとき、どのアドレスにシークするのかを示すデータもあわせて通知される。
ステップS102において、図14Aに示したようなパケットが送信されると、ステップS121において、RwCtl TASK113により受信される。RwCtl TASK113は、ステップS112において、シーク可能判断処理を実行する。このステップS112におけるシーク可能判断処理については、図13を参照して後述する。ステップS112においてシーク可能判断処理が行われ、シーク可能であると判断されると、ステップS123に処理が進められる。
ステップS123において、RwCtl TASK113は、シーク可能であることをRwCtl TASK103に対して通知する。この通知のときに出されるパケットを、図14Bに示す。コマンド(Command)の部分には、“IPC_CMD_SEEK_RET”とのシークの要求に対する返答であることを示すコマンド、換言すれば、シーク可能な状態にあることを示すコマンドが格納される。他の部分は、パディングされる。
RwCtl TASK103は、RwCtl TASK113からの通知を、ステップS104において受信する。RwCtl TASK103は、ステップS102において、シークの要求があったことを通知してから、ステップS104でRwCtl TASK113からシーク可能であるという通知を受信するまで間、返答待ちの状態を維持する(ステップS103)。ステップS105において、RwCtl TASK103は、シークを開始する。
このように、光学ピックアップ34―1または光学ピックアップ34−2のどちらか一方でシークの要求が発生した場合、他方の許可がおりるまで、シークは開始されない。
図13のフローチャートを参照し、ステップS122で実行されるシーク可能判断処理について説明する。
ステップS151において、RwCtl TASK113は、処理中であるか否かを判断する。すなわち、RwCtl TASK113は、シーク要求があったことを示す通知を受信したとき、データの書き込みやデータの読み込みといった処理を実行しているか否かを判断する。ステップS151において、処理中ではないと判断された場合、ステップS152に処理が進められ、シーク要求に応じて、シーク動作を行うことが可能であると判断される。このような判断が行われると、上記したように、シーク要求を通知してきたRwCtl TASK103に、シークを行っても良いという許可が出される。
一方、ステップS151において、処理中であると判断された場合、ステップS153に処理が進められる。ステップS153において、動作制限内であるか否かが判断される。この動作制限内であるか否かの判断について、図15を参照して説明する。図15中、SP Targetとは、スピンドルモータ12の回転数を決める基準となる物理アドレスである。この物理アドレスは、RUB Address単位である。RUB Addressとは、ディスク11上の物理アドレスのことである。
いま、SP Targetのところに、光学ピックアップ34―1が位置しているときを考える。光学ピックアップ34−1と光学ピックアップ34−2が共に、正常に物理アドレスの読み取り、記録、再生といった処理を行うことができるRUB Addressの範囲は、SP Targetの前後2048RUB Addressの範囲w1内である。
すなわち、光学ピックアップ34−1が位置しているRUB Addressよりもマイナス2048RUB Addressの範囲内に光学ピックアップ34−2が位置していれば、光学ピックアップ34−1と光学ピックアップ34−2は、共に正常に処理を行うことができる。また、光学ピックアップ34−1が位置しているRUB Addressよりもプラス2048RUB Addressの範囲内に光学ピックアップ34−2が位置していれば、光学ピックアップ34−1と光学ピックアップ34−2は、共に正常に処理を行うことができる。
このように、一方の光学ピックアップ34が位置する位置に対して、±2048RUB Addressの範囲内に、他方の光学ピックアップ34が位置していれば、光学ピックアップ34−1と光学ピックアップ34−2の間で、線速度(CLV:Constant Linear Velocity)に誤差が生じていても、物理アドレスの読み取り、記録、再生といった処理は、光学ピックアップ34−1と光学ピックアップ34−2で共に正常に行うことが可能である。
そこで、ステップS153においては、光学ピックアップ34−1が要求してきたシーク先のアドレス(目標アドレス)に対して、±2048RUB Address以内に光学ピックアップ34−2が位置しているか否かが判断される。位置していると判断される場合、動作制限内であると判断され、ステップS152に処理が進められ、シーク可能であることが通知される。
具体的には、ステップS153における動作制限内であるか否かの判断は、
|(目標とするRUB Address)―(処理中のRUB Address)|<2048
であるか否か、すなわち、目標アドレスから、光学ピックアップ34−2が位置しているアドレスを減算した値の絶対値が2048未満であるか否かが判断されることにより行われる。このような演算の結果、絶対値が2048未満であると判断された場合、ステップS152に処理が進められ、シーク可能であることが通知される。
一方、ステップS153において、動作制限内ではないと判断された場合、ステップS154に処理が進められる。ステップS154において、光学ピックアップ34−2は、その時点で処理している処理を継続する。例えば、データの読み出しを処理していた場合には、データの読み出し処理が継続される。
図16を参照し、さらに、図12、図13のフローチャートを参照して説明したシーク動作について説明を加える。図16Aの状態のときに、光学ピックアップ34−1に対してシークの要求が出されたとする。図16Aに示した状態は、光学ピックアップ34−1が位置P1に位置し、光学ピックアップ34−2が位置P2に位置している状態である。また、位置P1と位置P2は、動作制限内に位置している。この時の動作制限内の最大値は、最大値M1である。この最大値M1を、Follow RUB MAXと称する。このFollow RUB MAXは、SP Targetを再設定しなくてはならない物理アドレスの位置を示す。
図16Aに示したような状態のときに、目標アドレスとしてアドレスA1が指示されたとする。このアドレスA1は、動作制限内の最大値M1より大きい値である。このような状況のときに、光学ピックアップ34−1だけが、アドレスA1の位置にシークしてしまうと、光学ピックアップ34−2は、動作制限外に位置してしまうことになる。そのような状態になると、光学ピックアップ34−2が処理していた、例えば書き込み処理が失敗してしまうことになる。そのため、光学ピックアップ34−2が処理を終わるまでシーク動作は行われない(ステップS154の状態)。
光学ピックアップ34−2が処理を終わり、シーク動作を許可できる状態になると、シーク動作が行われる。すなわちこの場合、目標アドレスであるアドレスA1の位置に、光学ピックアップ34−1と光学ピックアップ34−2の位置が移動される。図16Bに示すように、光学ピックアップ34−1が、位置P1からアドレスA1の位置P1’まで移動され、光学ピックアップ34−2が、位置P2からアドレスA1の位置P2’まで移動される。
このとき、アドレスA1が、SP Targetに設定され、このアドレスA1に応じた回転数にスピンドルモータ12の回転が制御される。また、SP Targetが再設定されるのにともない、Follow RUB MAXも再設定され、最大値M1’にされる。
このように、シークの要求があったときには、動作可能範囲内であるか否かが判断される等の処理が行われる。このようなシーク動作を可能にするために、上記したように、シーク可能であるか否かの問い合わせや、シーク可能であるという返答が、ピックアップ制御部35−1とピックアップ制御部35−2との間で送受信される。このような通信が行われることで、2つの光学ピックアップ34間で、協調した動作を実現することが可能となる。
このようにシークの要求があったときにシーク動作が行われるが、シークの要求がない場合であっても、シークを行う必要がある。例えば、データの読み出しを行っているとき、読み出し位置は、順次移動するため、その移動先に合わせてシーク動作を行う必要がある。
図17を参照して説明する。図17Aに示したように、光学ピックアップ34−1がデータの読み出しを行うことで、位置P1まで移動し、Follow RUB MAXの値である最大値M1の位置まで来ると、その時点でのSP Targetの回転速度では対応できないため、SP Targetを再設定する必要がある。このような場合例えば、その時点でのFollow RUB MAXの値である最大値M1のところが、新たなSP Targetに再設定される(図17Bの状態)。
光学ピックアップ34−1の位置が、新たなSP Targetに設定されることにより、光学ピックアップ34−2は、シーク動作を開始する必要がある。この場合、光学ピックアップ34−2は、新たに設定されたSP Targetの位置をシークの目標アドレスとして設定し、シークを行う。また、このようなシーク動作が行われる一方で、Follow RUB MAXの値も、再設定され、最大値M1’に設定される。
このように、CLV動作時において、記録や再生といった動作を継続して実行していると、SP Targetと光学ピックアップ34(光学ヘッド33)の位置の差が一定値を越え、SP Targetの再設定を行う必要がでてくる。このとき、一方の光学ピックアップ34の位置に対応し、他方の光学ピックアップ34も、SP Target±2048以内にシークさせる必要がある。このシークのことをFollow seek(追従シーク)と称する。
このようなFollow seek(追従シーク)について、さらに説明を続ける。追従シークは、ディスク11に対してデータの書き込みや、ディスク11からのデータの読み出しを行うときに行われるので、図18に示すように、追従シークに関する通信は、RwCtl TASK103とRwCtl TASK113との間で行われる。また、追従シークは、RwCtl TASK103とRwCtl TASK113が、記録や再生の動作を制御しているときに行われ、他のタスクからの要求により行われるわけではないので、RwCtl TASK103とRwCtl TASK113との間での通信と、SvCtl TASK104やSvCtl TASK114との通信だけで行われる。
追従シークについて、図19乃至21のフローチャートを参照し説明する。
ステップS201において、SvCtl TASK104は、RwCtl TASK103に対して、SP Targetの変更を要求する。上述したように、SvCtl TASK104が記録や再生を制御しているとき、SP Targetと光学ピックアップ34の距離の差が一致値を超え、SP Targetの再設定を行う必要がある状況になると、SvCtl TASK104は、RwCtl TASK103に対して、SP Targetの変更を要求する。
ステップS221において、RwCtl TASK103は、SP Target変更の要求を受ける。ステップS222において、RwCtl TASK103は、SP Targetの変更の要求があったことを、シリアル通信制御部77を制御して、RwCtl TASK113に対して通知する。このとき、図22Aに示すようなパケットが作成され、出される。図22Aに示したパケットも、上述したパケットと同様に4バイトで構成される。
コマンド(Command)の部分には、“IPC_CMD_SPTGT_REQ”とのSP Targetの変更の要求があったことを示すコマンドが格納される。パラメータ(Parameter0)のところには、RUB(bit23〜bit16)が格納され、パラメータ(Parameter1)のところには、RUB(bit15〜bit8)が格納され、パラメータ(Parameter2)のところには、RUB(bit7〜bit0)が格納される。
Parameter0、Parameter1、Parameter2のところに、SP Targetのターゲット先のアドレスが記載される。このように、RwCtl TASK103からは、SP Targetの要求を受けたことを通知するとき、どのアドレスをSP Targetにするのかを示すデータもあわせて通知される。
ステップS222において、図22Aに示したようなパケットが送信されると、ステップS241において、RwCtl TASK113が受信する。RwCtl TASK113は、ステップS242において、SP Target変更可能判断処理を実行する。このステップS242におけるSP Target変更可能判断処理については、図20を参照して後述する。ステップS242においてSP Target変更可能判断処理が行われ、判断結果が出ると、ステップS243に処理が進められる。
ステップS243において、RwCtl TASK113は、シーク可能であるか否かを示す判断結果を、RwCtl TASK103に対して通知する。この通知のときに出されるパケットを、図22Bに示す。コマンド(Command)の部分には、“IPC_CMD_SPTAG_RET”とのSP Targetの変更の要求に対する返答であることを示すコマンドが格納される。パラメータ(Parameter0)のbit7のところには、SP Targetの変更を許可するか否かのステータス(status)を表す数値が格納される。また、パラメータ(Parameter0)のbit7以外のところには、RUB(bit22〜bit16)が格納され、パラメータ(Parameter1)のところには、RUB(bit15〜bit8)が格納され、パラメータ(Parameter2)のところには、RUB(bit7〜bit0)が格納される。
このようなRwCtl TASK113からの通知を、RwCtl TASK103は、ステップS224において受信する。RwCtl TASK103は、ステップS222において、SP Targetの変更の要求があったことを通知してから、ステップS224でRwCtl TASK113からSP Targetの変更が可能であるか否かを示す返答を受信するまで間、返答待ちの状態を維持する(ステップS223)。ステップS225において、RwCtl TASK103は、受信結果に応じた処理を実行する。このステップS225における受信結果に応じた処理の詳細は、図22を参照して後述する。
ステップS225において受信結果に応じた処理が実行されることで、SvCtl TASK104に実行させる処理が決定され、その決定された処理を実行するように、ステップS226において、SvCtl TASK104に要求が出される。なおここでは、RwCtl TASK103が処理を決定し、SvCtl TASK104に対して要求を出すとして説明を続けるが、RwCtl TASK103から、受信された情報が、SvCtl TASK104に供給され、SvCtl TASK104が処理を決定するようにしても良い。
ステップS202において、RwCtl TASK103からの要求を受信したSvCtl TASK104は、ステップS203において、その要求に対応した処理を実行する。この処理内容については後述するが、SP Targetの設定に係わる処理である。
一方、RwCtl TASK113は、ステップS243において、判断結果をRwCtl TASK103に通知すると、ステップS244において、判断結果に応じた処理を、SvCtl TASK114に実行するように要求を出す。ステップS261において、RwCtl TASK113からの要求を受信したSvCtl TASK114は、ステップS262において、その要求に対応した処理を実行する。この処理内容については後述するが、SP Targetの設定に係わる処理である。
このように、光学ピックアップ34―1と光学ピックアップ34−2(それらを制御するピックアップ制御部35−1とピックアップ制御部35−2)が通信を行い、互いの状態を確認しながら、適切なSP Targetに関する処理、すなわち、この場合追従シークの処理が実行される。
図20のフローチャートを参照し、ステップS242で実行されるSP Target変更可能判断処理について説明する。
ステップS301において、RwCtl TASK113は、処理中であるか否かを判断する。すなわち、RwCtl TASK113は、SP Targetの変更の要求があったことを示す通知を受信したとき、データの書き込みやデータの読み込みといった処理を実行しているか否かを判断する。ステップS301において、処理中ではないと判断された場合、ステップS302に処理が進められ、受信されたパケットに含まれていたアドレスを含むパケットが生成される。
ステップS302に処理がくるのは、RwCtl TASK113が、処理中ではないと判断する状態であり、換言すれば光学ピックアップ34−2によるデータの書き込みや読み出しが行われていない状態であり、アイドリングの状態(IDLE状態)であるときである。このようなときには、光学ピックアップ34−2を、どのような位置に移動させても問題ないので、光学ピックアップ34−1の要求に応じて光学ピックアップ34−2が移動される。
よってこのような場合、RwCtl TASK103が要求してきたSP Targetのアドレスに、SP Targetを変更しても良いという返答が、RwCtl TASK103に対して出される。この返答は、図22Bに示したようなパケット構造を有し、パラメータ(Parameter0)、パラメータ(Parameter1)、およびパラメータ(Parameter2)のところに格納されるアドレスは、RwCtl TASK103がSP Targetのアドレスとして通知してきたアドレスである。
このようにして生成されたパケットは、ステップS243において、判断結果として、RwCtl TASK103に出力される。RwCtl TASK113は、パケットを出力する一方で、ステップS303において、追従シークの開始を、SvCtl TASK114に要求する。この要求をうけて、ステップS244において、RwCtl TASK113から、SvCtl TASK114に対して処理の要求が出される。
追従シークの開始の要求について、再度図17を参照して説明する。図17Aに示したように、光学ピックアップ34−1が、Follow RUB MAXの位置に位置しているときに、SP Targetの変更の要求が出される。このようなときに、ステップS303に処理がくると、この光学ピックアップ34−1が位置している位置に、光学ピックアップ34−2が位置するような移動が行われるような指示が、SvCtl TASK114に出される。
すなわち、光学ピックアップ34−2においては、再設定されるSP TargetのRUB Addressに、シークする処理になる。よって、ステップS303においては、光学ピックアップ34−1に追従して、シークするという要求が出される。このような要求が、SvCtl TASK114に出されることで、SvCtl TASK114が追従シークを開始し、追従シークが行われる。
一方、ステップS301において、処理中であると判断された場合、ステップS304に処理が進められる。ステップS304において、動作制限内であるか否かが判断される。この動作制限内であるか否かの判断については、図15等を参照して既に説明したので、ここでは、その説明を省略する。ステップS304において、動作制限内であると判断された場合、ステップS305に処理が進められる。
ステップS305において、自己のアドレスを含むパケットが生成される。ステップS305に処理がくるのは、RwCtl TASK113の制御のもと、光学ピックアップ34−2がデータの書き込みや読み出しを行っているが、再設定されるSP Targetと光学ピックアップ34−2の位置関係は、動作制限内にある場合である。このようなときには、SP Targetの変更は可能であるが、その範囲は限定され、光学ピックアップ34−1の位置を新たなSP Targetとするか、光学ピックアップ34−2の位置を新たなSP Targetとするかが、RwCtl TASK103側で判断されるため(後述)、RwCtl TASK103へのパケットとして作成されるパケットには、光学ピックアップ34−2が位置しているアドレス(自己のアドレス)が含まれる。
このようにして生成されたパケットは、ステップS243において、判断結果として、RwCtl TASK103に出力される。このようなパケットが、RwCtl TASK113からRwCtl TASK103に出される一方で、RwCtl TASK113は、ステップS306において、SP Targetの変更の要求を、SvCtl TASK114に対して出す。この要求をうけて、ステップS244において、RwCtl TASK113から、SvCtl TASK114に対して処理の要求が出される。SP Targetは、その時点で、光学ピックアップ34−1または光学ピックアップ34−2のうち内周側にある光学ピックアップ34が位置するRUB Addressに設定される。
SvCtl TASK114は、自己が制御を担当している光学ピックアップ34−2が位置するRUB Addressと、RwCtl TASK103からの通知に含まれるSP Targetの目標アドレス(光学ピックアップ34−1が位置するRUB Address)を比較し、内周側のアドレスをSP Targetとして設定する。
このような処理が、RwCtl TASK113の要求に基づき、SvCtl TASK114において実行される。
一方ステップS304において、動作制限内ではないと判断された場合、ステップS307に処理が進められる。ステップS307において、SP Targetの変更が不可であることを示すパケットが生成される。このようにして生成されたパケットは、ステップS243において、判断結果として、RwCtl TASK103に出力される。また、光学ピックアップ34−2は、ステップS308において、その時点で処理している処理を継続する。例えば、データの読み出しをしていた場合には、データの読み出しが継続される。
なお、ここでは、図20に示したフローチャートの処理は、RwCtl TASK113が行うとして説明したが、各処理の全て、または一部を、SvCtl TASK114が実行するようにしても良い。例えば、RwCtl TASK113が受信したパケットの内容が、SvCtl TASK114に供給され、SvCtl TASK114が、パケットの内容を解析し、SP Targetとするアドレスを決定する(ステップS303やステップS306の処理を実行する)ようにしたり、決定されたアドレスの情報がSvCtl TASK114からRwCtl TASK113に供給され、その供給されアドレスを元に、パケットを生成する(ステップS302,305,307の処理を実行する)ようにしても良い。
このような処理が、SP Targetの変更を要求された側(この場合、光学ピックアップ34−2を制御するRwCtl TASK113とSvCtl TASK114)で行われる一方で、SP Targetの変更を要求した側(この場合、光学ピックアップ34−1を制御するRwCtl TASK103とSvCtl TASK104)では、ステップS225(図19)において、受信結果に応じた処理が実行される。ステップS225において実行される受信結果に応じた処理について、図21のフローチャートを参照して説明する。
ステップS341において、RwCtl TASK103は、RwCtl TASK113からの通知を解析し、SP Targetの変更を許可する内容であるか否かを判断する。この判断は、図22Bを再度参照するに、受信されたパケットのパラメータ(Parameter0)のbit7のところに記載されている情報を参照することで判断される。すなわち、“1”が記載されている場合、SP Targetが許可されたと判断され、“0”が記載されている場合、SP Targetが許可されなかったと判断される。
ステップS341において、SP Targetが許可されなかったと判断された場合、ステップS342に処理が進められ、処理を停止する要求が、SvCtl TASK104に対して出される。この要求をうけて、ステップS226において、RwCtl TASK103から、SvCtl TASK104に対して、処理を停止する要求が出される。この要求をうけ、SvCtl TASK104は、その時点で行っている書き込みの処理や読み出しの処理を停止する。換言すれば、光学ピックアップ34−2が、SP Targetの変更を許可できる状態になるまで待機状態とされる。
一方、ステップS341において、SP Targetが許可されたと判断された場合、ステップS343に処理が進められ、要求したアドレスを含むか否かが判断される。要求したアドレスとは、ステップS222において、RwCtl TASK103がSP Targetの変更の要求があったことを通知するパケットに含ましたアドレスである。ステップS343において、受信されたパケットに含まれるアドレスは、要求したアドレスであると判断された場合、ステップS344に処理が進められる。
ステップS344において、要求したアドレス、この場合、光学ピックアップ34−1がその時点で位置するアドレス、さらに換言するならば、その時点でのFollow RUB Addressの位置を、新たなSP Targetに設定する要求が、SvCtl TASK104に出される。このような要求が、SvCtl TASK104に出されることで、SvCtl TASK104は、新たなSP Targetを設定し、その設定されたSP Targetに基づく回転で、スピンドルモータ12の回転が制御される。
一方、ステップS343において、受信されたパケットに含まれるアドレスは、要求したアドレスを含まないと判断された場合、ステップS345に処理が進められる。このような場合、受信されたパケットに含まれるアドレスは、RwCtl TASK113側で、ステップS305(図20)において作成されたパケットに含まれるアドレスである。すなわち、光学ピックアップ34−2が位置するRUB Addressである。
RwCtl TASK103は、光学ピックアップ34−1が位置するアドレスと、光学ピックアップ34−2が位置するアドレスを比較し、内周側に位置する光学ピックアップ34のアドレスを、新たなSP Targetに設定する要求をSvCtl TASK104に出す。このような要求が、SvCtl TASK104に出されることで、SvCtl TASK104は、新たなSP Targetを設定し、その設定されたSP Targetに基づく回転で、スピンドルモータ12の回転が制御される。
なお、ステップS345における処理と同様の処理が、ステップS344においても行われるようにしても良い。すなわち、ステップS345において、RwCtl TASK103は、光学ピックアップ34−1が位置するアドレスと、受信された光学ピックアップ34−2が位置するアドレスを比較し、内周側に位置する光学ピックアップ34のアドレスを、新たなSP Targetに設定する要求をSvCtl TASK104に出す。この場合、同じアドレスになるので、結果として、光学ピックアップ34−1が位置するアドレスが新たなSP Targetに設定される。
また、このようにした場合、ステップS343における処理を省略することも可能である。すなわち、受信したパケットに含まれるアドレスによらず、光学ピックアップ34−1が位置するアドレスと、受信された光学ピックアップ34−2が位置するアドレスを比較し、内周側に位置する光学ピックアップ34のアドレスを、新たなSP Targetに設定するという処理が行われるので、ステップS343における判断処理は省略することが可能である。
なお、ここでは、図21に示したフローチャートの処理は、RwCtl TASK103が行うとして説明したが、各処理の全て、または一部を、SvCtl TASK104が実行するようにしても良い。例えば、RwCtl TASK103が受信したパケットの内容が、SvCtl TASK104に供給され、SvCtl TASK104が、パケットの内容を解析し、SP Targetとするアドレスを決定する(ステップS344やステップS345の処理を実行する)ようにしても良い。
このように、光学ピックアップ34―1または光学ピックアップ34−2が通信を行い、互いの状況を確認しながら、適切なSP Targetに関する処理、すなわち、この場合追従シークの処理が実行される。
なお、上述した説明においては、光学ピックアップ34−1側でシーク動作の要求を出す場合を例に挙げて説明したが、光学ピックアップ34−2側にシーク動作の要求が出されたときも基本的に同様の処理が、立場を入れ換えて行われるだけであるので、その説明は省略する。ただし、スピンドルモータ12を制御するのは、SvCtl TASK104であるので、実際に、スピンドルモータ12に対してSP Targetの設定の指示を出すのは、SvCtl TASK104である。よって、光学ピックアップ34−2側でシーク動作の要求が出されても、SvCtl TASK114側でスピンドルモータ12に対してSP Targetの設定の指示を出すことはないように処理が行われる。
上述した説明は主に、図2に示したような1つの光学ヘッド33に2つの光学ピックアップ34−1と光学ピックアップ34−2が設置されているときを例に挙げて説明したが、図1に示すような2つの光学ヘッド13−1と光学ヘッド13−2にそれぞれ光学ピックアップ14−1と光学ピックアップ14−2が設置されている場合であっても、上述した説明のように、処理することが可能であり、本発明を適用することが可能である。
このように本発明によれば、2つの光学ピックアップを備える駆動装置に、専用のデバイスを新規に開発することなく、例えば、パーソナルコンピュータのドライブなどで使用される集約されたICチップセットを流用することができるようになる。
また、そのようなICチップセットを流用し、そのチップセットの間で通信を行えるように構成することで、適切に2つの光学ピックアップを制御することが可能となる。また、2つのピックアップを協調動作させることが可能となる。
また、チップセットを流用することで、消費電力の削減や、回路基板の縮小によるドライブの小型化、ドライブのローコスト化を実現することも可能となる。
上述した一連の処理、例えば、図5に示した各タスクを実現するのは、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
図23は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータのハードウェアの構成の例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)301、ROM(Read Only Memory)302、RAM(Random Access Memory)303は、バス304により相互に接続されている。
バス304には、さらに、入出力インターフェース305が接続されている。入出力インターフェース305には、キーボード、マウス、マイクロホンなどよりなる入力部306、ディスプレイ、スピーカなどよりなる出力部307、ハードディスクや不揮発性のメモリなどよりなる記憶部308、ネットワークインタフェースなどよりなる通信部309、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどのリムーバブルメディア311を駆動するドライブ310が接続されている。
以上のように構成されるコンピュータでは、CPU301が、例えば、記憶部308に記憶されているプログラムを、入出力インターフェース305及びバス304を介して、RAM303にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU301)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア311に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
そして、プログラムは、リムーバブルメディア311をドライブ310に装着することにより、入出力インターフェース305を介して、記憶部308にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部309で受信し、記憶部308にインストールすることができる。その他、プログラムは、ROM302や記憶部308に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
11 ディスク, 12 スピンドルモータ, 13 光学ヘッド, 14 光学ピックアップ, 15 ピックアップ制御部, 16 ホストCPU, 33 光学ヘッド, 34 光学ピックアップ, 35 ピックアップ制御部, 61 LSI, 62 SDRAM, 63 RF信号処理部, 71 SATA制御部, 72 メモリ制御部, 73 デコーダ, 74 エンコーダ, 75 サーボ制御部, 76 CPU, 77 シリアル通信制御部, 81 SATA制御部, 82 メモリ制御部, 83 デコーダ, 84 エンコーダ, 85 サーボ制御部, 86 CPU, 87 シリアル通信制御部, 101 ATA TASK, 102 BufCtl TASK, 103 RwCtl TASK, 104 SvCtl TASK