(57)【特許請求の範囲】
【請求項１】
冗長データ生成単位より小さい単位の書き込みデータを情報処理装置から受け取り、
冗長データ生成単位に不足するデータを記憶装置から読み出し、前記冗長データ生成単位にデータを揃えてから冗長データを生成し前記記憶装置に前記データと冗長データとを書き込むと共に、その書き込みが失敗した場合、前記冗長データ生成単位に揃えたデータを不揮発性の記憶媒体に保持し、前記情報処理装置から前記冗長データ生成単位に揃えたデータに属するデータの読み出し要求を受けた場合は、前記不揮発性の記憶媒体に保持したデータを前記情報処理装置へ送ることを特徴とする記憶装置管理方法。
【請求項２】
前記不足するデータの読み出しが失敗した場合、前記書き込みデータを前記不揮発性の記憶媒体に保持し、前記書き込みデータの読み出し要求を受けた場合は、前記不揮発性の記憶媒体に保持したデータを前記情報処理装置へ送ることを特徴とする請求項１に記載の記憶装置管理方法。
【請求項３】
前記不揮発性の記憶媒体へのデータの保持は、複数の記憶装置で前記読み出し又は書き込みが失敗した場合に行うことを特徴とする請求項１または請求項２のいずれかに記載の記憶装置管理方法。
【請求項４】
前記保持されているデータが冗長データ生成単位より小さい単位のデータである場合、前記冗長データ生成単位にデータを揃えてから前記記憶装置に書き込むことを特徴とする請求項３に記載の記憶装置管理方法。
【請求項５】
冗長データ生成単位より小さい書き込みデータを情報処理装置から受け取る書き込みデータ受取手段と、前記受信した冗長データ生成単位に不足するデータを前記記憶装置から読み出すデータ読出手段と、冗長データ生成単位にデータを揃えてから冗長データを生成し前記記憶装置に前記データと冗長データとを書き込むデータ書込手段と、その書き込みが失敗した場合に前記情報処理装置から受け取ったデータを不揮発性の記憶媒体に保持する記憶手段と、前記不揮発性の記憶媒体に保持されているデータに対応するデータの読み出し要求を前記情報処理装置から受けた場合に前記保持されているデータを前記情報処理装置へ送る送信手段とを有することを特徴とする記憶装置管理システム。
【請求項６】
前記記憶手段は、前記データ読出手段による前記不足するデータの読み出しが失敗した場合、前記書き込みデータを前記不揮発性の記憶媒体に保持し、前記送信手段は、前記書き込みデータの読み出し要求を受けた場合、前記不揮発性の記憶媒体に保持したデータを前記情報処理装置へ送ることを特徴とする請求項５に記載の記憶装置管理システム。
【請求項７】
前記記憶装置管理システムは、複数の記憶装置と接続しており、
前記記憶手段は、複数の記憶装置全てで前記読み出しまたは書き込みが失敗した場合に、前記不揮発性の記憶媒体へのデータの保持を行うことを特徴とする請求項５または請求項６のいずれかに記載の記憶装置管理システム。
【請求項８】
前記データ書込手段は、前記保持されているデータが冗長データ生成単位より小さい単位のデータである場合、前記冗長データ生成単位に揃えてから記憶装置への書き込みを行うことを特徴とする請求項７に記載の記憶装置管理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記憶装置管理方法および記憶装置管理システムに関し、さらに詳しくは、冗長データ生成単位より小さい書き込みデータを情報処理装置から受け取り、冗長データ生成単位に不足するデータを記憶装置から読み出し、冗長データ生成単位にデータを揃えてから冗長データを生成し、前記記憶装置に前記データと冗長データとを書き込む時に、障害が発生しても、前記冗長データ生成単位に揃えたデータを全て消失しないよう保証できる記憶装置管理方法および記憶装置管理システムに関する。
【０００２】
【従来の技術】
情報処理装置（ホストコンピュータ）に接続する記憶装置として、最近注目を浴びているのが、ＤＶＤ−ＲＡＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  −  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｅｏｒｙ）装置である。ＤＶＤ−ＲＡＭ装置の詳細については、東芝レビュー２，１９９８，ＶＯＬ．５３  ＮＯ．２，「特集Ｉ：広がるＤＶＤの世界」や、Ｎａｔｉｏｎａｌ  Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ，  １９９７  ＪＵＮＥ，「特集ＤＶＤ」等に紹介されている。
【０００３】
図１９に、ＤＶＤ−ＲＡＭドライブ３０でのデータ管理方式を示す。
ＤＶＤ−ＲＡＭドライブ３０では、データの管理は、２ＫＢのブロックを単位としている。一方、ＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋ  Ｃｏｄｅ）の管理は、データの再生成能力を高めるため、１６ブロックを単位としている（これを、ＥＣＣブロックと呼ぶ）。
【０００４】
図２０に示すように、ホストコンピュータは、ＤＶＤ−ＲＡＭ装置３１に対して、２ＫＢのブロック単位でデータを読み書きする。
ＤＶＤ−ＲＡＭ装置３１では、ＤＶＤ−ＲＡＭドライブ３０からの読み出しはブロック単位で行うが、ＤＶＤ−ＲＡＭドライブ３０への書き込みはＥＣＣブロック単位で行う。
例えば、図２０に示すように、ホストコンピュータがブロック４のデータＡの書き込みを要求すると、ＤＶＤ−ＲＡＭ装置３１はデータＡを受け取り、バッファ２９００４に保持する（２０００１）。次に、ＤＶＤ−ＲＡＭ装置３１は、ブロック４を含むＥＣＣブロック０（ブロック０からブロック１５まで）のデータをＤＶＤ−ＲＡＭドライブ３０からバッファ２９５００に読み出し（２０００５）、バッファ２９５００内でブロック４にデータＡを結合（マージ）し、次いでＥＣＣを生成した後（２００１０）、バッファ２９５００内のＥＣＣブロック０のデータおよび生成したＥＣＣをＤＶＤ−ＲＡＭドライブ３０に渡し、ＤＶＤ−ＲＡＭ媒体に書き込む（２００２０）。
【０００５】
【発明が解決しようとする課題】
図２０に示すＥＣＣブロック０の書き込み中に障害（停電、瞬電、レーザーの発光停止、ＤＶＤ−ＲＡＭ媒体の障害、ＤＶＤ−ＲＡＭドライブ３０の故障など）が発生すると、ＥＣＣブロック０のデータすなわちブロック０からブロック１５までのデータとＥＣＣとが不一致になるため、ブロック０からブロック１５までの全てのデータの書き込みに失敗したことになる。
すなわち、従来のＤＶＤ−ＲＡＭ装置３１では、１つのブロックのデータの書き込みに失敗すると、当該ブロックを含むＥＣＣブロックのデータが全て失われてしまう問題点があった。そして、ホストコンピュータ１０は、書き込みを要求したブロックのデータの書き込み失敗は失敗報告により認識できるが、そのデータ以外のどのデータが失われてしまったかは全く認識できないので、より大きな障害を引き起こしかねない問題点があった。
【０００６】
そこで、本発明の目的は、冗長データ生成単位より小さい書き込みデータを情報処理装置から受け取り、冗長データ生成単位に不足するデータを記憶装置から読み出し、冗長データ生成単位にデータを揃えてから冗長データを生成し、前記記憶装置に前記データと冗長データとを書き込む時に、障害が発生しても、前記冗長データ生成単位に揃えたデータを全て消失しないよう保証できる記憶装置管理方法および記憶装置管理システムを提供することにある。
【０００７】
【課題を解決するための手段】
第１の観点では、本発明は、冗長データ生成単位より小さい単位の書き込みデータを情報処理装置から受け取り、冗長データ生成単位に不足するデータを記憶装置から読み出し、前記冗長データ生成単位にデータを揃えてから冗長データを生成し前記記憶装置に前記データと冗長データとを書き込むと共に、その書き込みが失敗した場合、前記冗長データ生成単位に揃えたデータを不揮発性の記憶媒体に保持し、前記情報処理装置から前記冗長データ生成単位に揃えたデータに属するデータの読み出し要求を受けた場合は、前記不揮発性の記憶媒体に保持したデータを前記情報処理装置へ送ることを特徴とする記憶装置管理方法を提供する。
上記構成において、前記冗長データは、例えばＥＣＣや，ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）におけるパリティである。
上記第１の観点の記憶装置管理方法では、書き込みが失敗した場合には、冗長データ生成単位に揃えたデータを不揮発性の記憶手段に保持し、情報処理装置から読み出し要求があったときは不揮発性の記憶手段に保持したデータを優先的に使用する。このため、冗長データ生成単位に揃えたデータを全て消失しないよう保証できる。
【０００８】
第２の観点では、本発明は、冗長データ生成単位より小さい書き込みデータを情報処理装置から受け取る書き込みデータ受取手段と、前記受信した冗長データ生成単位に不足するデータを前記記憶装置から読み出すデータ読出手段と、冗長データ生成単位にデータを揃えてから冗長データを生成し前記記憶装置に前記データと冗長データとを書き込むデータ書込手段と、その書き込みが失敗した場合に前記情報処理装置から受け取ったデータを不揮発性の記憶媒体に保持する記憶手段と、前記不揮発性の記憶媒体に保持されているデータに対応するデータの読み出し要求を前記情報処理装置から受けた場合に前記保持されているデータを前記情報処理装置へ送る送信手段とを有することを特徴とする記憶装置管理システムを提供する。
上記第２の観点の記憶装置管理システムでは、前記第１の観点の記憶装置管理方法を好適に実施できる。よって、冗長データ生成単位に揃えたデータを全て消失しないよう保証できる。
【０００９】
第３の観点では、本発明は、上記構成の記憶装置管理システムにおいて、前記記憶手段は、前記データ読出手段による前記不足するデータの読み出しが失敗した場合、前記書き込みデータを前記不揮発性の記憶媒体に保持し、前記送信手段は、前記書き込みデータの読み出し要求を受けた場合、前記不揮発性の記憶媒体に保持したデータを前記情報処理装置へ送ることを特徴とする記憶装置管理システムを提供する。
【００１０】
第４の観点では、本発明は、上記構成の記憶装置管理システムにおいて、前記記憶装置管理システムは、複数の記憶装置と接続しており、前記記憶手段は、複数の記憶装置全てで前記読み出しまたは書き込みが失敗した場合に、前記不揮発性の記憶媒体へのデータの保持を行うことを特徴とする記憶装置管理システムを提供する。
第５の観点では、本発明は、上記構成の記憶装置管理システムにおいて、前記データ書込手段は、前記保持されているデータが冗長データ生成単位より小さい単位のデータである場合、前記冗長データ生成単位に揃えてから記憶装置への書き込みを行うことを特徴とする記憶装置管理システムを提供する。
【００１１】
本発明の記憶装置管理システムは、複数の記憶装置と組み合せて、ＲＡＩＤを構成してもよい。
また、本発明の記憶装置管理システムは、情報処理装置と記憶装置の間に介設してもよいし、情報処理装置または記憶装置のいずれかの内部に設置してもよい。
【００１２】
【発明の実施の形態】
以下、図を用いて本発明の実施形態を説明する。なお、これにより本発明が限定されるものではない。
【００１３】
《第１の実施形態》
図１に、本発明の第１の実施形態にかかる記憶装置管理システムを示す。
この記憶装置管理システム２０は、ホストコンピュータ１０とＤＶＤ−ＲＡＭドライブ３０の間に介設される。記憶装置管理システム２０とホストコンピュータ１０の接続はファイバチャネル１５で行われ、記憶装置管理システム２０とＤＶＤ−ＲＡＭドライブ３０の接続はＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）２５で行われている。
【００１４】
図２に、記憶装置管理システム２０のシステム構成を示す。
記憶装置管理システム２０は、拡張ボードとしてファイバチャネルインタフェース２１０とＳＣＳＩインタフェース２２０とを備え、これらはＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス２９０に接続されている。
前記ＰＣＩバス２９０には、プログラムおよびデータの流れを制御するチップセット２８６を介して、ＣＰＵ２８０と主記憶２８４とが接続され、そのＣＰＵ２８０には２次キャッシュ２８２が接続されている。
さらに、ＰＣＩバス２９０には、ＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）コントローラ２５９およびＰＣＭＣＩＡコネクタ２５５を介して、フラッシュメモリ２５０が接続されている。
【００１５】
前記主記憶２８４は、制御プログラムを記憶すると共に、ファイバチャネルインタフェース２１０を介してホストコンピュータ１０から受け取った要求やデータを一時的に保持すると共にＳＣＳＩインタフェース２２０を介してＤＶＤ−ＲＡＭドライブ３０から受け取ったデータを一時的に保持するバッファとして利用する。
【００１６】
図３を用いて、正常時のデータの流れを説明する。
ホストコンピュータ１０が一つのブロックに対してデータの書き込みを要求すると、そのブロックのデータを記憶装置管理システム２０が受け取り、主記憶２８４内のセグメント３９０４に保持する（３００２）。
ＣＰＵ２８０は、ＤＶＤ−ＲＡＭドライブ３０から前記ブロックを含むＥＣＣブロックを読み出し、主記憶２８４に保持する（３００５）。次に、読み出したＥＣＣブロックのデータにセグメント３９０４のデータを結合し（３００７）、ＥＣＣを生成する。そして、ＥＣＣブロックのデータとＥＣＣをＤＶＤ−ＲＡＭドライブ３０に書き込む（３００９）。
【００１７】
図４を用いて、ＤＶＤ−ＲＡＭドライブ３０へのデータ書き込み時に障害が発生した場合のデータの流れを説明する。
ホストコンピュータ１０が一つのブロックに対してデータの書き込みを要求すると、そのブロックのデータを記憶装置管理システム２０が受け取り、主記憶２８４内のセグメント４９０４に保持する（４００２）。
ＣＰＵ２８０は、ＤＶＤ−ＲＡＭドライブ３０から前記ブロックを含むＥＣＣブロックを主記憶２８４に読み出し、主記憶２８４に保持する（４００５）。次に、読み出したＥＣＣブロックのデータにセグメント４９０４のデータを結合し（４００７）、ＥＣＣを生成する。そして、ＥＣＣブロックのデータとＥＣＣをＤＶＤ−ＲＡＭドライブ３０に書き込もうとする（４００９）。この時に、ＤＶＤ−ＲＡＭドライブ３０で障害が発生し（４０２０）、書き込むことができなかった場合には、主記憶２８４内のＥＣＣブロックのデータを、フラッシュメモリ２５０に書き込む（４０１０）。
以後、ホストコンピュータ１０からのデータの書き込み要求が発行されても、記憶装置管理システム２０は、データの受け取りを拒否する。また、ホストコンピュータ１０から前記ＥＣＣブロックに属するブロックのデータの読み出しが要求されたときは、対応するデータが主記憶２８４内に存在する場合はそのデータを転送し、主記憶２８４内に対応するデータが存在しない場合は、フラッシュメモリ２５０に保持したデータを転送し、ＤＶＤ−ＲＡＭドライブ３０からのデータの読み出しは行わない。
【００１８】
図５を用いて、ＤＶＤ−ＲＡＭドライブ３０からのデータ読み出し時に障害が発生した場合のデータの流れを説明する。
ホストコンピュータ１０が一つのブロックに対してデータの書き込みを要求すると、そのブロックのデータを記憶装置管理システム２０が受け取り、主記憶２８４内のセグメント５９０４に保持する（５００２）。
ＣＰＵ２８０は、ＤＶＤ−ＲＡＭドライブ３０から前記ブロックを含むＥＣＣブロックを主記憶２８４に読み出そうとする（５００５）。この時に、ＤＶＤ−ＲＡＭドライブ３０で障害が発生し（５００６）、前記ＥＣＣブロックのデータを読み出すことができないと、主記憶２８４内のセグメント５９０４のデータをフラッシュメモリ２５０に書き込む（５０１０）。
以後、ホストコンピュータ１０からのデータの書き込み要求が発行されても、記憶装置管理システム２０は、データの受け取りを拒否する。また、ホストコンピュータ１０から前記ブロックのデータの読み出しを要求されたときは、対応するデータが主記憶２８４内に存在する場合はそのデータを転送し、主記憶２８４内に対応するデータが存在しない場合は、フラッシュメモリ２５０に保持したデータを転送し、ＤＶＤ−ＲＡＭドライブ３０からのデータの読み出しは行わない。
【００１９】
ＤＶＤ−ＲＡＭドライブ３０で発生した障害が、ＤＶＤ−ＲＡＭ媒体以外の障害であり、ＤＶＤ−ＲＡＭ媒体には障害がない場合、障害の発生したＤＶＤ−ＲＡＭドライブ３０内のＤＶＤ−ＲＡＭ媒体を取り出し、別の記憶装置管理システム（２０）に接続されたＤＶＤ−ＲＡＭドライブ（３０）に挿入する。さらに、障害の発生したＤＶＤ−ＲＡＭドライブ３０を接続していた記憶装置管理システム２０からフラッシュメモリ２５０を外し、前記ＤＶＤ−ＲＡＭ媒体を挿入した記憶装置管理システム（２０）にフラッシュメモリ２５０を接続する。この状態で記憶装置管理システム（２０）を起動すると、ＣＰＵ（２８０）はフラッシュメモリ２５０内にデータが保持されているか判定し、データが保持されている場合には、そのデータを前記ＤＶＤ−ＲＡＭ媒体に書き込む。すなわち、そのデータのブロックを含むＥＣＣブロックのデータをＤＶＤ−ＲＡＭドライブ（３０）から読み出し、フラッシュメモリ２５０内のデータを結合し、ＥＣＣを生成し、前記ＥＣＣブロックのデータとＥＣＣをＤＶＤ−ＲＡＭドライブ（３０）に書き込む。
このように、フラッシュメモリ２５０とＤＶＤ−ＲＡＭ媒体とを他の記憶装置管理システム（２０）とＤＶＤ−ＲＡＭドライブ（３０）に移せば、データを元のＤＶＤ−ＲＡＭ媒体上に回復できる。
【００２０】
上記第１の実施形態では、主記憶２８４内にＥＣＣグループ２面分（ホストコンピュータ１０からのデータ受け取り用とＤＶＤ−ＲＡＭドライブ３０からのデータ読み出し及び結合用）のバッファを用いたが、主記憶２８４内に複数の領域を設けて、ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）等のキャッシュアルゴリズムを併用してデータを管理することで、ＤＶＤ−ＲＡＭドライブ３０に対する読み出しおよび書き込み回数を削減し、ホストコンピュータ１０からの処理要求に対してより高速に対応できるようにしてもよい。なお、複数の領域を設けた場合、ＤＶＤ−ＲＡＭドライブ３０に未書き込みの多くのデータが主記憶２８４に存在するため、これを退避できるだけの十分な容量のフラッシュメモリ２５０を用いることが望ましい。
【００２１】
フラッシュメモリ２５０を使用した場合、記憶装置管理システム２０を含むシステム全体が停電などの障害に遭ったとき、フラッシュメモリ２５０へのデータの退避を実施できず、データが失われることがある。
そこで、図２１に示すように、電池付ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２５１を、図２のフラッシュメモリ２５０に代えて使用してもよい。この場合、主記憶２８４内ではなく、電池付ＳＲＡＭ２５１内に前記バッファを設ける。これによって、システム全体が停電などの障害に遭ったときでも、データを保持しつづけることができる。障害等からの復旧後、記憶装置管理システム２０が起動すると、ＣＰＵ２８０は、電池付ＳＲＡＭ２５１内にデータが保持されているか判定し、保持されていた場合には、そのデータを前記ＤＶＤ−ＲＡＭ媒体に書き込む。
【００２２】
また、図２２に示すように、無停止電源装置２９９から記憶装置管理システム２０に電源を供給してもよい。これによって、システム全体が停電などの障害に遭ったときでも、主記憶２８４内のデータをフラッシュメモリ２５０に退避することができる。
【００２３】
以上の第１の実施形態によれば、ＤＶＤ−ＲＡＭドライブ３０へのデータの書き込みが失敗した場合でも、ＥＣＣブロックの全データが、フラッシュメモリ２５０または電池付ＳＲＡＭ２５１に保持されているので、ＤＶＤ−ＲＡＭドライブ３０での障害に伴うＥＣＣブロックの全データの消失を防ぐことができる。
【００２４】
《第２の実施形態》
図６に、本発明の第２の実施形態にかかる記憶装置管理システムを示す。
この記憶装置管理システム２１は、ホストコンピュータ１０に接続されたチェンジャ装置４０内に組み込まれている。
チェンジャ装置４０は、記憶装置管理システム２１と、複数のＤＶＤ−ＲＡＭドライブ３０と、ＤＶＤ−ＲＡＭ媒体を保持する複数の格納庫４２０と、それら格納庫４２０とＤＶＤ−ＲＡＭドライブ３０の間でＤＶＤ−ＲＡＭ媒体を搬送するメディア搬送ユニット４５０と、そのメディア搬送ユニット４５０を制御するロボット制御回路４１０とを具備している。
【００２５】
ホストコンピュータ１０と記憶装置管理システム２１はファイバチャネル１５で接続され、記憶装置管理システム２１とＤＶＤ−ＲＡＭドライブ３０はＳＣＳＩ２５で接続され、記憶装置管理システム２１とロボット制御回路４１０はＲＳ２３２Ｃインタフェース４１１で接続されている。
【００２６】
記憶装置管理システム２１がロボット制御回路４１０にＤＶＤ−ＲＡＭ媒体の搬送を指示すると、ロボット制御回路４１０は、格納庫４２０からＤＶＤ−ＲＡＭ媒体をＤＶＤ−ＲＡＭドライブ３０に搬送したり、ＤＶＤ−ＲＡＭドライブ３０内のＤＶＤ−ＲＡＭ媒体を格納庫４２０に戻すように、メディア搬送ユニット４５０を制御する。
【００２７】
図７に、記憶装置管理システム２１のシステム構成を示す。
この記憶装置管理システム２１は、第１の実施形態で示した記憶装置管理システム２０と基本的に同じ構成であり、データの書き込みや障害時のデータの保持の動作は第１の実施形態で説明したとおりである。それに加えて、ＣＰＵ２８０は、ホストコンピュータ１０からのＤＶＤ−ＲＡＭ媒体の搬送要求を受け取り、ロボット制御インタフェース２４０を介してロボット制御回路４１０に指示し、ＤＶＤ−ＲＡＭ媒体の搬送を実行する。
【００２８】
上記第２の実施形態においても、第１の実施形態と同様に、キャッシュアルゴリズムを併用したり、電池付ＳＲＡＭを用いたり、無停止電源装置を使用してもよい。
【００２９】
以上の第２の実施形態によれば、第１の実施形態の効果に加えて、記憶装置管理システム２１をチェンジャ装置４０の一部として実現することで、記憶装置管理システム２１の実施コストを低減することができる。
【００３０】
《第３の実施形態》
図８に、本発明の第３の実施形態にかかる記憶装置管理システムを示す。
この記憶装置管理システム２２は、ホストコンピュータ１０と４台のチェンジャ装置８０の間に接続されている。ホストコンピュータ１０と記憶装置管理システム２２はファイバチャネル１５で接続し、記憶装置管理システム２２とチェンジャ装置８０はＳＣＳＩ２５で接続している。
【００３１】
図９に、チェンジャ装置８０の構成を示す。
このチェンジャ装置８０は、ＤＶＤ−ＲＡＭ媒体を保持する複数の格納庫４２０と、それら格納庫４２０とＤＶＤ−ＲＡＭドライブ３０の間でＤＶＤ−ＲＡＭ媒体を搬送するメディア搬送ユニット４５０と、そのメディア搬送ユニット４５０を制御するロボット制御回路４１０と、記憶装置管理システム２２からのＤＶＤ−ＲＡＭ媒体の搬送要求を受け取ってロボット制御回路４１０への命令に変換するチェンジャＳＣＳＩインタフェース４０５とを具備している。
チェンジャ装置８０内のＤＶＤ−ＲＡＭドライブ３０は、ＳＣＳＩ２５で、記憶装置管理システム２２に接続している。
【００３２】
図１０に、記憶装置管理システム２２のシステム構成を示す。
この記憶装置管理システム２２は、第１の実施形態で示した記憶装置管理システム２０と基本的に同じ構成であるが、それに加えて、４台のチェンジャ装置８０にそれぞれ接続するためのＳＣＳＩインタフェース２２０を４つ具備している。これにより、４台のチェンジャ装置８０内の各ＤＶＤ−ＲＡＭドライブ３０を組み合わせて、ＲＡＩＤ構成を実現する。すなわち、４台のＤＶＤ−ＲＡＭドライブ３０のうち３台をデータ格納ドライブとし、１台をＲＡＩＤにおけるパリティ格納ドライブとする。また、ＣＰＵ２８０は、ＲＡＩＤ処理を実現するため、データを３台のデータ格納ドライブに分散するデータ分散モジュールと、３台のデータ格納ドライブに分散したデータからパリティを生成するパリティ生成モジュールと、ホストコンピュータ１０から読み出し要求があったときに３台のデータ格納ドライブから読み出したデータを集めてホストコンピュータ１０に転送するデータ集合モジュールと、１台のデータ格納ドライブが故障したときに残りの２台のデータ格納ドライブのデータとパリティ格納ドライブのパリティから故障したデータ格納ドライブのデータを復元するデータ復元モジュールとを実装している。
【００３３】
図１１を用いて、正常時のデータの流れを説明する。
ホストコンピュータ１０が一つの論理ブロックに対するデータの書き込みを記憶装置管理システム２２に要求すると、ＣＰＵ２８０のデータ分散モジュールが、前記データに対応するＤＶＤ−ＲＡＭドライブと当該ＤＶＤ−ＲＡＭドライブにおける物理ブロックを算出し、ホストコンピュータ１０からデータを受け取り、主記憶２８４内のセグメント１１９３６に保持する（１１００２）。次に、ＣＰＵ２８０は、前記物理ブロックを含むＥＣＣブロックのデータを前記データに対応するＤＶＤ−ＲＡＭドライブ３０から読み出す（１１０２３）と共に、そのＥＣＣブロックを含むＲＡＩＤグループのデータ（一つのパリティを生成するのに使用する一群のＥＣＣブロックのデータ）を他のＤＶＤ−ＲＡＭドライブ３０から主記憶２８４に読み出す（１１０２１，１１０２２）。次に、セグメント１１９３６のデータを、対応するＤＶＤ−ＲＡＭドライブ３０から読み出したデータに結合する（１１０７０）。そして、ＥＣＣを生成し、新たなＥＣＣブロックとする。次に、ＣＰＵ２８０のパリティ生成モジュールが、新たなＥＣＣブロックと他のデータを用いてパリティを生成する。次に、新たなＥＣＣブロックのデータを、対応するデータ格納ドライブに書き込む（１１０８３）と共に、パリティをパリティ格納ドライブに書き込む（１１０８４）。
【００３４】
図１２〜図１３を用いて、１台のＤＶＤ−ＲＡＭドライブ３０へのデータの書き込み時に障害が発生した場合のデータの流れを説明する。
図１２において、ホストコンピュータ１０が一つの論理ブロックに対するデータの書き込みを記憶装置管理システム２２に要求すると、ＣＰＵ２８０のデータ分散モジュールが、前記データに対応するＤＶＤ−ＲＡＭドライブと当該ＤＶＤ−ＲＡＭドライブにおける物理ブロックを算出し、ホストコンピュータ１０からデータを受け取り、主記憶２８４内のセグメント１２９３６に保持する（１２００２）。次に、ＣＰＵ２８０は、前記物理ブロックを含むＥＣＣブロックのデータを前記データに対応するＤＶＤ−ＲＡＭドライブ３０から読み出す（１２０２３）と共に、そのＥＣＣブロックを含むＲＡＩＤグループのデータを他のＤＶＤ−ＲＡＭドライブ３０から主記憶２８４に読み出す（１２０２１，１２０２２）。次に、セグメント１２９３６のデータを、対応するＤＶＤ−ＲＡＭドライブ３０から読み出したデータに結合する（１２０７０）。そして、ＥＣＣを生成し、新たなＥＣＣブロックとする。次に、ＣＰＵ２８０のパリティ生成モジュールが、新たなＥＣＣブロックと他のデータを用いてパリティを生成する。次に、新たなＥＣＣブロックのデータを、対応するデータ格納ドライブに書き込もうとする（１２０８３）と共に、パリティをパリティ格納ドライブに書き込もうとする（１２０８４）。この時、データを書き込もうとしたデータ格納ドライブで障害が発生し（１２００６）、書き込むことができなかったとする。
【００３５】
すると、図１３に示すように、書き込むことができなかった新たなＥＣＣブロックのデータを、他のすべてのＤＶＤ−ＲＡＭドライブ３０の障害データ保持領域に書き込む（１３０１１，１３０１２，１３０１４）。これらの障害データ保持領域は、通常のデータもしくはパリティを書き込む領域とは別に設けた特別な領域である。
以後、ホストコンピュータ１０からデータの書き込みが要求されても、記憶装置管理システム２２は、データの受け取りを拒否する。また、ホストコンピュータ１０から書き込むことができなかった新たなＥＣＣブロックのデータの読み出しを要求された場合には、そのデータが主記憶２８４内に存在すればそれを転送し、主記憶２８４内に対応するデータが存在しないなら障害データ保持領域に保持しておいた当該データを読み出して転送し、障害を発生したデータ格納ドライブからのデータの読み出しは行わない。
【００３６】
図１４を用いて、全てのＤＶＤ−ＲＡＭドライブ３０が使用できなくなった場合のデータの流れを説明する。
全てのＤＶＤ−ＲＡＭドライブ３０が使用できなくなった場合、書き込むことができなかった新たなＥＣＣブロックのデータの障害データ保持領域への書き込みも失敗する（１４０１１，１４０１２，１４０１４）。そこで、ＣＰＵ２８０は、書き込むことができなかった新たなＥＣＣブロックのデータを、フラッシュメモリ２５０に退避する（１４０５０）。
以後、ホストコンピュータ１０からデータの書き込みが要求されても、記憶装置管理システム２２は、データの受け取りを拒否する。また、ホストコンピュータ１０から、書き込むことができなかった新たなＥＣＣブロックのデータの読みしを要求された場合には、そのデータが主記憶２８４内に存在すればそれを転送し、主記憶２８４内に対応するデータが存在しないならフラッシュメモリ２５０に退避しておいた当該データを読み出して転送し、障害を発生したデータ格納ドライブからのデータの読み出しは行わない。
【００３７】
上記第３の実施形態においても、第１の実施形態と同様に、キャッシュアルゴリズムを併用したり、電池付ＳＲＡＭを用いたり、無停止電源装置を使用してもよい。
【００３８】
以上の第３の実施形態によれば、ＲＡＩＤ構成をとる場合においても、第１の実施形態の効果を得ることができる。
【００３９】
《第４の実施形態》
図１５に、本発明の第４の実施形態にかかる記憶装置管理システムを示す。
この記憶装置管理システムは、ＤＶＤ−ＲＡＭドライブ３０をＳＣＳＩ２５で接続したホストコンピュータ１０内の記憶装置管理デバイスドライバ９０として実現されている。
この記憶装置管理デバイスドライバ９０の制御下に、ＤＶＤ−ＲＡＭドライブ３０と、ＰＣＭＣＩＡコネクタ２５５およびフラッシュメモリ２５０を置く。
【００４０】
図１６に、記憶装置管理デバイスドライバ９０の内部構成を示す。
記憶装置管理デバイスドライバ９０は、ホストコンピュータ１０のファイルシステムソフトウエア（図１７の１１）とのインタフェースを実現するファイルシステムインタフェースソフトウエアモジュール９１０と、ホストコンピュータ１０内の主記憶に設けた２面のバッファ９５１と９５２を管理するバッファ制御ソフトウエアモジュール９２０と、ＤＶＤ−ＲＡＭドライブ３０を制御するＤＶＤ−ＲＡＭドライブ制御ソフトウエアモジュール９６０と、ＳＣＳＩインタフェースを制御するＳＣＳＩインタフェース制御ソフトウエアモジュール９７０と、フラッシュメモリ２５０を制御するフラッシュメモリ制御ソフトウエアモジュール９８０とを具備している。
【００４１】
図１７を用いて、正常時のデータの流れを説明する。
ホストコンピュータ１０のファイルシステムソフトウエア１１が一つのブロックのデータの書き込みを要求すると、ファイルシステムインタフェースソフトウエアモジュール９１０がそのデータを受け取り（１７００２）、バッファ９５１内のセグメント１７９０４に保持する（１７００５）。バッファ制御ソフトウエアモジュール９２０は、ＤＶＤ−ＲＡＭドライブ制御ソフトウエアモジュール９６０とＳＣＳＩインタフェース制御ソフトウエアモジュール９７０を介して、ＤＶＤ−ＲＡＭドライブ３０から前記ブロックを含むＥＣＣブロックをバッファ９５２に読み出す（１７００６）。次に、読み出したＥＣＣブロックのデータにセグメント１７９０４のデータを結合する（１７００７）。次いで、ＥＣＣブロックのデータとＥＣＣをＤＶＤ−ＲＡＭドライブ３０に書き込む（１７０１０）。
【００４２】
図１８を用いて、ＤＶＤ−ＲＡＭドライブ３０への書き込み時に障害が発生した場合を説明する。
上記ＤＶＤ−ＲＡＭドライブ３０への書き込み（１７０１０）時に障害が発生し、データを書き込むことができなかった場合、バッファ制御ソフトウエアモジュール９２０は、フラッシュメモリ制御ソフトウエアモジュール９８０を介して、バッファ９５２内のＥＣＣブロックのデータをフラッシュメモリ２５０に書き込む（１８０３０）。
以後、ホストコンピュータ１０のファイルシステムソフトウエア１１からデータの書き込み要求が発行されても、バッファ制御ソフトウエアモジュール９２０は、データの受け取りを拒否する。また、ホストコンピュータ１０のファイルシステムソフトウエア１１から前記ＥＣＣブロック内のブロックのデータの読み出しを要求されたときには、そのデータがバッファ９５２内に存在する場合はそのデータを転送し、バッファ９５２内に存在しない場合はフラッシュメモリ２５０に保持したデータを転送し、ＤＶＤ−ＲＡＭドライブ３０からのデータの読み出しは行わない。
【００４３】
上記第４の実施形態においても、第１の実施形態と同様に、キャッシュアルゴリズムを併用したり、電池付ＳＲＡＭを用いたり、無停止電源装置を使用してもよい。
【００４４】
以上の第４の実施形態によれば、ホストコンピュータ１０内に記憶装置管理デバイスドライバ９０を設けるので、簡単な構成で、第１の実施形態の効果を得ることができる。
【００４５】
【発明の効果】
本発明の記憶装置管理方法および記憶装置管理システムによれば、冗長データ生成単位より小さい書き込みデータを情報処理装置から受け取り、冗長データ生成単位に不足するデータを記憶装置から読み出し、冗長データ生成単位にデータを揃えてから冗長データを生成し、前記記憶装置に前記データと冗長データとを書き込む時に、障害が発生しても、前記冗長データ生成単位に揃えたデータを全て消失しないよう保証できる。
【図面の簡単な説明】
【図１】第１の実施形態における記憶装置管理システムの接続を示す図である。
【図２】第１の実施形態における記憶装置管理システムの内部構成を示す図である。
【図３】第１の実施形態における正常時のデータの流れを示す図である。
【図４】第１の実施形態におけるＤＶＤ−ＲＡＭドライブでの書き込み障害による書き込み失敗時のデータの流れを示す図である。
【図５】第１の実施形態におけるＤＶＤ−ＲＡＭドライブでの読み出し障害による書き込み失敗時のデータの流れを示す図である。
【図６】第２の実施形態における記憶装置管理システムの接続を示す図である。
【図７】第２の実施形態における記憶装置管理システムの内部構成を示す図である。
【図８】第３の実施形態における記憶装置管理システムの接続を示す図である。
【図９】第３の実施形態におけるチェンジャ装置の内部構成を示す図である。
【図１０】第３の実施形態における記憶装置管理システムの内部構成を示す図である。
【図１１】第３の実施形態における正常時のデータの流れを示す図である。
【図１２】第３の実施形態における１台のＤＶＤ−ＲＡＭドライブへの書き込み障害による書き込み失敗時のデータの流れの前半を示す図である。
【図１３】第３の実施形態における１台のＤＶＤ−ＲＡＭドライブへの書き込み障害による書き込み失敗時のデータの流れの後半を示す図である。
【図１４】第３の実施形態における全てのＤＶＤ−ＲＡＭドライブへの書き込み障害による書き込み失敗時のデータの流れを示す図である。
【図１５】第４の実施形態における記憶装置管理システム（デバイスドライバ）の接続を示す図である。
【図１６】第４の実施形態における記憶装置管理システム（デバイスドライバ）の内部構成を示す図である。
【図１７】第４の実施形態における正常時のデータの流れを示す図である。
【図１８】第４の実施形態におけるＤＶＤ−ＲＡＭドライブへの書き込み障害による書き込み失敗時のデータの流れを示す図である。
【図１９】ＤＶＤ−ＲＡＭドライブにおけるデータの管理単位（ブロック）とＥＣＣの生成単位（ＥＣＣブロック）を示す図である。
【図２０】従来のＤＶＤ−ＲＡＭ装置におけるデータの流れを示す図である。
【図２１】第１の実施形態の記憶装置管理システムの第１の変形例の内部構成を示す図である。
【図２２】第１の実施形態の記憶装置管理システムの第２の変形例の構成を示す図である。
【符号の説明】
１０…ホストコンピュータ，１１…ファイルシステムソフトウエア，１５…ファイバチャネル，２０…記憶装置管理システム，２１…記憶装置管理システム，２２…記憶装置管理システム，２５…ＳＣＳＩ，３０…ＤＶＤ−ＲＡＭドライブ，３１…ＤＶＤ−ＲＡＭ装置，４０…チェンジャ装置，８０…チェンジャ装置，９０…記憶装置管理デバイスドライバ，２１０…ファイバチャネルインタフェース，２２０…ＳＣＳＩインタフェース，２４０…ロボット制御インタフェース，２５０…フラッシュメモリ，２５１…電池付ＳＲＡＭ，２５５…ＰＣＭＣＩＡコネクタ，２５９…ＰＣＭＣＩＡコントローラ，２８０…ＣＰＵ，２８２…２次キャッシュ，２８４…主記憶，２８６…チップセット，２９９…無停止電源装置，４０５…チェンジャＳＣＳＩインタフェース，４１０…ロボット制御回路，４２０…格納庫，４５０…メディア搬送ユニット，９１０…ファイルシステムインタフェースコントローラ，９２０…バッファ制御ソフトウエアモジュール，９５１…バッファ，９５２…バッファ，９６０…ＤＶＤ−ＲＡＭドライブ制御ソフトウエアモジュール，９７０…ＳＣＳＩインタフェース制御ソフトウエアモジュール，９８０…フラッシュメモリ制御ソフトウエアモジュール。
【図１】
0003616985.tif 000002
【図２】
0003616985.tif 000003
【図３】
0003616985.tif 000004
【図４】
0003616985.tif 000005
【図５】
0003616985.tif 000006
【図６】
0003616985.tif 000007
【図７】
0003616985.tif 000008
【図８】
0003616985.tif 000009
【図９】
0003616985.tif 000010
【図１０】
0003616985.tif 000011
【図１１】
0003616985.tif 000012
【図１２】
0003616985.tif 000013
【図１３】
0003616985.tif 000014
【図１４】
0003616985.tif 000015
【図１５】
0003616985.tif 000016
【図１６】
0003616985.tif 000017
【図１７】
0003616985.tif 000018
【図１８】
0003616985.tif 000019
【図１９】
0003616985.tif 000020
【図２０】
0003616985.tif 000021
【図２１】
0003616985.tif 000022
【図２２】
0003616985.tif 000023