(57)【要約】【課題】  記録速度が高速で、かつ信頼性が高いデータ記録装置およびデータ記録方法を提供することを目的とする。【解決手段】  ファイルが入力されるインタフェース部４０と、ファイルを記録する複数の記録媒体Ｍを備える複数のストライピンググループＳＧと、このストライピンググループＳＧの空き容量に関する情報を、ストライピンググループ毎に記録するＳＧ管理テーブル２３と、このＳＧ管理テーブル２３の情報を参照して、インタフェース部４０から入力されるファイルを記録するストライピンググループＳＧを１つに決定するファイル管理処理手段２１と、このファイル管理処理手段２１によって決定された１つのストライピンググループＳＧにファイルを記録するデータ処理手段１０とを有する。【選択図】  図１
2010165257.tif 000002
【特許請求の範囲】
【請求項１】
ファイルが入力されるインタフェース部と、
前記ファイルを記録する複数の記録媒体を備える複数のストライピンググループと、
前記ストライピンググループの空き容量に関する情報を、前記ストライピンググループ毎に記録するＳＧ管理テーブルと、
前記ＳＧ管理テーブルの情報を参照して、前記インタフェース部から入力される前記ファイルを記録するストライピンググループを１つに決定するファイル管理処理手段と、
前記ファイル管理処理手段によって決定された１つのストライピンググループに前記ファイルを記録するデータ処理手段と
を有することを特徴とするデータ記録装置。
【請求項２】
前記ＳＧ管理テーブルは、前記ストライピンググループ毎の記録回数を記録し、
前記ファイル管理処理手段は、前記ＳＧ管理テーブルを参照して、空き容量のある前記ストライピンググループのうち、前記ストライピンググループ毎の記録回数が最も少ないストライピンググループを記録先に決定することを特徴とする請求項１に記載のデータ記録装置。
【請求項３】
入力されるファイルの容量を判断する容量判断ステップと、
前記容量判断ステップで判断された容量よりも空き容量の大きいストライピンググループを、前記ストライピンググループの空き容量および前記ストライピンググループの記録回数を記録するＳＧ管理テーブルを参照して判断する空き容量判断ステップと、
前記ＳＧ管理テーブルを参照して、前記空き容量判断ステップによって判断されたストライピンググループのうち記録回数が最も少ないストライピンググループを記録先に決定する記録先決定ステップと
を有することを特徴とするデータ記録方法。
【請求項４】
ストライピンググループの空き容量および前記ストライピンググループの記録回数を記録するＳＧ管理テーブルを参照して、空き容量のあるストライピンググループを判断する空き判断ステップと、
前記ＳＧ管理テーブルを参照して、前記空き容量判断ステップによって判断されたストライピンググループのうち記録回数が最も少ないストライピンググループを記録先に決定する記録先決定ステップと
を有することを特徴とするデータ記録方法。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを高速に記録する記録装置の高信頼性化に関する。
【背景技術】
【０００２】
近年、容量の大きいデータを扱う機会が頻出するようになった。特に、映像データの高精細化が進み、映像データの容量は膨大な容量となっている。このような大容量のデータを記録媒体に記録するとき、その記録時間が長時間化する。そのため、記録をより高速に行う技術が求められている。
【０００３】
記録を高速に行う技術として、複数の記録媒体を用意し、１つのデータ（例えば「Ａ」というファイル名のデータ）をそれらの複数の記録媒体に分散記録するというストライピングまたはＲＡＩＤ（Redundant Arrays of Inexpensive Disks）と呼ばれる技術がある。このストライピング技術は、１つのデータを１つの記録媒体に記録するよりも高速に記録することができる技術として知られている。また、分散記録する記録媒体の数を増加させれば増加させるほど、記録をより高速化することができる。
【０００４】
ところで、記録媒体に記録されたデータを読み出す場合に、読出し要求から読出し開始までの時間を短縮する技術として、例えば、特許文献１が知られている。特許文献１には、ネットワークで複数のディスクを複数のサーバで共有するストレージ共有型分散マルチメディアサーバシステムにおいて、複数のサーバがディスクへ同時にアクセスすることを防ぐためにスケジューリングした場合に、スケジューリングによって読出しを要求してから実際に読出し開始までの時間が長くなることを解決するために、それらのディスクをグルーピングするということが記載されている。
【０００５】
しかしながら、複数の記録媒体に１つのデータを分散記録すると、そのうちの１つの記録媒体が故障した場合、故障した記録媒体に記録されていた部分のデータを読み出すことができないため、「Ａ」という名前のファイルのあちこちのデータが消失する。そのため、「Ａ」という名前のファイルを読み出すことができなくなる。しかも、「Ａ」というファイルだけでなく、それ以外のファイルも記録されているのであれば、それらのファイルももちろん分散記録されているため、たった１つの記録媒体の故障により全てのファイルが読出し不可能になってしまう。
【０００６】
そのため、ＲＡＩＤ３やＲＡＩＤ４、またはＲＡＩＤ５という技術として知られる、読出しができなくなった記録媒体に記録されているデータを補う誤り訂正符号が分散記録に用いられている。
【０００７】
例えば、ＲＡＩＤ４では、仮に４個の記録媒体が用意されているとすると、これらの記録媒体にストライピングを行う場合、「Ａ」というファイル名の１つのデータは、多数に分割され、分割されたデータを３個の記録媒体に分散記録する。このとき、残りの１個の記録媒体は、他の３個の記録媒体に記録されているデータを補間するためのデータが記録される。このデータを補間するためのデータを記録する記録媒体は、しばしばパリティディスクと呼ばれる。具体的なこのパリティディスクの使用法としては、「Ａ」という名前のファイルが記録されている３個の記録媒体のうちの１つが故障した場合、正常な２個の記録媒体に記録されたデータとパリティディスクに記録されたデータから、故障した記録媒体に記録されているデータを補間するというものである。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１０−１３４４８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、複数の記録媒体が故障した場合や、パリティディスクが故障した場合には、それらの記録媒体に記録されているデータの全てが読出し不可能となってしまい、信頼性に欠ける。また、上記の特許文献１にも、分散記録に使用される一部の記録媒体が故障した場合にデータが読出し不可能とならないための対策について記載されていない。
【００１０】
そこで、本発明は、上記問題点を解決するためになされたもので、記録速度が高速で、かつ信頼性が高いデータ記録装置およびデータ記録方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明によるデータ記録装置は、ファイルが入力されるインタフェース部と、前記ファイルを記録する複数の記録媒体を備える複数のストライピンググループと、前記ストライピンググループの空き容量に関する情報を、前記ストライピンググループ毎に記録するＳＧ管理テーブルと、前記ＳＧ管理テーブルの情報を参照して、前記インタフェース部から入力される前記ファイルを記録するストライピンググループを１つに決定するファイル管理処理手段と、前記ファイル管理処理手段によって決定された１つのストライピンググループに前記ファイルを記録するデータ処理手段とを有することを特徴とする。
【００１２】
また、上記目的を達成するために、本発明によるデータ記録方法は、入力されるファイルの容量を判断する容量判断ステップと、前記容量判断ステップで判断された容量よりも空き容量の大きいストライピンググループを、前記ストライピンググループの空き容量および前記ストライピンググループの記録回数を記録するＳＧ管理テーブルを参照して判断する空き容量判断ステップと、前記ＳＧ管理テーブルを参照して、前記空き容量判断ステップによって判断されたストライピンググループのうち記録回数が最も少ないストライピンググループを記録先に決定する記録先決定ステップとを有することを特徴とする。
【００１３】
また、上記目的を達成するために、本発明によるデータ記録方法は、ストライピンググループの空き容量および前記ストライピンググループの記録回数を記録するＳＧ管理テーブルを参照して、空き容量のあるストライピンググループを判断する空き判断ステップと、前記ＳＧ管理テーブルを参照して、前記空き容量判断ステップによって判断されたストライピンググループのうち記録回数が最も少ないストライピンググループを記録先に決定する記録先決定ステップとを有することを特徴とするデータ記録方法。
【発明の効果】
【００１４】
本発明によるデータ記録装置によれば、記録速度が高速で、かつ信頼性をより高めることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施の形態に係るデータ記録装置の機能ブロック図。
【図２】本発明の一実施の形態に係るファイル管理部に備えられたファイル管理テーブルの一例を示す図。
【図３】本発明の一実施の形態に係るファイル管理部に備えられたファイル管理テーブルの一例を示す図。
【図４】本発明の一実施の形態に係る入力されるファイルの容量が既知の場合に、そのファイルをストライピンググループに記録する処理を示すフローチャート。
【図５】本発明の一実施の形態に係る入力されるファイルの容量が不明の場合に、そのファイルをストライピンググループに記録する処理を示すフローチャート。
【発明を実施するための形態】
【００１６】
以下、本発明の実施例を、図面を参照して説明する。
【実施例】
【００１７】
図１は、本発明の一実施の形態を示すデータ記録装置の機能ブロック図である。  
データ記録装置１００は、入力されたデータや出力するデータを処理するデータ処理部１０、ファイルを管理するファイル管理部２０、ファイルを記録する記録部３０、およびファイルの入力または出力を行うインタフェース部４０を有する。
【００１８】
記録部３０には、複数の記録媒体を１つのグループとした複数のストライピンググループＳＧ１、ＳＧ２、ＳＧ３が備えられている。１つのストライピンググループＳＧ（ＳＧ１乃至ＳＧ３共通）には、例えばハードディスクやフラッシュメモリなどの複数の記録媒体Ｍ１、Ｍ２、…、Ｍ９と、それらの記録媒体へデータを記録する場合にどのデータをどこ（記録媒体の物理アドレス）に記録するかなど、記録したデータの物理アドレスを制御するコントローラＣ１、Ｃ２、Ｃ３とが備えられている。このストライピンググループＳＧは、ストライピンググループにファイルが記録される際、１つのストライピンググループＳＧに備えられている複数の記録媒体Ｍ（Ｍ１乃至Ｍ９共通）に分散記録され、さらに、誤り訂正符号も記録される。
【００１９】
ファイル管理部２０には、ファイルがどのストライピンググループＳＧに記録されているかを管理する情報を記録するファイル管理テーブル２２と、ストライピンググループＳＧの空き容量や記録回数を記録するＳＧ管理テーブル２３と、ファイル管理テーブル２２およびＳＧ管理テーブル２３の情報を検索したり更新したりするファイル管理処理部２１とが備えられている。
【００２０】
ファイルがインタフェース部４０から入力されると、データ処理部１０は、ファイル管理処理部２１に対し、空き容量のあるスライピンググループＳＧを検索指示し、ファイル管理処理部２１は、ＳＧ管理テーブル２３を参照して空き容量のあるストライピンググループＳＧを判断する。空き容量のあるストライピンググループＳＧを判断したファイル管理処理部２１は、記録先のストライピンググループＳＧとして、空き容量のあるストライピンググループＳＧを決定し、データ処理部１０に対し記録先を指示する。データ処理部１０は、記録先として指示されたストライピンググループＳＧに、ファイルを記録する。記録先として指示されたストライピンググループＳＧが備える複数の記録媒体Ｍのうち、どの記録媒体Ｍのどの位置にファイルのどの部分を記録するかについては、ストライピンググループＳＧに備えられているコントローラＣ（Ｃ１乃至Ｃ３共通）が分散記録し、どの記録媒体Ｍのどの位置に記録したかの情報を記録しておくようになっている。
【００２１】
ファイルの読出しを行う場合には、図示しないマンマシンインタフェースや上位のアプリケーション等からファイルの読出しを指示されると、データ処理部１０はそのファイルがどのストライピンググループＳＧに記録されているかをファイル管理処理部２１へ検索指示し、ファイル管理処理部２１は、ファイル管理テーブル２２を検索してファイルがどのストライピンググループＳＧに記録されているかを判断し、データ処理部１０へそのストライピンググループＳＧから読み出すことを指示する。データ処理部１０は、指示されたストライピンググループＳＧへファイル読出しを要求し、そのストライピンググループＳＧが備えるコントローラＣが実際にどの記録媒体Ｍのどの位置に記録しているかを判断して読み出すようになっている。
【００２２】
ここで、図２および図３を参照して、ファイル管理テーブル２２およびＳＧ管理テーブル２３について説明する。
【００２３】
図２は、ファイル管理部２０に備えられたファイル管理テーブル２２の一例を示したものである。ファイル管理テーブル２２には、記録部３０に記録されているファイルを識別するファイル名と、そのファイルが記録されているストライピンググループＳＧを識別するストライピンググループ名とが対応付けて記録されている。図２に示したファイル管理テーブル２２の例では、「ＦＩＬＥ１」というファイル名のファイルはストライピンググループ２に記録されていることを示す「ＳＧ２」と対応付けられている。「ＦＩＬＥ２」というファイル名のファイルはストライピンググループ３に記録されていることを示す「ＳＧ３」と対応付けられている。以下同様に、「ＦＩＬＥ３」は「ＳＧ１」というように対応付けられている。
【００２４】
また、新たにファイルを記録部３０へ記録した場合には、このファイル管理テーブル２２にその情報を記録し、記録部３０へ記録されているファイルを削除した場合には、このファイル管理テーブル２２のその情報を削除するように、ファイル管理処理部２１により更新される。
【００２５】
ファイル管理テーブル２２には、ファイルを識別するファイル名と、そのファイルが記録されているストライピンググループＳＧを識別するストライピンググループ名とを対応付けて記録されているため、ファイル管理処理部２１がこのファイル管理テーブル２２を参照することで、ファイルを読み出す場合に、読み出すストライピンググループＳＧを判断することができるようになっている。
【００２６】
図３は、ファイル管理部２０に備えられたＳＧ管理テーブル２３の一例を示したものである。ＳＧ管理テーブル２３には、ストライピンググループＳＧ毎に、その時点でどれだけ空き容量があるかを示す空き容量の情報と、そのストライピンググループＳＧに記録した回数を示す記録回数の情報とが記録されている。図３に示したＳＧ管理テーブル２３の例では、ストライピンググループ１を示す「ＳＧ１」は、空き容量が「１０Ｍ」で、記録回数が「１０９８６回」であることが記録されている。また、ストライピンググループ２を示す「ＳＧ２」は、空き容量が「３０Ｍ」で、記録回数が「５９３１回」であり、同様にストライピンググループ３は空き容量が「５Ｍ」、記録回数が「８１４２回」であることが記録されている。
【００２７】
このＳＧ管理テーブル２３は、その時点でのストライピンググループＳＧ毎の空き容量と記録回数を記録するものであるので、記録部３０にファイルを記録した場合には、そのファイルを記録したストライピンググループＳＧの空き容量の情報および記録回数の情報をファイル管理処理部２１が更新する。記録部３０に記録されているファイルを削除した場合には、そのファイルを削除したストライピンググループＳＧの空き容量の情報をファイル管理処理部２１が更新するようになっている。
【００２８】
ＳＧ管理テーブル２３には、ストライピンググループ毎に、そのストライピンググループＳＧの空き容量と、そのストライピンググループＳＧへの記録回数が対応付けて記録されているため、ファイルを記録部３０へ記録する場合に、ファイル管理処理部２１は、どのストライピンググループへ記録すればよいかをこのＳＧ管理テーブル２３を参照して判断することができるようになっている。
【００２９】
なお、図３に一例を示したＳＧ管理テーブル２３には、ストライピンググループＳＧ毎にその時点での空き容量および記録回数を記録するようにしたが、空き容量の代わりに、記録媒体Ｍの容量およびその時点での記録容量を記録するようにしてもよい。
【００３０】
次に、図４を参照して、入力されたファイルを記録する処理の例について説明する。図４は、入力されたファイルの容量が既知である場合の処理を示すフローチャートの例である。
【００３１】
まず、ファイルがインタフェース部４０から入力されると、データ処理部１０は、そのファイルの容量を判断する（Ｓ１０１）。そのファイルの容量より空き容量の大きいストライピンググループＳＧがあるか否かをデータ処理部１０はファイル管理処理部２１に検索指示する（Ｓ１０２）。検索を指示されたファイル管理処理部２１は、ＳＧ管理テーブル２３を参照して、入力されたファイルの容量より空き容量の大きいストライピンググループＳＧがあるか否かを判断する。このとき、入力されたファイルの容量より空き容量の大きいストライピンググループＳＧがない場合は、記録せず、「記録できません」等の表示や警告を行い、処理を終了する。入力されたファイルの容量より空き容量の大きいストライピンググループがある場合は、ファイル管理処理部２１は、そのストライピンググループＳＧの数が１つか複数かを判断する（Ｓ１０３）。
【００３２】
複数の場合には、その中で記録回数が最も少ないストライピンググループＳＧを記録先として決定する（Ｓ１０４）。記録先のストライピンググループＳＧを決定すると、ファイル管理処理部２１は、決定したストライピンググループＳＧを記録先として指示し、データ処理部１０は、そのストライピンググループＳＧへファイルの記録を行う。また、処理Ｓ１０３で、入力されたファイルの容量より空き容量の大きいストライピンググループが１つと判断された場合は、そのストライピンググループＳＧを記録先に決定する（Ｓ１０５）。決定されたストライピンググループＳＧへのファイルの記録の仕方については、処理Ｓ１０４と同様に行う。
【００３３】
処理Ｓ１０４または処理Ｓ１０５の処理を終えると、処理Ｓ１０４または処理Ｓ１０５の処理で記録したストライピンググループＳＧの空き容量および記録回数を現時点の値にするためにファイル管理処理部２１がＳＧ管理テーブル２３を更新し、そのファイルがどのストライピンググループＳＧに記録されたかを管理するために、ファイル管理処理部２１がファイル管理テーブル２２を更新して終了する（Ｓ１０６）。
【００３４】
このように、１つのファイルを１つのストライピンググループＳＧに記録するようにしたことで、他のストライピンググループＳＧの中の記録媒体Ｍが故障した場合でも故障していないストライピンググループＳＧに記録されているファイルを読み出すことができ、記録媒体Ｍが故障した場合に消失するファイルを少なくすることができる。また、ストライピンググループＳＧの中の記録媒体Ｍが故障した場合でも、ストライピンググループ毎に誤り訂正符号が記録されているため、記録媒体Ｍの故障の範囲によっては故障した記録媒体Ｍに記録されているデータを補間することができる。さらに、ファイルを記録するストライピンググループＳＧを決定する際に、ストライピンググループＳＧ毎の記録回数も判断材料にし、記録回数の少ないストライピンググループに記録するようにしているため、記録回数に限界がある記録媒体Ｍの場合に、記録媒体Ｍの寿命を長くすることができる。
【００３５】
（ファイルの記録処理の変形例）
図４のフローチャートの例では、記録部３０に記録するファイルの容量が既知の場合に記録先のストライピンググループＳＧを決定する処理について説明した。ここでは、その変形例として、記録部３０に記録するファイルの容量が不明の場合に、どのように記録先のストライピンググループＳＧを決定するかについての例を示す。
【００３６】
図５は、記録部３０に記録するファイルの容量が不明の場合の処理を示したフローチャートの例である。
【００３７】
まず、ファイルが入力されると（Ｓ２０１）、データ処理部１０は空き容量のあるストライピンググループＳＧがあるか否かをファイル管理処理部２１に検索指示する（Ｓ２０２）。空き容量のあるストライピンググループＳＧが無い場合は、そのファイルを記録できないため、「空きＳＧがありません」等の表示や警告を行い処理を終了する。処理Ｓ２０２において、空き容量のあるストライピンググループＳＧがある場合は、そのストライピンググループＳＧが１つか複数かを判断する（Ｓ２０３）。以降の処理Ｓ２０４乃至処理Ｓ２０６は、処理Ｓ１０４乃至処理Ｓ１０６と同様であるため、説明を省略する。
【００３８】
このように、記録部３０へ記録するファイルが入力された時点で、そのファイルの容量が不明であっても、ファイルの容量が既知の場合と同様の効果を得ることができる。
【００３９】
以上のように、１つのファイルを１つのストライピンググループＳＧに記録するようにすることで、ストライピンググループＳＧに備えられている複数の記録媒体Ｍに分散記録することによって記録速度が高速であるとともに、記録媒体Ｍが故障した場合に消失するファイルを少なくすることができる。その結果、ファイルの記録に対する信頼性を高めることができる。
【００４０】
また、ファイルを記録するストライピンググループＳＧを決定する際に、ストライピンググループＳＧ毎の記録回数も判断材料にして記録回数の少ないストライピンググループに記録するようにしているため、記録回数に限界がある記録媒体Ｍの場合に、記録媒体Ｍの寿命を長くすることができる。
【００４１】
なお、本発明は、以上の構成に限定されるものではなく、種々の変形が可能である。例えば、ストライピンググループＳＧの数は、実施例では３つであったが、４つ以上備えるようにしてもよく、１つのストライピンググループＳＧが備える記録媒体Ｍの数も、実施例に示した３つに限定されるものではなく、４つ以上備えるようにしてもよい。
【符号の説明】
【００４２】
１０…データ処理部、２０…ファイル管理部、２１…ファイル管理処理部、２２…ファイル管理テーブル、２３…ＳＧ管理テーブル、３０…記録部、Ｍ，Ｍ１〜Ｍ９…記録媒体、ＳＧ，ＳＧ１〜ＳＧ３…ストライピンググループ、Ｃ，Ｃ１〜Ｃ３…コントローラ
【図１】
2010165257.tif 000003
【図２】
2010165257.tif 000004
【図３】
2010165257.tif 000005
【図４】
2010165257.tif 000006
【図５】
2010165257.tif 000007