(57)【要約】【課題】取り外し可能なランダム・アクセス・データ・ストレージ・メディアのシミュレートされた順次データに対する同時読み取りおよび書き込みアクセスを提供すること。【解決手段】複数の論理アクセッサとして構成されたデータ・ストレージ・ドライブは、取り外し可能なランダム・アクセス・メディア上のデータにアクセスする。論理アクセッサによってデータ・セグメントに対して書き込みアクセスする際に、制御はパーティションの少なくとも１つのデータ・セグメントを含んでいるコンテキストを論理アクセッサにロックする。制御は同時に、ロックされたコンテキストを除いて、取り外し可能なランダム・アクセス・メディアのデータに対する読み取りアクセスを可能とし、また、ロックされたパーティションを除いて、他の論理アクセッサによる書き込みアクセスを可能とする。
2005515535.tif 000002
【特許請求の範囲】
【請求項１】
取り外し可能なランダム・アクセス・データ・ストレージ・メディア（２０、２５）にストア可能なデータに対する少なくとも１つのホスト（３１０、３１２）による同時読み取りおよび書き込みアクセスを提供するためのデータ・ストレージ・ドライブ（３０）において、前記データは複数のデータ・セグメント（１７０〜１７６、１８５、１８６、１５０、１５１、４２１）を含み、前記データ・セグメントの少なくとも一部は少なくとも１つのパーティション（４２０）を含み、前記取り外し可能なランダム・アクセス・データ・ストレージ・メディアは前記データ・ストレージ・ドライブにアクセス可能／から取り外し可能であり、データ・ストレージ・ドライブ（３０）は、
前記取り外し可能なランダム・アクセス・データ・ストレージ・メディアに対する読み取りアクセスおよび／または書き込みアクセスのために前記少なくとも１つのホストと通信するようそれぞれが構成されている複数の論理アクセッサ（６０〜６５）と、
前記取り外し可能なランダム・アクセス・データ・ストレージ・メディアに対する読み取りおよび書き込みアクセスを提供する読み取り／書き込みユニット（３２）と、
前記複数の論理アクセッサおよび前記読み取り／書き込みアクセス・ユニットに結合される読み取り／書き込み制御（３５）とを含み、
前記読み取り／書き込み制御は、
前記パーティションの１つに対する前記論理アクセッサの１つの前記読み取りアクセスおよび／または書き込みアクセスに応じて、前記データ・セグメントの少なくとも１つが前記アクセスに対する前記パーティションを含んでいるものと識別し、
前記論理アクセッサの１つにより前記識別されたパーティションの少なくとも１つのデータ・セグメントに対する書き込みアクセスが発生した際に、書き込みアクセスされたコンテキストを前記書き込みアクセスのために前記論理アクセッサの前記１つにロックして、前記書き込みアクセスされたコンテキストとして、前記書き込みアクセスに対する前記識別されたパーティションの少なくとも前記１つのデータ・セグメントを確立し、
前記書き込みアクセスがロックされた前記論理アクセッサの１つに対する前記書き込みアクセスされたコンテキストにアクセスするよう前記読み取り／書き込みアクセス・ユニットを操作し、
前記書き込みアクセスがロックされた前記論理アクセッサの１つ以外の任意の論理アクセッサによる前記書き込みアクセスされたコンテキストに対する読み取りアクセスを防止し、前記書き込みアクセスがロックされた前記論理アクセッサの１つ以外による前記取り外し可能なランダム・アクセス・データ・ストレージ・メディアの前記書き込みアクセスがロックされたパーティションの任意のデータに対する書き込みアクセスもさらに防止して、前記書き込みアクセスがロックされた前記論理アクセッサの１つ以外の前記論理アクセッサによる前記取り外し可能なランダム・アクセス・データ・ストレージ・メディアの前記データに対する読み取りアクセスおよび／または書き込みアクセスを提供するよう前記読み取り／書き込みアクセス・ユニットを同時に操作し、
前記書き込みアクセスがロックされた前記論理アクセッサの１つによる前記書き込みアクセスが完了した際に、前記書き込みアクセスがロックされた前記論理アクセッサの１つに対する前記書き込みアクセスされたコンテキストの前記ロックを解放する
データ・ストレージ・ドライブ。
【請求項２】
前記読み取り／書き込み制御（３５）は、さらに、前記論理アクセッサ（６０〜６５）の１つによる読み取りアクセスが発生した際に、前記読み取りアクセスは、それに対してアクセスが防止されている前記データ以外のデータ・セグメント（１７０〜１７６、１８５、１８６、１５０、１５１、４２１）に対するものか否かを判定し、判定結果が肯定の場合、読み取りコンテキストとして、前記アクセスに対して識別されたパーティション（４２０）の少なくとも１つのデータ・セグメントを確立する、請求項１に記載のデータ・ストレージ・ドライブ（３０）。
【請求項３】
前記読み取り／書き込み制御ユニット（３５）は、前記パーティション（４２０）を識別する際に、さらに、前記少なくとも１つのホスト（３１０、３１２）による順次アクセスのために順に前記パーティションの前記データ・セグメント（１７０〜１７６、１８５、１８６、１５０、１５１、４２１）を構成し、また、前記書き込みアクセス・コンテキストに対する前記読み取りアクセスを防止する際に、さらに前記書き込みコンテキストに前記順に続く任意のデータ・セグメントに対する読み取りアクセスも防止する、請求項１に記載のデータ・ストレージ・ドライブ（３０）。
【請求項４】
前記読み取り／書き込み制御ユニットは、識別されたパーティション（４２０）の前記データ・セグメント（１７０〜１７６、１８５、１８６、１５０、１５１、４２１）に書き込みアクセスする際に、さらに、
前記識別されたパーティションの前記データ・セグメントの次に続くセグメントに対する追加点を識別し、
ランダム・アクセス・シーケンスで前記取り外し可能なランダム・アクセス・データ・ストレージ・メディア（２０、２５）に追加されたデータを、前記識別されたパーティションのデータ・セグメントとして書き込み、
前記識別されたパーティションの前記追加点で前記データ・セグメントの前記シーケンスで続けるように前記追加されたデータを識別する
請求項１に記載のデータ・ストレージ・ドライブ（３０）。
【請求項５】
前記識別されたパーティション（４２０）はランダム・アクセス・データ・セグメントの順次データ・セット（１７０〜１７６、１８５、１８６、１５０、１５１、４２１）を含んでおり、前記ランダム・アクセス・データ・ストレージ・メディア（２０、２５）は、類似のデータ・セットおよび／または別に構成されたデータ・セットを有する追加のパーティション（４２０）を含むことができ、前記読み取り／書き込み制御ユニット（３５）は、さらに前記順に構成されたパーティションをそれ自体として識別するインデックスを含む、請求項１に記載のデータ・ストレージ・ドライブ（３０）。
【請求項６】
前記データ・ストレージ・ドライブが複数の前記ホスト（３１０、３１２）に結合されており、ホストの個々の１つは書き込みアクセスのために前記論理アクセッサ（６０〜６５）の個々の１つに関連付けられており、前記読み取り／書き込み制御ユニット（３５）はさらに前記書き込みアクセスを前記複数の論理アクセッサの１つに割り当て、前記割り当ては前記書き込みアクセスのソースを含む前記ホストに関連付けられた前記論理アクセッサの１つに基づいており、前記識別されたパーティションが別の論理アクセッサによって現行でアクセスされていない場合にのみ前記割り当てがなされる、請求項１に記載のデータ・ストレージ・ドライブ（３０）。
【請求項７】
テープ・メディア（２０）および取り外し可能なランダム・アクセス・データ・ストレージ・メディア（２５）を格納し、取り出すための自動化されたデータ・ストレージ・ライブラリ（３００）において、前記取り外し可能なランダム・アクセス・データ・ストレージ・メディアの少なくとも１つは複数のデータ・セグメント（１７０〜１７６、１８５、１８６、１５０、１５１、４２１）を含むデータをストアし、前記データ・セグメントの少なくとも一部は少なくとも１つのパーティション（４２０）を含み、前記ライブラリは、
前記テープ・メディアを格納し、また前記取り外し可能なランダム・アクセス・データ・ストレージ・メディアをストアするための複数のストレージ・シェルフ（３４２）と、
複数のデータ・セグメントを含むデータをストアしている前記少なくとも１つの取り外し可能なランダム・アクセス・データ・ストレージ・メディアにストアされるデータに対する少なくとも１つのホスト（３１０、３１２）による同時読み取りおよび書き込みアクセスを提供するための請求項１ないし６のいずれかに記載の少なくとも１つのデータ・ストレージ・ドライブ（３０）と、
前記ストレージ・シェルフに前記テープ・メディアを格納し、取り出すため、また前記取り外し可能なランダム・アクセス・データ・ストレージ・メディアを格納し、取り出すため、また前記取り外し可能なランダム・アクセス・データ・ストレージ・メディアを前記データ・ストレージ・ドライブに挿入し／から取り外すための少なくとも１つのロボット（３５４、３５６）と、
前記ストレージ・シェルフに前記テープ・メディアを格納し、また取り出すように、また前記ストレージ・シェルフに前記取り外し可能なランダム・アクセス・データ・ストレージ・メディアを格納し、取り出すように、また前記取り外し可能なランダム・アクセス・データ・ストレージ・メディアを前記データ・ストレージ・ドライブに挿入し／から取り外すように、前記ロボットを操作するために、前記ロボットおよび前記データ・ストレージ・ドライブに結合されるライブラリ制御（３０２）と
を含む、自動化されたデータ・ストレージ・ライブラリ（３００）。
【請求項８】
取り外し可能なランダム・アクセス・データ・ストレージ・メディア（２０、２５）にストア可能なデータに対する少なくとも１つのホスト（３１０、３１２）による同時読み取りおよび書き込みアクセスを提供する方法において、前記データは、複数のデータ・セグメント（１７０〜１７６、１８５、１８６、１５０、１５１、４２１）を含み、前記データ・セグメントの少なくとも一部が少なくとも１つのパーティション（４２０）を含み、前記取り外し可能なランダム・アクセス・データ・ストレージ・メディアはデータ・ストレージ・ドライブ（３０）にアクセス可能／から取り外し可能であり、
それぞれが前記取り外し可能なランダム・アクセス・データ・ストレージ・メディアに対する読み取りアクセスおよび／または書き込みアクセスのために前記少なくとも１つのホストと通信するように構成されている複数の論理アクセッサ（６０〜６５）として前記データ・ストレージ・ドライブを構成するステップ（４５０）と、
前記パーティションの１つに対する前記論理アクセッサの１つの読み取りアクセスおよび／または書き込みアクセスに応答して、前記データ・セグメントの少なくとも１つが前記アクセスに対する前記パーティションを含んでいるものと識別するステップと、
前記論理アクセッサの１つにより前記識別されたパーティションの少なくとも１つのデータ・セグメントに対する書き込みアクセスが発生した際に、書き込みアクセスされたコンテキストを前記論理アクセッサの前記１つにロックして（２２５）、前記書き込みアクセスに対する前記識別されたパーティションの少なくとも前記１つのデータ・セグメントを前記書き込みアクセスされたコンテキストとして確立し、
前記書き込みアクセスがロックされた前記論理アクセッサの１つに対する前記書き込みアクセスされたコンテキストにアクセスするステップ（２３０）と、
前記書き込みアクセスがロックされた前記論理アクセッサの１つ以外の任意の論理アクセッサによる前記書き込みアクセスされたコンテキストに対する読み取りアクセスを防止し（２６９）、前記書き込みアクセスがロックされた前記論理アクセッサの１つ以外による前記取り外し可能なランダム・アクセス・データ・ストレージ・メディアの前記書き込みアクセスがロックされたパーティションの任意のデータに対する書き込みアクセスもさらに防止して、前記書き込みアクセスがロックされた前記論理アクセッサの１つ以外の前記論理アクセッサによる前記取り外し可能なランダム・アクセス・データ・ストレージ・メディアの前記データに対する読み取りアクセスおよび／または書き込みアクセスを同時に可能とするステップと、
前記書き込みアクセスがロックされた前記論理アクセッサの１つによる前記書き込みアクセスが完了した際に、前記書き込みアクセスがロックされた前記論理アクセッサの１つに対する前記書き込みアクセスされたコンテキストの前記ロックを解放するステップ（２４５）と
を含む方法。
【請求項９】
読み取りアクセスを同時に可能とする前記ステップが、前記論理アクセッサの１つによる読み取りアクセスが発生した際に、前記読み取りアクセスは、それに対してアクセスが防止されている前記データ以外のデータ・セグメントに対するものか否かを判定するステップ（２６３）と、判定結果が肯定の場合、読み取りコンテキストとして、前記アクセスに対して識別されたパーティションの少なくとも１つのデータ・セグメントを確立するステップ（２７５）をさらに含む、請求項８に記載の方法。
【請求項１０】
前記パーティションを識別する前記ステップが、さらに、前記少なくとも１つのホストによる順次アクセスのために順に前記パーティションの前記データ・セグメントを構成するステップを含み、また、前記書き込みアクセス・コンテキストに対する前記読み取りアクセスを防止して、読み取りアクセスを同時に可能とする前記ステップにおいて、さらに、前記書き込みコンテキストに前記順に続く任意のデータ・セグメントに対する読み取りアクセスも防止する、請求項８に記載の方法。
【請求項１１】
識別されたパーティションの前記データ・セグメントに書き込みアクセスする前記ステップが、さらに、
前記識別されたパーティションの前記データ・セグメントの次に続くセグメントに対する追加点を識別するステップと、
ランダム・アクセス・シーケンスで前記取り外し可能なランダム・アクセス・データ・ストレージ・メディアに追加されたデータを、前記識別されたパーティションのデータ・セグメントとして書き込むステップ（２３０）と、
前記識別されたパーティションの前記追加点で前記データ・セグメントの前記シーケンスで続けるように前記追加されたデータを識別するステップと
を含む請求項８に記載の方法。
【請求項１２】
前記識別されたパーティションはランダム・アクセス・データ・セグメントの順次データ・セットを含み、前記ランダム・アクセス・データ・ストレージ・メディアは、類似のデータ・セットおよび／または別に構成されたデータ・セットを有する追加のパーティションを含むことができ、前記順に構成されたパーティションをそれ自体として識別する、前記パーティションのそれぞれに対するインデックスを維持するステップをさらに含む、請求項８に記載の方法。
【請求項１３】
前記データ・ストレージ・ドライブが複数の前記ホストに結合されており、ホストの個々の１つは書き込みアクセスのために前記論理アクセッサの個々の１つに関連付けられており、さらに前記書き込みアクセスのソースを含む前記ホストに関連付けられた前記論理アクセッサの１つに基づいて、前記論理アクセッサの１つを書き込みアクセスに割り当てるステップを含み、前記識別されたパーティションが別の論理アクセッサによって現行でアクセスされていない場合にのみ前記割り当てがなされる、請求項８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、取り外し可能なカートリッジのような取り外し可能なデータ・ストレージ・メディアにストアされているデータに関し、より詳細には、磁気テープまたは光ディスク・データ・ストレージ・メディアの環境で取り外し可能なランダム・アクセス・データ・ストレージ・メディアにストアされているデータに対するアクセスを提供することに関する。
【背景技術】
【０００２】
一般にカートリッジの磁気テープを利用するテープ・データ・ストレージ・メディアは、大量のデータを効率よく記憶することで良く知られている。通常、複数のデータ・セットは、カートリッジの高いデータ記憶容量を利用するために単一カートリッジに共にストア、すなわち「スタック」される。さらに、通常、各データ・セットのデータは、少なくとも最初は、データの順次ストリングとして書き込まれ、データ・セットはデータのストリングの順次セットとして書き込まれる。
【０００３】
データは、通常、非ストリーミング方式で書き込まれるが、その場合、ホストが情報を処理し、書き込まれるべきデータをバッファーに充填する（fill）際にテープは停止され、次いで開始される。別の位置にアクセスするにはテープを巻き取り、または巻き戻す必要があり、元の書き込みプロセスでの待機は他の位置へのアクセス・タイムよりも遥かに短いので、書き込みと書き込みの間の時間中に別の書き込みプロセスまたは読み取りプロセスを使用することは実用的でない。
【０００４】
通常はカートリッジの光ディスクを使用する光ディスク・データ・ストレージ・メディアも、大量のデータを効率よくストア（記憶）する。ドライブ（drive）で実行中、ディスクは連続して回転するが、トラックからトラックへのアクセスは比較的遅い。したがって、データは、トラックが一杯になるまで、上記のように非ストリーミング方式で同じトラックまたは隣接するトラックの不連続なセクターに書き込まれる。したがって、ここでもまた、光ヘッドは他のトラックにアクセスする必要があり、元の書き込みプロセスの待機は他のトラックへのアクセス・タイムより遥かに短いので、書き込みと書き込みの間の時間中に別の書き込みプロセスまたは読み取りプロセスを使用することは実用的でない。
【０００５】
１つの構成では、各データ・セットは、それに割り振られたテープまたは光ディスク記憶容量の特定の連続した量を有することができる。したがって、データは、データ・セットに追加される際、以前に書き込まれたデータ・セットの終わりの「追加点（append point）」に書き込まれる。追加されたデータが割り振られた記憶容量を超えて続き、別のスタックされたデータ・セットがそれに続く場合、データはテープまたは光ディスク上の次に使用可能な位置に書き込まれる。別の構成では、各データ・セットに割り振られたテープまたは光ディスク・ストレージは可変であり、したがって、より効率的にストアされる。この場合、データは、別のスタックされたデータ・セットが後に続くデータ・セットに追加されるので、追加点は、実際にはテープまたは光ディスク上の次に使用可能な位置となる。
【０００６】
さらに、データ・セットが読み取られ、変更され、書き換えられる際は、テープまたは光ディスク上の元のデータ・セットと同じスペースにデータを再書き込みすることが望ましい。しかし、上記のように、再書き込みされるべきデータは、割り振られた記憶容量を超えて拡張する可能性があり、その場合、データ・セットは分割され、追加データはテープまたは光ディスクの次に使用可能な位置にストアされる。
【０００７】
通常、テープまたは光ディスク・カートリッジに対するアクセスは遅い。例えば、単一テープまたは光ディスク・ドライブは、ストレージからのテープまたは光ディスク・カートリッジの手動による取り出しを要求する場合がある。自動化されたデータ・ストレージ・ライブラリは、ストレージ・シェルフに大量のカートリッジを格納することができ、また、ストレージ・シェルフからカートリッジを取り出し、データ・ストレージ・ドライブにカートリッジをロード（挿入）し、それによりカートリッジの取り出しをスピードアップするロボットを有する。
【０００８】
一度カートリッジが取り出され、データ・ストレージ・ドライブに挿入されると、特定データ・セットに対する読み取りアクセスまたは書き込みアクセスは逐次的（sequential）になり、比較的遅くなる。テープは、ストアされている場合は、通常、「テープの先頭（beginning of tape）」または「ＢＯＴ」と呼ばれる所定ポイントまで巻き戻される。所望のデータ・セットにアクセスするために、テープは所望のデータ・セットの位置まで巻き取られ、次のデータ・セットに遭遇するまでデータが読み取られ、次いでテープはデータ・セットの追加点の位置まで巻き取られる。追加点までテープを巻き取っている間は所望のデータ・セットからデータを読み取ることができないので、テープの巻き取り中はデータ転送に割り込みがかけられる（中断される）。同様に、光ディスク・システムは、アクセスが行われる前にディスクの特定セクションでメディアにレーザーを初期化することを要求する。さらに、トラック間（track-to-track）からのランダム・アクセスは比較的遅く、したがって、追加点へのトラック間アクセス中はいかなるデータ転送にも割り込みがかけられる。したがって、多くのテープおよび光ディスク・システムは、データが単一の連続シーケンスであったかのように見えるようにデータを提示するために、大規模なデータ・バッファリング・システムを提供する。同じ問題が書き込みアクセス中にも発生するが、この場合、データは、通常、バッファリングされ、次いで様々な非連続位置で以前に読み取られたデータの上に書き込まれる。
【０００９】
米国特許出願第０９／９７０，８８１号では、データに対するアクセスをスピードアップする手段として、データは、カートリッジの「ハードな」磁気ディスクのような取り外し可能なランダム・アクセス・データ・ストレージ・メディアと、例えば取り外し可能なデータ・ストレージ・メディアの一部として自動化されたデータ・ストレージ・ライブラリに提供されているランダム・アクセス・メディアを読み取り、書き込むことのできる対応するデータ・ストレージ・ドライブとによってストアされる。上記文献に記載のように、「パーティション（partition）」は、連続している場合と連続していない場合のある、ランダム・アクセス・メディア上の順次または非順次の関連する一群のデータである。
【００１０】
ランダム・アクセス・データ・ストレージ・メディアは、より一般的にはセクターのような長さの短いデータのために使用され、例えば、所望のデータを含んでいるトラックに読み取り／書き込みヘッドを高速で移動することによってそのデータへの直接アクセスを提供する。
【００１１】
しかし、テープおよび光ディスク・システムは、無作為（ランダムに）というよりはむしろ連続的にデータを読み取り、書き込むよう設計されている。
【００１２】
さらに、所望のテープまたは光ディスクは一度に１つのホストにしか提供されない。これでは、テープまたは光ディスク上の様々な位置の間で前後に移動し、それによって複数の要求に対応するよう試みるようには機能できない。したがって、同じテープまたは光ディスク上のデータ・セットに対する同時（concurrent）要求は待ち行列に入れられ、逐次サービスを受ける。
【特許文献１】米国特許出願第０９／９７０，８８１号
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明の方法により磁気ディスクを含むカートリッジのような取り外し可能なランダム・アクセス・データ・ストレージ・メディア上のデータにアクセスするためにデータ・ストレージ・ドライブ、および自動化されたデータ・ストレージ・ライブラリを提供する。
【課題を解決するための手段】
【００１４】
取り外し可能なランダム・アクセス・データ・ストレージ・メディアにストアされているデータは複数のデータ・セグメントを含んでおり、そのデータ・セグメントの少なくとも一部は、テープまたは光ディスクの順次データをシミュレートする、パーティションと呼ばれる少なくとも１つの共通データ・ストリームを含む。取り外し可能なランダム・アクセス・データ・ストレージ・メディアは、データ・ストレージ・ドライブでアクセス可能であり、かつそこから取り外し可能である。データ・ストレージ・ドライブは、複数の論理アクセッサ（accessor）として構成されており、各論理アクセッサは、取り外し可能なランダム・アクセス・データ・ストレージ・メディアに対する読み取りアクセスおよび／または書き込みアクセスのための少なくとも１つのホストと通信するように構成されている。
【００１５】
制御は、パーティションの１つに対する論理アクセッサの１つの読み取りアクセスおよび／または書き込みアクセスに応答する。論理アクセッサの１つによるパーティションへの書き込みアクセスが発生した場合、制御は、書き込みアクセスされたコンテキスト（context）として、少なくともその書き込みアクセスに対して識別された（identified）パーティションのデータ・セグメントを確立し、書き込みアクセスされたコンテキストを書き込みアクセス論理アクセッサにロックする。制御は、次に読み取り／書き込みアクセス・ユニットを操作して、ロックされた書き込みアクセス論理アクセッサに対する書き込みアクセスされたコンテキストにアクセスする。
【００１６】
書き込みは不連続な方式で実行されるので、制御は、ロックされた書き込みアクセス論理アクセッサ以外のいかなる論理アクセッサによる書き込みアクセスされたコンテキストに対する読み取りアクセスをも防止し、パーティションに対して書き込みアクセスがロックされている論理アクセッサ以外によるロックされたパーティションのいかなるデータに対する書き込みアクセスをも防止し、ロックされた書き込みアクセス論理アクセッサによる書き込みアクセスが完了した際、ロックされた書き込みアクセス論理アクセッサに対する書き込みアクセスされたコンテキストのロックを解放して、ロックされた書き込みアクセス論理アクセッサ以外の論理アクセッサによる取り外し可能なランダム・アクセス・データ・ストレージ・メディアのデータに対する同時読み取りアクセスを可能にする。
【００１７】
データ・セットの任意のポイントで一度書き込みが行われると、書き込みが行われたポイントに続く残りのデータは、もはや、従来の順次デバイスの動作のように有効ではなくなる。したがって、本発明の一実施形態では、書き込みアクセスされたコンテキストは、現在の書き込みからデータ・セットの終わりまでのデータの合計量を含むデータ・セグメントを含むことができる。
【００１８】
本発明の別の態様では、読み取りランダム・アクセスされたデータ・セグメントはホストによる順次アクセス用に構成されている。
【００１９】
したがって、本発明は、異なるデータ・セットに対する同時アクセスを提供するためにランダム・アクセス・メディアの高速ランダム・アクセスを利用するよう、不連続な読み取りプロセスおよび書き込みプロセス中の待機期間を利用する。本発明はまた、ラウンド・ロビン（round robin）のような任意の方法または性能加重方式（performance weighted manner）でそのようなアクセスのタイム・シェアリングを可能にする。
【００２０】
次に、添付の図面を例示としてのみ参照して本発明を説明する。
【発明を実施するための最良の形態】
【００２１】
図１および２を参照すると、通常はカートリッジ２１内の磁気テープ２０を利用するテープ・データ・ストレージ・メディアは、大量のデータを効率よくストアすることでよく知られている。上記のように、光ディスク・データ・ストレージも同様に大量のデータをストアする。通常、複数のデータ・セットは、カートリッジの高いデータ記憶容量を利用するために単一カートリッジに共にストア、すなわち「スタック」される。上記のように、このテープまたは光ディスク・カートリッジに対するアクセスは遅く、一度テープ・カートリッジ２１が取り出され、データ・ストレージ・ドライブに挿入されると、テープ２０上の特定データ・セットに対する読み取りアクセスまたは書き込みアクセスは逐次的となり、比較的遅くなる。テープ２０は、縦方向（長手方向）に線形トラック２２を含んでおり、格納（store）されている場合は、通常、「テープの先頭」または「ＢＯＴ」と呼ばれる所定ポイントまで巻き戻される。所望のデータ・セットにアクセスするために、テープは所望のデータ・セットの位置まで巻き取られ、次のデータ・セットに遭遇するまでデータが読み取られ、次いでテープはデータ・セットの追加点の位置まで巻き取られる。テープ２０を巻き取っている間は所望のデータ・セットからデータを読み取ることができないので、テープ２０の巻き取り中にはデータ転送に割り込みがかけられる。光ディスク・システムも、トラック間に比較的遅いランダム・アクセスを提供する。したがって、多くのテープおよび光ディスク・システムは、単一の連続シーケンスであるかのようにデータを提供するために大規模なデータ・バッファリング・システムを提供する。データが通常バッファリングされ、新しいシーケンスとして書き込まれるか、または以前に読み込まれたデータ上に書き込まれる場合、書き込みアクセス中にも同じ問題が発生する。しかし、データ・セットは、めったにそのデータ・セットが置き換わるデータと同じ長さか、またはそれよりも短いことはない。したがって、別の以前に記録されたデータ・セットに遭遇した場合、書き込みは停止され、追加点となる新しい記録の追加用の位置が決定され、テープはデータ・セット用の追加点の位置まで巻き取られ、書き込みが続けられる。さらに、書き込みは不連続な方式で続けられるが、テープは書き込みと書き込みの間で停止する必要があり、光ディスクは書き込みと書き込みの間でスピン（spin）を続ける。
【００２２】
図３および４を参照すると、米国特許出願第０９／９７０，８８１号に記載のように、取り外し可能なデータ・ストレージ・メディアによってストアされるデータに対するアクセスをスピードアップする手段として、カートリッジ２６の「ハード」磁気ディスク２５のようなランダム・アクセス・メディアが、例えば自動化されたデータ・ストレージ・ライブラリに取り外し可能なデータ・ストレージ・メディアの一部として提供される。ランダム・アクセス・データ・ストレージ・メディアは、より一般的には、セクター２７に分割されている同心の円形トラックでそうであるように、長さの短いデータのために利用され、例えば所望のデータを含むトラックおよびセクターに読み取り／書き込みヘッドを高速に移動することによってそのデータへの直接アクセスを提供する。
【００２３】
上記のように、多くのテープおよび光ディスク・システムは、無作為（ランダム）というよりはむしろ連続的にデータを読み取り、書き込むよう設計されている。したがって、ランダム・アクセス・メディアがテープまたは光ディスク・データをストアするために利用されていたとしても、データにはテープまたは光ディスクと同じ方式でアクセスされそうな状態のままであり、したがって読み取りおよび書き込みアクセスはテープまたは光ディスクとランダム・アクセス・ストレージの両方にとって同じように見えることになる。
【００２４】
さらに、所与のテープまたは光ディスクは一度に１つのホストにしか提供されない。これでは、テープまたは光ディスクの様々な位置の間で前後に移動し、それによって複数の要求に対応するよう試みるようには機能できない。したがって、同じテープまたは光ディスク上のデータ・セットに対する同時要求は待ち行列に入れられ、逐次サービスを受ける。
【００２５】
図５は、図３のランダム・アクセス・データ・ストレージ・メディア２５上のデータを読み取り、かつ書き込むことのできるデータ・ストレージ・ドライブ３０を示している。米国特許出願第０９／９７０，８８１号では、ドライブ全体がカートリッジに含まれるのでデータ・ストレージ・ドライブは「転送機構（transfer station）」とも称されるが、転送機構はドライブを含むカートリッジをデータ転送インターフェースに提供するだけである。したがって、本明細書では、「データ・ストレージ・ドライブ」、「ドライブ」、「ランダム・アクセス・データ・ストレージ・メディア」、「携帯カートリッジ」、「取り外し可能なランダム・アクセス・データ・ストレージ・メディア」、「ランダム・アクセス・メディア」などの用語はすべて、ランダム・アクセス・データ・ストレージ・メディアに対してデータを読み取りおよび／または書き込みするためのデータ・ストレージ・ドライブを有するランダム・アクセス・データ・ストレージ・メディアの構成を意味する。図５で、ドライブ３０は、図３のランダム・アクセス・データ・ストレージ・メディア・カートリッジ２６を挿入し、そのカートリッジを読み取り／書き込みアクセス・ユニット３２によるアクセス用に開くためのロード／アンロード構成（load/unloadarrangement）３１を含んでいる。一例として、カートリッジは手作業で配信する（deliver）ことができ、または別の例では、カートリッジは自動化されたデータ・ストレージ・ライブラリにより配信することができる。読み取り／書き込みアクセス・ユニット３２は、読み取り／書き込み制御３５の制御下で所望のトラックまで読み取り／書き込みヘッドを高速に移動するための従来型サーボ・システムと、データを読み取り、書き込むための回路とを含むことができる。ＳＣＳＩインターフェースのような入出力ユニット３７は、コマンドを受け取り、そのコマンドを読み取り／書き込み制御に提供し、例えば１つまたは複数のホスト３１０、３１２に対してデータを受け取り、送るために読み取り／書き込み制御３５に結合される。
【００２６】
読み取り／書き込み制御３５は、コマンドを受け取り、読み取り／書き込みアクセス・ユニット３２を操作し、読み取りおよび／または書き込みのために図３および図４のランダム・アクセス・データ・ストレージ・メディア２５から特定のデータ・セグメントにアクセスするためにロジック（logic）４０およびメモリ４１を含む。本発明によれば、読み取り／書き込み制御３５は、内部構成もしくは外部または内部コマンドにより、複数の別個の論理ユニット４５〜４７に、またはＳＣＳＩ用語では「ＬＵＮ」に構成され、このそれぞれはホストによって個別にアドレス指定することができる。当業者には理解されようが、ホスト毎に各論理ユニットに対して仮想アドレスを提供することができる。各ホストおよびそれがアドレス指定した論理ユニットのそれぞれは、仮想アドレス経路（virtualaddress path）、すなわちＳＣＳＩ用語で「ネクサス（nexus）」を含む。本明細書では、各ホストおよびホストに結合された論理ユニットのそれぞれに対するネクサスまたは仮想アドレス経路は、「アクセッサ」６０〜６５または「論理アクセッサ」と定義される。仮想アドレス経路が利用されない場合、ＬＵＮまたは類似の論理構造のような論理ユニットも本明細書では「アクセッサ」または「論理アクセッサ」と定義する。したがって、この例では、ホストＨ１  ３１０と論理ユニット０  ４５の仮想アドレス経路はアクセッサ６０を含んでおり、ホストＨ２  ３１２と論理ユニット０  ４５の仮想アドレス経路はアクセッサ６１を含む（以下同様）。読み取り／書き込みアクセス・ユニット３２によってデータ・ストレージ・メディアから読み取られ、またはデータ・ストレージ・メディアに書き込まれるべきデータを、一時的にバッファー５０にストアし、構成することができる。バッファー５０は、例えば別個の固定長バッファーを含むことができ、または個別にアクセス可能な可変長バッファーとして構成することができる。
【００２７】
本発明の一実施形態によれば、各アクセッサ６０〜６５はバッファー５０のバッファー７０〜７５の１つに関連付けられており、これらアクセッサのどれか１つには以下で説明するように取り外し可能なランダム・アクセス・データ・ストレージ・メディアに対する読み取りアクセスおよび／または書き込みアクセスを割り当てることができる。
【００２８】
データ・ストレージ・ドライブ３０は、図６のマルチホスト・ライブラリ・システム３００のようなテープ・ライブラリ・システムのドライブを含んでいる。テープ・ライブラリ・システムの一例としてIBM 3494 Data Storage Libraryがある。テープ・ライブラリ・システムは、少なくとも２つのホスト３１０、３１２に接続を提供するライブラリ制御３０２と、テープ・ドライブ（図示せず）を含めて複数のストレージ・ドライブとを含むことができ、本発明の一実施形態により、それぞれがライブラリ内の格納および輸送用に携帯カートリッジに取り付けられている複数のドライブの１つを表すことのできる取り外し可能なランダム・アクセス・データ・ストレージ・ドライブ３０もテープ・ライブラリ・システム３００に取り付けられ、ライブラリ制御３０２によって接続されている。
【００２９】
ライブラリ制御に対するホスト接続３３０、３３２は、デバイス接続と同様に、例えばファイバー・チャネル、ＳＣＳＩ、またはシリアル・ストレージ・アーキテクチャ（ＳＳＡ）である。図１および図３のテープおよびランダム・アクセス・データ・ストレージ・メディアの両方であるデータ・ストレージ・メディアは、ライブラリ・ラック３５０に取り付けられたストレージ・シェルフ３４２に格納される。ロボット３５４、３５６はストレージ・シェルフ３４２の一部またはすべて、およびテープ・ドライブおよびドライブ３０の一部またはすべてに対するアクセス権を有する。ライブラリ制御３０２は、ホスト３１０、３１２とテープ・ドライブおよびドライブ３０の間でバス３６０、３６２を切り替える。ロボット３５４、３５６は、ストレージ・シェルフ３４２でテープ媒体２１を格納（store）し、取り出し、また、取り外し可能なランダム・アクセス・データ・ストレージ・メディア・カートリッジ２６を格納し、取り出し、かつ、取り外し可能なランダム・アクセス・データ・ストレージ・メディア・カートリッジをデータ・ストレージ・ドライブ３０に挿入し／から除去し、また、テープ・メディアをテープ・ドライブに挿入し／から除去する。ロボットは、テープ・メディアおよびランダム・アクセス・データ・ストレージ・メディアのどちらも移送するように構成しても、一種類のメディアしか取り扱わないように特化してもよい。
【００３０】
読み取り動作および／または書き込み動作が行われている間、ホスト３１０、３１２はテープ・ドライブおよびドライブ３０に接続され、ライブラリ制御３０２は複数のホストからの移動コマンド（movement command）を実行する。本発明によれば、上記のように、ドライブ３０に複数の仮想アドレスが、図５の各アクセッサ６０〜６５に少なくとも１つは提供される。ライブラリ制御３０２は、直接信号回線３２８を使用してアクセッサ６０〜６５またはドライブの仮想アドレスを変更することができる。当業者には周知のように、図１および３の各物理データ・ストレージ・メディアのボリューム、またはカートリッジ２６、２１は複数の論理ボリュームのデータを収めることができ、論理ボリュームの在庫表（inventorytable）またはマップ（map）は、ライブラリ制御３０２および／または関連付けられたホスト３１０、３１２のメディアに常駐させることができる。在庫表マップは、データ・ストレージ・ドライブにロードされる媒体を含めるようライブラリ制御に動的に更新される物理データ・ストレージ・メディアのボリューム２６、２１の物理・ストレージ・マップとは異なる。
【００３１】
ホスト接続３３０、３３２は、ライブラリ制御３０２の内部バス３８０とリンクするためにホスト・プロトコル回路３７０、３７２を介して行われる。内部バスは、メモリ３８２、プロセッサ３８６、ロジック３８８、およびロボット・バス３９０への接続を提供する。内部ロジック３８８は、複数のホスト３１０、３１２を複数のバス３６０、３６２を介して特定のテープ・ドライブおよびドライブ３０に動的に接続するスイッチ３９２を制御する。
【００３２】
本発明の一態様では、制御は、共通データ・ストリームの少なくともデータ・セグメントを、パーティションを含んでいるものと識別する。識別されたパーティションの少なくとも１つのデータ・セグメントに対する書き込みアクセス論理アクセッサによる書き込みアクセスが発生した場合、制御は「コンテキスト」と呼ばれるパーティションの一部を当該書き込みアクセス論理アクセッサにロックする。次いで制御は、書き込みアクセス論理アクセッサに対する取り外し可能なランダム・アクセス・データ・ストレージ・メディアでロックされたパーティションの書き込みアクセスされたコンテキストにアクセスする。制御は、そのパーティションをロックした書き込みアクセス論理アクセッサ以外の論理アクセッサによる同じパーティションまたは他のパーティションのロックされていない部分のデータに対する読み取りアクセスを同時に可能にし、書き込みアクセス論理アクセッサによる書き込みアクセスの完了時に、パーティションのコンテキストと書き込みアクセス論理アクセッサのロックを解除する。他の書き込みアクセス論理アクセッサは、取り外し可能なランダム・アクセス・データ・ストレージ・メディアの他の固有のパーティションを同時にロックすることができる。
【００３３】
パーティションは、メディア自体で管理されているフォーマット構成に従い識別し、追跡することができ、もしくはインデックス構造（index structure）に従い識別し、追跡することができる。
【００３４】
図７を参照すると、例えば図３および４のカートリッジ２６のハードディスク２５など、取り外し可能なランダム・アクセス・データ・ストレージ・メディア上で複数のセクター２７にデータをストアするためのフォーマット構成の配置が米国特許出願第０９／９７０，８８１号に記載のように示されている。
【００３５】
具体的には、データは３つのレベルの構成にストアされ、マップされる。第３のレベルは、各領域を異なるフォーマットとすることができるか、またはランダム・アクセス・メディア全体が１つのフォーマットの単一領域を含むことのできる領域１１０、１１１、１１２を含む。本発明に関する対象のフォーマットの１つのタイプは、テープのフォーマットを含んでいるが、他のフォーマットは様々なタイプの光ディスクまたはディスクを含むことができる。磁気テープ・カートリッジは、線形の順次フォーマットでデータをストアし、テープを１つのリールから巻き戻しもう一方のリールに巻き取ることによってデータにアクセスする。線形の順次フォーマットは、連続したデータ・ストリームを含むことができ、または可変長または他のフォーマットのデータ・ブロックを含むことができる。各領域は、そのデータの特定フォーマットに関連する識別領域を有しており、領域デバイス・ブロック・マップ「ＲＤＢＭ」１１５、１１６に提供され、図４の順次番号付けされた論理セクター２７に関連して提供される。データが、指定のフォーマットで、例えば論理ブロック１１８に書き込まれる。ＩＢＭ  ３５９０のような可変長の順次デバイス・ブロックを用いる磁気テープ・フォーマットなど、線形の順次フォーマットの場合、フォーマットの識別は、領域のすべてのデバイス・ブロックの開始点を含んでおり、領域デバイス・ブロック・マップ「ＲＤＢＭ」１２０に提供される。
【００３６】
第２のレベルの構成（construct）は、領域毎にヘッダー・エリア「ＧＤＢＭ」１２８と共に、少なくとも１つのグローバル・デバイス・ブロック要素「ＧＤＥ」１３０〜１３３を有するグローバル・デバイス・ブロック・マップ１２５を含んで、記録される。各グローバル・デバイス・ブロック要素は、図４の順次番号付けされた論理セクター２７に関して対応する領域に記録されているデータの境界線を特定する。ＧＤＥは、論理セクターに関して領域の開始点とサイズを示しており、例えば高速位置決めをするため、またはＲＤＢＭを再構築するためにフォーマット特有情報を含むことができる。ＧＤＢＭ  １２８の初期ヘッダー・エリアを備えたフォーマット・デバイス・ブロック・マップ「ＦＤＢＭ」１３９が提供される。「ＦＤＢＭ」１３９は、通常の使用中は未変更の状態で維持され、更新されず、各領域の開始点を識別する各ＧＤＥの最初の（initial）部分を含む。
【００３７】
第１のレベルの構成は、少なくとも１つのフォーマット識別子「ＦＩＤ１」１４１を含んで記録され、好適には、第２の冗長フォーマット識別子「ＦＩＤ２」１４２と共に記録される。フォーマット識別子はそれぞれに、図４の順次番号付けされた論理セクター２７に関して第２のレベル構成であるグローバル・デバイス・ブロック・マップの位置およびサイズを示すポインタを有する。
【００３８】
さらに図７を参照すると、線形の順次フォーマットのデータを限定的に対象とした別の実施形態では、第３のレベルの構成のような構成は、領域１１０〜１１２のような線形の順次フォーマットのデータを書き込み、読み取るための少なくとも１つの領域を含んで記録される。線形の順次フォーマットのデータは、書き込み、読み取るために可変長の順次デバイス・ブロック１５０〜１５１のストリームに構成される。各領域は、デバイス・ブロック１５０〜１５１を含んでいるフォーマット特有アドレス指定法と、図４の順次番号付けされた論理セクター２７に関する領域の間の関連を識別する領域デバイス・ブロック・マップ「ＲＤＢＭ」１２０を有する。
【００３９】
真性の（true）線形シーケンスを含んでいるように示したが、データおよび構成はランダム・アクセス・メディアに記録され、任意の適切な方法でトラック間、および図３のセクター２７間に分配される。
【００４０】
線形の順次フォーマット・データは、データ・セグメント１７０〜１７６のストリームにさらに構成される。米国特許出願第０９／９７０，８８１号では、データ・セグメントは「デバイス・パケット（device packet）」と称され、「ＤＰ」と呼ばれる。データ・セグメント１７０〜１７６は、デバイス・ブロックよりもサイズは大きくなく、デバイス・ブロック間の境界線をまたぐものは１つもない。さらに、デバイス・ブロックのデバイス・パケットのそれぞれ、例えばデバイス・ブロック１５０〜１５１に対して、デバイス・パケット・ヘッダー要素「ＰＨＥ」がデバイス・ブロック・ヘッダー「ＤＢＨ」１８０〜１８１内に提供される。この例では、データ・ストリームは、テープ論理ブロック「ＴＬＢ」１８５とテープ・サブブロック「ＴＳＢ」１８６を含んでいる。デバイス・パケットは、テープ・サブブロック１８６よりもサイズが大きくならないよう規定（define）されており、さらにはデバイス・ブロック間の境界線をまたがない。したがって、デバイス・パケット１７３はデバイス・ブロック１５０にあり、デバイス・パケット１７４はデバイス・ブロック１５１にあるようにデバイス・ブロック１５０とデバイス・ブロック１５１の間の境界線をまたがないよう、デバイス・パケット１７３と１７４はテープ・サブブロック１８６とテープ論理ブロック１８５を分割する。したがって、それぞれのデバイス・パケット・ヘッダー要素「ＰＨＥ」は、それぞれのデバイス・ブロック１５０および１５１のそれぞれのデバイス・ブロック・ヘッダー「ＤＢＨ」１８０および１８１にも提供される。デバイス・パケット・ヘッダー要素はそれぞれが、線形の順次フォーマットに関してデバイス・パケットの線形の順次フォーマット・データのインジケータを含む。
【００４１】
具体的な例として、テープ論理ブロック１８５は１つまたは複数のサブブロック１８６を有しており、１バイトよりも大きなサイズで変化することができ、サブブロック１８６は１つまたは複数のデバイス・パケットを有しており、テープ論理ブロック１８５のサイズから２５６ｋｂなどの特定の最大値まで、どちらでも小さい方にサイズが変化することができる。デバイス・パケットは、デバイス・ブロックの境界線をまたぐことを防止するためにサブブロック１８６を含んでいるか、またはサブブロックの一部であると定義される。
【００４２】
あるいは、本発明の「データ・セグメント」は、それぞれが領域（region）１１０〜１１２の一部を含んでいるテープ論理ブロック１８５、サブブロック１８６、またはデバイス・ブロック１５０〜１５１を含むことができる。
【００４３】
米国特許出願第０９／９７０，８８１号にも記載されているように、ランダム・アクセス・メディアを複数組の領域１１０〜１１２に構成することができる。一例として、一組の領域を関連データ用に確保することができる。本明細書では、一組の領域は「共通データ・ストリーム」または「パーティション」と称する。
【００４４】
米国特許出願第０９／９７０，８８１号では、一組の領域または１つの「パーティション」は、パーティション識別子を有し、パーティションの各領域には領域シーケンス番号が与えられる。ＧＤＢＭ  １２５にストアされている領域毎にパーティション識別子および領域シーケンス番号がＧＤＥ  １３０〜１３３に提供される。
【００４５】
したがって、パーティションに対するパーティション識別子は容易に識別することができ、パーティション内の１つの領域の位置は領域シーケンス番号により識別することができ、その結果、パーティションを追跡し、維持することができる。
【００４６】
本発明の一実施形態によれば、図８を参照すると、維持しているパーティションおよび関連付けられた制御情報の代替形式が示されている。したがって、インデックス４１０が提供されており、図３および図４の取り外し可能なランダム・アクセス・データ・ストレージ・メディア２５上にストアすることができ、パーティションの各データ・セグメント４２１に対するパーティション４２０を識別する。
【００４７】
上記のように、データ・ストリームは必要な大きさのスペースに一度に連続したシーケンスで書き込むことができない。そうではなく、テープまたは光ディスクでのように、各データ・セットは、それに割り振られた記憶容量の特定の初期順次量を、有することができる。したがって、データは、データ・セットに追加される際、以前に書き込まれたデータ・セットの終わりの「追加点」に書き込まれる。追加されたデータが割り振られたストレージの長さを超えて続き、割り振られたストレージの長さの直後に別のスタックされたデータ・セットが続くならば、データは次に使用可能な位置に書き込まれる。
【００４８】
上記のように、構成（construct）は、必ずしも線形方式で記録される必要はなく、したがって追加点をランダム・アクセス・メディアの任意の適切なランダム・アクセス位置に提供することができる。
【００４９】
さらに、データ・セットが読み取られ、変更され、再書き込みされる際、データを元のデータ・セットと同じスペースに再書き込みすることが望ましい。しかし、上記のように、再書き込みされるべきデータは、割り振られた記憶容量を超えて拡張する場合があり、データ・セットは分割されて、追加のデータは使用可能な位置にストアされる。
【００５０】
一例として図８を参照すると、パーティションは、例えばシーケンス（sequence）４２２を有する一連のデータのセグメントを含むことができるが、その中でセグメントのシーケンスは上記の領域シーケンス番号と組み合わせて領域内のシーケンスを含んでいる。位置アドレス４２３は、データ・ストリームの第１のセグメントのランダム・アクセス・マップされたアドレスを含んでおり、データ・ストリームのシーケンス４２２の各後続セグメントの追加点を含んでいる。本明細書では、パーティションは、単一領域内に提供されるデータ・ストリームを含むこともできる。
【００５１】
本発明によれば、データ・ストリームのテープまたは光ディスク順次構成は、読み取りアクセスされた非順次書き込みデータ・セグメント、例えば図７のデバイス・パケット１７０〜１７６をホストによる順次アクセス用に構成することによってシミュレートされる。一実施形態（Ａ）では、データはアクセスの最も効率よい順番、例えばデータ・セグメントのランダム・アクセス順に読み取られ、データはアクセスされたシーケンスでバッファー、例えば図５のバッファー５０にストアされ、次いで、バッファー内のシーケンスで例えばポインタによって配置される。別の実施形態では、データ・セグメントは取り外し可能なランダム・アクセス・データ・ストレージ・メディア２５の実際の線形シーケンスでアクセスされ、バッファー５０に順にストアされる。
【００５２】
この手順は、データを取り外し可能なランダム・アクセス・データ・ストレージ・メディア２５に書き込む場合は逆順で行われる。
【００５３】
さらに図５および６を参照すると、本発明の一態様において、ホスト・システム３１０、３１２は特定のアクセスのためにＬＵＮを選択し、制御、例えば制御３５はＬＵＮ４５〜４７と、したがってアクセッサ６０〜６５の割り当てを行う。この割り当て（assignment）はアクセス毎に変更しても、または割り当てをホストなどへの接続期間用としてもよい。制御３５は、識別されたパーティションに対する複数アクセッサのうちの１つのアクセッサの読み取りアクセスおよび／または書き込みアクセスに、そのアクセスに対してそのパーティションの少なくとも１つのデータ・セグメントを識別することにより応答する。
【００５４】
パーティションの１つまたは複数のデータ・セグメントに対する、書き込みアクセス論理アクセッサ、例えば図５のアクセッサ「Ｈ１／Ｌ０」６０による書き込みアクセスが発生した場合、制御３５は、書き込みアクセス用の識別されたパーティションの少なくとも１つのデータ・セグメントを書き込みアクセスされたコンテキストとして確立する。制御は、書き込みアクセスされたコンテキストを書き込みアクセス論理アクセッサにロックする。
【００５５】
本明細書の「コンテキスト」という用語は、単一データ・セグメントを含むことができるか、またはデータ・セグメントのグループを含むことができる。具体的には、上記のように、再書き込み中のデータ・セットの任意のポイントで一度書き込みが行われると、書き込みが行われるポイント以後の残りのデータは変更され、現在の保全性（integrity）を失う可能性がある。したがって、本発明の一実施形態では、書き込みアクセスされたコンテキストは、現在の書き込みからデータ・セットの終わりまでのデータの全量を含むデータ・セグメントを含むことができる。
【００５６】
上記のように、図７に関して、本発明の「データ・セグメント」は、デバイス・パケット１７０〜１７６、テープ論理ブロック１８５、サブブロック１８６、またはデバイス・ブロック１５０〜１５１を含むことができ、これらはそれぞれに領域１１０〜１１２の一部を含んでいる。
【００５７】
次いで制御は、使用可能なスペース、例えばデータ・セグメント１７０〜１７６にデータを書き込むために書き込みアクセスされたコンテキストにアクセスするよう読み取り／書き込みアクセス・ユニット３０を操作する。
【００５８】
本発明によれば、書き込みは不連続な方式で行われるので、制御は、取り外し可能なランダム・アクセス・データ・ストレージ・メディアのデータに対する論理アクセッサ、例えば図５のロックされた書き込みアクセス論理アクセッサ「Ｈ１／Ｌ０」６０でなく図５の論理アクセッサ「Ｈ２／Ｌ０」６１および「Ｈ１／Ｌ２」６４のユニット「ＬＵＮ  １」４６および「ＬＵＮ  ２」４７による読み取りアクセスを同時に可能にすることにより同時アクセスを提供する。
【００５９】
磁気ディスク・ドライブのような典型的なランダム・アクセス・メディアはヘッドを１つしか有しないので、同時（並行）アクセスは同時発生であることはできない。そうでなく、書き込みと書き込みの間の待機期間に、ヘッドは１つ以上の読み取りアクセス・データ・セグメントにアクセスし、次いで不連続な書き込みプロセスの次の位置にアクセスする。
【００６０】
したがって、本明細書では、「同時（concurrent）」および「同時に（concurrently）という用語は、別のアクセスと同時発生ではないが同じ時点で動作中の１つのアクセスを含むものと定義される。
【００６１】
制御３５はさらに、書き込みアクセスがロックされた論理アクセッサ、例えば「Ｈ１／Ｌ０」６０以外の任意の論理アクセッサ、例えば図５のアクセッサ６１〜６５による、書き込みアクセスされたコンテキストに対する読み取りアクセスをも防止し、書き込みアクセスがロックされた論理「Ｈ１／Ｌ０」６０以外による取り外し可能なランダム・アクセス・データ・ストレージ・メディアのパーティションの任意のデータに対する書き込みアクセスをも防止する。
【００６２】
アクセスが現在のコンテキストから別のコンテキストに順番に続く場合、そのコンテキストは、例えば次のデータ・セグメントなどに前進し、ロックは新しいコンテキストに変更される。現在の書き込みからデータ・セットの終わりまでのデータの全量を含むデータ・セグメントを書き込みアクセスされたコンテキストが備えている本発明の実施形態では、次のコンテキストはパーティションの次のデータ・セットを含むことができる。
【００６３】
書き込みアクセス論理アクセッサによる書き込みアクセスが完了した際、制御は、図５の割り当てられた書き込みアクセス論理アクセッサ「Ｈ１／Ｌ０」６０へのコンテキストのロックを解放する。
【００６４】
本発明による方法の実施形態を図９〜１１に示す。
【００６５】
図５、６、９を参照すると、ステップ４５０で、各論理ユニットをホスト３１０、３１２と通信するよう構成して、複数の論理ユニット４５〜４７が提供される。論理ユニットまたはＳＣＳＩ用語で「ＬＵＮ」は、データ・ストレージ・ドライブ３０の読み取り／書き込み制御３５内に固定させて構成することができ、または読み取り／書き込み制御３５の要求通りに、またはライブラリ制御３０２からのコマンドの結果として構成することができる。ランダム・アクセス・データ・ストレージ・ドライブ３０には、論理ユニット４５〜４７のそれぞれに少なくとも１つの、いくつかの仮想アドレスが提供されるが、さらなる仮想アドレスを、論理アクセッサ６０〜６５を形成して、各ホストに論理ユニット毎に提供することができる。ライブラリ制御３０２は、論理ユニット４５〜４７、論理アクセッサ、または直接信号回線３２８を使用したドライブの仮想アドレスを変更することができる。
【００６６】
ステップ４５３および４５５は、ホストからの読み取り／書き込みアクセス要求を含むことのできるアクセス要求に応じたアクセッサの典型的な動的割り当てを表す。ステップ４５５で、アクセッサがアクセス要求に割り当てられる。ロックされる提案されたコンテキストに読み取りアクセッサが現行で配置されている場合、または別の書き込みアクセッサが同じパーティション内のロックのどれかを現在保持している場合に、書き込みアクセスが試されたとすると、書き込みコマンドと試されたアクセッサ割り当てはホストに対して失敗する（fail）。あるいは、上記のように、割り当ては固定であっても、長期ベースで行われてもよい。
【００６７】
ホストがデータに対して作業する際、ホストが一連の読み取りアクセスおよび／または書き込みアクセスを順次要求する可能性がある。したがって、アクセッサが一度割り当てられると、割り当てられたアクセッサを介したアクセスは、ホストが、例えばパーティションを取り扱っている時間中続けることができる。
【００６８】
その後、ステップ４６０で、選択されたランダム・アクセス・データ・ストレージ・メディア２５、２６は、そのストレージ・シェルフ３４２からロボット３５４、３５６によりデータ・ストレージ・ドライブ３０に提供され、ロード／アンロード構成３１により挿入される。メディア２６は、ホストによって選択される論理ボリュームを含む物理ボリュームとしてホストにより選択しても、またはライブラリ制御３０２により選択してもよい。
【００６９】
図７を参照し、米国特許出願第０９／９７０，８８１号に記載されているように、図９のステップ４６５では、所望のデータのパーティションを識別するためにＧＤＢＭ  １２５が検査される。各領域に、またパーティションの領域に少なくとも１つのＧＤＥ  １３０〜１３３が提供されるが、ＧＤＥはパーティション識別子とパーティション内の領域の領域シーケンス番号を含んでいる。あるいは、さらに図８を参照すると、インデックス４１０が図９のステップ４６５で読み取り／書き込みアクセス・ユニット３２によりメディア２５から読み取られ、インデックスはデータ・ストレージ・ドライブ３０の読み取り／書き込み制御３５によりストアされる。
【００７０】
ホストまたはライブラリ制御は、データ・ストリームの少なくとも１つのセグメントに対する読み取りアクセスおよび／または書き込みアクセスを既に要求していることになる。要求がデータ・セグメントまたはデータ・ストリームを読み取ることを求める要求である場合、データは１つのパーティションとして識別される。書き込まれるべきデータ・ストリームは、既存のデータ・ストリームの上書き、既存のデータ・ストリームに対する追加、または新しいデータ・ストリームであり得る。データ・ストリームが既存のデータ・ストリームに対する上書きまたは追加を含んでいる場合、そのパーティションが識別される。データ・ストリームが新しい場合、新しいパーティションが作成される。したがって、さらに図７を参照すると、ステップ４６５は、共通データ・ストリームの少なくともそのデータ・セグメント（例えば、デバイス・パケット１７０〜１７６）に対してそのパーティションを識別または生成することを含む。図８のインデックス４１０または図７のフォーマットは、各セグメントの物理位置４２３およびセグメントのシーケンス番号４２２も提供する。
【００７１】
図５、６、および１０を参照し、選択されたランダム・アクセス・データ・ストレージ・メディア２６がデータ・ストレージ・ドライブ３０に挿入されていると仮定すると、ホスト３１０、３１２、またはライブラリ制御３０２は、ステップ２００で、論理アクセッサ６０〜６５のアドレスを用いて、挿入されたメディアに対する書き込みアクセスを要求する。ステップ２０３で、一度に１つの論理アクセッサしか各パーティションに対する書き込みアクセスが可能でないので、ステップ２０３は、所望の論理アクセッサに対して書き込みアクセスが使用可能か否かを判定する。一例として、要求側の論理アクセッサでない別の論理アクセッサを同じパーティションに対する書き込みアクセスに割り当てることができる。書き込みアクセスが使用可能でない場合、ステップ２０５では書き込みアクセスが失敗したというメッセージが送られる。要求側エージェント（agent）は、その後、同じまたは異なる論理アクセッサでその要求を繰り返し、異なるパーティションに変更し、再試行することができ、またはその要求を繰り返す前に論理アクセッサのステータスについて照会することができる。
【００７２】
さらに図７および８を参照すると、論理アクセッサが書き込みアクセスを既に認可されている場合、ステップ２０７で、ＧＤＥ  １３０〜１３３またはインデックス４１０は、所望のスペースを割り振るために、上記のようにそれが一時的にまたは継続的にストアされているデータ・ストレージ・ドライブ３０の読み取り／書き込み制御３５によって検査される。書き込みを実行することが要求される任意の追加のスペースでもＧＤＥ  １３０〜１３３またはインデックス４１０から再利用する（reclaim）ことができ、または新しいＧＤＥまたはインデックス・エントリを論理フォーマットに従い割り振ることができる。
【００７３】
あるパーティションで読み取りアクセスが実行されている場合、同時書き込みアクセスは、書き込み中のパーティションの部分内およびこれに続くデータの無効な一部またはすべてをレンダリング（rendering）する可能性があり、その読み取りを無効とレンダリングする。したがって、ステップ２０８は、そのロックされるべきパーティションに（任意選択でそのパーティションのエリアに）読み取りアクセスが配置されているか否かを判定する。配置されている場合、ステップ２０９で、そのロックと衝突しているというメッセージが送られる。このメッセージは、ステップ２０５に類似したアクセス失敗としてホストに報告することができ、ホストは上記と同じ選択肢（option）を有する。
【００７４】
パーティションが使用可能な場合、そのパーティションのコンテキスト（図９のステップ４６５から）は、図７のＧＤＥ１３０〜１３３または図８のインデックス４１０を用いてステップ２１０で決定される。例えば、コンテキストがそのパーティション内にセグメントを含んでいる場合、そのセグメント４２３の位置が特定される。コンテキストが一群のセグメントを含んでいるか、もしくは上記のように書き込まれるべきセグメントおよび書き込み中のデータ・セグメントに続くデータ・セットの残りのセグメントのすべてをコンテキストが含んでいる場合、そのセグメントのパーティション４２０が識別され、次いでそのパーティションのそのグループまたはデータ・セットに対するすべてのデータ・セグメントがそれらのセグメントのシーケンス４２２と共に決定される。
【００７５】
ステップ２２０で、各パーティションに対して一度に１つしかコンテキストをロックすることができないので、図９のステップ４５３および４５５で書き込みアクセスを許可した論理アクセッサがある書き込みアクセスから別の書き込みアクセスに切り替わるとするならば、制御、例えば読み取り／書き込み制御３５は、新しく要求されたパーティションに対して既存のロックがあるか否か、すなわち別のホスト等がそのコンテキストまたはそのコンテキストの一部に対する書き込みアクセスを現在有しているか否かを判定する。
【００７６】
あるいは、メディアのコンテキストは一度に１つしかロックすることができず、ステップ２２０は任意のメディアのコンテキスト対して既存のロックがあるか否かを判定する。
【００７７】
どちらの場合も、判定結果が肯定の場合は、ステップ２２２で制御３５により書き込みアクセスが失敗し、再試行はホストにより管理されなければならない。
【００７８】
他のロックが配置されていない場合、パーティション４２０の、ステップ２６０で定義されたコンテキストは、ステップ２２５で割り当てられた書き込みアクセス論理アクセッサにロックされる。一例としてさらに図５および７を参照すると、論理アクセッサ６０は書き込みアクセスを既に割り当てており、データ・セグメント１７０〜１７３のコンテキストにロックされている。
【００７９】
本発明によれば、制御は、それぞれの書き込みアクセスがロックされた論理アクセッサ、例えば、論理アクセッサ「Ｈ１／Ｌ０」６０以外の任意の論理アクセッサ・ユニットによる任意の書き込みアクセスされたコンテキストに対する読み取りアクセスをも防止し、また書き込みアクセスがロックされた論理アクセッサ以外による、取り外し可能なランダム・アクセス・データ・ストレージ・メディアのそれぞれのロックされたパーティションのいかなるデータに対する書き込みアクセスをも防止して、取り外し可能なランダム・アクセス・データ・ストレージ・メディアのデータに対する他の論理アクセッサ、例えばアクセッサ「Ｈ２／Ｌ０」６１および「Ｈ１／Ｌ２」６４による読み取りアクセスを同時に可能にする。
【００８０】
次いで制御は、ステップ２３０で、データをセグメント、例えば図７のデータ・セグメント１７０〜１７３としてランダム・アクセス・データ・ストレージ・メディアに任意の追加点を用いて書き込むために、ロックされたコンテキストの書き込みアクセスされたデータ・セグメントにアクセスするよう読み取り／書き込みアクセス・ユニットを操作する。当業者には周知のように、追加点は、通常、データおよびフォーマット制御構造のヘッダー、すなわち図７のＧＤＢＭ  １２８およびＧＤＥ１３０〜１３３、または図８のテーブル４１０内で識別される。
【００８１】
具体的には、制御は、識別されたパーティションの次の順次セグメントに対する追加点を識別し、その追加されたデータを識別されたパーティションのデータ・セグメントとしてランダム・アクセスの順に書き込み、識別されたパーティションの追加点でそのデータ・セグメントのシーケンスを続けながら追加されたデータを識別する。
【００８２】
コンテキストのデータが書き込み中か、またはコンテキスト・データ・ストリームのデータがすべて既に書き込まれているので、更新されたパーティションの書き込まれたセグメントを識別するためにコンテキストの位置またはステータスがステップ２３３で更新される。
【００８３】
データ・ストリームは、書き込みアクセス論理アクセッサに関連付けられたバッファー、例えば図５のバッファー７０および論理アクセッサ６０のデータ・セグメントを構成することにより、テープまたは光ディスク順次構成をシミュレートするために読み取り／書き込みアクセス・ユニット３２により書き込むことができる。一実施形態では、データはバッファーからランダム・アクセス・データ・ストレージ・メディアに最も効率よいアクセスのシーケンスで書き込まれるが、順次構成は米国特許出願第０９／９７０，８８１号のマッピングの手段によりシミュレートされる。別の実施形態では、データ・セグメントはバッファーから取り外し可能なランダム・アクセス・データ・ストレージ・メディア２５に連続したシーケンスで書き込まれる。
【００８４】
書き込み中のデータ・ストリームは、既存のデータ・ストリームと置き換えるか、または追加することができるが、追加される場合は以前に書き込まれたデータの終わりの追加点に書き込まれる。追加点は、例えば図７のデバイス・ブロック１５０、１５１の開始を含むようにマップされる。
【００８５】
ステップ２４０は、パーティションに対する書き込みアクセスの書き込み動作が完了しており、インデックスが更新されているか否かを判定する。判定結果が否定の場合、ステップ２４１は書き込み動作をそのパーティション内の次のコンテキストに進め、ステップ２２５は次のコンテキストをロックし、ステップ２３０および２３３は次のコンテキストのデータの書き込みを続ける。書き込みアクセス論理アクセッサによる書き込みアクセスが完了した際、制御は、ステップ２４５で、コンテキスト、例えば図７のセグメント１７０〜１７３の、割り当てられた書き込みアクセス論理アクセッサ、例えば図５の「Ｈ１／Ｌ０」６０へのロックを解除し、ステップ２４７で次のコマンドに進む。
【００８６】
上記のように、本発明によれば、制御は、取り外し可能なランダム・アクセス・データ・ストレージ・メディアのデータに対する論理アクセッサ、例えば図５の論理アクセッサ「Ｈ２／Ｌ０」６１、「Ｈ１／Ｌ１」６２などによる書き込みアクセスを同時に可能にする。また、制御は、取り外し可能なランダム・アクセス・データ・ストレージ・メディアのデータに対する複数の論理アクセッサによる上記ロック方法による書き込みアクセスを同時に可能にする。
【００８７】
読み取りアクセスの一実施形態が図１１に示されているが、これは読み取りアクセスが論理アクセッサ、例えば図５の論理アクセッサ６０〜６５の１つで要求されるステップ２５０から始まる。さらに図５〜８を参照すると、ステップ２５５で、ＧＤＢＭ  １２５またはインデックス４１０は、要求されたコンテキストがメディア内にあり、有効であるか否かを判定するために、データ・ストレージ・ドライブ３０の読み取り／書き込み制御３５によって検査される。要求は、パーティション４２０全体または特定のデータ４２１を含むことができ、単一データ・セグメントまたは完全なデータ・ストリームを含むことができる。誤ったセグメントなどが要求された場合、または要求されたデータが有効でない場合、ステップ２５８で有効なデータがないというメッセージが送られる。
【００８８】
データ、位置、パーティションなどが有効である場合、ステップ２６０でＧＤＥ１３０〜１３３またはインデックス４１０を用いてパーティションのコンテキストが決定される（図９のステップ４６５から）。例えば、コンテキストがパーティションのセグメントを含んでいる場合、そのセグメント４２３の位置が特定される。コンテキストが一群のセグメントまたはデータ・セットを含んでいる場合、そのセグメントのパーティション４２０が識別され、次いでそのグループのすべてのセグメントまたはそのパーティションのデータ・セットがそれらセグメントのシーケンス４２２と共に決定される。
【００８９】
ステップ２６３で、制御、例えば読み取り／書き込み制御３５は、そのコンテキストに対する既存のロックがあるか否か、すなわち要求されたコンテキストまたはそのコンテキストの一部に対する書き込みアクセスに対して書き込みアクセスを有する論理アクセッサ、例えば論理アクセッサ６０がロックされているか否かを判定する。判定結果が肯定の場合、ステップ２６９で読み取りアクセスは制御により失敗となり、ロックに遭遇したという報告が行われる。任意の再試行はホストによって管理されなければならない。
【００９０】
順次フォーマットの実施態様では、順次読み取りまたは明示的再配置がホストに対して失敗するので、現行でロックされているコンテキストにトラバース（traverse；全探索）すること、またはこの中に論理的に配置することは可能でない。したがって、ステップ２６９でロックとの遭遇は特化した「データ応答の終わり」として報告することができる。
【００９１】
要求されたコンテキストに対してロックが配置されていない場合、ステップ２７５でパーティションが読み取り／書き込みアクセス・ユニット３２により読み取られる。本発明によれば、ステップ２７７でデータ・ストリームのテープまたは光ディスク順次構成は、ホストによる順次アクセスのためにランダム・アクセスされたデータを所望のシーケンスに構成することによりシミュレートされる。識別されたパーティションのデータ・セグメントに読み取りアクセスする際、制御は、いかなる書き込み追加データでも識別されたパーティションとしてさらに識別する。
【００９２】
したがって、ステップ２７５で、コンテキストのデータ・セグメントは、ランダム・アクセス・メディアのランダム・アクセスおよびバッファー、例えばバッファー５６にストアされているデータのアクセスされる際の最も効率よいシーケンスで読み取ることができ（Ａ）、次いでステップ２７７で、バッファー内のシーケンスに、例えばポインタによって構成される。
【００９３】
データ・ストリームのデータ・セグメントのシーケンスは、図７のＧＤＥ１３０〜１３３または図８のインデックス４１０のシーケンス番号４２２により決定される。共通データ・ストリームの第１のデータ・セグメントの位置、および後続セグメントのそれぞれに対する追加点の位置は、ＧＤＥにより、またはインデックス４１０の位置アドレス４２３により提供される。
【００９４】
別の実施形態（Ｂ）では、データ・セグメントは、取り外し可能なランダム・アクセス・データ・ストレージ・メディア２５でテープまたは光ディスク・シーケンスで、例えば米国特許出願第０９／９７０，８８１号のマッピングを用いてアクセスされ、バッファー５６に順にストアされる。
【００９５】
一度構成されると、ステップ２８０で、要求側のホスト・システム３１０、３１２またはライブラリ制御３０２のために、制御は、読み取りアクセス論理アクセッサに対する読み取りアクセスを提供する。ステップ２８５は、要求のデータ・ストリーム全体が既に読み取られているか否かを判定する。読み取られていない場合、ステップ２８６は読み取り動作をパーティション内の次のコンテキストに進め、ステップ２６３は次のコンテキストがロックされているか否かを判定し、ステップ２７５、２７７、および２８０は引き続きそのパーティションのデータを読み取る。読み取りアクセス論理アクセッサによる読み取りアクセスが完了した際、ステップ２８７で制御は次のコマンドを、例えばホストから受け取る。
【００９６】
したがって、本発明は、一意に識別されるパーティションの少なくとも１つのデータ・セグメントからなる１つまたは複数の書き込みアクセスされたコンテキストを書き込みアクセス論理アクセッサにロックして、ランダム・アクセス・メディアにストアされているシミュレートされた順次データに対する同時読み取りおよび書き込みアクセスを提供し、また読み取り／書き込みアクセス・ユニットは、ロックされた書き込みアクセス論理アクセッサ用に書き込みアクセスされたコンテキストにアクセスする。
【００９７】
読み取りまたは書き込みメディア・アクセスは不連続な方式で行われるので、それぞれの書き込みアクセスがロックされた論理アクセッサ以外の任意の論理アクセッサによる書き込みアクセスされたコンテキストに対する読み取りアクセスをも防止し、また別の論理アクセッサによる書き込みアクセスされたコンテキストを有するパーティション内の任意のデータに対する書き込みアクセスをも防止して、取り外し可能なランダム・アクセス・データ・ストレージ・メディアのデータに対して、ロックされた書き込みアクセス論理アクセッサ以外の複数の論理アクセッサによる同時読み取りおよび書き込みアクセスが提供される。
【００９８】
したがって、本発明は、異なるデータ・セットに対する同時アクセスを提供するために、ランダム・アクセス・メディアの高速ランダム・アクセスを利用するよう、不連続な読み取りおよび書き込みプロセス中の待機期間を利用し、取り外し可能なランダム・アクセス・データ・ストレージ・メディアのデータに対する少なくとも１つのホストによるシミュレートされたテープまたは光ディスク順次アクセスを提供する。
【００９９】
当業者には、別のマッピング構成を利用することができ、ＬＵＮおよびランダム・アクセス・データ・ストレージ・メディアの別の構成を利用することもできるということが理解されよう。
【図面の簡単な説明】
【０１００】
【図１】従来技術のテープ・カートリッジを示す図である。
【図２】従来技術のテープ・カートリッジの磁気テープを示す図である。
【図３】従来技術のディスク・カートリッジを示す図である。
【図４】従来技術のディスク・カートリッジのハード磁気ディスクを示す図である。
【図５】本発明に従って構成されたディスク・ドライブを示すブロック図である。
【図６】本発明に従って構成された自動化されたデータ・ストレージ・ライブラリを示すブロック図である。
【図７】本発明と共に利用される図３および４のランダム・アクセス・データ・ストレージ・メディアのようなランダム・アクセス・データ・ストレージ・メディアのパーティションおよびデータ・セグメントを識別するフォーマット構成を示す図である。
【図８】本発明に従って、代わりに利用することのできるインデックスを示す図である。
【図９】本発明の方法の実施形態を示す流れ図である。
【図１０】本発明の方法の実施形態を示す流れ図である。
【図１１】本発明の方法の実施形態を示す流れ図である。
【図１】
2005515535.tif 000003
【図２】
2005515535.tif 000004
【図３】
2005515535.tif 000005
【図４】
2005515535.tif 000006
【図５】
2005515535.tif 000007
【図６】
2005515535.tif 000008
【図７】
2005515535.tif 000009
【図８】
2005515535.tif 000010
【図９】
2005515535.tif 000011
【図１０】
2005515535.tif 000012
【図１１】
2005515535.tif 000013
【国際調査報告】
2005515535.tif 000014
2005515535.tif 000015