JP5005023B2 - 読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム。 - Google Patents
読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム。 Download PDFInfo
- Publication number
- JP5005023B2 JP5005023B2 JP2009294309A JP2009294309A JP5005023B2 JP 5005023 B2 JP5005023 B2 JP 5005023B2 JP 2009294309 A JP2009294309 A JP 2009294309A JP 2009294309 A JP2009294309 A JP 2009294309A JP 5005023 B2 JP5005023 B2 JP 5005023B2
- Authority
- JP
- Japan
- Prior art keywords
- tape
- data
- write
- read
- buffer
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/48—Disposition 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/54—Disposition 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/55—Track change, selection or acquisition by displacement of the head
- G11B5/5504—Track change, selection or acquisition by displacement of the head across tape tracks
- G11B5/5508—Control circuits therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0682—Tape device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/008—Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires
- G11B5/00813—Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic tapes
- G11B5/00817—Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic tapes on longitudinal tracks only, e.g. for serpentine format recording
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/48—Disposition 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/58—Disposition 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 for the purpose of maintaining alignment of the head relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following
- G11B5/584—Disposition 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 for the purpose of maintaining alignment of the head relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following for track following on tapes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/213—Tape storage
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
- G11B2020/1075—Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
- G11B2020/10759—Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/90—Tape-like record carriers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
テープドライブもHSMの下層のテープライブラリに含まれている。全体の読出し・書込み処理の全体のパフォーマンスの低下を避けるために単一テープドライブに対してRead/Write動作の混在は行っていない。
この装置は、読出し及び追記書込みに関わるデータを保管するバッファと、
前記バッファに保管されたデータを記録するテープと、
前記テープからデータを前記バッファに読出し、前記バッファからのデータを前記テープに書込みをする、読み書きヘッドと、
読出し命令に応じて前記テープの指定位置からデータを読出して前記バッファに保管し、追記書込み命令に応じて前記バッファに保管されたデータを前記テープのデータ書込み追記データ終端位置(EOD)から書込む制御手段とを備え、
更に、前記書込み命令により前記バッファ内に保管されたデータを保管する不揮発性メモリを設け、前記制御手段は、更に
(a)前記追記書込み命令を受取った際に、前記バッファ内保管データを前記不揮発性メモリ内の追記終端位置(メモリ内EOD)から保管する、
(b)前記バッファ内データが前記不揮発メモリに書込まれた際に前記上位装置に前記追記書込み命令の完了を返し、
(c)前記不揮発性メモリに保管されたデータに対して、前記追記書込み命令を受け取った後の第mのReadの読込みデータのテープ上の終端位置から第nのReadの読込み開始位置まで移動の際に、前記ヘッドに対する前記テープの走行する移動距離が最小になるように所定の判断基準で、前記不揮発性メモリに一時保管されたデータを移動して書込むべきテープ書込み位置(EOD)に移動して書込むことを実行することを特徴とする。
この方法は、更に、前記装置又はカートリッジに前記追記書込み命令により前記バッファ内に保管されたデータを保管する不揮発性メモリを設け、
(a)前記追記書込み命令を受取った際に、前記バッファ内保管データを前記不揮発性メモリ内の追記データ終端位置(メモリ内EOD)に保管するステップと、
(b)前記バッファ内データが前記不揮発性メモリに書き込まれた際に前記上位装置に前記追記書込み(同期)命令の完了を返すステップと、
(c)前記不揮発性メモリに保管されたデータに対して、第mのReadの読込みデータのテープ上の終端位置から連続する第nのReadの読込み開始位置まで移動の際に、前記ヘッドに対する前記テープの走行する移動距離が最小になるように所定の判断基準で、前記不揮発性メモリに一時保管されたデータを移動して書き込むべきテープ書込み位置(EOD)に移動して書き込むステップとを実行することを特徴とする。
(a)前記追記書込み命令を受取った際に、前記バッファ内保管データを前記不揮発性メモリ内の追記データ終端位置(メモリ内EOD)に保管するステップと、
(b)前記バッファ内データが前記不揮発性メモリに書き込まれた際に前記上位装置に前記追記書込み(同期)命令の完了を返すステップと、
(c)前記不揮発性メモリに保管されたデータに対して、第mのReadの読込みデータのテープ上の終端位置から連続する第nのReadの読込み開始位置まで移動の際に、前記ヘッドに対する前記テープの走行する移動距離が最小になるように所定の判断基準で、前記不揮発性メモリに一時保管されたデータを移動して書き込むべきテープ書込み位置(EOD)に移動して書き込むステップとを、コンピュータに実行させることを特徴とする。
1.バッファに書かれたデータの同期(テープへの書込み)が必要となった際には、同期されるべきデータを一時的な不揮発性記憶領域に書込む。
2.一時的な記憶領域は、テープの移動が不要となる場所、あるいは、本来の場所に記録する場合と比べてテープの総移動距離・時間が短くなるような場所を使用する。また書き込み時間は、通常の書き込み時間と同じか、より速くなるものを使用する。
3.一時的に記憶されたデータは、後で本来記録されるべき位置に書き直す。
通常はバッファにデータを残しておき、書き直しの際に一時的な記憶領域からの読み直しは不要とする。
4.書き直し動作は、その後の移動動作の一部として行う。
5.電源が落ちるなどしてバッファのデータが損失した場合には、エラーからの復旧処理として、不揮発性の一時的な記憶領域から読出して、本来の記録位置に書き直す。
図1は、本実施の形態が適用されるテープドライブを含むテープライブラリ100の構成例を示した図である。 図示するように、テープライブラリ100は、テープドライブ10と、ライブラリ制御機構30と、アクセッサ40と、カートリッジスロット50とを備える。 このうち、テープドライブ10は、ホストインターフェイス(以下、「ホストI/F」という)11と、バッファ12と、チャネル13と、書込みヘッド14aと、読出しヘッド14bと、モータ15とを含む。また、コントローラ16と、ヘッド位置制御システム17と、モータドライバ18とを含む。更に、テープドライブ10には、テープカートリッジ(以下、単に「カートリッジ」という)20が挿入されることにより装填可能となっているので、ここでは、カートリッジ20も図示している。このカートリッジ20は、リール21、22に巻かれたテープ23を含む。テープ23は、リール21、22の回転に伴い、リール21からリール22の方向へ、又は、リール22からリール21の方向へ、長手方向に移動する。尚、テープ23としては、磁気テープが例示されるが、磁気テープ以外のテープ媒体でもよい。
チャネル13は、テープ23に書き込むべきデータを書込みヘッド14aに送ったり、テープ23から読出されたデータを読出しヘッド14bから受け取ったりするために用いられる通信経路である。
書込みヘッド14aは、テープ23が長手方向に移動するとき、テープ23に対して情報を書き込み、読出しヘッド14bは、テープ23が長手方向に移動するとき、テープ23から情報を読出す。
モータ15は、リール21、22を回転させる。尚、図では、1つの矩形でモータ15を表しているが、モータ15としては、リール21、22の各々に1つずつ、合計2個設けるのが好ましい。
モータドライバ18は、モータ15を駆動する。尚、上述したように、モータ15を2個使用する場合であれば、モータドライバ18も2個設けられる。
アクセッサ40は、ライブラリ制御機構30の制御により、カートリッジ20をカートリッジスロット50から取り出してテープドライブ10に装填する。
カートリッジスロット50は、読み書きが行われていないカートリッジ20を保管しておくための場所である。ここでは、カートリッジスロット50を1つの矩形で示したが、実際には、複数のカートリッジをそれぞれ格納する複数のスロットである。
トラックに対してリニアに右から左、左から右というようにテープを走行させた場合にReadとWriteが混在するコマンド列を受取る例を説明する。
上記のコマンド列(1)−(9)に示した様に、Write(追記書込み)の後に移動してReadを行い、さらにWriteを行う。
Write data9→(2)WriteFM9 w/Sync(FileMarker9の書込みと同時に同期(Flush)が行われる)(3)Position toC(位置Cへの移動命令)→(4) Read data3 data3→(5) Position toB→(6) Write data10→(7) WriteFM10 w/Sync→(8)Positon toF→(9)Readdata7である。
1.位置Aでdata9をバッファリングする((1))。
2.同期動作としてバッファからdata9を書き込んだ後、FM9を書き込む((2))。data9、FM9の書込みの結果、位置AからBへ移動
3.位置BからCへ移動((3))
4.data3の読出し((4))。data3の読出しの結果位置Cから位置Dへ移動
5.位置Dより位置Bへ移動(5)
6.data10をバッファリング((6))
7.同期動作としてdata10を書き込んだ後、FM10を書き込む((7))。位置Bから位置Eへ移動
8.位置Eより位置Fへの移動(8)
9.data7の読出し。位置FからGへ移動(9)
上記動作によりテープ全長の模式の図3(下図)に示した様に、一連の動作におけるテープの移動距離は、位置A → B → C → D → B → E → F → G となる。書込み動作と読出し動作の間には必ず同期動作(例えばSync命令によるFlush)と移動動作(Position命令)が発生している。
この混在動作では、テープの移動距離が長くなる。このケースで混在動作とは、同期動作とその後の目標位置Fの途中の移動の重複部分(B→Eと)が増加分となる。すなわち、従来の動作では、この増加分だけ移動動作に要する時間が長くなる問題が発生する。よって、同期動作とその後の移動重複分を省略できるか検討する。
1.位置Aで、data9のバッファリング((1))。
2.同期動作としてバッファからdata9を書き込んだ後、FM9を書き込む(2)。位置AからBへ移動。
3.位置BからCへ移動((3))。
4.data3の読出し((4))。位置Cから位置Dへ移動。
5.位置Dより位置Bへの移動((5))を省略し、
6.data10のバッファリング((6))
7.data10およびFM10に対する同期動作((7))を省略して、バッファリングしたままにする。
8.位置Dより位置F((8))へ移動
9.data7の読出し((9))。位置FからGへ移動
移動距離は位置A → B → C →D → F→Gとなる。同期動作を含む前述の例では3つの移動動作(D→B→E→F)が、位置D→Fへの移動動作1つになり、移動距離が短縮される。具体的には、次の3つの動作において図3の場合より移動距離が短縮される。
・5番目の命令による、位置DからBへの移動動作
・7番目の命令による、位置BからEへの移動を伴うdata10とFM10の同期書込み動作
・8番目の命令による、位置EからFへの移動動作
1.テープカートリッジまたはテープドライブに新たに一時的な不揮発性記憶領域を持たせる。この不揮発性記憶領域を設けることにより、同期動作を短縮させる、アクセス特性を持つ。不揮発性記憶域として、カートリッジやドライブに付随したフラッシュメモリ等の不揮発性メモリ、テープ媒体上の特殊記憶領域などである。
2.テープドライブは、一時的な不揮発性記憶域を本来のテープの書込み位置(物理EOD:End of Data)からの追記書込み動作を遅延させるものとして用いる。つまり本来のテープ上の位置への書き直し動作は別途行う。
(1)ホストからの同期要求に対する完了報告以後、必ずテープカートリッジ(または、テープドライブ)から読めることを保証するために使う。
(2)ホストからは隠蔽されたものとする。つまり、書込み後に読出し動作が発生した場合は、あたかも本来の位置に書かれているものとしてこの不揮発性記憶域から読出す。
2.不揮発記憶領域に一時保管されたデータを、本来のテープの書込み位置(EOD:End of data)に書き込む動作が必要である。
書き直し動作での移動距離は、書き込み・同期動作時の移動距離と逆関係の関係である。つまり同期動作の省略により距離短縮と書き直し動作による移動距離の増加は同じである。従来の動作より移動距離・時間を短縮できるときに書き直す。例えば、複数のRead間の移動動作中に、書き直すべき(追記)位置(EOD)を通過する場合には、書き直し動作のための移動をせずに書き直せる。
・テープの長さ方向の距離を考える。
・現在位置Aから移動目標位置B(, C, D, E)への移動の際に、書き直しを行うものとする。
・現在位置Aから見た、書き直し開始位置X、完了位置Yと移動目標位置B(, C,D, E)の関係を分類する。
1.移動目標位置Bは、書き直し開始位置Xと完了位置Yと同方向にあり、位置X,Yよりも遠い。
2.移動目標位置Cは、書き直し開始位置Xと完了位置Yと同方向にあり、位置Xと位置Yの中間にある。
3.移動目標位置Dは、書き直し開始位置Xと完了位置Yと同方向にあり、位置X,Yよりも近い。
4.移動目標位置Eは、書き直し開始位置Xと完了位置Yと逆方向にある。
・さらに位置A->B (, C, D, E)への移動方向に対して書込み方向の違いが影響する。書込み方向は移動方向と同方向(上図)と書込み方向が移動方向と逆方向(下図)である。
・上記それぞれで、移動動作での距離:位置A->B(, C, D, E)と、書き直し動作の追加による移動距離:位置A->X->Y->B(,C, D, E)の関係は次の通りである。
1.同方向の場合、書き直しによる移動距離は増加しない(1−a)。逆方向のときは、位置A->Bの移動はA->X->Bと同じなので、位置X<->Y間の1往復分増加する(1−b)。
2.同方向の場合、位置X->Y->Cから位置X->Cの差分だけ増加する(2−a)。逆方向の場合、位置A->Cの移動はA->Y->Cと同じ。よって位置Y<->X間の1往復分増加する(2−b)。
3.同方向の場合、位置A->Xの移動は位置A->D->Xと同じなので、位置D->X->Y->Dの距離が増加する(3-a)。逆方向の場合、位置A->Xの移動は、位置A->D->Y->Xと同じ。よって、位置 D->Y->X->Y->Dの距離が増加する(3-b)。
4.どちらの方向も、位置A->X->Y->Aの距離が増加する(4−a,4−b)。
書き込み・同期動作を省略することにより、書込み後の移動目標に寄らず移動距離は等しいか、短縮できる。書き直し動作で移動距離を短縮できるのは、同期動作とは逆関係にある。
1.テープ媒体への同期動作の省略による移動距離の短縮量と、書き直し動作による移動距離は逆関係にあることは図5のところで説明した通りであることがわかる。
2.同期動作の省略と書き直し動作の発生が1:1の時、総移動距離は変わらない。本発明では、同期動作に対して全てのバッファ保管データは不揮発性記憶領域(不揮発性メモリ)に保管する。不揮発性メモリにデータ保管することにより、テープ移動を伴う書き直しを省略できる。次に、書き直しのための移動を省略できれば、全体の総移動距離を短縮できる。完全に書き直し動作のための移動距離を省略できる場合が1−aのケースである。1−aのケースは、テープの書き直し位置(物理EOD)が2つのReadの移動距離間(第1のRead(読出し)テープのデータ終端位置から第2のRead(読出し)テープのデータ先端位置の間の移動)の間に存在する場合である。1−aのケースでは、同期動作により不揮発性メモリに保管されたデータを、後続の移動の途中においてテープに書き直す動作である。
3.複数の同期動作が複数回省略され、かつ、不揮発性メモリに保管されたデータの書き直し動作が後続の複数のRead動作の移動途中で実行できる場合には、混在したコマンド列の総移動距離は必ず短縮される。
・移動パターン:1−aケースの時
移動動作の開始前において、書き直し動作の実施を判定は、移動パターンが1-aの時は、書き直し動作のために移動距離が増加することが無い。つまり、移動距離の増加がゼロとなるので、後続のReadのため移動において必ず書き直しを行う。図5を参照すると、書込みテープ位置(X→Y)がテープの2つのテープ位置間(A→B)の移動途中に存在する場合である。
・移動パターン:1-bと2-a,2−bケースの時
書き直し動作により移動距離の増加が発生する。
増加率は、本来の移動距離:位置A→B(, C, D, E)、書き直し開始位置Xと書き直すデータ量(X←→Y)に依存する位置Yに依存する。
後述する、一時的に記憶しているデータ量と書き直しによる移動量の関係より実施を判断する。不揮発性メモリ保管データ(X→Y)の書き直しは、X→Yの書込み途中までは増分無しで出来る。しかし、2点間(A→C,D,E)移動の際に、その移動距離間にX−Yが重ならない場合がある場合には、書き直し動作による増分がある。この増分が小さい場合には、ほとんど移動距離間で書き直せることになる。ただし、一部のテープの書込みのための移動の増分が生じることから、このケースでは場合ではRead途中で書き込む利益が余り得られない。
・移動パターン:3−a、3−bと4−a、4−bのケース時
書き直し動作による移動動作により、本来の移動距離が大幅に増加するため、書き直しは行わない。明らかに後続の複数のReadでの移動途中において書き込むべきデータ位置(X→Y)が重ならない場合であるので、コマンド列全体での利益は得られない。
1.移動動作を行わず、一時的な記憶領域に新たなユーザデータを書き込む。
(利点)書込み処理のために移動はしないので、移動距離を短縮できる。
(欠点)書き込み途中で、一時的な記憶領域が不足する可能性がある。
2.一時的な記憶領域には書き込まず、書き直し動作を行ったうえで、本来の位置に書き込む。
(利点)一時的な記憶領域を空けることができる。
(欠点)書き直し開始位置Xへ移動して書き直しを行う必要がある。
上記2つの動作の利点・欠点は、次の2つと相関関係にある。
一時的な不揮発性記憶領域に保管されているデータ量(使用率)と、現在位置から書き直し開始位置までの移動距離によって判定される。
例えば移動パターン1-bと2-a,2−bの場合は、読出しの為の2点間の移動の対する増分が大きい場合はテープへの書き直し動作を行なわないことを選択することを原則とする。また、読出し動作の間の途中の書き直し動作により多少の移動距離の増加が発生したとしても、一時的な記憶領域への書き込みによる距離の短縮量が上回る場合がある。かかる場合には、Readのための移動の途中において書き直し動作を実行する選択も可能である。
・一時的な記憶領域へ書き込み中に空きがなくなった場合は、無条件で書き直し動作を行う。テープへの書き直し動作を行わないと、不揮発性記憶領域に空きがないため書き込み動作を継続できない。書き直し動作後、継続して通常のテープ書き込み動作を行ってもよい。
・通常の書き込み・同期動作との移動距離の違いは次の通りである。
一時的な記憶領域に、data10とFM10が既にある。
新たにdata11を受け取っている途中に、空きがなくなった場合、現在位置Aから書き直し開始位置Xへの移動方向と、書き込み方向が同じ場合(上図、1−aケース)、移動距離は変わらない。現在位置Aから書き直し開始位置Xへの移動方向と、書き込み方向が逆の場合(下図、1−bケース)、位置Y<→X間一往復分増加する。この移動距離の増加は、一時的な記憶領域への書き込みによる距離の短縮より小さい場合が通常であるので本発明の追記書込みを実行できる。
1.テープドライブはテープ位置A(図5)においてWrite命令をホストから受け取る。ホストから送られた追記書込みデータはバッファに保管される。テープ上の追記されるべきテープ位置(物理EOD)は位置X(図5)である。追記されると位置Y(X→Y)がEODとなる。位置Xへの移動はPosition命令によりなされる。追記後のEODはYとなる。Yから例えばBへの移動は移動命令(Position命令)にされる。本発明の場合、Read後においてテープの位置Aに位置している場合、次のReadのため目標位置Bに直接移動する場合を想定する。後述するがこの移動間にX−Yが同一ラップ内に存在するのでテープへの追記書込みを行うために(図11)、不揮発性メモリにデータを保管する。
2.NVキャッシュ(不揮発性記憶メモリ)に書き込めるか確認する。NVキャッシュに空きがなければ通常どおりの書込みをする。
3.空きがある場合、NVキャッシュにデータを保管する。
4.空きがない場合、テープに通常の書込みを行う。
5.上記2つのケースにおいてもWrite完了をホストに返す。
1.テープドライブはホストから同期命令(Sync)を受取る。Write命令が同期動作の伴うものであってもよい。さらに、バッファにWrite命令によるデータが残っている状態における位置移動命令による暗示された同期要求であってもよい。
2.既にテープに書込み中か確認する。
3.書込み中の場合には、通常の同期動作処理によりテープに通常の追記書込みを行う。
4.書込み中でない場合には、NVキャッシュに書き込めるか確認する。即ち、下記領域があるか無いかで、この確認がされる。
5.NVキャッシュに空きがある場合、同キャッシュにデータを保管し、同期完了をホストに返す(8)。
6.NVキャッシュに空きがない場合、通常の書込みを行い(3)、同期完了をホストに返す(8)。
1.ホストから移動コマンドを受取る。
2.論理EODであるか。
論理EODは、ドライブがホストに報告したデータを書き終わった位置である。物理EODは、ドライブが内部的にデータを書き終わった位置である。論理EODは、ホストのためのEODである。物理EODは、テープ上の、ドライブがデータを書き終わった位置である。不揮発性メモリ内にデータが書かれている状態では、「テープ上のEOD」「不揮発性メモリ上のEOD」の2箇所の物理EODがあり、論理EODは不揮発性メモリ上のEODと一致する。不揮発性メモリ内にデータが書かれていない状態では、物理EODは「テープ上のEOD」の1箇所だけである。この場合の論理EODは、テープ上のEODと一致する。なおドライブ内部の動作なので物理EODで説明する。
3.現在位置がEOD(テープ上のEODまたはNVキャッシュ内のEOD)である場合、移動不要である。移動完了をホストに返す(4)。Writeフロー(6,図9)→同期命令フロー(7,図10)を実行する。
8.現在位置が論理EODでない場合(2)、NVキャッシュにデータが存在するか確認する。
9.NVキャッシュ内にデータが存在しない場合、ホストからのReadのための移動命令(A→B)を行う。移動完了をホストに返す(13)。
10.NVキャッシュ内にデータが存在する場合、移動中に書くことか判定する。例えば移動途中に書込むべきEODが存在する場合である。
11.書くべき場合には、テープ上のEODからNVキャッシュのデータをテープに書き直す(12)。
12.通常の移動を行う(9)。また、10の判定で移動中に書くべきでない場合には、単に移動(A→B)(9)する。移動完了をホストに返す(13)。
Claims (9)
- テープ媒体に対する、位置移動、読出し、書込みの動作が前記テープ媒体の長手方向に往復して行われ、読出し及び追記書込みの命令(ReadとWrite)を混在させたコマンド列であって、上位装置から複数の前記Readは順に第1、第2、・・・第m、第n・・・(m、n=m+1)を与える前記コマンド列を受取るテープ記録装置であって、
読出し及び追記書込みに関わるデータを保管するバッファと、
前記バッファに保管されたデータを記録するテープと、
前記テープからデータを前記バッファに読出し、前記バッファからのデータを前記テープに書込みをする、読み書きヘッドと、
読出し命令に応じて前記テープの指定位置からデータを読出して前記バッファに保管し、追記書込み命令に応じて前記バッファに保管されたデータを前記テープの追記データ終端位置(EOD)から書込む制御手段とを備え、
更に、前記追記書込み命令により前記バッファ内に保管されたデータを保管する不揮発性メモリを設け、
前記制御手段は、更に
(a)前記追記書込み命令を受取った際に、前記バッファ内保管データを前記不揮発性メモリ内の追記終端位置(メモリ内EOD)から保管し、
(b)前記バッファ内データが前記不揮発メモリに書込まれた際に前記上位装置に前記追記書込み命令の完了を返し、
(c)前記不揮発性メモリに保管されたデータに対して、前記追記書込み命令を受け取った後の第mのReadの読込みデータのテープ上の終端位置から第nのReadの読込み開始位置までテープ移動の際に、書込むべき前記テープの追記データ終端位置(EOD)が前記移動距離の間(前記終端位置から前記開始位置の間)に存在し、前記テープの移動の方向(前記終端位置から前記開始位置)が書込むべき前記テープの追記データ終端位置(EOD)からの書込み方向と同方向である場合であって前記読み書きヘッドが前記テープの追記データ終端位置(EOD)に至るときに、前記不揮発性メモリに一時保管されたデータを前記テープ書込み位置(EOD)に追記書き込む、テープ記録装置。 - 前記制御手段の(c)は、カートリッジの排出命令を受取った際に前記不揮発性メモリに保管されたデータを全て前記テープの追記データ終端位置(EOD)から書込む請求項1に記載の装置。
- 前記制御手段の(c)は、前記不揮発性メモリが一杯になった際に前記不揮発性メモリに保管されたデータを全て前記テープの追記データ終端位置(EOD)から書込む請求項1又は2に記載の装置。
- 前記制御手段は、前記不揮発性メモリから前記テープの追記データ終端位置(EOD)への書込みが前記バッファを経由して実行される請求項1〜3何れか1項に記載の装置。
- 前記制御手段は、前記追記書込み命令が同期動作を含み、前記同期動作により前記バッファ内保管データを前記テープ又は前記不揮発性メモリに書込む請求項1に記載の装置。
- 前記不揮発性メモリは、所定の容量のフラッシュメモリである請求項1に記載の装置。
- 前記不揮発性メモリは、同一カートリッジのテープの予備トラック領域である請求項1に記載の装置。
- 読出し及び追記書込みに関わるデータを一時保管するバッファと、前記バッファに保管されたデータを記録するテープと、前記テープからデータを前記バッファに読出し、前記バッファからのデータを前記テープに書込みをする、読み書きヘッドと、読出し命令に応じて前記テープの指定位置からデータを読出して前記バッファに保管し、追記書込み命令に応じて前記バッファに保管されたデータを前記テープの追記データ終端位置(EOD)から書込む制御手段とを備え、前記テープに対する、位置移動、読出し、書込みの動作が前記テープ媒体の長手方向に往復して行われるテープ記録装置において、前記テープ媒体を有する1つのテープカートリッジを搭載され、上位装置から読出し及び追記書込みの命令(ReadとWrite)を混在させたコマンド列であって、複数の前記Readは順に第1、第2、・・・第m、第n・・・(m、n=m+1)を含む前記コマンド列を受取った場合の、追記書込みの方法であって、
更に、前記装置又はカートリッジに前記追記書込み命令により前記バッファ内に保管されたデータを保管する不揮発性メモリを設け、
(a)前記追記書込み命令を受取った際に、前記バッファ内保管データを前記不揮発性メモリ内の追記データ終端位置(メモリ内EOD)に保管するステップと、
(b)前記バッファ内データが前記不揮発性メモリに書き込まれた際に上前記位装置に前記追記書込み命令の完了を返すステップと、
(c)前記不揮発性メモリに保管されたデータに対して、前記追記書込み命令を受け取った後の第mのReadの読込みデータのテープ上の終端位置から第nのReadの読込み開始位置までテープ移動の際に、書込むべき前記テープの追記データ終端位置(EOD)が前記移動距離の間(前記終端位置から前記開始位置の間)に存在し、前記テープの移動の方向(前記終端位置から前記開始位置)が書込むべき前記テープの追記データ終端位置(EOD)からの書込み方向と同方向である場合であって前記読み書きヘッドが前記テープの追記データ終端位置(EOD)に至るときに、前記不揮発性メモリに一時保管されたデータを前記テープ書込み位置(EOD)に追記書き込むステップとを、含む方法。 - 読出し及び追記書込みに関わるデータを一時保管するバッファと、 前記バッファに保管されたデータを記録するテープと、前記テープからデータを前記バッファに読出し、前記バッファからのデータを前記テープに書込みをする、読み書きヘッドと、読出し命令に応じて前記テープの指定位置からデータを読出して前記バッファに保管し、追記書込み命令に応じて前記バッファに保管されたデータを前記テープから書込む制御手段とを備えたテープ記録装置において、テープ媒体に対する、位置移動、読出し、書込みの動作が前記テープ媒体の長手方向に往復して行われ、前記テープ媒体を有する1つのテープカートリッジを搭載され、上位装置から読出し及び追記書込みの命令(ReadとWrite)を混在させたコマンド列であって、複数の前記Readは順に第1、第2、・・・第m、第n・・・(m、n=m+1)を含む前記コマンド列を受取った場合の、追記書込みのためのプログラムであって、
更に、前記装置又は前記カートリッジに、前記追記書込み命令により前記バッファ内に保管されたデータを保管する不揮発性メモリを設け、
(a)前記追記書込み命令を受取った際に、前記バッファ内保管データを前記不揮発性メモリ内の追記データ終端位置(メモリ内EOD)に保管するステップと、
(b)前記バッファ内データが前記不揮発性メモリに書き込まれた際に前記上位装置に前記追記書込み命令の完了を返すステップと、
(c)前記不揮発性メモリに保管されたデータに対して、前記追記書込み命令を受け取った後の第mのReadの読込みデータのテープ上の終端位置から第nのReadの読込み開始位置までテープ移動の際に、書込むべき前記テープの追記データ終端位置(EOD)が前記移動距離の間(前記終端位置から前記開始位置の間)に存在し、前記テープの移動の方向(前記終端位置から前記開始位置)が書込むべき前記テープの追記データ終端位置(EOD)からの書込み方向と同方向である場合であって前記読み書きヘッドが前記テープの追記データ終端位置(EOD)に至るときに、前記不揮発性メモリに一時保管されたデータを前記テープ書込み位置(EOD)に追記書き込むステップとを、コンピュータに実行させるプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009294309A JP5005023B2 (ja) | 2009-12-25 | 2009-12-25 | 読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム。 |
US12/909,765 US8966169B2 (en) | 2009-12-25 | 2010-10-21 | Linear recording device for executing optimum writing upon receipt of series of commands including mixed read and write commands and a method for executing the same |
US14/599,690 US9601141B2 (en) | 2009-12-25 | 2015-01-19 | Linear recording device for executing optimum writing upon receipt of series of commands including mixed read and write commands and a method for executing the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009294309A JP5005023B2 (ja) | 2009-12-25 | 2009-12-25 | 読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム。 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011134413A JP2011134413A (ja) | 2011-07-07 |
JP5005023B2 true JP5005023B2 (ja) | 2012-08-22 |
Family
ID=44187258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009294309A Active JP5005023B2 (ja) | 2009-12-25 | 2009-12-25 | 読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム。 |
Country Status (2)
Country | Link |
---|---|
US (2) | US8966169B2 (ja) |
JP (1) | JP5005023B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101475993B1 (ko) * | 2008-11-21 | 2014-12-23 | 인터내셔널 비지네스 머신즈 코포레이션 | 테이프 기록 장치에 있어서 데이터의 덮어쓰기 제어 방법, 덮어쓰기 제어 프로그램, 및 테이프 기록 장치 |
JP5005023B2 (ja) * | 2009-12-25 | 2012-08-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム。 |
DE112012002622B4 (de) * | 2011-06-24 | 2017-01-26 | International Business Machines Corporation | Aufzeichnungseinheit für lineare Aufzeichnung zum Ausführen optimalen Schreibens beim Empfangen einer Reihe von Befehlen, darunter gemischte Lese- und Schreibbefehle, sowie Verfahren und Programm für dessen Ausführung |
US8762330B1 (en) * | 2012-09-13 | 2014-06-24 | Kip Cr P1 Lp | System, method and computer program product for partially synchronous and partially asynchronous mounts/unmounts in a media library |
US9268676B2 (en) | 2013-01-04 | 2016-02-23 | International Business Machines Corporation | Data storage mechanism using storage system determined write locations |
WO2015075201A1 (en) * | 2013-11-21 | 2015-05-28 | Genmab A/S | Antibody-drug conjugate lyophilised formulation |
JP6341652B2 (ja) * | 2013-11-25 | 2018-06-13 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | テープカートリッジのデータを自動的にリクラメーションする方法 |
US11823709B2 (en) | 2021-08-12 | 2023-11-21 | International Business Machines Corporation | Write performance by enabling host data transfer immediately after a reposition command |
US11809731B2 (en) | 2021-09-28 | 2023-11-07 | International Business Machines Corporation | Appending data to a tape cartridge during recall operations |
US11853580B1 (en) | 2022-06-30 | 2023-12-26 | International Business Machines Corporation | Data migration management based on data location |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5546557A (en) | 1993-06-14 | 1996-08-13 | International Business Machines Corporation | System for storing and managing plural logical volumes in each of several physical volumes including automatically creating logical volumes in peripheral data storage subsystem |
US5636355A (en) * | 1993-06-30 | 1997-06-03 | Digital Equipment Corporation | Disk cache management techniques using non-volatile storage |
EP0708444A1 (en) * | 1994-10-21 | 1996-04-24 | Hewlett-Packard Company | An apparatus for accessing a linear serpentine tape |
WO1997027589A1 (en) * | 1996-01-26 | 1997-07-31 | Exabyte Corporation | Handling defective frames on hard sectored magnetic tape |
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 | テープ装置 |
JP2001154809A (ja) * | 1999-11-30 | 2001-06-08 | Fujitsu Ltd | ディスク装置 |
JP2001222380A (ja) * | 2000-02-07 | 2001-08-17 | Hitachi Ltd | 外部記憶装置とそれを備えた情報処理システム |
US6856479B2 (en) * | 2002-01-29 | 2005-02-15 | International Business Machines Corporation | Writing synchronized data to magnetic tape |
JP3969265B2 (ja) * | 2002-09-25 | 2007-09-05 | 日本電気株式会社 | 磁気テープ装置及びその制御方法 |
GB2393804B (en) * | 2002-10-02 | 2005-05-18 | Hewlett Packard Co | Retrieval of records from data storage media |
US6839801B2 (en) * | 2003-01-06 | 2005-01-04 | International Business Machines Corporation | Deferred writing of data to be synchronized on magnetic tape employing a non-volatile store |
US6970311B2 (en) | 2003-08-18 | 2005-11-29 | International Business Machines Corporation | Storing data to magnetic tape both to one set of tracks and in the same operation rewritten to another set of tracks |
US6958878B2 (en) * | 2003-10-27 | 2005-10-25 | International Business Machines Corporation | Forced backhitch for speed matching in a multi-speed tape drive |
JP4131517B2 (ja) * | 2005-09-06 | 2008-08-13 | インターナショナル・ビジネス・マシーンズ・コーポレーション | テープ媒体にデータを書き込むための装置 |
JP2008016117A (ja) | 2006-07-05 | 2008-01-24 | Fujitsu Ltd | テープへのデータ書込方法、テープへのデータ書込プログラム、及びテープ記憶装置 |
JP4675881B2 (ja) * | 2006-12-27 | 2011-04-27 | 株式会社東芝 | 磁気ディスク装置およびその制御方法 |
US7721043B2 (en) * | 2007-01-08 | 2010-05-18 | International Business Machines Corporation | Managing write requests in cache directed to different storage groups |
US8082388B2 (en) * | 2008-03-27 | 2011-12-20 | International Business Machines Corporation | Optimizing operational requests of logical volumes |
EP2372715B1 (en) * | 2008-12-25 | 2016-11-02 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Device and method for reading out data from recording medium |
US8554964B2 (en) * | 2009-03-20 | 2013-10-08 | Oracle America, Inc. | Method and apparatus for efficient synchronization request response |
JP5005023B2 (ja) * | 2009-12-25 | 2012-08-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム。 |
-
2009
- 2009-12-25 JP JP2009294309A patent/JP5005023B2/ja active Active
-
2010
- 2010-10-21 US US12/909,765 patent/US8966169B2/en not_active Expired - Fee Related
-
2015
- 2015-01-19 US US14/599,690 patent/US9601141B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20110157741A1 (en) | 2011-06-30 |
US20150310882A1 (en) | 2015-10-29 |
US9601141B2 (en) | 2017-03-21 |
US8966169B2 (en) | 2015-02-24 |
JP2011134413A (ja) | 2011-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5005023B2 (ja) | 読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム。 | |
JP5552195B2 (ja) | 読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム | |
US9025271B2 (en) | Method for reading file using plurality of tape media | |
JP5885298B2 (ja) | テープドライブでのデータ書き込み方法、プログラム | |
JP4131517B2 (ja) | テープ媒体にデータを書き込むための装置 | |
JP5325128B2 (ja) | データの書込みを制御する装置及び方法 | |
JP6005122B2 (ja) | 複数のテープカートリッジにファイルをスパニングして書込む方法 | |
US20100265612A1 (en) | Lateral partitioning for a shingled tape format | |
US9753664B2 (en) | Method of detecting tampering of data in tape drive, and file system | |
JP2014115807A (ja) | ファイルを複数のメディアに書込む方法、及びストレージ・システム | |
US9122425B2 (en) | Apparatus and method for writing data to recording medium | |
JP5065203B2 (ja) | データのフォーマットを変換する装置及び方法 | |
US10656853B2 (en) | Tape having multiple data areas | |
JP4452269B2 (ja) | データ書込みパフォーマンスが改善されたテープ記録装置、及びそのデータ書込み制御方法 | |
US20040165304A1 (en) | Method, system, and program for maintaining a directory for data written to a storage medium | |
JP5437371B2 (ja) | 複数のテープ記録装置を含むテープ記憶システム | |
JP2014215668A (ja) | テープドライブへのデータ書き込み方法、プログラム | |
US20070236817A1 (en) | Magnetic-tape recording method, magnetic-tape recording apparatus, and computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111017 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111025 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120221 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120418 |
|
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: 20120508 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120522 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150601 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5005023 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |