(57)【要約】【課題】ハードディスクドライブの機種にかかわらず、それぞれに備えられたディスクから共通してメインプログラムを読み出すことを可能とする。【解決手段】ディスクの回転速度を機種にかかわらない共通の回転速度まで加速するディスク起動ステップと、共通の回転速度と機種にかかわらない共通の記録密度とを以ってメインプログラムが記録されているディスク内のシステム領域に、ヘッドを移動させるヘッド起動ステップと、共通の記録密度に従ってヘッドを移動させつつ、システム領域からメインプログラムを読み出して、ハードディスクコントローラに備えられたメモリに書き込む読込ステップと、メインプログラムにハードディスクドライブの制御処理を引き継ぐ引継ぎステップと、共通の回転速度から運用状態においてハードディスクドライブにおいて適用すべき固有の回転速度までディスクの回転速度を上昇させる速度調整ステップとを備える。【選択図】　　　図１
2004062977.tif 000002
【特許請求の範囲】
【請求項１】
ハードディスクドライブを運用するためメインプログラムを読み込んで起動するハードディスクのプログラムブート方法において、
前記ハードディスクドライブに備えられたディスクの回転速度をハードディスクドライブの機種にかかわらない共通の回転速度まで上昇させるディスク起動ステップと、
前記共通の回転速度とハードディスクドライブの機種にかかわらない共通の記録密度とを以って前記メインプログラムが記録されている前記ディスク内のシステム領域に、前記ディスクに記録された情報にアクセスするためのヘッドを移動させるヘッド起動ステップと、
前記共通の記録密度に従って前記ヘッドを移動させつつ、前記システム領域から前記メインプログラムを読み出して、ハードディスクコントローラに備えられたメモリに書き込む読込ステップと、
前記メインプログラムに前記ハードディスクドライブの制御処理を引き継ぐ引継ぎステップと、
前記共通の回転速度から運用状態において前記ハードディスクドライブにおいて適用すべき固有の回転速度まで前記ディスクの回転速度を上昇させる速度調整ステップと
を備えたことを特徴とするハードディスクのプログラムブート方法。
【請求項２】
ブート手段によって、ハードディスクドライブの運用に必要なメインプログラムをディスクから読み込み、このメインプログラムに基づいて運用起動手段が、前記ハードディスクドライブの動作全般を制御する運用制御手段を形成する構成を備えたハードディスクコントローラにおいて、
前記ブート手段は、
スピンドルモータを駆動して、ハードディスクドライブの機種にかかわらない共通の回転速度まで前記ディスクの回転速度を上昇させる初期回転駆動手段と、
前記ディスクにおいて前記メインプログラムが記録されているシステム領域に、前記ディスクに記録された情報にアクセスするためのヘッドを移動させる初期位置決定手段と、
前記システム領域に記録されたサーボ情報に基づいて前記ヘッドを移動させつつ、前記システム領域から前記メインプログラムを読み出して、前記運用起動手段に渡す読込手段とを備えた構成であり、
運用制御手段は、
前記スピンドルモータを制御して、前記共通の回転速度から運用状態に適した回転速度と前記ディスクの回転速度とを一致させる回転速度調整手段を備えた構成である
ことを特徴とするハードディスクコントローラ。
【請求項３】
ハードディスクドライブの運用に必要なメインプログラムを記録しているディスクと、このディスクからブート手段によって前記メインプログラムを読み込み、運用起動手段により、このメインプログラムに基づいて前記ハードディスクドライブの動作を制御する運用制御手段を形成する構成のハードディスクコントローラとを備えたハードディスクドライブにおいて、
前記ディスクは、
ハードディスクドライブの機種にかかわらない共通の回転速度および記録密度に対応するサーボ情報に基づいて、前記メインプログラムを記録しているシステム領域を備えており、
前記ハードディスクコントローラに備えられた前記ブート手段は、
スピンドルモータを駆動して、ハードディスクドライブの機種にかかわらない共通の回転速度まで前記ディスクの回転速度を上昇させる初期回転駆動手段と、
前記ディスクの前記システム領域に、前記ディスクに記録された情報にアクセスするためのヘッドを移動させる初期位置決定手段と、
前記サーボ情報に基づいて前記ヘッドを移動させつつ、前記システム領域から前記メインプログラムを読み出して、前記運用起動手段に渡す読込手段とを備えた構成であり、
前記ハードディスクコントローラに備えられた前記運用制御手段は、
前記スピンドルモータの動作を制御して、運用状態に適した回転速度に、前記ディスクの回転速度を一致させる回転速度調整手段を備えた構成である
ことを特徴とするハードディスクドライブ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ハードディスクのプログラムブート方法、この方法を適用したハードディスクコントローラおよびハードディスクドライブに関し、特に、ハードディスクコントローラを複数のディスク回転速度に対応可能とするための技術に関する。
ハードディスクドライブの高速化は年々進んでいる。これに伴って、スピンドルの回転速度の増大や記録密度の向上に対応するハードディスクコントローラを、非常に短い期間で、しかも、コストの増大を極力抑えつつ開発する必要が生じている。なぜなら、ハードディスクドライブ全体のコストダウンを求める要求が年々高まっているからである。
【０００２】
【従来の技術】
図５に、ハードディスクコントローラの一般的な構成例を示す。
図５に示したハードディスクコントローラ４１０において、ディスク制御部４１１は、プロセッサ４１２からの指示に応じて、ディスク４０３を回転させるスピンドルモータ４０４やヘッド４０２を移動させるサーボモータ４０５などのモータ駆動部４０１の動作を制御するとともにヘッド４０２との間で入出力データの授受を行なう。また、モータ駆動部４０１は、ディスク制御部４１１からの指示に応じて、ディスク４０３を回転させるスピンドルモータ４０４やヘッド４０２を移動させるサーボモータ４０５を駆動する。図５に示すように、ハードディスクコントローラ４１０は、ブートプログラムを格納しているマスクＲＯＭ４１３に加えて、メインプログラムを格納するためにＲＡＭ４１４を備えている。
【０００３】
また、図５に示したディスク４０３のシステム領域（図５において網掛けを付して示す）には、ハードディスクドライブのメーカによって、装置の出荷前にハードディスクドライブを最適な状態で運用するためのメインプログラムが記録されている。このシステム領域には、図５に示したように、ディスク４０３の中心部分が割り当てられる代わりに、例えば、ディスク４０３の外周部分や半径方向の中間点を中心とするドーナッツ状の記録領域などが割り当てられることもある。一方、図５に示したディスク４０３のユーザ領域は、ユーザが自由に利用できる領域である。
【０００４】
さて、ハードディスクドライブに電源が投入されると、プロセッサ４１２は、マスクＲＯＭ４１３に格納されたブートプログラムに従って、ハードディスクドライブの起動に必要な処理を開始する。このブートプログラムは、図５に示すように、運用起動手順部４１６とプログラム読出手順部４１７とを備えている。まず、プロセッサ４１２は、ブートプログラムの運用起動手順部４１６に含まれている手順およびデータに従って、ディスク制御部４１１に、スピンドルモータ４０４やサーボモータ４０５などのハードウェアを動作させるための指示を入力する。これに応じて、ディスク制御部４１１は、モータ駆動部４０１を介してスピンドルモータ４０４やサーボモータ４０５を駆動し、ディスク４０３を適切な速度で回転させるとともにヘッド４０２をメインプログラムが書き込まれたシステム領域に移動させる。その後、プロセッサ４１２は、ブートプログラムのプログラム読出手順部４１７に含まれている手順およびデータに従って、ヘッド４０２がディスク４０３から読み出したメインプログラムを読み出す処理を行ない、ディスク制御部４１１を介して受け取ったメインプログラムを、ＲＡＭ４１４に書き込む。
【０００５】
このようにしてＲＡＭ４１４にメインプログラムが格納された後に、プロセッサ４１２は、今度は、ＲＡＭ４１４に格納されたメインプログラムに含まれている運用制御のための運用制御手順およびデータに従って、ディスク制御部４１１およびインタフェース制御部４１５の動作を制御する。
このメインプログラムは、個々のハードディスクドライブに備えられたハードウェアの特性に適合した調整データなどを含んでいる。したがって、上述したようにしてメインプログラムを読み込んではじめて、ハードディスクドライブを正常に運用し、期待される性能を実現することができる。
【０００６】
従来は、図５に示したディスク４０３において、システム領域もユーザ領域も区別されることなく、そのハードディスクドライブが運用される際に期待されている最高の回転速度および記録密度に対応するサーボ情報が書き込まれていた。したがって、当然ながら、メインプログラムは、ユーザ領域に記録される情報と同様に、上述した最高の回転速度および記録密度に対応するサーボ情報に基づいて、ディスク４０３に記録されている。
【０００７】
ディスク４０３にこのように記録されているメインプログラムを正しく読み込むためには、もちろん、プロセッサ４１２は、運用起動手順部４１６に従ってディスク制御部４１１を介してモータ駆動部４０１を駆動し、メインプログラムを記録したときに適用された回転速度までスピンドルモータ４０４の回転速度を加速させる必要がある。
【０００８】
このためは、マスクＲＯＭ４１３に格納されるブートプログラムの運用起動手順部４１６は、当然ながら、スピンドルモータ４０４が到達すべき回転速度を示すデータを含んでいなければならない。
したがって、従来は、ディスクの回転速度や記録密度が向上するごとに、新たなディスク回転速度や記録密度に適合した専用のブートプログラムあるいは新たなディスク回転速度に適合した情報を含んだデータテーブルと汎用的なブートプログラムとの組み合わせが新たに開発されていた。また、これに伴って、この新しい専用のブートプログラムあるいは汎用的なブートプログラムとデータテーブルの組み合わせを格納したマスクＲＯＭを搭載したディスクコントローラＬＳＩが開発されていた。
【０００９】
また、複数の異なるディスク回転速度で運用される複数種類のハードウェアに適合するハードディスクコントローラも開発されている。
このようなハードディスクコントローラでは、回転速度や記録密度が異なる複数種類のハードウェアに適合するブートプログラムをまとめて格納したマスクＲＯＭを搭載し、これらのブートプログラムを切り換えて使用することにより、一つのディスクコントローラＬＳＩによって複数種類のハードウェアに対応している。
【００１０】
【発明が解決しようとする課題】
上述したように、ハードウェアの性能の向上に伴って新たにハードディスクコントローラを開発していたのでは、個々の機種に適合するブートプログラムの開発工数に加えて、これらのブートプログラムを搭載したハードディスクコントローラＬＳＩそれぞれを検証する作業に要する工数が必要となる。
一方、複数のブートプログラムをマスクＲＯＭに格納する方法では、複数のハードウェアに対応するための開発作業を一つのハードディスクコントローラＬＳＩの開発作業に集約することができる。しかしながら、格納すべきブートプログラムのサイズが必然的に大きくなるため、当然ながら、高価な大容量のマスクＲＯＭを採用する必要がある。つまり、この方法では、１台のハードディスクコントローラＬＳＩによって様々な機種のハードウェアに適合できる反面、ハードディスクコントローラ自体のコストが大幅に増大してしまう。また、当然ながら、個々の機種に適合するブートプログラムを開発する必要があることは、最初に述べた対策と同様である。
【００１１】
ところで、ブートプログラムが果たすべき基本的な機能は、ディスクに記録されたメインプログラムを読み出してハードディスクコントローラに備えられたＲＡＭに格納すること、そして、このメインプログラムに処理を引き継ぐことである。これらの基本機能は、ハードウェアの機種にかかわらず、全てのブートプログラムに共通している。
【００１２】
それにもかかわらず、従来は、ハードウェアごとにそれぞれ別個のブートプログラムが開発されている。なぜなら、各ハードディスクドライブがそれぞれ運用される際に発揮すべき性能、すなわち、そのハードディスクドライブで達成可能な最高の回転速度および記録密度において、ディスクからメインプログラムを読み出すことを前提としているからである。
【００１３】
本発明は、これらのことを鑑みて創作されたものであり、ハードディスクドライブの機種にかかわらず、それぞれに備えられたディスクから共通してメインプログラムを読み出すことを可能とするハードディスクのプログラムブート方法、この方法を適用したハードディスクコントローラおよびハードディスクドライブを提供することを目的とする。
【００１４】
【課題を解決するための手段】
図１（ａ）に、本発明の第１のプログラムブート方法の原理を示す。
請求項１の発明は、ハードディスクドライブを運用するためメインプログラムを読み込んで起動するハードディスクのプログラムブート方法において、ハードディスクドライブに備えられたディスクの回転速度をハードディスクドライブの機種にかかわらない共通の回転速度まで上昇させるディスク起動ステップと、共通の回転速度とハードディスクドライブの機種にかかわらない共通の記録密度とを以ってメインプログラムが記録されているディスク内のシステム領域に、ディスクに記録された情報にアクセスするためのヘッドを移動させるヘッド起動ステップと、共通の記録密度に従ってヘッドを移動させつつ、システム領域からメインプログラムを読み出して、ハードディスクコントローラに備えられたメモリに書き込む読込ステップと、メインプログラムにハードディスクドライブの制御処理を引き継ぐ引継ぎステップと、共通の回転速度から運用状態においてハードディスクドライブにおいて適用すべき固有の回転速度までディスクの回転速度を上昇させる速度調整ステップとを備えたことを特徴とする。
【００１５】
請求項１の発明では、ディスク起動ステップにおいて、例えば、ハードディスクドライブの各機種のいずれでも実現可能な共通の回転速度までディスクの回転速度を上昇させ、ヘッド起動ステップにおいてヘッドをシステム領域に移動させた後に、読込ステップにおいて、ディスクに設けられたシステム領域からメインプログラムを読み出して、ハードディスクコントローラ内部のメモリに格納する。そして、引継ぎステップにおいて、このメインプログラムに制御処理が引き継がれた後に、速度調整ステップにおいて、ディスクの回転速度を、共通の回転速度から運用状態において適用すべき固有の回転速度にまで加速する。
【００１６】
上述した各ステップのうち、ディスク起動ステップ、ヘッド起動ステップ、読込ステップおよび引継ぎステップは、個々のハードディスクドライブの特性にかかわらない処理である。そして、ハードディスクドライブの機種による違いは、速度調整ステップに集約されている。このように、本発明にかかわる第１のプログラムブート方法では、ハードディスクのプログラムブート処理を、ハードディスクドライブの特性にかかわらない処理と、個々のハードディスクドライブに固有の処理とに分離することができる。したがって、ハードディスクドライブの特性にかかわらない処理をブートプログラムに分担し、個々のハードディスクドライブに固有の処理をメインプログラムに分担することにより、一つのブートプログラムを、複数種類の性能の異なるハードディスクドライブに適用することが可能となる。
【００１７】
図２に、本発明にかかわるハードディスクコントローラの原理ブロック図を示す。
請求項２の発明は、ブート手段１１２によって、ハードディスクドライブ１００の運用に必要なメインプログラムをディスク１０１から読み込み、このメインプログラムに基づいて運用起動手段１１１が、ハードディスクドライブ１００の動作全般を制御する運用制御手段１１３を形成する構成を備えたハードディスクコントローラ１１０において、ブート手段１１２は、スピンドルモータ１０４を駆動して、ハードディスクドライブの機種にかかわらない共通の回転速度までディスク１０１の回転速度を上昇させる初期回転駆動手段１２１と、ディスク１０１においてメインプログラムが記録されているシステム領域１０２に、ディスク１０１に記録された情報にアクセスするためのヘッド１０３を移動させる初期位置決定手段１２２と、システム領域１０２に記録されたサーボ情報に基づいてヘッドを移動させつつ、システム領域１０２からメインプログラムを読み出して、運用起動手段１１１に渡す読込手段１２３とを備えた構成であり、運用制御手段１１３は、スピンドルモータ１０４を制御して、共通の回転速度から運用状態に適した回転速度とディスク１０１の回転速度とを一致させる回転速度調整手段１３１を備えた構成であることを特徴とする。
【００１８】
請求項２の発明では、ブート手段１１２に備えられた初期回転駆動手段１２１により、ディスク１０１の回転速度を共通の回転速度まで上昇させた状態で、初期位置決定手段１２２により、ヘッド１０３をシステム領域１０２に移動する。このシステム領域１０２に、メインプログラムが共通の回転速度に対応したサーボ情報に基づいて記録されていれば、読込手段１２３は、このサーボ情報に基づいて通常の読出処理を行うことにより、そのハードディスクドライブ１００に固有のメインプログラムを読み込むことができる。そして、このようにして読み込まれたメインプログラムに基づいて、運用起動手段１１１により、回転速度調整手段１３１を備えた運用制御手段１１３が形成される。この回転速度調整手段１３１がディスク１０１の回転速度をハードディスクドライブ１００の運用状態において適用すべき固有の回転速度まで上昇させることにより、ハードディスクドライブ１００を本来の性能で運用できるように準備を整える。
【００１９】
このように、本発明にかかわるハードディスクコントローラ１１０によれば、ハードディスクドライブ１００の本格運用に至るまでの準備処理を、ハードディスクドライブの機種によらない処理を行うブート手段１１２と、ハードディスクドライブの機種に依存する処理を行う運用制御手段１１３とにそれぞれ分担している。したがって、ハードディスクドライブの機種にかかわらず、同一のブート手段１１２を利用してハードディスクコントローラ１１０を構成することができる。すなわち、ハードディスクドライブの機種にかかわらず、ブート手段１１２を実現するためのブートプログラムを共用することができる。
【００２０】
請求項３の発明は、ハードディスクドライブ１００の運用に必要なメインプログラムを記録しているディスク１０１と、このディスク１０１からブート手段１１２によってメインプログラムを読み込み、運用起動手段１１１により、このメインプログラムに基づいてハードディスクドライブ１００の動作を制御する運用制御手段１１３を形成する構成のハードディスクコントローラ１１０を備えたハードディスクドライブ１１０において、ディスク１０１は、ハードディスクドライブの機種にかかわらない共通の回転速度および記録密度に対応するサーボ情報に基づいて、メインプログラムを記録しているシステム領域１０２を備えており、ハードディスクコントローラ１１０に備えられたブート手段１１２は、スピンドルモータ１０４を駆動して、ハードディスクドライブの機種にかかわらない共通の回転速度までディスク１０１の回転速度を上昇させる初期回転駆動手段１２１と、ディスク１０１のシステム領域１０２に、ディスク１０１に記録された情報にアクセスするためのヘッド１０３を移動させる初期位置決定手段１２２と、サーボ情報に基づいてヘッド１０３を移動させつつ、システム領域１０２からメインプログラムを読み出して、運用起動手段１１１に渡す読込手段１２３とを備えた構成であり、ハードディスクコントローラ１１０に備えられた運用制御手段１１３は、スピンドルモータ１０４の動作を制御して、運用状態に適した回転速度に、ディスク１０１の回転速度を一致させる回転速度調整手段１３１を備えた構成であることを特徴とする。
【００２１】
請求項３の発明では、ディスク１０１に備えられたシステム領域１０２には、共通の回転速度および共通の記録密度に対応したサーボ情報に基づいてメインプログラムが記録されている。したがって、ブート手段１１２に備えられた初期回転駆動手段１２１により、ディスク１０１の回転速度を共通の回転速度まで上昇させ、初期位置決定手段１２２により、ヘッド１０３をシステム領域１０２に移動した後に、読込手段１２３が、このサーボ情報に基づいて通常の読出処理を行うことにより、そのハードディスクドライブ１００に固有のメインプログラムを読み込むことができる。そして、このようにして読み込まれたメインプログラムに基づいて、運用起動手段１１１により、回転速度調整手段１３１を備えた運用制御手段１１３が形成される。この回転速度調整手段１３１がディスク１０１の回転速度をハードディスクドライブ１００の運用状態において適用すべき固有の回転速度まで加速することにより、ハードディスクドライブ１００を本来の性能で運用できるように準備を整える。
【００２２】
このように、本発明にかかわるハードディスクドライブ１００によれば、ディスク１０１のシステム領域１０２に、共通の回転速度に対応するサーボ情報に基づいてメインプログラムを記録しておくことにより、ハードディスクドライブの機種によらない処理を行う各手段からなるブート手段１１２によって、メインプログラムをディスクコントローラ１１０に読み込むことができる。つまり、ハードディスクドライブの機種にかかわらず、同一のブートプログラムを用いてブート手段１１２を形成することができる。
【００２３】
【発明の実施の形態】
以下、図面に基づいて、本発明の実施形態について詳細に説明する。
図３に、本発明にかかわるハードディスクドライブの実施形態を示す。
なお、図３に示した構成要素のうち、図５に示した構成要素と同等のものについては、図５に示した構成要素に付された符号と同一の符号を付して示し、説明を省略する。
図３に示したハードディスクドライブに備えられたディスク１０１は、システム領域１０２とユーザ領域とに分けられており、システム領域１０２には、全てのハードディスクドライブにおいて実現可能な共通の回転速度および共通の記録密度に対応する共通のサーボ情報が書き込まれている。また、このシステム領域１０２には、上述した共通のサーボ情報に従って、個々のハードディスクドライブに適合するメインプログラムが記録されている。このメインプログラムは、従来と同様の運用制御手順部に加えて、個々のハードディスクドライブが運用される状態における回転速度にディスク１０１の回転速度を一致させるための運用準備手順部を含んでいる。
【００２４】
一方、図３に示したハードディスクコントローラ１１０において、マスクＲＯＭ４１３は、後述する共通起動手順部２１１とプログラム読出手順部４１７とを含むブートプログラムを格納している。この共通起動手順部２１１は、ハードディスクドライブに電源が投入されてから、ディスク１０１を上述した共通の回転速度まで加速して起動準備を整えるまでの手順である。
【００２５】
図３に示したプロセッサ４１２は、まず、この共通起動手順部２１１に含まれる手順およびデータに従ってディスク制御部４１１に指示を送出する。起動準備が整った後に、プロセッサ４１２は、プログラム読出手順部４１７に含まれている手順およびデータに従って、ディスク１０１のシステム領域１０２に対して読み出し処理を行う。この読み出し処理により、ＲＡＭ４１４に、運用制御手順部４１８と運用準備手順部２１２とからなるメインプログラムが書き込まれる。
【００２６】
ここで、図３に示した各部と図２に示した各手段との対応関係について説明する。
図３に示した共通起動手順部２１１に従って、プロセッサ４１２が動作することにより、図２に示した初期回転駆動手段１２１および初期位置決定手段１２２の機能が実現される。一方、図２に示した読込手段１２３は、図３に示したプロセッサ４１２が、プログラム読出手順部４１７に従って動作することで実現される。また、図３に示した運用準備手順部２１２に従ってプロセッサ４１２が動作することにより、図２に示した回転速度調整手段１３１の機能が実現される。また、図３に示したスピンドルモータ４０４は、図２に示したスピンドルモータ１０４に相当する。一方、図２に示した運用起動手段１１１は、図３に示したマスクＲＯＭ４１３に格納されたブートプログラムに含まれる分岐命令などに従って、プロセッサ４１２がＲＡＭ４１４に格納されたメインプログラムの実行を開始することによって実現される。また、図２に示したブート手段１１２は、図３に示したマスクＲＯＭ４１３に格納されたブートプログラムに従って、同じく図３に示したプロセッサ４１２が、ディスク制御部４１１を介してモータ駆動部４０１を制御するとともにヘッド１０３によって読み出されたデータを受け取ることによって実現される。同様に、図２に示した運用制御手段１１３は、図３に示したＲＡＭ４１４に格納されるメインプログラムの運用制御手順部４１８に従って、プロセッサ４１２が、ディスク制御部４１１を介して、モータ駆動部４０１を制御するとともにヘッド１０３との間でデータの授受を行なうことによって実現される。なお、図２および図３に示したディスク１０１およびヘッド１０３のそれぞれは、図５に示したディスク４０３およびヘッド４０２のそれぞれと同等のものである。
【００２７】
次に、図３に示したハードディスクドライブの動作について説明する。
図４に、ハードディスクドライブを起動する動作を表す流れ図を示す。
ハードディスクドライブに電源が投入されると、図３に示したプロセッサ４１２は、マスクＲＯＭ４１３に格納されたブートプログラムの共通起動手順部２１１に従って動作を開始し、まず、ディスク制御部４１１に対して、スピンドルモータ４０４を起動して、共通の回転速度（例えば、５４００ｒｐｍ）まで加速する旨を指示する（ステップ３０１）。
【００２８】
その後、プロセッサ４１２は、ステップ３０２を繰り返してディスク１０１の回転速度が安定するのを待つ。そして、ディスク制御部４１１を介して、スピンドルモータ４０４の回転速度が上述した共通の回転速度で定常化した旨が通知されたときに、プロセッサ４１２はスピンドルモータ４０４による加速が完了したと判断し、ステップ３０２の肯定判定としてステップ３０３に進む。そして、プロセッサ４１２は、ディスク制御部４１１に対して、ヘッド１０３をディスク１０１に設けられたシステム領域１０２の先頭に移動する旨を指示する。
【００２９】
その後、プロセッサ４１２は、ステップ３０４を繰り返してヘッド１０３の移動が完了するまで待つ。そして、ディスク制御部４１１を介して、ヘッド１０３が上述したシステム領域１０２の先頭に移動した旨が通知されたときに、プロセッサ４１２は、ステップ３０４の肯定判定としてステップ３０５に進み、プログラム読出手順部４１７に従って、メインプログラムの読み込み動作を開始する。
【００３０】
このとき、プロセッサ４１２は、ヘッド１０３がシステム領域１０２から読み出したメインプログラムを、ディスク制御部４１１を介して受け取り、ＲＡＭ４１４に格納する（ステップ３０６）。そして、メインプログラムの読み出しが完了したときに、プロセッサ４１２は、例えば、メインプログラムが格納されたＲＡＭ４１４の領域の先頭アドレスへの分岐命令を実行することにより、今度は、メインプログラムの運用準備手順部２１２に従う処理を開始する（ステップ３０７）。
【００３１】
この運用準備手順部２１２に従って、プロセッサ４１２は、まず、メインプログラムに含まれている運用時における回転速度と上述した共通の回転速度とを比較し、この比較結果に基づいて、回転速度の変更が必要か否かを判定する（ステップ３０８）。このステップ３０８の肯定判定の場合に、プロセッサ４１２は、ディスク制御部４１１に対して、スピンドルモータ４０４の回転速度を、上述した運用時における回転速度（例えば、１５０００ｒｐｍ）まで加速する旨を指示する（ステップ３０９）。
【００３２】
その後、プロセッサ４１２は、ステップ３１０を繰り返してディスク１０１の回転速度が安定するのを待つ。そして、ディスク制御部４１１を介して、スピンドルモータ４０４の回転速度が、上述した運用時における回転速度で定常化した旨が通知されたときに、プロセッサ４１２は、ステップ３１０の肯定判定として、起動処理を終了する。
【００３３】
一方、運用時において適用すべき回転速度と上述した共通の回転速度とが一致している場合には、プロセッサ４１２は、回転速度の変更は不要であると判断し（ステップ３０８の否定判定）、そのまま、起動処理を終了する。
このようにして起動処理が終了した後、プロセッサ４１２は、従来と同様にして、メインプログラムの運用制御手順部４１８に従って、インタフェース制御部４１５を介してコンピュータなどの上位装置から入力される指示に応じて、ディスク制御部４１１を介してディスク１０１の記憶領域に対するアクセスを実行する。
【００３４】
上述したように、本発明のハードディスクドライブでは、全てのハードディスクドライブで実現可能な共通の回転速度でディスク１０１を回転させた状態でメインプログラムを読み込むので、ブートプログラムに個々のハードディスクドライブの機種に依存する情報を含める必要がない。したがって、あらゆる機種のハードディスクドライブを起動するためのブートプログラムを、ただ一つに集約することができる。
【００３５】
そして、このようなブートプログラムをマスクＲＯＭに記録したハードディスクコントローラは、いかなる回転速度が適用されるハードディスクドライブにも適用可能である。
もちろん、上述したようなブートプログラムをマスクＲＯＭに記録したハードディスクコントローラを単体で提供することも可能である。また、上述した共通起動手順部を含んだブートプログラムと、運用準備手順部を含んだメインプログラムとを組み合わせたハードディスクドライブの制御プログラムとして提供することも可能である。
【００３６】
ところで、本発明にかかわるハードディスクドライブでは、メインプログラムの読み込みをディスク１０１を低速で回転させた状態で行なうこと、そして、読み込みが完了した後に、本来の回転速度まで加速する手順が必要となる。しかし、これらのことが、ハードディスクドライブの起動に要する時間に与える影響はごくわずかである。
【００３７】
なぜなら、ディスクを低速で回転させている状態では、メインプログラムを読み込む速度自体は遅くなる代わりに、ディスクを高速で回転させながら読み込む場合に比べて、１回の読み込み処理でメインプログラムの読み込みが完了する確率が非常に高いからである。つまり、ディスクを高速に回転させて読み込む従来方式において、再三にわたるリトライを経てメインプログラムの読み込みを完了されるまでの時間と、ほぼ同等あるいはむしろ短い時間でメインプログラムの読み込み処理を完了することが期待できるからである。
【００３８】
また、ディスクの回転速度を加速するために要する時間も、高々数百ｍｓ程度であるので、メインプログラムの読み込みに要する時間についての影響を考え合わせれば、全体としては、人間が意識するほどの遅延は発生しないと考えられる。
【００３９】
【発明の効果】
以上に説明したように、本発明にかかわるプログラムブート方法によれば、それぞれ異なる回転速度で運用することを想定した様々な機種のハードディスクドライブにそれぞれ対応するディスクコントローラに、共通のブートプログラムを搭載することが可能である。これにより、ハードディスクドライブの機種にかかわらず、それぞれに備えられたディスクからメインプログラムを読み出すことが可能なハードディスクコントローラおよびこのようなハードディスクコントローラを備えたハードディスクドライブを実現することができる。
【００４０】
つまり、本発明にかかわるプログラムブート方法に従って、ディスクコントローラおよびハードディスクドライブを構成すれば、ディスクの回転速度が向上するごとに、新たなブートプログラムを開発する必要がない。したがって、新たなブートプログラムの開発に伴うディスクコントローラＬＳＩの検証コストもまた不要とすることができる。これにより、ハードディスクコントローラおよびハードディスクドライブの開発に要するコストを大幅に削減することができるので、極めて有用である。
【図面の簡単な説明】
【図１】本発明にかかわるプログラムブート方法の原理を示す図である。
【図２】本発明にかかわるハードディスクコントローラの原理ブロック図である。
【図３】本発明にかかわるハードディスクドライブの実施形態を示す図である。
【図４】ハードディスクドライブを起動する動作を表す流れ図である。
【図５】ハードディスクコントローラの一般的な構成例を示す図である。
【符号の説明】
１００　ハードディスクドライブ
１０１、４０３　ディスク
１０２　システム領域
１０３、４０２　ヘッド
１０４，４０４　スピンドルモータ
１１１　運用起動手段
１１２　ブート手段
１１３　運用制御手段
１２１　初期回転駆動手段
１２２　初期位置決定手段
１２３　読込手段
１３１　回転速度調整手段
１１０、４１０　ハードディスクコントローラ
２１１　共通起動手順部
２１２　運用準備手順部
４０１　モータ駆動部
４０５　サーボモータ
４１１　ディスク制御部
４１２　プロセッサ
４１３　マスクＲＯＭ
４１４　ＲＡＭ
４１６　運用起動手順部
４１７　プログラム読出手順部
４１８　運用制御手順部
【図１】
2004062977.tif 000003
【図２】
2004062977.tif 000004
【図３】
2004062977.tif 000005
【図４】
2004062977.tif 000006
【図５】
2004062977.tif 000007