(57)【要約】      （修正有）【課題】光ディスク装置の制御先のホスト計算機の構成に応じて自動的に最適な制御プログラムに切り換える。【解決手段】光ディスクに対する読み書きを制御するコントローラ１０７と、読み書きを制御する制御プログラムを格納する不揮発性記憶媒体１２０と、を備えた光ディスク装置において、計算機に接続されてコントローラと通信を行うインターフェース１０５を有し、不揮発性記憶媒体は、計算機の構成情報に対応する複数の制御プログラムを予め格納し、コントローラは、光ディスク装置の起動時に計算機の構成情報を取得し、取得した構成情報に対応する制御プログラムを不揮発性記憶媒体に格納された複数の制御プログラムから選択し、当該選択した制御プログラムを実行する。【選択図】図１
2010205379.tif 000002
【特許請求の範囲】
【請求項１】
光ディスクに対する読み書きを制御するコントローラと、
前記読み書きを制御する制御プログラムを格納する不揮発性記憶媒体と、を備えた光ディスク装置において、
計算機に接続されて前記コントローラと通信を行うインターフェースを有し、
前記不揮発性記憶媒体は、
前記計算機の構成情報に対応する複数の制御プログラムを予め格納し、
前記コントローラは、
光ディスク装置の起動時に前記計算機の構成情報を取得し、前記取得した構成情報に対応する制御プログラムを前記不揮発性記憶媒体に格納された複数の制御プログラムから選択し、当該選択した制御プログラムを実行することで前記光ディスクに対する読み書きを制御することを特徴とする光ディスク装置。
【請求項２】
請求項１に記載の光ディスク装置において、
前記不揮発性記憶媒体は、
前記構成情報に係わらず利用可能な第１の制御プログラムと、前記構成情報に対応した第２の制御プログラムを予め格納し、
前記コントローラは、
前記計算機の構成情報を取得できない場合には前記第１の制御プログラムで前記光ディスクに対する読み書きを制御し、前記計算機の構成情報を取得できた場合には前記第２の制御プログラムで前記光ディスクに対する読み書きを制御することを特徴とする光ディスク装置。
【請求項３】
請求項１に記載の光ディスク装置において、
前記構成情報は、前記計算機で実行するソフトウェアの種類に関する情報及び前記計算機のハードウェアリソースの種類に関する情報のうち少なくとも一方を含むことを特徴とする光ディスク装置。
【請求項４】
光ディスクに対する読み書きを制御するコントローラと、前記読み書きを制御する制御プログラムを格納する不揮発性記憶媒体と、計算機に接続されて通信を行うインターフェースと、を備えた光ディスク装置と、
プロセッサとメモリ及び前記光ディスク装置に接続されたインターフェースを備えて所定のソフトウェアを実行する計算機と、を備えた計算機システムにおいて、
前記不揮発性記憶媒体は、
前記計算機の構成情報に対応する複数の制御プログラムを予め格納し、
前記コントローラは、
光ディスク装置の起動時に前記計算機の構成情報の取得要求を送信し、前記計算機から前記取得要求に対する構成情報を受信し、当該受信した構成情報に対応する制御プログラムを前記不揮発性記憶媒体に格納された複数の制御プログラムから選択し、当該選択した制御プログラムを実行することで前記光ディスクに対する読み書きを制御し、
前記計算機は、
前記光ディスク装置から構成情報の取得要求を受け付けたときには、当該計算機の構成情報を取得して前記光ディスク装置に送信することを特徴とする計算機システム。
【請求項５】
請求項４に記載の計算機システムにおいて、
前記不揮発性記憶媒体は、
前記構成情報に係わらず利用可能な第１の制御プログラムと、前記構成情報に対応した第２の制御プログラムを予め格納し、
前記コントローラは、
前記計算機の構成情報を取得できない場合には前記第１の制御プログラムで前記光ディスクに対する読み書きを制御し、前記計算機の構成情報を取得できた場合には前記第２の制御プログラムで前記光ディスクに対する読み書きを制御することを特徴とする計算機システム。
【請求項６】
請求４に記載の計算機システムにおいて、
前記構成情報は、前記計算機で実行するソフトウェアの種類に関する情報及び前記計算機のハードウェアリソースの種類に関する情報のうち少なくとも一方を含むことを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光ディスク装置及び光ディスク装置を備えた計算機システムに関し、特に、光ディスク装置のコントローラが実行する制御プログラムを切り換える技術に関する。
【背景技術】
【０００２】
ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ＢＤ（Blu-ray Disc）等の光ディスクに情報を記録する光ディスク装置では、制御プログラム（ファームウェア）をフラッシュメモリ等の不揮発性メモリに格納して提供していた。従来の光ディスク装置では、不揮発性メモリにかけられるコストの関係から記憶容量が制限されており、ホスト計算機（ＰＣ）のハードウェアやソフトウェアの仕様に応じた制御プログラムを不揮発性メモリに格納していた。光ディスク装置の制御プログラムは、接続されるホスト計算機のハードウェアやソフトウェアの種類や仕様に応じて異なり、本来の仕様とは異なるハードウェアやソフトウェアを備えたホスト計算機と接続する際には、光ディスク装置のメーカサイトから新たな制御プログラムをダウンロードして不揮発性メモリを書き換えることが行われていた。
【０００３】
近年、フラッシュメモリ等の不揮発性メモリは、大容量化と価格の低下が進み光ディスク装置に大容量の不揮発性メモリを搭載することが可能となっている。
また、光ディスク装置が読み書きする光ディスクの種類もＣＤ、ＤＶＤに加えてＢＤが存在し、さらに、各種類毎に記録フォーマットが異なる光ディスクが複数存在する（例えば、ＤＶＤ−Ｒ、ＤＶＤ＋Ｒ、ＤＶＤ−ＲＡＭ等）。
【０００４】
光ディスク装置は、ホスト計算機のメーカごと、あるいは、ホスト計算機のモデルごとに、使用する光ディスクの種類や記録速度等の仕様が異なる場合があり、光ディスクの回転制御に関するパラメータを仕様毎に不揮発性メモリへ格納しておき、納入先の仕様に応じたパラメータを選択する技術が知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１４１３６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、光ディスク装置は、制御先のホスト計算機で稼働するＯＳの種類や、ホスト計算機と接続するインターフェース及びホスト計算機のＢＩＯＳの設定などによって処理の内容が異なる。例えば、インターフェースがＳＡＴＡの例では、ＢＩＯＳの設定でＡＴＡのエミュレートモードとＡＨＣＩモード（Advanced Host Controller Interface）を切り換えることができ、ＡＨＣＩモードではエミュレーションが不要なためより高速な転送処理が要求される。
【０００７】
しかしながら、上記従来例では、大容量の不揮発性メモリに複数のパラメータを格納することはできるものの、光ディスク装置の制御先のＯＳやＢＩＯＳの設定などに応じて制御プログラムを切り換えることができない、という問題があった。特に、上記従来例では、ソフトウェアの種類やハードウェアリソースの種類（例えば、チップセットの種類）に応じて制御プログラムを選択するには、光ディスク装置のユーザがメーカのサイトから制御プログラムをダウンロードし、さらに光ディスク装置の制御プログラムを更新するという作業が必要であり、ユーザに対して多大な負荷をかけてしまう、という問題もあった。
【０００８】
そこで本発明は、上記問題点に鑑みてなされたもので、光ディスク装置の制御先のホスト計算機の構成に応じて自動的に最適な制御プログラムに切り換えることを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、光ディスクに対する読み書きを制御するコントローラと、前記読み書きを制御する制御プログラムを格納する不揮発性記憶媒体と、を備えた光ディスク装置において、計算機に接続されて前記コントローラと通信を行うインターフェースを有し、前記不揮発性記憶媒体は、前記計算機の構成情報に対応する複数の制御プログラムを予め格納し、前記コントローラは、光ディスク装置の起動時に前記計算機の構成情報を取得し、前記取得した構成情報に対応する制御プログラムを前記不揮発性記憶媒体に格納された複数の制御プログラムから選択し、当該選択した制御プログラムを実行することで前記光ディスクに対する読み書きを制御する。
【発明の効果】
【００１０】
したがって、本発明によれば、光ディスク装置の制御先のホスト計算機の構成情報に応じて自動的に最適な制御プログラムに切り換えることが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態を示し、光ディスク装置の構成を示すブロック図である。
【図２】本発明の実施形態を示し、フラッシュメモリに格納される制御プログラムの一例を示し、ＯＳの種類に応じた制御プログラムの説明図である。
【図３】本発明の実施形態を示し、ハードウェアリソースの種類に応じた制御プログラムの一例を示す説明図である。
【図４】本発明の実施形態を示し、光ディスク装置のシステムコントローラで行われる起動時の処理の一例を示すフローチャートを示す。
【図５】本発明の実施形態を示し、ホスト計算機で行われる処理の一例を示すフローチャートで、起動時の処理を示す。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態を添付図面に基づいて説明する。
【００１３】
図１は、本発明の実施の形態の光ディスク装置１００の構成を示すブロック図である。
【００１４】
本実施の形態の光ディスク装置１００は、光学ヘッド１０２、ＲＦアンプ１０３、デコーダ１０４、外部インタフェース１０５、バッファメモリ１０６、システムコントローラ１０７、メモリ１０８、フラッシュメモリ（不揮発性記憶媒体）１２０、エンコーダ１０９、レーザ駆動回路１１０及びスピンドルモータ１１１を備える。
【００１５】
光ディスク装置１００は、外部インタフェース１０５を介してホスト計算機２００と接続され、ホスト計算機２００から入力されるデータを書き込み可能な光ディスク１０１（例えば、ＣＤ−Ｒ）に記録し、光ディスク１０１から再生したデータをホスト計算機２００へ出力する。スピンドルモータ１１１は光ディスク１０１を回転駆動する。
【００１６】
光学ヘッド１０２は、光ディスク１０１からデータを再生する再生動作時には、弱いレーザ光を光ディスク１０１に照射し、そのレーザ光の反射光により、光ディスク１０１に記録されているデータを再生し、反射光に対応するＲＦ信号を出力する。また、光学ヘッド１０２は、光ディスク１０１にデータを記録する記録動作時には、再生時より強いレーザ光を光ディスク１０１に照射する。光ディスク１０１は、レーザ光が照射された部分の熱による相変化によって記録層に記録ピットを形成し、記録層の反射率を変化させてデータを記録する。
【００１７】
ＲＦアンプ１０３は、光学ヘッド１０２が出力するＲＦ信号を増幅し、増幅されたＲＦ信号をデジタルデータとして出力する。デコーダ１０４は、ＲＦアンプ１０３から出力されたデジタルデータを光ディスクの種類毎に定められたフォーマットに従って復調し、エラー検出及び訂正を行った後、復調されたデータをバッファメモリ１０６に一時的に記録する。
【００１８】
外部インタフェース１０５は、光ディスク装置１００と接続されるホスト計算機２００との間のデータの送受信を制御する。バッファメモリ１０６は、ホスト計算機２００から外部インタフェース１０５を介して入力され、光ディスク１０１へ記録されるデータを一時記憶する。
【００１９】
エンコーダ１０９は、ホスト計算機２００から入力され、バッファメモリ１０６に一時的に記憶されたデータを光ディスクの種類毎に定められたフォーマットに従って変調する。レーザ駆動回路１１０は、光学ヘッド１０２のレーザ光源を駆動するための駆動信号を出力する。
【００２０】
システムコントローラ１０７は、光ディスク装置１００の動作を制御するマイクロプロセッサであり、フラッシュメモリ１２０に格納された制御プログラム（ファームウェア）をメモリ１０８に読み込んで、デコーダ１０４、エンコーダ１０９及び外部インタフェース１０５の動作を制御する。また、システムコントローラ１０７は、バッファメモリ１０６に一時的に記憶されたデータの読み出し、及びバッファメモリ１０６へのデータの書き込みを制御する。また、システムコントローラ１０７は、ホスト計算機２００から受信したコマンドを解釈し、解析されたコマンドに従った処理を行う。
【００２１】
ホスト計算機２００は、演算処理を行うプロセッサ２０１と、ＯＳやドライバを格納するメモリ２０２と、プロセッサ２０１とＩ／Ｏデバイスを接続するチップセット２０３と、ホスト計算機２００のハードウェアリソースの入出力手順を定義したＢＩＯＳ２０４（またはＥＦＩ）を含む。ホスト計算機２００を起動すると、プロセッサ２０１はＢＩＯＳ２０４を読み込んでハードウェアリソースを認識し、起動するＯＳに認識したハードウェアリソース及び入出力手順を通知する。ＯＳはＢＩＯＳ２０４が認識したハードウェアリソースに対応するドライバを読み込んで、ハードウェアリソースを利用する。なお、本実施形態では、メモリ２０２のＯＳは、光ディスク装置１００のドライバを読み込んで、光ディスク装置１００に対して読み書きを指令する。
【００２２】
光ディスク装置１００のシステムコントローラ１０７は、光ディスク装置１００が起動すると、ホスト計算機２００と通信を行って、ホスト計算機２００の構成情報を要求する。そして、システムコントローラ１０７は、ホスト計算機２００から構成情報を取得すると、フラッシュメモリ１２０に格納された複数の制御プログラムのうち、当該光ディスク装置１００が接続されたホスト計算機２００の構成に応じた制御プログラムをメモリ１０８に読み込んで上述した各部の処理を実行する。
【００２３】
ここで、光ディスク装置１００が取得するホスト計算機２００の構成情報としては、ハードウェアリソースの種類と、ソフトウェアの種類及びバージョンを含む。ソフトウェアの種類としては、Ｗｉｎｄｏｗｓ（登録商標）やＬｉｎｕｘ（登録商標）で、バージョン（またはディストリビューション）としては２０００，ＸＰ、Ｕｂｕｎｔｕ、ｒｅｄ  ｈａｔ（登録商標）などである。ハードウェアリソースの種類としては、チップセット２０３の種類やプロセッサ２０１の種類、あるいはＢＩＯＳ２０４の設定内容を構成情報とする。
【００２４】
光ディスク装置１００のフラッシュメモリ１２０には、当該光ディスク装置１００が接続されることが予測される複数のＯＳの種類と、ハードウェアリソースの種類に応じた制御プログラムが格納される。制御プログラムの一例を図２に示す。
【００２５】
図２は、フラッシュメモリ１２０に格納される制御プログラムの一例を示す説明図で、ホスト計算機２００のＯＳの種類に応じた制御プログラムを示す。
【００２６】
制御プログラムは、光ディスク１０１の種類に応じた制御プログラムＣＤ〜ＢＤｒと、光ディスク１０１の種類に係わらず共通の処理を行う制御プログラムＣＭから構成される。そして、制御プログラムは、ＯＳの種類に係わらず利用可能な標準プログラム３０１と、ＯＳの種類ごとに共通処理ＣＭからＢＤ系制御プログラムまでＢＤｒのモジュールが予めフラッシュメモリ１２０に格納される。
【００２７】
標準プログラム３０１は、光ディスク装置１００の起動時点や、ホスト計算機２００の構成情報が取得できないときにメモリ１０８にロードされてシステムコントローラ１０７により実行される。
【００２８】
標準プログラム３０１は、ＯＳの種類に係わらず利用可能な必要最低限の機能を有する。標準プログラム３０１には、光ディスク１０１の種類に依存せずに利用可能な共通処理ＣＭ−ｄと、光ディスク１０１の種類がＣＤのときにシステムコントローラ１０７がメモリ１０８に読み込むＣＤ系制御プログラムＣＤ−ｄと、光ディスク１０１の種類がＤＶＤ−Ｒのときにシステムコントローラ１０７がメモリ１０８に読み込むＤＶＤ−系制御プログラムＤＶＤｍ−ｄと、光ディスク１０１がＤＶＤ＋のときにシステムコントローラ１０７がメモリ１０８に読み込むＤＶＤ＋系制御プログラムＤＶＤｐ−ｄと、光ディスク１０１がＤＶＤ＋のときにシステムコントローラ１０７がメモリ１０８に読み込むＤＶＤ＋系制御プログラムＤＶＤｐ−ｄと、光ディスク１０１がＢＤ再生系のときにシステムコントローラ１０７がメモリ１０８に読み込むＢＤ再生系制御プログラムＢＤ−ｄと、光ディスク１０１がＢＤ記録系のときにシステムコントローラ１０７がメモリ１０８に読み込むＢＤ記録系制御プログラムＢＤｒ−ｄとからなる。
【００２９】
システムコントローラ１０７は、フラッシュメモリ１２０から標準プログラム３０１の共通処理ＣＭ−ｄを読み込んで起動した後、光ディスク１０１に挿入された光ディスク１０１の種類に応じた制御プログラムＣＤ−ｄ〜ＢＤｒ−ｄの何れかを読み込んで、読み書き等の処理を行う。
【００３０】
標準プログラム３０１はいずれのＯＳでも利用可能なように、必要最低限の機能しか備えておらず、例えば、外部インターフェース１０５がＳＡＴＡの場合では、ＡＴＡのエミュレートモードで動作するように設定される。このため、ＯＳの種類ごとにサポートする規格や機能が異なるため、ＯＳの種類ごとに各制御プログラム３０２〜３０８が予めフラッシュメモリ１２０に格納される。
【００３１】
図２の例では、ＯＳの種類が「Ｗ」、「Ｌｎｘ」、「Ａｐｐ」、「Ｘ」の４種類で、ＯＳの種類＝「Ｗ」について「２０００」、「ｘｐ」、「ｖｓｔ」、「７」の４つのバージョンが存在する例を示す。例えば、ＯＳの種類が「Ｗ」でバージョンが「ｘｐ」の場合では、共通処理ＣＭ−ｗｘからＢＤ記録系制御プログラムＢＤｒ−ｗｘからなる制御プログラム３０３をシステムコントローラ１０７が読み込んで実行することになる。なお、ＯＳの種類が「Ｘ」の制御プログラム３０８については、「Ｘ」の仕様に対応してＤＶＤ−ＲＡＭと、ＢＤをサポートしない例を示している。
【００３２】
図３は、ハードウェアリソースの種類に応じた制御プログラムの一例を示す説明図である。図３では、ハードウェアリソースの種類の一例として、ホスト計算機２００のチップセット２０３の種類が「９４５」、「９６５」、「３５」、「４５」、「Ｓｉ６７ｘ」、「ｎｆ７８」の６種類の例を示している。そして、ＯＳの種類としては上記図２のうち「Ｗ」のみを示し、各バージョン「２０００」〜「７」毎に、チップセットの種類に応じた共通処理ＣＭをフラッシュメモリ１２０に格納した例を示す。なお、図示はしないが、「Ｌｎｘ」や「Ｘ」のＯＳや、ＣＤ−ｄ〜ＢＤｒ−ａの各制御プログラムについてもＯＳの種類とチップセットの種類に応じて予めフラッシュメモリ１２０に格納されるものとする。
【００３３】
図３において、チップセットの種類として「汎用」〜「nf78」までが設定される。チップセットの種類が「汎用」となっている共通処理ＣＭは、チップセットの種類が取得できない場合や、不明な場合に使用する共通処理ＣＭを示し、いずれのチップセットでも備えている一般的な機能を利用する制御プログラムを示す。一方、「９４５」〜「ｎｆ７８」に対応する共通処理ＣＭは、各チップセットが備える機能をサポートする制御プログラムであることを示す。
【００３４】
標準プログラム３０１の共通処理ＣＭ−ｄは、「汎用」、「９４５」、「９６５」のチップセットをサポートする。また、標準プログラム３０１の共通処理ＣＭ−ｄ１は、「３５」、「４５」のチップセットをサポートする。また、標準プログラム３０１の共通処理ＣＭ−ｄ２は「Ｓｉ６７ｘ」、「ｎｆ７８」のチップセットをサポートする。ＯＳが「Ｗ」の各共通処理についても同様である。
【００３５】
次に、図４は、システムコントローラ１０７で行われる起動時の処理の一例を示すフローチャートを示す。
【００３６】
ステップＳ１０１で光ディスク装置１００の電源を投入すると、システムコントローラ１０７が起動して初期化を行う。ステップＳ１０２では、システムコントローラ１０７が外部インターフェース１０５がホスト計算機２００に接続しているか否かを判定する。この判定は、システムコントローラ１０７が外部インターフェースから所定のコマンドをホスト計算機２００に送信し、所定の応答を受信したときに光ディスク装置１００がホスト計算機２００に接続されていると判定してステップＳ１０３に進む。一方、所定の応答を受信できない場合にはホスト計算機２００に接続されていないと判定してステップＳ１０６に進む。
【００３７】
ステップＳ１０３では、システムコントローラ１０７がホスト計算機２００に構成情報の取得要求を送信する。そして、システムコントローラ１０７は、ホスト計算機２００から構成情報の応答を所定時間だけ待つ。ホスト計算機２００から構成情報の応答があれば、ステップＳ１０４の判定で構成情報を受信したと判定してステップＳ１０５に進む。一方、構成情報を受信していなければステップＳ１０６に進む。
【００３８】
ステップＳ１０５では、システムコントローラ１０７がホスト計算機２００の構成情報に対応する制御プログラムをフラッシュメモリ１２０から選択してメモリ１０８にロードする。例えば、ホスト計算機２００の構成情報として、ＯＳの種類が「Ｗ」でバージョンが「ｘｐ」で、チップセットの種類が「４５」の場合、図２において、ＣＤ系制御プログラム〜ＢＤ記録系制御プログラムから制御プログラム３０３を選択し、また、図３の共通処理ＣＭからは共通処理ＣＭ−ｗｘ２を選択する。
【００３９】
一方、構成情報を受信しなかった場合、またはホスト計算機に接続していない場合には、システムコントローラ１０７がステップＳ１０６に進んで標準プログラム３０１をメモリ１０８にロードする。
【００４０】
ステップＳ１０７では、システムコントローラ１０７がメモリ１０８にロードした制御プログラムを実行する。そして、ステップＳ１０８、Ｓ１０９では電源が遮断されるまで、システムコントローラ１０７が実行する制御プログラムによって、ホスト計算機２００から構成の読み書きの要求を処理する。
【００４１】
なお、ホスト計算機２００から構成情報を取得できた場合であっても、構成情報に対応する制御プログラムがフラッシュメモリ１２０に格納されていない場合には、システムコントローラ１０７は標準プログラム３０１で制御を行うようにしてもよい。
【００４２】
図５は、ホスト計算機２００で行われる処理の一例を示すフローチャートで、起動時の処理を示す。
【００４３】
ステップＳ２０１でホスト計算機２００の電源を投入すると、プロセッサ２０１が起動してＢＩＯＳ２０４を読み込んで初期化を行った後にＯＳを起動する。なお、ホスト計算機２００と光ディスク装置１００が同一の筐体に収容されていれば、ホスト計算機２００の電源投入と光ディスク装置１００の電源投入は同時期となる。
【００４４】
ステップＳ２０２では、プロセッサ２０１が光ディスク装置１００に接続しているか否かを判定する。なお、この処理は、プロセッサ２０１がチップセット２０３を介して所定のコマンドを光ディスク装置１００を接続するバスまたはリンクに送信し、所定の応答を受信したときに光ディスク装置１００が接続されていると判定してステップＳ２０３に進む。一方、所定の応答を受信できない場合にはホスト計算機２００に光ディスク装置１００が接続されていないと判定してステップＳ２０６に進む。
【００４５】
ステップＳ２０３では、プロセッサ２０１が光ディスク装置１００から構成情報の取得要求を受信したか否かを判定する。光ディスク装置１００から構成情報の取得要求を受け付けた場合には、ステップＳ２０４へ進み、構成情報の取得要求を受け付けていない場合にはステップＳ２０６に進む。
【００４６】
ステップＳ２０４では、プロセッサ２０１が起動するＯＳの種類及びバージョンと、ハードウェアリソースの種類としてチップセット２０３の種類を取得する。そして、ステップＳ２０５では、プロセッサ２０１が取得した構成情報を光ディスク装置１００に送信する。
【００４７】
次に、ステップＳ２０６では、プロセッサ２０１が起動したＯＳの処理に移行し、ＯＳからの要求に応じて光ディスク装置１００に対する読み書きを実行する。そして、ステップＳ２０７では、ホスト計算機２００の電源が遮断された場合にはＯＳのシャットダウン処理を行ってプロセッサ２０１の処理を終了する。一方、電源が遮断されていなければステップＳ２０３の処理に戻って、上記処理を繰り返す。
【００４８】
なお、上記ステップＳ２０２の処理はＢＩＯＳ２０４の処理によって実行し、ステップＳ２０３以降の処理をＯＳの処理として実行することができる。また、ホスト計算機２００の構成情報の取得と、光ディスク装置１００への構成情報の送信は、ＯＳが読み込んだ光ディスク装置１００のドライバが行うようにしてもよい。
【００４９】
以上の処理によって、光ディスク装置１００は起動時に接続先のホスト計算機２００の構成情報を取得して、構成情報に対応する制御プログラムをフラッシュメモリ１２０から読み込んで実行することができる。これにより、光ディスク装置１００の制御先のホスト計算機の構成に応じて最適な制御プログラムに切り換えることが可能となり、特に、ホスト計算機２００で実行するＯＳの機能に合わせて最適の制御プログラムを自動的に提供することができ、また、チップセット２０３の特性に応じた最適の制御プログラムを自動的に提供することができる。
【００５０】
これにより、前記従来例では、ＯＳの種類やチップセットの種類に応じて光ディスク装置１００のメーカのサイトから制御プログラムを選択してからダウンロードし、さらに光ディスク装置１００のフラッシュメモリ１２０を更新する、という多大な労力を必要としたのに対し、本発明によれば、ソフトウェアの種類やハードウェアリソースの種類に応じて自動的に最適な制御プログラムを自動的に選択できるので、ユーザの負荷を解消し、ＯＳの種類やハードウェアリソースの種類に合わせて光ディスク装置１００の性能を発揮することができる。
【００５１】
また、ＯＳの種類やハードウェアリソースの種類が特定できない場合などでは、標準プログラム３０１を採用することで、必要最低限の読み書き動作を実現することができる。
【００５２】
なお、ハードウェアリソースの種類にプロセッサ２０１の処理能力に関する情報（例えば、コア数や動作クロック数）を加えれば、ホスト計算機２００の処理能力に応じた光ディスク１０１の読み書きの速度を制御プログラムにて設定することが可能となる。
【００５３】
なお、光ディスク装置１００は、外部インターフェース１０５としてＵＳＢやｅＳＡＴＡを採用した場合には、外付けの光ディスク装置１００として利用することができ、様々なホスト計算機２００で利用することができる。
【産業上の利用可能性】
【００５４】
以上のように、本発明は、ホスト計算機で利用するソフトウェアの種類やハードウェアリソースの種類を取得してファームウェアを自動的に切り換える光ディスク装置を提供することが可能となる。
【符号の説明】
【００５５】
１００  光ディスク装置
１０１  光ディスク
１０７  システムコントローラ１０７
１２０  フラッシュメモリ
２００  ホスト計算機
２０３  チップセット
２０４  ＢＩＯＳ
【図１】
2010205379.tif 000003
【図２】
2010205379.tif 000004
【図３】
2010205379.tif 000005
【図４】
2010205379.tif 000006
【図５】
2010205379.tif 000007