(57)【特許請求の範囲】
【請求項１】
データを電子装置にダウンロードする方法であって、前記方法は前記電子装置によって実行され、前記電子装置が複数の装置タイプの１つを有するものにおいて、
ａ）前記電子装置において、各々の前記装置タイプに関連付けられるデータを含む装置タイプテーブルと、導入コードと、データ・イメージ・ブロックとを含むダウンロード・エンティティを前記電子装置のデータ・バッファ内に受信するステップと、
ｂ）前記データ・イメージ・ブロック内にデータ・イメージを形成するステップであって、
（１）前記ダウンロード・エンティティから前記導入コードを前記電子装置内のランダム・アクセス・メモリにコピーし、そして前記導入コードのコピーに、前記導入コードを実行するために必要で、かつ前記電子装置内に存在する共用ユーティリティに対するポインタを提供するステップと、
（２）前記電子装置に関連付けられる装置タイプを認識して、前記装置タイプを前記導入コードのコピーに提供するステップと、
（３）前記ポインタ及び前記装置タイプを提供された導入コードを前記電子装置によって実行するステップであって、前記データ・イメージ・ブロック内に、前記装置タイプテーブルから復元したデータであって、前記認識された装置タイプに関連するデータを記憶させるステップとを含む、前記ステップ（ｂ）と、
ｃ）前記データ・イメージを、前記データ・バッファから前記電子装置内の不揮発性記憶装置に書き込むステップと、
ｄ）前記データ・バッファをクリアするために、前記電子装置のパワー・アップリセットを行うステップと、
を含む、方法。
【請求項２】
前記ダウンロード・エンティティ内の前記データが、前記電子装置上で実行されるプログラム・コードを含む、請求項１記載の方法。
【請求項３】
前記ダウンロード・エンティティ内の前記データが、前記電子装置を特徴付ける装置パラメータを含む、請求項１記載の方法。
【請求項４】
前記（１）及び／又は（２）が、前記電子装置内に記憶されているブートストラップ・ルーチンにより実行され、前記ブートストラップ・ルーチンが、ホスト・コンピュータから伝送されるダウンロード・コマンドに応答して呼び出される、請求項１記載の方法。
【請求項５】
前記データ・イメージ・ブロック内に前記データ・イメージが生成される以前に、前記電子装置内の前記不揮発性記憶装置の現内容を、前記データ・イメージ・ブロックにコピーするステップを含む、請求項１記載の方法。
【請求項６】
前記装置タイプを前記導入コードのコピーに提供するステップが、前記電子装置内の不揮発性メモリ素子に記憶される装置タイプ標識を取り出すステップを含む、請求項１記載の方法。
【請求項７】
前記装置タイプを前記導入コードのコピーに提供するステップが、前記電子装置の１つ以上の動作特性をテストするステップを含み、前記動作特性が異なる前記装置タイプ間で変化する、請求項１記載の方法。
【請求項８】
前記電子装置がディスク・ドライブであり、前記ディスク・ドライブが前記ダウンロード・エンティティを受信するデータ・バッファ、及び前記データ・バッファに接続され、前記装置タイプに関連付けられる前記データを使用する第１の制御装置を含む、請求項１記載の方法。
【請求項９】
前記不揮発性記憶装置がフラッシュ・メモリである、請求項８記載の方法。
【請求項１０】
前記ダウンロード・エンティティ内の前記データが、前記ディスク・ドライブを特徴付けるサーボ・パラメータを含み、前記ディスク・ドライブが、前記第１の制御装置に接続される第２の制御装置を含み、前記第２の制御装置が、前記決定装置タイプに関連付けられる前記サーボ・パラメータを記憶するランダム・アクセス・メモリを有する、請求項８記載の方法。
【請求項１１】
前記第１及び第２の制御装置が同一のプロセッサを含む、請求項１０記載の方法。
【請求項１２】
前記ディスク・ドライブがアレイ制御装置により制御されるディスク・ドライブのアレイの１つであり、前記方法が、前記ダウンロード・エンティティを前記アレイ内の複数の前記ディスク・ドライブがダウンロードするステップを含み、前記複数のディスク・ドライブの各々が、その前記装置タイプに関連付けられる前記ダウンロード・エンティティ内の前記データを保存する、請求項８記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般に、パラメータ及び（または）プログラム・コードなどのデータを電子装置にダウンロードすることに関し、特に、ディスク・ドライブなどの電子装置により使用される総称的な"ダウンロード・エンティティ"（またはデータ・オブジェクト）の提供に関して、そこでは電子装置に対して決定された装置タイプに関連付けられるダウンロード・エンティティからのデータだけがその電子装置により保存される。
【０００２】
【従来の技術】
広範に多様な仕様、容量及び機構を有する製品が提供されるようになると、これらの制限を開発、生産、保守及びサポートすることが、益々困難且つコスト高になる。例えばディスク・ドライブは様々な容量、データ転送率、通信インタフェース（例えばＩＤＥまたはＳＣＳＩ）などを有して設計され得る。所与の製品ライン内では、ディスク・ドライブの機械構成要素及びハードウェア構成要素の大部分は、異なるモデルにより共用され得るが、それでもなお、例えば異なる数／サイズのディスク及び異なる数のヘッドなど、多大な設計変更が存在し得る。同様にディスク・ドライブの製品ライン内のプログラム・コード（命令、パラメータ及び他のデータを含み得る）の基本機能及び動作は類似であっても、モデル間の違いが、各モデルに対してプログラム・コードの違いを要求する。
【０００３】
複数のモデルまたは設計のプログラム・コード要求をサポートする１つのアプローチは、単一のプログラム・コードを生成することであり、そのプログラム・コードはそれ自身が導入される特定の装置の"装置タイプ"に依存して、異なるルーチンを実行し、またその特定の装置に対してプログラム・コードを実際にカストマイズすなわち個別化するために異なるパラメータを使用する。しかしながら、複数の装置タイプをサポートするために重複するルーチン及びパラメータ・テーブルを保持することは、一般に空間要求を増大させる。更に複数の装置タイプの実行時サポートのために要求される追加の処理がドライブ性能に悪影響を及ぼし得る。
【０００４】
複数装置タイプをサポートする別のアプローチは、異なる装置タイプに対して、プログラム・コードの別々の"バージョン"を生成し、１つのバージョンだけを特定の装置にロードすることである。しかしながら、これはダウンロード側において、（オペレータまたはダウンローディング・コンピュータが）ロードされる装置の装置タイプを知っていることを要求する。
【０００５】
この要求は、複数のディスク・ドライブがアレイ制御装置により一緒にリンクされ、制御されるディスク・ドライブ・アレイなどの多くのアプリケーションにおいて欠点を有する。なぜなら、異なるタイプの装置が一緒に使用され得るからである。（例えばプログラム・コードの更新を提供するために、）アレイ内の異なるディスク・ドライブにダウンロードすることは、厄介で時間を消費し、また製造メーカにとって、複数の装置タイプをサポートすることは困難であり得る。更にアレイ制御装置にとって、各ディスク・ドライブの装置タイプを検出することが困難な場合、ダウンロードの自動化は特に厄介であり得る。
【０００６】
【発明が解決しようとする課題】
従って本発明の目的は、複数の装置タイプを最小の空間要求により、且つダウンローディング・システムが装置タイプを知る必要無くサポートするように、操作命令、パラメータなどのデータを電子装置にダウンロードする様式を実質的に提供することである。
【０００７】
【課題を解決するための手段】
上述の従来技術の制限を克服し、また本明細書を理解することにより明らかとなる他の制限を克服するために、本発明は、データを装置タイプを総称する"ダウンロード・エンティティ"（またはデータ・オブジェクト）の形式で、電子装置にダウンロードする装置及び方法を開示する。電子装置の装置タイプを決定し、決定された装置タイプに関連しないダウンロード・エンティティ内のあらゆるデータを廃棄することにより、決定された装置タイプに関連付けられるデータだけが、電子装置により保存される。ダウンロード・エンティティ内のデータには、電子装置上で実行されるプログラム・コード、装置パラメータ及び電子装置により使用される他の情報が含まれ得る。
【０００８】
本発明の好適な実施例はまた、導入コードをダウンロード・エンティティに組み込んでもよく、これはダウンロードされると装置タイプに関連付けられるデータをダウンロード・エンティティから"アンパック"し、記憶する。ダウンロード・エンティティ内で別々の導入コードを使用することにより、導入機能が装置内の実行時コードから省略され、それにより無関係のコード（すなわち導入時のみ使用され、実行時には使用されないコード）の量が最小化され得る。
【０００９】
従って、本発明によれば、データを電子装置にダウンロードする方法が提供され、電子装置が複数の装置タイプの１つの装置タイプを有する。本方法は、電子装置において、各装置タイプに関連付けられるデータを含むダウンロード・エンティティを受信するステップと、電子装置の装置タイプを決定するステップと、決定された装置タイプに関連付けられるデータだけが電子装置により保存されるように、決定された装置タイプに関連しないダウンロード・エンティティ内のデータを廃棄するステップとを含む。
【００１０】
本発明の別の態様によれば、複数の装置タイプの１つの装置タイプを有する電子装置が提供される。電子装置が電子装置の動作中に使用される操作データを記憶するメモリ手段と、電子装置から複数の装置タイプに関連付けられるデータを含むデータ・オブジェクトを外部的に受信する受信器手段と、データ・オブジェクトから電子装置の装置タイプに関連付けられるデータだけをメモリ手段に導入する導入手段とを含む。
【００１１】
更に本発明の別の態様によれば、複数タイプのディスク・ドライブに関連付けられるデータを含むダウンロード・エンティティを受信する通信インタフェースと、ディスク・ドライブに関連付けられる操作データを記憶するメモリと、通信インタフェースに接続される制御装置とを含むディスク・ドライブが提供され、制御装置が、１）ディスク・ドライブのタイプを決定し、２）ダウンロード・エンティティから、ディスク・ドライブの前記決定タイプに関連付けられるデータだけを取り出し、３）ディスク・ドライブの前記決定タイプに関連付けられるデータをメモリに記憶し、４）ディスク・ドライブの前記決定タイプに関連しないダウンロード・エンティティ内のあらゆるデータを廃棄する。
【００１２】
本発明の更に別の態様によれば、直接アクセス記憶装置のアレイと、直接アクセス記憶装置のアレイを制御するアレイ制御装置または他の制御手段（例えば市場テスト用に使用されるプロセッサ）とを含む装置が提供される。各々の直接アクセス記憶装置は、装置タイプ及びその動作において使用される操作データを記憶するメモリを有し、アレイ制御装置は、複数の装置タイプに関連付けられる操作データを含む総称ダウンロード・エンティティを、複数の直接アクセス記憶装置に提供し、それらのメモリを更新する。複数の直接アクセス記憶装置の各々は、そのメモリにダウンロード・エンティティから、それぞれの装置タイプに関連付けられる操作データだけを記憶し、それぞれの装置タイプに関連しない操作データを廃棄する。
【００１３】
更に本発明の別の態様によれば、複数の装置タイプの１つの装置タイプを有する電子装置にダウンロードするための、ダウンロード・エンティティが提供される。ダウンロード・エンティティは、複数の装置タイプの各々に関連付けられるデータ部分を有するデータ・ブロックと電子装置により実行され、その電子装置の装置タイプに関連付けられるダウンロード・エンティティ内のデータ部分だけを取り出す導入ルーチンとを有する。
【００１４】
【発明の実施の形態】
図１は、本発明の好適なアプリケーションの１つを示す典型的なディスク・ドライブ・アレイ装置１である。装置１は好適には、例えばディスク・ドライブ８、９及び１０などの複数のディスク・ドライブを含み、これらがバス３を介して、アレイ制御装置２に相互接続される。好適な実施例では、アレイ制御装置２はホスト・コンピュータとして動作し、ダウンロード・エンティティを装置１内のディスク・ドライブに供給する。
【００１５】
アレイ制御装置２は好適には、ＩＢＭから販売されるＲＡＭＡＣアレイ制御装置であるが、他の既知のアレイ制御装置も代わりに使用され得る。図１に示されるようにアレイ制御装置２は、例えばバス５を介して接続されるディスク・ドライブ６などの他のディスク・ドライブ・アレイも制御し得る。更にアレイ制御装置の代わりにディスク・ドライブ・アレイ内のドライブが、サーバ・コンピュータ・システム４などの別のホスト・コンピュータに接続され、制御されてもよい。またホスト・コンピュータは製造の間に、初期データ及びコードを１つ以上のドライブに提供するためにも使用され得る。
【００１６】
一般に、好適な電子装置はディスク・ドライブであるが、本発明の原理が、実際的に任意の電子装置にデータをダウンロードするために適用され得ることが理解されよう。更に好適な実施例では、ダウンロードされるデータの出所は、アレイ制御装置またはサーバであるが、ダウンロード・データの出所は、例えばコンピュータ、電子装置またはプログラム記憶媒体など、電子装置に接続されて、ダウンロード・データを提供する任意の出所であってよい。従って、ここで示される好適なアプリケーションは単に典型例に過ぎない。
【００１７】
ディスク・ドライブ８、９及び１０は、好適には１８ヘッドを具備する７２００ＲＰＭのディスク・ドライブである（例えばＩＢＭから販売されるScorpionディスク・ドライブ）。ディスク・ドライブまたは磁気記憶システム１０の機械構成要素が図２に詳細に示される。ディスク・ドライブ１０はハウジング１２、及び組み立て後にフレーム１６内に実装されるハウジング・カバー１４を含む。ハウジング内には、スピンドル・シャフト２２が実装される。スピンドル・シャフト２２には、多数の磁気記憶ディスク２４が回転式に取り付けられる。図２では、９枚のディスク２４がスピンドル・シャフト２２に互いに間隔をあけて取り付けられる。ディスク２４はスピンドル・シャフト上で回転し、スピンドル・シャフトはモータ（図示せず）によりパワー供給される。情報がスライダ２６により支持されるヘッドまたは磁気トランスジューサ（図示せず）により、ディスク２４に読み書きされる。スライダ２６はサスペンションまたはロード・スプリング２８に結合される。ロード・スプリング２８は、Ｅブロックまたはコーム３２上の別々のアーム３０に取り付けられる。Ｅブロックまたはコーム３２はアクチュエータ・アーム・アセンブリ３６の一端に取り付けられる。アクチュエータ・アーム・アセンブリ３６はハウジング１２内において、アクチュエータ・シャフト３８上に回転式に取り付けられる。ロータリ・アクチュエータ・アセンブリ３６は、統合トランスジューサ／サスペンション・アセンブリを、記憶ディスク２４の表面を横断する弧状のパスに沿って移動する。しかしながら、本発明はここで述べられる特定のディスク・ドライブに限定される訳ではなく、本発明に従う任意の構成のディスク・ドライブまたは直接アクセス記憶装置（ＤＡＳＤ）が使用され得る。
【００１８】
図１を参照すると、ディスク・ドライブ１０の制御装置または機能構成要素が詳細に示される。主なディスク・ドライブ制御動作は、１対の制御装置、すなわちインタフェース制御装置５０及びサーボ制御装置６０により共用される。制御装置５０及び６０は好適には、別々のプロセッサにより実現され、各々の機能も同様に、単一のプロセッサ内で別々のタスクとして処理され得る。
【００１９】
インタフェース制御装置５０は、ディスク・ドライブ１０との間のデータの転送を調整する。インタフェース制御装置のプログラム・コードは、好適にはフラッシュ・メモリ５４などの不揮発性メモリ内、またはディスク自身上の予備領域上に記憶され、制御装置の作業空間はランダム・アクセス・メモリ（ＲＡＭ）５２内に提供される。ディスク・ドライブ１０との間で転送されるデータは、一時的にデータ・バッファ４２に記憶され、バス・インタフェース４０などの通信インタフェースがデータをフォーマットし、バス３を介してアレイ制御装置２と通信する。
【００２０】
サーボ制御装置６０はデータを獲得し、磁気記憶ディスク上に記憶するために、統合トランスジューサ／サスペンション・アセンブリの移動を調整する。ＲＡＭ６２はサーボ制御装置の動作のための作業空間を提供するが、サーボ制御装置のプログラム・コードは、ＲＡＭ６２または不揮発性メモリ（図示せず）に記憶される。
【００２１】
ディスク・ドライブ１０の図示の機能構成要素は、多くのディスク・ドライブの標準的な動作機能を表す。更にこれらの構成要素のハードウェアもまた、標準的なディスク・ドライブ設計を表す。従って、本発明は、任意の特定のハードウェア構成に制限されるものではない。
【００２２】
本発明の好適な実施例は、操作データ（"データ"）を図３において参照番号７０により機能的に表されるダウンロード・エンティティまたはデータ・オブジェクトを通じ、ディスク・ドライブ１０にダウンロードする。ディスク・ドライブ１０にダウンロードされるデータは、例えばインタフェース制御装置５０及び（または）サーボ制御装置６０により実行されるプログラム・コード、及び（または）ディスク・ドライブ１０に特有の操作パラメータなどの他のデータを含み得る。ディスク・ドライブ１０により使用され得るパラメータのタイプには、次元パラメータ（例えばヘッドの数、１回転当たりのサーボ・セル数など）、物理パラメータ（例えばアーム長、アームの慣性モーメント、ストローク長、可能な力係数、回転スピードなど）、電気パラメータ、サーボ系定数（サーボ・アルゴリズムで使用される）、フィルタ係数及びシステム・フラグ（例えば機能を可能／不能にする）などが含まれる。
【００２３】
ディスク・ドライブ１０へのデータのダウンロードは、例えばドライブの製造の間に発生したり、新たな機能を提供するためにプログラム・コード及び（または）動作パラメータを更新したり、プログラム・コード内のあらゆる"バグ"を修正したり、或いはディスク・ドライブ１０の動作を変更したりするために、発生し得る。
【００２４】
ダウンロード・エンティティ７０は好適には、ディスク・ドライブ１０の複数の装置タイプまたはモデルに順応するための、全てのプログラム・コード及び（または）パラメータ・データを含むデータ・ブロックを含む。この情報の全てが、好適にはタイプ・テーブル７４に記憶される。更にディスク・ドライブ１０の特定の装置タイプにもとづき、そのディスク・ドライブに適切な構成要素を導入するために、導入コード７２がダウンロード・エンティティに含まれる。
【００２５】
本発明によれば、導入コードがタイプ・テーブルを用いてダウンロード・エンティティから、ディスク・ドライブ１０の特定の装置タイプに関連付けられるプログラム・コード及び（または）パラメータ・データだけを取り出す。タイプ・テーブルから取り出される関連データは、好適にはフラッシュ・メモリ５４に究極的に記憶される。好適な実施例のダウンロード・エンティティには、フラッシュ（またはデータ）・イメージ・ブロック７６が確保され、それにより関連データが生成され、フラッシュ・メモリ５４に記憶される。フラッシュ・イメージ・ブロック７６は初期にはデフォルト指定の値及びルーチンを含み、従って、装置タイプ特有の変更だけが、ダウンロード・エンティティから取り出される必要がある。また後述のように、フラッシュ・メモリをダウンロード・エンティティからのデータにより更新する根拠を提供するために、フラッシュ・メモリの現内容もイメージ・ブロックにコピーされ得る。
【００２６】
本発明の好適な実施例の動作を説明するために、ディスク・ドライブ１０のサーボ・パラメータの更新について、図３乃至図５に関連して説明する。図３に示されるように、サーボ・パラメータはフラッシュ・メモリ５４内のパラメータ・コード（またはデータ）・ブロック７８に保持される。インタフェース制御装置５０のＲＡＭ５２内の他に、パラメータ・コード・ブロック７８のコピーがＲＡＭ６２内にも保持され、サーボ制御装置６０により使用されてインタフェース制御装置５０がサーボ制御装置６０の校正ルーチンをモニタすることを可能にする。
【００２７】
図４はアレイ制御装置２またはディスク・ドライブ・アレイ装置１内の別のホスト・コンピュータにより、バス３を介して送信されるダウンロード・コマンド・データブロック（ＣＤＢ）に応答して、インタフェース制御装置５０により実行されるダウンロード・ルーチン１００を示す。
【００２８】
バス３を介してディスク・ドライブ１０により受信される任意の他の入来データ・ブロックと同様に、ダウンロード・コマンドが最初にインタフェース制御装置５０により、一般に既知のように処理される。しかしながら、ダウンロード・コマンドが受信されると、当初フラッシュ・メモリに内在する短いブートストラップ・ルーチン１００が実行され、ダウンロード・エンティティの処理を開始する。しかしながら、ダウンロード・エンティティ導入の主な処理は、好適には、エンティティ内にダウンロードされる導入コードに対して確保される。
【００２９】
ダウンロード・エンティティ内に多くの導入プロセスを含むことにより、ダウンロード処理に当てられるフラッシュ・メモリ５４内の永久常駐コードの量が、最小化される。フラッシュ・メモリは比較的高価であり、無関係なコードを最小化することがしばしば望まれる。更に導入コードをダウンロード・エンティティと一緒に含むことにより、ダウンロードを処理するためのカストマイズされた導入コードが開発され、装置タイプにより選択され得る。しかしながら、代わりに、全ての導入コードがフラッシュ・メモリ５４内に永久的に保持され、ダウンロード・エンティティから省かれてもよい。
【００３０】
図４に戻り、ダウンロード・エンティティ７０をバス３からデータ・バッファ４２に受信することにより、ルーチン１００の実行がブロック１０２で開始する。上述のように、ダウンロード・エンティティは導入コード７２、タイプ・テーブル７４、及びフラッシュ・イメージを含む。
【００３１】
次にブロック１０４で、導入コード７２がインタフェース制御装置５０のＲＡＭ５２にコピーされる。次にブロック１０６でＲＡＭ５２内の導入コードのコピーに、フラッシュ・メモリ５４内の任意の常駐ユーティリティ・ルーチンを指し示すポインタが提供され、このルーチンが導入コード７２により使用され得る。これらの共用ルーチンの使用は導入コード７２のサイズを低減し得る。なぜなら、フラッシュ・メモリ５４に内在する機能及びツールが導入コード７２内で重複される必要がないからである。更にブロック１０６では、導入コードがディスク・ドライブの装置タイプを認識して、これが後述のように使用されるように、装置タイプ指示を導入コードに提供することが好ましい。
【００３２】
ブロック１０４及び１０６は、インタフェース制御装置５０により実行される導入コードを準備する。結果的に、これらのブロックの実行に際し、導入コードがブロック１０８で呼び出され、ダウンロード・エンティティ７０からデータを取り出す新たなコードに制御を渡す。
【００３３】
好適な導入コードまたはルーチン１１０が図５に示される。ルーチン１１０の実行がブロック１１１で開始し、ここでフラッシュ・メモリの現内容がバッファ・フラッシュ・イメージ・ブロック７６にコピーされ、それを基本に、フラッシュ・メモリの更新が実行され得る。フラッシュ・メモリの小部分だけが更新される必要があり、従って、スクラッチからフラッシュ・メモリ全体を構成する必要はなく、更新データだけをダウンロード・エンティティ内に提供することが望ましい。一方、フラッシュ・メモリ全体がダウンロード・エンティティ内に提供される場合には、ブロック１１１は不要であろう。
【００３４】
次に、ブロック１１２で、装置タイプ・テーブル７４がアクセスされ、ダウンロード・エンティティ７０から取り出す要素が決定される。次にブロック１１４で、ダウンロード・エンティティから必要な要素を取り出し、フラッシュ・イメージの関連部分を更新することにより、データのイメージがフラッシュ・イメージ・ブロック７６に組み込まれる。新たなイメージが構成されると、ブロック１１６でイメージをフラッシュ・メモリ５４に書込む。
【００３５】
ここで開示されるように、イメージをフラッシュ・メモリにコピーする以前に、フラッシュの完全なイメージを、データ・バッファ内に構成する必要はないことが理解されよう。むしろ、フラッシュ・メモリに直接書込むことにより、フラッシュ・メモリを更新することが可能であろう。しかしながら、特定のフラッシュ・メモリは全メモリ空間がクリアされ、全体的に再書込みされることを要求する。従って、ここでは最初にフラッシュ・イメージをデータ・バッファ内に構成し、次に更新イメージをフラッシュ・メモリに書込むことが好ましい。
【００３６】
ディスク・ドライブ１０の"装置タイプ"は、好適には、特定のモデルまたは設計標識を表す。ディスク・ドライブの分野では、これはメモリ容量、データ転送速度、インタフェース・タイプ（例えばＩＤＥ、ＳＣＳＩなど）、ディスク及びヘッドの数、及びディスク・サイズなどにもとづき区別されるモデルを表し得る。他の電子装置では他の装置タイプが定義され得り、これらは装置に依存して多大に変化し得る。例えば許可機能及び機構だけが装置内に記憶されるように、基本モデル及び拡張モデルが区別され得る。これは複数のモデル、複数の製品ライン、または異なる製品全体（総称的に"電子製品"）に対してさえも、同一のハードウェア・プラットフォームの使用を可能にし、制御ソフトウェアが特定の装置タイプに個別に適合化される。別の例では、パーソナル・デジタル・アシスタンス（ＰＤＡ）のために、異なる装置タイプがユーザの言語にもとづき区別され、ＰＤＡによりメッセージがユーザの自国語により表示される。本発明の範囲内において、無数の他の変化が可能である。
【００３７】
好適な実施例では、装置タイプ・テーブルが装置タイプ標識を介してアクセスされ、装置タイプ標識がインタフェース制御装置５０により、好適には、フラッシュ・メモリ若しくは別の不揮発性素子（例えばＤＩＰスイッチ）、またはディスク自身上に記憶される装置タイプから導入コードに提供される。更にこの装置タイプは必要に応じて、ダウンロード・プロセスの間に導入コードによりフラッシュ・メモリ内に再書込みされる。特定の装置タイプ標識の使用は、導入コードの複雑性を最小化する。しかしながら、導入コードが他の様式で、例えば異なる装置タイプ間で変化することが知れている１つ以上の装置特性をテストすることにより、装置タイプを決定することも可能である。例えば、各装置タイプ内のヘッドの数は変化し得り、従って、導入コードが全てのヘッドを活動化し、応答するヘッドの数を検出することにより装置タイプを検出してもよい。代わりに、装置タイプをディスク・ドライブ内部で検出する他の様式も使用され得る。
【００３８】
更に好適な実施例では、装置タイプ・テーブル７４が各パラメータに対して別々のテーブルを提供し、これらが指標またはポインタを生成する指標テーブルまたはマップ（装置タイプにより指標付けされる）を有する。ブロック１１４はパラメータ・テーブルからパラメータ値を抽出し、それによりフラッシュ・イメージ・ブロック７６を構成する。別の実施例では、装置タイプ・テーブル７４が装置タイプにより指標付けされる完全なパラメータ・セットを提供し、それによりブロック１１４の操作は根本的に、完全なパラメータ・セットをフラッシュ・イメージ・ブロック７６にコピーすることである。タイプ・テーブル７４内のデータもまた圧縮され、符号化されて、導入コードによりアンパックされ得る。代わりに、データをダウンロード・エンティティ内に記憶し、続いて導入コードにより取り出す他の様式も使用され得る。
【００３９】
更にタイプ・テーブル７４からのデータの取り出しは、装置タイプと同様に他の要因にも依存し得る。例えば、ディスク・ドライブの以前の状態または履歴が、タイプ・テーブル７４からのデータ選択の要因として使用されてもよい。
【００４０】
図５に戻り、フラッシュ・イメージがフラッシュ・メモリ５４にコピーされると、ブロック１１８が実行され、ディスク・ドライブ上でパワーアップ・リセットを開始する。パワーアップ・リセットを開始することにより、ディスク・ドライブが正規の動作状態にリセットされる。データ・バッファ４２及びＲＡＭ５２及び６２がクリアされ、それによりダウンロード・エンティティ及びディスク・ドライブ１０の装置タイプに関連しないあらゆるデータを廃棄する。また好適には、導入コードもこのプロセスにおいて破棄され得る。
【００４１】
ブロック１１８は更に、パワーアップ・リセットがダウンロードの結果であることを示す"キー"または他の標識を、好適にはＲＡＭ５２、６２若しくはデータ・バッファ４２、またはレジスタに保管するステップを含む。続いてパワーアップ・ルーチンが要求され、パワーアップの間にキーの適切な位置をチェックし、その後、システム内のメモリ及びレジスタをクリアする。結果的にディスク・ドライブ１０のパワーアップ・ルーチンは、完了応答をホスト・コンピュータに送信し、ダウンロードを開始するステップ１２０を含み得る。ドライブ状態情報がブロック１１８で保管されてもよく、それによりパワーアップ時に、例えばスピンアップ・ステータスなどの現ディスク・ドライブ状態（または"ドライブ状態"）が復元され得る。
【００４２】
好適な実施例は、従来のダウンロード方法に勝る本質的な利点を提供する。特に、複数の装置タイプが１つのダウンロード・エンティティによりサポートされ、使用されないデータが廃棄され、それによりダウンロード・データのサイズを低減する。更に、複数の装置タイプを処理する特定の実行時処理が排除される。不揮発性（フラッシュ）メモリの費用を考慮すると、メモリ空間要求を低減する任意の様式が特に有用である。
【００４３】
更に、ディスク・ドライブ・アレイなどのアプリケーションでは、好適な実施例は更に、複数のディスク・ドライブを実質的に単純に、且つより高速に自動的に更新する利点を提供する。特に、単一のダウンロード・エンティティがアレイ制御装置または他のホスト・コンピュータにより、複数のディスク・ドライブにダウンロードされ得る。或いは、随意に同報タイプのコマンドを介して、ダウンロード・エンティティが同時にダウンロードされてもよい。各ディスク・ドライブはその認識された装置タイプにもとづき、その装置タイプに関連する情報だけをダウンロード・エンティティから取り出し、残りの情報を廃棄する。追加の利点として、導入の知識がダウンロード・エンティティ自身内に符号化される単一のダウンロード・エンティティだけがサポートされればよい。従って、オペレータまたはホスト・コンピュータが装置タイプを知る必要がない。他の利点については、当業者には明らかであろう。
【００４４】
ダウンロード・エンティティ内の様々なデータ、プログラム・コード、パラメータなどが異なる時刻において、１つ以上の"プログラム記憶装置"上に存在することが理解されよう。総称的に、用語"プログラム記憶装置"はデータまたはプログラム・コードなどの情報を、揮発性または不揮発性式に記憶できる任意の素子または装置を含み得る。こうしたものには、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、プロセッサ及びキャッシュ・メモリ、フラッシュ・メモリなどのメモリ素子の他に、磁気ディスク（固定または取り外し可能）、ＣＤ−ＲＯＭ、磁気テープなどの固定または取り外し可能な大容量記憶媒体が含まれる。
【００４５】
以上、本発明の典型的な実施例について述べてきた。しかしながら、本発明の範囲は本明細書で開示された詳細な形態に制限されるものではなく、上述の教示を鑑み、様々な変更が可能である。
【００４６】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００４７】
（１）データを電子装置にダウンロードする方法であって、前記電子装置が複数の装置タイプの１つの前記装置タイプを有するものにおいて、
ａ）前記電子装置において、各々の前記装置タイプに関連付けられるデータを含むダウンロード・エンティティを受信するステップと、
ｂ）前記電子装置の前記装置タイプを決定するステップと、
ｃ）前記決定装置タイプに関連付けられるデータだけが前記電子装置により保存されるように、前記決定装置タイプに関連しない前記ダウンロード・エンティティ内のデータを廃棄するステップと、
を含む、方法。
（２）前記決定装置タイプに関連付けられる前記データが、不揮発性メモリに記憶される、前記（１）記載の方法。
（３）前記ダウンロード・エンティティ内の前記データが、前記電子装置上で実行されるプログラム・コードを含む、前記（１）記載の方法。
（４）前記ダウンロード・エンティティ内の前記データが、前記電子装置を特徴付ける装置パラメータを含む、前記（１）記載の方法。
（５）ａ）前記ダウンロード・エンティティから導入ルーチンを取り出すステップと、
ｂ）前記電子装置上で前記導入ルーチンを実行するステップであって、前記ダウンロード・エンティティから、前記決定装置タイプに関連付けられる前記データを取り出す、前記実行ステップと、
を含む、前記（１）記載の方法。
（６）前記導入ルーチンを廃棄するステップを含む、前記（５）記載の方法。
（７）前記ａ）取り出すステップ及びｂ）実行ステップが少なくとも部分的に、前記電子装置に内在するダウンロード処理ルーチンにより実行される、前記（５）記載の方法。
（８）前記ダウンロード処理ルーチンが、ホスト・コンピュータから伝送されるダウンロード・コマンドに応答して呼び出される、前記（７）記載の方法。
（９）前記導入ルーチンに、該ルーチンを実行するために、前記電子装置上に存在するユーティリティを指し示すポインタを提供するステップを含む、前記（７）記載の方法。
（１０）前記ダウンロード・エンティティが装置タイプ・テーブルを含み、前記導入ルーチン実行ステップにおける前記ダウンロード・エンティティ取り出しステップが、前記装置タイプ・テーブルをアクセスするステップを含む、前記（５）記載の方法。
（１１）前記装置タイプ・テーブルが装置タイプにより指標付けされる、前記（１０）記載の方法。
（１２）前記ダウンロード・エンティティがデータ・イメージ・ブロックを含み、前記導入ルーチン実行ステップにおける前記ダウンロード・エンティティ取り出しステップが、前記装置タイプ・テーブルから取り出されるデータから前記データ・イメージ・ブロック内にデータ・イメージを生成するステップを含む、前記（５）記載の方法。
（１３）前記導入ルーチン実行ステップにおける前記ダウンロード・エンティティ取り出しステップが、前記データ・イメージ・ブロックを前記電子装置内の不揮発性記憶装置にコピーするステップを含む、前記（１２）記載の方法。
（１４）前記導入ルーチン実行ステップにおける前記ダウンロード・エンティティ取り出しステップが、前記データ・イメージ・ブロック内に前記データ・イメージを構成する以前に、前記電子装置内の前記不揮発性記憶装置の現内容を、前記データ・イメージ・ブロックにコピーするステップを含む、前記（１３）記載の方法。
（１５）前記装置タイプ決定ステップが、前記電子装置内の不揮発性メモリ素子に記憶される装置タイプ標識を取り出すステップを含む、前記（１）記載の方法。
（１６）前記装置タイプ決定ステップが、前記電子装置の１つ以上の動作特性をテストするステップを含み、前記動作特性が異なる前記装置タイプ間で変化する、前記（１）記載の方法。
（１７）前記電子装置がディスク・ドライブであり、前記ディスク・ドライブが前記ダウンロード・エンティティを受信するデータ・バッファ、及び前記データ・バッファに接続され、前記決定装置タイプに関連付けられる前記データを使用する第１の制御装置を含む、前記（１）記載の方法。
（１８）前記ディスク・ドライブが、前記第１の制御装置に接続され、前記決定装置タイプに関連付けられる前記データを記憶するフラッシュ・メモリを含む、前記（１７）記載の方法。
（１９）前記ダウンロード・エンティティ内の前記データが、前記ディスク・ドライブを特徴付けるサーボ・パラメータを含み、前記ディスク・ドライブが、前記第１の制御装置に接続される第２の制御装置を含み、前記第２の制御装置が、前記決定装置タイプに関連付けられる前記サーボ・パラメータを記憶するランダム・アクセス・メモリを有する、前記（１７）記載の方法。
（２０）前記第１及び第２の制御装置が同一のプロセッサを含む、前記（１９）記載の方法。
（２１）前記ディスク・ドライブがアレイ制御装置により制御されるディスク・ドライブのアレイの１つであり、前記方法が、前記ダウンロード・エンティティを前記アレイ内の複数の前記ディスク・ドライブに送信するステップを含み、前記複数のディスク・ドライブの各々が、その前記決定装置タイプに関連付けられる前記ダウンロード・エンティティ内の前記データだけを保存する、前記（１７）記載の方法。
（２２）複数の装置タイプの１つの前記装置タイプを有する電子装置であって、前記電子装置が、
ａ）前記電子装置の動作中に使用される操作データを記憶するメモリ手段と、
ｂ）前記電子装置から、前記複数の装置タイプに関連付けられるデータを含むデータ・オブジェクトを外部的に受信する受信器手段と、
ｃ）前記データ・オブジェクトから、前記電子装置の前記装置タイプに関連付けられるデータだけを、前記メモリ手段に導入する導入手段と、
を含む、電子装置。
（２３）前記メモリ手段が不揮発性メモリを含む、前記（２２）記載の電子装置。
（２４）前記データ・オブジェクト内の前記データが、プログラム・コード、装置パラメータ及びそれらの組み合わせを含むグループから選択される、前記（２２）記載の電子装置。
（２５）前記導入手段が、前記データ・オブジェクトから導入ルーチンを取り出し、前記導入ルーチンを実行して、前記電子装置の前記装置タイプに関連付けられる前記データを取り出す、前記（２３）記載の電子装置。
（２６）前記複数の装置タイプが異なる機能を有するが、同一のハードウェア・プラットフォームを共用する異なる電子製品を表す、前記（２２）乃至（２５）記載の電子装置。
（２７）前記導入手段が前記電子装置をリブートして、前記導入ルーチン及び前記電子装置の前記装置タイプに関連しない前記データ・オブジェクト内のデータを廃棄する、前記（２５）記載の電子装置。
（２８）前記電子装置が、一時的に前記データ・オブジェクトを記憶するデータ・バッファを含むディスク・ドライブであり、前記導入手段が制御装置を含み、前記メモリ手段が前記制御装置に関連付けられる不揮発性メモリを含む、前記（２３）記載の電子装置。
（２９）ディスク・ドライブであって、
ａ）複数タイプのディスク・ドライブに関連付けられるデータを含むダウンロード・エンティティを受信する通信インタフェースと、
ｂ）前記ディスク・ドライブに関連付けられる操作データを記憶するメモリと、
ｃ）前記通信インタフェースに接続される制御装置であって、
１）前記ディスク・ドライブのタイプを決定し、２）前記ダウンロード・エンティティから、前記ディスク・ドライブの前記決定タイプに関連付けられるデータだけを取り出し、３）前記ディスク・ドライブの前記決定タイプに関連付けられる前記データを前記メモリに記憶し、４）前記ディスク・ドライブの前記決定タイプに関連しない前記ダウンロード・エンティティ内のあらゆるデータを廃棄する、
前記制御装置と、
を含む、ディスク・ドライブ。
（３０）前記メモリが不揮発性メモリを含む、前記（２９）記載のディスク・ドライブ。
（３１）前記ダウンロード・エンティティ内の前記データが、プログラム・コード、装置パラメータ及びそれらの組み合わせを含むグループから選択される、前記（２９）記載のディスク・ドライブ。
（３２）前記ダウンロード・エンティティが、前記制御装置により実行される導入ルーチンと、装置タイプにより指標付けされ、前記ダウンロード・エンティティ内のデータを含む装置タイプ・テーブルと、前記ダウンロード・エンティティ内に割当てられるデータ・イメージ・ブロックとを含み、前記制御装置が前記導入ルーチンを取り出して実行し、前記ディスク・ドライブの前記決定タイプに関連付けられる前記装置タイプ・テーブル内のデータから、前記データ・イメージ・ブロック内にデータ・イメージを構成する、前記（２９）記載のディスク・ドライブ。
（３３）前記通信インタフェースが、前記ダウンロード・エンティティを受信するデータ・バッファを含み、前記ディスク・ドライブが前記第１の制御装置に接続される第２の制御装置を含み、前記第２の制御装置が、前記ダウンロード・エンティティから、前記ディスク・ドライブを特徴付けるサーボ・パラメータを記憶するランダム・アクセス・メモリを有する、前記（２９）記載のディスク・ドライブ。
（３４）ａ）直接アクセス記憶装置のアレイであって、前記直接アクセス記憶装置の各々が装置タイプ及び当該記憶装置の動作中に使用される操作データを記憶するメモリを有する、前記アレイと、
ｂ）前記直接アクセス記憶装置のアレイを制御するアレイ制御装置であって、前記アレイ制御装置が、複数の前記装置タイプに関連付けられる操作データを含む総称ダウンロード・エンティティを、複数の前記直接アクセス記憶装置に提供して、それらの前記メモリを更新する、前記アレイ制御装置と、
を含み、前記複数の直接アクセス記憶装置の各々が、その前記メモリに、前記ダウンロード・エンティティから、それぞれの前記装置タイプに関連付けられる前記操作データだけを記憶し、前記それぞれの装置タイプに関連しない前記操作データを廃棄する、装置。
（３５）前記メモリが不揮発性メモリを含む、前記（３４）記載の装置。
（３６）前記ダウンロード・エンティティ内の前記操作データが、プログラム・コード、装置パラメータ、及びそれらの組み合わせを含むグループから選択される、前記（３４）記載の装置。
（３７）前記ダウンロード・エンティティが導入ルーチンを含み、前記複数の直接アクセス記憶装置の各々が、前記導入ルーチンを実行して、それぞれの前記装置タイプに関連付けられる前記操作データだけを記憶する、前記（３４）記載の装置。
（３８）複数の装置タイプの１つの前記装置タイプを有する電子装置にダウンロードするためのダウンロード・エンティティであって、
ａ）前記複数の装置タイプの各々に関連付けられるデータ部分を有するデータ・ブロックと、
ｂ）前記電子装置により実行され、該電子装置の前記装置タイプに関連付けられる前記ダウンロード・エンティティ内の前記データ部分だけを取り出す導入ルーチンと、
を含む、ダウンロード・エンティティ。
（３９）前記装置タイプにより指標付けされ、各々の前記装置タイプに関連付けられる前記データ・ブロックの前記データ部分を識別する装置タイプ・テーブルを含む、前記（３８）記載のダウンロード・エンティティ。
（４０）前記導入ルーチンにより、前記電子装置の前記装置タイプに関連付けられる前記装置タイプ・テーブル内のデータから、データ・イメージを構成するために使用されるデータ・イメージ・ブロックを含む、前記（３９）記載のダウンロード・エンティティ。
（４１）前記電子装置により読出し可能で、前記（３８）記載のダウンロード・エンティティを実現する、プログラム記憶装置。
【図面の簡単な説明】
【図１】本発明の原理に従うディスク・ドライブ・アレイを有する好適な装置の機能ブロック図である。
【図２】図１のディスク・ドライブ・アレイのディスク・ドライブ内の機械構成要素の分解斜視図である。
【図３】図１のディスク・ドライブ・アレイのディスク・ドライブ内の制御装置構成要素の機能ブロック図であり、データのダウンロード及び導入の間の構成要素間の情報の流れを示す図である。
【図４】ダウンロード・エンティティのダウンロードの間の、図３のディスク・ドライブ内でのプログラム・フローのフローチャートを示す図である。
【図５】図３に示されるダウンロード・エンティティと一緒にダウンロードされる導入ルーチンのプログラム・フローのフローチャートを示す図である。
【符号の説明】
１  ディスク・ドライブ・アレイ装置
２  アレイ制御装置
３、５  バス
４  サーバ・コンピュータ・システム
６、８、９、１０  ディスク・ドライブ
１０  磁気記憶システム
１２  ハウジング
１４  ハウジング・カバー
１６  フレーム
２２  スピンドル・シャフト
２４  磁気記憶ディスク
２６  スライダ
２８  ロード・スプリング
３０  アクチュエータ・アーム
３２  Ｅブロック（コーム）
３６  アクチュエータ・アセンブリ
３８  アクチュエータ・シャフト
４０  バス・インタフェース
４２  データ・バッファ
５０  インタフェース制御装置
５２  ランダム・アクセス・メモリ（ＲＡＭ）
５４  フラッシュ・メモリ
６０  サーボ制御装置
７０  ダウンロード・エンティティ
７２  導入コード
７４  タイプ・テーブル
７６  フラッシュ・イメージ・ブロック
７８  パラメータ・コード・ブロック
１００  ダウンロード・ルーチン
１１０  導入コード・ルーチン
【図１】
0003688094.tif 000002
【図２】
0003688094.tif 000003
【図３】
0003688094.tif 000004
【図４】
0003688094.tif 000005
【図５】
0003688094.tif 000006