(57)【要約】データ記憶装置（４０２）は、アプリケーションプログラムを含む汎用オペレーティングシステムを走らせるマイクロプロセッサ（４３８）を含む。オペレーティングシステムおよびアプリケーションプログラムを記憶するメモリ（４４２）が含まれている。大量記憶装置（４３２）を含むデータ記憶装置（４０２）は、通信ネットワーク（４０４）に接続されており、入出力モジュール（４２０）は、通信ネットワーク（４０４）に接続されたノードと通信する。データ記憶装置（４０２）は、８．８９ｃｍ（３．５インチ）以下のフォームファクタのアセンブリとして組立てられる。
2004515019.tif 000002
【特許請求の範囲】
【請求項１】
８．８９ｃｍ（３．５インチ）以下のフォームファクタのアセンブリをなすデータ記憶装置において、
ベースプレート上に回転自在に取付けられたデータディスクと、
前記データディスクからデータを読取り、また前記データディスクにデータを書込むトランスジューサを有する、前記データディスクに隣接するアクチュエータアームと、
前記データディスク上において前記アクチュエータアームを移動させるために前記アクチュエータアームと操作可能な通信を行うサーボ制御装置を有する、前記ベースプレートに固着されたプリント回路板（ＰＣＢ）と、
前記ＰＣＢに接続され、前記サーボ制御装置への制御信号を発生し、またオペレーティングシステムを走らせる中央処理装置（ＣＰＵ）と、
アプリケーションプログラムを記憶するメモリであって、前記ＣＰＵに操作可能に接続され、それにより前記アプリケーションプログラムが前記ＣＰＵにより実行される前記メモリと、
を含む前記データ記憶装置。
【請求項２】
前記データ記憶装置は通信ネットワークに接続され、さらに、
前記通信ネットワークに接続されたノードへ通信する入出力モジュール、
を含む請求項１記載のデータ記憶装置。
【請求項３】
前記入出力モジュールは、ハイパーテキストトランスポートプロトコルを用いて前記ネットワーク上のノードへ通信する動作を行いうるネットワークインタフェースモジュールを含む請求項２記載のデータ記憶装置。
【請求項４】
前記入出力モジュールは、前記通信ネットワークを経てビデオモニタを駆動する動作を行いうるビデオインタフェースモジュールをさらに含む請求項３記載のデータ記憶装置。
【請求項５】
前記データ記憶装置は、８．８９ｃｍ（３．５インチ）のフォームファクタのアセンブリである請求項４記載のデータ記憶装置。
【請求項６】
前記データディスク上に記憶されたファイルデータを管理するファイルシステムをさらに含み、前記ファイルシステムは前記サーボ制御装置と直接通信する請求項５記載のデータ記憶装置。
【請求項７】
データ記憶装置を受入れるコネクタポートを有するドッキングステーションと、
マイクロプロセッサと、アプリケーションプログラムを実行する動作を行いうる前記マイクロプロセッサに操作可能に接続されたオペレーティングシステムを記憶するメモリであって、前記マイクロプロセッサは前記オペレーティングシステムを実行する前記メモリと、通信ネットワークに操作可能に接続された入出力モジュールと、データ記憶ディスクと、を有するデータ記憶装置であって、前記記憶装置は前記コネクタポートに接続されている前記データ記憶装置と、
を含むコンピュータシステム。
【請求項８】
前記ドッキングステーションは通信ネットワークに対する接続を含む請求項７記載のコンピュータシステム。
【請求項９】
前記入出力モジュールは、ハイパーテキストトランスポートプロトコルを用いて前記通信ネットワーク上のノードと操作可能に通信する請求項７記載のコンピュータシステム。
【請求項１０】
コンピュータ処理タスクを分散する方法において、
複数のインテリジェント記憶素子を通信バスに接続するステップであって、それぞれのインテリジェント記憶素子はマイクロプロセッサ、コネクタポート、入出力モジュール、データディスク、および前記データディスクから読取り、また前記データディスクに書込むためのサーボ制御装置を含む前記接続するステップと、
前記複数のインテリジェント記憶素子のそれぞれにタスクを割当てるステップと、
前記タスクを割当てるステップに基づき前記複数のインテリジェント記憶素子間にデータを分散するステップと、
を含む前記方法。
【請求項１１】
１次マスタインテリジェント記憶素子が破損しているかどうかを決定するステップと、
もし１次マスタインテリジェント記憶素子が破損していれば、２次マスタインテリジェント記憶素子へスイッチするステップと、
をさらに含む請求項１０記載の方法。
【請求項１２】
前記割当てるステップは、
第１のアプリケーションプログラムを選択するステップと、
前記第１のアプリケーションプログラムを第１のインテリジェント記憶素子に割当てるステップと、
第２のアプリケーションプログラムを選択するステップと、
前記第２のアプリケーションプログラムを第２のインテリジェント記憶素子に割当てるステップと、
を含む請求項１１記載の方法。
【請求項１３】
８．８９ｃｍ（３．５インチ）以下のフォームファクタのアセンブリをなすデータ記憶装置において、
アプリケーションプログラムを実行するマイクロプロセッサと、
データディスクと、
前記データディスクに隣接して回転自在に取付けられ、トランスジューサヘッドを前記データディスクに対して位置決めするアクチュエータアセンブリと、
前記アクチュエータアセンブリを制御するサーボ制御モジュールと、
オペレーティングシステムを含むメモリであって、マイクロプロセッサに操作可能に接続され、それにより前記マイクロプロセッサは前記オペレーティングシステムを走らせる前記メモリと、
前記マイクロプロセッサおよび前記メモリに操作可能に接続された通信手段であって、前記データ記憶装置に記憶されているデータを通信バス上のノードへ通信する前記通信手段と、
を含む前記データ記憶装置。
【請求項１４】
前記データ記憶装置は通信ネットワークに接続され、さらに、
前記通信ネットワーク上のノードからデータを受信する動作を行いうる入出力モジュール、
を含む請求項１３記載のデータ記憶装置。
【請求項１５】
前記入出力モジュールは、ハイパーテキストトランスポートプロトコルを用いて前記通信ネットワーク上のノードと操作可能に通信する請求項１４記載のデータ記憶装置。
【発明の詳細な説明】
【０００１】
（関連出願）
本願は、２０００年８月２３日付出願の、米国仮出願第６０／２２７，６２２号の優先権を主張する。
【０００２】
（発明の分野）
本発明は、一般的にはディスクドライブに関し、特にインテリジェント記憶素子に関する。
【０００３】
（発明の背景）
データ記憶装置の分野において、自立統合形適応データ記憶ユニットは入手できない。代表的なハードディスクドライブは、アプリケーションへの特化を考慮していないので適応性をもたない。アプリケーションデータ記憶装置の技術は、簡易なポータビリティの提供を考慮していない。従来のアプローチでは、データ記憶ユニットと通信するコンピュータに対しインタフェースを備え、その場合コンピュータは記憶ユニットと分離されていて、記憶ユニット自身は記憶するよう指示されたことの記憶以上の機能性はもたない。インタフェースにおける抽象のレイヤのために、非効率が存在する。例えば、データ記憶装置に記憶されているアプリケーションデータは、そのデータの処理および提示からは除外され、それは一般に接続されたコンピュータにより行われる。
コンピュータ技術における伝統的なアプローチが与えるアプリケーションデータのポータビリティは劣ったものである。そのわけは、そのデータを処理するアプリケーションは、そのアプリケーションデータに結合していないからである。一般に、コンピュータ上で実行されるアプリケーションは、ユーザまたはコンピュータプラットホームに依存する。その結果、ディスクドライブ上のデータは、コンピュータ毎に異なって提示される。例えば、ユーザが１つのコンピュータにおいてアプリケーションデータを展開するものとすると、そのデータの別のコンピュータにおける提示は異なったものとならざるをえない。そのわけは、アプリケーションソフトウェアの他のコンピュータにおけるセットアップは異なったものとなるためである。従って、アプリケーションデータは、個人の専有物とはならない。ポータビリティの問題は、ハードディスクドライブを設置する時にユーザが直面する典型的な困難によっても示される。一般に、ハードディスクドライブをコンピュータ内に設置する時は、そのディスクドライブをコンピュータと共に適正に動作するよう構成するために、かなりの努力を費やさなければならない。ハードディスクの設置は、一般にコンピュータの再ブートを含み、ハードディスクドライブを認識するための、コンピュータシステムのドライブインタフェースの再構成を含みうる。この問題は、ディスクドライブの処理力が極めて小さいために生じる。この処理力はコンピュータ内にあり、コンピュータはディスクドライブと共に動作するように構成されなければならない。
【０００４】
大量データ記憶装置に関する従来のアプローチにおけるもう１つの問題は、アプリケーションデータと、そのデータを用いるアプリケータとの間に、結合がない結果として生じる。ハードディスクドライブからデータを読取り、またそれへデータを書込むために必要な抽象的な多重レイヤから、非効率が起こる。従来のアプローチにおいては、コンピュータ上で実行されるアプリケーションは、ファイルシステムと対話してデータディスクからデータを検索する。ファイルシステムは、論理ブロックアドレスを物理ブロックアドレスへマッピングする。その後、物理ブロックアドレスは、シリンダヘッドセクタへマッピングされる。しばしば、データ記憶装置の内容を別のデータ記憶装置へ送るためには、再送（ｒｅｄｉｒｅｃｔｉｏｎ）が必要となる。さらに、データ記憶装置からのデータにアクセスするために、コンピュータの製造業者が用いるドライバおよびインタフェースは、一般に、さまざまな異なるバス構造および記憶装置と共に動作するように一般化される。その結果、コンピュータと特定のハードディスクドライブとの間の対話は、特定のハードディスクドライブの技術的特徴を利用しなくても部分的に最適となる。マッピング、再送、および一般化されたドライバは、記憶装置からのデータの部分的に最適な検索を与える抽象である。
【０００５】
さらに、従来のデータ記憶システムは、ハードディスクの追加なしには、ユーザに特化したアプリケーションに適応しえない。典型的なハードディスクドライブは、カストマイズしえない。例えば、典型的なハードディスクドライブは、ウェブサーバとして働くようにプログラムされることはできない。典型的なデータ記憶装置を用いるアプリケーションが、そのデータ記憶装置を特化された、または専用のアプリケーションにおいて用いるためには、追加のインタフェースを備えなければならない。さらに、データ記憶装置の製造業者は、コンピュータ産業において生じている、データ記憶装置の機能性の増加と同時の小形化の傾向を利用し得ていない。
従って、改善されたポータビリティ、適応性、および個人の専用物とされるアプリケーションデータを備えたインテリジェント記憶素子への要求が存在している。
【０００６】
（発明の要約）
この背景に対し、本発明のさまざまな実施例が発展せしめられた。本発明のさまざまな実施例は、ハードデータドライブに記憶されているアプリケーションデータを、そのアプリケーションデータを処理し提示するアプリケーションにしっかりと結合させることに関する。データをアプリケーションにしっかりと結合させることにより、ハードディスクドライブは、カストマイズされた目的に役立つインテリジェント記憶素子と見ることができる。このインテリジェント記憶素子は、個人の専有物とされたアプリケーションデータのポータビリティを改善できる。いっしょに動作する１つより多くのインテリジェント記憶素子は、分散処理を可能にすることができる。
【０００７】
ディスクドライブは、アプリケーションプログラムを含む汎用オペレーティングシステムを走らせるマイクロプロセッサを含む。オペレーティングシステムおよびアプリケーションプログラムを記憶するメモリが含まれている。ディスクドライブは、通信ネットワークに接続されており、入出力モジュールが、その通信ネットワークに接続されたノードと通信する。
本発明の特徴である、これらの特徴および他の特徴ならびに利点は、以下の詳細な説明を読み関連する図面を検討することにより明らかとなろう。
【０００８】
（詳細な説明）
図１には、本発明の実施例により構成されたディスクドライブ１００が示されている。ディスクドライブ１００は、ディスクドライブ１００のさまざまな部品が取付けられたベース１０２を含む。部分的に切取って示されている頂部カバー１０４は、従来のようにベース１０２と協働してディスクドライブのための内部密封環境を形成する。部品には、１つまたはそれ以上のディスク１０８を一定の高速度で回転させるスピンドルモータ１０６が含まれる。情報は、ディスク１０８に隣接して配置された軸受シャフトアセンブリ１１２の回りに探索動作中に回転するアクチュエータアセンブリ１１０の使用により、ディスク１０８上のトラックに書込まれ、またそれらのトラックから読取られる。アクチュエータアセンブリ１１０は、ディスク１０８に向かって延びる複数のアクチュエータアーム１１４を含み、それぞれのアクチュエータアーム１１４からは１つまたはそれ以上のフレクシャ（ｆｌｅｘｕｒｅ）１１６が延びている。それぞれのフレクシャ１１６の末端部にはヘッド１１８が取付けられており、それは、ヘッド１１８が関連するディスク１０８の対応する表面上に接近して飛行することを可能にする空気軸受スライダを含む。
【０００９】
探索動作中に、ヘッド１１８のトラック位置はボイスコイルモータ（ＶＣＭ）１２４により制御され、そのモータは一般に、アクチュエータアセンブリ１１０に取付けられたコイル１２６と、コイル１２６を包み込む磁界を作る１つまたはそれ以上の永久磁石１２８とを含む。制御された電流をコイル１２６に印加すると、磁石１２８とコイル１２６との間に磁気的相互作用が生じるので、コイル１２６は公知のローレンツの関係により移動する。コイル１２６が移動すると、アクチュエータアセンブリ１１０は軸受軸アセンブリ１１２の回りに旋回し、ヘッド１１８はディスク１０８の表面を横切って移動する。
【００１０】
スピンドルモータ１０６は、ディスクドライブ１００が長時間使用されなかった時は、一般に消勢される。ドライブモータが消勢された時は、ヘッド１１８は、ディスク１０８の内径近くのパークゾーン１２０上へ移動される。ヘッド１１８は、ヘッドがパーキングした時にアクチュエータアセンブリ１１０の意図しない回転を防止するアクチュエータラッチ装置の使用により、パークゾーン１２０上に固定される。
【００１１】
フレックスアセンブリ１３０は、動作中のアクチュエータアセンブリ１１０の旋回移動を許容しつつ、アクチュエータアセンブリ１１０に対し必要な電気接続路を提供する。フレックスアセンブリは、ヘッドワイヤ（図示せず）が接続されたプリント回路板１３２を含む。このヘッドワイヤは、アクチュエータアーム１１４およびフレクシャ１１６に沿ってヘッド１１８まで走っている。プリント回路板１３２は、一般に、書込み動作中にヘッド１１８に印加される書込み電流を制御する回路と、読取り動作中にヘッド１１８が発生する読取り電流を増幅する前置増幅器とを含む。フレックスアセンブリは、ベースデッキ１０２を貫通して、ディスクドライブ１００の底面に取付けられたディスクドライブプリント回路板（図示せず）へ通信するための、フレックスブラケット１３４で終わる。
【００１２】
図２は、本発明の実施例を用いる代表的な環境２００を示す。インテリジェント記憶素子２０２は、アプリケーションデータを用いるアプリケーションソフトウェアを、データ記憶ディスク２０４上に記憶されているアプリケーションデータに結合させる。インテリジェント記憶素子（ＩＳＥ）２０２内の中央処理装置（ＣＰＵ）２０６は、汎用オペレーティングシステム（ＯＳ）を走らせる。このＯＳは、アプリケーションプログラムを、より大きいプロセス内のプロセスまたはスレッドとして実行するように動作できる。ＣＰＵ２０６は、本技術分野において公知の任意のマイクロプロセッサでありうる。例には、インテル、モトローラ、またはマッハＺ（ＭａｃｈＺ）系のマイクロプロセッサが含まれる。オペレーティングシステムのソフトウェアは、好ましくはデータ記憶ディスク２０４上に記憶され、ＩＳＥ２０２がパワーアップされた時にメモリ媒体２０８内へロードされる。基本入出力システム（ＢＩＯＳ）はブートコードを含み、これは、メモリ媒体２０８およびデータ記憶ディスク２０４の組合せ上に存在する。メモリ媒体２０８は、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、フラッシュメモリ、または電気的に消去可能なプログラム可能ＲＯＭ（ＥＥＰＲＯＭ）を含みうるが、これらに限られるわけではない。ＣＰＵ２０６は、メモリ媒体２０８に動作可能に接続され、またローカルメモリを含んでおり、それによりＣＰＵ２０６は、パワーアップされた時に、ＯＳをローカルメモリ内へロードして、ＯＳを実行することができる。
【００１３】
ＣＰＵ２０６はまた、外部ネットワーク２１２に対するインタフェースをなす入出力モジュール２１０にも接続されている。入出力モジュール２１０は、好ましくは、データを受信、送信、および記憶するための、受信部、送信部、およびデータバッファを用いる。入出力モジュール２１０は、通信リンク２１４に接続され、入出力モジュール２１０はこれを経て、ネットワーク２１２上において通信するノードと通信する。ノードは、コンピュータ、セルラ電話機、パーソナルディジタルアシスタント、または別のインテリジェント記憶素子を含むが、これらに限られるわけではない、任意のコンピュータ化された装置でありうる。通信リンク２１４は、直接有線接続、パケットプロトコル有線ネットワーク、または無線ネットワークを含むが、これらに限られるわけではない、任意の通信接続でありうる。ＩＳＥ２０２には、ＩＳＥ２０２に電力を供給する電源２１６が接続されている。電源２１６は、好ましくは、電源２１８からの交流電力をＩＳＥ２０２に適する直流電力に変換する、小さいフォームファクタの電力アダプタとする。
【００１４】
ＩＳＥ２０２の１つの実施例は、リナックス（Ｌｉｎｕｘ）オペレーティングシステム（ＯＳ）を含み、イーサネット（Ｒ）接続２１４を経てローカルエリアネットワーク（ＬＡＮ）２１２により通信する。ＬＡＮにより通信するノードは、ＩＳＥ２０２へデータを送信し、またＩＳＥ２０２からデータを受信する。入出力モジュール２１０は、ハイパーテキストトランスポートプロトコル（ＨＴＴＰ）を含むが、これに限られるわけではない、任意の通信プロトコルをサポートする。従って、ＩＳＥ２０２は、ＩＳＥ２０２に関連する１つまたはそれ以上の一様なリソースロケータを有する。入出力モジュール２１０は、ＬＡＮに接続されたノードとの間でハイパーテキストマークアップ言語（ＨＴＭＬ）データを送受信する。ＩＳＥ２０２において実行される１つのアプリケーションは、ネットワークファイルシステム（ＮＦＳ）であり、これは、データ記憶ディスク２０４上に記憶されているデータの、ＬＡＮ上のノードによる共用を可能にする。ＮＦＳを用いると、ＩＳＥ２０２に記憶されているデータは、遠隔ノード上に、あたかもそのデータがそのノードにとってローカルなものであるかのように現れる。当業者は、本発明による入出力モジュール２１０の多くの別の実施例を認識するであろう。
【００１５】
ＩＳＥ２０２は、好ましくは、８．８９ｃｍ（３．５インチ）のフォームファクタのディスクドライブアセンブリとする。ＩＳＥ２０２の他の実施例は、８．８９ｃｍ（３．５インチ）よりも小さいフォームファクタのアセンブリとして実施される。例えば、ＩＳＥ２０２は、手のひらサイズのもので、簡易なポータビリティのために個人のポケットに入れられるものと想像される。従って、ＩＳＥ２０２は、大量のデータ記憶装置、簡易なポータビリティ、および実行可能なソフトウェアアプリケーションの利点を有する。ＩＳＥ２０２は、オペレーティングシステム、ファイルシステム、および通信リンク２１４を経てのネットワーク２１２へのアクセスファイルおよび通信ファイルデータのためのデータ記憶ディスク媒体２０４を有する、ネットワーク２１２上のネットワークノードとして見られる。ファイルシステムはファイルを管理し、オペレーティングシステムおよびデータ記憶ディスクアクセス技術と統合されている。ファイルシステムは、データ記憶ディスク２０４にアクセスする方法およびシステムを利用して、ファイルの検索および記憶装置を、従来技術のアプローチよりも効率的に、かつ高速にするように設計できる。
【００１６】
図３は、ＩＳＥ３０２の代表的な実施例が実施されている環境３００を示す。代表的なインテリジェント記憶素子（ＩＳＥ）３０２は、いくつかのシステム部品への接続を行うドッキングステーション３０４に接続されている。ドッキングステーション３０４は、好ましくは、ＩＳＥ３０２上のコネクタ（図示せず）と対をなして接続するコネクタポート３０６を含む。コネクタポート３０６を経てＩＳＥ３０２と操作可能な通信を行うシステム部品の例には、キーボード３０８、マウス３１０、モニタ３１２、プリンタ３１４、およびスピーカ３１６がある。モデム３１８に対する接続３１７もまたドッキングステーション３０４により備えられているので、ＩＳＥ３０２は、広域ネットワーク３２２を経て遠隔コンピュータ３２０と操作可能な通信を行う。コネクタポート３０６はまた、遠隔コンピュータ３２０への通信を提供するローカルエリアネットワーク３２４への接続をも行う。遠隔コンピュータ３２０は、ＩＳＥ３０２がネットワークの１つ（３２２または３２４）を経てアクセスしうる、遠隔アプリケーションプログラム３２６を有する。
【００１７】
ＩＳＥ３０２は、ＣＰＵ３２８、メモリ３３０、入出力モジュール３３２、およびサーボ制御システム３３４を含む。メモリ３３０は、基本入出力システム（ＢＩＯＳ）３３６、オペレーティングシステム３３８、アプリケーションプログラム３４０、プログラムデータ３４２、およびディスクバッファ３４３を有するが、これらに限られるわけではない、システムメモリ３３１を含む。アプリケーションプログラム３４０は、表計算、ワードプロセッサ、およびデータベースプログラムのような、汎用生産性ソフトウェア、ならびに、給料支払い簿、棚卸し表、および他の経理目的、のための特注のパッケージプログラムを含む。ＩＳＥ３０２の論理部品は、ハードウェア論理またはソフトウェア内、またはソフトウェアおよびハードウェア論理の組合せ内に実現される。システムメモリ３３１は、ＩＳＥ３０２の部品に対し動的に割当てられる。例えば、アプリケーションプログラム３４０が少ないメモリしか要求しない時は、フリーメモリが入出力モジュール３３２またはディスクバッファ３４３に割当てられる。
【００１８】
当業者は、図示されている論理部品が、なんらかの組合せ内に１つまたはそれ以上の部品として統合できることを認識するであろう。例えば、ＣＰＵ３２８、メモリ３３０、および入出力モジュール３３２は、単一シリコンチップ上に実現できる。メモリ３３０は、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、電気的に消去可能なプログラム可能読取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、またはデータディスク（例えば、図１の１０８）でありうるが、これらに限られるわけではない。スタートアップ中などに、ＩＳＥ３０２内の素子間で情報を転送するのを助ける基本ルーチンを含む基本入出力システム３３６（ＢＩＯＳ）は、一般にＲＯＭ内に記憶されている。ＲＡＭは、一般に、ＣＰＵ３２８により直ちにアクセス可能な、かつ／または現在ＣＰＵ３２８により操作されている、データおよび／またはプログラムモジュールを含む。
【００１９】
制限としてではなく、例として、図３は、オペレーティングシステム３３８、アプリケーションプログラム３４０、プログラムデータ３４２、およびディスクバッファ３４３のようなデータアイテムを示している。システムメモリ３３１のこれらのデータアイテムは、それぞれが異なるメモリ媒体上、または同じメモリ媒体の異なる区画内に物理的に配置される。例えば、オペレーティングシステム３３８およびはアプリケーションデータ３４０は、ディスク１０８上に存在し、一方プログラムデータ３４２は、ＩＳＥ３０２内のＥＥＰＲＯＭ上に存在する。パワーアップ時に、ＣＰＵ３２８は、オペレーティングシステム３３８を同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）チップ内へロードし、このＳＤＲＡＭからのオペレーティングシステム３３８を実行する。同様にして、アプリケーションプログラム３４０は、アプリケーションが用いられる時に、高速メモリチップ内へロードされ、そのメモリチップから実行される。メモリはＩＳＥ３０２内に有利に統合され、それによりメモリモデルの圧縮および冗長部品の消去が考慮される。さらに、ＩＳＥ３０２の特定の実施においては、ＩＳＥ３０２により行われる部品統合により、バッファ３４３が不必要となることが想像される。このようにして、ＣＰＵ３２８は、（２０４のような）データ記憶ディスクから直接読取り、またそれへ直接書込む。
【００２０】
ＣＰＵ３２８は、オペレーティングシステム３３８を走らせる。オペレーティングシステム３３８は、アプリケーションプログラム３４０を走らせるように動作できる。ＣＰＵは、サーボ制御システム３３４と操作可能に通信し、ＩＳＥ３０２内のデータ記憶ディスク上のデータを検索し、またそこへデータを記憶させる。ＣＰＵ３２８はまた、入出力モジュール３３２と操作可能な通信を行い、外部部品へデータを送信し、また外部部品からデータを受信する。例えば、アプリケーションプログラム３４０は、キーボード３０８からユーザ入力を受取るワードプロセッシングプログラムである。キーボード３０８から受取った入力は入出力モジュール３３２に入り、ＣＰＵ３２８により処理される。キーボード入力に応答して、データが入出力モジュール３３２を経てモニタ３１２へ送られ、それによりユーザに対しての情報がモニタ３１２上にディスプレイされる。ユーザがデータを保存することを選択した時は、ＣＰＵ３２８はサーボ制御システム３３４にアクセスし、データをメモリ３３０内のデータ記憶ディスク上に保存する。サーボ制御システム３３４および対応するメモリ３３０内のデータ記憶ディスクは、機能的にサーボシステムおよび図１に示されているディスク１０８と類似している。ＩＳＥ３０２は、８．８９ｃｍ（３．５インチ）のフォームファクタのケース内にあるものと想像される。
【００２１】
ハードディスクへのデータの保存のプロセスは、特定のアプリケーションまたはＩＳＥのタイプに対し最適化される。図３に示されている実施例は、オペレーティングシステム、ファイルシステム、およびディスク媒体の緊密な結合を考慮したものである。従って、論理ブロックアドレス（ＬＢＡ）抽象の必要はない。ファイルシステムは、ハードディスクアセンブリ（ＨＤＡ）の実施の詳細な知識を利用するように設計され、または修正される。論理ブロックアドレスの探索の詳細は、ＩＳＥのファイルシステム内に組込むことができるので、ＩＳＥのユーザにとってはトランスペアレントとなる。例えば、ＬＢＡ１は、物理的にＬＢＡ２に隣接している必要はない。従って、ＩＳＥは、ディスクアクセスにおいて、より効率的かつ高速にすることができる。
【００２２】
図３に示されているシステムの別の実施例は、キオスク（ｋｉｏｓｋ）システムであり、その場合キオスクは、さまざまな場所において利用でき、小形軽量のＩＳＥ３０２はキオスクの場所に持参することができる。例えば、キオスクを飛行機のシートの裏側に置けば、ユーザのＩＳＥ３０２をそのキオスク内にドッキングさせ、飛行機上において計算することができる。キオスクはまた、ビデオ、サウンド、印刷、ネットワーク技術、キーボード、およびマウスの諸機能を提供できる点において、キオスクは機能的にドッキングステーション３０４に類似している。
【００２３】
図４は、インテリジェント記憶素子４０２の実施例を用いる環境４００の論理ブロック図を示す。インテリジェント記憶素子（ＩＳＥ）４０２は通信バス４０４に接続され、それによりＩＳＥ４０２は、バス４０４を経て通信するいくつかの部品とのインタフェースを形成する。バス４０４上の代表的な部品は、キーボード４０６、マウス４０８のようなポインティング装置、モニタ４１０、モデム４１２、および遠隔コンピュータ４１４である。ＩＳＥ４０２は、バス４０４に操作可能に接続されたコネクタポート４１６を含む。コネクタポート４１６は、バス４０４からのデータをＩＳＥ４０２内のシステムバス４１８へ通信するよう機能する。
【００２４】
ＩＳＥ４０２は、入出力モジュール４２０を含み、それによりデータは、ＩＳＥ４０２からバス４０４へ、またその逆に通信される。入出力モジュール４２０は、ビデオインタフェース４２２、ネットワークインタフェース４２４、直列インタフェース４２６、工業標準アーキテクチャ（ＩＳＡ）インタフェース４２８、および統合電子ドライブ（ＩＤＥ）インタフェース４３０を含む。ＩＳＥ４０２はまた、データ記憶ディスク４３２のような大量記憶媒体を含む。モジュール４２２、４２４、４２６、４２８、および４３０のそれぞれは、一般に関連するバッファを含み、それは、バス４０４とＩＳＥ４０２との間の高速データ転送を容易にする。データ記憶ディスク４３２に書込まれるべきデータは、バス４０４からインタフェース４２２、４２４、４２６、４２８、および４３０の１つへ送られた後に、読書きチャネル４３４へ送られ、このチャネルはそのデータをエンコードして直列化する。
【００２５】
読書きチャネル４３４はまた、必要な書込み電流信号をヘッド４３６に供給する。ＩＳＥ４０２に前に記憶されたデータを検索するときは、ヘッド４３６から読取り信号が発生して読書きチャネル４３４へ供給され、このチャネルは、検索されたデータを処理してインタフェース４２２、４２４、４２６、４２８、および４３０へ出力し、後にバス４０４へ転送されるようにする。やはり図４に示されているように、マイクロプロセッサ４３８は、システム制御線路４４０を経てインタフェース４２２、４２４、４２６、４２８、および４３０に操作可能に接続されている。システム制御線路４４０は、一般に、制御線路、データ線路、および割込み線路を含む。マイクロプロセッサ４３８は、モトローラまたはインテルのマイクロプロセッサを含むが、これらに限られるわけではない、本技術分野において公知の任意のマイクロプロセッサでありうる。マイクロプロセッサ４３８は、ＩＳＥ４０２のためのトップレベルの通信および制御を、一般にマイクロプロセッサメモリ（ＭＥＭ）４４２内に記憶されているマイクロプロセッサ４３８のためのプログラミングと共に提供する。ＭＥＭ４４２は、マイクロプロセッサ４３８のためのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、および他の常駐メモリのソースを含むことができる。さらに、マイクロプロセッサ４３８は、スピンドルおよびサーボ制御装置４４４のための制御信号を供給する。
【００２６】
図４の実施例内のＩＳＥ４０２は、好ましくは、８．８９ｃｍ（３．５インチ）のフォームファクタのアセンブリとする。前述のように、ＩＳＥ４０２は、簡易なポータビリティのために、もっと小さいフォームファクタで実施されてもよい。このようにして、ＩＳＥ４０２は、好ましくは、典型的なハードディスクドライブのサイズよりも大きくなく、一般にコンピュータ内に常駐する通信インタフェース部品を統合する。ビデオインタフェース４２２は、好ましくは、ビデオ信号によりモニタ４１０を駆動するハードウェアおよびソフトウェア部品を含む。ネットワークインタフェース４２４は、バス４０４上またはバス４０４外のネットワークメッセージを送受信する動作を行いうるハードウェアおよびソフトウェアを含むので、ＩＳＥ４０２は、バス４０４上のコンピュータ４１４と通信できる。ネットワークインタフェース４２４は、一般に、コンピュータ４１４に対する通信の１つの可能な手段としてのモデム４１２と通信できる。遠隔コンピュータ４１４は、本技術分野において公知の、任意のコンピュータ化された通信装置でありうる。制限としてではなく、例として、遠隔コンピュータ４１４は、デスクトップコンピュータ、ラップトップコンピュータ、サーバコンピュータ、またはパーソナルディジタルアシスタント（ＰＤＡ）のようなハンドヘルド装置でありうる。直列インタフェース４２６は、好ましくは、マウス４０８およびキーボード４０６と対話する動作を行いうるハードウェアおよびソフトウェアを含む。
【００２７】
ＩＳＡインタフェース４２８は、好ましくは、バス４０４に接続された周辺装置と対話する動作を行いうるハードウェアおよびソフトウェアを含む。周辺装置には、スピーカ、プリンタ、スキャナ、およびディジタルカメラが含まれるが、これらに限られるわけではない。ＩＤＥインタフェース４３０は、好ましくは、ＩＤＥバスとインタフェースする動作を行いうるハードウェアおよびソフトウェアを含む。１つの実施例においては、ＩＤＥインタフェース４３０は、他のインタフェース４２２、４２４、４２６、および４２８と、マイクロプロセッサ４３８との間をインタフェースする働きをする。
【００２８】
図５は、本発明の実施例を実施するための適切なネットワーク環境５００を示す。図５の環境５００は、分散処理アプリケーションのために特に適している。図５は、バス５０２を経て相互に操作可能な通信をするインテリジェント記憶素子５０１のクラスタ５２４を示している。多重インテリジェント記憶素子がネットワークまたは通信バスに接続された時は、処理は、それらのインテリジェント記憶素子間に分散される。これは、多重プロセッサを用いる並列処理を考慮しており、計算の性能を改善できる。
【００２９】
インテリジェント記憶素子（ＩＳＥ）５０１は、ＩＳＥ５０１間の通信を伝えるバス５０２に接続されている。バス５０２は、ＩＳＥ５０１上のコネクタに適合する接続点５０４を含み、それによりＩＳＥ５０１は、バス５０２に接続できる。前述のように、それぞれのＩＳＥ５０１は、１つまたはそれ以上のアプリケーションプログラムを走らせる動作を行いうる中央処理装置を含む。図５の分散処理システムにおいて、マスタＩＳＥ５０６はマスタ機能を行う。マスタＩＳＥ５０６は、構造的に他のＩＳＥ５０１と相違はない。相違は、マスタＩＳＥ５０６が行う機能のみにある。マスタ機能は、ＩＳＥ５０１間へのタスクの分散、タスクの優先順位づけ、バスからのデータの受信、および対応するＩＳＥ５０１へのデータの送受信を含むが、これらに限られるわけではない。
【００３０】
通信バス５０２は、任意のプロトコルをサポートする任意の構造でありうる。バス構造の例は、統合ドライブ電子装置（ＩＤＥ）、小形コンピュータシステムインタフェース（ＳＣＳＩ）、周辺部品相互接続（ＰＣＩ）、および拡張工業標準アーキテクチャ（ＥＩＳＡ）である。バス５０２はまた、所有権を主張できるプロトコルをサポートする所有権を主張できる構造でありうる。バス５０２上で利用されるバスプロトコルは、時分割多重化（ＴＤＭ）、トークンリング、パケットベース、または専用ワイヤの各スキームを含むが、これらに限られるわけではない。バスアーキテクチャは、同期的または非同期的のものでありうる。当業者は、ＩＳＥ５０１およびバス５０２が、さまざまな通信構成のいずれを実現するためにも適応できることを認識するであろう。
【００３１】
図５にはまた、１つまたはそれ以上のＩＳＥ５０１と操作可能に通信する通信ネットワーク５０３が示されている。制限としてではなく、例として、通信ネットワーク５０３は、有線ネットワーク、直接有線接続、または無線ネットワークでありうる。有線ネットワークの例は、イーサネット（Ｒ）または電話ネットワークである。無線の例は、音響、ＲＦ、赤外線および他の無線媒体を含む。好ましくは、通信ネットワーク５０３およびＩＳＥ５０１は、ハイパーテキストトランスポートプロトコル（ＨＴＴＰ）、送信プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ファイル転送プロトコル（ＦＴＰ）、またはネットワークファイルシステム（ＮＦＳ）のようなプロトコルをサポートする。それぞれのＩＳＥ５０１は、ネットワークコネクタ５２２を経てネットワーク５０３に接続されている。本技術分野において公知のネットワークコネクタ５２２の例は、ＲＪ−１１、ＲＪ−４５、またはＲＪ−４８である。それぞれのＩＳＥ５０１は、ネットワーク５０３に対する別々の接続を維持できる。
【００３２】
好ましくは、それぞれのＩＳＥ５０１は、関連する独自の識別子を有し、それによりバスデータを、特定のＩＳＥ５０１に関連させることができる。１つの実施例においては、この識別子はインターネットプロトコル（ＩＰ）アドレスである。ネットワーク５０３上のノードは、マスタＩＳＥ５０６のＩＰアドレスを用い、クラスタ５２４へ通信する。マスタＩＳＥ５０６は、ネットワーク５０３からデータを受信し、それに応答して、そのデータを関連するＩＳＥ５０１へ分散する。マスタＩＳＥ５０６は、一般に、特定のＩＳＥ５０８へ送られるいずれのデータにも識別子を添付するので、特定のＩＳＥ５０８のみがそのデータを受取る。このようにして、外部ノードに対し、クラスタ５２４は独自のＩＰアドレスを有し、クラスタ５２４内の個々のＩＳＥ５０１はサブグループアドレスを有する。マスタＩＳＥ５０６は、ネットワーク５０２から受信した情報をフィルタすることによりマスキング機能を行い、ＩＳＥ５０１に対し適切に情報を分散する。ＩＳＥ５０１は、マスタＩＳＥ５０６から受信したデータに応答してデータを処理し、データをバスを経て他のＩＳＥ５０１へ送る。バス５０２のプロトコルに依拠して、ＩＳＥ５０１へ送られ、またＩＳＥ５０１から送られたデータは、さまざまな時刻にバス５０２を経て送信される。例えば、そのプロトコルは、それぞれのＩＳＥ５０１がデータを送信する時間の単位を与えるタイムフレームを規定する。もう１つの例として、ＩＳＥ５０１からのデータは、マスタＩＳＥ５０６からの命令に応答して送られる。
【００３３】
処理は、特定のアプリケーションに適する任意の様式で分散される。例えば、ｅメールアプリケーション、ワードプロセッシングアプリケーション、およびインターネットブラウジングアプリケーションを含む典型的なオフィスコンピュータシステムにおいては、クラスタ５２４内のそれぞれのＩＳＥ５０１がアプリケーションの１つを割当てられる。１つのＩＳＥは、ｅメールおよびワードプロセッシングのような他のアプリケーションにおいて用いる画像を処理する画像処理タスクを与えられる。あるいは、全クラスタ５２４により単一のアプリケーションプログラムを実行することもでき、その場合は、アプリケーションプログラム内のサブタスクがＩＳＥ５０１間に分散される。マスタＩＳＥ５０６は、どのようにタスクを分散すべきかの決定において、ルールベースシステムを用いることができる。ルールベースシステムは、画像処理タスクをＩＳＥに分散するかどうかの決定において、特定のＩＳＥの処理力を考慮する。プロセスは、動的または静的に分散される。例えば、マスタＩＳＥ５０６は、タスクがバス５０２上に受取られる毎に、ルールを用いてタスクを分散する。
【００３４】
図５の実施例は、故障回復を考慮している。故障回復は、もしＩＳＥの１つが故障すれば、１つのＩＳＥを別のＩＳＥの代わりに用いる。例えば、もしマスタＩＳＥ５０６が故障すれば、バックアップＩＳＥ５０８がマスタＩＳＥ５０６になることができる。バックアップＩＳＥ５０８は、好ましくは、タスクの優先順位およびＩＳＥ５０１への分散を表すデータを有する。従って、ＩＳＥ５０６およびＩＳＥ５０８は冗長マスタである。
【００３５】
図５にはまた、通信バス５０２に接続された部品が示されている。代表的な部品は、モニタ５１０、キーボード５１２、およびマウス５１４である。キーボード５１２およびマウス５１４は、コネクタ５１６によりバス５０２に接続されている。コネクタ５１６は、コンピュータシステムにおいて一般に用いられているＰＳ−２コネクタでありうる。モニタ５１０は、コネクタ５１８を経てバス５０２に接続されている。コネクタ５１８は、たいていのコンピュータシステムにおいて一般に用いられている１５ピンＤコネクタでありうる。モニタ５１０、キーボード５１２、およびマウス５１４は、ユーザが、ＩＳＥ５０１上で走っているアプリケーションと対話できるようにする。例えば、マウス５１４から得られるマウスポインタの移動は、マウスの移動を表すデータを含む信号を、バス５０２を経てマスタＩＳＥ５０６へ送る。マスタＩＳＥ５０６は、その信号がモニタ５１０上の表示に関連するデータを含むことを決定する。次に、マスタＩＳＥ５０６は、その信号を、モニタの表示を更新するタスクを行うＩＳＥ５０１へ送ることができるので、マウスポインタに新しい位置を与えることができる。電源５２０はバスに接続され、ＩＳＥ５００へ電力を供給する。電源は、好ましくは、直流（ＤＣ）電力を供給する小さいフォームファクタの外部電力アダプタとする。
【００３６】
図６は、図５に示されているシステムのような分散処理システムに係わる代表的な方法の諸ステップを示す操作フロー６００である。ＩＳＥ５０１のようなＩＳＥは、接続操作６０４において通信バスに接続される。割当て操作６０６は、優先順位およびタスクをＩＳＥ５０１間に割当てる。好ましくは、１次マスタＩＳＥ５０６のような１次マスタＩＳＥが、割当て操作６０６において、優先順位およびタスクをＩＳＥ５０１間に割当てる。割当て操作６０６中に、２次マスタＩＳＥ５０８のような２次マスタＩＳＥは、１次マスタＩＳＥ５０６を適正な動作のためにモニタするタスクを割当てられる。割当て操作６０６において割当てられるタスクは、ワードプロセッシング、ｅメール、計算、または課金のタスクを含むが、これらに限られるわけではない、任意のコンピュータタスクである。分散操作６０８においては、最初のマスタＩＳＥ５０６、または２次マスタＩＳＥ５０８が、通信バスからデータを受取り、そのデータを関連するＩＳＥ５０１へ分散する。決定操作６１０においては、１次マスタ５０６が破損しているかどうかが決定される。好ましくは、決定操作６１０は、２次マスタＩＳＥ５０８のような他のＩＳＥの１つにより行われる。もし１次マスタＩＳＥ５０６が破損していなければ、分散操作６０８はデータの分散を続ける。一方、もし１次マスタＩＳＥ５０６が破損していれば、スイッチング操作６１２が、１次マスタＩＳＥ５０６から２次マスタＩＳＥ５０８へスイッチする。次に、２次マスタＩＳＥ５０８が、分散操作６０８においてデータを分散する。処理は、クラスタ５２４がパワーダウンされるまでこのようにして継続される。
【００３７】
要約すると、本発明の実施例は、（１０２のような）ベースプレート上に取付けられた、（２０４のような）データディスクを有する、（２０２のような）データ記憶装置と見られる。この実施例は、データを（２０４のような）データディスクから読取り、またそれへ書込む、（１１８のような）トランスジューサを有する（１１４のような）アクチュエータアームを含む。実施例はさらに、（１１４のような）アクチュエータアームと通信してアクチュエータアームを（２０４のような）データディスク上で移動させることができる（３３４のような）サーボ制御装置を有する、（１０２のような）ベースプレートに固着されたプリント回路板（ＰＣＢ）を含む。さらに、実施例は、（３３４のような）サーボ制御装置への制御信号を発生して（３３８のような）オペレーティングシステムを走らせる、ＰＣＢに接続された（３２８のような）中央処理装置（ＣＰＵ）を含む。（３３８のような）オペレーティングシステムは、（３３１のような）メモリに記憶されている。このメモリはさらに、（３４０のような）アプリケーションプログラムを記憶し、これが（３２８のような）ＣＰＵに接続されるので、（３４０のような）アプリケーションプログラムは、（３２８のような）ＣＰＵにより実行される。このデータ記憶装置は（３２４のような）通信ネットワークに接続され、（３２４のような）通信ネットワークに接続されている（３２０のような）ノードに対し通信できる（３３２のような）入出力モジュールを含む。
【００３８】
もう１つの実施例は、（３００のような）コンピュータシステムと見られ、これは、（３０２のような）データ記憶装置を受入れる（３０６のような）コネクタポートを有する（３０４のような）ドッキングステーションを含む。（３０２のような）データ記憶装置は、（３２８のような）マイクロプロセッサと、（３２８のような）マイクロプロセッサに接続された、（３３８のような）オペレーティングシステムを記憶している（３３１のような）メモリとを有する。（３３８のような）オペレーティングシステムは、好ましくは、（３４０のような）アプリケーションプログラムの実行動作が可能なものとする。（３２８のような）マイクロプロセッサは、（３３８のような）オペレーティングシステムを実行する。さらに、（３２４のような）通信ネットワークに操作可能に接続された（３３２のような）入出力モジュール、および（１０４のような）データ記憶ディスクが含まれている。（３０２のような）データ記憶装置は、好ましくは、（３２４のような）ネットワークに接続される。コンピュータシステムはさらに、（３２４のような）通信ネットワークに対する（３０６のような）接続を含む。
【００３９】
実施例はまた、コンピュータ処理タスクの（６００のような）分散方法とも見られ、この方法は、（５０１のような）インテリジェント記憶素子を（５０２のような）通信バスに（６０４のように）接続し、タスクを（５０１のような）インテリジェント記憶素子のそれぞれに（６０６のように）割当て、タスクの（６０６のような）割当てに基づきデータを（５０１のような）インテリジェント記憶素子間に（６０８のように）分散する。実施例はさらに、（５０６のような）１次マスタインテリジェント記憶素子が破損しているかどうかを（６１０のように）決定し、もし（５０６のような）１次マスタインテリジェント記憶素子が破損していれば（５０８のような）２次マスタインテリジェント記憶素子を（６１２のように）使用することを含む。
【００４０】
本発明が、前述の目的および利点、ならびに固有の目的および利点を十分達成しうることは明らかである。好ましい実施例を開示の目的で説明してきたが、本発明の範囲内に属するさまざまな変更および改変を行うことができる。例えば、インテリジェント記憶素子は、ネットワークに接続された部品間の通信を提供する同列間通信モジュールを含むことができる。また、インテリジェント記憶素子は、ユーザのプライバシーを保護するセキュリティモジュールを有することもできる。当業者にとって容易に連想され、また添付の特許請求の範囲に開示され且つ定められている本発明の精神に包含される、多数の他の変更を行うこともできる。
【図面の簡単な説明】
【図１】
本発明の実施例を取入れたディスクドライブの平面図で、主要な内部部品を示している。
【図２】
図１のディスクドライブの機能ブロック図である。
【図３】
図１のインテリジェント記憶素子の機能ブロック図である。
【図４】
図１のディスクドライブのための適切な計算環境を示す。
【図５】
図１に示されているディスクドライブを実現する分散処理システムを示す。
【図６】
図５に示されているシステムのような分散処理システムに関連する、代表的な方法の諸ステップを示すフロー制御ダイアグラムである。
【図１】
2004515019.tif 000003
【図２】
2004515019.tif 000004
【図３】
2004515019.tif 000005
【図４】
2004515019.tif 000006
【図５】
2004515019.tif 000007
【図６】
2004515019.tif 000008
【国際公開パンフレット】
2004515019.tif 000009
2004515019.tif 000010
2004515019.tif 000011
2004515019.tif 000012
2004515019.tif 000013
2004515019.tif 000014
2004515019.tif 000015
2004515019.tif 000016
2004515019.tif 000017
2004515019.tif 000018
2004515019.tif 000019
2004515019.tif 000020
2004515019.tif 000021
2004515019.tif 000022
2004515019.tif 000023
2004515019.tif 000024
2004515019.tif 000025
2004515019.tif 000026
2004515019.tif 000027
2004515019.tif 000028
2004515019.tif 000029
2004515019.tif 000030
2004515019.tif 000031
2004515019.tif 000032
2004515019.tif 000033
2004515019.tif 000034
2004515019.tif 000035
【国際公開パンフレット（コレクトバージョン）】
2004515019.tif 000036
【国際調査報告】
2004515019.tif 000037
2004515019.tif 000038
2004515019.tif 000039