JP5785484B2 - テープ媒体に格納されたデータのアクセス・シーケンスを決定するための方法、システム、およびコンピュータ・プログラム - Google Patents

テープ媒体に格納されたデータのアクセス・シーケンスを決定するための方法、システム、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP5785484B2
JP5785484B2 JP2011259463A JP2011259463A JP5785484B2 JP 5785484 B2 JP5785484 B2 JP 5785484B2 JP 2011259463 A JP2011259463 A JP 2011259463A JP 2011259463 A JP2011259463 A JP 2011259463A JP 5785484 B2 JP5785484 B2 JP 5785484B2
Authority
JP
Japan
Prior art keywords
access sequence
data group
data
groups
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011259463A
Other languages
English (en)
Other versions
JP2012128937A (ja
Inventor
豊 大石
豊 大石
隆司 ▲片▼桐
隆司 ▲片▼桐
浩一 中山
浩一 中山
摂子 増田
摂子 増田
祐子 森
祐子 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2012128937A publication Critical patent/JP2012128937A/ja
Application granted granted Critical
Publication of JP5785484B2 publication Critical patent/JP5785484B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0682Tape device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/107Programmed access in sequence to addressed parts of tracks of operating record carriers of operating tapes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/54Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head into or out of its operative position or across tracks
    • G11B5/55Track change, selection or acquisition by displacement of the head
    • G11B5/5504Track change, selection or acquisition by displacement of the head across tape tracks
    • G11B5/5508Control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/54Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head into or out of its operative position or across tracks
    • G11B5/55Track change, selection or acquisition by displacement of the head
    • G11B5/5513Specially adapted for transducing in both travelling directions of tape
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0686Libraries, e.g. tape libraries, jukebox
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10916Seeking data on the record carrier for preparing an access to a specific address
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Description

本発明は一般にコンピュータに関し、さらに具体的には、テープ媒体に格納されたデータのアクセス・シーケンスを決定するための方法、コンピュータ・システム、およびコンピュータ・プログラムに関する。
技術が進歩するにつれ、テープ媒体の(例、テープ・ドライブ)の記憶容量も増大し続けている。最新の進展では、一部のテープ媒体は1.5テラバイト(TB)の容量を持つまでになっている。テープ媒体の容量の増大により、従来のデータ・バックアップおよびアーカイビングからファイル・システムまでの幅広い用途にテープ媒体を用いることができる。
テープ・ドライブなどテープ媒体は、容量および転送速度に関してはハード・ディスクに引けを取らないが、数百メートルの長さに及ぶこともあるテープ媒体上に分散されたデータを見出すのに、多くの場合、数分のデータ・シーク・タイムを要する。ドライブのシーク・タイムは、長きにわたって重要な問題と考えられてきており、さまざまな形態のデータに対するシーク・タイムを低減するための多くの方法が提案されてきた。
最近の一部の用途に対応できるためには、テープ・ドライブは、複数のファイルまたは論理ボリューム(例、記録グループ)を連続的に読み取る、しばしば「デフラグ」または「リクラメーション」といわれるプロセスが実施可能である必要があり得る。このことは、連続的に複数の記録グループにアクセスするときの合計シーク・タイムを低減するという新たな課題を課す。個々のシーク・オペレーションに対する短縮されたシーク・タイムを維持しながら、合計シーク・タイムを低減する一つの可能なやり方は、記録グループに対するアクセス・シーケンスを修正することである。合計シーク・タイムを低減するためのこの方法の使用は、テープ・ドライブがテープ媒体を駆動する速度および加速度、並びに合計データ・バンド移送時間などを含め、テープ・ドライブに最適なアクセス・シーケンスに修正するための、テープ・ドライブに固有の各種の条件に大きく依存する。テープ・ドライブ上のアクセス・シーケンスを修正し、修正のため必要な処理時間量を最小にするため、低い計算複雑性を備えたアルゴリズムが必要となる。
一つの実施形態において、テープ媒体に格納された複数のデータ・グループのアクセス・シーケンスを決定するための方法が提供される。複数のデータ・グループ中の、テープ媒体の現在位置に最も近い開始部を有するデータ・グループが、アクセス・シーケンスの第一データ・グループとして選定される。残りの複数のデータ・グループ中の、アクセス・シーケンスの第一データ・グループの終端部に最も近い開始部を有する、データ・グループがアクセス・シーケンスの第二データ・グループとして選定される。
別の実施形態において、コンピュータ・システムが提供される。本コンピュータ・システムは、コンピュータ可読媒体と、コンピュータ可読媒体と動作可能に通信するプロセッサとを包含する。プロセッサは、テープ媒体に格納された複数のデータ・グループ中の、テープ媒体の現在位置に最も近い開始部を有するデータ・グループを、複数のデータ・グループのアクセス・シーケンスの第一データ・グループとして選定し、残りの複数のデータ・グループ中の、アクセス・シーケンスの第一データ・グループの終端部に最も近い開始部を有するデータ・グループを、アクセス・シーケンスの第二データ・グループとして選定するよう構成される。
さらなる実施形態において、テープ媒体に格納された複数のデータ・グループのアクセス・シーケンスを決定するためのコンピュータ・プログラムが提供される。コンピュータ可読記憶媒体は、その中に格納されたコンピュータ可読プログラム・コード部分を有する。コンピュータ可読プログラム・コード部分は、複数のデータ・グループ中の、テープ媒体の現在位置に最も近い開始部を有するデータ・グループを、アクセス・シーケンスの第一データ・グループとして選定するための第一実行可能部分と、残りの複数のデータ・グループ中の、アクセス・シーケンスの第一データ・グループの終端部に最も近い開始部を有するデータ・グループを、アクセス・シーケンスの第二データ・グループとして選定するための第二実行可能部分とを包含する。
本発明の一つの実施形態によるテープ・カートリッジの断面図である。 図1のテープ・カートリッジ内のテープ媒体の概略平面図である。 本発明の各種態様による方法を示すフローチャートである。 本発明の各種態様による方法を示すフローチャートである。 代表的なバーチャル・テープ・システムの例示的実施形態の概略ブロック図である。 バーチャル・テープ・サーバ(VTS:virtual tape server)およびライブラリ・マネージャの例示的実施形態のブロック図である。
本発明の利点を容易に理解できるようにするため、添付の図面に示された具体的な実施形態を参照しながら、簡単に前述した本発明のさらに具体的な説明を提供する。これらの図面が本発明の実施形態を図示したものであり従って本発明の範囲を限定すると見なすべきでないことを理解の上、これら添付図面を用いながら、さらなる特質および詳細を記述、説明する。
本発明の諸実施形態は、テープ媒体に格納されたデータのアクセス・シーケンスを決定するための方法、コンピュータ・システム、およびコンピュータ・プログラムを提供する。
本発明の一つの態様によれば、ファイル・システムまたはバーチャル・テープ・サーバ(VTS)が任意の所与の順序で複数の記録グループを読み取ることができるという事実に基づいて、記録グループ間の距離という新しい概念が定義され、これを記録グループのアクセス・シーケンスの修正に用いて合計シーク・タイムを低減することができる。シミュレーション・テストにおいて、この方法は、特に、多数の記録グループが関与したときに、低い計算能力で合計シーク・タイムを大きく低減する。
図1は、本発明の一つの実施形態によるテープ・カートリッジ(またはテープ・ドライブ・カートリッジ)10を示す。テープ・カートリッジ10はテープ媒体(またはテープ)12を包含する。一つの実施形態において、テープ媒体12は、約1.25センチメートル(cm)の幅(すなわち、水平方向に)および約800メートル(m)の長さ(すなわち、長手方向に)を有する。図示のように、テープ媒体12は、4つのデータ・バンド14に分けられており、これらのバンドは、基本的には、サーボ・バンド16の間の挟まれた長くて薄い区域である(図1参照)。データ・バンド14には、これらが使われる順序を示す番号(0〜3)が付されている。図示されていないが、(サーボ・バンド・ヘッド19とともに)、データを読み取り書き込む、読み取り/書き込みヘッド18の位置を制御するための「サーボ・パターン」といわれるデータがサーボ・バンド16中に書き込まれる。図示のように、サーボ・バンド・ヘッド19は、読み取り/書き込みヘッド18の両側に配置される。一つのオブジェクトだけが示されているが、16個の読み取り/書き込みヘッド18を設けることができる。最新のテープ媒体システムでは、ヘッドをデータ・バンド中で横方向に移動するのに要する時間は比較的短いが、ヘッドを隣接のデータ・バンドに移動するには数秒かかることがある。
データをテープ媒体に書き込むため、アプリケーションはテープ・ドライブに記録中へのデータの書き込みを要求し、この記録は数バイトから数メガバイト(MB)のサイズに亘り得る。記録は、テープ媒体12に書き込まれる際に一意的な記録番号を受け取り、これは、アプリケーションがテープ媒体のデータにアクセスしようとするとき読み取り対象のデータを指定するのに用いられる。ファイル・システム中で用いられるファイル、およびVTS中で用いられる論理ボリュームは複数の記録で構成される。テープ・ドライブは、アプリケーションから受信した記録を、データ・セット(DS:data set)として知られる固定長のパッケージ(例えば、約2.4MB)に再パックし、次いでそれがテープ媒体に書き込まれる。
一つの実施形態において、テープ・ドライブ・システムは、並列方式に配置された16個のヘッドを用い、データ・セットを、データ・セットのフラグメントとしてテープ媒体に書き込み、フラグメントの幅は数マイクロメートル(μm)、その長さは約10cmとなり得る。テープ媒体の最大容量を満たすまで十分にデータを書き込むため、ヘッドは、テープ媒体中のラップの数によっては、テープ媒体12上に亘って前方および後方に数十回の行き来を完了しなければならない。データ・セットの容量およびサイズ、テープ長さ、ラップ数はいろいろである。
テープ媒体12は、例えば数百万から1千万の記録を収容することができる。結果として、媒体中のあらゆる記録の物理的位置に対応する情報を維持するのは極めて困難である。テープ媒体に書き込まれた記録を効率的に検索するため、テープ・カートリッジ中の不揮発性カートリッジ・メモリのセット(例、4KBまたは8KBのセット)を使ってテープ・ディレクトリ(すなわち、各ラップに所在する記録番号の範囲であり、シーク・オペレーションを遂行する)が格納される。
複数の記録グループに連続的にアクセスする際の合計シーク・タイムを低減する一つのやり方は、記録グループ群のアクセス・シーケンスを修正することである。基本的に、これは、組み合わせ最適化として、いろいろな意味で「巡回セールスマン問題」と同様に一般に理解されている、非決定性多項式時間(NP困難)問題である。しかしながら、巡回セールスマン問題では、A点からB点への巡回コストは、B点からA点への巡回コストと同じである。複数の記録グループへのアクセス・シーケンス問題では、記録グループは長い、すなわち、記録グループAの終端部から記録グループBの開始部への巡回コストは、記録グループBの終端部から記録グループAの開始部への巡回コストとは異なる。
本発明の一つの態様によれば、この巡回コストは記録グループ間の「距離」と考えられる。この概念を用い、新たに開発された最近傍アルゴリズムとペアワイズ交換アルゴリズムと(下記で説明)を組み合わせて記録グループのアクセス・シーケンスを設定することによって、合計シーク・タイムを低減することができる。
記録グループ間の距離は、記録グループ巡回コストを表すものと定義される。この距離は、テープ媒体上に格納された記録グループ間の物理的距離をいうのではなく、正しくは記録グループの間を移動するのに必要な時間をいう。記録グループAと記録グループBとの間の距離(t(A,B))は主として、以下の2つのファクタ、すなわち、テープ媒体の長手方向(より長い方の方向)に沿った移動のため要する時間、tL(A,B)と、データ・バンド上の移動のために要する時間、tD(A,B)とに左右される。
しかして、記録グループAとBとの間の距離t(A,B)は次式により定義される。
t(A,B)=tL(A,B)+tD(A,B) (1)
tL(A,B)を決定する変数には、テープ媒体の開始部と記録グループAの終端部との間の距離IE(A)と、テープ媒体の開始部と記録グループBの開始部との間の距離IS(B)と、記録グループAを読み取る際のテープ媒体の搬送速度Bs(A)と、記録グループBを読み取る際のテープ媒体の搬送速度Bs(B)と、シーク・オペレーションを遂行する際のテープ媒体の搬送速度sRと、テープ媒体の加速度aと、s(A)からsRにシフトする際に移動する距離IR(A)と、sRからs(B)にシフトする際に移動する距離IR(B)と、が含まれる。
上記の変数を用いて、テープ媒体の長手方向に沿った移動のため必要な時間、tL(A,B)を以下の式で表すことができる。ただし、IE(A)とIS(B)との間の距離は十分に長く、加速および減速の間に到達することはないと仮定する。距離が非常に短い場合は、これらの変数は自明と見なし排除することができる。
tL(A,B)=|sR−s(A)|/a +(|IE(A)−IS(B)| −IR(A)−IR(B))/sR+|sR−s(B)|/a (2)
tD(A,B)を決定する変数には、隣接のデータ・バンドに移動するために要する時間tD、および記録グループAの終端部から記録グループBの開始部までシークする際に通過するデータ・バンドの数を返す関数d(A,B)が含まれる。
上記の変数を用い、データ・バンド上を移動するために要する時間tD(A,B)を、tDとd(A,B)との積として次のように表すことができる。
tD(A,B)=tDd(A,B) (3)
アクセス対象の記録グループの数が比較的小さい場合(例えば、10)、総当たり法を適用してあらゆるアクセス・シーケンス組み合わせを解析し、合計シーク・タイム(すなわち、各アクセス・シーケンスにおける記録グループ間の合計距離)を計算することができる。しかして、最短の合計シーク・タイムを生成するアクセス・シーケンスが最も効果的な選択肢となることになる。しかしながら、もっと多くの記録グループが関与する場合、あらゆる可能な組み合わせに対する合計シーク・タイムを計算するには、はるかに高いレベルの計算量が必要となり、現実的な時間量の中でアクセス・シーケンスを設定することは極めて困難である。
最近傍アルゴリズム(または手法)とペアワイズ交換アルゴリズム(または手法)との新規の具体化を展開、組み合わせ、適用することによって、多数の記録グループに対するアクセス・シーケンスを設定するために要する時間量を限定することができる。また、合計シーク・タイムも、これらグループにランダムにまたは記録番号の順にアクセスするアプローチよりももっと効果的に低減することができる。
図2は、図1のテープ媒体12を示すもので、これを用いて、以下に記載する最近傍手法およびペアワイズ交換手法を説明することができる。テープ媒体12は、開始部(すなわち、テープの開始部)セクション20、終端部(すなわち、テープの終端部)セクション22を包含し、テープ媒体上に書き込まれた4つの記録グループ24(すなわち、記録グループA、記録グループB、記録グループC、および記録グループD)を有する。矢印26は、記録グループ24の各々が書き込まれるもしくは読み取られるまたはその両方が行われる方向を示す。
図3は、本発明の一つの実施形態による、最近傍手法30を示す。ステップ32において、手法30は、図2に示すように配置された記録グループ24(すなわち記録グループA〜n)から始まる。ステップ34で、テープ媒体12(図2)の位置が設定される。一つの実施形態において、テープ媒体は開始部20に位置合わせされる(すなわち、テープ媒体システムのヘッドが開始部20に位置合わせされる)。
ステップ36において、開始点(読み取り/書き込みの方向26如何による)が現在位置に最も近い記録グループ24が、読み取り対象の第一記録グループ24として選定される。図2に示された例では、記録グループAがテープ媒体12の開始部セクション20の最も近くで開始しているのでグループAグループが選定される。またステップ36では、テープ位置は選定された記録グループ24の終端部にリセットされる。
ステップ38において、記録のシーケンスに入れられずに残っている記録グループ24があれば、手法30はステップ36に戻る。図2に示された例では、開始部が記録グループAの終端部に最も近い記録グループは記録グループBである。しかして、この例では、アクセス・シーケンスにおける第二グループとして記録グループBが選択され、テープ位置は記録グループBの終端部にリセットされる。
ステップ38で、記録シーケンスに入れられずに残っている記録グループ24があるので、手法30は再度ステップ36に戻る。ステップ36において、記録グループCが記録グループBの終端部の最も近くで開始しているのでグループCが次に選定される。本手法は、全部の記録グループ24がアクセス・シーケンス中に入るまで、上記を続ける。この例では、このシーケンスにおける最後の記録グループ24は記録グループDである。
ステップ38において、全部の記録グループ24がアクセス・シーケンスに入っている場合、手法30は、記録グループ24が、アクセス・シーケンスの上記選定された順にアクセスされるステップ40に進み、然るのち手法30はステップ42で終了する。
しかして、最近傍アルゴリズムを使って、現在位置から最も短い記録グループ24間距離を有する記録グループ24が、アクセス・シーケンスの第一グループとして選定される。次いで、第一記録グループの終端部から最も短い記録グループ24間距離を有する記録グループ24が、シーケンス中の第二グループとして選定される。このプロセスは、全部の記録グループが入るまで続く。
最近傍手法は、シーケンスの前半では、非常に短縮された記録グループ・シーク・タイムを提供するが、後半ではシーク・タイムを大きく低減することはできない。
図4は、本発明の一実施形態による、最近傍手法30によって生成されたアクセス・シーケンスを修正するため用いることができる、ペアワイズ交換手法40を示す。
ステップ42において、手法40は、記録グループ24が、図3の最近傍手法30によって決定されたアクセス・シーケンスの順序に配置されることから始まる。この例に対し、最近傍手法30に設定されたアクセス・シーケンスは、ABCD(すなわち、Aが最初にアクセスされ、Bが二番目にアクセスされ、Cが三番目にアクセスされ、Dが最後にアクセスされる)であると仮定するものとする。
ステップ44では、アクセス・シーケンスにおける最後の記録グループ(例、記録グループD)が、あり得る全てのシーケンス位置に置かれ、そのあり得るシーケンスの各々に対し合計シーク・タイムが計算される。しかして、アクセス・シーケンス、DABC、ADBC、ABDC、およびABCDの各々に対して合計シーク・タイムが計算される。
ステップ46において、最後の記録グループを、最近傍手法30が決定したのと異なる位置に置くことによって合計シーク・タイムが低減する場合、手法40はステップ48に進む。ステップ48では、最短のシーク・タイムを有するアクセス・シーケンスを使って、使用の対象となるアクセス・シーケンスを修正し、本手法はステップ44に戻る。一例として、アクセス・シーケンスDABCが最短のシーク・タイムを提供したと仮定することにする。しかして、ステップ44に戻った時にはDABCが用いられる。
かくて、ステップ44において、現在はシーケンスの最後の位置を占める記録グループCが、あり得るすべてのシーケンス位置に置かれて合計シーク・タイムが評価される。このとき相異なるシーケンスは、CDAB、DCAB、DACB、およびDABCとなる。
ステップ46で、最短の合計シーク・タイムを有するシーケンスがDABCである場合、手法40はステップ50に進む。というのは、この結果が(ステップ42からの)最新の結果だからである。しかして、DABCが最適の読み取りシーケンスとして選択される(シーケンスの最後のエレメントに加え、シーケンスの最終部のn個のエレメントを同様に再配置することもできる)。ペアワイズ交換手法は、記録グループ間の距離が最長の場合にも適用することができる。ステップ50で、手法40は、例えば、記録グループ24が最新に修正されたアクセス・シーケンスの順序でアクセスされることで終了する。
このように、ペアワイズ交換手法では、アクセス・シーケンスの最終位置(または最後のいくつかの位置)の記録グループが、異なったアクセス・シーケンス位置に置かれ、最短の合計シーク・タイムを生成するアクセス・シーケンスが選択される。このプロセスは、シーケンスの最終位置の変化がもう無くなるまで繰り返される。ペアワイズ交換手法は、アクセス・シーケンスの後半におけるグループ・シーク・タイムを改善することができる。
合計シーク・タイムを低減するための上記の手法の効果性を評価するため、シミュレーション環境が生成された。このシミュレーションは4つのセクション、すなわち、インプット生成、記録グループ間の距離計算、記録グループのアクセス・シーケンス修正セクション、および合計シーク・タイムの表示、に分けることができる。
インプット生成セクションでは、各記録グループに対し、5つのエレメントに対するランダム値が生成された。この5つのエレメントには、記録グループの開始部の長手位置、記録グループの終端部の長手位置、記録グループを包含するデータ・バンド、記録グループの開始部を読み取る際にテープ媒体が移動する方向、および記録グループの終端部を読み取る際にテープ媒体が移動する方向が含まれる。
モデルを単純化するため、各記録グループの開始部と終端部とは常に同一のデータ・バンドに存在すると仮定された。加えて、記録グループの数は、記録グループの合計数が手法の効果性に影響し得るという事実にかんがみ、8から1,024までの間で変動できるようにされた。さらに、記録グループ群の位置的関係に起因する効果性のばらつきを防止するために、各記録グループ量に対し1,000セットの関係を生成し、平均合計シーク・タイムを比較することによって、本手法が評価された。
記録グループ間の距離計算セクションでは、計算を単純化するため、加速、減速のために要する時間、およびこれらの時間の間にカバーされる距離は無視された。代わりに、記録グループ間の長手方向の移動に要する時間、データ・バンド間を移動するのに要する時間、およびテープ搬送方向の変更に要する時間が計算された。次いで、これらの値を合計して、記録グループ間の距離が算出された。
記録グループ・アクセス・シーケンス修正セクションでは、インプット生成セクションにおいて生成された複数の記録グループに対するアクセス・シーケンスが、総当たり法、ペアワイズ交換手法と組み合わせた最近傍手法、および記録番号シーケンス、の3つの方式に基づいて修正された。
記録番号シーケンスに変更する際は、各記録グループは、データ・バンド番号に従ってセットされた。同一のデータ・バンド番号を有するグループは、インプット生成セクションで生成された順にアクセスされた。
合計シーク・タイム表示セクションにおいて、記録グループ・アクセス・シーケンス修正セクションにおいて設定されたシーケンスに従って、記録が連続してアクセスされた際の、合計シーク・タイム、およびアクセス・シーケンスを修正するのに要する時間が表示された。
最初に、総当たり法を使ってアクセス・シーケンスを修正した場合に要する時間が、最近傍手法とペアワイズ交換手法とを組み合わせた方法(この明細書で説明される本方法)によるものと比較された。その結果を表1に示す。
Figure 0005785484
表1の値は、最も近い整数に四捨五入されている。総当たり法では、10より多い記録グループが関与する場合、アクセス・シーケンスを修正するのに要する時間は、合計シーク・タイム低減効果を上回り、これについては下記でより詳しく説明する。比較すると、本方法を用いれば、記録グループの数が1,000を超える場合であっても、アクセス・シーケンスを最小の時間量で修正することができる。
このシミュレーションは、ラップトップ・コンピュータ上で行われたものであり、実際のテープ・ドライブではないので、テープ・ドライブへの本方法の実装では、記録グループの数とシーケンス修正のため要する時間との間の相関関係に若干異なる結果が出ることが予期されるが、全般的傾向は同じようになると予期される。
表2および表3は、ベースライン比較のため、記録番号シーケンスを使用した、総当たり法と本方法との間の合計シーク・タイムの差を示す。上記で説明したように、各記録グループ量に対しランダムに生成された1,000セットが作成され、各セットでの平均低減時間が比較に使われた。低減率は、各種方法によって低減されたシーク・タイムのパーセントに相当する。
Figure 0005785484
表2および表3中の「グループの数」とは、連続してアクセスされる記録グループの数をいう。「従来式」とは、記録番号シーケンスに従ってアクセスされた1,000セットに対する平均合計シーク・タイムをいう(秒単位)。「総当たり」とは、アクセス・シーケンスが総当たり法によって修正されたときの、1,000セットに対する平均合計シーク・タイムをいう(秒単位)。「低減」とは、従来式方法と総当たり法との間の平均合計シーク・タイムの差をいう(秒単位)。「グループあたり」とは、記録グループあたりのシーク・タイムの差をいう(秒単位)。「低減率」とは、従来式方法と比較した、総当たり法によって低減されたシーク・タイムのパーセントをいう(単位パーセント)。
Figure 0005785484
表3中の「本方法」とは、アクセス・シーケンスが本方法によって修正されたときの、1,000セットに対する平均合計シーク・タイムをいう(秒単位)。「低減」とは、従来式方法と本方法との間の平均合計シーク・タイムの差をいう(秒単位)。
最初に、8つの記録グループの場合を考えてみる。表2および3は、総当たり法および本方法が、従来式の記録番号シーケンスよりも短縮された合計シーク・タイム(それぞれ、44秒と38秒)を生成することを示している。しかして、アクセス・シーケンスを修正するのに要する時間を含めての合計シーク・タイムは、アクセス・シーケンスを修正するのに要する時間が6秒以下であるならば総当たり法を適用することによって、また、アクセス・シーケンスに6秒より長くかかる場合は本方法を用いることによって低減することができる。
次に、表3は、記録グループの数が多いほど、記録グループあたりのシーク・タイム低減の差が大きくなることを示している。しかして、より大きな数の記録グループほど、アクセス・シーケンスを修正するためのより大きな余地を有することになる。記録グループの数が1,000を超える場合、80%を超えて合計シーク・タイムを低減することができる。
シミュレーションの結果と、テープ・ドライブを使用して行われた実際のシーク・オペレーションとの間の差異を確認するために、LTO−5テープ・ドライブを使ってテストが行われた。このテストには、8つの記録グループに対してランダムに生成された位置情報が使われた。結果は約10%の誤差を示し、これを表4に示す。
Figure 0005785484
上記で説明したように、シミュレーションでは、加速および減速のために要する時間を無視し、一定の早い速度を仮定したので、計算された値(計算値)が測定された値(測定値)より短くなることが予期されていた。
しかしながら、表4の記録番号シーケンスによって示されるように、計算値は予想外に遅いものであった。記録グループ間を移動するのに要する時間に対する計算値と測定値との比較結果は、異なったバンド上の記録グループの間を移動する場合、計算値が測定値よりも長かったことを示している。長手方向に大きな距離を移動する場合、実際のテープ・ドライブは、長手方向の移動のため必要な時間に影響を与えることなく異なるデータ・バンドに移動することが可能であるが、シミュレーションでは、長手方向位置に関係なくデータ・バンドの移動のため必要な一定の時間を加えていた。
従って、本方法の実装において、加速/減速時間、および長手方向距離とデータ・バンド間を移動するために要する時間との相関関係を考慮して、計算値と測定値との間の差を差し引くことが可能であり得る。
シミュレーション結果と測定値との間の差異は、記録番号シーケンス、総当たり法、または本方法を用いた場合に、おおむね同一の頻度で生じる可能性が高く、従って、この差異が前述した、1,000セットの平均の評価結果に影響があるとは考えられない。
本方法を使用することによって、特に、多くの記録グループが関与する場合、合計シーク・タイムを大きく低減することが可能になり得る。しかしながら、ファイル・システムまたはVTSを使用するテープ・ドライブのユーザにとって、重要なファクタは、合計シーク・タイムの差異でなく、デフラグおよびリクラメーション・オペレーションのために要する時間の差異である。以下の説明では、VTSを例に使って、リクラメーションのために要する時間に本方法がどのような影響を与えるかを吟味する。
この(例えば1TBの)VTSテープ媒体は、(例えば各々が400MBTの)2,560の論理ボリュームを包含していると仮定する。加えて、論理ボリュームの80%は期限切れであり、残りの20%(すなわち、512論理ボリューム)を異なるテープ媒体にコピーして、元のボリュームを空にするものとする。このプロセスはリクラメーションと呼ばれる。テープ・ドライブがテープ媒体上のデータを読み取り、媒体に書き込みする速度は同一であり、リクラメーションの間にテープ媒体に書き込まれるデータは、各ボリュームに対するシーク・オペレーションを行うことなく、直近に書き込まれた論理ボリュームの直ぐ後ろに書き込まれる。しかして、リクラメーションの過程で論理ボリュームを読み取る際に、テープ媒体上に散り散りになっている論理ボリュームのシーク・オペレーションがボトルネックを形成する。数学的表現において、リクラメーションに必要な時間tTは、合計シーク・タイムtRと論理ボリューム合計読み取り時間tVとの和で表すことができる。すなわち、
tT=tR+tV (4)
表3によれば、合計シーク・タイムtRに対する値は、従来式記録番号シーケンスで読み取った場合、4,592秒であり、また、本方法を用いた場合は、1,011秒である。
140(MB/秒)のテープ・ドライブのデータ転送速度を仮定すれば、(各400MBの)512個の論理ボリュームを読み取るのに要する合計時間tV(秒単位)は次式で表すことができる。
tV=400/140*512=1,463 (5)
表5は、上記の情報に基づいて、従来式方法および本方法を使ったリクラメーションに要する時間の比較である。
Figure 0005785484
しかして、本方法の適用が、一般的なVTSにおけるリクラメーション時間をおおよそ60%(すなわち、この例では1時間)低減することが明らかである。このように、本方法は、合計シーク・タイムを低減するだけでなく、テープ・ドライブ・ベースのシステム全体のパフォーマンスを向上するための効果的ツールでもあり得る。
要約すれば、記録グループ間の距離という概念が提供されており、これを用いて記録グループのアクセス・シーケンスを修正することができる。シミュレーション・テストにおいて、この方法は、合計シーク・タイムを約80%低減し、特に、多数の記録グループが関与したときに効果的であった。また、テープ・ドライブのパフォーマンス上の最大の不利点の一つである合計シーク・タイムを低減する本方法の能力は、ファイル・システムまたはVTSを用いるとき、デフラグおよびリクラメーション・オペレーションのために要する時間を低減するのにも有用である。
図5は、本発明に従って使用可能な、代表的VTSシステム100の例示的実施形態を示す。システム100は、テープ・ライブラリ102、少なくとも一つのVTS104(一時キャッシュ)、および少なくとも一つのホスト(106aおよび106bとして示す)を包含する。各ホスト106をメインフレーム・コンピュータとすることができる。これに換えて、ホスト(ユーザ)106を、サーバまたはさまざまなオペレーティング・システムを使うパソコンとすることもできる。ホスト106とVTS104とは、ストレージ・エリア・ネットワーク(SAN:storage area network)108または、別の適切な通信チャネル、例えばIBM(IBM社の登録商標)のメインフレーム・コンピュータで用いられるエンタープライズ・システム・コネクション(ESCON:Enterprise System Connection)(IBM社の登録商標)チャネルを介して接続される。
テープ・ライブラリ102には、ライブラリ・マネージャ110、一つ以上のデータ・ドライブ・デバイス(これらはテープ・カートリッジ112(112a〜eとして示された二次キャッシュ)とすることができる)、アクセサ114、および複数のマウント可能媒体116を包含させることができる。一つの実施形態において、マウント可能媒体116には、テープ・カートリッジ、磁気ディスク、光ディスク、CD、DVD、データを格納できドライブ装置に搭載可能な他のデバイスなどが包含される。ライブラリ・マネージャ110は少なくとも一つのコンピューティング・プロセッサを包含し、このプロセッサはテープ・カートリッジ112およびアクセサ114と相互接続し、これらの動作を制御することができる。ライブラリ・マネージャ110の構成については、さらなる詳細を下記に示し説明する。例示の実施形態のメカニズムは、階層的記憶管理(HSM:hierarchical storage management)システムにおいて、2種類のキャッシュ、すなわち、一次キャッシュ(VTS104)および二次キャッシュを用いる。かかる構成は、VTS104がディスク・キャッシュ上のファイルをあたかもそれがバーチャル・テープであるかのようにユーザに提供することを可能にし、ユーザはそのファイルに対しデータの読み取りおよび書き込みを行う。ホストに生成されたバーチャル・テープとしてのファイルは、後で適切なときに実際のテープに移される。ただし、例示の実施形態のメカニズムは、実際のテープ、あるいは実際のまたはバーチャルの形でのテープ・カートリッジを提供することができる。
図5には、5つのテープ・カートリッジ112a、112b、112c、112d、および112eが示されている。本発明は、一つ以上のテープ・ドライブ113を使って動作可能である。テープ・ドライブ群113は、ユーザ・データおよびログ・データのマウントおよびデマウントを助力するよう構成される。テープ・カートリッジ112は、マウント可能媒体116の単一のリポジトリを共用することができる。これに換えて、テープ・カートリッジ112は、マウント可能媒体116の複数のリポジトリを用いることもできる。有利には、テープ・カートリッジ112を複数の場所に亘って分散し、一つの場所での災害によって、複数のテープ・カートリッジ112が機能喪失する確率を減少させることができる。
ライブラリ・マネージャ110、テープ・カートリッジ112、およびアクセサ114の間の相互接続が点線で示されており、ライブラリ・マネージャ110が、格納または読み出されるデータの送受信ではなく、テープ・カートリッジ112もしくはアクセサ114またはその両方に制御信号を送受信することを示している。格納または読み出されるデータは、代わりに、ネットワーク118を介してVTS104とテープ・カートリッジ112との間で直接送信され、このネットワークは、ストレージ・エリア・ネットワーク(SAN)、ローカル・エリア・ネットワーク(LAN:local area network)、広域ネットワーク(WAN:wide area network)あるいは、インターネットもしくは、2点間または例えば小型コンピュータ用周辺機器インタフェース(SCSI:Small Computer Storage Interface)マルチドロップ・バス接続を介したVTS104とテープ・カートリッジ112との間の直接接続を含む、別の適切な種類のネットワークとすることができる。上記に換えて、テープ・ドライブ112に対する制御信号は、VTS104とライブラリ・マネージャ110との間、およびネットワーク118を介したVTS104とテープ・ドライブ112との間の接続を介して送受信することもできる。
アクセサ114は、格納棚とテープ・カートリッジ112との間で選定されたマウント可能媒体116を移送するよう構成された、ロボット・アームまたは別のメカニカル・デバイスとすることができる。アクセサ114は、通例、把持部、および把持部に搭載されたバーコード・スキャナまたは類似の読み取りシステムを包含する。バーコード・スキャナは、テープ・カートリッジ112に貼付されたカートリッジ・ラベル上にプリントされたボリューム連番(VOLSER:volume serial number)を読み取るために使われる。別の実施形態において、テープ・カートリッジ112は、光ディスク・ドライブまたは他の磁気ドライブで置き換えることができる。同様に、マウント可能媒体116およびテープ・ドライブ113は、磁気媒体、光媒体、または用いられるドライブの種類に対応する任意の他の着脱可能媒体を包含することができる。制御コンソール120は、ライブラリ・マネージャ110に接続することができる。制御コンソール120を、ライブラリ・マネージャ110と通信するコンピュータとし、ユーザが、ホスト106と関係なくテープ・ライブラリ102の動作パラメータを制御できるようにすることができる。
さらに、説明した例示的実施形態は、コンピューティング環境でまたは別途これに関連させて動作可能な、ハードウエア、ソフトウエア、ファームウエア、またはこれらの組み合わせなど、さまざまな手段によって実装することができる。例えば、本方法100、および以下に示す例示的方法を、部分的にまたは全体的に、コンピュータ可読プログラム・コード部分を内部に格納するするコンピュータ可読記憶媒体を包含するコンピュータ・プログラムとして実装することができる。これらコンピュータ可読記憶媒体は、ディスク・ドライブ、フラッシュ・メモリ、デジタル多用途ディスク(DVD:digital versatile disk)、コンパクト・ディスク(CD:compact disks)、および前述したような他の種類の記憶媒体を包含し得る。
図6は、図5のVTS104の一実施形態およびライブラリ・マネージャ110の一実施形態を図示した概略ブロック図を示す。VTS104およびライブラリ・マネージャ110は、各々、バス、プロセッサ、メモリなどを備えたコンピュータの形をとることができる。図6では、VTS104およびライブラリ・マネージャ110の本発明に関連する各種の実行可能モジュールおよびデータ・ブロックをより明瞭に示すために、これらのエレメントは省略されている。VTS104またはライブラリ・マネージャ110の実装において、当分野で知られた他の実行可能モジュールおよびデータ・ブロックもあろうが、本発明に必須のエレメントに焦点を当てるため省略されている。
図示のように、VTS104は、複数のバーチャル・テープ・ドライブ200、ファイル・システム・マネージャ202、自動化記憶マネージャ206、キュー208、および少なくとも一つの直接アクセス記憶デバイス(DASD:direct assess storage device)キャッシュ210を包含する。DASDキャッシュ210は、ホスト106からのデータを、バーチャルまたは論理ボリュームに、ファイルの形で一時的に格納し、しかして一次キャッシュといわれることがある。ホスト106からの書き込み命令は、VTS104によって、バーチャル・テープ・ドライブ200を通してDASDキャッシュ210中に処理された後、更新された論理ボリュームが、DASDキャッシュ210からマウント可能媒体または物理ボリューム116(図5参照)に転送される。一つの例によれば、DASDキャッシュ210は一つ以上のハード・ディスク・ドライブの形をとり、これらは、RAID5などの独立ドライブ冗長アレイ(RAID:redundant array of independent drives)に配置することができる。また、バーチャル・テープ・ドライブ200は、ホスト106からの制御命令も処理する。
ファイル・システム・マネージャ202は、DASDキャッシュ210中のデータ記憶を管理し調整する。自動化記憶マネージャ206は、ファイル・システム・マネージャ202とテープ・カートリッジ112との間のインタフェース通信を制御する。また、自動化記憶マネージャ206は、VTS104とライブラリ・マネージャ110との間の通信も制御する。一つの実施形態において、ホスト106はある特定の論理ボリュームを要求することができる。自動化記憶マネージャ206は、その論理ボリュームがDASDキャッシュ210中に在るかどうかを判定する。無い場合、自動化記憶マネージャ206は、物理ボリュームまたはマウント可能媒体116からそのボリュームのリコールを要求する。また、自動化記憶マネージャ206は、処理対象の追加リコール要求を一時的にキュー208に収容することができる。このように、自動化記憶マネージャ206は、テープ・ドライブ112a、b、c、d、およびe(図5参照)を使って、脱着可能媒体116から論理ボリュームをリコールするための装置である。
ライブラリ・マネージャ110は、バーチャルおよび物理ボリューム並びにその構成体を管理する。さらに具体的には、ライブラリ・マネージャ110は、バーチャル・テープ・ドライブ200および自動化記憶マネージャ206から制御命令を受信する命令プロセッサ225を包含する。命令プロセッサ225は、バーチャルおよび物理ボリュームの管理についての命令を、ボリューム・マネージャ235に渡す。ボリューム・マネージャ235は、バーチャルおよび物理ボリュームについての情報を、ライブラリ・マネージャ110のデータベース230に格納する。さらに、受信された命令に応じて、ボリューム・マネージャは、テープ・カートリッジ112もしくはアクセサ114またはその両方に対し、バーチャル・ボリュームのコピーの作成または取り出しの対象となるカートリッジまたは他の脱着可能媒体116を、装着または「搭載」する命令を送信する。複数のカートリッジ116の搭載は、アクセサ114およびテープ・カートリッジ112の構成如何によって、一般には同時にまたは特定の順序で行われる。
また、ライブラリ・マネージャ110は、所与の構成体名に対して進めるべきボリューム管理処置に関するユーザ命令を制御コンソール120から受信する、構成マネージャ240を有する。ボリューム管理処置は、構成マネージャ240によって、ライブラリ・マネージャ110のデータベース230に格納され、取り出される。命令プロセッサに225によって受信された特定の制御命令に対し、命令プロセッサ225は、構成マネージャ240に、特定のバーチャル・ボリュームに対するボリューム管理処置を施すよう指令する。命令プロセッサ225は、次いで、返信された、特定のバーチャル・ボリュームに対するボリューム管理処置を自動化記憶マネージャ206に渡す。
実施形態に基づいて上記に本発明を説明してきたが、本発明の技術的範囲は上記の実施形態に限定されない。当業者にとって、上記の実施形態にさまざまな変更または改良を加えることが可能なのは明らかである。
請求の範囲、記述および図面に示された、デバイス、システム、プログラム、および方法中のオペレーション、手順、ステップおよびステージなど諸プロセスの実行順序は、「前に」または「先立って」などの表現を特に用いて明確に特定されていないことに留意すべきである。従って、これら諸プロセスは、先行のプロセスからのアウトプットが後続のプロセスに使われる場合を除き、任意の順序で実行が可能である。請求の範囲中、記述中、または図面中のいずれかのオペレーションの流れが、便宜上、「最初に」および「その後に」などの表現によって表されていたとしても、それは、必ずしも、そのオペレーションの流れが、こういった表現で表された順序で実行されなければならないことを意味するものではない。
当業者ならよく理解するであろうように、本発明の態様は、システム、方法、またはコンピュータ・プログラムとして具現することができる。従って、本発明の態様は、全体がハードウエアの実施形態、全体がソフトウエアの実施形態(ファームウエア、常駐ソフトウエア、マイクロコードなどを含む)、あるいは、一般に本明細書では全て「回路」、「モジュール」、または「システム」といわれる、ソフトウエアおよびハードウエア態様を組み合わせた実施形態の形を取ることができる。さらに、本発明の態様は、媒体に体現されたコンピュータ可読プログラム・コードを有する一つ以上のコンピュータ可読媒体(群)中に具現されたコンピュータ・プログラムの形を取ることもできる。
一つ以上のコンピュータ可読媒体(群)の任意の組み合わせを用いることができる。コンピュータ可読媒体は、コンピュータ可読信号媒体、またはコンピュータ可読記憶媒体とすることができる。コンピュータ可読媒体は、例えば、以下に限らないが、電子的、磁気的、光学的、電磁気的、赤外的、または半導体のシステム、装置、またはデバイス、あるいはこれらの任意の適切な組み合わせとすることができる。コンピュータ可読記憶媒体のさらに具体的な例(限定的リスト)には、一つ以上の配線を有する電気接続、携帯コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read−only memory)、消去可能プログラム可能読み取り専用メモリ(EPROM(erasable programmable read−only memory)またはフラッシュ・メモリ)、光ファイバ、携帯コンパクト・ディスク読み取り専用メモリ(CD−ROM:compact disc read−only memory)、光記憶デバイス、磁気記憶デバイス、またはこれらの任意の適切な組み合わせが含まれよう。本文書の文脈において、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによってまたはこれらに関連させて使用するためのプログラムを、包含または格納できる任意の有形媒体とすることができる。
コンピュータ可読媒体中に具現されたプログラム・コードは、以下に限らないが、無線、有線、光ファイバ・ケーブル、RFなど、またはこれらの任意の適した組み合わせを含め、任意の適切な媒体を用いて送信することができる。本発明の態様のオペレーションを実行するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および、“C”プログラミング言語または類似のプログラミング言語などの従来式手続き型プログラミング言語を含め、一つ以上のプログラミング言語の任意の組合せで記述することができる。このプログラム・コードは、全体をユーザのコンピュータで、一部をユーザのコンピュータで、スタンドアロン・ソフトウエア・パッケージとして実行することができ、一部をユーザのコンピュータで他の部分を遠隔コンピュータで、または全体を遠隔のコンピュータまたはサーバで実行することができる。後者のシナリオでは、ローカル・エリア・ネットワーク(LAN:local area network)または広域ネットワーク(WAN:wide area network)を含む任意の種類のネットワークを介して、遠隔コンピュータをユーザのコンピュータに接続することができ、あるいは(例えばインターネット・サービス・プロバイダを使いインターネットを介し)外部のコンピュータへの接続を行うことができる。
本発明の実施形態による方法、装置(システム)およびコンピュータ・プログラムのフローチャート説明図もしくはブロック図またはその両方を参照しながら本発明の態様を上記で説明している。フローチャート説明図もしくはブロック図またはその両方の各ブロック、および、フローチャート説明図もしくはブロック図またはその両方中のブロックの組合せは、コンピュータ・プログラム命令によって実行可能であることが理解されよう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、特殊用途コンピュータ、またはマシンを形成する他のプログラム可能データ処理装置のプロセッサに供給し、コンピュータ又は他のプログラム可能データ処理装置のプロセッサを介して実行されるこれらの命令が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に規定された機能/処理を実施するための手段を生成するようにすることができる。
また、これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスに対し特定の仕方で機能するよう命令できるコンピュータ可読媒体に格納し、そのコンピュータ可読媒体に格納された命令が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に規定された機能/処理を実施する命令群を包含する製品を形成するようにすることもできる。同様に、コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードして、そのコンピュータ、または他のプログラム可能装置、または他のデバイス上で一連のオペレーション・ステップを遂行させてコンピュータ実行のプロセスを生成し、そのコンピュータまたは他のプログラム可能装置で実行される命令が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に規定された機能/処理を実施するためのプロセスを提供するようにすることもできる。
前述図面中のフローチャートおよびブロック図は、本発明のさまざまな実施形態によるシステム、方法、およびコンピュータ・プログラムの可能な実装によるアーキテクチャ、機能、およびオペレーションを例示している。これに関し、フローチャートまたはブロック図中の各ブロックは、規定された論理機能(群)を実施するための一つ以上の実行可能命令(すなわち、実行可能部分)を含むコードのモジュール、セグメント、または部分を表し得る。また、ある別な実装においては、ブロックに記載された機能が図に記載されたのと違った順序で実施され得ることに留意すべきである。例えば、関与する機能性によっては、引き続きに示された2つのブロックが、実際は実質上同時に実行されることがあり、ブロック群が時として逆の順序で実行され得る。また、ブロック図もしくはフローチャート説明図またはその両方の各ブロック、および、フローチャート説明図もしくはブロック図またはその両方中のブロックの組合せは、特定の機能または処理を遂行する特殊用途のハードウエア・ベース・システム、または特殊用途ハードウエアとコンピュータ命令との組合せによって実施できることにも留意すべきである。
本発明の一つ以上の実施形態を詳細に説明してきたが、当業者は、添付の請求項に記載された本発明の範囲から逸脱することなく、これらの実施形態に変更および脚色を加えることが可能なことをよく理解しているであろう。
100 システム
102 テープ・ライブラリ
104 VTS
106 ホスト
108 ストレージ・エリア・ネットワーク
110 ライブラリ・マネージャ
112 テープ・カートリッジ
113 テープ・ドライブ
114 アクセサ
116 マウント可能媒体
118 ネットワーク
120 制御コンソール

Claims (9)

  1. テープ媒体に格納された複数のデータ・グループのアクセス・シーケンスを決定する方法であって、
    前記複数のデータ・グループ中の、前記テープ媒体の現在位置に最も近い開始部を有するデータ・グループを、前記アクセス・シーケンスの第一データ・グループとして選定するステップと、
    残りの前記複数のデータ・グループ中の、前記アクセス・シーケンスの前記第一データ・グループの終端部に最も近い開始部を有する、データ・グループを前記アクセス・シーケンスの第二データ・グループとして選定するステップと、
    第一データ・グループ及び第二データ・グループの前記選定のように、残りの前記複数のデータ・グループに対して最後のデータ・グループに至まで後続のデータ・グループを選定するステップと、
    前記アクセス・シーケンスの前記最後のデータ・グループの位置が最短の合計シーク・タイムに対応するように前記アクセス・シーケンスを修正して、修正されたアクセス・シーケンスを生成するステップと、
    前記修正されたアクセス・シーケンスがその前に修正された前記アクセス・シーケンスと同じになるまで、前記アクセス・シーケンスの前記修正を繰り返すステップと、
    前記複数のデータ・グループの間を移動するのに要する時間に基づいて、前記アクセス・シーケンスに対する複数の合計シーク・タイムを計算するステップと
    を含む、前記方法。
  2. 残りの前記複数のデータ・グループ中の、前記アクセス・シーケンスの第(n−1)データ・グループの終端部に最も近い開始部を有する、データ・グループを前記アクセス・シーケンスの第nデータ・グループとして選定するステップをさらに含む、請求項1に記載の方法。
  3. 前記複数のデータ・グループ中に残りのデータ・グループがない場合、前記第nデータ・グループは前記アクセス・シーケンスの最後のデータ・グループである、請求項2に記載の方法。
  4. 前記複数の合計シーク・タイムの各々は、前記アクセス・シーケンスの前記最後のデータ・グループの異なった位置に対応する、請求項3に記載の方法。
  5. 複数のデータ・グループのアクセス・シーケンスを決定するプロセッサを含むコンピュータ・システムであって、
    テープ媒体に格納された複数データ・グループ中の、前記テープ媒体の現在位置に最も近い開始部を有するデータ・グループを、前記複数のデータ・グループのアクセス・シーケンスの第一データ・グループとして選定し、
    残りの前記複数のデータ・グループ中の、前記アクセス・シーケンスの前記第一データ・グループの終端部に最も近い開始部を有するデータ・グループを、前記アクセス・シーケンスの第二データ・グループとして選定し、
    第一データ・グループ及び第二データ・グループの前記選定のように、残りの前記複数のデータ・グループに対して最後のデータ・グループに至まで後続のデータ・グループを選定し、
    前記アクセス・シーケンスの前記最後のデータ・グループの位置が最短の合計シーク・タイムに対応するように前記アクセス・シーケンスを修正して、修正されたアクセス・シーケンスを生成し、
    前記修正されたアクセス・シーケンスがその前に修正された前記アクセス・シーケンスと同じになるまで、前記アクセス・シーケンスの前記修正を繰り返し、
    前記複数のデータ・グループの間を移動するのに要する時間に基づて、前記アクセス・シーケンスに対する前記複数の合計シーク・タイムを計算する
    よう構成される、前記コンピュータ・システム。
  6. 前記プロセッサは、残りの前記複数のデータ・グループ中の、前記アクセス・シーケンスの第(n−1)データ・グループの終端部に最も近い開始部を有するデータ・グループを、前記アクセス・シーケンスの第nデータ・グループとして選定するようさらに構成される、請求項に記載のコンピュータ・システム。
  7. 前記複数のデータ・グループ中に残りのデータ・グループがない場合、前記第nデータ・グループは前記アクセス・シーケンスの最後のデータ・グループである、請求項に記載のコンピュータ・システム。
  8. 前記複数の合計シーク・タイムの各々は、前記アクセス・シーケンスの前記最後のデータ・グループの異なった位置に対応する、請求項に記載のコンピュータ・システム。
  9. 複数のデータ・グループのアクセス・シーケンスを決定するためのコンピュータ・プログラムであって、
    前記複数のデータ・グループ中の、前記テープ媒体の現在位置に最も近い開始部を有するデータ・グループを、前記アクセス・シーケンスの第一データ・グループとして選定するための第一実行可能部分と、
    残りの前記複数データ・グループ中の、前記アクセス・シーケンスの前記第一データ・グループの終端部に最も近い開始部を有するデータ・グループを、前記アクセス・シーケンスの第二データ・グループとして選定するための第二実行部可能部分と、
    第一データ・グループ及び第二データ・グループの前記選定のように、残りの前記複数のデータ・グループに対して最後のデータ・グループに至まで後続のデータ・グループを選定し、
    前記アクセス・シーケンスの前記最後のデータ・グループの位置が最短の合計シーク・タイムに対応するように前記アクセス・シーケンスを修正して、修正されたアクセス・シーケンスを生成し、
    前記修正されたアクセス・シーケンスがその前に修正された前記アクセス・シーケンスと同じになるまで、前記アクセス・シーケンスの前記修正を繰り返し、
    前記複数のデータ・グループの間を移動するのに要する時間に基づて、前記アクセス・シーケンスに対する前記複数の合計シーク・タイムを計算する
    をコンピュータに実行させるコンピュータ・プログラム。
JP2011259463A 2010-12-16 2011-11-28 テープ媒体に格納されたデータのアクセス・シーケンスを決定するための方法、システム、およびコンピュータ・プログラム Expired - Fee Related JP5785484B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/970,631 US8526136B2 (en) 2010-12-16 2010-12-16 Method and system for determining access sequence of data stored on a tape medium
US12/970631 2010-12-16

Publications (2)

Publication Number Publication Date
JP2012128937A JP2012128937A (ja) 2012-07-05
JP5785484B2 true JP5785484B2 (ja) 2015-09-30

Family

ID=46234081

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011259463A Expired - Fee Related JP5785484B2 (ja) 2010-12-16 2011-11-28 テープ媒体に格納されたデータのアクセス・シーケンスを決定するための方法、システム、およびコンピュータ・プログラム

Country Status (4)

Country Link
US (2) US8526136B2 (ja)
JP (1) JP5785484B2 (ja)
CN (1) CN102591795B (ja)
TW (1) TWI515723B (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8867160B2 (en) 2012-08-09 2014-10-21 International Business Machines Corporation Reducing total seek time for determining an access sequence of data stored on a tape medium
JP5999650B2 (ja) 2013-03-14 2016-09-28 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープ上の複数のレコード群の読み出し順序を検索する方法、プログラム
US9513818B2 (en) * 2014-05-28 2016-12-06 Oracle International Corporation Tape drives generating best access order of randomly stored files on a tape
US10229718B1 (en) 2018-06-05 2019-03-12 International Business Machines Corporation Shortening the average reposition time to the beginning of files in a magnetic tape
WO2020195639A1 (ja) 2019-03-27 2020-10-01 富士フイルム株式会社 導出装置、導出方法、導出プログラム、及び磁気テープ
US11494445B2 (en) 2019-09-11 2022-11-08 International Business Machines Corporation Group-based tape storage access ordering
US11061579B2 (en) 2019-09-11 2021-07-13 International Business Machines Corporation Access ordering for tape cycle optimization
US11386925B2 (en) 2020-08-25 2022-07-12 Western Digital Technologies, Inc. Data storage device compensating for head/tape wear
WO2022044603A1 (ja) * 2020-08-27 2022-03-03 富士フイルム株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
US11640373B2 (en) 2020-12-10 2023-05-02 International Business Machines Corporation Reordering files
US11599305B2 (en) 2021-05-11 2023-03-07 Western Digital Technologies, Inc. Data storage device using predefined data segments for logical address mapping
US11809731B2 (en) * 2021-09-28 2023-11-07 International Business Machines Corporation Appending data to a tape cartridge during recall operations
US11657848B1 (en) 2022-02-24 2023-05-23 Western Digital Technologies, Inc. Data access and logical mapping for magnetic disks
WO2024056163A1 (en) * 2022-09-14 2024-03-21 Huawei Technologies Co., Ltd. Method and apparatus for quoting data on magnetic tape storing deduplicated data
US20240094949A1 (en) * 2022-09-15 2024-03-21 International Business Machines Corporation Read order determination on a tape

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4858039A (en) * 1988-02-04 1989-08-15 Archive Corporation Streaming tape drive with direct block addressability
US5845316A (en) * 1996-05-23 1998-12-01 Lucent Technologies Inc. Scheduling random I/O for data storage tape
US6349356B2 (en) * 1997-12-10 2002-02-19 International Business Machines Corporation Host-available device block map for optimized file retrieval from serpentine tape drives
JP2000048549A (ja) * 1998-08-03 2000-02-18 Fujitsu Ltd テープ装置
US7236322B2 (en) * 2003-08-20 2007-06-26 International Business Machines Corporation Method, system, and program for storing data in a storage medium
US9036286B2 (en) * 2008-12-25 2015-05-19 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Reading data stored in recording medium

Also Published As

Publication number Publication date
TW201230018A (en) 2012-07-16
JP2012128937A (ja) 2012-07-05
US8537490B2 (en) 2013-09-17
TWI515723B (zh) 2016-01-01
CN102591795A (zh) 2012-07-18
CN102591795B (zh) 2015-07-22
US20120250176A1 (en) 2012-10-04
US20120154946A1 (en) 2012-06-21
US8526136B2 (en) 2013-09-03

Similar Documents

Publication Publication Date Title
JP5785484B2 (ja) テープ媒体に格納されたデータのアクセス・シーケンスを決定するための方法、システム、およびコンピュータ・プログラム
US9754628B2 (en) Reducing total seek time for determining an access sequence of data stored on a tape medium
US8654476B2 (en) Method and system for operating a tape drive
JP5621909B2 (ja) 情報処理装置、ストレージシステムおよび書き込み制御方法
JP4843604B2 (ja) データ・ストレージ装置からデータ・ストレージ装置特有情報を得るための方法及びシステム
JP3175371B2 (ja) データ記憶フォーマット変換方式及びその変換方法及びアクセス制御装置及びデータアクセス方法
US8082388B2 (en) Optimizing operational requests of logical volumes
JP2006146833A (ja) ディスク装置の整合性検査支援方法およびディスクアレイ装置の整合性検査方法
US20130185507A1 (en) Writing adjacent tracks to a stride, based on a comparison of a destaging of tracks to a defragmentation of the stride
JP2008146408A (ja) データ記憶装置、そのデータ再配置方法、プログラム
US10346051B2 (en) Storage media performance management
US20130246886A1 (en) Storage control apparatus, storage system, and storage control method
TWI820689B (zh) 磁帶庫階層式儲存管理之方法、相關電腦程式產品及電腦系統
JP6011153B2 (ja) ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
KR20030009047A (ko) 자기 디스크장치, 데이터 기록방법 및 데이터 재생방법
JP3421898B2 (ja) データ記録装置およびデータ管理方法
JP2012247817A (ja) ストレージ制御装置、ストレージ装置及びパトロール診断方法
US8488265B2 (en) Tape storage processing
US20110222388A1 (en) Odd raid driving method
CN115087962A (zh) 用于全跨度降级的抢先升级
JP6928249B2 (ja) ストレージ制御装置およびプログラム
JP2003044227A (ja) 情報記録装置
JP6307996B2 (ja) ストレージ管理装置及びストレージ管理プログラム
JP2023130038A (ja) ディスクアレイ装置、負荷分散方法、及び負荷分散プログラム
JP2004157859A (ja) データストレージ装置及びデータストレージ方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150403

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150707

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150724

R150 Certificate of patent or registration of utility model

Ref document number: 5785484

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees