JP3900494B2 - 記憶装置、制御方法、プログラム、及び記録媒体 - Google Patents

記憶装置、制御方法、プログラム、及び記録媒体 Download PDF

Info

Publication number
JP3900494B2
JP3900494B2 JP2003139063A JP2003139063A JP3900494B2 JP 3900494 B2 JP3900494 B2 JP 3900494B2 JP 2003139063 A JP2003139063 A JP 2003139063A JP 2003139063 A JP2003139063 A JP 2003139063A JP 3900494 B2 JP3900494 B2 JP 3900494B2
Authority
JP
Japan
Prior art keywords
write data
writing
recording medium
reference value
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003139063A
Other languages
English (en)
Other versions
JP2004341925A (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 JP2003139063A priority Critical patent/JP3900494B2/ja
Priority to US10/846,318 priority patent/US7631141B2/en
Publication of JP2004341925A publication Critical patent/JP2004341925A/ja
Application granted granted Critical
Publication of JP3900494B2 publication Critical patent/JP3900494B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1201Formatting, e.g. arrangement of data block or words on the record carriers on tapes

Description

【0001】
【発明の属する技術分野】
本発明は、記憶装置、制御方法、プログラム、及び記録媒体に関する。特に本発明は、データ記録媒体にデータを書き込む方法を制御する記憶装置、制御方法、プログラム、及び記録媒体に関する。
【0002】
【従来の技術】
近年、高速かつ大容量なテープドライブの規格として、LTO(LinearTape Open)規格が注目されている(非特許文献1参照。)。上記規格に準拠したテープドライブ装置は、テープ記録媒体に書き込むべき書込データを、当該書込データをテープ記録媒体に対して書き込む明示的な書込指示(例えば、SYNC指示)に対応付けて受信した場合に、当該書込データを、装置内のバッファに蓄積することなく、テープ記録媒体に対して書き込む。これにより、テープドライブ装置の電源が不用意に遮断された場合であっても、テープ記録媒体に書込データが書き込まれることを保証することができる。
【0003】
【非特許文献1】
「LTO規格」、ヒューレットパッカードコーポレーション、インターナショナル・ビジネスマシーンズ・コーポレーション、及びシーゲートテクノロジーズコーポレーション著、URL:http://www.lto−technology.com/、平成15年4月9日検索
【0004】
【発明が解決しようとする課題】
しかしながら、上記装置が、書込指示を頻繁に受け取る場合には、書込データの容量当たりの、書込データをテープ記録媒体に書き出す処理に要する時間が大きくなってしまい、効率が悪い。
そこで本発明は、上記の課題を解決することのできる記憶装置、制御方法、プログラム、及び記録媒体を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【0005】
【課題を解決するための手段】
即ち、本発明の第1の形態によると、テープ記録媒体を進行させることにより複数の書込データを逐次的に書き込む記憶装置であって、複数の書込データのそれぞれを、当該書込データをテープ記録媒体に対して書き込む書込指示に応じてテープ記録媒体に順次書き込み、一の書込データのサイズが予め定められた規定サイズより小さい場合に、テープ記録媒体において予め定められた書込開始位置からテープ記録媒体を進行させた進行量が予め定められた進行量基準値に達するまで、テープ記録媒体上に設けられた複数のトラックのうち第1のトラックに書込データを順次書き込む順次書込部と、順次書込部による進行量が進行量基準値に達した場合に、第1のトラックとは異なる第2のトラックに対して、第1のトラックに書き込む書込方向とは異なる書込方向により、書込データを順次書き込む反転書込部と、反転書込部による進行量が進行量基準値に達した場合又は複数の書込データの書き込みが終了した場合に、順次書込部により書き込まれた書込データのうち一の書込データ以降に書き込まれた書込データ及び反転書込部により書き込まれた書込データを連結し、連結した当該書込データを、テープ記録媒体における書込開始位置から、複数のトラックのうち何れかに書き込む連結書込部とを備える記憶装置、当該記憶装置を制御するプログラム、当該プログラムを記録した記録媒体を提供する。
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【0006】
【発明の実施の形態】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、又実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、テープ記憶装置10のブロック図を示す。テープ記憶装置10は、複数の書込データを、データ記録媒体の一例であるテープ記録媒体20に対して、テープ記録媒体20を進行させることにより、予め定められたサイズのセグメント単位で逐次的に書き込む装置であり、データ取得部100と、連結格納部110と、順次書込部120と、書込位置調節部130と、調節停止部140と、反転書込部150と、連結書込部160と、進行量基準値調節部170と、書込間隔基準値格納部180と、書込間隔基準値調節部190とを備える。
【0007】
データ取得部100は、テープ記録媒体20に書き込まれるべき複数の書込データを、当該書込データをテープ記録媒体20に対して書き込む書込指示に対応付けて、ネットワークを介して外部のホストコンピュータ等から順次取得し、連結格納部110及び順次書込部120に送る。また、データ取得部100は、当該複数の書込データを取得する時間間隔を計測し、計測結果を連結格納部110及び調節停止部140に送る。また、データ取得部100は、複数の書込データのそれぞれを取得する毎に、当該書込データのサイズを示すサイズ情報を調節停止部140及び書込間隔基準値調節部190に送る。また、データ取得部100は、複数の書込データの終端を示す終端情報(例えば、EOD情報:End of Data情報)を取得し、進行量基準値調節部170に送る。
【0008】
ここで、書込指示とは、書込データをテープ記憶装置10内のバッファ等に格納するのみならず、テープ記録媒体20に対して書き込む旨を明示的に示す指示であり、一例としては、テープ記憶装置10が受信した書込データと、テープ記録媒体20に書き込まれた書込データとを一致させるSYNC指示である。
【0009】
連結格納部110は、データ取得部100から受け取った一の書込データのサイズが予め定められた規定サイズより小さい場合において、当該一の書込データ以降の書込データを書込指示に対応付けて受信する毎に、当該書込データを、当該書込データを受信する以前に既に受信していた書込データに順次連結して格納する。また、連結格納部110は、複数の書込データを取得する時間間隔を測定した測定結果をデータ取得部100から受け取り、当該測定結果に応じて規定サイズの値を変更する。
【0010】
順次書込部120は、複数の書込データのそれぞれについて、当該書込データを書込指示に対応付けてデータ取得部100から受信する毎に、当該書込データを、テープ記録媒体20の少なくとも一のセグメントに対してセグメント単位で書き込む。そして、順次書込部120は、書込位置調節部130から受け取る書込位置調節指示に応じて、次に書き込む書込データの書込位置を決定する。更に、順次書込部120は、テープ記録媒体20の進行方向を反転させる反転指示を反転書込部150から受けた場合には、テープ記録媒体20の進行方向を変更する。更に、順次書込部120は、書込データを書き込むべくテープ記録媒体20を進行させた進行量を示す情報を、反転書込部150に送る。
【0011】
また、順次書込部120は、規定サイズより小さい一の書込データを受け取った場合には、当該一の書込データ以降の書込データをデータ取得部100から受け取る毎に、連結格納部110における、当該書込データ及び当該書込データ以前に受信した書込データを含むセグメントを、テープ記録媒体20に書き込む。また、順次書込部120は、書込データを連結書込部160から受け取った場合には、受け取った当該書込データをテープ記録媒体20に対して書き込む。
【0012】
書込位置調節部130は、順次書込部120により複数の書込データのそれぞれが書き込まれる毎に、当該書込データと当該書込データの次の書込データとのテープ記録媒体20における書込位置を近づけるべく、当該次の書込データの書込位置を調節する書込位置調節指示を、順次書込部120に送る。また、書込位置調節部130は、調節停止部140からの指示に応じて、書込位置の調節を停止する。なお、書込位置を近づけるとは、テープ記録媒体20における物理的な書込位置を近づけることに限定されない。例えば、書込位置調節部130は、書込データと次の書込データとを読み出す場合に要する時間を短縮するように当該次の書込データの書込位置を調節してもよい。
【0013】
また、書込位置調節部130は、書込位置を調節する処理の一例として、テープ記録媒体20を巻き戻す処理(Backhitch)を行う。即ち、テープ記憶装置10は、テープ記録媒体20を進行させ続けながら書込データを順次書き込んでおり、書込データを受信してから次の書込データを受信するまでの間に時間間隔が空く場合、その間にテープ記録媒体20を進行させる。その結果、テープ記録媒体20に書き込まれる書込データの占有率が小さくなってしまう。従って、書込位置調節部130は、書込データを書き込む毎に、テープ記録媒体20を所定量巻き戻すことにより、複数の書込データをテープ記録媒体20に対して効率的に書き込む。また、これに代えて、書込位置調節部130は、書込みに用いる書込ヘッドの位置を調整することにより、書込位置を調節してもよい。
【0014】
調節停止部140は、データ取得部100から受け取ったサイズ情報に基づき、データ取得部100が受信した一の書込データのサイズが規定サイズより小さいと判断した場合に、当該一の書込データ以降に書き込む書込データにおいて書込位置調節部130による書込位置の調節を停止する。この場合、順次書込部120は、巻き戻し処理(Backhitch)を行わずに書込データをテープ記録媒体20に対して書き込むバックヒッチレスフラッシュ(Backhitchless Flush)を行うので、巻き戻し処理を行う場合と比較して、高速に動作する。また、調節停止部140は、複数の書込データを取得する時間間隔を測定した測定結果をデータ取得部100から受け取り、当該測定結果に応じて規定サイズの値を変更する。
【0015】
反転書込部150は、順次書込部120がテープ記録媒体20を進行させた進行量を示す情報を、順次書込部120から受け取る。そして、反転書込部150は、順次書込部120による進行量が進行量基準値に達した場合に、テープ記録媒体20の進行方向を反転させる反転指示を順次書込部120に送る。より詳細には、反転書込部150は、書込データの書込み位置の間隔を示す書込間隔基準値を書込間隔基準値格納部180から取得し、当該書込間隔基準値と、順次書込部120がテープ記録媒体20を進行させた進行量とに基づき、進行量基準値に達する時点で書き込まれる書込データを特定し、特定した当該書込データが順次書込部120により書き込まれた場合に、順次書込部120による進行量が進行量基準値に達したと判断する。この結果、反転書込部150は、順次書込部120が書き込んでいた書込方向とは異なる書込方向により、テープ記録媒体20に対して書込データを順次書き込む。
また、反転書込部150は、進行方向の反転後にテープ記録媒体20を進行させた進行量を示す情報を進行量基準値調節部170に送る。更に、反転書込部150は、進行量基準値調節部170からの指示に応じて進行量基準値を変更する。
【0016】
連結書込部160は、連結格納部110に格納されている書込データ、即ち、順次書込部120によりテープ記録媒体20に書き込まれた複数の書込データのうち、規定サイズよりサイズの小さい一の書込データ以降に書き込まれた複数の書込データを、連結する。そして、連結書込部160は、連結した当該複数の書込データを順次書込部120に送ることにより、連結の対象となった当該複数の書込データの書き込みに要していたテープ記録媒体20上のセグメントより少ない数のセグメントに対して、連結した当該複数の書込データを書き込む。
【0017】
進行量基準値調節部170は、複数の書込データの合計サイズに応じて、当該複数の書込データの次に書き込む複数の書込データに対する進行量基準値を調節するべく、反転書込部150に指示を送る。例えば、進行量基準値調節部170は、反転書込部150から受け取った進行量の累積が進行量基準値に達するより前に、データ取得部100から終端情報を受け取ることにより複数の書込データの書き込みが終了したと判断した場合に、当該複数の書込データの書き込みに用いた進行量基準値より小さい値を、次に書き込む複数の書込データに対する進行量基準値として設定するべく、反転書込部150に指示する。一方、進行量基準値調節部170は、反転書込部150から受け取った進行量の累積が進行量基準値に達してもなお、データ取得部100から終端情報を受け取らず複数の書込データの書き込みが終了していないと判断した場合に、当該複数の書込データの書き込みに用いた進行量基準値より大きい値を、次に書き込む複数の書込データに対する進行量基準値として設定するべく、反転書込部150に指示する。
【0018】
書込間隔基準値格納部180は、テープ記録媒体20上における、順次書込部120により複数の書込データを書き込む書込み位置の間隔の見積もりである書込間隔基準値を格納する。そして、書込間隔基準値調節部190は、データ取得部100から受け取った書込データのサイズが予め定められたサイズより小さい場合に、当該書込データのサイズが予め定められたサイズより大きい場合と比較して、書込間隔基準値格納部180に格納されている書込間隔基準値をより大きい値に設定する。
【0019】
このように、テープ記憶装置10は、規定サイズより小さい一の書込データを検出した場合に、当該一の書込データ以降の書込データについて、書込位置の調節を停止する。これにより、テープ記憶装置10は、書込位置を調節するべくテープ記録媒体20を巻き戻す時間を節約し、高速な書込みを行うことができる。また、テープ記憶装置10は、規定サイズより小さい一の書込データを検出した場合に、当該一の書込データ以降の書込データを、連結格納部110に格納しておき、連結してテープ記録媒体20に書き直す。これにより、テープ記憶装置10は、テープ記録媒体20内の記憶領域を効率的に使用することができる。
【0020】
図2は、テープ記憶装置10のフローチャートを示す。テープ記憶装置10は、バックヒッチ書込を行うべく、以下の処理を行う。データ取得部100は、複数の書込データのそれぞれを、書込指示に対応付けて、ネットワークを介して外部から順次取得する(S200)。そして、順次書込部120は、複数の書込データのそれぞれを、テープ記録媒体20の少なくとも一のセグメントに対して順次書き込む(S210)。続いて、書込位置調節部130は、順次書込部120により複数の書込データのそれぞれが書き込まれる毎に、当該書込データと当該書込データの次の書込データとのテープ記録媒体20における書込位置を近づけるべく、当該次の書込データの書込位置を調節する(S220)。
【0021】
調節停止部140は、データ取得部100が受信した一の書込データのサイズが規定サイズより小さいと判断した場合(S230:YES)、かつ、規定サイズより小さい書込データを既に規定回数以上書き込んでいた場合に(S240:YES)、当該一の書込データ以降に書き込む書込データにおいて、バックヒッチ書込を停止、即ち、書込位置調節部130による書込位置の調節を停止し(S250)、図3のS300に処理を移す。一方、調節停止部140は、データ取得部100が受信した一の書込データのサイズが規定サイズより大きい場合(S230:NO)、又は、規定サイズより小さい書込データを書き込んだ回数が規定回数に満たない場合に(S240:NO)、データ取得部100が書込データを取得する時間間隔に応じて規定サイズを調節し(S260)、S200に処理を戻す。なお、本図に示した、調節停止部140が規定サイズを調節するタイミングは、一例であり、他のタイミングで調節してもよい。例えば、調節停止部140は、データ取得部100が書込データを受信する毎に、又は、書込データを予め定めた回数受信する毎に、規定サイズを調節してもよい。
【0022】
図3は、図2に続くテープ記憶装置10のフローチャートを示す。テープ記憶装置10は、書込データを累積して書き出す累積書込みを行うべく、以下の処理を行う。データ取得部100は、複数の書込データのそれぞれを、書込指示に対応付けて、ネットワークを介して外部から順次取得する(S300)。そして、連結格納部110は、規定サイズより小さい当該一の書込データ以降の書込データを受信する毎に、当該書込データを、当該書込データを受信する以前に既に受信していた書込データに順次連結して格納する(S310)。そして、順次書込部120は、当該一の書込データ以降の書込データを書込指示に対応付けて受け取る毎に、連結格納部110における、書込データ及び書込データ以前に受信した書込データを含むセグメントを、テープ記録媒体20に書き込む(S320)。
【0023】
続いて、反転書込部150は、書込データの書込み位置の間隔を示す書込間隔基準値に基づき、進行量基準値に達する時点で書き込まれる書込データを特定する(S330)。反転書込部150は、特定した当該書込データが順次書込部120により書き込まれた場合、即ち、順次書込部120によるテープ記録媒体20の進行量が進行量基準値に達した場合に(S340:YES)、図4のS400に処理を移す。一方、反転書込部150は、順次書込部120によるテープ記録媒体20の進行量が進行量基準値に達していない場合に(S340:NO)、規定サイズよりサイズが小さい当該一の書込データ以降の他の書込データのサイズが、規定サイズより大きい値に予め定められた第2規定サイズより大きいか否かを判断する(S350)。
【0024】
他の書込データのサイズが第2規定サイズより大きい場合に(S350:YES)、テープ記憶装置10は、図4のS400に処理を移す。一方、他の書込データのサイズが第2規定サイズ以下の場合に(S350:NO)、進行量基準値調節部170は、複数の書込データの書き込みが終了したか否かを判断する(S360)。複数の書込データの書き込みが終了していない場合に、(S360:NO)、テープ記憶装置10は、S300に処理を移す。
【0025】
一方、複数の書込データの書き込みが終了した場合に、(S360:YES)、順次書込部120は、一の書込データ以降の書込データを書き込み始めた書込開始位置までテープ記録媒体20を巻き戻し(S370)、進行量基準値調節部170は、必要に応じて進行量基準値を変更し(S380)、連結書込部160は、一の書込データ以降、かつ他の書込データ以前の書込データを連結して書き込む処理を行い(S390)、処理を終了する。
【0026】
図4は、図3に続くテープ記憶装置10のフローチャートを示す。本図において、調節停止部140は、テープ記録媒体20の進行方向を反転させ、テープ記憶装置10は、反転した当該進行方向において累積書込を行う。データ取得部100は、複数の書込データのそれぞれを、書込指示に対応付けて、ネットワークを介して外部から順次取得する(S400)。そして、連結格納部110は、規定サイズより小さい当該一の書込データ以降の書込データを受信する毎に、当該書込データを、当該書込データを受信する以前に既に受信していた書込データに順次連結して格納する(S410)。続いて、調節停止部140は、当該一の書込データ以降の書込データを書込指示に対応付けて受け取る毎に、順次書込部120がテープ記録媒体20に対して書き込んでいた書込方向とは異なる書込方向により、連結格納部110におけるセグメントを、テープ記録媒体20に書き込む(S420)。
【0027】
続いて、反転書込部150は、書込データの書込み位置の間隔を示す書込間隔基準値に基づき、進行量基準値に達する時点で書き込まれる書込データを特定する(S430)。反転書込部150は、特定した当該書込データが順次書込部120により書き込まれた場合、即ち、調節停止部140によるテープ記録媒体20の進行量が進行量基準値に達した場合に(S440:YES)、規定サイズよりサイズが小さい当該一の書込データ以降の他の書込データのサイズが、上記第2規定サイズより大きいか否かを判断する(S450)。他の書込データのサイズが第2規定サイズ以下の場合に(S450:NO)、連結書込部160は、規定回数を減じ(S460)、一の書込データ以降の書込データを連結して書き込む処理を行い(S495)、処理を終了する。一方、他の書込データのサイズが第2規定サイズより大きい場合に(S450:YES)、S495に処理を移し、処理を終了する。
【0028】
一方、調節停止部140によるテープ記録媒体20の進行量が進行量基準値に満たない場合に(S440:NO)、進行量基準値調節部170は、複数の書込データの書き込みが終了したか否かを判断する(S470)。複数の書込データの書き込みが終了していない場合に、(S470:NO)、テープ記憶装置10は、S400に処理を移す。一方、複数の書込データの書き込みが終了した場合に、(S470:YES)、順次書込部120は、一の書込データ以降の書込データを書き込み始めた書込開始位置までテープ記録媒体20を巻き戻し(S480)、進行量基準値調節部170は、必要に応じて進行量基準値を変更し(S490)、連結書込部160は、一の書込データ以降、かつ他の書込データ以前の書込データを連結して書き込む処理を行い(S495)、処理を終了する。
【0029】
図5は、図3のS390におけるテープ記憶装置10のフローチャートを示す。連結書込部160は、連結格納部110により順次格納された書込データ、即ち、規定サイズより小さい一の書込データ以降の複数の書込データを連結する。そして、連結書込部160は、連結した当該複数の書込データを順次書込部120により書き込ませることにより、連結の対象となった当該複数の書込データの書き込みに要していたテープ記録媒体20上のセグメントより少ない数のセグメントに対して、連結した当該複数の書込データを書き込む(S500)。
【0030】
書込位置調節部130は、複数の書込データの書き込みを終えた場合(EOD情報を受けた場合)又は連結の対象の開始点となる当該一の書込データ以降の他の書込データの何れかが上記第2規定サイズより大きい場合に(S505:YES)、順次書込部120による書込位置の調整、即ち、バックヒッチ書込を再開する(S510)。一方、テープ記憶装置10は、複数の書込データの書き込みを終えていない場合、かつ連結の対象の開始点となる当該一の書込データ以降の他の書込データの何れも上記第2規定サイズに満たない場合に(S505:NO)、図3のS300に処理を戻す。
【0031】
図6は、テープ記憶装置10により書込データが書き込まれるテープ記録媒体20の第1の例を示す。テープ記録媒体20は、それぞれが書込データを逐次的に記録する複数のトラック、例えば、トラック600、トラック610、及びトラック620を有している。テープ記憶装置10は、書込データを外部から受け取る毎に、バックヒッチ書込を行う(S600)。即ち、順次書込部120は、書込データをテープ記録媒体20に対して順次書き込み、書込位置調節部130は、順次書込部120により書込データが書き込まれる毎に、当該書込データと、当該書込データの次に書き込む書込データとのテープ記録媒体20における書込位置を近づけるべく、次の書込データの書込位置を調節する。また、この場合、順次書込部120は、書込データの末尾が書き込まれるセグメントにおける当該書込データの末尾以降の領域を使用しない空き状態とするように、書込データをセグメント単位でテープ記録媒体20に書き込む。
【0032】
連結書込部160は、規定サイズより小さい一の書込データを検出した場合において、当該一の書込データ以前に、規定サイズより小さい書込データを規定回数以上検出した場合に、当該一の書込データ以降に書き込まれた複数の書込データを連結するべく、累積書込を開始する(S610)。即ち、連結格納部110は、一の書込データ以降の書込データのそれぞれについて、当該書込データを、当該書込データを書き込む以前に既に受信していた書込データに順次連結して累積する。
【0033】
順次書込部120は、テープ記録媒体20において予め定められた書込開始位置、例えば、トラック600においてバックヒッチ書込を終えた位置から、テープ記録媒体20を進行させる進行量が予め定められた進行量基準値に達するまで、テープ記録媒体20上の第1のトラックの一例であるトラック610に対して、書込データを順次書き込む(S620)。この際、順次書込部120は、連結格納部110における、書込データ及び書込データ以前に受信した書込データを含むセグメントを、トラック610に書き込む。
【0034】
反転書込部150は、順次書込部120による進行量が進行量基準値に達した場合に(S630)、トラック610とは異なる第2のトラックの一例であるトラック620に対して、トラック610に書き込む書込方向とは異なる書込方向により、書込データを順次書き込む(S640)。連結書込部160は、反転書込部150による進行量が進行量基準値に達した場合に(S650)、連結書込を行う。具体的には、連結書込部160は、順次書込部120及び反転書込部150により書き込まれた書込データを連結格納部110から取得して連結し、テープ記録媒体20における書込開始位置から、順次書込部120が一の書込データ以前の書込データを書き込んでいたトラック600に書き込む(S660)。以上、累積書込み及び連結書込みの組合せが、RABF書込(Recursive Accumulating Backhitchless Flush書込)である。テープ記憶装置10は、このRABF書込みにより、書込データを確実にテープ記録媒体20に書き込む書込要求を満たしつつ、高速かつ高効率な書き込みを実現できる。
【0035】
続いて、書込位置調節部130が、書込位置の調節を再開することにより、テープ記憶装置10は、バックヒッチ書込を再開する(S670)。続いて、連結書込部160は、複数の書込データ以前に書き込まれた他の複数の書込データが、連結書込により連結して書き込まれているので、複数の書込データ以前に書き込まれた他の複数の書込データが、連結されずに書き込まれている場合と比べて、累積書込みに移行する判断に用いられる規定回数を小さく設定する。これにより、テープ記憶装置10は、累積書込を再開し易く設定することができる。
【0036】
なお、テープ記憶装置10は、連結書込を終了した場合に、累積書込により書き込んだ書込データを消去してもよい。これに代えて、テープ記憶装置10は、テープ記録媒体20のうち累積書込に用いた領域を、新たな書込データを上書きしてもよい。但し、テープ記憶装置10は、累積書き込みの途中で書込エラーが生じた場合には、累積書込みにより書き込んだ書込みデータを消去しなくともよい。この場合、テープ記憶装置10は、連結書込を行わない。これにより、テープ記憶装置10は、累積書込及び連結書込の過程で書込エラーが生じた場合であっても、書込データを適切に書き込むことができる。
【0037】
図7(a)は、テープ記憶装置10の処理時間とテープ記録媒体20の巻戻し時間との関係を示す。上述したように、連結書込部160は、反転書込部150による進行量が進行量基準値に達した場合に、順次書込部120及び反転書込部150により書き込まれた書込データを連結し、テープ記録媒体20における書込開始位置からトラック600に書き込む。しかしながら、連結書込部160は、反転書込部150による進行量が進行量基準値に達していない場合であっても、複数の書込データの書き込みが終了した場合には、順次書込部120及び反転書込部150により書き込まれた書込データを連結し、テープ記録媒体20における書込開始位置からトラック600に書き込む。この際、連結書込部160は、連結した当該書込データを書き込むべく、テープ記録媒体20を書込開始位置まで巻き戻さなければならない。
【0038】
本図は、進行量基準値に対する、複数の書込データの書き込みに要する処理時間及び最大巻き戻し時間の関係を示す。本図から明らかなように、進行量基準値をより大きく設定すると、テープ記憶装置10は、複数の書込データの書き込みに要する処理時間を減少させることができる。一方、進行量基準値をより大きく設定すると、巻き戻しに要する時間の最大値を大きくしてしまう。
【0039】
図7(b)は、連結格納部110に格納された書込データの一例を示す。連結格納部110は、累積書込モードの往方向において書き込まれる書込データを格納するセグメント720−1〜Nと、累積書込モードの復方向において書き込まれる書込データを格納するセグメント730−1〜Mとを有している。連結格納部110は、例えば、当該連結格納部110が有する格納領域の半数をセグメント720−1〜Nに、残りをセグメント730−1〜Mとして割り当てる。
【0040】
そして、順次書込部120が往方向に書込データを書き込んでいる場合には、連結格納部110は、書込データをセグメント720−1〜Nに順次書き込む。例えば、本図は、連結格納部110が、書込データ740−1〜3を順次書き込んだ状態を示す。そして、反転書込部150が復方向に書込データを書き込んでいる場合には、連結格納部110は、書込データをセグメント730−1〜Mに順次書き込む。例えば、本図は、連結格納部110が、書込データ750−1〜2を書き込んだ状態を示す。
【0041】
ここで、反転書込部150による進行量が進行量基準値に達するより前に、複数の書込データの書込みが終了した場合には、反転書込部150は、テープ記録媒体20を書込開始位置まで巻き戻す処理を行わなければならないのみならず、連結格納部110内の記憶領域を適切に使いきることができないので、効率が悪い。
【0042】
従って、進行量基準値調節部170は、巻き戻しに要する時間を減少させ、かつ連結格納部110内の記憶領域を有効に使用させるべく、複数の書込データの合計サイズに応じて、複数の書込データの次に書き込む複数書込データに対する進行量基準値を調節する。これにより、次に書き込む複数の書込データのサイズが、既に書き込んだ複数の書込データの合計サイズと略同一である場合には、テープ記憶装置10は、巻き戻しに要する時間を減少させ、かつ連結格納部110内の記憶領域を有効に使用させることができる。
【0043】
図8は、テープ記憶装置10により書込データが書き込まれるテープ記録媒体20の第2の例を示す。テープ記録媒体20は、それぞれが書込データを逐次的に記録する複数のトラック、例えば、トラック800及びトラック810を有している。
【0044】
反転書込部150は、順次書込部120がテープ記録媒体20を進行させた進行量が進行量基準値に達したと判断した場合に、テープ記録媒体20の進行方向を反転する。判断方法として、例えば、反転書込部150は、進行量が進行量基準値に達する時点で書き込まれる書込データを予め特定しておき、当該書込データが書き込まれた時点で、進行量が進行量基準値に達したと判断する。これにより、テープ記憶装置10は、書込データを書き込む毎に進行量を判断する必要がなく、進行量基準値に達するタイミングを予め定めておくことができる。但し、この場合、反転書込部150は、進行量が進行量基準値に達した時点で書き込まれる書込データを適切に特定しなければならない。
【0045】
一例としては、まず、反転書込部150は、順次書込部120により書き込まれた書込データのテープ記録媒体20上の位置に基づき、進行量基準値に達するまでの残りの進行量を特定する。そして、反転書込部150は、当該残りの進行量を、書込間隔基準値格納部180に格納されている書込間隔基準値で除することにより、トラック800において書込データをあと何個書き込めるかを算出する。これにより、反転書込部150は、進行量が進行量基準値に達した時点で書き込まれる書込データを適切に特定することができる。
【0046】
例えば、本図において、順次書込部120が書込データ860を書き込んだ時点で、進行量が進行量基準値に達するまでの残り進行量は、2Xmmである。そして、書込間隔基準値格納部180は、書込間隔基準値として、Xmmを格納している。この場合、反転書込部150は、残り進行量の2Xmmを、書込間隔基準値のXmmで除することにより、例えば、あと2個の書込データを書き込んだ時点で進行量基準値に達すると判断する。
【0047】
しかしながら、複数の書込データが書き込まれる書込み位置の間隔は、書込データを生成する外部の装置等の状態に応じて変化する場合があり、このような場合に書込間隔基準値を変更しなければ、テープ記憶装置10は、テープ記録媒体20上の記憶領域及び連結格納部110上の記憶領域を適切に利用することができない。例えば、順次書込部120がトラック800に書込データを書き込んでいる時点での書込間隔基準値がXmmであり、反転書込部150が書込方向を反転した後の実際の書込間隔がX/2mmであった場合について説明する。
【0048】
本図において、調節停止部140が書込データ870を書き込んだ時点で、進行量が進行量基準値に達するまでの残り進行量は、2Xmmである。そして、書込間隔基準値格納部180は、書込間隔基準値として、Xmmを格納している。この場合、調節停止部140は、残り進行量の2Xmmを、書込間隔基準値のXmmで除することにより、例えば、あと2個の書込データを書き込んだ時点で進行量基準値に達すると判断する。しかしながら、実際の書込間隔がX/2mmであるため、テープ記憶装置10は、実際にはあと4個の書込データを書き込むことができるにも関わらず、2個の書込データを書き込んだ時点で進行量基準値に達したと判断してしまうので、効率が悪い。
【0049】
これを防ぐために、書込間隔基準値調節部190は、例えば定期的に、書込間隔基準値を設定し直す。例えば、外部の装置等から受け取る書込データの受取間隔が、書込データのサイズがより大きい場合に、書込データのサイズがより小さい場合と比較して小さくなる傾向がある場合においては、書込間隔基準値調節部190は、書込データのサイズが予め定められたサイズより小さい場合に、書込データのサイズが予め定められたサイズより大きい場合と比較して、書込間隔基準値をより大きい値に設定する。これにより、テープ記憶装置10は、進行量基準値に達する時点で書き込まれる書込データを予め適切に特定することができる。
【0050】
図9は、テープ記憶装置10のバックヒッチ書込及びRABF書込の比較を示す。本図は、書込データのサイズに対する、書込データの書き込みに要する時間の関係を示している。図中の実線は、RABF書込の場合の書き込みに要する時間を示し、一点破線は、バックヒッチ書込の場合の書き込みに要する時間を示している。このように、RABF書込は、書込データが予め定められたサイズより小さい場合には、バックヒッチ書込と比較して、書き込みに要する時間を減少させることができる。
【0051】
また、図中の点線は、RABF書込の場合において、所定のオーバヘッドが生じる場合の、書き込みに要する時間を示している。例えば、テープ記憶装置10に書込データを送信する外部の装置は、書込データの生成に要する時間及び書込データの送信路におけるデータ送信の遅延時間等の原因により、書込データの送信間隔を空けてしまう場合がある。これにより、テープ記憶装置10は、RABF書込において、バックヒッチを行わずに高速に書き込みができるにも関わらず、書込データの取得に間隔が空くので、書き込みに要する時間を増やしてしまう場合がある。
【0052】
このような場合であっても、RABF書込に移行するタイミングを適切に判断するべく、データ取得部100は、書込データを受信する時間間隔を測定し、連結書込部160は、測定された時間間隔に応じて、規定サイズを設定する。これにより、テープ記憶装置10は、外部の装置から受信する書込データの受信間隔が変更された場合であっても、RABF書込及びバックヒッチ書込の何れかを適切に選択することができる。
【0053】
図10は、実施形態又は変形例に係るテープ記憶装置10のハードウェア構成の一例を示す。テープ記憶装置10は、バスにより相互に接続されるテープドライブ2000と、CPU2010、RAM2020と、ROM2030と、通信インターフェイス2040とを備える。
【0054】
テープドライブ2000は、プログラム記録媒体又はデータ記録媒体の一例であるテープ記録媒体20からプログラム又はデータを読み取り、ROM2030に提供する。ROM2030は、テープ記憶装置10の起動時にCPU1000が実行するブートプログラムや、起動後にテープ記憶装置10を動作させるプログラム等を格納する。そして、CPU2010は、これらのプログラムを、RAM2020を用いて実行する。
【0055】
テープ記憶装置10に提供されるプログラムは、テープドライブ2000によりテープ記録媒体20から読み出され、テープ記憶装置10にインストールされる。これに代えて、通信インターフェイス2040は、シリアルポート等の入出力装置又はネットワークを介して、情報処理装置30からプログラムを取得し、テープ記憶装置10にインストールしてもよい。
【0056】
情報処理装置30は、ホストコントローラ1082により相互に接続されるCPU1000及びRAM1020を有するCPU周辺部と、入出力コントローラ1084によりホストコントローラ1082に接続される通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を有する入出力部と、入出力コントローラ1084に接続されるROM1010、フレキシブルディスクドライブ1050、及び入出力チップ1070を有するレガシー入出力部とを備える。
【0057】
ホストコントローラ1082は、RAM1020と、高い転送レートでRAM1020をアクセスするCPU1000とを接続する。CPU1000は、ROM1010及びRAM1020に格納されたプログラムに基づいて動作し、各部の制御を行う。
【0058】
入出力コントローラ1084は、ホストコントローラ1082と、比較的高速な入出力装置である通信インターフェイス1030、ハードディスクドライブ1040、及びCD−ROMドライブ1060を接続する。通信インターフェイス1030は、ネットワークを介してテープ記憶装置10等の装置と通信する。ハードディスクドライブ1040は、テープ記憶装置10が使用するプログラム及びデータを格納する。CD−ROMドライブ1060は、CD−ROM1095からプログラム又はデータを読み取り、通信インターフェイス1030を介してテープ記憶装置10に提供する。
【0059】
また、入出力コントローラ1084には、ROM1010と、フレキシブルディスクドライブ1050や入出力チップ1070等の比較的低速な入出力装置とが接続される。ROM1010は、テープ記憶装置10の起動時にCPU1000が実行するブートプログラムや、テープ記憶装置10のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ1050は、フレキシブルディスク1090からプログラム又はデータを読み取り、RAM1020を介して入出力チップ1070に提供する。入出力チップ1070は、フレキシブルディスク1090や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【0060】
テープ記憶装置10に提供されるプログラムは、フレキシブルディスク1090、CD−ROM1095、又はICカード等のプログラム記録媒体に格納されて利用者によって提供される。プログラムは、プログラム記録媒体から読み出され、通信インターフェイス1030を介してテープ記憶装置10にインストールされ、テープ記憶装置10において実行される。
【0061】
テープ記憶装置10にインストールされて実行されるプログラムは、データ取得モジュールと、連結格納モジュールと、順次書込モジュールと、書込位置調節モジュールと、調節停止モジュールと、反転書込モジュールと、連結書込モジュールと、進行量基準値調節モジュールと、書込間隔基準値格納モジュールと、書込間隔基準値調節モジュールとを含む。各モジュールがテープ記憶装置10に働きかけて行わせる動作は、図1から図9において説明したテープ記憶装置10における、対応する部材の動作と同一であるから、説明を省略する。
【0062】
以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1090、CD−ROM1095の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置をプログラム記録媒体として使用し、ネットワークを介してプログラムをテープ記憶装置10に提供してもよい。
【0063】
上記説明から明らかなように、テープ記憶装置10は、規定サイズより小さい一の書込データを検出した場合に、当該一の書込データ以降の書込データについて、書込位置の調節を停止する。これにより、テープ記憶装置10は、書込位置を調節するべくテープ記録媒体20を巻き戻す時間を節約し、高速な書込みを行うことができる。また、テープ記憶装置10は、規定サイズより小さい一の書込データを検出した場合に、当該一の書込データ以降の書込データを、連結格納部110に格納しておき、連結してテープ記録媒体20に書き直す。これにより、テープ記憶装置10は、テープ記録媒体20内の記憶領域を効率的に使用することができる。そして、テープ記憶装置10は、受信する書込データのサイズ及び書込データを受信する時間間隔に基づき、書込み位置の調節を停止するか否かを判断する規定サイズ及び規定回数と、累積書込を終了する判断に用いられる進行量基準値及び書込間隔基準値とを設定する。これにより、テープ記憶装置10は、受信する書込データのサイズ等の傾向に基づき、書込データをテープ記録媒体20に書き込む方法を適切に切り替え、高速かつ高効率に動作することができる。
【0064】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更または改良を加えることができる。そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0065】
以上に示した実施形態によると、以下の各項目に示す記憶装置、制御方法、プログラム、及び記録媒体が実現される。
【0066】
(項目1) 複数の書込データをデータ記録媒体に対して予め定められたサイズのセグメント単位で順次書き込む記憶装置であって、前記複数の書込データのそれぞれについて、当該書込データを前記データ記録媒体に対して書き込む書込指示を受信した場合に、当該書込データを前記データ記録媒体の少なくとも一のセグメントに対してセグメント単位で書き込む順次書込部と、一の前記書込データのサイズが予め定められた規定サイズより小さい場合に、前記順次書込部により前記データ記録媒体に書き込まれた前記複数の書込データのうち、前記一の書込データ以降に書き込まれた複数の前記書込データを連結して、前記データ記録媒体における、連結の対象となった前記複数の書込データの書き込みに要していたセグメントより少ない数のセグメントに対して書き込む連結書込部とを備える記憶装置。
(項目2) 前記順次書込部により前記複数の書込データのそれぞれが書き込まれる毎に、当該書込データと当該書込データの次の書込データとの前記データ記録媒体における書込位置を近づけるべく、前記次の書込データの書込位置を調節する書込位置調節部と、前記一の書込データ以降に書き込む書込データにおいて、前記書込位置調節部による前記書込位置の調節を停止する調節停止部とを更に備える項目1記載の記憶装置。
【0067】
(項目3) 前記一の書込データ以降の書込データを書き込む前記書込指示を受信する毎に、当該書込データを、当該書込データを受信する以前に既に受信していた書込データに順次連結して格納する連結格納部を更に備え、前記順次書込部は、前記一の書込データ以降の書込データを書き込む前記書込指示を受信する毎に、前記連結格納部における、当該書込データ及び当該書込データ以前に受信した書込データを含むセグメントを、前記データ記録媒体に書き込む項目1記載の記憶装置。
(項目4) 前記順次書込部は、前記テープ記録媒体において前記一の書込データを書き込んだ書込開始位置から前記テープ記録媒体を進行させた進行量が予め定められた進行量基準値に達するまで、前記テープ記録媒体上に設けられた複数のトラックのうち第1のトラックに書込データを順次書き込み、当該記憶装置は、前記順次書込部による進行量が前記進行量基準値に達した場合に、前記第1のトラックとは異なる第2のトラックに対して、前記第1のトラックに書き込む書込方向とは異なる書込方向により、書込データを順次書き込む反転書込部を更に備え、前記連結書込部は、前記反転書込部による進行量が前記進行量基準値に達した場合又は前記複数の書込データの書き込みが終了した場合に、前記一の書込データ以降の書込データを連結し、連結した当該書込データを、前記テープ記録媒体における前記書込開始位置から、前記順次書込部が前記一の書込データ以前の書込データを書き込んでいたトラックに書き込む項目1記載の記憶装置。
【0068】
(項目5) 前記データ記録媒体に書き込まれるべき前記複数の書込データを外部から順次取得し、前記複数の書込データを取得する時間間隔を計測するデータ取得部を更に備え、前記連結書込部は、前記データ取得部により計測された時間間隔がより大きい場合に、前記データ取得部により計測された時間間隔がより小さい場合と比較して、前記規定サイズをより大きく設定する項目1記載の記憶装置。
(項目6) 前記一の書込データ以降の他の書込データのサイズが、前記規定サイズより大きい値に予め定められた第2規定サイズより大きい場合に、前記連結書込部は、前記一の書込データ以降、かつ前記他の書込データ以前の書込データを連結する項目1記載の記憶装置。
(項目7) 前記連結書込部は、前記一の書込データ以前に、前記規定サイズより小さい書込データを規定回数以上検出した場合に、前記一の書込データ以降に書き込まれた複数の書込データを連結する項目1記載の記憶装置。
(項目8) 前記連結書込部は、前記複数の書込データ以前に書き込まれた他の複数の書込データが、連結して書き込まれている場合に、前記他の複数の書込データが連結されずに書き込まれている場合と比べて、前記規定回数を小さく設定する項目7記載の記憶装置。
【0069】
(項目9) テープ記録媒体を進行させることにより書込データを逐次的に書き込む記憶装置であって、前記テープ記録媒体において予め定められた書込開始位置から前記テープ記録媒体を進行させた進行量が予め定められた進行量基準値に達するまで、前記テープ記録媒体上に設けられた複数のトラックのうち第1のトラックに書込データを順次書き込む順次書込部と、前記順次書込部による進行量が前記進行量基準値に達した場合に、前記第1のトラックとは異なる第2のトラックに対して、前記第1のトラックに書き込む書込方向とは異なる書込方向により、書込データを順次書き込む反転書込部と、前記反転書込部による進行量が前記進行量基準値に達した場合又は前記複数の書込データの書き込みが終了した場合に、前記順次書込部及び前記反転書込部により書き込まれた書込データを連結し、連結した当該書込データを、前記テープ記録媒体における前記書込開始位置から、前記複数のトラックのうち何れかに書き込む連結書込部と、前記複数の書込データの合計サイズに応じて、当該複数の書込データの次に書き込む複数の書込データに対する進行量基準値を調節する進行量基準値調節部とを備える記憶装置。
【0070】
(項目10) 前記進行量基準値調節部は、前記反転書込部による進行量が前記進行量基準値に達するより前に、前複数の書込データの書き込みが終了した場合に、当該複数の書込データの書き込みに用いた前記進行量基準値より小さい値を、次に書き込む複数の書込データに対する進行量基準値として設定する項目9記載の記憶装置。
(項目11) 前記進行量基準値調節部は、前記反転書込部による進行量が前記進行量基準値に達してもなお、前記複数の書込データの書き込みが終了していない場合に、当該複数の書込データの書き込みに用いた前記進行量基準値より大きい値を、次に書き込む複数の書込データに対する進行量基準値として設定する項目9記載の記憶装置。
(項目12) 当該記憶装置は、前記データ記録媒体上における、前記順次書込部による前記複数の書込データの書込み間隔の見積もりである書込間隔基準値を格納する書込間隔基準値格納部を更に備え、前記反転書込部は、前記書込間隔基準値に基づき、前記進行量基準値に達する時点で書き込まれる書込データを特定し、特定した当該書込データが書き込まれた場合に、前記データ記録媒体の進行量が進行量基準値に達したと判断し、当該記憶装置は、前記順次書込部により書き込まれる書込データのサイズが予め定められたサイズより小さい場合に、前記順次書込部により書き込まれる書込データのサイズが予め定められたサイズより大きい場合と比較して、前記書込間隔基準値をより大きい値に設定する書込間隔基準値調節部を更に備える項目9記載の記憶装置。
【0071】
(項目13) 複数の書込データをデータ記録媒体に対して予め定められたサイズのセグメント単位で順次書き込む記憶装置をコンピュータにより制御する制御方法であって、前記複数の書込データのそれぞれについて、当該書込データを前記データ記録媒体に対して書き込む書込指示を受信した場合に、当該書込データを前記データ記録媒体の少なくとも一のセグメントに対してセグメント単位で書き込む順次書込段階と、一の前記書込データのサイズが予め定められた規定サイズより小さい場合に、前記順次書込段階により前記データ記録媒体に書き込まれた前記複数の書込データのうち、前記一の書込データ以降に書き込まれた複数の前記書込データを連結して、前記データ記録媒体における、連結の対象となった前記複数の書込データの書き込みに要していたセグメントより少ない数のセグメントに対して書き込む連結書込段階とを備える制御方法。
(項目14) テープ記録媒体を進行させることにより書込データを逐次的に書き込む記憶装置をコンピュータにより制御する制御方法であって、前記テープ記録媒体において予め定められた書込開始位置から前記テープ記録媒体を進行させた進行量が予め定められた進行量基準値に達するまで、前記テープ記録媒体上に設けられた複数のトラックのうち第1のトラックに書込データを順次書き込む順次書込段階と、前記順次書込段階による進行量が前記進行量基準値に達した場合に、前記第1のトラックとは異なる第2のトラックに対して、前記第1のトラックに書き込む書込方向とは異なる書込方向により、書込データを順次書き込む反転書込段階と、前記反転書込段階による進行量が前記進行量基準値に達した場合又は前記複数の書込データの書き込みが終了した場合に、前記順次書込部及び前記反転書込部により書き込まれた書込データを連結し、連結した当該書込データを、前記テープ記録媒体における前記書込開始位置から、前記複数のトラックのうち何れかに書き込む連結書込段階と、前記複数の書込データの合計サイズに応じて、当該複数の書込データの次に書き込む複数の書込データに対する進行量基準値を調節する進行量基準値調節段階とを備える制御方法。
【0072】
(項目15) 複数の書込データをデータ記録媒体に対して予め定められたサイズのセグメント単位で順次書き込む記憶装置をコンピュータにより制御するプログラムであって、前記コンピュータを、前記複数の書込データのそれぞれについて、当該書込データを前記データ記録媒体に対して書き込む書込指示を受信した場合に、当該書込データを前記データ記録媒体の少なくとも一のセグメントに対してセグメント単位で書き込む順次書込部と、一の前記書込データのサイズが予め定められた規定サイズより小さい場合に、前記順次書込部により前記データ記録媒体に書き込まれた前記複数の書込データのうち、前記一の書込データ以降に書き込まれた複数の前記書込データを連結して、前記データ記録媒体における、連結の対象となった前記複数の書込データの書き込みに要していたセグメントより少ない数のセグメントに対して書き込む連結書込部として機能させるプログラム。
(項目16) テープ記録媒体を進行させることにより書込データを逐次的に書き込む記憶装置を、コンピュータにより制御するプログラムであって、前記コンピュータを、前記テープ記録媒体において予め定められた書込開始位置から前記テープ記録媒体を進行させた進行量が予め定められた進行量基準値に達するまで、前記テープ記録媒体上に設けられた複数のトラックのうち第1のトラックに書込データを順次書き込む順次書込部と、前記順次書込部による進行量が前記進行量基準値に達した場合に、前記第1のトラックとは異なる第2のトラックに対して、前記第1のトラックに書き込む書込方向とは異なる書込方向により、書込データを順次書き込む反転書込部と、前記反転書込部による進行量が前記進行量基準値に達した場合又は前記複数の書込データの書き込みが終了した場合に、前記順次書込部及び前記反転書込部により書き込まれた書込データを連結し、連結した当該書込データを、前記テープ記録媒体における前記書込開始位置から、前記複数のトラックのうち何れかに書き込む連結書込部と、前記複数の書込データの合計サイズに応じて、当該複数の書込データの次に書き込む複数の書込データに対する進行量基準値を調節する進行量基準値調節部として機能させるプログラム。
【0073】
【発明の効果】
上記説明から明らかなように、本発明によれば高速かつ効率的にデータを記録媒体に書き込むことができる。
【図面の簡単な説明】
【図1】図1は、テープ記憶装置10のブロック図を示す。
【図2】図2は、テープ記憶装置10のフローチャートを示す。
【図3】図3は、図2に続くテープ記憶装置10のフローチャートを示す。
【図4】図4は、図3に続くテープ記憶装置10のフローチャートを示す。
【図5】図5は、図3のS390におけるテープ記憶装置10のフローチャートを示す。
【図6】図6は、テープ記憶装置10により書込データが書き込まれるテープ記録媒体20の第1の例を示す。
【図7】図7(a)は、テープ記憶装置10の処理時間とテープ記録媒体20の巻戻し時間との関係を示す。図7(b)は、連結格納部110に格納された書込データの一例を示す。
【図8】図8は、テープ記憶装置10により書込データが書き込まれるテープ記録媒体20の第2の例を示す。
【図9】図9は、テープ記憶装置10のバックヒッチ書込及びRABF書込の比較を示す。
【図10】図10は、テープ記憶装置10のハードウェア構成の一例を示す。
【符号の説明】
10 テープ記憶装置
20 テープ記録媒体
30 情報処理装置
100 データ取得部
110 連結格納部
120 順次書込部
130 書込位置調節部
140 調節停止部
150 反転書込部
160 連結書込部
170 進行量基準値調節部
180 書込間隔基準値格納部
190 書込間隔基準値調節部
600 トラック
610 トラック
620 トラック
720 セグメント
730 セグメント
740 書込データ
750 書込データ
800 トラック
810 トラック
860 書込データ
870 書込データ

Claims (15)

  1. テープ記録媒体を進行させることにより複数の書込データを逐次的に書き込む記憶装置であって、
    前記複数の書込データのそれぞれを、当該書込データを前記テープ記録媒体に対して書き込む書込指示に応じて前記テープ記録媒体に順次書き込み、一の前記書込データのサイズが予め定められた規定サイズより小さい場合に、前記テープ記録媒体において予め定められた書込開始位置から前記テープ記録媒体を進行させた進行量が予め定められた進行量基準値に達するまで、前記テープ記録媒体上に設けられた複数のトラックのうち第1のトラックに書込データを順次書き込む順次書込部と、
    前記順次書込部による進行量が前記進行量基準値に達した場合に、前記第1のトラックとは異なる第2のトラックに対して、前記第1のトラックに書き込む書込方向とは異なる書込方向により、書込データを順次書き込む反転書込部と、
    前記反転書込部による進行量が前記進行量基準値に達した場合又は前記複数の書込データの書き込みが終了した場合に、前記順次書込部により書き込まれた書込データのうち前記一の書込データ以降に書き込まれた書込データ及び前記反転書込部により書き込まれた書込データを連結し、連結した当該書込データを、前記テープ記録媒体における前記書込開始位置から、前記複数のトラックのうち何れかに書き込む連結書込部と
    を備える記憶装置。
  2. 前記順次書込部により前記複数の書込データのそれぞれが書き込まれる毎に、当該書込データと当該書込データの次の書込データとの前記テープ記録媒体における書込位置を近づけるべく、前記次の書込データの書込位置を調節する書込位置調節部と、
    前記一の書込データ以降に書き込む書込データにおいて、前記書込位置調節部による前記書込位置の調節を停止する調節停止部と
    を更に備える請求項1記載の記憶装置。
  3. 前記一の書込データ以降の書込データを書き込む前記書込指示を受信する毎に、当該書込データを、当該書込データを受信する以前に既に受信していた書込データに順次連結して格納する連結格納部を更に備え、
    前記順次書込部は、前記一の書込データ以降の書込データを書き込む前記書込指示を受信する毎に、前記連結格納部における、当該書込データ及び当該書込データ以前に受信した書込データを含むセグメントを、前記テープ記録媒体に書き込む
    請求項1記載の記憶装置。
  4. 前記テープ記録媒体に書き込まれるべき前記複数の書込データを外部から順次取得し、前記複数の書込データを取得する時間間隔を計測するデータ取得部を更に備え、
    前記連結書込部は、前記データ取得部により計測された時間間隔がより大きい場合に、前記データ取得部により計測された時間間隔がより小さい場合と比較して、前記規定サイズをより大きく設定する請求項1記載の記憶装置。
  5. 前記一の書込データ以降の他の書込データのサイズが、前記規定サイズより大きい値に予め定められた第2規定サイズより大きい場合に、前記連結書込部は、前記一の書込データ以降、かつ前記他の書込データ以前の書込データを連結する請求項1記載の記憶装置。
  6. 前記連結書込部は、前記一の書込データ以前に、前記規定サイズより小さい書込データを規定回数以上検出した場合に、前記一の書込データ以降に書き込まれた複数の書込データを連結する請求項1記載の記憶装置。
  7. 前記連結書込部は、前記複数の書込データ以前に書き込まれた他の複数の書込データが、連結して書き込まれている場合に、前記他の複数の書込データが連結されずに書き込まれている場合と比べて、前記規定回数を小さく設定する請求項記載の記憶装置。
  8. テープ記録媒体を進行させることにより書込データを逐次的に書き込む記憶装置であって、
    前記テープ記録媒体において予め定められた書込開始位置から前記テープ記録媒体を進行させた進行量が予め定められた進行量基準値に達するまで、前記テープ記録媒体上に設けられた複数のトラックのうち第1のトラックに書込データを順次書き込む順次書込部と、
    前記順次書込部による進行量が前記進行量基準値に達した場合に、前記第1のトラックとは異なる第2のトラックに対して、前記第1のトラックに書き込む書込方向とは異なる書込方向により、書込データを順次書き込む反転書込部と、
    前記反転書込部による進行量が前記進行量基準値に達した場合又は前記複数の書込データの書き込みが終了した場合に、前記順次書込部及び前記反転書込部により書き込まれた書込データを連結し、連結した当該書込データを、前記テープ記録媒体における前記書込開始位置から、前記複数のトラックのうち何れかに書き込む連結書込部と、
    前記複数の書込データの合計サイズに応じて、当該複数の書込データの次に書き込む複数の書込データに対する進行量基準値を調節する進行量基準値調節部と
    を備える記憶装置。
  9. 前記進行量基準値調節部は、
    前記反転書込部による進行量が前記進行量基準値に達するより前に、前複数の書込データの書き込みが終了した場合に、当該複数の書込データの書き込みに用いた前記進行量基準値より小さい値を、次に書き込む複数の書込データに対する進行量基準値として設定する
    請求項記載の記憶装置。
  10. 前記進行量基準値調節部は、
    前記反転書込部による進行量が前記進行量基準値に達してもなお、前記複数の書込データの書き込みが終了していない場合に、当該複数の書込データの書き込みに用いた前記進行量基準値より大きい値を、次に書き込む複数の書込データに対する進行量基準値として設定する
    請求項記載の記憶装置。
  11. 当該記憶装置は、
    前記テープ記録媒体上における、前記順次書込部による前記複数の書込データの書込み間隔の見積もりである書込間隔基準値を格納する書込間隔基準値格納部を更に備え、
    前記反転書込部は、前記書込間隔基準値に基づき、前記進行量基準値に達する時点で書き込まれる書込データを特定し、特定した当該書込データが書き込まれた場合に、前記テープ記録媒体の進行量が進行量基準値に達したと判断し、
    当該記憶装置は、
    前記順次書込部により書き込まれる書込データのサイズが予め定められたサイズより小さい場合に、前記順次書込部により書き込まれる書込データのサイズが予め定められたサイズより大きい場合と比較して、前記書込間隔基準値をより大きい値に設定する書込間隔基準値調節部
    を更に備える請求項記載の記憶装置。
  12. テープ記録媒体を進行させることにより複数の書込データを逐次的に書き込む記憶装置をコンピュータにより制御する制御方法であって、
    前記複数の書込データのそれぞれについて、当該書込データを前記テープ記録媒体に対して書き込む書込指示を受信した場合に、当該書込データを前記テープ記録媒体に順次書き込み、一の前記書込データのサイズが予め定められた規定サイズより小さい場合に、前記テープ記録媒体において予め定められた書込開始位置から前記テープ記録媒体を進行させた進行量が予め定められた進行量基準値に達するまで、前記テープ記録媒体上に設けられた複数のトラックのうち第1のトラックに書込データを順次書き込む順次書込段階と、
    前記順次書込段階における進行量が前記進行量基準値に達した場合に、前記第1のトラックとは異なる第2のトラックに対して、前記第1のトラックに書き込む書込方向とは異なる書込方向により、書込データを順次書き込む反転書込段階と、
    前記反転書込段階における進行量が前記進行量基準値に達した場合又は前記複数の書込データの書き込みが終了した場合に、前記順次書込段階により前記テープ記録媒体に書き込まれた前記複数の書込データのうち、前記一の書込データ以降に書き込まれた複数の前記書込データ及び前記反転書込段階において書き込まれた書込データを連結し、連結した当該書込データを、前記テープ記録媒体における前記書込開始位置から、前記複数のトラックのうち何れかに書き込む連結書込段階と
    を備える制御方法。
  13. テープ記録媒体を進行させることにより書込データを逐次的に書き込む記憶装置をコンピュータにより制御する制御方法であって、
    前記テープ記録媒体において予め定められた書込開始位置から前記テープ記録媒体を進行させた進行量が予め定められた進行量基準値に達するまで、前記テープ記録媒体上に設けられた複数のトラックのうち第1のトラックに書込データを順次書き込む順次書込段階と、
    前記順次書込段階による進行量が前記進行量基準値に達した場合に、前記第1のトラックとは異なる第2のトラックに対して、前記第1のトラックに書き込む書込方向とは異なる書込方向により、書込データを順次書き込む反転書込段階と、
    前記反転書込段階による進行量が前記進行量基準値に達した場合又は前記複数の書込データの書き込みが終了した場合に、前記順次書込段階及び前記反転書込段階において書き込まれた書込データを連結し、連結した当該書込データを、前記テープ記録媒体における前記書込開始位置から、前記複数のトラックのうち何れかに書き込む連結書込段階と、
    前記複数の書込データの合計サイズに応じて、当該複数の書込データの次に書き込む複数の書込データに対する進行量基準値を調節する進行量基準値調節段階と
    を備える制御方法。
  14. テープ記録媒体を進行させることにより複数の書込データを逐次的に書き込む記憶装置をコンピュータにより制御するプログラムであって、
    前記コンピュータを、
    前記複数の書込データのそれぞれを、当該書込データを前記テープ記録媒体に対して書き込む書込指示に応じて前記テープ記録媒体に順次書き込み、一の前記書込データのサイズが予め定められた規定サイズより小さい場合に、前記テープ記録媒体において予め定められた書込開始位置から前記テープ記録媒体を進行させた進行量が予め定められた進行量基準値に達するまで、前記テープ記録媒体上に設けられた複数のトラックのうち第1のトラックに書込データを順次書き込む順次書込部と、
    前記順次書込部による進行量が前記進行量基準値に達した場合に、前記第1のトラックとは異なる第2のトラックに対して、前記第1のトラックに書き込む書込方向とは異なる書込方向により、書込データを順次書き込む反転書込部と、
    前記反転書込部による進行量が前記進行量基準値に達した場合又は前記複数の書込データの書き込みが終了した場合に、前記順次書込部により書き込まれた書込データのうち前記一の書込データ以降に書き込まれた書込データ及び前記反転書込部により書き込まれた書込データを連結し、連結した当該書込データを、前記テープ記録媒体における前記書込開始位置から、前記複数のトラックのうち何れかに書き込む連結書込部と
    して機能させるプログラム。
  15. テープ記録媒体を進行させることにより書込データを逐次的に書き込む記憶装置を、コンピュータにより制御するプログラムであって、
    前記コンピュータを、
    前記テープ記録媒体において予め定められた書込開始位置から前記テープ記録媒体を進行させた進行量が予め定められた進行量基準値に達するまで、前記テープ記録媒体上に設けられた複数のトラックのうち第1のトラックに書込データを順次書き込む順次書込部と、
    前記順次書込部による進行量が前記進行量基準値に達した場合に、前記第1のトラックとは異なる第2のトラックに対して、前記第1のトラックに書き込む書込方向とは異なる書込方向により、書込データを順次書き込む反転書込部と、
    前記反転書込部による進行量が前記進行量基準値に達した場合又は前記複数の書込データの書き込みが終了した場合に、前記順次書込部及び前記反転書込部により書き込まれた書込データを連結し、連結した当該書込データを、前記テープ記録媒体における前記書込開始位置から、前記複数のトラックのうち何れかに書き込む連結書込部と、
    前記複数の書込データの合計サイズに応じて、当該複数の書込データの次に書き込む複数の書込データに対する進行量基準値を調節する進行量基準値調節部と
    して機能させるプログラム。
JP2003139063A 2003-05-16 2003-05-16 記憶装置、制御方法、プログラム、及び記録媒体 Expired - Fee Related JP3900494B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003139063A JP3900494B2 (ja) 2003-05-16 2003-05-16 記憶装置、制御方法、プログラム、及び記録媒体
US10/846,318 US7631141B2 (en) 2003-05-16 2004-05-14 Tape drive storage device for writing data forward and backward in predetermined lengths

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003139063A JP3900494B2 (ja) 2003-05-16 2003-05-16 記憶装置、制御方法、プログラム、及び記録媒体

Publications (2)

Publication Number Publication Date
JP2004341925A JP2004341925A (ja) 2004-12-02
JP3900494B2 true JP3900494B2 (ja) 2007-04-04

Family

ID=33410823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003139063A Expired - Fee Related JP3900494B2 (ja) 2003-05-16 2003-05-16 記憶装置、制御方法、プログラム、及び記録媒体

Country Status (2)

Country Link
US (1) US7631141B2 (ja)
JP (1) JP3900494B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4131517B2 (ja) 2005-09-06 2008-08-13 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ媒体にデータを書き込むための装置
ATE539400T1 (de) * 2007-11-05 2012-01-15 Ibm Verfahren zum steuern des schreibens auf magnetband und magnetbandeinrichtung zur ausführung des verfahrens
US7903363B2 (en) * 2008-06-05 2011-03-08 International Business Machines Corporation Same Wrap backhitchless write method to encode data on a tape storage medium
JP5567260B2 (ja) * 2008-08-05 2014-08-06 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ媒体にデータを書き込む装置及び方法
US7965463B2 (en) * 2009-01-09 2011-06-21 International Business Machines Corporation Recording multiple codeword sets during latency period
US7965462B2 (en) * 2009-01-09 2011-06-21 International Business Machines Corporation Storing partial data sets to magnetic tape
GB2488689B (en) 2009-11-13 2018-10-03 Ibm Apparatus, method and computer program for controlling data writing to a tape medium
CN102687201B (zh) * 2009-12-22 2014-12-03 国际商业机器公司 带介质的行进控制装置及方法
JP5506926B2 (ja) * 2010-06-25 2014-05-28 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ記憶装置、及びその書込み方法
JP5536565B2 (ja) * 2010-06-30 2014-07-02 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ媒体にデータを書き込む装置及び方法
JP5643152B2 (ja) 2011-05-19 2014-12-17 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープ記憶装置、データ書込み方法、及び、プログラム
JP5764050B2 (ja) 2011-12-14 2015-08-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データを書き込む装置及び方法
JP5753498B2 (ja) 2012-01-05 2015-07-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープ記憶装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4410942A (en) * 1981-03-06 1983-10-18 International Business Machines Corporation Synchronizing buffered peripheral subsystems to host operations
JPS6199904A (ja) 1984-10-19 1986-05-19 Hitachi Ltd 磁気テ−プ装置の制御方式
JP2633526B2 (ja) * 1986-01-16 1997-07-23 ソニー株式会社 記録再生装置
JP2524875B2 (ja) * 1990-08-30 1996-08-14 ティアツク株式会社 磁気テ―プ装置における記録方法
JPH10289537A (ja) 1997-04-11 1998-10-27 Sony Corp デジタルデータ記録方法およびデジタルデータ記録媒体
EP0978785A1 (en) * 1998-08-07 2000-02-09 Hewlett-Packard Company Data backup and recovery
US6286088B1 (en) * 1999-06-28 2001-09-04 Hewlett-Packard Company Memory management system and method for relocating memory
US6856479B2 (en) * 2002-01-29 2005-02-15 International Business Machines Corporation Writing synchronized data to magnetic tape

Also Published As

Publication number Publication date
JP2004341925A (ja) 2004-12-02
US7631141B2 (en) 2009-12-08
US20040230741A1 (en) 2004-11-18

Similar Documents

Publication Publication Date Title
JP3900494B2 (ja) 記憶装置、制御方法、プログラム、及び記録媒体
US7475265B2 (en) Data storage device and control method for power-saving modes of serial interface thereof
JP5385992B2 (ja) テープ媒体の走行を制御する装置及び方法
JP2006318571A (ja) 記録媒体の駆動を制御するための装置、方法、及びプログラム
US10353624B2 (en) Apparatus and method for writing data to recording medium
US8139311B2 (en) Apparatus, method and program for controlling writing of data by tape recording apparatus
EP2221717B1 (en) Method for controlling write on magnetic tape and magnetic tape device for executing the method
US7949795B2 (en) Power conservation in data storage device by only starting the active state when the measured time indicates data is present on the interface
US9423968B2 (en) Using host transfer rates to select a recording medium transfer rate for transferring data to a recording medium
US8964327B2 (en) Tape storage device, data writing method, and program
US8117491B2 (en) Disk-drive device and method for error recovery thereof
JP2016212537A (ja) テープ装置、制御装置および制御プログラム
JP5476395B2 (ja) データの書込みを制御する装置及び方法
JP5764050B2 (ja) データを書き込む装置及び方法
US8019936B1 (en) Fast disk start system
JP4763376B2 (ja) ディスク装置
JP2015041292A (ja) テープドライブのバッファの消費電力の低減
US5696640A (en) Disk drive using virtual hands for continuous access and execution
JP2009157414A (ja) 記憶装置、情報端末装置及びデータ先読み方法
JP7252448B2 (ja) テープ装置、制御装置および読み出し制御プログラム
JP2008021380A (ja) シーク制御装置、シーク制御方法、記憶装置
US8325573B2 (en) Optical recording device and recording method
JP2007042159A (ja) データ再生装置およびデータ再生方法
JPH09231011A (ja) 情報記憶装置
JP2007026125A (ja) 記録再生装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060822

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061106

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: 20061205

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20061206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061222

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100112

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110112

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120112

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130112

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140112

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees