JP2013161100A - 書込みシステム、書込み装置および書込み方法 - Google Patents

書込みシステム、書込み装置および書込み方法 Download PDF

Info

Publication number
JP2013161100A
JP2013161100A JP2012019670A JP2012019670A JP2013161100A JP 2013161100 A JP2013161100 A JP 2013161100A JP 2012019670 A JP2012019670 A JP 2012019670A JP 2012019670 A JP2012019670 A JP 2012019670A JP 2013161100 A JP2013161100 A JP 2013161100A
Authority
JP
Japan
Prior art keywords
writing
data
unwritten
recording medium
unwritten data
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
Application number
JP2012019670A
Other languages
English (en)
Other versions
JP5786739B2 (ja
Inventor
Yoshiaki Ochi
芳明 越智
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012019670A priority Critical patent/JP5786739B2/ja
Priority to US13/751,308 priority patent/US8811133B2/en
Publication of JP2013161100A publication Critical patent/JP2013161100A/ja
Application granted granted Critical
Publication of JP5786739B2 publication Critical patent/JP5786739B2/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/18Error detection or correction; Testing, e.g. of drop-outs
    • 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
    • G11B20/1886Methods for assignment of alternate areas for defective areas with tapes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media
    • G11B2220/63Solid state media wherein solid state memory is used as a supplementary storage medium to store auxiliary data for detecting or correcting errors on a main storage medium

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】データ退避用の記憶領域を低コストで拡張できる。
【解決手段】書込み装置1は、書込み部1aを有する。書込み部1aは、書込み装置1に収納されたカートリッジ4の記録媒体4aへのデータの書込み中に未書込みのデータが発生すると、未書込みのデータが情報処理装置3に取得されないようにするためのダミーの情報を情報処理装置3に送信し、未書込みのデータを記憶部4bに書込む。書込み装置2は、書込み部2aを有する。書込み部2aは、書込み装置1から書込み装置2へカートリッジ4が移されると、記憶部4bに記憶された未書込みのデータを、記録媒体4aに書込む。
【選択図】図1

Description

本発明は書込みシステム、書込み装置および書込み方法に関する。
コンピュータなどの情報処理装置で扱うデータを、情報処理装置の外部に取り出せる記録媒体に記録する書込み装置が利用されている。例えば、データを書込んだ記録媒体を保管し、当該データのバックアップとする。記録媒体には、例えば、磁気テープ媒体や光ディスク媒体などがある。記録媒体は、取扱い等の便利のためカートリッジ(cartridge)と呼ばれるケースに収納されていることがある。
ところで、書込み装置では当該装置の異常などにより、記録媒体に対するデータの書込みに失敗することがある。そこで、例え書込みに失敗してもデータの書込みを続行可能にする方法が考えられている。
例えば、光ディスク媒体にバックアップメモリを設け、ディスク媒体に書込むデータをバックアップメモリにも格納して、データの書込みエラー時には、当該バックアップメモリからデータを復元可能とする提案がある。
また、例えば、磁気テープ媒体へのデータの書込みに対して、動的デバイス再配置(DDR:Dynamic Device Reconfiguration)と呼ばれる方法が提案されている。DDRでは、磁気テープ媒体へのデータの書込み中に磁気テープ装置でエラーが発生すると、磁気テープ装置がその旨を上位装置に報告する。すると、上位装置は、磁気テープ装置側でバッファリングされた未書込みのデータを上位装置の主記憶領域に退避する。上位装置は、磁気テープ媒体を正常な他の磁気テープ装置に移すようオペレータに指示する。オペレータは、正常な他の磁気テープ装置に磁気テープ媒体を移す。すると、上位装置は、他の磁気テープ装置を用いて、退避した未書込みのデータを磁気テープ媒体に追記する。このようにして、DDRではエラー時でも磁気テープ媒体へのデータの書込みを続行する。
なお、磁気テープ媒体を収めたカートリッジに不揮発性メモリを設け、磁気テープ媒体のパーティション情報やユーザ情報などを不揮発性メモリに格納する提案がある。また、磁気テープ媒体のカートリッジに不揮発性の記憶部を設け、当該記憶部に書込んだデータを、磁気テープ媒体上の指定された位置に書き直す提案もある。
特開平6−175793号公報 特開2003−263840号公報 特開平6−175792号公報 特開平9−161452号公報 特開2011−146105号公報
DDRのように未書込みのデータを上位装置に退避させる場合、退避用の記憶領域のサイズが退避させるデータのサイズに比べて小さい場合がある。この場合、未書込みのデータの全部を退避させることができずに、データの書込みが中断されてしまう。そこで、上位装置の退避用の記憶領域のサイズを拡大することが考えられる。しかし、上位装置が稼働中であったり、他のデバイスなどへも主記憶装置から記憶領域が割り当てられていたりすると、上位装置側で退避用の記憶領域を十分に確保することが困難な場合がある。
これに対し、磁気テープ媒体のカートリッジにメモリを設けて、当該メモリ上の記憶領域を退避用に利用可能とすることが考えられる。しかし、この場合、カートリッジ上のメモリを用いたデータの退避/書込みの処理を、上位装置における既存のDDRの処理に対し、どのようにコストを抑えて組み込むかが問題となる。
例えば、上位装置のDDRの処理において、未書込みのデータの退避先を、上位装置側の主記憶装置に代えてカートリッジ上のメモリとするように作り変えるとすると、作り変えのための工数が生ずる。また、安定稼働中の上位装置の既存処理を変更する際、既存の他の業務処理などへの影響を考慮した入念な準備や実作業のための工数も問題となる。
一側面では、本発明は、データ退避用の記憶領域を低コストで拡張できるようにした書込みシステム、書込み装置および書込み方法を提供することを目的とする。
一実施態様では、第1および第2の書込み装置を含んでおり、何れかの書込み装置を用いた記録媒体へのデータの書込み中に未書込みのデータが発生した旨の通知を受信すると当該書込み装置から未書込みのデータを取得する情報処理装置と接続される書込みシステムが提供される。第1の書込み装置は、第1の書込み部を有する。第1の書込み部は、記録媒体と記録媒体とは異なる記憶部とを備え第1の書込み装置に収納されたカートリッジの記録媒体へのデータの書込み中に未書込みのデータが発生すると、未書込みのデータが情報処理装置に取得されないようにするためのダミーの情報を情報処理装置に送信し、未書込みのデータを記憶部に書込む。第2の書込み装置は、第2の書込み部を有する。第2の書込み部は、第1の書込み装置から第2の書込み装置へカートリッジが移されると、記憶部に記憶された未書込みのデータを、記録媒体に書込む。
また、一実施態様では、記録媒体へのデータの書込みを行っている装置から未書込みのデータが発生した旨の通知を受信すると当該装置から未書込みのデータを取得する情報処理装置により、記録媒体へのデータの書込みに用いられる書込み装置が提供される。書込み装置は、第1の書込み部と第2の書込み部とを有する。第1の書込み部は、記録媒体と記録媒体とは異なる記憶部とを備え自身に収納されたカートリッジの記録媒体へのデータの書込み中に未書込みのデータが発生すると、未書込みのデータが情報処理装置に取得されないようにするためのダミーの情報を情報処理装置に送信し、未書込みのデータを記憶部に書込む。第2の書込み部は、第1の書込み部から自身へカートリッジが移されると、記憶部に記憶された未書込みのデータを、記録媒体に書込む。
また、一実施態様では、第1および第2の書込み装置を含んでおり、何れかの書込み装置を用いた記録媒体へのデータの書込み中に未書込みのデータが発生した旨の通知を受信すると当該書込み装置から未書込みのデータを取得する情報処理装置と接続される書込みシステムで実行される書込み方法が提供される。書込み方法では、第1の書込み装置を用いて、記録媒体と記録媒体とは異なる記憶部とを備え第1の書込み装置に収納されたカートリッジの記録媒体へデータを書込んでいるときに、未書込みのデータが発生すると、未書込みのデータを記憶部に書込み、未書込みのデータが情報処理装置に取得されないようにするためのダミーの情報を情報処理装置に送信する。第1の書込み装置から第2の書込み装置へカートリッジが移されると、第2の書込み装置を用いて、記憶部に記憶された未書込みのデータを、記録媒体に書込む。
また、一実施態様では、記録媒体へのデータの書込みを行っている装置から未書込みのデータが発生した旨の通知を受信すると当該装置から未書込みのデータを取得する情報処理装置により、記録媒体へのデータの書込みに用いられる書込み装置で実行される書込み方法が提供される。書込み方法では、書込み装置は記録媒体にデータを書込む第1および第2の書込み部を有しており、第1の書込み部を用いて、記録媒体と記録媒体とは異なる記憶部とを備え第1の書込み部に収納されたカートリッジの記録媒体へのデータを書込んでいるときに、未書込みのデータが発生すると、未書込みのデータを記憶部に書込み、未書込みのデータが情報処理装置に取得されないようにするためのダミーの情報を情報処理装置に送信する。第1の書込み部から第2の書込み部へカートリッジが移されると、第2の書込み部を用いて、記憶部に記憶された未書込みのデータを、記録媒体に書込む。
一実施態様によれば、データ退避用の記憶領域を低コストで拡張できる。
第1の実施の形態の書込みシステムを示す図である。 第2の実施の形態の情報処理システムを示す図である。 第2の実施の形態のテープ装置のハードウェア例を示す図である。 第2の実施の形態のサーバのハードウェア例を示す図である。 第2の実施の形態のソフトウェア例を示す図である。 第2の実施の形態の制御テーブルの例を示す図である。 第2の実施の形態の未書込みデータテーブルの例を示す図である。 第2の実施の形態のエラー時の前処理の例を示すフローチャートである。 第2の実施の形態のエラー時の前処理の具体例を示す図である。 第2の実施の形態のエラー時の前処理の具体例(続き)を示す図である。 第2の実施の形態のエラー時の後処理の例を示すフローチャートである。 第2の実施の形態のエラー時の後処理の具体例を示す図である。 第2の実施の形態の書込み再開処理の例を示すフローチャートである。 書込みエラー時の処理の比較例を示す図である。 第3の実施の形態のエラー時の前処理の例を示すフローチャートである。 第3の実施の形態の書込み再開処理の例を示すフローチャートである。 第4の実施の形態のエラー時の前処理の例を示すフローチャートである。 第4の実施の形態の書込み再開処理の例を示すフローチャートである。 第5の実施の形態のテープ装置のハードウェア例を示す図である。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の書込みシステムを示す図である。第1の実施の形態の書込みシステムは、書込み装置1,2を含む。第1の実施の形態の書込みシステムは、情報処理装置3と接続されている。情報処理装置3は、書込み装置1,2に対する上位装置ということもできる。書込み装置1,2は、自装置に収納されたカートリッジ4の記録媒体4aに対し、情報処理装置3が出力するデータの書込みを行う。ここで、書込み装置1,2は、情報処理装置3が出力するデータを自身のバッファに格納する。書込み装置1,2は、自身のバッファに格納したデータを記録媒体4aへ書込む。
情報処理装置3は、書込み装置1を用いた記録媒体4aへのデータの書込み時に書込み装置1から未書込みのデータの発生の通知を受ける。すると、情報処理装置3は、バッファリングされた未書込みのデータを書込み装置1から取得して、情報処理装置3の主記憶装置上の所定の退避領域に保持する。情報処理装置3は、オペレータに指示して、カートリッジ4を書込み装置2へ移動させる。情報処理装置3は、書込み装置2を用いてカートリッジ4の記録媒体4aに対し、自身の退避領域に保持した未書込みのデータを書込む。この方法は、DDRと呼ばれることがある。
ここで、カートリッジ4は、記録媒体4aおよび記憶部4bを有する。記録媒体4aは、記憶部4bに比べて記憶領域のサイズが大きく、大量のデータを格納できる。記録媒体4aは、例えば、磁気テープ媒体である。記憶部4bは、記録媒体4aとは異なる媒体に設けられた記憶部である。記憶部4bは、書込み装置1,2の障害などで記録媒体4aへの未書込みのデータが発生した場合に、当該未書込みのデータを退避させるための記憶領域である。記憶部4bは、例えば、半導体メモリである。
書込み装置1は、書込み部1aを有する。書込み部1aは、記録媒体4aへのデータの書込み中に未書込みのデータが発生すると、未書込みのデータを記憶部4bに書込む。このとき、書込み部1aは、未書込みのデータが情報処理装置3に取得されないようにするためのダミーの情報を情報処理装置3に送信する。
ダミーの情報は、情報処理装置3による既存の処理を阻害しない情報である。例えば、ダミーの情報は、未書込みのデータが発生していない旨を通知する情報である。あるいは、未書込みのデータが発生したことを情報処理装置3に通知した後、情報処理装置3が未書込みのデータを取得しようとするときに、未書込みのデータよりもサイズの小さな所定のデータを、ダミーの情報として送信してもよい。この場合、情報処理装置3は、未書込みのデータの代わりに、ダミーの情報を受信することになる。
書込み装置2は、書込み部2aを有する。書込み部2aは、書込み装置1から書込み装置2へカートリッジ4が移されると、記憶部4bに記憶された未書込みのデータを記録媒体4aに書込む。
その後、情報処理装置3は、書込み装置2を用いて、記録媒体4aに対する通常の書込みを再開する。ここで、書込み装置2は未書込みのデータの記録媒体4aへの書込みが完了した後に、書込みの継続が可能な旨を情報処理装置3に通知してもよい。そうすれば、情報処理装置3は、当該通知を受けて、通常の書込みを再開できる。
第1の実施の形態の書込みシステムによれば、書込み部1aにより、カートリッジ4の記録媒体4aへのデータの書込み中に未書込みのデータが発生すると(ステップS1)、未書込みのデータが記憶部4bに書込まれる(ステップS2)。このとき、書込み部1aにより、情報処理装置3にダミーの情報が送られる(ステップS3)。ダミーの情報が送られることで未書込みのデータが情報処理装置3に取得されない。書込み装置1から書込み装置2へカートリッジ4が移動されると、書込み部2aにより、記憶部4bに記憶された未書込みのデータが取得され(ステップS4)、記録媒体4aに書込まれる(ステップS5)。
これにより、データ退避用の記憶領域を低コストで拡張可能となる。具体的には、書込み装置1は、情報処理装置3にダミーの情報を送信することで、情報処理装置3が未書込みのデータを取得するのを抑制する。これにより、情報処理装置3によるDDRの処理のうち、データ退避の処理を一部制限できる。そして、書込み装置1,2は記憶部4bを用いた未書込みのデータの退避および記録媒体4aへの未書き込みのデータの書込みを情報処理装置3とは独立に行える。このようにして、カートリッジ4に設けた記憶部4bをデータ退避用の記憶領域として容易に利用できるようになる。特に、情報処理装置3の既存のDDRの処理を作り変えずに済むので、記憶領域の拡張のために生じ得るコストを抑えられる。
[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、テープ装置100,100a、サーバ200およびストレージ装置300を含む。テープ装置100,100a、サーバ200およびストレージ装置300は、ネットワーク10で接続されている。ネットワーク10は、例えば、イーサネット(登録商標)やファイバチャネル(FC:Fibre Channel)などを用いたSAN(Storage Area Network)である。
テープ装置100,100aは、カートリッジ400に収められた記録媒体にデータを書込む書込み装置である。テープ装置100,100aは、筐体内部に複数のカートリッジ400を格納したライブラリ装置やチェンジャ装置などと呼ばれる装置でもよい。
ここで、カートリッジ400は磁気テープ410およびカートリッジメモリ(CM:Cartridge Memory)420を有する。磁気テープ410は、磁気テープ媒体である。磁気テープ410は、CM420よりも記憶領域のサイズが大きく、大量のデータの格納が可能である。磁気テープ410には、例えば、サーバ200が扱うデータのバックアップが格納される。CM420は、半導体メモリである。CM420は、データの退避用に利用される。
なお、テープ装置100,100aおよび磁気テープ410としては、例えば、LTO(Linear Tape Open、登録商標)、DLT(Digital Linear Tape、登録商標)、AIT(Advanced Intelligent Tape、登録商標)、DDS(Digital Data Storage、登録商標)などの規格に準拠したものが考えられる。
例えば、LTO5では、磁気テープ410全体で約1.6Tバイト(Terabytes)の記憶領域を利用可能である。一方、CM420では、例えば、数Gバイト(Gigabytes)〜数十Gバイト程度の記憶領域を利用可能である。
サーバ200は、他のサーバ装置やクライアント装置など(図示を省略)に所定のサービスを提供するサーバコンピュータである。サーバ200は、テープ装置100,100aを用いて、自身やストレージ装置300に格納されたデータのバックアップを行う。ここで、サーバ200はDDRの機能を備えている。なお、サーバ200は、端末装置からの入力に対して処理を実行するホストコンピュータと呼ばれるものでもよい。
ストレージ装置300は、サーバ200の処理に用いるデータを格納するための記憶装置である。例えば、サーバ200がデータベース(DB:DataBase)サーバとして機能する場合、ストレージ装置300には、DBの本体が格納される。
図3は、第2の実施の形態のテープ装置のハードウェア例を示す図である。テープ装置100は、MPU(Micro Processing Unit)110、不揮発性メモリ(NVRAM: Non Volatile Random Access Memory)120、バッファ130、ドライブ140および通信部150を有する。各ユニットがテープ装置100のバスに接続されている。
MPU110は、テープ装置100の情報処理を制御するプロセッサである。
不揮発性メモリ120は、MPU110が実行するファームウェアのプログラムを記憶する。また、MPU110による処理に用いるデータを記憶する。
バッファ130は、サーバ200から取得した書込み対象のデータを、一時的に格納するための記憶領域である。
ドライブ140は、カートリッジ400を収納可能である。ドライブ140は、MPU110の命令にしたがって、収納されたカートリッジ400に対するデータの書込み/読出しを行う。ドライブ140は、テープ記録部141およびメモリ記録部142を有する。テープ記録部141は、磁気テープ410に対するデータの書込み/読出しを行う。メモリ記録部142は、CM420に対するデータの書込み/読出しを行う。
通信部150は、ネットワーク10を介して、サーバ200と通信を行う通信インタフェースである。
図4は、第2の実施の形態のサーバのハードウェア例を示す図である。サーバ200は、CPU(Central Processing Unit)210、RAM(Random Access Memory)220、HDD(Hard Disk Drive)230、画像信号処理部240、入力信号処理部250、出力信号処理部260、ディスクドライブ270および通信部280を有する。各ユニットがサーバ200のバスに接続されている。
CPU210は、サーバ200の情報処理を制御するプロセッサである。CPU210は、HDD230に記憶されているプログラムやデータの少なくとも一部を読み出し、RAM220に展開してプログラムを実行する。
RAM220は、CPU210が実行するプログラムや処理に用いるデータを一時的に記憶する揮発性メモリである。
HDD230は、OS(Operating System)プログラムやアプリケーションプログラムなどのプログラムおよびデータを記憶する不揮発性の記憶装置である。HDD230は、CPU210の命令にしたがって、内蔵の磁気ディスクに対してデータの読み書きを行う。
画像信号処理部240は、CPU210の命令にしたがって、サーバ200に接続されたディスプレイ11に画像を出力する。ディスプレイ11としては、例えば、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。
入力信号処理部250は、サーバ200に接続された入力デバイス12から入力信号を取得し、CPU210に出力する。入力デバイス12としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
出力信号処理部260は、CPU210の命令にしたがって、CPU210から出力信号を取得し、サーバ200に接続された出力デバイス13に出力する。出力デバイス13としては、例えば、プリンタを用いることができる。
ディスクドライブ270は、記録媒体14に記録されたプログラムやデータを読み取る駆動装置である。ディスクドライブ270で扱う記録媒体14としては、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)がある。ディスクドライブ270は、例えば、CPU210の命令にしたがって、記録媒体14から読み取ったプログラムやデータをRAM220またはHDD230に格納する。
通信部280は、ネットワーク10を介してテープ装置100,100aと通信を行う通信インタフェースである。
図5は、第2の実施の形態のソフトウェア例を示す図である。図5に示すユニットの一部または全部は、テープ装置100およびサーバ200が実行するプログラムのモジュールであってもよい。また、図5に示すユニットの一部または全部は、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)などの電子回路であってもよい。テープ装置100aもテープ装置100と同様のユニットを用いて実装できる。
テープ装置100は、サーバ通信部111、サーバ命令処理部112、ドライブ通信部113、ドライブ命令処理部114およびバッファ制御部115を有する。
サーバ通信部111は、サーバ200と通信する。サーバ通信部111は、サーバ200から受信した命令をサーバ命令処理部112に出力する。
サーバ命令処理部112は、サーバ通信部111から取得した命令に応じた処理を実行する。例えば、データの書込み命令を取得した場合、サーバ命令処理部112は書込み対象のデータをバッファ130に格納し、サーバ200に書込み済を応答する。サーバ命令処理部112によるバッファ130の操作は、バッファ制御部115を介して行われる。バッファ130に書込まれたデータは、ドライブ命令処理部114により、磁気テープ410に書込まれる。サーバ命令処理部112とサーバ200との通信は、サーバ通信部111を介して行われる。また、例えば、磁気テープ410からのデータの読出し命令を受信した場合、サーバ命令処理部112は、磁気テープ410に格納されたデータをドライブ命令処理部114に読出させ、バッファ130に格納させる。サーバ命令処理部112は、バッファ130に格納されたデータをサーバ200に応答する。このように、サーバ200から磁気テープ410へのデータの書込みは、バッファ130を介して行われる。同様に、サーバ200による磁気テープ410からのデータの読出しは、バッファ130を介して行われる。
ドライブ通信部113は、ドライブ140と通信する。また、ドライブ通信部113は、ドライブ140の状態を監視する。ドライブ通信部113は、磁気テープ410に対するデータの書込み中にテープ記録部141の動作で異常が発生し、書込みに失敗した場合、ドライブ命令処理部114にエラーを通知する。
ドライブ命令処理部114は、サーバ命令処理部112からのデータの書込み/読出しの指示に応じて、磁気テープ410に対する書込み/読出しを実行する。ドライブ命令処理部114は、磁気テープ410から読出したデータをバッファ130に格納する。ドライブ命令処理部114とドライブ140との通信は、ドライブ通信部113を介して行われる。ドライブ命令処理部114によるバッファ130の操作は、バッファ制御部115を介して行われる。
また、ドライブ命令処理部114は、ドライブ通信部113からエラーの通知を受け付けると、当該エラーをサーバ命令処理部112およびバッファ制御部115に通知する。ここで、エラーの通知を受けたサーバ命令処理部112は、エラーが発生した旨をサーバ200に送信する。
更に、ドライブ命令処理部114は、バッファ制御部115からの指示により、CM420にデータを書込む。ここで、CM420に書込まれるデータは、障害発生時にバッファ130に残った未書込みのデータ(以下、未書込みデータという)である。また、ドライブ命令処理部114は、CM420に格納された未書込みデータを読出し、バッファ130に格納する。ドライブ命令処理部114は、バッファ130に格納された未書込みデータを磁気テープ410に書込む。
バッファ制御部115は、サーバ命令処理部112およびドライブ命令処理部114からの指示によりバッファ130に対するデータの書込み/読出しを行う。また、バッファ制御部115は、ドライブ命令処理部114からエラーの通知を受けると、バッファ130に格納された(書込まれた)未書込みデータをCM420に書込むようにドライブ命令処理部114に指示する。
サーバ200は、DDR処理部211およびDDR用記憶部221を有する。
DDR処理部211は、サーバ200によるDDR処理を制御する。具体的には、DDR処理部211は、エラーの通知とともに、未書込みデータが発生した旨をテープ装置100から受信すると、当該未書込みデータを提供するようにテープ装置100に指示する。DDR処理部211は、テープ装置100から取得した未書込みデータをDDR用記憶部221に格納する。その後、DDR処理部211は、テープ装置100に収納されたカートリッジ400をテープ装置100aに移すようにオペレータに指示する。DDR処理部211は、カートリッジ400がテープ装置100aに移されると、テープ装置100aを用いて、DDR用記憶部221に格納された未書込みデータを磁気テープ410に書込む。なお、DDR処理部211は、テープ装置100,100a間でカートリッジ400を移動させるロボットがある場合、当該ロボットにカートリッジ400の移し替えを指示してもよい。
DDR用記憶部221は、サーバ200がDDRの処理を行う際に、テープ装置100のバッファ130に残った未書込みデータを退避させるための記憶領域である。DDR用記憶部221は、RAM220上の記憶領域を用いて実装できる。
図6は、第2の実施の形態の制御テーブルの例を示す図である。制御テーブル421は、ドライブ命令処理部114により、CM420に格納される。制御テーブル421は、書込み失敗時の磁気テープ410のBID(Block IDentifier)およびCM420に書込まれた未書込みデータ数を含む。
書込み失敗時のBIDは、書込みに失敗した時にテープ記録部141が書込みを行っていた磁気テープ410のアドレスである。書込み失敗時のBIDには、例えば、CM420のうち4バイトの領域が割り当てられる。
CM420に書込まれた未書込みデータ数は、CM420に書込まれた未書込みデータの数である。当該未書込みデータ数には、例えば、書込み失敗時のBIDに割り当てられた領域の次の2バイトの領域が割り当てられる。
当該未書込みデータ数の領域の次の2バイトの領域は、例えば予備領域である。
制御テーブル421aは、制御テーブル421に具体的な値を設定した場合を例示している。例えば、書込み失敗時のBIDには“0x00000002”(“0x00”,“0x00”,“0x00”,“0x02”)という情報が設定される。これは、磁気テープ410の2ブロック目で書込み失敗が発生したことを示す。すなわち、当該アドレス(2ブロック目)から未書込みデータの書込みを開始すべきことを示している。また、例えば、未書込みデータ数には“0x0003”(“0x00”,“0x03”)という情報が設定される。これは、CM420に格納された(書込み失敗時にバッファ130に格納されていた)未書込みデータの数が3であることを示す。
図7は、第2の実施の形態の未書込みデータテーブルの例を示す図である。未書込みデータテーブル422は、ドライブ命令処理部114により、CM420に格納される。未書込みデータテーブル422は、未書込みデータを格納したテーブルである。1つの未書込みデータに対して65535バイトの領域が割り当てられている。
各領域の最初の2バイトはデータ長を設定する領域である。各領域のデータ長以外の領域が、未書込みデータの本体を格納する領域である。
例えば、データ長には最大32768バイト(32Kバイト(Kilobytes))を指定可能とする。データ長を32Kバイトとした場合、65535バイトの領域のうち、最初の2バイトに続けて32Kバイト分の領域に未書込みデータの本体が格納される。余りの領域は予備の領域とする。なお、図7ではバイト数を16進数で表している。
未書込みデータテーブル422aは、未書込みデータテーブル422の先頭の領域に具体的な値を設定した場合を例示している。例えば、データ長には“0x8000”(“0x80”,“0x00”)という情報が設定される。これは、データ長が32Kバイトであることを示す。この場合、2バイト目から32770バイト目まで(32Kバイト分)に未書込みデータの本体が格納される。残りの領域(32771〜65535バイト)は予備の領域となる。
例えば、制御テーブル421で未書込みデータ数の最大値を65535とし、未書込みデータを65535個格納可能とする場合、未書込みデータテーブル422aでは、65535バイト×65535個=4Gバイトの記憶領域が利用できればよい。CM420として、制御テーブル421および未書込みデータテーブル422を格納できるだけの記憶領域を有するものを用いる。
次に、以上の構成の情報処理システムにおける磁気テープ410へのデータの書込みの手順を説明する。特に、データの書込み中にテープ記録部141で障害が発生し、書込みが失敗する場合を想定する。その場合、テープ装置100は、失敗したデータの書込みをテープ装置100aで継続できるよう、未書込みデータをCM420に格納する。テープ装置100によるこの処理をエラー時の前処理ということとする。また、CM420に格納されたデータに基づいて、テープ装置100aが行う処理をエラー時の後処理ということとする。
図8は、第2の実施の形態のエラー時の前処理の例を示すフローチャートである。以下、図8に示す処理をステップ番号に沿って説明する。なお、ステップS11の直前ではドライブ140にカートリッジ400が収納されているとする。
(ステップS11)サーバ命令処理部112は、サーバ200から取得したデータを、バッファ130に格納する(バッファリング)。ドライブ命令処理部114は、バッファ130に格納されたデータを、ドライブ140を用いて磁気テープ410に書込む。バッファ制御部115は、磁気テープ410への書込みに成功したデータをバッファ130から削除する。書込み中、ドライブ通信部113はテープ記録部141の状態を監視する。
(ステップS12)ドライブ通信部113は、テープ記録部141による書込みが失敗したか否かを判定する。書込みが失敗した場合、ドライブ通信部113はドライブ命令処理部114にエラーを通知して、処理をステップS13に進める。書込みが失敗していない場合、処理をステップS11に進めて監視を継続する。
(ステップS13)ドライブ命令処理部114は、ドライブ通信部113からエラーの通知を受けると、サーバ命令処理部112およびバッファ制御部115に当該エラーを通知する。ドライブ命令処理部114は、ドライブ通信部113から書込み失敗時の磁気テープのBIDを取得する。ドライブ命令処理部114は、メモリ記録部142を用いて、CM420に記憶された制御テーブル421の所定の領域に当該BIDを登録する。また、ドライブ命令処理部114は、エラー通知に応じてバッファ制御部115からバッファ130に記憶された未書込みデータの数を取得する。すると、ドライブ命令処理部114は、当該未書込みデータの数を、制御テーブル421の所定の領域に登録する。
(ステップS14)ドライブ命令処理部114は、バッファ制御部115を介して、バッファ130に記憶された未書込みデータを取得する。ドライブ命令処理部114は、CM420に記憶された未書込みデータテーブル422に、未書込みデータを順次格納する。ドライブ命令処理部114は、未書込みデータとともに、未書込みデータのデータ長も格納する。バッファ制御部115は、CM420に退避済の未書込みデータをバッファ130から削除する。
(ステップS15)サーバ命令処理部112は、ドライブ命令処理部114からエラーを受け付けた後、サーバ200から次のデータの書込み命令を受信したとき、当該データのバッファリングを行わずに、サーバ200に書込みエラーを報告する。このとき、サーバ命令処理部112は、書込みエラーとともに、未書込みデータが無い旨を報告する。例えば、サーバ200で管理する磁気テープ410の現在のBID(CHN BID:Channel BID)に対し、テープ装置100で書込みが成功しているBID(DEV BID:Device BID)を通知することで、未書込みデータの有無をサーバ200に通知することがある。この場合、CHN BIDよりもDEV BIDが小さければ未書込みデータ有りである。未書込みデータ有りならば、DDR処理部211は、CHN BIDとDEV BIDとの差分のアドレス範囲に対応するデータを、テープ装置100から取得する。一方、CHN BIDとDEV BIDとが一致すれば未書込みデータ無しである。例えばステップS15では、未書込みデータ無しに見せかけるため、サーバ命令処理部112は、CHN BIDと一致するDEV BIDをサーバ200に報告する。
(ステップS16)DDR処理部211は、テープ装置100から書込みエラーの報告を受けると、テープ装置100に対して再マウント要求を送信する。また、DDR処理部211は、オペレータにカートリッジ400をテープ装置100aに移すよう指示する。なお、DDRのために何れのテープ装置に移せばよいかは、DDR処理部211に予め設定される。
ここで、DDR処理部211は、ステップS15で未書込みデータ無しの報告をテープ装置100から受けている。よって、本処理ではDDR処理部211は、テープ装置100から未書込みデータの取得を行わない。
次に、図8で説明した各ステップにおける、バッファ130、磁気テープ410およびCM420の状態を具体的に説明する。
図9は、第2の実施の形態のエラー時の前処理の具体例を示す図である。各バッファの状態は、図8で説明した各ステップに対応している。サーバ200のデータを磁気テープ410に書込む際、サーバ200から所定量のデータを予め取得してバッファリングする。ここでは一例として、4つの書込み命令(WRITE)をバッファリングの1単位とする。すなわち、4つの書込み命令とともに取得したデータをバッファリングすると、磁気テープ410への書込みを実行する。まず、テープ装置100は、4つの書込み命令を順次受け付ける。すると、テープ装置100は、各書込み命令とともに受信した4つの未書込みデータWR1,WR2,WR3,WR4をバッファ130に格納する(ステップS11)。なお、テープ装置100は、各未書込みデータをバッファリングした時点で、サーバ200に書込み成功を応答する。サーバ200への応答を早めるためである。
次に、テープ装置100は、バッファ130に格納された未書込みデータWR1,WR2,WR3,WR4を、磁気テープ410に順次書込む。テープ装置100は、未書込みデータWR1の書込みに成功したとする。テープ装置100は、未書込みデータWR1をバッファ130から削除する。テープ装置100は、テープ記録部141の障害により、未書込みデータWR2の書込みに失敗したとする(ステップS12)。
すると、テープ装置100は、書込み失敗時のBIDをCM420の制御テーブル421に登録する。ここでは、書込み失敗時のBID=2(未書込みデータWR2を書込むべきアドレスに対応する)を例示している。また、テープ装置100は、バッファ130に格納された未書込みデータWR2,WR3,WR4をCM420の未書込みデータテーブル422に順次書込む(未書込みデータの退避)。テープ装置100は、退避が完了した未書込みデータをバッファ130から削除する(ステップS13〜S14)。
図10は、第2の実施の形態のエラー時の前処理の具体例(続き)を示す図である。テープ装置100は、サーバ200から5番目の書込み命令(未書込みデータWR5の書込みを要求するもの)を受信する。テープ装置100は、当該書込み命令に対して、書込みエラーを報告する。このとき、テープ装置100は、書込みエラーとともに未書込みデータがバッファ130に無いことを報告する。具体的には、未書込みデータWR5を書込むブロックのBIDが、例えば“5”であるとする。この場合、サーバ200が管理するCHN BID=5である。よって、テープ装置100は、DEV BID=CHN BID=5をサーバ200に報告する(サーバ200がテープ装置100aを用いてデータの書込みを再開すべきアドレスに対応する)。これにより、サーバ200に対し、未書込みデータ無しに見せかける。
サーバ200は、当該報告によりテープ装置100における未書込みデータWR5の書込み失敗を検出するが、未書込みデータWR2,WR3,WR4の書込み失敗は検出しない。このため、サーバ200は、別のテープ装置100aを用いて、今回要求した未書込みデータWR5の書込みから再開すればよいと判断する。したがって、サーバ200は、テープ装置100から未書込みデータWR2,WR3,WR4の取得を行わない。そして、サーバ200は、カートリッジ400のテープ装置100aへの再マウントをテープ装置100に要求する。また、サーバ200は、オペレータに対し、カートリッジ400をテープ装置100aに移すように指示する(ステップS15〜S16)。
次に、テープ装置100aによるエラー時の後処理を説明する。ここで、テープ装置100aは上述のようにテープ装置100と同様の機能を有している。以下では、テープ装置100aの各構成をテープ装置100の各構成と同一の名称で指し示すものとする。
図11は、第2の実施の形態のエラー時の後処理の例を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
(ステップS21)オペレータにより、テープ装置100aのドライブにカートリッジ400が移される。すると、テープ装置100aは、カートリッジ400のマウント処理を行う。以下、“テープ装置100a”の記載を省略するが、処理の主体となる各部はテープ装置100aに含まれる。
(ステップS22)ドライブ命令処理部は、CM420に未書込みデータが有るか否かを判定する。有る場合、処理をステップS23に進める。無い場合、処理をステップS26に進める。例えば、ドライブ命令処理部は、CM420に記憶された制御テーブル421の未書込みデータ数により、未書込みデータの有無を判断できる。未書込みデータ数が1以上であれば、未書込みデータ有りである。未書込みデータ数が0であれば、未書込みデータ無しである。
(ステップS23)ドライブ命令処理部は、CM420の未書込みデータテーブル422から未書込みデータを読み出して、バッファにコピーする。
(ステップS24)ドライブ命令処理部は、制御テーブル421の書込み失敗時のBIDを参照し、磁気テープ410の書込みブロック位置を変更するようテープ記録部を制御する。
(ステップS25)ドライブ命令処理部は、バッファに格納された未書込みデータを磁気テープ410の当該ブロック位置から書込む。バッファ制御部は、磁気テープ410への書込みが完了した未書込みデータをバッファおよびCM420から削除する。そして、処理を終了する。
(ステップS26)ドライブ命令処理部は、未書込みデータが無い旨をサーバ命令処理部に通知する。すると、サーバ命令処理部は、サーバ200にNRTR(Not Ready To Ready)を報告する。NRTRの報告は、磁気テープ410へのデータの書込みを再開する準備が整ったことをサーバ200に通知するための報告である。
(ステップS27)サーバ命令処理部は、磁気テープ410のブロック位置の変更命令をサーバ200から受信する。サーバ命令処理部は、ドライブ命令処理部に当該命令を通知する。ドライブ命令処理部は、磁気テープ410の書込みブロック位置を指定されたブロック位置に変更するようテープ記録部を制御する。
(ステップS28)サーバ命令処理部は、サーバ200から書込み対象のデータを受信してバッファリングする。ドライブ命令処理部は、当該ブロック位置からの通常のデータ書込みを再開する。
このようにして、CM420に退避された未書込みデータがテープ装置100aによって、磁気テープ410に追記される。
次に、図11で説明した各ステップ(ただし、CM420に未書込みデータが有る場合のみ)における、テープ装置100aのバッファ、磁気テープ410およびCM420の状態を具体的に説明する。なお、以下ではテープ装置100aのバッファを便宜的にバッファ130aと表記する。また、カートリッジ400がテープ装置100aに移されたときの磁気テープ410およびCM420の状態は、図10の状態と同一とする。
図12は、第2の実施の形態のエラー時の後処理の具体例を示す図である。テープ装置100aは、CM420に未書込みデータWR2,WR3,WR4があることを検出する。すると、テープ装置100aは、CM420に格納された未書込みデータWR2,WR3,WR4をバッファ130aにコピーする(ステップS23)。
テープ装置100aは、CM420の制御テーブル421を参照して、書込み失敗時のBIDを取得する。ここでは、BID=2である。テープ装置100aは、磁気テープ410の書込みブロック位置を“2”に変更する。テープ装置100aは、バッファ130aに格納された未書込みデータWR2,WR3,WR4を変更後のブロック位置から順次追記する(ステップS24〜S25)。テープ装置100aは、磁気テープ410への書込みが完了した未書込みデータをバッファおよびCM420から削除する。
テープ装置100aは、全ての未書込みデータを磁気テープ410に書込むと、サーバ200にNRTRを報告して通常の書込みを再開する。次に、その手順を説明する。
図13は、第2の実施の形態の書込み再開処理の例を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
(ステップS31)ドライブ命令処理部は、CM420に格納された未書込みデータの、磁気テープ410への書込みが全て正常に終了したか否かを判定する。正常に終了している場合、処理をステップS32に進める。正常に終了していない場合、処理をステップS35に進める。
(ステップS32)ドライブ命令処理部は、サーバ命令処理部に正常終了を通知する。サーバ命令処理部は、サーバ200にNRTRを報告する。
(ステップS33)サーバ命令処理部は、磁気テープ410のブロック位置の変更命令をサーバ200から受信する。サーバ命令処理部は、当該命令に対する処理(ブロック位置の変更)を行わずに、ブロック位置の変更が完了したことをサーバ200に応答する。ここで、ブロック位置の変更を行わずに済むのは、図11のステップS25を終えた段階で、サーバ200が指定するブロック位置へ移動済だからである。具体的には、図12の例でいえば、バッファ130aに格納された未書込みデータWR4(BID“4”に対応するブロック位置に書込まれる)の磁気テープ410への書込みが完了すると、磁気テープ410の次の記録開始点はBID“5”となっている。これに対し、サーバ200は、図10で説明したように、書込み失敗時のBIDを“5”と認識している。したがって、サーバ200は、BID“5”のブロック位置へ変更するようテープ装置100aに対する変更命令を発行することになる。よって、テープ装置100aは、当該命令に対してブロック位置の変更を行わなくてよい。
(ステップS34)サーバ命令処理部は、サーバ200から書込み対象のデータを受信してバッファリングする。ドライブ命令処理部は、当該ブロック位置からの通常のデータ書込みを再開する。そして、処理を終了する。以降、テープ装置100aでも書込みの監視を行う(図8のステップS11,S12に対応)。
(ステップS35)ドライブ命令処理部は、サーバ命令処理部にエラーを通知する。サーバ命令処理部は、サーバ200に報告するためのエラーを生成する。
(ステップS36)ドライブ命令処理部は、サーバ200にNRTRを報告する。
(ステップS37)サーバ命令処理部は、磁気テープ410のブロック位置の変更命令をサーバ200から受信する。
(ステップS38)サーバ命令処理部は、ブロック位置の変更命令に対し、ステップS35で生成したエラーをサーバ200に応答する。
このようにして、テープ装置100aは、CM420からの未書込みデータの書込みを完了すると、磁気テープ410に対する通常のデータ書込みを再開する。
なお、ステップS38の後、サーバ200は、テープ装置100aに対して再マウント要求を行い、オペレータに対して別のテープ装置にカートリッジ400を移すよう指示する。別のテープ装置にカートリッジ400が再度マウントされれば、当該別のテープ装置が図11,13で説明したテープ装置100aと同様の処理を行う。これにより、CM420に格納した未書込みデータを確実に磁気テープ410に書込める。
次に、サーバ200のDDR用記憶部221にデータを退避させる場合を例示して、上述の処理と比較する。
図14は、書込みエラー時の処理の比較例を示す図である。図14では、CM420を用いずに、サーバ200に設けられたDDR用記憶部221を用いてDDR処理を行う場合を例示している。このような処理が行われるのは、例えば、CM420を備えていないカートリッジの磁気テープ410にデータを書込む場合である。
まず、テープ装置100は、サーバ200から受信した未書込みデータWR1,WR2,WR3,WR4をバッファ130に格納する(ステップST1)。
次に、テープ装置100は、バッファ130に格納した未書込みデータを磁気テープ410に順次書込む。未書込みデータWR1の書込みに成功したとする。そして、未書込みデータWR2の書込みに失敗したとする(ステップST2)。
テープ装置100は、書込み失敗のエラーをサーバ200に報告する。テープ装置100は、当該エラーとともに、書込み失敗時のBID“2”をサーバ200に報告する。すると、サーバ200は、当該BID“2”に対応する未書込みデータWR2以降の未書込みデータを送信するようテープ装置100に指示する。テープ装置100は、指示された未書込みデータをサーバ200に順次送信する。サーバ200は、テープ装置100から受信した未書込みデータをDDR用記憶部221に格納して保持する。しかし、DDR用記憶部221として確保された記憶領域のサイズが未書込みデータWR2,WR3,WR4の合計サイズに比べて小さいことがある。この場合、例えば、未書込みデータWR2,WR3は退避できたが、未書込みデータWR4は退避できないという事態が発生し得る(ステップST3)。退避できていない未書込みデータが存在すると、サーバ200によるDDRの続行が困難になる。
特に、DDR用記憶部221は、RAM220のうちの所定の記憶領域を用いて実現される。その場合、DDR用記憶部221のサイズが固定値(例えば、1Gバイト程度)で割り当てられることがある。そこで、DDR用記憶部221のサイズを大きくするよう変更することが考えられる。しかしながら、RAM220の記憶領域は、他のデバイス(例えば、入力デバイス12や出力デバイス13など)に対しても固定的に割り当てられていることがある。このため、DDR用記憶部221のサイズを大きくすると、他のデバイスに割り当てた領域に影響を及ぼしてしまい、当該サイズの拡大が難しい場合がある。また、サーバ200が稼働中であると、当該サイズの拡大のための作業を行うこと自体が難しい。
一方で、例えば、新しい世代のLTOのように、磁気テープ410で利用可能な記憶領域のサイズおよび記録速度は年々増加している。このため、テープ装置100側でバッファリングするデータ量も増加しており、DDR用記憶部221のサイズとバッファリングするデータ量との格差が大きくなる可能性が高まっている。特に、既存のサーバに対して、テープ装置を新たに導入する場合に、当該格差が発生する可能性が高い。
そこで、カートリッジ400にCM420を設けて、CM420を退避用の領域として利用することが考えられる。このようにすれば、未書込みデータを退避させる記憶領域を容易に拡張可能となるからである。ところが、その場合、サーバ200による既存のDDRの一連の処理に対し、CM420を用いた未書込みデータ退避/書込みの処理をどのように組み込むかが問題となる。例えば、DDRの処理を作り変えるとすると、そのための作業コストが問題となる。また、サーバ200が稼働中の場合には、DDRの処理を変更するための作業を行うことが難しい。
これに対し、第2の実施の形態のテープ装置100では、データの書込みに失敗した場合、バッファ130内に未書込みデータが残っていても、未書込みデータが無い旨を示すダミーの情報をサーバ200に送信する。これにより、サーバ200に対し未書込みデータが無いように見せかける。そうすれば、サーバ200に未書込みデータを取得されずに済む。そして、テープ装置100は、サーバ200に未書込みデータを退避させる代わりに、CM420に未書込みデータを退避させる。
更に、テープ装置100aは、CM420に格納された未書込みデータを磁気テープ410に書込んだ後に、サーバ200にNRTRを報告する。このため、サーバ200は、自身が認識している次のデータから書込み再開すればよい。
このように、テープ装置100,100aは、サーバ200の既存のDDRの処理に影響を与えずに、CM420に未書込みデータを退避させ、退避させた未書込みデータを磁気テープ410に書込める。このため、CM420を用いた退避領域のサイズの拡張を、サーバ200の既存のDDRの処理を作り変える場合に比べて、低コストで行えるようになる。
[第3の実施の形態]
以下、第3の実施の形態を説明する。前述の第2の実施の形態との相違点を主に説明し、同様の事項の説明を省略する。
第2の実施の形態では、CM420に全ての未書込みデータを格納する場合を例示した。一方、CM420に加えて、サーバ200のDDR用記憶部221を利用可能としてもよい。両方の記憶領域を利用すれば、より大きな記憶領域を退避領域として利用可能となるからである。そこで、第3の実施の形態では、CM420に加えて、DDR用記憶部221を利用可能とする機能を提供する。
ここで、第3の実施の形態の情報処理システムの全体構成は、図2で説明した第2の実施の形態の情報処理システムの全体構成と同様である。第3の実施の形態の情報処理システムに含まれる各装置を第2の実施の形態と同一の名称・符号を用いて示す。当該各装置のハードウェア例およびソフトウェア例は、図3〜5で説明した第2の実施の形態の各装置のハードウェア例およびソフトウェア例と同様である。第3の実施の形態の各装置の構成を第2の実施の形態と同一の名称・符号を用いて示す。
第3の実施の形態のテープ装置100,100aでは、第2の実施の形態で説明したエラー時の前処理、エラー時の後処理および書込み再開処理のうち、エラー時の前処理および書込み再開処理の一部が異なる。そこで、以下では、第3の実施の形態のエラー時の前処理および書込み再開処理の手順を説明する。
図15は、第3の実施の形態のエラー時の前処理の例を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。ここで、ステップS11〜S14,S15,S16は、図8の同一符号のステップと同様である。ただし、ステップS14からステップS14aへ進む点およびステップS14aからステップS15またはステップS15aに分岐する点が異なる。以下では、当該差分のステップを説明し、その他のステップの説明を省略する。
(ステップS14a)ドライブ命令処理部114は、CM420の容量を超過せずに未書込みデータのCM420へのコピーを完了できたか否かを判定する。完了できた場合、処理をステップS15に進める。CM420の容量を超過してしまい、未書込みデータのCM420へのコピーを完了できなかった場合、処理をステップS15aに進める。
(ステップS15a)ドライブ命令処理部114は、CM420に書込めなかった分の未書込みデータ(以下、残りデータという)に対応するBIDや残りデータ全体のデータ量を取得する。ドライブ命令処理部114は、サーバ命令処理部112に当該BIDやデータ量を通知する。
(ステップS15b)サーバ命令処理部112は、ドライブ命令処理部114から当該BIDなどの情報を受け付ける。サーバ命令処理部112は、サーバ200から次にデータの書込み命令を受信したとき、当該データのバッファリングを行わずに、サーバ200に書込みエラーを報告する。このとき、サーバ命令処理部112は、書込みエラーとともに、未書込みデータ有りを報告する。ただし、未書込みデータとして、CM420に書込めなかった残りデータを報告する。具体的には、ドライブ命令処理部114から取得した(残りデータの先頭の)BIDである。また、サーバ命令処理部112は、残りデータのデータ量もサーバ200に報告する。
(ステップS15c)サーバ命令処理部112は、残りデータの送信指示をサーバ200から受信する。サーバ命令処理部112は、バッファ130から残りデータを取得してサーバ200に送信する。そして、処理をステップS16に進める。
このようにして、サーバ命令処理部112は、CM420に退避済の未書込みデータを除いた残りデータについて書込みを行えなかったかのように、サーバ200に対して見せかける。この場合、サーバ200は、残りデータのみをDDR用記憶部221に退避させると判断する。
その後、カートリッジ400がテープ装置100aに移されると、テープ装置100aは、CM420に記憶された未書込みデータを磁気テープ410に書込む(図11で説明したエラー時の後処理)。
図16は、第3の実施の形態の書込み再開処理の例を示すフローチャートである。以下、図16に示す処理をステップ番号に沿って説明する。ここで、ステップS31,S32およびステップS34〜S38は、図13の同一符号のステップと同様である。ただし、ステップS32,S34の間にステップS33a,S33bを実行する点が異なる。以下では、当該差分のステップS33a,S33bを説明し、その他のステップの説明を省略する。
(ステップS33a)サーバ命令処理部は、磁気テープ410のブロック位置の変更命令をサーバ200から受信する。ここで、本ステップS33aでは、サーバ200はステップS15bでテープ装置100から報告を受けたBID(ブロック位置)をテープ装置100aに指定する点が図13のステップS33と異なる。サーバ命令処理部は、当該命令に対する処理(ブロック位置の変更)を行わずにブロック位置の変更が完了したことをサーバ200に応答する。
(ステップS33b)サーバ命令処理部は、サーバ200のDDR用記憶部221に退避した残りデータを、サーバ200から受信する。サーバ命令処理部は、受信した残りデータをバッファリングする。ドライブ命令処理部は、サーバ200から指定されたブロック位置からの残りデータの書込みを行う。そして、処理をステップS34に進める。ステップS34では、残りデータの書込み後のブロック位置から、通常のデータ書込みを再開する。
このようにして、サーバ200のDDR用記憶部221に退避された残りデータがテープ装置100aによって、磁気テープ410に追記される。テープ装置100aは、当該残りデータの書込みを完了すると、磁気テープ410に対する通常のデータ書込みを再開する。これにより、CM420に加え、DDR用記憶部221をも退避用の領域として利用可能となる。
[第4の実施の形態]
以下、第4の実施の形態を説明する。前述の第2,第3の実施の形態との相違点を主に説明し、同様の事項の説明を省略する。
第2,第3の実施の形態では、テープ装置100,100aは未書込みデータの有無について、サーバ200に対しダミーの報告を行うことで、未書込みデータの全部をサーバ200に取得させないようにした。一方、未書込みデータが有る旨をサーバ200に対して報告した上で、未書込みデータの代わりに、未書込みデータに比べてサイズの小さなダミーのデータをサーバ200に送るようにしてもよい。第4の実施の形態では、このように未書込みデータの代わりにダミーのデータをサーバ200に送る機能を提供する。
ここで、第4の実施の形態の情報処理システムの全体構成は、図2で説明した第2の実施の形態の情報処理システムの全体構成と同様である。第4の実施の形態の情報処理システムに含まれる各装置を第2の実施の形態と同一の名称・符号を用いて示す。当該各装置のハードウェア例およびソフトウェア例は、図3〜5で説明した第2の実施の形態の各装置のハードウェア例およびソフトウェア例と同様である。第4の実施の形態の各装置の構成を第2の実施の形態と同一の名称・符号を用いて示す。
第4の実施の形態のテープ装置100,100aでは、第2の実施の形態で説明したエラー時の前処理、エラー時の後処理および書込み再開処理のうち、エラー時の前処理および書込み再開処理の一部が異なる。そこで、以下では、第4の実施の形態のエラー時の前処理および書込み再開処理の手順を説明する。
図17は、第4の実施の形態のエラー時の前処理の例を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。ここで、ステップS11〜S14,S16は、図8の同一符号のステップと同様である。ただし、ステップS14,S16の間にステップS15d,S15eを実行する点が異なる。以下では、当該差分のステップS15d,S15eを説明し、その他のステップの説明を省略する。
(ステップS15d)サーバ命令処理部112は、ドライブ命令処理部114からエラーを受け付けた後、サーバ200から次のデータの書込み命令を受信した時、当該データのバッファリングを行わずに、サーバ200に書込みエラーを報告する。このとき、サーバ命令処理部112は、エラーとともに未書込みデータ有りを報告する。具体的には、図9,10の例でいえば、未書込みデータWR2で書込みに失敗した場合、当該未書込みデータWR2に対応するBID“2”をサーバ200に応答する。すると、サーバ200は、BID“2”で示されるブロック位置から、未書込みデータを追記すればよいと判断する。
(ステップS15e)サーバ命令処理部112は、バッファ130に格納された未書込みデータの送信指示をサーバ200から受信する。サーバ命令処理部112は、未書込みデータをサーバ200に送信する代わりに、未書込みデータのサイズよりも小さなダミーデータをサーバ200に送信する。そして、処理をステップS16に進める。
このようにして、テープ装置100は、未書込みデータをCM420に格納した後、サーバ200から未書込みデータの送信指示を受けると、ダミーデータをサーバ200に応答する。その後、カートリッジ400がテープ装置100aに移されると、テープ装置100aは、CM420に記憶された未書込みデータを磁気テープ410に書込む(図11で説明したエラー時の後処理)。
図18は、第4の実施の形態の書込み再開処理の例を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。ここで、ステップS31,S32およびステップS34〜S38は、図13の同一符号のステップと同様である。ただし、ステップS32,S34の間にステップS33c,S33dを実行する点が異なる。以下では、当該差分のステップS33c,S33dを説明し、その他のステップの説明を省略する。
(ステップS33c)サーバ命令処理部は、磁気テープ410のブロック位置の変更命令をサーバ200から受信する。ここで、本ステップS33cでは、サーバ200はステップS15dでテープ装置100から報告を受けたBID(ブロック位置)をテープ装置100aに指定する点が図13のステップS33と異なる。サーバ命令処理部は、当該命令に対する処理(ブロック位置の変更)を行わずにブロック位置の変更が完了したことをサーバ200に応答する。
(ステップS33d)サーバ命令処理部は、サーバ200から書込み命令とともにダミーデータを受信する。サーバ命令処理部は、受信したダミーデータを破棄する。サーバ命令処理部は、当該書込み命令に対する書込みを完了した旨をサーバ200に応答する。そして、処理をステップS34に進める。
このように、テープ装置100aは、サーバ200から書込み命令とともにダミーデータを受信したとしても、当該ダミーデータを破棄する。そして、テープ装置100aは、書込み処理を行わずに書込み完了をサーバ200に応答する。このような方法によっても、サーバ200の既存のDDR処理を変更せずに、CM420をデータ退避用の記憶領域として利用できる。このため、データ退避用の記憶領域を低コストで拡張できるようになる。
[第5の実施の形態]
以下、第5の実施の形態を説明する。前述の第2〜第4の実施の形態との相違点を主に説明し、同様の事項の説明を省略する。
第2〜第4の実施の形態では、未書込みデータが発生した場合に、テープ装置100,100aを用いて、書込みを継続する場合を例示した。これに対し、1台のテープ装置に複数のドライブが存在する場合には、当該テープ装置内でカートリッジ400を収納するドライブを変更して、書込みを継続してもよい。そこで、第5の実施の形態では、そのためのテープ装置を提供する。
ここで、第5の実施の形態の情報処理システムの全体構成は、図2で説明した第2の実施の形態の情報処理システムの全体構成と同様である。ただし、第5の実施の形態では、テープ装置100に代えて、テープ装置100bを設ける点が異なる。第5の実施の形態の情報処理システムに含まれる各装置(テープ装置100b以外)を第2の実施の形態と同一の名称・符号を用いて示す。
図19は、第5の実施の形態のテープ装置のハードウェア例を示す図である。テープ装置100bは、MPU110、不揮発性メモリ120、バッファ130、ドライブ140,140aおよび通信部150を有する。各ユニットがテープ装置100のバスに接続されている。ここで、MPU110、不揮発性メモリ120、バッファ130、ドライブ140および通信部150は、図3で説明したテープ装置100の各構成と同様であるため説明を省略する。
ドライブ140aは、カートリッジ400を収納可能である。ドライブ140aは、MPU110の命令にしたがって、収納されたカートリッジ400に対するデータの書込み/読出しを行う。ドライブ140aは、ドライブ140と同様にテープ記録部およびメモリ記録部を有する。テープ記録部は、磁気テープ410に対するデータの書込み/読出しを行う。メモリ記録部は、CM420に対するデータの書込み/読出しを行う。
また、テープ装置100bのソフトウェア例は、図5で説明したテープ装置100のソフトウェア例と同様である。ただし、テープ装置100bでは、ドライブ通信部113がドライブ140,140aの両方と通信可能な点が異なる。MPU110は、ドライブ140,140aの何れかを用いて、磁気テープ410に対するデータの書込みを行える。
第5の実施の形態では、例えば、テープ記録部141の障害によりドライブ140での磁気テープ410への書込みに失敗すると、メモリ記録部142はバッファ130に記憶された未書込みデータや書込み失敗時のBIDなどの情報をCM420に退避させる。そして、カートリッジ400がドライブ140aに移されると、ドライブ140aは、CM420に退避された未書込みデータを、磁気テープ410に追記する。
このように、複数のドライブを有するテープ装置100bにおいても、CM420への未書込みデータの退避、および、CM420に退避された未書込みデータの磁気テープ410への書込みを行うことができる。テープ装置100bは、前述の第2〜第4の実施の形態と同様に、CM420に未書込みデータを退避する際、サーバ200にダミーの情報を送信することで、サーバ200に未書込みデータを取得されないようにする。なお、“未書込みデータを取得されないようにする”とは、未書込みデータの少なくとも一部を取得されないようにすることを含む。これによって、サーバ200に退避するデータ量を軽減できる。また、サーバ200による既存のDDRの処理を変更せずに済み、CM420を用いて、退避領域を低コストで拡張できるようになる。
1,2 書込み装置
1a,2a 書込み部
3 情報処理装置
4 カートリッジ
4a 記録媒体
4b 記憶部

Claims (8)

  1. 第1および第2の書込み装置を含んでおり、何れかの書込み装置を用いた記録媒体へのデータの書込み中に未書込みのデータが発生した旨の通知を受信すると当該書込み装置から前記未書込みのデータを取得する情報処理装置と接続される書込みシステムであって、
    前記第1の書込み装置は、
    前記記録媒体と前記記録媒体とは異なる記憶部とを備え前記第1の書込み装置に収納されたカートリッジの前記記録媒体への前記データの書込み中に前記未書込みのデータが発生すると、前記未書込みのデータが前記情報処理装置に取得されないようにするためのダミーの情報を前記情報処理装置に送信し、前記未書込みのデータを前記記憶部に書込む第1の書込み部を有し、
    前記第2の書込み装置は、
    前記第1の書込み装置から前記第2の書込み装置へ前記カートリッジが移されると、前記記憶部に記憶された前記未書込みのデータを、前記記録媒体に書込む第2の書込み部を有する、
    書込みシステム。
  2. 前記第1の書込み部は、前記ダミーの情報として、前記未書込みのデータが発生していない旨の通知を前記情報処理装置に送信する、請求項1記載の書込みシステム。
  3. 前記第1の書込み部は、前記未書込みのデータが発生すると、前記未書込みのデータが発生した旨の通知を前記情報処理装置に送信し、前記未書込みのデータの送信指示を前記情報処理装置から受信すると、前記未書込みのデータに代えて、前記未書込みのデータよりもサイズの小さな所定のデータを、前記ダミーの情報として、前記情報処理装置に送信する、請求項1記載の書込みシステム。
  4. 前記第1の書込み部は、前記第2の書込み装置が前記未書込みのデータの書込みを開始すべき前記記録媒体の第1のアドレスを前記記憶部に格納し、前記情報処理装置が前記第2の書込み装置を用いて前記記録媒体へのデータの書込みを再開すべきアドレスとして、前記第1のアドレスとは異なる第2のアドレスを前記情報処理装置に報告する、請求項1乃至3の何れか一項に記載の書込みシステム。
  5. 前記第1の書込み部は、前記未書込みのデータのうち、前記記憶部に書込めなかった残りデータが発生した場合、前記残りデータを前記情報処理装置に取得させ、
    前記第2の書込み部は、前記記憶部に記憶された前記未書込みのデータの一部と前記情報処理装置が保持する前記残りデータとを前記記録媒体に書込む、
    請求項1乃至4の何れか一項に記載の書込みシステム。
  6. 記録媒体へのデータの書込みを行っている装置から未書込みのデータが発生した旨の通知を受信すると当該装置から前記未書込みのデータを取得する情報処理装置により、前記記録媒体へのデータの書込みに用いられる書込み装置であって、
    前記記録媒体と前記記録媒体とは異なる記憶部とを備え自身に収納されたカートリッジの前記記録媒体への前記データの書込み中に前記未書込みのデータが発生すると、前記未書込みのデータが前記情報処理装置に取得されないようにするためのダミーの情報を前記情報処理装置に送信し、前記未書込みのデータを前記記憶部に書込む第1の書込み部と、
    前記第1の書込み部から自身へ前記カートリッジが移されると、前記記憶部に記憶された前記未書込みのデータを、前記記録媒体に書込む第2の書込み部と、
    を有する書込み装置。
  7. 第1および第2の書込み装置を含んでおり、何れかの書込み装置を用いた記録媒体へのデータの書込み中に未書込みのデータが発生した旨の通知を受信すると当該書込み装置から前記未書込みのデータを取得する情報処理装置と接続される書込みシステムで実行される書込み方法であって、
    前記第1の書込み装置を用いて、前記記録媒体と前記記録媒体とは異なる記憶部とを備え前記第1の書込み装置に収納されたカートリッジの前記記録媒体へ前記データを書込んでいるときに、前記未書込みのデータが発生すると、前記未書込みのデータを前記記憶部に書込み、前記未書込みのデータが前記情報処理装置に取得されないようにするためのダミーの情報を前記情報処理装置に送信し、
    前記第1の書込み装置から前記第2の書込み装置へ前記カートリッジが移されると、前記第2の書込み装置を用いて、前記記憶部に記憶された前記未書込みのデータを、前記記録媒体に書込む、
    書込み方法。
  8. 記録媒体へのデータの書込みを行っている装置から未書込みのデータが発生した旨の通知を受信すると当該装置から前記未書込みのデータを取得する情報処理装置により、前記記録媒体へのデータの書込みに用いられる書込み装置で実行される書込み方法であって、
    前記書込み装置は、前記記録媒体にデータを書込む第1および第2の書込み部を有しており、
    前記第1の書込み部を用いて、前記記録媒体と前記記録媒体とは異なる記憶部とを備え前記第1の書込み部に収納されたカートリッジの前記記録媒体への前記データを書込んでいるときに、前記未書込みのデータが発生すると、前記未書込みのデータを前記記憶部に書込み、前記未書込みのデータが前記情報処理装置に取得されないようにするためのダミーの情報を前記情報処理装置に送信し、
    前記第1の書込み部から前記第2の書込み部へ前記カートリッジが移されると、前記第2の書込み部を用いて、前記記憶部に記憶された前記未書込みのデータを、前記記録媒体に書込む、
    書込み方法。
JP2012019670A 2012-02-01 2012-02-01 書込みシステム、書込み装置および書込み方法 Expired - Fee Related JP5786739B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012019670A JP5786739B2 (ja) 2012-02-01 2012-02-01 書込みシステム、書込み装置および書込み方法
US13/751,308 US8811133B2 (en) 2012-02-01 2013-01-28 Writing system, writing device, and writing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012019670A JP5786739B2 (ja) 2012-02-01 2012-02-01 書込みシステム、書込み装置および書込み方法

Publications (2)

Publication Number Publication Date
JP2013161100A true JP2013161100A (ja) 2013-08-19
JP5786739B2 JP5786739B2 (ja) 2015-09-30

Family

ID=48870097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012019670A Expired - Fee Related JP5786739B2 (ja) 2012-02-01 2012-02-01 書込みシステム、書込み装置および書込み方法

Country Status (2)

Country Link
US (1) US8811133B2 (ja)
JP (1) JP5786739B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014130475A (ja) * 2012-12-28 2014-07-10 Fujitsu Ltd ライブラリ装置、制御方法、及びプログラム
CN111785306B (zh) * 2019-04-03 2021-06-08 光宝电子(广州)有限公司 一种光碟机系统中光碟片写入失败时的控制方法
JP2021144663A (ja) * 2020-03-13 2021-09-24 富士通株式会社 ストレージシステム、移行元のストレージ装置および移行先のストレージ装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06175792A (ja) * 1992-12-10 1994-06-24 Fujitsu Ltd 磁気テープ装置を用いたサブシステムのエラー回復処理装置及び方法
JP2003263840A (ja) * 2002-03-08 2003-09-19 Canon Inc 書き込みエラー処理方式
JP2010015573A (ja) * 2008-07-04 2010-01-21 Samsung Electronics Co Ltd データコピー方法及び該装置
JP2011146105A (ja) * 2010-01-15 2011-07-28 Internatl Business Mach Corp <Ibm> データの書込みを制御する装置及び方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06175793A (ja) 1992-12-08 1994-06-24 Nec Eng Ltd 光ディスク装置
JPH09161452A (ja) 1995-12-08 1997-06-20 Sony Corp メモリ付きテープカセット及びメモリ付きテープカセットの検索方法
US8189439B2 (en) * 2010-07-16 2012-05-29 Mediatek Inc. Data recording method and apparatus for re-verifying correctness of recorded data on optical storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06175792A (ja) * 1992-12-10 1994-06-24 Fujitsu Ltd 磁気テープ装置を用いたサブシステムのエラー回復処理装置及び方法
JP2003263840A (ja) * 2002-03-08 2003-09-19 Canon Inc 書き込みエラー処理方式
JP2010015573A (ja) * 2008-07-04 2010-01-21 Samsung Electronics Co Ltd データコピー方法及び該装置
JP2011146105A (ja) * 2010-01-15 2011-07-28 Internatl Business Mach Corp <Ibm> データの書込みを制御する装置及び方法

Also Published As

Publication number Publication date
JP5786739B2 (ja) 2015-09-30
US20130194904A1 (en) 2013-08-01
US8811133B2 (en) 2014-08-19

Similar Documents

Publication Publication Date Title
JP6056453B2 (ja) プログラム、データ管理方法および情報処理装置
US7461201B2 (en) Storage control method and system for performing backup and/or restoration
EP0405926A2 (en) Method and apparatus for managing a shadow set of storage media
JP2005301497A (ja) ストレージ管理装置、リストア方法及びそのプログラム
JP2007537522A (ja) 仮想テープ内の仮想ボリューム・データの動的ローディング
US11868625B2 (en) Alert tracking in storage
US7117320B2 (en) Maintaining data access during failure of a controller
JP2012022490A (ja) データ処理装置、データ処理方法、データ処理プログラムおよびストレージ装置
JP2005222404A (ja) 仮想記憶ユニットを備えた記憶制御サブシステム
US7159074B2 (en) Data storage system
JP5786739B2 (ja) 書込みシステム、書込み装置および書込み方法
JP2016071766A (ja) 情報処理装置、情報処理システムおよび書き込み制御プログラム
JP4322240B2 (ja) 再起動方法、システム及びプログラム
US8482875B2 (en) Tape library control apparatus and tape library control method
US6697866B1 (en) Access control method for data stored in fixed-block length format in computer configurations utilizing variable length data format interfaces
US20070226547A1 (en) Disk controller and controlling method of the same
US20100325373A1 (en) Duplexing Apparatus and Duplexing Control Method
US10866756B2 (en) Control device and computer readable recording medium storing control program
JP7368050B2 (ja) 仮想テープ装置、制御方法、及びプログラム
JP2005149248A (ja) メタデータ修復方式,方法および記憶装置ならびにプログラム
US8037268B2 (en) Storage system and operation method thereof
JP2023110180A (ja) ストレージ装置および制御方法
JP2017049817A (ja) ストレージ装置および制御プログラム
JP2006351137A (ja) アクセス制御装置,磁気ディスク装置及びアクセス制御方法
JP2011159150A (ja) ディスクアレイ装置、及びデータ制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150624

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150713

R150 Certificate of patent or registration of utility model

Ref document number: 5786739

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees