JP5005023B2 - 読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム。 - Google Patents

読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム。 Download PDF

Info

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
Application number
JP2009294309A
Other languages
English (en)
Other versions
JP2011134413A (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
Priority to JP2009294309A priority Critical patent/JP5005023B2/ja
Priority to US12/909,765 priority patent/US8966169B2/en
Publication of JP2011134413A publication Critical patent/JP2011134413A/ja
Application granted granted Critical
Publication of JP5005023B2 publication Critical patent/JP5005023B2/ja
Priority to US14/599,690 priority patent/US9601141B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • 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/0608Saving storage space on storage systems
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • 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/008Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires
    • G11B5/00813Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic tapes
    • G11B5/00817Recording 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
    • 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/58Disposition 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/584Disposition 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/213Tape storage
    • 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
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/1075Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
    • G11B2020/10759Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
    • 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)
  • 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

本発明は、読出し及び書込み命令(Read及びWrite)の混在するコマンド列を受け取った場合における最適な書込みを実行するリニア記録方式のテープ記憶装置、その方法、及びプログラムに関する。
テープ記録装置(テープドライブ)は、シーケンシャルアクセスデバイスである。ドライブの動作には、テープカートリッジの取込み/搭載 (Mount/Load)と、吐出し(Unmount、Unload)がある。また、テープ動作には、テープ媒体に対する位置移動(Position命令)、書込み(Write命令)、読出し(Read命令)と、同期(Sync命令:Synchronize)がある。
テープ上に書かれるデータには、ユーザデータと、ユーザデータの区切りを表すファイルマーク(FM:File Marker)がある。Write動作は、テープ上の最終データの後へ移動してから書込む追記方式か、古いデータの上に新たに書き直す上書き方式のいずれかになる。
通常、テープドライブでは、読出し動作と書込み動作は混在できる。その際、移動動作と同期動作(flush)を伴う。同期動作と移動動作はテープの長さ方向の移動を発生させるため、テープドライブのRead/Writeのパフォーマンスを悪くする要因となっている。なお、同期動作は、バッファに一時保管されたデータをテープ媒体に書いたことを確実にする動作である。
階層ストレージ管理システム(HSM:Hierarchical Storage Management)ではテープドライブに対する読出し/書き込み動作が混在している。
テープドライブもHSMの下層のテープライブラリに含まれている。全体の読出し・書込み処理の全体のパフォーマンスの低下を避けるために単一テープドライブに対してRead/Write動作の混在は行っていない。
その代わり、テープカートリッジのマウント毎にWriteもしくはRead動作の何れかだけを行っている。または、複数のテープドライブをWrite用と Read用に分けている。これらの方法は、より多くのテープドライブを必要とし、また時間(手間)のかかるマウント動作を増やし処理パフォーマンスを低下させる。
非特許文献1及び2は、テープカートリッジがRead及びWrite専用に使用される利用環境を例示する。大規模な科学技術計算では特に、1つのテープカートリッジにWrite・Read混在で使用するとパフォーマンスの向上が図れない。この点は通常のテープ記憶装置を含む記憶装置階層化システムにおいても同様である。
http://castor.web.cern.ch/castor/presentations/2006/Review/Castor_Monitoring.pdf https://twiki.cern.ch/twiki/pub/FIOgroup/TapeRefCernUsageNov2007/tape_usage_efficiency_v05.pdf
従って、使用するテープドライブとマウント動作を減らすために、一つのテープドライブ及びテープカートリッジの組合せでパフォーマンスを低下させずにRead/Write動作の混在が実現することが有用である。
そこで、本発明の目的は、1つのテープドライブ及びテープカートリッジに対して、Read/Write動作の混在するオペレーションの際に、最適な書込み方法を有する(リニア記録方式)テープ記憶装置、その方法、及びプログラムを提供することである。
上記の目的を達成する本発明は、テープ媒体に対する、位置移動、読出し、書込みの動作が前記テープ媒体の長手方向に往復して行われ、読出し及び追記書込みの命令(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)が、前記カートリッジの頭出し(Rewind)又は排出(Unload)命令を受取った際に前記不揮発性メモリに保管されたデータを全て前記テープの追記データ終端位置(EOD)から書込むことを特徴とする。
この装置は、前記制御手段の(c)が前記不揮発性メモリが一杯になった際に前記不揮発性メモリに保管されたデータを全て前記テープの追記データ終端位置(EOD)から書込むことを特徴とすることである。
この装置は、前記制御手段が(b)において前記追記書込み命令の完了を返した場合には、(c)において前記追記書込み命令の完了を返さないことを特徴とする。
この装置は、前記制御手段が前記不揮発性メモリから前記テープの物理EODへの書込みが前記バッファを経由して実行されることを特徴とする。
この装置は、前記制御手段が前記書込み命令及び読出し命令の前提にとして、前記指定のテープ位置に移動するために移動命令(position命令)を前記上位装置から受取り、前記移動命令により前記ヘッドは前記EOD又は前記メモリ内EODのテープの位置に位置決めされることを特徴とする。
この装置は、前記制御手段が前記追記書込み命令が同期動作を含み、前記バッファ内保管データを前記テープ又は前記不揮発性メモリに書込むことを特徴とする。
この装置は、前記不揮発性メモリが所定の容量のフラッシュメモリであることを特徴とする。
この装置は、前記フラッシュメモリは、100Mバイト以上の容量を有することを特徴とする。
この装置は、前記不揮発性メモリは、同一前記カートリッジのテープの予備トラック領域であることを特徴とする。
更に上記の目的を達成する本発明は、読出し及び追記書込みに関わるデータを一時保管するバッファと、前記バッファに保管されたデータを記録するテープと、前記テープからデータを前記バッファに読出し、前記バッファからのデータを前記テープに書込みをする、読み書きヘッドと、読出し命令に応じて前記テープの指定位置からデータを読出して前記バッファに保管し、追記書込み命令に応じて前記バッファに保管されたデータを前記テープから書込む制御手段とを備えたテープ記録装置において、テープ媒体に対する、位置移動、読出し、書込みの動作が前記テープ媒体の長手方向に往復して行われれるテープ記録装置において、前記テープ媒体を有する1つのカートリッジを搭載され、上位装置から(それぞれが移動命令(Position)により指定されたテープ位置に移動して)読出し及び追記書込みの命令(ReadとWrite)を混在させたコマンド列であって、複数の前記Readは順に第1、第2、・・・第m、第n・・・(m、n=m+1)を含む前記コマンド列を受取った場合の、追記書込みの方法である。
この方法は、更に、前記装置又はカートリッジに前記追記書込み命令により前記バッファ内に保管されたデータを保管する不揮発性メモリを設け、
(a)前記追記書込み命令を受取った際に、前記バッファ内保管データを前記不揮発性メモリ内の追記データ終端位置(メモリ内EOD)に保管するステップと、
(b)前記バッファ内データが前記不揮発性メモリに書き込まれた際に前記上位装置に前記追記書込み(同期)命令の完了を返すステップと、
(c)前記不揮発性メモリに保管されたデータに対して、第mのReadの読込みデータのテープ上の終端位置から連続する第nのReadの読込み開始位置まで移動の際に、前記ヘッドに対する前記テープの走行する移動距離が最小になるように所定の判断基準で、前記不揮発性メモリに一時保管されたデータを移動して書き込むべきテープ書込み位置(EOD)に移動して書き込むステップとを実行することを特徴とする。
更に上記の目的を達成する本発明は、読出し及び追記書込みに関わるデータを一時保管するバッファと、 前記バッファに保管されたデータを記録するテープと、前記テープからデータを前記バッファに読出し、前記バッファからのデータを前記テープに書込みをする、読み書きヘッドと、読出し命令に応じて前記テープの指定位置からデータを読出して前記バッファに保管し、追記書込み命令に応じて前記バッファに保管されたデータを前記テープから書込む制御手段とを備えたテープ記録装置において、テープ媒体に対する、位置移動、読出し、書込みの動作が前記テープ媒体の長手方向に往復して行われ、前記テープ媒体を有する1つのテープカートリッジを搭載され、上位装置から(それぞれが移動命令(Position)により指定されたテープ位置に移動して)読出し及び追記書込みの命令(ReadとWrite)を混在させたコマンド列であって、複数の前記Readは順に第1、第2、・・・第m、第n・・・(m、n=m+1)を含む前記コマンド列を受取った場合の追記書込みのためのプログラムである。このプログラムは、更に、前記装置又はテープカートリッジに前記追記書込み命令により前記バッファ内に保管されたデータを保管する不揮発性メモリを設け、
(a)前記追記書込み命令を受取った際に、前記バッファ内保管データを前記不揮発性メモリ内の追記データ終端位置(メモリ内EOD)に保管するステップと、
(b)前記バッファ内データが前記不揮発性メモリに書き込まれた際に前記上位装置に前記追記書込み(同期)命令の完了を返すステップと、
(c)前記不揮発性メモリに保管されたデータに対して、第mのReadの読込みデータのテープ上の終端位置から連続する第nのReadの読込み開始位置まで移動の際に、前記ヘッドに対する前記テープの走行する移動距離が最小になるように所定の判断基準で、前記不揮発性メモリに一時保管されたデータを移動して書き込むべきテープ書込み位置(EOD)に移動して書き込むステップとを、コンピュータに実行させることを特徴とする。
以上のように本発明によれば、本発明のテープ記録装置は、上位装置から読出しと追記書き込みの混在するコマンド列を受け取っている場合、書込み時の同期動作を省略することにより全体の混在オペレーティングのパフォーマンスの向上(高速化)を実現できる。
本実施の形態が適用されるテープドライブを含むテープライブラリ100の構成例を示した図である。 テープドライブのテープ23上での通常の移動、読み、書き、についての動作について示す。 従来のRead/Writeの混在動作の例を示す。 同期動作を省略するとテープの移動距離が短縮できることを示す。 実施例の書き込み・同期動作の省略による移動距離の短縮を示す。 同期動作省略及びその後の書き直し動作と移動距離増加の増減関係(図5の1−a〜4−bケース)をまとめた表を示す。 1−aのケースにおいて移動の途中において書込み位置が存在することを示す。 不揮発性記憶領域に空き領域が無くなった場合テープ上にデータを書く態様を示す データ追記書き出し(Write)動作フローを示す。 同期(Sync)の動作フローを示す。 2点間の移動における移動において、書込み位置が存在する場合の移動(Position)の動作フローを示す。
以下において、リニア記録方式であり、1つのテープカートリッジを搭載されホストから読出し及び追記書込みの命令を混在するコマンド列を受取ったテープドライブにおいて、新規な追記書込みの方法を実施形態(以下「実施例」という)が説明される。これら実施例は、例示であり本発明の追記書込するテープ記録装置、その方法およびプログラムを限定するものではない。
テープドライブが搭載された1つのテープカートリッジ(カートリッジ)に対して追記書込みと読出しが混在する動作をする場合に、読み書きヘッドに対する総テープ移動距離及び時間を短くすることを考える。このために本発明の概要は、次の発明特定事項(構成)を実行するように与えられる。
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としては、磁気テープが例示されるが、磁気テープ以外のテープ媒体でもよい。
また、カートリッジ20は、カートリッジメモリ24も含む。このカートリッジメモリ24は、例えば、テープ23上にどのようにデータが書かれたかの情報を記録する。そして、例えばRFインターフェイスを用いて非接触でテープ23に書かれたデータのインデックスやテープ23の使用状況等を調べることにより、データへの高速アクセスを可能としている。尚、図では、このRFインターフェイスのようなカートリッジメモリ24へのアクセスを行うためのインターフェイスを、カートリッジメモリインターフェイス(以下、「CMI/F」という)19として示している。
ここで、ホストI/F11は、ホスト200との通信を行う。例えば、ホスト200から、テープ23へのデータの書込みを指示するコマンド、テープ23を目的の位置に移動させるコマンド、テープ23からのデータの読出しを指示するコマンドを受け取る。尚、このホストI/F11で用いる通信規格としては、SCSIが例示される。SCSIの場合、1つ目のコマンドは、Writeコマンドに相当する。2つ目のコマンドはテープの移動動作のためとして、LocateコマンドやSpaceコマンドに相当する。3つ目のコマンドは、Readコマンドに相当する。また、ホストI/F11は、ホスト200に対し、これらのコマンドに応じた処理が成功したのか失敗したのかの応答を返す。
バッファ12にバッファリングされたデータは、同期動作(Flush)によりテープ23に書き込まれる。Write後の同期は、命令で明示される場合(Write Filemarkコマンドなど)と、暗示される場合(位置移動のコマンドLocate、Space、Rewind、Unloadなど)がある。また、 Writeコマンド自身のオプションで同期が完了するまで、Writeコマンドそのものが完了しない場合もある。
バッファ12は、テープ23に書き込むべきデータやテープ23から読出されたデータを蓄積するメモリである。例えば、DRAM(Dynamic Random Access Memory)によって構成される。また、バッファ12は、複数のバッファセグメントからなり、各バッファセグメントが、テープ23に対する読み書きの単位であるデータセットを格納している。
チャネル13は、テープ23に書き込むべきデータを書込みヘッド14aに送ったり、テープ23から読出されたデータを読出しヘッド14bから受け取ったりするために用いられる通信経路である。
書込みヘッド14aは、テープ23が長手方向に移動するとき、テープ23に対して情報を書き込み、読出しヘッド14bは、テープ23が長手方向に移動するとき、テープ23から情報を読出す。
モータ15は、リール21、22を回転させる。尚、図では、1つの矩形でモータ15を表しているが、モータ15としては、リール21、22の各々に1つずつ、合計2個設けるのが好ましい。
コントローラ16は、テープドライブ10の全体を制御する。例えば、ホストI/F11で受け付けたコマンドに従って、データのテープ23への書込みやテープ23からの読出しを制御する。また、ヘッド位置制御システム17やモータドライバ18の制御も行う。ヘッド位置制御システム17は、書込みヘッド14a及び読出しヘッド14bが所望のラップを追跡するよう制御するシステムである。ここで、ラップとは、テープ23上の複数のトラックのグループである。ラップを切り換える必要が生じると、書込みヘッド14a及び読出しヘッド14bを電気的に切り換える必要も生じるので、このような切り換えの制御を、このヘッド位置制御システム17で行う。
モータドライバ18は、モータ15を駆動する。尚、上述したように、モータ15を2個使用する場合であれば、モータドライバ18も2個設けられる。
また、ライブラリ制御機構30は、ホスト200からの指示に応じて、アクセッサ40及びテープドライブ10を制御する機構である。即ち、アクセッサ40に対しては、ホスト200から指示されたデータを読出したり書き込んだりできるように、カートリッジ20をテープドライブ10に装填するように指示し、テープドライブ10に対しては、ホスト200から指示されたデータをアクセッサ40によって装填されたカートリッジ20から読出すように又はカートリッジ20に書き込むように指示する。
アクセッサ40は、ライブラリ制御機構30の制御により、カートリッジ20をカートリッジスロット50から取り出してテープドライブ10に装填する。
カートリッジスロット50は、読み書きが行われていないカートリッジ20を保管しておくための場所である。ここでは、カートリッジスロット50を1つの矩形で示したが、実際には、複数のカートリッジをそれぞれ格納する複数のスロットである。
尚、図では、1台のテープドライブ10しか示していないが、複数台のテープドライブ10を設けてもよい。その場合、ライブラリ制御機構30は、読出し命令又は書込み命令の送り先であるテープドライブ10の識別情報をアクセッサ40に伝えることで、そのテープドライブ10へのカートリッジ20の装填を指示することになる。
図2に、テープドライブのテープ23上での通常のデータの位置移動(postion命令)、読み(Read命令)、追記書込み(Write命令)、についての動作について示す。テープドライブは、リニア記録方式のエンタープライズ・テープ製品(IBM TSxx シリーズ)またはLTO(Linear Tape―Open)規格に準拠したものである。まず、矢印201で示すようにラップ#0に右方向にデータの読み書きを行った後、矢印202で示すようにテープ23の走行方向を逆転する。次に、ラップ#1に左方向にデータの読み書きを行った後、矢印203で示すようにテープ23の走行方向を逆転する。更に、ラップ#2に右方向にデータの読み書きを行った後、矢印204で示すようにテープ23の走行方向を逆転する。そして、最後は矢印205で示すようにラップ#55に左方向にデータの読み書きを行う。
このように、リニア記録方式のテープドライブでは、テープ23上に複数定義されているラップと呼ばれるデータ記憶域をテープ23の先頭(BOT:Beginning of Tape)から終端(EOT:End of Tape)まで往復しながら、データの読み書きを行う。ラップはテープの幅方向に離間して並行配置された複数トラックの集合である。1つの読み書きヘッド14a、14bは複数のチャネル(8または16の読み書き素子)を含んでもよい。このヘッドにより、同一ラップ内の複数トラックを並列して移動、Read、Writeできる。順次読み書きを行う場合は、このようにラップ上を往復する。ここで、テープ23の先頭は第1の端部の一例であり、テープ23の終端は第2の端部の一例である。
ところで、ホスト200から、階層ストレージ管理(HSM)システムを介して最下層のライブラリ100には読出し/書き込み動作が混在するコマンド列を受取る。このようなコマンド列を、1つのテープドライブが受取る場合において、コマンド列全体の動作処理をパフォーマンス性能の向上を高める実施例を与える。本実施の形態では、テープドライブが、搭載された1つのテープカートリッジに対して追記書込みと読出しが混在する動作をする場合に、テープの総移動距離・時間を短くすることを実現する。
実施例を説明する前にReadとWriteの混在動作において、同期動作がいかなる移動距離の増分を与えるか説明する。そして、同期動作の移動距離を実質的に省略することにより、全パフォーマンスの向上を発揮する実施例を与える。まず、実施例の説明の前提として従来のRead及びWriteの混在の動作における無駄な移動距離が発生する例を理解する。
図3は、従来のRead/Writeの混在動作の例を示す。
トラックに対してリニアに右から左、左から右というようにテープを走行させた場合に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である。
テープドライブの動作は次の様になる。ユーザデータをdata1〜10、データの区切りとしてファイルマーカ(FM:FileMarker)をFM1〜10としている。
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と)が増加分となる。すなわち、従来の動作では、この増加分だけ移動動作に要する時間が長くなる問題が発生する。よって、同期動作とその後の移動重複分を省略できるか検討する。
図4は、同期動作を省略するとテープの移動距離が短縮できることを示す。従来の動作(図3)に対して、同じコマンド列((1)〜(9))に対して、同期命令によるテープメディアへの書き込みを省略すると、移動距離を短縮できる。前頁と同じコマンド列でのテープドライブの動作は次の様になる。
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への移動動作
しかしながら、同期命令に対する完了報告時には、メディアへの書込みが正しくなされ、将来のアクセスが保証されていることが必要である。本発明では、ホストに対して同期動作を実質的に保証することを担保する。同時に、次の実施例においてWriteの介在によりRead・Writeの混在するコマンド列の移動距離の増加を抑える追記書込み方法を開示する。
本発明では、バッファに保管されたデータに対してホストに対して同期動作を保証するために以下の構成を考える。
1.テープカートリッジまたはテープドライブに新たに一時的な不揮発性記憶領域を持たせる。この不揮発性記憶領域を設けることにより、同期動作を短縮させる、アクセス特性を持つ。不揮発性記憶域として、カートリッジやドライブに付随したフラッシュメモリ等の不揮発性メモリ、テープ媒体上の特殊記憶領域などである。
2.テープドライブは、一時的な不揮発性記憶域を本来のテープの書込み位置(物理EOD:End of Data)からの追記書込み動作を遅延させるものとして用いる。つまり本来のテープ上の位置への書き直し動作は別途行う。
(1)ホストからの同期要求に対する完了報告以後、必ずテープカートリッジ(または、テープドライブ)から読めることを保証するために使う。
(2)ホストからは隠蔽されたものとする。つまり、書込み後に読出し動作が発生した場合は、あたかも本来の位置に書かれているものとしてこの不揮発性記憶域から読出す。
テープドライブは、不揮発性領域を新たに設けることにより、ホストから送られるReadとWriteとが混在するコマンド列を受取る。一般的にはReadは読出し位置が指定された後に読むケースが多い。同様に、追記の場合のWriteは書込み位置がEODと指定された後に書くことになるが、読出し位置と書込み位置は、関連しないことが多い。追記Write動作をテープの目標位置(物理EOD)への書込み動作(実質同期動作)を、Read間の移動の途中でできる場合を実行できれば、余計なテープ移動距離を抑えることができる。不揮発性領域に保管された書込みデータをそれ以後の複数のReadの移動地点間に、テープ書込み位置(物理EOD)が存在すれば、その移動の際に同時にテープ書込ことによりコマンド列の全体としてのパフォーマンスの向上になる。
1.実施例では、追記書込み命令(Write)に続く同期動作により、バッファ保管データは不揮発性記憶領域に保管される。
2.不揮発記憶領域に一時保管されたデータを、本来のテープの書込み位置(EOD:End of data)に書き込む動作が必要である。
書き直し動作での移動距離は、書き込み・同期動作時の移動距離と逆関係の関係である。つまり同期動作の省略により距離短縮と書き直し動作による移動距離の増加は同じである。従来の動作より移動距離・時間を短縮できるときに書き直す。例えば、複数のRead間の移動動作中に、書き直すべき(追記)位置(EOD)を通過する場合には、書き直し動作のための移動をせずに書き直せる。
本発明の同期動作のためのデータ保管を確実にするために、一時的な記憶領域に空きがなくなる状態を防ぐ必要がある。同期命令を受けたときに、書き直しのための移動距離と一時的に記憶されているデータ量により不揮発性記憶領域の空き領域(未使用率)が低下する場合がある。最終的には完全に、不揮発性記憶領域が一杯になっている場合には、無条件で不揮発性記憶領域のデータをテープのEODから書き直しを行う。書き直し動作後、継続して通常のテープ書込み動作を行う。また、カートリッジの頭出し(Rewind)、排出(Unload)命令を受け取ったときRewind/Unloadはテープカートリッジの使用終了を意味するため、無条件で書き直し動作を行う。
図5は、不揮発性記憶領域を用いて実質的な同期動作を保証する追記書き直し動作時の移動距離を示す。図5は、実施例の同期動作の省略及び書き直し動作による移動距離の増減を示す。
・テープの長さ方向の距離を考える。
・現在位置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)。
書き込み・同期動作を省略することにより、書込み後の移動目標に寄らず移動距離は等しいか、短縮できる。書き直し動作で移動距離を短縮できるのは、同期動作とは逆関係にある。
図6は、同期動作省略及びその後の書き直し動作と移動距離増加の増減関係(図5の1−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)が重ならない場合であるので、コマンド列全体での利益は得られない。
追記書込み命令及び同期命令を受け取った場合、次の2つの動作が考えられる。
1.移動動作を行わず、一時的な記憶領域に新たなユーザデータを書き込む。
(利点)書込み処理のために移動はしないので、移動距離を短縮できる。
(欠点)書き込み途中で、一時的な記憶領域が不足する可能性がある。
2.一時的な記憶領域には書き込まず、書き直し動作を行ったうえで、本来の位置に書き込む。
(利点)一時的な記憶領域を空けることができる。
(欠点)書き直し開始位置Xへ移動して書き直しを行う必要がある。
上記2つの動作の利点・欠点は、次の2つと相関関係にある。
一時的な不揮発性記憶領域に保管されているデータ量(使用率)と、現在位置から書き直し開始位置までの移動距離によって判定される。
例えば移動パターン1-bと2-a,2−bの場合は、読出しの為の2点間の移動の対する増分が大きい場合はテープへの書き直し動作を行なわないことを選択することを原則とする。また、読出し動作の間の途中の書き直し動作により多少の移動距離の増加が発生したとしても、一時的な記憶領域への書き込みによる距離の短縮量が上回る場合がある。かかる場合には、Readのための移動の途中において書き直し動作を実行する選択も可能である。
図7は、1−aのケースにおいて移動の途中において追記書込み位置であるEODが存在する場合を示す。バッファに保管されたデータをテープへの追記書込みせず不揮発性記憶領域に保管する。Readの移動がA→Bの場合には、その移動の途中において、通常の同期動作のための追記書込みテープ位置(物理EOD)及び書込み距離(間隔X−Y)が含まれる。テープへのデータの書込み方向(X→Y)もReadの移動方向(A→B)と同方向である。このように同期命令の後の後続の移動において追記書込み位置(物理EOD)とテープ書込み長さ(データ量)が移動距離間に含まれる。また、Read方向が書き直し方向が一致する場合にはその移動の際に不揮発性記憶領域に保管されたデータの書き直し動作を行う利益がある。
図8は、不揮発性記憶領域に空き領域な無くなった場合テープ上にデータを書く態様を示す。
・一時的な記憶領域へ書き込み中に空きがなくなった場合は、無条件で書き直し動作を行う。テープへの書き直し動作を行わないと、不揮発性記憶領域に空きがないため書き込み動作を継続できない。書き直し動作後、継続して通常のテープ書き込み動作を行ってもよい。
・通常の書き込み・同期動作との移動距離の違いは次の通りである。
一時的な記憶領域に、data10とFM10が既にある。
新たにdata11を受け取っている途中に、空きがなくなった場合、現在位置Aから書き直し開始位置Xへの移動方向と、書き込み方向が同じ場合(上図、1−aケース)、移動距離は変わらない。現在位置Aから書き直し開始位置Xへの移動方向と、書き込み方向が逆の場合(下図、1−bケース)、位置Y<→X間一往復分増加する。この移動距離の増加は、一時的な記憶領域への書き込みによる距離の短縮より小さい場合が通常であるので本発明の追記書込みを実行できる。
カートリッジの頭出し(Rewind)、排出(Unload)命令を受け取ったときは、無条件で書き直しを行う。Rewind/Unloadはテープカートリッジの使用終了を意味するためである。このときの移動目標は、位置BまたはEがテープの先頭(BOT)である状態である。位置C,D(図5)が移動目標、すなわちBOTであることはない。該当する移動パターンは、1−a,1−bもしくは4−a、4−bである。書き直し動作により、移動距離が大幅に増加することがある。例えば、移動パターン4−a,bに該当した場合が該当する。データの保全と再度マウントされたときに通常通り使用するためには書き直し動作が必要である。一時的な記憶領域への書き込みによる距離の短縮により相殺される。例外は、現在位置Aが書き直し開始位置XよりBOT側にある状態で移動パターン4−aが連続するときである。
本発明の実施例は、Read、Writeの為の位置の移動がテープ媒体の長手方向に往復して行われるリニア記録方式である。データがシーケンシャルにRead・Writeをテープに行う場合に、テープドライブ内のテープ移動の追記書込みの適用がある。本発明の実施例は、テープドライブに1つのカートリッジを搭載された場合において、上位装置(ホスト)からReadとWriteが混在するコマンド列を受け取った場合に適用される。ホストがテープドライブに発行するコマンド列に含まれる混在するRead&Writeを実行する。以下では、追記書込み命令(Write)、読出し命令(Read)、Readの前提の移動命令(positon)についての動作フローチャートを説明する。
図9は、データ追記書き込み(Write)動作フローを示す。
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完了をホストに返す。
図10は、同期(Sync)命令の動作フローを示す。
1.テープドライブはホストから同期命令(Sync)を受取る。Write命令が同期動作の伴うものであってもよい。さらに、バッファにWrite命令によるデータが残っている状態における位置移動命令による暗示された同期要求であってもよい。
2.既にテープに書込み中か確認する。
3.書込み中の場合には、通常の同期動作処理によりテープに通常の追記書込みを行う。
4.書込み中でない場合には、NVキャッシュに書き込めるか確認する。即ち、下記領域があるか無いかで、この確認がされる。
5.NVキャッシュに空きがある場合、同キャッシュにデータを保管し、同期完了をホストに返す(8)。
6.NVキャッシュに空きがない場合、通常の書込みを行い(3)、同期完了をホストに返す(8)。
図11は、2点間の移動における移動において、書込み位置が存在する場合の移動動作フローを示す。
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)。
上述の実施例は、テープドライブについて説明されたが、Write及びReadの混在するコマンド列においてRead間移動について主に説明されてきた。本発明の範囲はこの実施例に限定されない。不揮発性記憶領域への書込みにおいて同期動作完了を保証することを前提とする。後発的にテープ移動において不揮発性記憶領域に保管されたデータを目的のテープ位置に後で遭遇する機会があれば、実質的にテープ上に書くことが含まれる。階層されたストレッジ管理システムにおいて、ReadWriteが存在するコマンド列を最下層のテープライブラリが受取ることが通常である。1つのカートリッジを搭載したテープドライブは書込み命令及び同期命令のテープ書込み位置が後続のReadの為の移動において重なる機会が多い。新たな不揮発性記憶領域を、テープドライブまたはカートリッジに設け、所定の容量(例えば100Mバイト以上)を有する限り、テープへの追記書込みを先延ばしして全体としコマンド列のオペレーティングのパフォーマンスが担保できる。
以上のように、従来のような、ライブラリシステムにおいて、書込み及び読出し専用カートリッジのUnload・Loadによる交換を回避できる有利な効果をする。本発明のテープ記録装置、その方法、及びプログラムによれば、書き込みに伴う移動動作を省略することによりReadとWriteの混在オペレーティングにおいて全体として高速化を実現できる有利な効果を発揮する。
10…テープドライブ、11…ホストI/F、12…バッファ、13…チャネル、14a…書込みヘッド、14b…読出しヘッド、15…モータ、16…コントローラ、17…ヘッド位置制御システム、18…モータドライバ、19…CMI/F、20…カートリッジ、30…ライブラリ制御機構、40…アクセッサ、50…カートリッジスロット、100…テープライブラリ、200…ホスト

Claims (9)

  1. テープ媒体に対する、位置移動、読出し、書込みの動作が前記テープ媒体の長手方向に往復して行われ、読出し及び追記書込みの命令(ReadとWrite)を混在させたコマンド列であって、上位装置から複数の前記Readは順に第1、第2、・・・第m、第n・・・(m、n=m+1)を与える前記コマンド列を受取るテープ記録装置であって、
    読出し及び追記書込みに関わるデータを保管するバッファと、
    前記バッファに保管されたデータを記録するテープと、
    前記テープからデータを前記バッファに読出し、前記バッファからのデータを前記テープに書込みをする、読み書きヘッドと、
    読出し命令に応じて前記テープの指定位置からデータを読出して前記バッファに保管し、追記書込み命令に応じて前記バッファに保管されたデータを前記テープの追記データ終端位置(EOD)から書込む制御手段とを備え、
    更に、前記追記書込み命令により前記バッファ内に保管されたデータを保管する不揮発性メモリを設け、
    前記制御手段は、更に
    (a)前記追記書込み命令を受取った際に、前記バッファ内保管データを前記不揮発性メモリ内の追記終端位置(メモリ内EOD)から保管し、
    (b)前記バッファ内データが前記不揮発メモリに書込まれた際に前記上位装置に前記追記書込み命令の完了を返し、
    (c)前記不揮発性メモリに保管されたデータに対して、前記追記書込み命令を受け取った後の第mのReadの読込みデータのテープ上の終端位置から第nのReadの読込み開始位置までテープ移動の際に、書込むべき前記テープの追記データ終端位置(EOD)が前記移動距離の間(前記終端位置から前記開始位置の間)に存在し、前記テープの移動の方向(前記終端位置から前記開始位置)が書込むべき前記テープの追記データ終端位置(EOD)からの書込み方向と同方向である場合であって前記読み書きヘッドが前記テープの追記データ終端位置(EOD)に至るときに、前記不揮発性メモリに一時保管されたデータを前記テープ書込み位置(EOD)に追記書き込む、テープ記録装置。
  2. 前記制御手段の(c)は、カートリッジの排出命令を受取った際に前記不揮発性メモリに保管されたデータを全て前記テープの追記データ終端位置(EOD)から書込む請求項1に記載の装置。
  3. 前記制御手段の(c)は、前記不揮発性メモリが一杯になった際に前記不揮発性メモリに保管されたデータを全て前記テープの追記データ終端位置(EOD)から書込む請求項1又は2に記載の装置。
  4. 前記制御手段は、前記不揮発性メモリから前記テープの追記データ終端位置(EOD)への書込みが前記バッファを経由して実行される請求項1〜3何れか1項に記載の装置。
  5. 前記制御手段は、前記追記書込み命令が同期動作を含み、前記同期動作により前記バッファ内保管データを前記テープ又は前記不揮発性メモリに書込む請求項1に記載の装置。
  6. 前記不揮発性メモリは、所定の容量のフラッシュメモリである請求項1に記載の装置。
  7. 前記不揮発性メモリは、同一カートリッジのテープの予備トラック領域である請求項1に記載の装置。
  8. 読出し及び追記書込みに関わるデータを一時保管するバッファと、前記バッファに保管されたデータを記録するテープと、前記テープからデータを前記バッファに読出し、前記バッファからのデータを前記テープに書込みをする、読み書きヘッドと、読出し命令に応じて前記テープの指定位置からデータを読出して前記バッファに保管し、追記書込み命令に応じて前記バッファに保管されたデータを前記テープの追記データ終端位置(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)に追記書き込むステップとを、含む方法。
  9. 読出し及び追記書込みに関わるデータを一時保管するバッファと、 前記バッファに保管されたデータを記録するテープと、前記テープからデータを前記バッファに読出し、前記バッファからのデータを前記テープに書込みをする、読み書きヘッドと、読出し命令に応じて前記テープの指定位置からデータを読出して前記バッファに保管し、追記書込み命令に応じて前記バッファに保管されたデータを前記テープから書込む制御手段とを備えたテープ記録装置において、テープ媒体に対する、位置移動、読出し、書込みの動作が前記テープ媒体の長手方向に往復して行われ、前記テープ媒体を有する1つのテープカートリッジを搭載され、上位装置から読出し及び追記書込みの命令(ReadとWrite)を混在させたコマンド列であって、複数の前記Readは順に第1、第2、・・・第m、第n・・・(m、n=m+1)を含む前記コマンド列を受取った場合の、追記書込みのためのプログラムであって、
    更に、前記装置又は前記カートリッジに、前記追記書込み命令により前記バッファ内に保管されたデータを保管する不揮発性メモリを設け、
    (a)前記追記書込み命令を受取った際に、前記バッファ内保管データを前記不揮発性メモリ内の追記データ終端位置(メモリ内EOD)に保管するステップと、
    (b)前記バッファ内データが前記不揮発性メモリに書き込まれた際に前記上位装置に前記追記書込み命令の完了を返すステップと、
    (c)前記不揮発性メモリに保管されたデータに対して、前記追記書込み命令を受け取った後の第mのReadの読込みデータのテープ上の終端位置から第nのReadの読込み開始位置までテープ移動の際に、書込むべき前記テープの追記データ終端位置(EOD)が前記移動距離の間(前記終端位置から前記開始位置の間)に存在し、前記テープの移動の方向(前記終端位置から前記開始位置)が書込むべき前記テープの追記データ終端位置(EOD)からの書込み方向と同方向である場合であって前記読み書きヘッドが前記テープの追記データ終端位置(EOD)に至るときに、前記不揮発性メモリに一時保管されたデータを前記テープ書込み位置(EOD)に追記書き込むステップとを、コンピュータに実行させるプログラム。
JP2009294309A 2009-12-25 2009-12-25 読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム。 Active JP5005023B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 インターナショナル・ビジネス・マシーンズ・コーポレーション 読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム。

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