JPH07105084A - 磁気テープ先読み制御装置 - Google Patents
磁気テープ先読み制御装置Info
- Publication number
- JPH07105084A JPH07105084A JP5275988A JP27598893A JPH07105084A JP H07105084 A JPH07105084 A JP H07105084A JP 5275988 A JP5275988 A JP 5275988A JP 27598893 A JP27598893 A JP 27598893A JP H07105084 A JPH07105084 A JP H07105084A
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- magnetic tape
- free space
- reading
- value
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/00007—Time or data compression or expansion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
(57)【要約】
【目的】 読み込んだデータがバッファに格納しきれず
に再位置付け、再読み出しが必要となって性能が低下す
ることを防止する。 【構成】 読み出したデータのブロックサイズがバッフ
ァマージン記憶部の内容より大きい時にカウンタの内容
に1を加え、小さい時にカウンタの内容から1を減ず
る。カウンタの値が一定値に達したときにバッファマー
ジン記憶部の内容を最大ブロックサイズで置き換え、カ
ウンタの値が0になったときにはバッファマージン記憶
部の内容を初期値に置き換える。
に再位置付け、再読み出しが必要となって性能が低下す
ることを防止する。 【構成】 読み出したデータのブロックサイズがバッフ
ァマージン記憶部の内容より大きい時にカウンタの内容
に1を加え、小さい時にカウンタの内容から1を減ず
る。カウンタの値が一定値に達したときにバッファマー
ジン記憶部の内容を最大ブロックサイズで置き換え、カ
ウンタの値が0になったときにはバッファマージン記憶
部の内容を初期値に置き換える。
Description
【0001】
【産業上の利用分野】本発明は、磁気テープ装置の先読
みを制御する磁気テープ先読み制御装置に関する。
みを制御する磁気テープ先読み制御装置に関する。
【0002】
【従来の技術】コンピュータの外部記憶装置として用い
られる磁気テープ装置は、近年、テープ走行の高速化の
要求などから、リール・モータで直接テープ走行を制御
し、テープの1個のデータブロックごとにデータブロッ
クと隣のデータブロックとの間の空白部分(IBGと略
記する)での走行停止をせずに、テープを連続走行させ
るストリーミング方式が普及している。
られる磁気テープ装置は、近年、テープ走行の高速化の
要求などから、リール・モータで直接テープ走行を制御
し、テープの1個のデータブロックごとにデータブロッ
クと隣のデータブロックとの間の空白部分(IBGと略
記する)での走行停止をせずに、テープを連続走行させ
るストリーミング方式が普及している。
【0003】ストリーミング方式の磁気テープ装置では
テープ速度の加速/減速に要する時間が長いため、テー
プ速度の加減速による時間損失を吸収するために、バッ
ファメモリを使用して上位装置からの入出力命令とは非
同期に後書き/先読みを行う方式が採られているが、バ
ッファに格納できるデータ容量には限界があるため、先
読みを行うときには次のブロックを読み出すか、先読み
を停止させるかの判断が必要となる。この判断を誤り、
データブロックがバッファに格納しきれなかった場合に
は、磁気テープは次のIBGまで進んで停止するため、
このバッファに格納しきれなかったデータブロックを再
度読み出すためには、磁気テープを逆方向に走行させ、
1ブロック分ポジションを戻した後読み直すことが必要
になる。
テープ速度の加速/減速に要する時間が長いため、テー
プ速度の加減速による時間損失を吸収するために、バッ
ファメモリを使用して上位装置からの入出力命令とは非
同期に後書き/先読みを行う方式が採られているが、バ
ッファに格納できるデータ容量には限界があるため、先
読みを行うときには次のブロックを読み出すか、先読み
を停止させるかの判断が必要となる。この判断を誤り、
データブロックがバッファに格納しきれなかった場合に
は、磁気テープは次のIBGまで進んで停止するため、
このバッファに格納しきれなかったデータブロックを再
度読み出すためには、磁気テープを逆方向に走行させ、
1ブロック分ポジションを戻した後読み直すことが必要
になる。
【0004】この1ブロック分ポジションを戻すという
動作は、(1)逆方向へテープ走行をさせるための位置
補正のための加速と減速、(2)逆方向へのテープ走行
のための加速と走行と減速、(3)減速に要した距離の
位置補正のための加速と減速、(4)読み直しのテープ
走行をさせるための位置補正のための加速と減速、
(5)読み直しのテープ走行のための加速とが必要とな
る。すなわち、合計9回の加減速が必要となる。
動作は、(1)逆方向へテープ走行をさせるための位置
補正のための加速と減速、(2)逆方向へのテープ走行
のための加速と走行と減速、(3)減速に要した距離の
位置補正のための加速と減速、(4)読み直しのテープ
走行をさせるための位置補正のための加速と減速、
(5)読み直しのテープ走行のための加速とが必要とな
る。すなわち、合計9回の加減速が必要となる。
【0005】適切な判断により先読みを停止させていれ
ば次のデータブロックを読み出すためには、データの読
み出しは1回の加速だけで可能であるため、データがバ
ッファに格納しきれなかった場合の時間損失は非常に大
きなものとなる。一般に磁気テープではデータブロック
のサイズは可変長であるため、このような時間損失を避
けるための先読み実行/停止の判断基準として、従来の
磁気テープ先読み制御装置では、直前に読み出したブロ
ックのサイズ相当の空き容量が残っているか、あるいは
予め決定された容量の空きがあるかなどを基準に判断さ
れていた。
ば次のデータブロックを読み出すためには、データの読
み出しは1回の加速だけで可能であるため、データがバ
ッファに格納しきれなかった場合の時間損失は非常に大
きなものとなる。一般に磁気テープではデータブロック
のサイズは可変長であるため、このような時間損失を避
けるための先読み実行/停止の判断基準として、従来の
磁気テープ先読み制御装置では、直前に読み出したブロ
ックのサイズ相当の空き容量が残っているか、あるいは
予め決定された容量の空きがあるかなどを基準に判断さ
れていた。
【0006】
【発明が解決しようとする課題】上記のように従来の磁
気テープ先読み制御装置では、データ圧縮などを施した
磁気テープに対して性能の低下を招くという問題点があ
る。すなわち、磁気テープにデータを書き込む場合、上
位装置から送られる連続したデータは同じブロックサイ
ズで転送されることが多く、データ圧縮、オートブロッ
キング処理が施されていない場合には、この特性を利用
して直前のブロックサイズに相当する空エリアがあれば
先読みを実行するという判断基準を使用することで、前
述のようなバッファにデータを格納しきれずに多くの時
間損失を生ずることは避けることができる。
気テープ先読み制御装置では、データ圧縮などを施した
磁気テープに対して性能の低下を招くという問題点があ
る。すなわち、磁気テープにデータを書き込む場合、上
位装置から送られる連続したデータは同じブロックサイ
ズで転送されることが多く、データ圧縮、オートブロッ
キング処理が施されていない場合には、この特性を利用
して直前のブロックサイズに相当する空エリアがあれば
先読みを実行するという判断基準を使用することで、前
述のようなバッファにデータを格納しきれずに多くの時
間損失を生ずることは避けることができる。
【0007】しかし、近年では記憶容量を拡大するため
磁気テープに書き込むデータに、データ圧縮,オートブ
ロッキングなどの処理を施すことが多くなってきた。デ
ータ圧縮処理を施した場合はデータ内容によって圧縮率
が変化するため、上位装置から送られるデータが同じブ
ロックサイズで転送されても、実際に磁気テープ上に書
き込まれるデータの大きさは同一サイズとなる保証はな
い。したがって、直前のブロックサイズは参考になら
ず、このブロックサイズに相当する空エリアがあれば先
読みを実行するという判断は成り立たない。そのため、
読み出しの際にはある程度の余裕があるときにのみ、先
読みを実行することになる。
磁気テープに書き込むデータに、データ圧縮,オートブ
ロッキングなどの処理を施すことが多くなってきた。デ
ータ圧縮処理を施した場合はデータ内容によって圧縮率
が変化するため、上位装置から送られるデータが同じブ
ロックサイズで転送されても、実際に磁気テープ上に書
き込まれるデータの大きさは同一サイズとなる保証はな
い。したがって、直前のブロックサイズは参考になら
ず、このブロックサイズに相当する空エリアがあれば先
読みを実行するという判断は成り立たない。そのため、
読み出しの際にはある程度の余裕があるときにのみ、先
読みを実行することになる。
【0008】オートブロッキングを施した場合、磁気テ
ープ上に書き込まれているデータブロックサイズはかな
り大きなものになる可能性がある。また、規格などで最
大ブロックサイズが規定されていても、その最大ブロッ
クサイズが非常に大きな値であれば、常時最大ブロック
サイズ相当の空きエリアが確保できたときのみ先読みを
実行するようにしていたのではバッファが有効に使用で
きなくなる。しかしながら最大ブロックサイズに相当す
る空き容量を容易に確保することができるだけのバッフ
ァを用意することはコストの上昇を招き望ましくない。
ープ上に書き込まれているデータブロックサイズはかな
り大きなものになる可能性がある。また、規格などで最
大ブロックサイズが規定されていても、その最大ブロッ
クサイズが非常に大きな値であれば、常時最大ブロック
サイズ相当の空きエリアが確保できたときのみ先読みを
実行するようにしていたのではバッファが有効に使用で
きなくなる。しかしながら最大ブロックサイズに相当す
る空き容量を容易に確保することができるだけのバッフ
ァを用意することはコストの上昇を招き望ましくない。
【0009】通常、圧縮後のデータサイズの変化に対応
し易くするために、最大ブロックサイズよりかなり小さ
なブロックサイズでブロッキングを中止するため、この
サイズに相当する空きエリアが確保できた時に先読みを
実施するとバッファを有効に使用できることになる。例
えば規格でオートブロッキング実施後の最大ブロックサ
イズが、256kバイトと規定されている記録形式で
も、実際には圧縮後のデータサイズの変化、または磁気
テープ媒体のキズなど欠陥を避け易くするために、64
kバイト程度に収まるようにブロッキングするよう書き
込まれている磁気テープがある場合、この磁気テープを
256kバイト容量のバッファを使用して先読み処理を
しようとした場合に、規格上の最大ブロックサイズ相当
の容量が確保できたときのみ先読みを実行するようにす
ると、先読みは実行できなくなってしまう。
し易くするために、最大ブロックサイズよりかなり小さ
なブロックサイズでブロッキングを中止するため、この
サイズに相当する空きエリアが確保できた時に先読みを
実施するとバッファを有効に使用できることになる。例
えば規格でオートブロッキング実施後の最大ブロックサ
イズが、256kバイトと規定されている記録形式で
も、実際には圧縮後のデータサイズの変化、または磁気
テープ媒体のキズなど欠陥を避け易くするために、64
kバイト程度に収まるようにブロッキングするよう書き
込まれている磁気テープがある場合、この磁気テープを
256kバイト容量のバッファを使用して先読み処理を
しようとした場合に、規格上の最大ブロックサイズ相当
の容量が確保できたときのみ先読みを実行するようにす
ると、先読みは実行できなくなってしまう。
【0010】64kバイトの空き容量が確保できたとき
に先読みを実施するように制御することでバッファ内に
4ブロック程度のデータブロックを格納することができ
る。しかし、磁気テープのように媒体交換可能な記憶媒
体の場合、読み出すデータがどのような基準でオートブ
ロッキングして書き込まれたものであるかを知ることは
できず、例えば、メーカーの異なる制御装置で処理され
たものであれば、異なった基準でブロッキングされてい
る可能性があるため、あらかじめ先読み実行の判断基準
として、バッファの空き容量を決定してしまうと、異な
るオートブロッキング条件で、特に想定しているブロッ
クサイズ以上の大きさにブロッキングするように書き込
まれた磁気テープを読み出そうとしたときには、バッフ
ァにデータを格納しきれずに極端に性能が低下する可能
性がある。
に先読みを実施するように制御することでバッファ内に
4ブロック程度のデータブロックを格納することができ
る。しかし、磁気テープのように媒体交換可能な記憶媒
体の場合、読み出すデータがどのような基準でオートブ
ロッキングして書き込まれたものであるかを知ることは
できず、例えば、メーカーの異なる制御装置で処理され
たものであれば、異なった基準でブロッキングされてい
る可能性があるため、あらかじめ先読み実行の判断基準
として、バッファの空き容量を決定してしまうと、異な
るオートブロッキング条件で、特に想定しているブロッ
クサイズ以上の大きさにブロッキングするように書き込
まれた磁気テープを読み出そうとしたときには、バッフ
ァにデータを格納しきれずに極端に性能が低下する可能
性がある。
【0011】本発明は、このように異なるオートブロッ
キング基準で書き込まれたデータを、性能の低下を招く
ことなく読み出せる磁気テープ先読み制御装置を提供す
ることを目的とする。
キング基準で書き込まれたデータを、性能の低下を招く
ことなく読み出せる磁気テープ先読み制御装置を提供す
ることを目的とする。
【0012】
【課題を解決するための手段】本発明の磁気テープ先読
み制御装置は、磁気テープから読み出したデータを一時
記憶するバッファ、先読みの継続か中止かの判断基準と
するバッファの空き容量の初期値を記憶するバッファマ
ージン初期値記憶部、実際に先読みの継続か中止かの判
断に使用するバッファの空き容量の基準値を記憶するバ
ッファマージン記憶部、磁気テープから読み出したデー
タブロックのブロックサイズを算出する手段、読み出し
たデータブロックのうちの最大ブロックサイズを記憶す
る最大ブロックサイズ記憶部、実際に先読みの継続か中
止かの判断に使用するバッファの空き容量の基準値と読
み出したデータブロックのブロックサイズとを比較する
手段、前記比較手段による比較の結果、読み出したデー
タブロックの方が大きいときにカウンタの内容に1を加
え、前記カウンタの値が一定値に達したときに先読みの
継続か中止かの判断に使用するバッファの空き容量の基
準値を読み出したデータブロックの最大ブロックサイズ
に変更する手段、前記比較手段による比較の結果、読み
出したデータブロックの方が小さいときは、読み出した
データブロックと前記バッファマージン初期値記憶部の
内容とを比較し、読み出したデータブロックの方が小さ
い場合に前記カウンタの内容から1を減じ、前記カウン
タの値が0になったときに先読みの継続か中止かの判断
に使用するバッファの空き容量の基準値を初期値に変更
する手段、前記バッファの空き容量を算出する手段、前
記バッファに前記バッファマージン記憶部に記憶されて
いる容量分以上の空き容量があるときには先読みを続行
し、前記バッファに前記バッファマージン記憶部に記憶
されている容量分相当の空き容量がないときには先読み
を中止する手段、磁気テープが交換されたときに、先読
みの継続か中止かの判断に使用するバッファの空き容量
の基準値,読み出したデータブロックの最大ブロックサ
イズ,前記カウンタの計数値を初期化する手段を備えた
ものである。
み制御装置は、磁気テープから読み出したデータを一時
記憶するバッファ、先読みの継続か中止かの判断基準と
するバッファの空き容量の初期値を記憶するバッファマ
ージン初期値記憶部、実際に先読みの継続か中止かの判
断に使用するバッファの空き容量の基準値を記憶するバ
ッファマージン記憶部、磁気テープから読み出したデー
タブロックのブロックサイズを算出する手段、読み出し
たデータブロックのうちの最大ブロックサイズを記憶す
る最大ブロックサイズ記憶部、実際に先読みの継続か中
止かの判断に使用するバッファの空き容量の基準値と読
み出したデータブロックのブロックサイズとを比較する
手段、前記比較手段による比較の結果、読み出したデー
タブロックの方が大きいときにカウンタの内容に1を加
え、前記カウンタの値が一定値に達したときに先読みの
継続か中止かの判断に使用するバッファの空き容量の基
準値を読み出したデータブロックの最大ブロックサイズ
に変更する手段、前記比較手段による比較の結果、読み
出したデータブロックの方が小さいときは、読み出した
データブロックと前記バッファマージン初期値記憶部の
内容とを比較し、読み出したデータブロックの方が小さ
い場合に前記カウンタの内容から1を減じ、前記カウン
タの値が0になったときに先読みの継続か中止かの判断
に使用するバッファの空き容量の基準値を初期値に変更
する手段、前記バッファの空き容量を算出する手段、前
記バッファに前記バッファマージン記憶部に記憶されて
いる容量分以上の空き容量があるときには先読みを続行
し、前記バッファに前記バッファマージン記憶部に記憶
されている容量分相当の空き容量がないときには先読み
を中止する手段、磁気テープが交換されたときに、先読
みの継続か中止かの判断に使用するバッファの空き容量
の基準値,読み出したデータブロックの最大ブロックサ
イズ,前記カウンタの計数値を初期化する手段を備えた
ものである。
【0013】
【実施例】以下、本発明の実施例を図面を用いて説明す
る。図1は本発明の一実施例を示すブロック図である。
図において、1は本発明の磁気テープ先読み制御装置、
2は磁気テープ装置、11は磁気テープ装置2からの読
み出しデータ格納用のバッファ、12は上位装置との間
のデータ転送などを制御する入出力制御部、13は磁気
テープ装置2との間のデータ転送,エラー訂正,D/A
変換などを行うリード/ライト制御部、14はマイクロ
プログラム処理部で、このマイクロプログラム処理部1
4で入出力制御部12,リード/ライト制御部13など
の動作制御やバッファ11のアドレス設定が行われる。
る。図1は本発明の一実施例を示すブロック図である。
図において、1は本発明の磁気テープ先読み制御装置、
2は磁気テープ装置、11は磁気テープ装置2からの読
み出しデータ格納用のバッファ、12は上位装置との間
のデータ転送などを制御する入出力制御部、13は磁気
テープ装置2との間のデータ転送,エラー訂正,D/A
変換などを行うリード/ライト制御部、14はマイクロ
プログラム処理部で、このマイクロプログラム処理部1
4で入出力制御部12,リード/ライト制御部13など
の動作制御やバッファ11のアドレス設定が行われる。
【0014】15は先読みの継続か中止かの判断基準と
するバッファの空き容量の初期値を記憶するバッファマ
ージン初期値記憶部で、このバッファマージン初期値記
憶部15には常時固定値が記憶されている。16はバッ
ファマージン記憶部で、実際に先読みの継続か中止かの
判断に使用するバッファの空き容量の基準値を記憶す
る。17は読み出したデータブロックのうちの最大ブロ
ックサイズを記憶する最大ブロックサイズ記憶部、18
はカウンタである。なお、バッファマージン初期値記憶
部15,バッファマージン記憶部16,最大ブロックサ
イズ記憶部17,カウンタ18は、マイクロプログラム
処理部14からアクセス可能なメモリで構成されてい
る。
するバッファの空き容量の初期値を記憶するバッファマ
ージン初期値記憶部で、このバッファマージン初期値記
憶部15には常時固定値が記憶されている。16はバッ
ファマージン記憶部で、実際に先読みの継続か中止かの
判断に使用するバッファの空き容量の基準値を記憶す
る。17は読み出したデータブロックのうちの最大ブロ
ックサイズを記憶する最大ブロックサイズ記憶部、18
はカウンタである。なお、バッファマージン初期値記憶
部15,バッファマージン記憶部16,最大ブロックサ
イズ記憶部17,カウンタ18は、マイクロプログラム
処理部14からアクセス可能なメモリで構成されてい
る。
【0015】また、磁気テープから読み出されたデータ
ブロックのブロックサイズの算出も、格納開始アドレス
と最終アドレスとから、マイクロプログラム処理部14
が算出し、算出されたブロックサイズとバッファマージ
ン記憶部16の内容とを比較したり、各記憶部の内容の
変更などは、すべてマイクロプログラム処理部14のマ
イクロプログラムによって実行される。
ブロックのブロックサイズの算出も、格納開始アドレス
と最終アドレスとから、マイクロプログラム処理部14
が算出し、算出されたブロックサイズとバッファマージ
ン記憶部16の内容とを比較したり、各記憶部の内容の
変更などは、すべてマイクロプログラム処理部14のマ
イクロプログラムによって実行される。
【0016】磁気テープ先読み制御装置1では、上位装
置側処理と磁気テープ装置側の処理は独立して非同期で
処理される。上位装置から発行された読み出し命令に対
し、バッファ11に、すでに先読みによってデータが格
納されていれば、磁気テープ先読み制御装置1は、バッ
ファ11内のデータを入出力制御部12を経由して転送
し、上位装置からの読み出し命令の処理を終了する。バ
ッファ11内に先読みによる有効なデータが格納されて
いない場合は、マイクロプログラム処理部14は、磁気
テープ装置2からデータを読み出し、リード/ライト制
御部13を経由してバッファ11に当該データを格納す
る。さらに、マイクロプログラム処理部14は先読みを
続行するか中止するかの判断を行い、継続して先読みを
行う場合には同様にして順次磁気テープ装置2からバッ
ファ11内にデータを格納する。
置側処理と磁気テープ装置側の処理は独立して非同期で
処理される。上位装置から発行された読み出し命令に対
し、バッファ11に、すでに先読みによってデータが格
納されていれば、磁気テープ先読み制御装置1は、バッ
ファ11内のデータを入出力制御部12を経由して転送
し、上位装置からの読み出し命令の処理を終了する。バ
ッファ11内に先読みによる有効なデータが格納されて
いない場合は、マイクロプログラム処理部14は、磁気
テープ装置2からデータを読み出し、リード/ライト制
御部13を経由してバッファ11に当該データを格納す
る。さらに、マイクロプログラム処理部14は先読みを
続行するか中止するかの判断を行い、継続して先読みを
行う場合には同様にして順次磁気テープ装置2からバッ
ファ11内にデータを格納する。
【0017】図2,図3は、磁気テープ装置2からバッ
ファ11へのデータの格納の際、先読みを継続するか中
止するかの判断処理動作を示すフローチャートである。
以下、これらのフローチャートを参照しながら実施例の
動作について説明する。なお、図2にはステップ201
〜ステップ208までの動作フローチャートを示し、図
3にはステップ209〜ステップ214までの動作フロ
ーチャートを示す。上位装置からの読み出し命令を受け
たとき、バッファ11内に先読みデータが格納されてい
なければ、磁気テープ装置2からのデータの読み込みを
開始する(ステップ201)。なお、本実施例では上述
のように、上位装置からの命令と磁気テープ装置2側の
処理とは非同期で行われており、図2のフローチャート
中には示されていないが、磁気テープ装置2からのデー
タをバッファ11に格納すると、上位装置側ではそれを
検出して、バッファ11内のデータを上位装置に転送
し、読み出し命令の処理を終える。
ファ11へのデータの格納の際、先読みを継続するか中
止するかの判断処理動作を示すフローチャートである。
以下、これらのフローチャートを参照しながら実施例の
動作について説明する。なお、図2にはステップ201
〜ステップ208までの動作フローチャートを示し、図
3にはステップ209〜ステップ214までの動作フロ
ーチャートを示す。上位装置からの読み出し命令を受け
たとき、バッファ11内に先読みデータが格納されてい
なければ、磁気テープ装置2からのデータの読み込みを
開始する(ステップ201)。なお、本実施例では上述
のように、上位装置からの命令と磁気テープ装置2側の
処理とは非同期で行われており、図2のフローチャート
中には示されていないが、磁気テープ装置2からのデー
タをバッファ11に格納すると、上位装置側ではそれを
検出して、バッファ11内のデータを上位装置に転送
し、読み出し命令の処理を終える。
【0018】磁気テープ装置2からバッファ11へのデ
ータの格納を終えると、マイクロプログラム処理部14
はバッファ11内の先頭アドレスと最終アドレスの差か
ら、読み出したデータブロックの大きさを算出する(ス
テップ202)。そして、この算出されたブロックサイ
ズと最大ブロックサイズ記憶部17の内容とがマイクロ
プログラム処理部14で比較され(ステップ203)、
磁気テープ装置2から読み出したデータブロックの方が
大きければ、このブロックサイズを最大ブロックサイズ
記憶部17に格納する(ステップ204)。
ータの格納を終えると、マイクロプログラム処理部14
はバッファ11内の先頭アドレスと最終アドレスの差か
ら、読み出したデータブロックの大きさを算出する(ス
テップ202)。そして、この算出されたブロックサイ
ズと最大ブロックサイズ記憶部17の内容とがマイクロ
プログラム処理部14で比較され(ステップ203)、
磁気テープ装置2から読み出したデータブロックの方が
大きければ、このブロックサイズを最大ブロックサイズ
記憶部17に格納する(ステップ204)。
【0019】次に、読み出したデータブロックの大きさ
とバッファマージン記憶部16の内容とが比較され(ス
テップ205)、読み出したデータブロックの大きさの
方がバッファマージン記憶部16の内容よりも大きい場
合には、カウンタ18の内容に1を加算する(ステップ
206)。この加算の結果、カウンタ18の内容が一定
値に達した場合(本実施例では4の倍数に達したとき
に)(ステップ207)、バッファマージン記憶部16
に最大ブロックサイズ記憶部17の内容をコピーする
(ステップ208)。以上のようなステップ205〜2
08の処理によって、初期状態で設定されているバッフ
ァマージン記憶部16の内容は、これを越える大きさの
ブロックを処理することにより、大きな値に変更され
る。
とバッファマージン記憶部16の内容とが比較され(ス
テップ205)、読み出したデータブロックの大きさの
方がバッファマージン記憶部16の内容よりも大きい場
合には、カウンタ18の内容に1を加算する(ステップ
206)。この加算の結果、カウンタ18の内容が一定
値に達した場合(本実施例では4の倍数に達したとき
に)(ステップ207)、バッファマージン記憶部16
に最大ブロックサイズ記憶部17の内容をコピーする
(ステップ208)。以上のようなステップ205〜2
08の処理によって、初期状態で設定されているバッフ
ァマージン記憶部16の内容は、これを越える大きさの
ブロックを処理することにより、大きな値に変更され
る。
【0020】また、読み出したデータブロックの大きさ
とバッファマージン記憶部16の内容とを比較した結果
(ステップ205)、読み出したデータブロックがバッ
ファマージン記憶部16の内容より小さかった場合に
は、図3のステップ209に移り、カウンタ18の値が
0であるか否かを調べる。そして、カウンタ18の値が
0でなければバッファマージン記憶部16の内容は初期
値よりも大きな値に変更されている可能性があるため、
再度初期値に戻す必要があるか否かを調べるため以下の
処理を行う。
とバッファマージン記憶部16の内容とを比較した結果
(ステップ205)、読み出したデータブロックがバッ
ファマージン記憶部16の内容より小さかった場合に
は、図3のステップ209に移り、カウンタ18の値が
0であるか否かを調べる。そして、カウンタ18の値が
0でなければバッファマージン記憶部16の内容は初期
値よりも大きな値に変更されている可能性があるため、
再度初期値に戻す必要があるか否かを調べるため以下の
処理を行う。
【0021】すなわち、読み出したデータブロックの大
きさとバッファマージン初期値記憶部15の内容とを比
較し(ステップ210)、読み出したデータブロックの
方がバッファマージン初期値よりも小さかった場合には
カウンタ18の内容から1を減ずる(ステップ21
1)。この減算の結果、カウンタ18の値が0になった
場合には(ステップ212)、圧縮率などの一時的な変
動の結果バッファマージン初期値を越える大きさのデー
タブロックが書き込まれたものとみなし、バッファマー
ジン記憶部16にバッファマージン初期値記憶部15の
内容をコピーする(ステップ213)。
きさとバッファマージン初期値記憶部15の内容とを比
較し(ステップ210)、読み出したデータブロックの
方がバッファマージン初期値よりも小さかった場合には
カウンタ18の内容から1を減ずる(ステップ21
1)。この減算の結果、カウンタ18の値が0になった
場合には(ステップ212)、圧縮率などの一時的な変
動の結果バッファマージン初期値を越える大きさのデー
タブロックが書き込まれたものとみなし、バッファマー
ジン記憶部16にバッファマージン初期値記憶部15の
内容をコピーする(ステップ213)。
【0022】そして、マイクロプログラム処理部14
は、バッファ11のデータが格納されている最終アドレ
スと有効なデータの先頭のアドレスとから空き容量を算
出し、この空き容量がバッファマージン記憶部16に記
憶されている容量分以上あるか否かを判断する(ステッ
プ214)。そして、この判断でバッファマージン記憶
部16の内容以上の空き容量がある時には先読みを続行
し、また、バッファマージン記憶部16の内容相当の空
きエリアがない場合には先読みを中止し、磁気テープ装
置2の動作を停止させる。また、磁気テープ装置2から
磁気テープがアンロード/ロードされたことを通知され
た時、マイクロプログラム処理部14はバッファマージ
ン記憶部16にバッファマージン初期値記憶部15の内
容をコピーし、最大プロックサイズ記憶部17,カウン
タ18の内容を、0に設定する。
は、バッファ11のデータが格納されている最終アドレ
スと有効なデータの先頭のアドレスとから空き容量を算
出し、この空き容量がバッファマージン記憶部16に記
憶されている容量分以上あるか否かを判断する(ステッ
プ214)。そして、この判断でバッファマージン記憶
部16の内容以上の空き容量がある時には先読みを続行
し、また、バッファマージン記憶部16の内容相当の空
きエリアがない場合には先読みを中止し、磁気テープ装
置2の動作を停止させる。また、磁気テープ装置2から
磁気テープがアンロード/ロードされたことを通知され
た時、マイクロプログラム処理部14はバッファマージ
ン記憶部16にバッファマージン初期値記憶部15の内
容をコピーし、最大プロックサイズ記憶部17,カウン
タ18の内容を、0に設定する。
【0023】
【発明の効果】以上説明したように本発明の磁気テープ
先読み制御装置は、処理対象となる磁気テープ媒体毎
に、その磁気テープに書き込まれているブロックサイズ
の大きさの傾向を調べ、初期状態で用意されている基準
値を越えるブロックサイズが連続する場合には、そのブ
ロックサイズに合わせて先読みを行うか停止させるかの
判断に使用するバッファの空き容量の基準値を大きな値
に変更することができ、初期状態で基準としているブロ
ックサイズを越える大きさにブロッキングされている場
合でも、バッファ内にデータを格納できずに、再位置付
け、再読み出しを繰り返すことのないように、事前に先
読みを停止させることができるため、バッファ容量の拡
張などコスト上昇を招くことなく、性能の低下を防ぐこ
とができる。
先読み制御装置は、処理対象となる磁気テープ媒体毎
に、その磁気テープに書き込まれているブロックサイズ
の大きさの傾向を調べ、初期状態で用意されている基準
値を越えるブロックサイズが連続する場合には、そのブ
ロックサイズに合わせて先読みを行うか停止させるかの
判断に使用するバッファの空き容量の基準値を大きな値
に変更することができ、初期状態で基準としているブロ
ックサイズを越える大きさにブロッキングされている場
合でも、バッファ内にデータを格納できずに、再位置付
け、再読み出しを繰り返すことのないように、事前に先
読みを停止させることができるため、バッファ容量の拡
張などコスト上昇を招くことなく、性能の低下を防ぐこ
とができる。
【0024】また、データの書き込み時に、初期状態で
基準としている程度の比較的小さなブロックサイズに構
成するように制御されていても、圧縮率の大幅な変化に
よりこれを越える大きなブロックに構成されて書き込ま
れることもあり得るが、このような磁気テープを読み出
すときでも、直ちに先読みを停止させる基準を変更する
わけではないので、部分的なブロックサイズの変化でバ
ッファの使用効率を低下させることはない。
基準としている程度の比較的小さなブロックサイズに構
成するように制御されていても、圧縮率の大幅な変化に
よりこれを越える大きなブロックに構成されて書き込ま
れることもあり得るが、このような磁気テープを読み出
すときでも、直ちに先読みを停止させる基準を変更する
わけではないので、部分的なブロックサイズの変化でバ
ッファの使用効率を低下させることはない。
【0025】また、仮に大きなブロックが連続して書き
込まれていたためにバッファに大きな空き容量を残して
先読みを停止するように制御基準が変化しても、その後
初期状態で用意されている基準値以下のサイズのブロッ
クを読み出すことで、再び先読み時に確保する空き容量
の基準を初期状態に戻すため、バッファの使用率を低下
させずに処理することができる。
込まれていたためにバッファに大きな空き容量を残して
先読みを停止するように制御基準が変化しても、その後
初期状態で用意されている基準値以下のサイズのブロッ
クを読み出すことで、再び先読み時に確保する空き容量
の基準を初期状態に戻すため、バッファの使用率を低下
させずに処理することができる。
【0026】さらに、データ圧縮,オートブロッキング
処理を施されたデータのプロックサイズは、書き込みを
行った制御装置のブロッキング基準に依存する割合が高
いため、磁気テープが交換されたときに先読みを停止さ
せる基準となる空き容量などを初期化することで、異な
る処理装置で書き込まれた可能性のある他の磁気テープ
に対しては始めからそれまでの経過に影響されずに処理
することができる等の効果がある。
処理を施されたデータのプロックサイズは、書き込みを
行った制御装置のブロッキング基準に依存する割合が高
いため、磁気テープが交換されたときに先読みを停止さ
せる基準となる空き容量などを初期化することで、異な
る処理装置で書き込まれた可能性のある他の磁気テープ
に対しては始めからそれまでの経過に影響されずに処理
することができる等の効果がある。
【図1】本発明の一実施例を示すブロック図である。
【図2】データの格納の際の先読みを継続するか中止す
るかの判断処理の動作の1を示すフローチャートであ
る。
るかの判断処理の動作の1を示すフローチャートであ
る。
【図3】データの格納の際の先読みを継続するか中止す
るかの判断処理の動作の2を示すフローチャートであ
る。
るかの判断処理の動作の2を示すフローチャートであ
る。
1 磁気テープ先読み制御装置 2 磁気テープ装置 11 バッファ 12 入出力制御部 13 リード/ライト制御部 14 マイクロプログラム処理部 15 バッファマージン初期値記憶部 16 バッファマージン記憶部 17 最大ブロックサイズ記憶部 18 カウンタ
Claims (3)
- 【請求項1】 磁気テープ装置の先読みを制御する磁気
テープ先読み制御装置において、 磁気テープ装置から読み出したデータを一時記憶するバ
ッファ、 先読みの継続か中止かの判断基準とする前記バッファの
空き容量の初期値を記憶するバッファマージン初期値記
憶部、 実際に先読みの継続か中止かの判断に使用する前記バッ
ファの空き容量の基準値を記憶するバッファマージン記
憶部、 前記磁気テープ装置から読み出したデータブロックのブ
ロックサイズを算出する手段、 読み出したデータブロックのうちの最大ブロックサイズ
を記憶する最大ブロックサイズ記憶部、 実際に先読みの継続か中止かの判断に使用する前記バッ
ファの空き容量の基準値と読み出したデータブロックの
ブロックサイズとを比較する比較手段、 前記比較手段による比較の結果、読み出したデータブロ
ックの方が大きいときは前記カウンタの内容に1を加
え、前記カウンタの値が一定値に達したときに先読みの
継続か中止かの判断に使用する前記バッファの空き容量
の基準値を、読み出したデータブロックの最大ブロック
サイズに変更する手段、 前記バッファの空き容量を算出する手段、 前記バッファに前記バッファマージン記憶部に記憶され
ている容量分以上の空き容量があるときには先読みを続
行し、前記バッファに前記バッファマージン記憶部に記
憶されている容量分相当の空き容量がないときには先読
みを中止する手段、 を備えたことを特徴とする磁気テープ先読み制御装置。 - 【請求項2】 先読みの継続か中止かの判断に使用する
前記バッファの空き容量の基準値と読み出したデータブ
ロックのブロックサイズとを比較した結果、読み出した
データブロックの方が小さいときは、読み出したデータ
ブロックと前記バッファマージン初期値記憶部の内容と
を比較し、読み出したデータブロックの方が小さい場合
に前記カウンタの内容から1を減じ、前記カウンタの値
が0になったとき先読みの継続か中止かの判断に使用す
る前記バッファの空き容量の基準値を初期値に変更する
手段、 を備えたことを特徴とする請求項第1項記載の磁気テー
プ先読み制御装置。 - 【請求項3】 前記磁気テープが交換されたとき、先読
みの継続か中止かの判断に使用する前記バッファの空き
容量の基準値、読み出したデータブロックの最大ブロッ
クサイズ、及び前記カウンタの計数値を初期化する手
段、 を備えたことを特徴とする請求項第1項または第2項記
載の磁気テープ先読み制御装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5275988A JP2576775B2 (ja) | 1993-10-08 | 1993-10-08 | 磁気テープ先読み制御装置 |
| US08/319,728 US5608875A (en) | 1993-10-08 | 1994-10-07 | Pre-read control method for magnetic tape and apparatus for performing the same |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5275988A JP2576775B2 (ja) | 1993-10-08 | 1993-10-08 | 磁気テープ先読み制御装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07105084A true JPH07105084A (ja) | 1995-04-21 |
| JP2576775B2 JP2576775B2 (ja) | 1997-01-29 |
Family
ID=17563213
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5275988A Expired - Fee Related JP2576775B2 (ja) | 1993-10-08 | 1993-10-08 | 磁気テープ先読み制御装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5608875A (ja) |
| JP (1) | JP2576775B2 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011086207A (ja) * | 2009-10-16 | 2011-04-28 | Canon Inc | 情報処理装置、情報処理方法、およびコンピュータプログラム |
| JP2012190415A (ja) * | 2011-03-14 | 2012-10-04 | Toshiba Corp | バッファ管理装置、バッファ管理方法及び記憶装置 |
| US8700860B2 (en) | 2009-10-16 | 2014-04-15 | Canon Kabushiki Kaisha | Information processing apparatus, method and computer program |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001142652A (ja) * | 1999-11-17 | 2001-05-25 | Matsushita Electric Ind Co Ltd | データのキャッシュ方法 |
| US6779057B2 (en) | 2001-04-18 | 2004-08-17 | International Business Machines Corporation | Method, system, and program for indicating data transmitted to an input/output device as committed |
| US7337262B2 (en) * | 2005-05-02 | 2008-02-26 | International Business Machines Corporation | Adaptive read ahead method of data recorded on a sequential media readable via a variable data block size storage device |
| US8533427B2 (en) | 2010-05-06 | 2013-09-10 | International Business Machines Corporation | Mapping locations of logical volume records on a physical stacked volume |
| US9336149B2 (en) * | 2010-05-06 | 2016-05-10 | International Business Machines Corporation | Partial volume access in a physical stacked volume |
| US8656094B2 (en) * | 2010-05-06 | 2014-02-18 | International Business Machines Corporation | Locating host data records on a physical stacked volume |
| US8639870B2 (en) * | 2011-01-14 | 2014-01-28 | Oracle International Corporation | String searching within peripheral storage devices |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3772657A (en) * | 1971-11-30 | 1973-11-13 | Mi2 Inc Columbus | Magnetic tape data handling system employing dual data block buffers |
| US3836891A (en) * | 1973-07-05 | 1974-09-17 | Bendix Corp | Tape reader system with buffer memory |
| US5327535A (en) * | 1991-08-29 | 1994-07-05 | Hitachi, Ltd. | Magnetic recording control apparatus |
-
1993
- 1993-10-08 JP JP5275988A patent/JP2576775B2/ja not_active Expired - Fee Related
-
1994
- 1994-10-07 US US08/319,728 patent/US5608875A/en not_active Expired - Lifetime
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011086207A (ja) * | 2009-10-16 | 2011-04-28 | Canon Inc | 情報処理装置、情報処理方法、およびコンピュータプログラム |
| US8700860B2 (en) | 2009-10-16 | 2014-04-15 | Canon Kabushiki Kaisha | Information processing apparatus, method and computer program |
| JP2012190415A (ja) * | 2011-03-14 | 2012-10-04 | Toshiba Corp | バッファ管理装置、バッファ管理方法及び記憶装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5608875A (en) | 1997-03-04 |
| JP2576775B2 (ja) | 1997-01-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4433374A (en) | Cache/disk subsystem with cache bypass | |
| JPH05173719A (ja) | データ記憶方法 | |
| JPH03109635A (ja) | オンライン中のダンプ方式およびディスクサブシステム | |
| JP2576775B2 (ja) | 磁気テープ先読み制御装置 | |
| JPH08212015A (ja) | ドライブ装置 | |
| JP3566319B2 (ja) | 情報記憶装置 | |
| JPH05189157A (ja) | ディスク型記憶装置 | |
| US6088818A (en) | Data read apparatus and data read method | |
| JPH11212733A (ja) | 外部記憶システム | |
| JP2000030419A (ja) | 記録媒体制御装置および方法、並びにアクセス制御装置 | |
| JP3498651B2 (ja) | ディスク制御装置、ディスク装置、ディスク制御システム、リトライ回数制御方法、および記録媒体 | |
| JPH04251421A (ja) | ディスク・ドライブのヘッド/アームの径方向移動回数を低減する方法 | |
| JPH03102443A (ja) | データ先読み制御方式 | |
| JP2785451B2 (ja) | 記憶制御方法および装置 | |
| JPH11212729A (ja) | 二重化ディスク装置 | |
| JPH01171045A (ja) | 外部記憶装置制御方式 | |
| JP3022011B2 (ja) | データバックアップシステム | |
| JP2848099B2 (ja) | 多重ドライブ制御方式 | |
| JPH0934782A (ja) | 情報記憶装置 | |
| JPH04111015A (ja) | 情報記録装置 | |
| JP2839545B2 (ja) | データアクセス方式 | |
| JPH03246616A (ja) | Fat管理された外部記憶装置 | |
| KR100403043B1 (ko) | 하드디스크드라이브의데이터라이트개선장치 | |
| JP2973474B2 (ja) | 光磁気ディスク装置 | |
| JPH01256013A (ja) | 磁気テープ装置制御方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071107 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081107 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081107 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091107 Year of fee payment: 13 |
|
| LAPS | Cancellation because of no payment of annual fees |