(57)【特許請求の範囲】
【請求項１】
複数のメディア駆動装置を接続可能なコンピュータシステムにおいて、
外部からアクセス可否を設定可能なバッファと、
前記バッファがプログラムからのリセット操作によりアクセス不可状態とされるのを防止するロック機構と、
前記メディア駆動装置に供給されるクロックの周波数を設定するクロック設定手段と、
前記クロック設定手段を用いて前記クロックの周波数を最大値に設定した後、未接続のメディア駆動装置に対してヘッド位置を所定の位置に移動させるコマンドを発行し、前記ロック機構を起動させるロック機構起動手段と
を具備することを特徴とするコンピュータシステム。
【請求項２】
複数のメディア駆動装置を接続可能なコンピュータシステムにおいて、
外部からアクセス可否を設定可能なバッファと、
前記バッファがプログラムからのリセット操作によりアクセス不可状態とされるのを防止するロック機構と、
前記メディア駆動装置による１ステップ単位のヘッドの移動を当該メディア駆動装置に供給されるクロックの何クロックごとに行わせるかを設定するパルス幅設定手段と、
前記パルス幅設定手段を用いて前記パルス幅を最小値に設定した後、未接続のメディア駆動装置に対してヘッド位置を所定の位置に移動させるコマンドを発行し、前記ロック機構を起動させるロック機構起動手段と
を具備することを特徴とするコンピュータシステム。
【請求項３】
複数のメディア駆動装置を接続可能なコンピュータシステムにおいて、
外部からアクセス可否を設定可能なバッファと、
前記バッファがプログラムからのリセット操作によりアクセス不可状態とされるのを防止するロック機構と、
前記メディア駆動装置に供給されるクロックの周波数を設定するクロック設定手段と、
前記メディア駆動装置による１ステップ単位のヘッドの移動を当該メディア駆動装置に供給されるクロックの何クロックごとに行わせるかを設定するパルス幅設定手段と、
前記クロック設定手段を用いて前記クロックの周波数を最大値に設定し、かつ、前記パルス幅設定手段を用いて前記クロック周期を最小値に設定した後、未接続のメディア駆動装置に対してヘッド位置を所定の位置に移動させるコマンドを発行し、前記ロック機構を起動させるロック機構起動手段と
を具備することを特徴とするコンピュータシステム。
【請求項４】
電源投入時およびレジューム時に、前記ロック機構の起動を実行する請求項１、２または３記載のコンピュータシステム。
【請求項５】
メディア駆動装置を有するコンピュータシステムにおいて、
外部からアクセス可否を設定可能なバッファと、
前記バッファがプログラムからのリセット操作によりアクセス不可状態とされるのを防止するロック機構と、
前記メディア駆動装置がヘッドを移動させた際に取得する当該ヘッドの移動後の位置を示すデータを所定の位置を示すデータに置き換えるか否かを切り換え可能なゲート手段と、
前記ゲート手段に対して前記所定の位置を示すデータに置き換える旨を指示した後、前記メディア駆動装置に対してヘッド位置を所定の位置に移動させるコマンドを発行し、前記ロック機構を起動させるロック機構起動手段と
を具備することを特徴とするコンピュータシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、フレキシブルディスク駆動装置などのメディア駆動装置を搭載したコンピュータシステムに係り、特に、このメディア駆動装置の初期化を効率的に行うことにより、システムのブートやレジュームを高速化することを可能としたコンピュータシステムに関する。
【０００２】
【従来の技術】
近年、ノートブックタイプやデスクトップタイプなど、様々なタイプのパーソナルコンピュータが製造・販売されている。そして、この種のパーソナルコンピュータの多くは、フレキシブルディスクを外部記憶として利用するために、このフレキシブルディスクにデータを書き込み、またはフレキシブルディスクからデータを読み出すための駆動制御を実行するフレキシブルディスクコントローラを備えている。
【０００３】
また、このフレキシブルディスクコントローラは、フレキシブルディスクのデータをシステムメモリとの間で円滑に送受信するために、いわゆる先入れ先出しバッファ（ＦＩＦＯバッファ）を有している。
【０００４】
ところで、このフレキシブルディスクコントローラは、デバイスドライバなどと称されるユーティリティプログラムによって制御されるが、このデバイスドライバの中には、フレキシブルディスクコントローラのＦＩＦＯバッファの有無をまったく意識しないものも存在する。また、このＦＩＦＯバッファは、フレキシブルディスクコントローラがソフトリセットされると自動的にディセーブルになるように構成されている。
【０００５】
このようなことから、ＦＩＦＯバッファの有無をまったく意識しないデバイスドライバなどがソフトリセットを行ったとしても、ＦＩＦＯバッファにイネーブルの状態を保持させるロック機能がフレキシブルディスクコントローラには備えられている。そして、電源投入時やレジューム時には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）によって、このロック機能が起動されている。
【０００６】
【発明が解決しようとする課題】
このフレキシブルディスクコントローラが備えるロック機能を起動する際、ＢＩＯＳは、通常、次の（１）〜（４）の手順を踏んでいる。
【０００７】
（１）ソフトリセット
（２）Ｒｅｃａｌｉｂｒａｔｅコマンド実行
（３）ＦＩＦＯイネーブルコマンド実行
（４）ロックコマンド実行
しかしながら、上記（２）のＲｅｃａｌｉｂｒａｔｅコマンド実行は、一般的にヘッド移動という機械的動作を伴うために時間がかかり、また、このヘッド移動時に機械的な雑音を発生させてしまう。そして、このＲｅｃａｌｉｂｒａｔｅコマンド実行に大きな時間が費やされると、電源投入時やレジューム時の応答性に悪影響を及ぼしてしまうといった問題もあった。
【０００８】
この発明は、このような事情を考慮してなされたものであり、メディア駆動装置の初期化を効率的に行うことにより、システムのブートやレジュームを高速化することを可能としたコンピュータシステムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
前述した目的を達成するために、この発明は、第１に、複数のメディア駆動装置を接続可能なコンピュータシステムにおいて、外部からアクセス可否を設定可能なバッファと、前記バッファがプログラムからのリセット操作によりアクセス不可状態とされるのを防止するロック機構と、前記メディア駆動装置に供給されるクロックの周波数を設定するクロック設定手段と、前記メディア駆動装置による１ステップ単位のヘッドの移動を当該メディア駆動装置に供給されるクロックの何クロックごとに行わせるかを設定するパルス幅設定手段と、前記クロック設定手段を用いて前記クロックの周波数を最大値に設定し、かつ、前記パルス幅設定手段を用いて前記クロック周期を最小値に設定した後、未接続のメディア駆動装置に対してヘッド位置を所定の位置に移動させるコマンドを発行し、前記ロック機構を起動させるロック機構起動手段とを具備することを特徴とする。
【００１０】
たとえばＲｅｃａｌｉｂｒａｔｅコマンドの場合、ヘッドが所定の位置に辿り着くまで、フレキシブルディスク装置に対してヘッドを移動させる旨の指示を１刻みずつ発行していく。また、この指示は、予め定められた回数を限度に繰り返されるようになっている（予め定められた回数に達すると、その時点で当該処理は打ち切られる）。
【００１１】
そこで、この発明のコンピュータシステムにおいては、クロックの周波数とヘッド移動の指示間隔との双方の設定によりメディア駆動装置の動作速度を超高速化した上でコマンドを発行することにより、つまりヘッドを移動させる旨の指示を実際のヘッドの移動に関わりなく限度回数だけ短期間内に繰り返し発行させるようにすることにより、その時々でのヘッドの位置に左右されることなく、大幅に短縮化された一定の時間内でメディア駆動装置の初期化を終了させることを実現する。また、複数のフレキシブルディスク装置を接続可能な場合は、このコマンドを未接続のフレキシブルディスク装置に対して発行するようにすれば、さらに機械的雑音を一切発生させることもない。
【００１２】
また、この発明は、第２に、メディア駆動装置を有するコンピュータシステムにおいて、外部からアクセス可否を設定可能なバッファと、前記バッファがプログラムからのリセット操作によりアクセス不可状態とされるのを防止するロック機構と、前記メディア駆動装置がヘッドを移動させた際に取得する当該ヘッドの移動後の位置を示すデータを所定の位置を示すデータに置き換えるか否かを切り換え可能なゲート手段と、前記ゲート手段に対して前記所定の位置を示すデータに置き換える旨を指示した後、前記メディア駆動装置に対してヘッド位置を所定の位置に移動させるコマンドを発行し、前記ロック機構を起動させるロック機構起動手段とを具備することを特徴とする。
【００１３】
この発明のコンピュータシステムにおいては、ヘッド移動により得られる移動後のヘッド位置を示すデータを強制的に所定のヘッド位置を示すデータに置換する仕組みをもつことにより、機械的雑音の発生を最小限に抑え、また、その時々でのヘッドの位置に左右されることなく、大幅に短縮化された一定の時間内でメディア駆動装置の初期化を終了させることを実現する。
【００１４】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態を説明する。
【００１５】
（第１実施形態）
まず、この発明の第１実施形態について説明する。
【００１６】
図１は、この発明の実施形態に係るコンピュータシステムの構成の一部を示す図である。
【００１７】
このコンピュータシステムは、ノートブックタイプやデスクトップタイプなどの個人向けのコンピュータシステムであり、そのシステムボード上には、図１に示すように、プロセッサバス１、ＰＣＩバス２、ＩＳＡバス３の３つのバスが配設されている。また、このコンピュータシステム内には、ＣＰＵ１１、ホスト−ＰＣＩブリッジ装置１２、メモリ１３、ＰＣＩ−ＩＳＡブリッジ装置１４、フレキシブルディスクコントローラ（ＦＤＣ）１５、フレキシブルディスクドライブ（ＦＤＤ）１６、ＦＤＣクロック回路１７などが設けられている。
【００１８】
ＣＰＵ１１は、このコンピュータシステム全体の動作制御を司るものであり、メモリ１３に格納されたオペレーティングシステム、ＢＩＯＳ、デバイスドライバ、アプリケーションプログラムなどの各種プログラムに記述された処理手順に沿って各部を駆動制御する。
【００１９】
ホスト−ＰＣＩブリッジ装置１２は、プロセッサバス１とＰＣＩバス２との間を繋ぐブリッジＬＳＩであり、プロセッサバス１とＰＣＩバス２との間で、データおよびアドレスを含むバスサイクルを双方向で変換する機能やメモリバスを介してメモリ１３をアクセス制御する機能などを有している。
【００２０】
メモリ１３は、このコンピュータシステムの主記憶となるメモリデバイスであり、オペレーティングシステム、ＢＩＯＳ、デバイスドライバ、アプリケーションプログラムなどの各種プログラムとこれらの処理データとを格納する。
【００２１】
ＰＣＩ−ＩＳＡブリッジ装置１４は、ＰＣＩバス２とＩＳＡバス３との間を繋ぐブリッジＬＳＩであり、ＰＣＩデバイスの１つとして機能する。このＰＣＩ−ＩＳＡブリッジ装置１４には、ＰＣＩバスアービタやＤＭＡコントローラなどが内蔵されている。そして、このＰＣＩ−ＩＳＡブリッジ装置１４によってＰＣＩバス２と繋がれるＩＳＡバス３に、ＦＩＦＯバッファを備えたフレキシブルディスクコントローラ１５が接続されている。
【００２２】
このフレキシブルディスクコントローラ１５は、フレキシブルディスクにデータを書き込み、またはフレキシブルディスクからデータを読み出すフレキシブルディスク装置１６を駆動制御するものであり、最大４台までのフレキシブルディスク装置１６を取り扱うことができる。また、このフレキシブルディスクコントローラ１５は、ＦＤＣクロック回路１７から供給されるクロック（ＣＬＫ）に基づいて動作するものであり、このクロックの周波数をセレクタ１７１で切り換えることにより、２ＤＤや２ＨＤなどの互いに異なる複数種の密度をもつフレキシブルディスクへの書き込み／読み出しが行えるようになっている。
【００２３】
図２は、このフレキシブルディスクコントローラ１５の構成を示す機能ブロック図である。
【００２４】
図２に示すように、このフレキシブルディスクコントローラ１５は、システム側インタフェース部１５１、ＤＭＡ部１５２、主制御部１５３、ドライブ側インタフェース部１５４を有している。
【００２５】
システム側インタフェース部１５１は、ＣＰＵ１１との間で行われる通信を制御する。ＤＭＡ部１５２は、メモリ１３と主制御部１５３との間で行われるＤＭＡ転送を制御する。
【００２６】
主制御部１５３は、このフレキシブルディスクコントローラ１５全体の動作制御を司るものであり、ＦＩＦＯバッファ１５３１とタイミング制御部１５３２とを有している。ＦＩＦＯバッファ１５３１は、ＤＭＡ部１５２によって制御されるＤＭＡ転送のための先入れ先出しバッファであり、イネーブル／ディセーブルを設定できるようになっている。また、このＦＩＦＯバッファ１５３１は、フレキシブルディスクコントローラ１５がデバイスドライバなどからソフトリセットされると自動的にディセーブルに設定されるようになっている。そこで、この主制御部１５３は、フレキシブルディスクコントローラ１５がソフトリセットされてもＦＩＦＯバッファ１５３１がディセーブルに設定されないように固定するロック機能を提供する。
【００２７】
このロック機能は、コンピュータシステムのブート時やレジューム時にＢＩＯＳによって起動されており、ＢＩＯＳは、この機能を起動するために、（１）ソフトリセット、（２）Ｒｅｃａｌｉｂｒａｔｅコマンド実行、（３）ＦＩＦＯイネーブルコマンド実行、（４）ロックコマンド実行、の（１）〜（４）の４つの作業を行う必要がある。また、（２）のＲｅｃａｌｉｂｒａｔｅコマンドは、フレキシブルディスクドライブ１６のヘッド位置を所定の位置に移動させるためのコマンドであり、このコマンドが発行されると、フレキシブルディスクコントローラ１５は、フレキシブルディスクドライブ１６のヘッドを移動させるためのステップパルスを出力する。このステップパルスを受け取ったフレキシブルディスクドライブ１６は、ヘッドを現在位置から一単位だけ移動させ、その移動先の位置をフレキシブルディスクコントローラ１５に通知する。そして、フレキシブルディスクコントローラ１５は、所定の位置が通知されるか、あるいは限度回数に達するまで、このステップパルスの出力を繰り返す
一方、タイミング制御部１５３２は、前述したＲｅｃａｌｉｂｒａｔｅコマンド実行時におけるヘッド移動のステップパルス等をフレキシブルディスク装置１６に合わせて生成するものであり、そのステップパルス幅を設定するためのレジスタを備えている。
【００２８】
そして、ドライブ側インタフェース部１５４は、フレキシブルディスクドライブ１６との間で行われる通信を制御する。
【００２９】
次に、この第１実施形態のコンピュータシステムで実行される、主制御部１５３が提供するロック機能の起動手法を説明する。
【００３０】
このロック機能を起動する場合、ＢＩＯＳは、まず、セレクタ１７１を用いてＦＤＣクロック回路１７からフレキシブルディスクコントローラ１５に供給されるクロックの周波数を最大値に設定する。次に、ＢＩＯＳは、フレキシブルディスクコントローラ１５をソフトリセットする。これにより、この時のソフトリセットは、高速クロックで処理されることになる。
【００３１】
このソフトリセット終了後、ＢＩＯＳは、ステップパルス幅を最小値にする旨をフレキシブルディスクコントローラ１５に指示する。この指示を受けたフレキシブルディスクコントローラ１５の主制御部１５３は、タイミング制御部１５３２のレジスタの値を最小値に書き換える。このレジスタの値は、ＦＤＣクロック回路１７から供給されるクロックのいくつごとにステップパルスを出力すべきかを示すものであり、この値を小さくするということは、すなわちステップパルスの出力間隔を短くするということになる。そして、ＢＩＯＳは、Ｒｅｃａｌｉｂｒａｔｅコマンドを未接続のフレキシブルディスクドライブ１６に対して実行する。これにより、（限度回数に達するまでの）総ステップパルスの発生期間を大幅に短縮するとともに、機械的雑音の発生を防止する。
【００３２】
この後、ＢＩＯＳは、残りのＦＩＦＯイネーブルコマンドとロックコマンドとを順次に実行し、セレクタ１７１を用いてＦＤＣクロック回路１７からフレキシブルディスクコントローラ１５に供給されるクロックの周波数を標準値に設定し直すとともに、ステップパルス幅を標準値に戻す旨をフレキシブルディスクコントローラ１５に指示する。
【００３３】
このように、この第１実施形態のコンピュータシステムでは、クロックを高速化する仕組みと、ステップパルス幅を短縮化する仕組みと、未接続のフレキシブルディスクドライブ１６に対してＲｅｃａｌｉｂｒａｔｅコマンドを発行するという着想とを有効に組み合わせることにより、ロック機能の起動に伴うＲｅｃａｌｉｂｒａｔｅコマンド実行を短時間に終了させ、かつ、このＲｅｃａｌｉｂｒａｔｅコマンド実行時の機械的雑音の発生を防止する。
【００３４】
なお、ここでは、クロックの高速化とステップパルス幅の短縮化との双方を用いる例を説明したが、このどちらかを用いるのみでも有効である。
【００３５】
（第２実施形態）
次に、この発明の第２実施形態について説明する。
【００３６】
図３は、この第２実施形態のコンピュータシステムがロック機能の起動に伴うＲｅｃａｌｉｂｒａｔｅコマンド実行を短時間に終了させるために設けた仕組みを説明するための図である。
【００３７】
図３に示すように、この第２実施形態のコンピュータシステムは、フレキシブルディスクコントローラ１５とフレキシブルディスクドライブ１６との間に介在させてゲート１５５を設けたものである。このゲート１５５は、外部入力されるゲート制御信号に基づき、フレキシブルディスクコントローラ１５によるステップパルスの出力に応答してフレキシブルディスクドライブ１６が返送する移動先のヘッド位置データをそのまま出力するか、または予め定められたヘッド位置データ（ＴＲＫ００）に強制的に置き換えて出力するかを切り換えることができるようになっている。
【００３８】
そして、このようなゲート１５５が設けられたこの第２実施形態のコンピュータシステムでは、ＢＩＯＳは、主制御部１５３が提供するロック機能を次のような手順で起動する。
【００３９】
まず、ＢＩＯＳは、ゲート制御信号でゲート１５５が予め定められたヘッド位置データ（ＴＲＫ００）を出力するように設定する。そして、ＢＩＯＳは、フレキシブルディスクコントローラ１５をソフトリセットし、Ｒｅｃａｌｉｂｒａｔｅコマンドを実行する。この時のＲｅｃａｌｉｂｒａｔｅコマンドは、１回のステップパルスの出力で終了することになる。
【００４０】
その後、ＢＩＯＳは、残りのＦＩＦＯイネーブルコマンドとロックコマンドとを順次に実行し、ゲート制御信号でゲート１５５がフレキシブルディスクドライブ１６からのヘッド位置データをそのまま出力するように再設定する。
【００４１】
このように、この第２実施形態のコンピュータシステムでは、フレキシブルディスクドライブ１６からフレキシブルディスクコントローラ１５に返送されるヘッド位置データを強制的に置き換えるゲート１５５を設けることにより、第１実施形態と同様、ロック機能の起動に伴うＲｅｃａｌｉｂｒａｔｅコマンド実行を短時間に終了させ、かつ、このＲｅｃａｌｉｂｒａｔｅコマンド実行時の機械的雑音の発生を防止する。
【００４２】
なお、ここでは、フレキシブルディスクドライブ１６がフレキシブルディスクコントローラ１５にヘッド位置データを返送したタイミングでゲート１５５がフレキシブルディスクコントローラ１５に予め定められたヘッド位置データ（ＴＲＫ００）を出力する例を説明したが、たとえば図４に示すように、フレキシブルディスクコントローラ１５からステップパルスが出力された旨を検知するための入力を設けて、その検知したタイミングで予め定められたヘッド位置データ（ＴＲＫ００）を出力するように変形することも可能である。
【００４３】
つまり、本願発明は、前記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、前記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。たとえば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００４４】
【発明の効果】
以上、詳述したように、この発明のコンピュータシステムによれば、第１に、クロックの周波数とヘッド移動の指示間隔との双方の設定によりメディア駆動装置の動作速度を高速化した上でコマンドを発行することにより、つまりヘッドを移動させる旨の指示を実際のヘッドの移動に関わりなく限度回数だけ短期間内に繰り返し発行させるようにすることにより、その時々でのヘッドの位置に左右されることなく、大幅に短縮化された一定の時間内でメディア駆動装置の初期化を終了させることを実現する。
【００４５】
また、第２に、ヘッド移動の指示に応答して返送される移動後のヘッド位置を示すデータを強制的に所定のヘッド位置を示すデータに置換する仕組みをもつことにより、機械的雑音の発生を最小限に抑え、また、その時々でのヘッドの位置に左右されることなく、大幅に短縮化された一定の時間内でメディア駆動装置の初期化を終了させることを実現する。
【図面の簡単な説明】
【図１】この発明の実施形態に係るコンピュータシステムの構成の一部を示す図。
【図２】同第１実施形態のコンピュータシステムが備えるフレキシブルディスクコントローラの構成を示す機能ブロック図。
【図３】同第２実施形態の第２実施形態のコンピュータシステムがロック機能の起動に伴うＲｅｃａｌｉｂｒａｔｅコマンド実行を短時間に終了させるために設けた仕組みを説明するための図。
【図４】同第２実施形態の変形例を示す図。
【符号の説明】
１…プロセッサバス
２…ＰＣＩバス
３…ＩＳＡバス
１１…ＣＰＵ
１２…ホスト−ＰＣＩブリッジ
１３…メモリ
１４…ＰＣＩ−ＩＳＡブリッジ
１５…フレキシブルディスクコントローラ
１６…フレキシブルディスクドライブ
１７…ＦＤＣクロック回路
１５１…システム側インタフェース部
１５２…ＤＭＡ部
１５３…主制御部
１５４…ドライブ側インタフェース部
１５５…ゲート
１７１…セレクタ
【図１】
0003577035.tif 000002
【図２】
0003577035.tif 000003
【図３】
0003577035.tif 000004
【図４】
0003577035.tif 000005