【手続補正書】
【提出日】平成19年5月25日(2007.5.25)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】  各ファイルシステムがひとつ以上の記憶ブロックにあるデータを格納できるようになっていて、データを転送元のファイルシステムから転送先のファイルシステムへ転送するコンピュータ制御方法であって、
イメージストリームを、第２の記憶ブロック配置、前記第２の記憶ブロック配置とは異なる第１の記憶ブロック配置、及び、ひとつ以上のブロック番号（ＢＮ）ポインタを含む前記データに従って、前記転送先のファイルシステムへ書き込むステップと、
前記第２の記憶ブロック配置に従って、前記転送先のファイルシステムの前記記憶ブロックにある前記ＢＮポインタをスウィズルするステップとを含み、
前記転送元のファイルシステムと前記転送先のファイルシステムは、両ファイルシステム間に矛盾がないことを特徴とするコンピュータ制御方法。
【請求項２】  前記スウィズルするステップは、どの前記記憶ブロックがスウィズルするかを判定する少なくともひとつのブロックタイプビットに対応することを特徴とする請求項１に記載されたコンピュータの制御方法。
【請求項３】  前記ＢＮポインタのぞれぞれは、ボリュームブロック番号空間内にあることを特徴とする請求項１に記載されたコンピュータの制御方法。
【請求項４】  前記イメージストリームを生成するために、前記第１の記憶ブロックに従って、転送元ファイルシステムから前記データを読み出すステップを更に含むことを特徴とする請求項１に記載されたコンピュータの制御方法。
【請求項５】  前記読み出すステップは、前記イメージストリームにある第１のブロックリストを含むステップを更に含むことを特徴とする請求項４に記載されたコンピュータの制御方法。
【請求項６】  前記読み出すステップは、前記イメージストリームにある第２のブロックリストを含むステップを更に含むことを特徴とする請求項４に記載されたコンピュータの制御方法。
【請求項７】  前記読み出すステップは、通常形式ブロックリストに従って、前記イメージストリームを生成することを更に含むことを特徴とする請求項４に記載されたコンピュータの制御方法。
【請求項８】  前記スウィズルするステップは、前記イメージストリームが前記転送先のファイルシステムへ書き込まれた後に、実行されることを特徴とする請求項１に記載されたコンピュータの制御方法。
【請求項９】  前記イメージストリームを書き込むステップは、
ストライプバンドの第１のセットにある前記ＢＮポインタを含む前記記憶ブロックを書き込むステップと、
ストライプバンドの第２のセットにある前記ＢＮポインタを含まない前記記憶ブロックを書き込むステップと、
を更に含むことを特徴とする請求項８に記載されたコンピュータの制御方法。
【請求項１０】  前記スウィズルするステップは、
スウィズリングのステップの進行を識別することに関係する情報をログ記録するステップと、
前記記憶ブロックの全てを更新する以前にスウィズルするステップを終了するステップと、
ログ記録するステップによりログ化された前記情報を用いて、スウィズルするステップを再開するステップと、
を更に含むことを特徴とする請求項１に記載されたコンピュータの制御方法。
【請求項１１】  前記スウィズルするステップは、前記イメージストリームが前記転送先のファイルシステムへ書き込まれている間に実行されることを特徴とする請求項１に記載されたコンピュータの制御方法。
【請求項１２】  第１のブロックリストにある各エントリは、少なくともひとつのゴブに相当することを特徴とする請求項１に記載されたコンピュータの制御方法。
【請求項１３】  第１のブロックリストにある各エントリは、少なくとも前記記憶ブロックのうちのひとつに相当することを特徴とする請求項１に記載されたコンピュータの制御方法。
【請求項１４】  前記転送元のファイルシステムと転送先のファイルシステムは同じファイルシステムであることを特徴とする請求項１に記載されたコンピュータの制御方法。
【請求項１５】  中央処理ユニット（ＣＰＵ）と、各ファイルシステムがひとつ以上の記憶ブロックにある前記データを格納できるようになっていて、転送元ファイルシステムから転送先ファイルシステムへデータを転送する前記ＣＰＵに組み合わされたメモリとから構成される装置であって、
第２の記憶ブロック配置、前記第２の記憶ブロック配置とは異なる第１の記憶ブロック配置、および、ひとつ以上のブロック番号（ＢＮ）ポインタを含む前記データに従って、イメージストリームを前記転送先ファイルシステムに書き込むために構成されたイメージストリーム書き込み機構と、
前記第２の記憶ブロック配置に従って、前記転送先のファイルシステムの前記記憶ブロックにある前記ＢＮポインタをスウィズルするスウィズル機構とを含み、
前記転送元のファイルシステムと前記転送先のファイルシステムは、両ファイルシステム間に矛盾がないことを特徴とする装置。
【請求項１６】  前記ＢＮポインタのそれぞれは、ボリュームブロック番号空間内にあることを特徴とする請求項１５に記載された装置。
【請求項１７】  前記スウィズル機構は、どの前記記憶ブロックがスウィズルするか判定する少なくともひとつのブロックタイプビットに更に対応することを特徴とする請求項１５に記載された装置。
【請求項１８】  前記イメージストリームを生成するための前記第１の記憶ブロックに従って、前記転送元ファイルシステムから前記データを読込むために構成されたイメージストリーム生成機構を更に含むことを特徴とする請求項１５に記載された装置。
【請求項１９】  前記イメージストリーム生成機構は、前記イメージストリームと共に利用するためのブロックリストを生成するブロックリスト生成機構を更に含むことを特徴とする請求項１８に記載された装置。
【請求項２０】  前記イメージストリーム生成機構は、前記イメージストリーム内にある前記ブロックリストを含むことを特徴とする請求項１９に記載された装置。
【請求項２１】  前記ブロックリストは、通常形式ブロックリストであることを特徴とする請求項１９に記載された装置。
【請求項２２】  前記スウィズル機構は、イメージストリーム書き込み機構により前記イメージストリームが前記転送先のファイルシステムへ書き込まれた後に操作することを特徴とする請求項１５に記載された装置。
【請求項２３】  前記イメージストリーム書き込み機構は、
ストライプバンドの第１のセットにある前記ＢＮポインタを含む前記記憶ブロックを書き込むＢＮブロック書き込み機構と、
ストライプバンドの第２のセットにある前記ＢＮポインタを含まない前記記憶ブロックを書き込むデータブロック書き込み機構と、
を更に含むことを特徴とする請求項２２に記載された装置。
【請求項２４】  前記スウィズル機構は、
スウィズル機構の進行を識別することに関連する情報をログ化するログ記録機構と、
ログ記録機構に対応するスウィズル機構の操作を再開するスウィズル再開機構と、
を更に含むことを特徴とする請求項１５に記載された装置。
【請求項２５】  前記スウィズル機構は、イメージストリーム書き込み機構として、同時に操作されることを特徴とする請求項１５に記載の装置。
【請求項２６】  第１のブロックリストにある各エントリは、少なくともひとつのゴブに相当することを特徴とする請求項１５に記載された装置。
【請求項２７】  第１のブロックリストにある各エントリは、少なくとも前記記憶ブロックのうちのひとつであることを特徴とする請求項１５に記載された装置。
【請求項２８】  前記転送元のファイルシステムと転送先のファイルシステムは、同じファイルシステムであることを特徴とする請求項１５に記載された装置。
【請求項２９】  コンピュータ制御システムであって、少なくともひとつの中央処理ユニット（ＣＰＵ）と、各ファイルシステムがひとつ以上の記憶ブロックにある前記データを格納できるようになっていて、データを転送元のファイルシステムから転送先のファイルシステムへ転送する前記ＣＰＵに組み合わされたメモリとから構成され、該システムは、
イメージストリームを生成するための第１の記憶ブロック、ひとつ以上のブロック番号（ＢＮ）を含んでいる前記データ、前記少なくともひとつのＣＰＵのひとつ以上を用いるイメージストリーム生成機構に従って、前記転送元のファイルシステムから前記データを読み出すイメージストリーム生成機構と、
第２の記憶ブロック配置、前記第２の記憶配置とは異なる前記第１の記憶ブロック配置、前記少なくともひとつのＣＰＵのひとつ以上を用いるイメージストリーム書き込み機構に従って、前記イメージストリームを前記転送先ファイルシステムへ書き込むイメージストリーム書き込み機構と、
前記第２の記憶ブロック配置、前記少なくともひとつのＣＰＵのひとつ以上を用いるスウィズル機構に従って、前記転送先のファイルシステムにある前記ＢＮポインタをスウィズルするスウィズル機構とを含み、
前記転送元のファイルシステムと前記転送先のファイルシステムは、両ファイルシステム間に矛盾がないことを特徴とするコンピュータ制御システム。
【請求項３０】  前記機構のそれぞれは、前記少なくともひとつのＣＰＵのひとつ以上の同じＣＰＵを用いることを特徴とする請求項２９に記載されたコンピュータ制御システム。
【請求項３１】  機構のうちのひとつは、他の機構のうちのひとつ以上により用いられたＣＰＵとは異なる、前記少なくともひとつのＣＰＵのひとつ以上のＣＰＵを用いることを特徴とする請求項２９に記載されたコンピュータ制御システム。
【請求項３２】  第１のブロックリストにある各エントリは、少なくともひとつのゴブに相当することを特徴とする請求項２９に記載されたコンピュータ制御システム。
【請求項３３】  第１のブロックリストにある各エントリは、少なくとも前記記憶ブロックのうちの少なくともひとつに相当することを特徴とする請求項２９に記載されたコンピュータ制御システム。
【請求項３４】  前記転送元のファイルシステムと転送先のファイルシステムは、同じファイルシステムであることを特徴とする請求項２９に記載されたコンピュータ制御システム。
【請求項３５】  転送元と転送先のファイルシステムが、それぞれ、ひとつ以上の記憶ブロックにデータを格納できるようになっており、転送元のファイルシステムから転送先のファイルシステムへ前記データの転送を実行させるプログラムであって、
第２の記憶ブロック配置、前記第２の記憶ブロックとは異なる第１の記憶ブロック配置、および、ひとつ以上のブロック番号（ＢＮ）ポインタを含んでいる前記データに従って、イメージストリームを前記転送先のファイルシステムへ書き込むステップと、
前記第２の記憶ブロック配置に従って、前記転送先のファイルシステムの前記記憶ブロックにあるＢＮポインタをスウィズルするスウィズルステップと
をコンピュータに実行させるためのプログラムであって、
前記転送元のファイルシステムと前記転送先のファイルシステムは、両ファイルシステム間に矛盾がないことを特徴とするプログラム。
【請求項３６】  前記スウィズルステップは、さらに、いずれの記憶ブロックをスウィズルするかを確定する少なくともひとつのブロックタイプビットに応答して行われることを特徴とする請求項３５に記載されたプログラム。
【請求項３７】  さらに、前記イメージストリームを生成する前記第１の記憶ブロック配置に従って、前記転送元のファイルシステムから前記データを読込むステップを含んでいることを特徴とする請求項３５に記載されたプログラム。
【請求項３８】  さらに、前記イメージストリームと共に利用するための第1のブロックリストを生成するステップを含むことを特徴とする請求項３７に記載されたプログラム。
【請求項３９】  前記第１のブロックリストは前記イメージストリームの中に含まれることを特徴とする請求項３８に記載されたプログラム。
【請求項４０】  前記第１のブロックリストは、通常形式ブロックリストであることを特徴とする請求項３８に記載されたプログラム。
【請求項４１】  前記スウィズルステップは、前記イメージストリームが前記転送先のファイルシステムへ書き込まれた後に、行われることを特徴とする請求項３５に記載されたプログラム。
【請求項４２】  前記イメージストリームを書き込む前記ステップは、さらに、
第１組のストライプバンドにある前記ＢＮポインタを含む前記記憶ブロックを書き込むステップと、
第２組のストライプバンドにある前記ＢＮポインタを含まない前記記憶ブロックに書き込むステップと、
を含むことを特徴とする請求項４１に記載されたプログラム。
【請求項４３】  前記スウィズルステップは、さらに、
スウィズルステップの進行を識別することに関連する情報をログするステップと、
前記情報のログステップに対応して、ＢＮポインタをスウィズルすることを再開させるステップと、
を含むことを特徴とする請求項３５に記載されたプログラム。
【請求項４４】  前記スウィズルステップは、前記書き込みステップと実質的に同時に行われることを特徴とする請求項３５に記載されたプログラム。
【請求項４５】  請求項３６〜４４のいずれかのプログラムを記録した、コンピュータ読み取り可能な記録媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
（発明の開示）
（発明が解決しようとする技術的課題）
ひとつの問題は、転送元のファイルシステムにある最大限に利用された記憶ブロックの全てが転送先のファイルシステムにおいて役立つわけではないので、転送先のファイルシステムが転送元のファイルシステムよりサイズが小さいときに起こり得る。もうひとつの問題は、転送元のファイルシステム上で用いられた記憶ブロックに対応する位置において、転送先のファイルシステムが利用不可能な記憶ブロックを有するときに起こり得る。転送先のファイルシステム上での記憶ブロックの編成が転送元ファイルシステム上と同じほど効率的に編成されていなので、転送元のファイルシステムのＲＡＩＤ結合構成が転送先のファイルシステムのそれと異なる場合になお一層の問題が発生する。本発明は、これらの問題に取り組んでいる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
ＲＡＩＤとは、独立したディスクの冗長配列。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
（詳細な説明）
図１は、命令が組み込まれたコンピュータ１００を示す。コンピュータ１００は、中央処理装置（ＣＰＵ）１０３、メモリセクション１０５及び入力／出力（Ｉ／Ｏ）セクション１０７が組み込まれたプロッセッサ１０１を有する。Ｉ／Ｏセクション１０７には、オペレータインターフェース１０９、第１のディスク記憶ユニット１１３、第２のディスク記憶ユニット１１４及びリムーバブル媒体ドライブユニット１１５が接続されている。リムーバブル媒体ドライブユニット１１５は、プログラム及びデータ１１９を一般的に含んでいるリムーバブル媒体１１７を読込むことが可能である。ディスク記憶ユニット１１３、１１４はディスクの配列である（例えば、ＲＡＩＤ）。コンピュータ１００は、コンピュータ１００とネットワーク１２３を接続するネットワークインタフェース１２１を含んでいる。アプリケーションプログラム１２５は、コンピュータ１００に命令のステップを実行させるメモリセクション１０５に常駐している。アプリケーションプログラム１２５は、ディスク記憶ユニットのうちのひとつ、ネットワークインターフェース１２１、リードオンリーメモリ或いは類似のデータ記憶装置からメモリセクション１０５へロードされる。いくらかの実施の形態においては、メモリセクション１０５はＮＶＲＡＭ１２７を含んでいる。オペレータインタフェース１０９は、ネットワーク、ターミナルコンセントレータ或いは他のＩ／Ｏメカニズムのようなものを介してコンピュータ１００にアクセスすることが可能である。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
スウィズリング（swizzling）は、ファイルシステム記憶ブロックが転送先のファイルシステム上の異なる記憶位置に格納されるように、ブロック番号（ＢＮ）を再マップする処理である。スウィズリングは、第１のファイルシステム上で利用されている記憶ブロックのいくらかが第２のファイルシステムの相当する記憶ブロックに転送できないとき、第１のファイルシステムから第２のファイルシステムへイメージを転送することを可能としている。第１と第２のファイルシステムとのサイズが異なるとき、第１のファイルシステム上のいくらかの記憶ブロックが第２のファイルシステム上の同じ記憶ブロックに転送できないとき（例えば、第２のファイルシステムに破損ブロックがある場合）、或いは、両ファイルシステムの結合構造がより最適なマッピングを必要とするために十分に異なるとき（例えば、ファイルシステムが一方のＲＡＩＤ記憶から異なる性質を有する他方のＲＡＩＤ記憶へ転送される場合）、このような状況が発生する（例えば、限定はされないのだが）。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
スウィズリングは、記憶ブロックが転送先のファイルシステムに書き込まれた後（遅れスウィズリング）又は、記憶ブロックが転送先のファイルシステムに書き込まれているとき（途中スウィズリング）に実施されてもよい。バンド・スウィズリングは、転送先のファイルシステムに基づくＲＡＩＤへの書き込みを最適化し、且つ再マッピングステップを最適化する遅れスウィズリングの形式である。ゴブ・スウィズリングは、単一記憶ブロックの代わりに記憶ブロックの範囲をスウィズル（swizzle）し、そして維持されているブロックマッピング情報の量を削減する。例えば、ゴブ・サイズが２５６の記憶ブロックであるならば、ゴブにある各ブロックのＢＮは、同じ方法によりスウィズルされた上位ビットを有し、ＢＮの下位８ビットは変化しないままである。これが２５６の要因によりブロックマッピング情報を削減する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
本発明の１つの態様は、転送元のファイルシステム上の記憶ブロックの記憶位置が転送先のファイルシステム上の記憶ブロックの記憶位置と異なっていることである。従って、転送元のファイルシステム上に与えられたアドレスを有する記憶ブロック内のデータが転送先のファイルシステム上の異なるアドレスを有する記憶ブロック内に格納される。このように、転送元のファイルシステムは、転送先のファイルシステムのような同じ特性を持つ必要はない。特に、これらのファイルシステムは、同じ記憶ブロックの番号、同じトラック／シリンダーレイアウト、或いは同じＲＡＩＤパラメータを持つ必要がない（限定はしないが）。実際、転送元のファイルシステム内に維持されているデータが転送先のファイルシステム上に格納することができさえすれば、転送先のファイルシステムは、転送元のファイルシステムよりサイズが小さくてもよい。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００５０
【補正方法】変更
【補正の内容】
【００５０】
図５は、「途中スウィズリング」を実行する途中スウィズリング処理５００を示す。途中スウィズリングにおいて、イメージストリームが転送先のファイルシステムへ書き込まれている間、ＢＮポインタはスウィズルされる。このタイプのスウィズリングは、全ての記憶ブロックが書き込まれた後にＢＮポインタの更新を実行する代わりに、転送先のファイルシステムへ記憶ブロックが書き込まれているときにＢＮポインタを更新する。このように、各ブロックは一度だけ書き込まれ、しばしば記憶ブロックは、フル・ＲＡＩＤ・ストライプに書き込むために配置されてもよい。途中スウィズリング処理５００は、「開始」５０１から始まり、「各ブロックの繰り返し」５０３へ処理を進める。「各ブロックの繰り返し」５０３は、最初は、記憶ブロックをファイルシステム間（第１のブロックリスト部４０５及び第２のブロックリスト部４０７）へマップするために用いられたいくらかの提供済み情報を読込み及び格納し、その後イメージストリームから各ブロックを読込む。イメージストリームから全ての記憶ブロックが読み込まれたとき、途中スウィズリング処理５００が「終了」５０５へ至って完了する。「ＢＮブロック判定」５０７は、第１のブロックリスト（又は、等価のもの）にあるブロック情報に対抗して、各記憶ブロックを検査し、その記憶ブロックにＢＮポインタが含まれているかどうかを判定する。記憶ブロックがＢＮポインタを含んでいない場合、途中スウィズリング処理５００は、転送先ファイルシステムへブロックを書き込む「ブロックの書き込み」５０９へ処理を進め、続いて「各ブロックの繰り返し」５０３へ処理を進め、追加の記憶ブロックを処理するか、或いは処理を完了する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００５８
【補正方法】変更
【補正の内容】
【００５８】
バンドスウィズリングは、記憶ブロックが初めにＲＡＩＤファイルシステムへ書き込まれる際と、ＢＮ記憶ブロックのスウィズリングの間との両方において、ＲＡＩＤの実行を最適化するためにＢＮをマップする遅れスウィズリングの形式である。バンドスウィズリングは、ＲＡＩＤストライプの交互バンドを生成する。一方のバンドのセットは、スウィズルすべき必要がないデータを含んでおり（記憶ブロック）、他方のバンドのセットは、スウィズルすべきデータを含んでいる（例えば、ｉノード（inodes）及び間接的なブロック）。このように、スウィズルされる必要がある記憶ブロックを含むストライプは、読込まれ、スウィズルされ、ストライプへ書き戻される。バンドスウィズリングは、スウィズリングが途中で完全に実施されない場合に、実行を改善するために利用される。バンドスウィズリングは、マッピングが動的に確定されなければならず、イメージストリームが完全に処理されるまで知ることができない場合に、利用される（例えば、マッピング情報がメモリに保持するには大きすぎる場合）。このように、複数のパスがスウィズリング処理を完了するために要求される。データブロックを含まないＲＡＩＤストライプへ書き込むことにより、後に続くパスがＢＮ記憶ブロックを効率的に読込むことができる。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】変更
【補正の内容】
【００５９】
図７は、ブロックをバンドセットへ分割するために用いられるバンドスウィズリング処理７００を示す。バンドスウィズリング処理７００は、「開始」７０１から始まり、「記憶ブロックの繰り返し」７０３へ処理を進める。「記憶ブロックの繰り返し」７０３は、イメージストリームにある各記憶ブロックを読込む。「ＢＮブロック判定」７０５は、各記憶ブロックを検査し、第１のブロックリスト（或いは、通常形式ブロックリスト）を利用して、そのブロックにＢＮポインタが含まれているかどうかを判定する。そのブロックにＢＮポインタが含まれていれば、バンドスウィズリング処理７００は、ストライプバンドの第１のセット（ＢＮブロック用に割り当てられた）に属するＲＡＩＤストライプへブロックを書き込む「ＢＮストライプにあるブロックの書き込み」７０７へ処理を進める。しかしながら、ブロックにＢＮポインタが含まれていなければ、バンドスウィズリング処理７００は、ＢＮポインタを含む記憶ブロックを含まないストライプバンドの第２のセットへ記憶ブロックを書き込む「ＢＮストライプがないデータの書き込み」７０９へ処理を進める。イメージストリーム内にある全ての記憶ブロックが「記憶ブロックの繰り返し」７０３により繰り返された後に、バンドスウィズリング処理７００はストライプバンドの第１のセットのそれぞれを読込む「各ＢＮストライプの繰り返し」７１１へ処理を進める。ストライプバンドの第１のセットの全てが繰り返された場合、バンドスウィズリング処理７００は、「終了」７１３へ至って処理を完了する。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００６０
【補正方法】変更
【補正の内容】
【００６０】
ストライプバンドの第１のセットのそれぞれが繰り返されるので、「各ＢＮポインタの繰り返し」７１５は、第１のブロックリストを用いて、ストライプ内にある各ＢＮポインタを繰り返す。各ポインタは、「ＢＮポインタのスウィズル」７１７によりスウィズルされ（図２で前述したように）、加えて、ＢＮへのインデックスは、ログ化されてＮＶＲＡＭへ書き込まれ、起こり得る再開を助力する。ストライプ内にある全てのＢＮポインタがスウィズルされた場合、バンドスウィズリング処理７００は、「ＢＮポインタ・ストライプバンドのログ化」７１８へ処理を進め、ＢＮポインタをスウィズルする記憶ブロックをログ化する。次に、バンドスウィズリング処理７００は、転送先のファイルシステム用の新しいＢＮポインタを含む記憶ブロックを伴って、ストライプを上書きする「ＢＮストライプの書き込み」７１９へ処理を進める。バンドスウィズリング処理７００は、「各ＢＮストライプの繰り返し」７１１へ処理を進め、他のストライプを繰り返すか、或いは処理を完了する。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００６１
【補正方法】変更
【補正の内容】
【００６１】
引き続き図８で説明するように、スウィズリング処理が再開されなければならないならば、ログ化された記憶ブロックが利用される。加えて、ログ化されたＢＮインデックスは、最後にスウィズルされたＢＮを示す。ひとたびポインタ・ストライプバンドの転送先のファイルシステムへの書き込みが成功したならば、再開するために十分な情報を維持する間に、ログ化されたポインタ・ストライプバンドはログから移動させられるか、或いは、そうでなくとも、妥当でないものとして記録される。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００６２
【補正方法】変更
【補正の内容】
【００６２】
ＢＮを含む全ての記憶ブロックを更新する以前に、スウィズリング処理が終了するならば、ＢＮのいくらかがスウィズルされており、その他はスウィズルされていない。従って、転送先のファイルシステムは、矛盾した状態にある。遅れスウィズリング処理を再開するにあたっての１つの問題は、ＢＮポインタが一度、再マップされるだけでなければならないことである。１つのアプローチは、ブロックが検証可能でファイルシステムへ書き込まれるまで、不揮発性ＲＡＭ内にあるスウィズルされたＢＮを含む記憶ブロックをログ化することである（いくらかの実施の形態（例えば、バンド移動）は、ブロック内にあるいずれのＢＮがスウィズルされたかを示すインデックスを格納する必要があってもよい）。他のもうひとつのアプローチ（バンドスウィズリング処理７００と共に利用される）は、バンド移動を利用することである。バンド移動は１つのポインタ・ストライプバンド（スウィズルバンド）から記憶ブロックを読み出し、スウィズルされたポインタ・ストライプを異なるストライプバンドへ書き出す。従って、本来のポインタ・ストライプバンド内にあるデータは、変更されない。バンド移動は、空きスウィズルバンドを初めに割り当てることにより達成される。ＢＮデータを含む第１のスウィズルバンドからのデータは、第１のスウィズルバンドにあるデータをそのままにする空きスウィズルバンドへスウィズルされる。第２のスウィズルバンドからのデータは、第１のスウィズルバンドへスウィズルされ、その処理は、空きスウィズルバンドが残っている間に、全てのスウィズルバンドがスウィズルされるまで続く。１つの実施の形態では、初めにバンド０は空きであり、ＢＮ記憶ブロックをハンド１からバンドＮに格納し、Ｎより大きいバンドにデータブロックを書き込む。スウィズリングの間、バンド１からＢＮ記憶ブロックが読込まれ、スウィズルされ、バンド１へ書き込まれる。この処理は、バンドＮからＢＮ記憶ブロックが読込まれ、スウィズルされ、そしてバンドＮ−１へ書き込まれるまで続く。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００６６
【補正方法】変更
【補正の内容】
【００６６】
ひとつの好ましい実施の形態において、転送元のファイルシステムと転送先のファイルシステムは、異なる特性を有するＲＡＩＤ装置である。本発明は、単一記憶ブロックの代わりに「ゴブ」をスウィズルすることにより、これらの装置への書き込み及び読み込み操作を最適化することができる。これが転送先のファイルシステムへのデータの書き込みを最適化する。ゴブを利用することにより、第１のブロックリスト及び第２のブロックリストのサイズが削減される。ゴブは記憶ブロックの集合体である。ゴブを定義するひとつの方法に、ＢＮの高位のビットを用いることによるものがある。しかしながら、その他の定義が用いられてもよい。記憶ブロックを転送元のファイルシステムから転送先のファイルシステムにマッピングする代わりに、ゴブ・スウィズリングが「データのゴブ」を一方のファイルシステムから他方へマップする。しばしば、転送元のファイルシステムは、記憶ブロックが各プラッター上で連続的に（起こり得るインターリービングに従って）進むように編成されている。従って、第２のプラッターが、記憶ブロックｎ＋１−２＊ｎ等を含む一方、第１のプラッターは、記憶ブロック１−ｎを含む。第１のプラッターからのデータの第１の５記憶ブロックがＲＡＩＤストライプに配置されていたならば、５プラッターＲＡＩＤ（実際のＲＡＩＤは、しばしば、パリティ及びエラー補正情報のための追加的なプラッターを有している）は、より効果的となる。このように、ＲＡＩＤストライプがそのサイズの倍数になるように、ゴブのサイズを適切に選択することにより、転送先のファイルシステムは、高い効率性でもって書き込まれる。ゴブのもうひとつの利点は、第１のブロックリスト部４０５及び第２のブロックリスト部４０７のサイズが削減されることである。ゴブは、ＢＮと共に利用される通常形式に類似するゴブ通常形式内で利用されてもよい。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００６９
【補正方法】変更
【補正の内容】
【００６９】
ゴブに基づくイメージストリーム９５０は、事前のゴブ９５１、ゴブ９５３及び後続ゴブ９５５を含む。各ゴブは、ゴブ番号（ＧＮＭ）により識別され、同数の記憶ブロックを含む（起こり得る最後のゴブを除き）。ｎ番ブロック９０１とそれより前のブロック９０３との間の境界線は、事前ゴブ９５１とゴブ９５３との間の境界線として与えられる。第１の後続ブロック９０５と第２の後続ブロック９０７との間の境界線は、ゴブ９５３と後続ゴブ９５５との間の境界線として与えられる。ゴブにあるデータが単一書き込み操作によって、ひとつ以上のＲＡＩＤストライプに書き込むことができるように、ゴブにある記憶ブロックの数は、ＲＡＩＤ装置上のデータプラッター数の倍数であることが好ましい。従って、ゴブに基づくイメージストリーム９５０にとっては、第１のブロックリストにある各エントリーは、多数の記憶ブロックを有するゴブに相当する。ＢＮに基づくイメージストリーム９００にとっては、第１のブロックリストにある各エントリーは、ひとつ以上の前記記憶ブロックに相当する。
【手続補正１６】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2003513355.tif 000001