(57)【要約】【課題】ホストコンピュータから定期的に状態を監視するコマンドを発行される光ディスク装置において、ファームウェアの更新時にホストコンピュータの再起動に陥る状態を回避し、ファームウェアの更新を円滑におこなえるようにする。【解決手段】ファームウェア更新後、ファームウェアの再起動をおこなう際に、ホストコンピュータのＯＳから定期的に発行されるコマンドの受信を待ち、それが終了してから再起動をおこなうようにする。また、万一、何らかの事情により、ＯＳからの定期コマンドが発行されなくってしまった場合に備え、一定時間（例えば、３秒間）待っても定期コマンドが来なければ、再起動を実行する【選択図】図２
2009116772.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータと接続され、前記ホストコンピュータから定期的に状態を監視するコマンドを受信する光ディスク装置において、
ファームウェアの更新が終了し、前記コマンドを受信するか、または、一定時間経過した場合に、ファームウェアの再起動をおこなう制御手段を有することを特徴とする光ディスク装置。
【請求項２】
ホストコンピュータと接続され、前記ホストコンピュータから定期的に状態を監視するコマンドを受信する光ディスク装置のファームウェアの更新方法において、
（１）前記光ディスク装置が、前記ホストコンピュータからファームウェアデータを受信する手順と、
（２）前記光ディスク装置が、ファームウェア更新モードに移行する手順と、
（３）前記光ディスク装置の不揮発メモリに、前記ファームウェアデータを書き込む手順と、
（４）前記光ディスク装置が、前記ホストコンピュータからファームウェアの再起動要求を受ける手順と、
（５）前記光ディスク装置が、前記ホストコンピュータからの定期的に状態を監視するコマンドを受信する手順と、
（６）前記光ディスク装置が、前記ファームウェアの再起動をする手順と、
（７）前記光ディスク装置が、ファームウェア更新モードを解除する手順とを有し、
前記（４）の手順の後に、一定時間、前記ホストコンピュータからの定期的に状態を監視するコマンドの受信を待って、前記ホストコンピュータからの定期的に状態を監視するコマンドを受信するか、または、一定時間経過した場合に、前記（６）の手順をおこなうことを特徴とする光ディスク装置のファームウェア更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光ディスク装置、および、そのファームウェア更新方法に係り、特に、ホストコンピュータに接続され、定期的に状態を監視するコマンドが送信される光ディスク装置のファームウェアの更新を円滑におこなう用途に用いて好適な光ディスク装置、および、そのファームウェア更新方法に関する。
【背景技術】
【０００２】
近年では、電子機器の動作を制御するために、ファームウェアというソフトウェアが広く導入されている。ファームウェアとは、ハードウェアの基本的な制御をおこなうために機器に組み込まれたソフトウェアであり、ハードウェアと一般的なソフトウェアの中間的な存在であるため、ファームウェアと呼ばれている。ファームウェアは、パーソナルコンピュータ（ＰＣ）や周辺機器、家電製品等に搭載されており、機器に内蔵されたＲＯＭやフラッシュメモリなどの不揮発メモリに記憶されている。
【０００３】
ファームウェアは、ソフトウェアであるため機能の追加や不具合の修正のため、機器に内蔵された不揮発メモリの内容を書き換えて、新しいものに入れ替えることができる。これを、ファームウェアの更新（ファームウェアアップデート）といっている。最近では、新しい機能を追加したり不具合を修正するために開発元が新しいファームウェアを配布することがあり、このため、これをインターネットなどを通じて受信し、新しいものに書き換える機能が組み込まれている場合がある。
【０００４】
特許文献１には、パーソナルコンピュータなどの情報処理装置に対して、オペレーティングシステムを停止させて、ファームウェアの更新をおこなう方法が開示されている。
【０００５】
【特許文献１】特開２００２−２４４８７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
光ディスク装置などのホストコンピュータに接続して使用する周辺機器の場合に、ホストコンピュータのオペレーティングシステム（以下、「ＯＳ」という）は、定期的に周辺機器の状態を監視するコマンドを発行している。例えば、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）の場合、ＧＥＴ  ＥＶＥＮＴ  ＳＴＡＴＵＳ  ＮＯＴＩＦＩＣＡＴＩＯＮコマンドが、一秒間隔で発行される。
【０００７】
ところが、この発行するＯＳが周辺機器の状態を監視するコマンド（以下、「定期コマンド」という）が、周辺機器のファームウェアの更新のタイミングにぶつかると不具合が生じることがある。以下、このことを詳細に説明する。
【０００８】
光ディスク装置において、ファームウェアを更新する手順は、以下の通りである。
（１）光ディスク装置にディスクが存在しないことを確認する（ディスクがある場合、排出するまで（２）へは移行しない）。
（２）ホストコンピュータのファームアップツール（ファームウェア更新ツール）は、ファームウェアデータを、ホストコンピュータから光ディスク装置ヘ転送する。
（３）光ディスク装置は、ファームアップモード（ファームウェア更新モード）ヘ移行する(このモードでは、ホストコンピュータとの応答は限定される。)
（４）光ディスク装置のファームウェア書き換えプログラムは、フラッシュアップ実行（旧ファームウェアを消去、新ファームウェアを書き込み、ベリファイ）
（５）ファームウェアの再起動(再起動用コマンドを使う場合と、ファームアップデータ更新の後に、連続しておこなわれる場合がある)。
（６）ファームアップモード解除（新ファームウェアで通常動作）。
【０００９】
ここで、（３）の手順により、ファーアップモードヘ移行した後も、ホストコンピュータのＯＳは、定期コマンドを発行してくるが、ファームアップモード中は、最低限、このコマンドだけは、応答可能となっている。その後、（５）の手順により、ファームウェアの再起動をおこなうが、この再起動とＯＳの定期コマンド発行のタイミングが一致すると、ＯＳが発行した定期コマンドを認識できない場合がある。このような状態に陥ると、ＯＳは、そのコマンドの終了を待ち続けてしまうので、タイムアウトエラーとなる。そのため、ホストコンピュータと光ディスク装置との論理的な接続を切り離して、それ以降、ホストコンピュータ自体を、リセット動作させるか、電源を入れ直すまでドライブが使用できなくなってしまう。
【００１０】
本発明は、上記問題点を解決するためになされたもので、その目的は、ホストコンピュータから定期的に状態を監視するコマンドを発行される光ディスク装置において、ファームウェアの更新時にホストコンピュータの再起動に陥る状態を回避し、ファームウェアの更新を円滑におこなうための光ディスク装置を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の光ディスク装置では、ファームウェア更新後、ファームウェアの再起動をおこなう際に、ホストコンピュータのＯＳから定期的に発行されるコマンドの受信を待ち、それが終了してから再起動をおこなうようにする。また、万一、何らかの事情により、ＯＳからの定期コマンドが発行されなくってしまった場合に備え、一定時間（例えば、３秒間）待っても定期コマンドが来なければ、再起動を実行するようにする。
【発明の効果】
【００１２】
本発明によれば、ホストコンピュータから定期的に状態を監視するコマンドを発行される光ディスク装置において、ファームウェアの更新時にホストコンピュータの再起動に陥る状態を回避し、ファームウェアの更新を円滑におこなうための光ディスク装置を提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図１ないし図４を用いて本発明に係る一実施形態を説明する。
【００１４】
先ず、図１を用いて本発明の一実施形態に係る光ディスク装置のシステム構成を説明する。
図１は、本発明の一実施形態に係る光ディスク装置のシステム構成図である。
【００１５】
光ディスク装置１０は、ホストコンピュータ００と、例えば、ＡＴＡＰＩ（AT Attachment Packet Interface）により、接続されてコマンドとデータのやり取りをおこなえるようになっている。ＡＴＡＰＩは、ＩＤＥコントローラに、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ドライブなどのハードディスク以外の機器を接続するために考案されたデータ転送方式の規格である。
【００１６】
ただし、本発明の適用範囲としては、ＯＳから定期的に状態を監視するコマンドを受け取ることが要件となるため、この要件を満たせば、他のインタフェース、例えば、ＳＣＳＩ、ＵＳＢ、ＳＡＴＡなどのインタフェースでもよい。
【００１７】
ホストコンピュータ００は、ＣＰＵ（Central Processing Unit）０１、主メモリ０２、インタフェース部０３が、バスにより結合された構成である。そして、インタフェース部０３により、ハードディスクドライブ４０、光ディスク装置１０などの外部機器が接続されている。
【００１８】
ファームアップツール１００は、周辺機器のファームウェアを更新するソフトウェアであり、ハードディスクドライブ４０から主メモリ０２にロードされ、ＣＰＵ０１により実行される。
【００１９】
光ディスク装置１０は、ＭＰＵ（Micro Processing Unit）１１、フラッシュＲＯＭ１２、インタフェース部１３、バッファ１４、デコーダ１５、リードチャネル１６、光検出器１７、エンコーダ１８、レーザドライバ１９、レーザ２０、駆動モータ２１、サーボ部２２、光ディスク３０からなる。
【００２０】
光ディスク３０にデータが書き込まれる場合、バッファ１４に保持されているデータが、エンコーダ１８により、エンコードされ、レーザ２０に光ディスク３０により、レーザが照射されて書き込まれる。レーザドライバ１９は、レーザ２０を制御している。
【００２１】
光ディスク３０からデータを読み込む場合には、レーザ２０に光ディスク３０により、レーザが照射されて、光検出器１７により、照射光を検出し、リードチャネル１６でＡ／Ｄ変換がされて、デコーダ１５により、データをデコードする。
【００２２】
また、リードチャネル１６は、位置決めのための制御信号を生成し、サーボ部２２に伝える。サーボ部２２は、光ディスク３０の駆動モータ２２と、光ピックアップのためのスレッドモータ（図示せず）に情報を伝え、適切な書き込みと読み取りのための制御をおこなう。
【００２３】
ＭＰＵ１１は、光ディスク装置１０の各部の制御をおこなう。また、ファームウェア更新プログラム１０２を実行して、フラッシュＲＯＭ１２上のファームウェアの書換えをおこなう。
【００２４】
フラッシュＲＯＭ１２は、書換え可能な不揮発のメモリであり、ファームウェア更新プログラム１０２と、ファームウェア１０１を記憶する。
【００２５】
ファームウェア更新プログラム１０２が、ＭＰＵ１１に実行される場合には、いったん、バッファ１４にロードされて実行される。ファームウェアを更新する場合には、ホストコンピュータ００のファームアップツール１００が、送ってきたファームウェアのデータが、バッファ１４に格納され、ＭＰＵ１１がファームウェア更新プログラム１０２を実行することにより、フラッシュＲＯＭ１２に書き込まれる。
【００２６】
次に、図２ないし図４を用いて本発明の一実施形態に係る光ディスク装置のファームウェア更新処理について説明する。
図２は、本発明の一実施形態に係る光ディスク装置のファームウェア更新処理を示すフローチャートである。
図３は、対比のために、従来の光ディスク装置のファームウェア更新処理の一部を示すフローチャートである。
図４は、本発明の一実施形態に係る光ディスク装置のファームウェア更新処理と、従来の光ディスク装置のファームウェア更新処理のタイミングを対比して示すタイミングチャートである。
【００２７】
先ず、ファームウェアの更新処理をおこなうときには、ホストコンピュータ００のファームアップツールは、光ディスク装置１０にディスクが搭載されているか否かを調べるために（Ｓ１００）、光ディスク装置１０にディスクの有無を問い合わせるコマンドを発行する。光ディスク装置１０では、それに応じてホストコンピュータ００に、ディスクの有無を報告する（Ｓ１０１）。ディスクが光ディスク装置１０に搭載されているときには、必要ならば、表示装置（図示せず）上に「ディスクを取り出して下さい」というメッセージを出力し、Ｓ１００に戻る。
【００２８】
ディスクが光ディスク装置１０に搭載されていないときには、更新するためのファームウェアのデータを、光ディスク装置１０に送信し(Ｓ１０２)、光ディスク装置１０は、それを受信する(Ｓ２０１)。
【００２９】
そして、ファームウェアツール１００は、ファームウェア更新プログラム１０２を起動の指示を与え(Ｓ１０３)、ファームウェアモードへ移行する(Ｓ２０３)。
【００３０】
次に、ファームウェア更新プログラム１０２は、ファームウェアの更新（ファームアップ）をおこなう（Ｓ２０４）。すなわち、フラッシュＲＯＭ１２の旧いバージョンのファームウェアを消去し、バッファ１４に蓄えられたファームウェアデータをフラッシュＲＯＭ１２に書き込み、ベリファイをおこなう。
【００３１】
ホストコンピュータ００は、光ディスク装置１０からファームウェア更新の終了の通知が来るまで待っており（Ｓ１０４）。
【００３２】
終了の通知を受けたときには、ファームウェアの再起動要求をおこなう（Ｓ１０５）。
【００３３】
ここで、図３に示されるように、従来技術のファームウェアの更新では、この再起動要求を受け、直ちに、ファームウェアの再起動（Ｓ２０７）と、ファームアップモードの解除（Ｓ２０８）をおこなっていた。
【００３４】
本実施形態では、図２に示されるように、ファームウェアの再起動要求を受けた場合には、定期コマンドの受信終了を待つ（Ｓ２０５）。
【００３５】
そして、それが終了してからファームウェアの再起動をおこない（Ｓ２０７）、ファームアップモードの解除をおこなう（Ｓ２０８）。
【００３６】
Ｗｉｎｄｏｗｓの場合においては、実質的には、定期的なコマンドが発行された直後であれば、その後、約１秒弱の間は次のコマンドは来ないので、その間にファームウェアの再起動をおこなえば安全である。ちなみに、再起動に要する時間は数ミリ秒程度であるので、十分に余裕はある。
【００３７】
また、万一、何かの事情でＯＳからの定期的なコマンドが発行されなくなってしまった場合に備え、一定時間（例えば、３秒）待っても定期コマンドが来なければ、ファームウェアの再起動を実行する（Ｓ２０６）。
【００３８】
そして、その後は、通常の動作に移行する。
【００３９】
図４（ａ）に示されるように、従来技術に係るファームウェアの更新では、ファームアップツールから再起動要求が来た場合と、ファームウェアの再起動のタイミングがかちあうと、光ディスク装置１０は、定期コマンドに対して応答することができず、ホストコンピュータ００は、応答待ちのタイムアウトになり、システムが異常であると認識していた。
【００４０】
本実施形態では、図４（ｂ）に示されるように、ファームアップツールから再起動要求が来た場合に、定期コマンドを待つので、コマンドが消失するおそれがない。また、何らかの状況でホストコンピュータ００に、異常があり、定期コマンドが送られてこなくなったときにも、一定時間待って、ファームウェアの再起動をおこなうために、確実に再起動がおこなわれる。
【００４１】
なお、以上の説明では、光ディスク装置を例に採って説明したが、ＯＳから定期的に、機器の状態を問い合わせるコマンドを受け付ける他の周辺機器で、ファームウェアの更新をする場合にも適用可能である。
【図面の簡単な説明】
【００４２】
【図１】本発明の一実施形態に係る光ディスク装置のシステム構成図である。
【図２】本発明の一実施形態に係る光ディスク装置のファームウェア更新処理を示すフローチャートである。
【図３】対比のために、従来の光ディスク装置のファームウェア更新処理の一部を示すフローチャートである。
【図４】本発明の一実施形態に係る光ディスク装置のファームウェア更新処理と、従来の光ディスク装置のファームウェア更新処理のタイミングを対比して示すタイミングチャートである。
【符号の説明】
【００４３】
００…ホストコンピュータ、０１…ＣＰＵ、０２…主メモリ、０３…インタフェース部、４０…ハードディスクドライブ、１０…光ディスク装置、１１…ＭＰＵ、１２…フラッシュＲＯＭ、１３…インタフェース部、１４…バッファ、１５…デコーダ、１６…リードチャネル、１７…光検出器、１８…エンコーダ、１９…レーザドライバ、２０…レーザ、２１…駆動モータ、２２…サーボ部、３０…光ディスク。
【図１】
2009116772.tif 000003
【図２】
2009116772.tif 000004
【図３】
2009116772.tif 000005
【図４】
2009116772.tif 000006