(57)【特許請求の範囲】
【請求項１】
装置を動作させるファームウェアと、前記ファームウェアの更新状態を示す識別子とを記憶する記憶部と、
装着された媒体にアクセスして前記媒体に記録された更新用データを用いて前記ファームウェアを更新すると共に、装置の動作機能を診断する制御部とを備えたドライブ装置であって、
前記制御部は、
装着された媒体に、更新用のファームウェアおよびドライブ装置の動作機能診断用プログラムが記録されていると判断し、かつ前記識別子が第１所定値である場合には、前記媒体に記録された更新用のファームウェアを用いてファームウェアの更新を行う共に、前記識別子を第２所定値に変更して前記装着された媒体を排出せずに前記ドライブ装置の再起動を行い、
装着された媒体に、更新用のファームウェアおよびドライブ装置の動作機能診断用プログラムが記録されていると判断し、かつ前記識別子が前記第２所定値である場合には、前記媒体に記録されたドライブ装置の動作機能診断用プログラムを用いて前記ドライブ装置の動作診断を行うと共に、前記識別子を前記第１所定値に変更して前記装着された媒体を排出することを特徴とするドライブ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光ディスク再生装置などのドライブ装置に関する。
【背景技術】
【０００２】
パーソナルコンピュータの外部装置として使用されている光ディスク再生装置は、光ディスクを回転させるドライブモータと、光ピックアップなどのメカニズムと、このメカニズムを運転する電子回路とで構成されている。
【０００３】
前記電子回路はマイクロコンピュータを要部とした制御部によって構築されており、このマイクロコンピュータの動作内容が記録されたファームウェアをホストコンピュータなしに更新する方法として、更新内容が記録された更新用記録媒体を、更新を受ける光ディスク再生装置にかけてファームウェア更新を行い、ファームウェア更新後に前記更新用記録媒体を排出することにより、リセット後再度ファームウェア更新を行なわないようにして更新処理を完了している。
【０００４】
なお、上記のようにファームウェアをホストコンピュータなしに更新した場合には、ファームウェア更新後に、ホストコンピュータなしで光ディスク再生装置の動作機能を光ディスク再生装置自身が診断してファームウェアが正しく更新されたことを確認することが必要である。
【特許文献１】特開２００２−１１６７３２公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、このようなファームウェア更新方法では、ファームウェア更新後に更新用記録媒体を排出することにより、リセット後再度ファームウェア更新を行なわないようにしているが、この方法では自己ファームウェア更新用の更新用記録媒体と自己診断用の診断用記録媒体との２枚の記録媒体が必要である。
【０００６】
また従来の自己診断方法では、診断用記録媒体に記録されている自己診断ファームウェアを前記光ディスク再生装置の更新済みと思われる本体ファームウェアに付加するようになっているが、自己診断ファームウェアが本体ファームウェアの関数を呼び出す場合、本体ファームウェアが変更され関数エントリアドレスが変わった場合に自己診断ファームウェアが呼び出す関数エントリアドレスもまた変更する必要がある。
【０００７】
また、自己ファームウェア更新及び自己診断ファームウェアは実行形式のロードモジュールになっているため、記録媒体を読み出すだけではこの媒体がどのような診断を行うのか判断できないため間違った自己ファームウェア更新及び自己診断ファームウェアを記録媒体に記録しても実際に実行するまで気がつかないという問題がある。
【０００８】
本発明は、ファームウェアの更新を受けるドライブ装置に、１枚の記録媒体をセットするだけで、ファームウェア更新およびドライブ装置の診断を連続して行うことができるドライブ装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の請求項１記載のドライブ装置は、装置を動作させるファームウェアと、ファームウェアの更新状態を示す識別子とを記憶する記憶部と、装着された媒体にアクセスして媒体に記録された更新用データを用いてファームウェアを更新すると共に、装置の動作機能を診断する制御部とを備えたドライブ装置であって、制御部は、装着された媒体に、更新用のファームウェアおよびドライブ装置の動作機能診断用プログラムが記録されていると判断し、かつ識別子が第１所定値である場合には、媒体に記録された更新用のファームウェアを用いてファームウェアの更新を行う共に、識別子を第２所定値に変更して前記装着された媒体を排出せずにドライブ装置の再起動を行い、装着された媒体に、更新用のファームウェアおよびドライブ装置の動作機能診断用プログラムが記録されていると判断し、かつ識別子が第２所定値である場合には、媒体に記録されたドライブ装置の動作機能診断用プログラムを用いてドライブ装置の動作診断を行うと共に、識別子を第１所定値に変更して装着された媒体を排出することを特徴とする。
【発明の効果】
【００１３】
本発明のドライブ装置は、ホストコンピュータとドライブ装置とを接続することなく、更新用のファームウェアとドライブ装置の動作機能診断用プログラムとを１枚にまとめた記録媒体を用いて、ドライブ装置のみでファームウェア更新及びドライブ装置の動作機能診断を続けて実施することができ、ドライブ装置の動作機能診断中でもリセットをかけることが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の自己ファームウェア更新方法を具体的な実施の形態に基づいて説明する。
図１と図２は本発明が対象とするドライブ装置の外観斜視図とその構成を示している。
【００１５】
１はファームウェアの更新を受けるドライブ装置としての光ディスク再生装置、２は更新するファームウェア及び自己診断用プログラムが記録された記録媒体、３は光ディスク再生装置１を単独運転するために必要な電源である。
【００１６】
光ディスク再生装置１は、図２に示すように構成されている。
モータＭによって記録媒体２を駆動し、この記録媒体２に記録されているディジタル情報を光ピックアップ５が読み取り、ＥＦＭ復調部６で復調して信号処理部７に送る。
【００１７】
信号処理部７においてＣＩＲＣに基づいた第１のエラー訂正を行いデコーダ８に送る。デコーダ８においてＥＣＣに基づいた第２のエラー訂正が行われる。通常動作時、エラー訂正後のデータはインターフェースコントローラ９を通じて外部に接続されたホストコンピュータに転送される。
【００１８】
これらの制御は、ＲＯＭ（リードオンリーメモリ）１０に記憶された制御プログラムに基づいて、ＲＡＭ（ランダムアクセスメモリ）１１を使用して、ＣＰＵ（中央演算処理装置）１２が、ＥＦＭ復調部６，信号処理部７，デコーダ８，インターフェースコントローラ９に対して命令することにより実行される。
【００１９】
ここで、ＲＯＭ１０の中には、ファームウェアをダウンロードするためのローダプログラム１０ａと、光ディスク再生装置１が通常動作を行うためのファームウェア１０ｂと、自己ファームウェア更新及び自己診断手順を読み込み解釈し処理するファームウェア更新診断プログラム１０ｃと、関数エントリーテーブル１０ｄとが収納されている。
【００２０】
光ディスク再生装置１のファームウェア１０ｂをホストコンピュータに接続することなく前記記録媒体２を使用して更新する手順をフローチャートに基づいて説明する。
図３はこのフローチャートの前半部を示し、図４は後半部を示す。
【００２１】
まず、自己ファームウェア更新及び自己診断モードに移行する条件について説明する。
光ディスク再生装置１の電源を投入し、光ディスク再生装置１に前記記録媒体２を装着すると、記録媒体２が装着されていることをステップＳ１で検出し、ステップＳ２のスピンアップ動作に移行する。
【００２２】
ステップＳ３では、ステップＳ１で検出した記録媒体が更新するファームウェア及び自己診断用プログラムが記録された記録媒体２であるのか、それ以外の光ディスクであるのかを判定する。具体的には、自己ファームウェア更新及び自己診断用プログラムが記録されたＣＤ媒体の場合にはＬＥＡＤ−ＩＮ領域のサブコードＲ〜Ｗに特定のデータを記録してあり、自己ファームウェア更新及び自己診断用プログラムが記録されたＤＶＤ媒体の場合にはＡＴＡＰＩコマンドのＳｅｎｄＤＶＤＳｔｒｕｃｔｕｒｅコマンド等により特定のデータを記録してある。
【００２３】
自己ファームウェア更新及び自己診断用ＣＤ媒体またはＤＶＤ媒体を装着した場合には、スピンアップ動作を行うときに光ディスク再生装置はユーザデータを読み取り、自己ファームウェア更新及び自己診断用ディスクであることを識別する。
【００２４】
このようにしてステップＳ３で、セットされたものが自己ファームウェア更新及び自己診断用の前記記録媒体２であると認識した場合には、ステップＳ４の自己診断インデックスの読み取りを実行し、ステップＳ３で、自己ファームウェア更新及び自己診断用の前記記録媒体２でないと認識した場合は、分岐Ａを経て図４の終了（ステップＳ００）に流れてそのまま終了し、通常の光ディスクドライブとしての動作を行う。
【００２５】
自己診断インデックスは電源を切っても消えない領域のどこかにあればよく、ローダプログラム１０ａ，ファームウェア１０ｂ，ファームウェア更新診断プログラム１０ｃ，関数エントリーテーブル１０ｄ などの未使用領域にあれば良い。
【００２６】
ステップＳ４では、読み書き可能な不揮発性記録メモリに記録されたどの自己診断を実施するか表す自己診断インデックスを参照し、０ならばステップＳ５で記録媒体２からファームウェア及び自己診断手順を読み出す。自己診断インデックスが１以上であれば分岐Ｂを経て図４のステップＳ１２に進む。
【００２７】
ステップＳ５に次いでステップＳ６では、読み出しが正常に終了したか確認し、読み出しが正常終了したならばステップＳ７，Ｓ８を実行して自己診断手順を読み書き可能な不揮発性記録メモリに保存し、ファームウェアを書き込む。次いで、ステップＳ９で書き込みが正常終了したかを判定して正常終了の場合には、ステップＳ１０で“自己診断インデックス＝１”を不揮発性記録メモリに保存し、ステップＳ１１でリセットを行う。
【００２８】
ステップＳ８でのファームウェアの更新が正常に完了してステップＳ１１でリセットされた後の再起動時には、ステップＳ１１でのリセット前にステップＳ１０において“自己診断インデックス＝１”にセットされているため、ステップＳ４を経てステップＳ１２を実行してステップＳ５〜Ｓ１１のファームウェア更新のルーチンを実行しない。
【００２９】
ステップＳ１２で“自己診断インデックス＝１”を検出すると、ステップＳ１３で第１の自己診断を実行し、ステップＳ１４でステップＳ１３の結果を判定し、第１の自己診断の正常終了の場合には、ステップＳ１５で自己診断インデックスをインクリメントしてステップＳ１３〜Ｓ１５と同様にして第２の自己診断とその正常終了の判定を実行して、以下同様に各段の診断が正常終了するたびに自己診断インデックスをインクリメントしてステップＳ１８まで自己診断を繰り返す。
【００３０】
ステップＳ１３〜Ｓ１８を経て全部の診断が正常であったと判定された場合には、ステップＳ１９で“自己診断インデックス＝０”に設定して、ステップＳ２０で記録媒体２を排出し、ステップＳ２１で全部の診断が正常であったかを判定してステップＳ２２で正常終了を表明してステップＳ００の終了を実行する。
【００３１】
ステップＳ２１で診断が異常であったと判定した場合には、ステップＳ２３で異常終了を表明してステップＳ００の終了を実行する。
ステップＳ６，Ｓ９，Ｓ１４，・・・において異常であると判定された場合には、ステップＳ１９，Ｓ２０，Ｓ２１を経てステップＳ２３で異常終了を表明してステップＳ００の終了を実行する。
【００３２】
なお、この実施の形態では、ＣＰＵ１２とＲＯＭ１０およびＲＡＭ１１とで、内蔵したファームウェアに従って前記ＥＦＭ復調制御部６，信号処理制御部７，デコーダ制御部８，ホストインターフェース制御部９を運転して、セットされた記録媒体２にアクセスしてデータの少なくとも読み出しを実施する制御部が構成されている。
【００３３】
なお、上記の実施の形態では、ステップＳ４に移行する条件として、前記自己ファームウェア更新及び自己診断ＣＤ媒体のＬＥＡＤ−ＩＮ領域のサブコードＲ〜Ｗに識別情報を記録、またはＤＶＤ媒体であればＡＴＡＰＩコマンドのＳｅｎｄＤＶＤＳｔｒｕｃｔｕｒｅコマンドにより特定のデータを記録するというのは一例であり、その他の方法により自己ファームウェア更新および自己診断用ディスクと識別するようにしてもかまわない。
【００３４】
なお、上記の実施の形態において、媒体交換前またはリセット直前の光ディスク再生装置１の状態を加えて保存するように構成することが好ましい。具体的には、自己診断インデックスを更新するタイミングの必要な時(Reset前 or DISC交換前)、つまりステップＳ４，Ｓ１０，Ｓ１５，Ｓ１８のいづれかで保存する。
【００３５】
上記に記載した「正常表明」「異常表明」とは具体的には、例えば、正常終了時は記録媒体２を載せているトレイをイジェクトして利用者に報知する。異常終了時は前記トレイをイジェクトせずにトレイをロードしたままの状態で停止して利用者に報知する。別の例としては、通常の使用時において、トレイにセットされた光ディスクにアクセスする際に点灯するように一般的に設けられているアクセスランプを、正常終了時は点灯、異常終了時は高速点滅させるなどで状態を表明できる。さらに、トレイの上記動作とアクセスランプの上記表示状態との組み合わせで、より明確に報知することも出来る。
【００３６】
また本発明の実施時に、本体ファームウェアと自己ファームウェア更新及び自己診断手順の異なるオブジェクトモジュール間で同じ処理を別々に持たせることは無駄であるため、自己ファームウェア更新及び自己診断手順から本体ファームウェアの処理を直接使用したい場合がある。この場合、自己ファームウェア更新及び自己診断手順と本体ファームウェアは別のオブジェクトモジュールであるため、通常は自己ファームウェア更新及び自己診断手順から本体ファームウェアの使用したい処理の関数エントリアドレスを指定して呼び出すことになる。
【００３７】
しかし、本体ファームウェアを変更した場合に、使用したい処理の関数エントリアドレスが移動すると自己ファームウェア更新及び自己診断手順も本体ファームウェアにあわせて関数エントリアドレスを変更する必要がある。これを避けるために、関数エントリ名と関数エントリアドレスを関係づけした関数エントリーテーブル１０ｄを本体ファームウェア側に用意し、自己ファームウェア更新及び自己診断手順からは関数エントリアドレスでなく関数エントリ名を指定することで、本体ファームウェアの変更により関数エントリアドレスが変更になったとしても関数エントリ自己ファームウェア更新及び自己診断手順を変更する必要がなくなる。
【００３９】
上記の各実施の形態では、ドライブ装置として光ディスク再生装置について説明したが、光ディスク記録再生装置、磁気ディスク装置、磁気テープ装置など、各種の記録媒体を用いて情報の再生を行う記録再生装置の全てに適用可能である。
【産業上の利用可能性】
【００４０】
本発明は、光ディスク再生装置、光ディスク記録再生装置、磁気ディスク装置、磁気テープ装置など、各種の記録媒体を用いて情報の再生を行う記録再生装置に搭載されているファームウェアを単独で更新する作業を改善できる。
【図面の簡単な説明】
【００４１】
【図１】本発明のドライブ装置の外観斜視図
【図２】同装置の構成図
【図３】同装置のファームウェア更新に関する処理の前半部のフローチャート
【図４】同装置のファームウェア更新に関する処理の後半部のフローチャート
【符号の説明】
【００４２】
１    光ディスク再生装置（ドライブ装置）
２    記録媒体
３    電源
５    光ピックアップ
６    ＥＦＭ復調制御部
７    信号処理制御部
８    デコーダ制御部
９    ホストインターフェース制御部
１０    ＲＯＭ（リードオンリーメモリ）
１０ａ  ローダプログラム
１０ｂ  ファームウェア
１０ｃ  ファームウェア更新診断プログラム
１０ｄ  関数エントリーテーブル
１１    ＲＡＭ（ランダムアクセスメモリ）
１２    ＣＰＵ（中央演算処理装置）
【図１】
0004342288.tif 000002
【図２】
0004342288.tif 000003
【図３】
0004342288.tif 000004
【図４】
0004342288.tif 000005