説明

情報処理装置および方法、並びにプログラム

【課題】複雑な読み出し処理や書き込み処理でも容易かつ高速に処理することができるようにする。
【解決手段】外部ホスト301よりホストインタフェース211にリード指示が供給されると、MPU201は、リード動作に必要な指示の集合体として形成される、複数の処理を制御するリードコマンドを生成し、リードコマンドバッファ212に格納し、リードコマンド制御ブロック213、FIFO214、物理アドレス処理部215、論理アドレス処理部216、データ処理部217、リードデータバッファ218等の各部を制御し、そのリードコマンドを順次実行させる。本発明は、例えば、光ディスク記録再生装置に適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、記録媒体へのアクセス処理を高効率化し、複雑な読み出し処理や書き込み処理でも容易かつ高速に処理することができるようにした情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【0002】
記録媒体であるディスク(例えば光ディスク)から情報を読み出すためには、ウォブルやプリピットとしてディスクに刻まれた物理アドレス、RF再生信号中に埋め込まれている論理アドレス、ディスクから読み出された情報であるリードデータの格納先バッファ領域を指定する情報等が必要になる。
【0003】
従来、ディスクに対して情報の読み出しや書き込みを行うディスク記録再生装置は、それらの情報を個々のレジスタに予め設定し、1回のリード動作(ディスクから情報を読み出す動作)として、各値を用いた情報の読み出しに関する各処理を連続的に実行していた(例えば、特許文献1参照)。
【0004】
特許文献1には、シーク動作ならびにリードライト動作を一括して指示する特定コマンドを発行することにより、回転待ち時間にもシークコマンド処理を可能にしたディスク装置が記載されている。
【0005】
【特許文献1】特開平02−285556号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の方法では、例えば、リードするセクタを飛ばしたり、リードしたデータを並び替えてバッファに書き込んだり等、複雑なリード動作を行うことが困難になる恐れがあった。例えば、特許文献1に記載のコマンドを適用しても、単純にシーク動作ならびにリードライト動作を決められた順に行うのみであり、例えば上述したような複雑なリード動作を実行することは困難であった。複雑なリード動作を行うためには、リード動作を一旦停止して、これらの各設定レジスタを、処理タイミングを注意深く確認しながら変更し、処理を再開することが必要であった。その結果、待機時間の増大等により、パフォーマンスが低下したり、タイミング的に高精度なファームウェア処理が必要になったりし、現実的には、処理の高速化を実現することが困難であった。
【0007】
本発明はこのような問題を解決するためのものであり、記録媒体へのアクセス処理を高効率化し、複雑な読み出し処理や書き込み処理でも容易かつ高速に処理することができるようにするものである。
【課題を解決するための手段】
【0008】
本発明の一側面は、外部より受け付けられた、記録媒体より情報を読み出すリード指示に基づいて、前記情報を読み出すためのリード動作に必要な指示の集合体として形成される、複数の処理を制御する制御コマンドであるリードコマンドを生成する生成手段と、前記生成手段により生成された前記リードコマンドを解析し、前記リードコマンドに含まれる指示を抽出する解析手段と、前記解析手段により解析されて抽出された前記指示の実行タイミングを調整する調整手段と、前記調整手段により調整された所定のタイミングで前記指示を実行し、前記情報を前記記録媒体より読み出す実行手段とを備える情報処理装置である。
【0009】
前記生成手段により生成された前記リードコマンドを一時的に保持するリードコマンド保持手段をさらに備え、前記解析手段は、前記リードコマンド保持手段により保持されている前記リードコマンドを1つずつ読み出して解析することができる。
【0010】
前記調整手段は、前記解析手段により前記リードコマンドより抽出された各指示を一時的に保持するバッファを有することができる。
【0011】
前記実行手段は、前記記録媒体の物理アドレスに基づいてリード位置を制御する物理アドレス処理手段と、前記情報に含まれる論理アドレスに基づいてリード位置を制御する論理アドレス処理手段と、前記記録媒体より読み出された前記情報を処理するとともに、前記情報のバッファへの格納先を制御するデータ処理手段とを備えることができる。
【0012】
前記リードコマンドは、リード位置を指定する前記記録媒体の物理アドレス、リード位置を指定する前記情報に含まれる論理アドレス、前記記録媒体より読み出された前記情報の、バッファの格納先領域を示すバッファエリア、および、リードする範囲をセクタ数で指定するリード長を指定することができる。
【0013】
前記リードコマンドは、前記記録媒体より読み出された前記情報を前記バッファに格納せずに破棄するか否かを、さらに指定することができる。
【0014】
前記リードコマンドは、リードの終了位置をさらに指定することができる。
【0015】
本発明の一側面はまた、情報処理装置の情報処理方法において、前記情報処理装置は、生成手段と、解析手段と、調整手段と、実行手段とを備え、前記生成手段は、外部より受け付けられた、記録媒体より情報を読み出すリード指示に基づいて、前記情報を読み出すためのリード動作に必要な指示の集合体として形成される、複数の処理を制御する制御コマンドであるリードコマンドを生成し、前記解析手段は、生成された前記リードコマンドを解析し、前記リードコマンドに含まれる指示を抽出し、前記調整手段は、解析されて抽出された前記指示の実行タイミングを調整し、前記実行手段は、調整された所定のタイミングで前記指示を実行し、前記情報を前記記録媒体より読み出す情報処理方法である。
【0016】
本発明の一側面はさらに、コンピュータを、外部より受け付けられた、記録媒体より情報を読み出すリード指示に基づいて、前記情報を読み出すためのリード動作に必要な指示の集合体として形成される、複数の処理を制御する制御コマンドであるリードコマンドを生成する生成手段と、前記生成手段により生成された前記リードコマンドを解析し、前記リードコマンドに含まれる指示を抽出する解析手段と、前記解析手段により解析されて抽出された前記指示の実行タイミングを調整する調整手段と、前記調整手段により調整された所定のタイミングで前記指示を実行し、前記情報を前記記録媒体より読み出す実行手段として機能させるためのプログラムである。
【0017】
本発明の一側面においては、外部より受け付けられた、記録媒体より情報を読み出すリード指示に基づいて、前記情報を読み出すためのリード動作に必要な指示の集合体として形成される、複数の処理を制御する制御コマンドであるリードコマンドが生成され、生成された前記リードコマンドが解析され、前記リードコマンドに含まれる指示が抽出され、解析されて抽出された前記指示の実行タイミングが調整され、調整された所定のタイミングで前記指示が実行されて、前記情報が前記記録媒体より読み出される。
【発明の効果】
【0018】
本発明によれば、記録媒体への情報の読み出しや書き込みを行うことができる。特に、記録媒体へのアクセス処理を高効率化し、複雑な読み出し処理や書き込み処理でも容易かつ高速に処理することができる。
【発明を実施するための最良の形態】
【0019】
図1は、本発明を適用した光ディスクドライブの主な構成例を示すブロック図である。
【0020】
図1に示される光ディスクドライブ100は、所定の位置に装着された光ディスク121に対して、レーザ光を照射することにより情報の読み出しや書き込みを行う装置である。光ディスク121は、少なくとも読み出し可能な光ディスクである。もちろん、書き込み(追記または書き換え)可能な光ディスクであってもよい。光ディスク121の例として、例えば、CD-ROM(Compact Disc - Read Only Memory)、CD-R(Compact Disc - Recordable)、CD-RW(Compact Disc - Rewritable)がある。また、例えば、DVD-ROM(Digital Versatile Disc - Read Only Memory)、DVD±R(Digital Versatile Disc ± Recordable)、または、DVD±RW(Digital Versatile Disc ± Rewritable)がある。さらに、例えば、DVD-RAM(Digital Versatile Disc - Random Access Memory)、BD-ROM(Blu-ray Disc - Read Only Memory)、BD-R(Blu-ray Disc - Recordable)、または、BD-RE(Blu-ray Disc - Rewritable)がある。光ディスクドライブ100が対応しているのであれば、これらの規格以外の光ディスク(記録媒体)であってももちろんよい。
【0021】
光ディスクドライブ100は、システムコントローラ111、スピンドルモータ駆動回路112、スピンドルモータ113、サーボ制御部114、データプロセッサ115、および光学ヘッド部116を有している。
【0022】
システムコントローラ111は、光ディスクドライブ100内の各部の動作を制御する制御部である。システムコントローラ111は、CPU(Central Processing Unit)131、ROM(Read Only Memory)132、およびRAM(Random Access Memory)133を有する。CPU131が、ROM132に記憶されているプログラム、またはRAM133にロードされたプログラムに従って各種の処理を実行することにより、システムコントローラ111として機能する。RAM133にはまた、CPU131が各種の処理を実行する上において必要なデータなども適宜記憶される。以下において説明するシステムコントローラ111の動作は、いずれも、CPU131が上述したようにROM132やRAM133等を用いて行う動作に相当する。
【0023】
スピンドルモータ駆動回路112は、システムコントローラ111に制御されて、光ディスク121を回転させるためのスピンドルモータ113の回転駆動を制御する。サーボ制御部114は、システムコントローラ111に制御されて、光ピックアップ(光学ヘッド部116)の位置制御を行う。データプロセッサ115は、システムコントローラ111に制御されて、光ディスク121より読み出された情報や光ディスク121に書き込む情報を処理対象とする情報処理を行う。光学ヘッド部116は、システムコントローラ111に制御されて、光ディスク121に対してレーザ光を照射し、情報を読み出したり書き込んだりする。
【0024】
例えば、光学ヘッド部116は、データプロセッサ115より取得した、デジタルデータを電気信号から光信号(レーザ光)に変換し、そのレーザ光の光出力レベルを、光ディスクに情報を書き込むときの発光パワーであるピークパワー(ピーク光出力レベル)、光ディスク表面を急速に冷却するときの発光パワーであるクールパワー(クール光出力レベル)、並びに光ディスクに記録されている情報を消去するときの発光パワーであるイレースパワー(イレース光出力レベル)のいずれかに切り替えながら光ディスク121に照射することにより、そのデジタルデータを光ディスク121に書き込む。また、光学ヘッド部116は、光ディスク121にレーザ光を、光ディスクに記録されている情報を読み出すときの発光パワーであるリードパワー(リード光出力レベル)で照射することにより、光ディスク121に記録されているデジタルデータを光信号として抽出し、それを電気信号に変換してデータプロセッサ115に供給する。
【0025】
このような光ディスクドライブ100において、光ディスク121に記録されている情報の読み出し(リード)や、光ディスク121への情報の書き込み(ライト)が行われるが、その制御は、システムコントローラ111が行う。このような読み出しや書き込みを含む光ディスク121へのアクセス処理は、システムコントローラ111が、光ディスクドライブ100の外部(例えばホストコンピュータ等)からの要求に基づいて行う。
【0026】
このとき、システムコントローラ111は、ウォブルやプリピット等のセクタ毎の物理アドレス、RF再生信号に含まれる論理アドレス、リードデータの格納先バッファ領域指定アドレス、リード長、リード終了情報等の各種指示情報の集合体であるリードコマンドを生成する。そして、システムコントローラ111は、そのリードコマンドを用いてリード動作に関する各種処理を制御する。
【0027】
図2は、システムコントローラ111が有するリード動作に関する機能ブロックの構成例を模式的に示す図である。
【0028】
図2に示されるように、システムコントローラ111は、MPU(Micro Processing Unit)201、ホストインタフェース(ホストI/F)211、リードコマンドバッファ(SDRAM(Read Command))212、リードコマンド制御ブロック(Read Command Control Block)213、FIFO(First-In First-Out)214、物理アドレス処理部(Wobble Addres Decode & Read Timing Control Block)215、論理アドレス処理部(RF Address Decode & Read Timing Control Block)216、データ処理部(Data Decode & Error Correction & EDC Check & Scramble Decode Block)217、およびリードデータバッファ(SDRAM(Read Data Buffer))218を有する。
【0029】
MPU201は、ファームウェアを実行することにより、ホストインタフェース211乃至リードデータバッファ218の各部を制御し、リード動作に関する処理を実行させる。例えば、MPU201は、ホストインタフェース211を介して外部のホストコンピュータ(外部ホスト)301からのリード動作実行指示を取得すると、その指示に基づいて、要求された情報を読み出すためのリードコマンドを生成し、リードコマンドバッファ212に格納する。
【0030】
このリードコマンドの詳細については後述するが、リードコマンドは、例えば以下のようなリード動作に必要な指示の集合体として形成される、複数の処理を制御する制御コマンドである。
【0031】
(1)リードを開始する物理アドレスPID(例えばウォブルアドレス)。データ長は、例えば3バイトまたは4バイト。
(2)リードを開始する論理アドレスID(例えばRFアドレス)。データ長は、例えば3バイトまたは4バイト。
(3)リードデータを格納するリードデータバッファの領域BUFARA。データ長は、例えば2バイト。
(4)リードの最終セクタであることを示すフラグ情報LSTSEC。データ長は、例えば1ビット。
(5)リードデータをリードデータバッファに格納せずに破棄する(読み捨てる)ことを示すフラグ情報NOT STORE。データ長は、例えば1ビット。
【0032】
なお、リードコマンドを構成する情報は、各種条件に応じて適宜変更可能であり、上述した情報以外の情報を含むようにしてもよいし、上述した情報の一部を省略するようにしてもよい。
【0033】
例えば、PID(ウォブルアドレス/プリピットアドレス)は、DVD-RAM、BD-R、およびBD-REに対してのみ指定が必要である。例えば、CD-ROM、CD-R、CD-RE、DVD-ROM、DVD±R、DVD±RW、およびBD-ROMの各メディアのリードについては、ウォブル/プリピットアドレスに基づくPIDは使用されない。これらのメディアでは、ID(RFデータとしてマーク記録されたアドレス)が指定される。
【0034】
リードコマンドバッファ212に格納されたリードコマンドは、MPU201に制御されたリードコマンド制御ブロック213により1つずつ読み出される。リードコマンド制御ブロック213は、MPU201に制御され、読み出したリードコマンド(RDCMD)240を解析し、そのリードコマンド240に含まれる各指示を抽出する(リードコマンドを実行する)。リードコマンド制御ブロック213は、PIDカウンタ(PID Counter)231、IDカウンタ(ID Counter)232、BUFARAカウンタ(BUFARA Counter)233、ノットストアレジスタ(NOT Store Register)234、およびLSTSECレジスタ(LSTSEC Register)235を有する。
【0035】
PIDカウンタ231は、リードを行う、ウォブルアドレスやプリピットアドレスなどの物理アドレス(PID)を管理する。PIDカウンタ231は、リードコマンド240により初期値が与えられると、リードコマンドに含まれるリード長(Length)の分だけ、その値を「+1」インクリメントしながらカウントする。PIDカウンタ231は、そのカウント値を、FIFO214に出力する。
【0036】
IDカウンタ232は、PIDカウンタ231が物理アドレスを管理するのと同様に、リードを行う、RFアドレスなどの論理アドレス(ID)を管理する。IDカウンタ232は、リードコマンド240により初期値が与えられると、リードコマンドに含まれるリード長(Length)の分だけ、その値を「+1」インクリメントしながらカウントし、そのカウント値をFIFO214に出力する。
【0037】
なお、このPIDおよびIDに関し、DVDやBDの場合、単純に2進数でカウントアップされるが、CD については、CDフォーマット(いわゆる RED BOOK の内容)に従って、BCDのMIN:SEC:FRM 形式でカウントアップする。また、99:59:74の次に、A0:00:00とするか、00:00:00に戻るかを選択可能であり、リードインエリア(Lead-in Area)からプログラムエリア(Program Area)に移る際には、カウント値が00:00:00に戻るように設定する。
【0038】
BUFARAカウンタ233は、PIDカウンタ231やIDカウンタ232の場合と同様に、リードデータを格納するリードデータバッファ218の領域(BUFARA)を管理する。BUFARAカウンタ233は、リードコマンド240により初期値が与えられると、リードコマンドに含まれるリード長(Length)の分だけ、その値を「+1」インクリメントしながらカウントし、そのカウント値をFIFO214に出力する。
【0039】
ノットストアレジスタ234は、リードコマンド240が、光ディスク121より読み出されたリードデータをリードデータバッファ218に格納せずに捨てる(以下、読み捨てるとも称する)ことを指示する場合、そのことを示すフラグ情報を一時的に格納するレジスタである。ノットストアレジスタ234は、この読み捨てを指示するフラグの値を制御指示としてFIFO214に出力する。
【0040】
LSTSECレジスタ235は、リード対象範囲の最終セクタであることを示すフラグ情報を一時的に格納するレジスタである。LSTSECレジスタ235は、この最終フラグを示すフラグの値を制御指示としてFIFO214に出力する。なおこのLSTSEC情報は、リードコマンドの中で明示されていなくてもよい。その場合、例えば、最後のリードコマンドに含まれるリード長(Length)に基づいて、自動的に付加することができる。
【0041】
FIFO214は、リードコマンド制御ブロック213より供給されるこれらのカウント値や制御指示を一時的に保持するバッファである。FIFO214は、PIDを保持するバッファ214A、IDを保持するバッファ214B、およびリードデータの格納先アドレス等を保持するバッファ214Cを有している。FIFO214は、バッファ214Aに保持されているPIDを物理アドレス処理部215に供給し、バッファ214Bに保持されているIDを論理アドレス処理部216に供給し、バッファ214Cに保持されている格納先アドレス等のデータをデータ処理部217に供給する。
【0042】
FIFO214は、所定のタイミング、または、物理アドレス処理部215乃至データ処理部217からのACKを受信することによりこれらの制御指示を供給する。
【0043】
駆動部221は、例えば図1のスピンドルモータ駆動回路112、サーボ制御部114、データプロセッサ115、および光学ヘッド部116を含む、リード動作に関して駆動する処理部であり、光ディスク121より読み出したアドレス情報やリードデータを処理し、物理アドレス処理部215乃至データ処理部217に供給する。
【0044】
物理アドレス処理部215は、MPU201に制御され、FIFO214より取得した制御指示(PID)を復号し、その制御指示により指定されるタイミングでリードタイミングを制御する。DVD-RAM(CAPA) や BD-R/RE(ATIP) のリードでは、このブロックがリードタイミングを司る。
【0045】
論理アドレス処理部216は、MPU201に制御され、ディスクに記録されたRF信号の中に埋め込まれているアドレスを読んでデコードし、リードタイミングを制御する。CD-Stamp(MSF)、DVD-Stamp/R/RE(PSN) や BD-Stamp(AUN) のリードでは、このブロックがリードタイミングを司る。
【0046】
データ処理部217は、MPU201に制御され、FIFO214より取得した各種制御指示を復号し、その制御指示に基づいて、光ディスク121より読み出されたリードデータを復号したり、エラー訂正(ECC(Error Correction Code))やエラー検出(EDC(Error Detection Code))を行ったり、スクランブルを解除したりし、さらに処理後のリードデータを、リードデータバッファ218の、制御指示により指定されるアドレスに格納する。
【0047】
リードデータバッファ218に格納されたリードデータは、ユーザデータ(UserData)として、セクタ情報(Sec.Info)や識別情報(ID)によってセクタ毎に管理され、必要に応じてMPU201により制御されたホストI/F211により読みだされる。ホストI/F211は、MPU201に制御され、リードデータバッファ218より読み出したリードデータを外部ホスト301に供給する。なお、リードコマンドバッファ212およびリードデータバッファ218は1つのSDRAMを共用するようにしてもよい。
【0048】
物理アドレス処理部215乃至データ処理部217の各ブロックへは、その処理の進捗に応じて、リードコマンド制御ブロック213において生成されたPID、ID、およびBUFARAの値が伝達される。ただし、物理アドレス処理部215乃至データ処理部217の各ブロックは、処理の位相が異なるため、同じデータを伝達するにも、時間差を設ける必要がある。
【0049】
一般に、ウォブル/プリピットアドレスアドレス処理を行う物理アドレス処理部215が最も早く、次いで論理アドレス処理部216、ディスク上の1ECCブロックのデータをトレースしてからの処理となるデータ処理部217のECC処理は、物理アドレス処理部215や論理アドレス処理部216よりも大きく遅れる。
【0050】
この時間差を吸収するための1つの手段として、例えば、FIFO214が設けられる。このブロックは、リードコマンド制御ブロック213からのデータを受け取り、FIFO214に蓄積し、物理アドレス処理部215乃至データ処理部217の各ブロックからの処理の完了+次の数値の受け取りが可能であることを示すACK信号を受け取ると、FIFO214の中から、1つ、新しい値を取り出して送出する。
【0051】
ただし、ここで、メディアによっては、PID/IDなどが、セクタ単位ではなく、複数セクタで、1ブロックを構成するようなものもある。その場合には、メディアに応じて、このFIFO214で複数セクタをまとめて送出する処理を行う。この時間差を吸収するための他の構成例として、計算後の数値FIFOを複数持つのではなく、カウンタ自体を複数持ち、それらを、時間差を持たせてカウントさせることも可能である。
【0052】
図3は、リードコマンドの例について説明するための模式図である。
【0053】
リードの最小単位である1RUBを16セクタとし、図3Aに示されるように、PIDが99乃至162(IDが100乃至163)の、ディスクのトレース方向に連続する4RUB分のデータをリードし、そのリードデータをリード順に順次リードデータバッファ218に格納する場合について考える。
【0054】
図3Aに示されるように、このような4RUB分のリード動作が、最初の1RUBのリード動作、次の1RUBのリード動作、およびその次の2RUBのリード動作の連続する3つのリード動作により構成されるとする。これに対して、MPU201は、図3Bに示されるように、3つのリードコマンド(RDCMD)241乃至リードコマンド(RDCMD)243を生成する。
【0055】
図3Bに示されるように、リードコマンド241乃至リードコマンド243は、制御内容を示す制御命令(CMD)、PID、ID、BUFARA(ARA)、およびリードするセクタ長を示すリード長(Length)により構成される。もちろんリードコマンドにこれ以外のパラメータが含まれるようにしてもよいし、図3Bに示されるパラメータの一部が省略されるようにしてもよい。
【0056】
図3Bに示されるように、リードコマンド241乃至リードコマンド243は、リードコマンド241、リードコマンド242、リードコマンド243の順に実行される。なお、リードするセクタ長を示すLengthについては、最短で1セクタ刻みに設定可能であるが、例えば図4の例に示されるように、32セクタのリード動作を、その32セクタ全部をリードする1つのリードコマンドにより実現させても、それぞれ10セクタ、10セクタ、10セクタ、2セクタリードする4つのリードコマンドにより実現させても結果的に等価である。PID/ID/BUFARA等のパラメータの値が互いに連続する限り、コマンドを分割することに意味はない(後述する読み飛ばしや、BUFARA内をランダムに使用する場合には、その動作に応じて、Lengthを分割し、他の設定値を変更する必要がある)。また、リードデータバッファ218は、リードデータの格納先アドレスが、リードデータバッファ218として予め定められた領域の上限に到達したら、格納先アドレスを領域の下限に戻す。
【0057】
光ディスク121より読み出されたリードデータは、図3Cに示されるように、リードデータバッファ218の、リードコマンドにより指定されたアドレス(ARA)に格納される。リードデータバッファ218は、例えば、SDRAMバッファ上の一部の領域を割り当て、リードコマンドバッファ212と共有する形で設定することで、リードコマンド専用メモリ素子の設置を省略することができ、回路規模を小さくし、製造コストを低減させることができる。
【0058】
また、図5に示されるように、リードコマンドを格納するリードコマンドバッファ212の領域下限(先頭)位置(RDCMDHDARA)、領域上限(最終)位置(RDCMDLSTARA)が設定され、その間の領域にファームウェアを実行するMPU201がリードコマンドを格納する。その領域にはさらに、リードコマンド制御ブロック213がリードコマンドを処理(実行)する位置を示す実行位置ポインタ(RDCMDARA)、並びに、有効リードコマンドが格納されている領域の上限位置を示すポインタ(VRDCMDARA)が設定される。ファームウェアを実行したMPU201は、リードコマンド(RDCMD)を格納すると、それとセットでポインタ(VRDCMDARA)を設定する。
【0059】
なお、リードデータバッファ218においては、図5に示されるように、予め定められたリードデータバッファ領域設定の上限(RDCMDLSTARA)に到達したら、自動的に下限(RDCMDHDARA)に戻す処理を伴う。なお、このリードデータバッファ領域に、格納されているデータが有効とされる領域と無効とされる領域の境界(VRDCMDARA)を定めるようにしてもよい。この場合、下限(RDCMDHDARA)と有効領域の限界(VRDCMDARA)との間の領域が実行可能領域(RDCMDARA)となる。
【0060】
図6は、リードコマンド制御ブロック213の処理の詳細を示した模式図である。
【0061】
コントローラ410は、リードコマンド(RDCMD)240をリードコマンドバッファ212(SDRAM)から読み出すためのコントローラである。この中には、リードコマンド240を読み出すためのポインタカウンタを備えており、1つリードコマンド240を読み出す度に、1つインクリメントする。
【0062】
残量カウンタ(Remain Length Counter)415は、処理すべきセクタ数の残量をカウントする。新たなリードコマンド240を読み出すと、残量カウンタ415は、そのリードコマンドの中のLengthフィールドの値をロードし、1セクタ分の処理を済ませるごとに1つずつデクリメントする。このカウンタの値が、リードコマンドの初期値と同じときが リード開始タイミング(START)であり、PIDカウンタ421、IDカウンタ422、およびBUFARAカウンタ423に、リードコマンドで指定された初期値をロードする。そして、このカウンタの値が0になるまでの間が、リード動作が継続するRUN状態であり、PIDカウンタ421、IDカウンタ422、およびBUFARAカウンタ423は、+1のインクリメント処理を行う。セレクタ411乃至セレクタ413は、開始(START)状態のときに初期値、RUN状態のときにインクリメント値やデクリメント値をそれぞれ選択する。
【0063】
これらの値は、FIFO214に送られ、各処理ブロックの処理位相に合わせて出力される。また、リードコマンド制御ブロック213は1セクタ毎の処理を行うが、メディアの種類によっては、1ECCブロック単位で処理を行うブロックも存在するため、この FIFO214からは、必要に応じて、セクタデータを16セクタ分や32セクタ分まとめて、各ブロックに伝達する。具体的には、光ディスク121がCDやDVDの場合、ATG/DEM/ECCの各処理ブロック(物理アドレス処理部215乃至データ処理部217)とも、セクタ単位の処理であるが、BDでは、ATG(物理アドレス処理部215)やDEM(論理アドレス処理部216)はブロック単位、ECC(データ処理部217)はセクタ単位の処理となるので、その変換をこのFIFO214において行う。
【0064】
図7は、BD-RやBD-REにおけるリードコマンド制御ブロック213より後段のFIFO214の制御タイミングを示したものである。ATG/DEM処理ブロック(つまり、物理アドレス処理部215および論理アドレス処理部216)は、ディスクトレースと同じ位相で処理されるのに対し、ECC 処理ブロック(データ処理部217)は、1ECCブロック分のトレース処理が終了した後に、行われる様子を示している。また、ATG/DEMはブロック単位、ECCはセクタ単位で処理としている。
【0065】
次に、ファームウェアを実行するMPU201によるリード制御処理の流れの例を、図8のフローチャートを参照して説明する。図8に示されるように、リード制御は、ホストI/F、データパス、リードコマンド(RDCMD)、およびサーボ制御・信号処理の4つのフェーズにより構成される。
【0066】
電源投入後に、必要な初期設定と、ディスクの種別判定が済ませられると、ステップS101において、MPU201は、ホストI/Fフェーズとして、ホストインタフェース211を制御し、外部ホスト301よりリードコマンドを受信させる。
【0067】
またMPU201は、ステップS102において、データパスフェーズで前回の動作が正しく終了し、各ブロックが動作不可能なBUSY状態でないことを確認する。BUSY状態のブロックが存在する場合、MPU201は、ステップS103においてそのブロックにリセットをかける。
【0068】
ステップS104において、MPU201は、各処理ブロックに対し、リード処理に必要な初期設定を行う。
【0069】
MPU201は、リードコマンド(RDCMD)フェーズとして、ステップS105において、リードコマンド(RDCMD)をリードコマンドバッファ212にセットし、ステップS106において、リードコマンド制御ブロック213を制御して、そのリードコマンドの実行を開始させる。MPU201は、ステップS107において、リードコマンドに従ったリード処理の準備が整い、各処理ブロックに対し、必要な情報提示が出来たことを確認する。リードコマンドの解析が終了していない場合、MPU201は、準備が整うまで待機する。
【0070】
また、サーボ制御・信号処理フェーズとして、MPU201は、ステップS108においてスピンドルモータ駆動回路112やサーボ制御部114等のサーボ系に対し、ディスクの回転と、目標アドレスへのシークを指示し、ステップS109においてシークを開始させる。ステップS110において、MPU201は、読み出し位置の移動が終了したことを確認する。シークやディスクの回転制御が終了していない場合、MPU201は、準備が整うまで待機する。
【0071】
リードコマンド(RDCMD)フェーズ、および、サーボ制御・信号処理フェーズの両方の準備が整うと、MPU201は、データパスフェーズに移り、ステップS111において、準備が整ったことを確認し、ステップS112において、タイミング調整処理を開始させる。目標のアドレスに到達すると、MPU201は、ステップS113において、リード処理を開始させ、RW_START割り込みを発生させる。また、1ECCブロックのデコードとECC処理が完了する毎にDTRDY割り込みが発生するので、MPU201は、ステップS114においてそのDTRDY割り込みの発生を確認し、誤り訂正が正しく出来ていれば、ホストI/Fフェーズに移り、ステップS115において、ホストインタフェース211を制御し、そのリードデータを外部ホスト301に転送させる。
【0072】
ステップS116において、ホストインタフェース211が外部ホスト301から次のリードを指示するコマンドが受信すると、MPU201は、リードコマンドフェーズに移り、ステップS117においてリードコマンド(RDCMD)を追加(セット)する。このとき、MPU201は、データパスフェーズに移り、ステップS118において、リードコマンド追加によるリード長(Length)の更新を行う。
【0073】
全てのリードコマンド処理が終了するか、何らかのエラーが発生すると、MPU201は、ステップS119において、RW_END割り込みを発生し、リード動作を停止する。ステップS120において、MPU201は、エラーが発生していないかどうかを確認し、エラーが発生していない場合は、さらにステップS121において、追加設定も含めて、指定したリードコマンドが全て処理されているかどうかを確認する。エラーが発生した、若しくは、全てのリードコマンドが処理されていない場合、つまり、正しく終了できていない場合、MPU201は、ステップS122において、どこから処理をやり直せばよいかを確認して、処理をステップS102に戻し、必要なところから処理をやり直す。
【0074】
リードコマンドが全て処理されたと判定した場合、MPU201は、ホストI/Fフェーズに移り、ステップS123において、ホストインタフェース211を制御し、そのリードデータを外部ホスト301に転送させる。そして、MPU201は、ステップS124において、ホストインタフェース211に、外部ホスト301から次のリードを指示するコマンドを受信させる。
【0075】
図9は、リードコマンド処理の動作状態遷移を示したものである。リードコマンドは、コマンドを積載して、有効ポインタおよび実行(開始)ポインタを設定した上で、RDCMDSTTレジスタを読み出すことで、実行を開始する。そして、ディスクドライブユニット内で何らかのエラーが発生して動作を停止するか、実行ポインタ=有効ポインタとなり、全ての RDCMD の実行を終えたところで、終了する。
【0076】
以上のようなリードコマンドを用いたリード制御により、MPU201は、記録媒体へのアクセス処理を高効率化し、複雑な読み出し処理や書き込み処理でも容易かつ高速に処理することができる。
【0077】
以下に、具体例について説明する。
【0078】
複数のリードコマンドを積載して実行させる中で、スタートアドレス(Start Address)とリード長(セクタ長)(Length)の指定によっては、リード対象となるアドレス、すなわち、ターゲットアドレス(Target Address)が非連続なアドレス列になることもある。例えば、1つ目のリードコマンド(RDCMD)が、スタートアドレス=L番地、かつ、リード長=Mセクタであって、2つ目のリードコマンドがスタートアドレス=N番地(L+M<N)、リード長=Mセクタであるとしたら、L番地からL+M番地までリードし、L+M+1番地からN−1番地までを読み飛ばし、N番地からN+M番地までを再びリードさせるような動作を意味する。
【0079】
このような読み飛ばしは、主に、DVD-RAM、BD-R、BD-REの欠陥交替処理(difect回避)で使用する。DVD-RAM、BD-R、またはBD-REの場合、ECCブロック単位で交替処理が行われる。この場合、PIDやIDについては、ECCブロック単位で、非連続な値が指定される。DVD-RAMの場合、Primary DFL登録がある場合、セクタ単位でのスリッピング(Slipping)による交替処理が行われる。このときは、セクタ単位で、非連続な値を指定する。
【0080】
図10は、その例を示したものである。この例では、図10Aに示されるように、PID=123番地が欠陥(Defect)としてPDL(Primary Defect List)に登録されており、MPU201は、このセクタを読み飛ばすようにリード制御する必要がある。そこで、MPU201は、図10Bに示されるように、3つのリードコマンド(リードコマンド241乃至リードコマンド243)を積載して実行させる。1つ目のリードコマンド241によって、MPU201は、PID=99、ID=100、BUFARA=0、Length=16として、1つ目のECCブロックをリードさせる。
【0081】
2つ目のリードコマンド242により、MPU201は、PID=115、ID=116、BUFARA=16、Length=8として、2つ目のECCブロックのPID=122番地(Defectセクタの手前)までをリードさせる。3つ目のリードコマンド243により、MPU201は、PID=124、ID=124、BUFARA=24、Length=8として、2つ目のECCブロックのPID=124番地(欠陥(Defect)セクタの直後)からリードさせる。以上のようにリードされた各リードデータを、MPU201は、図10Cに示されるように、リードデータバッファ218の連続する領域に格納させることができる。つまり、MPU201は、欠陥(Defect)セクタのみを読み飛ばす(リードしないようにする)ことができる。
【0082】
なお、この例の、1つ目のリードコマンドと2つ目のリードコマンドは、Length=16+8=24として、1つのリードコマンドにまとめるようにしてもよい。その場合も結果は、上述した2つのコマンドにより実現する場合と同様である。
【0083】
仮に上述したようなリードコマンドを用いずに、このような読み飛ばし処理を行う場合、ファームウェアを実行するMPUは、個々の領域に対するスタートアドレス(Start Address)とリード長(Length)を1回ずつ指定し、複数回に分割(停止&再開)してリードする必要がある。そのため、それらの複数回のリードの間には、トラックジャンプや、ディスクの回転待ちも必要となるため、不要な待機時間等が増大し、パフォーマンスが低減する恐れがある。上述したように、リードコマンドを用いて読み飛ばしを行うことにより、少量のセクタの読み飛ばしであれば、トラックジャンプや、ディスクの回転待ちを必要とせずにリード動作を継続させることができるので、大幅なパフォーマンスの向上を期待することができる。なお、一般的に、読み飛ばすセクタの数が多く、かつ、それぞれの読み飛ばす範囲が小さい程(すなわち、不連続なより多数のセクタを読み飛ばすとき程)、リードコマンドを用いる場合と用いない場合とで、そのパフォーマンスの差は大きくなる。
【0084】
また、例えば、図11に示される例のように、BUFARAの値を非連続な値にすることも可能である。図11の例においては、MPU201が、光ディスク121から順番に読み出したリードデータを、リードデータバッファ218のランダムな領域に格納させる様子を示している。リードコマンドにおいてBUFARAの設定をランダムに指定することにより、このような動作を実現することができる。すなわち、MPU201は、上述したリードコマンドを用いることにより、BUFARAを任意に指定することができるので、リードしたデータをセクタ単位で、リードデータバッファ218のどの領域に格納するかを指定することが可能である。これにより、MPU201は、リードデータバッファ218を単純なリングバッファとして使用するだけではなく、パフォーマンスの向上を狙って、高度なリードキャッシュ制御を行うように使用することができる。
【0085】
もし、仮に上述したリードコマンドを用いずに、光ディスク121より読み出した複数のリードデータをリードデータバッファ218の非連続なバッファ領域に格納させる場合、MPU201は、リードデータバッファ218の格納先の設定をその都度、変更しながら、リード処理を複数回に分割して実行する必要があり、読み飛ばしの場合と同様に、パフォーマンスが低減する恐れがあった。上述したリードコマンドを用いることにより、MPU201は、リードデータバッファ218の格納先を変えながらリードする際にも、リード動作を分割(停止&再開)させる必要がなく、大幅なパフォーマンスの向上を期待することができる。
【0086】
ところで、「Not Store bit」は、リードしたデータをバッファ領域には格納せず、そのまま読み捨てることを指示するフラグ情報であるが、これは例えば、以下のような場合に使用される。
【0087】
例えば、光ディスク121のライト済み領域においてデータが正しく書き込まれたかどうかを確認するために、ECC/EDCのOK/NGを判定するだけのVerify動作をさせるにあたっては、リードデータそのものは不要であるため、MPU201は、SDRAM上にはリードデータバッファ領域を確保せず、読み捨てながら、ECC/EDCのチェックを行う。このようなとき、MPU201は、リードを行う全領域に対し、「Not Store bit」を設定する。
【0088】
また、例えば、読み出したリードデータの一部を更新して書き戻すリードモディファイライト処理(Read Modify Write)を行う場合、MPU201は、まず、外部ホスト301から転送された1ECCブロック未満のデータをライトデータバッファ(Write Buffer)上の各セクタ領域に格納する。そして、MPU201は、光ディスク121からデータをリードさせ、ECCブロック単位のリードデータのうち、外部ホスト301から転送がなかったセクタだけを選択的にライトデータバッファに格納させることによって、ライトデータバッファ上に、ECCブロックのライトデータ(書き込み用データ)のイメージ(Write Data Image)を生成する。このとき、MPU201は、既に外部ホスト301から取得されたライトデータが格納されたライトデータバッファのセクタ領域について「Not-Store Bit」(ノットストアフラグ)を立てて、リード処理を行う。
【0089】
図12は、このようなリードモディファイライト処理(Read Modify Write)の例を示したものである。図12Aに示されるように、ここでは、2ECCブロックにまたがる12セクタのデータ(データ501およびデータ502)の一部(データ503)を書き換える様子の例を示している。
【0090】
MPU201は、まず、外部ホスト301からライトデータを取得させ、これを、図12Cに示されるように、ライトデータバッファ上の10番地乃至21番地の領域に格納させる。次に、MPU201は、図12Bに示されるようにリードコマンド511乃至リードコマンド514を生成する。リードコマンド511およびリードコマンド512は、光ディスク121のPID=200かつID=100の位置から2ECC分(16セクタ+16セクタ)のデータをリードし、そのリードデータを、ライトデータバッファの0番地乃至31番地の領域に格納させる。
【0091】
このとき、リードコマンド512は、先に外部ホスト301から供給され、ライトデータバッファに格納されているライトデータ(上述した10番地乃至21番地のデータ)を上書きしないように、この部分の領域をマスクするマスク処理(MSK)を実行させる。つまり、リードコマンド512の制御指示部分には、ノットストア(読み捨て)を指示するMSK(Not-Store)が設定される。同様に、ライトデータバッファに格納されているライトデータ(上述した10番地乃至21番地のデータ)を消去しないように、リードコマンド513においても、制御指示としてMSK(Not-Store)が設定される。
【0092】
リードコマンド514の場合、リードデータは、BUFARA22番地以降に格納されるので、つまり、リードコマンド514の指示により、ライトデータ(上述した10番地乃至21番地のデータ)には上書きされないので、MSKは設定されない。
【0093】
なお、リードコマンド512およびリードコマンド513は、1つのリードコマンドにまとめるようにしてもよい(同様の結果を得ることができる)。
【0094】
このような修正処理の流れの例を図13のフローチャートを参照して説明する。修正処理(リードモディファイライト処理)が開始されると、MPU201は、ステップS201において、外部ホストよりライトコマンドを受信する。ステップS202において、MPU201は、ライトコマンドを解析し、ステップS203において外部ホスト301より書き込みデータ(ライトデータ)を受信し、書き込み用バッファであるライトデータバッファの所定の領域ににそのライトデータを格納する。
【0095】
MPU201は、ステップS204において、書き込み対象セクタがECCブロック区切りと一致するか否かを判定し、一致しないと判定した場合、処理をステップS205に進める。ステップS205において、MPU201は、上述したようにMASK設定を伴うリードコマンドを設定し、ステップS206において、書き込み対象セクタを含むECCブロックを読み出させ、ライトデータバッファの所定の位置に格納し、修正データ(Write Data Image)を作成させる。修正データを作成させると、MPU201は、その修正データを光ディスク121に書き込み修正処理を終了する。
【0096】
また、ステップS204において、書き込み対象セクタがECCブロック区切りと一致すると判定した場合、MPU201は、ステップS205乃至ステップS207の各処理を省略し、修正処理を終了し、通常の書き込み処理を行う。
【0097】
以上のように、リードコマンドを用いてリードモディファイライト処理を実行することにより、MPU201は、効率よくデータを修正して再書き込みすることができる。つまり、MPU201は、リード動作を分割(停止&再開)させることなく、リードモディファイライト処理を実行することができ、大幅なパフォーマンスの向上を期待することができる。
【0098】
以上のように、リードコマンドを用いることにより、MPU201は、複雑な読み出し処理や書き込み処理でも容易かつ高速に処理させることができる。
【0099】
図14は、外部ホスト301からのデータ転送のタイミング、リードコマンド生成のタイミング、およびリードコマンド実行のタイミングの関係を示したものである。基本的には、ホストインタフェース211が、外部ホスト301からリード指示またはそれに順ずる指示のコマンドを受け取ったら、MPU201は、そのコマンドに対応したリードコマンドを生成し、リードコマンドバッファ212に格納(積載)し、あるいは追加積載して実行させる。ECC処理まで完了すると、DTRDY 割り込みが出る。MPU201は、こうしてリード出来た分を、順次外部ホスト301に転送させる。実際には、ライトコマンドにより指定されるよりも先に、リードデータバッファ218の容量に余裕がある範囲で、光ディスク121よりデータを先読みさせることが一般的である。
【0100】
もしも、外部ホスト301からホストインタフェース211へのコマンドの供給が間に合わず、大きな待機時間が生じると、リードコマンドの追加が間に合わず、一旦、リード処理を終了しなければならない場合もありえる(RW_END割り込みが出て終了してしまう)。その場合、MPU201は、実行されなかった続きの分を処理するために、従来のリード処理と同様に、新たなリードコマンドを設定し実行させればよい。
【0101】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図15に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【0102】
図15において、パーソナルコンピュータ700のCPU701は、ROM702に記憶されているプログラム、または記憶部713からRAM703にロードされたプログラムに従って各種の処理を実行する。RAM703にはまた、CPU701が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0103】
CPU701、ROM702、およびRAM703は、バス704を介して相互に接続されている。このバス704にはまた、入出力インタフェース710も接続されている。
【0104】
入出力インタフェース710には、キーボード、マウスなどよりなる入力部711、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部712、ハードディスクなどより構成される記憶部713、モデムなどより構成される通信部714が接続されている。通信部714は、インターネットを含むネットワークを介しての通信処理を行う。
【0105】
入出力インタフェース710にはまた、必要に応じてドライブ715が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア721が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部713にインストールされる。
【0106】
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【0107】
この記録媒体は、例えば、図15に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア721により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM702や、記憶部713に含まれるハードディスクなどで構成される。
【0108】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0109】
なお、以上において、1つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて1つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【0110】
【図1】本発明を適用した光ディスクドライブの構成例を示すブロック図である。
【図2】システムコントローラのリード処理に関する機能の構成例を示すブロック図である。
【図3】リードコマンドの構成例を示す模式図である。
【図4】Lengthの扱いを説明する模式図である。
【図5】リードコマンドバッファの構成例を示す模式図である。
【図6】リードコマンド制御ブロックの詳細な構成例を示す模式図である。
【図7】リードコマンド制御ブロック制御タイミングの例を示す模式図である。
【図8】制御処理の流れの例を説明するフローチャートである。
【図9】リードコマンド処理の状態遷移図である。
【図10】スリッピングの例を説明する模式図である。
【図11】バッファ領域のランダム指定の例を説明する模式図である。
【図12】リードモディファイライト処理の例を説明する模式図である。
【図13】修正処理の流れの例を説明するフローチャートである。
【図14】各処理のタイミングの関係を説明する模式図である。
【図15】本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【0111】
100 光ディスクドライブ, 111 システムコントローラ, 112 スピンドルモータ駆動回路, 113 スピンドルモータ, 114 サーボ制御部, 115 データプロセッサ, 116 光学ヘッド部, 121 光ディスク, 131 CPU, 132 ROM, 133 RAM

【特許請求の範囲】
【請求項1】
外部より受け付けられた、記録媒体より情報を読み出すリード指示に基づいて、前記情報を読み出すためのリード動作に必要な指示の集合体として形成される、複数の処理を制御する制御コマンドであるリードコマンドを生成する生成手段と、
前記生成手段により生成された前記リードコマンドを解析し、前記リードコマンドに含まれる指示を抽出する解析手段と、
前記解析手段により解析されて抽出された前記指示の実行タイミングを調整する調整手段と、
前記調整手段により調整された所定のタイミングで前記指示を実行し、前記情報を前記記録媒体より読み出す実行手段と
を備える情報処理装置。
【請求項2】
前記生成手段により生成された前記リードコマンドを一時的に保持するリードコマンド保持手段をさらに備え、
前記解析手段は、前記リードコマンド保持手段により保持されている前記リードコマンドを1つずつ読み出して解析する
請求項1に記載の情報処理装置。
【請求項3】
前記調整手段は、前記解析手段により前記リードコマンドより抽出された各指示を一時的に保持するバッファを有する
請求項1に記載の情報処理装置。
【請求項4】
前記実行手段は、
前記記録媒体の物理アドレスに基づいてリード位置を制御する物理アドレス処理手段と、
前記情報に含まれる論理アドレスに基づいてリード位置を制御する論理アドレス処理手段と、
前記記録媒体より読み出された前記情報を処理するとともに、前記情報のバッファへの格納先を制御するデータ処理手段と
を備える請求項1に記載の情報処理装置。
【請求項5】
前記リードコマンドは、リード位置を指定する前記記録媒体の物理アドレス、リード位置を指定する前記情報に含まれる論理アドレス、前記記録媒体より読み出された前記情報の、バッファの格納先領域を示すバッファエリア、および、リードする範囲をセクタ数で指定するリード長を指定する
請求項1に記載の情報処理装置。
【請求項6】
前記リードコマンドは、前記記録媒体より読み出された前記情報を前記バッファに格納せずに破棄するか否かを、さらに指定する
請求項5に記載の情報処理装置。
【請求項7】
前記リードコマンドは、リードの終了位置をさらに指定する
請求項5に記載の情報処理装置。
【請求項8】
情報処理装置の情報処理方法において、
前記情報処理装置は、
生成手段と、
解析手段と、
調整手段と、
実行手段と
を備え、
前記生成手段は、外部より受け付けられた、記録媒体より情報を読み出すリード指示に基づいて、前記情報を読み出すためのリード動作に必要な指示の集合体として形成される、複数の処理を制御する制御コマンドであるリードコマンドを生成し、
前記解析手段は、生成された前記リードコマンドを解析し、前記リードコマンドに含まれる指示を抽出し、
前記調整手段は、解析されて抽出された前記指示の実行タイミングを調整し、
前記実行手段は、調整された所定のタイミングで前記指示を実行し、前記情報を前記記録媒体より読み出す
情報処理方法。
【請求項9】
コンピュータを、
外部より受け付けられた、記録媒体より情報を読み出すリード指示に基づいて、前記情報を読み出すためのリード動作に必要な指示の集合体として形成される、複数の処理を制御する制御コマンドであるリードコマンドを生成する生成手段と、
前記生成手段により生成された前記リードコマンドを解析し、前記リードコマンドに含まれる指示を抽出する解析手段と、
前記解析手段により解析されて抽出された前記指示の実行タイミングを調整する調整手段と、
前記調整手段により調整された所定のタイミングで前記指示を実行し、前記情報を前記記録媒体より読み出す実行手段
として機能させるためのプログラム。

【図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

【図15】
image rotate


【公開番号】特開2010−27114(P2010−27114A)
【公開日】平成22年2月4日(2010.2.4)
【国際特許分類】
【出願番号】特願2008−184937(P2008−184937)
【出願日】平成20年7月16日(2008.7.16)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】