(57)【要約】【課題】  ライトアクセスやリードアクセスに伴うＣＰＵの占有を抑制することのできる磁気ディスク装置を提供する。【解決手段】  磁気ディスク装置は、ＣＰＵ１１０とは別に、ドライバＩＣ用シーケンサ１１５を有する。ドライバＩＣ用シーケンサは、ＣＰＵ１１０からのトリガ、ＶＣＭ用シーケンサ１１３からのトリガ、又はサーボマーク検出信号を受けて、ＲＡＭ１１５ａに記憶されたコマンド列を実行し、ドライバＩＣ１２４に対してリードアクセス及びライトアクセスを行うことにより、加速度の測定、温度の測定、ボイスコイルモータに生じる逆起電圧の測定等を行う。【選択図】      図２
2007035225.tif 000002
【特許請求の範囲】
【請求項１】
ディスクからのデータの読出し及び前記ディスクへのデータの書込みを行うヘッドを動かす駆動モータと、
前記駆動モータに電流を供給することにより前記駆動モータを駆動させる駆動モータ制御手段と、
加速度に応じた電圧を出力する加速度センサと、
前記加速度センサから出力される電圧に相当する値を１回または複数回測定し、これらの測定値を加算するシーケンサと、
前記シーケンサでの加算値に基づいて、前記駆動モータ制御手段を制御するＣＰＵと
を備えることを特徴とする磁気ディスク装置。
【請求項２】
ディスクからのデータの読出し及び前記ディスクへのデータの書込みを行うヘッドを動かす駆動モータと、
前記駆動モータに電流を供給することにより前記駆動モータを駆動させると共に、前記駆動モータで発生する逆起電圧に基づく電圧を出力する駆動モータ制御手段と、
前記駆動モータ制御手段から出力される電圧に相当する電圧を複数回測定し、これら測定値を加算するシーケンサと、
前記シーケンサでの加算値に基づいて、前記駆動モータ制御手段を制御するＣＰＵと
を備えることを特徴とする磁気ディスク装置。
【請求項３】
請求項１又は請求項２記載の磁気ディスク装置において、
前記ＣＰＵから予め定められたタイミングで、前記ＣＰＵから予め定められた出力を前記駆動モータ制御手段に対して行う駆動モータ制御用シーケンサ
をさらに備えることを特徴とする磁気ディスク装置。
【請求項４】
温度に応じた電圧を出力する温度センサと、
前記温度センサから出力される電圧に相当する値を複数回測定し、これらの測定値を加算するシーケンサと、
ディスクからのデータの読出しの際にヘッドに供給するリード電流、及び前記ディスクへのデータの書込みの際に前記ヘッドに供給するライト電流を、前記シーケンサでの加算値に基づいて制御するＣＰＵと
を備えることを特徴とする磁気ディスク装置。
【請求項５】
請求項４記載の磁気ディスク装置において、
前記ヘッドを動かす駆動モータと、
前記駆動モータに電流を供給することにより前記駆動モータを駆動させる駆動モータ制御手段と、
前記ＣＰＵから予め定められたタイミングで、前記ＣＰＵから予め定められた出力を前記駆動モータ制御手段に対して行う駆動モータ制御用シーケンサと
をさらに備えることを特徴とする磁気ディスク装置。
【請求項６】
前記シーケンサは、前記ＣＰＵ及び前記駆動モータ制御用シーケンサのいずれかからのトリガを受けて、測定を開始すること
を特徴とする請求項３又は請求項５記載の磁気ディスク装置。
【請求項７】
前記シーケンサは、除算機能を有さないこと
を特徴とする請求項１、請求項２、又は請求項４記載の磁気ディスク装置。
【請求項８】
請求項１、請求項２、又は請求項４記載の磁気ディスク装置において、
ディスクに記録されたサーボ情報を検出するサーボ情報検出手段
をさらに備え、
前記シーケンサは、前記サーボ情報検出手段による前記サーボ情報の検出、及び前記ＣＰＵからのトリガのいずれかを受けて、測定を開始すること
を特徴とする磁気ディスク装置。
【請求項９】
温度に応じた電圧を出力する温度センサと、
加速度に応じた電圧を出力する加速度センサと、
ディスクからのデータの読出し及び前記ディスクへのデータの書込みを行うヘッドを動かす駆動モータと、
前記駆動モータに電流を供給することにより前記駆動モータを駆動させると共に、前記駆動モータで発生する逆起電圧に基づく電圧を出力する駆動モータ制御手段と、
前記温度センサ、前記加速度センサ、及び前記駆動モータ制御手段の内、いずれか１つの電圧を出力する切換手段と、
前記切換手段から出力される電圧値を、デジタル値に変換するＡＤ変換手段と、
前記切換手段から出力される電圧を複数回測定し、これらの測定値を加算するシーケンサと、
前記ディスクからのデータの際にヘッドに供給するリード電流、及び前記ディスクへのデータの書込みの際に前記ヘッドに供給するライト電流を、前記シーケンサでの前記温度センサから出力される電圧に相当する値の加算値に基づいて制御し、
前記加速度センサ、及び前記駆動モータ制御手段から出力される電圧に相当する値の前記シーケンサでの加算値に基づいて、前記駆動モータ制御手段を制御するＣＰＵと
を備えることを特徴とする磁気ディスク装置。
【請求項１０】
請求項９記載の磁気ディスク装置において、
ディスクに記録されたサーボ情報を検出するサーボ情報検出手段
をさらに備え、
前記シーケンサは、前記ＣＰＵからのトリガ、及び前記サーボ情報検出手段による前記サーボ情報の検出のいずれかを受けて、測定を開始すること
を特徴とする磁気ディスク装置。
【請求項１１】
請求項１０記載の磁気ディスク装置において、
前記駆動モータ制御手段に対して、前記ＣＰUから予め定められたタイミングで、前記ＣＰＵから予め定められた出力を前記駆動モータ制御手段に対して行う駆動モータ制御用シーケンサ
をさらに備え、
前記シーケンサは、前記ＣＰＵからのトリガ、前記駆動モータ制御用シーケンサからのトリガ、及び前記サーボ情報検出手段による前記サーボ情報の検出のいずれかを受けて、測定を開始すること
を特徴とする磁気ディスク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気ディスク装置に関する。
【背景技術】
【０００２】
通常、磁気ディスク装置の持つＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）はファームウェアを実行することにより、スピンドルモータやボイスコイルモータの制御、位置情報を含むサーボ信号の処理のみならず、センサからの出力に基づく温度や加速度の計算、ここで計算した温度や加速度に応じた制御等、様々な処理を行う。ここで特許文献１には、サーボ制御に対する応答を向上させるため、マイクロコンピュータとは別に、サーボ制御に伴う高速計算を実行するデジタルシグナルプロセッサを備えるディスクドライブが記載されている。
【０００３】
尚一般に、スピンドルモータドライバやボイスコイルモータドライバは、ドライバＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）と呼ばれる１つのＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）上に実装されており、ＣＰＵは当該ドライバＩＣへライトアクセスを行うことで、スピンドルモータドライバやボイスコイルモータドライバへの制御を行うことができる。また、温度センサや加速度センサからの出力電圧や、ボイスコイルモータに生じる逆起電圧は、通常ドライバＩＣ上でアナログ値からデジタル値に変換された後、ＣＰＵ等の外部へ出力されている。即ち、加速度や温度等を取得するには、ドライバＩＣへのリードアクセスを行う必要がある。
【特許文献１】特開平０７−００５９９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の磁気ディスク装置では、ドライバＩＣへのライトアクセスやリードアクセスを行う際、例えばスピンドルモータに生じる逆起電圧の読込み（即ちリードアクセス）を複数回行うことにより逆起電圧の計算を行う場合や、ボイスコイルモータドライバへの制御を行うための出力（即ちライトアクセス）を行う場合には、その間ＣＰＵを当該処理に占有することとなるので、他の処理を行うことができないという課題があった。
【０００５】
これを改善するために、例えばボイスコイルモータドライバに対して所定の出力を所定の時刻に行うシーケンサを設けることも考えられる。このようなシーケンサを設ければ、少なくともボイスコイルモータドライバへのライトアクセス時に生じるＣＰＵの占有を抑制することができるが、例えばボイスコイルモータに生じる逆起電圧の計算など、ドライバＩＣからのリードアクセスを伴う処理については、ＣＰＵの負荷を軽減することができない。
【０００６】
尚、特許文献１には、マイクロコンピュータとデジタルシグナルプロセッサとを備えるディスクドライブが記載されているが、この特許文献１記載のデジタルシグナルプロセッサは、サーボ制御に特化したものであり、又、計算速度を高めることを目的として設けられたものである。即ち、上述のように、たとえば温度や加速度、ボイスコイルモータの逆起電圧等を算出するような機能を有するものではなく、又、ドライバＩＣへのライトアクセスやリードアクセスに伴うＣＰＵの占有を抑制するものではない。
【０００７】
よって本発明は、ライトアクセスやリードアクセスに伴うＣＰＵの占有を抑制することのできる磁気ディスク装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の請求項１記載の磁気ディスク装置は、ディスクからのデータの読出し及び前記ディスクへのデータの書込みを行うヘッドを動かす駆動モータと、前記駆動モータに電流を供給することにより前記駆動モータを駆動させる駆動モータ制御手段と、加速度に応じた電圧を出力する加速度センサと、前記加速度センサから出力される電圧に相当する値を１回または複数回測定し、これらの測定値を加算するシーケンサと、前記シーケンサでの加算値に基づいて、前記駆動モータ制御手段を制御するＣＰＵとを備えることを特徴とする。
【０００９】
本発明の請求項２記載の磁気ディスク装置は、ディスクからのデータの読出し及び前記ディスクへのデータの書込みを行うヘッドを動かす駆動モータと、前記駆動モータに電流を供給することにより前記駆動モータを駆動させると共に、前記駆動モータで発生する逆起電圧に基づく電圧を出力する駆動モータ制御手段と、前記駆動モータ制御手段から出力される電圧に相当する電圧を複数回測定し、これら測定値を加算するシーケンサと、前記シーケンサでの加算値に基づいて、前記駆動モータ制御手段を制御するＣＰＵとを備えることを特徴とする。
【００１０】
本発明の請求項４記載の磁気ディスク装置は、温度に応じた電圧を出力する温度センサと、前記温度センサから出力される電圧に相当する値を複数回測定し、これらの測定値を加算するシーケンサと、ディスクからのデータの読出しの際にヘッドに供給するリード電流、及び前記ディスクへのデータの書込みの際に前記ヘッドに供給するライト電流を、前記シーケンサでの加算値に基づいて制御するＣＰＵとを備えることを特徴とする。
【００１１】
本発明の請求項９記載の磁気ディスク装置は、温度に応じた電圧を出力する温度センサと、加速度に応じた電圧を出力する加速度センサと、ディスクからのデータの読出し及び前記ディスクへのデータの書込みを行うヘッドを動かす駆動モータと、前記駆動モータに電流を供給することにより前記駆動モータを駆動させると共に、前記駆動モータで発生する逆起電圧に基づく電圧を出力する駆動モータ制御手段と、前記温度センサ、前記加速度センサ、及び前記駆動モータ制御手段の内、いずれか１つの電圧を出力する切換手段と、前記切換手段から出力される電圧値を、デジタル値に変換するＡＤ変換手段と、前記切換手段から出力される電圧を複数回測定し、これらの測定値を加算するシーケンサと、前記ディスクからのデータの際にヘッドに供給するリード電流、及び前記ディスクへのデータの書込みの際に前記ヘッドに供給するライト電流を、前記シーケンサでの前記温度センサから出力される電圧に相当する値の加算値に基づいて制御し、前記加速度センサ、及び前記駆動モータ制御手段から出力される電圧に相当する値の前記シーケンサでの加算値に基づいて、前記駆動モータ制御手段を制御するＣＰＵと
【００１２】
を備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ライトアクセスやリードアクセスに伴うＣＰＵの占有を抑制することのできる磁気ディスク装置を提供することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の磁気ディスク装置について、図面を参照しながら説明する。
【実施例１】
【００１５】
図１は、本発明の実施例にかかる磁気ディスク装置（以下、ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）の構成を示すブロック図である。ＨＤＤ１００は、ディスク１０１と、ディスク１０１を回転させるスピンドルモータ（以下、ＳＰＭ）１０２と、ディスク１０１からのデータ読出し及びデータ書込みを行うヘッド１０３と、ヘッド１０３を支持するアクチュエータ１０４と、ヘッド１０３を支持するアクチュエータ１０４と、アクチュエータ１０４を駆動させるボイスコイルモータ（以下、ＶＣＭ）１０５と、ヘッド１０３から読み出されたリード信号を増幅し、ライトデータをライト電流に変換するヘッドアンプ１０６と、リードデータ及びライトデータの処理を行うリード／ライトチャネル１０７と、ホストからの制御信号及びデータの入出力を行うハードディスクコントローラ１０８と、バッファメモリ１０９と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１２と、ＶＣＭ１０５を制御するために所定のタイミングで所定の出力を行うＶＣＭ用シーケンサ１１３と、リード・ライトチャネル１０７、ＣＰＵ１１０、若しくはＶＣＭ用シーケンサ１１３のいずれかからのトリガを選択するマルチプレクサ（以下、ＭＵＸ）１１４と、ＭＵＸ１１４から出力されるトリガを受けて所定のプログラムを実行するドライバＩＣ用シーケンサ１１５と、シリアルインタフェース（以下、ＳＩＯ）１１６と、加速度センサ１１７と、温度センサ１１８と、ＳＩＯ１１９と、ＶＣＭ１０５に電流を供給するＶＣＭドライバ１２０と、ＳＰＭ１０２に電流を供給するＳＰＭドライバ１２１と、アンプ１２２と、ＶＣＭドライバ１２０、加速度センサ１１７、若しくは温度センサ１１８のいずれかを選択し、電圧を出力するＭＵＸ１２３と、ＭＵＸ１２３から出力された電圧を、デジタル値に変換するＡＤコンバータ（以下、ＡＤＣ）１２４とから構成される。尚、上記構成のうち、ＳＩＯ１１９、ＶＣＭドライバ１２０、ＳＰＭドライバ１２１、アンプ１２２、ＭＵＸ１２３、ＡＤＣ１２４は、ドライバＩＣ１２４上に実装される。
【００１６】
ディスク１０１のディスク面は、データが磁気記録される記録面をなしている。この記録面には、複数のサーボ領域１０１ａがディスク１０１の半径方向に放射状に、且つディスク１０１の円周方向に等間隔で離散的に配置されている。各サーボ領域１０１ａには、ヘッド１０６のシーク・位置決め制御に必要な位置情報を含むサーボ情報が記録されている。隣接するサーボ領域１０１ａの間はデータ領域となっており、データ領域にはデータセクタが複数個配置されている。また、ディスク１０１の記録面には、同心円状の多数のトラック１０１ｂが形成されている。尚、図１の例ではディスク１つの１面しか示していないが、ディスクの裏面にデータを書込めるようにしてもよく、また、ディスクを複数有していても良い。
【００１７】
ＳＰＭ１０２は、モータドライバ１０８から駆動電流の供給を受け、ディスク１０１を高速に回転させる。
ヘッド１０３は、ディスク１０１の記録面に対応して配置され、ディスク１０１へのデータの書込み及びデータ読出しに用いられる。ヘッド１０３はヘッド移動機構としてのアクチュエータ１０４に取り付けられている。ヘッド１０３は、アクチュエータ１０４の回動に従ってディスク１０１の半径方向に移動する。これにより、ヘッド１０３は目標トラック上にシーク・位置決めされる。
【００１８】
アクチュエータ１０４は、ヘッド１０３を支持している。アクチュエータ１０４は駆動源となるＶＣＭ１０５を有しており、このＶＣＭ１０５により回動駆動される。ＶＣＭ１０５は、ＶＣＭドライバ１２０から供給される駆動電流により駆動される。
【００１９】
ヘッドアンプ１０６は、ヘッド１０３に接続され、ヘッド１０３により読み出されたリード信号を増幅すると共に、ディスク１０１に書込むライトデータをライト電流に変換する役割を果たす。
【００２０】
リード／ライトチャネル１０７は、ヘッドアンプ１０６に接続され、ＣＰＵ１１０の制御の下、ヘッドアンプ１０６により増幅されたリード信号に対するＡ／Ｄ変換処理、ライトデータの符号化処理、リードデータの復号化処理、Ａ／Ｄ変換後のデータからサーボ情報を抽出するサーボ検出処理等の各種の信号処理を実行する信号処理回路である。また、サーボを検出したことを知らせるサーボマーク検出信号を、ＭＵＸ１１４を介してドライバＩＣ用シーケンサ１１５に対して出力する。
【００２１】
ハードディスクコントローラ１０８は、ホストとの間のコマンド及びデータの通信と、リード／ライトチャネル１０７を介して行われるディスク１０１との間のデータ転送の制御等を司る。ハードディスクコントローラ１０８は、ホスト、リード／ライトチャネル１０７、ＣＰＵ１１０、バッファメモリ１０９と接続されている。尚、ホストとは、ＨＤＤ１０を利用する例えばパーソナルコンピュータ等の情報処理装置である。
【００２２】
バッファメモリ１０９は、ハードディスクコントローラ１０８に接続される。ディスク１０１から読み出されたデータは、ホストへ出力する際、ハードディスクコントローラ１０８によりバッファメモリ１０９に一時的に記憶され、また、ディスク１０１へ書込むためにホストから入力されたデータも、ハードディスクコントローラ１０８によりバッファメモリ１０９に記憶される。
【００２３】
ＣＰＵ１１０は、ＲＯＭ１１１に格納され、ＲＡＭ１１２に展開された制御プログラムに基づいて、ＶＣＭドライバ１２０、ＳＰＭドライバ１２１、リード／ライトチャネル１０７等への制御を行う。さらに、ＣＰＵ１１０は、ＶＣＭ用シーケンサやドライバＩＣ用シーケンサ１１５が有するＲＡＭへの書込みを行い、又、ドライバＩＣ用シーケンサ１１５が実行するプログラムのトリガを与える。更に、ＣＰＵ１１０は、ドライバＩＣ用シーケンサ１１５で測定・計算する温度、加速度、又はＶＣＭ１０５に生じる逆起電圧に応じた各種の制御を行う。
【００２４】
ＲＯＭ１１１は、ＣＰＵ１１０上で実行される制御プログラムが予め記憶された不揮発性のメモリである。ＲＡＭ１１２には、ＣＰＵ１１０で実行される制御プログラムが展開、実行され、また、ＲＡＭ１１２は制御プログラム実行にあたり、ワーク領域として使用される。
【００２５】
ＶＣＭ用シーケンサ１１３は、ＳＩＯ１１６を介してドライバＩＣ１２４に接続されている。ＶＣＭ用シーケンサ１１３は、ＲＡＭを有しており、ＣＰＵ１１０は当該ＲＡＭに、ＶＣＭ用シーケンサ１１３からドライバＩＣ１２４のＶＣＭドライバ１２０に対して出力を行う時間と出力値を書込む。ＶＣＭ用シーケンサ１１３は、さらにタイマを有しており、ＲＡＭに記憶された時間と、タイマの刻む時間とを比較し、両者が一致すれば、ＲＡＭに記憶された出力値をＳＩＯ１１６を介してドライバＩＣ１２４のＶＣＭドライバ１２０に対して出力する。ＣＰＵ１１０も、ＶＣＭ用シーケンサ１１３とは別個にＶＣＭドライバ１２０に対して出力を行うことができるので、ＶＣＭ用シーケンサ１１３を設けることは、例えば１つのサーボセクタの間に２回以上のＶＣＭ制御量を出力するマルチレート制御の実現に有効である。また、ＶＣＭ用シーケンサ１１３は、ＭＵＸ１１４を介してドライバＩＣ用シーケンサ１１５がコマンド列を実行する際のトリガを与えることができる。
【００２６】
ＭＵＸ１１４は、ドライバＩＣ用シーケンサ１１５に対してトリガを与えるのが、ＣＰＵ１１０、ＶＣＭ用シーケンサ１１３、又はリード／ライトチャネル１０７のうち、いずれであるかを選択する。
【００２７】
ドライバＩＣ用シーケンサ１１５はＲＡＭを有し、当該ＲＡＭ上に予め書込まれているコマンド列に従って、ＳＩＯ１１６を介してドライバＩＣ１２４に対するリードアクセス、若しくはライトアクセスを行う。リード／ライトチャネル１０７から供給されるサーボマーク検出信号、ＣＰＵ１１０からのトリガ、又はＶＣＭ用シーケンサ１１３からのトリガが、ＭＵＸ１１４を介してドライバＩＣ用シーケンサ１１５に与えられると、当該コマンド列を実行する。
【００２８】
ＳＩＯ１１６は、ＣＰＵ１１０、ＶＣＭ用シーケンサ１１３、又はドライバＩＣ用シーケンサ１１５が、ドライバＩＣ１２４に対して入出力を行うためのシリアルインタフェースである。
【００２９】
加速度センサ１１７は、ＨＤＤ１００に働く加速度を検出し、加速度に応じた電圧をＭＵＸ１２３へ出力する。温度センサ１１８は、ＨＤＤ１００の筐体内の温度を検出し、温度に応じた電圧をアンプ１２２へ出力する。
【００３０】
ＳＩＯ１１９は、ドライバＩＣ１２４側のシリアルインタフェースである。ドライバＩＣ１２４からＳＩＯ１１６を介してＣＰＵ１１０やドライバＩＣ用シーケンサ１１５に対して行われる出力や、ＣＰＵ１１０やＶＣＭ用シーケンサ１１３、ドライバＩＣ用シーケンサ１１５からＳＩＯ１１６を介してドライバＩＣ１２４に対して行われる入力は、ＳＩＯ１１９を介する。
【００３１】
ＶＣＭドライバ１２０は、ＶＣＭ１０５に駆動電流を供給し、動作させる。この際、ＶＣＭ１０５には、ＣＰＵ１１５、ＶＣＭ用シーケンサ１１３、又はドライバＩＣ用シーケンサ１１５から指定された量の駆動電流を供給する。更に、ＶＣＭドライバ１２０は、ＶＣＭ１０５に生じる逆起電圧を、ＭＵＸ１２３に出力する。
【００３２】
ＳＰＭドライバ１２１は、ＳＰＭ１０２に駆動電流を供給し、動作させる。この際、ＳＰＭ１０２には、ＣＰＵ１１０から指定された量の駆動電流を供給する。
アンプ１２２は、加速度センサ１１７から出力される電圧を増幅する機能を有する。通常、加速度センサ１１７は、ＨＤＤ１００に対して衝撃が与えられたか否かの例えば二値化された情報を得るためのショックセンサとして使用される。しかしながら、ＣＰＵ１１０でＨＤＤ１００に与えられた加速度に応じた処理をする際には、加速度に応じた電圧を出力する必要がある。即ち、アンプ１２２は、加速度センサ１１７がどのように使用されるかで、電圧の増幅幅を切り換える機能を有する。この切り換えは、ＣＰＵ１１０若しくはドライバＩＣ用シーケンサ１１５からの制御により行われる。
【００３３】
ＭＵＸ１２３は、ＳＩＯ１１９を介して行われるＣＰＵ１１０又はドライバＩＣ用シーケンサ１１５の制御の下、温度センサ１１８から出力される電圧、ＶＣＭドライバ１２０から出力された電圧、又は加速度センサ１１７から出力された電圧（正確には、加速度センサ１１７から出力され、アンプ１２２で増幅された電圧）の内、いずれか１つを選択してＡＤＣ１２４へ出力する。
【００３４】
ＡＤＣ１２４はＭＵＸ１２３からの出力電圧をデジタル値に変換する。即ち、ＡＤＣ１２４は、加速度センサ１１７で測定した加速度、温度センサ１１８で測定した温度、又はＶＣＭドライバ１２０から出力されるＶＣＭ１０５に生じる逆起電圧をデジタル値として出力する。
【００３５】
図２は、ＨＤＤ１００の内、ドライバＩＣ用シーケンサ１１５に係る部分の構成について示す図である。
ＣＰＵ１１０は先述の通り、ドライバＩＣ用シーケンサ１１５から得られる、温度、加速度、ＶＣＭ１０５に生じる逆起電圧に基づいて、各種の制御を行う。例えば、ヘッド１０３をロード若しくはアンロードさせる動作の際、ＶＣＭ１０５に生じる逆起電圧を測定するが、逆起電圧を検出する検出回路は温度の影響を受けやすいので、ＣＰＵ１１０は、ドライバＩＣ用シーケンサ１１５で測定した温度に基づいて、この逆起電圧の補正を行う。又、リード／ライト時の電流量も温度の影響を受けやすいので、ＣＰＵ１１０は、同様にドライバＩＣ用シーケンサで測定した温度に基づいて、ヘッドアンプ１０６に対してリード／ライト電流の制御を行う。ドライバＩＣ用シーケンサ１１５で測定した加速度に基づく処理としては、例えば、ある方向に加速度が生じると、ヘッド１０３の位置決めの際に誤差を生じる要因となるので、ＣＰＵ１１０は外乱抑圧のために振動のフィードフォワードを行い、ヘッド１０３の位置決めの際の位置誤差の修正を行い、ＶＣＭドライバ１２０を制御する処理等がある。ドライバＩＣ用シーケンサ１１５が測定・計算した逆起電圧に応じたＣＰＵ１１０の処理としては、ヘッド１０３のロード若しくはアンロード時の速度を制御するために、ＶＣＭドライバ１２０に対する制御量を算出する処理等が挙げられる。
【００３６】
ＶＣＭ用シーケンサ１１３は、ＲＡＭ１１３ａを有している。ＣＰＵ１１０はこのＲＡＭ１１３ａに、ＶＣＭ用シーケンサ１１３からＶＣＭドライバ１２０に対して出力を行う時間と、その出力値を１以上書込むことができる。ＶＣＭ用シーケンサ１１３は、タイマ１１３ｂも有しており、ＲＡＭ１１３ａに記憶された時間と、タイマ１１３ｂの刻む時間とを比較し、両者が一致すれば、指定された出力値をＳＩＯ１１６を介してＶＣＭドライバ１２０に対して行う。また、ＶＣＭ用シーケンサ１１３は、ドライバＩＣ用シーケンサ１１５にトリガを出力することができる。
【００３７】
ドライバＩＣ用シーケンサ１１５は、ＲＡＭ１１５ａを有している。ＲＡＭ１１５ａには、予め実行するコマンド列が記憶されており、各コマンドは、コマンドの種類、当該コマンドにかかる出力値、当該コマンドを実行するまでの待ち時間であるＤｅｌａｙ、当該コマンドを実行する繰り返し回数であるＲｅｐｅａｔ回数を含む。ドライバＩＣ用シーケンサ１１５は、ＣＰＵ１１０からのトリガ、ＶＣＭ用シーケンサ１１３からのトリガ、若しくはリード／ライトチャネル１０７からのサーボマーク検出信号のいずれかが入力されると、ＲＡＭ１１５ａに記憶されたコマンド列を実行する。
【００３８】
尚、ドライバＩＣ用シーケンサは、コマンド列の実行により、温度センサ１１８での温度の測定値、加速度センサ１１７での加速度の測定値、若しくはＶＣＭ１０５に生じる逆起電圧の測定値を複数回読込み、これを加算する機能を有する。ＣＰＵ１１０は、ドライバＩＣ用シーケンサで加算した加算値を読込み回数で除算することにより、測定値の平均を求めることができる。このように複数回の読込みを行い、平均を取ることで、測定値の信頼度を向上させることができる。
【００３９】
図３（ａ）は、ドライバＩＣ用シーケンサ１１５が実行するコマンドコードの一覧の例である。図３（ａ）の例では、ドライバＩＣに対する書込みを行うライトコマンド「１０ｈ」、ドライバＩＣからの読込みを行うリードコマンド「２０ｈ」、ドライバＩＣからの実際のデータの読込みを伴わないリードコマンド、即ちダミーリードコマンドである「３０ｈ」、及びコマンド列の終了を示す「ＦＦｈ」の４種類のコマンドコードをハードウエアシーケンサ１１５は実行する。
【００４０】
図３（ｂ）は、ドライバＩＣ用シーケンサ１１５が実行するコマンド列の例である。尚、このコマンド列の例は、温度センサ１１８から出力される温度をＡＤＣ１２４でデジタル値に変換した値を３回読込み、合計を行うものである。
【００４１】
まず１行目のコマンドである「１０ｈ」、即ちライトコマンドを実行する。このとき、書込むデータは「８０２２ｈ」であるが、ここでこの値は、ドライバＩＣ１２４のＭＵＸ１２３を温度センサ１１８に切り換えるものであるとする。即ち、１行目のコマンドを実行することにより、ＭＵＸ１２３は温度センサ１１８の出力電圧を出力するようになる。尚、ここでＤｅｌａｙは００ｈ（「ｈ」は１６進数であることを示す）、即ち０クロックであるので当該コマンドを実行する前に待ち時間はなく、さらにＲｅｐｅａｔ回数が０１ｈ、即ち１回であるので、ドライバＩＣ用シーケンサ１１５は、１行目のコマンドを１回だけ実行する。
【００４２】
次に、２行目のコマンドである「３０ｈ」、即ちダミーリードを実行する。このときのデータは「Ｂ０００ｈ」であるが、この上位４ビットでドライバＩＣ１２４のＡＤＣ１２４に割り当てられたレジスタを指定することにより、ＡＤＣ１２４がＡＤ変換を開始する。ここでＤｅｌａｙは６４ｈ、即ち１００クロックであるので、１００クロック待ってから当該コマンドを実行する。Ｒｅｐｅａｔ回数は０１ｈ、即ち１回であるので、ドライバＩＣ用シーケンサ１１５は、２行目のコマンドを１回だけ実行する。
【００４３】
ダミーリードの処理が終われば、ドライバＩＣ用シーケンサ１１５は、３行目のコマンドである「２０ｈ」、即ちリードコマンドを実行する。このときのデータは「Ｂ０００ｈ」であるが、この上位４ビットは先述の通りＡＤＣ１２４に割り当てられたレジスタであり、これによりＡＤＣ１２４からデータを読込むことができるようになる。尚、下位１２ビットは、ＡＤＣ１２４から出力される。即ち、この場合には、温度センサ１１８からの出力電圧をＡＤＣ１２４がデジタル値に変換したものが、下位１２ビットに入ることとなり、ドライバＩＣ用シーケンサ１１５は、この下位１２ビットの情報を読込むことにより、温度を得ることができる。Ｄｅｌａｙは１４ｈ、即ち２０クロックであるので、当該ライトコマンドを実行する前に２０クロック待つ。さらに、Ｒｅｐｅａｔ回数は０３ｈであるので、ドライバＩＣ用シーケンサ１１５は、当該コマンドを３回実行する、すなわち温度を３回ＡＤＣ１２４から読込み、この合計を求める。この処理が終われば、次のコマンドは「ＦＦｈ」であるので、処理を終了する。
【００４４】
以上の処理は、転送時間を除いても全部で１００＋２０×３＝１６０クロックの実行時間が必要となる。ドライバＩＣ用シーケンサ１１５がなければ、全てＣＰＵ１１０上で実行することとなり、この間ＣＰＵ１１０は他の処理を行えないこととなるが、ＣＰＵ１１０とは別のハードウェアであるドライバＩＣ用シーケンサ１１５上で当該処理を行うことができるので、ＣＰＵ１１０は、その間他の処理を行うことができるようになる。
【００４５】
他の例である、加速度を測定する場合について簡単に説明すると、まず、ドライバＩＣ用シーケンサ１１５は、ドライバＩＣ１２４のアンプ１２２に対しライトコマンドを実行し、加速度に応じた電圧が出力されるようにする。先述の通り、アンプ１２２は衝撃が与えられたか否かを知るためのショックセンサとして通常使用されるため、加速度に応じた電圧を出力させるには、アンプ１２２の出力を切り換える必要があるからである。また、ドライバＩＣ用シーケンサ１１５は、ＭＵＸ１２３をアンプ１２２を介した加速度センサ１１７からの出力に切り換える。次にドライバＩＣ用シーケンサ１１５は、ドライバＩＣ用シーケンサ１１５は、リードコマンドを実行し、加速度センサ１１７からの出力電圧に基づくＡＤＣ１２４から出力されるデータを読込む。その後、ドライバＩＣ用シーケンサ１１５は、ドライバＩＣ１２４のアンプ１２２に対しライトコマンドを実行し、ショックセンサとして使用する際の出力を行えるように、アンプ１２２の出力を切り換える。尚、この例では加速度の測定を１度しか行っていないが、ドライバＩＣ用シーケンサ１１５は加速度の測定を複数回行い、加算してもよい。
【００４６】
次に、ドライバＩＣ用シーケンサ１１５の処理の流れについて、図４を参照しながら説明する。図４は、ドライバＩＣ用シーケンサ１１５の処理の流れを示すフローチャートである。
【００４７】
ドライバＩＣ用シーケンサ１１５は、トリガを検出したかどうかを判断する（Ｓ５０１）。このトリガは、ＣＰＵ１１０から出力されたトリガ、ＶＣＭ用シーケンサ１１３から出力されたトリガ、若しくはリード／ライトチャネル１０７から出力されたサーボマーク検出信号の内、ＭＵＸ１１４で選択されたものである。トリガが検出されなければ（Ｓ５０１のＮｏ）、ドライバＩＣ用シーケンサ１１５は、トリガの検出を待つ（Ｓ５０１）。
【００４８】
ドライバＩＣ用シーケンサ１１５は、トリガを検出すれば（Ｓ５０１のＹｅｓ）、コマンド列実行中であることを示すフラグを立てる（Ｓ５０２）。ＣＰＵ１１０は、ドライバＩＣ用シーケンサ１１５のこのフラグにアクセスし、当該フラグが立っている場合にはコマンド列が実行中であり、フラグが下りている場合にはコマンド列の実行を終えたことがわかる。
【００４９】
さらに、これから実行するコマンド列で読込む値の合計値を入れる変数Ｓｕｍを初期化する（Ｓ５０３）。即ち、Ｓｕｍ＝０とする。
さらに、ドライバＩＣ用シーケンサ１１５は、これから実行するコマンド列の内、最初に実行されるコマンドの位置に、コマンドの読込み位置（以下、マクロポインタと呼ぶ）を設定する（Ｓ５０４）。
【００５０】
次に、ドライバＩＣ用シーケンサ１１５は、マクロポインタのある位置のコマンドを読込む（Ｓ５０５）。具体的には、コマンドコード（図３（ａ）で例を示したもの）、リピート回数、Ｄｅｌａｙ、データをＲＡＭ１０５ａから読み出す。コマンドを読込んだ後、ドライバＩＣ用シーケンサ１１５は、マクロポインタの位置を、次に実行するコマンドの位置に更新する（Ｓ５０６）。
【００５１】
ドライバＩＣ用シーケンサ１１５は、Ｓ５０５で読込んだコマンドが、終了コマンド（図３（ａ）の例では「ＦＦｈ」）であるか否かを判断する（Ｓ５０７）。終了コマンドでなければ（Ｓ５０７のＮｏ）、同様にＳ５０５で読込んだコマンドが、ライトコマンド（図３（ａ）の例では「１０ｈ」）であるか否かを判断する（Ｓ５０８）。ライトコマンドであれば（Ｓ５０８のＹｅｓ）、Ｓ５０５で読込んだＤｅｌａｙのクロック数だけ待った後（Ｓ５０９）、Ｓ５０５で読込んだデータをＳＩＯ１１６を介してドライバＩＣ１２４に対して出力する（Ｓ５１０）。
【００５２】
Ｓ５０５で読込んだコマンドが終了コマンドでもライトコマンドでもなければ（Ｓ５０８のＮｏ）、ドライバＩＣ用シーケンサ１１５は、リードコマンド（図３（ａ）の例では「２０ｈ」若しくは「３０ｈ」）であるか否かを判断する（Ｓ５１１）。リードコマンドであれば（Ｓ５１１のＹｅｓ）、Ｓ５０５で読込んだＤｅｌａｙのクロック数だけ待った後（Ｓ５１２）、ドライバＩＣ１２４からの読込みを行う。このとき、ドライバＩＣ１２４から入力を受けるレジスタは、Ｓ５０５で読込んだコマンドのデータの上位４ビットで特定され、ドライバＩＣ１２４から読込む値は、下位１２ビットで伝達される。
【００５３】
さらに、ドライバＩＣ用シーケンサ１１５は、Ｓ５０５で読込んだコマンドが、ダミーリード（図３（ａ）の例では「３０ｈ」）であるか否かを判断する（Ｓ５１４）。ダミーリードでなければ（Ｓ５１４のＮｏ）、Ｓ５１３でドライバＩＣから読込んだ値をＳｕｍに加算する（Ｓ５１５）。
【００５４】
ドライバＩＣ１２４に対するライト処理を行った（Ｓ５１０）後、Ｓ５０５で読込んだコマンドがダミーリードであった場合（Ｓ５１４のＹｅｓ）、又は、Ｓｕｍに加算した（Ｓ５１５）後、リピート回数を１減算する（Ｓ５１６）。この結果、リピート回数が０となった場合には（Ｓ５１７のＹｅｓ）、Ｓ５０５へ戻り、Ｓ５０６で設定したマクロポインタの位置のコマンドを取得する。リピート回数が０とならなかった場合には（Ｓ５１７のＮｏ）、Ｓ５０８に戻り、Ｓ５０８乃至Ｓ５１６の処理を繰り返す。
【００５５】
Ｓ５０５で読込んだコマンドが終了コマンドであった場合（図３（ａ）の例では「ＦＦｈ」）、又はＳ５０５で読込んだコマンドが終了コマンド、ライトコマンド、リードコマンドのいずれでもなかった場合（Ｓ５１１のＮｏ）には、Ｓ５０２で立てたコマンド実行中であることを示すフラグを下ろす（Ｓ５１８）。ＣＰＵ１１０は、これによりコマンド列の処理を終えたことがわかり、例えば図３（ｂ）で示したコマンド列の処理を終えた後であれば、ＣＰＵはドライバＩＣ用シーケンサ１１５からＳｕｍを読込むことにより、温度を３回測定した合計値を取得することができる。
【００５６】
更に、ドライバＩＣ用シーケンサ１１５は、トリガリピートが設定されているか否かを判断し（Ｓ５１９）、トリガリピートが設定されている場合には（Ｓ５１９のＹｅｓ）、Ｓ５０１に戻ってトリガの入力を待つ。ここでトリガリピートとは、トリガが入力されるたびに当該コマンド列の実行を行うことをいう。トリガリピートが設定されていない場合には（Ｓ５１９のＮｏ）、処理を終える。
【００５７】
尚、温度、加速度、ＶＣＭに生じる逆起電圧の測定等は、ＶＣＭ１０５への出力を妨げないように排他制御を行うことが必要となる。そこで、ＶＣＭ用シーケンサ１１３からＶＣＭドライバ１２０への出力完了をトリガとして温度測定等のコマンド列をドライバＩＣ用シーケンサ１１５で実行すれば、両者が同時に実行されることが無く好適である。
【００５８】
又、サーボマークを検出した後、制御量をＣＰＵで計算している際に温度測定等を行ってもよく、この場合にはサーボマーク検出をドライバＩＣ用シーケンサ１１５のコマンド列実行のトリガとすればよい。
【００５９】
以上説明したように、本実施例によれば、ドライバＩＣへのリード／ライトアクセスの一部を、ドライバＩＣ用シーケンサ１１５に行わせることができるので、当該処理をＣＰＵ１１０で実行させる際に生じるＣＰＵの占有を抑制することができる。
【００６０】
また、ドライバＩＣ用シーケンサ１１５に所定の処理を行わせることにより、ＣＰＵ１１０上で実行される制御プログラムを小さくすることができるので、ＲＯＭ１１１及びＲＡＭ１１２の容量を減らすことができる。
【００６１】
本実施例では、ドライバＩＣ用シーケンサ１１５は、加算処理のみを行い、除算機能を有していない。これにより、ドライバＩＣ用シーケンサ１１５の構成を簡易にすることが可能となる。
【００６２】
本実施例では、ドライバＩＣ用シーケンサ１１５は、ＶＣＭ用シーケンサ１１３、ＣＰＵ１１０、リード／ライトチャネル１０７からといった複数のトリガに基づいてコマンド列を実行することができる。これにより、多様なタイミングでドライバＩＣ用シーケンサ１１５を使用した、ドライバＩＣに対するリード／ライトアクセスが可能となる。
【００６３】
本実施例では、ドライバＩＣ用シーケンサ１１５は加算機能しか有していないが、他にも除算機能や、他の演算機能を持たせることも考えられる。また、本実施例のドライバＩＣ用シーケンサ１１５はドライバＩＣ１２４にのみ出力を行っているが、リード／ライトチャネル１０７や、ヘッドアンプ１０６に出力を行えるようにしても良い。
【００６４】
本実施例では、ドライバＩＣ用シーケンサ１１５とは別にＶＣＭ用シーケンサが設けられているが、ＶＣＭへの出力をドライバＩＣ用シーケンサ１１５から行ってもよい。
【００６５】
又、本実施例では、ドライバＩＣ用シーケンサ１１５に計算させる値はＶＣＭ１０５に生じる逆起電圧、温度センサ１１８で測定した温度、加速度センサ１１７で測定した加速度のみであるが、これに限られるものではなく、例えばＳＰＭ１０２の電流を計算させても良い。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施例１に係る磁気ディスク装置の構成を示す図。
【図２】本発明の実施例１に係る磁気ディスク装置の内、ドライバＩＣ用シーケンサに係る部分の構成について示す図。
【図３】本発明の実施例１に係る磁気ディスク装置のドライバＩＣ用シーケンサが実行するコマンドの例。
【図４】本発明の実施例１に係る磁気ディスク装置のドライバＩＣ用シーケンサの処理の流れを示すフローチャート。
【符号の説明】
【００６７】
１０１・・・ディスク
１０２・・・スピンドルモータ（１０２）
１０３・・・ヘッド
１０４・・・アクチュエータ
１０５・・・ボイスコイルモータ（１０５）
１０６・・・ヘッドアンプ
１０７・・・リード／ライトチャネル
１０８・・・ハードディスクコントローラ
１０９・・・バッファメモリ
１１０・・・ＣＰＵ
１１１・・・ＲＯＭ
１１２・・・ＲＡＭ
１１３・・・ＶＣＭ用シーケンサ
１１３ａ・・・ＲＡＭ
１１３ｂ・・・タイマ
１１４・・・マルチプレクサ（ＭＵＸ）
１１５・・・ドライバＩＣ用シーケンサ
１１５ａ・・・ＲＡＭ
１１６・・・シリアルインタフェース（ＳＩＯ）
１１７・・・加速度センサ
１１８・・・温度センサ
１１９・・・シリアルインタフェース（ＳＩＯ）
１２０・・・ＶＣＭドライバ
１２１・・・ＳＰＭドライバ
１２２・・・マルチプレクサ（ＭＵＸ）
１２３・・・ＡＤコンバータ
【図１】
2007035225.tif 000003
【図２】
2007035225.tif 000004
【図３】
2007035225.tif 000005
【図４】
2007035225.tif 000006