(57)【要約】  本明細書に記載の一実施形態が、外部記憶装置をエンハンスするシステムおよび方法を提供する。一つの実施形態は、コンピュータ・システムの周辺デバイスの制御装置を含む。制御装置が、周辺デバイスの記憶媒体へのアクセスを提供する。一実施形態では、周辺デバイスの記憶媒体が、周辺デバイスのファームウェア用に確保された記憶セクションを含む。
2009515254.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・システムの周辺デバイスの制御装置を具備する装置であって、前記制御装置は前記周辺デバイスの記憶媒体にアクセスし、前記記憶媒体は前記周辺デバイスのファームウェア用に確保された記憶セクションを含む装置。
【請求項２】
前記制御装置が、前記デバイスのファームウェアを記憶するための不揮発性記憶装置を含まない請求項１に記載の装置。
【請求項３】
前記デバイスのファームウェアが、前記デバイスの製造番号、前記デバイスの製造元の識別、および前記デバイスの型番ＩＤのうちの１つまたは複数を含む請求項２に記載の装置。
【請求項４】
前記周辺デバイスが、外部記憶装置ソリューションである請求項３に記載の装置。
【請求項５】
前記周辺デバイスが、ユニバーサル・シリアル・バス（ＵＳＢ）ディスク・ドライブ、ファイヤワイヤ・ディスク・ドライブ、およびＩＤＥディスク・ドライブのうちの１つを含む外部記憶デバイスである請求項３に記載の装置。
【請求項６】
前記周辺デバイスが、ＵＳＢインターフェース、シリアルＡＴＡインターフェース、ファイヤワイヤ（ＩＥＥＥ１３９４インターフェース）、ＡＴＡディスク・ドライブに接続されたＵＳＢオン・ザ・ゴー（ＯＴＧ）のうちの少なくとも１つを含むホスト・インターフェースを有する請求項３に記載の装置。
【請求項７】
前記制御装置が前記デバイスの主記憶媒体をスキャンしてファームウェアを見つけ、前記ファームウェアを前記システムのメモリにロードする請求項５に記載の装置。
【請求項８】
周辺デバイスにアクセスするための制御装置を具備する装置であって、前記制御装置はファームウェアを含まず、前記制御装置は、前記制御装置のファームウェアをエミュレートするために確保された前記周辺デバイスの記憶媒体の１セクションにアクセスする装置。
【請求項９】
コンピュータ・システムの周辺記憶デバイスの制御装置を具備する装置であって、前記制御装置は、複数のハードディスク・ドライブ（ＨＤＤ）の存在を識別し、前記複数のＨＤＤのうちのどの１つの記憶容量よりも大きな記憶容量を有する単一のＨＤＤとして前記複数のＨＤＤに対して論理的アクセスを行う装置。
【請求項１０】
前記制御装置が、前記複数のＨＤＤの記憶容量の合計に等しい記憶容量を有する単一のＨＤＤとして前記複数のＨＤＤに対して論理的アクセスを行う請求項８に記載の装置。
【請求項１１】
前記制御装置が、初期化に応じて、ジャンパおよびインジケータのうちの１つが、前記複数のＨＤＤが論理的に単一のＨＤＤとしてアクセスされるべきであることを示すように設定されるかどうかを決定する請求項８に記載の装置。
【請求項１２】
前記制御装置が、前記複数のＨＤＤの個別のＨＤＤの記憶容量を決定する請求項１０に記載の装置。
【請求項１３】
前記複数のＨＤＤのうちの第１ＨＤＤのアドレスの量より大きな論理アドレスをもつアクセス要求の受信に応じて、前記制御装置が、前記第１ＨＤＤのアドレスの量だけ前記論理アドレスをオフセットすることにより、前記論理アドレスに対応する第２ＨＤＤへのアドレスを、請求項１０に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記憶装置に関し、より詳細には、外部記憶装置をエンハンス（ｅｎｈａｎｃｅ）するシステムおよび方法に関する。
【背景技術】
【０００２】
ＵＳＢまたはファイヤワイヤ（商標）（Firewire）（ＩＥＥＥ１３９４とも呼ばれる）、ＳＡＴＡ（シリアルＡＴＡ）に基づく外部記憶装置ソリューション（外部ストレージソリューション）が極めて普及している。デジタル環境における生活スタイルの定着に伴い、記憶装置の需要が大いに高まっており、さらに大容量の記憶装置が登場するだろう。このことが、全体的なシステム・コストは低減しながら性能を発揮し続ける、費用対効果の高い制御装置の設計をもたらした。
【特許文献１】米国特許仮出願第６０／７３３，０６７号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ほとんどの制御装置は、その制御装置自体の中に、エンハンスメントをなし得る余地をもつ基本ファームウェアを含む。制御装置の全てのアプリケーションを予測することは難しく、そこで制御装置をエンハンスして新しいアプリケーションに対処する方法が、これらエンハンスメントをＥＥＰＲＯＭなどに常駐できるようにすることにより与えられる。
【課題を解決するための手段】
【０００４】
本明細書に記載の一実施形態は、外部記憶装置をエンハンスするシステムおよび方法を提供する。一実施形態は、コンピュータ・システムの周辺デバイスに対する制御装置を含む。この制御装置は、周辺デバイスの記憶媒体へのアクセスを提供する。一実施形態では、周辺デバイスの記憶媒体が、周辺デバイスのファームウェア用に確保された記憶セクションを含む。
【０００５】
第２の実施形態では、コンピュータ・システムの周辺記憶デバイスの制御装置が、複数のハードディスク・ドライブ（ＨＤＤ）の存在を識別し、複数のＨＤＤのうちのどの１つの記憶容量よりも大きな記憶容量を有する単一のＨＤＤとして当該複数のＨＤＤに対して論理的アクセスを与える。
【発明を実施するための最良の形態】
【０００６】
本発明の諸実施形態についての以下の詳細な説明では、同様な参照符号が類似の要素を示し、本発明が実施され得る特定の実施形態が例として示される添付の図面が参照される。これらの実施形態は、当業者が本発明を実施できるよう十分詳細に説明されており、他の実施形態が利用され得ること、ならびに本発明の範囲を逸脱することなく論理的、機構的、電気的、機能的、かつその他の変更がなされ得ることを理解されたい。したがって以下の詳細な説明は限定する意味で受け取られてはならず、本発明の範囲は、添付の特許請求の範囲によってのみ定義される。
【０００７】
一実施形態では、外部周辺機器（本明細書では外部エンクロージャ（external enclosures）とも呼ばれる）が、製造番号、製造元の識別、型番ＩＤ（本明細書では一括してファームウェア・エンハンスメントとも呼ばれる）のうちの１つまたは複数を示す。他の実施形態では、ファームウェア・エンハンスメントに追加情報が含まれ得る。
【０００８】
図１に示されるように、典型的には、情報（すなわちファームウェア・エンハンスメント）が周辺機器の制御装置のファームウェアに、例えばＥＥＰＲＯＭまたはシリアルＥＥＰＲＯＭなど小容量の不揮発性記憶装置に与えられる。
【０００９】
一実施形態では、周辺機器が、ディスク・ドライブなどの外部記憶デバイスである。例えば、記憶デバイスは、ＵＳＢ（ユニバーサル・シリアル・バス、Universal Serial Bus）ディスク・ドライブ、ＩＥＥＥ１３９４（ファイヤワイヤ）ディスク・ドライブ、あるいはＩＤＥディスク・ドライブのうちの１つである。他の実施形態では、参照される周辺機器が、ネットワーク・ルータなどディスク・ドライブ以外の別のデバイスを含む。一実施形態では、周辺デバイスが、ＵＳＢインターフェース、シリアルＡＴＡインターフェース、ファイヤワイヤ（ＩＥＥＥ１３９４インターフェース）、ＡＴＡ（シリアルまたはパラレル）ディスク・ドライブに接続されたＵＳＢ  ｏｎ−ｔｈｅ−ｇｏ（オン・ザ・ゴー、ＯＴＧ）のうちの少なくとも１つを含むホスト・インターフェースを有する。
【００１０】
一実施形態では、図２に示されるように、制御装置の記憶媒体ではなく、周辺機器の記憶媒体の１セクションに、上記で論じたファームウェア・エンハンスメントの記憶が割り振られる。一実施形態では、周辺機器の制御装置に記憶媒体が含まれない。
【００１１】
したがって、一実施形態における、周辺機器の記憶媒体上の記憶装置へのファームウェア・エンハンスメントの記憶の割振りが、一実施形態では周辺制御装置のシリアルＥＥＰＲＯＭをエミュレートする。周辺制御装置の記憶媒体ではなく、周辺機器の記憶媒体にファームウェア・エンハンスメントを置いた結果、制御装置に補助記憶装置を提供するコストが低減される。
【００１２】
一実施形態では、ファームウェア・エンハンスメントを記憶する事前に識別された記憶領域を有する周辺機器の記憶媒体が、その周辺機器の主記憶媒体である。他の実施形態では、複数の記憶媒体が周辺機器に与えられ、そのうちの１つがファームウェア・エンハンスメントを記憶するように指定される。
【００１３】
起動時に、周辺機器の制御装置が周辺デバイスの記憶媒体をスキャンして、ファームウェア・エンハンスメントを含む、記憶装置の事前に指定された位置を調べる。ファームウェア・エンハンスメントは、制御装置のメモリにロードされ、起動ルーチンにより処理されることになる。
【００１４】
より具体的には、一実施形態では、電源投入時に、ホストのプロセッサまたは制御装置がリセットされ、様々なレジスタの設定など初期化用関数の実行を開始する。この処理の一部として、制御装置に置かれた論理回路が、ファームウェア・エンハンスメントを記憶する、記憶媒体の事前に指定されたセクションの存在を調査する。位置が判定されると、エンハンスされたファームウェアが、実行にあたってホストのメモリにロードされる。あるいは、エンハンスされたファームウェアが、実行にあたって異なるメモリにロードされてもよい。
【００１５】
一実施形態では、プロセッサまたは制御装置に周辺機器の記憶媒体の事前に指定されたセクションを見つけ出させる論理回路が、１つまたは複数のオペレーティング・システム（ＯＳ）、ホストの基本入出力システム（ＢＩＯＳ）、あるいは周辺デバイスまたは他のデバイスのドライバに常駐する。
【００１６】
一実施形態では、論理回路が、周辺機器の制御装置ではなく、以下に応答して、エンハンスされたファームウェアを周辺機器の記憶媒体上で調査すると認識している。一実施形態では、エンハンスされたファームウェアを記憶するのに周辺機器の記憶媒体を用いるという所定の取決めがある。一例として、エンハンスされたファームウェアを、記憶媒体に使用可能な周辺機器の末尾の３２（あるいは数倍の）セクタに記憶する所定の取決めがある。したがって論理回路は、エンハンスされたファームウェアを所定の位置で調査して、エンハンスされたファームウェアが存在するかどうか判定する。
【００１７】
一実施形態では、周辺機器の記憶媒体において最大６４セクタまで（３２キロバイトの領域）が、エンハンスされたファームウェアを記憶するように事前に指定される。他の実施形態では、別のサイズのセクタが使用される。
【００１８】
テラディスク
記憶媒体には通常、スイート・スポットとなる容量があり、場合によっては、それが投じた金額に対し最も見合う価値となることが見受けられる。例えば、図３での多項目が例示された典型例では、２５０ＧＢディスク・ドライブが８０ドルであっても、５００ＧＢのＩＤＥハードディスク・ドライブは３００ドルするだろう。したがって、図４に示されるように、２つの２５０ＧＢのハードディスク・ドライブが組み合わされて１つの論理的な５００ＧＢのハードディスク・ドライブ（本明細書ではテラディスクとも呼ばれる）を形成することになれば、コストの大幅な節減が達成され得る。
【００１９】
テラディスクの一実施形態が、図５の流れ図に記載のように、以下の方法により提供される。プロセス５０２で、起動時（すなわち電源投入、リセットなど）に、ディスク・ドライブの制御装置が、指定されたジャンパ（jumper）またはインジケータが、複数の別個のディスク・ドライブが単一のディスク・ドライブとして論理的に扱われる（図４の構成に示されるように）ことを示すように設定されているかどうか（通常はジャンパ・ブロック）を判定する。
【００２０】
一実施形態では、ジャンパが、ディスク・ドライバ制御装置を含むプリント回路基板に置かれるはずである。複数の別個のディスク・ドライブは、それらを区別するための一意のＩＤを有する。
【００２１】
プロセス５０４で、制御装置が複数の別個のディスク・ドライブをスキャンし、組み合わされたエンティティ（すなわち複数のディスク・ドライブ）の合計領域を計算する。一実施形態では、サイズの計算が、各ディスク・ドライブからそのサイズを検索することにより行われる（例えば、典型的には（ＡＴＡおよびＡＴＡＰＩデバイスに対する）ＩＤＥＮＴＩＦＹ  ＤＲＩＶＥコマンドを使用して）。
【００２２】
一実施形態では、起動時にＩＤＥＮＴＩＦＹ  ＤＲＩＶＥコマンドが、両ディスク・ドライブに発行され、識別されたサイズ・パラメータがメモリに保持されてファームウェアにより参照される。一実施形態では、ファームウェアが、合計容量を計算し、テラディスクの存在（すなわち論理的に単一のディスク・ドライブと表現された複数のディスク・ドライブの組合せ）に適合し、テラディスクの容量をホストに宣言する。
【００２３】
ホスト（このテラディスクの接続先であるシステム）に接続されると、プロセス５０６で、制御装置が、別個のディスクを組み合わせた容量に等しい合計容量をもつただ１つのディスク・ドライブが存在することをホストに報告する。次いで、ホストが、テラディスクを単一の大容量記憶ブロックとして扱い、テラディスクに読取り／書込み要求を発行する。
【００２４】
プロセス５０８で、制御装置が、要求がどのディスクに向けられているかを判定し、それに従って要求を経路指定する。例として、一実施形態では、２つの５００ＧＢディスク・ドライブが組み合わされて単一の１テラバイト（ＴＢ）ディスク・ドライブを形成する場合を考察する。制御装置が、０から５００ＧＢまでのアドレスをもつ要求は第１ディスク・ドライブに経路指定され、第２ディスク・ドライブに渡す前にアドレスが５００ＧＢで減じられた後、５０１ＧＢから１ＴＢまでの要求が第２ディスク・ドライブに経路指定されるように判定する。
【００２５】
一実施形態では、図４に示されるように、一方のデバイスをマスタとして、もう一方のデバイスをスレーブとして振舞うようにさせることにより、同一バス上に接続された複数のデバイスが異なるアドレスをもつ。一実施形態では、複数のデバイスが業界用語でいうところのパラレルＡＴＡ（ＩＤＥとしても知られる）を含む。
【００２６】
少なくとも一部の実施形態、および本明細書に記載の様々な構造および機能要素は、ハードウェア、ファームウェア、命令プログラム、あるいはハードウェアとファームウェアと命令プログラムとの組合せを用いて実装され得る。
【００２７】
一般に、諸実施形態を実装するために実行されるルーチンは、「コンピュータ・プログラム」と呼ばれる、オペレーティング・システムまたは特定のアプリケーション、構成要素、プログラム、オブジェクト、モジュール、あるいは命令シーケンスの一部として実装され得る。コンピュータ・プログラムは、典型的には、様々な時にコンピュータの様々なメモリおよび記憶デバイスに１つまたは複数の命令セットを含み、しかも１つまたは複数のプロセッサにより読み込まれ実行されると、コンピュータに動作させて様々な側面を含む要素を実行する。
【００２８】
以上、一部の実施形態は、機能の完備したコンピュータおよびコンピュータ・システムとの関連で説明されてきたが、様々な実施形態が、様々な形態のプログラム製品として配布されることが可能であり、配布を実際に達成するのに使用される特定のタイプの機械またはコンピュータ可読媒体に関係なく適用されることが可能であることが当業者には理解されよう。
【００２９】
コンピュータ可読媒体の例には、それだけには限らないが、可読タイプおよび可読タイプ以外の媒体、とりわけ、例えば揮発性および不揮発性メモリ・デバイス、読取り専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、フラッシュ・メモリ・デバイス、フロッピおよびその他のリムーバブル・ディスク、磁気ディスク記憶媒体、光記憶媒体（例えば、コンパクト・ディスク読取り専用メモリ（ＣＤ  ＲＯＭ）、ＤＶＤなど）を含む。命令は、電気、光、音響、またはその他の形態の伝播信号、例えば搬送波、赤外線信号、デジタル信号などのデジタルおよびアナログ通信リンクで実行可能である。
【００３０】
機械可読媒体は、データ処理システムにより実行されると、システムに様々な方法を実施させるソフトウェアおよびデータを記憶するのに使用され得る。実行可能なソフトウェアおよびデータは、例えばＲＯＭ、揮発性ＲＡＭ、不揮発性メモリおよび／またはキャッシュなどを含む様々な場所に記憶されてよい。このソフトウェアおよび／またはデータの一部が、これら記憶デバイスの何れか１つに記憶されてもよい。
【００３１】
一般に、機械可読媒体は、機械（例えばコンピュータ、ネットワーク・デバイス、携帯情報端末（personal digital assistant）、製造ツール、１組の１つまたは複数のプロセッサを有する全てのデバイスなど）によるアクセスが可能な形態で情報を提供する（すなわち記憶かつ／または伝送する）如何なる機構をも含む。
【００３２】
一部の態様は、少なくとも部分的には、ソフトウェアで実装され得る。すなわち、その技術は、コンピュータ・システムまたは他のデータ処理システムで、ＲＯＭ、揮発性ＲＡＭ、不揮発性メモリ、キャッシュ、磁気および光ディスク、あるいは遠隔記憶デバイスなどのメモリに格納された命令シーケンスを実行する、例えばマイクロプロセッサなど、そのシステムのプロセッサに応答して実行され得る。また命令は、データ・ネットワークを介してコンピューティング・デバイスに、コンパイルあるいはリンクされたバージョンという形態でダウンロードされ得る。
【００３３】
あるいは、上記で論じた諸プロセスを実行する論理回路が、追加のコンピュータおよび／または機械可読媒体、例えば、大規模集積回路（ＬＳＩ）、特殊用途向け集積回路（ＡＳＩＣ）のような離散的なハードウェア構成要素、あるいは電気的に消去可能であるプログラム可能な読取り専用メモリ（ＥＥＰＲＯＭ）などのファームウェアに実装され得る。
【００３４】
様々な実施形態で、その実施形態を実装するのに、ソフトウェア命令と組み合わせて配線回路が使用され得る。したがって、その技術が、ハードウェア回路とソフトウェアとの特定のどんな組合せにも限定されないし、データ処理システムにより実行される命令について特定のどんなソースにも限定されない。
【００３５】
本明細書の説明では、説明を簡潔にするために、様々な機能および動作がソフトウェア・コードにより実施または引き起こされるように記載されている。しかし、かかる表現により意味されているのは、その機能がマイクロプロセッサなどのプロセッサによるコードの実行から生じるということであることは当業者には理解されよう。
【００３６】
一部の図面では、いくつかの動作を特定の順で示しているが、順に従う必要のない動作は並べ替えられてよいし、他の動作が組み合わせられても、切り離されてもよい。一部並べ替えあるいはその他のグループ化は具体的に述べられているが、その他は当業者には明らかであろうから様々な選択肢について網羅的なリストは示していない。さらに、諸段階が、ハードウェア、ファームウェア、ソフトウェア、あるいはそれらの如何なる組合せにおいても実装され得ることを理解されたい。
【００３７】
以上、本明細書において、特定の例示的な実施形態を参照しながら開示が記載された。それら実施形態に対し、以下の特許請求の範囲において述べられる本発明のより広い趣旨および範囲から逸脱することなく様々な修正がなされ得ることは明らかであろう。したがって本明細書および図面は、限定的な意味ではなく説明的な意味で理解されるべきである。
【図面の簡単な説明】
【００３８】
【図１】典型的な外部記憶装置の構成を示す図である。
【図２】一実施形態による外部記憶装置の構成を示す図である。
【図３】典型的なマスタおよびスレーブ型記憶装置の構成を示す図である。
【図４】一実施形態による外部記憶装置の構成を示す図である。
【図５】一実施形態による方法を記載した流れ図である。
【図１】
2009515254.tif 000003
【図２】
2009515254.tif 000004
【図３】
2009515254.tif 000005
【図４】
2009515254.tif 000006
【図５】
2009515254.tif 000007
【国際調査報告】
2009515254.tif 000008