JP4848419B2 - 読み出しエラーを処理する読出装置、システム、その方法及びプログラム - Google Patents

読み出しエラーを処理する読出装置、システム、その方法及びプログラム Download PDF

Info

Publication number
JP4848419B2
JP4848419B2 JP2008503831A JP2008503831A JP4848419B2 JP 4848419 B2 JP4848419 B2 JP 4848419B2 JP 2008503831 A JP2008503831 A JP 2008503831A JP 2008503831 A JP2008503831 A JP 2008503831A JP 4848419 B2 JP4848419 B2 JP 4848419B2
Authority
JP
Japan
Prior art keywords
data
unit
error
tape
reading
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
JP2008503831A
Other languages
English (en)
Other versions
JPWO2007102434A1 (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 JP2008503831A priority Critical patent/JP4848419B2/ja
Publication of JPWO2007102434A1 publication Critical patent/JPWO2007102434A1/ja
Application granted granted Critical
Publication of JP4848419B2 publication Critical patent/JP4848419B2/ja
Expired - Fee Related 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
    • 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
    • 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/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1883Methods for assignment of alternate areas for defective areas
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/36Monitoring, i.e. supervising the progress of recording or reproducing
    • 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)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ホストコンピュータに接続されたテープ読出装置において回復不能な読み出しエラーが起こった場合に、迅速かつ適切にデータの読み出しを続けるための技術に関する。
デジタルデータを磁気テープから読み出すテープドライブにおいて、磁気テープに記録されたデータの一部が何らかの理由で読み出し不能となることがある。回復不能な読み出しエラーが起こった場合、従来のテープドライブはホストコンピュータに読み出しエラーを報告し、そこで一旦読み出しを終了する。データの読み出しを続けるためには、ホストコンピュータのアプリケーションは、エラーが起こった部分を避けその後方よりデータを読み出す必要がある。
ところで、ホストコンピュータは、ホストコンピュータからみたデータの最小単位であるレコードと1まとまりのレコードの境界を示すファイルマークとをいくつ読み込んだかでデータの読出し位置を管理する。一方、テープドライブは、ホストコンピュータとは異なるデータユニット単位でデータを磁気テープに記録する。そのため、データユニットには複数のレコード及びファイルマークが含まれることになる。しかし、レコードの長さは必ずしも一定とは限らない。またテープドライブはホストコンピュータから受け取ったデータを圧縮した後記録することも多い。そのため、データユニットが何らかの理由で読み出せない場合、ホストコンピュータはそこに含まれるレコードの数及びファイルマークの数を知ることができない。
そこで、ホストコンピュータはエラーが起こった部分を避けるために、1)小刻みに読み出し位置を前に進め、その都度データを読み出すことができるかどうか試す、もしくは2)十分に離れた位置まで読み出し位置を移動し、読み出しを開始する、このいずれかを行わなければならない。しかし1)の方法では、何度もリトライが必要になり読出しに時間がかかる。一方2)の方法では、本来読み出し可能であったデータまでも捨ててしまうことになる。
回復不能な読み出しエラーが起こった場合に、ホストコンピュータに次に読み出し可能なデータ位置を伝達する従来技術として、例えば特許文献1がある。特許文献1は、グループ単位でデータを扱ってテープを介して記録/再生を行うAdvanced Intelligent Tape(AIT)規格に準拠したテープドライブ装置と、該テープドライブ装置を制御するホストシステムを対象とする。そして、特許文献1は、グループ単位のデータをホストシステムの最小処理単位であるセクタ単位に分配するにあたりグループの先頭とセクタの先頭を一致させることにより、再生エラー発生時には、グループの先頭のレコード番号とグループを構成するフレーム毎のエラー情報とをテープドライブ装置からホストシステムに返すだけで、ホストシステム側でエラーのあるセクタを計算できるようにする技術を開示する。
特許公開公報2002−251843号(第4―5頁、第8頁)
しかしながら、特許文献1の技術は、磁気テープ上に記録されたデータの長さがホストコンピュータで扱われるデータ長に換算可能であることを前提とする技術である。そのため、ホストコンピュータからみたデータの最小単位であるレコードの長さが可変であるという場合や、テープドライブがホストコンピュータからのデータを圧縮した後磁気テープに記録する場合には、特許文献1の技術を用いることはできず、ホストコンピュータにおいて次に読み出し可能な位置を迅速かつ適切に見つけることは依然として困難である。
そこで本発明は、上記の課題を解決することができるテープ読出装置、システム、方法及びプログラムを提供することを目的とする。
上記の目的を達成する本発明は、次のようなテープ媒体からのデータ読み出しエラーを処理するテープ読出装置によって実現される。
このテープ読出装置は、テープ媒体からデータ読み出し単位であるデータユニットごとデータを読み出すデータ読出部と、ホストコンピュータからのコマンドに従って、データ読出部によるデータの読み出しを制御し、データユニットの読み出しにおいてエラーが起こった場合に、エラーが起こったデータユニットを読み飛ばして次に読み出し可能なエラー直後のデータユニットを読み出すよう制御する読出制御部と、エラーが起こる直前に読み出されたエラー直前のデータユニットに含まれるレコード及び1まとまりのレコードの境界を示す境界マークに関する情報と、エラー直後のデータユニットに含まれるレコード及び境界マークに関する情報とから、エラーが起こったデータユニットに含まれるレコードの数及び境界マークの数を計算する計算部と、計算されたレコードの数及び計算された境界マークの数に関する数情報をホストコンピュータへ送信する通信部とを備える。
好適には、エラー直前のデータユニットに含まれるレコード及び境界マークに関する情報は、エラー直前のデータユニットに含まれるレコード及び境界マークの各数と、テープ媒体の先頭から数えたエラー直前のデータユニットの1つ前のデータユニットまでのレコード及び境界マークの各数である。また、エラー直後のデータユニットに含まれるレコード及び境界マークに関する情報は、テープ媒体の先頭から数えたエラーが起こったデータユニットまでのレコード及び境界マークの各数である。
この場合、テープ媒体の先頭から数えたエラーが起こったデータユニットまでのレコードの数からテープ媒体の先頭から数えたエラー直前のデータユニットの1つ前のデータユニットまでのレコード数を引いた値を求める。そして、この値から更にエラー直前のデータユニットに含まれるレコード数を引くと、エラーが検出されたデータユニットに含まれるレコードの数が求まる。境界マークの数も同様にして求めることができる。
更に好適には、上記テープ媒体及び上記テープ読出装置がLinear Tape Open(LTO)規格に準拠する。そして、エラー直前のデータユニットに含まれるレコード及び境界マークに関する情報は、エラー直前のデータユニットに含まれるデータユニットの内容を記載するData Set Information Table(DSIT)から取得する。また、エラー直後のデータユニットに含まれるレコード及び境界マークに関する情報は、エラー直後のデータユニットに含まれるDSITから取得する。
また好適には、上記テープ読出装置は、計算されたレコードの数分のダミーレコード及び計算された境界マークの数分の境界マークを生成する生成部を更に含み、上記通信部は、数情報として、生成されたダミーレコード及び境界マークをホストコンピュータへ送る。
更に好適には、上記生成部は、ホストコンピュータからテープ読出装置に対して発行されるコマンドにおいて指示された読み出しデータの長さをダミーレコードの長さとして、ダミーレコードを生成する。または、上記テープ読出装置は、ダミーレコードの長さを0とする0バイトブロックモードを設定可能であり、0バイトブロックモードが設定されている場合、上記生成部は、長さが0のダミーレコードを生成する。
また更に好適には、上記通信部はSmall Computer System Interface(SCSI)プロトコルに従ってホストコンピュータと通信する。そして、上記生成部は、Readコマンドに含まれるFixedBit、Suppress Incorrect Length Indicator(SILI)Bit及びTransferLength、並びにModeSelectコマンドと共に事前にホストコンピュータから送られるBlockDescriptorに含まれるBlockLengthに基づいてダミーレコードの長さを決定し、ダミーレコードを生成する。
また好適には、上記通信部は、データがダミーであることを示すダミー情報と共にダミーレコード及び境界マークをホストコンピュータへ送る。更に好適には、上記通信部はSCSIプロトコルに従ってホストコンピュータと通信する。そして、上記通信部は、エラーが起こったことを知らせるためのCheckCondition及びエラーの内容を知らせるための、SenseKeyにMediumErrorがセットされたSenseDataをホストコンピュータへ送る。
また好適には、テープ読出装置は、読み出しエラーが起こった場合に読み出しエラーを返すだけのノーマル・オペレーション・モードと、読み出しエラーが起こった場合に読み出しエラーが起こった部分に含まれるレコードの数および境界マークの数に関する数情報を返すレスキュー・モードのいずれかを設定可能である。また、上記ホストコンピュータは、テープ読出装置から受け取ったレコードの数と境界マークとの数とによってデータ位置を認識する。
また、上記の目的を達成する本発明は、テープ読出装置とテープ読出装置に接続されたホストコンピュータとを含む、次のようなテープ媒体からのデータ読み出しエラーを処理するシステムによって実現される。
このテープ読出装置は、ホストコンピュータからデータ読出しコマンドを受け取る受信部と、上述したテープ読出装置の読出部、読出制御部、計算部、生成部及び送信部(上述した通信部の一部)とを備える。
また、このホストコンピュータは、データ読出しコマンドをテープ読出装置に送信する送信部と、
計算されたレコードの数及び計算された境界マークの数に関する数情報を受信する受信部と、数情報に基づいて、データの読出し位置を判断する判断部とを備える。テープ読出装置から、データがダミーであることを示すダミー情報と共に、数情報として生成されたダミーレコード及び境界マークが送られる場合、判断部は、ダミー情報に基づいて、受信したダミーレコード及び境界マークがダミーであるかどうかを判断してデータの読出し位置を判断する。
あるいは、テープ読出装置は、ホストコンピュータからデータ読出しコマンドを受け取る受信部と、上述したテープ読出装置の読出部、読出制御部、読出部により読み出されたデータユニットを格納するバッファ及びバッファから、エラーが起こる直前に読み出されたエラー直前のデータユニットに含まれるレコード及び1まとまりのレコードの境界を示す境界マークに関する第1情報と、エラー直後のデータユニットに含まれるレコード及び境界マークに関する第2情報とを取り出しホストコンピュータへ送信する送信部(上述した通信部の一部)とを備える。
そして、ホストコンピュータは、 データ読出しコマンドをテープ読出装置に送信する送信部と、
第1情報及び第2情報を受信する受信部と、第1情報及び第2情報に基づいて、エラーが起こったデータユニットに含まれるレコードの数及び境界マークの数を計算してデータの読出し位置を判断する判断部とを備える。
以上、テープ媒体からのデータ読み出しエラーを処理するテープ読出装置及びテープ媒体からのデータ読み出しエラーを処理するシステムとして本発明を説明したが、本発明は、方法、プログラムまたはプログラムを格納した記憶媒体として把握することもできる。
本発明によれば、ホストコンピュータがテープ媒体に書き込むレコードの長さが一定とは限らず、また、データ圧縮後にデータがテープ媒体に記録される場合でも、テープ媒体からのデータ読み出しにおいて回復不能な読出しエラーが起こった場合に、ホストコンピュータにおいて、読出しエラーが起こったテープ媒体上のデータユニット内にどの程度のデータが含まれていたかを容易にかつ適切に推測することができる。
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、実施の形態の説明の全体を通じて同じ要素には同じ番号を付している。
図1は、本発明の一実施形態に係るテープ媒体からのデータ読み出しエラーを処理するシステム10の構成の一例を示す。本実施形態に係るテープ媒体からのデータ読み出しエラーを処理するシステム10は、ホストコンピュータ400からの読出しコマンドに応じてテープ読出装置100がテープ媒体200からデータを読み出す際に回復不能の読出しエラーが起こったとしても、エラーが起こったテープ媒体200上の一部分にどの程度のデータが含まれていたかをホストコンピュータ400が推測できるようにすることを目的とする。
読み出しエラーを処理するシステム10は、テープ媒体200からデータを読み出すテープ読出装置100と、テープ読出装置100に接続されたホストコンピュータ400とを備える。テープ読出装置100とホストコンピュータ400とは、SCSIインターフェース、LAN(Local Area Network)等のネットワーク300を介して接続される。また、テープ読出装置100とホストコンピュータ400とは、専用線またはインターネット等のネットワーク300を介して接続されてもよい。なお、テープ読出装置100は、SCSIインターフェース、LAN 等の通信インターフェースによってパーソナルコンピュータ等の情報処理装置に接続され、情報処理装置を介してネットワーク300に接続されてもよい。
テープ読出装置100は、例えばLTO(Linear Tape Open)規格のテープ記録装置であり、テープ媒体200は、例えばLTO規格のテープ媒体である。なお、LTO 規格とは、Hewlett−Packard社、IBM 社、Quantum社の3社が共同で開発したオープンフォーマットの規格である。
テープ読出装置100は、ホストコンピュータ400からのデータ読出しコマンドに従って、テープ媒体200からデータの読み出し単位であるデータユニットごとデータを読み出す。読み出しにおいてエラーが起こった場合は、テープ読出装置100は、エラーが起こったデータユニットを読み飛ばして次に読み出し可能なエラー直後のデータユニットを読み出す。そして、テープ読出装置100は、エラーが起こる直前に読み出されたデータユニットに含まれる該データユニットの内容に関する情報と、エラー直後のデータユニットに含まれる該データユニットの内容に関する情報とから、エラーが起こったデータユニットにどの程度データが含まれていたか、より詳しくは、エラーが起こったデータユニットに含まれるレコードの数及び1まとまりのレコードの境界を示す境界マークの数を計算する。なお、レコードと境界マークは、ホストコンピュータ400から見た取り扱うデータの最小単位であり、SCSIインターフェースでは、境界マークはファイルマークと呼ばれる。以下では、境界マークはファイルマークとして記載する。
テープ読出装置100は、計算されたレコードの数分のダミーレコードと、計算されたファイルマーク数分のファイルマークとを生成し、これらをデータがダミーであることを示すダミー情報と共にホストコンピュータ400へ送る。ホストコンピュータ400は、ダミー情報と共にダミーレコード及びファイルマークを受けとると、ダミー情報に基づいて、受信したダミーレコード及びファイルマークがダミーであるかどうかを判断する。
以上のように、テープ読出装置100が、読出しエラーが起こったテープ媒体の一部の前後のデータから、読出しエラーが起こったデータユニット(複数のデータユニットであり得る)に含まれるレコード及びファイルマークの数を計算し、計算した数に関する情報をホストコンピュータ400へ伝えるので、ホストコンピュータ400は、エラーが起こったテープ媒体200の一部分にいくつレコード及びファイルマークが含まれていたかを推測できる。しかも、ここでは、テープ読出装置100は数に関する情報を該数分のダミーレコード及びファイルマークとしてホストコンピュータ400に送るので、データの読出しが中断されることもない。
図2(a)は、本実施形態に係るテープ媒体200における記録領域の構成の一例を示す。ここではLTO規格のテープ媒体200について説明する。LTOデータフォーマットでは、ホストコンピュータ400から受け取ったレコード及びファイルマークは一旦圧縮され、その後、DataSet(DS)201と呼ばれる単位でテープ媒体200に記録される。図2(a)に示すように、DS201には、テープ媒体200の先頭位置、すなわちBegining Of Tape(BOT)から順に番号が振られる。また、図2(b)に示すようにDSは、データ領域203とData Set Information Table(DSIT)205の2つの領域からなる。データ領域203は、その名の通りデータが記録される領域であり、DSIT205には、データ領域の内容が記載される。
本発明では、エラーが起こったDSに含まれるレコード数とファイルマーク数を計算するために、DSIT205に含まれる複数の情報のうち、次の情報、すなわち、DSIT205が含まれるDS201の番号、DS201に含まれるレコード及びファイルマークの数、BOTから直前のDS201までに含まれるレコード及びファイルマークの数、ならびにTapeWitePass(TWP)が使用される。ここでTWPはデータが古いかどうかを判断するために利用されるもので、データが最初に記録されるときその値は1であり、その後データが上書きされる度に値は1増加する。
図3を参照して、TWPによってデータの新旧を判断する方法を説明する。図3(a)に示すように、最初テープ媒体200にはデータがDS#N−1 211からDS#N+1 215まで記録されている。いずれのDSもテープ媒体200に初めて書き込まれたものであるため、そのTWPの値は1を示している。次にこの状態のテープ媒体200に更にデータを上書きした状態を、図3(b)に示す。DS#N−1 211をみると、データが上書きされているため、TWPの値が1増え、2となっている。次に、DS#N 213をみると、テープ媒体200の表面のダメージにより書き込みができなくなっている。LTO規格では、このように何らかの理由でテープ媒体200にデータを書き込むことができない場合、テープ媒体200上の問題ある部分から4メートル以内であれば、書き込みを続けることを許可している。そのため、図3b)では、問題の起きたDS#N 213をとばして、DS#N+1 215の位置に、DS#Nが上書きされている。DS#N215は上書きされたデータであるため、そのTWPの値は1増加され、2となっている。
ここで、図3(b)の状態のテープ媒体200からデータを読み出すとなると、番号NのDSが2つ存在することになる。そこで、TWPの値を見てみると、DS#N 213では1となっており、DS#N 215では2となっている。従って、TWPの値の大きいDS#N215のデータが新しいデータであることが分かる。このように、LTO規格ではTWPの値をみることでデータの新旧を判断できるようにしている。なお、ここではLTO規格のテープ媒体200について説明したが、上述したDSITに含まれる情報に相当する情報をデータユニットごとに記載するフォーマットを採用する規格であれば、本発明を適用可能であることはいうまでもない。
図4は、本実施形態に係るテープ読出装置100の機能構成の一例を示す。テープ読出装置100は、通信部110と、バッファ120と、読出部130と、コントローラ135とを含む。コントローラ135は、テープ読出装置100全体を制御し、更に、読出制御部140と、計算部150と、生成部160とを含む。通信部110は、ホストコンピュータ400と通信を行い、受信部及び送信部として認識することもできる。なお、以下では、テープ読出装置100とホストコンピュータ400との通信は、SCSIインターフェースに従うものとする。通信部(受信部)110はホストコンピュータ400から読出しコマンドを受け取る。
読出部130は、テープ媒体200からデータ読み出し単位であるデータユニット、すなわちDSごとデータを読み出しバッファ120に格納する。読出制御部140は、ホストコンピュータ400の読出しコマンドに従って、読出部130によるデータの読み出しを制御する。DSの読み出しにおいてエラーが起こった場合、読出制御部140は、エラーが起こったDSを読み飛ばし次に読み出し可能なエラー直後のDSを読み出しバッファ120に格納するよう読出部130を制御する。図5に示すテープ媒体200を例に説明すると、読出部130は、DS221を読み出した後、読出しエラーが起こったDS223(複数のDSであり得る)を読み飛ばし、次に読出し可能なエラー直後のDS225をバッファ120に格納する。
計算部150は、エラーが起こる直前に読み出されたエラー直前のDS221に含まれるレコード及びファイルマークに関する情報と、エラー直後のDS225に含まれるレコード及びファイルマークに関する情報をバッファ120から読出し、エラーが起こったDS223(複数のDSであり得る)に含まれるレコードの数及びファイルマークの数を計算する。以下、計算について詳細に説明する。
計算部150は、エラー直前のDS221のDSITから、TWP、DS221の番号DS、BOTから直前のDSまでに含まれるレコードの数R及びファイルマークの数F、DS221に含まれるレコードの数r及びファイルマークの数fを取り出す。また、計算部150は、エラー直後のDS225のDSITから、TWP、DS221の番号DS、BOTから直前のDSまでに含まれるレコードの数R及びファイルマークの数Fを取り出す。
ここで、DS223(複数のDSであり得る)に含まれるレコードの数等を計算する前に、計算部150はまず読み出したエラー前後のDS221とDS225のデータの連続性を確認する。データの不連続は、上述したように、例えばデータを上書きする際にテープ媒体200の表面のダメージ等により書き込みエラーが生じ結果古いデータが残る場合に起きる。このような古いデータは破棄すべきものであるため、本発明では最初にデータの連続性を確認する。
データの連続性の確認は、次の4つの条件式により確認することができる。
> = R
> = F
TWP > = TWP
DS > DS
エラー前後のDS221とDS225に対し、上記4つの条件式すべてが満たされる場合、DS221とDS225は連続しているといえる。上記4つの条件式のいずれか1つでも満たされない場合、計算部150はエラー直後のDS225を破棄し、DS225に続いて読み出した次のDSについて同様の検査を繰り返す。ここでは、DS221とDS225についてデータの連続性が確認できたものとする。
データの連続性が確認できると、計算部150はエラーが起こったDS223(複数のDSであり得る)に含まれるレコードの数及びファイルマークの数を計算する。BOTからDS221の直前のDSまでに含まれるレコードの数R及びファイルマークの数Fと、DS221に含まれるレコードの数r及びファイルマークの数fとの間には次の関係式がなりたつ。
n+1 = R + r
n+1 = F + f
従って、エラーが起こったDS223(複数のDSであり得る)に含まれるレコードの数rxとファイルマークの数fxは、次の式により求めることができる。
= R ― R ― r
= F ― F ― f
上記式から計算部150によってレコードの数及びファイルマークの数が計算されると、通信部(送信部)110は、その数情報をホストコンピュータ400へ送る。本発明の一実施形態に係るテープ読出装置100では、通信部(送信部)110は、計算されたレコードの数及び計算されたファイルマークの数を、エラー情報とともに、そのままホストコンピュータ400へ送る。この場合、ホストコンピュータ400は、データの読み出しを続けるために、計算されたレコードの数及び計算されたファイルマークの数に基づいて次のデータ読出し位置を指定する必要がある。
そこで、本発明の他の実施形態に係るテープ読出装置100は、データの読出しが中断することがないよう、計算されたレコードの数分のダミーレコード及び計算されたファイルマークの数分のファイルマークを生成する生成部160を更に含む。そして、通信部(送信部)110は、数情報として、生成されたダミーレコード及びダミーのファイルマークをホストコンピュータ400へ送る。この場合、生成部160は、ホストコンピュータ400からテープ読出装置100に対して送られる命令において指示された読み出しデータの長さをダミーレコードの長さとしてダミーレコードを生成することができる。具体的には、生成部160は、ホストコンピュータ400から送られるReadコマンドに含まれるFixedBit、Suppress Incorrect Length Indicator(SILI)Bit及びTransferLength、また、Readコマンドに先立ってModeSelectコマンドと共にホストコンピュータ400から送られるBlockDescriptorに含まれるBlockLengthに基づいてダミーレコードの長さを決定する。
ダミーレコードの長さを決定する具体的な方法を説明する前に、まずSCSIコマンドについて説明する。ModeSelectコマンドは、読出しや書込みをテープドライブに指示する前にテープドライブに構成データを送るためのコマンドである。ModeSelectコマンドと一緒に送られるModeDataには8ByteのBlockDescriptor(BD)フィールドが定義されており、BDフィールドの5〜7Byteに定義されているBlockLengthは、例えば、一連の読出し操作において使用される論理ブロックの長さとして使用される。
次に、Readコマンドについて説明する。Readコマンドでは、1Byte1BitにSuppress Incorrect Length Indicator(SILI)フィールド、1Byte0BitにFixedフィールド、2Byte〜4ByteにTransferLengthフィールドが定義されている。Fixedフィールドが1に設定され、TransferLengthフィールドが0でなく、かつSILIが0に設定される場合、BlockLengthの長さのブロックが読み出されホストコンピュータに返される。このとき、TransferLengthフィールドの値は、ホストコンピュータに返すべきブロックの数を示す。一方、SILIが1に設定されている場合、テープドライブはホストコンピュータにCheckConditionステータスを返す。
CheckConditionステータスは、エラーや警告をホストコンピュータに伝える必要がある場合にテープドライブが受け取ったSCSIコマンドに対して返すものである。CheckConditionステータスは問題があることのみを伝えるものであるため、エラーの詳細を通知するためにテープドライブは更にSenseDataを返す。SenseDataには2Byte0〜3BitにSenseKeyフィールドが定義されており、SenseKeyフィールドによってエラーの内容が示される。なお、このSenseDataは、FiberChannel等のシリアルSCSIでは、CheckConditionと同時にホストコンピュータへ返すことができる。一方、パラレルSCSIでは、SenseDataは、エラーの詳細を知るためにホストコンピュータから発行されるRequestSenseコマンドに対して送ることができる。
Readコマンドに戻って、Fixedフィールドが0に設定され、かつTransferLengthフィールドが0でない場合、TransferLengthの長さの単一ブロックが読み出される。但し、このときSILIフィールドが0に設定されていると、読み出すことができるデータの長さやBlockLengthの値に応じてCheckConditionステータスの報告が必要となることがある。
本発明の一実施形態に係るテープ読出装置100では、上述したSCSIコマンドを利用してホストコンピュータ400へ返すダミーレコードの長さを推測し、決定する。すなわち、ReadコマンドにおいてFixedフィールドが1に設定されている場合、生成部160はBlockLengthの長さをダミーレコードの長さとする。また、Fixedフィールドが0に設定されている場合、生成部160はTransferLengthの長さをダミーレコードの長さとする。但し、Fixedフィールドが0、かつ、SILIフィールドが1に設定されている場合には、生成部160はBlockLengthが0でない限りBlockLengthの長さをダミーレコードの長さとする。
ここで、ダミーレコードの長さをゼロとして返す0バイトブロックモードを新たに定義し、レコード長の推測をテープ読出装置100に頼らないようにすることもできる。この場合、通常のデータ読出し手順に従ってエラーが起こった部分に含まれるレコードの数とファイルマークの数とがホストコンピュータ400に送られるので、上述した計算されたレコードの数及び計算されたファイルマークの数を単純にホストコンピュータ400に返すのと違い、データ読出しが中断されることはない。なお、0バイトブロックモードは、例えばModeSelectコマンドにより、テープ読出装置100に設定できる。
通信部(送信部)110は、生成部160により生成された上記ダミーレコードとファイルマークを、データがダミーであることを示すダミー情報と共にホストコンピュータ400に送る。一例として、
通信部(送信部)110は、CheckConditionとSenseDataとをホストコンピュータ400に送る。
図6は、本実施形態に係るホストコンピュータ400の機能構成の一例を示す。ホストコンピュータ400は、送信部410と、受信部420と、判断部430とを含む。送信部410は、上述したModeSelectコマンド、Readコマンド等、読出しに関するコマンドをテープ読出装置100に送信する。受信部420は、テープ読出装置100から、数情報を受信する。そして、判断部430は、数情報に基づいて、データ読出し位置を判断する。好ましい実施形態では、受信部420は、テープ読出装置100から、ダミー情報と共に、数情報としてダミーレコード及びファイルマークを受信する。そして、判断部430は、ダミー情報に基づいて、数情報として受信したレコード及びファイルマークがダミーであるかどうかを判断する。上述したように、テープ読出装置100は、一例として、CheckConditionとSenseDataとをホストコンピュータ400へ返す。ホストコンピュータ400はCheckConditionを受け取ったことから何らかの問題がおきたことを知り、エラー内容を知るためにSenseDataを調査する。そして、ホストコンピュータ400は、ダミー情報としてのSenseKeyにMediumErrorがセットされている場合に受け取ったレコード及びファイルマークがダミーであると判断する。
以上のように、本発明の実施形態に係るテープ読出装置100によれば、読出しエラーが起こった場合でも、エラーが起こった部分に含まれるレコード数及びファイルマーク数が計算され、ホストコンピュータ400に伝えられるので、受け取ったレコードの数とファイルマーク数とによってデータの読出し位置を管理するホストコンピュータ400において、正しくデータ位置を認識し管理することができる。しかし、読出しエラーが起こった場合にエラーの原因を詳しく調査する等、読出しを一旦中断することを希望する場合も考えられる。そこで、読み出しエラーが起こった場合に読み出しエラーを返すだけのノーマル・オペレーション・モードと、読み出しエラーが起こった場合に読み出しエラーが起こった部分に含まれるレコードの数とファイルマークの数を返すレスキュー・モードの2つを用意し、ホストコンピュータ400がモードを選択してテープ読出装置100に設定できるようにしてもよい。モードの設定は、例えばModeSelectコマンドにより、行うことができる。
次に、図7乃至図9のフローチャートを参照して、本実施形態に係るテープ読出装置100の動作を説明する。図7のステップ100において、通信部(受信部)110は、ホストコンピュータ400からデータ読出しコマンド、すなわちReadコマンドを受信する。読出部130は、読出制御部140の制御により、Readコマンドに従ってテープ媒体200からDS単位でデータを読出す(S110)。データの読み出しにおいてエラーが起こった場合(S120:YES)、処理はステップ130へ進みエラー処理が実行される。一方、問題なくDSが読み出された場合(S120:NO)、読出部130は、読み出したDSをバッファ120に格納する(S140)。複数のDSがバッファ120に格納された時点で、通信部(送信部)110は、該複数のDSをホストコンピュータ400へ送る(S150)。そして処理は終了する。
次に、ステップ130のエラー処理を、図8のフローチャートを参照して説明する。データの読み出しにおいてエラーが起こった場合、読出制御部140は、エラーが起こったDSを読み飛ばして次に読み出し可能なエラー直後のDSを読み出すよう、読出部130を制御する(S200)。読出部130は、読み出したエラー直後のDSをバッファ120に格納する。計算部150は、バッファ120に格納されたエラー直前のDSのDSITとエラー直後のDSのDSITとから、それぞれ、エラー直前のDSに含まれるレコード及びファイルマークに関する情報、エラー直後のDSに含まれるレコード及びファイルマークに関する情報を取り出し、エラーが起こったDS(複数のDSであり得る)に含まれるレコードの数及びファイルマークの数を計算する(S210)。具体的な計算方法は上記説明したとおりであり繰り返しを避けるためここでは省略する。その後、生成部160は、計算されたレコードの数分のダミーレコードと計算されたファイルマーク数のファイルマークとを生成し、通信部(送信部)110は生成されたダミーレコードとファイルマークをダミー情報と共にホストコンピュータ400へ送信する(S220)。
次に、ステップ220の処理を図9のフローチャートを参照して説明する。計算部150により計算された、エラーが起こったDSに含まれるレコードの数をr、ファイルマークの数をfとする。処理はステップ300から始まり、まず、生成部160は、r、fをそれぞれ初期値として変数r、変数fに代入する。次にステップ310において、生成部160は、変数r、変数fの値を調べ、いずれも0であれば処理を終了する(S310:YES)。ステップ310でNOの場合、生成部160は更に変数rの値が0より大きいかどうか調べる。初めてステップ310、ステップ320の判断を行う場合は、変数rの値は0より大きいので、ダミーレコードの長さを決定するために次のステップ330へ進むことになる。
変数rの値が0より大きい場合(S320:YES)、生成部160は、ReadコマンドのFixedフィールドを調べる(S330)。本発明の実施形態に係るテープ読出装置100では、生成部160は、Fixedが1に設定されていない場合直ちにReadコマンドのTransferLengthの値をダミーレコードの長さとするのでなく、上記で説明したように、ReadコマンドのSILIフィールドを調べ、SILIが1に設定されている場合には、事前にホストコンピュータ400から指定されているBlockLengthの値が0でない限りBlockLengthの値をダミーレコードの長さとする。そこで、ステップ330でNOの場合、生成部160は、ReadコマンドのSILIフィールドを調べる(S340)。SILIが1に設定されている場合(S340:YES)、生成部160は、更にBlockLengthの値を調べ(S350)、0でない場合(S350:NO)、BlockLengthの値をダミーレコードの長さとする(S360)。
SILIが1に設定されていない場合(S340:NO)、または、SILIが1に設定されているがBlockLengthの値が0である場合(S350:YES)、ステップ370へ進み、生成部160は、ダミーレコードの長さを0として返す0バイトブロックモードが設定されているかどうか判断する。0バイトブロックモードが設定されていない場合(S370:NO)、生成部160は、ReadコマンドのTransferLengthの値をダミーレコードの長さをする(S380)。0バイトブロックモードが設定されている場合(S370:YES)、生成部160は、ダミーレコードの長さを0とする。そして、ステップ360、380及び390からステップ400へ進み生成部160は、変数rの値を1減らす。また、ステップ450において、通信部(送信部)110は、ホストコンピュータ400に読出しエラーを知らせるためのCheckConditionを返す。更に、通信部(送信部)110は、送信したレコードが推測された長さをもつダミーレコードであることをホストコンピュータ400が識別できるように、SenseKeyにMediumErrorを入れたSenseDataを返す(S450)。その後、処理はステップ310へ戻り、計算された数rだけ繰り返しダミーレコードが生成される。
一方、Fixedフィールドが1に設定されている場合(S330:YES)、生成部160は、BlockLengthの値をダミーレコードの長さとする(S410)。そして、ステップ420において変数rの値を1減らし、生成部160は最後のレコードであるかどうかを判断する(S430)。これはFixedフィールドが1に設定されている場合は連続した読み出しとなるため、ダミー情報を最後のレコードの後にのみ返すためである。そこで、最後のレコードでない場合(S430:NO)、処理はステップ310へ戻り、引き続きダミーレコードが生成される。最後のレコードである場合(S430:YES)、ステップ450に進み、上記説明したようにダミー情報がホストコンピュータ400へ返される。
ステップ320に戻って、変数rが0以下の場合(S320:NO)、今度は通信部(送信部)110はファイルマークをホストコンピュータ400へ送る(S460)。具体的には、通信部(送信部)110はホストコンピュータ400に読出しエラーを知らせるためのCheckConditionを返し、このとき生成部160はSenseDataのファイルマークのビットを立てる。また、送信したファイルマークがダミーであることをホストコンピュータ400が識別できるように、通信部(送信部)110は、SenseKeyにMediumErrorがセットされたSenseDataを返す。その後、処理はステップ310へ戻り、計算された数fだけ繰り返しダミーのファイルマークが返される。
次に、図10のフローチャートを参照して、本実施形態に係るホストコンピュータ400の動作を説明する。図10のステップ500において、ホストコンピュータ400の送信部410は、テープ読出装置100に対してReadコマンドを送信する。ステップ510において、受信部420は、テープ読出装置100からReadコマンドに対する応答としてレコード、ファイルマークを受信する。この際判断部430は、レコード、ファイルマークに続いてCheckConditionとSnseDataがあわせて送られたかどうか判断する(S520)。CheckConditionが送られた場合(S520:YES)、判断部430はエラーの内容を調べるためにSenseDataのSenseKeyフィールドにMediumErrorがセットされているかどうか調査する。MediumErrorがセットされている場合、判断部430は受信したレコード及びファイルマークはダミーのデータであると判断し(S530)、処理を終了する。なお、ホストコンピュータ400は、受信したレコード及びファイルマークがダミーであると判断した場合に、ダミーのレコード及びファイルマークを単に破棄してもよく、またはダミーのレコード及びファイルマークに相当する失われたデータを回復する処理、補完する処理をしてもよい。
図11の左側は、本実施形態に係るテープ読出装置100のハードウェア構成の一例を示す。テープ読出装置100は、バスにより相互に接続されるテープドライブ630 、CPU600、RAM610、ROM620、及び通信インターフェース640を含む。テープドライブ630は、テープ媒体200からデータを読み取り、RAM610に提供する。ROM620 は、テープ読出装置100の起動時にCPU600が実行するブートプログラムや、起動後にテープ読出装置100を動作させるプログラム等を格納する。そして、CPU600は、これらのプログラムを、RAM610を用いて実行する。本発明に係るテープ媒体からのデータ読み出しエラーを処理するテープ読出装置用のプログラムも、ROM620に格納され、RAM610を用いてCPU600により実行される。テープ読出装置用のプログラムは、テープ読出装置100を、データ読出部130、読出制御部140、計算部150、生成部160、通信部110として機能させる。その具体的な機能及び動作は、図4、図7乃至図9を用いて説明したのと同一であるから、説明を省略する。
テープ読出装置100に提供されるプログラムは、テープドライブ630によりテープ媒体200から読み出され、テープ読出装置100にインストールされる。これに代えて、通信インターフェース640は、シリアルポート等の入出力装置またはネットワークを介して、ホストコンピュータ400からプログラムを取得し、テープ読出装置100にインストールしてもよい。テープ読出装置100に提供されるプログラムは、テープ媒体200、フレキシブルディスク、CD−ROM、DVDやPD等の光学記録媒体、MD等の光磁気記憶媒体、ICカード等の半導体メモリ等の記録媒体に格納されて利用者によって提供される。
図11の右側は、本実施形態に係るホストコンピュータ400のハードウェア構成の一例を示す。ホストコンピュータ400は、ホストコントローラ710により相互に接続されるCPU700及びRAM720を含むCPU周辺部と、入出力コントローラ730によりホストコントローラ710に接続される通信インターフェース760、ハードディスクドライブ740、及びCD−ROMドライブ750を含む入出力部と、入出力コントローラ730に接続されるスーパーI/Oコントローラ770及びスーパーI/Oコントローラ770に接続されるフレキシブルディスクドライブ780、フラッシュROM790、ならびにキーボードマウスコントローラ800を有するレガシー入出力部とを備える。
ホストコントローラ710は、高い転送レートでRAM720にアクセスするCPU700をRAM720と接続する。CPU700は、ハードディスクに格納されたプログラムに基づいて動作し、各部の制御を行う。本発明に係るテープ媒体からのデータ読み出しエラーを処理するホストコンピュータ用のプログラムは、ハードディスクに格納され、RAM720を用いてCPU700により実行される。ホストコンピュータ用のプログラムは、ホストコンピュータ400を、送信部410、受信部420、判断部430として機能させる。その具体的な機能及び動作は、図5及び図10を用いて説明したのと同一であるから、説明を省略する。
入出力コントローラ730は、比較的高速な入出力装置である通信インターフェース760、ハードディスクドライブ740、及びCD−ROMドライブ750をホストコントローラ710と接続する。通信インターフェース760は、ネットワークを介してテープ読出装置100等の外部装置と通信する。CD−ROMドライブ750は、CD−ROMからプログラムまたはデータを読み取り、通信インターフェース760を介してテープ読出装置100に提供する。
また、入出力コントローラ730には、フレキシブルディスクドライブ780やキーボードマウスコントローラ800等の比較的低速な入出力装置と、フラッシュROM790とが接続される。フラッシュROM790は、ホストコンピュータ400の起動時にCPU700が実行するブートプログラムや、ホストコンピュータ400のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ780は、フレキシブルディスクからプログラムまたはデータを読み取り、RAM720を介してスーパーI/Oコントローラ770に提供する。スーパーI/Oコントローラ770は、フレキシブルディスクや、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
以上、実施形態を用いて本発明の説明をしたが、本発明の技術範囲は上記実施形態に記載の範囲には限定されない。例えば、上記の実施形態においては、エラーが起こったテープ媒体200の一部分に含まれるレコード及びファイルマークの数は、テープ読出装置100の計算部150において計算された。しかしながら、テープ読出装置100の送信部110が、読出部130により読み出されたデータユニットを格納するバッファ120から、エラーが起こる直前に読み出されたエラー直前のデータユニットに含まれるレコード及び1まとまりのレコードの境界を示す境界マークに関する第1情報と、エラー直後のデータユニットに含まれるレコード及び境界マークに関する第2情報とを取り出しホストコンピュータ400へ送るようにしてもよい。そして、ホストコンピュータ400の判断部430において、第1情報及び第2情報に基づいて、エラーが起こったデータユニットに含まれるレコードの数及び境界マークの数を計算してデータの読出し位置を判断してもよい。このように上記の実施形態に、種々の変更または改良を加えることが可能であることが当業者に明らかである。従って、そのような変更または改良を加えた形態も当然に本発明の技術的範囲に含まれる。
本発明の一実施形態に係るテープ媒体からのデータ読み出しエラーを処理するシステム10の構成の一例を示す。 (a)は、本実施形態に係るテープ媒体200におけるLTO規格に従う記録領域の構成の一例を示す。(b)は、LTOデータフォーマットにおけるデータセットの構成を示す。 (a)は、LTO規格のテープ媒体200において、初めてデータが書き込まれた状態を示す。(b)は、(a)に示す状態のテープ媒体200にデータを上書きした後の状態を示す。 本実施形態に係るテープ読出装置100の機能構成の一例を示す。 LTO規格のテープ媒体200において読出しエラーが起こった状態を示す。 本実施形態に係るホストコンピュータ400の機能構成の一例を示す。 本実施形態に係るテープ読出装置100における、Readコマンドに応答してデータを読み出す処理の流れを示すフローチャートである。 本実施形態に係るテープ読出装置100における、エラー処理の流れを示すフローチャートである。 本実施形態に係るテープ読出装置100における、ダミーレコードの生成及びダミー情報の送信処理の流れを示すフローチャートである。 本実施形態に係るホストコンピュータ400における、読出しエラーの処理の流れを示すフローチャートである。 本実施形態に係るテープ読出装置100とホストコンピュータ400のハードウェア構成の一例を示す。

Claims (19)

  1. テープ媒体からのデータ読み出しエラーを処理するテープ読出装置であって、
    前記テープ媒体からデータ読み出し単位であるデータユニットごとデータを読み出す読出部と、
    ホストコンピュータからのコマンドに従って、前記読出部によるデータの読み出しを制御し、前記データユニットの読み出しにおいてエラーが起こった場合に、前記エラーが起こったデータユニットを読み飛ばして次に読み出し可能なエラー直後のデータユニットを読み出すよう制御する読出制御部と、
    前記エラーが起こる直前に読み出されたエラー直前のデータユニットに含まれるレコード及び1まとまりのレコードの境界を示す境界マークに関する情報と、前記エラー直後のデータユニットに含まれるレコード及び境界マークに関する情報とから、前記エラーが起こったデータユニットに含まれるレコードの数及び境界マークの数を計算する計算部と、
    計算された前記レコードの数及び計算された前記境界マークの数に関する数情報を前記ホストコンピュータへ送る通信部と、
    を含むテープ読出装置。
  2. 前記エラー直前のデータユニットに含まれるレコード及び境界マークに関する情報は、前記エラー直前のデータユニットに含まれるレコード及び境界マークの各数と、前記テープ媒体の先頭から数えた前記エラー直前のデータユニットの1つ前のデータユニットまでのレコード及び境界マークの各数とであり、前記エラー直後のデータユニットに含まれるレコード及び境界マークに関する情報は、前記テープ媒体の先頭から数えた前記エラーが起こったデータユニットまでのレコード及び境界マークの各数である、請求項1記載のテープ読出装置。
  3. 前記テープ媒体及び前記テープ読出装置はLinear Tape Open(LTO)規格に準拠し、前記エラー直前のデータユニットに含まれるレコード及び境界マークに関する情報は、前記エラー直前のデータユニットに含まれるデータユニットの内容を記載するData Set Information Table(DSIT)から取得し、前記エラー直後のデータユニットに含まれるレコード及び境界マークに関する情報は、前記エラー直後のデータユニットに含まれるDSITから取得する、請求項2記載のテープ読出装置。
  4. 計算された前記レコードの数分のダミーレコード及び計算された前記境界マークの数分の境界マークを生成する生成部を更に含み、
    前記通信部は、前記数情報として、生成された前記ダミーレコード及び前記境界マークを前記ホストコンピュータへ送る、請求項1記載のテープ読出装置。
  5. 前記生成部は、前記ホストコンピュータから前記テープ読出装置に対して発行されるコマンドにおいて指示された読み出しデータの長さをダミーレコードの長さとして、ダミーレコードを生成する、請求項4記載のテープ読出装置。
  6. 前記通信部はSmall Computer System Interface(SCSI)プロトコルに従って前記ホストコンピュータと通信し、
    前記生成部は、Readコマンドに含まれるFixedBit、Suppress Incorrect Length Indicator(SILI)Bit及びTransferLength、並びにModeSelectコマンドと共に事前に前記ホストコンピュータから送られるBlockDescriptorに含まれるBlockLengthに基づいてダミーレコードの長さを決定し、ダミーレコードを生成する、請求項5記載のテープ読出装置。
  7. 前記通信部は、データがダミーであることを示すダミー情報と共に前記ダミーレコード及び前記境界マークを前記ホストコンピュータへ送る、請求項4記載のテープ読出装置。
  8. 前記通信部はSCSIプロトコルに従って前記ホストコンピュータと通信し、
    前記通信部は、更に、エラーが起こったことを知らせるためのCheckCondition及びエラーの内容を知らせるための、SenseKeyにMediumErrorをセットしたSenseDataを前記ホストコンピュータへ送る、請求項7記載のテープ読出装置。
  9. ダミーレコードの長さを0とする0バイトブロックモードを設定可能である、請求項4記載のテープ読出装置。
  10. 読み出しエラーが起こった場合に読み出しエラーを返すだけのノーマル・オペレーション・モードと、読み出しエラーが起こった場合に読み出しエラーが起こった部分に含まれるレコードの数及び境界マークの数に関する数情報を返すレスキュー・モードのいずれかを設定可能である、請求項1記載のテープ読出装置。
  11. 前記ホストコンピュータは、前記テープ読出装置から受け取ったレコードの数と境界マークの数とによって次に読み出し可能なデータ位置を認識する、請求項1記載のテープ読出装置。
  12. テープ媒体からのデータ読み出しエラーを処理するシステムであって、
    テープ読出装置と、
    前記テープ読出装置に接続されたホストコンピュータと、
    を含み、
    前記テープ読出装置は、
    前記ホストコンピュータからデータ読出しコマンドを受け取る受信部と、
    前記テープ媒体からデータの読み出し単位であるデータユニットごとデータを読み出す読出部と、
    前記データ読出しコマンドに従って前記読出部によるデータの読み出しを制御し、前記データユニットの読み出しにおいてエラーが起こった場合に、前記エラーが起こったデータユニットを読み飛ばして次に読み出し可能なエラー直後のデータユニットを読み出すよう制御する読出制御部と、
    前記エラーが起こる直前に読み出されたエラー直前のデータユニットに含まれるレコード及び1まとまりのレコードの境界を示す境界マークに関する情報と、前記エラー直後のデータユニットに含まれるレコード及び境界マークに関する情報とから、エラーが起こったデータユニットに含まれるレコードの数及び境界マークの数を計算する計算部と、
    計算された前記レコードの数及び計算された前記境界マークの数に関する数情報を前記ホストコンピュータへ送る送信部と、
    を含み、
    前記ホストコンピュータは、
    前記データ読出しコマンドを前記テープ読出装置に送信する送信部と、
    前記数情報を受信する受信部と、
    前記数情報に基づいて、次に読み出し可能なデータの読出し位置を判断する判断部と
    を含むテープ媒体からデータを読み出すシステム。
  13. 前記テープ読出装置は、計算された前記レコードの数分のダミーレコード及び計算された前記境界マークの数分の境界マークを生成する生成部を更に含み、
    前記テープ読出装置の前記送信部は、データがダミーであることを示すダミー情報と共に、数情報として生成された前記ダミーレコード及び前記境界マークを前記ホストコンピュータへ送り、
    前記判断部は、前記ダミー情報に基づいて、受信した前記ダミーレコード及び前記境界マークがダミーであるかどうかを判断してデータの読出し位置を判断する、
    請求項12に記載のシステム。
  14. テープ媒体からのデータ読み出しエラーを処理するシステムであって、
    テープ読出装置と、
    前記テープ読出装置に接続されたホストコンピュータと、
    を含み、
    前記テープ読出装置は、
    前記ホストコンピュータからデータ読出しコマンドを受け取る受信部と、
    前記テープ媒体からデータの読み出し単位であるデータユニットごとデータを読み出す読出部と、
    前記データ読出しコマンドに従って前記読出部によるデータの読み出しを制御し、前記データユニットの読み出しにおいてエラーが起こった場合に、前記エラーが起こったデータユニットを読み飛ばして次に読み出し可能なエラー直後のデータユニットを読み出すよう制御する読出制御部と、
    前記読出部により読み出されたデータユニットを格納するバッファと、
    前記バッファから、前記エラーが起こる直前に読み出されたエラー直前のデータユニットに含まれるレコード及び1まとまりのレコードの境界を示す境界マークに関する第1情報と、前記エラー直後のデータユニットに含まれるレコード及び境界マークに関する第2情報とを取り出し前記ホストコンピュータへ送る送信部と、
    を含み、
    前記ホストコンピュータは、
    前記データ読出しコマンドを前記テープ読出装置に送信する送信部と、
    前記第1情報及び第2情報を受信する受信部と、
    前記第1情報及び第2情報に基づいて、エラーが起こったデータユニットに含まれるレコードの数及び境界マークの数を計算してデータの読出し位置を判断する判断部と
    を含むテープ媒体からデータを読み出すシステム。
  15. テープ読出装置において、テープ媒体からのデータ読み出しエラーを処理する方法であって、
    ホストコンピュータからデータ読出しコマンドを受け取るステップと、
    前記データ読出しコマンドに従ってデータの読み出し単位であるデータユニットごとのデータの読み出しを制御し、前記データの読み出しにおいてエラーが起こった場合に、前記エラーが起こったデータユニットを読み飛ばして次に読み出し可能なエラー直後のデータユニットを読み出すよう制御するステップと、
    前記エラーが起こる直前に読み出されたエラー直前のデータユニットに含まれるレコード及び1まとまりのレコードの境界を示す境界マークに関する情報と、前記エラー直後のデータユニットに含まれるレコード及び前記境界マークに関する情報とから、エラーが起こったデータユニットに含まれるレコードの数及び前記境界マークの数を計算するステップと、
    計算された前記レコードの数及び計算された前記境界マークの数に関する数情報を前記ホストコンピュータへ送るステップと、
    を含むテープ媒体からデータを読み出す方法。
  16. テープ読出装置と前記テープ読出装置に接続されたホストコンピュータとを含むシステムにおいて、テープ媒体からのデータ読み出しエラーを処理する方法であって、
    前記テープ読出装置において、
    前記ホストコンピュータからデータ読出しコマンドを受け取るステップと、
    前記データ読出しコマンドに従ってデータの読み出し単位であるデータユニット単位でのデータの読み出しを制御し、前記データの読み出しにおいてエラーが起こった場合に、前記エラーが起こったデータユニットを読み飛ばして次に読み出し可能なエラー直後のデータユニットを読み出すよう制御するステップと、
    前記エラーが起こる直前に読み出されたエラー直前のデータユニットに含まれるレコード及び1まとまりのレコードの境界を示す境界マークに関する情報と、前記エラー直後のデータユニットに含まれるレコード及び境界マークに関する情報とから、エラーが起こったデータユニットに含まれるレコードの数及び境界マークの数を計算するステップと、
    計算された前記レコードの数及び計算された前記境界マークの数に関する数情報を前記ホストコンピュータへ送信するステップと、
    を含み、
    前記ホストコンピュータにおいて、
    前記データ読出しコマンドを前記テープ読出装置に送信するステップと、
    前記数情報を受信するステップと、
    前記数情報に基づいて、次に読み出し可能なデータの読出し位置を判断するステップとを含むテープ媒体からデータを読み出す方法。
  17. 前記テープ読出装置において、計算された前記レコードの数分のダミーレコード及び計算された前記境界マークの数分の境界マークを生成するステップを更に含み、
    前記テープ読出装置における前記送信するステップは、データがダミーであることを示すダミー情報と共に、前記数情報として生成された前記ダミーレコード及び前記境界マークを前記ホストコンピュータへ送信するステップを含み、
    前記判断するステップは、前記ダミー情報に基づいて、受信した前記ダミーレコード及び前記境界マークがダミーであるかどうかを判断してデータの読出し位置を判断するステップを含む、請求項16に記載の方法。
  18. テープ媒体からのデータ読み出しエラーを処理するテープ読出装置用のプログラムであって、前記テープ読出装置を、
    前記テープ媒体からデータの読み出し単位であるデータユニットごとデータを読み出す読出部、
    ホストコンピュータからのコマンドに従って前記読出部によるデータの読み出しを制御し、前記データユニットの読み出しにおいてエラーが起こった場合に、前記エラーが起こったデータユニットを読み飛ばして次に読み出し可能なエラー直後のデータユニットを読み出すよう制御する読出制御部、
    前記エラーが起こる直前に読み出されたエラー直前のデータユニットに含まれるレコード及び1まとまりのレコードの境界を示す境界マークに関する情報と、前記エラー直後のデータユニットに含まれるレコード及び境界マークに関する情報とから、エラーが起こったデータユニットに含まれるレコードの数及び境界マークの数を計算する計算部、
    計算された前記レコードの数及び計算された前記境界マークの数に関する数情報を前記ホストコンピュータへ送る通信部
    として機能させるテープ読出装置用プログラム。
  19. テープ読出装置と前記テープ読出装置に接続されたホストコンピュータとを含むシステム用のプログラムであって、
    前記テープ読出装置を、
    前記ホストコンピュータからデータ読出しコマンドを受け取る受信部、
    前記テープ媒体からデータの読み出し単位であるデータユニットごとデータを読み出す読出部、
    前記データ読出しコマンドに従って前記読出部によるデータの読み出しを制御し、前記データユニットの読み出しにおいてエラーが起こった場合に、前記エラーが起こったデータユニットを読み飛ばして次に読み出し可能なエラー直後のデータユニットを読み出すよう制御する読出制御部、
    前記エラーが起こる直前に読み出されたエラー直前のデータユニットに含まれるレコード及び1まとまりのレコードの境界を示す境界マークに関する情報と、前記エラー直後のデータユニットに含まれるレコード及び境界マークに関する情報とから、エラーが起こったデータユニットに含まれるレコードの数及び境界マークの数を計算する計算部、
    計算された前記レコードの数及び計算された前記境界マークの数に関する数情報を前記ホストコンピュータへ送る送信部、
    として機能させ、
    前記ホストコンピュータを、
    前記データ読出しコマンドを前記テープ読出装置に送信する送信部、
    前記数情報を受信する受信部、
    前記数情報に基づいて、次に読み出し可能なデータの読出し位置を判断する判断部として機能させるシステム用のプログラム。
JP2008503831A 2006-03-03 2007-03-02 読み出しエラーを処理する読出装置、システム、その方法及びプログラム Expired - Fee Related JP4848419B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008503831A JP4848419B2 (ja) 2006-03-03 2007-03-02 読み出しエラーを処理する読出装置、システム、その方法及びプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006057444 2006-03-03
JP2006057444 2006-03-03
PCT/JP2007/054069 WO2007102434A1 (ja) 2006-03-03 2007-03-02 読み出しエラーを処理する読出装置、システム、その方法及びプログラム
JP2008503831A JP4848419B2 (ja) 2006-03-03 2007-03-02 読み出しエラーを処理する読出装置、システム、その方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2007102434A1 JPWO2007102434A1 (ja) 2009-07-23
JP4848419B2 true JP4848419B2 (ja) 2011-12-28

Family

ID=38474865

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008503831A Expired - Fee Related JP4848419B2 (ja) 2006-03-03 2007-03-02 読み出しエラーを処理する読出装置、システム、その方法及びプログラム

Country Status (5)

Country Link
US (1) US8037346B2 (ja)
EP (1) EP2000897A4 (ja)
JP (1) JP4848419B2 (ja)
CN (1) CN101395568A (ja)
WO (1) WO2007102434A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010015573A (ja) * 2008-07-04 2010-01-21 Samsung Electronics Co Ltd データコピー方法及び該装置

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4939364B2 (ja) * 2007-10-17 2012-05-23 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ記録装置のデータ書込みを制御する装置、方法及びプログラム
EP2141703B1 (en) * 2008-07-04 2013-09-04 Samsung Electronics Co., Ltd. Methods and apparatus for copying data
WO2010058655A1 (ja) * 2008-11-21 2010-05-27 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ記録装置におけるデータの上書き制御方法、上書き制御プログラム、及びテープ記録装置
CN102308336B (zh) * 2009-02-10 2014-08-06 国际商业机器公司 数据记录装置、数据读出装置、带驱动器、数据记录方法和数据读出方法
GB2496773B (en) 2010-06-25 2018-03-21 Ibm Tape storage device and writing method therefor
JP5500282B1 (ja) * 2013-02-28 2014-05-21 日本電気株式会社 障害修復装置、障害修復方法、及び、障害修復プログラム
US9192028B2 (en) * 2013-03-15 2015-11-17 Cooper Technologies Company Systems and methods for self commissioning and locating lighting system
JP5932731B2 (ja) * 2013-07-30 2016-06-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ホストとの間で映像データを含む複数のレコードを転送するテープドライブ、方法、およびプログラム
US9608670B2 (en) 2014-07-14 2017-03-28 International Business Machines Corporation Reliable data reading with data set screening by error injection
JP6536475B2 (ja) * 2016-05-11 2019-07-03 富士通株式会社 テープ装置、制御装置および制御プログラム
CN113474837B (zh) * 2019-03-27 2022-07-29 富士胶片株式会社 导出装置、导出方法、存储介质及磁带
JP7252448B2 (ja) * 2019-05-13 2023-04-05 富士通株式会社 テープ装置、制御装置および読み出し制御プログラム
JP7225080B2 (ja) * 2019-11-29 2023-02-20 株式会社東芝 電子通信装置、磁気ディスク装置、及びシリアル通信方法
TWI797464B (zh) * 2020-07-28 2023-04-01 群聯電子股份有限公司 資料讀取方法、記憶體儲存裝置及記憶體控制電路單元
CN112634978A (zh) * 2020-12-23 2021-04-09 江苏国科微电子有限公司 一种NVMe固态硬盘异常处理方法、装置及集成芯片
CN114637712B (zh) * 2022-03-18 2023-03-10 无锡众星微***技术有限公司 一种EDFB模式下SAS2SATA Bridge的错误处理方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0535144A (ja) * 1991-07-31 1993-02-12 Canon Inc 転写材分離装置
JPH11242855A (ja) * 1997-10-31 1999-09-07 Hewlett Packard Co <Hp> ホストデータをフォーマットする方法
JP2000003310A (ja) * 1998-06-16 2000-01-07 Toshiba Corp データ再生装置、同装置を用いたコンピュータシステム及びデータ再生方法
JP2002251843A (ja) * 2001-02-22 2002-09-06 Sony Corp テープアクセス制御方法、記録/再生システム及びテープドライブ装置
JP2003257127A (ja) * 2002-03-06 2003-09-12 Nec Corp 磁気テープ装置及びその制御方法並びに磁気テープ装置制御用プログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4255807A (en) * 1978-12-18 1981-03-10 Graham Magnetics Incorporated Error testing of recording media such as magnetic tape
US4549295A (en) * 1983-06-21 1985-10-22 International Business Machines Corporation System for identifying defective media in magnetic tape storage systems
US5163136A (en) * 1989-11-13 1992-11-10 Archive Corporation System for assembling playback data frames using indexed frame buffer group according to logical frame numbers in valid subcode or frame header
JPH0728604A (ja) * 1993-07-13 1995-01-31 Hitachi Ltd ディスク装置
US5331476A (en) * 1993-07-30 1994-07-19 International Business Machines Corporation Apparatus and method for dynamically performing knowledge-based error recovery
JP3518700B2 (ja) * 1995-01-25 2004-04-12 ソニー株式会社 デイジタル信号復号装置
DE69627842T2 (de) * 1996-07-23 2004-05-06 Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto Fehleranzeige für ein Speichersystem mit auswechselbaren Speichereinheiten
EP0913825B1 (en) 1997-10-31 2013-05-01 Hewlett-Packard Development Company, L.P. Data encoding scheme
US6366980B1 (en) * 1999-06-04 2002-04-02 Seagate Technology Llc Disc drive for achieving improved audio and visual data transfer
JP2001331377A (ja) * 2000-05-22 2001-11-30 Hitachi Ltd 再生エラーの処理方法及びこれを用いたディスク装置
JP2001357637A (ja) * 2000-06-14 2001-12-26 Sony Corp 情報再生装置、情報処理方法及び情報記録媒体
JP3813153B2 (ja) * 2002-04-03 2006-08-23 インターナショナル・ビジネス・マシーンズ・コーポレーション テープ記憶装置、制御装置、制御方法、プログラム、及び記録媒体
JP3831700B2 (ja) * 2002-10-29 2006-10-11 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置、記憶装置を制御するプログラム、記憶装置の制御方法、及び記録媒体
JP3823095B2 (ja) * 2003-04-17 2006-09-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置、制御方法、プログラム、プログラム記録媒体、及びデータ記録媒体
US7269687B2 (en) * 2004-08-20 2007-09-11 Quantum Corporation Bounding defective regions of a tape storage medium
JP2006059495A (ja) * 2004-08-23 2006-03-02 Sony Corp テープ再生装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0535144A (ja) * 1991-07-31 1993-02-12 Canon Inc 転写材分離装置
JPH11242855A (ja) * 1997-10-31 1999-09-07 Hewlett Packard Co <Hp> ホストデータをフォーマットする方法
JP2000003310A (ja) * 1998-06-16 2000-01-07 Toshiba Corp データ再生装置、同装置を用いたコンピュータシステム及びデータ再生方法
JP2002251843A (ja) * 2001-02-22 2002-09-06 Sony Corp テープアクセス制御方法、記録/再生システム及びテープドライブ装置
JP2003257127A (ja) * 2002-03-06 2003-09-12 Nec Corp 磁気テープ装置及びその制御方法並びに磁気テープ装置制御用プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010015573A (ja) * 2008-07-04 2010-01-21 Samsung Electronics Co Ltd データコピー方法及び該装置

Also Published As

Publication number Publication date
US20080294954A1 (en) 2008-11-27
EP2000897A2 (en) 2008-12-10
EP2000897A9 (en) 2009-03-11
CN101395568A (zh) 2009-03-25
EP2000897A4 (en) 2009-10-28
US8037346B2 (en) 2011-10-11
WO2007102434A1 (ja) 2007-09-13
JPWO2007102434A1 (ja) 2009-07-23

Similar Documents

Publication Publication Date Title
JP4848419B2 (ja) 読み出しエラーを処理する読出装置、システム、その方法及びプログラム
JPH0574148B2 (ja)
JPH01295325A (ja) ブロック間ギャップの間へのブロック化データの大きなパケットの書き込み及び読み出しを行う高容量のテープ駆動装置
US8139311B2 (en) Apparatus, method and program for controlling writing of data by tape recording apparatus
JPH03157872A (ja) Datテープのデータ・グループを組み立てるための方法
JPH0713702A (ja) 記憶媒体内に記憶された複数のデータブロックを読取り且つ処理するシステムおよび方法
US10009574B2 (en) Transferring multiple records including video data to/from host
JP4808770B2 (ja) データに情報を埋め込むための装置
KR100391740B1 (ko) 재생 오류의 처리 방법 및 이를 이용한 디스크 장치
JP2006216095A (ja) データ記憶装置及びデータ記憶制御回路並びに磁気ディスク装置の制御方法
US20150199980A1 (en) Tape apparatus and write processing method
US6295177B1 (en) Method of and apparatus for arranging data received in a data transfer from a data source
US7984236B2 (en) Data transfer
US7167332B2 (en) Method and apparatus for recording data onto a recording medium including warning of the approach to an end of medium position
US6161155A (en) Apparatus and method for storing retrievable boundary information into a buffer memory of a receiving device
TW504678B (en) A magnetic recording and regenerating device
KR20050079611A (ko) 기록 재생 장치
JPH05241736A (ja) 磁気テープ記憶装置のファイル制御方法
JPH0215942B2 (ja)
TW392110B (en) Method of reading data
TWI251139B (en) Data recording/regeneration device
JPH0480468B2 (ja)
JPS5994244A (ja) 光デイスク装置
JP2011091736A (ja) 映像蓄積変換システムおよびプログラム
JP2005038484A (ja) データ記録再生装置、及びデータ記録再生方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110202

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

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

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

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees