JP6005010B2 - 複数のテープメディアに1つのファイルをスパニングする方法、ストレージ・システム、およびプログラム - Google Patents

複数のテープメディアに1つのファイルをスパニングする方法、ストレージ・システム、およびプログラム Download PDF

Info

Publication number
JP6005010B2
JP6005010B2 JP2013167682A JP2013167682A JP6005010B2 JP 6005010 B2 JP6005010 B2 JP 6005010B2 JP 2013167682 A JP2013167682 A JP 2013167682A JP 2013167682 A JP2013167682 A JP 2013167682A JP 6005010 B2 JP6005010 B2 JP 6005010B2
Authority
JP
Japan
Prior art keywords
file
index
media
medium
tape
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.)
Active
Application number
JP2013167682A
Other languages
English (en)
Other versions
JP2015036851A (ja
Inventor
豊 大石
豊 大石
真幸 岩永
真幸 岩永
由美子 太田
由美子 太田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2013167682A priority Critical patent/JP6005010B2/ja
Priority to US14/456,316 priority patent/US9684454B2/en
Publication of JP2015036851A publication Critical patent/JP2015036851A/ja
Application granted granted Critical
Publication of JP6005010B2 publication Critical patent/JP6005010B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0682Tape device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Description

本発明は、テープドライブ用のファイルシステムにおいて、1つのファイルを複数のテープメディアに分割して保管、即ちスパニング(spanning)する方法に関する。
テープメディア(テープカートリッジ、メディア)をあたかもHDDやUSBメモリのようにファイルシステム経由で利用する方法である。例えば、LTFS(Linear Tape File System)は、テープメディアをデータ・パーティション(DP:Data Partition)とインデックス・パーティション(IP:Index Partition)と呼ばれる2つの領域に分割して管理する。LTFSは、ファイル本体をテープメディアのDPに保管すると共に、インデックスと呼ばれるファイル名やファイルを特定するためのIDなど、ファイルに関するメタデータもテープメディアのIPにXMLファイル形式で保管する。インデックスには、1つのテープメディア上に保管された全てのファイルのメタデータが含まれる。現在のLTFS フォーマットでは1つのファイルを複数のテープメディアに分割して保管することは許容していない。
例えば、第5世代のLTO(Linear Tape Open)テープドライブではメディアの最大容量1.5TBを超えてデータを書込むことはできない。また、既にある程度のデータが書き込まれているメディアに別のデータをさらに追記する場合には、メディアの最大容量よりは少ない容量のデータしか追記できない。
更に、書き込むファイルのサイズも書き込みを始める時点では決まっていないことがある。放送業界などで番組作成のための録画をリアルタイムに行う場合や、セキュリティシステムでUSBカメラなどの映像をメディアに直接書き続ける場合である。このような場合メディアに追記しているファイルのサイズがメディアの容量を超えることになる。それまでに書かれたファイルを分割して保管しておき、続きのデータを別のメディアに書き続けることになる(spanning)。
スパニングされたファイルに変更(データの追記および一部削除、ファイル名の変更など)を実施した場合、ファイルの部分を保管する全てのテープメディアのインデックス情報 (ファイルサイズ、タイムスタンプ、ファイル名など) を更新する必要が生じる。
テープドライブにテープメディアがマウントされると、テープメディアからインデックスを読み出すのは時間がかかるため、LTFSはメモリないしハードディスク上に、テープメディア上に記録されたインデックスのコピーを保持する。このコピーの内容がテープメディア上のインデックスと同一の情報を持つ場合は、テープメディア上のインデックスを利用することはない。言い換えると、LTFSがテープメディア上のインデックスの情報を読み出すのは、メモリやハードディスク上のインデックスのコピーがなにがしかの理由で利用できない場合である。
スパニングしたファイルのインデックスを更新する時に、そのファイルが格納された一部のテープメディアのインデックスしか更新していない場合に問題が生じる。LTFSがテープメディア上のインデックスを読み出す場合にどのテープメディアに格納されたインデックスの情報を採用して良いか判断が付かなくなる。ファイル部分の変更の場合でも、スパニングされたファイルを保管する全てのテープメディアのインデックス情報)を更新する必要が生じる。
テープライブラリを利用しテープドライブ・システムにマウントされたテープメディアを交換する場合、平均でも2分、長い場合では4分以上の時間が必要となる。ファイル本体をテープメディアに記録してもインデックスを更新する前にテープドライブの電源が落ちるなどトラブルが生じた場合に問題が生じる。LTFSでは、インデックスに登録されていないファイルの本体を利用することができなくなるため、標準の設定ではファイル本体の書き込み中は5分ごとにインデックスを更新する。
特許文献1は、ファイル管理に必要なシステム情報を各メディアに分散し保管するため、システム情報を1本のメディアに書き込むように再配置する技術を開示する。
特開11−306190号公報
しかし、特許文献1は、1つのファイルが1のメディアに納まらない場合を1つのファイルのメタデータがどのメディアの情報が代表するのか示していない。従来のLTFSとして、複数本のカートリッジに分割してファイルを書き込むにあたり、一定時間毎にテープドライブにマウントされたテープメディアを入れ替えることはパフォーマンス (書き込み所要時間に与える影響) の観点で現実的ではない。
従って、本発明の目的は、LTFSにおいて、1つのファイルを複数のテープメディアに分割して保管するスパニング機能を有する方法及びストレージ・システムを提供することである。
かかる目的のもと、本発明は、少なくとも1つのテープドライブを含むテープストレージ・システムにおいて1つのファイルを複数のテープメディアに分割して保管(スパニング)する方法である。この方法は、
前記ファイルのインデックス(メタデータ)および前記ファイルのデータをメディアに所定のフォーマットで保管するようにフォーマットすることと、
前記システムが、1つのファイルを分割してシーケンシャルにファイルの部分(ファイル部分)を保管する複数の前記各メディアを指示(identify)するIDの少なくとも1つを前記ファイルに関連付けて管理することと、
前記メデイアに前記各ファイル部分に保管および更新する履歴の回数を示す世代情報を、各メディアに前記インデックスとして保管することと、を含み、
前記世代情報は、前記システムが分割保管された前記ファイルの読み出し要求を受けた場合、その値が最大値に有するファイル部分を保管したメディア上のインデックスを確保し前記ファイルのメタデータを読み出すことを特徴とする。
また、このスパニングする方法は、前記所定のフォーマットが、
前記メディアは、ストレージ・システムのシーケンシャルアクセスのためのファイルシステムにより読み書きを可能にするために、2以上のパーティションに区分され、
前記パーティションは、ファイルのメタデータ(インデックス)を保管するインデック・パーティション(IP)とファイルのデータを保管するデータ・パーティション(DP)とを含む。
また、このスパニングの方法は、各メディアが保管する前記世代情報が、最初は1つのファイルを分割して後続のメディアに書き込む毎に1つ増加させた値として、各メディアに保管すること、を含む。
また、このスパニングする方法において、前記ファイル部分の変更する場合に、前記ファイル部分の変更の履歴として前記世代情報の最大値を1つ増加させて更新して前記メディアに保管すること、を含む。
また、このスパニングする方法は、前記ファイル部分を保管する前記各メディアに前記ファイルを指示するID(UUID)を前記インデックスとして保管することと、を含み、
前記ファイル部分を保管する複数の前記メディアに、前記ファイルのIDと関連付けて1つの前記ファイルの部分であることを指示することを特徴とする。
また、このスパニングする方法は、前記1つのファイルの部分を保管する前記メディアが、前記ファイルの他のファイル部分を保管する前記各メディアを指示するIDの少なくとも1つを前記ファイルに関連付けて、インデックスとして保管することと、を含む。
また、このスパニングする方法は、第1のファイル部分を保管したメディアに、第1のファイル部分に対して直前のファイル部分を保管する前記メディアのID(直前メディアID)と、第1のファイル部分の直後のファイル部分を保管する前記メディアのID(直後メディアID)と、前記インデックスとして更に保管することと、を含む。
また、このスパニングする方法は、前記ファイルを変更(データの追記、データの一部削除、ファイル名の変更など)する要求をテープストレージ・システムが受け取った場合、前記システムは更新に該当するファイル部分を保管する前記メディアのIDを特定して前記メディアをドライブにマウントすることと、
前記IDのメディアのインデックスを前記システムのメモリ又はハードディスクにコピーすることと、
前記ファイル部分の変更に基づいて前記メディアの前記DPのデータを変更すること、
前記DPのデータの変更と同時に、前記ファイル部分の変更内容を反映するように前記メモリ上の前記インデックスを変更することと、
前記変更されたメモリ上の前記インデックスに、前記変更時点でのドライブの前記世代情報を含ませことと、
所定の時点(マウント中5分毎、アンマウント時)で前記メディアのIPに前記インデックスを登録すること、を含むことを特徴とする。
更に、かかる目的のもと、本発明は、少なくとも1つのテープドライブを含み、1つのファイルを複数のテープメディアに分割して保管(スパニング)するテープストレージ・システムである。このシステムは、
前記システムの読み書き制御は、
前記ファイルのインデックス(メタデータ)および前記ファイルのデータをメディアに所定のフォーマットで保管するようにフォーマットすることと、
前記システムが、1つのファイルを分割してシーケンシャルにファイルの部分を保管する複数の前記各メディアを指示(identify)するIDの少なくとも1つを前記ファイルに関連付けて管理することと、
前記メデイアに前記各ファイル部分に保管および更新する履歴の回数を示す世代情報を、各メディアに前記インデックスとして保管することと、を含み、
前記世代情報は、前記システムが分割保管された前記ファイルの読み出し要求を受けた場合、その値が最大値に有するファイル部分を保管したメディア上のインデックスを確保し前記ファイルのメタデータを読み出すことを特徴とする。
更に、かかる目的のもと、本発明は、少なくとも1つのテープドライブを含むテープストレージ・システムにおいて1つのファイルを複数のテープメディアに分割して保管(スパニング)するプログラムである。このプログラムは、
前記ファイルのインデックス(メタデータ)および前記ファイルのデータをメディアに所定のフォーマットで保管するようにフォーマットすることと、
前記システムが、1つのファイルを分割してシーケンシャルにファイルの部分を保管する複数の前記各メディアを指示(identify)するIDの少なくとも1つを前記ファイルに関連付けて管理することと、
前記メディアに前記各ファイル部分に保管および更新する履歴の回数を示す世代情報を、各メディアに前記インデックスとして保管することと、を前記システムに実行させることを特徴とする。
上述の本発明を適用するシステムでは、スパニングされたファイルを更新するにあたり、複数のテープメディアのインデックスを更新することなく、かつ、1つのテープメディアから最新のインデックスを取得することが可能である。
1つのファイルを複数のメディアに分割して保管、即ちスパニングする態様を示す。 1つのファイル1を複数メディアにスパニングする場合、各メディアのメタデータをインデックス・パーティションに登録の方法を示す。 LTFSフォーマットでのメディアのインデックス・パーティションとデータ・パーティションの内容を示す。 従来のLTFSフォーマットにより2つのカートリッジ・メディアのIPのインデックスを示す。 本発明が適用される、複数のテープドライブを含むテープライブラリ・システムの構成例を示す。 本発明の拡張されたLTFSフォーマットにおけるインデックス更新時のフローチャートを示す。
以下において、テープライブラリ・システムに1つのファイルの複数の部分のデータの書込み、読み出し、及び編集の場合について本発明の実施の形態(実施例)を説明する。
本発明の内容は、新たな要素をLTFSのIPのインデックスに含ませることである。LTFSでスパニングをサポートするにあたり、インデックスにおいてファイル毎に次の情報を保持する。
(1)ファイルのID、例えばUUID(Universally UniqueIdentifier):
テープメディアは内部に保管する複数のファイルをIDで管理する。複数のテープメディアに跨ってスパニングされる1つのファイルを指示にするIDを新たに設ける。
(2)直前および直後のテープメディアのID(例えばバーコードラベル):
テープメディアはインデックスに自己のテープメディアIDを保管する。他のテープメディアとの関連すけのためにその他のメディアのIDを保管する。他のメディアとはファイルの部分を順に保管する前後のメディアを指示できるように、自己のメディアに関連して前と後のメディアのIDを新たに設ける。
(3)世代情報(generation number):
この世代情報は、1つのファイルを変更した回数を示す指標(thenumber of changing index for the file)を意味する。1つのファイルの複数の部分を後続のメディアに保管し続ける毎に、各メディアに保管される値を前方の値に1つインクリメントされて保管される。また、アプリケーション30(図5)から特定のファイル部分にいて変更要求がある場合に、すべてのスパニングされたメディアが保管する全ての世代情報を確保する。全ての世代情報のうち最大値のものに、1つインクリメントして変更ファイル部分を含むメディアの世代情報として保管する。システムが世代情報を参照することにより、スパニングされたファイルを作成/更新するにあたり、全てのテープメディアのインデックスを更新することなく、LTFS はテープメディアから最新の情報を取得することが可能となる。具体的の世代情報の利用は、テープメディアからインデックスを読み出す場合は、テープライブラリ内の全てのテープメディアのインデックスを収集し、ファイル毎に持つ世代情報が一番高い情報をそれぞれ採用することにより、ファイルサイズやタイムスタンプの情報を得ることができる。また、そこに登録された直前/直後のテープメディアのIDを辿ることにより、各テープメディアに分割して格納されたファイルの断片がそれぞれどのテープメディア上のどこに保管されているかということを知ることができる。例えば、アプリケーションは、ファイルの先頭部分があるメディアを含むパスを指定してファイルをOpenしにくるタイミングで先頭のメディアから後続のメディアへと順次に辿って、各メディアのインデックスに含まれる世代情報を確保できる。
図1は、従来のLTFSによる1つのファイルを複数のメディアに分割して保管、即ちスパニングする典型的な態様を示す。図は、1つのドライブに対して複数のメディアをロード/アンロードする態様を示している。典型的には、ストレージ・システムは1または2以上のテープドライブを含み、複数のメディアが複数のドライブを使用する。a,b,cメディアの指標を意味するメディアのIDであり、テープライブラリなどのストレージ・システムは、このIDで目的のメディアを特定する。スパニングのために1つのドライブで使用可能で、他のドライブは他の用途に使用されている場合を想定する。1つのドライブに最初のメディアaをロード(マウント)し、ファイルの先頭(最初のファイル部分)を書込む。このドライブはメディアaについて、インデックスとしてそのファイルのメタデータを保管する。次にメディアaをアンロード(アンマウント)して。同じドライブに次のメディアbをロードし、ファイルの次のファイル部分を書込む。このドライブはメディアbについて、インデックスとしてそのファイルのメタデータを保管する。次にメディアbをアンロードし、同じドライブに次のメディアcをロードし、ファイルの次のファイル部分を書込む。このドライブはメディアcについて、インデックスとしてそのファイルのメタデータを保管する。ここで、1つのファイルのスパニングが完了したことになる。従来のLTFSでは、複数メディアを書き込む場合に、書き始めの段階の複数メディアに書き込む場合あるとは想定できないので、各メディアは各ファイル部分を独立に保管することになる。1つのファイルの部分が保管されたメディアのIDはホストのアプリケーションが管理するのみである。メディアはインデックスとして自己のメディアIDとファイル部分のIDを保管する、他のファイル部分を保管したメディアと関連付けされていない。
図2は、1つのファイル1を複数メディアにスパニングする場合、各メディアのメタデータをインデックス・パーティションに登録の方法を示す。
態様は、1つのファイルが例えば3つのファイル部分に分割され、3つのメディアに書き込まれる場合を示す。図2(a)は、1つのファイルを複数のメディアに渡って書込むスパニングの従来の方法を示す。各メディアは自己のメディアのID(a,b,c)とファイル部分(部分1,部分2,部分3)のID(b1,b2,b3)をインデックスとして、IPに登録する。従来のLTFSでは、自己のメディアのIDおよび保管されるファイルを自己のメディア内でIDを割り当てるのみである。
図2(b)は、1つのファイルを複数のメディアに渡って書込むスパニングの本発明の方法を示す。
ファイルの書き込み時においては、(1)自己のメディアIDの他に前後のメディアID、(2)ファイルのID(UUID)、(3)世代情報(変更回数指標を意味する)をインデックスに設けている。前提として、ホストのアプリケーショ全てのメディアa.b.cを順次ロードして全てのインデックスから、ファイル部分1,2,3のメタデータをホスト300またはシステム100のメモリ上にマップする。典型的には、アプリケーションが、ファイルの先頭部分を含むパスを指定してファイルをOpenしにくるタイミングでaから順にb,cと後続のメディア辿って、各メディアのインデックスを確保できる。
(1)他のメディアのIDの保管。
例えばメディアbは自己のメディアID(b)の他に自分が保管するファイルの部分2の前の部分1を保管するメディアのID(a)、後続の部分3を保管するメディアのID(c)を保管する。
(2)アプリケーションが管理する1つのファイル(F1)をテープライブラリで1つのIDとして登録する。複数のメディアに1つのファイルの部分が保管されていることを示す。ファイルの部分1,部分2、部分3を各メディアが自己のメディア内で管理するIDとは区別する。
(3)世代情報(generationnumber)。
メディアa、b、cに部分が保管するメディアが増える毎に1つ増加させる値を割当ている。メディアaへの部分1の世代を1として、順次更新するメディアb、cと増える毎に、2、3と大きな値を設ける。また、メディアbが保管する部分2を変更する書込みを行った場合、1つのファイル(F1)において全ての部分(部分1,2,3)その世代情報の内一番大きな全体で大きな値(メディアcの3)を確保し、その値より1大きな値を世代情報としてメディアbのインデックスとし保管する。
図3は、LTFSフォーマットでのメディアのインデックス・パーティションとデータ・パーティションの内容を示す。
LTFSでは、テープメディア上のファイルを読み書きするにあたり、事前にテープメディアをLTFS フォーマットで初期化する必要がある。テープメディアをLTFSで利用する場合、テープメディアをインデックス・パーティション(IP:Index Partition )およびデータ・パーティション(DP:Data Partition)と呼ばれる2つのパーティションに分割して利用する。ユーザがLTFSを利用してテープメディアに書き込むと、テープメディアではファイル本体の他、インデックス・ファイル(単に「インデックス」とも言う)と呼ばれるメタデータをテープメディアに書き込む。インデックスは、ファイル名やファイル作成日などの情報を持つ。IPには、主に最新のインデックスが書き込まれる。DPには、ファイルの本体、及び、インデックスの履歴が書き込まれる。
1本のテープカートリッジのメディアがインデックス・パーティションとデータ・パーティションに区分されていることを示す。この図は、LTO5に準拠したメディアの構成例を示す。テープの先頭部(BOT:Beginning of Tape)から終端部(EOT:End of tape)に渡ってIPとDPとの2つに区分される例を示す。メディアは、データを記録するトラックに沿って、先頭部のインデックス・パーティションと、テープ記憶域の大部分を占めるデータ・パーティションとに区分される。様々な仕様に応じてパーティション数は3以上の任意の数に変更することも可能である。
図3の(A)は、LTFSフォーマットで初期化した直後のテープメディアに書き込まれる情報を示す。
テープメディアを LTFS フォーマットで初期化した直後には、テープメディアには図3(A)に示す情報が書き込まれる。
・FID(Format Identification Data set)は、テープドライブがテープメディアを初期化する際、テープメディアの先頭に書き込まれる特殊なデータであり、テープメディア上のパーティションの数や各パーティションの容量などの情報を持つ。
・VOL1Labelは、ANSI Label とも呼ばれるもので、文字通り ANSI で規定された一般的なフォーマットのラベルである。
・LTFSLabelは、LTFS フォーマットで規定されたラベルで、このテープメディアがLTFSフォーマットのどのバージョンに準拠してフォーマットされたかといった情報を保持するラベルである。ここでメディアに記録されるレコードのサイズを指示する。ファイルの終端がレコード・サイズ(例えば、512KB)に満たない場合でもレコードサイズを確保する。
・FM(Filemark)とは、テープメディアで一般的に利用される、いわば本のしおりのようなものであり、データの頭出し(seek)を行う際に利用される。Index #0とは、フォーマット時に書き込まれるインデックスであり、この段階ではファイル自体は一つも存在しないためファイル固有の情報は持たないもののテープメディアのボリューム名などの情報を保持するため書き込まれる。
図3の(B)LTFSフォーマットで初期化した後にファイルを書き込んだ場合にテープメディアに書き込まれる情報を示す。
LTFSフォーマットで初期化後、ファイル(File1)を書き込むと、テープメディア上に書き込まれたデータは(B)のようになる。太線で囲まれた部分が追加/更新されたデータである。Index#1はFile1の情報を持つ。IPは最新のインデックスのみ保持する一方、DPはインデックスの履歴を保持する。インデックスを更新するタイミングはファイルシステムの実装にまかされており、例えば一定時間毎に更新したり、テープドライブからテープメディアを取り出す時のみ更新したりしている。更に使い続ける場合も、IPに置かれるインデックスは常に最新のインデックスのみが置かれ、DPは既存のインデックスを上書きすることなく、ファイルおよびインデックスを追記していく。
図3の(C)は、(B)の状態の後、更にファイル(File2)を書き込んだ場合のテープメディアに書き込まれる情報を示す。
ディレクトリをテープメディアに書き込んだ後、他のファイルないしディレクトリをテープメディア上に書き込んだ後で、最初に書き込んだディレクトリにファイルを追加すると、に格納されるFile1,File2が連続してテープメディアに保管される。
図4は、従来のLTFSフォーマットにより2つのカートリッジ・メディアのIPのインデックス(メタデータ)を示す。
従来のLTFSフォーマットでは、IDがzzzz(file-id=zzzz)のファイルをスパニングした場合のインデックスとファイル本体の配置になっている。これは、インデックスが保管されるテープメディア上に記録されたファイル本体の情報を格納するというLTFSフォーマットの方針に則ったものである。IPのインデックス(Index)として、メディアのID(media-id:UUIDである)、メディアのファイルID(file-id)、パスおよびファイル名(path、name)、ファイルのオフセット位置(offset)、ファイルのサイズ(length)、タイムスタンプ(timestamp)、メディアに含まれる他のファイルのID(file-id: otherfiles)などが含まれる。本発明では、更に、上で説明した他のメディアのID、アプリケーションが管理する1つのファイル(F1)のID、世代情報(generation number)をインデックスに登録する。この要素の登録により、1つのファイルのスパニングの管理が、ホスト側での管理に支障がある場合にメディアのインデックスから容易に可能である。また、DP内にファイル内容を、そのインデックスを伴って保管される。
図5は、本発明が適用される、複数のテープドライブを含むテープライブラリ・システムの構成例を示す。
ストレージ・システム100は、3つのテープドライブ60、テープカートリッジ(メディア)40、そのテープカートリッジを収納するスロット45を含む。ストレージ・システム内にはスロット45に収納された多数のテープカートリッジ40が存在する。
ライブラリ・マネージャ50は、ホスト300とストレージ・システム100との間にあって、複数のドライブ60及び複数のテープカートリッジ40を集中管理する。ライブラリ・マネージャは、複数のカートリッジ40及びドライブ60を仮想化し、読み書き制御を行う。ライブラリ・マネージャ50の一例としては、IBM社のTape System Library Manager(TSLM)である。ホスト300のアプリケーション30は、ライブラリ・マネージャ50を介して、ストレージ・システム100にファイルの読み書き要求を行う。ストレージ・システム100は、アプリケーション30が発行する各種コマンド(読み書き、位置決めなど)により制御される。ライブラリ・マネージャ50は、アプリケーションからのコマンドを一時保管し、コマンドに対応したSCSIコマンドなどをストレージ・システム100に向けて出力する。専用のソフトウェアとしてのアプリケーションの一例としては、IBM社のTivoli Storage Manager が該当する。
ライブラリ・マネージャ50は、アプリケーションからコマンドとして、ロード要求するコマンドを受け取る。通常はこのコマンドが実行される場合、ライブラリ・マネージャ50は空ドライブを複数(3つ)のドライブから検索する。ロード要求されたテープカートリッジをロード可能な空ドライブに搭載する。3つのドライブが使用中である場合は空きドライブが発生するまで、ライブラリ・マネージャは待たされる。また、テープライブラリ・システムは、HDD等と同様にファイルシステム上でも利用可能である。例えばLTFSでは、メディア上に書かれたデータをファイルとして見せることができる。
テ−プドライブ(ドライブ)60について説明する。
テ−プドライブ60、ホスト300から送られた複数のデータを固定長のデータセット(DataSet;DSと言う。)単位でテ−プ記録媒体への書込み読込を行う。DSの典型的な大きさは4MBである。ホスト300のアプリケーション30は、128KBのブロック単位でファイルシステムを介してテープドライブに書込み/読み出し要求を送る。通信規格としてSCSIを用いる場合、アプリケーション30は、書き込み/読取りデータのための要求(Write/Read)をテープドライブ60に発行する。なお、テープドライブは、複数のブロックから構築されたDSを単位でデータの読み書きを行う。
テ−プドライブ60は、ホスト300から受取ったコマンドに従って、データのテ−プへの書込みやテ−プからの読出しをする。テ−プドライブ60は、バッファ、読み書きチャネル、ヘッド、モ−タ、テ−プメディア(メディア、テープカートリッジ)を巻きつけるリ−ルと、読み書き制御と、ヘッド位置制御システムと、モ−タドライバとを含む。テ−プドライブは、テープカートリッジを着脱可能に搭載する。テ−プは、リ−ルの回転に伴い、長手方向に移動する。ヘッドは、テ−プが長手方向に移動してテ−プに対してデータを書き込んだり、テ−プからデータを読出したりする。また、テープカートリッジ40はカートリッジメモリ(CM:Cartridge Memory)と呼ばれる非接触不揮発性メモリを備える。テープカートリッジ40に搭載されたCMは、テープドライブ60により非接触的に読み書きされる。CMはカートリッジ属性を保管する。テープドライブは、読出し及び書込み時に、CMからカートリッジ属性を取り出して最適な読み書きができるようにする。
図6は、本発明の拡張されたLTFSフォーマットにおけるインデックス更新時のフローチャートを示す。以下の処理を、新たなファイルシステム、例えばLTFSに実装する。
前提として、ホストのアプリケーション30(図5)全てのメディアa,b,cを順次ロードして全てのインデックスからファイル部分1,2,3,のメタデータ(インデックス)をホスト300またはシステム100のメモリ上にマップする。典型的には、アプリケーションが、ファイルの先頭があるaを含むパスを指定してファイルをOpenしにくるタイミングでaから順にb,cと後続のメディアを辿って、各メディアのインデックスを確保できる。
●(700):インデックス更新要求を受取る。
図2(b)において、1つのファイル(F1)の特定の部分(例えばb)を変更するとメディアbのDPにその変更データが保管される。この変更に伴い、メディアbのインデックスのコピーはシステムのメモリまたはハードディスク上では変更されている。例えば、ファイルの変更回数(世代情報)は現在の最大値3(部分3の世代情報)に1つインクリメントして4としてインデックスは更新されている。しかしながら、メディアbのIPにはこの更新されたインデックスのコピーは登録されていない状態である。システムは、データ内容のメディアbのDPへの更新はされているが、そのデータ内容を反映したコピーをメディアbのIPへ登録が遅れる。システム100は時間的遅延をできるだけ短くするために所定時間、例えば5分毎に最新のインデックスを登録している。なお、最新のインデックスは、メディアのドライブからのアンマウント時にもIPに登録される。
●(710):任意のテープ・メディア上のインデックスにメモリ上の更新されたコピーの内容が登録済みを確認する。
システムのメモリ上の更新されたコピーがドライブにロードされたメディアのインデックスに登録済みの場合(Yes)はステップ730の処理となる。更新されたコピーが対象のメディアのインデックスとして登録されていない場合はステップ720の処理となる。
●(720):例として図2(b)を参照すると、1つのファイルの複数の部分b1,b2,b3を順にメディアa,b,cにスパニングされる態様を想定する。
・アプリケーション30(図5)が管理するファイルを一意に指標可能にするためにID(F1:UUIDである)を、全てのメディアのインデックスのコピーに割り当てる。
・最初のメディアaについて、ファイル(F1)の最初の部分1の保管について世代情報を1とする。
・直前直後のテープ・メディアのIDは無視する。ファイル(F1)の最初の部分1(b1)の保管開始時点ではメディアaの容量を超える、後続の部分1(b2)、部分2(b3)のデータが来るか定かでない。従って部分aの保管し始めの段階では想定される直後のメディアbのID(b)(ステップ740)を想定されない。ただし、メディアaは世代情報1を割り当てられる。
最後は、他のインデックスの処理770に移動する。
●(730):ファイル本体を、書き込み中のテープ・メディア上のインデックスに登録済みか確認する。
ファイルの変更の内容がメディアに保管され、その変更内容を反映したインデックスのコピーが、一連の複数のメディアのIPに登録されている場合(Yes)はステップ750の処理となる。変更されたインデックスのコピーがメディアに登録されていない(No)場合はステップ740の処理となる。
メディアbに部分2に関するインデックスを最初に登録する際には、メディアaの部分1のインデックスに部分2がメディアbに存在することを登録する必要がある。5分毎のインデックスの更新・登録において、メディアbにすでに部分2に関する情報が存在する場合には、メディアaの部分1のインデックスに部分2がメディアbに存在することを登録することをスキップできる。
●(740):図2(b)が示すように、ファイル(F1)の3つの部分、部分1(b1),部分2(b2),部分3(b3)を3つのメディアにスパニングする過程を考える。
・ファイルIDに対応する世代情報が最も高いテープ・メディアを探す。
最初の部分1(b1)をメディアaに保管する場合の世代情報は、ステップ720で割り当てられた最大値1である。最大値の世代情報を有するメディアaのインデックスが最新のファイルの更新インデックスを有する。
・当該メディアのインデックスに、 直後のテープ・メディアIDとしてファイル本体を書き込み中のテープ・メディアのIDを登録する。メディアaに対して、後続の部分2を保管する予定の直後のメディアbのID(b)を登録する。メディアbは、部分2(b2)が保管されるとメディアaの世代情報(1)に対して1つインクリメントされた世代情報(2)を登録する。
最後はステップ760の処理となる。
●(750):ファイルIDに対応する世代情報を既に利用した最大値よりも1つだけ大きな値とする。
ファイル(F1)の変更(データの追記、データの一部削除、ファイル名の変更など)が複数の部分1,2,3のどれかが対象である。図2(b)に示すスパニング状態においてメディアcの世代情報が最大値(3)である。例えば、変更対象が部分2(b2)である場合にメディアbに保管されている。その変更内容を反映したインデックスのコピーがメディアbのIPに登録されている場合は、メディアcが保管する世代情報の値に1つインクリメントした値(4)をメディアbの世代情報として与える。
最後は、他のインデックスの処理770に移動する。
●(760)
・ファイル本体を書き込み中のテープ・メディアのインデックスに、直前のテープ・メディアのIDとしてファイルIDに対応する世代情報が最も高いインデックスを持つテープ・メディアのIDを登録する。
・当該メディアのインデックスにファイルIDに対応する世代情報を既に利用した最大値よりも1つだけ大きな値として、登録する。
メディアbは、世代情報が最大の部分1(b1)が保管した直前のメディアaのID(a)を登録する。メディアbは、部分2(b2)が保管されるとメディアaの最大の世代情報(1)に対して1つインクリメントされ、最大の世代情報(2)を有する。更に後続の部分3(b3)はメディアcに保管され、その世代情報はメディアbの世代情報(2)に1つインクリメントした世代情報(3)となる。メディアbは、直後の部分3が保管される予定のメディアID(c)も保持する(ステップ730)。最大値の世代情報(2)を有するメディアbは、後続の部分3(b3)が保管される予定のメディアcのID(c)を登録する。最終的に、メディアcが、メディアbの世代情報(2)に1つインクリメントした最大の世代情報(3)を有する。
最後は、他のインデックスの処理770に移動する。
●(770):その他のインデックス情報を従来通り更新する。
本発明が設ける新たなインデックスの3つの要素は、従来のインデックスの要素(図4参照)、例えば、自己のメディアID、メディア内でのfile-id、タイムスタンプ、ファイル・サイズなどにと共にインデックスに含まれる。
●(780):従来の要素と本発明の3要素を含むインデックス更新が終了する。
テープライブラリ・システムまたはドライブのメモリ上において更新されたインデックスをドライブにマウントされているメディアのIPのインデックスを書き換える。テープライブラリ・システムは、ファイル部分自体の変更と共に、1つのメディアのインデックスに含まれるタイムスタンプ、1つのファイルのサイズを世代情報が最大のもので特定できる。
将来には、インデックスの情報は LTFS がメモリないしハードディスク上に保管/管理するため、通常テープメディアからインデックスを読み出す必要はない。例えばメモリやハードディスクのトラブルなどにより、LTFSがメモリなど上に保持したインデックスのコピーが失われて、テープメディアからインデックスを読み出す場合に追加要素を確保することは有効である。テープライブラリ内の全てのテープメディアのインデックスを収集し、ファイル毎に持つ世代情報が一番高い情報をそれぞれ採用することにより、ファイルサイズやタイムスタンプの情報を得ることができる。また、そこに登録された直前/直後のテープメディアのIDを辿ることにより、各テープメディアに分割して格納されたファイルの断片がそれぞれどのテープメディア上のどこに保管されているかということを知ることができる。
以上より、本発明のスパニング方法は、スパニングされたファイルを作成/更新するにあたり、複数のテープメディアのインデックスを更新することなく、LTFSはテープメディアから最新の情報を取得することが可能である。また、本発明の方法は、上記書込みにより発生するアンロード/ロードにかかる時間を短縮し、インデックス更新のパフォーマンスを向上させる。なお、本発明を実施の形態(実施例)を用いて説明したが、本発明の範囲は上記実施例には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
40 テープカートリッジ、
45 スロット、
60 テープドライブ、
100 テープライブラリ・システム(ストレージ・システム)、
300 ホスト(サーバ)

Claims (8)

  1. 少なくとも1つのテープドライブを含むテープストレージ・システムにおいて1つのファイルを複数のテープメディアにスパニングする方法であって、
    前記システムが、前記ファイルのインデックス(メタデータ)および前記ファイルのデータをメディアに所定のフォーマットで保管することと、
    前記システムが、1つのファイルを分割してシーケンシャルにファイルの部分(ファイル部分)を保管する複数の前記各メディアを指示するIDの少なくとも1つを前記ファイルに関連付けてインデックスに保持することと、
    前記システムが、複数の前記ファイル部分を後続のメディアに保管し続ける毎に、各メディアに保管される値を前方の値に1つインクリメントされて保管される回数を世代情報と定義し前記各メディアに前記インデックスとして保管することと、
    前記システムが、更に特定の前記ファイル部分について変更要求がある場合に、全ての前記メディアの前記世代情報のうち最大値に、1つインクリメントした値を変更ファイル部分を保管する前記特定のメディアの前記世代情報として前記特定のメディアに保管することと
    前記システムは、分割保管された前記ファイルの読み出し要求を受けた場合、前記ファイルに関連する全てのメディアのインデックスを収集しファイル部分毎に保持する前記世代情報の値が最大値有する当該ファイル部分に関するインデックスにより前記ファイルのメタデータを読み出すことと、を含むスパニングする方法。
  2. 前記所定のフォーマットは、
    前記メディアは、ストレージ・システムのシーケンシャルアクセスのためのファイルシステムにより読み書きを可能にするために、2以上のパーティションに区分され、
    前記パーティションは、ファイルのインデックスを保管するインデック・パーティション(IP)とファイルのデータを保管するデータ・パーティション(DP)とを含む、請求項1に記載のスパニングする方法。
  3. 前記ファイル部分を保管する前記各メディアに前記ファイルを指示するIDを前記インデックスとして保管することと、を含む請求項1に記載のスパニングする方法。
  4. 前記1つのファイルの部分を保管する前記メディアが第2のファイル部分を保管する場合に、第2のファイル部分に対して前後する第1及び第3の前記ファイル部分を保管する前記メディアを指示するIDの少なくとも1つをインデックスとして保管することと、を含む請求項1に記載のスパニングする方法。
  5. 第1のファイル部分を保管したメディアに、第1のファイル部分に対して直前のファイル部分を保管する前記メディアのIDと、第1のファイル部分の直後のファイル部分を保管する前記メディアのIDと、前記インデックスとして更に保管することと、を含む請求項に記載のスパニングする方法。
  6. 前記ファイルを変更する要求をテープストレージ・システムが受け取った場合、前記システムは更新に該当する特定の前記ファイル部分を保管する前記メディアのIDを特定して前記メディアをドライブにマウントすることと、
    前記IDのメディアのインデックスを前記システムのメモリにコピーすることと、
    特定の前記ファイル部分の変更に基づいて前記メディアの前記DPのデータを変更すること、
    前記DPのデータの変更と同時に、特定の前記ファイル部分の変更内容を反映するように前記メモリ上の前記インデックスを変更することと、
    前記変更されたメモリ上の前記インデックスに、前記変更時点で特定の前記ファイル部分の前記最大値にインクリメントされた世代情報を含ませることと、
    所定の時点で前記メディアのIPに前記インデックスを登録すること、を含む請求項2に記載のスパニングする方法。
  7. 少なくとも1つのテープドライブを含み、1つのファイルを複数のテープメディアにスパニングするためのテープストレージ・システムであって、
    前記システムの読み書き制御は、
    前記ファイルのインデックス(メタデータ)および前記ファイルのデータをメディアに所定のフォーマットで保管することと、
    1つのファイルを分割してシーケンシャルにファイルの部分(ファイル部分)を保管する複数の前記各メディアを指示するIDの少なくとも1つを前記ファイルに関連付けてインデックスに保持することと、
    複数の前記ファイル部分を後続のメディアに保管し続ける毎に、各メディアに保管される値を前方の値に1つインクリメントされて保管される回数を世代情報と定義し前記各メディアに前記インデックスとして保管することと、
    更に特定の前記ファイル部分について変更要求がある場合に、全ての前記メディアの前記世代情報のうち最大のものに、1つインクリメントした値を変更ファイル部分を保管する前記特定のメディアの前記世代情報として前記特定のメディアに保管することと
    分割保管された前記ファイルの読み出し要求を受けた場合、前記ファイルに関連する全てのメディアのインデックスを収集しファイル部分毎に保持する前記世代情報の値が最大値有する当該ファイル部分に関するインデックスにより前記ファイルのメタデータを読み出すことと、を実行するテープストレージ・システム。
  8. 少なくとも1つのテープドライブを含むテープストレージ・システムにおいて1つのファイルを複数のテープメディアにスパニングするめのプログラムであって、
    前記ファイルのインデックス(メタデータ)および前記ファイルのデータをメディアに所定のフォーマットで保管することと、
    1つのファイルを分割してシーケンシャルにファイルの部分(ファイル部分)を保管する複数の前記各メディアを指示するIDの少なくとも1つを前記ファイルに関連付けてインデックスに保持することと、
    複数の前記ファイル部分を後続のメディアに保管し続ける毎に、各メディアに保管される値を前方の値に1つインクリメントされて保管される回数を世代情報と定義し前記各メディアに前記インデックスとして保管することと、
    更に特定の前記ファイル部分について変更要求がある場合に、全ての前記メディアの前記世代情報のうち最大のものに、1つインクリメントした値を変更ファイル部分を保管する前記特定のメディアの前記世代情報として前記特定のメディアに保管することと
    分割保管された前記ファイルの読み出し要求を受けた場合、前記ファイルに関連する全てのメディアのインデックスを収集しファイル部分毎に保持する前記世代情報の値が最大値有する当該ファイル部分に関するインデックスにより前記ファイルのメタデータを読み出すことと、を前記システムに実行させるプログラム。
JP2013167682A 2013-08-12 2013-08-12 複数のテープメディアに1つのファイルをスパニングする方法、ストレージ・システム、およびプログラム Active JP6005010B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013167682A JP6005010B2 (ja) 2013-08-12 2013-08-12 複数のテープメディアに1つのファイルをスパニングする方法、ストレージ・システム、およびプログラム
US14/456,316 US9684454B2 (en) 2013-08-12 2014-08-11 Method, storage system, and program for spanning single file across plurality of tape media

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013167682A JP6005010B2 (ja) 2013-08-12 2013-08-12 複数のテープメディアに1つのファイルをスパニングする方法、ストレージ・システム、およびプログラム

Publications (2)

Publication Number Publication Date
JP2015036851A JP2015036851A (ja) 2015-02-23
JP6005010B2 true JP6005010B2 (ja) 2016-10-12

Family

ID=52449623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013167682A Active JP6005010B2 (ja) 2013-08-12 2013-08-12 複数のテープメディアに1つのファイルをスパニングする方法、ストレージ・システム、およびプログラム

Country Status (2)

Country Link
US (1) US9684454B2 (ja)
JP (1) JP6005010B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6052812B2 (ja) * 2014-07-11 2016-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープ上のファイルの管理、書き込み、及び読み出し方法
JP6005122B2 (ja) * 2014-11-17 2016-10-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数のテープカートリッジにファイルをスパニングして書込む方法
JP6482264B2 (ja) 2014-12-11 2019-03-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数のテープカートリッジにファイルをスパニングして書込む方法
US11204891B2 (en) 2016-11-04 2021-12-21 International Business Machines Corporation Identifying partial update for tape file system
US10572170B2 (en) 2016-12-05 2020-02-25 International Business Machines Corporation Writing file information for tape file systems
US10152993B1 (en) * 2017-11-29 2018-12-11 International Business Machines Corporation Save block data to tape in a reverse order
US11238021B2 (en) * 2018-12-18 2022-02-01 International Business Machines Corporation Creating a search index within a data storage library
US11748020B2 (en) * 2020-02-28 2023-09-05 Nebuon, Inc. Reestablishing redundancy in redundant storage

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05342073A (ja) * 1992-06-11 1993-12-24 Nec Corp ファイル記憶媒体およびファイル管理システム
JPH0969028A (ja) * 1995-08-31 1997-03-11 Hitachi Ltd 磁気テープカートリッジ制御方式
JPH10232800A (ja) * 1997-02-19 1998-09-02 Hitachi Ltd 磁気テープ記憶装置
JPH11306190A (ja) 1998-04-21 1999-11-05 Mitsubishi Electric Corp ビデオサーバシステム
US7107395B1 (en) * 1998-12-31 2006-09-12 Emc Corporation Apparatus and methods for operating a computer storage system
US20020191311A1 (en) * 2001-01-29 2002-12-19 Ulrich Thomas R. Dynamically scalable disk array
US8793282B2 (en) * 2009-04-14 2014-07-29 Disney Enterprises, Inc. Real-time media presentation using metadata clips
US8886896B2 (en) * 2009-10-30 2014-11-11 Adobe Systems Incorporated Storage format for media streams
US9430155B2 (en) * 2010-03-25 2016-08-30 International Business Machines Corporation File index, metadata storage, and file system management for magnetic tape
US9378218B2 (en) * 2011-10-24 2016-06-28 Electronics And Telecommunications Research Institute Apparatus and method for enabling clients to participate in data storage in distributed file system
US8665563B2 (en) * 2012-04-05 2014-03-04 Oracle International Corporation Magnetic tape partitioning format for use in linear recording of fixed partitions

Also Published As

Publication number Publication date
US20150046645A1 (en) 2015-02-12
JP2015036851A (ja) 2015-02-23
US9684454B2 (en) 2017-06-20

Similar Documents

Publication Publication Date Title
JP6005010B2 (ja) 複数のテープメディアに1つのファイルをスパニングする方法、ストレージ・システム、およびプログラム
US10346078B2 (en) Method of writing a file to a plurality of media and a storage system thereof
JP6124734B2 (ja) 高速に読み出し可能なテープメディアにファイルを書込む方法
JP6080799B2 (ja) テープ記録システム用ファイルシステムを介した読み書きする方法
JP6041839B2 (ja) メタ情報を保管する方法、プログラム、及びそのテープ記録システム
US9292227B2 (en) Method for divisionally managing files on a user basis, and a storage system and computer program product thereof
US7864478B2 (en) Verification of a tape data storage cartridge
US9098210B2 (en) Automatically linking partitions on a tape media device
US20150095566A1 (en) Reading Speed of Updated File by Tape Drive File System
US9852756B2 (en) Method of managing, writing, and reading file on tape
US9916323B2 (en) Support for worm cartridges realized by linear tape file system (LTFS)
JP2015005229A (ja) テープカートリッジのファイルを複製する方法、プログラム及びテープドライブ
JP2016091575A (ja) テープに書き込されたファイルを消去する方法、プログラム、及びテープ装置
US8856436B2 (en) Locating host data records on a physical stacked volume
JP6109012B2 (ja) テープメディアにおいてフォーマットを初期化する前に書き込まれていたデータのリカバリー
US11163500B2 (en) Caching files in a directory
JP6482264B2 (ja) 複数のテープカートリッジにファイルをスパニングして書込む方法
US11494338B2 (en) Caching files in a directory
JP2008146760A (ja) データ書込みパフォーマンスが改善されたテープ記録装置、及びそのデータ書込み制御方法
US20140247515A1 (en) Tape drive buffer utilization

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151127

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160125

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160524

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160621

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160906

R150 Certificate of patent or registration of utility model

Ref document number: 6005010

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150