(57)【特許請求の範囲】
【請求項１】
線形ストレージ・メディア・ティアと、
前記線形ストレージ・メディア・ティアよりも高い性能を有する第２のストレージ・ティアと、
前記ティア間でデータを移動させるためのデータ・コントローラと、
ディスクまたはネットワーク・ストレージ・コマンドあるいはその両方に応答するホスト・インターフェースと、
を備えるデータ・ストレージ・システムであって、前記線形ストレージ・メディア・ティアは、
その上に線形ストレージ・メディアを有する複数のリールと、
前記リールが使用されていない時に前記リールを格納するためのレスト域であって、フロア上に設けられるレスト域と、
前記線形メディアの読み取りまたは書き込みあるいはその両方のために構成された少なくとも１つの線形メディア・ドライブであって、前記フロアに固定される線形メディア・ドライブと、
前記線形ストレージ・メディアを前記レスト域と前記少なくとも１つの線形メディア・ドライブとの間で移送するための少なくとも１つのロボットであって、前記フロアに向かい合うシーリングの表面に沿って該表面との接触を介して移動する、ロボットと、
を含み、
前記ロボットは、
磁気バイアスを介して前記シーリングの表面の方向にバイアスされることによって前記レスト域に格納される前記リールの上に懸架され、
前記レスト域から前記リールを垂直に移動することが可能なリール・グリッパを有する、
データ・ストレージ・システム。
【請求項２】
前記レスト域は、前記リールが使用されていない時に前記リールが格納される水平表面を含み、前記ロボットまたはレスト域あるいはその両方は、前記ロボットとの係合のために前記リールを垂直に選択的に移動させるための機構を有する、請求項１に記載のシステム。
【請求項３】
前記ホスト・インターフェースは、通信しているディスクまたはネットワーク・ストレージ・インターフェースあるいはその両方からのディスクまたはネットワーク・ストレージ・コマンドあるいはその両方に応答するように構成され、前記線形ストレージ・メディア・ティアのアクセス性能は、前記ディスクまたはネットワーク・ストレージ・インターフェースあるいはその両方のアクセス時間制限内に、前記システム内の任意の場所からのデータの取り出しを可能にすることによって特徴付けられる、請求項１または２に記載のシステム。
【請求項４】
前記システムは、ホストからのランダム・アクセス入力書き込みデータを受信するように構成され、前記データ・コントローラは、前記線形メディアに書き込まれる時に、前記ランダム・アクセス入力書き込みデータを順次データに変換するように構成される、請求項１〜３のいずれか一項に記載のシステム。
【請求項５】
前記ホストからのいくつかのランダム・アクセス書き込み要求に関連付けられた前記書き込みデータは、前記線形ストレージ・メディア・ティアに移動される前に前記第２のティアに累積される、請求項４に記載のシステム。
【請求項６】
前記第２のティアに累積された前記書き込みデータは、少なくとも整数のフル・ラップが単一パスで前記線形メディアに書き込まれるように、前記線形メディアに書き込まれる、請求項５に記載のシステム。
【請求項７】
前記書き込みデータは前記線形ストレージ・メディア・ティアに直接ストリーミングされる、請求項４に記載のシステム。
【請求項８】
前記線形ストレージ・メディア・ティアは少なくとも２つのドライブを含み、読み取り動作は書き込み動作を実行していないドライブを対象とする、請求項１〜７のいずれか一項に記載のシステム。
【請求項９】
前記ドライブのサブセットは書き込み用に最適化される、請求項８に記載のシステム。
【請求項１０】
前記ドライブのサブセットは読み取り用に最適化される、請求項８に記載のシステム。
【請求項１１】
最適化されたドライブは読み取り専用ドライブである、請求項１０に記載のシステム。
【請求項１２】
複数のロボットを含み、前記システムは、前記システムのデータ・スループットを向上させるために動作を重複させる際に前記複数のロボットを使用するように構成される、請求項１〜１１のいずれか一項に記載のシステム。
【請求項１３】
前記線形メディアを読み取ることなく、前記線形メディア上のデータのブロックの位置が決定できるように、前記第２のティア内の前記線形メディア上でデータのマップを維持するためのマッピング・モジュールをさらに備える、請求項１〜１２のいずれか一項に記載のシステム。
【請求項１４】
データ取り出しのための要求を前記ホスト・インターフェースによって受信すること、
前記データが前記線形ストレージ・メディア・ティア内または前記第２のストレージ・ティア内の、いずれに記憶されているかを、前記データ・コントローラによって決定すること、および、
前記要求されたデータが前記線形ストレージ・メディア・ティア内に記憶されていることを決定すると、前記少なくとも１つのロボットのうちのロボットに、前記要求されたデータをその上に有するリールを、前記少なくとも１つの線形メディア・ドライブのうちの１つに移送するように命じること、
前記線形メディア・ドライブによって前記データを読み取ること、および
前記データを前記要求者に送信すること、
を含む、請求項１〜１３のいずれか一項に記載の、ティア型データ・ストレージ・システム内のデータを取り出す方法。
【請求項１５】
データ書き込みのための要求を前記ホスト・インターフェースによって受信すること、
前記データを前記線形ストレージ・メディア・ティア内または前記第２のストレージ・ティア内のいずれに記憶するかを、前記データ・コントローラによって決定すること、および、
前記データが前記線形ストレージ・メディア・ティア内に記憶されるべきであることを決定すると、前記少なくとも１つのロボットのうちのロボットに、前記複数のリールから選択されたリールを、前記少なくとも１つの線形メディア・ドライブのうちの１つに移送するように命じること、
前記データを、前記線形メディア・ドライブのうちの前記１つに送信すること、および、
前記線形メディア・ドライブによって前記データを前記リールに書き込むこと、
を含む、請求項１〜１３のいずれか一項に記載の、ティア型データ・ストレージ・システム内のデータを書き込む方法。
【請求項１６】
請求項１４または１５に記載の方法のステップを前記コンピュータ・システムに実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ・ストレージ・システムに関し、より具体的には、データ・ストレージのティア（tier、階層）を有するハイブリッド・ストレージ・システムに関する。
【背景技術】
【０００２】
磁気ストレージ・システムにおいて、データは磁気変換器を使用して、磁気記録メディアから読み取られ、また磁気記録メディア上に書き込まれる。データは、メディアの上のデータが記憶されることになる位置に磁気記録変換器を移動させることによって、磁気記録メディア上に書き込まれる。その後、磁気記録変換器は、データを磁気メディア内に符号化する磁界を生成する。データは、同様に磁気読み取り変換器を配置した後、磁気メディアの磁界を感知することによって、メディアから読み取られる。読み取りおよび書き込みの動作は、データのメディア上の所望の位置からの読み取り、およびその位置への書き込みが可能であることを保証するために、メディアの動きと別個に同期され得る。
【０００３】
テープ・ドライブ・システムにおいて、磁気テープはテープ・ヘッド表面の上を高速で移動する。通常、テープ・ヘッドはヘッドとテープとの間の間隔を最小限にするように設計される。鮮鋭な遷移の書き込みを行うために、磁気記録束の発生源である変換器の記録ギャップがテープとほぼ接触するような、磁気ヘッドと磁気テープとの間の間隔が重要である。また、読み取り要素がテープとほぼ接触している場合、テープから読み取り要素への磁界の有効結合が可能である。
【０００４】
近い将来、改良されたメディアが採用された場合、テープに（バイト単位で）情報を記録するコストは、磁気ディスクに対して５分の１以下に減少することが予測される。また、テープベース・ストレージを選好するために、短期的および長期に信頼性が持続することになる。さらに、クラウド・ネットワークにより大容量のストレージが割り振られるため、ほとんどのストレージは、テープベース・ストレージを選好することの検討事項である、個々のドライブ上ではなく、大規模ライブラリ内に入ることになる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ディスクベース・ストレージに対するテープベース・ストレージのこれまでの欠点の１つは、テープ・ドライブまでテープを持って行き、そのテープをファイル位置へとスプールするのに平均約４０秒を要するため、テープベース・ストレージに関連付けられたアクセス時間の方が相対的に劣ることであった。
【課題を解決するための手段】
【０００６】
一実施形態に従ったシステムは、線形ストレージ・メディア・ティアと、線形ストレージ・メディア・ティアよりも高い性能を有する第２のストレージ・ティアと、ティア間でデータを移動させるためのデータ・コントローラと、ディスクまたはネットワーク・ストレージ・コマンドあるいはその両方に応答するホスト・インターフェースとを含む。線形ストレージ・メディア・ティアは、その上に線形ストレージ・メディアを有する複数のリールと、リールが使用されていない時にリールを格納するためのレスト域と、線形メディアの読み取りまたは書き込みあるいはその両方のために構成された少なくとも１つの線形メディア・ドライブと、線形ストレージ・メディアをレスト域と少なくとも１つの線形メディア・ドライブとの間で移送するための少なくとも１つのロボットとを含む。ロボットは、第１の表面に沿って表面との接触を介して移動する。
【０００７】
別の実施形態に従ったシステムは、線形ストレージ・メディア・ティアと、ディスクまたはネットワーク・ストレージ・コマンドあるいはその両方に応答するホスト・インターフェースとを含む。線形ストレージ・メディア・ティアは、その上に線形ストレージ・メディアを有する複数のリールと、リールが使用されていない時にリールを格納するためのレスト域と、線形メディアの読み取りまたは書き込みあるいはその両方のために構成された少なくとも１つの線形メディア・ドライブとを含む。線形ストレージ・メディア・ティアの性能は、レスト域内の任意のリール上に記憶された任意のデータ・ブロックへの読み取りアクセス時間が１０秒未満であることによって特徴付けられる。
【０００８】
他の実施形態によれば、データの取り出し要求時に、データが線形ストレージ・メディア・ティアまたはより高性能の第２のストレージ・ティアのいずれに記憶されているかが決定される、上記ストレージ・システムを動作させるための方法が提供される。データが線形ストレージ・メディア・ティア内に記憶されているものと決定されると、データを含むリールは、ロボットによって、データが読み取られる線形メディア・ドライブに移送される。データを書き込む要求が受信されると、線形ストレージ・メディア・ティアまたはより高性能の第２のティアのいずれにデータを記憶するかが決定される。データを線形メディア・ティア内に記憶することが決定されると、ロボットは、選択された線形メディア・ドライブにリールを移送するように命じられ、リールへの書き込みのために選択されたドライブにデータが送信される。
【０００９】
他の態様では、コンピュータ・システム内にロードされ、その上で実行された場合、方法実施形態のステップをコンピュータ・システムに実行させるための、コンピュータ読み取り可能メディア上に記憶されたコンピュータ・プログラム・コードを含む、コンピュータ・プログラムが提供される。
【００１０】
本発明の他の態様および実施形態は、図面に関して発明の原理を例として示す以下の詳細な説明から明らかとなろう。
【００１１】
次に、本発明の実施形態について、添付の図面を参照しながら単なる例として説明する。
【図面の簡単な説明】
【００１２】
【図１】例示の実施形態に従った機能ブロックを示す図である。
【図２】一実施形態に従った、テープへのより高速なアクセスのために移動ロボットを使用するシステムを示す、トップ・ダウン図（top down view）である。
【図３】一実施形態に従った、簡略化されたテープ・ドライブ・システムを示す概略図である。
【図４】一実施形態に従った、移動ロボットを示す側面図である。
【図５】一実施形態に従った、表面上の光学パターンを示す図である。
【図６】一実施形態に従った、表面設計を示す部分側面図である。
【図７】一実施形態に従った、表面設計を示す部分側面図である。
【図８】一実施形態に従った、表面設計を示す部分側面図である。
【図９】一実施形態に従った、表面設計を示す部分側面図である。
【図１０】一実施形態に従った、移動ロボットを示す詳細図である。
【図１１】一実施形態に従った、移動ロボットを示す詳細図である。
【図１２】一実施形態に従った、移動ロボットを使用するテープ・ライブラリを示す簡略図である。
【図１３】一実施形態に従った、移動ロボットを使用するテープ・ライブラリを示す簡略図である。
【図１４】一実施形態に従った、移動ロボットを使用するテープ・スレッディング（threading）を示す概略図である。
【図１５】一実施形態に従った、移動ロボットを使用するテープ・スレッディングを示す概略図である。
【図１６】一実施形態に従った、移動ロボットを使用するテープ・スレッディングを示す概略図である。
【図１７】一実施形態に従った、移動ロボットを使用するテープ・スレッディングを示す概略図である。
【図１８】一実施形態に従った、テープ・ドライブを使用するテープのセルフスレッディングのためのステップを示す概略図である。
【図１９】一実施形態に従った、テープ・ドライブを使用するテープのセルフスレッディングのためのステップを示す概略図である。
【図２０】一実施形態に従った、テープ・ドライブを使用するテープのセルフスレッディングのためのステップを示す概略図である。
【図２１】一実施形態に従った、テープ・ドライブを使用するテープのセルフスレッディングのためのステップを示す概略図である。
【図２２】一実施形態に従った、フランジ・エクステンダを使用するステップを示す概略図である。
【図２３】一実施形態に従った、フランジ・エクステンダを使用するステップを示す概略図である。
【図２４】一実施形態に従った、フランジ・エクステンダを使用するステップを示す概略図である。
【図２５】一実施形態に従った、方法を示す流れ図である。
【図２６】一実施形態に従った、方法を示す流れ図である。
【図２７】一実施形態に従った、ネットワーク・アーキテクチャを示す図である。
【図２８】一実施形態に従った、図１１のサーバまたはクライアントあるいはその両方に関連付け得る代表的なハードウェア環境を示すシステム図である。
【発明を実施するための形態】
【００１３】
以下の説明は、本発明の一般的な原理を例示するためのものであり、本明細書で請求される発明の概念を制限することは意図されていない。さらに、本明細書で説明される特定の機能は、様々な可能な組み合わせおよび置き換えの各々で他の説明される機能と組み合わせて使用することができる。
【００１４】
本明細書で特に定義されない限り、すべての用語には、本明細書から示唆される意味、ならびに、当業者によって理解される意味、および辞書、論文などに定義された意味、あるいはその両方を含む、最も広義で可能な解釈が与えられる。
【００１５】
本明細書および添付の特許請求の範囲で使用される場合、単数形の「a」、「an」、および「the」は、特に指定のない限り複数の指示対象を含むことにも留意されたい。
【００１６】
以下の説明は、データ・ストレージ・システムならびにそれらの動作または構成部分あるいはその両方の、いくつかの好ましい実施形態を開示している。
【００１７】
１つの一般実施形態において、システムは、線形ストレージ・メディア・ティアと、線形ストレージ・メディア・ティアよりも高い性能を有する第２のストレージ・ティアと、ティア間でデータを移動させるためのデータ・コントローラと、ディスクまたはネットワーク・ストレージ・コマンドあるいはその両方に応答するホスト・インターフェースとを含む。線形ストレージ・メディア・ティアは、その上に線形ストレージ・メディアを有する複数のリールと、リールが使用されていない時にリールを格納するためのレスト域と、線形メディアの読み取りまたは書き込みあるいはその両方のために構成された少なくとも１つの線形メディア・ドライブと、線形ストレージ・メディアをレスト域と少なくとも１つの線形メディア・ドライブとの間で移送するための少なくとも１つのロボットとを含む。ロボットは、第１の表面に沿って表面との接触を介して移動する。
【００１８】
別の一般実施形態において、システムは、線形ストレージ・メディア・ティアと、ディスクまたはネットワーク・ストレージ・コマンドあるいはその両方に応答するホスト・インターフェースとを含む。線形ストレージ・メディア・ティアは、その上に線形ストレージ・メディアを有する複数のリールと、リールが使用されていない時にリールを格納するためのレスト域と、線形メディアの読み取りまたは書き込みあるいはその両方のために構成された少なくとも１つの線形メディア・ドライブとを含む。線形ストレージ・メディア・ティアの性能は、レスト域内の任意のリール上に記憶された任意のデータ・ブロックへの読み取りアクセス時間が１０秒未満であることによって特徴付けられる。
【００１９】
従来の線形メディア（たとえばテープ）システムは、順次アクセス性能向けに設計されており、ディスク・アクセス・ソフトウェア・スタックが典型的にはタイムアウトするまでに２０〜３０秒の最大アクセス時間制限を有するため、使用を制限する１分を超えるランダム読み取りアクセス時間を有することができる。テープ長さを短くすることで、潜在的にこの制限に近い平均アクセス時間を達成することができるが、予期せぬ遅延の余地はなく、キューのサポートを困難にし、コストを大幅に増加させる。
【００２０】
タイムアウトを発生させずにディスク・アクセス・ソフトウェア・スタックを介して通信するための十分短いアクセス時間をサポートする、線形メディア・ストレージ用の新しいシステム・アーキテクチャが望ましく、本明細書で説明される。好ましいことに、本明細書で説明または提案あるいはその両方がなされる実施形態または方法あるいはその両方は、ディスク・ソフトウェア・スタックで使用するのに十分短い線形メディア・アクセス時間の達成に関連付けられた、ランダム読み取りおよびランダム書き込みという少なくとも２つの問題を解決する。一手法によれば、ランダム読み取りは、共に使用するソフトウェアのディスク・スタック・タイムアウトよりも大幅に短い時間で、システム内のランダム位置からデータ・ブロックを取り出すことが可能な、ロボット・アクセス機構および線形テープ・ストレージおよび読み取り／書き込みシステムを設計することによって改善され得る。こうしたロボット・システムの１つを、図２〜図２４を参照しながら以下でより詳細に説明する。手短に言えば、こうしたシステムは、移動ロボットのセットを使用して、ストレージ域からメディア・ドライブなどの読み取りデバイスまで線形メディア・ホルダを移動させる。いくつかの実施形態において、読み取りデバイスは、メディアをメディア・ドライブ内にスレッディングする前に線形メディアを所望の目標位置付近に事前配置する、１つまたは複数の巻き取りステーション
（windingstation）を含むことができる。こうした配置構成により、パイプライン動作によるスループットを向上させることができる。他の手法は、高速ピックアンドプレース・ロボット（pick-and-place robot）を含む。
【００２１】
様々な実施形態において、線形メディア上でデータ・セットの位置を特定するための時間は、現行システムよりもかなり速い。これを達成するための一態様は、短いメディアを高速位置特定機構と組み合わせて使用できるようにすることである。何十メートルものメディア長さと２０ｍ／ｓまたはそれ以上の位置特定速度とを組み合わせることで、メディアがメディア・ドライブに装着されると、平均して１秒未満の位置特定速度を達成することが可能である。したがって、読み取り要求を受信してからデータがホストに戻されるまでの合計時間は、前述のディスク・スタック・タイムアウトより大幅に短くなるように設計可能である。こうした高速アクセス速度により、システムはキューイングをサポートすることが可能となるため、追加の読み取りユニット、たとえばメディア・ドライブの追加によって性能を向上させることができる。こうしたシステムのいくつかの実施形態は、平均で約２秒またはそれ以下の読み取りアクセス時間を達成することができる。
【００２２】
さらに、従来の線形メディア・システムはランダム書き込み動作向けには最適化されていないが、本明細書で説明または提案あるいはその両方がなされる様々な実施形態または方法あるいはその両方は、ログ構造書き込みの使用などにより、順次書き込みストリームに変換することによって、ランダム書き込みに対処することができるが、これらに限定されない。こうしたシステムは、好ましくは、ほぼ順次書き込みの速度でランダム書き込みを実行できるようにすることが可能である。したがって、ランダム書き込み速度はランダム読み取り速度を大幅に上回ることができる。さらに、管理層を使用して書き込みを処理し、それらを順次形式に変換することができる。これにより、所与のレベルのランダム書き込み性能を達成するために必要な書き込みドライブが少なくなるため、システムのコストを削減することができる。別の方法として、たとえば読み取りおよび書き込みの両方が可能なドライブなどのメディア・ドライブを、書き込み動作よりも読み取り動作により多く割り振ることが可能であるため、システムの読み取りスループットを向上させることができる。
【００２３】
ランダム書き込みから順次書き込みへの変換を容易にするために、実施形態は、好ましくはシステムの読み取り性能を向上させるための読み取りキャッシュに加えて、書き込みバッファ／キャッシュを有するシステムを含むことができる。これらのキャッシュはどちらも、好ましくは、ハード・ディスク、ソリッド・ステート・ストレージ、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）、フラッシュ・メモリ、不揮発性メモリ（ＮＶＭ）などを含み得る、１つまたは複数のランダム・アクセスまたは直接アクセスあるいはその両方のメディア、または、本明細書に示されたかまたは当分野で知られた、あるいはその両方のその他のメディア、あるいはその両方などの、線形メディアよりもランダム・アクセス性能の高い、任意のメディアを使用することができる。
【００２４】
したがって、線形メディアは線形ストレージ・メディア・ティア内に存在するものと考えることが可能であり、バッファ／キャッシュは、線形ストレージ・メディア・ティアよりも高性能の第２のストレージ・ティアと考えることができる。本説明を参照すると、「性能」とは、好ましくは、データ要求、たとえばホストまたはストレージ・ネットワークから、こうした要求についての所望のストレージ・メディア上でのデータの実際の読み取りまたは書き込みあるいはその両方までの遅延に関するものとすることができる。本発明を制限する意図は全くなしに、様々な手法において、ストレージ・システムによって受信された読み取りまたは書き込みあるいはその両方の要求は、要求に応答してプロセスまたは動作を開始することができる。
【００２５】
さらに、第２のストレージ・ティアは、それ自体が、ハード・ディスクまたはソリッド・ステート・ストレージあるいはその両方の組み合わせなどの、複数の性能ストレージ・ティアを含むことができる。さらに、線形ストレージ・メディア・ティアは、複数の性能ストレージ・ティアを含むこともできる。したがって、望ましい実施形態に応じて、第２のストレージ・ティアまたは線形ストレージ・メディア・ティアあるいはその両方に関する異なるタスクが、互いにより高い、より低い、または同じ性能を有する、内部の異なる性能ストレージ・ティア内で実行可能である。
【００２６】
図１は、一実施形態に従った、データ・ストレージ・システム１５０に関する機能ブロック図１００を示す。オプションとして、本データ・ストレージ・システム１５０は、他の図面を参照しながら説明するような、本明細書で列挙される任意の他の実施形態からの機能と共に実装可能である。しかしながら、もちろん、こうしたデータ・ストレージ・システム１５０および本明細書に提示されるその他システムは、本明細書で列挙される例示の実施形態で具体的に説明されるかまたはされない場合のある、様々な適用または置換あるいはその両方で使用可能である。さらに、本明細書で提示されるデータ・ストレージ・システム１５０は、任意の所望の環境で使用可能である。
【００２７】
次に図１を参照すると、機能ブロック図１００は、線形メディア・ストレージ・モジュール１２８線形ストレージ・メディア・ティアと、書き込みバッファ／キャッシュ１１４または読み取りキャッシュ１１６あるいはその両方を含む第２のストレージ・ティアとを含む。
【００２８】
引き続き図１を参照すると、ホストまたはストレージ・ネットワーク１０２および管理インターフェース１０４が、どちらもストレージ・システム１５０に接続されている。ホストまたはストレージ・ネットワーク１０２は、好ましくは、たとえば書き込み要求、読み取り要求の搬送などのストレージ・システム１５０に関する動作を制御することが可能である一方で、管理インターフェース１０４は、好ましくは、データ所有、データ分割、データ感度などを含むがこれらに限定されない、ストレージ・システム１５０のロジスティック情報を制御する。図には示されていないが、ホストまたはストレージ・ネットワーク１０２または管理インターフェース１０４あるいはその両方は、ストレージ・システム１５０によって処理されることになる要求を提供可能な、ホスト、ユーザ、管理者、コンピューティング・デバイスなども接続またはアクセスが可能である。
【００２９】
様々な手法に従い、こうした要求は、書き込み要求、読み取り要求など、または本説明を読めば当業者に明らかとなる任意の他の要求を含むことができる。好ましい手法において、システムは、ディスクまたはネットワーク・コマンドあるいはその両方（以下でより詳細に説明）に応答する、ホスト・インターフェースを含むことができる。加えて、または別の方法として、あるいはその両方で、ホスト・インターフェースは、たとえばホストまたはストレージ・ネットワーク１０２からのテープ・ストレージ・コマンドに応答することができる。例示の手法において、ホスト・インターフェースは、たとえば通信しているホスト上、ストレージ・ネットワークのストレージ・コントローラ内などで、ディスクまたはネットワーク・ストレージ・インターフェースあるいはその両方からの、ディスクまたはネットワーク・ストレージ・コマンドあるいはその両方に、応答することができる。例示の一手法において、ホストまたはストレージ・ネットワーク１０２とストレージ・システム１５０との間の通信は、ファイバ・チャネル、バス（bussing）、ストレージ・エリア・ネットワーク（ＳＡＮ）などのネットワーク、シリアルＡＴＡ（ＳＡＴＡ）、シリアル接続ＳＣＳＩ（ＳＡＳ）、Representational State Transfer（ＲＥＳＴ）システム、ネットワーク接続ストレージ（ＮＡＳ）、オブジェクト・ストレージなど、およびそれらの組み合わせを含む、任意の知られた機構を介して実行可能である。
【００３０】
本説明を参照すると、ホストまたはストレージ・ネットワーク１０２または管理インターフェース１０４あるいはその両方は、所望の実施形態に応じて、ワイヤ、ケーブル、ファイバ、バス構成、無線などを介して、ストレージ・システム１５０に接続可能である。さらに、図１の記述に関連した任意の他の接続は、所望の実施形態に応じて、ファイバ、ワイヤ、ケーブル、バス構成、無線などを含むことができる。
【００３１】
例示の実施形態によれば、図１のホストまたはストレージ・ネットワーク１０２は、図２７のネットワーク１１０４、１１０６、１１０８のうちのいずれかによって表すことができる。さらに、図１のホスト・インターフェース（図示せず）またはストレージ・システム１５０あるいはその両方は、それぞれ、図２７のユーザ・デバイス１１１６またはデータ・サーバ１１１４あるいはその両方によって表すことができる。したがって、図２７に示されるように、ユーザ・デバイス１１１６およびデータ・サーバ１１１４を接続するネットワーク１１０４、１１０６、１１０８は、図１のホスト・インターフェース（図示せず）とストレージ・システム１５０との間のホストまたはストレージ・ネットワーク１０２接続を表すことができる。
【００３２】
引き続き図１を参照すると、機能ブロック図１００は、ホスト・インターフェースまたはその一部であり得る、フロントエンド・ドライバ１０６をさらに含む。したがって、フロントエンド・ドライバ１０６はホストまたはストレージ・ネットワーク１０２に接続され、好ましくは、ホストまたはストレージ・ネットワーク１０２から受信したデータまたはコマンドあるいはその両方を、キャッシュ・マネージャ１０８などのデータ・コントローラにリレーする。様々な手法に従い、フロントエンド・ドライバ１０６は、本説明を読めば当業者に明らかとなる、または、本説明を読めば当業者によって容易に作成可能である、あるいはその両方の、任意のドライバを含むことができる。
【００３３】
キャッシュ・マネージャ１０８は、記憶されたデータまたは受信したデータあるいはその両方を処理することができる。キャッシュ・マネージャ１０８またはストレージ・システム１５０の任意の他の構成要素あるいはその両方は、ハードウェアまたはソフトウェアあるいはその両方に実装可能であり、中央処理ユニット（ＣＰＵ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）などの、当分野で知られたタイプのコマンドを実行するためのプロセッサ（図示せず）を使用することが可能である。もちろん、本説明を読めば当業者に明らかとなるように、ストレージ・システムの任意の配置構成が使用可能である。
【００３４】
異なる手法において、キャッシュ・マネージャ１０８は、線形メディア・ストレージ・モジュール１２８、Redundant Array of IndependentDisks（ＲＡＩＤ）モジュール１１０、マッピング・テーブル１１２などに記憶されたデータを処理することができる。他の手法において、キャッシュ・マネージャ１０８は、ホストまたはストレージ・ネットワーク１０２から受信されたデータを、たとえば書き込み要求を介して処理することができる。したがって、ホストまたはストレージ・ネットワーク１０２からリレーされた異なるプロセス要求に応じて、キャッシュ・マネージャ１０８は異なる動作を実行することができる。たとえば書き込み要求は、すぐに明らかになるように、書き込みプロセスを開始することが可能であり、読み取り要求は、以下でより詳細に説明するように、読み取りプロセスを開始することが可能である。他の手法によれば、キャッシュ・マネージャ１０８によって受信される要求は、書き込まれたデータ、書き込みマッピング、消去要求、ステータス要求など、またはそれらの組み合わせも含むことができる。
【００３５】
引き続き図１を参照すると、書き込み要求がキャッシュ・マネージャ１０８によって受信可能であり、好ましくは、ストレージ・システム１５０内に記憶されることになるデータに関する。本発明を制限することの全く意図されていない例によれば、キャッシュ・マネージャ１０８によって受信される書き込み要求は、ランダム・アクセス入力書き込みデータを含むことができる。他の手法において、書き込み要求は、線形データ、順次データ、ランダム・データなど、または、本明細書を読めば当業者に明らかとなる任意の他の形式のデータを含むことができる。
【００３６】
キャッシュ・マネージャ１０８は、たとえばＲＡＩＤモジュール１１０を使用して、好ましくはデータが書き込まれる前に、ＲＡＩＤ機能または他の再構成動作あるいはその両方が書き込み要求データに適用されるべきであるかどうかを判別することができる。図１に示されるように、キャッシュ・マネージャ１０８はＲＡＩＤモジュール１１０に接続され、それによってデータは、たとえばＲＡＩＤ機能を適用することにより、それらの間で符号化または復号あるいはその両方を行うことができる。ＲＡＩＤ機能を含めることによってシステム全体の信頼性が拡張され得るため、好ましくはＲＡＩＤ機能を受信した書き込みデータに適用することができる。さらにＲＡＩＤ機能を使用して、その所望のストレージ位置に関係なくデータを保護することができる。別の手法において、ＲＡＩＤ機能は、たとえば読み取り要求に応答して戻される前に、ストレージ・システム１５０内に記憶されたデータに適用することができる。一手法によれば、ＲＡＩＤ機能はデータをランダム・データから順次データに変更することができるが、本明細書に列挙されたデータ形式の任意の他の組み合わせを組み込むこともできる。
【００３７】
キャッシュ・マネージャは、好ましくは接続されたホストにそれ自体をディスク・ストレージ・コントローラとして提示する。キャッシュ・マネージャは、ストレージ・スペースを、ストレージのシン・プロビジョニング（thin-provisioning）および拡張性を可能にする、「仮想ディスク」（ＶＤＩＳＫ）として公開する。
【００３８】
別の手法によれば、データまたはメタデータあるいはその両方は、第２のストレージ・ティア上で保護されるＲＡＩＤとすることができるが、自己記述的とするために線形メディアにデータを書き込むことも望ましい場合がある。「自己記述的」の意味するものは、線形メディア・ティアから情報を読み取ることによって、データ・ブロックを適切に識別するために必要なすべての状態情報を回復することができることである。例示の一実施形態において、システムは、ティアに書き込まれた範囲セットを記述するマッピング情報を効率的に回復させるため、およびそれらを特定の仮想ディスクに属するものとして明確に識別するため、ならびに論理ブロック・アドレス（ＬＢＡ）または同等にＶＤＩＳＫ内の論理範囲番号を識別するために、使用可能な、線形ストレージ・ティア内に含まれるデータの自己記述的インデックスに従うことになる。他の手法において、ＶＤＩＳＫはＶＤＩＳＫマネージャ１２０によって管理または更新あるいはその両方が実行可能である。
【００３９】
好ましい手法において、書き込み要求に関連するデータは、線形ストレージ・メディア・ティア内に記憶すること、たとえば線形メディア・ストレージ・モジュール１２８内の線形テープに書き込むこと、が可能である。しかしながら、異なる手法によれば、書き込み要求に関連するデータは、所望の実施形態に応じて、たとえば一部分、大部分などを、書き込みバッファ／キャッシュ１１４、読み取りキャッシュ１１６など、またはそれらの任意の組み合わせ内に記憶することができる。一手法において、データは、データの重要性、サイズ、要求頻度などに応じて、ストレージ・システム１５０内の所与のメディア内に記憶することができる。本発明を制限する意図の全くない例によれば、ストレージ・システム１５０は、書き込み要求に関するランダム・アクセス入力書き込みデータをたとえばホストから受信し、そのランダム・アクセス入力書き込みデータを前述のように順次データに変換することができる。さらに順次データは、その後、線形メディア・ストレージ・モジュール１２８内の線形メディア上に記憶することができる。データがすぐまたは頻繁にあるいはその両方で読み出されることが予測される場合、書き込みデータは、加えてまたは代替としてあるいはその両方で、より高速なアクセスのために読み取りキャッシュ１１６内に記憶することが可能である。
【００４０】
引き続き図１を参照すると、キャッシュ・マネージャ１０８は、第２のストレージ・ティア、たとえば書き込みバッファ／キャッシュ１１４と、線形ストレージ・メディア・ティア、たとえば線形メディア・ストレージ・モジュール１２８との間の、データの動きを制御することもできる。一手法において、キャッシュ・マネージャ１０８は、共通書き込み動作のために共に組み合わせられることになる別々の書き込み要求から、データを選択することができる。したがって、キャッシュ・マネージャ１０８は、好ましくは、いくつかのランダム・アクセス書き込み要求に関連付けられた書き込みデータを、線形ストレージ・メディア・ティアに移動（たとえば書き込み）される前に、第２のティア内に累積することができる。一手法において、書き込みバッファ／キャッシュ１１４内に累積された書き込みデータは、テープ・リールの寸法に関係なく、テープ・リール上のテープの少なくとも整数のフル・ラップが単一パスで線形メディアに書き込まれるように、第２のストレージ・ティア内に累積することが可能である。したがって、第２のティア内に累積された書き込みデータが、テープ・リール上のテープの少なくとも整数のフル・ラップに等しくない場合、書き込みデータは、好ましくは、累積された書き込みデータがテープ・リール上のテープの少なくとも整数のフル・ラップに等しくなるまで、第２のティア内に保持することができる。これにより、総書き込み時間を削減し、テープ・リール取り出し（以下でより詳細に説明する）を組み合わせ、それによって最小限にすることによって、システムの書き込み効率を向上させることができる。おそらくさらに重要なことに、これは、容量の増加に対応してテープの面密度を増加させるのにも役立つ。しかしながら、本発明を制限する意図の全くない他の手法において、第２のティア内に累積された書き込みデータは、時間制限、緊急レベル、ユーザ・オーバーライド、要求などを含むがこれらに限定されない、異なるベンチマークが合致するまで、そこで保持されることが可能である。
【００４１】
他の実施形態において、書き込みデータは、線形ストレージ・メディア・ティアに移動されることになる前に第２のティア内に累積される代わりに、線形ストレージ・メディア・ティアに直接ストリーミングされる。こうした手法において、第２のティアはシステム内に存在するかまたは存在しない場合がある。
【００４２】
したがって、データ・コントローラ、たとえばキャッシュ・マネージャ１０８を組み込むことで、メディア・ブロック・サイズを従来の要求ブロック・サイズよりも大きくすることができる。これにより、すぐに明らかとなるように、複数の小さい書き込み要求を組み込むことができる大きい書き込み要求の方が、複数の小さい書き込み要求の各々を線形メディア・ストレージ・モジュール１２８内で別個に実行するよりも効率的であるため、より効率的な線形メディア書き込みプロセスが作成される。
【００４３】
線形メディア・ストレージ・モジュール１２８は、特に図２〜図４の説明を考慮して、本明細書で説明または提案あるいはその両方がなされる任意の構成を含むことができる。したがって、図２〜図４を参照すると、線形メディア（すなわちテープ）は、好ましくは、本明細書ではスプールとも呼ばれる、テープ・リール２０２に巻き取ることができる。テープ・リール２０２は、リールが使用されていない時にリールを格納するためのレスト域の「フロア」などの、下面３０４上に位置することができる。異なる手法によれば、レスト域は、以下で説明するように、１つのレベル、複数のレベルなどを有することが可能であり、好ましくはレベル間での線形メディアの動きに備えるための傾斜をさらに含むことができるが、これに限定されない。レスト域は、好ましくはテープ・リールが載る水平面であるが、他の手法では、レスト域は垂直、斜め、階段状、積み重ねなどの表面、またはそれらの組み合わせを組み込むことができる。こうした代替手法において、テープ・リールは、フック、リップ、磁石、棚、スリーブ、ポストなど、または、所望であればテープ・リール上の重力に対抗するための何らかの他の設計を使用することにより、レスト域に接続される、または支持される、あるいはその両方が可能である。
【００４４】
図４を参照すると、移動ロボット２１０は、駆動輪、および移動ロボット２１０と上面３０２または上面の一部との間の磁力を有するなどの、表面との接触を介して、上面３０２上で操縦することができる（図４を参照のこと）。したがって、テープ・リールのライブラリは「フロア」などの下面上に載せることが可能であるが、移動ロボットは上面上で操縦する。ロボットはテープ・リールを持ち上げ、所望の実施形態に応じて、それらをレスト域から巻き取りステーションまたはメディア・ドライブなど、他の位置に移動させることができる。
【００４５】
図１の線形メディア・ストレージ・モジュール１２８を再度参照すると、少なくとも１つのロボットとの係合のために、レスト域からリールを選択的に移動するための機構も有することができる。様々な手法によれば、機構は格納式アーム、磁石、吸引装置などを含むことができる。図４に示されるように、機構は、その上の少なくとも１つの移動ロボット２１０との係合のために、水平レスト域３０４から垂直にリール２０２を移動することが可能な、リール・グリッパ３１２を含むことができるが、これに限定されない。
【００４６】
引き続き図１を参照すると、データ・ストレージ・システム１５０はロボット・制御１３０を含むことができる。図１に示されるように、ロボット制御１３０は、好ましくは線形メディア・ストレージ・モジュール１２８と通信しており、内部の移動ロボットの制御または管理あるいはその両方を行うことができる。様々な手法において、ロボット制御１３０は、通常の動作条件、高トラフィック条件、損傷状況、オーバフロー、高優先度要求など、または、本説明を読めば当業者に明らかとなる任意の他の状況の、制御または管理あるいはその両方を行うことができる。加えてロボット制御１３０は、たとえばコマンド、更新、情報などをそれらから受信するために、ストレージ・システム１５０の任意の他の部分に接続することができる。加えて、ロボット制御１３０は、ロボット制御１３０によって処理されることになる要求を提供可能な、ホスト、ユーザ、管理者、コンピューティング・デバイスなどに接続することができる。さらに、線形ストレージ・メディア・ティアは、ホスト通信、データ管理、制御機能などを実装可能な、制御ユニット（図示せず）を有することができる。
【００４７】
さらに前述のように、キャッシュ・マネージャ１０８は、いくつかの実施形態において、大きい書き込み要求が複数の小さい書き込み要求を含むという事実によって、より効率的な線形メディア書き込みプロセスを実行することができる。たとえば、本明細書を制限する意図は全くなしに、複数の小さい書き込み要求を組み込んだ、ホストから線形ストレージ・メディア・ティアに出力される大きい書き込み要求は、小さい書き込み要求を大きい書き込み要求に集約すること、および、テープ・リールを１回のみ発見、装着、書き込み、および置換することを含むのに対して、複数の小さい書き込み要求の各々が別個に実行された場合、複数のテープ・リールは、複数の小さい書き込み要求の各々について、発見、装着、書き込み、および置換されることになる。したがって、こうした機能をデータ・コントローラ（たとえばキャッシュ・マネージャ１０８）内に含めることで、書き込み時間、電力消費量、摩耗などを低減させ、それによってシステム性能を向上させ、性能および容量を別々に最適化することができる。
【００４８】
ストレージ・システムの性能をさらに向上させるために、システムの任意のティア内に追加のドライブを含めることが可能である。
【００４９】
例示の一実施形態において、線形ストレージ・メディア・ティアのアクセス性能は、ディスクまたはネットワーク・ストレージ・インターフェースあるいはその両方のアクセス時間制限内に、システム内の任意の場所からのデータの取り出しを可能にすることによって特徴付けられる。
【００５０】
別の例示の実施形態において、メモリ・ストレージ・システムの線形ストレージ・メディア・ティアの性能は、レスト域内の所与のリール上に記憶されたデータ・ブロックへの読み取りアクセス時間が１０秒未満であることによって特徴付けることができる。より好ましくは、線形ストレージ・メディア・ティアの性能は、レスト域内の任意のリール上に記憶された任意のデータ・ブロックへの読み取りアクセス時間が３０秒未満、好ましくは２０秒未満、および理想的には１０秒未満であることによって、特徴付けることができる。線形ストレージ・メディア・ティアに関する高速読み取りアクセス時間および書き込み時間によって、高性能ティア、たとえば第２のティアと組み合わせて機能させることが可能となる。したがって、線形メディア・ストレージ・モジュール１２８のうちの１つまたは複数は、少なくとも２つのドライブ、たとえば線形メディア・ドライブを含むことができる。一手法によれば、線形メディア・ドライブのうちの少なくとも１つは、線形メディアの読み取りおよび書き込みの両方のために構成可能である。したがって、読み取りまたは書き込みあるいはその両方の要求は、所与の時点でいずれのドライブが使用されているかに基づいて制限され得ることはなく、複数の動作は、それらが読み取りまたは書き込みのいずれの動作であるかにかかわらず、同時に処理することができる。一例において、読み取り動作は、いまだに動作を実行していないドライブを対象とすることができる。これにより、読み取りおよび書込みを同時に実行させることが可能であり、それによって、書き込みプロセスへの割り込みを回避しながら、書き込みが完了するまで読み取りプロセスを遅延させること、またはその逆も防止される。たとえば、ドライブが書き込みまたは読み取り動作要求に使用されている場合、所望であれば、引き続き、書き込みまたは読み取り動作要求に使用することができる。
【００５１】
物理ドライブは、線形メディアの読み取りおよび書き込みの両方が可能であるが、好ましくは、所与のドライブが、これらの動作のうちの１つのみ（すなわち読み取りまたは書き込み）を長期間実行するためのものとすることができる。加えて、電子機器、ヘッドなどの数が少ないことにより、別々の線形メディア・ドライブを有することで費用の点で有利であり得る。さらに、順次書き込み方法は、より効果的なランダム書き込み性能を提供するため、いくつかの書き込みドライブを多数の読み取り専用ドライブと組み合わせることによって、システム・コストを削減することができる。したがって、線形ストレージ・メディア・ティア内のドライブの少なくともサブセット、大部分、すべてなどについて、書き込みまたは読み取り専用に最適化することが好ましい可能性がある。
【００５２】
本明細書で説明されるように、約１０秒未満、および好ましくは約１秒近くのアクセス時間を達成することで、キューイングの使用を可能にする。動作を重複させることによって、キューＩＤに対する応答時間も向上させることが可能であり、スループットを増加させることによってさらに性能が向上する。したがって、システムのデータ・スループットを増加させるために重複動作において複数のロボットを使用することが可能なシステム、たとえば線形ストレージ・メディア・ティア内で、複数の移動ロボットを使用することができる。
【００５３】
引き続き図１を参照すると、書き込み要求に対応する書き込みデータを、線形ストレージ・メディア・ティアに移動される前に、第２のティアの書き込みバッファ／キャッシュ１１４内に累積することが可能であるため、書き込みバッファ／キャッシュ１１４はキューとして働くことができる。好ましい手法において、書き込みバッファ／キャッシュ１１４は、図１に示されるように接続されたメディア・ボリューム・マネージャ１１８に書き込みデータを送信する前に、書き込みデータをログ書き込みとしてフォーマット化することができる。ログ書き込みは、好ましくは、書き込み要求によって受信されたデータの形式に関係なく、データを線形メディアに順次書き込むことができる。したがって、第２のティアに累積された複数の書き込み要求に関連するデータは、ログ・フォーマットを実装し、順次書き込むことができる。
【００５４】
本発明を制限する意図は全くない示された例によれば、書き込み要求Ａ２、Ｄ２、およびＦ２は、線形ストレージ・メディア・ティアに書き込まれる前に、書き込みバッファ／キャッシュ１１４内のキャッシュ・マネージャ１０８によって受信およびグループ化することができる。書き込み要求Ａ２、Ｄ２、およびＦ２に関連するデータは、線形ストレージ・メディア・ティア内の別々の場所、たとえば異なるテープ・リール上の異なる部分にすでに書き込まれている可能性のある、以前に実行された書き込み要求Ａ１、Ｄ１、およびＦ１のそれぞれからのデータの延長とすることが可能である。各書き込み要求Ａ１、Ｄ１、およびＦ１から個別にデータを取り出した後にのみ、書き込み要求Ａ２、Ｄ２、およびＦ２を実行するのではなく、ログ書き込みは、書き込み要求Ａ２、Ｄ２、およびＦ２に関するデータを、線形ストレージ・メディア・ティア内の線形メディアの最も効率的にアクセス可能な部分、または線形ストレージ・メディア・ティア内の任意の他の所望な位置に、順次書き込むことができる。線形ストレージ・メディア上の書き込み要求Ａ２、Ｄ２、およびＦ２に関するデータの位置は、マッピング・テーブル１１２に記憶することができる。
【００５５】
図２に示されたように移動ロボットを使用して、線形メディアをピックアップして配置するシステムでは、重複動作において複数のロボットにドライブのサービスをさせることで、読み取りスループットを向上させることができる。これが可能なのは、第２のロボットが第２のテープをそのレスト位置からドライブに送達している間に、第１のロボットが第１のテープをドライブからレスト位置に戻すことができるためである。したがって、図２〜図４を参照しながら上記で説明したように、システムは、レスト域と少なくとも１つの線形メディア・ドライブとの間で線形ストレージ・メディアを移送するための、少なくとも１つ、少なくとも２つ、複数などの、移動ロボットを含むことができる。移動ロボットは、好ましくは、少なくとも１つのテープ・リールを取り出すこと、およびそれを所望の位置、たとえば巻き取りステーション、ドライブ、レスト域などに移動することによって、線形ストレージ・メディアを移送することができる。様々な手法によれば、移動ロボットは、所望の実施形態に応じて、本明細書で説明および提案あるいはその両方がなされる、任意の移動ロボットを含むことができるが、これに限定されない。
【００５６】
他の動作も同様に重複させることができる。たとえば再び図２を参照すると、読み取りまたは書き込みあるいはその両方の動作、および後続の巻き戻し動作のために、リールをテープ・ドライブ２０４に取り付ける前に、テープ・リール２０２上で疎位置特定動作（coarse locate operation）を実行するための、少なくとも１つの巻き取りステーション２３０を含めることができる。好ましい手法において、疎位置特定動作は、所与のテープ・リール上に記憶されたテープの特定の位置を、最小時間内に特定することを含むことができる。さらに、疎位置特定動作は、他のリールが読み取りまたは書き込みあるいはその両方を実行されている間に実行可能であるため、動作が重複される。たとえば、本発明を制限する意図は全くなしに、テープ・リールは、あるラップでのテープ・メディアの端部間のある位置まで、特定のデータ・セットをその上に書き込ませることができる。テープ・リールの上に書き込むための準備をするために、疎位置特定動作は、書き込まれたデータが終わる直前とみなされる位置に到達するまで、テープを迅速に巻き取ることができる。巻き取りステーションがヘッドを有する場合、巻き取りステーションは、書き込まれたデータの終わりの位置が特定されるまで、低速で進行することができる。巻き取りステーションがヘッドを有さない場合、その後テープ・リールを受信するメディア・ドライブは、事前配置によってテープ上のデータの終わりを迅速に見つけることができる。したがって、疎位置特定動作は、書き込まれたデータの終わりを通過することがないため、書き込まれたデータの終わりの位置を特定する際の不必要な時間遅延を防止することによって、ドライブを直接使用することで可能であるよりも速く、書き込まれたデータの終わりの位置を特定することが可能である。
【００５７】
本発明を制限することが全く意図されていない別の例において、疎位置特定動作を使用して、読み取り要求の受信からデータがテープ・リールからホストに戻されるまでの合計時間を減らすことができる。疎位置特定動作は、マッピング・モジュールのマップ内に記憶可能なリールに書き込まれたデータのマッピング位置を使用することができる。これにより、好ましくは、所与のリール上に記憶されたデータ・ブロックへの読み取りアクセス時間を削減することができる（以下でより詳細に説明する）。したがって、少なくとも１つの巻き取りステーションの疎位置特定動作は、位置特定動作を読み取りおよびロボットの動きと重複させることが可能であり、結果としてシステムの利用率をさらに上昇させることになる。
【００５８】
特に対応するデータに関して、データがどこに記憶されるかを追跡するために、ある種のマッピング・スキームが望ましい。こうしたマッピング・スキームは、好ましくは、現行バージョンの各論理ブロックの物理位置を識別することが可能であり得、その情報は、本明細書ではメタデータとも呼ばれる。
【００５９】
引き続き図１を参照すると、マッピング・テーブル１１２はストレージ・システム１５０にも含められる。マッピング・テーブル１１２は、好ましくは、任意のデータの書き込み後の位置特定およびアクセスが可能なように、ストレージ・システム１５０内のどこにデータまたはメタデータあるいはその両方が記憶されるかを追跡する。一手法において、これによってストレージ・システム１５０は、特定のデータ・セットが線形メディア・ストレージ・モジュール１２８内で記憶される、可能な複数の位置の各々を追跡することができる。したがってマッピング・テーブル１１２は、好ましくは、各書き込みまたは読み取りあるいはその両方の要求によって、アクセスまたは更新あるいはその両方が可能である。しかしながら、マッピング・テーブル１１２は、所望の実施形態に応じて、各書き込み要求が完了した後、各読み取り要求が処理される前、指定された間隔で、（たとえばユーザからの）要求時などに、アクセスまたは更新あるいはその両方が可能である。
【００６０】
線形メディア上のデータのマップ、たとえばマッピング・テーブル、データベースなどを好ましくは第２のティア内に維持するために、マッピング・モジュールを含めることができる。マッピング・テーブル１１２は、好ましくは、線形メディア・ストレージ・ティアよりも高性能（高速）の第２のストレージ・ティア内に記憶またはキャッシュされる。低速の線形メディアからメタデータを読み取る必要なしにＩＯ動作が完了できるように、データまたはメタデータあるいはその両方のコピーを第２のストレージ・ティア内に維持することが有利な可能性がある。したがって、低速の線形メディア・ストレージ・ティアにアクセスする必要なしに、データの項目の位置が決定可能であり、それによって処理速度、データ位置特定速度、データ検索速度などが上昇する。しかしながら、他の実施形態によれば、マッピング・テーブルは、線形メディア、任意の性能レベルを有する第３のストレージ・ティア、第２のストレージ・ティアおよび線形ストレージ・メディア・ティアの両方、第２のストレージ・ティアおよび線形ストレージ・メディア・ティアを横切って、などに、記憶することができる。
【００６１】
他の実施形態において、ストレージ・システム１５０は任意数のデータ・ストレージ・ティアを含むことが可能であり、各ストレージ・ティア内に同じかまたは異なるストレージ・メモリ・メディアを含むことができる。たとえば、各データ・ストレージ・ティアは、ＨＤＤ、ＳＳＤ、順次アクセス・メディア（テープ・ドライブ内のテープ、光ディスク・ドライブ内の光ディスクなど）、ダイレクト・アクセス・メディア（ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなど）、または任意の組み合わせのメディア・ストレージ・タイプなどの、同じタイプのストレージ・メモリ・メディアを含むことができる。こうした一手法において、第２のストレージ・ティアは、高性能ストレージ環境内にデータを記憶するために大部分のＳＳＤストレージ・メディアを含むことが可能であり、線形ストレージ・メディア・ティアまたは任意の追加のストレージ・ティアあるいはその両方を含む残りのストレージ・ティアは、低性能ストレージ環境内にデータを記憶するために、ＳＳＤ、ＨＤＤ，テープ・ドライブなどの任意の組み合わせを含むことが可能である。したがって、より頻繁にアクセスされるデータ、高優先度を有するデータ、より迅速にアクセスされる必要のあるデータなどを、第２のストレージ・ティアに記憶し、これらの属性のうちの１つまたは複数を有さないデータは、線形ストレージ・メディア・ティアを含む追加のストレージ・ティアのいずれかに記憶することが可能である。もちろん当業者が本説明を読めば、本明細書に提示された実施形態に従って、異なるストレージ・スキーム内に実装するために、ストレージ・メディア・タイプの多くの他の組み合わせを考案することが可能である。
【００６２】
障害復旧に対する他の支援として、線形メディアまたは何らかの他のストレージへのマッピング・テーブル１１２のマッピング情報をチェックポイントする（checkpoint）ことが有利な場合がある。異なる手法によれば、マッピング情報は、マッピング・テーブル１１２、仮想ディスク・マネージャ、メモリ・モジュール、メディア・ボリューム・マネージャなどに記憶することができる。仮想ディスク（ＶＤＩＳＫ）マネージャ１２０は、システムがシステムの論理ビューを、複数の仮想ディスクまたはＶＤＩＳＫＳとして、提示できるようにすることが可能であり、これによって、シン・プロビジョニングの使用可能かも容易になる（図１の１２０を参照のこと）。
【００６３】
異なる手法によれば、マッピング・テーブル１１２は、ブロック・マッピング・テーブルなどのルックアップ・テーブル、図表、散布図、確率関数など、または、本説明を読めば当業者に明らかとなる任意の他の記憶方法またはシステムあるいはその両方を、含むことができる。例示の手法において、キャッシュ・マネージャ１０８は、データが線形メディア・ストレージ・モジュール１２８内で実際に記憶されている位置に関する情報を管理することができる。
【００６４】
一手法において、書き込まれたデータは、ストレージ・システム１５０内の固有の位置、たとえば、線形メディア・ストレージ・モジュール１２８内の固有の位置に、記憶することができる。したがって、データが固有の位置に記憶された場合、マッピング・テーブル１１２を使用してデータの物理位置を追跡することができる。さらに、マッピング・テーブル１１２は、データが複数の位置に記憶された場合、または複数のセグメントに分割された場合、あるいはその両方の場合にも、データを追跡することができる。
【００６５】
好ましい手法において、データの一部を、ストレージ・システム１５０内の複数の位置に、より好ましくは線形メディア・ストレージ・モジュール１２８内の複数の位置に、記憶することができる。したがって、線形メディア・ストレージ・モジュール１２８内に記憶されたデータの一部の損傷、損失、盗難、破損などの場合、線形メディア・ストレージ・モジュール１２８内の他の位置に記憶された他のデータ部分からの誤り訂正データを介して、そのデータの一部を回復することができる。さらにデータはセグメントとして記憶することが可能であり、セグメントの各々を線形メディア・ストレージ・モジュール１２８内の異なる位置に記憶することが可能である。好ましい手法において、線形メディア・ストレージ・モジュール１２８に関する書き込み要求を、各々が書き込み要求を構成するデータの小部分を表す、複数の小さいセグメントに分割することが可能である。様々な手法によれば、セグメントは、書き込み要求全体、書き込み要求の大部分、書き込み要求の半分、書き込み要求のわずかなどを表す、データを含むことができる。さらに、複数の小セグメントの各々を、線形メディア・ストレージ・モジュール１２８内の異なる位置に記憶することができる。したがって、書き込み要求に関する線形メディア・ストレージ・モジュール１２８内に記憶されたデータの一部の損傷、損失、盗難、破損などの場合、残りの小データ・セグメントを、線形メディア・ストレージ・モジュール１２８内のそれぞれの位置から取り出すことができる。
【００６６】
本発明を制限する意図の全くない例示の実施形態によれば、線形メディア・ストレージ・モジュール１２８内のテープ・リール全体が、その上のデータが読み取り不可などのように損傷した場合、損失データは、重複して記憶されている場合、それの他の位置からアクセスすること、および、線形メディア・ストレージ・モジュール１２８内のそれの他のセグメントから再作成すること、あるいはその両方が可能である。別の手法によれば、データは、所望の実施形態に応じて、ストレージ・システム１５０内、好ましくは線形メディア・ストレージ・モジュール１２８内の、複数の場所に記憶すること、および複数のセグメントに分割すること、あるいはその両方が可能である。
【００６７】
引き続き図１を参照すると、マッピング・テーブル１１２はＶＤＩＳＫマネージャ１２０に接続される。ＶＤＩＳＫは、シン・プロビジョニング、または本説明を読めば当業者に明らかとなる任意の他の手法を使用して、ストレージ・システム１５０内に記憶されたデータの分割を助けることができる。さらに図１に示されるように、ＶＤＩＳＫマネージャ１２０は管理モジュール１２２および管理インターフェース１０４に接続される。したがってＶＤＩＳＫマネージャ１２０は、管理モジュール１２２または管理インターフェース１０４あるいはその両方から要求を受信して処理することが可能であり、書き込みデータの管理に向けて貢献することができる。
【００６８】
図１の書き込みバッファ／キャッシュ１１４を再度参照すると、書き込みデータ（たとえばログ書き込み）を、図１に示されたように接続されたメディア・ボリューム・マネージャ１１８に送信することができる。メディア・ボリューム・マネージャ１１８を使用して、線形メディア・ボリュームを割り振ること、および線形メディアとの間でデータを転送することができる。そのために、メディア・ボリューム・マネージャ１１８は、好ましくはバックエンド・ドライバ１２４およびメディア再利用１２６と通信することができる。メディア再利用１２６は、好ましくは、線形メディア・ストレージ・モジュール１２８内の線形メディアのどの部分が空であるか、そこにデータが書き込まれたか、そこに記憶されたデータを削除する資格があるか、などを管理する。したがって、メディア再利用１２６は、線形メディア・ストレージ・モジュール１２８内の線形メディアのどの部分を、線形メディア・ストレージ・モジュール１２８内に保持されることになるデータに影響を与えることなく正常に書き込むことができるかを、メディア・ボリューム・マネージャ１１８に通知することができる。一手法によれば、メディア再利用は、テープ・リールを部分的、全体的などに、空にすることまたは上書きに使用可能にすることあるいはその両方のために、メディア・ボリューム・マネージャ１１８によって呼び出すことができる。これは、テープ上のデータの上に書き込むこと、スプール上のテープを新しい空テープに交換すること、テープおよびリールを新しいテープを備えた新しいリールと交換すること、などを実行可能にすることによって達成できる。
【００６９】
さらに、バックエンド・ドライバ１２４は、線形メディア・ストレージ・モジュール１２８の線形メディアの管理または制御あるいはその両方のために、メディア・ボリューム・マネージャ１１８と線形メディア・ストレージ・モジュール１２８との間の通信を可能にすることができる。したがってバックエンド・ドライバ１２４は、好ましくは、前述のように、線形メディア・ストレージ・モジュール１２８の線形メディアへのデータの書き込みを支援することができる。
【００７０】
マッピング・テーブル１１２、ＶＤＩＳＫマネージャ１２０、メディア・ボリューム・マネージャ１１８、メディア再利用１２６、またはバックエンド・ドライバ１２４、あるいはそれらすべて、またはストレージ・システム１５０内の任意の他のアイテムは、読み取り要求を満たすために書き込みデータにアクセスする場合にも使用可能である。前述のように、ホスト、ユーザ、管理者、コンピューティング・デバイスなどから受信する要求は、読み取り要求とすることができる。一例において、読み取り要求は、ストレージ・システム１５０内に記憶された、書き込まれたデータの取り出しを促すことができる。
【００７１】
様々な手法によれば、書き込まれたデータは、書き込み要求または書き込みデータあるいはその両方に関して本明細書に列挙された任意の手法に従って、ストレージ・システム１５０内に記憶されたデータを含むことができる。したがって、好ましい手法において、書き込み要求に関するデータは、線形ストレージ・メディア・ティア内に記憶すること、たとえば線形メディア・ストレージ・モジュール１２８内の線形テープに書き込むことが可能である。しかしながら異なる手法によれば、書き込み要求に関するデータの、たとえば一部分、大部分などを、書き込みバッファ／キャッシュ１１４、読み取りキャッシュ１１６など、または、所望の実施形態に応じて、それらの任意の組み合わせ内に、記憶することができる。
【００７２】
キャッシュ・マネージャ１０８は、ホストまたはストレージ・ネットワーク１０２から受信した読み取り要求を処理することができる。本発明を制限することが全く意図されていない一例によれば、キャッシュ・マネージャ１０８によって受信される読み取り要求は、ランダムに書き込まれたデータに対する読み取り要求に関するものとすることができる。
【００７３】
読み取り要求は、好ましくは前述のように、および機能ブロック図１００に示されるように、読み取りプロセスを開始することができる。引き続き図１を参照すると、キャッシュ・マネージャ１０８が読み取り要求を受信した後、読み取り要求に関して書き込まれたデータの位置を検索するために、マッピング・テーブル１１２にアクセスすることができる。異なる手法によれば、マッピング・テーブル１１２は、本明細書で説明または提案あるいはその両方がなされる任意の手法を組み込むことが可能であり、好ましくは、ストレージ・システム１５０内で、読み取り要求に関する書き込まれたデータの位置をキャッシュ・マネージャ１０８に提供することが可能である。さらにＶＤＩＳＫマネージャ１２０は、加えてまたは代替として、書き込まれたデータの位置に関する情報をキャッシュ・マネージャ１０８に提供することができる。
【００７４】
キャッシュ・マネージャ１０８は、好ましくは、読み取りキャッシュ１１６およびメディア・ボリューム・マネージャ１１８とも通信する。一手法において、キャッシュ・マネージャ１０８は、共通読み取り要求用に共に組み合わせられ、それによってキューのように動作することになるデータを、決定することが可能である。したがってキャッシュ・マネージャ１０８は、好ましくは、線形ストレージ・メディア・ティアにアクセスする前に、いくつかの読み取り要求に関連付けられた読み取りデータを、第２のティア、たとえば読み取りキャッシュ１１６内に累積することができる。上記で説明したように、これによって、所望であれば、検索時間を削減すること、システムの性能を向上させることなどが可能である。しかしながら、読み取り要求は、たとえば大きい読み取り要求サイズ、高優先度、ユーザ・オーバーライドなどを有する所与の読み取り要求によって、個別に実行することができる。別の例示の手法によれば、読み取りキャッシュ１１６またはキャッシュ・マネージャ１０８あるいはその両方は、ある時間制限内にいかなる他の読み取り要求も受信されない場合、読み取り要求を個別に処理することが可能であり、それによって損失が最小限となる。
【００７５】
状況に応じて、メディア・ボリューム・マネージャ１１８は、読み取りキャッシュ１１６またはキャッシュ・マネージャ１０８から直接、読み取り要求を受信することができる。読み取り要求を受信した後、メディア・ボリューム・マネージャ１１８は、好ましくは、線形メディア・ストレージ・モジュール１２８内の書き込まれたデータ位置に関して、バックエンド・ドライバ１２４と通信する。バックエンド・ドライバ１２４は、好ましくは、受信した１つまたは複数の読み取り要求に関して、線形メディア・ストレージ・モジュール１２８内での要求されたデータの位置特定および取り出しを容易にする。位置が特定され、バックエンド・ドライバ１２４およびメディア・ボリューム・マネージャ１１８に返された後、データはキャッシュ・マネージャ１０８に送信することができる。
【００７６】
書き込まれたデータを受信すると、キャッシュ・マネージャ１０８は、好ましくは前述のＲＡＩＤ機能を使用して、たとえばホストまたはストレージ・ネットワークに出力する前に、データの符号化または復号あるいはその両方を実行することができる。様々な手法において、データは、順次データ、ランダム・データなどを含むがこれらに限定されない、本明細書に列挙された任意の形式で出力することができる。さらにデータは、一部分または全体の符号化または復号あるいはその両方を実行することなく出力することができる。
【００７７】
読み取りまたは書き込みあるいはその両方のプロセス全体を通じて、マッピング・テーブル、ＶＤＩＳＫ、管理モジュール、読み取りキャッシュ、メディア再利用などは、たとえばその後の要求のために更新することができる。
【００７８】
さらに、直接のユーザ置換を提供することなしに、固定のメディア・セットを有することは、線形メディア・ストレージ・モジュール１２８にとって有用な可能性がある。したがってシステムは、メディアまたはドライブあるいはその両方の有限セットを有することができる。したがってシステムは、システム内のすべてのメディアがシステム内のドライブによって書き込まれたことを保証することができる。これによってシステムは、面密度を増加させ、ドライブがより迅速に適切な追跡およびチャネル初期化を獲得できるようにするのを助けることが可能な、各テープおよび各ドライブに関する較正または他の特徴付けデータを記憶することが可能になる。さらに、面密度にとって有益な、メディアおよびヘッドとの世代的互換性の必要性を取り除くことができる。新しいメディアおよびドライブは、保守中などに、依然としてシステム内に導入することができる。しかしながら、これらは稀なイベントであるため、特徴付けは必要に応じて実行可能である。こうしたシステムは、達成可能な面密度を制限する傾向がある、テープ・システムに共通の世代的互換性を免除することができる。
【００７９】
図２は、一実施形態に従った、線形メディア・ストレージ・モジュール１２８の詳細図を示す。オプションとして、本線形メディア・ストレージ・モジュール１２８は、他の図を参照しながら説明するような、本明細書に列挙された任意の他の実施形態からの特徴と共に実装可能である。しかしながら、もちろんこうした線形メディア・ストレージ・モジュール１２８および本明細書に提示されるその他は、本明細書で列挙される例示の実施形態で具体的に説明されるかまたはされない場合のある、様々な適用または置換あるいはその両方で使用可能である。さらに、本明細書で提示される線形メディア・ストレージ・モジュール１２８は、任意の所望の環境で使用可能である。さらに依然として線形メディア・ストレージ・モジュール１２８は、図２に示されたものに限定されることは決してなく、様々な実施形態に応じて望ましいものとなる任意の部分または部分の向きあるいはその両方を含むことができる。
【００８０】
図２の部分トップ・ダウン図および図４の部分側面図に示されるように、テープ・ライブラリなどの線形メディア・ストレージ・モジュール１２８は、テープからデータを読み取るために、テープ・ドライブ２０４との間で、テープ・カートリッジの一部であるかまたは一部でない場合のある少なくとも１つのテープ・リール２０２を移送するための、１つまたは複数の移動ロボット２１０を含むことができる。
【００８１】
図３は、本発明との関連において採用することが可能な、テープベースのデータ・ストレージ・システムのテープ・ドライブ２０４の簡略図を示す。テープ・ドライブの特定の一実装が図３に示されているが、本明細書で説明する実施形態は、様々なテープ・ドライブ・システムとの関連において実装可能であることに留意されたい。
【００８２】
図に示されるように、テープ２２２を支持するためにテープ供給リール２２０および巻き上げリール２２１が提供される。リールのうちの１つまたは複数は、取り外し可能カートリッジの一部を形成することが可能であり、必ずしもテープ・ドライブ２０４の一部ではない。図３に示されるようなテープ・ドライブは、任意のタイプのテープ・ヘッド２２６の上でテープ２２２を移動させるためにテープ供給リール２２０および巻き上げリール２２１を駆動させるための、駆動モータをさらに含むことができる。こうしたヘッドは、リーダ、ライタ、またはその両方の配列を含むことができる。
【００８３】
ガイド２２５は、テープ・ヘッド２２６を横切ってテープ２２２をガイドする。次にこうしたテープ・ヘッド２２６は、ケーブル２３１を介してコントローラ・アセンブリ２２８に結合される。コントローラ２２８は、典型的には、サーボ追従（servo following）、書き込み、読み取りなどの、ヘッド機能を制御する。コントローラは、当分野で知られた論理、ならびに本明細書で開示する任意の論理の下で、動作することができる。ケーブル２３１は、テープ２２２上に記録されることになるデータをヘッド２２６に送信するため、およびヘッド２２６によって読み取られたデータをテープ２２２から受信するための、読み取り／書き込み回路を含むことができる。アクチュエータ２３２は、テープ２２２に対するヘッド２２６の位置を制御する。
【００８４】
当業者であればすべて理解されるように、データを送受信するためのテープ・ドライブとホスト（一体型または外部）との間の通信用に、および、テープ・ドライブの動作を制御し、テープ・ドライブの状況をホストに通信するために、インターフェース２３４を提供することもできる。
【００８５】
選択されたテープ・リールまたはテープ・リール・ペア上のテープは、表面（図４に示されるように、「シーリング」という用語と同じ意味で使用される、上面３０２など）との接触を介して移動する、小型リモートコントロール車両とすることが可能な、移動ロボット２１０によるアクセスが可能である。したがってテープ・リールは、「フロア」などの下面上に載ることが可能である一方で、移動ロボットは、駆動輪、およびロボットと上面または上面の一部との間の磁力を利用することなどによって、表面との接触を介して、上面上で操縦する（図４を参照のこと）。一手法において、テープ・ライブラリは複数のレベルを含むことができる。各レベル上で、テープ・リールは下面（「フロア」という用語と同じ意味で使用される）上に高密度パターンで配置構成され得る。この配置構成は、一実施形態に従って、図２の部分トップ・ダウン図に示される。
【００８６】
連続テープは単一リール上に記憶可能であり、テープ・ドライブ内でのテープのスレッディングを可能にするピンまたは他の端片を含むことができる。他の手法において、テープは、たとえばテープ・カートリッジ内のリール・ペアに結合することができる。
【００８７】
一実施形態によれば、標準的なテープ・カートリッジのテープ長さのほんの一部のみを有する、小型テープ・リール２０２内に磁気テープを含めることが可能であり、それによって探索時間が減少する。このような短い長さは、たとえば標準的な線形テープ・オープン（ＬＴＯ）テープ・カートリッジのテープ長さの約１／５未満、標準テープ・カートリッジのテープ長さの約１／２５未満、標準テープ・カートリッジのテープ長さの約１／５０未満などとすることができる。いくつかの手法において、複数のテープ・リール２０２上のテープ長さは、各テープ・リール２０２について約５０メートル未満とすることが可能であり、好ましくは、約２５メートル未満、さらに好ましくは、２０メートル以下などとすることが可能である。
【００８８】
加えてまたは代替として、位置特定速度をたとえば毎秒約２０メートル（ｍ／ｓ）またはそれ以上まで上昇させることによって、こうしたテープ・リールを使用するテープベース・システムの探索時間を減少させることができる。「位置特定時間」とは、テープがテープ・ドライブに装着された後、データ・セット（またはファイル）の始まりまでテープを巻き取るために必要な時間を表す。テープ長さが約２０ｍ以下まで低減され、位置特定速度が約２０ｍ／ｓである場合、平均位置特定時間は（２０ｍ／２０ｍ／ｓ）／２＝０．５秒である。ドライブ内の探索時間を減らすことに加えて、システム探索時間は、約０．５秒の平均装着時間を達成するようにテープ・ライブラリを構成することによって、減らすことができる。「装着時間」とは、要求がテープ・ライブラリに到達した第１の時点と、関連するテープ・リールがテープ・ドライブ内に装着された第２の時点との間の時間を表す。
【００８９】
一実施形態によれば、テープ・システムは、平均探索時間が約２秒未満であるように、好ましくは約１秒以下であるように、構成される。探索時間は、データにアクセスするための要求がテープ・ライブラリによって受信される第１の時点と、テープ・ライブラリが要求者へのデータの提供を開始する第２の時点との間の、遅延である。
【００９０】
引き続き図２を参照すると、テープ・リール２０２は、限られたスペース内に格納できるテープ・リールの数を最大にするために、たとえば六角形配列、規則配列、円形配置構成などで密集させることができる。
【００９１】
一実施形態によれば、複数のテープ・リール２０２の各々の直径は、約５０ｍｍ未満、約４０ｍｍ未満、約３０ｍｍ未満などの、約１００ｍｍ未満とすることができる。
【００９２】
いくつかの手法において、テープ・リール２０２上でのテープの読み取りまたは書き込みあるいはその両方のために、単一のテープ・ドライブ２０４が使用可能である。ファイルが読み取られる頻度に応じて、一番左のテープ・ドライブ２０４がテープを読み取っている図２に示されるように、テープ・リール２０２上でのテープの読み取りまたは書き込みあるいはその両方のために、複数のテープ・ドライブ２０４を使用可能にすることができる。当業者に知られているような任意の配置構成において、好ましくは、装着およびデータ・アクセス時間を削減するために、テープ・ドライブ２０４への迅速なアクセスが可能なように、テープ・ドライブ２０４を表面近くに配置することが可能である。
【００９３】
一手法において、線形メディア・ストレージ・モジュール１２８は、移動ロボット２１０が、任意の１つの選択されたテープ・リール２０２の位置を特定し、取り出し、テープ・ドライブ２０４に移送すること、ならびに、選択されたテープ・リール２０２のテープからデータを読み取るための要求を受信してから約５秒以内、より好ましくは２秒以内、および理想的には約１秒未満に、テープ・ドライブ２０４によるテープの読み取りを開始することを、可能にするように構成可能である。他の手法において、システムは、少なくとも１つの線形メディア・ドライブにリールが取り付けられる前にリール上で疎位置特定動作を実行するための、少なくとも１つの巻き取りステーション２３０を含むことができる。好ましい手法において、疎位置特定動作は、所与のテープ・リール上に記憶されたテープの望ましい部分の位置を最小時間内に特定することを含むことができる。
【００９４】
いくつかの実施形態において、たとえば２つ、５つ、またはそれ以上の、いくつかの移動ロボット２１０が表面に沿って制約されずに移動する。他の実施形態において、単一のロボットのみが所与のレベル上に存在する場合がある。移動ロボット２１０にとっては、線形メディア・ストレージ・モジュール１２８の任意の他の部分にケーブルによって接続されていないことが有利な場合がある。この設計は、ロボットの高速の動きを好み、移動ロボット２１０がレベル、ルーム、エンクロージャなどの間で移動できるようにすることを容易にする。また、複数の移動ロボット２１０が使用される場合、移動ロボット２１０がワイヤレスで制御されると、異なるロボット２１０からのケーブルが絡み合うといういずれの問題も解消される。
【００９５】
移動ロボット２１０は、一実施形態に従った移動ロボット２１０によって示されるように、所定の「レスト」位置を有することが可能である。図２に示されるように、移動ロボット２１１はレスト位置から移動し、テープ・リールを捕捉して、テープを読み取るためにテープ・ドライブ内にテープ・リールを装着するように、テープ・ドライブに向かって移動している。また、移動ロボット２０８は、読み取り動作を完了したテープ・ドライブからテープ・リールを取り出し、テープ・リールをそれらの格納位置に戻している。もちろん、この動きは単なる例であり、本発明を制限することは全く意図されていない。移動ロボット２１０は、少なくとも１つのテープ・リールを取り出すことができるが、好ましくは、望ましい実施形態に応じて、それらのテープ取り出し動作を重複させることができる。
【００９６】
移動ロボット２１０は、様々な実施形態に従って、直線的に徐々に移動するか、または表面上の位置間を、弧を描くようにより自然に移動することができる。また、移動ロボット２１０は、本説明を読めば当業者によって理解されるような任意の方法に従って、それらの進路内にある物体を避けることができる。
【００９７】
いくつかの前述のテープ・ライブラリ・ジオメトリでは、ライブラリ・グリッパは、レールまたはレール・ペアに沿った第１のカートリッジの動きを介して、テープ・リールまたはテープ・カートリッジあるいはその両方の配列にアクセスする。次に第１のカートリッジは、グリッパを保持している第２のカートリッジの動きを可能にする、別のレール・セットまたはガイドを保持する。このスキームは、グリッパが、テープ・リールまたはテープ・カートリッジが配置されている２次元内のどこにでもアクセスできるようにする。別の方法として、いくつかの以前の設計では、第２のカートリッジは、第１のカートリッジの軸を中心に動作する回転運動に置き換えられている。このスキームは、グリッパ（またはロボット）が互いに干渉する可能性があるため、ライブラリの柔軟性を制限する。たとえば、グリッパが同じレール・セットを使用する場合、互いに通過することはできない。また、テープ・ライブラリ内には、通常、追加のレール・セットを設置するために使用可能なスペースがないため、このスキームは機能の点で非常に限られている。加えて、これらの以前の設計は、グリッパが機能しなくなった場合、テープ・リールまたはテープ・カートリッジあるいはその両方へのアクセスを容易に回復させるものではない。
【００９８】
他方で、本明細書のシステムは、テープ・リールまたはテープ・カートリッジあるいはその両方へのアクセスを容易にする、「制約されない」ロボットを使用する。ここで「制約されない」という用語は、動きがレール、トラック、軌道、進路などには制約されない代わりに、たとえば表面に沿って、少なくとも２次元内で自由に動くことを示す。したがって、制約されない移動ロボットは表面に容易に追加または除去され、レールまたはトラックに固定されていないため、表面に沿って互いに容易に動き回ることができる。
【００９９】
図４に示されるように、一実施形態に従って、移動ロボット２１０が制約されずに全体を移動する表面は、（一手法ではシーリングなどの）上面３０２とすることが可能であり、移動ロボット２１０が、たとえば特定のトラック、経路、レールなどの上での動きに限定されないなど、制約されないように、パターン形成しないことができる。したがって、各移動ロボット２１０は、任意の他の移動ロボット２１０の動きに関係なく動くことが可能であり、たとえば各移動ロボット２１０は、任意の他の移動ロボット２１０が辿ってきたかまたはこれから辿る経路を、横切ることができる。同様に、テープ・リール２０２を支持する表面３０４とは別の表面３０２に移動ロボット２１０を取り付けることによって、移動ロボット２１０は、テープ・リール２０２のグループ、列、行、などの間の通路、経路、廊下などを辿るように制約されない。一例において、この動きは、スーパーマーケットを通るショッピング・カートの動きと類似している可能性がある。しかしながら、スーパーマーケットの棚の間を移動するように制約される代わりに、移動ロボット２１０は、スーパーマーケットのシーリングに沿って制約されずに移動することが可能であり、例として、棚の下から任意の所望の商品を選択することが可能である。複数の移動ロボット２１０を使用してテープ・リール２０２のグループにアクセスする機能は、短く人気のあるファイルへの高速アクセスを提供する。このジオメトリは、テープ・カートリッジ・グリッパが、経路を横切ることのできないｘおよびｙのポジショナ（positioner）上で支持された以前の構成よりも、かなり柔軟性がある。移動ロボット２１０は、移動ロボット２１０を上面３０２方向にバイアスする磁石３１０または何らかの他の結合または引力デバイスを使用して、上面３０２に結合可能である。移動ロボット２１０が上面３０２上で操縦できるようにすることによって、テープ・リール２０２をフロアなどの下面３０４上に単に載せることができる。磁石３１０は、重力が移動ロボット２１０を下面３０４方向にバイアスするよりもかなり強い力で、移動ロボット２１０を上面３０２方向にバイアスすることが可能であり、移動ロボット・ホイール３０６、３０８のかなり強い摩擦力を可能にすることで、より高速のロボット加速度、さらにはより高速の探索時間を可能にする。
【０１００】
一手法において、移動ロボット２１０は、２つのリヤ・ホイール３０８、および１つのフロント（操縦）ホイールまたはボール３０６の、３つのホイール３０６、３０８を有することができる。別の３ホイール構成では、移動ロボット２１０は２つのフロント・ホイール３０８、およびリヤ（操縦）ホイールまたはボール３０６を有することができる。明快にするために、本考察における操縦ホイールとは、ロボット本体に対して位置決めまたは回転の方向が固定されていないホイールを示す。もちろん、移動ロボット２１０は、任意数のホイール３０６、３０８、または、当業者に知られているような移動ロボット２１０を動かすための他の装置を有することができる。たとえば、移動ロボット２１０の一実施形態は、２つの駆動ホイールおよび２つの（操縦）ホイールまたはボールを有することができる。ロボットのステアリングは、キャスタ・タイプの操縦ホイールを用いてホイールのうちの２つを別個に駆動すること、操縦ホイールを使用してステアリングすること、および操縦ホイールを用いて駆動およびステアリングすることなどの、任意の知られた方法で実施可能である。
【０１０１】
移動ロボット２１０は、移動ロボット２１０が所望のテープ・リール２０２またはテープ・リール２０２のセットの上に配置された場合、移動ロボット２１０内に装着し、テープ・ドライブに移送するかまたはテープ・ドライブからテープ・リールの記憶位置まで戻すことができるように、テープ・リール２０２を掴む、（たとえば磁気的に）引き付ける、固定する、または他の方法で保持することが可能な、リール・グリッパ３１２を有することが可能である。
【０１０２】
引き続き図４を参照すると、いくつかの実施形態において、移動ロボット２１０は、標準のラック構成内で約１Ｕである、約（約４．４ｃｍ）のスペースＨ内で、テープ・リール２０２の上で操縦できるような高さを有することができる。ラック取り付けコンピュータ構成要素に使用される最小単位は、１．７５インチ高さ、「１Ｕ」単位である。標準０．５インチ（１．２７ｃｍ）幅の磁気テープに対するリールは、０．５８インチ（１．４７ｃｍ）とすることが可能であり、この１Ｕ単位は、テープ・リール２０２に移動ロボット２１０を加えた層を有するストレージの単一層を保持するのに十分な厚みとすることができる。したがって、移動ロボット２１０、テープ・リール２０２、およびドライブを有する単一層設計は、ストレージ・ルーム全体を充填可能であるか、または任意の望ましいサイズの、単一層から複数の積層に至る様々なテープ・ライブラリ構成に使用可能である。
【０１０３】
一手法において、複数のテープ・リール２０２は、上面から約１５ｃｍ、たとえば１５±１．５ｃｍ、約２０ｃｍ未満、約１０ｃｍ未満、約５ｃｍ未満、または前述の範囲内の任意の値の距離以内に、間隔を空けて配置することが可能である。
【０１０４】
線形メディア・ストレージ・モジュール１２８は、移動ロボット２１０の動きを指示するためのコントローラ２１２を備えることも可能である。コントローラ２１２は、移動ロボット２１０に搭載するか、または（図２に示されるように）ロボット２１０から離れ、任意のタイプの通信チャネル（無線、有線、赤外線など）を介して通信することができる。
【０１０５】
例示の一実施形態によれば、線形メディア・ストレージ・モジュール１２８は、複数のテープ・リール２０２のうちの１つに格納されたテープからデータを読み取るように構成された少なくとも１つのテープ・ドライブ２０４と、複数のテープ・リール２０２のうちの１つまたは複数を選択的に取り出し、１つまたは複数の取り出したテープ・リール２０２をテープ・ドライブ２０４に移送するように構成された、約１０００立方インチ未満（およびいくつかの手法では、約９００ｉｎ３未満、約７５０ｉｎ３未満、約５００ｉｎ３未満、約２５０ｉｎ３未満、約１００ｉｎ３未満、約５０ｉｎ３未満）の容積を有する少なくとも１つの移動ロボット２１０と、を備える。移動ロボット２１０は、表面に沿って移動し、好ましくは、所定のトラックまたは経路に沿って移動するように機械的に制約されない（すなわち、制約されない）。いくつかの手法において、移動ロボット２１０は、機械的に制約されず、任意の所望の経路を介して表面全体を自立的に移動することができる。
【０１０６】
移動ロボット２１０のナビゲーションを支援するために、下面および上面のうちの少なくとも１つは、移動ロボット２１０のナビゲーションに使用可能な光学パターンを含むことが可能であり、移動ロボット２１０は光学パターンを認識するように構成可能である。
【０１０７】
図５に示されるように、たとえば下面またはフロア３０４は、移動ロボットがその位置を特定するために設計された光学パターン４０２を含むことができる。この光学パターン４０２は、フロア３０４全体に広がる長方形グリッドとすることが可能であり、各グリッド正方形４０４は、特定のグリッド正方形４０４の行および列を識別する読み取り可能コードでラベル付けされている。この読み取り可能コードは、当業者によって理解されるような任意の形を取ることができる。
【０１０８】
フロア３０４は、様々な実施形態に従って、図６に示されるように平坦で、図７に示されるように小さな刻み目で覆われるか、または図８に示されるように内部にテープ・リール２０２が配置されるレセプタクル域を画定する格子を有することができる。テープ・リール２０２を越えて上方に格子を延在させることによって、その上で移動ロボット２１０が支持され得る表面を形成することが可能であり、一実施形態によれば、移動ロボット２１０は上面に沿って操縦しない代わりに、格子の上面によって形成される下面上を操縦することになる。別の手法において、図９に示されるように、ポスト４０１は、リールを定位置に保持するために下面３０４から上方に延在可能である。ポスト４０１は、図６および図７に示されるような、他の手法と組み合わせて使用可能である。
【０１０９】
移動ロボット２１０の設計は、本説明を読めば当業者によって理解されるような、追加の特徴、機能などを含むことができる。一実施形態において、一手法に従った移動ロボット２１０が図１０〜図１１に示される。この例では、１つまたは複数のモータ５０８が前方および後方の運動を可能にする左右対称の駆動ホイール３０８に動力を供給し、他の手法では、駆動ホイール３０８が２つの左右対称の駆動モータ５０８を使用して、別個に動作される場合、駆動ホイール３０８がステアリングを提供することができる。これらのモータ５０８は、単一のステップダウン・ギアによって各ホイール３０８に取り付けることができる。加えて移動ロボット２１０は、任意の方向に移動可能であり、いくつかの手法では操縦可能（ステアリング可能、位置決め可能など）である、１つまたは複数の他の全方向パッシブ・ホイール３０６によって支持されることが可能である。全方向ホイール３０６は、キャスタ・ホイールとすることが可能であり、より好ましくは、ボール伝達とも呼ばれる球形ボールとすることが可能である。
【０１１０】
テープ・リール２０２をピックアップするために、単純なプラットフォーム３１２をソレノイドまたはモータ（図示せず）によって上げ下げすることができる。テープ・リール２０２が磁気プレートによって覆われた場合、テープ・リール２０２は電磁石５０２に電圧を加えることによってプラットフォーム３１２にグリップすることができる。１つまたは複数のカメラ５０４によって、移動ロボット２１０のナビゲーションが可能となる。カメラ５０４は、各リール保持位置５０６の上に配置可能であり、移動ロボット２１０がその位置を決定すること、およびテープ・リール２０２をテープ・ドライブ内に直接送達することを、可能にする。カメラ５０４は、いくつかの手法において、テープ・リール２０２を精密に位置決めするために、テープ・リール２０２および位置グリッド（またはドライブ上のテープ・リール・チャック）を同時に撮像することができるため、移動ロボット２１０は、精密に作られる必要はない。
【０１１１】
複数の移動ロボット２１０が、同じフロアなどの同じ作業スペース内で作業できるようにするために、好ましくは移動ロボット２１０にはケーブルが取り付けられていない。移動ロボット２１０は少ない電力を使用し、いくつかの実施形態における約２ｍ／ｓのピーク速度は、テープ・リール２０２をピックアップして、これを１／２秒以内にドライブまで運ぶのに十分である。１５０グラムの移動ロボット２１０の場合、対応する運動エネルギーは約０．３ジュールとなる。このエネルギー量は、誘導結合などを介して充電式バッテリによって供給可能であるが、極端に寿命の長いコンデンサが好ましい場合がある。一実施形態において、３．２ジュールを含み、なおも直径１６ｍｍ、長さ４０ｍｍの、８０ボルト、１０００Ｆの電解コンデンサが使用可能である。移動ロボット２１０は、そのパーキング位置で、またはテープ・リール２０２を装着している場合はテープ・ドライブで、充電可能である。加えて、ロボットは、当分野で知られたタイプの配電機能を含む表面との接触を介して、動作用電力または充電あるいはその両方を取得することも可能である。ロボットは、テザーを介して動作用電力または制御情報あるいはその両方を取得することも可能である。
【０１１２】
図１１に示されるように、好ましい実施形態に従い、テープ・リール２０２はフロア３０４上に配置され、表面３０２はフロア３０４と向かい合い、移動ロボット２１０は磁気バイアスなどを介して（磁石３１０を使用して）表面３０２方向にバイアスされ、それによってテープ・リール２０２の上に移動ロボット２１０を懸架する。たとえば、移動ロボット２１０は、上面３０２方向に磁気的にバイアスすることができる。
【０１１３】
図１２〜図１３に示されるように、ライブラリ・コントローラは、赤外線（ＩＲ）などの光、無線周波数（ＲＦ）などによって、移動ロボット２１０と通信可能であり、クロストークを避けるために線形メディア・ストレージ・モジュール１２８の各レベル上で差別化可能である。ライブラリ・コントローラは、移動ロボット２１０が、テープ・リールをピックアップおよびドロップオフするため、ならびにテープ・ドライブ２０４内にテープ・リールを装着するために辿る、経路を計算する。移動ロボット２１０は、一手法において、そのカメラを使用して経路に沿ってサーボするか、または、別の実施形態において、微調整のためにのみカメラを使用し、そのモータまたはホイール上でエンコーダを使用してサーボすることが可能である。
【０１１４】
一実施形態において、線形メディア・ストレージ・モジュール１２８は、複数のテープ・ドライブ２０４を備えることが可能であり、各テープ・ドライブ２０４はテープ・リールを支持するフロア上に配置され、フロアは、間（テープ・リールと表面との間）での移動ロボット２１０の動きを可能にするのに十分な距離だけ、移動ロボット２１０がその上で操縦する表面の下にある。
【０１１５】
大きな多層線形メディア・ストレージ・モジュール１２８では、移動ロボット２１０は、ランプ６０４を使用してフロアの間を移動することができる。これによって移動ロボット２１０自体が異なるフロアにテープ・リールを装着させ、移動ロボット２１０の位置を最適に特定すること、およびテープ・リールを編成することによって、作業負荷を再平衡化するのを可能にする。移動ロボット２１０、テープ・リール、およびテープ・ドライブ２０４の相対数は、ファイル、データなどのアクセス頻度によって決定することができる。
【０１１６】
一手法によれば、間隔を空けて重ねられた構成を有する複数の表面が使用可能であり、移動ロボット２１０は、複数の表面間を移動するように構成される。この手法において、複数の表面のうちの少なくとも２つを接続し、それによって移動ロボット２１０が複数の表面間を移動できるようにする、少なくとも１つのランプ６０４が提供可能である。様々な手法において、移動ロボット２１０とシステムの任意の他の構成要素との間で結合されるケーブルは存在しないことが可能であり、それによって、複数の表面間での移動ロボット２１０の移動が容易になる。
【０１１７】
図１３に示されるように、一実施形態に従い、１つまたは複数のテープ・ドライブ２０４を、１つまたは複数のレベルを有する線形メディア・ストレージ・モジュール１２８のフロア６０６に直接固定することができる。加えて、移動ロボット２１０はシーリング６０２に引き付けることができる。この設計において、ドライブ２０４は、単にリールの配列（図示せず）内にスペースを残すことによって、線形メディア・ストレージ・モジュール１２８内の任意の位置に容易に配置することができる。この配置構成は、製造された後の線形メディア・ストレージ・モジュール１２８の再構成、ならびに実行すべき破損テープ・ドライブの交換を容易にする。たとえば移動ロボット２１０は、テープ・ドライブ２０４の移動または再配置あるいはその両方に適合可能である。一実施形態によれば、少なくとも１つのテープ・ドライブ２０４を、線形メディア・ストレージ・モジュール１２８の各レベルに配置することができる。
【０１１８】
ライブラリは、一実施形態によれば、他のテープ・ドライブおよび移動ロボットの障害時に使用されるよう準備された、「スペアの」テープ・ドライブ２０４および移動ロボット２１０を有するように構成可能である。別の実施形態において、作業負荷の増加、移動ロボットまたはテープ・ドライブあるいはその両方の障害などの、何らかの要因によって、追加のテープ・ドライブ２０４または移動ロボット２１０が使用される場合、線形メディア・ストレージ・モジュール１２８は、線形メディア・ストレージ・モジュール１２８の製造後に、テープ・ドライブ、テープ・リール、または移動ロボット、あるいはそれらすべてをユーザによって追加または除去することができる。
【０１１９】
様々な実施形態に従い、当分野で知られた任意のタイプのテープ・スレッディング・システムが、本明細書で説明されるシステムと共に使用するように適合可能である。たとえば、テープ・リールが個別に（ペアとしてではなく）使用される場合、一実施形態に従い、標準のスレッダ機構を使用して、テープ・リールをテープ・ドライブ上にスレッディングすることができる。リールのペア上にテープを格納することは、装着後、テープは使用準備ができており、別の内部リールに巻き取る必要がないという点で有利である。また、テープの使用が完了した場合、両方のリールをテープと共に取り外すことが可能であり、テープは取り外すために内部リールから巻き戻す必要がない。
【０１２０】
別の実施形態において、図１４に示されるように、テープ・ドライブ２０４自体はスレッダを有さないことが可能である。むしろ移動ロボット２１０は、取り出したテープ・リール７０２のテープ７０６をテープ・ドライブ２０４上でスレッディングするように構成可能である。一手法において、移動ロボット２１０は、最初に１つのリール７０２をテープ・ドライブ２０４上で、その後他方のリール７０４を、リール・モータがテープ７０６を巻き取ることが可能なリール・チャック７０８上でドロップオフすることによって、テープ・リールのペア７０２、７０４上に提供されたテープ７０６を装着する。別の方法として、テープ７０６が１つのリール（リール７０２など）のみに格納される場合、移動ロボット２１０は、図１５〜図１７に関して説明されるように、内部駆動ホイールに固定するために、テープの端部をリール７０２上でなく移動することができる。移動ロボット２１０の動きの精度は、いくつかの手法において現在テープ・ドライブで使用されている、リーダ・ピン・ローダ機構の精度よりも大幅に高いものとすることができる。
【０１２１】
別の実施形態において、図１５〜図１７に示されるように、テープ７０６の単一リール７０２を、リール・チャックおよびモータ７１４上に装着し、それらを、テープ７０６のスレッディングを容易にするためにテープ・ドライブ２０４周辺でのチャック７１４の動きを可能にするガイド７１８に追従するように適合された、カートリッジ７１６に固定することができる。リール７０２をチャック７１４上に装着する前に、チャック７１４は、図１５に示されるように、内部（巻き上げ）リール７１０の近隣に移動される。移動ロボット（明快にするために図示せず）がチャック７１４上にリール７０２を配置した後、機構７１２はテープ７０６の端部を巻き上げリール７１０に取り付ける。図１６を参照のこと。この時点で、テープ７０６は、テープ７０６が記録ヘッド７２０またはローラなどの任意のガイド表面に接触する前に、予備の位置特定動作の一部としてリール７０２と７１０との間で移動可能であり、したがって、テープの位置特定を高速にし、テープの損傷およびドライブの摩耗を低減させることができる。その後、チャックおよびリール・モータ７１４ならびにテープ・リール７０２は、図１７に示されるようにガイド７１８に沿って最終位置まで移動され、ここでテープ７０６は読み取りまたは書き込みが可能である。
【０１２２】
別の実施形態では、ライブラリ・リール７０２およびカートリッジ７１６を移動する代わりに、テープ・ドライブ２０４をスレッディングするために巻き上げリール７１０およびそのモータを移動させることができる。さらに別の実施形態では、テープ７０６がリールのペア上に格納されている場合、移動ロボット２１０は２つのリールをテープ・ドライブ２０４上に直接配置することが可能であり、ここでテープ７０６はスレッディングの前に位置特定される。
【０１２３】
別の方法として、図１８〜図２１に示されるように、テープ７０６は２つのテープ・リール２０２上で保持することが可能であり、リーダ・ピンの信頼性欠如を回避する方法を使用することができる。この手法において、リール・ドライブ・チャック８０２はそれらのストレージ位置内に、テープ・リール２０２と同じ近接した間隔で間隔を空けることができる。移動ロボットは図１９に示されるようにチャック８０２上にテープ・リール２０２を配置し、２つの移動可能ローラ８０４、８０６はテープ７０６を定位置に順次スレッディングする。最初に、ローラ８０４が図２０に示されるようにテープ７０６をスレッディングし、次にローラ８０６が図２１に示されるようにテープ７０６をスレッディングする。テープ７０６は、ローラ８０４、８０６が最終位置に移動する前に位置特定できるため、テープ７０６のローラ８０６または他のガイド表面およびヘッドとの接触に関連付けられた余分な摩耗および制御の困難さを回避することができる。別の方法として、別の実施形態では、空気ベアリングを形成する２つの平滑シリンダを使用して、テープ・ドライブをスレッディングすることができる。
【０１２４】
一実施形態において、各リールは、すべてのテープがアクセスされる場合、テープの全長さを保持するのに十分な大きさ（たとえばフランジが十分大きい）とすることができる。テープがこれらの大きなリールのペア内に格納される場合、ライブラリの容量は、単一リールを使用する場合の２分の１に削減することができる。
【０１２５】
別の手法において、テープはリールのペア上に格納可能であり、少なくとも１つのリールがテープの全長を受け入れるのに十分な大きさではない。図２２〜図２４に示されるように、リール・サイズの縮小は、一時フランジ・エクステンダ９０２、９０４をテープ・ドライブ内に組み込むことによって実行可能である。テープ・ドライブ内で、一時フランジ・エクステンダ９０２は、リール・フランジ９０６がドライブ上にある時に拡張されるように、モータ／リール・チャック９０８に固定される。リール２０２がドライブ内に入ると、別のフランジ・エクステンダ９０４が各リール２０２の上部に配置されるため、テープをリールのうちの１つにスプールすることができる。テープ・リール２０２がテープ・ドライブから取り外される前に、テープはテープ・リール２０２間で均等に再スプールされるため、テープ・リール２０２上の永久フランジ９０６間のみに存在することになる。
【０１２６】
別の手法において、パッキング・ローラを使用して、直径がフランジよりも大きくなった後にリール上でテープを維持することができる。
【０１２７】
いくつかの手法において、テープ・ライブラリは、フォールト・トレラントまたは自己修復性あるいはその両方であり得る。たとえば、各テープ・カートリッジはいくつかの異なるドライブによって読み取ることが可能であり、ロボットが故障した場合、他のロボットが故障したロボットの周囲を操縦し、故障したロボットを別のロボットによって牽引移動して交換する、または、故障したテープ・ドライブを牽引移動して交換する、あるいはその両方が可能である。
【０１２８】
一実施形態によれば、移動ロボットが故障した場合、別の移動ロボットによって牽引移動および交換することができる。テープ・ドライブは、テープ・ドライブを取り外すために辿る経路内にあるテープ・リールを一時的に除去した後、移動ロボットがテープ・ドライブを容易に牽引移動および交換できるように構成可能である。電力およびデータ接続は、たとえば、テープ・ドライブ・データ転送用の電力および光リンクに単純なスライド式ばね接点を使用して、非常に少ない力を使用するように実行可能である。
【０１２９】
一実施形態によれば、システムは、別の移動ロボットを使用して故障した移動ロボットの取り外しを実行できるように構成可能であり、この場合、故障した移動ロボットは、いくつかの手法において、取り外しを実行する移動ロボットまたは別の移動ロボットと交換することができる。
【０１３０】
別の実施形態において、移動ロボットは、たとえばテープ・ドライブが破損した場合、テープ・ドライブを取り外すように構成可能である。同様に、ロボットは、交換または修理済みテープ・ドライブを設置することができる。
【０１３１】
本明細書で説明または提案あるいはその両方がなされる任意の実施形態は、所望の実施形態に応じて、様々な機能方法と組み合わせることができる。
【０１３２】
図２５は、一実施形態に従った、ティア型メディア・ストレージ・システムからデータを取り出すための方法１０００を示す。オプションとして、本方法１０００は、他の図面を参照しながら説明されるような、本明細書に列挙された任意の他の実施形態からの機能と共に実装可能である。しかしながら、もちろんこうした方法１０００および本明細書で提示されるその他の方法は、明細書で列挙される例示の実施形態で具体的に説明されるかまたはされない場合のある、様々な適用または置換あるいはその両方で使用可能である。さらに、本明細書で提示される方法１０００は、任意の所望の環境で使用可能である。
【０１３３】
次に図２５を参照すると、方法１０００は、動作１００２に示されるように、データに関する要求を受信することを含む。様々な手法によれば、データは、本明細書で説明または提案あるいはその両方がなされる任意のデータまたはデータの形式を含むことができる。
【０１３４】
さらに、方法１０００の動作１００４は、データが線形ストレージ・メディア・ティア内、または本明細書で説明されるような線形ストレージ・メディア・ティアよりも高性能の第２のストレージ・ティア内、あるいはその両方の、いずれに記憶されているかを判別することを含む。好ましい実施形態において、線形ストレージ・メディア・ティアは、その上に線形メディアを有する複数のリールと、リールが使用されていない時にリールを格納するためのレスト域と、線形メディアの読み取りまたは書き込みあるいはその両方のために構成された１つまたは複数の線形メディア・ドライブと、レスト域と少なくとも１つの線形メディア・ドライブとの間で線形ストレージ・メディアを移送するための少なくとも１つの移動ロボットとを含み、ロボットは第１の表面に沿って制約されずに移動する。
【０１３５】
さらに方法１０００は、データが線形ストレージ・メディア・ティア内に記憶されているものと決定された場合、その上にデータを有するリールのうちの１つを、線形ストレージ・メディア・ティア内の線形メディア・ドライブのうちの１つに移送するよう、移動ロボットに命じることをさらに含む。動作１００６を参照のこと。
【０１３６】
引き続き図２５を参照すると、方法１０００の動作１００８は、線形メディア・ドライブのうちの１つからデータを受信することを含み、動作１０１０は、データをたとえば要求者に送信することを含む。
【０１３７】
図２６は、一実施形態に従った、ティア型メディア・ストレージ・システムからデータを取り出すための方法１０１８を示す。オプションとして、本方法１０１８は、他の図面を参照しながら説明されるような、本明細書に列挙された任意の他の実施形態からの機能と共に実装可能である。しかしながら、もちろんこうした方法１０１８および本明細書で提示されるその他の方法は、明細書で列挙される例示の実施形態で具体的に説明されるかまたはされない場合のある、様々な適用または置換あるいはその両方で使用可能である。さらに、本明細書で提示される方法１０１８は、任意の所望の環境で使用可能である。
【０１３８】
図２６の動作１０２０では、データを書き込むための要求が受信される。動作１０２２では、データを、線形ストレージ・メディア・ティア内、または本明細書で説明されるような線形ストレージ・メディア・ティアよりも高性能の第２のストレージ・ティア内、あるいはその両方のいずれに記憶するかが決定される。好ましい実施形態において、線形ストレージ・メディア・ティアは、その上に線形メディアを有する複数のリールと、リールが使用されていない時にリールを格納するためのレスト域と、線形メディアの読み取りまたは書き込みあるいはその両方のために構成された１つまたは複数の線形メディア・ドライブと、レスト域と少なくとも１つの線形メディア・ドライブとの間で線形ストレージ・メディアを移送するための少なくとも１つの移動ロボットとを含み、ロボットは第１の表面に沿って制約されずに移動する。
【０１３９】
動作１０２４を参照すると、移動ロボットは、データを線形ストレージ・メディア・ティア内に記憶することが決定された場合、リールのうちの１つを線形ストレージ・メディア・ティア内の選択された線形メディア・ドライブに移送するよう、命じられる。動作１０２６では、リール上に書き込むために選択された線形ドライブにデータが送信される。
【０１４０】
当業者であれば理解されるように、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として具体化することができる。したがって、本発明の態様は、完全にハードウェア実施形態、完全にソフトウェア実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、あるいは本明細書ではすべてが一般に「論理」、「回路」、「モジュール」、または「システム」と呼ばれることが可能なソフトウェアおよびハードウェアの態様を組み合わせた実施形態の、形を取ることができる。さらに本発明の態様は、具体化されたコンピュータ読み取り可能プログラム・コードを有する１つまたは複数のコンピュータ読み取り可能媒体内で具体化される、コンピュータ・プログラム製品の形を取ることができる。
【０１４１】
１つまたは複数のコンピュータ読み取り可能媒体の任意の組み合わせが使用可能である。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能信号媒体またはコンピュータ読み取り可能記憶媒体とすることができる。コンピュータ読み取り可能記憶媒体は、たとえば、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、またはデバイス、あるいは上記の任意の好適な組み合わせとすることができるが、これらに限定されない。コンピュータ読み取り可能記憶媒体のより特定の例（非網羅的リスト）は、１本または複数本のワイヤを有する電気接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、光ファイバ、ポータブル・コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、光記憶デバイス、磁気記憶デバイス、または上記の任意の好適な組み合わせを含むことになる。本書との関連において、コンピュータ読み取り可能記憶媒体は、命令実行システム、装置、またはデバイスによって、あるいはそれらに関連して使用するためのプログラムを、含むかまたは記憶することが可能な、任意の有形媒体とすることができる。
【０１４２】
コンピュータ読み取り可能信号媒体は、たとえばベースバンド内または搬送波の一部として内部に具体化されたコンピュータ読み取り可能プログラム・コードを備える、伝搬データ信号を含むことができる。こうした伝搬信号は、電磁、光、またはそれらの任意の好適な組み合わせを含むがこれらに限定されない、様々な形のうちのいずれかを取ることができる。コンピュータ読み取り可能信号媒体は、コンピュータ読み取り可能記憶媒体ではなく、命令実行システム、装置、またはデバイスによって、あるいはそれらに関連して使用するためのプログラムを、通信、伝搬、または移送することが可能な、任意のコンピュータ読み取り可能媒体とすることができる。
【０１４３】
コンピュータ読み取り可能媒体上で具体化されるプログラム・コードは、無線、有線、光ファイバ・ケーブル、ＲＦなど、または上記の任意の好適な組み合わせを含むが、これらに限定されない、任意の適切な媒体を使用して伝送することができる。
【０１４４】
本発明の態様に関する動作を実施するためのコンピュータ・プログラム・コードは、Ｊａｖａ、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などの、オブジェクト指向プログラミング言語と、「Ｃ」プログラミング言語または同様のプログラミング言語などの、従来の手続き型プログラミング言語とを含む、１つまたは複数のプログラミング言語の任意の組み合わせで作成可能である。プログラム・コードは、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン型ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上および部分的にリモート・コンピュータ上で、あるいは完全にリモート・コンピュータまたはサーバ上で、実行可能である。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）を含む、任意のタイプのネットワークを介して、ユーザのコンピュータに接続可能であり、（たとえば、インターネット・サービス・プロバイダを使用しインターネットを介して）外部コンピュータに接続可能である。
【０１４５】
本発明の態様を、本発明の実施形態に従った方法、装置（システム）、およびコンピュータ・プログラム製品の流れ図またはブロック図あるいはその両方を参照しながら、以下で説明する。流れ図またはブロック図あるいはその両方の各ブロック、および、流れ図またはブロック図あるいはその両方内のブロックの組み合わせは、コンピュータ・プログラム命令によって実装可能であることを理解されよう。これらのコンピュータ・プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が、流れ図またはブロック図あるいはその両方のブロック内に指定された機能／動作を実装するための手段を作成するように、機械を生成するための、汎用コンピュータ、特定用途向けコンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供可能である。
【０１４６】
これらのコンピュータ・プログラム命令は、コンピュータ読み取り可能媒体内に記憶された命令が、流れ図またはブロック図あるいはその両方のブロック内に指定された機能／動作を実装する命令を含む製品を生産するように、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに、特定の様式で機能するように指示可能な、コンピュータ読み取り可能媒体内にも記憶可能である。
【０１４７】
コンピュータ・プログラム命令は、コンピュータまたは他のプログラマブル装置上で実行する命令が、流れ図またはブロック図あるいはその両方のブロック内に指定された機能／動作を実装するためのプロセスを提供するように、コンピュータ実装プロセスを生成するために、一連の動作ステップを、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行させるために、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードすることも可能である。
【０１４８】
図面内の流れ図およびブロック図は、本発明の様々な実施形態に従った、システム、方法、およびコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能、および動作を示す。この点で、流れ図またはブロック図内の各ブロックは、指定された論理機能を実装するための１つまたは複数の実行可能命令を含む、モジュール、セグメント、またはコードの一部を表すことが可能である。いくつかの代替実施形態において、ブロック内に示された機能は、図内に示された順序とは異なる順序で実行可能であることにも留意されたい。たとえば、連続して示される２つのブロックは、関与する機能に応じて、実際にはほぼ同時に実行可能であるか、またはブロックは時には逆の順序で実行可能である。ブロック図または流れ図あるいはその両方の各ブロック、および、ブロック図または流れ図あるいはその両方におけるブロックの組み合わせは、指定された機能または動作を実行する特定用途向けハードウェア・ベース・システム、あるいは特定用途向けハードウェアおよびコンピュータ命令の組み合わせによって、実装可能であることにも留意されたい。
【０１４９】
図２７は、一実施形態に従った、ネットワーク・アーキテクチャ１１００を示す。オプションとして、ネットワーク・アーキテクチャ１１００は、他の図面を参照しながら説明するような、本明細書に列挙された任意の他の実施形態からの機能と共に実装可能である。
しかしながら、もちろん、こうしたネットワーク・アーキテクチャ１１００および本明細書に提示されるその他は、本明細書で列挙される例示の実施形態で具体的に説明されるかまたはされない場合のある、様々な適用または置換あるいはその両方で使用可能である。さらに、本明細書で提示されるネットワーク・アーキテクチャ１１００は、任意の所望の環境で使用可能である。
【０１５０】
図２７に示されるように、第１のリモート・ネットワーク１１０４および第２のリモート・ネットワーク１１０６を含む、複数のリモート・ネットワーク１１０２が提供される。リモート・ネットワーク１１０２と近隣ネットワーク１１０８との間に、ゲートウェイ１１０１を結合することができる。本ネットワーク・アーキテクチャ１１００との関連において、ネットワーク１１０４、１１０６は各々、ＬＡＮ、インターネットなどのＷＡＮ、公衆交換電話網（ＰＳＴＮ）、内部電話網などを含むがこれらに限定されない、任意の形を取ることができる。
【０１５１】
使用時、ゲートウェイ１１０１は、リモート・ネットワーク１１０２から近隣ネットワーク１１０８への入口点として働く。したがって、ゲートウェイ１１０１は、ゲートウェイ１１０１に到達するデータの所与のパケットを指示することが可能なルータ、および、所与のパケットに関してゲートウェイ１１０１内外への実際の経路を供給するスイッチとして、機能することができる。
【０１５２】
さらに、ゲートウェイ１１０１を介してリモート・ネットワーク１１０２からアクセス可能な、近隣ネットワーク１１０８に結合された、少なくとも１つのデータ・サーバ１１１４が含まれる。データ・サーバ１１１４は、任意のタイプのコンピューティング・デバイス／グループウェアを含み得ることに留意されたい。各データ・サーバ１１１４には、複数のユーザ・デバイス１１１６が結合される。こうしたユーザ・デバイス１１１６は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、ハンドヘルド・コンピュータ、プリンタ、または任意のタイプの論理を含むことができる。一実施形態において、ユーザ・デバイス１１１１も、ネットワークのいずれかに直接結合できることに留意されたい。
【０１５３】
たとえばファクシミリ機器、プリンタ、ネットワーク化またはローカルあるいはその両方のストレージ・ユニットまたはシステムなどの、周辺装置１１２０または一連の周辺装置１１２０を、ネットワーク１１０４、１１０６、１１０８のうちの１つまたは複数に結合することができる。データベースまたは追加の構成要素あるいはその両方は、ネットワーク１１０４、１１０６、１１０８に結合された任意のタイプのネットワーク要素と共に使用するか、またはそれらに統合できることに留意されたい。本説明との関連において、ネットワーク要素はネットワークの任意の構成要素を指すことができる。
【０１５４】
いくつかの手法によれば、本明細書で説明される方法およびシステムは、仮想システム、または、ＩＢＭ  ｚ／ＯＳ環境をエミュレートするＵＮＩＸシステム、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ環境を仮想的にホストするＵＮＩＸシステム、ＩＢＭ  ｚ／ＯＳ環境をエミュレートするＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳシステムなどの、１つまたは複数の他のシステムをエミュレートするシステム、あるいはその両方と共に、またはそれらの上で、あるいはその両方で、実装可能である。この仮想化またはエミュレーションあるいはその両方は、いくつかの実施形態において、ハイパーバイザの使用を介して拡張可能である。
【０１５５】
さらに他の手法において、１つまたは複数のネットワーク１１０４、１１０６、１１０８は、一般に「クラウド」と呼ばれるシステムのクラスタを表すことができる。クラウド・コンピューティングにおいて、処理電力、周辺装置、ソフトウェア、データ、サーバなどの共有リソースは、オンデマンド関係でクラウド内の任意のシステムに提供され、それによって多くのコンピューティング・システム全体にわたるアクセスおよびサービスの配布が可能となる。クラウド・コンピューティングは、典型的には、クラウド内で動作するシステム間のインターネット接続を含むが、システムを接続する他の技法も使用可能である。
【０１５６】
図２８は、一実施形態に従った、図２７のユーザ・デバイス１１１６またはサーバ１１１４あるいはその両方に関連付けられた代表的なハードウェ環境を示す。こうした図面は、マイクロプロセッサなどの中央処理ユニット１２１０と、システム・バス１２１２を介して相互接続された、いくつかの他のユニットとを有する、ワークステーションの典型的なハードウェア構成を示す。
【０１５７】
図２８に示されたワークステーションは、ランダム・アクセス・メモリ（ＲＡＭ）１２１４と、読み取り専用メモリ（ＲＯＭ）１２１６と、ディスク・ストレージ・ユニット１２２０などの周辺デバイスをバス１２１２に接続するためのＩ／Ｏアダプタ１２１８と、キーボード１２２４、マウス１２２６、スピーカ１２２８、マイクロフォン１２３２、または、タッチ・スクリーンおよびデジタル・カメラ（図示せず）などの他のユーザ・インターフェース・デバイス、あるいはそれらすべてを、バス１２１２に接続するためのユーザ・インターフェース・アダプタ１２２２と、ワークステーションを通信ネットワーク１２３５（たとえばデータ処理ネットワーク）に接続するための通信アダプタ１２３４と、バス１２１２をディスプレイ・デバイス１２３８に接続するためのディスプレイ・アダプタ１２３６と、を含む。
【０１５８】
ワークステーションは、MicrosoftWindows（Ｒ）オペレーティング・システム（ＯＳ）、ＭＡＣ  ＯＳ、ＵＮＩＸ  ＯＳなどの、オペレーティング・システムを、その上に常駐させることができる。好ましい実施形態は、言及した以外のプラットフォームおよびオペレーティング・システム上でも実装可能であることを理解されよう。好ましい実施形態は、ＪＡＶＡ、ＸＭＬ、Ｃ、またはＣ＋＋、あるいはそれらすべての言語、または他のプログラミング言語を、オブジェクト指向プログラミング方法論と共に使用して、作成可能である。複雑なアプリケーションを開発するためにますます使用されるようになってきたオブジェクト指向プログラミング（ＯＯＰ）が、使用可能である。
【０１５９】
図面内の流れ図およびブロック図は、本発明の様々な実施形態に従った、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。この点で、流れ図またはブロック図内の各ブロックは、指定された論理機能を実装するための１つまたは複数の実行可能命令を含む、モジュール、セグメント、またはコードの一部を表すことが可能である。いくつかの代替実施形態において、ブロック内に示された機能は、図内に示された順序とは異なる順序で実行可能であることにも留意されたい。たとえば、連続して示される２つのブロックは、関与する機能に応じて、実際にはほぼ同時に実行可能であるか、またはブロックは時には逆の順序で実行可能である。ブロック図または流れ図あるいはその両方の各ブロック、および、ブロック図または流れ図あるいはその両方におけるブロックの組み合わせは、指定された機能または動作を実行する特定用途向けハードウェア・ベース・システム、あるいは特定用途向けハードウェアおよびコンピュータ命令の組み合わせによって、実装可能であることにも留意されたい。
【０１６０】
本明細書で説明される方法および実施形態の様々な機能は、本明細書で提示される説明から複数の組み合わせを作成する、何らかの方法で組み合わせることができる。
【０１６１】
入力／出力またはＩ／Ｏデバイス（キーボード、ディスプレイ、ポインティング・デバイスなどを含むがこれらに限定されない）などの通信構成要素は、直接、または介在するＩ／Ｏコントローラを介して、システムに結合可能である。
【０１６２】
データ処理システム、たとえばホストが、介在する専用または公衆ネットワークを介して、他のデータ処理システム、リモート・プリンタ、ストレージ・デバイスなどに結合できるようにするために、バス、インターフェース、ネットワーク・アダプタなどの通信構成要素をシステムに結合することも可能である。モデム、ケーブル・モデム、およびイーサネット・カードは、いくつかの手法において使用可能な、現在使用可能なタイプのネットワーク・アダプタのうちのごくわずかである。
【０１６３】
本明細書で説明される実施形態は、オンデマンドでサービスを提供するように、顧客のために展開されるサービスの形で提供可能である。
【０１６４】
以上、様々な実施形態について説明してきたが、これらは単なる例として提示してきたものであって、制限ではないことを理解されたい。したがって、本発明の実施形態の幅および範囲は、上述の例示の実施形態のうちのいずれによっても制限されるべきではなく、以下の特許請求の範囲およびそれらの等価物に従ってのみ定義されるべきである。
【図１】
0005943367.tif 000002
【図２】
0005943367.tif 000003
【図３】
0005943367.tif 000004
【図４】
0005943367.tif 000005
【図５】
0005943367.tif 000006
【図６】
0005943367.tif 000007
【図７】
0005943367.tif 000008
【図８】
0005943367.tif 000009
【図９】
0005943367.tif 000010
【図１０】
0005943367.tif 000011
【図１１】
0005943367.tif 000012
【図１２】
0005943367.tif 000013
【図１３】
0005943367.tif 000014
【図１４】
0005943367.tif 000015
【図１５】
0005943367.tif 000016
【図１６】
0005943367.tif 000017
【図１７】
0005943367.tif 000018
【図１８】
0005943367.tif 000019
【図１９】
0005943367.tif 000020
【図２０】
0005943367.tif 000021
【図２１】
0005943367.tif 000022
【図２２】
0005943367.tif 000023
【図２３】
0005943367.tif 000024
【図２４】
0005943367.tif 000025
【図２５】
0005943367.tif 000026
【図２６】
0005943367.tif 000027
【図２７】
0005943367.tif 000028
【図２８】
0005943367.tif 000029