(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022158641
(43)【公開日】2022-10-17
(54)【発明の名称】情報処理装置及び情報処理方法
(51)【国際特許分類】
G06F 3/06 20060101AFI20221006BHJP
【FI】
G06F3/06 303G
G06F3/06 303Z
G06F3/06 305C
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2021063674
(22)【出願日】2021-04-02
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100092978
【弁理士】
【氏名又は名称】真田 有
(74)【代理人】
【識別番号】100189201
【弁理士】
【氏名又は名称】横田 功
(72)【発明者】
【氏名】野口 泰生
(57)【要約】
【課題】冗長化された磁気テープからの読み出しデータを保証しつつ、テープ反転時の遅延を抑制する。
【解決手段】冗長構成を有する複数の磁気テープのうち一の磁気テープの反転時間が他の磁気テープの読み出し時間と同じになるようにした固定サイズのブロックにアクセスし、複数の磁気テープのそれぞれについて、最初のラップの反転直後に1つの第1のダミーブロックを挿入し、他の磁気テープのそれぞれについて、最初のラップの反転直前に当該他の磁気テープ毎に異なる数の第2のダミーブロックを挿入すると共に、最初のラップの反転直後に第2のダミーブロックと同数の第3のダミーブロックを挿入する。
【選択図】
図10
【特許請求の範囲】
【請求項1】
冗長構成を有する複数の磁気テープのうち一の磁気テープの反転時間が他の磁気テープの読み出し時間と同じになるようにした固定サイズのブロックにアクセスし、
前記複数の磁気テープのそれぞれについて、最初のラップの反転直後に1つの第1のダミーブロックを挿入し、
前記他の磁気テープのそれぞれについて、前記最初のラップの反転直前に当該他の磁気テープ毎に異なる数の第2のダミーブロックを挿入すると共に、前記最初のラップの反転直後に前記第2のダミーブロックと同数の第3のダミーブロックを挿入する、
プロセッサを備える、情報処理装置。
【請求項2】
前記プロセッサは、前記複数の磁気テープのそれぞれについて、2番目以降のラップの反転直後に1つの前記第1のダミーブロックを挿入する、
請求項1に記載の情報処理装置。
【請求項3】
前記プロセッサは、前記複数の磁気テープのそれぞれについて、各ラップの終点のデータよりも1つ前のブロックで折り返して、前記終点のデータの読み込みをスキップする、
請求項1又は2に記載の情報処理装置。
【請求項4】
前記プロセッサは、前記一の磁気テープにおけるラップの反転により欠落したデータを、前記他の磁気テープのレプリカデータ又はパリティデータを用いて復元する、
請求項1~3のいずれか1項に記載の情報処理装置。
【請求項5】
冗長構成を有する複数の磁気テープのうち一の磁気テープの反転時間が他の磁気テープの読み出し時間と同じになるようにした固定サイズのブロックにアクセスし、
前記複数の磁気テープのそれぞれについて、最初のラップの反転直後に1つの第1のダミーブロックを挿入し、
前記他の磁気テープのそれぞれについて、前記最初のラップの反転直前に当該他の磁気テープ毎に異なる数の第2のダミーブロックを挿入すると共に、前記最初のラップの反転直後に前記第2のダミーブロックと同数の第3のダミーブロックを挿入する、
処理をプロセッサが実行する、情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及び情報処理方法に関する。
【背景技術】
【0002】
ストリームデータを書き込むテープメディアがある。
【0003】
【0004】
ストリームデータは、時系列等の順序の決まったデータ列であり、
図1においてはstream 0-32のデータ列が例示されている。ストリームデータは、テープドライブに対する書き込み又は読み込みが逐次的に行われ、逐次アクセスのためのテープへの記録が容易かつ性能劣化が少ない。
【0005】
図2は、テープメディアにおけるレプリケーションを説明するテーブルである。
【0006】
メディア不良によるデータ損失防止のために、テープメディアの冗長化が行われることがある。
図2に示す例では、tape D0のwrap0及びtape D1のwrap0のそれぞれに対してstream 0-10が書き込まれることにより、レプリケーションが行われている。時刻tにおいて、D0(t)=D1(t)が成り立ち、tape D0とtape D1とに書き込まれるデータ列は同じとなる。
【0007】
図3は、テープメディアにおけるErasure Code(EC)を説明するテーブルである。
【0008】
図3に示す例では、
図2と同様にtape D0のwrap0及びtape D1のwrap0のそれぞれに対してstream 0-10が書き込まれると共に、tape Pのwrap0に対してstream 0-10が書き込まれることにより、ECが行われている。時刻tにおいて、P(t)=D0(t)^D1(t)が成り立つ。なお、記号^は、排他論理和を表す。
【0009】
【0010】
テープメディアは、複数のラップを有する。
図4に示す例では、tape D0は、wrap0-3を有している。また、テープメディアにおいては、隣接するラップ毎にテープの走行方向が反転する。
図4に示す例では、wrap0及びwrap2においてはBegin Of Tape(BOT)からEnd Of Tape(EOT)への方向にストリームデータが書き込まれていると共に、wrap1及びwrap3においてはEOTからBOTへの方向にストリームデータが書き込まれている。
【0011】
図5は、テープの走行方向の反転による読み込み遅延を説明するグラフである。
【0012】
図5において、横軸は時間(s)を示し、縦軸は読み込みデータ量(Byte)を表す。テープの走行方向の反転中はデータアクセスが不可になることにより、ラップ毎に読み込み負荷となる時間が発生する。
図5に示す例では、符号A1に示す反転期間において、読み込みデータ量が増加していない。
【0013】
図6は、テープメディアにおける反転時間の隠蔽を説明するグラフである。
【0014】
Redundant Array Independent Disks(RAID)技術を用いて、レプリカのテープとパリティのテープとを同時に読み込み、反転により遅延が生じるデータはパリティにより再生することで、反転による遅延が隠蔽されることがある。
【0015】
図6に示す例では、tape D0において、符号B11及びB12に示す反転期間では、排他論理和D1^Pによりデータが再生されている。また、tape D1において、符号B21に示す反転期間では、排他論理和D0^Pによりデータが再生されている。
【0016】
これにより、ドライブの数をkとしたときに、スループット(k-1)倍で遅延がないデータ読み込みを実行できる。
【先行技術文献】
【特許文献】
【0017】
【特許文献1】特開2015-049709号公報
【特許文献2】特開2016-212537号公報
【発明の概要】
【発明が解決しようとする課題】
【0018】
図7は、テープ反転時におけるテープ間の同期を説明するカントチャートである。
【0019】
あるテープの反転時間と遅延データの他テープからの読み込み時間とが重ねられるようにテープの走行制御が行われる。
図7に示す例では、time 11において、tape D0がwrap0からwrap1に反転(R)されており、tape D1及びtape Pでstream 11が読み込まれている。符号C1に示すように、次のtime 12においては、tape D0ではstream 11が読み込まれているのに対してtape D1及びtape Pではstream 12が読み込まれており、反転したテープのデータ読み込みは反転直後に1つスキップしないと他のテープに遅れることとなる。しかしながら、冗長化のためには全てのデータが各テープに書き込まれていなければならない。
【0020】
図8は、テープにおけるデータ欠損を説明するテーブルである。
【0021】
図8のように、tape D0において、stream 11を省略して書き込むことにより、tape D0がstream 12を読み込む時間を、tape D1及びtape Pがstream 12を読み込む時間を揃えることができる。しかしこのようにすると、符号C2に示すように、tape D0においてstream 11が欠損するため、tape D1又はtape Pに障害が発生すると、stream 11のデータに欠損が生じることになる。
【0022】
1つの側面では、冗長化された磁気テープからの読み出しデータを保証しつつ、テープ反転時の遅延を抑制することを目的とする。
【課題を解決するための手段】
【0023】
1つの側面では、情報処理装置は、冗長構成を有する複数の磁気テープのうち一の磁気テープの反転時間が他の磁気テープの読み出し時間と同じになるようにした固定サイズのブロックにアクセスし、前記複数の磁気テープのそれぞれについて、最初のラップの反転直後に1つの第1のダミーブロックを挿入し、前記他の磁気テープのそれぞれについて、前記最初のラップの反転直前に当該他の磁気テープ毎に異なる数の第2のダミーブロックを挿入すると共に、前記最初のラップの反転直後に前記第2のダミーブロックと同数の第3のダミーブロックを挿入する。
【発明の効果】
【0024】
1つの側面では、冗長化された磁気テープからの読み出しデータを保証しつつ、テープ反転時の遅延を抑制することができる。
【図面の簡単な説明】
【0025】
【
図2】テープメディアにおけるレプリケーションを説明するテーブルである。
【
図3】テープメディアにおけるECを説明するテーブルである。
【
図5】テープの走行方向の反転による読み込み遅延を説明するグラフである。
【
図6】テープメディアにおける反転時間の隠蔽を説明するグラフである。
【
図7】テープ反転時におけるテープ間の同期を説明するカントチャートである。
【
図8】テープにおけるデータ欠損を説明するテーブルである。
【
図9】実施形態におけるテープ反転時間とデータ読み込み時間との関係を説明するカントチャートである。
【
図10】実施形態における反転直後のデータ読み込み制御を説明するテーブルである。
【
図11】実施形態における反転後のダミーデータの挿入制御を説明するテーブルである。
【
図12】実施形態におけるストリームデータの読み込み処理を説明するカントチャートである。
【
図13】実施形態における情報処理装置のハードウェア構成例を模式的に示すブロック図である。
【
図14】
図13に示した情報処理装置のソフトウェア構成例を模式的に示すブロック図である。
【
図15】実施形態におけるテープ書き込み処理を説明するフローチャートである。
【
図16】実施形態におけるテープ書き込み処理を説明するフローチャートである。
【
図17】実施形態におけるドライブ反転確認処理を説明するフローチャートである。
【
図18】実施形態におけるテープ読み込み処理を説明するフローチャートである。
【
図19】実施形態におけるストリーム出力処理を説明するフローチャートである。
【発明を実施するための形態】
【0026】
〔A〕実施形態
以下、図面を参照して一実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【0027】
以下、図中において、同一の各符号は同様の部分を示しているので、その説明は省略する。
【0028】
〔A-1〕構成例
図9は、実施形態におけるテープ反転時間とデータ読み込み時間との関係を説明するカントチャートである。
【0029】
あるテープにおけるテープ反転時間と他のテープにおけるデータ読み込み時間とが同一にされる。また、テープを固定長ブロックとしてアクセスできるようにし、固定長ブロックのデータサイズを反転時間×転送速度とする。
【0030】
図9に示す例では、time 10における、符号E1に示すtape D0でのwrap0からwrap1への反転時間で、符号E2及びE3に示すようにtape D1のwrap1及びtape Pのwrap1からstream 10が読み出されている。これにより、符号E4に示すように、tape D1におけるテープ反転時間が他のtape D1及びtape Pの読み出し時間と一致することとなる。
【0031】
図10は、実施形態における反転直後のデータ読み込み制御を説明するテーブルである。
【0032】
テープ反転直後のデータ読み込みは1つスキップされる。書き込みの際にラップの反転後の先頭にダミーブロックが挿入される。また、ラップの最後(EOT又はBOT)のデータの少なくとも1つ手前を折り返し箇所とし、折り返し箇所で反転するとデータを1つスキップできる。
【0033】
図10に示す例において、太枠は読み込みの際の折り返し箇所を示し、Dはダミーデータを示す。
【0034】
tape D0において、符号F1に示すようにwrap0のstream 9で折り返すと次にwrap1でstream 11が読み出せ、符号F2に示すようにwrap1のstream 19で折り返すと次にwrap2でstream 21が読み出せ、符号F3に示すようにwrap2のstream 29で折り返すと次にwrap3でstream 31が読み出せる。
【0035】
tape D1及びtape Pにおいても、tape D0と同様に、折り返し箇所では1つスキップしてデータを読み込む。
【0036】
ただし、
図11を用いて後述するように、折り返し箇所は、ダミーデータDの挿入によりテープ毎に異なる。
【0037】
図11は、実施形態における反転後のダミーデータの挿入制御を説明するテーブルである。
【0038】
テープ毎にダミーデータの挿入数を制御することにより、各テープの反転時間が重ならないようにされる。書き込みの際に、反転後の先頭へのダミーブロック1つの挿入に加えて、先頭ラップのEOT前と2番目のラップのEOT後とに同数のダミーブロックが挿入される。
【0039】
ダミーブロックの数は、テープ毎に変えられる。これにより、各テープの折り返し箇所は重ならず、かつ、折り返し箇所で反転すると1つデータをスキップできる性質は担保される。
【0040】
図11に示す例では、符号G1に示すように、tape D1において、tape D0と同様のダミーデータDに加えて、先頭のwrap0と2番目のwrap1とにダミーデータDが1つずつ挿入される。また、符号G2に示すように、tape Pにおいて、tape D0と同様のダミーデータDに加えて、先頭のwrap0と2番目のwrap1とにダミーデータDが2つずつ挿入される。なお、太枠は、読み込みの際の折り返し箇所を示している。
【0041】
図12は、実施形態におけるストリームデータの読み込み処理を説明するカントチャートである。
【0042】
ストリームデータの読み込みの際は、折り返し箇所で反転するようにテープ走行が行われる。折り返し直後のデータ読み出しはスキップして、レプリカ又はパリティを利用してデータが復元される。
【0043】
図12に示す例では、符号H1に示すように、tapeD0において、time 10でのwrap0からwrap1への折り返し箇所+1の読み出しはスキップして反転し、直後に折り返し箇所+2の読み出しを行うことにより、stream 9の直後にstream 11を読み出している。符号H2に示すようにスキップしたstream 10の読み出しは、他のtape D1及びtape Pから復元される。
【0044】
図13は、実施形態における情報処理装置1のハードウェア構成例を模式的に示すブロック図である。
【0045】
情報処理装置1は、Central Processing Unit(CPU)11,メモリ部12,記憶装置13、ネットワークInterface(IF)14,Graphic Processing Unit(GPU)15,入力IF16,光学ドライブ装置17及び機器接続IF18を備える。情報処理装置1は、ストリーム蓄積サーバと称されてもよい。
【0046】
メモリ部12は、例示的に、Read Only Memory(ROM)及びRandom Access Memory(RAM)を含む記憶装置である。RAMは、例えばDynamic RAM(DRAM)であってよい。メモリ部12のROMには、Basic Input/Output System(BIOS)等のプログラムが書き込まれてよい。メモリ部12のソフトウェアプログラムは、CPU11に適宜に読み込まれて実行されてよい。また、メモリ部12のRAMは、一次記録メモリあるいはワーキングメモリとして利用されてよい。
【0047】
記憶装置13は、例示的に、データを読み書き可能に記憶する装置であり、例えば、Hard Disk Drive(HDD)やSolid State Drive(SSD),Storage Class Memory(SCM)が用いられてよい。記憶装置13の少なくとも一部は、
図14を用いて後述する書き込みバッファ131及び読み込みバッファ132として機能してよい。
【0048】
ネットワークIF14は、情報処理装置1をネットワークに接続させる。
【0049】
GPU15は、表示装置150への映像の出力を制御する。GPU15としての機能はCPU11の内部に備えられていてもよいし、GPU15がCPU11の演算処理の一部を実行してもよい。表示装置150は、液晶ディスプレイやOrganic Light-Emitting Diode(OLED)ディスプレイ,Cathode Ray Tube(CRT),電子ペーパーディスプレイ等であり、オペレータ等に対する各種情報を表示する。
【0050】
入力IF16は、入力装置160からの情報の入力を制御する。入力装置160は、例えば、マウス、トラックボール、キーボードであり、この入力装置160を介して、オペレータが各種の入力操作を行う。入力装置160及び表示装置150は組み合わされたものでもよく、例えば、タッチパネルでもよい。
【0051】
光学ドライブ装置17は、光学ディスク170が装着可能に構成される。光学ドライブ装置17は、光学ディスク170が装着された状態において、光学ディスク170記録されている情報を読み取り可能に構成される。本例では、光学ディスク170は可搬性を有する。光学ディスク170は、コンピュータ読取可能な記録媒体であって、例えば、フレキシブルディスク,CD(CD-ROM,CD-R,CD-RW等),DVD(DVD-ROM,DVD-RAM,DVD-R,DVD+R,DVD-RW,DVD+RW,HD DVD等)又はブルーレイディスクである。
【0052】
機器接続IF18は、複数のテープドライブ180等の接続機器が装着可能に構成される。テープドライブ180は、例えば磁気テープを搭載可能である。複数のテープドライブ180に搭載される磁気テープは、RAID技術等によりデータを冗長化して記憶している。
【0053】
図14は、
図13に示した情報処理装置1におけるソフトウェア構成例を模式的に示すブロック図である。
【0054】
CPU11は、種々の制御や演算を行なう処理装置であり、メモリ部12に格納されたOperating System(OS)やプログラムを実行することにより、種々の機能を実現する。すなわち、CPU11は、
図14に示すように、ストリーム入力部111,テープ書き込み部112,テープ読み込み部113及びストリーム出力部114として機能する。
【0055】
なお、これらのストリーム入力部111,テープ書き込み部112,テープ読み込み部113及びストリーム出力部114としての機能を実現するためのプログラムは、例えば前述した光学ディスク170又はテープドライブ180に記録された形態で提供される。そして、コンピュータは光学ドライブ装置17又は機器接続IF18を介して光学ディスク170又はテープドライブ180からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供してもよい。
【0056】
ストリーム入力部111,テープ書き込み部112,テープ読み込み部113及びストリーム出力部114としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ部12)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU11)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行してもよい。
【0057】
CPU11は、例示的に、情報処理装置1全体の動作を制御する。情報処理装置1全体の動作を制御するための装置は、CPU11に限定されず、例えば、MPUやDSP,ASIC,PLD,FPGAのいずれか1つであってもよい。また、情報処理装置1全体の動作を制御するための装置は、CPU,MPU,DSP,ASIC,PLD及びFPGAのうちの2種類以上の組み合わせであってもよい。なお、MPUはMicro Processing Unitの略称であり、DSPはDigital Signal Processorの略称であり、ASICはApplication Specific Integrated Circuitの略称である。また、PLDはProgrammable Logic Deviceの略称であり、FPGAはField Programmable Gate Arrayの略称である。
【0058】
ストリーム入力部111は、Internet of Things(IoT)等のデータソース101からの入力を受け付け、書き込みバッファ131にデータソース101を書き込む。
【0059】
テープ書き込み部112は、書き込みバッファ131から読み出したストリームデータをデータブロック及びパリティブロックとして、テープドライブ180を介して磁気テープに書き込む。また、テープ書き込み部112は、磁気テープにおける折り返し箇所を検出して、ダミーブロックを挿入する。
【0060】
テープ書き込み部112は、冗長構成を有する複数の磁気テープのうち一の磁気テープの反転時間が他の磁気テープの読み出し時間と同じになるようにした固定サイズのブロックにアクセスする。また、テープ書き込み部112は、複数の磁気テープのそれぞれについて、最初のラップの反転直後に1つの第1のダミーブロックを挿入する。更に、テープ書き込み部112は、他の磁気テープのそれぞれについて、最初のラップの反転直前に当該他の磁気テープ毎に異なる数の第2のダミーブロックを挿入すると共に、最初のラップの反転直後に第2のダミーブロックと同数の第3のダミーブロックを挿入する。
【0061】
テープ書き込み部112は、複数の磁気テープのそれぞれについて、2番目以降のラップの反転直後に1つの第1のダミーブロックを挿入してよい。
【0062】
テープ読み込み部113は、テープドライブ180からデータブロック及びパリティブロックを読み込む。また、テープ読み込み部113は、折り返し箇所でのデータブロックの読み込みをスキップする。テープ読み込み部113は、読み込んだデータブロック及びパリティブロックを読み込みバッファ132に書き込む。
【0063】
テープ読み込み部113は、複数の磁気テープのそれぞれについて、各ラップの終点のデータよりも1つ前のブロックで折り返して、終点のデータの読み込みをスキップする。
【0064】
ストリーム出力部114は、読み込みバッファ132のデータブロックからストリームを再構成して、情報処理装置1の外部のアプリケーション102等に出力する。また、ストリーム出力部114は、テープドライブ180から読み込まれたデータブロックに遅延がある際には、パリティブロックを利用してデータブロックを再構成することによりストリームデータを再構成する。
【0065】
ストリーム出力部114は、一の磁気テープにおけるラップの反転により欠落したデータを、前記他の磁気テープのレプリカデータ又はパリティデータを用いて復元する。
【0066】
〔A-2〕動作例
実施形態におけるテープ書き込み処理を
図15及び
図16に示すフローチャート(ステップS1~S14)に従って説明する。なお、
図15にはステップS1~S7を示し、
図16にはステップS8~S14を示す。
【0067】
テープ書き込み部112は、書き込みバッファ131からストリームデータを読み込む(ステップS1)。
【0068】
テープ書き込み部112は、ストリームデータをN個のデータブロック{i: 0, 1, …, N-1}に分割する(ステップS2)。
【0069】
テープ書き込み部112は、ブロック{i:N}にパリティを生成する(ステップS3)。
【0070】
なお、データブロック及びパリティブロックは各テープドライブ180に対応付けられるため、データブロック及びパリティブロックの番号(i)はテープドライブ180の番号でもある。
【0071】
テープ書き込み部112は、最終ブロック(i, j)に到達したテープドライブ180があるかを判定する(ステップS4)。なお、最終ブロック(i, j)は、ドライブ(i)のラップ(j)における最終ブロックの番号を表すし、読み込み時はスキップされる。
【0072】
最終ブロック(i, j)に到達したテープドライブ180がない場合には(ステップS4のNOルート参照)、テープ書き込み部112は、テープドライブ180の制御を開始して、データブロック(i)を書き込む(ステップS5)。ダミーブロック01(i)は、反転後にデータブロックの読み込みをスキップするためのダミーブロックである。
【0073】
ステップS5におけるテープドライブ180の制御は、データブロック{i: 0, 1, …, N-1}及びパリティブロック{i:N}に対応するテープドライブ180の数が繰り返される。
【0074】
そして、処理はステップS1へ戻り、次のストリームブロックの処理が実行される。
【0075】
ステップS4において、最終ブロック(i, j)に到達したテープドライブ180がある場合には(ステップS4のYESルート参照)、テープ書き込み部112は、最終ブロック(i, j)に到達したテープドライブ180の番号をkとする(ステップS6)。
【0076】
テープ書き込み部112は、テープドライブ180の制御を開始して、データブロック01(i)を書き込む(ステップS7)。
【0077】
ステップS7におけるテープドライブ180の制御は、番号kを除くテープドライブ180の数が繰り返される。
【0078】
そして、処理は
図16のステップS8へ進み、データブロック(k)の処理が実行される。
【0079】
テープ書き込み部112は、データブロック(k)を書き込む(ステップS8)。
【0080】
テープ書き込み部112は、j=0で最初のラップであるかを判定する(ステップS9)。
【0081】
j=0でなく最初のラップでない場合には(ステップS9のNOルート参照)、テープ書き込み部112は、番号kのテープドライブ180の反転確認を行う(ステップS10)。テープドライブ180の反転確認の処理の詳細は、
図17を用いて後述する。そして、処理はステップS14へ進む。
【0082】
一方、j=0で最初のラップである場合には(ステップS9のYESルート参照)、テープ書き込み部112は、ダミーブロック02(i)を書き込む(ステップS11)。ダミーブロック02(i)は、ドライブ毎に反転時間を変えるためのダミーブロックである。
【0083】
テープ書き込み部112は、番号kのテープドライブ180の反転確認を行う(ステップS12)。テープドライブ180の反転確認の処理の詳細は、
図17を用いて後述する。
【0084】
テープ書き込み部112は、ダミーブロック02(i)を書き込む(ステップS13)。
【0085】
テープ書き込み部112は、データブロック01を書き込む(ステップS14)。
【0086】
そして、次のストリームブロックがある場合には処理は
図15のステップS1へ戻り、次のストリームブロックがない場合にはテープ書き込み処理は終了する。
【0087】
次に、実施形態におけるドライブ反転確認処理を、
図17に示すフローチャート(ステップS21~S24)に従って説明する。
【0088】
テープ書き込み部112は、番号kのテープドライブ180のセンス情報を取得する(ステップS21)。
【0089】
テープ書き込み部112は、取得したセンス情報から磁気テープの反転確認を行う(ステップS22)。
【0090】
磁気テープの反転が確認されない場合には(ステップS22のNOルート参照)、テープ書き込み部112は、ダミーブロック03を書き込む(ステップS23)。ダミーブロック03は、テープドライブ180の反転を確認するために書き込むダミーブロックである。そして、処理はステップS21へ戻る。
【0091】
一方、磁気テープの反転が確認された場合には(ステップS22のYESルート参照)、テープ書き込み部112は、折り返しブロックをそろえるため、ステップS23において書き込んだダミーブロック03と同数のダミーブロック03を書き込む(ステップS24)。そして、ドライブ反転確認処理は終了する。
【0092】
次に、実施形態におけるテープ読み込み処理を、
図18に示すフローチャート(ステップS31~S33)に従って説明する。
【0093】
テープ読み込み部113は、テープドライブ180の制御を開始して、折り返しブロック(i, j)に到達したかを判定する(ステップS31)。
【0094】
折り返しブロック(i, j)に到達していない場合には(ステップS31のNOルート参照)、処理はステップS33へ進む。
【0095】
一方、折り返しブロック(i, j)に到達した場合には(ステップS31のYESルート参照)、テープ読み込み部113は、折り返しブロック(i, j)の読み込みをスキップする(ステップS32)。
【0096】
テープ読み込み部113は、データブロック(i)を読み込む(ステップS33)。
【0097】
ステップS31~S33におけるテープドライブ180の制御は、データブロック{i: 0, 1, …, N-1}及びパリティブロック{i:N}に対応するテープドライブ180の数が繰り返される。
【0098】
そして、テープ読み込み処理は終了する。
【0099】
次に、実施形態におけるストリーム出力処理を、
図19に示すフローチャート(ステップS41~S44)に従って説明する。
【0100】
ストリーム出力部114は、ブロック(0, …, N)を読み込む(ステップS41)。
【0101】
ストリーム出力部114は、テープドライブ180からのテープの読み込みに遅延が発生しているかを判定する(ステップS42)。
【0102】
遅延が発生していない場合には(ステップS42のNOルート参照)、処理はステップS44へ進む。
【0103】
一方、遅延が発生している場合には(ステップS42のYESルート参照)、ストリーム出力部114は、パリティによるデータ再生を行う(ステップS43)。
【0104】
ストリーム出力部114はストリームブロックを構成する(ステップS44)。そして、ストレージ出力処理は終了する。なお、次に出力するストリームブロックがある場合には、処理はステップS41へ戻る。
【0105】
〔B〕効果
上述した実施形態の一例における情報処理装置1及び情報処理方法によれば、例えば、以下の作用効果を奏することができる。
【0106】
テープ書き込み部112は、冗長構成を有する複数の磁気テープのうち一の磁気テープの反転時間が他の磁気テープの読み出し時間と同じになるようにした固定サイズのブロックにアクセスする。また、テープ書き込み部112は、複数の磁気テープのそれぞれについて、最初のラップの反転直後に1つの第1のダミーブロックを挿入する。更に、テープ書き込み部112は、他の磁気テープのそれぞれについて、最初のラップの反転直前に当該他の磁気テープ毎に異なる数の第2のダミーブロックを挿入すると共に、最初のラップの反転直後に第2のダミーブロックと同数の第3のダミーブロックを挿入する。
【0107】
これにより、冗長化された磁気テープからの読み出しデータを保証しつつ、テープ反転時の遅延を抑制することができる。別言すれば、磁気テープからのストリーム読み込みにおいて、反転によって生じる遅延を隠蔽できる。
【0108】
テープ書き込み部112は、複数の磁気テープのそれぞれについて、2番目以降のラップの反転直後に1つの第1のダミーブロックを挿入する。これにより、2番目のラップの反転タイミング以降についても、読み出しデータを保証しつつ、テープ反転時の遅延を抑制することができる。
【0109】
テープ読み込み部113は、複数の磁気テープのそれぞれについて、各ラップの終点のデータよりも1つ前のブロックで折り返して、終点のデータの読み込みをスキップする。これにより、遅延無く正しい順序でストリームデータを読み込むことができる。
【0110】
ストリーム出力部114は、一の磁気テープにおけるラップの反転により欠落したデータを、前記他の磁気テープのレプリカデータ又はパリティデータを用いて復元する。これにより、遅延無く正しい順序でストリームデータを読み込むことができる。
【0111】
〔C〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【0112】
〔C〕付記
以上の実施形態に関し、更に以下の付記を開示する。
【0113】
(付記1)
冗長構成を有する複数の磁気テープのうち一の磁気テープの反転時間が他の磁気テープの読み出し時間と同じになるようにした固定サイズのブロックにアクセスし、
前記複数の磁気テープのそれぞれについて、最初のラップの反転直後に1つの第1のダミーブロックを挿入し、
前記他の磁気テープのそれぞれについて、前記最初のラップの反転直前に当該他の磁気テープ毎に異なる数の第2のダミーブロックを挿入すると共に、前記最初のラップの反転直後に前記第2のダミーブロックと同数の第3のダミーブロックを挿入する、
プロセッサを備える、情報処理装置。
【0114】
(付記2)
前記プロセッサは、前記複数の磁気テープのそれぞれについて、2番目以降のラップの反転直後に1つの前記第1のダミーブロックを挿入する、
付記1に記載の情報処理装置。
【0115】
(付記3)
前記プロセッサは、前記複数の磁気テープのそれぞれについて、各ラップの終点のデータよりも1つ前のブロックで折り返して、前記終点のデータの読み込みをスキップする、
付記1又は2に記載の情報処理装置。
【0116】
(付記4)
前記プロセッサは、前記一の磁気テープにおけるラップの反転により欠落したデータを、前記他の磁気テープのレプリカデータ又はパリティデータを用いて復元する、
付記1~3のいずれか1項に記載の情報処理装置。
【0117】
(付記5)
冗長構成を有する複数の磁気テープのうち一の磁気テープの反転時間が他の磁気テープの読み出し時間と同じになるようにした固定サイズのブロックにアクセスし、
前記複数の磁気テープのそれぞれについて、最初のラップの反転直後に1つの第1のダミーブロックを挿入し、
前記他の磁気テープのそれぞれについて、前記最初のラップの反転直前に当該他の磁気テープ毎に異なる数の第2のダミーブロックを挿入すると共に、前記最初のラップの反転直後に前記第2のダミーブロックと同数の第3のダミーブロックを挿入する、
処理をプロセッサが実行する、情報処理方法。
【0118】
(付記6)
前記複数の磁気テープのそれぞれについて、2番目以降のラップの反転直後に1つの前記第1のダミーブロックを挿入する、
処理を前記プロセッサが実行する、付記5に記載の情報処理方法。
【0119】
(付記7)
前記プロセッサは、前記複数の磁気テープのそれぞれについて、各ラップの終点のデータよりも1つ前のブロックで折り返して、前記終点のデータの読み込みをスキップする、
処理を前記プロセッサが実行する、付記5又は6に記載の情報処理方法。
【0120】
(付記8)
前記プロセッサは、前記一の磁気テープにおけるラップの反転により欠落したデータを、前記他の磁気テープのレプリカデータ又はパリティデータを用いて復元する、
処理を前記プロセッサが実行する、付記5~7のいずれか1項に記載の情報処理方法。
【符号の説明】
【0121】
1 :情報処理装置
101 :データソース
102 :アプリケーション
11 :CPU
111 :ストリーム入力部
112 :テープ書き込み部
113 :テープ読み込み部
114 :ストリーム出力部
12 :メモリ部
13 :記憶装置
131 :書き込みバッファ
132 :読み込みバッファ
14 :ネットワークIF
15 :GPU
150 :表示装置
16 :入力IF
160 :入力装置
17 :光学ドライブ装置
170 :光学ディスク
18 :機器接続IF
180 :テープドライブ