説明

記録再生装置および記録再生方法

【課題】パフォーマンスを維持しながら、論理破壊を防ぎファイルを永続化する技術を提供することが可能な、新規かつ改良された技術を提供する。
【解決手段】記録再生装置は、リクエストを1または複数生成してミラーリクエストキュー141に登録し、登録し終わると、ミラーリング要求フラグに所定の値を設定するファイルシステム部130を備える。また、記録再生装置は、ミラーリクエストキュー141に登録されている1または複数のリクエストをリクエストキュー151に登録し、登録した1または複数のリクエストに対する処理がすべて完了したら、ミラーリング要求フラグを参照し、ミラーリング要求フラグに所定の値が設定されている場合には、ミラーリクエストキュー141に登録されている1または複数のリクエストをリクエストキュー161に登録するトランザクションミラーリングドライバ部140を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記録再生装置および記録再生方法に関する。詳しくは、障害発生時のデータ修復を行うためのバックアップの技術に関する。
【背景技術】
【0002】
従来、周期的書換えを必要とするファイルの永続化を行う技術には様々なものがある。例えば、ファイルを2重化する技術がある。この2重化の技術では、オリジナルファイルとバックアップファイルの2つを作成して、ファイル単位で各々をストレージに記録するものである。これによって、どちらかのファイルが破壊または消滅してもシステム的に破綻しないようにされている。
【0003】
また、ボリュームの破壊耐性を高める技術としてRAIDがある(例えば、特許文献1参照)。この中で、ボリュームの複製を行う技術は、RAID1(ミラーリング)である。これは、ストレージへのアクセス単位でファイルがミラーリングされ、ドライバレベルまたはハードウェアレベルで複製が実現されている。複製しない場合に比較して増加する処理については、上記したファイルの二重化の技術ほど大きくはならないというメリットがある。
【0004】
【特許文献1】特開2003−296047号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、ファイルの二重化の技術では、周期的/頻繁的に変更を伴うファイルを対象とする場合には、パフォーマンスの観点から実現が困難であるという問題があった。
【0006】
また、上記した特許文献1に開示された技術によれば、パフォーマンスをある程度維持しながら2重化を行うことができるが、ファイルシステムの論理破壊の見地からはトランザクション中に発生した障害におけるファイルの永続は保証できないという問題があった。
【0007】
現状ではパフォーマンスを維持しながら、論理破壊を防ぎファイルを永続化する技術が確立していない。
【0008】
本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、パフォーマンスを維持しながら、論理破壊を防ぎファイルを永続化する技術を提供することが可能な、新規かつ改良された技術を提供することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明のある観点によれば、記録再生装置は、システムコール部からトランザクションの入力を受け付け、トランザクションの処理において必要なリクエストを1または複数生成し、生成した1または複数のリクエストをミラーリクエストキューに登録し、登録し終わると、メモリに記憶されたミラーリング要求フラグに所定の値を設定するファイルシステム部を備える。
【0010】
また、記録再生装置は、ミラーリクエストキューを有し、ミラーリクエストキューに登録されている1または複数のリクエストをオリジナルボリューム書き込み用リクエストキューに登録し、登録した1または複数のリクエストに対する処理がすべて完了したら、ミラーリング要求フラグを参照し、ミラーリング要求フラグに所定の値が設定されている場合には、ミラーリクエストキューに登録されている1または複数のリクエストをバックアップボリューム書き込み用リクエストキューに登録するトランザクションミラーリングドライバ部を備える。
【0011】
また、記録再生装置は、オリジナルボリューム書き込み用リクエストキューを有し、リクエストキューから取り出したリクエストを出力するオリジナルボリュームインタフェースドライバ部を備える。
【0012】
また、記録再生装置は、バックアップボリューム書き込み用リクエストキューを有し、リクエストキューから取り出したリクエストを出力するバックアップボリュームインタフェースドライバ部を備える。
【0013】
また、記録再生装置は、オリジナルボリュームインタフェースドライバ部から出力されたリクエストに含まれるオリジナルデータをオリジナルボリュームに書き込む処理と、バックアップボリュームインタフェースドライバ部から出力されたリクエストに含まれるバックアップデータをバックアップボリュームに書き込む処理とを制御するストレージ制御部を備える。
【0014】
かかる構成によれば、ファイルシステム部がリクエストをミラーリクエストキューに登録した後、バックアップの制御はトランザクションミラーリングドライバ部が行うことになる。したがって、ファイルシステム部がリクエストをミラーリクエストキューに登録した後において、ファイルシステム部によるバックアップの制御は不要となる。
【発明の効果】
【0015】
本発明によれば、パフォーマンスを維持しながら、論理破壊を防ぎファイルを永続化する技術を提供することが可能となる。
【発明を実施するための最良の形態】
【0016】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0017】
《本実施形態に適用可能な記録再生装置について》
破壊されるとシステムとして致命的損害を与えるファイルの永続的な保証方法としてはいくつかの方法が考えられる。例えば、ファイルの2重化(ファイルのオリジナルファイルとバックアップファイルの2重書込み)およびRAID(Redundant Arrays of Inexpensive Disks)(ボリュームのミラーリング)という方法である。これらの方法の概念図を図1に示す。
【0018】
ファイルの2重化とはファイル単位でオリジナルとバックアップの2つを作成することであり、どちらかが破壊および消滅してもシステム的に破綻しない作りとするものである。ここではファイルの2重書込みを行うタイミング(バックアップを行うタイミング)をどうするかが問題となってくる。
【0019】
設定用ファイルのように頻繁に変更が必要ないファイルであれば、設定を変更する前にバックアップを取っておく。そして、変更内容をストレージに反映させる途中で障害が起きた場合はバックアップ時(変更前)に戻すということで対処でき、変更前に戻したとしてもシステム的影響はない。また、ファイルの2重書込みによる処理の増加もシステム的には許容できるものが殆どである。
【0020】
しかし、周期的に変更を要するファイルでさらに書込みに対するスループットが厳しい場合には、変更の度に2重書込みを行っていては必要となるスループットが満たせない状況に陥り、システム的に破綻する。2重書き込みを行うタイミングを間引いてしまうと、変更前に戻したときのシステム的影響がでる。
【0021】
この周期的で且つスループットが必要となる代表例としては、ストリーム記録(放送録画)を行う場合である。ストリーム記録では、ストリームデータはあるレートでシステムに入力され、システムはそのデータをストレージに記録する。ストレージに記録するレートが入力レートより小さい場合はシステムが破綻してしまう。また、このストリーム記録では、記録したコンテンツを再生するために必要な再生用データを周期的にファイルに書き出す必要があり、このファイルが破壊または消滅した場合は再生が出来ないという影響が出る。この再生用データが書かれるファイルが永続的、周期的ファイルである。
【0022】
RAIDとは、ボリュームレベルで冗長を図り、ボリュームの破壊耐性を高める技術である。2重書込みと同じ結果をもたらすものはRAID1(ミラーリング)であり、ボリュームの複製を作成する。これはストレージ(ボリューム)へのアクセス単位でファイルはミラーリングされ、ドライバレベルまたはハードウェア(H/W)レベルで実現しており、必要となる処理の増加も2重書込みに比べると小さく、スループットが高い。
【0023】
ここで、ストレージへの記録済みファイルが破壊および消滅してしまう原因について述べる。ストレージへの記録済みファイルが破壊される原因は、ストレージの物理的な破壊とファイルへのアクセスに必要な管理データが破壊することで起こる論理破壊の2つである。RAIDは物理破壊によるファイルの喪失を防ぐものであり、論理破壊を防ぐものではない為、それだけではファイルの永続的な保証はできない。これはファイルシステムがトランザクションを基本として論理保証を行っており、RAIDはこのファイルシステムのトランザクションに一切関知していない為である。
【0024】
論理破壊への耐性としてはファイルシステムレベルでジャーナリングファイルシステム(代表的なものとしてEXT3、XFS)LogBaseファイルシステム(代表的なものとしてNILFS)を用いるのが一般的である。これらファイルシステムの復旧の目的としてはファイルシステムの論理的整合性を保つことにあり、復旧時に整合性を阻害するデータおよびファイルなどは消去抹消される。よって、ファイルシステムの論理的破壊への耐性ではファイルの永続的保証はできない。
【0025】
論理破壊の仕組みを代表的なジャーナリングファイルシステムであるXFSで説明する。XFSのトランザクションについて図2に示す。
【0026】
まず、書き込みオペレーションによって、トランザクションのアロケーションが実行される(ステップS901)。ここでは、トランザクション構造体と一意なトランザクション識別子を割り当てる。続いて、ログスペースが確保される(ステップS902)。ここでは、トランザクションに必要なログスペースがメモリ81上に確保される。その後、リソース(修正するリソース82)のロックを行う(ステップS903)。ここでは、リソース(バッファ、iノード、管理領域)の読み込みとロックを行う。
【0027】
続いて、リソースの修正が行われる(ステップS904)。ここでは、修正するリソース82の修正とトランザクションオペレーション構造体(オペレーション内容を記録するために使用する構造体)の作成が行われる。その後、コミットトランザクションが実行される(ステップS905)。ここでは、リソースの修正情報とトランザクションオペレーションをin−coreログに記録する。in−coreログは、メモリ81上のログ格納領域83であり、書き出されていないログ831、ログスペース832、書き出されたログ833等により構成されている。
【0028】
続いて、in−coreログがHDD(Hard Disk Drive)84に書き出される(ステップS906)。これによって、disk−onログ(HDD84に書き出されるログ)がHDD84に書き出される。その後、修正されたリソースがフラッシュされる(ステップS907)。すなわち、修正されたリソースがHDD84に書き出される。ログの領域は、メモリ81上もHDD84上もリング上となっている。また、領域841は、HDD84上のXFS partitionである。
【0029】
トランザクションからファイルおよびファイルシステムの破壊が発生するのはリソースのフラッシュの処理(ステップS907)中に障害が発生した場合である。それ以外はメモリ81上での反映なので障害が起きてもストレージ上には変更前の整合が取れた状態でデータが存在している。
【0030】
XFSのトランザクション中に変更が加わるリソースとストレージへの反映順序を図3に示す。
【0031】
図3は、ファイル作成のトランザクション(Type:XFS_TRANS_クリエート)が入力された場合の様子を示している。このトランザクションによって変更されるリソースは5つである。すなわち、XAGI、IABT、INODE(作成されるファイルのinode)、inode(ディレクトリのinode)、SBである。修正済みのリソースは、ログが書き戻されるまでメモリ81上にロックされている。
【0032】
HDD84には、HDDwriteキャッシュ8411が存在し、メモリ81上のリソースが、HDDwriteキャッシュ8411に書き込まれる。この際、TCQ/NCQなどにより書き出し順序に変更があることが予想される。また、HDD84上のメディア8412に書き込まれる際にも、書き出し順序の入れ替えがあることが予想される。
【0033】
このように、リソースのストレージへの反映順序は一意には決まらず、どのリソースが反映済みでどのリソースが反映前のデータか特定できない。
【0034】
リソースのストレージへの格納位置と書込みリクエストについて図4に示す。図4には、1つのアロケーショングループが示されている。XAGFを変更した場合、変更がないXFSBも書き戻される。同様に、ブロックの一部に対してデータ変更を加えた場合でも、実際にフラッシュされるのは、ブロック単位である。また、1つのinodeを変更した場合、変更がない他のinode15個も書き戻される。同様に、1つのinodeに対して変更を加えた場合でも、実際にフラッシュされるのは、ブロック単位である。
【0035】
全てのリソースの反映は1つのリクエストでは収まらず複数のリクエストを発行する必要がある。
【0036】
図5に、ファイルの既存の技術で2重化を行う場合のリクエストとストレージへのコマンド要求の発行の様子を示す。図5において、太矢印は、システムコールを示している。
【0037】
図6に、RAID1を使用してミラーを行った場合のリソースがストレージへ反映されている様子を示す。リソースの反映はオリジナル/バックアップ同時並行的に行われるために、書出し途中で障害が発生した場合はオリジナル/バックアップで同じ不整合が生じる。
【0038】
《本実施形態に適用可能な記録再生装置の課題について》
まとめると、周期的書換えを必要とするファイルの永続化を行おうとすると、
1.ファイルを2重持ちとするのは常等手段ではあるが、周期的/頻繁的に変更を伴うファイルの2重化はパフォーマンスの観点から実現が困難である。
2.パフォーマンスをある程度維持しながら2重化を行う技術としてRAID1があるが、ファイルシステムの論理破壊の見地からはトランザクション中に発生した障害におけるファイルの永続は保証できない。
【0039】
現状ではパフォーマンスを維持しながら、論理破壊を防ぎファイルを永続化する技術が確立していない。
【0040】
《本実施形態の目的について》
本実施形態における目的は以下に示すものである。
1.頻繁に更新が必要となるファイルの永続保証を行う。
2.永続保証を行うために費やされる処理時間を最小限に抑える。
3.データ復旧処理時間を最小限に抑える。
4.ファイルシステムが管理しているトランザクションレベルでミラーリングを行う。
5.ファイルシステムが発行する転送要求リクエストにトランザクションタグを付加することにより、どのトランザクションに属しているリクエストかを判別する。
6.ファイルシステムが発行するリクエストにstatusを持たせることで転送前/転送終了待ち/転送完了/ミラー転送終了待ち/ミラー転送完了の状態を管理できるようにする。
7.ファイルシステムの管理データは全てトランザクションレベルで2重化対象とすることで、ファイルシステムの論理破壊は理論上ない。
【0041】
《本実施形態に係る記録再生装置について》
本実施形態に係る記録再生装置の基本概念を図7に示す。これはミラーを行う単位/タイミングをファイルシステムのトランザクションに合わせたものである。
【0042】
図6に示されている時点で障害が発生した場合は、各リソースは変更が反映される前のものと反映後のものが混在し不整合が生じている。不整合が生じている状態を修復しようとするならば、どのリソースに不整合が生じているかを調べる必要があり、瞬時に修復することはできない。また、その修復においてファイルが破棄されるおそれがある。
【0043】
それと比較して図7では、図7に示されている時点で障害が発生しても、バックアップボリューム69内のリソースは変更前の状態で整合がとれている。これにより、障害が発生した場合はバックアップボリューム69内の情報でオリジナルボリューム68の情報の修復を行うことにより、変更前の状態に瞬時にもどすことができる。
【0044】
図8に、本実施形態に係る記録再生装置の機能構成図を示す。なお、記録再生装置における各キューは、メモリ等によって構成される。また、その他の各構成は、専用のハードウェアで構成されていてもよいし、CPU(Central Processing Unit)で構成されていてもよい。CPUによって構成される場合には、CPUによってソフトウェアが実行されることによって、各構成の備える機能が実現される。
【0045】
ストレージ(オリジナルボリューム181およびバックアップボリューム182)にデータを記録するプログラムは、システムコール(システムコール部120)を用いてファイルの作成を行う。
【0046】
システムコールは、ファイルシステムのファイルクリエートオペレーション関数を呼び出す。
【0047】
ファイルシステム(ファイルシステム部130)は、ファイルクリエートオペレーションの処理を行う(このファイルクリエートオペレーションの一連の処理をファイルクリエートトランザクションと定義する)。この処理の中ではファイルをクリエートするために必要となるリソースの変更を行い、リクエストを生成し、複製(ミラー)が必要なものに関してはミラーリクエストキュー141に登録する。必要なリソースの変更のリクエストを全て登録し終わった時点でミラーリクエストキュー141に対してミラーリング要求フラグを設定する。ミラーリクエストキュー141は1または複数用意されるものとする。
【0048】
ファイルシステム部130は、システムコール部120からトランザクションの入力を受け付け、トランザクションの処理において必要なリクエストを1または複数生成し、生成した1または複数のリクエストをミラーリクエストキュー141に登録する。ファイルシステム部130は、登録し終わると、記録再生装置内の図示しないメモリに記憶されたミラーリング要求フラグに所定の値を設定する。所定の値とは、データを複製する要求を示す値であり、特に限定されるものではない。
【0049】
トランザクションミラーリングドライバ部140は、ミラーリクエストキュー141を有し、ミラーリクエストキュー141に登録されている1または複数のリクエストをオリジナルボリューム書き込み用リクエストキュー(リクエストキュー151)に登録する。トランザクションミラーリングドライバ部140は、登録した1または複数のリクエストに対する処理がすべて完了したら、ミラーリング要求フラグを参照する。ミラーリング要求フラグに所定の値が設定されている場合には、ミラーリクエストキュー141に登録されている1または複数のリクエストをバックアップボリューム書き込み用リクエストキュー(リクエストキュー161)に登録する。
【0050】
リクエスト制御部142は、ミラーリクエストキュー141に登録されているリクエストをオリジナルボリュームインタフェースドライバ部150がもつリクエストキュー151に登録する。リクエスト制御部142は、ミラーリクエストキュー141に登録されているミラーリクエストが全て完了で終了するのを監視しながら待つ。ミラーリクエストが全て完了で終了し且つミラーリクエストキュー141に対して(記録再生装置の図示しないメモリに記憶されている)ミラーリング要求フラグに所定の値が設定されていた場合、リクエストをバックアップボリュームインタフェースドライバ部160のリクエストキュー161に登録する。リクエスト制御部142は再度、ミラーリクエストが全て完了で終了するのを監視しながら待つ。終了した時点でファイルクリエートオペレーションに対してreturnを返す。また、このときに、ファイルシステム部130は、ミラーリング要求フラグに設定されている所定の値をクリアする。
【0051】
オリジナルボリュームインタフェースドライバ部150は、オリジナルボリューム書き込み用リクエストキュー(リクエストキュー151)を有し、リクエストキュー151から取り出したリクエストを出力する。
【0052】
バックアップボリュームインタフェースドライバ部160は、バックアップボリューム書き込み用リクエストキュー(リクエストキュー161)を有し、リクエストキュー161から取り出したリクエストを出力する。
【0053】
ストレージ制御部170Aは、オリジナルボリュームインタフェースドライバ部150から出力されたリクエストに含まれるオリジナルデータをオリジナルボリューム181に書き込む処理を制御する。また、ストレージ制御部170Aは、バックアップボリュームインタフェースドライバ部160から出力されたリクエストに含まれるバックアップデータをバックアップボリュームに書き込む処理を制御する。
【0054】
図9に、ミラーリクエストキューとノーマルリクエストキュー両方をストレージインタフェースドライバ部内で制御する場合の実装形態を示す。
【0055】
図10に、H/W(IFコントローラ/ストレージコントローラ)でコマンドをキューイングする場合の実装形態を示す。
【0056】
《本実施形態に係る記録再生装置が実行する処理の流れについて》
本実施形態に係る記録再生装置が実行する処理の流れを図11、図12に示す。
【0057】
図11は、永続を必要とするファイルの書込み処理について示す。図12は、永続化を必要としないファイルの書込み処理について示す。また、図13には、図12に示す永続を必要とするファイルの書込みを、RAIDコントローラを用いてさらにストレージの破壊についての耐性を向上させた場合について示す。
【0058】
図11、図12、図13の3つの例において、ファイルを書き出す場合はFS(File System)管理データ1321(各図における実線矢印)、ファイル管理データ1322(各図における破線矢印)とファイルの中身となるデータ(各図における太矢印)の書出しを必要とする。
【0059】
図11において、新たにファイルを作成する場合には、ファイルクリエートシステムコールによりファイル名とファイルの属性情報を付加する。永続化ファイルか通常ファイルかの区別はこの属性情報として与えられる。
【0060】
ファイルシステム部130は、この属性情報およびシステムコールの種別によりトランザクションを決定し、そのトランザクション中でリソース管理部132に働きかけ変更が必要な場合はそのリソースを書き出す。この例のリソースはFS管理データ1321とファイル管理データ1322がそれに相当する。
【0061】
ファイルシステム部130は、永続化ファイルの属性情報によりリソース書出しリクエストを作成する。この際、リクエスト内のデータとしてどのトランザクションのリクエストかを判別するためのトランザクションタグを保持しているものとする。
【0062】
リクエストは、ファイルシステム部130によってトランザクションミラーリングドライバ部140のミラーリクエストキュー141に繋がれるものとする。図11では、実線矢印、破線矢印が、それぞれFS管理データ1321、ファイル管理データ1322の書出しを示している。
【0063】
トランザクションミラーリングドライバ部140は、ミラーリクエストキュー141につながれているリクエストを任意のタイミングでオリジナルボリュームインタフェースドライバ部150のリクエストキュー151に繋ぐ。トランザクションミラーリングドライバ部140のリクエスト制御部142は、オリジナルボリュームインタフェースドライバ部150からの転送終了を待つ。また、トランザクションミラーリングドライバ部140は、リクエストのstatusである転送前/転送終了待ち/転送完了/ミラー転送終了待ち/ミラー転送完了を管理する。
【0064】
ファイルシステム部130は、トランザクション中に発行すべきリクエストを全てミラーリクエストキュー141に繋いだ時点で、ミラーリング実行イベントをトランザクションミラーリングドライバ部140に通知する。このときのイベントの情報としてトランザクションタグを通知する。
【0065】
トランザクションミラーリングドライバ部140は、ミラーリング実行イベントに含まれているトランザクションタグと同じタグ情報のリクエストのステータスが全て転送完了するまで待ち、全てのリクエストが転送完了となった時点で全てのリクエストをバックアップボリュームインタフェースドライバ部160のリクエストキュー161に繋ぐ。トランザクションミラーリングドライバ部140は、再度全てのリクエストがミラー転送完了になるのを待ち、全て転送完了した時点でファイルシステム部130に転送終了を通知する。ファイルシステム部130は、転送終了をシステムコールの戻りとする。
【0066】
図12を用いて、永続化を必要としないファイルの書込み処理について説明する。通常ファイルの場合でもFS管理データ1321、ファイル管理データ1322は、ミラーリングの対象となる。同一FS上にファイルを格納する場合は、永続化ファイルでも通常ファイルでも同一のデータを扱うため、特にFS管理データ1321は、通常ファイルだからといってミラーリングを行わないとFSが破壊される恐れがある。よって、FS管理データ1321およびファイル管理データ1322は永続化ファイルの場合と同様にミラーリングが行われる。データの書出しだけミラーリングを行わない。
【0067】
記録再生装置は、ファイルの中身となるデータ(通常ファイル)の書き込み先となるデータブロック183をさらに備える。
【0068】
また、記録再生装置は、データブロックインタフェースドライバ部166をさらに備える。データブロックインタフェースドライバ部166は、データブロック書き込み用リクエストキュー(リクエストキュー167)を有し、リクエストキュー167から取り出したリクエストを出力する。
【0069】
ファイルシステム部130は、ファイルの中身となるデータ(通常ファイル)を、リクエストキュー167に登録する。
【0070】
ストレージ制御部170Aは、データブロックインタフェースドライバ部166から出力されたリクエストに含まれるデータをデータブロック183に書き込む処理をさらに制御する。
【0071】
図13を用いて、図12に示す永続を必要とするファイルの書込みを、RAIDコントローラを用いてさらにストレージの破壊についての耐性を向上させた場合について説明する。図13に示すように、ハードウェア側にストレージ制御部+RAID制御部170Cが存在する。このRAID制御の機能によって、2つのストレージのそれぞれに同一のデータが書き込まれる。これによって、ストレージに対する物理的な破壊からデータを保護することができる。したがって、ファイルシステムが破壊される場合、ファイルが消滅する場合のみならず、ハードディスクが物理的に破壊される場合に対してもデータを復旧することが可能となる。
【0072】
《本実施形態が奏する効果について》
本実施形態によれば、以下のような効果を奏する。
【0073】
1.障害発生時の修復が高速に行える。
2.ファイルシステムの修復時にファイルを破棄することなく、永続的に存在させることができる。
3.ファイルを2重に書き込むよりもパフォーマンスが向上する。
4.ミドルウェアは、通常のシステムコールを呼び出すだけでミラーを意識する作りにしなくてもよい。
5.RAID1のミラーではファイルシステムの整合性を保証できないが、本実施形態では整合性を保証できる。
6.実装はS/W、H/W両方で可能である。
7.ミドルウェアはミラーを意図しない作りにすることができるが、ミラーが必要なデータおよびリソースか不必要かはミドルウェアがハンドリングすることができ、ファイルレベルでミラーを行うファイルとミラーを必要としないファイルを混在させることが可能である。
【0074】
《本実施形態の変形例について》
上記では、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【0075】
【図1】本実施形態に適用可能な記録再生装置の概念図である。
【図2】XFSのトランザクションについて示す図である。
【図3】ファイル作成のトランザクションが入力された場合の様子を示す図である。
【図4】1つのアロケーショングループを示す図である。
【図5】ファイルの既存の技術で2重化を行う場合のリクエストとストレージへのコマンド要求の発行の様子を示す図である。
【図6】RAID1を使用してミラーを行った場合のリソースがストレージへ反映されている様子を示す図である。
【図7】本実施形態に係る記録再生装置の基本概念図である。
【図8】本実施形態に係る記録再生装置の機能構成図を示す図である。
【図9】ミラーリクエストキューとノーマルリクエストキュー両方をストレージインタフェースドライバ部内で制御する場合の実装形態を示す図である。
【図10】H/W(IFコントローラ/ストレージコントローラ)でコマンドをキューイングする場合の実装形態を示す図である。
【図11】永続を必要とするファイルの書込み処理について示す図である。
【図12】永続化を必要としないファイルの書込み処理について示す図である。
【図13】永続を必要とするファイルの書込みを、RAIDコントローラを用いてさらにストレージの破壊についての耐性を向上させた場合について示す図である。
【符号の説明】
【0076】
68 オリジナルボリューム
69 バックアップボリューム
81 メモリ
82 リソース
83 ログ格納領域
84 HDD
120 システムコール部
130 ファイルシステム部
132 リソース管理部
140 トランザクションミラーリングドライバ部
141 ミラーリクエストキュー
142 リクエスト制御部
150 オリジナルボリュームインタフェースドライバ部
151 リクエストキュー
160 バックアップボリュームインタフェースドライバ部
161 リクエストキュー
170C RAID制御部
181 オリジナルボリューム
182 バックアップボリューム
1321 FS管理データ
1322 ファイル管理データ
8411 HDDwriteキャッシュ
8412 メディア


【特許請求の範囲】
【請求項1】
システムコール部からトランザクションの入力を受け付け、当該トランザクションの処理において必要なリクエストを1または複数生成し、当該生成した1または複数のリクエストをミラーリクエストキューに登録し、登録し終わると、メモリに記憶されたミラーリング要求フラグに所定の値を設定するファイルシステム部と、
前記ミラーリクエストキューを有し、当該ミラーリクエストキューに登録されている1または複数のリクエストをオリジナルボリューム書き込み用リクエストキューに登録し、登録した当該1または複数のリクエストに対する処理がすべて完了したら、前記ミラーリング要求フラグを参照し、当該ミラーリング要求フラグに前記所定の値が設定されている場合には、前記ミラーリクエストキューに登録されている1または複数のリクエストをバックアップボリューム書き込み用リクエストキューに登録するトランザクションミラーリングドライバ部と、
前記オリジナルボリューム書き込み用リクエストキューを有し、当該リクエストキューから取り出したリクエストを出力するオリジナルボリュームインタフェースドライバ部と、
前記バックアップボリューム書き込み用リクエストキューを有し、当該リクエストキューから取り出したリクエストを出力するバックアップボリュームインタフェースドライバ部と、
前記オリジナルボリュームインタフェースドライバ部から出力されたリクエストに含まれるオリジナルデータをオリジナルボリュームに書き込む処理と、前記バックアップボリュームインタフェースドライバ部から出力されたリクエストに含まれるバックアップデータをバックアップボリュームに書き込む処理とを制御するストレージ制御部と、
を備える、記録再生装置。
【請求項2】
前記ファイルシステム部は、
前記バックアップボリューム書き込み用リクエストキューに登録した1または複数のリクエストに対する処理がすべて完了したら、前記ミラーリング要求フラグに設定されている所定の値をクリアする、
請求項1に記載の記録再生装置。
【請求項3】
前記ファイルシステム部は、
前記リクエストに対して、トランザクションを判別するためのタグを付与する、
請求項2に記載の記録再生装置。
【請求項4】
データブロック書き込み用リクエストキューを有し、当該リクエストキューから取り出したリクエストを出力するデータブロックインタフェースドライバ部
をさらに備え、
前記ファイルシステム部は、
前記ファイルの中身となるデータを、前記データブロック書き込み用リクエストキューに登録し、
前記ストレージ制御部は、
前記データブロックインタフェースドライバ部から出力されたリクエストに含まれるデータを、ファイルの中身となるデータの書き込み先となるデータブロックに書き込む処理をさらに制御する、
請求項3に記載の記録再生装置。
【請求項5】
ファイルシステム部が、システムコール部からトランザクションの入力を受け付け、当該トランザクションの処理において必要なリクエストを1または複数生成し、当該生成した1または複数のリクエストをミラーリクエストキューに登録し、登録し終わると、メモリに記憶されたミラーリング要求フラグに所定の値を設定するステップと、
トランザクションミラーリングドライバ部が、前記ミラーリクエストキューを有し、当該ミラーリクエストキューに登録されている1または複数のリクエストをオリジナルボリューム書き込み用リクエストキューに登録し、登録した当該1または複数のリクエストに対する処理がすべて完了したら、前記ミラーリング要求フラグを参照し、当該ミラーリング要求フラグに前記所定の値が設定されている場合には、前記ミラーリクエストキューに登録されている1または複数のリクエストをバックアップボリューム書き込み用リクエストキューに登録するステップと、
オリジナルボリュームインタフェースドライバ部が、前記オリジナルボリューム書き込み用リクエストキューを有し、当該リクエストキューから取り出したリクエストを出力するステップと、
バックアップボリュームインタフェースドライバ部が、前記バックアップボリューム書き込み用リクエストキューを有し、当該リクエストキューから取り出したリクエストを出力するステップと、
ストレージ制御部が、前記オリジナルボリュームインタフェースドライバ部から出力されたリクエストに含まれるオリジナルデータをオリジナルボリュームに書き込む処理と、前記バックアップボリュームインタフェースドライバ部から出力されたリクエストに含まれるバックアップデータをバックアップボリュームに書き込む処理とを制御するステップと、
を含む、記録再生方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2010−15253(P2010−15253A)
【公開日】平成22年1月21日(2010.1.21)
【国際特許分類】
【出願番号】特願2008−172595(P2008−172595)
【出願日】平成20年7月1日(2008.7.1)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】