JP2016134050A - データライブラリシステム - Google Patents

データライブラリシステム Download PDF

Info

Publication number
JP2016134050A
JP2016134050A JP2015009064A JP2015009064A JP2016134050A JP 2016134050 A JP2016134050 A JP 2016134050A JP 2015009064 A JP2015009064 A JP 2015009064A JP 2015009064 A JP2015009064 A JP 2015009064A JP 2016134050 A JP2016134050 A JP 2016134050A
Authority
JP
Japan
Prior art keywords
data
recording
file
task
data library
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.)
Pending
Application number
JP2015009064A
Other languages
English (en)
Inventor
小林 正幸
Masayuki Kobayashi
正幸 小林
辻村 宏文
Hirofumi Tsujimura
宏文 辻村
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.)
Hitachi LG Data Storage Inc
Original Assignee
Hitachi LG Data Storage Inc
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 Hitachi LG Data Storage Inc filed Critical Hitachi LG Data Storage Inc
Priority to JP2015009064A priority Critical patent/JP2016134050A/ja
Priority to US14/972,414 priority patent/US20160210047A1/en
Publication of JP2016134050A publication Critical patent/JP2016134050A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/0683Plurality of storage devices
    • G06F3/0686Libraries, e.g. tape libraries, jukebox

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)
  • Library & Information Science (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】
データライブラリシステムにおいて、一つ以上の第一の記録媒体から複数の第二の記録媒体へ高速にデータ転送を行う。
【解決手段】
記録媒体毎に対応しかつ第一の記録装置から第二の記録装置にデータの転送を行うデータ転送タスクをコントローラ上で動作させ、前記第一の記録装置に格納されたデータを、前記第二の記録装置にデータを転送する際に、並行して動作する前記データ転送タスクの数を制限する。
【選択図】 図13

Description

本発明は、データライブラリシステムに関するものである。
本技術分野の背景技術として、特開2005−100264号公報(特許文献1)には「リアルタイム性を損なうことなく、必要なデータ転送バンド幅の低減を図る。」について記載されている。
特開2005−100264号公報
特許文献1では、少なくとも必要なバスバンド幅の大きい上位2つの処理の実行期間が同時に重ならないようにすることで、必要なバスバンド幅のピーク値を低く抑える発明である。
ところで、データを一旦ハードディスクに蓄えてから、該蓄えたデータをデータライブラリ装置にデータを転送して、データライブラリ装置内の複数の記録再生装置で記録させるデータライブラリシステムがある。
前記データライブラリシステムの記録性能は、ハードディスクに蓄えたデータを、データライブラリ装置に記録させる際の、ハードディスクからのデータ再生速度(以後ハードディスクの転送速度)と、データライブラリ装置内のデータ記録再生装置の合計記録速度(以後データライブラリ装置の記録速度)の遅い方で決まる。なので、必要となる記録性能に対して、十分な転送速度を持つハードディスクと、十分な記録速度を持つデータライブラリ装置をシステムに構成しなければならない。
そこで、前記データライブラリシステムに、前記ハードディスクの転送容量を抑制して、より廉価なハードディスクで処理を実現するために、特許文献1の技術を適用すると、以下の問題がある。
複数のデータライブラリ装置内の記録再生装置に記録するデータを、同じ実行期間にハードディスクからデータを読み出そうとすると、ハードディスクにランダムなIO要求が発生して、シーケンシャルIOよりも転送速度が低下する。
データライブラリ装置内の各記録再生装置に記録するデータが小さく、ハードディスク内に散り散りに配置されている場合は、同じ期間に実行する処理を制限することで、かえってハードディスクの転送速度が低下することがある。
そこで、本発明は、前記データライブラリシステム、データライブラリ装置において、ハードディスクのデータ転送を効率化して、廉価なハードディスク構成を用いて必要な記録性能で記録することが可能なデータライブラリシステム、データライブラリ装置を提供することを目的とする。
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本発明によれば、廉価なハードディスク構成を用いて必要な記録性能で記録することが可能なデータライブラリシステムを提供することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
データライブラリシステムにおけるデータライブラリ装置の構成を示すブロック図 データライブラリ装置の外観図(正面図) データライブラリ装置の外観図(側面図) データライブラリシステムにおけるサーバの構成を示すブロック図 データ記録再生装置の構成とデータ記録再生装置内の信号処理回路の構成を示すブロック図 光ディスク運搬装置の構成を示すブロック図 光ディスク運搬装置の外観図 データライブラリシステムのデータ記録のフローチャート 光ディスクへのデータ記録の詳細フローチャート 実施例1のファイルデータ記録のフローチャート 光ディスクの管理テーブルの一例 分割データの管理テーブルの一例 実施例2のファイルデータ記録のフローチャート 記録タスクの数の制限実施可否の状態遷移図 実施例3のファイルデータ記録のフローチャート 実施例3のポスト処理のフロー 実施例3のウェイト処理のフロー
以下、図面を用いて実施例を説明する。
図1はデータライブラリシステムの構成を示すブロック図である。
本システムでは、1台以上のサーバ115および端末120が、有線/無線のLAN(Local Area Network)やWAN(Wide Area Network)、光ケーブル等のネットワーク116で接続されている。
前記サーバ115には、ハードディスク117、表示装置118、データライブラリ装置101が接続されている。ハードディスク117やデータライブラリ装置101は複数台接続されても良い。
データライブラリ装置101は、CPU(Central Processing Unit)102、ユーザI/F部103、情報表示部104、メモリ105、光ディスク運搬装置106、光ディスク格納装置107、1枚以上の光ディスク108、1台以上のデータ記録再生装置(図1では3台109、110、111)、記憶装置112、光ディスク格納装置着脱検知部113、扉開閉検出部114、サーバI/F部119、認証処理部121から構成される。
データライブラリ装置101は、記録時には、サーバ115からデータ記録命令を受け、データを受け取り、受け取ったデータを光ディスク108a、108bに記録する。再生時には、光ディスク108a、108bからデータを再生し、サーバ115にデータを受け渡す。
CPU102は、サーバ115からの要求により、光ディスク運搬装置106を制御して、光ディスク格納装置107a、107bに格納された複数枚の光ディスク108a、108bの中から所望の光ディスクを選択し、データ記録再生装置109、110、111に送る。また、光ディスク運搬装置106を制御してデータ記録再生装置109、110、111から光ディスクを受け取り、光ディスク格納装置107a、107b内の所定の位置に光ディスクを格納する。また、記憶装置112a、112bへの情報の読み書きを行う他、光ディスク格納装置着脱検出部113、扉開閉検出部114が検出した情報を取得し、取得した情報に基づく制御を行う。また、サーバ115がデータライブラリ装置101を正規に認定された装置であるか否かを判定するために、あるいは両者が互いに正当な装置であることを確認するために、認証処理部121がサーバI/F部119を介して特定の認証プロトコルに準拠して認証実行するための制御を行う。
ユーザI/F部103は、各種スイッチなど、ユーザがデータライブラリ装置を操作するための手段を提供する。
情報表示部104は、内蔵あるいは外付けの液晶ディスプレイやLED(Light Emitting Diode)に対してデータライブラリ装置の稼動状況など各種情報を出力する。
メモリ105は、各種のプログラムや情報を記憶し、例えばデータライブラリ装置のCPU102を制御するためのプログラムや設定情報もメモリ105に記憶している。
光ディスク運搬装置106は、データライブラリ装置のCPU102に制御されて、光ディスク108a、108bを光ディスク格納装置107a、107bから取り出し、運搬し、データ記録再生装置109、110、111に装填する。あるいは、光ディスク108a、108bをデータ記録再生装置109、110、111から受け取り、運搬し、光ディスク格納装置107a、107bへと格納する。
光ディスク格納装置107a、107bは、光ディスク108a、108bを複数備える。また、光ディスク格納装置107a、107bは着脱することができ、例えば、すべての光ディスクへデータを記録し終えたら光ディスク格納装置ごとデータライブラリ装置外部へ取り出し、代わりに未記録ディスクを格納した別の光ディスク格納装置をデータライブラリ装置内部へ入れることなどができる。
なお、図1では光ディスク格納装置107は2つしか図示しないが、ライブラリ装置内に3つ以上備えても良い。また、例えば一方は未記録ディスク格納装置、他方は記録済ディスク格納装置など、用途に応じて使い分けたり、一方は片面記録可能なディスク、他方は両面記録可能なディスクなど、ディスク種別に応じて使い分けたりしても構わない。もちろん、光ディスク格納装置107a、107bの内部を未記録ディスク格納領域と記録済ディスク格納領域とに区切っても構わない。
光ディスク108a、108bは、それぞれ光ディスク格納装置107a、107bの内部に複数枚格納されている。光ディスクは、データ記録時、光ディスク運搬装置106によって光ディスク格納装置107a、107bから取り出され、データ記録再生装置109、110、111に装填され、データ記録が終了すると、光ディスク運搬装置106によって光ディスク格納装置107a、107bへと戻される。一方、データ再生時、光ディスク108a、108bは光ディスク運搬装置106によって光ディスク格納装置107a、107bから取り出され、データ記録再生装置109、110、111に装填され、データを再生し、データ再生が終了すると、光ディスク運搬装置106によって光ディスク格納装置107a、107bへと戻される。
データ記録再生装置109、110、111は、データライブラリ装置のCPU102に制御されて、光ディスク108a、108bへのデータ記録または光ディスク108a、108bからのデータ再生を行う。また、データ記録再生装置は着脱することができ、例えば故障などが発生した際にはデータライブラリ装置から取り外し、代わりのデータ記録再生装置をデータライブラリ装置に設置することなどができる。なお、図1においてデータライブラリ装置は3つのデータ記録再生装置を搭載しているが、搭載台数は限定されず、例えばデータ記録再生装置を6つ搭載するなどしても構わない。
記憶装置112a、112bは、光ディスク格納装置に関する情報や光ディスク格納装置を制御する上で必要な情報を記憶しておく。
光ディスク格納装置着脱検出部113は、光ディスク格納装置107a、107bの着脱を検出し、検出した情報をCPU102に伝達する。
扉開閉検出部114は、データライブラリ装置が備える扉の開閉を検出し、検出した情報をCPU102に伝達する。
サーバI/F部119は、サーバ115とデータライブラリ装置101との間で、記録/再生するデータや各種制御コマンドや通知を送受信する。
認証処理部121は、サーバ115がデータライブラリ装置101を正規に認定された装置であるか否かを判定するために、あるいは両者が互いに正当な装置であることを確認するために、サーバI/F部119を介して特定の認証プロトコルに準拠して認証を行う。本認証処理は、データライブラリ装置101をサーバ115に接続した時、あるいはユーザによるシステム設定時等、任意のタイミングで実施する。また、認証が成功した場合に特定の鍵を共有し、該鍵を直接的あるいは間接的に使用してサーバ115とデータライブラリ装置101との間でやり取りする制御コマンドやデータを暗号化/復号化しても良い。ここで、前記鍵をサーバI/F部119に設定し、サーバI/F部119で制御コマンドやデータを暗号化/復号化しても良い。
図2にデータライブラリ装置の外観図を示す。図2aが正面図、図2bが側面図である。
サーバ115は、データライブラリ装置101のCPU102との通信によってデータライブラリ装置にデータ記録再生制御させるとともに、ハードディスク117を介したデータ管理、表示装置118を介した情報表示、ネットワーク116を介して接続された他の機器とのデータ及び情報送受信制御を行う。116はネットワークであり、サーバ、データライブラリ装置等が複数接続される。117はハードディスクであり、データライブラリシステムの制御に関わるデータや情報を蓄積する。ハードディスク117は、ハードディスクにデータを記録再生するハードディスクドライブを1台以上から構成され、複数のハードディスクドライブや、複数のハードディスクドライブに分散記録再生を行うRAIDグループの1つまたは複数から構成しても良い。本明細書では、複数のハードディスクドライブ一式や、RAIDグループ一式も、ハードディスク117と記載する。
118は表示装置であり、サーバあるいはサーバに接続されたデータライブラリ装置やハードディスクに関する情報を表示する。119はサーバインタフェース部であり、データライブラリ装置のCPU102とサーバ115のCPU301との間でのデータ送受信に関する制御を行う。
図3はデータライブラリシステムにおけるサーバの構成を示すブロック図である。
サーバ115には、1つ以上のデータライブラリ装置101と、ネットワーク116と、ハードディスク117と、表示装置118が接続されて構成される。
サーバ115は、CPU301、メモリ302、データライブラリI/F部303、ハードディスクI/F部304、ネットワーク制御部305、外部表示制御部306、データベース管理部307、装置選択処理部308、ユーザI/F部309、認証処理部310から構成される。
CPU301は、データ記録時には、ネットワーク116からネットワーク制御部305を介して受信したデータをハードディスクインタフェース部304を介してハードディスク117に記録する。または、データライブラリインタフェース部303を介してデータライブラリ装置101を制御し、データライブラリ装置101が内蔵する光ディスク108に記録する。
または、CPU301は、ネットワーク116からネットワーク制御部305を介して受信したデータをハードディスクインタフェース部304を介してハードディスク117に一時的に記録して、一時的に記録したデータをハードディスクインタフェース部を介してハードディスク117から読み出し、データライブラリインタフェース部303を介してデータライブラリ装置101を制御し、データライブラリ装置101の内蔵する光ディスク108に記録する。
データ再生時には、CPU301は、ハードディスクインタフェース部304を介してハードディスク117からデータを読み出し、読み出したデータをネットワーク制御部305を介してネットワーク116に送信する。あるいは、データライブラリインタフェース部303を介してデータライブラリ装置を制御し、データライブラリ装置が内蔵する光ディスクからデータを再生し、再生したデータを受け取り、受け取ったデータをネットワーク制御部305を介してネットワーク116に送信する。
または、CPU301は、データライブラリインタフェース部303を介してデータライブラリ装置を制御し、データライブラリ装置が内蔵する光ディスクからデータを再生し、再生したデータを受け取り、受け取ったデータを、ハードディスクインタフェース部304を介してハードディスク117へデータを一時的に記録して、一時的に記録したデータをハードディスクインタフェース部304を介してハードディスク117から読み出し、読み出したデータをネットワーク制御部305を介してネットワーク116に送信する。
また、データライブラリ装置から受け取った各種の情報を適宜加工して記録、管理し、また、その情報を再生し、再生した情報に基づいて制御方針を決定するとともに、実際の制御を行う。さらには、外部表示制御部306を介して表示装置118に情報を表示する。
また、接続されたデータライブラリ装置101を正規に認定された装置であるか否かを判定するために、あるいはネットワーク116を介して接続された他のサーバ115との間で互いに正当な装置であることを確認するために、認証処理部310がデータライブラリI/F部303あるいはネットワーク制御部305を介して特定の認証プロトコルに準拠して認証実行するための制御を行う。
メモリ302は、サーバ115のCPU301を制御するためのプログラム、各種の情報が記録されている。また、データライブラリ装置101から送られた、データライブラリ装置内の熱情報や振動情報、さらには、データライブラリ装置が内蔵する各データ記録再生装置の特性情報を記録する。
データライブラリI/F部303は、データライブラリ装置101とサーバ115のCPU301との間でのデータ送受信に関する制御を行う。なお、図では1つのデータライブラリインタフェース部に複数のデータライブラリ装置が接続されているが、例えば、ネットワークを介して複数のデータライブラリ装置が接続されるような構成でもよい。
ハードディスクI/F部304は、ハードディスク117とSATA(Serial Advanced Technology Attachment)などの規格に準拠したデータ転送を行う。
ネットワーク制御部305は、ネットワーク116とサーバ115のCPU301との間でのデータ送受信に関する制御を行う。
データベース管理部307は、データライブラリシステムを制御するために使用する各種情報を記録したデータベースへのアクセスをつかさどる。具体的には、データベースへの情報登録、登録した情報の読み出しや検索などの処理を行う。なお、本実施例のデータベース管理部307では、システムを制御するためにデータベースの新規作成や更新が必要であるかといった判断や、どの情報をデータベースに登録するか、といった判断を行うものであり、データベースの本質的な操作や管理はCPU301に委ねるものとする。しかし、それに限定されることはなく、データベース管理部307においてデータベースの本質的な操作や管理を行うようにしても構わない。なお、データベースは、メモリ302、又はハードディスク117に格納されている。
装置選択処理部308は、データの記録や再生を行う際、サーバに接続された1つ以上のデータライブラリ装置のいずれを使うかの判断や選択、前記選択したデータライブラリ装置の内蔵する1つ以上のデータ記録再生装置のいずれを使うかの判断や選択、さらには、記録や再生を行う光ディスクの選択等を行う。
ユーザI/F部309は、ユーザが表示装置118に表示されている各種情報に基づき、サーバを制御したり、サーバを介して各データライブラリ装置を制御するための手段を提供する。
認証処理部310は、接続されたデータライブラリ装置101を正規に認定された装置であるか否かを判定するために、あるいはネットワーク116を介して接続された他のサーバ115との間で互いに正当な装置であることを確認するために、データライブラリI/F部303あるいはネットワーク制御部305を介して特定の認証プロトコルに準拠して認証を行う。データライブラリ装置101との間で使用する認証プロトコルと他のサーバ115との間で使用する認証プロトコルは異なるものとする。また、前記認証が成功した場合に特定の鍵を共有し、該鍵を直接的あるいは間接的に使用してデータライブラリ装置101あるいは他のサーバ115との間でやり取りする制御コマンドやデータを暗号化/復号化する。ここで、前記鍵をデータライブラリI/F部303あるいはネットワーク制御部305に設定し、データライブラリI/F部303あるいはネットワーク制御部305で制御コマンドやデータを暗号化/復号化しても良い。
管理テーブル311は、ハードディスク117及びメモリ302にあるデータベース管理部307により管理されるデータベースのテーブルである。前記テーブルは1つとは限らず、本実施例のデータライブラリシステムは必要な数のテーブルを管理する。
図3において、サーバ115に対して、複数のデータライブラリ装置101が接続されているが、複数のデータライブラリ装置101分を1つの筐体にまとめても良い。
図4はデータ記録再生装置109の構成を示すブロック図である。
データ記録再生装置109は、取り外し可能な光ディスク401、光ピックアップ402、増幅回路403、信号処理回路404、インタフェース回路405、サーボ回路406、CPU407、メモリ408から構成される
CPU407は、データ記録再生装置109の記録処理、再生処理の制御を行う。なお、CPUでなくとも、同様の制御が可能な任意の回路を用いてもよい。また、データ記録再生装置の記録処理または再生処理を開始する際に、自身の管理する各ブロックの負荷情報の収集を開始し、記録処理または再生処理を終了する際に、収集した情報をメモリに記録し、記録した情報をライブラリ装置のCPU102へ出力する。401はデータ記録媒体、例えばBD−R(Blu−ray(登録商標) Disc Recordable)やBD−RE(Blu−ray(登録商標) Disc Rewritable)である。なお、以下の説明においては、単に光ディスク401として説明する。また、データ記録媒体は、必ずしも光ディスクに限定されるものではなく、光磁気ディスクやホログラム等の記録媒体であってもよい。
光ピックアップ402は、光ディスク401から信号を読み出して増幅回路403に送る。また、信号処理回路404から送られた変調信号を光ディスク401に記録する。
増幅回路403はで、光ピックアップ402を介して光ディスク401から読み出した再生信号を増幅して信号処理回路404に送る。また、サーボ信号を生成してサーボ回路406に送る。
信号処理回路404は、入力信号を復調し、誤り訂正等を行ったデータをインタフェース回路405に送る。また、インタフェース回路405から送られたデータに誤り訂正符号を付加する等を行い、変調して光ピックアップ402に送る。
インタフェース回路405は、例えばSATAその他の転送方式に準拠したデータ転送処理を行う。データ転送時には、信号処理回路404から送られたデータをホストであるライブラリ装置のCPUに送る。また、ホストであるライブラリ装置のCPUから送られたデータを信号処理回路404に送る。
サーボ回路406は、増幅回路403にて生成されたサーボ信号により光ピックアップ402を制御する。408はメモリであり、データ記録再生装置を制御するためのプログラムや各種設定情報、光ディスクから取得した媒体情報などを格納する。なお、メモリ408はデータ記録再生装置内でCPU407と接続する例を示したが、データ記録再生装置内外のどこに接続されていてもよい。また、情報を保持できればメモリでなくてもよく、例えばハードディスクでもよい。
本実施例の信号処理回路404は、データ復調回路21、デインタリーブ回路22、メモリ23、誤り訂正処理回路24、デスクランブル回路25、スクランブル回路26、インタリーブ回路27、データ変調回路28、データパターン発生回路29から構成される。
データ復調回路21は、増幅回路4からの入力信号を17PP復調してデインタリーブ回路22に送る。デインタリーブ回路22は、データ復調回路21から送られたデータのインタリーブを解き、メモリ23に書き込む。
メモリ23は、誤り訂正用メモリ、誤り訂正符号付加メモリ、およびバッファメモリとして使用する。メモリ23は、SRAM、DRAM等で実装するが、その他同様の機能を持つメモリ回路で代替してもよい。
誤り訂正処理回路24は、メモリ23からデータを読み出して誤り訂正を行いメモリ23に書き込む。また、メモリ23から読み出したデータに対して誤り訂正符号を生成し、メモリ23に書き込む。
デスクランブル回路25は、誤り訂正が完了したデータのスクランブルを解いてインタフェース回路6に送る。
スクランブル回路26は、インタフェース回路6あるいはデータパターン発生回路29から入力したデータにスクランブルを施しメモリ23に書き込む。
インタリーブ回路27は、メモリ23から読み出したデータにインタリーブを施し、データ変調回路28に送る。
データ変調回路28は、インタリーブ回路27から送られたデータを17PP変調して光ピックアップに送る。
データパターン発生回路29は、データライブラリ装置101のCPU301からデータライブラリI/F部303を介して送信され、インタフェース回路405を介して受信した複数のデータパターン、あるいは上書き消去用の複数のデータパターンを切り換えてスクランブル回路26に送る。なお、データパターン発生回路29は独立した回路ではなく、スクランブル回路26等に含まれていても良い。
図5は光ディスク運搬装置106のブロック図、図6は光ディスク運搬装置106の外観図である。
光ディスク運搬装置106は、CPU501、メモリ502、モータ制御回路503、ロボットアープ部504、505、506、ロボットハンド部507から構成される。
CPU501は、光ディスク運搬装置106の制御を行う。
メモリ502は、光ディスク運搬装置106を制御するためのプログラムや各種設定情報等を格納する。また、収集した熱情報や振動情報を記録するための領域としても使用する。なお、メモリ502は光ディスク運搬装置内でCPU501と接続する例を示したが、光ディスク運搬装置内外のどこに接続されていてもよい。また、情報を保持できればメモリでなくてもよく、例えばハードディスクでもよい。
モータ制御回路503は、CPU501からの指示に基づいて504、505、506のロボットアーム部を駆動する。また、ロボットハンド部507を駆動する。
ロボットアーム部504、505、506は、前進や後進といった直進運動や回転運動により、ロボットハンド部507の位置を調整する。
ロボットハンド部507は、光ディスク108a、108bを破損することなく保持可能な形状から成り、光ディスク格納装置107a、107b及びデータ記録再生装置109、110、111に対して光ディスクの出し入れや受け渡しを行う。
上記構成の光ディスク運搬装置によって、データライブラリ装置のCPUからの指示に従って、光ディスク格納装置とデータ記録再生装置との間で光ディスクを運搬する。
なお、ここでは光ディスク運搬装置がデータライブラリ装置内に1つ存在する例を示したが、複数の光ディスク運搬装置が存在しても構わない。また、光ディスク運搬装置の形状は図6の例に限らず、例えば、光ディスクの中心穴を利用して光ディスクを固定して運搬するようなものや、光ディスク格納装置から光ディスクを押し出して取り出し、取り出した光ディスクを運搬用のケースに格納し、ケースごと光ディスクを運搬するようなものであっても構わない。
本実施例では、記録媒体に光ディスクを用いたデータライブラリシステムを例に説明する。光ディスクは他の媒体に比べて長期保存に適すること、災害時のデータ保護の点で優れていることが知られている。しかし、本発明の有効範囲はこれに限ったものではなく、例えば記録媒体として磁気テープ等を用いても構わない。
また、光ディスクは光ディスク格納装置に複数枚格納され、光ディスクの交換は光ディスク格納装置ごと実施するものとする。データライブラリシステムでは、非常に大量のデータを扱い、記録する光ディスクの枚数も大量となるため、データライブラリシステムから取り外された光ディスク(以降、オフラインディスクとする。)を1枚単位で管理すると、管理コストが非常に大きくなる。そのため、複数の光ディスクをまとめた光ディスク格納装置の単位でオフライン管理を行うことで、管理コストの削減が可能になる。
また、このように光ディスク格納装置ごとに交換を実施する場合、光ディスク格納装置の交換頻度を削減するために、光ディスク格納装置ごとにユーザや格納するデータの種類等を決め、一度に再生される可能性が高いデータを同じ光ディスク格納装置に記録することが有用である。オフラインディスクの再生において、一度に再生する可能性が高いデータを同じ光ディスク格納装置に記録しておくことで、交換作業の回数を削減し、所望のデータを再生するまでの時間短縮や、交換作業により発生するコストの削減が可能となる。本実施例では、光ディスク格納装置ごとに設定されるユーザやデータの種類をグループとし、グループIDで管理を行う。つまり、複数の光ディスク格納装置に対して、同一のユーザが使用する場合や同一の種類のデータが記録される場合、該複数の光ディスク格納装置には、同一のグループIDが設定される。また、このグループIDはデータライブラリ装置に格納される全データに対しても設定され、データ記録時の光ディスクの選択等に用いられる。
図7は本実施例のデータライブラリシステムのデータ記録のフロー図である。前記データライブラリシステムのデータ記録とは、該システムの外の別のシステムのサーバ115や端末120から、ネットワーク116を介して、該システムのサーバ115がデータを、記録要求と共に受信して、該システムのハードディスク117や光ディスク108に記録する動作を指す。
S701は、システム外からデータを受信する動作で、送信元は、ネットワーク116を介して本実施例のシステムに接続された別のシステムのサーバ115や端末120で、本実施例のシステムのサーバ115が、記録要求と共にデータ受信する。前記記録要求は、例えばNetwork File System(NFS)のファイル作成及びファイル書き込み要求である。受信されたデータはハードディスク117に記録される。
また、記録要求の中には、例えばNFSの場合、ファイル名、ディレクトリパス名、アクセス権限情報、所有者識別子、所属グループ識別子、時刻情報、ファイル識別子、ファイル容量情報、データオフセット情報、またはその他のデータに関する情報が含まれる。前記においては一例としてNFSと記載したが、その他のプロトコルでも構わない。
S702は、光ディスクを割り当てる動作で、サーバ115のデータベース管理部307がハードディスク117またはメモリ302にある管理テーブル311にアクセスして、S701にて受信したデータを特定の光ディスク108に割り当てる。
前記割り当て処理では、管理テーブル311の内、光ディスク108毎にボリュームテーブルを作成して、該ボリュームテーブルに前記データを追加する。前記ボリュームテーブルは、割り当てられた光ディスク108を示すID等をテーブル名として持ち、テーブル内にはデータ名、データサイズ、データの日付情報、データのアクセス権限情報、データがファイル形式の場合は、ファイル名、パス情報等をデータ毎のレコードとして持つ。
S703は、前記データを光ディスクに記録する動作で、ハードディスク117に記録された前記データを、サーバ115がデータライブラリ装置101に転送して、光ディスク108に記録させる。
図8は、光ディスクに記録S703の詳細を示した動作フローである。S801は、データライブラリ装置に光ディスクを搬送させる処理で、サーバ115がデータライブラリ装置101に、データを記録する光ディスク108を光ディスク格納装置107からデータ記録再生装置109,110,111の内記録を行わせるものに搬送させる様に、搬送要求を出す。上記搬送要求を受けたデータライブラリ装置115は、データを記録する光ディスク108を光ディスク格納装置107からデータ
記録再生装置109,110,111の内記録を行わせるものに搬送させる。
S802は、メタデータを作成する処理で、サーバ115が、UDF(Universal Disk Format)等のファイルシステムのメタデータやデータライブラリシステムのデータベースのバックアップ等のメタデータを、作成してハードディスク117に保存する。
S803は、メタデータを記録する処理で、サーバ115がS802で作成したメタデータをハードディスク117から読み出し、S801の処理で搬送した光ディスク108に記録させる様に、データライブラリ装置101に記録要求と該メタデータを送信する。
S804はファイルデータを記録する処理で、端末120等からネットワーク116経由でサーバ115が受信したファイルデータを、サーバ115がハードディスク117から読み出して、S801の処理で搬送した光ディスク108に記録させる様に、データライブラリ装置101に記録要求と該メタデータを送信する。
S805は、メタデータミラーを記録する処理で、サーバ115がS802で作成したメタデータをハードディスク117から読み出し、S801の処理で搬送した光ディスク108に記録させる様に、データライブラリ装置101に記録要求と該メタデータを送信する。
S806は、メタデータを検証する処理で、サーバ115がS802で作成したメタデータをハードディスク117から読み出し、それと共にS801の処理で搬送した光ディスク108から検証させる様に、データライブラリ装置101に検証要求を送信して、データライブラリ装置101は該光ディスク108からメタデータを読み出すと共に、該光ディスクのメタデータが記録された領域の記録品質を検証して、サーバ115に該光ディスク108から読み出したメタデータをサーバ115に送信して、サーバ115はハードディスク117から読み出したメタデータと、該光ディスク108から読み出したメタデータをバイト単位で比較を行う。
S807はファイルデータを記録する処理で、端末120等からネットワーク116経由でサーバ115が受信したファイルデータを、サーバ115がハードディスク117から読み出して、それと共にS801の処理で搬送した光ディスク108から検証させる様に、データライブラリ装置101に検証要求を送信して、データライブラリ装置101は該光ディスク108からファイルデータを読み出すと共に、該光ディスクのファイルデータが記録された領域の記録品質を検証して、サーバ115に該光ディスク108から読み出したファイルデータをサーバ115に送信して、サーバ115はハードディスク117から読み出したファイルデータと、該光ディスク108から読み出したファイルデータをバイト単位で比較を行う。
S808は、メタデータミラーを検証する処理で、サーバ115がS802で作成したメタデータをハードディスク117から読み出し、それと共にS801の処理で搬送した光ディスク108から検証させる様に、データライブラリ装置101に検証要求を送信して、データライブラリ装置101は該光ディスク108からメタデータを読み出すと共に、該光ディスクのメタデータが記録された領域の記録品質を検証して、サーバ115に該光ディスク108から読み出したメタデータをサーバ115に送信して、サーバ115はハードディスク117から読み出したメタデータと、該光ディスク108から読み出したメタデータをバイト単位で比較を行う。
S809は、データライブラリ装置に光ディスクを搬送させる処理で、サーバ115がデータライブラリ装置101に、データを記録した光ディスク108をデータ記録再生装置109,110,111の内記録を行わせたものから光ディスク格納装置107に搬送させる様に、搬送要求を出す。上記搬送要求を受けたデータライブラリ装置115は、データを記録した光ディスク108をデータ記録再生装置109,110,111の内記録を行わせるものから光ディスク格納装置107に搬送させる。
図7に示した記録フローは、サーバ115上で動作する記録タスク上で動作する。前記記録タスクは同時に複数動作することが可能で、サーバ115に接続されるデータライブラリ装置101に内蔵するデータ記録再生装置分の記録タスクで動作することが出来る。
図7に従い、サーバ115はシステム外から受信したデータを、1枚ずつ光ディスク108に割り当てて、複数の前記データを受信して、光ディスク108の容量や上限ファイル数分だけ前記データが割り当てると、次の光ディスク108へ割り当てを行う。前記データは例えばファイル形式で受信される。ファイル形式で受信する場合は、例えばCIFSやNFSプロトコルで、サーバ115はシステム外とやり取りする。
図9はファイルデータを記録する処理S804の詳細の処理フローである。 S901は他のタスクが動作中の場合、他のタスクから他のタスクを起こすS905処理をされるまで複数のタスクが動いている時、一つのタスクを除いた他のタスクがスリープする処理であり、記録タスク自身がスリープして処理を中断する。動いているタスクが一つである時はスリープしない。
S902はファイルを開く処理で、サーバ115がネットワーク116経由で端末120等から受信したファイルデータの内、自タスクが記録をする光ディスク108に割り当てられたファイルを1つずつ開く。S902では、前記ボリュームテーブルを参照して、データ情報を得る。データがファイル形式ではない場合は、データをハードディスク117から読み込む準備処理を行う。
S903はハードディスクからデータを読み出す処理で、サーバ115がハードディスク117から、S902で開いたファイルデータを読み出す。読み出すデータ容量は、前記ファイルの読み出し処理されていない残容量と、記録タスク毎に用意されたメモリ302上のバッファの残容量の内少ない容量分だけ読み出す。
S904はバッファが一杯になったか判定する処理で、サーバ115上の前記バッファが一杯になったか判定して、該バッファが一杯になった場合はS905に進み、該バッファが一杯になっていない場合はS908に進む。
S905は次のタスクを起こす処理で、スリープしている別の記録タスクの内、順番が次のものを起こす。前記順番は、例えばキューで管理され、スリープした順番で並び、先頭の記録タスクから順番に起こすタスクとして選び出されるFIFO(First In First Out)で処理される。メモリ302内のスリープフラグがFALSEの場合は、スリープしている別の記録タスクの全てを起こす。前記キューに他の記録タスクが無い場合は、他の記録タスクは起こさない。
S906はデータをデータライブラリに送信する処理で、サーバ115がハードディスク117からS903で読み出した前記バッファに格納されたデータを、データライブラリ装置101に送信する処理である。データ送信は例えばソケット通信で行われる。
S907はスリープする処理で、記録タスク自身がスリープして処理を中断する。スリープする際は前記キューに自身の記録タスクのIDを追加する。前記スリープフラグがFALSEの場合は、スリープは行わない。前記キューに別の記録タスクが無い場合は、スリープしない。
次のタスクを起こす処理S905とスリープする処理S907を行い、S905の前まで動作していたタスクから、S905で起こしたタスクに、動作中のタスクを切り替えることで、ハードディスクからデータを読み出す処理S903を並行して行うタスクの数を制限する。
S908はファイル内のデータは全て読み出したか判定する処理で、S902で開いたファイル内のデータの内、S903で全てのデータを読み出した場合はS909に進み、S903で読み出していない残りのデータ容量がある場合はS902に進む。
S909はファイルを閉じる処理で、S902で開いたファイルを閉じる処理である。S910は全てのファイルを読み出したか判定する判定する処理で、全てのファイルを読み出し終えた場合は処理を終了し、未だ読み出しを終えていないファイルが残っている場合はS902へ戻る。
図10はディスクテーブル1000で、管理テーブル311の1つで、データライブラリ装置101内の光ディスク108を管理するテーブルである。ディスクテーブル1000は、光ディスク108の1枚ごとに、ディスクID1001、データライブラリID1002、光ディスク格納部ID1003、現在位置1004、格納位置1005、残容量1006、データ数1007、状態1008の情報が記録されるデータベーステーブルである。
前記テーブル1000は、本実施例のデータライブラリシステムに、光ディスク格納装置が初めて接続された際や、一旦別のデータライブラリシステムに接続された後に再度接続された際に、該光ディスク格納装置が格納する光ディスク108の情報が登録や更新される。また、光ディスク108をデータ記録再生装置109〜111と光ディスク格納装置107との間を移動させられた際や、光ディスク108の残容量1006やデータ数1007や状態1008に変更があった際にも更新される。
1001はディスクIDであり、光ディスク108の一枚一枚を識別するための文字列や数字である。前記IDは、光ディスク108の製造時に記録された個体識別可能なIDそのままか、それに基づいて生成されるか、或いは本実施例のデータライブラリシステムが独自に決めるIDである。
1002はデータライブラリIDであり、データライブラリ101を識別するためのIDであり、ディスクテーブル1000では、同じ行の光ディスク108が入っているデータライブラリ101のデータライブラリIDが記録される。
1003は光ディスク格納部IDであり、光ディスク格納部107を識別する文字列や数字である。前記IDは、光ディスク格納部107に付属する記憶装置112内に、光ディスク格納装置107が製造や出荷前に決定され記録される。前記IDはデータベーステーブルに登録や更新される際は、CPU102が記憶装置112から読み取られる。
1004は現在位置を示すもので、同じ行の光ディスク108が現在ある位置のデータ記録再生装置109〜111や光ディスク格納装置107内のアドレスである文字列や数字が記録される。
1005は格納位置を示すもので、同じ行の光ディスク108が格納されるべき光ディスク格納装置107内のアドレスである文字列や数字が記録される。前記格納位置は、光ディスク108は出荷時に格納された光ディスク格納装置107内の位置である。
特定の位置を格納位置として記憶することで、停電やネットワーク障害で、サーバ115とデータライブラリ装置101が切断状態となり、データライブラリ装置101がサーバ115に光ディスク108の位置情報を通知不能な状態でも、装置の破損を防ぐため、データライブラリ装置101が搬送途中の光ディスク101を元の位置に戻せば、サーバ115が光ディスク108を見失うことが無い。
前記において、出荷時に格納された位置を、格納位置1005とするとしたが、光ディスクの廃棄や、端末120等から、ユーザ要求として格納位置1005の変更を命ぜられた場合等は、格納位置1005は出荷時に格納された位置から変更される。また、光ディスク108の搬送要求の頻度に応じて並び替えるため、格納位置1005が変更されることもある。
1006は残容量で、同じ行の光ディスク108に割り当てられたデータの総容量分だけ、光ディスク108の全容量から引かれた数値が記録される。尚、前記割り当ては、光ディスク108に物理的にデータが記録された場合の容量ではなく、物理的にデータを記録開始する前に、仮想的に割り当てを行う処理である。但し、割り当て処理を、物理的な記録処理を伴うものとするか、仮想的な割り当てを行う処理とするかは、変更することが可能であり、データライブラリシステムでどちらかに予め定められる。
図11はファイルテーブルの一例を示す図であり、FileName_03というファイル名のファイルデータを、少なくとも1GBと171MBの2つに分割してDisc21とDisc22という光ディスクIDにそれぞれ記録する割り当てがされた状態を示す。尚図中省略されている部分にも、実際には分割された情報の全てが記録される。実施例の他においては、データの単位は、ブロックなのかファイルなのか、または別に管理された単位なのか、本発明は問わないが、図11においては、便宜上、データの単位はファイルとして、データはファイルシステム上で管理されることとする。
1100はファイルテーブルで、データID1101、所有者ID1102、データサイズ1103、光ディスクID1104、光ディスク格納装置ID1105、分割ID1106、ファイル名1111、ファイルパス1112、タイムスタンプ情報1113、ディスク上の位置情報1114の情報が記録されるデータベースの分割ファイルの情報を管理するテーブルである。
1101はデータIDであり、データを識別するための文字列や数字である。前記IDはアーカイブシステムにファイルデータが格納される際に付けられる。データ固有のものであれば、どの様に付けても良いが、例えば数字のみなど、容量の少ない情報であれば、ファイルテーブル1100に係る処理が軽快となり、都合が良い。
1102は所有者IDであり、同じ行のファイルの所有者を示すIDである。前記ファイルデータがデータライブラリシステムに格納される際に、該システムに該ファイルデータを格納したユーザの
UserID(UID)等が記録される。前記ユーザではなく、ユーザが指定したUIDを記録しても良い。
1103はデータサイズで、同じ行のファイルデータの同じ行の分割ID1106の、分割ファイルデータの容量が記録される。1104は、光ディスクIDで、同じ行が示す分割IDのファイルデータを記録する光ディスク108の、光ディスクIDが記録される。光ディスクIDは、光ディスク108を識別するためのIDである。1105は光ディスク格納装置IDで、前記光ディスク108が格納される光ディスク格納装置107を識別するIDが記録される。
1106は分割IDであり、同じ行のファイルデータを分割した際に付けられる、該ファイルデータ内で、分割ファイルデータを識別するためのIDである。前記分割IDは、ファイルデータの先頭から順番に付けられて、同じ行の分割データがファイルデータの先頭から何番目の分割ファイルデータであるか分かる。
図11の分割ファイルテーブル1100には、オフセットの情報が無いが、分割ファイルデータの先頭が、ファイルデータの先頭から何バイト目なのかを示すオフセットを入れても良い。前記オフセットが無い場合は、データサイズ1103と分割ID1106からオフセットを割り出す。例えば、分割ID3の分割ファイルデータは、分割ID1と2のデータサイズを足したものがオフセットに相当する。
1111はファイル名であり、同じ行のデータIDが示すファイルデータのファイル名が記録される。ファイル名は、UTF−8などの文字コードでフォーマットの文字列や数字である。前記ファイル名1111の文字列のサイズは例えば255バイトに制限される。
文字列のサイズは、本実施例のデータライブラリシステムが接続される他のシステムや端末の環境に合わせればよく、必要であれば、255バイトよりも大きいものとしても良いが、前記他のシステムや前記端末が前記制限の異なる複数の環境の場合、制限される文字列サイズが大きいものが、異なる制限の文字列サイズが小さいものの制限を越えるサイズのファイルデータを、データライブラリシステムに格納すると、該異なる制限の文字列サイズが小さいものから、該ファイルデータが読み出せなくなるため、どこからでも読み出せるように、最も小さいサイズに制限されるものと同じサイズに制限した方が良い。
1112はファイルパスで、同じ行のファイルデータの、データライブラリシステム外に見せるファイルシステム上のファイルパスが記録される。前記ファイルシステムは、記録媒体上のファイルシステムと異なり、分割ファイルは、分割前のファイルデータとしてファイルを他のシステムや端末に見せる。
本実施例のデータライブラリシステムの外から分割されたファイルデータにアクセスされた場合は、分割ファイルテーブル1100を参照して、該当するファイルデータをファイル名とファイルパスをキーとして検索して、該当ファイルデータの全分割ファイルを読み出して、再生要求がファイルデータの先頭からであれば、分割ID1の分割ファイルデータからデータを読み出していく。前記再生要求が先頭からではなく、オフセット値を指定された場合は、該オフセット値以下で最大の分割IDの分割ファイルデータからデータ読み出していく。
1113は、タイムスタンプ情報で、本実施例のデータライブラリシステムの外からファイルデータの記録要求と共に受信するファイルデータの情報に含まれるタイムスタンプ情報が記録される。前記タイムスタンプ情報は、例えば、最終アクセス時刻や、最終修正時刻や、ファイル作成時刻等が含まれる。
1114は、ディスク上の位置情報で、同じ行の分割ファイルデータが記録される、光ディスク108上の位置情報が記載される。光ディスク108上は、ファイルシステムがあるので、ファイル名とファイルパスのみで、該当分割ファイルを特定可能であるが、例えば光ディスク108上のファイルシステムが読み込み出来ない障害が発生した場合や、性能の問題がある場合など、光ディスク108のファイルシステムからファイルデータを読み出さない場合に、光ディスク108上の位置情報を使い該当分割ファイルデータを読み出せる。
光ディスクに記録S703では、データライブラリシステムが、各データ容量が光ディスク108の容量よりも十分小さく、複数のデータを同じ光ディスク108に記録する場合は、分割ファイルテーブル1100に従い、ディスクテーブル1000の残容量1006が任意の閾値以下となったものや、データ数が任意の閾値以上となった光ディスク108を記録する。
分割ファイルテーブル1100は、分割ファイルデータについて記録されるが、テーブルのサイズを削減するために、データ毎に分割記録される光ディスクの枚数分だけ記録しても良く、その場合はどの様に分割したかの情報も記録される。
以上の形態のデータライブラリシステムでは、記録タスクがスリープと他の記録タスクを起こすことで、ハードディスク117へアクセスする記録タスクの数が限定されて、ハードディスク117へのIO要求の連続性が向上して、ハードディスク117から読み出すデータの転送速度が高い効率の良いデータライブラリシステムが実現できる。
本発明は、実施例2の形態をとっても良い。実施例2は基本的には全て実施例1と同じ形態をとるが、以下の点において異なる。実施例2のハードディスク117は1つ以上のハードディスクドライブや複数のハードディスクドライブから成るRAIDグループから構成される。
図12はファイルデータを記録する処理S804の詳細の処理フローである。S1202はファイルの格納先を得る処理で、S1201にて開いたファイルの現在位置の格納先のハードディスクドライブまたはRAIDグループ情報を得て、S1203に進む。
S1203はバッファフラグがTRUEか判定する処理で、メモリ302上のバッファフラグがTRUEの場合はS1204に進み、FALSEの場合はS1205に進む。バッファフラグはS1207でTRUEにされ、S1204でFALSEにされる。
S1204はスリープする処理で、記録タスク自身をスリープして処理を停止する。その際に格納先毎に用意されたキューの、S1202で得た格納先に対応するキューに自身の記録タスクIDを追加する。またその際に前記バッファフラグをFALSEにする。前記キューに他の記録タスクが入っていない場合はスリープをしない。S1205でデータをハードディスク117から読み込んだ後S1206に進み、サーバ115上の前記バッファが一杯になったか判定して、該バッファが一杯になった場合はS1207に進み、該バッファが一杯になっていない場合はS1209に進む。
S1207は次のタスクを起こす処理で、S1202で得た格納先に対応するキューの次の記録タスクを起こす。その際に前記バッファフラグをTRUEにする。キューに記録タスクが無い場合は、別の記録タスクを起こさない。S1208でデータをライブラリ装置101に送信後S1209に進み、S1201で開いたファイル内のデータの内、S1205で全てのデータを読み出した場合はS1210に進み、S1205で読み出していない残りのデータ容量がある場合はS1203に進む。
S1210にてS1203で開いたファイルを閉じた後、S1211に進んで全てのファイルを読み出したか判定し、全てのファイルを読み出し終えた場合は処理を終了し、未だ読み出しを終えていないファイルが残っている場合はS1201へ戻る。
以上の形態のデータライブラリシステムでは、記録タスクがスリープと他の記録タスクを起こすことで、前記ハードディスクドライブ、またはRAIDグループ単位でアクセスする記録タスクの数が限定されて、ハードディスクドライブやRAIDグループ毎にハードディスク117へのIO要求の連続性が向上して、且つハードディスクドライブやRAIDグループ毎に並列でアクセス可能となり、ハードディスク117から読み出すデータの転送速度が高い効率の良いデータライブラリシステムが実現できる。
図13は前記記録タスクの数を制限する状態(この状態をONとする)と、制限しない状態(この状態をOFFとする)の遷移を示した図である。本実施例では、S907やS1204のスリープと、S905やS1207の次のタスクを起こす処理を実施する状態ONとしない状態OFFの二つの状態を持ち、この状態を管理する管理タスクをサーバ115上で動かす。
上記状態は、サーバ115のメモリ302内にあるスリープフラグに保存され、ON時は該スリープフラグをTRUEとし、OFF時は該スリープフラグをFALSEとする。
本実施例のデータライブラリシステムが稼動開始すると状態をONにする。ONの状態では一定間隔でハードディスクの転送速度を監視して、状態切り替えの閾値よりも低い転送速度となると状態をOFFとする。前記閾値は本実施例のシステムにプリセットされた値か、本実施例のシステムを設置する際の導入作業の中等で行うキャリブレーションの結果として得た値を用いる。前記キャリブレーションは、ハードディスク117からサーバ115がデータを読み出し、ハードディスクの転送速度を計測して、該計測した転送速度の定数倍したものを前記閾値とする。前記定数は0よりも大きく1未満の数字である。
またONの状態に切り替わった直後は、OFFの状態だった直前の転送速度と比べて、現在の転送速度が低い場合は状態をOFFにする。
OFFの状態では一定間隔で、OFF状態になってからの時間と記録タスクがハードディスク117から読み出すファイルのサイズの平均値を監視する。OFFの状態は、OFF状態になってから一定の時間が経過した場合は状態をONにする。
またOFFの状態は、ファイルサイズの平均値が、システムに予め設定された一定の値である閾値よりも大きくなったら、状態をONにする。
またOFFの状態に切り替わった直後は、ONの状態だった直前の転送速度と比べて、現在の転送速度が低い場合は状態をONにする。
本発明は、実施例3の形態をとっても良い。実施例3は基本的には全て実施例1と同じ形態をとるが、以下の点において異なる。
図14は実施例1の図9の代わりに実施例3でファイルデータを記録する処理S804の詳細の処理フローである。図14のフローでは、ファイル容量に応じて処理を切り替えるポスト処理S1408、S1414とウエイト処理S1410、格納先に応じて処理を切り替える点等において、図9と異なる。
S1403は、格納先が変わったか判定する処理で、S1402にて取得した格納先情報により、ファイルの格納先が変わった場合はS1408へ進み、変わらない場合はS1404へ進む。
前記格納先は、ハードディスク117上に構成された論理ボリュームの何れかを示す物である。例えば、ハードディスク117は、ハードディスクドライブが10台あり、RAID5で該ハードディスクの5台毎にRAIDグループを形成し、2つのRAIDグループがあり、それぞれの該RAIDグループに該論理ユニットを作り、該論理ユニット毎にファイルシステムでフォーマットし論理ボリュームを形成し、ファイルを該論理ボリューム上に格納されている場合は、格納先は該論理ボリュームの何れかを示す物である。
S1404は前ファイル容量が閾値未満か判定する処理で、S1401にて直前に開いたファイルの前に開いていたファイルの容量が、システム内に予めて定められた閾値1に対して、小さい場合はS1405へ進み、等しいか大きい場合はS1409へ進む。前記等しい場合はS1409へ進むとしたが、S1405へ進むと定めても良い。前記閾値1は、例えば10MBと設定される。
S1409はポストフラグがTRUEか判定する処理で、TRUEの場合はS1410へ進み、FALSEの場合はS1411へ進む。前記ポストフラグは図15中のS1503の判定処理を行った際にTRUEにし、S1409の判定処理を行った際にFALSEにする。前記ポストフラグは各タスクで値を保持し、各タスクの値は連動しない。
S1405はファイル容量を取得する処理で、S1401で開いたファイルの容量を取得する処理である。例えばLinux(登録商標)上でタスクが動作する場合は、STAT処理等でファイル容量をファイルシステムから取得する。
S1406はファイル容量が閾値以上か判定する処理で、S1405で取得したファイル容量が、前記閾値1よりも等しいか大きい場合はS1408へ進み、小さい場合はS1405へ進む。前記では閾値1と等しい場合はS1408へ進むとしたが、S1407に進むと定めても良い。
S1407は合計容量が閾値以上か判定する処理で、前記格納先毎に持つ変数である合計容量に、前記S1405で取得したファイル容量を足し合わせ、前記合計容量が閾値2と等しいか大きい場合はS1408へ進み、小さい場合はS1409に進む。前記では閾値2と等しい場合はS1408に進むとしたが、S1409に進んでも良い。
前記合計容量はウェイト処理S1410で図16中のタイムアウトの初期化S1605を行うときに、初期化される。
S1408で次のタスクを起こすポスト処理を行った後、S1410に進む。S1410でウエイト処理を行った後S1411に進む。S1411でサーバ115がハードディスク117から、S1401で開いたファイルデータを読み出した後S1412に進み、サーバ115上の前記バッファが一杯になったか判定して、該バッファが一杯になった場合はS1414に進み、該バッファが一杯になっていない場合はS1413に進む。
S1413はタイムアウトしているか判定する処理で、前記格納先毎にある変数であるタイムアウト時刻に対して、現時刻が同じか後であればS1414へ進み、前であればS1415へ進み、サーバ115上の前記バッファが一杯になったか判定して、該バッファが一杯になった場合はS1416に進み、該バッファが一杯になっていない場合はS1417に進む。前記では現時刻が前記タイムアウト時刻と同じ場合は、S1414へ進むとしたが、S1415へ進むと定めても良い。
S1417でS1401で開いたファイル内のデータの内、S1411で全てのデータを読み出した場合はS1418に進み、S1411で読み出していない残りのデータ容量がある場合はS1404に進む。
S1418にてS1401で開いたファイルを閉じた後、S1419に進んで全てのファイルを読み出したか判定し、全てのファイルを読み出し終えた場合は処理を終了し、未だ読み出しを終えていないファイルが残っている場合はS1401へ戻る。
前記タイムアウト時間は、前記論理ボリューム上の1つ以上の箇所に連続的に格納されているファイルを1つのタスクがS1411の読み出し処理を行う時間程度に設定すればよく、例えば、S1411の処理で前記論理ボリューム上の箇所に連続的に格納された100MBのファイルを読み出す場合に、前記論理ボリュームの連続読み出し性能が1GB/s程度期待される場合は、100ミリ秒以上である。前記タイムアウト延長時間は、前記同様に設定すればよく、例えば100ミリ秒以上である。
前記の通り各時間を設定することで、ファイル容量がS1411にて読み出す予め設定された一定容量より小さく、ウエイト処理S1410の中で他のタスクから起こされてから、同ウエイト処理S1410の中で他のスレッドに起こされるまで待つ図16中のS1608処理に再び入るまでに、複数回S1411の処理を行うタスクが、タイムアウト時刻以降まで経過した場合に、S1414のポスト処理を実行して、他のタスクを起こす。
前記のタイムアウト時刻以降まで経過して他のタスクを起こすことで、一部のタスクが、前記論理ボリュームにランダムに配置されたデータを読み出す等の事態となり、前記連続読み出し性能に対して遅い連続読み出し性能で読み出す事となっても、他のタスクが待つ時間に大きな影響を出さずに、それぞれのタスクに均等に1411の処理機会を与える事が出来、システム全体のBD記録処理の性能を担保する事が出来る。
前記の通り各時間を設定することで、ファイル容量がS1411にて読み出す予め設定された一定容量より大きく、前記論理ボリュームに対して連続読み出しで想定される性能でS1411が処理される場合は、該一定容量の読み出し処理が完了して、S1413によるタイムアウト判定による影響は受けない。
前記タイムアウト時間と前記タイムアウト延長時間は同じでなくても良く、例えば前記閾値1よりも小さいファイルを開いたタスクが多い場合に、前記閾値1以上のファイルを開いたタスクの処理に対して優先的に時間を使い、処理を行いたい場合は、前記タイムアウト延長時間を前記タイムアウト時間よりも短く設定すればよい。
前記において、タイムアウト処理を図14に示したフローに従い行ったが、タイムアウト時刻に対して現時刻を監視するタスクを設けて、該監視するタスクが、該タイムアウト時刻以降となったら、図14のフローを処理するタスクの内、S1411を処理中のタスクの処理を中断させて、S1414へ進ませるようにしても良い。前記変更により、S1411の処理の時間が掛かる場合においても、他のタスクの待つ時間への影響を抑制して、前記システム全体のBD記録処理性能を改善できる。
図15は、図14中のS1408とS1414のポスト処理のフローを示した物である。S1501はファイル容量が閾値以上か判定する処理で、S1401にて開いたファイルの容量が前記閾値1と等しいか大きい場合は、S1503へ進み、小さい場合はS1502へ進む。前記閾値1と等しい場合はS1503へ進むとしたが、S1502へ進むと定めても良い。
S1502は動作中の最後のタスクかを判定する処理で、前記同じ格納先のファイルを開いたタスクの内、ウエイト処理1407のほかのタスクに起こされるまで待つS1608の処理で待っているタスク以外のタスクが、他に無い場合はS1503へ進み、他に有る場合は処理を終える。
S1503はキューにタスクがあるか判定する処理で、キューにタスクが有る場合はS1505へ進み、無い場合はS1504へ進む。
前記キューは、前記格納先毎にあり、該キューには、前記タスク単位のタスクを識別する識別子とタスクの開いているデータ容量が前記閾値1未満か以上かを判断できる情報をデータとして格納される。前記識別子は例えばスレッドIDである。前記情報S1503の判定処理が出来ればよく、は例えばファイル容量であり、またはファイル容量が閾値1以上の場合はTRUEとなるフラグである。
S1504は続行フラグをTRUEにする処理で、前記格納先毎に値を保持する変数の続行フラグに、TRUEを代入する。
S1505は先頭タスクを起こす処理で、前記キューの先頭のタスクを起こす。前記先頭タスクは、前記キューに入っているタスクの中、もっとも早い時刻にキューに挿入されたタスクを指す。
図16は、S1407のウエイト処理のフローを示した物である。S1601はファイル容量が閾値以上か判定する処理で、前記ファイル容量が前記閾値1と等しいか大きい場合はS1605へ進み、小さい場合はS1602へ進む。前記等しい場合はS1602へ進むと定めても良い。
S1602は合計容量が閾値以上か判定する処理で、前記合計容量が前記閾値2と等しいか大きい場合はS1605へ進み、小さい場合はS1603へ進む。前記等しい場合はS1603へ進んでも良い。
S1603はタイムアウトしているか判定する処理で、前記タイムアウト時刻に対して現時刻が後であればS1605へ進み、前であればS1604へ進む。
S1604はタスク数が上限を超えているか判定する処理で、同じ格納先の前記閾値1以下のファイル容量のファイルを開いたタスクが同時に動作可能なタスク数である閾値3に対して、現在動作しているタスク数が等しいか大きい場合はS1605へ進み、小さい場合は処理を終了する。
S1601とS1602とS1603とS1604の処理により、前記ファイル容量が閾値未満のタスクが動作している場合は、同じ格納先のタスクが、前記合計容量とタイムアウト時刻に対する現時刻と現在動作しているタスク数が一定の範囲であれば、処理を続行する事が出来、ファイル容量が大きいファイルを開いているタスクへの影響が少ない範囲で、ファイル容量が小さいファイルを開くタスクに一定の処理可能な期間が確保され該タスクの一連の処理完了が遅くなるのを防止する。
S1605はタイムアウトの処理化する処理で、前記タイムアウト時刻を現時刻よりも前記タイムアウト時間だけ後の時刻に設定する。前記処理では、同時に前記合計容量の初期化と前記同時動作のタスク数の初期化を行う。前記合計容量の初期化では、前記合計容量に自タスクの開いているファイル容量を代入する。前記同時動作のタスク数の初期化は、前記タスク数に1を代入する。
S1606は続行フラグがTRUEか判定する処理で、前記続行フラグがTRUEであればS1610へ進み、TRUEでなければS1607へ進む。
S1607はキューに追加する処理で、前記キューの末尾に自タスクの前記識別子と前記情報を含むデータを挿入する。
S1608では自タスクがスリープし、他のタスクに起こされるまで待つ。具体的には前記キューにあるタスクが先頭から順番に起こされて、自タスクが起こされるまで待つ処理である。
先頭のタスクを起こす処理S1505と他のタスクに起こされるまで待つ処理S1608と同じグループの他のタスクを起こす処理S1612を行い、S1505の前まで動作していたタスクと該動作していたタスクと同じグループの他のタスクから、S1505で起こしたタスクと該起こしたタスクと同じグループのタスクに、動作中のタスクを切り替えることで、ハードディスクからデータを読み出す処理S1411を並行して行うタスクの数を、ファイル容量に応じて制限する。S1609はキューから削除する処理で、自タスクの情報をキューから削除する処理である。以上のS1504とS1505とS1606とS1607とS1608とS1609の処理により、格納先が同じファイルを開くタスクが、ファイル容量が閾値1以上の場合はS1411のハードディスクからデータを読み出す処理を1つずつ行い、閾値1未満の場合は閾値3未満のタスク数で同時に行い、ハードディスク117から効率的に読み出しを行う事が出来る。
S1610はファイル容量が閾値以上か判定する処理で、前記ファイル容量が前記閾値1以上の場合はS1611へ進み、未満の場合は処理を終える。
S1611は動作中の最初のタスクか判定する処理で、同じ格納先のファイルを開いたタスクの内、最後にS1606処理を行ったタスクはS1612へ進み、該タスク以外のタスクはS1613へ進む。
S1612は同じグループの他のタスクを起こす処理で、該グループは前記同じ格納先の前記キューにある前記ファイル容量が前記閾値1未満のタスクが全て属するグループで、該グループに属するタスクを、前記キューの挿入された時刻が前の方から順番に起こす。
前記起こす処理では、前記他のタスクを1つ起こす前に、前記同時動作のタスク数を1つ加算し、前記合計容量に起こしたタスクの開いているファイル容量を加算して、前記同時動作のタスク数が前記閾値3を超えるか、前記合計容量が閾値2を超える場合は、前記加算する前の値に、前記同時動作のタスク数と前記合計容量を戻し、S1612の処理を終える。
S1613はタイムアウトを延長する処理で、前記タイムアウト時刻を前記タイムアウト延長時間だけ後の時刻に更新する。但し、タイムアウト時刻が現時刻のタイムアウト延長上限時間だけ後の時刻よりも後の時刻になる場合は、タイムアウト時刻を現時刻のタイムアウト延長上限時刻だけ後の時刻にする。
以上実施例3の動作により、ファイル容量の閾値1より小さいファイルを開くタスクが存在しても、ファイル容量が閾値1より大きいファイルを開くタスクの一連の処理時間に与える影響を抑制する事が出来、ハードディスク117から効率的にデータを読み出す事が出来る。
本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
101…データライブラリ装置、102…CPU、103…ユーザI/F部、104…情報表示部、105…メモリ、106…光ディスク運搬装置、107…光ディスク格納装置、108…光ディスク、109、110、111…データ記録再生装置、112…記憶装置、113…光ディスク格納装置着脱検出部、114…扉開閉検出部、115…サーバ、116…ネットワーク、117…ハードディスク、118…表示装置、119…サーバI/F部、120…端末、121…認証処理部

Claims (7)

  1. データの記録と再生を行うデータライブラリシステムにおいて、
    データを格納する第一の記録装置と、
    複数の記録媒体を備える第二の記録装置と、
    前記記録媒体へのデータの記録と再生、前記第一の記録媒体と前記第二の記録装置の間のデータの転送を制御するコントローラと、を備え、
    前記コントローラは、前記記録媒体毎に対応しかつ前記第一の記録装置から前記第二の記録装置にデータの転送を行うデータ転送タスクが前記コントローラ上で動作するよう制御し、前記第一の記録装置に格納されたデータを、前記第二の記録装置にデータを転送する際に、並行して動作する前記データ転送タスクの数を制限することを特徴とするデータライブラリシステム。
  2. 請求項1に記載のデータライブラリシステムであって、
    前記コントローラは、動作する前記データ転送タスクの数を1つに制限することを特徴とするデータライブラリシステム。
  3. 請求項1に記載のデータライブラリシステムであって、
    前記コントローラは前記第一の記録装置により提供される記憶領域である論理ボリュームをデータの格納先として管理し、動作する前記データ転送タスクの数を前記論理ボリューム毎に制限することを特徴とするデータライブラリシステム。
  4. 請求項1に記載のデータライブラリシステムであって、
    前記コントローラは、前記第一の記録装置に格納されたデータが所定のサイズ以上のデータを扱う前記データ転送タスクである場合は動作する前記データ転送タスクの数を一つに制限し、前記第一の記録媒体に格納されたデータが前記所定のサイズ以下のデータを扱う前記データ転送タスクである場合は動作する前記データ転送タスクの数を制限しないことを特徴とするデータライブラリシステム。
  5. 請求項1に記載のデータライブラリシステムであって、
    前記コントローラは、動作中の前記データ転送タスクが前記コントローラ上で動作する時間が所定以上経過したことを条件として、前記動作中のデータ転送タスクとは異なる前記データ転送タスクの動作を切り替えることを特徴とするデータライブラリシステム。
  6. 請求項1に記載のデータライブラリシステムであって、
    前記コントローラは動作中の前記データ転送タスクに対応するデータの格納先の容量と前記動作中のデータ転送タスクが扱うデータの容量の合計が所定の容量以上であることを条件として、前記動作中のデータ転送タスクとは異なる前記データ転送タスクの動作を切り替えることを特徴とするデータライブラリシステム。
  7. 請求項1に記載のデータライブラリシステムであって、
    前記コントローラ上で動作する前記所定のサイズ以上のデータを転送する第一のデータ転送タスクと前記所定のサイズ以下のデータを転送する複数の第二のデータ転送タスクがあり、
    前記コントローラ上で前記第二のデータ転送タスクが動作しており、
    前記コントローラは動作中の前記第二のデータ転送タスクが扱うデータと前記第二のデータ転送タスクに対応するデータの格納先の容量の合計が所定の容量以上となることを条件として、動作していない前記第一のデータ転送タスクの動作を切り替えることを特徴とするデータライブラリシステム。
JP2015009064A 2015-01-21 2015-01-21 データライブラリシステム Pending JP2016134050A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015009064A JP2016134050A (ja) 2015-01-21 2015-01-21 データライブラリシステム
US14/972,414 US20160210047A1 (en) 2015-01-21 2015-12-17 Data library system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015009064A JP2016134050A (ja) 2015-01-21 2015-01-21 データライブラリシステム

Publications (1)

Publication Number Publication Date
JP2016134050A true JP2016134050A (ja) 2016-07-25

Family

ID=56407922

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015009064A Pending JP2016134050A (ja) 2015-01-21 2015-01-21 データライブラリシステム

Country Status (2)

Country Link
US (1) US20160210047A1 (ja)
JP (1) JP2016134050A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022176345A1 (ja) * 2021-02-22 2022-08-25 富士フイルム株式会社 情報処理装置、情報処理方法、及び情報処理プログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10095431B2 (en) * 2015-06-18 2018-10-09 John Edward Benkert Device controller and method of enforcing time-based sector level security
JP6885322B2 (ja) * 2017-12-22 2021-06-16 パナソニックIpマネジメント株式会社 情報再生方法及び情報再生装置
WO2020264352A1 (en) * 2019-06-28 2020-12-30 Tape Management Systems, Inc. Aggregated control of removable digital storage media using a triplex data structuring system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3248617B2 (ja) * 1998-07-14 2002-01-21 日本電気株式会社 半導体記憶装置
JP2012043304A (ja) * 2010-08-20 2012-03-01 Fujitsu Ltd ディスクアレイ装置およびディスクアレイ装置の制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022176345A1 (ja) * 2021-02-22 2022-08-25 富士フイルム株式会社 情報処理装置、情報処理方法、及び情報処理プログラム

Also Published As

Publication number Publication date
US20160210047A1 (en) 2016-07-21

Similar Documents

Publication Publication Date Title
US8954663B1 (en) System, method and computer program product for synchronizing data written to tape including writing an index into a data partition so that data can be recovered in case of failure
CN102136290A (zh) 一种嵌入式实时视频文件存储方法
KR101103921B1 (ko) 연속 미러링 환경에서 시점 복사 동작의 실행
US9563365B2 (en) System and method for using a memory buffer to stream data from a tape to multiple clients
US7864478B2 (en) Verification of a tape data storage cartridge
TW201028843A (en) Method and system for dynamic storage tiering using allocate-on-write snapshots
JP2006024211A5 (ja)
JP2016134050A (ja) データライブラリシステム
CN105100815A (zh) 基于时间序列的流式数据分布式元数据管理方法
JP6052812B2 (ja) テープ上のファイルの管理、書き込み、及び読み出し方法
US20160350005A1 (en) Data recording and reproducing system
JP2014071487A (ja) ファイル記録装置、フィルシステム管理方法およびチェンジャドライブ
CN102930875B (zh) 一种实时同步录音录像的方法
JP2016103304A (ja) データアーカイブシステム
JP2013069370A (ja) データライブラリ装置、データアーカイブシステム、サーバ
US20100161920A1 (en) Data management apparatus, data management system, and data management method
US20080226264A1 (en) Recording medium handling apparatus and method
JP2015141549A (ja) データアーカイブシステム、記録方法及び再生方法
JP2013089275A (ja) データライブラリ装置
CN110321076A (zh) 基于光盘库的虚拟磁带库系统及其管理方法
US9324359B2 (en) System and server for efficient data recording on and reproduction from storage media having multiple surfaces
JP2014186782A (ja) データアーカイブシステム、データライブラリ装置
JP2014235759A (ja) データアーカイブシステム、データライブラリ装置
RU2414013C2 (ru) Устройство воспроизведения, способ воспроизведения, программа, носитель данных программы, система поставки данных, структура данных и способ изготовления носителя записи
JP2015130078A (ja) データアーカイブシステム及びデータアーカイブ方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170117

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170124