(57)【要約】  光ディスク制御装置のデータ転送方式決定時、データ転送方式記憶部にデータ転送方式を記憶し、リセット判断部により、リセット起動時にリセットパルスによるリセットであることを判別し、リセットパルス起因のリセットであれば記憶したデータ転送方式を用いて起動しデータ通信を行うことで、静電気等の外的要因によりリセットがかかった場合でも、ホストＰＣとの間のデータ通信のハングアップを回避し、更に省電力や高倍速に対応することができる光ディスク制御装置を提供する。
2009087976.tif 000002
【特許請求の範囲】
【請求項１】
ホストＰＣと接続された光ディスク制御装置を制御するＣＰＵと、
リセットパルスがホストＰＣから発行されたとき、ＣＰＵに初期化要求信号を出力する初期化制御部と、
光ディスク制御用プログラムが記憶されている制御プログラム格納部と、
ホストＰＣとの間での光ディスク制御装置制御用コマンドの発行、及び転送可能状態、転送状態、エラー発生の有無の情報の通信を制御する通信制御部と、
データ転送方式を格納したデータ転送方式設定部と、
データ転送方式がホストＰＣから設定された時に、データ転送方式を記憶するデータ転送方式記憶部と、
ホストＰＣからのデータ転送要求を受信し、前記データ転送方式設定部に設定された転送モードに従って、データ転送を制御するデータ転送制御部と、
バスを介してデータを格納するデータ一時記憶部と、
データ転送制御要求受信、及び通信制御要求が発生したときにＣＰＵへ割り込み信号を発行する割り込み処理部と、
光ディスク制御装置制御用コマンドの内容を解析して実行するコマンド解析部と、
初期起動時、ホストＰＣからの転送モード設定の有無に基づき、初期化要求信号がノイズによるものかホストＰＣからの要求であるかを判断し、データ転送方式を前記データ転送方式記憶部から読み出し設定するかどうかを判断するリセット判断部とを備える、
ことを特徴とする光ディスク制御装置。
【請求項２】
請求項１に記載の光ディスク制御装置において、
データ転送決定前にパルス発生間隔より大きい時間遅延を発生させる転送方式決定時間遅延部を備えた、
ことを特徴とする光ディスク制御装置。
【請求項３】
請求項１に記載の光ディスク制御装置において、
前記リセット判断部は、さらに転送方式の消去を行い、
転送方式消去の要求信号を、前記リセット判断部にトレイが閉じられた後に出力する転送方式消去遅延部をさらに備えた、
ことを特徴とする光ディスク制御装置。
【請求項４】
請求項１に記載の光ディスク制御装置において、
フラッシュイレース前に、他のセクタの空き領域を探索し、前記データ転送方式記憶部が使用するフラッシュ領域を変更し、今まで使用したセクタ番号を記憶し、空きセクタがない場合、記憶しているセクタ番号を消去して、領域を確保するフラッシュ記憶領域探索部を備えた、
ことを特徴とする光ディスク制御装置。
【請求項５】
請求項１に記載の光ディスク制御装置において、
前記データ転送方式記憶部は、さらにマスターかスレーブかというドライブ情報を記憶し、
光ディスク制御装置がマスターかスレーブであるかを決定するドライブ選択部をさらに備えた、
ことを特徴とする光ディスク制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に転送モードを設定する転送モード制御手段を有する光ディスク制御装置に関するものである。
【背景技術】
【０００２】
ホストＰＣと光ディスク制御装置にはデータ転送方式が３種類存在する。ＰＩＯ（Ｐｒｏｇｒａｍｍｅｄ  Ｉ／Ｏ）方式は最大８．３３ＭＢ／秒の転送レートで、ホストＰＣと光ディスク制御装置共通でアクセスできるレジスタを介して転送制御を行う。ＤＭＡはバスマスタ方式の転送が可能で、ホストＰＣのＣＰＵはポーリング操作から解放されるため１６．７ＭＢ／秒の転送レートが実現した。ＵｌｔｒａＤＭＡではデータ転送をクロックの立ち上がりと立ち下がりの両方で行う方式で、転送レートが３３．３ＭＢ／秒から１００ＭＢ／秒までになり、高速転送が可能になった。【０００３】
ホストＰＣと光ディスク制御装置間のデータ転送方式は、まずＰＩＯ転送方式を選択し、ホストＰＣが光ディスク制御装置に対してレジスタを使用した転送モード設定コマンドを発行し、光ディスク制御装置のサポートしている最大の転送レートが期待できるデータ転送方式を選択することで決定する。【０００４】
ホストＰＣと光ディスク制御装置間のデータ転送方式は同期する必要があり、これが一致しない場合、データ転送の制御に不整合が発生し、データ通信がハングアップしてしまう。【０００５】
ところで光ディスク制御装置には３種類のリセットが存在し、リセット端子にリセットパルスを発行し初期化するハードウェアリセット、レジスタを使用して初期化するソフトウェアリセット、コマンドを使用して初期化するデバイスリセットである。【０００６】
通常はホストＰＣ（そのＰＣ上で動作しているＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ、以後ＯＳ）が意識して、リセットを発行するため、リセット後はデータ転送方式を同期させるコマンドをホストＰＣが発行し、データ転送方式を一致させるためデータ通信がハングアップすることはない。【０００７】
図１１は、従来の光ディスク制御装置のブロック図である。【０００８】
図１１において、１１１１は光ディスク制御装置を制御してデータを読み出すホストＰＣである。【０００９】
１１０４は光ディスク制御装置を制御するＣＰＵである。【００１０】
１１０５はリセットパルスがホストＰＣ１１１１から発行されたら、ＣＰＵ１１０４に初期化要求信号を発行する初期化制御部である。【００１１】
また１１０１は光ディスク制御用プログラムが記憶されている制御プログラム格納部である。【００１２】
１１０６はホストＰＣ１１１１との間での光ディスク制御装置制御用コマンドの発行や、転送可能状態、転送状態、エラー発生の有無等の情報のやりとりを制御する通信制御部である。【００１３】
１１０２はデータ転送方式を格納したデータ転送方式設定部である。【００１４】
１１０８はホストＰＣ１１１１からのデータ転送要求を受信し、データ転送方式設定部１１０２に設定された転送モードに従って、データ転送を制御するデータ転送制御部であり、バスを介してデータ一時記憶部１１０９にデータを格納する。【００１５】
１１０７はデータ転送制御要求受信や通信制御要求が発生した際にＣＰＵ１１０４へ割り込み信号を発行する割り込み処理部である。【００１６】
１１０３は光ディスク制御装置制御用コマンドの内容を解析して実行するコマンド解析ブロックである。【００１７】
図１２（ａ）〜（ｂ）は、従来の光ディスク制御装置の動作を示すフローチャートである。【００１８】
図１２（ａ）において、静電気等の外的要因により（ステップＳ１２０１）、リセットシーケンスを開始し、初期起動を行う（ステップＳ１２０２）。【００１９】
図１２（ｂ）に示すように、送信側のホストＰＣ１１１１の電源投入後、ホストＰＣ１１１１はリセット端子１１１０から受信側の光ディスク制御装置の初期化制御部１１０５へリセットパルス（データ初期化信号）を発行する（ステップＳ１２０４）。【００２０】
初期化制御部１１０５はリセットパルスを受信後（ステップＳ１２０５でＹｅｓ）、ＣＰＵ１１０４にリセット信号を発行する。【００２１】
次に、受信側の光ディスク制御装置は、送信側のホストＰＣ１１１１と同じ転送モードに初期設定する（ステップＳ１２０６）。【００２２】
以下に詳しく説明すると、リセット要求後ＣＰＵ１１０４は制御プログラム格納部１１０１に格納された光ディスク制御用のプログラムを実行する。【００２３】
ＣＰＵ１１０４は初期起動時、各初期化処理を行った後、データ転送方式設定部１１０２にデータ転送方式のデフォルト値であるＰＩＯモードを格納する。また通信制御部１１０６に、ホストＰＣ１１１１からのコマンドを実行可能状態にする設定を行う。【００２４】
通信制御部１１０６に、ホストＰＣ１１１１からのコマンドを実行可能状態に設定した後、ＣＰＵ１１０４は割り込み処理部１１０７を制御し、ホストＰＣ１１１１に割り込み信号を発行する。【００２５】
ホストＰＣ１１１１は割り込みにより光ディスク制御装置がコマンド受信可能であると判断し、光ディスク制御装置がサポートする最大のデータ転送方式を要求する。ホストＰＣ１１１１は通信制御部１１０６に、光ディスク制御装置のサポート転送モードの要求コマンドを設定する。通信制御部１１０６にコマンドが設定されたら、ホストＰＣ１１１１は割り込み処理部１１０７を制御し、ＣＰＵ１１０４に割り込み信号を発行する。割り込み信号を受信したＣＰＵ１１０４は通信制御部１１０６に設定されたコマンドをコマンド解析部１１０３で解析し、サポート転送モードを送信するコマンドであると判断する。ＣＰＵ１１０４は制御プログラム格納部１１０１からサポート転送モードデータを読み出し、データ一時記憶部１１０９に格納する。【００２６】
ＣＰＵ１１０４はデータ転送制御部１１０８を制御して、データ一時記憶部１１０９のサポート転送モードデータを送信する。データ送信終了後、データ転送制御部１１０８は割り込み処理部１１０７を制御し、ＣＰＵ１１０４にデータ転送終了を知らせる割り込み信号（完了コード）を発行する（ステップＳ１２０７）。ＣＰＵ１１０４は割り込み信号を受信後（ステップＳ１２０８でＹｅｓ）、通信制御部１１０６にコマンド実行可能状態設定を行う。【００２７】
通信制御部１１０６を、ホストＰＣ１１１１からのコマンドの実行可能状態に設定した後、ＣＰＵ１１０４は割り込み処理部１１０７を制御し、ホストＰＣ１１１１に割り込み信号を発行する。【００２８】
ホストＰＣ１１１１はサポート転送モードデータから、光ディスク制御装置の最大の転送レートが期待できるデータ転送方式を要求する。【００２９】
ホストＰＣ１１１１は通信制御部１１０６に、転送モード設定コマンドを発行する（ステップＳ１２０９）。また、ホストＰＣ１１１１は転送モード設定データを通信制御部１１０６に送出する（ステップＳ１２１０）。通信制御部１１０６にコマンドが設定されたら、ホストＰＣ１１１１は割り込み処理部１１０７を制御し、ＣＰＵ１１０４に割り込み信号を発行する。割り込み信号を受信したＣＰＵ１１０４は通信制御部１１０６に設定されたコマンドをコマンド解析部１１０３で解析し、転送モードを設定するコマンドであると判断する。ＣＰＵ１１０４はデータ転送方式設定部１１０２に要求された転送モードを設定する（ステップＳ１２１１）。受信側の光ディスク制御装置から送信側のホストＰＣ１１１１へ完了報告を行う（ステップＳ１２１２）。【００３０】
以後、設定されたデータ転送方式でデータ通信が処理され（ステップＳ１２１３）、システム動作処理を行う（ステップＳ１２０３）。【００３１】
このように、図１２の従来の光ディスク制御装置のフローチャートでは、ホストＰＣ１１１１は電源投入後リセット端子からリセットパルスを発行し、また、転送モード設定コマンドを発行している。しかし、静電気などが発生し、ノイズパルスがリセット端子にのり、光ディスク制御装置の初期化制御部１１０５がリセットパルスと誤判断すると、ハードウェアリセットがかかるが、その場合、ホストＰＣ１１１１は光ディスク制御装置がリセットされたと判断できず、データ転送方式を一致させる転送モード設定コマンドを発行しない。光ディスク制御装置はリセットされたため、データ転送方式はデフォルトのＰＩＯになり、ホストＰＣ１１１１との転送モードが一致せず、データ通信がハングアップしていた。【００３２】
この課題を解決する代表的な例として特開平５−２４４２１６号公報がある。
特開平５−２４４２１６号公報の特許範囲には、データ通信がハング状態になった場合、ホストＰＣ（送信側）より初期化信号を光ディスク制御装置（受信側）に送出することにより、送信側と受信側のデータ転送方式を初期化させ、一致させ、送信側より転送モード設定コマンド、次いで転送モード設定データを送出し、受信側でそれらのデータを解読することによりデータ転送方式を設定し、データの通信をハングアップ状態から復帰させることを可能とするものである。【００３３】
図１３は、特開平５−２４４２１６号公報に記載の転送モード設定方式を行う装置の構成を示すブロック図である。図１３の１３０１〜１３０４、１３０６〜１３１０は、図１１の１１０１〜１１１１と同じ構成であるため、その説明を省略する。【００３４】
図１１に示した従来の光ディスク制御装置と比較して、ホストＰＣ１３１５に、通信がハングアップしているかの監視を行う通信状態監視部１３１１と、通信がハングアップした場合、光ディスク制御装置に通信復帰信号を送信する初期化信号発行部１３１３と、通信復帰処理を行う通信復帰部１３１２が追加され、光ディスク制御装置に、初期化信号を受信し、データ転送方式をホストＰＣ１３１５と同期させる初期化信号受信部１３０５が追加されている。【００３５】
データ通信がハングアップしたら、ホストＰＣ１３１５の通信状態監視部１３１１がハングアップと判断し、現在のホストＰＣ１３１５のデータ通信方式を確認する。【００３６】
図１４（ａ）〜（ｂ）は、特開平５−２４４２１６号公報に記載の転送モード設定方式を行う装置の動作を示すフローチャートである。【００３７】
図１４（ａ）において、静電気等の外的要因により（ステップＳ１４１４）、リセットシーケンスを開始し（ステップＳ１４０１）、初期起動を行う（ステップＳ１４０２）。【００３８】
図１４（ｂ）に示すように、送信側のホストＰＣ１３１５の通信状態監視部１３１１は初期化信号発行部１３１３に転送モードを設定し、受信側の光ディスク制御装置へ初期化信号を発行する（ステップＳ１４０４）。光ディスク制御装置の初期化信号受信部１３０５は初期化信号を受信すると（ステップＳ１４０５でＹｅｓ）、受信側の光ディスク制御装置を送信側のホストＰＣと同じ転送モードに初期設定するときに、データ転送方式設定部１３０２にデータ転送方式を設定後（ステップＳ１４０６）、初期化信号発行部１３１３へ完了信号（完了コード）を送信し（ステップＳ１４０７）、データ受信可能であることをホストＰＣ１３１５に伝える（ステップＳ１４０８でＹｅｓ）。【００３９】
送信側のホストＰＣ１３１５は通信制御部１３０７に転送モード設定コマンドを送出し（ステップＳ１４０９）、転送モード設定データ１バイトを送出する（ステップＳ１４１０）。受信側の光ディスク制御装置は前記転送モード設定データにより転送モードを設定して（ステップＳ１４１１）、受信側の光ディスク制御装置は送信側のホストＰＣ１３１５へ受信可を応答する（ステップＳ１４１２）ことにより、データ転送制御部１３０９を制御し、データ転送を再開していた（ステップＳ１４１３）。
【特許文献１】特開平５−２４４２１６号公報
【発明の開示】
【発明が解決しようとする課題】
【００４０】
特開平５−２４４２１６号公報での制御方法では、ホストＰＣがハングアップのポーリングや判断を行う必要があり、ホストＰＣの負荷が大きくなる。【００４１】
また、ホストＰＣと光ディスク制御装置ともに通信再開の処理を行う特別な機構が必要であり、この特別な機構をもたないホストＰＣは通信再開できない。しかも通信ハングアップ中はデータ転送用のバスが占有されているため、通信用のバスが必要になった。
しかも、ハングアップ判定や初期化信号の送受信、復帰用の制御時間が大きくなった。
そのため高倍速でのディスクアクセスに影響がでる可能性があった。また電力使用量が増大する。【００４２】
本発明は上記の課題を解決するためになされたものであり、静電気等の外的要因によりリセットがかかった場合でも、ホストＰＣとの間のデータ通信のハングアップを回避し、さらに省電力や高倍速に対応することができる光ディスク制御装置を提供することを目的とする。
【課題を解決するための手段】
【００４３】
前記の課題を解決するために、本発明の請求項１にかかる光ディスク制御装置は、ホストＰＣと接続された光ディスク制御装置を制御するＣＰＵと、リセットパルスがホストＰＣから発行されたとき、ＣＰＵに初期化要求信号を出力する初期化制御部と、光ディスク制御用プログラムが記憶されている制御プログラム格納部と、ホストＰＣとの間での光ディスク制御装置制御用コマンドの発行、及び転送可能状態、転送状態、エラー発生の有無の情報の通信を制御する通信制御部と、データ転送方式を格納したデータ転送方式設定部と、データ転送方式がホストＰＣから設定された時に、データ転送方式を記憶するデータ転送方式記憶部と、ホストＰＣからのデータ転送要求を受信し、前記データ転送方式設定部に設定された転送モードに従って、データ転送を制御するデータ転送制御部と、バスを介してデータを格納するデータ一時記憶部と、データ転送制御要求受信、及び通信制御要求が発生したときにＣＰＵへ割り込み信号を発行する割り込み処理部と、光ディスク制御装置制御用コマンドの内容を解析して実行するコマンド解析部と、初期起動時、ホストＰＣからの転送モード設定の有無に基づき、初期化要求信号がノイズによるものかホストＰＣからの要求であるかを判断し、データ転送方式を前記データ転送方式記憶部から読み出し設定するかどうかを判断するリセット判断部とを備えることを特徴とする。【００４４】
本発明の請求項２にかかる光ディスク制御装置は、請求項１に記載の光ディスク制御装置において、データ転送決定前にパルス発生間隔より大きい時間遅延を発生させる転送方式決定時間遅延部を備えたことを特徴とする。これによりリセットパルスが複数発生した場合でも更に安定したデータ通信を行うことができる。【００４５】
本発明の請求項３にかかる光ディスク制御装置は、請求項１に記載の光ディスク制御装置において、前記リセット判断部は、さらに転送方式の消去を行い、転送方式消去の要求信号を、前記リセット判断部にトレイが閉じられた後に出力する転送方式消去遅延部をさらに備えたことを特徴とする。これによりリセットパルスが複数発生した場合でも更に安定したデータ通信を行うことができる。【００４６】
本発明の請求項４にかかる光ディスク制御装置は、請求項１に記載の光ディスク制御装置において、フラッシュイレース前に、他のセクタの空き領域を探索し、前記データ転送方式記憶部が使用するフラッシュ領域を変更し、今まで使用したセクタ番号を記憶し、空きセクタがない場合、記憶しているセクタ番号を消去して、領域を確保するフラッシュ記憶領域探索部を備えたことを特徴とする。これによりフラッシュロムのような記憶領域が延命し、長く使用に耐える光ディスク制御装置を提供する。【００４７】
本発明の請求項５にかかる光ディスク制御装置は、請求項１に記載の光ディスク制御装置において、前記データ転送方式記憶部は、さらにマスターかスレーブかというドライブ情報を記憶し、光ディスク制御装置がマスターかスレーブであるかを決定するドライブ選択部をさらに備えたことを特徴とする。これにより光ディスク起動時間を短縮し、更にＣＰＵの負荷を抑え、省電力化や高倍速のデータ通信を可能とすることができる。
【発明の効果】
【００４８】
本発明によれば、ホストＰＣとデータ転送を行う光ディスク制御装置において、静電気等の外乱により、リセットがかかったとしても、ホストＰＣは大きい負荷がなく、安定したデータ転送や省電力化が実行でき、高倍速記録などにも対応できる。静電気等の外乱が多発するノートＰＣ環境下の使用については、本発明の光ディスク制御装置は特に有効である。
【図面の簡単な説明】
【００４９】
【図１】図１は、本発明の実施の形態１に係る光ディスク制御装置の構成を示すブロック図である。
【図２（ａ）】図２（ａ）は、本発明の実施の形態１に係る光ディスク制御装置の動作を示すフローチャートである。
【図２（ｂ）】図２（ｂ）は、本発明の実施の形態１に係る光ディスク制御装置の動作を示すフローチャートである。
【図２（ｃ）】図２（ｃ）は、本発明の実施の形態１に係る光ディスク制御装置の動作を示すフローチャートである。
【図３】図３は、本発明の実施の形態２に係る光ディスク制御装置の構成を示すブロック図である。
【図４（ａ）】図４（ａ）は、本発明の実施の形態２に係る光ディスク制御装置の動作を示すフローチャートである。
【図４（ｂ）】図４（ｂ）は、本発明の実施の形態２に係る光ディスク制御装置の動作を示すフローチャートである。
【図４（ｃ）】図４（ｃ）は、本発明の実施の形態２に係る光ディスク制御装置の動作を示すフローチャートである。
【図５】図５は、本発明の実施の形態３に係る光ディスク制御装置の構成を示すブロック図である。
【図６（ａ）】図６（ａ）は、本発明の実施の形態３に係る光ディスク制御装置の動作を示すフローチャートである。
【図６（ｂ）】図６（ｂ）は、本発明の実施の形態３に係る光ディスク制御装置の動作を示すフローチャートである。
【図６（ｃ）】図６（ｃ）は、本発明の実施の形態３に係る光ディスク制御装置の動作を示すフローチャートである。
【図７】図７は、本発明の実施の形態４に係る光ディスク制御装置の構成を示すブロック図である。
【図８（ａ）】図８（ａ）は、本発明の実施の形態４に係る光ディスク制御装置の動作を示すフローチャートである。
【図８（ｂ）】図８（ｂ）は、本発明の実施の形態４に係る光ディスク制御装置の動作を示すフローチャートである。
【図８（ｃ）】図８（ｃ）は、本発明の実施の形態４に係る光ディスク制御装置の動作を示すフローチャートである。
【図９】図９は、本発明の実施の形態５に係る光ディスク制御装置の構成を示すブロック図である。
【図１０（ａ）】図１０（ａ）は、本発明の実施の形態５に係る光ディスク制御装置の動作を示すフローチャートである。
【図１０（ｂ）】図１０（ｂ）は、本発明の実施の形態５に係る光ディスク制御装置の動作を示すフローチャートである。
【図１０（ｃ）】図１０（ｃ）は、本発明の実施の形態５に係る光ディスク制御装置の動作を示すフローチャートである。
【図１１】図１１は、従来の光ディスク装置の構成を示すブロック図である。
【図１２（ａ）】図１２（ａ）は、従来の光ディスク装置の動作を示すフローチャートである。
【図１２（ｂ）】図１２（ｂ）は、従来の光ディスク装置の動作を示すフローチャートである。
【図１３】図１３は、特開平５−２４４２１６号公報の装置の構成を示すブロック図である。
【図１４（ａ）】図１４（ａ）は、特開平５−２４４２１６号公報の装置の動作を示すフローチャートである。
【図１４（ｂ）】図１４（ｂ）は、特開平５−２４４２１６号公報の装置の動作を示すフローチャートである。
【図１５】図１５は、初期化時に実行される判断処理である。
【符号の説明】
【００５０】
１０１  制御プログラム格納部
１０２  データ転送方式設定部
１０３  データ転送方式記憶部
１０４  コマンド解析部
１０５  リセット判断部
１０６  ＣＰＵ
１０７  初期化制御部
１０８  通信制御部
１０９  割り込み処理部
１１０  データ転送制御部
１１１  データ一時記憶部
１１２  リセット端子
１１３  ホストＰＣ
３０１  制御プログラム格納部
３０２  データ転送方式設定部
３０３  データ転送方式記憶部
３０４  コマンド解析部
３０５  リセット判断部
３０６  ＣＰＵ
３０７  転送方式決定時間遅延部
３０８  初期化制御部
３０９  通信制御部
３１０  割り込み処理部
３１１  データ転送制御部
３１２  データ一時記憶部
３１３  リセット端子
３１４  ホストＰＣ
５０１  制御プログラム格納部
５０２  データ転送方式設定部
５０３  データ転送方式記憶部
５０４  コマンド解析部
５０５  リセット判断・転送方式消去実行部
５０６  ＣＰＵ
５０７  転送方式消去遅延部
５０８  初期化制御部
５０９  通信制御部
５１０  割り込み処理部
５１１  データ転送制御部
５１２  データ一時記憶部
５１３  リセット端子
５１４  ホストＰＣ
７０１  制御プログラム格納部
７０２  データ転送方式設定部
７０３  データ転送方式記憶部
７０４  コマンド解析部
７０５  リセット判断部
７０６  ＣＰＵ
７０７  フラッシュ領域探索部
７０８  初期化制御部
７０９  通信制御部
７１０  割り込み処理部
７１１  データ転送制御部
７１２  データ一時記憶部
７１３  リセット端子
７１４  ホストＰＣ
９０１  制御プログラム格納部
９０２  データ転送方式設定部
９０３  データ転送方式ドライブ情報記憶部
９０４  コマンド解析部
９０５  リセット判断部
９０６  ＣＰＵ
９０７  初期化制御部
９０８  通信制御部
９０９  割り込み処理部
９１０  ドライブ選択部
９１１  データ転送制御部
９１２  データ一時記憶部
９１３  リセット端子
９１４  ホストＰＣ
１１０１  制御プログラム格納部
１１０２  データ転送方式設定部
１１０３  コマンド解析部
１１０４  ＣＰＵ
１１０５  初期化制御部
１１０６  通信制御部
１１０７  割り込み処理部
１１０８  データ転送制御部
１１０９  データ一時記憶部
１１１０  リセット端子
１１１１  ホストＰＣ
１３０１  制御プログラム格納部
１３０２  データ転送方式設定部
１３０３  コマンド解析部
１３０４  ＣＰＵ
１３０５  初期化信号受信部
１３０６  初期化制御部
１３０７  通信制御部
１３０８  割り込み処理部
１３０９  データ転送制御部
１３１０  データ一時記憶部
１３１１  通信状態監視部
１３１２  通信復帰部
１３１３  初期化信号発行部
１３１４  リセット端子
１３１５  ホストＰＣ
【発明を実施するための最良の形態】
【００５１】
以下、本発明の実施の形態について図面を用いて説明する。【００５２】
（実施の形態１）
図１は、本発明の実施の形態１に係る光ディスク制御装置の構成を示すブロック図である。本実施の形態１に係る光ディスク制御装置は、請求項１に記載の発明に相当するものである。【００５３】
図１において、１１３は光ディスク制御装置を制御してデータを読み出すホストＰＣである。【００５４】
１０６は光ディスク制御装置を制御するＣＰＵである。【００５５】
１０７はリセットパルスがホストＰＣ１１３から発行されたら、ＣＰＵ１０６に初期化要求信号（リセット信号）を発行する初期化制御部である。【００５６】
また１０１は光ディスク制御用プログラムが記憶されている制御プログラム格納部である。【００５７】
１０８はホストＰＣ１１３との間での光ディスク制御装置制御用コマンドの発行や、転送可能状態、転送状態、エラー発生の有無等の情報のやりとりを制御する通信制御部である。【００５８】
１０２はデータ転送方式を格納したデータ転送方式設定部である。【００５９】
１０３はデータ転送方式がホストＰＣ１１３から設定された時に、データ転送方式を記憶しておくデータ転送方式記憶部である。【００６０】
１１０はホストＰＣ１１３からのデータ転送要求を受信し、データ転送方式設定部１０２に設定された転送モードに従って、データ転送を制御するデータ転送制御部であり、バスを介してデータ一時記憶部１１１にデータを格納する。【００６１】
１０９はデータ転送制御要求受信や通信制御要求が発生した際にＣＰＵ１０６へ割り込み信号を発行する割り込み処理部である。【００６２】
１０４は光ディスク制御装置制御用コマンドの内容を解析して実行するコマンド解析部である。【００６３】
１０５は初期起動時、ホストＰＣ１１３からの転送モード設定の有無で、初期化要求信号がノイズによるものかホストＰＣ１１３からの要求であるかを判断し、データ転送方式をデータ転送方式記憶部１０３から読み出し設定するかどうかを判断するリセット判断部である。【００６４】
制御プログラム格納部１０１、データ転送方式設定部１０２、データ転送方式記憶部１０３、コマンド解析部１０４、リセット判断部１０５は、通常は読み書きが可能なＦｌａｓｈＲＯＭのような記憶メモリに格納されるソフトウェアで処理される。【００６５】
次に、本発明の実施の形態１に係る光ディスク制御装置の動作を説明する。【００６６】
図２（ａ）〜（ｃ）は、本発明の実施の形態１に係る光ディスク制御装置の動作を示すフローチャートである。【００６７】
まず、ホストＰＣの電源投入後の動作について説明する。【００６８】
図２（ａ）において、ホストＰＣ１１３の電源投入後（ステップＳ２０１）、ホストＰＣ１１３は、リセット端子１１２から光ディスク制御装置の初期化制御部１０７へリセットパルスを発行する（ステップＳ２０２）。【００６９】
初期化制御部１０７は、リセットパルスを受信後、ＣＰＵ１０６にリセット信号を発行する（ステップＳ２０３）。【００７０】
リセット要求後、ＣＰＵ１０６は、制御プログラム格納部１０１に格納された光ディスク制御用のプログラムを実行する（ステップＳ２０４）。【００７１】
リセット判断部１０５は、初期起動時、各初期化処理を行い（ステップＳ２０５）、データ転送方式記憶部１０３にデータがないか又は無効データが設定されているかを確認する（ステップＳ２０６）。【００７２】
ここで、電源ＯＮ時は、データ転送方式記憶部１０３にデータがないか又は無効データが設定されているため（ステップＳ２０６でＹｅｓ）、データ転送方式設定部１０２にデータ転送方式のデフォルト値であるＰＩＯモードを格納する（ステップＳ２０７ａ）。これにより、電源ＯＮ後の最初の転送モードは、ＰＩＯモードに決定される。【００７３】
データ転送方式記憶部１０３に有効な転送モードが設定されている場合（ステップＳ２０６でＮｏ）は、リセット判断部１０５はデータ転送方式設定部１０２にいったんデフォルト値のＰＩＯを格納する（ステップＳ２０７ｂ）。そして、次のホストＰＣ１１３のコマンドを確認する（ステップＳ２０８）。ホストＰＣ１１３からサポート転送モードを要求されるコマンドが発行された場合（ステップＳ２０８でＹｅｓ）、リセット判断部１０５により、それは電源投入であり、リセットパルスがホストＰＣ１１３からの要求であると判断し、デフォルト値の設定のまま、データ転送方式記憶部１０３のデータを無効化する（ステップＳ２０９ａ）。このとき、ステップＳ２０９ａで、データ転送方式記憶部１０３内の過去の転送モードを消去し、コマンドで指定された転送モードを記憶する。これにより、転送モードは、ホストＰＣ１１３のコマンドで指定された転送モードに決定される。【００７４】
次に、データ転送方式が、ステップＳ２０７ａでＰＩＯデータに決定、またはステップ２０９ａでホストＰＣ１１３からのコマンドで指定された転送モードに決定したら、通信制御部１０８に、ホストＰＣ１１３からのコマンドを実行可能状態にする設定を行う（ステップＳ２１１）。通信制御部１０８を、ホストＰＣ１１３からのコマンドの実行可能状態に設定した後、ＣＰＵ１０６は割り込み処理部１０９を制御し、ホストＰＣ１１３に割り込み信号を発行する（ステップＳ２１２）。【００７５】
ホストＰＣ１１３は、割り込みにより光ディスク制御装置がコマンド受信可能であると判断し、光ディスク制御装置がサポートする最大のデータ転送方式を要求する。図２（ｂ）に示すように、ホストＰＣ１１３は、通信制御部１０８に、光ディスク制御装置のサポート転送モードの要求コマンドを設定する（ステップＳ２１３）。通信制御部１０８にコマンドが設定されたら、ホストＰＣ１１３は割り込み処理部１０９を制御し、ＣＰＵ１０６に割り込み信号を発行する（ステップＳ２１４）。ＣＰＵ１０６は制御プログラム格納部１０１から転送モードデータを読み出し（ステップＳ２１５）、データ一時記憶部１１１に転送モードデータを格納する（ステップＳ２１６）。【００７６】
また、割り込み信号を受信したＣＰＵ１０６は通信制御部１０８に設定されたコマンドをコマンド解析部１０４で解析し（ステップＳ２１７）、サポート転送モードデータを送信するコマンドであると判断する。ＣＰＵ１０６は制御プログラム格納部１０１からサポート転送モードデータを読み出し（ステップＳ２１８）、データ一時記憶部１１１にサポート転送モードデータを格納する（ステップＳ２１９）。【００７７】
ＣＰＵ１０６はデータ転送方式設定部１０２を制御して、データ一時記憶部１１１のサポート転送モードデータをホストＰＣ１１３に送信する（ステップＳ２２０）。データ送信終了後、データ転送制御部１１０は割り込み処理部１０９を制御し、ＣＰＵ１０６にデータ転送終了を知らせる割り込み信号を発行する（ステップＳ２２１）。ＣＰＵ１０６は割り込み受信後、通信制御部１０８に、ホストＰＣ１１３からのコマンドを実行可能状態にする設定を行う（ステップＳ２２２）。【００７８】
通信制御部１０８を、ホストＰＣ１１３からのコマンドの実行可能状態に設定した後（ステップＳ２２２）、ＣＰＵ１０６は割り込み処理部１０９を制御し、ホストＰＣ１１３に割り込み信号を発行する（ステップＳ２２３）。【００７９】
ホストＰＣ１１３はサポート転送モードデータから、光ディスク制御装置の最大の転送レートが期待できるデータ転送方式を要求する（ステップＳ２２４）。【００８０】
ホストＰＣ１１３は、通信制御部１０８に、転送モード設定コマンドを発行する（ステップＳ２２５）。通信制御部１０８にコマンドが設定されたら、ホストＰＣ１１３は割り込み処理部１０９を制御し、ＣＰＵ１０６に割り込み信号を発行する（ステップＳ２２６）。割り込み信号を受信したＣＰＵ１０６は通信制御部１０８に設定されたコマンドをコマンド解析部１０４で解析し（ステップＳ２２７）、転送モードを設定するコマンドであると判断する。ＣＰＵ１０６はデータ転送方式設定部１０２に要求された転送モードを設定する（ステップＳ２２８）。このようにして、電源投入後に、通常動作による転送モードの設定が行われる。【００８１】
リセット判断部１０５は、前述の転送モード設定コマンドが発行された場合、データ転送方式設定部１０２に設定された転送モードを、データ転送方式記憶部１０３に格納する。【００８２】
以後、設定された転送モードでデータ通信が制御される。【００８３】
次に、ノイズによりリセットがかかった場合の動作について説明する。リセットパルスがノイズの場合、図２（ａ）のステップＳ２０３からステップ２０９ｂの動作を行う。【００８４】
初期化制御部１０７に入力されたリセットパルスがノイズの場合は、サポート転送モードコマンドが発行されない。従って、ホストＰＣ１１３からサポート転送モードを要求されるコマンドが発行されていない場合（ステップＳ２０８でＮｏ）は、リセット判断部１０５により、リセットパルスがノイズによるものであると判断し、リセット判断部１０５は、データ転送方式記憶部１０３に、リセットを受ける前に動作した転送モードを設定し（ステップＳ２１０）、かつ、データ転送方式記憶部１０３に記憶してある転送モードをデータ転送方式設定部１０２に格納する。また、リセット判断部１０５は、データ転送方式記憶部１０３に記憶しているデータを無効化し（ステップＳ２０９ｂ）、データ転送方式記憶部１０３に無効化データを設定する。ここで、電源ＯＮ時にできるだけ早くドライブを起動させるため、データ転送方式記憶部１０３に無効化データを設定する。【００８５】
このようにして、リセットパルスがノイズによるものである場合、データ転送方式設定部１０２に設定された転送モード、すなわち、データ転送方式記憶部１０３に記憶されていた転送モードでデータ通信が制御される。【００８６】
なお、リセット判断部１０５はデータ転送方式記憶部１０３の領域が無くなり、データが格納できなくなった場合、データ転送方式記憶部１０３の領域を消去し、領域を確保する。【００８７】
ここで、静電気等でリセット端子がノイズを拾い初期化制御部１０７がリセット要求を誤判断した場合、ＣＰＵ１０６は初期化起動処理を行うが、リセット判断部１０５により、データ転送方式はホストＰＣ１１３と同期しているため、ハングアップしない。【００８８】
例えば、図２（ｃ）に示すように、静電気等の外的要因があるとき（ステップＳ２３４）、リセットシークエンスを開始し、ＣＰＵ１０６により初期起動を行う（ステップＳ２２９）。データ転送方式記憶部１０３に、リセットを受ける前の転送モードが記憶されている場合（ステップＳ２３０でＹｅｓ）、リセット判断部１０５は、データ転送方式記憶部１０３に記憶されている転送モードをデータ転送方式設定部１０２に転送モードとして設定し（ステップＳ２３１）、データ転送方式記憶部１０３に記憶されている転送モードを消去し（ステップＳ２３２）、システム動作処理を行う（ステップＳ２３３）。ステップＳ２３０でデータ転送方式記憶部１０３に、リセットを受ける前の転送モードが記憶されていれば、リセット判断部１０５は、データ転送方式記憶部１０３に記憶されている転送モードを設定する（ステップＳ２３１）ことで、ホストＰＣ１１３と同じ転送モードになるため、データ転送方式はホストＰＣ１１３と同期する。データ転送方式記憶部１０３に転送モードが記憶されていない場合（ステップＳ２３０でＮｏ）、続いてシステム動作処理を行う（ステップＳ２３３）。なお、データ転送方式記憶部１０３に転送モードが記憶されていない場合（ステップＳ２３０でＮｏ）、転送モードは、システム動作処理（ステップＳ２３３）においてホストＰＣ１１３により決定される。【００８９】
このように本実施の形態によれば、データ転送方式をデータ転送方式記憶部１０３に記憶し、リセット判断部１０５により、リセット起動時にリセットパルスによるリセットであることを判別し、リセットパルス起因のリセットであれば記憶したデータ転送方式を用いて起動しデータ通信を行うようにしたので、静電気等の外乱により、リセットがかかったとしても、ホストＰＣは大きい負荷がなく、安定したデータ転送や省電力化を実行することができるという効果がある。【００９０】
（実施の形態２）
図３は、本発明の実施の形態２に係る光ディスク制御装置の構成を示すブロック図である。本実施の形態２に係る光ディスク制御装置は、請求項２に記載の発明に相当するものである。実施の形態２では、実施の形態１の光ディスク制御装置に、データ転送決定前に数ｍ秒の遅延を発生させる転送方式決定時間遅延部３０７が追加されている。なお、図３の３０１〜３０６、３０８〜３１４は、図１の１０１〜１１３と同じであるため、その説明を省略する。【００９１】
上記実施の形態１の光ディスク制御装置では、リセットパルスが複数回発生すると、２回目以降の初期化で、光ディスク制御装置の転送モードとしてデフォルト値を設定することで、ホストＰＣと光ディスク制御装置間のデータ転送方式が一致せず、データ転送の制御に不整合が発生して、データ通信がハングアップする場合がある。すなわち、例えば２回パルスが発行された場合において、１回目のパルスで図２（ａ）のステップＳ２０９ａでホストＰＣのコマンドで指定された新しい転送モードをデータ転送方式記憶部３０３に記憶する前に、２回目のパルスを受信すると、再びステップＳ２０３のＣＰＵへリセット信号を発行する動作から処理が始まり、１回目のパルスのときの指定された転送モードをデータ転送方式記憶部３０３に記憶できていないため、ホストＰＣと光ディスク制御装置間で、転送方式が一致しなくなる場合がある。【００９２】
本実施の形態２では、リセットパルス間隔は数マイクロ秒であることから、転送モード決定前にリセットパルス間隔よりも大きい時間間隔、例えば数ｍ秒のウェイトをいれるようにする。これにより、１回目のパルス処理を行う前に２回目のパルスがくるため、１回目のパルスのときに指定された転送モードをデータ転送方式記憶部に記憶する処理の途中で、次のパルスが発行されることがなくなり、２回目以降の初期化でも、光ディスク制御装置のデータ転送方式記憶部に記憶した転送モードを設定することができ、ホストＰＣと光ディスク制御装置間で、転送方式が一致するようにすることができる。【００９３】
以下、本発明の実施の形態２に係る光ディスク制御装置の動作を詳細に説明する。【００９４】
図４（ａ）〜（ｃ）は、本発明の実施の形態２に係る光ディスク制御装置の動作を示すフローチャートである。【００９５】
まず、ホストＰＣの電源投入後の動作について説明する。【００９６】
図４（ａ）において、ホストＰＣ３１４の電源投入後（ステップＳ４０１）、ホストＰＣ３１４は、リセット端子３１３から光ディスク制御装置の初期化制御部３０８へリセットパルスを発行する（ステップＳ４０２）。【００９７】
初期化制御部３０８は、リセットパルスを受信後、ＣＰＵ３０６にリセット信号を発行する（ステップＳ４０３）。【００９８】
リセット要求後、ＣＰＵ３０６は、制御プログラム格納部３０１に格納された光ディスク制御用のプログラムを実行する（ステップＳ４０４）。【００９９】
転送モード決定前に転送方式決定時間遅延部３０７は数ｍ秒のウェイトを入れる。これによりデータ転送方式を決定するまでの間に遅延が発生する（ステップＳ４０５）。【０１００】
リセット判断部３０５は初期起動時、各初期化処理を行い（ステップＳ４０６）、データ転送方式記憶部３０３にデータがないか又は無効データが設定されているかを確認する（ステップＳ４０７）。【０１０１】
ここで、電源ＯＮ時は、データ転送方式記憶部３０３にデータがないか無効データが設定されているため（ステップＳ４０７でＹｅｓ）、データ転送方式設定部３０２にデータ転送方式のデフォルト値であるＰＩＯモードを格納する（ステップＳ４０８ａ）。これにより、電源ＯＮ後の最初の転送モードは、ＰＩＯモードに決定される。【０１０２】
データ転送方式記憶部３０３に有効な転送モードが設定されている場合（ステップＳ４０７でＮｏ）は、いったんデフォルト値のＰＩＯを格納する（ステップＳ４０８ｂ）。そして、次のホストＰＣ３１４のコマンドを確認する。ホストＰＣ３１４からサポート転送モードを要求されるコマンドが発行されたら（ステップＳ４０９でＹｅｓ）、リセット判断部３０５により、それは電源投入であり、リセットパルスがホストＰＣからの要求であると判断し、デフォルト値の設定のまま、データ転送方式記憶部３０３のデータを無効化する（ステップＳ４１０ａ）。このとき、ステップＳ４１０ａで、データ転送方式記憶部３０３内の過去の転送モードを消去し、コマンドで指定された転送モードを記憶する。これにより、転送モードは、ホストＰＣ３１４のコマンドで指定された転送モードに決定される。【０１０３】
次に、データ転送方式が、ステップＳ４０８ａでＰＩＯデータに決定、またはステップＳ４１０ａでホストＰＣ３１４からのコマンドで指定された転送モードに決定したら、通信制御部３０９に、ホストＰＣ３１４からのコマンドを実行可能状態にする設定を行う（ステップＳ４１１ａ）。通信制御部３０９を、ホストＰＣ３１４からのコマンドの実行可能状態に設定した後（ステップＳ４１１ａ）、ＣＰＵ３０６は割り込み処理部３１０を制御し、ホストＰＣ３１４に割り込み信号を発行する（ステップＳ４１２）。【０１０４】
ホストＰＣ３１４は割り込みにより光ディスク制御装置がコマンド受信可能であると判断し、光ディスク制御装置がサポートする最大のデータ転送方式を要求する。図４（ｂ）に示すように、ホストＰＣ３１４は通信制御部３０９に、光ディスク制御装置のサポート転送モードの要求コマンドを設定する（ステップＳ４１３）。通信制御部３０９にコマンドが設定されたら、ホストＰＣ３１４は割り込み処理部３１０を制御し、ＣＰＵ３０６に割り込み信号を発行する（ステップＳ４１４）。ＣＰＵ３０６は制御プログラム格納部３０１から転送モードデータを読み出し（ステップＳ４１５）、データ一時記憶部３１２に転送モードデータを格納する（ステップＳ４１６）。【０１０５】
また、割り込み信号を受信したＣＰＵ３０６は通信制御部３０９に設定されたコマンドをコマンド解析部３０４で解析し（ステップＳ４１７）、サポート転送モードを送信するコマンドであると判断する。ＣＰＵ３０６は制御プログラム格納部３０１からサポート転送モードデータを読み出し（ステップＳ４１８）、データ一時記憶部３１２に格納する（ステップＳ４１９）。【０１０６】
ＣＰＵ３０６はデータ転送方式設定部３０２を制御して、データ一時記憶部３１２のサポート転送モードデータをホストＰＣ３１４に送信する（ステップＳ４２０）。データ送信終了後、データ転送制御部３１１は割り込み処理部３１０を制御し、ＣＰＵ３０６にデータ転送終了を知らせる割り込み信号を発行する（ステップＳ４２１）。ＣＰＵ３０６は割り込み受信後、通信制御部３０９に、ホストＰＣ３１４からのコマンドを実行可能状態にする設定を行う（ステップＳ４２２）。【０１０７】
通信制御部３０９を、ホストＰＣ３１４からのコマンドの実行可能状態に設定した後（ステップＳ４２２）、ＣＰＵ３０６は割り込み処理部３１０を制御し、ホストＰＣ３１４に割り込みを発行する（ステップＳ４２３）。【０１０８】
ホストＰＣ３１４はサポート転送モードデータから、光ディスク制御装置の最大の転送レートが期待できるデータ転送方式を要求する（ステップＳ４２４）。【０１０９】
ホストＰＣ３１４は通信制御部３０９に、転送モード設定コマンドを発行する（ステップＳ４２５）。通信制御部３０９にコマンドが設定されたら、ホストＰＣ３１４は割り込み処理部３１０を制御し、ＣＰＵ３０６に割り込み信号を発行する（ステップＳ４２６）。割り込み信号を受信したＣＰＵ３０６は通信制御部３０９に設定されたコマンドをコマンド解析部３０４で解析し（ステップＳ４２７）、転送モードを設定するコマンドであると判断する。ＣＰＵ３０６はデータ転送方式設定部３０２に要求された転送モードを設定する（ステップＳ４２８）。このようにして、電源投入後に、通常動作による転送モードの設定が行われる。【０１１０】
リセット判断部３０５は前述の転送モード設定コマンドが発行された場合、データ転送方式設定部３０２に設定された転送モードを、データ転送方式記憶部３０３に格納する。【０１１１】
以後、設定された転送モードでデータ通信が制御される。【０１１２】
次に、ノイズによりリセットがかかった場合の動作について説明する。リセットパルスがノイズの場合、図４（ａ）のステップＳ４０３からＳ４１０ｂの動作を行う。【０１１３】
初期化制御部３０８に入力されたリセットパルスがノイズの場合は、サポート転送モードコマンドは発行されない。従って、ホストＰＣ３１４からサポート転送モードを要求されるコマンドが発行されていない場合（ステップＳ４０９でＮｏ）は、リセット判断部３０５により、リセットパルスがノイズによるものであると判断し、リセット判断部３０５は、データ転送方式記憶部３０３に、リセットを受ける前に動作した転送モードを設定し（ステップＳ４１１ｂ）、かつ、データ転送方式記憶部３０３に記憶しているデータをデータ転送方式設定部３０２に格納する。また、リセット判断部３０５は、データ転送方式記憶部３０３に記憶しているデータを無効化し（ステップＳ４１０ｂ）、データ転送方式記憶部３０３に無効化データを格納する。ここで、電源ＯＮ時にできるだけ早くドライブを起動させるため、データ転送方式記憶部３０３に無効化データを設定する。【０１１４】
このようにして、リセットパルスがノイズによるものである場合、データ転送方式設定部３０２に設定された転送モード、すなわち、データ転送方式記憶部３０３に記憶されていた転送モードでデータ通信が制御される。【０１１５】
なお、リセット判断部３０５はデータ転送方式記憶部３０３の領域が無くなり、データが格納できなくなった場合、データ転送方式記憶部３０３の領域を消去し、領域を確保する。【０１１６】
ここで、静電気等でリセット端子がノイズを拾い初期化制御部３０８がリセット要求を誤判断した場合、ＣＰＵ３０６は初期化起動処理を行うが、リセット判断部３０５により、データ転送方式はホストＰＣ３１４と同期しているため、ハングアップしない。また、数発のリセットノイズによる複数回初期化実行処理でも、ノイズ間隔よりも長いウェイト時間のために正しい転送モードでの起動が行われる。【０１１７】
例えば、図４（ｃ）に示すように、静電気等の外的要因があるとき（ステップＳ４３４）、リセットシークエンスを開始し、ＣＰＵ１０６により初期起動を行う（ステップＳ４２９）。ここで、静電気等の外的要因がある場合、初期起動（ステップＳ４２９）のときに、転送方式決定時間遅延部３０７によりウェイトを入れる遅延発生動作を行っている。【０１１８】
データ転送方式記憶部３０３に、リセットを受ける前の転送モードが記憶されている場合（ステップＳ４３０でＹｅｓ）、リセット判断部３０５はデータ転送方式記憶部３０３に記憶されている転送モードをデータ転送方式設定部３０２に転送モードとして設定し（ステップＳ４３１）、データ転送方式記憶部３０３に記憶されている転送モードを消去し（ステップＳ４３２）、システム動作処理を行う（ステップＳ４３３）。ステップＳ４３０でデータ転送方式記憶部３０３に、リセットを受ける前の転送モードが記憶されていれば、リセット判断部３０５は、データ転送方式記憶部３０３に記憶されている転送モードを設定する（ステップＳ４３１）ことで、ホストＰＣ３１４と同じ転送モードになるため、データ転送方式はホストＰＣ３１４と同期する。データ転送方式記憶部３０３に転送モードが記憶されていない場合（ステップＳ４３０でＮｏ）、続いてシステム動作処理を行う（ステップＳ４３３）。なお、データ転送方式記憶部３０３に転送モードが記憶されていない場合（ステップＳ４３０でＮｏ）、転送モードは、システム動作処理（ステップＳ４３３）においてホストＰＣ３１４により決定される。【０１１９】
このように本実施の形態によれば、データ転送決定前にパルス発生間隔より大きい時間遅延を発生させる転送方式決定時間遅延部３０７を備えるようにしたので、リセットパルスが複数発生した場合でも更に安定したデータ通信を行うことができるという効果がある。【０１２０】
（実施の形態３）
図５は、本発明の実施の形態３に係る光ディスク制御装置の構成を示すブロック図である。本実施の形態３に係る光ディスク制御装置は、請求項３に記載の発明に対応するものである。実施の形態３では、実施の形態１の光ディスク制御装置に、データ転送消去を１分後に実行させるため、リセット判断・転送方式消去実行部５０５に転送方式消去の要求信号を１分後に発行する転送方式消去遅延部５０７が追加されている。また、リセット判断・転送方式消去実行部５０５は、図１のリセット判断部１０５がリセット判断に加えてさらに、転送方式の消去を行うものである。なお、図５の５０１〜５１４は、図１の１０１〜１０４、１０６〜１１３と同じであるため、その説明を省略する。【０１２１】
実施の形態２の光ディスク制御装置では、長い間隔のリセットパルスが複数回発生すると、２回目以降の初期化で、光ディスク制御装置の転送モードとしてデフォルト値を設定することで、ホストＰＣと光ディスク制御装置間のデータ転送方式が一致せず、データ転送の制御に不整合が発生し、データ通信がハングアップする場合がある。すなわち、例えばデータ転送方式記憶部から転送モードを復帰し、新しい転送モードを消去した直後に、リセットパルスが発生した場合、新しい転送モードはデータ転送方式記憶部に記憶しておらず、復帰すべき転送モードが設定されないため、ホストＰＣがハングアップする。【０１２２】
本実施の形態３では、長い間隔のリセットパルスが複数回発生する場合、転送モード設定後、リセットパルスが発生する可能性があるため、ウェイト時間を入れることで、データ転送方式記憶部の転送モードの消去処理を待つようにする。上記処理実行を待っている間に次のリセットパルスが発生するので、転送モードを消去した直後にリセットパルスが発生するような状況が生じなくなる。【０１２３】
具体的には、通常はトレイオープン時の静電気がノイズとなってリセットを行う外乱となるが、トレイオープンクローズ間隔は数十秒であるため、トレイオープンからクローズされる間の時間以上のウェイト時間（例えば１分程度）のウェイトをいれることで、２回目以降の初期化でも、光ディスク制御装置のデータ転送方式記憶部に記憶した転送モードを設定することができ、データ通信ハングアップの危険性を回避する  ようにすることができる。【０１２４】
以下、本発明の実施の形態３に係る光ディスク制御装置の動作を詳細に説明する。【０１２５】
図６（ａ）〜（ｃ）は、本発明の実施の形態３に係る光ディスク制御装置の動作を示すフローチャートである。【０１２６】
まず、ホストＰＣの電源投入後の動作について説明する。【０１２７】
図６（ａ）において、ホストＰＣ５１４の電源投入後（ステップＳ６０１）、ホストＰＣ５１４はリセット端子５１３から光ディスク制御装置の初期化制御部５０８へリセットパルスを発行する（ステップＳ６０２）。【０１２８】
初期化制御部５０８は、リセットパルスを受信後、ＣＰＵ５０６にリセット信号を発行する（ステップＳ６０３）。【０１２９】
リセット要求後、ＣＰＵ５０６は制御プログラム格納部５０１に格納された光ディスク制御用のプログラムを実行する（ステップＳ６０４）。【０１３０】
リセット判断・転送方式消去実行部５０５は、初期起動時、各初期化処理を行い（ステップＳ６０５）、データ転送方式記憶部５０３にデータがないかまたは無効データが設定されているかを確認する（ステップＳ６０６）。【０１３１】
ここで、電源ＯＮ時は、データ転送方式記憶部５０３にデータがないかまたは無効データが設定されているため（ステップＳ６０６でＹｅｓ）、データ転送方式設定部５０２にデータ転送方式のデフォルト値であるＰＩＯモードを格納する（ステップＳ６０７ａ）。これにより、電源ＯＮ後の最初の転送モードは、ＰＩＯモードに決定される。【０１３２】
データ転送方式記憶部５０３に有効な転送モードが設定されている場合（ステップＳ６０６でＮｏ）は、リセット判断・転送方式消去実行部５０５はデータ転送方式設定部５０２にいったんデフォルト値のＰＩＯを格納する（ステップＳ６０７ｂ）。そして、次のホストＰＣ５１４のコマンドを確認する（ステップＳ６０８）。ホストＰＣ５１４からサポート転送モードを要求されるコマンドが発行されたら（ステップＳ６０８でＹｅｓ）、リセット判断・転送方式消去実行部５０５により、それは電源投入であり、リセットパルスがホストＰＣ５１４からの要求であると判断し、デフォルト値の設定のまま、データ転送方式記憶部５０３のデータを無効化する（ステップＳ６０９ａ）。このとき、ステップＳ６０９ａで、データ転送方式記憶部５０３内の過去の転送モードを消去し、コマンドで指定された転送モードを記憶する。これにより、転送モードは、ホストＰＣ５１４のコマンドで指定された転送モードに決定される。【０１３３】
次に、データ転送方式が、ステップＳ６０７ａでＰＩＯモードに決定、またはステップＳ６０９ａでホストＰＣ５１４からのコマンドで指定された転送モードに決定したら、通信制御部５０９に、ホストＰＣ５１４からのコマンドを実行可能状態にする設定を行う（ステップＳ６１１）。通信制御部５０９を、ホストＰＣ５１４からのコマンドの実行可能状態に設定した後、ＣＰＵ５０６は割り込み処理部５１０を制御し、ホストＰＣ５１４に割り込み信号を発行する（ステップＳ６１２）。【０１３４】
ホストＰＣ５１４は、割り込みにより光ディスク制御装置がコマンド受信可能であると判断し、光ディスク制御装置がサポートする最大のデータ転送方式を要求する。図６（ｂ）に示すように、ホストＰＣ５１４は通信制御部５０９に、光ディスク制御装置のサポート転送モードの要求コマンドを設定する（ステップＳ６１３）。通信制御部５０９にコマンドが設定されたら、ホストＰＣ５１４は割り込み処理部５１０を制御し、ＣＰＵ５０６に割り込み信号を発行する（ステップＳ６１４）。割り込みを受信したＣＰＵ５０６は通信制御部５０９に設定されたコマンドをコマンド解析部５０４で解析し、サポート転送モードを送信するコマンドであると判断する。ＣＰＵ５０６は制御プログラム格納部５０１から転送モードデータを読み出し（ステップＳ６１５）、データ一時記憶部５１２に転送モードデータを格納する（ステップＳ６１６）。【０１３５】
また、割り込み信号を受信したＣＰＵ５０６は、コマンド解析部５０４にてコマンドを解析する（ステップＳ６１７）。制御プログラム格納部５０１からサポート転送モードデータを読み出す（ステップＳ６１８）。データ一時記憶部５１２にサポート転送モードデータを格納する（ステップＳ６１９）。【０１３６】
ＣＰＵ５０６は、データ転送方式設定部５０２を制御して、データ一時記憶部５１２のサポート転送モードデータをホストＰＣ５１４に送信する（ステップＳ６２０）。データ送信終了後、データ転送制御部５１１は割り込み処理部５１０を制御し、ＣＰＵ５０６にデータ転送終了を知らせる割り込み信号を発行する（ステップＳ６２１）。ＣＰＵ５０６は割り込み受信後、通信制御部５０９に、ホストＰＣ５１４からのコマンドを実行可能状態にする設定を行う（ステップＳ６２２）。【０１３７】
通信制御部５０９を、ホストＰＣ５１４からのコマンドの実行可能状態に設定した後（ステップＳ６２２）、ＣＰＵ５０６は割り込み処理部５１０を制御し、ホストＰＣ５１４に割り込み信号を発行する（ステップＳ６２３）。【０１３８】
ホストＰＣ５１４はサポート転送モードデータから、光ディスク制御装置の最大の転送レートが期待できるデータ転送方式を要求する（ステップＳ６２４）。【０１３９】
ホストＰＣ５１４は通信制御部５０９に、転送モード設定コマンドを発行する（ステップＳ６２５）。通信制御部５０９にコマンドが設定されたら、ホストＰＣ５１４は割り込み処理部５１０を制御し、ＣＰＵ５０６に割り込み信号を発行する（ステップＳ６２６）。割り込みを受信したＣＰＵ５０６は通信制御部５０９に設定されたコマンドをコマンド解析部５０４で解析し（ステップＳ６２７）、転送モードを設定するコマンドであると判断する。ＣＰＵ５０６はデータ転送方式設定部５０２に要求された転送モードを設定する（ステップＳ６２８）。このようにして、電源投入後に、通常動作による転送モードの設定が行われる。【０１４０】
リセット判断・転送方式消去実行部５０５は前述の転送モード設定コマンドが発行された場合、データ転送方式設定部５０２に設定された転送モードを、データ転送方式記憶部５０３に格納する。【０１４１】
転送モード決定後、転送方式消去遅延部５０７は、１分間カウントして転送方式消去遅延処理を行い（ステップＳ６３３ａ）、データ転送方式記憶部５０３の転送モードを消去するため、リセット判断・転送方式消去実行部５０５に転送方式消去の要求信号を発行する（ステップＳ６３３ｂ）。【０１４２】
リセット判断・転送方式消去実行部５０５はデータ転送方式記憶部５０３のデータを無効化するため、データ転送方式記憶部５０３に無効化データを格納する。【０１４３】
リセット判断・転送方式消去実行部５０５はデータ転送方式記憶部５０３の領域が無くなり、データが格納できなくなった場合、データ転送方式記憶部５０３の領域を消去し、領域を確保する。【０１４４】
以後、設定された転送モードでデータ通信が制御される。【０１４５】
次に、ノイズによりリセットがかかった場合の動作について説明する。リセットパルスがノイズの場合、図６（ａ）のＳ６０３からＳ６０９ｂの動作を行う。【０１４６】
初期化制御部５０８に入力されたリセットパルスがノイズの場合は、サポート転送モードコマンドが発行されない。従って、ホストＰＣ５１４からサポート転送モードを要求されるコマンドが発行されていない場合（ステップＳ６０８でＮｏ）は、リセット判断・転送方式消去実行部５０５により、リセットパルスがノイズによるものであると判断し、リセット判断・転送方式消去実行部５０５は、データ転送方式記憶部５０３に、リセットを受ける前に動作したデータを設定し（ステップＳ６１０）、かつ、データ転送方式記憶部５０３に記憶しているデータをデータ転送方式設定部５０２に格納する。また、リセット判断・転送方式消去実行部５０５は、データ転送方式記憶部５０３に記憶しているデータを無効化し（ステップＳ６０９ｂ）、データ転送方式記憶部５０３に無効化データを設定する。ここで、電源ＯＮ時にできるだけ早くドライブを起動させるため、データ転送方式記憶部５０３に無効化データを設定する。このようにして、ノイズによる初期化の時に、ノイズによるリセット時の転送モードを設定する。【０１４７】
このようにして、リセットパルスがノイズによるものである場合、データ転送方式設定部５０２に設定された転送モード、すなわち、データ転送方式記憶部５０３に記憶されていた転送モードでデータ通信が制御される。【０１４８】
ここで、静電気等でリセット端子がノイズを拾い初期化制御部５０８がリセット要求を誤判断した場合、ＣＰＵ５０６は初期化起動処理を行うが、リセット判断・転送方式消去実行部５０５により、データ転送方式はホストＰＣ５１３と同期しているため、ハングアップしない。また、長い間隔のリセットノイズによる複数回初期化実行処理でも、正しい転送モードでの起動が行われる。【０１４９】
例えば、図６（ｃ）に示すように、静電気等の外的要因があるとき（ステップＳ６２９）、リセットシーケンスを開始し、初期起動を行う（ステップＳ６３０）。データ転送方式記憶部５０３に、リセットを受ける前の転送モードが記憶されている場合（ステップＳ６０６でＹｅｓ）、リセット判断・転送方式消去実行部５０５は、データ転送方式記憶部５０３に記憶されている転送モードをデータ転送方式設定部５０２に転送モードとして設定し（ステップＳ６３２）、転送方式消去遅延部５０７は、１分間カウントして転送方式消去遅延処理を行い（ステップＳ６３３ｂ）、リセット判断・転送方式消去実行部５０５に転送方式消去の要求信号を発行し（ステップＳ６３４ｂ）、データ転送方式記憶部５０３に記憶されている転送モードを消去し（ステップＳ６３５）、システム動作処理を行う（ステップＳ６３６）。ステップＳ６３１でデータ転送方式記憶部５０３に、リセットを受ける前の転送モードが記憶されていれば、リセット判断・転送方式消去実行部５０５は、データ転送方式記憶部５０３に記憶されている転送モードを設定する（ステップＳ６３２）ことで、ホストＰＣ５１４と同じ転送モードになるため、データ転送方式はホストＰＣ５１４と同期する。また、データ転送方式記憶部５０３に転送モードが記憶されていない場合（ステップＳ６０６でＮｏ）、続けてシステム動作処理を行う（ステップＳ６３６）。なお、データ転送方式記憶部５０３に転送モードが記憶されていない場合（ステップＳ６３１でＮｏ）、転送モードは、システム動作処理（ステップＳ６３６）においてホストＰＣ５１４により決定される。【０１５０】
このように本実施の形態によれば、リセット判断・転送方式消去部５０５は、リセット判断に加えて、さらに転送方式の消去を行い、転送方式消去の要求信号を、前記リセット判断・転送方式消去部５０５にトレイが閉じられた後に出力する転送方式消去遅延部５０７をさらに備えるようにしたので、リセットパルスが複数発生した場合でも光ディスク制御装置のデータ転送方式記憶部に記憶した転送モードを設定することができ、更に安定したデータ通信を行うことができるという効果がある。【０１５１】
（実施の形態４）
図７は、本発明の実施の形態４に係る光ディスク制御装置の構成を示すブロック図である。本実施の形態４に係る光ディスク制御装置は、請求項４に記載の発明に相当するものである。実施の形態４では、実施の形態１の光ディスク制御装置に、フラッシュイレース前に、他のセクタの空き領域を探索し、データ転送方式記憶部７０３が使用するフラッシュ領域を変更するフラッシュ領域探索部７０７が追加されている。フラッシュ記憶領域探索部７０７は、今まで使用したセクタ番号を記憶し、空きセクタがない場合、記憶しているセクタ番号を消去して、領域を確保する。なお、図７の７０１〜７０６、７０８〜７１４は、図１の１０１〜１１３と同じであるため、その説明を省略する。【０１５２】
上記実施の形態１の光ディスク制御装置では、データ転送方式記憶部の記憶領域が固定であり、同じ領域への書き換えが発生すると、転送方式が正しく記憶できなくなる場合がある。【０１５３】
本実施の形態４では、通常、転送方式等のデータの記憶はフラッシュロムのような読み書きが可能な記憶部に行い、書き換えはセクタと呼ばれる数キロバイト単位で行われ、このような記憶部の書き換え回数は１万回程度であること、また、データ転送方式記憶部の取り扱う領域は６４バイト程度で、通常の光ディスク制御装置の使用するフラッシュロムにはどのセクタにもこの程度の空きは存在することから、転送方式記憶部が使用する領域を変更して、フラッシュロムの寿命を延ばし、転送方式が正しく記憶できるようにすることができる。【０１５４】
以下、本発明の実施の形態４に係る光ディスク制御装置の動作を詳細に説明する。【０１５５】
図８（ａ）〜（ｃ）は、本発明の実施の形態４に係る光ディスク制御装置の動作を示すフローチャートである。【０１５６】
まず、ホストＰＣの電源投入後の動作について説明する。【０１５７】
図８（ａ）において、ホストＰＣ７１４の電源投入後（ステップＳ８０１）、ホストＰＣ７１４はリセット端子７１３から光ディスク制御装置の初期化制御部７０８へリセットパルスを発行する（ステップＳ８０２）。【０１５８】
初期化制御部７０８はリセットパルスを受信後、ＣＰＵ７０６にリセット信号を発行する（ステップＳ８０３）。【０１５９】
リセット要求後、ＣＰＵ７０６は制御プログラム格納部７０１に格納された光ディスク制御用のプログラムを実行する（ステップＳ８０４）。【０１６０】
リセット判断部７０５は初期起動時、各初期化処理を行いステップＳ８０５）、データ転送方式記憶部７０３にデータがないかまたは無効データが設定されているかを確認する（ステップＳ８０６）。【０１６１】
ここで、電源ＯＮ時は、データ転送方式記憶部７０３にデータがないかまたは無効データが設定されているため（ステップＳ８０６でＹｅｓ）、データ転送方式設定部７０２にデータ転送方式のデフォルト値であるＰＩＯモードを格納する（ステップＳ８０７ａ）。これにより、電源ＯＮ後の最初の転送モードは、ＰＩＯモードに決定される。【０１６２】
データ転送方式記憶部７０３に有効な転送モードが設定されている場合は（ステップＳ８０６でＮｏ）、いったんデフォルト値のＰＩＯを格納する（ステップＳ８０７ｂ）。そして、次のホストＰＣ７１４のコマンドを確認する。ホストＰＣ７１４からサポート転送モードを要求されるコマンドが発行されたら（ステップＳ８０８でＹｅｓ）、リセット判断部７０５により、それは電源投入であり、リセットパルスがホストＰＣ７１４からの要求であると判断し、デフォルト値の設定のまま、データ転送方式記憶部７０３のデータを無効化する（ステップＳ８０９ａ）。このとき、ステップＳ８０９ａでデータ転送方式記憶部７０３内の過去の転送モードを消去し、コマンドで指定された転送モードを記憶する。これにより、転送モードは、ホストＰＣ７１４からのコマンドで指定された転送モードに決定される。【０１６３】
リセット判断部７０５はデータ転送方式記憶部７０３の領域が無くなり、データが格納できなくなった場合（ステップＳ８１１ａでＹｅｓ）、フラッシュ領域探索部７０７に領域確保要求信号を発行する（ステップＳ８１２ａ）。フラッシュ領域探索部７０７は、他のセクタの空き領域を探し、データ転送方式が使用できる領域の空きのあるセクタがあれば、データ転送方式記憶部７０３の使用領域を変更し、領域を確保する。また、フラッシュ領域探索部７０７は、使用しているセクタ番号を記憶する（ステップＳ８１３ａ）。空きがなければ今まで使用していたセクタを消去し、領域を確保する。【０１６４】
次に、データ転送方式がステップＳ８０７ａでＰＩＯモードに決定、またはステップＳ８０９ａでホストＰＣ７１４からのコマンドで指定された転送モードに決定したら、図８（ｂ）に示すように、通信制御部７０９に、ホストＰＣ７１４からのコマンドを実行可能状態にする設定を行う（ステップＳ８１４）。通信制御部７０９を、ホストＰＣ７１４からのコマンドの実行可能状態に設定した後、ＣＰＵ７０６は割り込み処理部７１０を制御し、ホストＰＣ７１４に割り込み信号を発行する（ステップＳ８１５）。【０１６５】
ホストＰＣ７１４は割り込みにより光ディスク制御装置がコマンド受信可能であると判断し、光ディスク制御装置がサポートする最大のデータ転送方式を要求する。ホストＰＣ７１４は通信制御部７０９に、光ディスク制御装置のサポート転送モードの要求コマンドを設定する（ステップＳ８１６）。通信制御部７０９にコマンドが設定されたら、ホストＰＣ７１４は割り込み処理部７１０を制御し、ＣＰＵ７０６に割り込み信号を発行する（ステップＳ８１７）。ＣＰＵ７０６は制御プログラム格納部７０１から転送モードデータを読み出し（ステップＳ８１８）、データ一時記憶部７１２に転送モードデータを格納する（ステップＳ８１９）。【０１６６】
割り込みを受信したＣＰＵ７０６は通信制御部７０９に設定されたコマンドをコマンド解析部７０４で解析し（ステップＳ８２０）、サポート転送モードを送信するコマンドであると判断する。ＣＰＵ７０６は制御プログラム格納部７０１からサポート転送モードデータを読み出し（ステップＳ８２１）、データ一時記憶部７１２にサポート転送モードデータを格納する（ステップＳ８２２）。【０１６７】
ＣＰＵ７０６はデータ転送方式設定部７０２を制御して、データ一時記憶部７１２のサポート転送モードデータをホストＰＣ７１４に送信する（ステップＳ８２３）。データ送信終了後、データ転送制御部７１１は割り込み処理部７１０を制御し、ＣＰＵ７０６にデータ転送終了を知らせる割り込み信号を発行する（ステップＳ８２４）。ＣＰＵ７０６は割り込み受信後、通信制御部７０９に、ホストＰＣ７１４からのコマンドを実行可能状態にする設定を行う（ステップＳ８２５）。【０１６８】
通信制御部７０９を、ホストＰＣ７１４からのコマンドの実行可能状態に設定した後（ステップＳ８２５）、ＣＰＵ７０６は割り込み処理部を制御し、ホストＰＣ７１４に割り込み信号を発行する（ステップＳ８２６）。【０１６９】
ホストＰＣ７１４はサポート転送モードデータから、光ディスク制御装置の最大の転送レートが期待できるデータ転送方式を要求する（ステップＳ８２７）。【０１７０】
ホストＰＣ７１４は通信制御部７０９に、転送モード設定コマンドを発行する（ステップＳ８２８）。通信制御部７０９にコマンドが設定されたら、ホストＰＣ７１４は割り込み処理部７１０を制御し、ＣＰＵ７０６に割り込み信号を発行する（ステップＳ８２９）。割り込み信号を受信したＣＰＵ７０６は通信制御部７０９に設定されたコマンドをコマンド解析部７０４で解析し（ステップＳ８３０）、転送モードを設定するコマンドであると判断する。ＣＰＵ７０６はデータ転送方式設定部７０２に要求された転送モードを設定する（ステップＳ８３１）。このようにして、電源投入後に、通常動作による転送モードの設定が行われる。【０１７１】
リセット判断部７０５は、前述の転送モード設定コマンドが発行された場合、データ転送方式設定部７０２に設定された転送モードを、データ転送方式記憶部７０３に格納する。【０１７２】
以後、設定された転送モードでデータ通信が制御される。【０１７３】
次に、ノイズによりリセットがかかった場合の動作について説明する。リセットパルスがノイズの場合、図８（ｂ）のステップＳ８０３からステップＳ８１３ｂの動作を行う。【０１７４】
初期化制御部７０８に入力されたリセットパルスがノイズの場合は、サポート転送モードコマンドは発行されない。従って、ホストＰＣ７１４からサポート転送モードを要求されるコマンドが発行されていない場合（ステップＳ８０８でＮｏ）は、リセット判断部７０５により、リセットパルスがノイズによるものであると判断し、リセット判断部７０５は、データ転送方式記憶部７０３に、リセットを受ける前に動作した転送モードを設定し（ステップＳ８１０）、かつ、データ転送方式記憶部７０３に記憶してある転送モードをデータ転送方式設定部７０２に格納する。また、リセット判断部７０５は、データ転送方式記憶部７０３に記憶しているデータを無効化し（ステップＳ８０９ｂ）、データ転送方式記憶部７０３に無効化データを設定する。ここで、電源ＯＮ時にできるだけ早くドライブを起動させるため、データ転送方式記憶部７０３に無効化データを設定する。【０１７５】
リセット判断部７０５はデータ転送方式記憶部７０３の領域が無くなり、データが格納できなくなった場合（ステップＳ８１１ｂでＹｅｓ）、フラッシュ領域探索部７０７に領域確保要求信号を発行する（ステップＳ８１２ｂ）。フラッシュ領域探索部７０７は、他のセクタの空き領域を探し、データ転送方式が使用できる領域の空きのあるセクタがあれば、データ転送方式記憶部７０３の使用領域を変更し、領域を確保する。また、フラッシュ領域探索部７０７は、使用しているセクタ番号を記憶する（ステップＳ８１３ｂ）。空きがなければ今まで使用していたセクタを消去し、領域を確保する。【０１７６】
このようにして、リセットパルスがノイズによるものである場合、データ転送方式設定部７０２に設定された転送モード、すなわち、データ転送方式記憶部７０３に記憶されていた転送モードでデータ通信が制御される。【０１７７】
また、図８（ｃ）に示すように、静電気等の外的要因があるとき（ステップＳ８３７）、リセットシーケンスを開始し、初期起動を行う（ステップＳ８３２）。データ転送方式記憶部７０３に、リセットを受ける前の転送モードが記憶されている場合（ステップＳ８３３でＹｅｓ）、リセット判断部７０５は、データ転送方式記憶部７０３に記憶されている転送モードをデータ転送方式設定部７０２に転送モードとして設定し（ステップＳ８３４）、データ転送方式記憶部７０３に記憶されている転送モードを消去して（ステップＳ８３５）、システム動作処理を行う（ステップＳ８３６）。ステップＳ８３３でデータ転送方式記憶部７０３に、リセットを受ける前の転送モードが記憶されていれば、リセット判断部７０５は、データ転送方式記憶部７０３に記憶されている転送モードを設定する（ステップＳ８３４）ことで、ホストＰＣ７１４と同じ転送モードになるため、データ転送方式はホストＰＣ７１４と同期する。また、データ転送方式記憶部７０３に転送モードが記憶されていない場合（ステップＳ８３３でＮｏ）、続けてシステム動作処理を行う（ステップＳ８３６）。なお、データ転送方式記憶部７０３に転送モードが記憶されていない場合（ステップＳ８３３でＮｏ）、転送モードは、システム動作処理（ステップＳ８３６）においてホストＰＣ１１３により決定される。また、静電気等の外的要因がある場合、システム動作処理（ステップＳ８３６）のときに、フラッシュ領域探索部７０７により、データ転送方式記憶部７０３の領域を確保する動作を行っている。【０１７８】
このように本実施の形態によれば、フラッシュイレース前に、他のセクタの空き領域を探索し、データ転送方式記憶部７０３が使用するフラッシュ領域を変更し、今まで使用したセクタ番号を記憶し、空きセクタがない場合、記憶しているセクタ番号を消去して、領域を確保するフラッシュ記憶領域探索部７０７を備えるようにしたので、データ転送方式記憶部７０３の同じ領域への書き換えが発生しないようデータ転送方式記憶部７０３が使用する領域を変更して、データ転送方式記憶部７０３のフラッシュＲＯＭを延命し、長く使用に耐えることができるという効果がある。【０１７９】
（実施の形態５）
図９は、本発明の実施の形態５に係る光ディスク制御装置の構成を示すブロック図である。本実施の形態５に係る光ディスク制御装置は、請求項５に記載の発明に相当するものである。【０１８０】
図９において、９１０は、光ディスク制御装置がマスターであるかスレーブであるかを決定するためのドライブ選択部である。なお、ドライブ選択部９１０は、図１に示した実施の形態１の光ディスク制御装置ではその記載を省略している。【０１８１】
また、データ転送方式ドライブ情報記憶部９０３は、実施の形態１のデータ転送方式記憶部１０３が、転送方式だけでなく、さらにマスターかスレーブかというドライブ情報も記憶するようにしたものである。なお、図９の９０１、９０２、９０４〜９０９、９１１〜９１４は、図１の１０１、１０２、１０４〜１１３を同じであるため、その説明を省略する。【０１８２】
次に、本発明の実施の形態５に係る光ディスク制御装置の動作を説明する。【０１８３】
図１０（ａ）〜（ｃ）は、本発明の実施の形態５に係る光ディスク制御装置の動作を示すフローチャートである。【０１８４】
図１０（ａ）に示す実施の形態５のフローチャートは、図２（ａ）に示す実施の形態１のフローチャートの、リセット判断部がデータ転送方式設定部にデータ転送方式のデフォルト値であるＰＩＯモードを設定するステップＳ２０７ａ、Ｓ２０７ｂの次に、データ転送方式ドライブ情報記憶部９０３にドライブ情報を記憶するステップＳ１００８ａ、Ｓ１００８ｂをそれぞれ新たに追加している。【０１８５】
なお、本発明の実施の形態５に係る光ディスク制御装置の動作は、データ転送方式ドライブ情報記憶部９０３にデータ転送方式だけでなく、ドライブ情報を共に記憶するようになったこと以外は実施の形態１と同様であり、説明を省略する。【０１８６】
ここで、現在のホストＰＣと光ディスク制御装置の転送の規格であるＡＴＡＰＩでは、一本のケーブルに２台の装置を接続することができる。装置はそれぞれマスター・スレーブと設定され、ホストＰＣはコマンドを発行する際にマスタードライブか、スレーブドライブかを選択する。【０１８７】
光ディスク制御装置は自分がマスタードライブかスレーブドライブかをホストＰＣとの信号線のやりとりで認識し、ドライブ情報を記憶する。【０１８８】
この判断はハードウェアリセット等の初期化時に必ず実行される。この処理はリセットが多発するとＣＰＵ負荷になる。図１５に示す初期化時に実行される判断処理は最大３０ｓ以上の負荷になる。【０１８９】
図１５に示すように、初期化処理を開始し（ステップＳ１５０１）、初期起動を行う（ステップＳ１５０２）。光ディスク制御装置はホストＰＣとの間で信号検出待ち処理（Ｍａｘ４５０ｍｓ）を行い（ステップＳ１５０３）、Ｓｌａｖｅ存在を確認する（ステップＳ１５０４）。光ディスク制御装置はＳｌａｖｅ存在を確認した自己診断結果を反映して（ステップＳ１５０５）、ホストＰＣとの間で信号検出待ち処理（Ｍａｘ３１ｓｅｃ）を行う（ステップＳ１５０６）。光ディスク制御装置はマスター／スレーブ（Ｍａｓｔｅｒ／Ｓｌａｖｅ）診断結果の設定を行い（ステップＳ１５０７）、ホストＰＣからのコマンドの実行可能状態に設定する（ステップＳ１５０８）。続いてディスク判断処理を行う（ステップＳ１５０９）。【０１９０】
実施の形態５は、実施の形態１のように転送モードを記憶するだけでなく、ドライブ情報をも記憶し、復帰することで、図１５にあるＭａｓｔｅｒ／Ｓｌａｖｅ処理をなくし、ＣＰＵ負荷を減らすことができる。【０１９１】
このように本実施の形態によれば、データ転送方式ドライブ情報記憶部９０３は、データ転送方式に加えて、さらにマスターかスレーブかというドライブ情報を記憶し、光ディスク制御装置がマスターかスレーブであるかを決定するドライブ選択部９１０をさらに備えるようにしたので、ハードウェアリセット等の初期化時におけるマスター／スレーブ処理を行わないことにより、光ディスク起動時間を短縮し、更にＣＰＵの負荷を抑え、省電力化や高倍速のデータ通信を可能とすることができるという効果がある。
【産業上の利用可能性】
【０１９２】
本発明にかかる光ディスク制御装置は、リセット端子からハードウェアリセットがかかった際に、大きな負荷もなく、高速にシステムを復帰させるものとして有用である。
【図１】
2009087976.tif 000003
【図２（ａ）】
2009087976.tif 000004
【図２（ｂ）】
2009087976.tif 000005
【図２（ｃ）】
2009087976.tif 000006
【図３】
2009087976.tif 000007
【図４（ａ）】
2009087976.tif 000008
【図４（ｂ）】
2009087976.tif 000009
【図４（ｃ）】
2009087976.tif 000010
【図５】
2009087976.tif 000011
【図６（ａ）】
2009087976.tif 000012
【図６（ｂ）】
2009087976.tif 000013
【図６（ｃ）】
2009087976.tif 000014
【図７】
2009087976.tif 000015
【図８（ａ）】
2009087976.tif 000016
【図８（ｂ）】
2009087976.tif 000017
【図８（ｃ）】
2009087976.tif 000018
【図９】
2009087976.tif 000019
【図１０（ａ）】
2009087976.tif 000020
【図１０（ｂ）】
2009087976.tif 000021
【図１０（ｃ）】
2009087976.tif 000022
【図１１】
2009087976.tif 000023
【図１２（ａ）】
2009087976.tif 000024
【図１２（ｂ）】
2009087976.tif 000025
【図１３】
2009087976.tif 000026
【図１４（ａ）】
2009087976.tif 000027
【図１４（ｂ）】
2009087976.tif 000028
【図１５】
2009087976.tif 000029
【手続補正書】
【提出日】平成22年6月24日(2010.6.24)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に転送モードを設定する転送モード制御手段を有する光ディスク制御装置に関するものである。
【背景技術】
【０００２】
ホストＰＣと光ディスク制御装置にはデータ転送方式が３種類存在する。ＰＩＯ（Ｐｒｏｇｒａｍｍｅｄ  Ｉ／Ｏ）方式は最大８．３３ＭＢ／秒の転送レートで、ホストＰＣと光ディスク制御装置共通でアクセスできるレジスタを介して転送制御を行う。ＤＭＡはバスマスタ方式の転送が可能で、ホストＰＣのＣＰＵはポーリング操作から解放されるため１６．７ＭＢ／秒の転送レートが実現した。ＵｌｔｒａＤＭＡではデータ転送をクロックの立ち上がりと立ち下がりの両方で行う方式で、転送レートが３３．３ＭＢ／秒から１００ＭＢ／秒までになり、高速転送が可能になった。
【０００３】
ホストＰＣと光ディスク制御装置間のデータ転送方式は、まずＰＩＯ転送方式を選択し、ホストＰＣが光ディスク制御装置に対してレジスタを使用した転送モード設定コマンドを発行し、光ディスク制御装置のサポートしている最大の転送レートが期待できるデータ転送方式を選択することで決定する。
【０００４】
ホストＰＣと光ディスク制御装置間のデータ転送方式は同期する必要があり、これが一致しない場合、データ転送の制御に不整合が発生し、データ通信がハングアップしてしまう。
【０００５】
ところで光ディスク制御装置には３種類のリセットが存在し、リセット端子にリセットパルスを発行し初期化するハードウェアリセット、レジスタを使用して初期化するソフトウェアリセット、コマンドを使用して初期化するデバイスリセットである。
【０００６】
通常はホストＰＣ（そのＰＣ上で動作しているＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ、以後ＯＳ）が意識して、リセットを発行するため、リセット後はデータ転送方式を同期させるコマンドをホストＰＣが発行し、データ転送方式を一致させるためデータ通信がハングアップすることはない。
【０００７】
図１１は、従来の光ディスク制御装置のブロック図である。
【０００８】
図１１において、１１１１は光ディスク制御装置を制御してデータを読み出すホストＰＣである。
【０００９】
１１０４は光ディスク制御装置を制御するＣＰＵである。
【００１０】
１１０５はリセットパルスがホストＰＣ１１１１から発行されたら、ＣＰＵ１１０４に初期化要求信号を発行する初期化制御部である。
【００１１】
また１１０１は光ディスク制御用プログラムが記憶されている制御プログラム格納部である。
【００１２】
１１０６はホストＰＣ１１１１との間での光ディスク制御装置制御用コマンドの発行や、転送可能状態、転送状態、エラー発生の有無等の情報のやりとりを制御する通信制御部である。
【００１３】
１１０２はデータ転送方式を格納したデータ転送方式設定部である。
【００１４】
１１０８はホストＰＣ１１１１からのデータ転送要求を受信し、データ転送方式設定部１１０２に設定された転送モードに従って、データ転送を制御するデータ転送制御部であり、バスを介してデータ一時記憶部１１０９にデータを格納する。
【００１５】
１１０７はデータ転送制御要求受信や通信制御要求が発生した際にＣＰＵ１１０４へ割り込み信号を発行する割り込み処理部である。
【００１６】
１１０３は光ディスク制御装置制御用コマンドの内容を解析して実行するコマンド解析ブロックである。
【００１７】
図１２（ａ）〜（ｂ）は、従来の光ディスク制御装置の動作を示すフローチャートである。
【００１８】
図１２（ａ）において、静電気等の外的要因により（ステップＳ１２０１）、リセットシーケンスを開始し、初期起動を行う（ステップＳ１２０２）。
【００１９】
図１２（ｂ）に示すように、送信側のホストＰＣ１１１１の電源投入後、ホストＰＣ１１１１はリセット端子１１１０から受信側の光ディスク制御装置の初期化制御部１１０５へリセットパルス（データ初期化信号）を発行する（ステップＳ１２０４）。
【００２０】
初期化制御部１１０５はリセットパルスを受信後（ステップＳ１２０５でＹｅｓ）、ＣＰＵ１１０４にリセット信号を発行する。
【００２１】
次に、受信側の光ディスク制御装置は、送信側のホストＰＣ１１１１と同じ転送モードに初期設定する（ステップＳ１２０６）。
【００２２】
以下に詳しく説明すると、リセット要求後ＣＰＵ１１０４は制御プログラム格納部１１０１に格納された光ディスク制御用のプログラムを実行する。
【００２３】
ＣＰＵ１１０４は初期起動時、各初期化処理を行った後、データ転送方式設定部１１０２にデータ転送方式のデフォルト値であるＰＩＯモードを格納する。また通信制御部１１０６に、ホストＰＣ１１１１からのコマンドを実行可能状態にする設定を行う。
【００２４】
通信制御部１１０６に、ホストＰＣ１１１１からのコマンドを実行可能状態に設定した後、ＣＰＵ１１０４は割り込み処理部１１０７を制御し、ホストＰＣ１１１１に割り込み信号を発行する。
【００２５】
ホストＰＣ１１１１は割り込みにより光ディスク制御装置がコマンド受信可能であると判断し、光ディスク制御装置がサポートする最大のデータ転送方式を要求する。ホストＰＣ１１１１は通信制御部１１０６に、光ディスク制御装置のサポート転送モードの要求コマンドを設定する。通信制御部１１０６にコマンドが設定されたら、ホストＰＣ１１１１は割り込み処理部１１０７を制御し、ＣＰＵ１１０４に割り込み信号を発行する。割り込み信号を受信したＣＰＵ１１０４は通信制御部１１０６に設定されたコマンドをコマンド解析部１１０３で解析し、サポート転送モードを送信するコマンドであると判断する。ＣＰＵ１１０４は制御プログラム格納部１１０１からサポート転送モードデータを読み出し、データ一時記憶部１１０９に格納する。
【００２６】
ＣＰＵ１１０４はデータ転送制御部１１０８を制御して、データ一時記憶部１１０９のサポート転送モードデータを送信する。データ送信終了後、データ転送制御部１１０８は割り込み処理部１１０７を制御し、ＣＰＵ１１０４にデータ転送終了を知らせる割り込み信号（完了コード）を発行する（ステップＳ１２０７）。ＣＰＵ１１０４は割り込み信号を受信後（ステップＳ１２０８でＹｅｓ）、通信制御部１１０６にコマンド実行可能状態設定を行う。
【００２７】
通信制御部１１０６を、ホストＰＣ１１１１からのコマンドの実行可能状態に設定した後、ＣＰＵ１１０４は割り込み処理部１１０７を制御し、ホストＰＣ１１１１に割り込み信号を発行する。
【００２８】
ホストＰＣ１１１１はサポート転送モードデータから、光ディスク制御装置の最大の転送レートが期待できるデータ転送方式を要求する。
【００２９】
ホストＰＣ１１１１は通信制御部１１０６に、転送モード設定コマンドを発行する（ステップＳ１２０９）。また、ホストＰＣ１１１１は転送モード設定データを通信制御部１１０６に送出する（ステップＳ１２１０）。通信制御部１１０６にコマンドが設定されたら、ホストＰＣ１１１１は割り込み処理部１１０７を制御し、ＣＰＵ１１０４に割り込み信号を発行する。割り込み信号を受信したＣＰＵ１１０４は通信制御部１１０６に設定されたコマンドをコマンド解析部１１０３で解析し、転送モードを設定するコマンドであると判断する。ＣＰＵ１１０４はデータ転送方式設定部１１０２に要求された転送モードを設定する（ステップＳ１２１１）。受信側の光ディスク制御装置から送信側のホストＰＣ１１１１へ完了報告を行う（ステップＳ１２１２）。
【００３０】
以後、設定されたデータ転送方式でデータ通信が処理され（ステップＳ１２１３）、システム動作処理を行う（ステップＳ１２０３）。
【００３１】
このように、図１２の従来の光ディスク制御装置のフローチャートでは、ホストＰＣ１１１１は電源投入後リセット端子からリセットパルスを発行し、また、転送モード設定コマンドを発行している。しかし、静電気などが発生し、ノイズパルスがリセット端子にのり、光ディスク制御装置の初期化制御部１１０５がリセットパルスと誤判断すると、ハードウェアリセットがかかるが、その場合、ホストＰＣ１１１１は光ディスク制御装置がリセットされたと判断できず、データ転送方式を一致させる転送モード設定コマンドを発行しない。光ディスク制御装置はリセットされたため、データ転送方式はデフォルトのＰＩＯになり、ホストＰＣ１１１１との転送モードが一致せず、データ通信がハングアップしていた。
【００３２】
この課題を解決する代表的な例として特開平５−２４４２１６号公報がある。
特開平５−２４４２１６号公報の特許範囲には、データ通信がハング状態になった場合、ホストＰＣ（送信側）より初期化信号を光ディスク制御装置（受信側）に送出することにより、送信側と受信側のデータ転送方式を初期化させ、一致させ、送信側より転送モード設定コマンド、次いで転送モード設定データを送出し、受信側でそれらのデータを解読することによりデータ転送方式を設定し、データの通信をハングアップ状態から復帰させることを可能とするものである。
【００３３】
図１３は、特開平５−２４４２１６号公報に記載の転送モード設定方式を行う装置の構成を示すブロック図である。図１３の１３０１〜１３０４、１３０６〜１３１０は、図１１の１１０１〜１１１１と同じ構成であるため、その説明を省略する。
【００３４】
図１１に示した従来の光ディスク制御装置と比較して、ホストＰＣ１３１５に、通信がハングアップしているかの監視を行う通信状態監視部１３１１と、通信がハングアップした場合、光ディスク制御装置に通信復帰信号を送信する初期化信号発行部１３１３と、通信復帰処理を行う通信復帰部１３１２が追加され、光ディスク制御装置に、初期化信号を受信し、データ転送方式をホストＰＣ１３１５と同期させる初期化信号受信部１３０５が追加されている。
【００３５】
データ通信がハングアップしたら、ホストＰＣ１３１５の通信状態監視部１３１１がハングアップと判断し、現在のホストＰＣ１３１５のデータ通信方式を確認する。
【００３６】
図１４（ａ）〜（ｂ）は、特開平５−２４４２１６号公報に記載の転送モード設定方式を行う装置の動作を示すフローチャートである。
【００３７】
図１４（ａ）において、静電気等の外的要因により（ステップＳ１４１４）、リセットシーケンスを開始し（ステップＳ１４０１）、初期起動を行う（ステップＳ１４０２）。
【００３８】
図１４（ｂ）に示すように、送信側のホストＰＣ１３１５の通信状態監視部１３１１は初期化信号発行部１３１３に転送モードを設定し、受信側の光ディスク制御装置へ初期化信号を発行する（ステップＳ１４０４）。光ディスク制御装置の初期化信号受信部１３０５は初期化信号を受信すると（ステップＳ１４０５でＹｅｓ）、受信側の光ディスク制御装置を送信側のホストＰＣと同じ転送モードに初期設定するときに、データ転送方式設定部１３０２にデータ転送方式を設定後（ステップＳ１４０６）、初期化信号発行部１３１３へ完了信号（完了コード）を送信し（ステップＳ１４０７）、データ受信可能であることをホストＰＣ１３１５に伝える（ステップＳ１４０８でＹｅｓ）。
【００３９】
送信側のホストＰＣ１３１５は通信制御部１３０７に転送モード設定コマンドを送出し（ステップＳ１４０９）、転送モード設定データ１バイトを送出する（ステップＳ１４１０）。受信側の光ディスク制御装置は前記転送モード設定データにより転送モードを設定して（ステップＳ１４１１）、受信側の光ディスク制御装置は送信側のホストＰＣ１３１５へ受信可を応答する（ステップＳ１４１２）ことにより、データ転送制御部１３０９を制御し、データ転送を再開していた（ステップＳ１４１３）。
【先行技術文献】
【特許文献】
【００４０】
【特許文献１】特開平５−２４４２１６号公報
【発明の概要】
【発明が解決しようとする課題】
【００４１】
特開平５−２４４２１６号公報での制御方法では、ホストＰＣがハングアップのポーリングや判断を行う必要があり、ホストＰＣの負荷が大きくなる。
【００４２】
また、ホストＰＣと光ディスク制御装置ともに通信再開の処理を行う特別な機構が必要であり、この特別な機構をもたないホストＰＣは通信再開できない。しかも通信ハングアップ中はデータ転送用のバスが占有されているため、通信用のバスが必要になった。
しかも、ハングアップ判定や初期化信号の送受信、復帰用の制御時間が大きくなった。
そのため高倍速でのディスクアクセスに影響がでる可能性があった。また電力使用量が増大する。
【００４３】
本発明は上記の課題を解決するためになされたものであり、静電気等の外的要因によりリセットがかかった場合でも、ホストＰＣとの間のデータ通信のハングアップを回避し、さらに省電力や高倍速に対応することができる光ディスク制御装置を提供することを目的とする。
【課題を解決するための手段】
【００４４】
前記の課題を解決するために、本発明の請求項１にかかる光ディスク制御装置は、ホストＰＣと接続された光ディスク制御装置を制御するＣＰＵと、リセットパルスがホストＰＣから発行されたとき、ＣＰＵに初期化要求信号を出力する初期化制御部と、光ディスク制御用プログラムが記憶されている制御プログラム格納部と、ホストＰＣとの間での光ディスク制御装置制御用コマンドの発行、及び転送可能状態、転送状態、エラー発生の有無の情報の通信を制御する通信制御部と、データ転送方式を格納したデータ転送方式設定部と、データ転送方式がホストＰＣから設定された時に、データ転送方式を記憶するデータ転送方式記憶部と、ホストＰＣからのデータ転送要求を受信し、前記データ転送方式設定部に設定された転送モードに従って、データ転送を制御するデータ転送制御部と、バスを介してデータを格納するデータ一時記憶部と、データ転送制御要求受信、及び通信制御要求が発生したときにＣＰＵへ割り込み信号を発行する割り込み処理部と、光ディスク制御装置制御用コマンドの内容を解析して実行するコマンド解析部と、初期起動時、ホストＰＣからの転送モード設定の有無に基づき、初期化要求信号がノイズによるものかホストＰＣからの要求であるかを判断し、データ転送方式を前記データ転送方式記憶部から読み出し設定するかどうかを判断するリセット判断部とを備えることを特徴とする。
【００４５】
本発明の請求項２にかかる光ディスク制御装置は、請求項１に記載の光ディスク制御装置において、データ転送決定前にパルス発生間隔より大きい時間遅延を発生させる転送方式決定時間遅延部を備えたことを特徴とする。これによりリセットパルスが複数発生した場合でも更に安定したデータ通信を行うことができる。
【００４６】
本発明の請求項３にかかる光ディスク制御装置は、請求項１に記載の光ディスク制御装置において、前記リセット判断部は、さらに転送方式の消去を行い、転送方式消去の要求信号を、前記リセット判断部にトレイが閉じられた後に出力する転送方式消去遅延部をさらに備えたことを特徴とする。これによりリセットパルスが複数発生した場合でも更に安定したデータ通信を行うことができる。
【００４７】
本発明の請求項４にかかる光ディスク制御装置は、請求項１に記載の光ディスク制御装置において、フラッシュイレース前に、他のセクタの空き領域を探索し、前記データ転送方式記憶部が使用するフラッシュ領域を変更し、今まで使用したセクタ番号を記憶し、空きセクタがない場合、記憶しているセクタ番号を消去して、領域を確保するフラッシュ記憶領域探索部を備えたことを特徴とする。これによりフラッシュロムのような記憶領域が延命し、長く使用に耐える光ディスク制御装置を提供する。
【００４８】
本発明の請求項５にかかる光ディスク制御装置は、請求項１に記載の光ディスク制御装置において、前記データ転送方式記憶部は、さらにマスターかスレーブかというドライブ情報を記憶し、光ディスク制御装置がマスターかスレーブであるかを決定するドライブ選択部をさらに備えたことを特徴とする。これにより光ディスク起動時間を短縮し、更にＣＰＵの負荷を抑え、省電力化や高倍速のデータ通信を可能とすることができる。
【発明の効果】
【００４９】
本発明によれば、ホストＰＣとデータ転送を行う光ディスク制御装置において、静電気等の外乱により、リセットがかかったとしても、ホストＰＣは大きい負荷がなく、安定したデータ転送や省電力化が実行でき、高倍速記録などにも対応できる。静電気等の外乱が多発するノートＰＣ環境下の使用については、本発明の光ディスク制御装置は特に有効である。
【図面の簡単な説明】
【００５０】
【図１】図１は、本発明の実施の形態１に係る光ディスク制御装置の構成を示すブロック図である。
【図２（ａ）】図２（ａ）は、本発明の実施の形態１に係る光ディスク制御装置の動作を示すフローチャートである。
【図２（ｂ）】図２（ｂ）は、本発明の実施の形態１に係る光ディスク制御装置の動作を示すフローチャートである。
【図２（ｃ）】図２（ｃ）は、本発明の実施の形態１に係る光ディスク制御装置の動作を示すフローチャートである。
【図３】図３は、本発明の実施の形態２に係る光ディスク制御装置の構成を示すブロック図である。
【図４（ａ）】図４（ａ）は、本発明の実施の形態２に係る光ディスク制御装置の動作を示すフローチャートである。
【図４（ｂ）】図４（ｂ）は、本発明の実施の形態２に係る光ディスク制御装置の動作を示すフローチャートである。
【図４（ｃ）】図４（ｃ）は、本発明の実施の形態２に係る光ディスク制御装置の動作を示すフローチャートである。
【図５】図５は、本発明の実施の形態３に係る光ディスク制御装置の構成を示すブロック図である。
【図６（ａ）】図６（ａ）は、本発明の実施の形態３に係る光ディスク制御装置の動作を示すフローチャートである。
【図６（ｂ）】図６（ｂ）は、本発明の実施の形態３に係る光ディスク制御装置の動作を示すフローチャートである。
【図６（ｃ）】図６（ｃ）は、本発明の実施の形態３に係る光ディスク制御装置の動作を示すフローチャートである。
【図７】図７は、本発明の実施の形態４に係る光ディスク制御装置の構成を示すブロック図である。
【図８（ａ）】図８（ａ）は、本発明の実施の形態４に係る光ディスク制御装置の動作を示すフローチャートである。
【図８（ｂ）】図８（ｂ）は、本発明の実施の形態４に係る光ディスク制御装置の動作を示すフローチャートである。
【図８（ｃ）】図８（ｃ）は、本発明の実施の形態４に係る光ディスク制御装置の動作を示すフローチャートである。
【図９】図９は、本発明の実施の形態５に係る光ディスク制御装置の構成を示すブロック図である。
【図１０（ａ）】図１０（ａ）は、本発明の実施の形態５に係る光ディスク制御装置の動作を示すフローチャートである。
【図１０（ｂ）】図１０（ｂ）は、本発明の実施の形態５に係る光ディスク制御装置の動作を示すフローチャートである。
【図１０（ｃ）】図１０（ｃ）は、本発明の実施の形態５に係る光ディスク制御装置の動作を示すフローチャートである。
【図１１】図１１は、従来の光ディスク装置の構成を示すブロック図である。
【図１２（ａ）】図１２（ａ）は、従来の光ディスク装置の動作を示すフローチャートである。
【図１２（ｂ）】図１２（ｂ）は、従来の光ディスク装置の動作を示すフローチャートである。
【図１３】図１３は、特開平５−２４４２１６号公報の装置の構成を示すブロック図である。
【図１４（ａ）】図１４（ａ）は、特開平５−２４４２１６号公報の装置の動作を示すフローチャートである。
【図１４（ｂ）】図１４（ｂ）は、特開平５−２４４２１６号公報の装置の動作を示すフローチャートである。
【図１５】図１５は、初期化時に実行される判断処理である。
【発明を実施するための形態】
【００５１】
以下、本発明の実施の形態について図面を用いて説明する。
【００５２】
（実施の形態１）
図１は、本発明の実施の形態１に係る光ディスク制御装置の構成を示すブロック図である。本実施の形態１に係る光ディスク制御装置は、請求項１に記載の発明に相当するものである。
【００５３】
図１において、１１３は光ディスク制御装置を制御してデータを読み出すホストＰＣである。
【００５４】
１０６は光ディスク制御装置を制御するＣＰＵである。
【００５５】
１０７はリセットパルスがホストＰＣ１１３から発行されたら、ＣＰＵ１０６に初期化要求信号（リセット信号）を発行する初期化制御部である。
【００５６】
また１０１は光ディスク制御用プログラムが記憶されている制御プログラム格納部である。
【００５７】
１０８はホストＰＣ１１３との間での光ディスク制御装置制御用コマンドの発行や、転送可能状態、転送状態、エラー発生の有無等の情報のやりとりを制御する通信制御部である。
【００５８】
１０２はデータ転送方式を格納したデータ転送方式設定部である。
【００５９】
１０３はデータ転送方式がホストＰＣ１１３から設定された時に、データ転送方式を記憶しておくデータ転送方式記憶部である。
【００６０】
１１０はホストＰＣ１１３からのデータ転送要求を受信し、データ転送方式設定部１０２に設定された転送モードに従って、データ転送を制御するデータ転送制御部であり、バスを介してデータ一時記憶部１１１にデータを格納する。
【００６１】
１０９はデータ転送制御要求受信や通信制御要求が発生した際にＣＰＵ１０６へ割り込み信号を発行する割り込み処理部である。
【００６２】
１０４は光ディスク制御装置制御用コマンドの内容を解析して実行するコマンド解析部である。
【００６３】
１０５は初期起動時、ホストＰＣ１１３からの転送モード設定の有無で、初期化要求信号がノイズによるものかホストＰＣ１１３からの要求であるかを判断し、データ転送方式をデータ転送方式記憶部１０３から読み出し設定するかどうかを判断するリセット判断部である。
【００６４】
制御プログラム格納部１０１、データ転送方式設定部１０２、データ転送方式記憶部１０３、コマンド解析部１０４、リセット判断部１０５は、通常は読み書きが可能なＦｌａｓｈＲＯＭのような記憶メモリに格納されるソフトウェアで処理される。
【００６５】
次に、本発明の実施の形態１に係る光ディスク制御装置の動作を説明する。
【００６６】
図２（ａ）〜（ｃ）は、本発明の実施の形態１に係る光ディスク制御装置の動作を示すフローチャートである。
【００６７】
まず、ホストＰＣの電源投入後の動作について説明する。
【００６８】
図２（ａ）において、ホストＰＣ１１３の電源投入後（ステップＳ２０１）、ホストＰＣ１１３は、リセット端子１１２から光ディスク制御装置の初期化制御部１０７へリセットパルスを発行する（ステップＳ２０２）。
【００６９】
初期化制御部１０７は、リセットパルスを受信後、ＣＰＵ１０６にリセット信号を発行する（ステップＳ２０３）。
【００７０】
リセット要求後、ＣＰＵ１０６は、制御プログラム格納部１０１に格納された光ディスク制御用のプログラムを実行する（ステップＳ２０４）。
【００７１】
リセット判断部１０５は、初期起動時、各初期化処理を行い（ステップＳ２０５）、データ転送方式記憶部１０３にデータがないか又は無効データが設定されているかを確認する（ステップＳ２０６）。
【００７２】
ここで、電源ＯＮ時は、データ転送方式記憶部１０３にデータがないか又は無効データが設定されているため（ステップＳ２０６でＹｅｓ）、データ転送方式設定部１０２にデータ転送方式のデフォルト値であるＰＩＯモードを格納する（ステップＳ２０７ａ）。これにより、電源ＯＮ後の最初の転送モードは、ＰＩＯモードに決定される。
【００７３】
データ転送方式記憶部１０３に有効な転送モードが設定されている場合（ステップＳ２０６でＮｏ）は、リセット判断部１０５はデータ転送方式設定部１０２にいったんデフォルト値のＰＩＯを格納する（ステップＳ２０７ｂ）。そして、次のホストＰＣ１１３のコマンドを確認する（ステップＳ２０８）。ホストＰＣ１１３からサポート転送モードを要求されるコマンドが発行された場合（ステップＳ２０８でＹｅｓ）、リセット判断部１０５により、それは電源投入であり、リセットパルスがホストＰＣ１１３からの要求であると判断し、デフォルト値の設定のまま、データ転送方式記憶部１０３のデータを無効化する（ステップＳ２０９ａ）。このとき、ステップＳ２０９ａで、データ転送方式記憶部１０３内の過去の転送モードを消去し、コマンドで指定された転送モードを記憶する。これにより、転送モードは、ホストＰＣ１１３のコマンドで指定された転送モードに決定される。
【００７４】
次に、データ転送方式が、ステップＳ２０７ａでＰＩＯデータに決定、またはステップ２０９ａでホストＰＣ１１３からのコマンドで指定された転送モードに決定したら、通信制御部１０８に、ホストＰＣ１１３からのコマンドを実行可能状態にする設定を行う（ステップＳ２１１）。通信制御部１０８を、ホストＰＣ１１３からのコマンドの実行可能状態に設定した後、ＣＰＵ１０６は割り込み処理部１０９を制御し、ホストＰＣ１１３に割り込み信号を発行する（ステップＳ２１２）。
【００７５】
ホストＰＣ１１３は、割り込みにより光ディスク制御装置がコマンド受信可能であると判断し、光ディスク制御装置がサポートする最大のデータ転送方式を要求する。図２（ｂ）に示すように、ホストＰＣ１１３は、通信制御部１０８に、光ディスク制御装置のサポート転送モードの要求コマンドを設定する（ステップＳ２１３）。通信制御部１０８にコマンドが設定されたら、ホストＰＣ１１３は割り込み処理部１０９を制御し、ＣＰＵ１０６に割り込み信号を発行する（ステップＳ２１４）。ＣＰＵ１０６は制御プログラム格納部１０１から転送モードデータを読み出し（ステップＳ２１５）、データ一時記憶部１１１に転送モードデータを格納する（ステップＳ２１６）。
【００７６】
また、割り込み信号を受信したＣＰＵ１０６は通信制御部１０８に設定されたコマンドをコマンド解析部１０４で解析し（ステップＳ２１７）、サポート転送モードデータを送信するコマンドであると判断する。ＣＰＵ１０６は制御プログラム格納部１０１からサポート転送モードデータを読み出し（ステップＳ２１８）、データ一時記憶部１１１にサポート転送モードデータを格納する（ステップＳ２１９）。
【００７７】
ＣＰＵ１０６はデータ転送方式設定部１０２を制御して、データ一時記憶部１１１のサポート転送モードデータをホストＰＣ１１３に送信する（ステップＳ２２０）。データ送信終了後、データ転送制御部１１０は割り込み処理部１０９を制御し、ＣＰＵ１０６にデータ転送終了を知らせる割り込み信号を発行する（ステップＳ２２１）。ＣＰＵ１０６は割り込み受信後、通信制御部１０８に、ホストＰＣ１１３からのコマンドを実行可能状態にする設定を行う（ステップＳ２２２）。
【００７８】
通信制御部１０８を、ホストＰＣ１１３からのコマンドの実行可能状態に設定した後（ステップＳ２２２）、ＣＰＵ１０６は割り込み処理部１０９を制御し、ホストＰＣ１１３に割り込み信号を発行する（ステップＳ２２３）。
【００７９】
ホストＰＣ１１３はサポート転送モードデータから、光ディスク制御装置の最大の転送レートが期待できるデータ転送方式を要求する（ステップＳ２２４）。
【００８０】
ホストＰＣ１１３は、通信制御部１０８に、転送モード設定コマンドを発行する（ステップＳ２２５）。通信制御部１０８にコマンドが設定されたら、ホストＰＣ１１３は割り込み処理部１０９を制御し、ＣＰＵ１０６に割り込み信号を発行する（ステップＳ２２６）。割り込み信号を受信したＣＰＵ１０６は通信制御部１０８に設定されたコマンドをコマンド解析部１０４で解析し（ステップＳ２２７）、転送モードを設定するコマンドであると判断する。ＣＰＵ１０６はデータ転送方式設定部１０２に要求された転送モードを設定する（ステップＳ２２８）。このようにして、電源投入後に、通常動作による転送モードの設定が行われる。
【００８１】
リセット判断部１０５は、前述の転送モード設定コマンドが発行された場合、データ転送方式設定部１０２に設定された転送モードを、データ転送方式記憶部１０３に格納する。
【００８２】
以後、設定された転送モードでデータ通信が制御される。
【００８３】
次に、ノイズによりリセットがかかった場合の動作について説明する。リセットパルスがノイズの場合、図２（ａ）のステップＳ２０３からステップ２０９ｂの動作を行う。
【００８４】
初期化制御部１０７に入力されたリセットパルスがノイズの場合は、サポート転送モードコマンドが発行されない。従って、ホストＰＣ１１３からサポート転送モードを要求されるコマンドが発行されていない場合（ステップＳ２０８でＮｏ）は、リセット判断部１０５により、リセットパルスがノイズによるものであると判断し、リセット判断部１０５は、データ転送方式記憶部１０３に、リセットを受ける前に動作した転送モードを設定し（ステップＳ２１０）、かつ、データ転送方式記憶部１０３に記憶してある転送モードをデータ転送方式設定部１０２に格納する。また、リセット判断部１０５は、データ転送方式記憶部１０３に記憶しているデータを無効化し（ステップＳ２０９ｂ）、データ転送方式記憶部１０３に無効化データを設定する。ここで、電源ＯＮ時にできるだけ早くドライブを起動させるため、データ転送方式記憶部１０３に無効化データを設定する。
【００８５】
このようにして、リセットパルスがノイズによるものである場合、データ転送方式設定部１０２に設定された転送モード、すなわち、データ転送方式記憶部１０３に記憶されていた転送モードでデータ通信が制御される。
【００８６】
なお、リセット判断部１０５はデータ転送方式記憶部１０３の領域が無くなり、データが格納できなくなった場合、データ転送方式記憶部１０３の領域を消去し、領域を確保する。
【００８７】
ここで、静電気等でリセット端子がノイズを拾い初期化制御部１０７がリセット要求を誤判断した場合、ＣＰＵ１０６は初期化起動処理を行うが、リセット判断部１０５により、データ転送方式はホストＰＣ１１３と同期しているため、ハングアップしない。
【００８８】
例えば、図２（ｃ）に示すように、静電気等の外的要因があるとき（ステップＳ２３４）、リセットシークエンスを開始し、ＣＰＵ１０６により初期起動を行う（ステップＳ２２９）。データ転送方式記憶部１０３に、リセットを受ける前の転送モードが記憶されている場合（ステップＳ２３０でＹｅｓ）、リセット判断部１０５は、データ転送方式記憶部１０３に記憶されている転送モードをデータ転送方式設定部１０２に転送モードとして設定し（ステップＳ２３１）、データ転送方式記憶部１０３に記憶されている転送モードを消去し（ステップＳ２３２）、システム動作処理を行う（ステップＳ２３３）。ステップＳ２３０でデータ転送方式記憶部１０３に、リセットを受ける前の転送モードが記憶されていれば、リセット判断部１０５は、データ転送方式記憶部１０３に記憶されている転送モードを設定する（ステップＳ２３１）ことで、ホストＰＣ１１３と同じ転送モードになるため、データ転送方式はホストＰＣ１１３と同期する。データ転送方式記憶部１０３に転送モードが記憶されていない場合（ステップＳ２３０でＮｏ）、続いてシステム動作処理を行う（ステップＳ２３３）。なお、データ転送方式記憶部１０３に転送モードが記憶されていない場合（ステップＳ２３０でＮｏ）、転送モードは、システム動作処理（ステップＳ２３３）においてホストＰＣ１１３により決定される。
【００８９】
このように本実施の形態によれば、データ転送方式をデータ転送方式記憶部１０３に記憶し、リセット判断部１０５により、リセット起動時にリセットパルスによるリセットであることを判別し、リセットパルス起因のリセットであれば記憶したデータ転送方式を用いて起動しデータ通信を行うようにしたので、静電気等の外乱により、リセットがかかったとしても、ホストＰＣは大きい負荷がなく、安定したデータ転送や省電力化を実行することができるという効果がある。
【００９０】
（実施の形態２）
図３は、本発明の実施の形態２に係る光ディスク制御装置の構成を示すブロック図である。本実施の形態２に係る光ディスク制御装置は、請求項２に記載の発明に相当するものである。実施の形態２では、実施の形態１の光ディスク制御装置に、データ転送決定前に数ｍ秒の遅延を発生させる転送方式決定時間遅延部３０７が追加されている。なお、図３の３０１〜３０６、３０８〜３１４は、図１の１０１〜１１３と同じであるため、その説明を省略する。
【００９１】
上記実施の形態１の光ディスク制御装置では、リセットパルスが複数回発生すると、２回目以降の初期化で、光ディスク制御装置の転送モードとしてデフォルト値を設定することで、ホストＰＣと光ディスク制御装置間のデータ転送方式が一致せず、データ転送の制御に不整合が発生して、データ通信がハングアップする場合がある。すなわち、例えば２回パルスが発行された場合において、１回目のパルスで図２（ａ）のステップＳ２０９ａでホストＰＣのコマンドで指定された新しい転送モードをデータ転送方式記憶部３０３に記憶する前に、２回目のパルスを受信すると、再びステップＳ２０３のＣＰＵへリセット信号を発行する動作から処理が始まり、１回目のパルスのときの指定された転送モードをデータ転送方式記憶部３０３に記憶できていないため、ホストＰＣと光ディスク制御装置間で、転送方式が一致しなくなる場合がある。
【００９２】
本実施の形態２では、リセットパルス間隔は数マイクロ秒であることから、転送モード決定前にリセットパルス間隔よりも大きい時間間隔、例えば数ｍ秒のウェイトをいれるようにする。これにより、１回目のパルス処理を行う前に２回目のパルスがくるため、１回目のパルスのときに指定された転送モードをデータ転送方式記憶部に記憶する処理の途中で、次のパルスが発行されることがなくなり、２回目以降の初期化でも、光ディスク制御装置のデータ転送方式記憶部に記憶した転送モードを設定することができ、ホストＰＣと光ディスク制御装置間で、転送方式が一致するようにすることができる。
【００９３】
以下、本発明の実施の形態２に係る光ディスク制御装置の動作を詳細に説明する。
【００９４】
図４（ａ）〜（ｃ）は、本発明の実施の形態２に係る光ディスク制御装置の動作を示すフローチャートである。
【００９５】
まず、ホストＰＣの電源投入後の動作について説明する。
【００９６】
図４（ａ）において、ホストＰＣ３１４の電源投入後（ステップＳ４０１）、ホストＰＣ３１４は、リセット端子３１３から光ディスク制御装置の初期化制御部３０８へリセットパルスを発行する（ステップＳ４０２）。
【００９７】
初期化制御部３０８は、リセットパルスを受信後、ＣＰＵ３０６にリセット信号を発行する（ステップＳ４０３）。
【００９８】
リセット要求後、ＣＰＵ３０６は、制御プログラム格納部３０１に格納された光ディスク制御用のプログラムを実行する（ステップＳ４０４）。
【００９９】
転送モード決定前に転送方式決定時間遅延部３０７は数ｍ秒のウェイトを入れる。これによりデータ転送方式を決定するまでの間に遅延が発生する（ステップＳ４０５）。
【０１００】
リセット判断部３０５は初期起動時、各初期化処理を行い（ステップＳ４０６）、データ転送方式記憶部３０３にデータがないか又は無効データが設定されているかを確認する（ステップＳ４０７）。
【０１０１】
ここで、電源ＯＮ時は、データ転送方式記憶部３０３にデータがないか無効データが設定されているため（ステップＳ４０７でＹｅｓ）、データ転送方式設定部３０２にデータ転送方式のデフォルト値であるＰＩＯモードを格納する（ステップＳ４０８ａ）。これにより、電源ＯＮ後の最初の転送モードは、ＰＩＯモードに決定される。
【０１０２】
データ転送方式記憶部３０３に有効な転送モードが設定されている場合（ステップＳ４０７でＮｏ）は、いったんデフォルト値のＰＩＯを格納する（ステップＳ４０８ｂ）。そして、次のホストＰＣ３１４のコマンドを確認する。ホストＰＣ３１４からサポート転送モードを要求されるコマンドが発行されたら（ステップＳ４０９でＹｅｓ）、リセット判断部３０５により、それは電源投入であり、リセットパルスがホストＰＣからの要求であると判断し、デフォルト値の設定のまま、データ転送方式記憶部３０３のデータを無効化する（ステップＳ４１０ａ）。このとき、ステップＳ４１０ａで、データ転送方式記憶部３０３内の過去の転送モードを消去し、コマンドで指定された転送モードを記憶する。これにより、転送モードは、ホストＰＣ３１４のコマンドで指定された転送モードに決定される。
【０１０３】
次に、データ転送方式が、ステップＳ４０８ａでＰＩＯデータに決定、またはステップＳ４１０ａでホストＰＣ３１４からのコマンドで指定された転送モードに決定したら、通信制御部３０９に、ホストＰＣ３１４からのコマンドを実行可能状態にする設定を行う（ステップＳ４１１ａ）。通信制御部３０９を、ホストＰＣ３１４からのコマンドの実行可能状態に設定した後（ステップＳ４１１ａ）、ＣＰＵ３０６は割り込み処理部３１０を制御し、ホストＰＣ３１４に割り込み信号を発行する（ステップＳ４１２）。
【０１０４】
ホストＰＣ３１４は割り込みにより光ディスク制御装置がコマンド受信可能であると判断し、光ディスク制御装置がサポートする最大のデータ転送方式を要求する。図４（ｂ）に示すように、ホストＰＣ３１４は通信制御部３０９に、光ディスク制御装置のサポート転送モードの要求コマンドを設定する（ステップＳ４１３）。通信制御部３０９にコマンドが設定されたら、ホストＰＣ３１４は割り込み処理部３１０を制御し、ＣＰＵ３０６に割り込み信号を発行する（ステップＳ４１４）。ＣＰＵ３０６は制御プログラム格納部３０１から転送モードデータを読み出し（ステップＳ４１５）、データ一時記憶部３１２に転送モードデータを格納する（ステップＳ４１６）。
【０１０５】
また、割り込み信号を受信したＣＰＵ３０６は通信制御部３０９に設定されたコマンドをコマンド解析部３０４で解析し（ステップＳ４１７）、サポート転送モードを送信するコマンドであると判断する。ＣＰＵ３０６は制御プログラム格納部３０１からサポート転送モードデータを読み出し（ステップＳ４１８）、データ一時記憶部３１２に格納する（ステップＳ４１９）。
【０１０６】
ＣＰＵ３０６はデータ転送方式設定部３０２を制御して、データ一時記憶部３１２のサポート転送モードデータをホストＰＣ３１４に送信する（ステップＳ４２０）。データ送信終了後、データ転送制御部３１１は割り込み処理部３１０を制御し、ＣＰＵ３０６にデータ転送終了を知らせる割り込み信号を発行する（ステップＳ４２１）。ＣＰＵ３０６は割り込み受信後、通信制御部３０９に、ホストＰＣ３１４からのコマンドを実行可能状態にする設定を行う（ステップＳ４２２）。
【０１０７】
通信制御部３０９を、ホストＰＣ３１４からのコマンドの実行可能状態に設定した後（ステップＳ４２２）、ＣＰＵ３０６は割り込み処理部３１０を制御し、ホストＰＣ３１４に割り込みを発行する（ステップＳ４２３）。
【０１０８】
ホストＰＣ３１４はサポート転送モードデータから、光ディスク制御装置の最大の転送レートが期待できるデータ転送方式を要求する（ステップＳ４２４）。
【０１０９】
ホストＰＣ３１４は通信制御部３０９に、転送モード設定コマンドを発行する（ステップＳ４２５）。通信制御部３０９にコマンドが設定されたら、ホストＰＣ３１４は割り込み処理部３１０を制御し、ＣＰＵ３０６に割り込み信号を発行する（ステップＳ４２６）。割り込み信号を受信したＣＰＵ３０６は通信制御部３０９に設定されたコマンドをコマンド解析部３０４で解析し（ステップＳ４２７）、転送モードを設定するコマンドであると判断する。ＣＰＵ３０６はデータ転送方式設定部３０２に要求された転送モードを設定する（ステップＳ４２８）。このようにして、電源投入後に、通常動作による転送モードの設定が行われる。
【０１１０】
リセット判断部３０５は前述の転送モード設定コマンドが発行された場合、データ転送方式設定部３０２に設定された転送モードを、データ転送方式記憶部３０３に格納する。
【０１１１】
以後、設定された転送モードでデータ通信が制御される。
【０１１２】
次に、ノイズによりリセットがかかった場合の動作について説明する。リセットパルスがノイズの場合、図４（ａ）のステップＳ４０３からＳ４１０ｂの動作を行う。
【０１１３】
初期化制御部３０８に入力されたリセットパルスがノイズの場合は、サポート転送モードコマンドは発行されない。従って、ホストＰＣ３１４からサポート転送モードを要求されるコマンドが発行されていない場合（ステップＳ４０９でＮｏ）は、リセット判断部３０５により、リセットパルスがノイズによるものであると判断し、リセット判断部３０５は、データ転送方式記憶部３０３に、リセットを受ける前に動作した転送モードを設定し（ステップＳ４１１ｂ）、かつ、データ転送方式記憶部３０３に記憶しているデータをデータ転送方式設定部３０２に格納する。また、リセット判断部３０５は、データ転送方式記憶部３０３に記憶しているデータを無効化し（ステップＳ４１０ｂ）、データ転送方式記憶部３０３に無効化データを格納する。ここで、電源ＯＮ時にできるだけ早くドライブを起動させるため、データ転送方式記憶部３０３に無効化データを設定する。
【０１１４】
このようにして、リセットパルスがノイズによるものである場合、データ転送方式設定部３０２に設定された転送モード、すなわち、データ転送方式記憶部３０３に記憶されていた転送モードでデータ通信が制御される。
【０１１５】
なお、リセット判断部３０５はデータ転送方式記憶部３０３の領域が無くなり、データが格納できなくなった場合、データ転送方式記憶部３０３の領域を消去し、領域を確保する。
【０１１６】
ここで、静電気等でリセット端子がノイズを拾い初期化制御部３０８がリセット要求を誤判断した場合、ＣＰＵ３０６は初期化起動処理を行うが、リセット判断部３０５により、データ転送方式はホストＰＣ３１４と同期しているため、ハングアップしない。また、数発のリセットノイズによる複数回初期化実行処理でも、ノイズ間隔よりも長いウェイト時間のために正しい転送モードでの起動が行われる。
【０１１７】
例えば、図４（ｃ）に示すように、静電気等の外的要因があるとき（ステップＳ４３４）、リセットシークエンスを開始し、ＣＰＵ１０６により初期起動を行う（ステップＳ４２９）。ここで、静電気等の外的要因がある場合、初期起動（ステップＳ４２９）のときに、転送方式決定時間遅延部３０７によりウェイトを入れる遅延発生動作を行っている。
【０１１８】
データ転送方式記憶部３０３に、リセットを受ける前の転送モードが記憶されている場合（ステップＳ４３０でＹｅｓ）、リセット判断部３０５はデータ転送方式記憶部３０３に記憶されている転送モードをデータ転送方式設定部３０２に転送モードとして設定し（ステップＳ４３１）、データ転送方式記憶部３０３に記憶されている転送モードを消去し（ステップＳ４３２）、システム動作処理を行う（ステップＳ４３３）。ステップＳ４３０でデータ転送方式記憶部３０３に、リセットを受ける前の転送モードが記憶されていれば、リセット判断部３０５は、データ転送方式記憶部３０３に記憶されている転送モードを設定する（ステップＳ４３１）ことで、ホストＰＣ３１４と同じ転送モードになるため、データ転送方式はホストＰＣ３１４と同期する。データ転送方式記憶部３０３に転送モードが記憶されていない場合（ステップＳ４３０でＮｏ）、続いてシステム動作処理を行う（ステップＳ４３３）。なお、データ転送方式記憶部３０３に転送モードが記憶されていない場合（ステップＳ４３０でＮｏ）、転送モードは、システム動作処理（ステップＳ４３３）においてホストＰＣ３１４により決定される。
【０１１９】
このように本実施の形態によれば、データ転送決定前にパルス発生間隔より大きい時間遅延を発生させる転送方式決定時間遅延部３０７を備えるようにしたので、リセットパルスが複数発生した場合でも更に安定したデータ通信を行うことができるという効果がある。
【０１２０】
（実施の形態３）
図５は、本発明の実施の形態３に係る光ディスク制御装置の構成を示すブロック図である。本実施の形態３に係る光ディスク制御装置は、請求項３に記載の発明に対応するものである。実施の形態３では、実施の形態１の光ディスク制御装置に、データ転送消去を１分後に実行させるため、リセット判断・転送方式消去実行部５０５に転送方式消去の要求信号を１分後に発行する転送方式消去遅延部５０７が追加されている。また、リセット判断・転送方式消去実行部５０５は、図１のリセット判断部１０５がリセット判断に加えてさらに、転送方式の消去を行うものである。なお、図５の５０１〜５１４は、図１の１０１〜１０４、１０６〜１１３と同じであるため、その説明を省略する。
【０１２１】
実施の形態２の光ディスク制御装置では、長い間隔のリセットパルスが複数回発生すると、２回目以降の初期化で、光ディスク制御装置の転送モードとしてデフォルト値を設定することで、ホストＰＣと光ディスク制御装置間のデータ転送方式が一致せず、データ転送の制御に不整合が発生し、データ通信がハングアップする場合がある。すなわち、例えばデータ転送方式記憶部から転送モードを復帰し、新しい転送モードを消去した直後に、リセットパルスが発生した場合、新しい転送モードはデータ転送方式記憶部に記憶しておらず、復帰すべき転送モードが設定されないため、ホストＰＣがハングアップする。
【０１２２】
本実施の形態３では、長い間隔のリセットパルスが複数回発生する場合、転送モード設定後、リセットパルスが発生する可能性があるため、ウェイト時間を入れることで、データ転送方式記憶部の転送モードの消去処理を待つようにする。上記処理実行を待っている間に次のリセットパルスが発生するので、転送モードを消去した直後にリセットパルスが発生するような状況が生じなくなる。
【０１２３】
具体的には、通常はトレイオープン時の静電気がノイズとなってリセットを行う外乱となるが、トレイオープンクローズ間隔は数十秒であるため、トレイオープンからクローズされる間の時間以上のウェイト時間（例えば１分程度）のウェイトをいれることで、２回目以降の初期化でも、光ディスク制御装置のデータ転送方式記憶部に記憶した転送モードを設定することができ、データ通信ハングアップの危険性を回避する  ようにすることができる。
【０１２４】
以下、本発明の実施の形態３に係る光ディスク制御装置の動作を詳細に説明する。
【０１２５】
図６（ａ）〜（ｃ）は、本発明の実施の形態３に係る光ディスク制御装置の動作を示すフローチャートである。
【０１２６】
まず、ホストＰＣの電源投入後の動作について説明する。
【０１２７】
図６（ａ）において、ホストＰＣ５１４の電源投入後（ステップＳ６０１）、ホストＰＣ５１４はリセット端子５１３から光ディスク制御装置の初期化制御部５０８へリセットパルスを発行する（ステップＳ６０２）。
【０１２８】
初期化制御部５０８は、リセットパルスを受信後、ＣＰＵ５０６にリセット信号を発行する（ステップＳ６０３）。
【０１２９】
リセット要求後、ＣＰＵ５０６は制御プログラム格納部５０１に格納された光ディスク制御用のプログラムを実行する（ステップＳ６０４）。
【０１３０】
リセット判断・転送方式消去実行部５０５は、初期起動時、各初期化処理を行い（ステップＳ６０５）、データ転送方式記憶部５０３にデータがないかまたは無効データが設定されているかを確認する（ステップＳ６０６）。
【０１３１】
ここで、電源ＯＮ時は、データ転送方式記憶部５０３にデータがないかまたは無効データが設定されているため（ステップＳ６０６でＹｅｓ）、データ転送方式設定部５０２にデータ転送方式のデフォルト値であるＰＩＯモードを格納する（ステップＳ６０７ａ）。これにより、電源ＯＮ後の最初の転送モードは、ＰＩＯモードに決定される。
【０１３２】
データ転送方式記憶部５０３に有効な転送モードが設定されている場合（ステップＳ６０６でＮｏ）は、リセット判断・転送方式消去実行部５０５はデータ転送方式設定部５０２にいったんデフォルト値のＰＩＯを格納する（ステップＳ６０７ｂ）。そして、次のホストＰＣ５１４のコマンドを確認する（ステップＳ６０８）。ホストＰＣ５１４からサポート転送モードを要求されるコマンドが発行されたら（ステップＳ６０８でＹｅｓ）、リセット判断・転送方式消去実行部５０５により、それは電源投入であり、リセットパルスがホストＰＣ５１４からの要求であると判断し、デフォルト値の設定のまま、データ転送方式記憶部５０３のデータを無効化する（ステップＳ６０９ａ）。このとき、ステップＳ６０９ａで、データ転送方式記憶部５０３内の過去の転送モードを消去し、コマンドで指定された転送モードを記憶する。これにより、転送モードは、ホストＰＣ５１４のコマンドで指定された転送モードに決定される。
【０１３３】
次に、データ転送方式が、ステップＳ６０７ａでＰＩＯモードに決定、またはステップＳ６０９ａでホストＰＣ５１４からのコマンドで指定された転送モードに決定したら、通信制御部５０９に、ホストＰＣ５１４からのコマンドを実行可能状態にする設定を行う（ステップＳ６１１）。通信制御部５０９を、ホストＰＣ５１４からのコマンドの実行可能状態に設定した後、ＣＰＵ５０６は割り込み処理部５１０を制御し、ホストＰＣ５１４に割り込み信号を発行する（ステップＳ６１２）。
【０１３４】
ホストＰＣ５１４は、割り込みにより光ディスク制御装置がコマンド受信可能であると判断し、光ディスク制御装置がサポートする最大のデータ転送方式を要求する。図６（ｂ）に示すように、ホストＰＣ５１４は通信制御部５０９に、光ディスク制御装置のサポート転送モードの要求コマンドを設定する（ステップＳ６１３）。通信制御部５０９にコマンドが設定されたら、ホストＰＣ５１４は割り込み処理部５１０を制御し、ＣＰＵ５０６に割り込み信号を発行する（ステップＳ６１４）。割り込みを受信したＣＰＵ５０６は通信制御部５０９に設定されたコマンドをコマンド解析部５０４で解析し、サポート転送モードを送信するコマンドであると判断する。ＣＰＵ５０６は制御プログラム格納部５０１から転送モードデータを読み出し（ステップＳ６１５）、データ一時記憶部５１２に転送モードデータを格納する（ステップＳ６１６）。
【０１３５】
また、割り込み信号を受信したＣＰＵ５０６は、コマンド解析部５０４にてコマンドを解析する（ステップＳ６１７）。制御プログラム格納部５０１からサポート転送モードデータを読み出す（ステップＳ６１８）。データ一時記憶部５１２にサポート転送モードデータを格納する（ステップＳ６１９）。
【０１３６】
ＣＰＵ５０６は、データ転送方式設定部５０２を制御して、データ一時記憶部５１２のサポート転送モードデータをホストＰＣ５１４に送信する（ステップＳ６２０）。データ送信終了後、データ転送制御部５１１は割り込み処理部５１０を制御し、ＣＰＵ５０６にデータ転送終了を知らせる割り込み信号を発行する（ステップＳ６２１）。ＣＰＵ５０６は割り込み受信後、通信制御部５０９に、ホストＰＣ５１４からのコマンドを実行可能状態にする設定を行う（ステップＳ６２２）。
【０１３７】
通信制御部５０９を、ホストＰＣ５１４からのコマンドの実行可能状態に設定した後（ステップＳ６２２）、ＣＰＵ５０６は割り込み処理部５１０を制御し、ホストＰＣ５１４に割り込み信号を発行する（ステップＳ６２３）。
【０１３８】
ホストＰＣ５１４はサポート転送モードデータから、光ディスク制御装置の最大の転送レートが期待できるデータ転送方式を要求する（ステップＳ６２４）。
【０１３９】
ホストＰＣ５１４は通信制御部５０９に、転送モード設定コマンドを発行する（ステップＳ６２５）。通信制御部５０９にコマンドが設定されたら、ホストＰＣ５１４は割り込み処理部５１０を制御し、ＣＰＵ５０６に割り込み信号を発行する（ステップＳ６２６）。割り込みを受信したＣＰＵ５０６は通信制御部５０９に設定されたコマンドをコマンド解析部５０４で解析し（ステップＳ６２７）、転送モードを設定するコマンドであると判断する。ＣＰＵ５０６はデータ転送方式設定部５０２に要求された転送モードを設定する（ステップＳ６２８）。このようにして、電源投入後に、通常動作による転送モードの設定が行われる。
【０１４０】
リセット判断・転送方式消去実行部５０５は前述の転送モード設定コマンドが発行された場合、データ転送方式設定部５０２に設定された転送モードを、データ転送方式記憶部５０３に格納する。
【０１４１】
転送モード決定後、転送方式消去遅延部５０７は、１分間カウントして転送方式消去遅延処理を行い（ステップＳ６３３ａ）、データ転送方式記憶部５０３の転送モードを消去するため、リセット判断・転送方式消去実行部５０５に転送方式消去の要求信号を発行する（ステップＳ６３３ｂ）。
【０１４２】
リセット判断・転送方式消去実行部５０５はデータ転送方式記憶部５０３のデータを無効化するため、データ転送方式記憶部５０３に無効化データを格納する。
【０１４３】
リセット判断・転送方式消去実行部５０５はデータ転送方式記憶部５０３の領域が無くなり、データが格納できなくなった場合、データ転送方式記憶部５０３の領域を消去し、領域を確保する。
【０１４４】
以後、設定された転送モードでデータ通信が制御される。
【０１４５】
次に、ノイズによりリセットがかかった場合の動作について説明する。リセットパルスがノイズの場合、図６（ａ）のＳ６０３からＳ６０９ｂの動作を行う。
【０１４６】
初期化制御部５０８に入力されたリセットパルスがノイズの場合は、サポート転送モードコマンドが発行されない。従って、ホストＰＣ５１４からサポート転送モードを要求されるコマンドが発行されていない場合（ステップＳ６０８でＮｏ）は、リセット判断・転送方式消去実行部５０５により、リセットパルスがノイズによるものであると判断し、リセット判断・転送方式消去実行部５０５は、データ転送方式記憶部５０３に、リセットを受ける前に動作したデータを設定し（ステップＳ６１０）、かつ、データ転送方式記憶部５０３に記憶しているデータをデータ転送方式設定部５０２に格納する。また、リセット判断・転送方式消去実行部５０５は、データ転送方式記憶部５０３に記憶しているデータを無効化し（ステップＳ６０９ｂ）、データ転送方式記憶部５０３に無効化データを設定する。ここで、電源ＯＮ時にできるだけ早くドライブを起動させるため、データ転送方式記憶部５０３に無効化データを設定する。このようにして、ノイズによる初期化の時に、ノイズによるリセット時の転送モードを設定する。
【０１４７】
このようにして、リセットパルスがノイズによるものである場合、データ転送方式設定部５０２に設定された転送モード、すなわち、データ転送方式記憶部５０３に記憶されていた転送モードでデータ通信が制御される。
【０１４８】
ここで、静電気等でリセット端子がノイズを拾い初期化制御部５０８がリセット要求を誤判断した場合、ＣＰＵ５０６は初期化起動処理を行うが、リセット判断・転送方式消去実行部５０５により、データ転送方式はホストＰＣ５１３と同期しているため、ハングアップしない。また、長い間隔のリセットノイズによる複数回初期化実行処理でも、正しい転送モードでの起動が行われる。
【０１４９】
例えば、図６（ｃ）に示すように、静電気等の外的要因があるとき（ステップＳ６２９）、リセットシーケンスを開始し、初期起動を行う（ステップＳ６３０）。データ転送方式記憶部５０３に、リセットを受ける前の転送モードが記憶されている場合（ステップＳ６０６でＹｅｓ）、リセット判断・転送方式消去実行部５０５は、データ転送方式記憶部５０３に記憶されている転送モードをデータ転送方式設定部５０２に転送モードとして設定し（ステップＳ６３２）、転送方式消去遅延部５０７は、１分間カウントして転送方式消去遅延処理を行い（ステップＳ６３３ｂ）、リセット判断・転送方式消去実行部５０５に転送方式消去の要求信号を発行し（ステップＳ６３４ｂ）、データ転送方式記憶部５０３に記憶されている転送モードを消去し（ステップＳ６３５）、システム動作処理を行う（ステップＳ６３６）。ステップＳ６３１でデータ転送方式記憶部５０３に、リセットを受ける前の転送モードが記憶されていれば、リセット判断・転送方式消去実行部５０５は、データ転送方式記憶部５０３に記憶されている転送モードを設定する（ステップＳ６３２）ことで、ホストＰＣ５１４と同じ転送モードになるため、データ転送方式はホストＰＣ５１４と同期する。また、データ転送方式記憶部５０３に転送モードが記憶されていない場合（ステップＳ６０６でＮｏ）、続けてシステム動作処理を行う（ステップＳ６３６）。なお、データ転送方式記憶部５０３に転送モードが記憶されていない場合（ステップＳ６３１でＮｏ）、転送モードは、システム動作処理（ステップＳ６３６）においてホストＰＣ５１４により決定される。
【０１５０】
このように本実施の形態によれば、リセット判断・転送方式消去部５０５は、リセット判断に加えて、さらに転送方式の消去を行い、転送方式消去の要求信号を、前記リセット判断・転送方式消去部５０５にトレイが閉じられた後に出力する転送方式消去遅延部５０７をさらに備えるようにしたので、リセットパルスが複数発生した場合でも光ディスク制御装置のデータ転送方式記憶部に記憶した転送モードを設定することができ、更に安定したデータ通信を行うことができるという効果がある。
【０１５１】
（実施の形態４）
図７は、本発明の実施の形態４に係る光ディスク制御装置の構成を示すブロック図である。本実施の形態４に係る光ディスク制御装置は、請求項４に記載の発明に相当するものである。実施の形態４では、実施の形態１の光ディスク制御装置に、フラッシュイレース前に、他のセクタの空き領域を探索し、データ転送方式記憶部７０３が使用するフラッシュ領域を変更するフラッシュ領域探索部７０７が追加されている。フラッシュ記憶領域探索部７０７は、今まで使用したセクタ番号を記憶し、空きセクタがない場合、記憶しているセクタ番号を消去して、領域を確保する。なお、図７の７０１〜７０６、７０８〜７１４は、図１の１０１〜１１３と同じであるため、その説明を省略する。
【０１５２】
上記実施の形態１の光ディスク制御装置では、データ転送方式記憶部の記憶領域が固定であり、同じ領域への書き換えが発生すると、転送方式が正しく記憶できなくなる場合がある。
【０１５３】
本実施の形態４では、通常、転送方式等のデータの記憶はフラッシュロムのような読み書きが可能な記憶部に行い、書き換えはセクタと呼ばれる数キロバイト単位で行われ、このような記憶部の書き換え回数は１万回程度であること、また、データ転送方式記憶部の取り扱う領域は６４バイト程度で、通常の光ディスク制御装置の使用するフラッシュロムにはどのセクタにもこの程度の空きは存在することから、転送方式記憶部が使用する領域を変更して、フラッシュロムの寿命を延ばし、転送方式が正しく記憶できるようにすることができる。
【０１５４】
以下、本発明の実施の形態４に係る光ディスク制御装置の動作を詳細に説明する。
【０１５５】
図８（ａ）〜（ｃ）は、本発明の実施の形態４に係る光ディスク制御装置の動作を示すフローチャートである。
【０１５６】
まず、ホストＰＣの電源投入後の動作について説明する。
【０１５７】
図８（ａ）において、ホストＰＣ７１４の電源投入後（ステップＳ８０１）、ホストＰＣ７１４はリセット端子７１３から光ディスク制御装置の初期化制御部７０８へリセットパルスを発行する（ステップＳ８０２）。
【０１５８】
初期化制御部７０８はリセットパルスを受信後、ＣＰＵ７０６にリセット信号を発行する（ステップＳ８０３）。
【０１５９】
リセット要求後、ＣＰＵ７０６は制御プログラム格納部７０１に格納された光ディスク制御用のプログラムを実行する（ステップＳ８０４）。
【０１６０】
リセット判断部７０５は初期起動時、各初期化処理を行いステップＳ８０５）、データ転送方式記憶部７０３にデータがないかまたは無効データが設定されているかを確認する（ステップＳ８０６）。
【０１６１】
ここで、電源ＯＮ時は、データ転送方式記憶部７０３にデータがないかまたは無効データが設定されているため（ステップＳ８０６でＹｅｓ）、データ転送方式設定部７０２にデータ転送方式のデフォルト値であるＰＩＯモードを格納する（ステップＳ８０７ａ）。これにより、電源ＯＮ後の最初の転送モードは、ＰＩＯモードに決定される。
【０１６２】
データ転送方式記憶部７０３に有効な転送モードが設定されている場合は（ステップＳ８０６でＮｏ）、いったんデフォルト値のＰＩＯを格納する（ステップＳ８０７ｂ）。そして、次のホストＰＣ７１４のコマンドを確認する。ホストＰＣ７１４からサポート転送モードを要求されるコマンドが発行されたら（ステップＳ８０８でＹｅｓ）、リセット判断部７０５により、それは電源投入であり、リセットパルスがホストＰＣ７１４からの要求であると判断し、デフォルト値の設定のまま、データ転送方式記憶部７０３のデータを無効化する（ステップＳ８０９ａ）。このとき、ステップＳ８０９ａでデータ転送方式記憶部７０３内の過去の転送モードを消去し、コマンドで指定された転送モードを記憶する。これにより、転送モードは、ホストＰＣ７１４からのコマンドで指定された転送モードに決定される。
【０１６３】
リセット判断部７０５はデータ転送方式記憶部７０３の領域が無くなり、データが格納できなくなった場合（ステップＳ８１１ａでＹｅｓ）、フラッシュ領域探索部７０７に領域確保要求信号を発行する（ステップＳ８１２ａ）。フラッシュ領域探索部７０７は、他のセクタの空き領域を探し、データ転送方式が使用できる領域の空きのあるセクタがあれば、データ転送方式記憶部７０３の使用領域を変更し、領域を確保する。また、フラッシュ領域探索部７０７は、使用しているセクタ番号を記憶する（ステップＳ８１３ａ）。空きがなければ今まで使用していたセクタを消去し、領域を確保する。
【０１６４】
次に、データ転送方式がステップＳ８０７ａでＰＩＯモードに決定、またはステップＳ８０９ａでホストＰＣ７１４からのコマンドで指定された転送モードに決定したら、図８（ｂ）に示すように、通信制御部７０９に、ホストＰＣ７１４からのコマンドを実行可能状態にする設定を行う（ステップＳ８１４）。通信制御部７０９を、ホストＰＣ７１４からのコマンドの実行可能状態に設定した後、ＣＰＵ７０６は割り込み処理部７１０を制御し、ホストＰＣ７１４に割り込み信号を発行する（ステップＳ８１５）。
【０１６５】
ホストＰＣ７１４は割り込みにより光ディスク制御装置がコマンド受信可能であると判断し、光ディスク制御装置がサポートする最大のデータ転送方式を要求する。ホストＰＣ７１４は通信制御部７０９に、光ディスク制御装置のサポート転送モードの要求コマンドを設定する（ステップＳ８１６）。通信制御部７０９にコマンドが設定されたら、ホストＰＣ７１４は割り込み処理部７１０を制御し、ＣＰＵ７０６に割り込み信号を発行する（ステップＳ８１７）。ＣＰＵ７０６は制御プログラム格納部７０１から転送モードデータを読み出し（ステップＳ８１８）、データ一時記憶部７１２に転送モードデータを格納する（ステップＳ８１９）。
【０１６６】
割り込みを受信したＣＰＵ７０６は通信制御部７０９に設定されたコマンドをコマンド解析部７０４で解析し（ステップＳ８２０）、サポート転送モードを送信するコマンドであると判断する。ＣＰＵ７０６は制御プログラム格納部７０１からサポート転送モードデータを読み出し（ステップＳ８２１）、データ一時記憶部７１２にサポート転送モードデータを格納する（ステップＳ８２２）。
【０１６７】
ＣＰＵ７０６はデータ転送方式設定部７０２を制御して、データ一時記憶部７１２のサポート転送モードデータをホストＰＣ７１４に送信する（ステップＳ８２３）。データ送信終了後、データ転送制御部７１１は割り込み処理部７１０を制御し、ＣＰＵ７０６にデータ転送終了を知らせる割り込み信号を発行する（ステップＳ８２４）。ＣＰＵ７０６は割り込み受信後、通信制御部７０９に、ホストＰＣ７１４からのコマンドを実行可能状態にする設定を行う（ステップＳ８２５）。
【０１６８】
通信制御部７０９を、ホストＰＣ７１４からのコマンドの実行可能状態に設定した後（ステップＳ８２５）、ＣＰＵ７０６は割り込み処理部を制御し、ホストＰＣ７１４に割り込み信号を発行する（ステップＳ８２６）。
【０１６９】
ホストＰＣ７１４はサポート転送モードデータから、光ディスク制御装置の最大の転送レートが期待できるデータ転送方式を要求する（ステップＳ８２７）。
【０１７０】
ホストＰＣ７１４は通信制御部７０９に、転送モード設定コマンドを発行する（ステップＳ８２８）。通信制御部７０９にコマンドが設定されたら、ホストＰＣ７１４は割り込み処理部７１０を制御し、ＣＰＵ７０６に割り込み信号を発行する（ステップＳ８２９）。割り込み信号を受信したＣＰＵ７０６は通信制御部７０９に設定されたコマンドをコマンド解析部７０４で解析し（ステップＳ８３０）、転送モードを設定するコマンドであると判断する。ＣＰＵ７０６はデータ転送方式設定部７０２に要求された転送モードを設定する（ステップＳ８３１）。このようにして、電源投入後に、通常動作による転送モードの設定が行われる。
【０１７１】
リセット判断部７０５は、前述の転送モード設定コマンドが発行された場合、データ転送方式設定部７０２に設定された転送モードを、データ転送方式記憶部７０３に格納する。
【０１７２】
以後、設定された転送モードでデータ通信が制御される。
【０１７３】
次に、ノイズによりリセットがかかった場合の動作について説明する。リセットパルスがノイズの場合、図８（ｂ）のステップＳ８０３からステップＳ８１３ｂの動作を行う。
【０１７４】
初期化制御部７０８に入力されたリセットパルスがノイズの場合は、サポート転送モードコマンドは発行されない。従って、ホストＰＣ７１４からサポート転送モードを要求されるコマンドが発行されていない場合（ステップＳ８０８でＮｏ）は、リセット判断部７０５により、リセットパルスがノイズによるものであると判断し、リセット判断部７０５は、データ転送方式記憶部７０３に、リセットを受ける前に動作した転送モードを設定し（ステップＳ８１０）、かつ、データ転送方式記憶部７０３に記憶してある転送モードをデータ転送方式設定部７０２に格納する。また、リセット判断部７０５は、データ転送方式記憶部７０３に記憶しているデータを無効化し（ステップＳ８０９ｂ）、データ転送方式記憶部７０３に無効化データを設定する。ここで、電源ＯＮ時にできるだけ早くドライブを起動させるため、データ転送方式記憶部７０３に無効化データを設定する。
【０１７５】
リセット判断部７０５はデータ転送方式記憶部７０３の領域が無くなり、データが格納できなくなった場合（ステップＳ８１１ｂでＹｅｓ）、フラッシュ領域探索部７０７に領域確保要求信号を発行する（ステップＳ８１２ｂ）。フラッシュ領域探索部７０７は、他のセクタの空き領域を探し、データ転送方式が使用できる領域の空きのあるセクタがあれば、データ転送方式記憶部７０３の使用領域を変更し、領域を確保する。また、フラッシュ領域探索部７０７は、使用しているセクタ番号を記憶する（ステップＳ８１３ｂ）。空きがなければ今まで使用していたセクタを消去し、領域を確保する。
【０１７６】
このようにして、リセットパルスがノイズによるものである場合、データ転送方式設定部７０２に設定された転送モード、すなわち、データ転送方式記憶部７０３に記憶されていた転送モードでデータ通信が制御される。
【０１７７】
また、図８（ｃ）に示すように、静電気等の外的要因があるとき（ステップＳ８３７）、リセットシーケンスを開始し、初期起動を行う（ステップＳ８３２）。データ転送方式記憶部７０３に、リセットを受ける前の転送モードが記憶されている場合（ステップＳ８３３でＹｅｓ）、リセット判断部７０５は、データ転送方式記憶部７０３に記憶されている転送モードをデータ転送方式設定部７０２に転送モードとして設定し（ステップＳ８３４）、データ転送方式記憶部７０３に記憶されている転送モードを消去して（ステップＳ８３５）、システム動作処理を行う（ステップＳ８３６）。ステップＳ８３３でデータ転送方式記憶部７０３に、リセットを受ける前の転送モードが記憶されていれば、リセット判断部７０５は、データ転送方式記憶部７０３に記憶されている転送モードを設定する（ステップＳ８３４）ことで、ホストＰＣ７１４と同じ転送モードになるため、データ転送方式はホストＰＣ７１４と同期する。また、データ転送方式記憶部７０３に転送モードが記憶されていない場合（ステップＳ８３３でＮｏ）、続けてシステム動作処理を行う（ステップＳ８３６）。なお、データ転送方式記憶部７０３に転送モードが記憶されていない場合（ステップＳ８３３でＮｏ）、転送モードは、システム動作処理（ステップＳ８３６）においてホストＰＣ１１３により決定される。また、静電気等の外的要因がある場合、システム動作処理（ステップＳ８３６）のときに、フラッシュ領域探索部７０７により、データ転送方式記憶部７０３の領域を確保する動作を行っている。
【０１７８】
このように本実施の形態によれば、フラッシュイレース前に、他のセクタの空き領域を探索し、データ転送方式記憶部７０３が使用するフラッシュ領域を変更し、今まで使用したセクタ番号を記憶し、空きセクタがない場合、記憶しているセクタ番号を消去して、領域を確保するフラッシュ記憶領域探索部７０７を備えるようにしたので、データ転送方式記憶部７０３の同じ領域への書き換えが発生しないようデータ転送方式記憶部７０３が使用する領域を変更して、データ転送方式記憶部７０３のフラッシュＲＯＭを延命し、長く使用に耐えることができるという効果がある。
【０１７９】
（実施の形態５）
図９は、本発明の実施の形態５に係る光ディスク制御装置の構成を示すブロック図である。本実施の形態５に係る光ディスク制御装置は、請求項５に記載の発明に相当するものである。
【０１８０】
図９において、９１０は、光ディスク制御装置がマスターであるかスレーブであるかを決定するためのドライブ選択部である。なお、ドライブ選択部９１０は、図１に示した実施の形態１の光ディスク制御装置ではその記載を省略している。
【０１８１】
また、データ転送方式ドライブ情報記憶部９０３は、実施の形態１のデータ転送方式記憶部１０３が、転送方式だけでなく、さらにマスターかスレーブかというドライブ情報も記憶するようにしたものである。なお、図９の９０１、９０２、９０４〜９０９、９１１〜９１４は、図１の１０１、１０２、１０４〜１１３を同じであるため、その説明を省略する。
【０１８２】
次に、本発明の実施の形態５に係る光ディスク制御装置の動作を説明する。
【０１８３】
図１０（ａ）〜（ｃ）は、本発明の実施の形態５に係る光ディスク制御装置の動作を示すフローチャートである。
【０１８４】
図１０（ａ）に示す実施の形態５のフローチャートは、図２（ａ）に示す実施の形態１のフローチャートの、リセット判断部がデータ転送方式設定部にデータ転送方式のデフォルト値であるＰＩＯモードを設定するステップＳ２０７ａ、Ｓ２０７ｂの次に、データ転送方式ドライブ情報記憶部９０３にドライブ情報を記憶するステップＳ１００８ａ、Ｓ１００８ｂをそれぞれ新たに追加している。
【０１８５】
なお、本発明の実施の形態５に係る光ディスク制御装置の動作は、データ転送方式ドライブ情報記憶部９０３にデータ転送方式だけでなく、ドライブ情報を共に記憶するようになったこと以外は実施の形態１と同様であり、説明を省略する。
【０１８６】
ここで、現在のホストＰＣと光ディスク制御装置の転送の規格であるＡＴＡＰＩでは、一本のケーブルに２台の装置を接続することができる。装置はそれぞれマスター・スレーブと設定され、ホストＰＣはコマンドを発行する際にマスタードライブか、スレーブドライブかを選択する。
【０１８７】
光ディスク制御装置は自分がマスタードライブかスレーブドライブかをホストＰＣとの信号線のやりとりで認識し、ドライブ情報を記憶する。
【０１８８】
この判断はハードウェアリセット等の初期化時に必ず実行される。この処理はリセットが多発するとＣＰＵ負荷になる。図１５に示す初期化時に実行される判断処理は最大３０ｓ以上の負荷になる。
【０１８９】
図１５に示すように、初期化処理を開始し（ステップＳ１５０１）、初期起動を行う（ステップＳ１５０２）。光ディスク制御装置はホストＰＣとの間で信号検出待ち処理（Ｍａｘ４５０ｍｓ）を行い（ステップＳ１５０３）、Ｓｌａｖｅ存在を確認する（ステップＳ１５０４）。光ディスク制御装置はＳｌａｖｅ存在を確認した自己診断結果を反映して（ステップＳ１５０５）、ホストＰＣとの間で信号検出待ち処理（Ｍａｘ３１ｓｅｃ）を行う（ステップＳ１５０６）。光ディスク制御装置はマスター／スレーブ（Ｍａｓｔｅｒ／Ｓｌａｖｅ）診断結果の設定を行い（ステップＳ１５０７）、ホストＰＣからのコマンドの実行可能状態に設定する（ステップＳ１５０８）。続いてディスク判断処理を行う（ステップＳ１５０９）。
【０１９０】
実施の形態５は、実施の形態１のように転送モードを記憶するだけでなく、ドライブ情報をも記憶し、復帰することで、図１５にあるＭａｓｔｅｒ／Ｓｌａｖｅ処理をなくし、ＣＰＵ負荷を減らすことができる。
【０１９１】
このように本実施の形態によれば、データ転送方式ドライブ情報記憶部９０３は、データ転送方式に加えて、さらにマスターかスレーブかというドライブ情報を記憶し、光ディスク制御装置がマスターかスレーブであるかを決定するドライブ選択部９１０をさらに備えるようにしたので、ハードウェアリセット等の初期化時におけるマスター／スレーブ処理を行わないことにより、光ディスク起動時間を短縮し、更にＣＰＵの負荷を抑え、省電力化や高倍速のデータ通信を可能とすることができるという効果がある。
【産業上の利用可能性】
【０１９２】
本発明にかかる光ディスク制御装置は、リセット端子からハードウェアリセットがかかった際に、大きな負荷もなく、高速にシステムを復帰させるものとして有用である。
【符号の説明】
【０１９３】
１０１  制御プログラム格納部
１０２  データ転送方式設定部
１０３  データ転送方式記憶部
１０４  コマンド解析部
１０５  リセット判断部
１０６  ＣＰＵ
１０７  初期化制御部
１０８  通信制御部
１０９  割り込み処理部
１１０  データ転送制御部
１１１  データ一時記憶部
１１２  リセット端子
１１３  ホストＰＣ
３０１  制御プログラム格納部
３０２  データ転送方式設定部
３０３  データ転送方式記憶部
３０４  コマンド解析部
３０５  リセット判断部
３０６  ＣＰＵ
３０７  転送方式決定時間遅延部
３０８  初期化制御部
３０９  通信制御部
３１０  割り込み処理部
３１１  データ転送制御部
３１２  データ一時記憶部
３１３  リセット端子
３１４  ホストＰＣ
５０１  制御プログラム格納部
５０２  データ転送方式設定部
５０３  データ転送方式記憶部
５０４  コマンド解析部
５０５  リセット判断・転送方式消去実行部
５０６  ＣＰＵ
５０７  転送方式消去遅延部
５０８  初期化制御部
５０９  通信制御部
５１０  割り込み処理部
５１１  データ転送制御部
５１２  データ一時記憶部
５１３  リセット端子
５１４  ホストＰＣ
７０１  制御プログラム格納部
７０２  データ転送方式設定部
７０３  データ転送方式記憶部
７０４  コマンド解析部
７０５  リセット判断部
７０６  ＣＰＵ
７０７  フラッシュ領域探索部
７０８  初期化制御部
７０９  通信制御部
７１０  割り込み処理部
７１１  データ転送制御部
７１２  データ一時記憶部
７１３  リセット端子
７１４  ホストＰＣ
９０１  制御プログラム格納部
９０２  データ転送方式設定部
９０３  データ転送方式ドライブ情報記憶部
９０４  コマンド解析部
９０５  リセット判断部
９０６  ＣＰＵ
９０７  初期化制御部
９０８  通信制御部
９０９  割り込み処理部
９１０  ドライブ選択部
９１１  データ転送制御部
９１２  データ一時記憶部
９１３  リセット端子
９１４  ホストＰＣ
１１０１  制御プログラム格納部
１１０２  データ転送方式設定部
１１０３  コマンド解析部
１１０４  ＣＰＵ
１１０５  初期化制御部
１１０６  通信制御部
１１０７  割り込み処理部
１１０８  データ転送制御部
１１０９  データ一時記憶部
１１１０  リセット端子
１１１１  ホストＰＣ
１３０１  制御プログラム格納部
１３０２  データ転送方式設定部
１３０３  コマンド解析部
１３０４  ＣＰＵ
１３０５  初期化信号受信部
１３０６  初期化制御部
１３０７  通信制御部
１３０８  割り込み処理部
１３０９  データ転送制御部
１３１０  データ一時記憶部
１３１１  通信状態監視部
１３１２  通信復帰部
１３１３  初期化信号発行部
１３１４  リセット端子
１３１５  ホストＰＣ
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ホストＰＣと接続された光ディスク制御装置を制御するＣＰＵと、
リセットパルスがホストＰＣから発行されたとき、ＣＰＵに初期化要求信号を出力する初期化制御部と、
光ディスク制御用プログラムが記憶されている制御プログラム格納部と、
ホストＰＣとの間での光ディスク制御装置制御用コマンドの発行、及び転送可能状態、転送状態、エラー発生の有無の情報の通信を制御する通信制御部と、
データ転送方式を格納したデータ転送方式設定部と、
データ転送方式がホストＰＣから設定された時に、データ転送方式を記憶するデータ転送方式記憶部と、
ホストＰＣからのデータ転送要求を受信し、前記データ転送方式設定部に設定された転送モードに従って、データ転送を制御するデータ転送制御部と、
バスを介してデータを格納するデータ一時記憶部と、
データ転送制御要求受信、及び通信制御要求が発生したときにＣＰＵへ割り込み信号を発行する割り込み処理部と、
光ディスク制御装置制御用コマンドの内容を解析して実行するコマンド解析部と、
初期起動時、ホストＰＣからの転送モード設定の有無に基づき、初期化要求信号がノイズによるものかホストＰＣからの要求であるかを判断し、データ転送方式を前記データ転送方式記憶部から読み出し設定するかどうかを判断するリセット判断部とを備える、
ことを特徴とする光ディスク制御装置。
【請求項２】
請求項１に記載の光ディスク制御装置において、
データ転送決定前にパルス発生間隔より大きい時間遅延を発生させる転送方式決定時間遅延部を備えた、
ことを特徴とする光ディスク制御装置。
【請求項３】
請求項１に記載の光ディスク制御装置において、
前記リセット判断部は、さらに転送方式の消去を行い、
転送方式消去の要求信号を、前記リセット判断部にトレイが閉じられた後に出力する転送方式消去遅延部をさらに備えた、
ことを特徴とする光ディスク制御装置。
【請求項４】
請求項１に記載の光ディスク制御装置において、
フラッシュイレース前に、他のセクタの空き領域を探索し、前記データ転送方式記憶部が使用するフラッシュ領域を変更し、今まで使用したセクタ番号を記憶し、空きセクタがない場合、記憶しているセクタ番号を消去して、領域を確保するフラッシュ記憶領域探索部を備えた、
ことを特徴とする光ディスク制御装置。
【請求項５】
請求項１に記載の光ディスク制御装置において、
前記データ転送方式記憶部は、さらにマスターかスレーブかというドライブ情報を記憶し、
光ディスク制御装置がマスターかスレーブであるかを決定するドライブ選択部をさらに備えた、
ことを特徴とする光ディスク制御装置。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2009087976.tif 000030
【図２（ａ）】
2009087976.tif 000031
【図２（ｂ）】
2009087976.tif 000032
【図２（ｃ）】
2009087976.tif 000033
【図３】
2009087976.tif 000034
【図４（ａ）】
2009087976.tif 000035
【図４（ｂ）】
2009087976.tif 000036
【図４（ｃ）】
2009087976.tif 000037
【図５】
2009087976.tif 000038
【図６（ａ）】
2009087976.tif 000039
【図６（ｂ）】
2009087976.tif 000040
【図６（ｃ）】
2009087976.tif 000041
【図７】
2009087976.tif 000042
【図８（ａ）】
2009087976.tif 000043
【図８（ｂ）】
2009087976.tif 000044
【図８（ｃ）】
2009087976.tif 000045
【図９】
2009087976.tif 000046
【図１０（ａ）】
2009087976.tif 000047
【図１０（ｂ）】
2009087976.tif 000048
【図１０（ｃ）】
2009087976.tif 000049
【図１１】
2009087976.tif 000050
【図１２（ａ）】
2009087976.tif 000051
【図１２（ｂ）】
2009087976.tif 000052
【図１３】
2009087976.tif 000053
【図１４（ａ）】
2009087976.tif 000054
【図１４（ｂ）】
2009087976.tif 000055
【図１５】
2009087976.tif 000056
【国際調査報告】
2009087976.tif 000057
2009087976.tif 000058
2009087976.tif 000059
2009087976.tif 000060