(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-15
(54)【発明の名称】リニア・テープ・ファイル・システムに基づくストレージ・システムからランダム・アクセス不揮発性メモリ・ドライブへのデータのコピー
(51)【国際特許分類】
G11B 20/10 20060101AFI20231208BHJP
G11B 27/00 20060101ALI20231208BHJP
G06F 3/06 20060101ALI20231208BHJP
G06F 16/13 20190101ALI20231208BHJP
G06F 16/14 20190101ALI20231208BHJP
【FI】
G11B20/10 301Z
G11B27/00 C
G06F3/06 303E
G06F3/06 304F
G06F16/13
G06F16/14
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023530252
(86)(22)【出願日】2021-11-17
(85)【翻訳文提出日】2023-05-18
(86)【国際出願番号】 EP2021081990
(87)【国際公開番号】W WO2022117344
(87)【国際公開日】2022-06-09
(32)【優先日】2020-12-01
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】三間 慎介
(72)【発明者】
【氏名】宮村 剛志
(72)【発明者】
【氏名】板垣 浩
(72)【発明者】
【氏名】長谷川 徹
(72)【発明者】
【氏名】山本 紀子
(72)【発明者】
【氏名】松井 壮介
(72)【発明者】
【氏名】安部 敦
【テーマコード(参考)】
5D044
5D110
【Fターム(参考)】
5D044AB01
5D044BC01
5D044CC02
5D044DE03
5D044DE12
5D044DE17
5D044DE22
5D044DE32
5D044DE37
5D044DE46
5D044DE54
5D110AA02
5D110DA01
5D110DA03
5D110DA04
5D110DA09
5D110DA11
5D110DB08
5D110DC07
5D110FA08
(57)【要約】
コンピュータ実装方法は、リニア・テープ・ファイル・システム(LTFS)に基づくストレージ・システムに格納されたデータを、ランダム・アクセス不揮発性メモリ(RANVM)ドライブのブロックにコピーすることを含む。データは、ドライブのブロックの単位でコピーされる。この方法は、ドライブ上のコピーされたデータが1つまたは複数のファイルとしてアクセス可能になるように、ファイル・メタデータを構築することをさらに含む。
【特許請求の範囲】
【請求項1】
リニア・テープ・ファイル・システム(LTFS)に基づくストレージ・システムに格納されたデータを、ランダム・アクセス不揮発性メモリ(RANVM)ドライブのブロックにコピーすることであって、前記データが前記ドライブの前記ブロックの単位でコピーされる、前記コピーすることと、
前記ドライブ上の前記コピーされたデータが1つまたは複数のファイルとしてアクセス可能になるように、ファイル・メタデータを構築することと
を含む、コンピュータ実装方法。
【請求項2】
前記データが、前記LTFSに基づくストレージ・システム上のブロックに格納され、LTFS内の前記ブロックの各々のサイズが、前記ドライブの前記ブロックのうちの1つのサイズの整数倍である、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記ドライブの前記ブロックにコピーされた前記データが、前記LTFSに基づくストレージ・システムの磁気記録テープの第1の端部と前記磁気記録テープの第2の端部の間に格納されたすべてのデータを含み、前記ドライブの前記ブロックへの前記磁気記録テープ上の前記データの前記コピー中に前記磁気記録テープ上でデータ・シーク動作が実行されない、請求項1または2に記載のコンピュータ実装方法。
【請求項4】
前記データの前記コピー中に対応関係テーブルを作成することをさらに含み、前記対応関係テーブルがLTFS内のデータ位置を前記ドライブ上のデータ位置にマッピングする、請求項1ないし3のいずれか一項に記載のコンピュータ実装方法。
【請求項5】
前記データがファイル・データを含み、前記ドライブの前記ブロックに前記データをコピーする前に、前記ファイル・データを前記LTFSに基づくストレージ・システム上のブロックに書き込むことを含み、前記ファイル・データが前記LTFSに基づくストレージ・システム上の前記ブロックに書き込まれる位置が、前記ドライブによってファイル・データが管理されるのと同じ方法で、ブロック番号に従って、前記LTFSに基づくストレージ・システムによって管理される、請求項1に記載のコンピュータ実装方法。
【請求項6】
LTFS内のブロックへの前記ファイル・データの前記書き込み中に、前記ファイル・データの境界が、前記ドライブ上の前記ブロックのサイズに揃えられる、請求項5に記載のコンピュータ実装方法。
【請求項7】
前記LTFSに基づくストレージ・システム上の前記ファイル・データのブロック・オフセットが、前記ブロック・オフセットおよび前記ドライブの前記ブロックのうちの1つの前記サイズの商の余りが、前記LTFSに基づくストレージ・システム上の前記ファイル・データのオフセットおよび前記ドライブの前記ブロックのうちの1つの前記サイズの商の余りに等しくなるように調整される、請求項6に記載のコンピュータ実装方法。
【請求項8】
前記データが複数のファイルのファイル・データを含み、前記ドライブの前記ブロックに前記データをコピーする前に、前記ファイル・データを前記LTFSに基づくストレージ・システム上のブロックに書き込むことを含み、前記LTFSに基づくストレージ・システム上のブロックへの前記ファイル・データの前記書き込み中に、前記ファイル・データの境界が前記ドライブ上の前記ブロックのサイズに揃えられる、請求項1に記載のコンピュータ実装方法。
【請求項9】
前記データが、前記LTFSに基づくストレージ・システム上で実行された上書き動作から生じる少なくとも一部の無効化されたデータを含む、請求項1に記載のコンピュータ実装方法。
【請求項10】
プログラム命令が具現化されているコンピュータ可読記憶媒体を備えているコンピュータ・プログラム製品であって、前記プログラム命令が、コントローラによって読み取り可能または実行可能あるいはその両方であり、前記コントローラに、
前記コントローラによって、リニア・テープ・ファイル・システム(LTFS)に基づくストレージ・システムに格納されたデータを、ランダム・アクセス不揮発性メモリ(RANVM)ドライブのブロックにコピーすることであって、前記データが前記ドライブの前記ブロックの単位でコピーされる、前記コピーすることと、
前記コントローラによって、前記ドライブ上の前記コピーされたデータが1つまたは複数のファイルとしてアクセス可能になるように、ファイル・メタデータを構築することと
を実行させる、コンピュータ・プログラム製品。
【請求項11】
前記データが、前記LTFSに基づくストレージ・システム上のブロックに格納され、LTFS内の前記ブロックの各々のサイズが、前記ドライブの前記ブロックのうちの1つのサイズの整数倍である、請求項10に記載のコンピュータ・プログラム製品。
【請求項12】
前記ドライブの前記ブロックにコピーされた前記データが、前記LTFSに基づくストレージ・システムの磁気記録テープの第1の端部と前記磁気記録テープの第2の端部の間に格納されたすべてのデータを含み、前記ドライブの前記ブロックへの前記磁気記録テープ上の前記データの前記コピー中に前記磁気記録テープ上でデータ・シーク動作が実行されない、請求項10または11に記載のコンピュータ・プログラム製品。
【請求項13】
前記プログラム命令が、前記コントローラによって読み取り可能または実行可能あるいはその両方であり、前記コントローラに、前記コントローラによって前記データの前記コピー中に対応関係テーブルを作成することを実行させ、前記対応関係テーブルがLTFS内のデータ位置を前記ドライブ上のデータ位置にマッピングする、請求項10ないし12のいずれか一項に記載のコンピュータ・プログラム製品。
【請求項14】
前記データがファイル・データを含み、前記プログラム命令が、前記コントローラによって読み取り可能または実行可能あるいはその両方であり、前記コントローラに、前記コントローラによって、前記ドライブの前記ブロックに前記データをコピーする前に、前記ファイル・データを前記LTFSに基づくストレージ・システム上のブロックに書き込むことを実行させ、前記ファイル・データが前記LTFSに基づくストレージ・システム上の前記ブロックに書き込まれる位置が、前記ドライブによってファイル・データが管理されるのと同じ方法で、ブロック番号に従って、前記LTFSに基づくストレージ・システムによって管理される、請求項10に記載のコンピュータ・プログラム製品。
【請求項15】
LTFS内のブロックへの前記ファイル・データの前記書き込み中に、前記ファイル・データの境界が、前記ドライブ上の前記ブロックのサイズに揃えられる、請求項14に記載のコンピュータ・プログラム製品。
【請求項16】
前記LTFSに基づくストレージ・システム上の前記ファイル・データのブロック・オフセットが、前記ブロック・オフセットおよび前記ドライブの前記ブロックのうちの1つの前記サイズの商の余りが、前記LTFSに基づくストレージ・システム上の前記ファイル・データのオフセットおよび前記ドライブの前記ブロックのうちの1つの前記サイズの商の余りに等しくなるように調整される、請求項15に記載のコンピュータ・プログラム製品。
【請求項17】
前記データが複数のファイルのファイル・データを含み、前記プログラム命令が、前記コントローラによって読み取り可能または実行可能あるいはその両方であり、前記コントローラに、前記コントローラによって、前記ドライブの前記ブロックに前記データをコピーする前に、前記ファイル・データを前記LTFSに基づくストレージ・システム上のブロックに書き込むことを実行させ、前記LTFSに基づくストレージ・システム上のブロックへの前記ファイル・データの前記書き込み中に、前記ファイル・データの境界が前記ドライブ上の前記ブロックのサイズに揃えられる、請求項10に記載のコンピュータ・プログラム製品。
【請求項18】
前記データが、前記LTFSに基づくストレージ・システム上で実行された上書き動作から生じる少なくとも一部の無効化されたデータを含む、請求項10に記載のコンピュータ・プログラム製品。
【請求項19】
プロセッサと、
前記プロセッサと統合されたか、前記プロセッサによって実行可能であるか、または前記プロセッサと統合され、前記プロセッサによって実行可能である論理と
を備えているシステムであって、前記論理が、
リニア・テープ・ファイル・システム(LTFS)に基づくストレージ・システムに格納されたデータを、ランダム・アクセス不揮発性メモリ(RANVM)ドライブのブロックにコピーすることであって、前記データが前記ドライブの前記ブロックの単位でコピーされる、前記コピーすることと、
前記ドライブ上の前記コピーされたデータが1つまたは複数のファイルとしてアクセス可能になるように、ファイル・メタデータを構築することと
を実行するように構成される、システム。
【請求項20】
前記データが、前記LTFSに基づくストレージ・システム上のブロックに格納され、LTFS内の前記ブロックの各々のサイズが、前記ドライブの前記ブロックのうちの1つのサイズの整数倍である、請求項19に記載のシステム。
【請求項21】
前記ドライブの前記ブロックにコピーされた前記データが、前記LTFSに基づくストレージ・システムの磁気記録テープの第1の端部と前記磁気記録テープの第2の端部の間に格納されたすべてのデータを含み、前記ドライブの前記ブロックへの前記磁気記録テープ上の前記データの前記コピー中に前記磁気記録テープ上でデータ・シーク動作が実行されない、請求項19または20に記載のシステム。
【請求項22】
前記論理が、前記データの前記コピー中に対応関係テーブルを作成するように構成され、前記対応関係テーブルがLTFS内のデータ位置を前記ドライブ上のデータ位置にマッピングする、請求項19ないし21のいずれか一項に記載のシステム。
【請求項23】
前記データがファイル・データを含み、前記論理が、前記ドライブの前記ブロックに前記データをコピーする前に、前記ファイル・データを前記LTFSに基づくストレージ・システム上のブロックに書き込むように構成され、前記ファイル・データが前記LTFSに基づくストレージ・システム上の前記ブロックに書き込まれる位置が、前記ドライブによってファイル・データが管理されるのと同じ方法で、ブロック番号に従って、前記LTFSに基づくストレージ・システムによって管理される、請求項19に記載のシステム。
【請求項24】
LTFS内のブロックへの前記ファイル・データの前記書き込み中に、前記ファイル・データの境界が、前記ドライブ上の前記ブロックのサイズに揃えられる、請求項23に記載のシステム。
【請求項25】
前記LTFSに基づくストレージ・システム上の前記ファイル・データのブロック・オフセットが、前記ブロック・オフセットおよび前記ドライブの前記ブロックのうちの1つの前記サイズの商の余りが、前記LTFSに基づくストレージ・システム上の前記ファイル・データのオフセットおよび前記ドライブの前記ブロックのうちの1つの前記サイズの商の余りに等しくなるように調整される、請求項24に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、データ・ストレージ・システムに関し、より詳細には、リニア・テープ・ファイル・システム(LTFS:Linear Tape File System)に基づくストレージ・システムからランダム・アクセス不揮発性メモリ(RANVM:Random Access Nonvolatile Memory)ドライブにデータをコピーすることに関する。
【背景技術】
【0002】
一部のデータ・ストレージの設定では、データが、オンプレミス環境に存在することから、クラウドベースの環境に最終的にシフトされる。一部の環境では、このシフトは、比較的大きい量のデータを移行することを含むことがある。一部のクラウド・ベンダーは、そのようなシフトの間にデータを効率的に移行することにおける重要性を認識し、議論している。特に、基本的にネットワークを介してデータ転送が行われるが、一時的データ移動のための回線の強化が非現実的であることがあり、物流によるオフラインのデータ転送手段が導入されることが議論された。一部のクラウド・ベンダーは、データ転送専用に使用される装置のオリジナルの開発によってサービスを提供する。一方、他のクラウド・ベンダーは、LTFSを使用してデータ転送サービスを提供する。一部の手法では、LTFSを使用することによって、相対的に膨大な量のデータをあるシステムから別のシステムに転送するための方法も標準化されている。一部のクラウド・ベンダーは、物流によって配達されたデータの、データの受け取りから24時間以内のオンラインのアクセス性を保証する。移行されるデータ・ボリュームのサイズに関係なく、そのような保証が行われるということに、注意することは重要である。そのような保証を確保することは、通常、単位時間当たりに物流から受け取られるデータの量に加えて、単位時間当たりにオンライン・システムにコピーされ得る受け取られたデータの量を考慮することを含む。前者の指標が後者の指標を超えるのを防ぐことによって、システムを構築し、維持し、管理するために、これらの指標の考慮が行われることがある。例えば、LTFSをデータ転送に使用するための動作は、1日に受け取られたテープ・カートリッジの範囲が1日以内に処理され得るように、複数のテープ・ドライブを確保することを含んでよい。そのような例では、データ・コピーを実行するための予測される時間に加えて、データが相対的に短い期間内にコピーされるという仕様が要求されることがある。この動作は、そのような要求が存在する環境において特に役立ち得る。
【0003】
LTFSは、一部の従来のデータ・ストレージ技術と比較して、テープ処理を簡略化するが、ストレージ・デバイス内のテープの使用に起因する一部の特性は、同じままである。ファイルがHDDまたは磁気テープなどの磁気ストレージ・デバイスから読み取られる場合、データを読み取るために、デバイス(例えば、デバイスのヘッド)が、ファイル・データが格納されている位置に揃えられる。このプロセスは、シークとしても知られている。HDD内のシーク動作は、数センチメートルの直径を有するディスク上の、ヘッドを含むアームの移動のみを含み、したがってシークは、実行されるのに、最大で数10ミリ秒しかかからないことがある。これに対して、磁気テープ上のシーク動作は、1000メートルを超える長さを有する可能性がある磁気テープの巻き取りを含む。したがって、磁気テープ上のシーク動作は、HDD内のシーク動作よりも、実行するのに相対的にはるかに長い時間がかかる可能性がある。相対的に大きいファイルが、LTFSに基づくストレージ・システムからHDDにコピーされる場合、これらの相対的に長いシーク時間が、かなりの量の時間をデータ・コピー・プロセスに追加する可能性がある。
【発明の概要】
【0004】
1つの態様によるコンピュータ実装方法は、リニア・テープ・ファイル・システム(LTFS)に基づくストレージ・システムに格納されたデータを、ランダム・アクセス不揮発性メモリ(RANVM)ドライブのブロックにコピーすることを含む。データは、ドライブのブロックの単位でコピーされる。この方法は、ドライブ上のコピーされたデータが1つまたは複数のファイルとしてアクセス可能になるように、ファイル・メタデータを構築することをさらに含む。データは、データがドライブの単位でコピーされることに基づいて、LTFSに基づくストレージ・システムからRANVMドライブのブロックに効率的にコピーされる。これは、別の方法では、データのファイルの単位でLTFSに基づくストレージ・システムからドライブにデータをコピーすることが、データ・コピーを実行するために必要とされる時間を最終的に増やすデータ・シーク動作が実行されることを利用するためである。磁気テープ上のこれらのシーク動作は、1000メートルを超える長さを有する可能性がある磁気テープの巻き取りを含む。相対的に大きいファイルがLTFSに基づくストレージ・システムからドライブにコピーされる場合、これらの相対的に長いシーク時間は、かなりの量の時間をデータ・コピー・プロセスに追加する可能性がある。しかし、本手法では、ドライブのブロックへの磁気記録テープ上のデータのコピー中に、例えば、LTFSに基づくストレージ・システムのテープ上で、コピーされるデータのインスタンスの開始位置を決定するため、コピーされるデータのインスタンスの終了位置を決定するため、分割されたデータまたは断片化されたデータ・ファイルあるいはその両方の位置を決定するため、などのために、磁気記録テープ上でデータ・シーク動作が実行されなくてよい。したがって、これらのシーク動作のうちの少なくとも一部を回避することによって、ファイル・データをLTFSに基づくストレージ・システムからドライブにコピーすることがデータ・シークを実行することを含んでいた場合に消費される時間の量よりも大幅に少ない時間で、ファイル・データがLTFSに基づくストレージ・システムからドライブにコピーされる。例えば、各回避されたシーク動作は、最大で約数10秒、コピー・プロセスの時間を減らし得る。
【0005】
データのコピー中に、対応関係テーブルが作成されてよい。対応関係テーブルは、LTFS内のデータ位置をドライブ上のデータ位置にマッピングしてよい。したがって、対応関係テーブルは、LTFSに基づくストレージ・システムのブロック上のいずれかの位置にあるデータをコピーするために、ドライブ上のどの位置が使用されるかを理解するために使用されてよい。
【0006】
別の態様によるコンピュータ・プログラム製品は、プログラム命令が具現化されているコンピュータ可読記憶媒体を含む。これらのプログラム命令は、コントローラに前述の方法を実行させるために、コントローラによって読み取り可能または実行可能あるいはその両方である。
【0007】
別の態様によるシステムは、プロセッサ、およびプロセッサに統合された論理、プロセッサによって実行可能な論理、またはプロセッサに統合され、プロセッサによって実行可能な論理を含む。この論理は、前述の方法を実行するように構成される。
【0008】
これらの手法のいずれかは、磁気ヘッド、磁気媒体(例えば、記録テープ)を磁気ヘッドの上に通すための駆動機構、および磁気ヘッドに電気的に結合されたコントローラを含み得る、テープ・ドライブ・システムなどの磁気データ・ストレージ・システムにおいて実装されてよい。
【0009】
本発明の他の態様および手法は、本発明の原理を図面と併せて例として説明する、以下の詳細な説明から明らかになる。
【図面の簡単な説明】
【0010】
【
図1A】1つの手法による、簡略化されたテープ・ドライブ・システムの概略図である。
【
図1B】1つの手法による、テープ・カートリッジの概略図である。
【
図2A】1つの手法による、フラットラップ型、双方向2モジュールの磁気テープ・ヘッドの側面図を示す図である。
【
図2B】
図2Aの線2Bから取られたテープ支持面の図である。
【
図2D】モジュールの対の部分的なテープ支持面の詳細な図である。
【
図3】書き込み-読み取り-書き込み構成を有する磁気ヘッドの部分的なテープ支持面の図である。
【
図4】読み取り-書き込み-読み取り構成を有する磁気ヘッドの部分的なテープ支持面の図である。
【
図5】1つの手法による、3つのモジュールを含む磁気テープ・ヘッドの側面図であり、これらすべてのモジュールは、通常、ほぼ平行な平面に沿って存在する。
【
図6】接線(傾斜)構成で3つのモジュールを含む磁気テープ・ヘッドの側面図である。
【
図7】オーバーラップ構成で3つのモジュールを含む磁気テープ・ヘッドの側面図である。
【
図8A】テープ・テンティングの原理を示す概略図である。
【
図8B】テープ・テンティングの原理を示す概略図である。
【
図8C】テープ・テンティングの原理を示す概略図である。
【
図9】1つの手法による、磁気テープに格納されたファイルおよびインデックスを表す図である。
【
図10】1つの手法による、層型データ・ストレージ・システムの図である。
【
図11】1つの手法による、方法のフローチャートである。
【
図12】1つの手法による、LTFSに基づくストレージ・システムからRANVMドライブのブロックにデータをコピーする状態の表現の図である。
【
図13A】1つの手法による、LTFSに基づくストレージ・システムおよび対応関係テーブルの状態を示す図である。
【
図13B】
図13AのLTFSに基づくストレージ・システムからRANVMドライブのブロックにデータをコピーする状態を示す図である。
【
図13C】
図13A~13BのLTFSに基づくストレージ・システムおよび
図13Aの対応関係テーブルの状態を示す図である。
【
図13D】
図13A~13CのLTFSに基づくストレージ・システムから
図13BのRANVMドライブのブロックにデータをコピーする状態を示す図である。
【
図13E】
図13A~13DのLTFSに基づくストレージ・システムから、ファイル・アロケーション・テーブル(FAT:File Allocation Table)である送信先ファイル・システムにデータをコピーする状態を示す図である。
【
図14A】1つの手法による、LTFSに基づくストレージ・システムおよび対応関係テーブルの状態を示す図である。
【
図14B】
図14AのLTFSに基づくストレージ・システムおよび対応関係テーブルの状態を示す図である。
【
図14C】
図14AのLTFSに基づくストレージ・システムからRANVMドライブのブロックにデータをコピーする状態を示す図である。
【
図14D】
図14A~14CのLTFSに基づくストレージ・システムおよび
図14A~14Bの対応関係テーブルの状態を示す図である。
【
図14E】
図14A~14DのLTFSに基づくストレージ・システムからRANVMドライブのブロックにデータをコピーする状態を示す図である。
【
図14F】
図14A~14DのLTFSに基づくストレージ・システムから、FATである送信先ファイル・システムにデータをコピーする状態を示す図である。
【
図15】1つの手法による、疑似コードのサンプルの図である。
【発明を実施するための形態】
【0011】
以下の説明は、本発明の一般的原理を説明する目的で行われるのであり、本明細書において請求される本発明の概念を限定するよう意図されていない。さらに、本明細書に記載された特定の特徴を、さまざまな可能な組合せおよび並べ替えの各々において、他の説明された特徴と組み合わせて使用することができる。
【0012】
本明細書では、特に具体的に定義されない限り、すべての用語には、本明細書から暗示される意味、および当業者によって理解される意味、または辞書、論文などにおいて定義された意味、あるいはその両方を含む、最も広い可能な解釈が与えられる。
【0013】
本明細書および添付の特許請求の範囲において使用されるとき、単数形「a」、「an」、および「the」が、特に規定されない限り、複数の指示対象を含むということにも注意しなければならない。
【0014】
以下の説明は、データ・ストレージ・システムおよびその動作または構成部品あるいはその両方の複数の好ましい手法を開示する。
【0015】
1つの一般的な手法では、コンピュータ実装方法は、リニア・テープ・ファイル・システム(LTFS)に基づくストレージ・システムに格納されたデータを、ランダム・アクセス不揮発性メモリ(RANVM)ドライブのブロックにコピーすることを含む。データは、ドライブのブロックの単位でコピーされる。この方法は、ドライブ上のコピーされたデータが1つまたは複数のファイルとしてアクセス可能になるように、ファイル・メタデータを構築することをさらに含む。
【0016】
別の一般的な手法では、コンピュータ・プログラム製品は、プログラム命令が具現化されているコンピュータ可読記憶媒体を含む。これらのプログラム命令は、コントローラに前述の方法を実行させるために、コントローラによって読み取り可能または実行可能あるいはその両方である。
【0017】
別の一般的な手法では、システムは、プロセッサ、およびプロセッサと統合された論理、プロセッサによって実行可能な論理、またはプロセッサと統合され、プロセッサによって実行可能な論理を含む。この論理は、前述の方法を実行するように構成される。
【0018】
図A1は、本発明との関連において採用されてよい、テープに基づくデータ・ストレージ・システムの簡略化されたテープ・ドライブ100を示している。
図1Aではテープ・ドライブの1つの特定の実装が示されているが、本明細書に記載された手法が、任意の種類のテープ・ドライブ・システムとの関連において実装されてよいということに、注意するべきである。
【0019】
図に示されているように、テープ122を支えるために、テープ供給カートリッジ120および巻き取りリール121が提供される。リールのうちの1つまたは複数は、取り外し可能なカートリッジの一部を形成してよく、必ずしもテープ・ドライブ100の一部ではない。
図1Aに示されているようなテープ・ドライブは、テープ供給カートリッジ120および巻き取りリール121を駆動して、テープ122を任意の種類のテープ・ヘッド126の上で移動するための駆動モータをさらに含んでよい。そのようなヘッドは、読み取り変換器(リーダとも呼ばれる)、書き込み変換器(従来技術においてライタとしても知られる)、またはその両方のアレイを含んでよい。
【0020】
ガイド125は、テープ・ヘッド126を横切ってテープ122を誘導する。次に、そのようなテープ・ヘッド126は、ケーブル130を介してコントローラ128に結合される。コントローラ128は、ドライブ100の任意のサブシステムを制御するためのプロセッサまたは任意の論理あるいはその両方であるか、またはこれらを含んでよい。例えば、コントローラ128は、通常、データ書き込み、データ読み取りなどに従って、サーボなどのヘッド機能を制御する。コントローラ128は、少なくとも1つのサーボ・チャネルおよび少なくとも1つのデータ・チャネルを含んでよく、これらのチャネルの各々は、テープ122への書き込みまたはテープ122からの読み取りあるいはその両方が行われる情報を処理するか、または格納するか、あるいはその両方を行うように構成されたデータ・フロー処理論理を含む。コントローラ128は、従来技術において知られた論理、および本明細書で開示された任意の論理の下で動作してよく、したがって、さまざまな手法では、本明細書に含まれているテープ・ドライブの説明のいずれかに関して、プロセッサと見なされてよい。コントローラ128は、コントローラ128によって実行可能な命令を格納し得る任意の既知の種類のメモリ136に結合されてよい。さらに、コントローラ128は、本明細書において提示された方法の一部または全部を実行または制御するように、構成されるか、またはプログラム可能であるか、あるいはその両方であってよい。したがって、コントローラ128は、1つまたは複数のチップ、モジュール、またはブロック、あるいはその組合せにプログラムされた論理、1つまたは複数のプロセッサで使用可能なソフトウェア、ファームウェア、または他の命令、あるいはその組合せなど、およびこれらの組合せとして、さまざまな動作を実行するように構成されると考えられてよい。
【0021】
ケーブル130は、テープ122上に記録されるデータをテープ・ヘッド126に送信するため、およびテープ・ヘッド126によってテープ122から読み取られたデータを受信するために、読み取り/書き込み回路を含んでよい。アクチュエータ132は、テープ122と相対的なテープ・ヘッド126の位置を制御する。
【0022】
インターフェイス134は、当業者によってすべて理解されるであろうように、テープ・ドライブ100とホスト(内部または外部)の間でデータを送受信する通信のため、ならびにテープ・ドライブ100の動作を制御するため、およびテープ・ドライブ100の状態をホストに伝達するために、提供されてもよい。
【0023】
図1Bは、1つの手法による、例示的なテープ・カートリッジ150を示している。そのようなテープ・カートリッジ150は、
図1Aに示されているシステムなどのシステムと共に使用されてよい。図に示されているように、テープ・カートリッジ150は、筐体152と、筐体152内のテープ122と、筐体152に結合された不揮発性メモリ156とを含んでいる。一部の手法では、不揮発性メモリ156は、
図1Bに示されているように、筐体152内に組み込まれてよい。その他の手法では、不揮発性メモリ156は、筐体152を変更することなく、筐体152の内側または外側に取り付けられてよい。例えば、不揮発性メモリは、粘着ラベル154内に組み込まれてよい。1つの好ましい手法では、不揮発性メモリ156は、フラッシュ・メモリ・デバイス、読み取り専用メモリ(ROM:read-only memory)デバイスなどであってよく、テープ・カートリッジ150の内側または外側に組み込まれるか、または結合されてよい。不揮発性メモリは、テープ・ドライブおよびテープ・オペレーティング・ソフトウェア(ドライバ・ソフトウェア)、または別のデバイス、あるいはその組合せによってアクセス可能である。
【0024】
例として、
図2Aは、本発明との関連において実装されてよい、フラットラップ型、双方向2モジュールの磁気テープ・ヘッド200の側面図を示している。図に示されているように、ヘッドは、基部202の対を含んでおり、各基部202はモジュール204を備えており、互いに対して小角度αで固定されている。これらの基部は、一緒に接着結合された「U型桁」であってよい。各モジュール204は、基板204Aおよびクロージャ204Bを、一般に「ギャップ」と呼ばれる薄膜部分と共に含んでおり、このギャップ内に読み取り変換器または書き込み変換器あるいはその両方206が形成される。使用中に、図に示された方法で、読み取り変換器および書き込み変換器を使用してテープ208上のデータを読み取るため、および書き込むために、テープ208が、媒体(テープ)支持面209に沿ってモジュール204の上を移動される。平坦な媒体支持面209の上に移動して出るテープ208のエッジでの巻き角度θは、通常、約0.1度から約3度の間である。
【0025】
基板204Aは、通常、セラミックなどの耐摩耗材料で構成される。クロージャ204Bは、基板204Aと同じセラミックまたは類似するセラミックで作られていてよい。
【0026】
読み取り変換器および書き込み変換器は、ピギーバック構成または融合された構成で配置されてよい。例示的なピギーバック構成は、(磁気的にシールドされた)読み取り変換器(例えば、磁気抵抗リーダなど)の上(または下)に(磁気的に誘導性の)書き込み変換器を備え、書き込み変換器の磁極および読み取り変換器のシールドが、通常は分離される。例示的な融合された構成は、1つのライタの磁極と同じ物理的層内に1つのリーダのシールドを備える(したがって、「融合」されている)。読み取り変換器および書き込み変換器は、交互配置された構成で配置されてもよい。代替として、チャネルの各アレイは、読み取り変換器のみまたは書き込み変換器のみであってよい。これらのアレイのいずれかは、媒体上のサーボ・データを読み取るために、1つまたは複数のサーボ・リーダを含んでよい。
【0027】
図2Bは、
図2Aの線2Bから取られたモジュール204のうちの1つのテープ支持面209を示している。代表的なテープ208が、破線で示されている。モジュール204は、ヘッドがデータ・バンド間を移動するときに、テープを支持できるほど十分に長いのが好ましい。
【0028】
この例では、テープ208は、4本から32本のデータ・バンドを含み、例えば
図2Bに示されているように、2分の1インチ(1.27cm)幅のテープ208上に、16本のデータ・バンドおよび17本のサーボ・トラック210を含む。データ・バンドは、サーボ・トラック210間で定義される。各データ・バンドは、複数のデータ・トラック(例えば、1024本のデータ・トラック(図示せず))を含んでよい。読み取り/書き込み動作中に、読み取り変換器または書き込み変換器あるいはその両方206は、データ・バンドのうちの1つに含まれる特定のトラック位置に配置される。外側のリーダ(サーボ・リーダと呼ばれることがある)が、サーボ・トラック210を読み取る。次に、読み取り/書き込み動作中に、読み取り変換器または書き込み変換器あるいはその両方206が特定のトラックのセットに揃えられた状態を保つために、従来の方法でサーボ信号が使用される。
【0029】
図2Cは、
図2Bの円2C内のモジュール204上のギャップ218内に形成された、複数の読み取り変換器または書き込み変換器あるいはその両方206を示している。
図2Cに示されているように、読み取り変換器および書き込み変換器のアレイ206は、例えば、16個の書き込み変換器214、16個の読み取り変換器216、および2個のサーボ・リーダ212を含んでいるが、これらの素子の数は変わることがある。例示的な手法は、1つのアレイにつき、8個、16個、32個、40個、および64個のアクティブな読み取り変換器または書き込み変換器あるいはその両方206を含み、代替として、交互配置された設計は、17個、25個、33個などの奇数個の読み取り変換器または書き込み変換器を含む。例示的な手法は、1つのアレイにつき32個の読み取り変換器または1つのアレイにつき32個の書き込み変換器あるいはその両方を含み、変換素子の実際の数は、さらに多い(例えば33個、34個など)ことがある。複数の同時に操作される変換器は、高いデータ転送速度を維持しながら、テープが適度な速度で移動できるようにする。速度によって引き起こされる追跡の機械的な困難さを軽減するために、より低い速度が望ましい。
【0030】
図2Cに示されているように、読み取り変換器および書き込み変換器はピギーバック構成で配置されてよいが、読み取り変換器216および書き込み変換器214は、交互配置された構成で配置されてもよい。代替として、読み取り変換器または書き込み変換器あるいはその両方206の各アレイは、読み取り変換器のみまたは書き込み変換器のみであってよく、各アレイは、1つまたは複数のサーボ・リーダ212を含んでよい。
図2Aおよび2B~2Cを一緒に考慮することによって示されているように、各モジュール204は、双方向の読み取りおよび書き込み、記録時再生機能、下位互換性などのために、読み取り変換器または書き込み変換器あるいはその両方206の補完的セットを含んでよい。
【0031】
図2Dは、1つの手法による、磁気テープ・ヘッド200の補完的モジュールの部分的なテープ支持面の図を示している。この手法では、各モジュールは、ピギーバック構成で共通基板204A上に形成された複数の読み取り/書き込み(R/W:read/write)対および任意選択的な電気的絶縁層236を含んでいる。書き込み変換器214および読み取り変換器216は、それを横切るテープ媒体の意図された移動方向に対して平行に揃えられ、R/W対222によって例示されているR/W対を形成する。テープの意図された移動方向は、本明細書ではテープの移動方向と呼ばれることがあり、これらの用語が交換可能なように使用されてよいということに注意する。そのようなテープの移動方向は、例えば、ガイドを調べること、基準点と相対的な実際のテープの移動方向を観察することなどによって、システムの設計から推測されてよい。さらに、双方向の読み取りまたは書き込みあるいはその両方のために動作可能なシステムでは、両方向のテープの移動方向は、通常、平行であり、したがって、両方向は互いに同等であると見なされてよい。
【0032】
8個、16個、32個の対などの、複数のR/W対222が存在してよい。図に示されているR/W対222は、それを横切るテープの移動方向と概ね直角な方向に、直線的に揃えられる。しかし、これらの対は、対角線上などに揃えられてもよい。サーボ・リーダ212は、R/W対のアレイの外側に配置され、その機能は周知である。
【0033】
通常、磁気テープ媒体は、矢印220によって示されているように、順方向または逆方向のいずれかに移動する。磁気テープ媒体およびヘッド・アセンブリ200は、従来技術においてよく知られている方法で、変換関係において動作する。ヘッド・アセンブリ200は、概ね同一の構成の2つの薄膜モジュール224および226を含んでいる。
【0034】
モジュール224および226は、そのクロージャ204B(部分的に示されている)間に存在する空間と一緒に結合され、単一の物理的ユニットを形成し、先行のモジュールの書き込み変換器、およびそれと相対的なテープの移動方向と平行に、先行のモジュールの書き込み変換器に揃えられた後続のモジュールの読み取り変換器を有効化することによって、記録時再生機能を提供する。磁気テープ・ヘッド200のモジュール224、226が構築されるときに、例えばAlTiCの導電性基板204A(部分的に示されている)の上に作成されたギャップ218内に各層が形成され、R/W対222に関する各層は、一般に、絶縁層236、通常はNiFe(例えば、パーマロイとしても知られている約80/20at%のNiFe)、コバルト・ジルコニウム・タンタル(CZT:cobalt zirconium tantalum)またはAl-Fe-Si(センダスト)などの鉄合金の第1のシールド232、磁気媒体上のデータ・トラックを感知するためのセンサ234、通常は鉄ニッケル系合金(例えば、パーマロイ)の第2のシールド238、第1および第2のライタの磁極228、230、ならびにコイル(図示せず)という順序になる。センサは、磁気抵抗(MR:magnetoresistive)、GMR、AMR、トンネル磁気抵抗(TMR:tunneling magnetoresistance)などに基づくセンサを含む、任意の既知の種類であってよい。
【0035】
第1および第2のライタの磁極228、230は、CoFeなどの高磁気モーメント材料から製造されてよい。これらの材料が単に例として提供されており、他の材料が使用されてよいということに、注意する。シールドまたは磁極端あるいはその両方の間の絶縁およびセンサを囲む絶縁層などの、追加の層が存在してよい。絶縁用の例示的な材料は、アルミナ酸化物および他の酸化物、絶縁性ポリマーなどを含む。
【0036】
1つの手法によるテープ・ヘッド126の構成は、複数のモジュールを含み、3つ以上のモジュールを含むのが好ましい。書き込み-読み取り-書き込み(W-R-W:write-read-write)ヘッドでは、書き込むための外側のモジュールが、読み取るための1つまたは複数の内側のモジュールの側面に位置する。W-R-W構成を示している
図3を参照すると、外側のモジュール252、256が、それぞれ書き込み変換器の1つまたは複数のアレイ260を含んでいる。
図3の内側のモジュール254は、同様の構成で、読み取り変換器の1つまたは複数のアレイ258を含んでいる。複数モジュールのヘッドの変形は、R-W-Rヘッド(
図4)、R-R-Wヘッド、W-W-Rヘッドなどを含む。さらに他の変形では、モジュールのうちの1つまたは複数が、変換器の読み取り/書き込み対を含んでよい。さらに、4つ以上のモジュールが存在してよい。さらに他の手法では、2つの外側のモジュールが、例えばW-R-R-W、R-W-W-Rなどの配置で、2つ以上の内側のモジュールの側面に位置してよい。簡単にするために、本明細書では、W-R-Wヘッドが、本発明の手法の例示に主に使用される。本明細書における内容を知らされた当業者は、本発明の並べ替えがW-R-W構成以外の構成にどのように当てはまるかを、理解するであろう。
【0037】
図5は、平坦であるか、または起伏があるなどであってよいテープ支持面308、310、312をそれぞれ含んでいる第1、第2、第3のモジュール302、304、306をそれぞれ含む、本発明の1つの手法による磁気ヘッド126を示している。「テープ支持面」という用語が、テープ315に面している表面がテープ支持面と物理的に接触していることを意味しているように見えるが、必ずしもそうではないということに注意する。むしろ、テープの一部のみが、常にまたは断続的にテープ支持面と接触し、テープの他の部分が、空気の層の上で、テープ支持面の上に乗って(または「浮かんで」)いてよい(空気支持と呼ばれることがある)。第1のモジュール302は、示された方向に移動するテープに関する3モジュールの設計において、テープが遭遇する最初のモジュールであるため、「先行の」モジュールと呼ばれる。第3のモジュール306は、「後続」のモジュールと呼ばれる。後続のモジュールは、3モジュールの設計において、中央のモジュールの後に続く、テープが遭遇する最後のモジュールである。先行のモジュール302および後続のモジュール306は、外側のモジュールと総称される。外側のモジュール302、306が、テープ315の移動方向に応じて、先行のモジュールとして交互に入れ替わるということにも注意する。
【0038】
1つの手法では、第1、第2、および第3のモジュール302、304、306のテープ支持面308、310、312が、ほぼ平行な平面(平行な平面およびほぼ平行な平面(例えば、
図6のような平行と接線の間の平面)を含むよう意図されている)上にあり、第2のモジュール304のテープ支持面310が、第1および第3のモジュール302、306のテープ支持面308、312の上にある。下で説明されているように、このようにすることには、第2のモジュール304のテープ支持面310と相対的なテープの望ましい巻き角度α
2を作成するという効果がある。
【0039】
テープ支持面308、310、312が、平行またはほぼ平行であるが、ずれた平面に沿って存在する場合、直観的には、テープは、先行のモジュール302のテープ支持面308から剥がれるはずである。しかし、先行のモジュール302の剥がれているエッジ318によって作られた真空が、テープを先行のモジュール302のテープ支持面308に接着した状態に保つのに十分であるということが、実験によって分かっている。先行のモジュール302の後続のエッジ320(テープが先行のモジュール302から離れる端部)は、第2のモジュール304のテープ支持面310の上の巻き角度α2を定義する近似的な基準点になる。テープは、先行のモジュール302の後続のエッジ320に近づくまで、テープ支持面に近接した状態を維持する。したがって、変換器322は、外側のモジュール302、306の後続のエッジの近くに位置してよい。これらの手法は、書き込み-読み取り-書き込みの適用に特に適している。
【0040】
本明細書に記載されたこの手法および他の手法の恩恵は、外側のモジュール302、306が第2のモジュール304からずれて決定された位置に固定されるため、モジュール302、304、306が一緒に結合されるか、または別の方法でヘッドに固定された場合に、内側の巻き角度α2が固定されるということである。内側の巻き角度α2は、およそtan-1(δ/W)であり、δはテープ支持面308、310の平面間の高低差であり、Wはテープ支持面308、310の対向する端部間の幅である。例示的な内側の巻き角度α2は、約0.3°から約1.1°の範囲内であるが、設計によって要求される任意の角度であることができる。
【0041】
テープを受け取るモジュール304の側面(先行のエッジ)の上の内側の巻き角度α2は、テープ315が後続のモジュール306の上に乗るため、後続のエッジの上の内側の巻き角度α3より、有利に大きくなる。この差は通常、α3が小さいほど、従来、出る有効な巻き角度がより急であったということに対立する傾向があるため、有益である。
【0042】
先行のモジュール302の後続のエッジ320で負の巻き角度を実現するように、外側のモジュール302、306のテープ支持面308、312が配置されるということに注意する。これは通常、テープ内のヘッドから剥がれる位置で生じるバール領域(crowbar region)の位置が適切に考慮されるという条件で、後続のエッジ320との接触に起因する摩擦を減らすのに役立つということにおいて、有益である。この負の巻き角度は、先行のモジュール302上のフラッタおよび素子に対するこすり傷も減らす。さらに、後続のモジュール306で、テープ315がテープ支持面312の上に浮くため、テープがこの方向に移動しているときに、事実上、素子に対する摩耗がない。特に、テープ315は、空気を引きずるため、第3のモジュール306のテープ支持面312の上に有意に乗らない(一部の接触が発生することがある)。これは、後続のモジュール306がアイドル状態である間に先行のモジュール302が書き込んでいるため、許容できる。
【0043】
異なるモジュールによって、書き込み機能および読み取り機能がいつでも実行される。1つの手法では、第2のモジュール304は、複数のデータ・リーダおよび任意選択的なサーボ・リーダ331を含み、書き込み変換器を含まない。第1および第3のモジュール302、306は、複数の書き込み変換器322を含み、データ読み取り変換器を含まないが、外側のモジュール302、306が任意選択的なサーボ・リーダを含んでよいということを除く。サーボ・リーダは、読み取り動作または書き込み動作あるいはその両方の間に、ヘッドを配置するために使用されてよい。各モジュール上のサーボ・リーダは、通常、読み取り変換器または書き込み変換器のアレイの端部に向かって位置する。
【0044】
読み取り変換器または横に並んだ書き込み変換器およびサーボ・リーダのみが、基板とクロージャの間のギャップ内に存在することによって、ギャップの長さを大幅に減らすことができる。標準的なヘッドは、ピギーバックされた読み取り変換器および書き込み変換器を含み、各読み取り変換器の上に書き込み変換器が形成される。標準的なギャップは、20~35ミクロンである。しかし、テープ上の凹凸が、ギャップ内に垂れ下がり、ギャップの浸食を引き起こす傾向があることがある。したがって、ギャップは小さいほど良い。本明細書において有効化されるギャップは、小さいほど、摩耗に関連する問題を示すことが少なくなる。
【0045】
一部の手法では、第2のモジュール304がクロージャを含み、一方、第1および第3のモジュール302、306はクロージャを含まない。クロージャが存在しない場合、ハード・コーティングがモジュールに追加されるのが好ましい。1つの好ましいコーティングは、ダイヤモンド状炭素(DLC:diamond-like carbon)である。
【0046】
図5に示されている手法では、第1、第2、および第3のモジュール302、304、306がそれぞれ、クロージャ332、334、336を含み、これらのクロージャが関連付けられたモジュールのテープ支持面を拡張し、それによって、読み取り/書き込み素子をテープ支持面のエッジから離れた位置に効果的に配置する。第2のモジュール304上のクロージャ332は、テープ・ヘッド上で通常見られる種類のセラミック・クロージャであることができる。しかし、第1および第3のモジュール302、306のクロージャ334、336は、各モジュール上のテープの移動方向と平行に測定されたときに、第2のモジュール304のクロージャ332より短くてよい。これによって、モジュールを互いに近づけて配置することができる。より短いクロージャ334、336を製造するための1つの方法は、第2のモジュール304の標準的なセラミック・クロージャを、追加の量だけ重ねることである。別の方法は、薄膜の加工時に、薄膜クロージャを素子の上にめっきするか、または成膜することである。例えば、センダストまたは鉄ニッケル系合金(例えば、45/55)などの硬質材料の薄膜クロージャを、モジュール上に形成することができる。
【0047】
外側のモジュール302、306上で厚さの減少したセラミックもしくは薄膜クロージャ334、336を使用するか、またはクロージャを使用せずに、書き込みと読み取りの間のギャップ間隔を、約1mm未満(例えば、約0.75mm)、または通常使用されるリニア・テープ・オープン(LTO:linear tape open)テープ・ヘッドの間隔より50%短い長さに、減らすことができる。モジュール302、304、306の間の空間は、それでも一部の手法では、第2のモジュール304の上のテープの動きを安定させるのに最適である、約0.5から0.6mmに設定することができる。
【0048】
テープの張力および剛性に応じて、第2のモジュールのテープ支持面と相対的に、外側のモジュールのテープ支持面を傾けることが望ましいことがある。
図6は、モジュール302、304、306が接線またはほぼ接線(傾斜)構成である手法を示している。特に、外側のモジュール302、306のテープ支持面は、第2のモジュール304の望ましい巻き角度α
2で、テープとほぼ平行である。言い換えると、外側のモジュール302、306のテープ支持面308、312の平面は、第2のモジュール304と相対的なテープ315の望ましい巻き角度α
2にほぼ向けられる。この手法でも、テープは、後続のモジュール306から浮き上がり、それによって、後続のモジュール306の素子上の摩耗を減らす。これらの手法は、書き込み-読み取り-書き込みの適用に特に役立つ。これらの手法の追加の態様は、前述した態様と同様である。
【0049】
通常、テープの巻き角度は、
図5および6に示されている手法のほぼ中間に設定されてよい。
【0050】
図7は、モジュール302、304、306がオーバーラップ構成である手法を示している。特に、外側のモジュール302、306のテープ支持面308、312は、第2のモジュール304と相対的な望ましい巻き角度α
2に設定された場合、テープ315よりわずかに傾けられる。この手法では、テープは後続のモジュールから浮き上がらず、後続のモジュールを書き込みまたは読み取りに使用できるようにする。したがって、先行のモジュールおよび中央のモジュールは、両方とも読み取り機能または書き込み機能あるいはその両方を実行することができ、一方、後続のモジュールは、任意の直前に書き込まれたデータを読み取ることができる。したがって、これらの手法は、書き込み-読み取り-書き込み、読み取り-書き込み-読み取り、および書き込み-書き込み-読み取りの適用の場合に好ましい。後者の手法では、読み取り機能を保証するために、クロージャは、テープ・キャノピーより広くなるべきである。クロージャが広いほど、より広いギャップ間の分離が必要になることがある。したがって、好ましい手法は、短縮されたクロージャを使用し得るため、より狭いギャップ間の分離を可能にする、書き込み-読み取り-書き込み構成を有する。
【0051】
図6および7に示された手法の追加の態様は、前述した態様と同様である。
【0052】
複数モジュールのヘッド126の32チャネル・バージョンは、現在の16チャネル・ピギーバックLTOモジュールと同じまたは類似するピッチ上にリード線を有するケーブル350を使用してよく、または代替として、モジュール上の接続は、ケーブル長を50%削減するために、オルガンの鍵盤状(organ-keyboarded)であってよい。上下の書き込み対のシールドなしケーブルが、サーボ・リーダを統合していることがある書き込み変換器に使用されてよい。
【0053】
外側の巻き角度α1は、調整可能なローラー、スライドなどの、従来技術において知られた任意の種類のガイドなどによって、または代替として、ヘッドに統合されたアウトリガによって、ドライブ内で設定されてよい。例えば、巻き角度を設定するために、オフセット軸を含んでいるローラーが使用されてよい。オフセット軸は、回転の軌道円弧を作り、巻き角度α1の正確な位置合わせを可能にする。
【0054】
前述した手法のいずれかを組み立てるために、従来のU型桁アセンブリが使用され得る。したがって、得られるヘッドの質量は、前の世代のヘッドと比較して維持されるか、または減らされてもよい。他の方法では、モジュールが単一体として構築されてよい。本明細書の知識を持っている当業者は、そのようなヘッドを製造する他の既知の方法が、そのようなヘッドの構築において使用するのに適していることがあるということを、理解するであろう。さらに、特に指定されない限り、本開示を読むときに当業者に明らかになるであろうように、従来技術において知られた種類のプロセスおよび材料が、本明細書の内容と一致して、さまざまな手法において使用するのに適していることがある。
【0055】
読み取りまたは書き込みあるいはその両方が、例えば低い誤り率で効率的に実行されるように、テープがモジュールの上を進むときに、テープがモジュール上の磁気変換器の十分近くを通るのが好ましい。一部の手法によれば、テープが、磁気変換器を含んでいるモジュールの一部の十分近くを通るのを保証するために、テープ・テンティングが使用されてよい。このプロセスをよく理解するために、
図8A~8Cがテープ・テンティングの原理を示している。
図8Aは、対向するエッジ804、806の間に広がる上側テープ支持面802を含んでいるモジュール800を示している。エッジ804、806に巻き付いている静止したテープ808が示されている。図に示されているように、テープ808の曲げ剛性が、テープをテープ支持面802から持ち上げる。
図8Aに示されているように、テープの張力がテープの形状を平らにする傾向がある。テープの張力が最小である場合、テープの曲率は、図に示されている放物線より大きくなる。
【0056】
図8Bは、移動中のテープ808を示している。先行のエッジ(すなわち、移動しているときにテープが遭遇する最初のエッジ)は、空気をテープから剥ぐ働きをすることがあり、それによって、テープ808とテープ支持面802の間に周囲の気圧を下回る気圧を作り出す。
図8Bでは、テープが左から右に移動している場合、先行のエッジが左のエッジであり、右のエッジが後続のエッジである。その結果、テープの上の大気圧が、テープをテープ支持面802の方向に強制し、それによってエッジの各々の近くにテープ・テンティングを作り出す。テープの曲げ剛性が大気圧の影響に抵抗し、それによって先行のエッジと後続のエッジの両方の近くにテープ・テンティングを引き起こす。モデル化は、2つのテントの形状が極めて似ているということを予測する。
【0057】
図8Cは、後続のガイド810がテープ支持面の平面の上に配置された場合でも、周囲の気圧を下回る気圧がどのようにテープ808をテープ支持面802の方向に強制するかを示している。
【0058】
したがって、テープがモジュールの上を通るときの進路を方向付けるために、テープ・テンティングが使用されてよい。前述したように、好ましくは、読み取りまたは書き込みあるいはその両方が、例えば低い誤り率で効率的に実行されるように、テープが、磁気変換器を含んでいるモジュールの一部の十分近くを通るのを保証するために、テープ・テンティングが使用されてよい。
【0059】
磁気テープはテープ・カートリッジに格納されてよく、次に、データ・ストレージ・ライブラリ内のストレージ・スロットなどに格納される。テープ・カートリッジは、物理的に取り出すためにアクセスできるように、ライブラリに格納されてよい。データ・ストレージ・ライブラリは、磁気テープおよびテープ・カートリッジに加えて、データを磁気テープに格納するか、またはデータを磁気テープから取り出すか、あるいはその両方を実行する、データ・ストレージ・ドライブを含んでよい。さらに、データ・ライブラリおよびそれらに含まれているコンポーネントは、テープおよびテープに格納されたデータにアクセスできるようにするファイル・システムを実装してよい。
【0060】
ファイル・システムは、データがメモリに格納され、メモリから取り出される方法を制御するために、使用されてよい。したがって、ファイル・システムは、オペレーティング・システムがメモリ内のファイルを追跡するために使用するプロセスおよびデータ構造(例えば、ファイルがメモリ内で構造化される方法)を含んでよい。リニア・テープ・ファイル・システム(LTFS)は、適合するテープにアクセスできるようにするために、特定のライブラリ内で実装されてよいファイル・システムの例示的な形式である。本明細書におけるさまざまな手法が、例えばIBM(R)Spectrum(R)Archive Library Edition(LTFS LE)を含む、広範囲のファイル・システム形式を使用して実装され得るということが、理解されるべきである(IBMおよびIBMに基づく商標およびロゴは、インターナショナル・ビジネス・マシーンズ・コーポレーション(International Business Machines Corporation)またはその関連会社あるいはその両方の商標または登録商標である)。しかし、背景を提供するために、および単に読者を助けるために、以下の手法の一部は、ファイル・システム形式の一種であるLTFSを参照して説明され得る。この参照は、単に例として行われており、特許請求の範囲において定義されている本発明に対する限定であると見なされるべきではない。
【0061】
テープ・カートリッジは、カートリッジをテープ・ドライブに挿入することによって「装着され」てよく、テープ・カートリッジは、テープ・カートリッジをテープ・ドライブから取り外すことによって「取り出され」てよい。カートリッジ内のテープは、テープ・ドライブ内に装着された後に、テープ・カートリッジからテープ(磁気記録部分)を物理的に引っ張り、テープ・ドライブの磁気ヘッドの上に通すことによって、ドライブに「通され」てよい。さらに、テープを磁気ヘッドの上で移動するために、テープが巻き取りリール(例えば、上記の
図1Aの121を参照)に取り付けられてよい。
【0062】
カートリッジ内のテープは、テープ・ドライブに通された後に、テープ上のメタデータを読み取り、テープを、LTFSがテープをファイル・システムの構成要素として使用できる状態にすることによって、「マウントされ」てよい。さらに、テープを「アンマウントする」ために、メタデータが(例えば、インデックスとして)最初にテープに書き込まれるのが好ましく、その後、テープが、LTFSがテープをファイル・システムの構成要素として使用できる状態から取り除かれてよい。最後に、テープを「抜き取る」ために、テープが巻き取りリールから取り外され、テープ・カートリッジの内部に再び物理的に配置される。カートリッジは、テープが抜き取られた後でも、例えば別の読み取り要求または書き込み要求あるいはその両方を待ちながら、テープ・ドライブ内に装着されたままであってよい。しかし、他の例では、テープ・カートリッジは、例えば前述したようにテープが抜き取れるときに、テープ・ドライブから取り出されてよい。
【0063】
磁気テープは、シーケンシャル・アクセス媒体である。したがって、データを以前に書き込まれたデータの末尾に追加することによって、新しいデータがテープに書き込まれる。したがって、1つのパーティションのみを含んでいるテープにデータが記録される場合、データが頻繁に更新され、それに応じてテープに再び書き込まれるときに、メタデータ(例えば、割り当て情報)が以前に書き込まれたデータの末尾に連続的に追加される。その結果、テープが最初にマウントされるときに、このテープに対応するメタデータの最新のコピーにアクセスするために、最後尾の情報が読み取られる。しかし、この読み取りは、特定のテープをマウントするプロセスに、かなりの量の遅延をもたらす。
【0064】
単一のパーティションのテープ媒体に起因するこの遅延を克服するために、LTFS形式は、インデックス・パーティションおよびデータ・パーティションを含んでいる2つのパーティションに分割されたテープを含む。インデックス・パーティションは、例えばファイル割り当て情報(インデックス)などのメタデータ(メタデータ情報)を記録するように構成されてよく、一方、データ・パーティションは、データの本体(例えば、データ自体)を記録するように構成されてよい。
【0065】
図9を参照すると、1つの手法によって、インデックス・パーティション902およびデータ・パーティション904を含んでいる磁気テープ900が示されている。図に示されているように、データ・ファイルおよびインデックスがテープに格納されている。本説明を読むときに当業者によって理解されるであろうように、LTFS形式は、インデックス情報をテープ906の先頭にあるインデックス・パーティション902に記録できるようにする。
【0066】
インデックス情報が更新されるときに、以前のバージョンのインデックス情報を上書きするのが好ましく、それによって、テープの先頭にあるインデックス・パーティション内で、現在更新されているインデックス情報にアクセスできるようにする。
図9に示されている特定の例によれば、最新バージョンのメタデータのインデックス3が、テープ906の先頭にあるインデックス・パーティション902に記録される。反対に、3つすべてのバージョンのメタデータのインデックス1、インデックス2、インデックス3、およびデータのファイルA、ファイルB、ファイルC、ファイルDが、テープのデータ・パーティション904に記録される。インデックス1およびインデックス2は古い(例えば、更新されていない)インデックスであるが、前述したように、以前に書き込まれたデータの末尾に情報を追加することによって、情報がテープに書き込まれるため、これらの古いインデックスであるインデックス1、インデックス2は、上書きされずにテープ900上のデータ・パーティション904に格納されたままになる。
【0067】
インデックス・パーティション902またはデータ・パーティション904あるいはその両方に含まれるメタデータは、望ましい手法に応じて、同じように、または異なって、更新されてよい。一部の手法によれば、例えば、テープが再びマウントされるときにインデックスがインデックス・パーティションから素早く読み取られ得るように、インデックス・パーティションまたはデータ・パーティションあるいはその両方902、904のメタデータは、テープがアンマウントされることに応答して更新されてよい。メタデータは、データ・パーティション904にも書き込まれるのが好ましいため、例えばバックアップのオプションとして、データ・パーティション904に記録されたメタデータを使用してテープがマウントされてよい。
【0068】
本発明を限定するよう全く意図されていない1つの例によれば、例えば、突然の停電の発生時にデータ損失を軽減できるように、ユーザがシステムに明示的に指示したとき、またはユーザによって設定され得る既定の期間によって指定された時間に、インデックスをデータ・パーティションに書き込む機能を提供するために、LTFS LEが使用されてよい。
【0069】
ここで
図10を参照すると、1つの手法によるストレージ・システム1000が示されている。さまざまな手法によって、
図10に示された要素の一部が、ハードウェアまたはソフトウェアあるいはその両方として実装されてよいということに注意する。ストレージ・システム1000は、少なくとも1つの上位ストレージ層1002上および少なくとも1つの下位ストレージ層1006上の複数の媒体またはドライブあるいはその両方と通信するために、ストレージ・システム・マネージャ1012を含んでよい。上位ストレージ層1002は、ハード・ディスク・ドライブ(HDD:hard disk drive)内のハード・ディスク、不揮発性メモリ(NVM:nonvolatile memory)、半導体ドライブ(SSD:solid state drive)内の半導体メモリ、フラッシュ・メモリ、SSDアレイ、フラッシュ・メモリ・アレイなど、または本明細書に記載されたか、もしくは従来技術において知られている他の媒体、あるいはその組合せなどの、1つまたは複数のランダム・アクセスまたは直接アクセスあるいはその両方の媒体1004を含み得るのが好ましい。下位ストレージ層1006は、テープ・ドライブ内の磁気テープもしくは光媒体またはその両方、低速アクセスHDD、低速アクセスSDDなど、または本明細書に記載されたか、もしくは従来技術において知られている他の順次アクセス媒体、あるいはその組合せなどの順次アクセス媒体を含む、1つまたは複数のより低性能なストレージ媒体1008を含み得るのが好ましい。1つまたは複数の追加ストレージ層1016は、システム1000の設計者の要求に従って、ストレージ・メモリ媒体の任意の組合せを含んでよい。また、上位ストレージ層1002または下位ストレージ層1006あるいはその両方のいずれかは、ストレージ・デバイスまたはストレージ媒体あるいはその両方のなんらかの組合せを含んでよい。
【0070】
ストレージ・システム・マネージャ1012は、
図10に示されたストレージ・エリア・ネットワーク(SAN:storage area network)または他の適切なネットワーク・タイプなどのネットワーク1010を介して、上位ストレージ層1002上および下位ストレージ層1006上のドライブまたはストレージ媒体あるいはその両方1004、1008と通信してよい。ストレージ・システム・マネージャ1012は、ストレージ・システム・マネージャ1012の一部であってもなくてもよいホスト・インターフェイス1014を介して、1つまたは複数のホスト・システム(図示せず)と通信してもよい。ストレージ・システム1000のストレージ・システム・マネージャ1012または任意のその他のコンポーネントあるいはその両方は、ハードウェア内またはソフトウェア内あるいはその両方に実装されてよく、従来技術において知られている種類のコマンドを実行するために、中央処理装置(CPU:central processing unit)、フィールド・プログラマブル・ゲートアレイ(FPGA:field programmable gate array)、特定用途向け集積回路(ASIC:application specific integrated circuit)などのプロセッサ(図示せず)を利用してよい。当然、当業者が本説明を読むときに明らかであろうように、ストレージ・システムの任意の配置が使用されてよい。
【0071】
その他の手法では、ストレージ・システム1000は、任意の数のデータ・ストレージ層を含んでよく、各ストレージ層内の同じであるか、または異なるストレージ・メモリ媒体を含んでよい。例えば、各データ・ストレージ層は、HDD、SSD、順次アクセス媒体(テープ・ドライブ内のテープ、光ディスク・ドライブ内の光ディスクなど)、直接アクセス媒体(CD-ROM、DVD-ROMなど)などの同じ種類のストレージ・メモリ媒体、または媒体のストレージの種類の任意の組合せを含んでよい。そのような1つの構成において、上位ストレージ層1002は、より高性能なストレージ環境内にデータを格納するためのSSDストレージ媒体の大部分を含んでよく、下位ストレージ層1006および追加ストレージ層1016を含む残りのストレージ層は、データをより低性能なストレージ環境内に格納するために、SSD、HDD、テープ・ドライブなどの任意の組合せを含んでよい。このようにして、より頻繁にアクセスされるデータ、優先度の高いデータ、より素早くアクセスされる必要のあるデータなどは、上位ストレージ層1002に格納されてよく、一方、これらの属性のうちの1つを有さないデータは、下位ストレージ層1006を含む追加ストレージ層1016に格納されてよい。当然、当業者は、本説明を読むときに、本明細書において提示された手法によって、異なるストレージ方式で実装するために、ストレージ媒体の種類の多くの他の組合せを考案し得る。
【0072】
一部の手法によれば、ストレージ・システム(1000など)は、データ・セットを開くための要求を受信するように構成された論理、要求されたデータ・セットが、複数の関連する部分において、層型データ・ストレージ・システム1000の下位ストレージ層1006に格納されているかどうかを判定するように構成された論理、要求されたデータ・セットの関連する各部分を層型データ・ストレージ・システム1000の上位ストレージ層1002に移動するように構成された論理、および層型データ・ストレージ・システム1000の上位ストレージ層1002上の要求されたデータ・セットを関連する部分から組み立てるように構成された論理を含んでよい。
【0073】
当然、この論理は、さまざまな手法によって、任意のデバイス上またはシステム上あるいはその両方での方法として、またはコンピュータ・プログラム製品として実装されてよい。
【0074】
前述したように、一部のデータ・ストレージの設定では、データが、オンプレミス環境に存在することから、クラウドベースの環境に最終的にシフトされる。一部の環境では、このシフトは、比較的大きい量のデータを移行することを含むことがある。一部のクラウド・ベンダーは、そのようなシフトの間にデータを効率的に移行することにおける重要性を認識し、議論している。特に、基本的にネットワークを介してデータ転送が行われるが、一時的データ移動のための回線の強化が非現実的であることがあり、物流によるオフラインのデータ転送手段が導入されることが議論された。一部のクラウド・ベンダーは、データ転送に排他的に使用される装置のオリジナルの開発によってサービスを提供する。一方、他のクラウド・ベンダーは、LTFSを使用してデータ転送サービスを提供する。一部の手法では、LTFSを使用することによって、相対的に膨大な量のデータをあるシステムから別のシステムに転送するための方法も標準化されている。一部のクラウド・ベンダーは、物流によって配達されたデータの、データの受け取りから24時間以内のオンラインのアクセス性を保証する。移行されるデータ・ボリュームのサイズに関係なく、そのような保証が行われるということに、注意することは重要である。そのような保証を確保することは、通常、単位時間当たりに物流から受け取られるデータの量に加えて、単位時間当たりにオンライン・システムにコピーされ得る受け取られたデータの量を考慮することを含む。前者の指標が後者の指標を超えるのを防ぐことによって、システムを構築し、維持し、管理するために、これらの指標の考慮が行われることがある。例えば、LTFSをデータ転送に使用するための動作は、1日に受け取られたテープ・カートリッジの範囲が1日以内に処理され得るように、複数のテープ・ドライブを確保することを含んでよい。そのような例では、データ・コピーを実行するための予測された時間に加えて、データが相対的に短い期間内にコピーされるという指定が要求されることがある。この動作は、そのような要求が存在する環境において特に役立ち得る。
【0075】
LTFSは、一部の従来のデータ・ストレージ技術と比較して、テープ処理を簡略化するが、ストレージ・デバイス内のテープの使用に起因する一部の特性は、同じままである。ファイルがHDDまたは磁気テープなどの磁気ストレージ・デバイスから読み取られる場合、データを読み取るために、デバイス(例えば、デバイスのヘッド)が、ファイル・データが格納されている位置に揃えられる。このプロセスは、シークとしても知られている。HDD内のシーク動作は、数センチメートルの直径を有するディスク上の、ヘッドを含むアームの移動のみを含み、したがってシークは、実行されるのに、最大で数10ミリ秒しかかからないことがある。これに対して、磁気テープ上のシーク動作は、1000メートルを超える長さを有する可能性がある磁気テープの巻き取りを含む。したがって、磁気テープ上のシーク動作は、HDD内のシーク動作よりも、実行するのに相対的にはるかに長い時間がかかる可能性がある。相対的に大きいファイルが、LTFSに基づくストレージ・システムからHDDにコピーされる場合、これらの相対的に長いシーク時間が、かなりの量の時間をデータ・コピー・プロセスに追加する可能性がある。
【0076】
データ移行時間を短縮しようとして使用される1つの従来技術は、移行を実行することに先立って、コピーされるファイルの順序を並べ替えることによって、冗長なシークを減らすことを含む。特に、この並べ替えは、テープに格納されたファイル・データの位置に従って行われてよい。しかし、この従来技術は、ファイルが断片化されている場合にシークを回避することができないため、不利益を有する。さらに、この従来技術は、実行された並べ替えの結果として、移行プロセスの時間を増やし、さらに、ターゲット・ファイルの数が増えるにつれて、相対的にますます多くのCPUリソースを必要とする。前もってボリュームのシークを予測することの困難さに起因して、データをコピーするための時間を予測することも困難である。
【0077】
本明細書に記載されたさまざまな手法は、データがドライブのブロックの単位でコピーされることの結果として、LTFSに基づくストレージ・システムからRANVMドライブへのデータのコピー中の冗長なシークの発生を取り除く。これらの冗長なシークの発生を取り除くことによって、コピーを実行するための時間が短縮される。
【0078】
ここで
図11を参照すると、1つの手法によって、方法1100のフローチャートが示されている。方法1100は、さまざまな手法において、特に
図1~10および12~15に示された環境のいずれかにおいて、本発明に従って実行されてよい。当然、当業者が本説明を読むときに理解するであろうように、
図11において具体的に説明された動作よりも多いか、または少ない動作が方法1100に含まれてよい。
【0079】
方法1100のステップの各々は、動作環境の任意の適切なコンポーネントによって実行されてよい。例えば、さまざまな手法では、方法1100は、コントローラ、または1つもしくは複数のプロセッサを含んでいる他のデバイスによって、部分的に、または全体的に実行されてよい。ハードウェアまたはソフトウェアあるいはその両方において実装され、好ましくは少なくとも1つのハードウェア・コンポーネントを含んでいるプロセッサ(例えば、処理回路、チップ、またはモジュール、あるいはその組合せ)が、方法1100の1つまたは複数のステップを実行するために任意のデバイス内で利用されてよい。例示的なプロセッサは、中央処理装置(CPU)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)など、これらの組合せ、または従来技術において知られた任意の他の適切なコンピューティング・デバイスを含むが、これらに限定されない。
【0080】
方法1100が、ドライブのブロックの単位でLTFSに基づくストレージ・システムからRANVMドライブにデータを移行する時間を短縮するために利用され得るということが、前置きされてよい。したがって、後述されるように、方法1100は、データ移行を準備することおよび実行することの両方のための動作を含んでよい。好ましい手法では、LTFSに基づくストレージ・システムからドライブに移行されるデータのコピーが、データのファイルの単位で実行されないということに注意する。これは、別の方法では、データのファイルの単位でデータをコピーするために実行されるシーク動作において、追加の移行時間を招くからである。したがって、本明細書に記載されたさまざまな手法の利用は、データ移行時間の短縮をもたらす。
【0081】
前述したように、LTFSは、適合するテープにアクセスできるようにするために特定のテープ・ドライブ・ライブラリ内で実装され得るファイル・システムの例示的な形式である。背景として、本明細書におけるさまざまな手法のLTFSに基づくストレージ・システムは、既知の種類の磁気テープに基づくストレージ・システムであってよいが、本明細書の内容に従って変更され得る。1つの好ましい手法では、LTFSに基づくストレージ・システムは、磁気テープ・ドライブを含み、場合によっては、テープ・ライブラリ内の多くのテープ・ドライブを含む。システムは、1つまたは複数の磁気記録テープを含んでもよい。さらに、RANVMドライブは、既知の種類ストレージ・ドライブ(例えば、HDD、SDDなど)であってよい。
【0082】
方法1100は、最初に、LTFS内のデータをLTFSに基づくストレージ・システムに書き込むことを含んでよい。例えば、方法1100の動作1102は、データをLTFS内のブロックに書き込むことを含む。一部の手法では、LTFSに基づくストレージ・システムへのデータの書き込みは、LTFSに基づくストレージ・システムからRANVMドライブにデータをコピーするための要求または命令あるいはその両方を何も受信せずに実行されてよい。これに対して、一部の他の手法では、LTFSに基づくストレージ・システムに書き込まれたデータが、ある時点でRANVMドライブに移行される計画があるにもかかわらず、データがLTFSに基づくストレージ・システムに書き込まれてよい。
【0083】
一部の手法では、データがファイルとしてLTFSに書き込まれてよく、したがって、方法1100において実行される1つまたは複数の書き込み動作は、ファイル・データをLTFS内のブロックに書き込むことを含んでよい。LTFS内のデータが、最終的に、RANVMドライブのブロックの単位でRANVMドライブのブロックにコピーされるということが予想され得る。したがって、ファイル・データがLTFSに基づくストレージ・システムに書き込まれる際に、ファイル・データがLTFS内のブロックに書き込まれる位置は、RANVMドライブによってファイル・データが管理されるのと同じ方法で、ブロック番号に従って、LTFSに基づくストレージ・システムによって管理されてよい。LTFSに基づくストレージ・システム上のLTFS内のブロックへのファイル・データの書き込みが、データがドライブのブロックにコピーされる前に実行されるということに注意する。例えば、LTFSに基づくストレージ・システムへの書き込み動作は、データをRANVMドライブにコピー/移行するための要求がそれまでに存在する前の、LTFSへのデータの初期書き込みを含んでよい。一部の手法では、LTFSに基づくストレージ・システム上のブロックに書き込まれたファイル・データは、複数のファイルのファイル・データを含んでよい。一部の他の手法では、LTFSに基づくストレージ・システム上のブロックに書き込まれたファイル・データは、単一のファイルのファイル・データを含んでよい。
【0084】
一部の手法では、LTFSに基づくストレージ・システム上のブロックへのデータの書き込み中に、ファイル・データがドライブによって管理されるのと同じ方法で、ブロック番号に従って、ファイル・データの位置が管理されているにもかかわらず、LTFSに基づくストレージ・システム上でインデックス付けされているファイル・データに関する位置情報を含むメタデータに基づいて、例えば、LTFSに基づくストレージ・システムの磁気記録テープ上などの、データ・ファイルの位置が知られる。言い換えると、ファイル・データがドライブによって管理されるのと同じ方法で、ブロック番号に従って、データ・ファイルをLTFSに基づくストレージ・システム上のブロックに書き込むことは、LTFSに基づくストレージ・システムの性能を損なわないのが好ましい。下でさらに詳細に説明されるように、そのような方法で、ファイル・データがLTFSに基づくストレージ・システム上のブロックに書き込まれる書き込み位置を管理することは、(おそらく、磁気記録テープ上の特定のデータ・バンド内のデータの開始を見つけるための初期シークを除いて)LTFSに基づくストレージ・システム内の磁気記録テープ上でシークを実行することを必要とせず、別の方法ではドライブのブロックに従うようにドライブでの書き込みを書式設定するようなことを必要とせずに、ファイル・データのすべてがLTFSに基づくストレージ・システムからRANVMドライブにコピーされることを可能にする。その結果、ファイル・データをLTFSに基づくストレージ・システムからドライブにコピーすることがデータ・シークを実行することを含んでいた場合に消費される時間の量よりも大幅に少ない時間で、ファイル・データがLTFSに基づくストレージ・システムからドライブにコピーされ得る。例えば、各回避されたシーク動作は、最大で約数10秒、コピー・プロセスの時間を減らし得る。
【0085】
一部の手法では、LTFSに基づくストレージ・システム上のブロックへのファイル・データの書き込み中に、ファイル・データの境界が、ドライブ上のブロックのサイズ(例えば、ドライブ上のブロックのスケジュールされたサイズ)に揃えられてよい。この整列が、すぐ上で説明された、データがLTFSに基づくストレージ・システム上のブロックに書き込まれる位置の管理に基づいて保証され得るということに注意する。ファイル・データの境界は、手法に応じて、ファイル・データの1つまたは複数の位置または特性あるいはその両方によって定義されてよい。例えば、1つの好ましい手法では、ファイル・データの境界は、ファイル・データの少なくとも一部の先頭を含む。別の手法では、ファイル・データの境界は、ファイル・データの少なくとも一部の末尾を含んでよい。
【0086】
背景として、ドライブ上のブロックのサイズは、手法に依存してよい。前述したように、このサイズは、データがLTFSに基づくストレージ・システム上のブロックに書き込まれる位置の管理に組み込まれ得るのが好ましい。一部の好ましい手法では、ドライブ上のブロックのサイズは、LTFSに基づくストレージ・システム上のブロックのサイズに関連していてよい。例えば、LTFSに基づくストレージ・システムへのデータの書き込み中に、LTFSに基づくストレージ・システム上のブロックの各々のサイズは、一部の好ましい手法では、ドライブ上のブロックのうちの1つのサイズの整数倍であってよい。整数倍は、例えば、LTFSに基づくストレージ・システムの管理者、ドライブの管理者、LTFSに基づくストレージ・システムの1つまたは複数のコンポーネントの製造業者、またはドライブの1つまたは複数のコンポーネントの製造業者、テーブル、あるいはその組合せなどによって設定されてよい。言い換えると、LTFSに基づくストレージ・システム上のブロックのうちの1つのサイズおよびドライブのブロックのうちの1つのサイズは、ブロック・サイズ比を確立してよい。例えば、1つの手法では、ブロック・サイズ比は、LTFSに基づくストレージ・システム上のブロックのうちの1つのサイズおよびドライブのブロックのうちの1つのサイズの商であってよい。1つの好ましいブロック・サイズ比は4であってよく、すなわち、LTFSに基づくストレージ・システムの1つのブロックがドライブ上の4つのブロックに対応する。ブロック・サイズ比および整数倍が交換可能であってよいということに注意する。例えば、前述の例では、整数倍およびブロック・サイズ比は両方とも4である。一部の他の手法では、整数値は、異なる値、例えば、1、10、100、分数、ブロック・サイズ比が整数でない場合に最も近い整数倍、などであってよい。
【0087】
一部の手法では、ファイル・データがLTFSに基づくストレージ・システム上のブロックに書き込まれる位置の管理は、追加的または代替的あるいはその両方で、LTFSに基づくストレージ・システム上のファイル・データのブロック・オフセット(例えば、バイト・オフセット)を調整することを含んでよい。例えば、一部の手法では、LTFSに基づくストレージ・システム上のファイル・データのブロック・オフセットは、ブロック・オフセットおよびドライブのブロックのうちの1つのサイズの商の余りが、LTFSに基づくストレージ・システム上のファイル・データのオフセット(例えば、ファイル・オフセット)およびドライブのブロックのうちの1つのサイズの商の余りに等しくなるように、調整されてよい。ブロック・オフセットのこの調整は、データが少なくとも1つの共有ブロックに格納される場合(例えば、LTFSに基づくストレージ・システム上のブロックが第1のデータ・ファイルのデータおよび第2のデータ・ファイルのデータを含んでいる場合など)に、別の方法ではLTFSに基づくストレージ・システムからデータをコピーすることにおいて提起されるであろう問題に対処するために適用されてよい。特に、この調整は、ファイル・データがLTFSに基づくストレージ・システムに書き込まれるときに、データ境界をドライブ上のファイル・システムのブロック・サイズに揃え得る。
【0088】
方法1100の動作1104は、LTFSに基づくストレージ・システムに格納されたデータをRANVMドライブのブロックにコピーすることを含む。データは、ドライブのブロックの単位でコピーされ得るのが好ましい。より詳細には、データを、データのファイルの単位でLTFSに基づくストレージ・システムからドライブにコピーすると、データのコピーの合計時間が増えることがあるため、データは、そのようにコピーされなくてよい。これは、別の方法では、データのファイルの単位でLTFSに基づくストレージ・システムからドライブにデータをコピーすることが、データ・コピーを実行するために必要とされる時間を最終的に増やすデータ・シーク動作が実行されることを利用するためである。一部の手法では、LTFSに基づくストレージ・システムの磁気記録テープは、コピー中にマウントされない(例えば、アプリケーションから使用できない)。RANVMドライブ上のファイル・システムは、コピー中にマウントされてよい(例えば、アプリケーションから使用できる)が、LTFSに基づくストレージ・システムに記録されたすべてのデータをコピーするための十分な量の空き領域がドライブ上に存在するのが好ましい。したがって、1つの任意選択的な手法では、方法1100は、コピーを実行する前に、コピーされるファイルのサイズを決定することを含んでよい。そのような決定は、一部の手法では、例えば、LTFSに基づくストレージ・システムの磁気記録テープの長さに基づいて行われてよく、テープの全長は、データがコピーされているテープの部分の長さに基づいてデータを含んでいると仮定されてよく、テープのその部分の全長は、LTFSに基づくストレージ・システムのテープのインデックスのサイズ、既知の技術などに基づいてデータを含んでいると仮定されてよい。コピーされるファイルの決定されたサイズは、ドライブ上の空き領域の決定されたサイズと比較されてよい。コピーされるファイルの決定されたサイズが、ドライブの空き領域の決定されたサイズより大きいということの決定に応答して、LTFSに基づくストレージ・システムからドライブにデータをコピーすることが、遅延される、部分的に実行される、2つ以上のRANVMドライブの2つ以上の媒体上で実行される、などとなってよい。コピーされるファイルのサイズが、ドライブ上の空き領域の決定されたサイズ以下であることを保証することによって、ドライブ上の使用可能な空き領域を超えて実行することに関連する既知の種類のエラーが回避される。
【0089】
一部の手法では、ドライブのブロックにコピーされるデータは、LTFSに基づくストレージ・システム上のデータのすべてを含んでよい。例えば、一部の手法では、ドライブのブロックにコピーされたデータは、LTFSに基づくストレージ・システムの磁気記録テープの第1の端部とLTFSに基づくストレージ・システムの磁気記録テープの第2の端部の間に格納されたすべてのデータを含む。別の手法では、ドライブのブロックにコピーされるデータは、LTFSに基づくストレージ・システムのデータの一部のみを含んでよい。例えば、一部の手法では、ドライブのブロックにコピーされるデータは、例えば、磁気記録テープの第1の端部と磁気記録テープの第2の端部の間に位置するLTFSに基づくストレージ・システムの複数の既定の部分に格納されたデータ、磁気記録テープの既定のブロック上のデータ、磁気記録テープの既定のデータ・バンドの1つまたは複数のデータ・トラックに格納されたデータ、磁気記録テープの以前の状態への既知の種類のロールバックを実行するために使用される磁気記録テープの既定の下位部分などを含んでよい。
【0090】
本明細書におけるさまざまな手法は、データがLTFSに基づくストレージ・システムからRANVMドライブのブロックにコピーされると述べているが、「データ」が有効なデータまたは無効なデータあるいはその両方を含むかどうかは、手法に依存してよい。LTFSは、ファイルを上書きすることにおいて、LTFSに基づくストレージ・システムの磁気記録テープ上の記録されたブロックが再び書き込まれず、上書きするデータがファイルに追加される、追記型ファイル・システムである。そのため、LTFSでは、LTFSに基づくストレージ・システムのブロック上に無効な領域が作成されることがあるため、ファイルの上書きに起因して、ブロック・データが任意の境界(例えば、任意のオフセット)で分割されることがある。一方、例えばHDD上の一般的なファイル・システムなどの、RANVMドライブ上の一般的なファイル・システムは、無効としてマーク付けされているコピーされたブロックを処理するためのメカニズムを含まないことがあり、したがって、RANVMドライブは、そのようなブロックを含んでいるデータをファイルとして適切に処理できないことがある。しかし、本明細書に記載されたさまざまな手法は、上書きされたファイルを処理する問題に対処することを可能にするように構成される。これは、本明細書に記載されたさまざまな手法が、LTFSに基づくストレージ・システム上のブロックへのデータ・ファイルの書き込み中に、境界の調整を実行することを含むためであり、例えば、LTFSに基づくストレージ・システム上のブロックへのファイル・データの書き込み中に、ファイル・データの1つの境界が、ドライブ上のブロックのサイズに揃えられてよく、LTFSに基づくストレージ・システム上のブロックへのファイル・データの書き込み中に、ファイル・データの複数の境界が、ドライブ上のブロックのサイズに揃えられてよい、などである。それに応じて、一部の手法では、LTFSに基づくストレージ・システムは、少なくとも一部の無効なデータを含んでよく、したがって、LTFSに基づくストレージ・システムからRANVMドライブのブロックにコピーされるデータは、少なくとも一部の無効化されたデータ(例えば、LTFSに基づくストレージ・システム上で実行された上書き動作から生じる無効なデータ)を含んでよい。しかし、一部の他の手法では、データ・コピー動作は、無効なデータが、データ・コピー動作によって対処されない磁気記録テープの部分に位置しているということに基づいて、有効なデータのみをLTFSに基づくストレージ・システムからRANVMドライブのブロックにコピーすることを含んでよい。例えば、磁気記録テープの既定のデータ・バンドの少なくとも1つのデータ・トラックに格納されたデータのみがLTFSに基づくストレージ・システムからRANVMドライブのブロックにコピーされ、既定のデータ・トラックが無効なデータを何も含まない手法では、データ・コピー動作中に無効なデータがコピーされない。一部のさらなる手法では、LTFSに基づくストレージ・システムは、有効なデータのみを含んでよく、例えば、データが削除されておらず、上書きもされておらず、したがって、データ・コピー動作は、有効なデータのみをLTFSに基づくストレージ・システムからRANVMドライブのブロックにコピーすることを含んでよい。
【0091】
上で簡単に述べられたように、一部の手法では、ドライブのブロックへのデータのコピー中に、LTFSに基づくストレージ・システム上でデータ・シーク動作が実行されない。より詳細には、一部の手法では、コピー中に、例えば、LTFSに基づくストレージ・システムのテープ上で、コピーされるデータのインスタンスの開始位置を決定するため、コピーされるデータのインスタンスの終了位置を決定するため、分割されたデータまたは断片化されたデータ・ファイルあるいはその両方の位置を決定するため、などのために、シーク動作が実行されなくてよい。別の方法ではデータのファイルの単位でLTFSに基づくストレージ・システムのテープ上のデータがRANVMドライブにコピーされる場合に実行される、これらのシーク動作を実行しないことによって、LTFSに基づくストレージ・システムからRANVMドライブのブロックにデータをコピーするプロセスにかかる時間を短縮する。そのように、データのファイルの単位ではなく、ドライブのブロックの単位でLTFSに基づくストレージ・システムからRANVMドライブのブロックへデータをコピーすることが、従来のデータ移行技術では考慮されなかったということに注意するべきである。前述したように、そのような従来の移行技術が、データ移行中のシーク時間を短縮しようとして、データ移行に先立って、コピーされるファイルの順序を並べ替えることを利用していたことを思い出す。しかし、このプロセスは、ファイルが断片化されている場合にシークを回避することができず、実行される並べ替えの結果として移行時間を増やし、さらに、ターゲット・ファイルの数が増えるにつれて、相対的により多くの量のCPUリソースを消費する。際立って対照的に、LTFSに基づくストレージ・システムからRANVMドライブのブロックへのそのような移行を予想する本明細書におけるさまざまな手法によって、従来の移行技術において別の方法では実行されるシーク動作の少なくとも一部を軽減する方法で、データがLTFSに基づくストレージ・システム上のブロックに書き込まれてよい。したがって、データのファイルの単位ではなく、ドライブのブロックの単位でLTFSに基づくストレージ・システムからRANVMドライブのブロックへデータをコピーすることに関して本明細書で開示された本発明の発見は、従来の見識に反して進む。
【0092】
方法1100の動作1106は、LTFSに基づくストレージ・システムからRANVMドライブのブロックへのデータのコピー中に、対応関係テーブルを作成することを含む。対応関係テーブルは、LTFS内のデータ位置をドライブ上のデータ位置にマッピングするのが好ましく、LTFSに基づくストレージ・システムまたはドライブあるいはその両方と共有されてよく、例えば、LTFSに基づくストレージ・システムのコントローラと共有される、ドライブのコントローラと共有される、LTFSに基づくストレージ・システムのプロセッサと共有される、ドライブのプロセッサと共有される、などであってよい。一部の手法では、対応関係テーブルを作成することは、ファイル・データがLTFSに基づくストレージ・システム上のブロックに書き込まれる位置の管理に関連する情報を収集することを含んでよい。例えば、この情報は、例えば、ブロック・オフセット情報、ブロック・オフセット調整情報、ファイル・データ、ファイル・データ境界情報、ブロック・サイズ情報、データ有効性情報、LTFS書式設定情報などを含んでよく、これらの情報が対応関係テーブルに追加されてよい。一部の手法では、この情報は、1つまたは複数の既知の種類のデータ位置情報を、追加的または代替的あるいはその両方で含んでよい。
【0093】
LTFSに基づくストレージ・システム上のデータをRANVMドライブのブロックにコピーした後のある時点で、ドライブのブロックから無効なデータが削除されてよく、例えば、上書きされる、消去される、再生利用可能なストレージの書き込み位置としてマーク付けされる、などであってよい。一部の手法では、データ対応関係情報が、LTFSに基づくストレージ・システムの記録媒体上またはドライブの記録媒体上あるいはその両方で削除をスケジュールすること、または実行すること、あるいはその両方に、使用されてよい。ドライブのブロックからの無効なデータの削除は、ドライブの使用可能なストレージ空間を増やす。
【0094】
方法1100の動作1108で、ドライブ上のコピーされたデータが1つまたは複数のファイルとしてアクセス可能になるように(例えば、ドライブ上の1つまたは複数のファイルとしてアクセス可能になるように)、ドライブ上でファイル・メタデータ(例えば、ファイル・ブロックの割り当て)が構築される。一部の手法では、ファイル・メタデータは、FAT内の1つまたは複数の開始ブロックを指し示すディレクトリ・エントリであってよい(例えば、メタデータを構築する例を示す
図13Eを参照)。ブロック割り当て以外のメタデータ(例えば、ファイル名)は、1つの手法では、LTFSインデックスからコピーされてよい。別の手法では、ブロック割り当ては、LTFSに基づくストレージ・システムのブロック上のデータ位置およびドライブ上のデータ位置を含んでいる対応関係テーブルから構築されてよい(例えば、
図12の対応関係テーブル1230を参照)。従来の手法では、LTFSに基づくストレージ・システムからドライブにコピーされたデータは、データのコピー中にさまざまなシーク動作を実行せずに、ドライブ上の1つまたは複数のファイルとしてアクセスされ得ないということに注意するべきである。これは、従来の手法が、ドライブのブロックの単位でLTFSに基づくストレージ・システムからRANVMドライブにデータをコピーすることを考慮しないためである。際立って対照的に、従来の手法は、LTFSに基づくストレージ・システム上のデータのファイルの単位でLTFSに基づくストレージ・システムからドライブにデータをコピーするために、タイムリーなシーク動作を始める。したがって、ドライブのブロックの単位でのLTFSに基づくストレージ・システムからRANVMドライブへのデータのコピー中にシーク動作を回避する本明細書に記載されたさまざまな手法の技術の結果として、LTFSに基づくストレージ・システムからRANVMドライブにデータをコピーするための時間が、従来のデータ・コピー技術より相対的に効率的になる。
【0095】
図12~14Fは、例えば、ファイル・システムのアプリケーション・プログラミング・インターフェイス(API:Application Programming Interface)を使用せずに、ファイルの単位ではなくドライブのブロックの単位でLTFSに基づくストレージ・システムからRANVMドライブにコピーされているデータの状態を示している。さらに、コピーされたブロックがドライブ上のファイルとして扱われ得るように、ドライブ上でファイル・メタデータ(例えば、ファイル・ブロックの割り当て)が構築されてよい。一部の手法では、ブロックの単位で、テープの端部から端部までのデータがコピーされ、それによって、データのコピー中にシークが実行されることが必要とされない。LTFSは、ドライブ上の一般的なファイル・システムと同じ方法で、ブロック番号に従って、ファイル・データが記録される位置も管理する。データのこのコピーは、LTFSに基づくストレージ・システム上のブロック番号を送信先ドライブ上のファイル・システムのブロック番号にマッピングを可能にすることに基づいて、使用可能である。一部の手法では、例えば、LTFS内のデータ位置をドライブ上のデータ位置にマッピングするために、対応関係テーブルが作成される間に、データがLTFSに基づくストレージ・システムからRANVMドライブにコピーされる。さらに、データのこのコピーは、ファイル・データをLTFSに基づくストレージ・システムのLTFS内のブロックに書き込むときに、データ境界をドライブ上のファイル・システムのブロック・サイズに揃えることによって可能にされ得る。
【0096】
本明細書に記載されたさまざまな手法の前提条件として、LTFS内のブロックの各々のブロック・サイズ(以下では、「LBS」(LTFS Block Size:LTFSブロック・サイズ)と呼ばれる)は、送信先ドライブ上のファイル・システムのブロック・サイズ(以下では、TBS(Target Block Size:ターゲット・ブロック・サイズ)と呼ばれる)の整数倍であってよい。一部の手法では、LBSをTBSで割ることによって取得される値であってよい、送信先ドライブ上のファイル・システムのブロック・サイズの整数倍は、以下では、「BSR」(Block Size Ratio:ブロック・サイズ比)と呼ばれてよい。一部の好ましい手法では、コピー中にソースLTFSがマウントされない(例えば、アプリケーションから使用できない)ということに注意するべきである。送信先ドライブ上のファイル・システムは、コピー中にマウントされてよい(例えば、アプリケーションから使用できる)が、ソース・テープに記録されたすべてのデータをコピーするための十分な量の空き領域が存在するのが好ましい。
【0097】
図12は、1つの手法による、LTFSに基づくストレージ・システムからRANVMドライブのブロックにデータをコピーする状態1200を示している。任意選択として、この状態1200は、他の図を参照して説明されている特徴などの、本明細書に示されている任意の他の手法からの特徴と共に、実装されてよい。しかし当然ながら、そのような状態1200および本明細書において提示されている他の状態は、本明細書に示されている例示的な手法において具体的に説明されていることもあれば、説明されていないこともあるさまざまな応用または並べ替えあるいはその両方において、使用されてよい。さらに、本明細書において提示されている状態1200は、任意の望ましい環境内で使用されてよい。
【0098】
図12の状態1200は、LTFSに基づくストレージ・システム上の複数のブロックの表現(例えば、LTFSブロック番号10~番号15を参照)、およびRANVMドライブの複数のターゲット・ブロックの表現(例えば、ターゲット・ブロック番号1200~番号1207、ターゲット・ブロック番号1212~番号1220、およびターゲット・ブロック番号1222~番号1228を参照)を含んでいる。LTFSに基づくストレージ・システムからRANVMドライブへのデータのコピーを詳しく説明する文脈上の参照のために、対応関係テーブル1230も、
図12に含まれている。
【0099】
LTFSに基づくストレージ・システムのデータは、ファイルの単位ではなくドライブのブロック(例えば、ターゲット・ブロック)の単位でRANVMドライブにコピーされる。一部の手法では、LTFSに基づくストレージ・システム上のデータは、LBSの倍数の単位でメモリに読み取られる。さらに、メモリに読み取られたデータは、TBSの倍数の単位でドライブ上の空きブロックに書き込まれてよい。
【0100】
データをコピーする前に、アプリケーションからアクセスできない特殊なファイルを作成し、必要とされる空きブロックをこの特殊なファイルに割り当てるために、例えば1つまたは複数の既知の技術を使用して、コピー中に利用されるドライブ上の空きブロックがアプリケーションから使用できないように設定されてよいということに注意する。しかし、一部の手法では、これらのブロックは、アプリケーションがこれらのブロックを使用することが防がれているにもかかわらず、アプリケーションによって実現されてよい。
【0101】
引き続き
図12を参照すると、BSRが4であり、したがって、LTFSに基づくストレージ・システム上の1つのブロックのデータが、ドライブ上の4つの空きブロックにコピーされ得るということが仮定されてよい。さらに具体的な例によれば、4のBSRに基づいて、LTFSに基づくストレージ・システム上の2つのLTFSブロック番号10および番号11が、ドライブのブロックの単位でコピーされていることが示されている。例えば、コピー動作1は、LTFSブロック番号10~番号11のデータをドライブの8つのブロック番号1200~番号1207にコピーすることを含んでいる。別の例によれば、コピー動作2は、LTFSブロック番号12~番号13のデータおよびLTFSブロック番号14の一部のデータをドライブの9つのブロック(例えば、ブロック番号1212~番号1220)にコピーすることを含んでいる。さらに別の例によれば、コピー動作3は、LTFSブロック番号14の一部のデータおよびLTFSブロック番号15のデータをドライブの7つのブロック(例えば、ブロック番号1222~番号1228)にコピーすることを含んでいる。
【0102】
一部の手法では、LTFSに基づくストレージ・システムのブロック上のデータ位置およびドライブ上のデータ位置が、対応関係テーブル1230に記録される。対応関係テーブル1230は、LTFSに基づくストレージ・システムのブロック上のいずれかの位置にあるデータをコピーするために、ドライブ上のどの位置が使用されるかを理解するために使用されてよい。
【0103】
この対応関係テーブル1230を実現するためには、LTFSの固有の特性である共有ブロックに関する問題が存在することがある。LTFSは、効率的にテープからデータを読み取るため、またはテープにデータを書き込むため、あるいはその両方のために、一般的なファイル・システムよりも大きいブロック・サイズを使用する。例えば、推奨されるLBS値は、1つの手法では512キロバイト(KB)であるが、本明細書に記載されたさまざまな手法では、さまざまな図に示されている例を明確に見る目的で、LBSは256KBであると仮定されてよい。しかし、手法に応じて、LBSは、任意の値(例えば、128KB、64KB、1024KBなど)に構成されてよい。大きいブロック・サイズにおけるテープ容量の相対的に効率的な使用のために、LTFSに基づくストレージ・システムは、ドライブ上の一般的なファイル・システムとは対照的に、複数のファイルのデータを1つのブロックに格納してよい。この慣行は、共有ブロックと呼ばれることもある。LTFSに基づくストレージ・システム上のデータの少なくとも一部が共有ブロックに格納される、LTFSに基づくストレージ・システムに格納されたデータをドライブのブロックの単位でRANVMドライブにコピーするための技術が、本明細書の他の場所でさらに説明される(例えば、
図13A~13Bを参照)。
【0104】
図13A~13Bは、1つの手法によって、ドライブのブロックの単位でLTFSに基づくストレージ・システムに格納されたデータをRANVMドライブのブロックにコピーする間の、共有LTFSブロックに基づく問題を含んでいる状態1300、1330を示している。
図13C~13Eは、ドライブのブロックの単位でLTFSに基づくストレージ・システムに格納されたデータをRANVMドライブのブロックにコピーする間の、
図13A~13Bの問題を軽減する状態1340、1350、1360を示している。任意選択として、この状態1300、1330、1340、1350、1360は、他の図を参照して説明されている特徴などの、本明細書に示されている任意の他の手法からの特徴と共に、実装されてよい。しかし当然ながら、そのような状態1300、1330、1340、1350、1360および本明細書において提示されている他の状態は、本明細書に示されている例示的な手法において具体的に説明されていることもあれば、説明されていないこともあるさまざまな応用または並べ替えあるいはその両方において、使用されてよい。さらに、本明細書において提示されている状態1300、1330、1340、1350、1360は、任意の望ましい環境内で使用されてよい。
【0105】
最初に
図13Aを参照すると、状態1300が、LTFSに基づくストレージ・システム上の複数のブロックの表現を含んでいる(例えば、LTFSブロック番号10~番号11を参照)。
図13Bの状態1330は、ドライブのターゲット・ブロックの単位でLTFSに基づくストレージ・システムのブロックからRANVMドライブの複数のターゲット・ブロックに転送されているデータを示している(例えば、ターゲット・ブロック番号1300~番号1307を参照)。
【0106】
再び
図13Aを参照すると、状態1330が、LTFSに基づくストレージ・システム上の共有LTFSブロックの例を示している。例えば、LTFSブロック番号11が、第1のファイル(例えば、ファイル1)の2つの部分および第2のファイル(例えば、ファイル2)の全体を含んでいるということに注目することができる。LTFSでは、ファイル・データ位置は、範囲のリストとして管理される。状態1300のLTFSブロックが状態1330において再現されているということに注意する。一部の手法では、範囲のリストは、対応関係テーブル(例えば、対応関係テーブル1320など)に格納されてよい。1つの範囲は、1つの連続データを表してよい。一部の手法では、範囲は、開始ブロック番号(例えば、開始ブロックを参照)、ブロック開始オフセット(例えば、バイト・オフセットを参照)、連続データの長さ(例えば、バイト数を参照)、およびファイルの範囲の位置(例えば、ファイル・オフセットを参照)を含んでよい。
【0107】
前述したように、
図13A~13Bでは、LTFSブロック番号11がファイル1およびファイル2によって共有されている。本手法では、ファイル1の格納されたデータが、LTFSブロック番号11の先頭から36KBおよびLTFSブロック番号11のオフセット(36+106)KBから26KBを含んでいる。さらに、ファイル2の格納されたデータが、LTFSブロック番号11のオフセット36KBから106KBを含んでいる。そのため、共有ブロックは、任意の境界に従って、例えば、任意のオフセットおよび任意の長さを使用して、複数のファイルのデータを格納してよい。一方、ターゲット・ブロックを含んでいるRANVMドライブ上の一般的なファイル・システムは、共有ブロックを処理するためのメカニズムを含まない。したがって、複数のファイルによって1つのブロックが共有される手法の場合、またはファイル・データがブロックの中央から前方へ格納される手法の場合、あるいはその両方の場合、例えば、共有ブロックを処理するためのメカニズムを含んでいないRANVMドライブに基づいて、ドライブがファイルを適切に処理することは、実現不可能である。この問題が
図13Bに示されており、LTFSに基づくストレージ・システム上の共有LTFSブロック番号11のデータが、RANVMドライブのターゲット・ブロック番号1304~番号1306にコピーされている。具体的には、ドライブのブロックの単位でRANVMドライブのターゲット・ブロック番号1304~番号1306にコピーされているLTFSブロック番号11に格納されたファイル1およびファイル2のデータに、境界の調整が組み込まれていないため、番号1304および番号1306などのターゲット・ブロックは、ドライブのファイル・システムによって扱うことができないデータを含んでいる。状態1330では、BSRが4であり、TBSが64KBであるということに注意する。
【0108】
例えば
図13A~13Bに示されているような、共有ブロックのデータをコピーする問題を軽減するために、ここで
図13C~13Dを参照すると、LTFSに基づくストレージ・システム上のファイル・データの書き込み中に、データ境界がRANVMドライブ上のファイル・システムのブロック・サイズに揃えられてよい。さらに具体的には、ブロック・オフセット(例えば、バイト・オフセット)をTBSで割ることによって残された余りが、ファイル・オフセット(例えば、ファイル・オフセット)をTBSで割ることによって残された余りに等しくなるように、ブロック・オフセット(例えば、バイト・オフセット)が調整されてよい。この調整に使用され得る方程式が、下に示される。
(バイト・オフセット)%TBS=(ファイル・オフセット)%TBS 方程式(1)
ここで、「%」は剰余演算子を表す。
【0109】
図13Aに示された例に適用されているこの調整の結果として、例えば
図13Cに示されているように、共有ブロック内に境界が確立され、
図13Dに示されているように、共有ブロックのデータがRANVMドライブのターゲット・ブロックにコピーされてよい。
図13Dでは、RANVMドライブのファイル・システムによってデータを扱うことができるように、データがターゲット・ブロック番号1307の中央から格納され、このデータが、ターゲット・ブロック番号1304にコピーされる。
【0110】
この調整は、LTFSに基づくストレージ・システムの磁気テープ上にファイル・データを記録しない冗長な領域を生成し、LTFSに基づくストレージ・システム上のデータ容量が減らされるため、不完全であることがある。
図13Cの例では、オフセット36Kからオフセット64Kまで、およびオフセット(64+106)Kからオフセット(64*3+36)KまでのLTFSブロック番号11の空いている部分に示された部分が、冗長な領域である。しかし、これらの冗長な領域は、RANVMドライブ上のファイル・システムにも存在し、データがRANVMドライブにコピーされるということを前提にして、LTFSの使用においてどのような重大な問題も引き起こさない。磁気テープ上のすべての冗長な領域を、ゼロがコピーされたデータで埋めることの結果として、LTFSに基づくストレージ・システムのドライブの圧縮機能が効果的に機能することが可能にされ、それによって、LTFSに基づくストレージ・システム上のデータ容量の減少が抑制され得る。
【0111】
一部の手法では、LTFSに基づくストレージ・システムに格納されたブロックの各々は、RANVMドライブにコピーされてよく、その後、ドライブ上にファイル・メタデータを構築するために、対応関係テーブルに従って、LTFSに基づくストレージ・システム上のすべてのファイルのデータ位置が、ドライブ上のデータ位置にマッピングされてよく、それによって、ドライブへのLTFSに基づくストレージ・システム上のすべてのファイルのコピーが完了してよい。
【0112】
ここで
図13Eを参照すると、状態1360は、送信先ファイル・システム(例えば、ドライブのブロックの単位でLTFSに基づくストレージ・システムからドライブにコピーされるデータの送信先ファイル・システム)がFATである手法を示している。
【0113】
図14A~14Fは、1つの手法によって、ドライブのブロックの単位でLTFSに基づくストレージ・システムに格納されたデータをRANVMドライブのブロックにコピーする状態1400、1410、1420、1430、1440、1450を示している。任意選択として、この状態1400、1410、1420、1430、1440、1450は、他の図を参照して説明されている特徴などの、本明細書に示されている任意の他の手法からの特徴と共に、実装されてよい。しかし当然ながら、そのような状態1400、1410、1420、1430、1440、1450および本明細書において提示されている他の状態は、本明細書に示されている例示的な手法において具体的に説明されていることもあれば、説明されていないこともあるさまざまな応用または並べ替えあるいはその両方において、使用されてよい。さらに、本明細書において提示されている状態1400、1410、1420、1430、1440、1450は、任意の望ましい環境内で使用されてよい。
【0114】
ドライブの単位でのLTFSに基づくストレージ・システムからRANVMドライブへのデータのコピー中に共有ブロックが処理される方法と同様の方法で(例えば、
図13A~13Eを参照)、データが上書きされたファイルを含んでいる場合に、ドライブの単位でLTFSに基づくストレージ・システムからRANVMドライブにデータをコピーするプロセスにおいて、1つまたは複数の特定の手段が実行されてよい。LTFSは、ファイルを上書きすることにおいて、磁気テープ上の記録されたブロックが再び書き込まれず、上書きするデータがファイルに追加される、追記型ファイル・システムである。
図14A~14Bは、LTFSに基づくストレージ・システム上でファイルが上書きされる状態1400および1410を含んでいる。特に、
図14Aは、ファイルの上書きの前のLTFSに基づくストレージ・システム上のファイルの状態1400を示している。さらに、
図14Bは、ファイルの上書きの後のLTFSに基づくストレージ・システム上のファイルの状態1410を示している。例えば、
図14Aに示されているような範囲内で記録されたファイルにおいて、36KBの後に106KBが上書きされた場合、この範囲は、ソース・データをLTFSブロック番号10に残しながら、
図14Bに示されているように分割され、新しいデータが追加される。この範囲の進行が、対応関係テーブルにも示され得るということに注意する(例えば、対応関係テーブル1402、1412を参照)。そのため、LTFSに基づくストレージ・システムでは、ファイルの上書きに起因して、任意の境界(例えば、任意のオフセット)でブロック・データが分割され、ブロック内に無効な領域が作成される(例えば、状態1410での無効な領域を参照)。一方、RANVMドライブ上の一般的なファイル・システムは、無効であるブロック内の領域を扱うための技術を有していないことがあり、したがって、ドライブは、そのようなブロックを含んでいるデータをファイルとして適切に処理できないことがある。
図14Cは、境界の調整が実行されない、ドライブへの上書きされたファイル・ブロックのコピーの例を示している。例えば、
図14Cに示されているように、そのような無効な領域を含んでいるブロックがドライブにコピーされた後に、例えば、ターゲット・ブロック番号1400およびターゲット・ブロック番号1402などのドライブのブロックが、ファイル・システムによって扱うことができない、ドライブ上に作成され得るデータを格納することがある。
図14Cでは、BSRが4であり、TBSが64KBであるということに注意する。
【0115】
一部の手法では、上書きされたファイルを処理する問題に対処するために、境界の位置合わせが、追加的または代替的あるいはその両方で、実行されてよく、例えばそれによって、ドライブが無効であるブロック内の任意の領域を扱うことができるようにする。例えば、境界の位置合わせの調整が、
図14Bに示された例に適用された場合、共有ブロック内のデータ境界が、
図14Dに示されているようになり、
図14Eに示されているように、共有ブロックがドライブにコピーされる。
図14Dは、ファイルを上書きするデータの境界の調整を含んでいる。
図14Eは、例えば境界の調整を伴う、ドライブへの上書きされたファイル・ブロックのコピーの例を示している。
図14Dの境界が対応関係テーブルに示され得るということに注意する(例えば、対応関係テーブル1432を参照)。
図14Eでは、ドライブのターゲット・ブロック番号1400および番号1402に無効な領域が存在するが、番号1404から番号1400へ、および番号1402から番号1406へ、有効なデータが無効な領域にコピーされ、それによって、ファイル・システム内でデータを扱うことができるようになる。
【0116】
図14Fは、送信先ファイル・システムがFATである事例を示している。具体的には、状態1450は、ドライブのターゲット・ブロック番号1400~番号1407のデータの送信先であるFATを示している。
【0117】
図15は、1つの手法によって、送信先ファイル・システム上でファイル・ブロックの割り当てを構築するための疑似コードのサンプル1500を示している。任意選択として、この疑似コードのサンプル1500は、他の図を参照して説明されている特徴などの、本明細書に示されている任意の他の手法からの特徴と共に、実装されてよい。しかし当然ながら、そのような疑似コードのサンプル1500および本明細書において提示されている他のサンプルは、本明細書に示されている例示的な手法において具体的に説明されていることもあれば、説明されていないこともあるさまざまな応用または並べ替えあるいはその両方において、使用されてよい。さらに、本明細書において提示されている疑似コードのサンプル1500は、任意の望ましい環境内で使用されてよい。
【0118】
1つの手法では、疑似コードのサンプル1500は、ドライブのブロックの単位でLTFSに基づくストレージ・システム上のデータを送信先RANVMドライブにコピーし、その後、送信先ファイル・システム上でファイル・メタデータ(例えば、ファイル・ブロックの割り当て)を構築するためのアルゴリズムである。特に、LB_TO_TBは、指定されたブロック番号に対応する送信先ドライブ上のブロック番号、およびLTFSに基づくストレージ・システム上のブロックの先頭からの位置を返す関数として機能してよい。TB_COPYは、送信先ドライブ上の別のブロックを指定するために、指定されたブロックの指定された領域をコピーするための関数として機能してよい。TB_ALLOCは、送信先ファイル・システム内の指定されたファイルに、指定されたブロック・リストを割り当てるための機能として機能してよい。
【0119】
LTFS規格は、任意のサイズに従って任意のファイル領域が書き込まれることを許可し得る(例えば
図14Bでは、範囲2のバイト数が106±αに再び書き込まれ、範囲3のファイル・オフセットが36+106±αに再び書き込まれる)が、本明細書に記載されたさまざまな手法は、そのような上書きを処理しない。さらに具体的には、
図14Bは、106Kの新しいデータによって36Kのファイル・オフセットで上書きされた106Kの古いデータを示している。ポータブル・オペレーティング・システム・インターフェイス(POSIX:Portable Operating System Interface )によって、106Kの古いデータは、106Kの新しいデータのみによって上書きされ得る。しかし、LTFS規格によって、106Kの古いデータは、任意のサイズの新しいデータによって上書きされ得る。例えば、106Kの古いデータは、110Kの新しいデータによって上書きされ得る。この例では、α=+4Kであることに注意する。LTFS規格では上書きが可能であるとしても、例えばポータブル・オペレーティング・システム・インターフェイス(POSIX)などの、一般的なファイル・システムのAPIでは、上書きが可能でないことがある。したがって、本明細書に記載された一部の手法は、そのような上書きを処理せずに機能してよい。
【0120】
本明細書の他の場所で説明された技術を適用することによって書き込まれたデータを含むテープは、LTFS規格から逸脱しなくてよく、したがって、このテープ内のデータは、本明細書に記載されたさまざまな手法が適用されないことがあるLTFSによって読み取られ、書き込まれてよい。しかし、そのような手法が適用されないLTFSによって書き込まれたデータを含むテープでは、データ境界の調整が存在しないことがあり、したがって、本明細書に記載された一部の技術に従ってデータをドライブにコピーすることが可能でないことがある。したがって、データがテープ内でLTFSによって排他的に書き込まれているかどうかを容易に区別するための技術が要求されることがある。そのような区別を達成する能力を実現するために利用される技術は、本明細書に記載された手法によって異なってよいが、例えば、LTFSインデックス生成番号(LTFS index generation number)によって特定の隠しファイルの拡張された属性値を更新することによって、実現されてよい。LTFSに基づくストレージ・システム上でデータが書き込まれるときに、LTFSインデックスが更新されてよい。一部の手法では、インデックスに含まれるインデックス生成番号が更新されてもよい。説明されたさまざまな手法の技術が適用されるLTFSに基づくストレージ・システムがインデックスをテープに書き込むときに、インデックス生成番号によって、特定の隠しファイルの拡張された属性値が更新されてよい。しかし、インデックスがテープから読み取られるときに、特定の隠しファイルの拡張された属性値がインデックス生成番号と異なるということが決定された場合、特定の隠しファイルのその後の拡張された属性値は、変更されなくてよい。この技術は、本明細書に記載されたさまざまな技術が、ドライブのブロックの単位でテープから、データがコピーされるドライブに、データをコピーするために適用可能であるかどうかを判定するために使用されてよい。そのような技術が適用可能であるということの決定に応答して、本明細書に記載されたさまざまな技術を使用してコピーが作成されてよい。しかし、一部の他の手法では、そのような技術が適用可能でないということの決定に応答して、他の既知の技術を使用してコピーが作成されてよいが、それらの既知の技術を使用すると、シーク時間が発生する。
【0121】
本発明は、任意の可能な統合の技術的詳細レベルで、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいるコンピュータ可読記憶媒体を含んでよい。
【0122】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組合せであってよいが、これらに限定されない。コンピュータ可読記憶媒体のさらに具体的な例の非網羅的リストは、ポータブル・フロッピー(R)・ディスク、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read-only memory)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル・バーサタイル・ディスク(DVD:digital versatile disk)、メモリ・スティック、フロッピー(R)・ディスク、命令が記録されているパンチカードまたは溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組合せを含む。本明細書において使用されるとき、コンピュータ可読記憶媒体は、電波もしくは他の自由に伝搬する電磁波、導波管もしくは他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを介して送信される電気信号などの、それ自体が一過性の信号であると解釈されるべきではない。
【0123】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくはワイヤレス・ネットワーク、またはその組合せ)を介して外部コンピュータもしくは外部ストレージ・デバイスへダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読記憶媒体に格納するために転送する。
【0124】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、またはSmalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは同様のプログラミング言語などの手続き型プログラミング言語を含む1つもしくは複数のプログラミング言語の任意の組合せで記述されたソース・コードもしくはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、またはリモート・コンピュータ上もしくはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN:local area network)もしくは広域ネットワーク(WAN:wide area network)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われてよい。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールドプログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をカスタマイズするためのコンピュータ可読プログラム命令を実行してよい。
【0125】
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方に含まれるブロックの組合せが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
【0126】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施する手段を作り出すべく、コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読記憶媒体がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作の態様を実施する命令を含んでいる製品を備えるように、コンピュータ可読記憶媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組合せに特定の方式で機能するように指示できるものであってもよい。
【0127】
コンピュータ可読プログラム命令は、コンピュータ上、他のプログラム可能な装置上、または他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施するように、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスに読み込まれてもよく、それによって、一連の動作可能なステップを、コンピュータ上、他のプログラム可能な装置上、またはコンピュータ実装プロセスを生成する他のデバイス上で実行させる。
【0128】
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、1つのステップとして同時に実行されるか、時間的に部分的または完全に重複する方法で実質的に同時に実行されるか、あるいは場合によっては逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方に含まれるブロックの組合せは、規定された機能または動作を実行するか、または専用ハードウェアおよびコンピュータ命令の組合せを実行する専用ハードウェアベースのシステムによって実装され得るということにも注意する。
【0129】
さらに、さまざまな実施形態に従うシステムは、プロセッサ、およびプロセッサに統合された論理またはプロセッサによって実行可能な論理あるいはその両方を含んでよく、この論理は、本明細書において列挙された処理ステップのうちの1つまたは複数を実行するように構成される。プロセッサは、処理ハードウェア、メモリ、I/Oインターフェイスなどの多くのコンポーネントを含んでいる、個別のプロセッサまたは処理回路などの、本明細書に記載されているような任意の構成であってよい。統合されるということは、すなわち、プロセッサに論理が、特定用途向け集積回路(ASIC)、FPGAなどのハードウェア論理として組み込まれるということである。プロセッサによって実行可能であるということは、すなわち、論理が、プロセッサによってアクセス可能なハードウェア論理、ソフトウェア論理(ファームウェア、オペレーティング・システムの一部、アプリケーション・プログラムの一部など)など、またはハードウェア論理およびソフトウェア論理のなんらかの組合せであり、プロセッサによって実行されたときになんらかの機能をプロセッサに実行させるように構成されているということである。ソフトウェア論理は、従来技術において知られた任意のメモリ・タイプの、ローカルまたはリモートあるいはその両方のメモリに格納されてよい。ASIC、FPGA、中央処理装置(CPU)、集積回路(IC:integrated circuit)、グラフィック処理装置(GPU:graphics processing unit)といった、ソフトウェア・プロセッサ・モジュールまたはハードウェア・プロセッサあるいはその両方などの、従来技術において知られた任意のプロセッサが使用されてよい。
【0130】
上で提示された説明から複数の組合せを作成して、前述のシステムまたは方法あるいはその両方のさまざまな特徴が任意の方法で組み合わせられてよいということが明らかである。
【0131】
本発明の実施形態が、サービスをオンデマンドで提供するように顧客のために展開されるサービスの形態で提供されてよいということがさらに理解されるであろう。
【0132】
本発明のさまざまな実施形態の説明は、例示の目的で提示されているが、網羅的であること、または開示された実施形態に限定されることを意図していない。説明された実施形態の範囲から逸脱することなく、多くの変更および変形が、当業者にとって明らかになるであろう。本明細書で使用された用語は、実施形態の原理、実際の適用、もしくは市場で見られる技術を超える技術的改良を最も適切に説明するため、または他の当業者が本明細書で開示された実施形態を理解できるようにするために選択されている。
【国際調査報告】