説明

ホストおよびデータ蓄積装置間ファイル転送障害の回復

本発明の実施形態は、ホスト装置から周辺蓄積装置への失敗または中断発信データ転送操作から回復するための装置、方法、およびコンピュータ可読媒体に関する。実施形態によっては、失敗発信データ転送操作によって周辺蓄積装置が破損する前に、ホスト側で1つ以上の回復用データオブジェクトを蓄積する。ホスト装置は失敗データ転送によって周辺蓄積装置が破損した後に、周辺蓄積装置との事後結合に応じて、ホスト側に蓄積された1つ以上の回復用データオブジェクトを用いて破損した周辺蓄積装置を修復する。オプションとして、ホスト装置は中断または失敗発信データ転送操作をも復元する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ホストとデータ蓄積装置との間で失敗したファイル転送から回復する方法、装置、およびコンピュータ可読媒体に関する。
【背景技術】
【0002】
演算技術では、デジタルカメラ、音楽プレイヤ、ハンドヘルドおよびパームトップ型コンピュータ、携帯電話機に使われるUSBフラッシュドライブ(UFD)、PCカード、小型蓄積カード等の形状因子による「周辺蓄積装置」が周知である。携帯型磁気ディスクや汎用蓄積装置を兼ねる携帯型デジタル機器(音楽プレイヤ、携帯電話機)も周辺蓄積装置に含まれる。
ホストと周辺蓄積装置とのデータ転送プロセス(1つ以上のデータオブジェクトの転送プロセス)は、完了前に中断してはならない。
多くのUFD装置は、データ転送操作の完了時に視覚的表示を提供する。例えば、一部のUFD装置にはライトがあって、データ転送操作の完了時に点滅する。
【0003】
ホスト装置から周辺蓄積装置が早まって外れたり、停電やバッファの溢れが原因で、データ転送操作に失敗することが多くある。
このような事態が起きると、失敗したファイル転送の対象にあたる「目的」周辺蓄積装置に局在する「蓄積システムデータ構造」に損害がおよぶおそれがある。そのような「危険に晒される」蓄積システムデータ構造には、例えばファイルシステムテーブル(例えば、FAT32テーブル)、ディレクトリツリーデータ構造、フラッシュマッピングテーブル等があるが、これらに限定されず、いずれも「目的」周辺蓄積装置に「局在」することがある。残念ながら、そのような損害によって蓄積装置が壊れ、平均的なユーザにとって使い物にならなくなることがよくある。
【0004】
図1は、データ転送操作の失敗が起こり得るシステムのブロック図である。図1の例では、ホスト側インターフェイス20と装置側インターフェイス55(例えば、USBまたはSDインターフェイス)との通信リンク15を介してホスト装置10(例えば、パーソナルコンピュータ、PDA、携帯電話機)が「目的」周辺蓄積装置50(例えば、UFD等のフラッシュ蓄積装置、MMCまたはSDカード等のフラッシュメモリカード)へ結合する。周辺蓄積装置の蓄積領域は通常、ユーザデータ(例えば、1つ以上のファイルやその他のデータオブジェクト)を蓄積するユーザデータ蓄積領域60と、システムデータを蓄積するシステムデータ蓄積領域70という2つの蓄積領域(物理的または論理的場所)に分けられる。
【0005】
通常、周辺蓄積装置50に蓄積される蓄積システムデータは様々なデータ構造75A〜Bに整理され(これらの数は図1に見られるものと異なることがある)、例えばFAT32等のファイルシステムテーブルや、ディレクトリツリーやフラッシュマッピングテーブルを記述するデータ構造や、他の何らかのデータ構造に整理される。便宜上、蓄積システムデータ構造75A〜Bを概して蓄積システムデータ構造75と呼ぶこともある。
通常の操作過程で、例えば目的蓄積装置50でユーザデータの書き込みや消去が行われるときには、目的蓄積装置50のコントローラ(図示せず)によって1つ以上の蓄積システムデータ構造75が修正されることがある。
【0006】
図1に見られるように、ホスト装置10から目的周辺蓄積装置50にかけてデータ(例えば、1つ以上のファイルやその他のデータオブジェクト)をコピーまたは移動する試み5がなされる。このホスト装置10から蓄積装置50に至るデータ転送の試みを、ホスト装置10から蓄積装置50への「発信」装置間データ転送試行と呼ぶ。
図1の例では、データ転送管理部25によって、例えば実行時に(例えば、マイクロプロセッサ89による実行時に)発信データ転送操作を遂行する蓄積システムコード(例えば、ファイル指向蓄積システムまたはオブジェクト指向蓄積システムの蓄積システムコード)によって、装置間データ転送操作がホスト側で処理される。一つの具体例において、オペレーティングシステムコンポーネントとしてデータ転送管理部25を設ける。
【0007】
一例において、ホスト装置10から蓄積装置50へ1つのファイルをコピーする。この場合は、コピーするファイルのデータがユーザデータ領域60に書き込まれるだけでなく、システムデータ領域70にある種々のデータ構造も更新しなければならない。例えば、「新規」ファイルの存在を反映するためのディレクトリデータ構造を更新し、FATテーブルを更新し、フラッシュ管理テーブルを更新しなければならない。
1つ以上の蓄積システムデータ構造75を更新しているときにデータ転送操作が予期せず中断すると(例えば、装置が早まって脱離すること、停電、バッファの溢れ等による中断)、1つ以上の「部分的に修正された」蓄積システムデータ構造75が壊れるおそれがある。
【0008】
システムデータ領域70にある全てのシステムデータをデータ転送操作中に書き換えるのではなく、システムデータの特定部分だけを書き換えればすむ状況もある。例えば、ある特定のテーブルのコピーが目的蓄積装置50に数多く常駐し(例えば、FAT32テーブルの、必ずしも同じではない、複数のコピー)、ファイル転送操作によって1つ以上のテーブルのみが修正され、ほかのテーブルは修正されない場合がある。蓄積システムデータ構造の一部分(例えば、ファイルシステムテーブルの一部分)だけが修正され、蓄積システムデータ構造の残りの部分は修正されずに残る場合もある。さらに、同じ蓄積システムテーブルの冗長コピー(例えば、「旧」バージョンと「新規」バージョンを含む)が蓄積装置50に多数常駐する場合もある。
【0009】
図1の例では、発信データ転送5によっていくつかの蓄積システムデータ構造(蓄積システムデータ構造75A)が修正され、ほかの蓄積システムデータ構造(蓄積データ構造75B)は修正されない。図のアスタリスク記号は、このデータ構造の修正を示している。
この開示では、システムデータ領域70のうちのある特定の装置間データ転送操作のときに修正されない領域を蓄積装置50上の「クリーンロケーション」と呼ぶ。例えば、システムデータ構造75Bが常駐する領域が蓄積装置50上の「クリーンロケーション」の一例にあたる。
データ転送操作によっては、ある特定のデータ構造の一部分が修正され、ほかの部分が修正されずに残ることに理解すべきである。「修正されない」部分が常駐する領域も、装置間データ転送操作によって修正されない蓄積装置50上の「クリーンロケーション」の一例である。
【発明の概要】
【0010】
ここで初めて開示する方法は、目的周辺蓄積装置を破損させる、ホスト装置から目的周辺蓄積装置への中断発信装置間データ転送操作から回復するための方法であって、この方法は、a)目的周辺蓄積装置の破損に先立ち、データ転送操作開始要請に応じて、ホスト側にて、i)後に中断データ転送操作により破損する周辺装置常駐蓄積システムデータ構造のシステムデータと、ii)システムデータが常駐し、後に中断発信データ転送操作によって上書きされない周辺蓄積装置上クリーンロケーションのハンドルと、からなるグループから選ばれる、少なくとも1つの回復用データオブジェクトを蓄積するステップと、b)中断発信データ転送操作による周辺蓄積装置の破損後に起こるホスト装置と周辺蓄積装置との事後結合に応じて、ホスト側に蓄積された少なくとも1つの回復用データオブジェクトを使用し、破損周辺蓄積装置を修復するステップと、を含む。
【0011】
ある実施形態によると、周辺装置常駐蓄積システムデータ構造は、周辺蓄積装置のディレクトリツリーを記述する。
ある実施形態によると、周辺装置常駐蓄積システムデータ構造は、周辺蓄積装置のファイルシステムテーブルである。
ある実施形態によると、周辺装置常駐蓄積システムデータ構造は、周辺蓄積装置のフラッシュマッピングテーブルである。
ある実施形態によると、この方法は、c)中断発信装置間データ転送操作による目的周辺蓄積装置の破損に先立ち、データ転送操作開始要請に応じて、ホスト側にて、i)データ転送操作の1つ以上のデータオブジェクトの1つ以上の識別子の記述および、ii)装置間データ転送操作の周辺蓄積装置目的位置データのうちの少なくとも一方を蓄積するステップと、d)破損をきたすデータ転送操作の後、ホスト装置と周辺蓄積装置との事後結合に応じて、c)i)の記述およびc)ii)の目的位置データのうちの少なくとも一方を使用し、中断発信装置間データ転送操作を復元するステップと、をさらに含む。
ある実施形態によると、目的位置データはディレクトリパスデータを含む。
ある実施形態によると、i)少なくとも1つの回復用データオブジェクトは、周辺蓄積装置識別子に従い複数の回復用データオブジェクトにインデックスが付くホスト側インデックス付き回復用データ構造に蓄積され、ii)この方法は、c)中断データ転送操作によって周辺蓄積装置が破損した後、i)ホスト装置と周辺蓄積装置との事後結合に応じて、周辺蓄積装置の装置識別子を検出するステップと、ii)周辺蓄積装置の検出済み装置識別子をインデックスとして使用し、ホスト側インデックス付き回復用データ構造から、目的装置の、少なくとも1つの回復用データオブジェクトを回収するステップと、をさらに含む。
ある実施形態によると、i)この方法は、c)ホスト装置と周辺蓄積装置との事後結合に応じて、破損周辺蓄積装置を修復するため、ユーザ承認を催促するステップをさらに含み、ii)ステップb)の破損周辺蓄積装置の修復するステップは、ユーザ承認催促に対するユーザ承認を受け取ることを条件とする。
ある実施形態によると、ステップb)の修復するステップは、ユーザ入力をともなわずに遂行される。
【0012】
ここで初めて開示するホスト装置は、a)周辺装置と結合する装置インターフェイスと、b)装置インターフェイスを介して装置間データ転送操作を管理するデータ転送管理部と、c)回復用データ保管部であって、i)中断発信装置間データ転送操作に先立ち、すなわちA)装置インターフェイスを介してホスト装置へ結合される目的周辺装置との、B)後に結合目的周辺装置を破損させる、中断発信装置間データ転送操作に先立ち、ii)発信装置間データ転送操作の開始要請に応じて、装置インターフェイスのホスト側にて、iii)中断データ転送操作により後に破損する周辺装置常駐蓄積システムデータ構造のシステムデータと、iv)システムデータが常駐し、後に中断データ転送操作によって上書きされない周辺蓄積装置上クリーンロケーションのハンドルと、からなるグループから選ばれる、少なくとも1つの回復用データオブジェクトを蓄積するように作動する、回復用データ保管部と、d)中断発信データ転送操作による周辺蓄積装置の破損後に起こるホスト装置と周辺蓄積装置との事後結合に応じて、ホスト側に蓄積された少なくとも1つの回復用データオブジェクトを使用し、破損目的周辺蓄積装置を修復するように作動する、周辺装置修復部と、を備える。
【0013】
ある実施形態によると、システムデータ構造は、周辺蓄積装置のディレクトリツリーを記述する。
ある実施形態によると、システムデータ構造は、周辺蓄積装置のファイルシステムテーブルデータ構造である。
ある実施形態によると、システムデータ構造は、周辺蓄積装置のフラッシュ管理テーブルデータ構造である。
ある実施形態によると、ホスト装置は、e)データトランザクション用データ保管部であって、中断発信装置間データ転送操作による目的周辺蓄積装置の破損に先立ち、データ転送操作開始要請に応じて、装置インターフェイスのホスト側にて、i)データ転送操作の1つ以上のデータオブジェクトの1つ以上の識別子の記述、および、ii)装置間データ転送操作の周辺蓄積装置目的位置データのうちの少なくとも一方を蓄積するように作動する、データトランザクション用データ保管部と、f)データトランザクション復元部であって、i)破損をきたすデータ転送操作の後、ii)ホスト装置と周辺蓄積装置との事後結合に応じて、e)i)の記述およびe)ii)の目的位置データを使用し、中断発信装置間データ転送操作を復元するように作動する、データトランザクション復元部と、をさらに備える。
ある実施形態によると、目的位置データは、ディレクトリパスデータを含む。
ある実施形態によると、i)ホスト装置は、e)装置インターフェイスを介して結合する結合目的周辺装置の識別子を検出するように作動する、周辺装置識別子検出部をさらに備え、ii)回復用データ保管部は、周辺装置識別子検出部から受け取る結合目的周辺装置の識別子に従って、周辺蓄積装置識別子に従い複数の回復用データオブジェクトにインデックスが付くホスト側インデックス付き回復用データ構造に、少なくとも1つの回復用データオブジェクトを、蓄積するように作動し、iii)ホスト装置は、f)ホスト装置と周辺蓄積装置との事後結合に応じて、結合目的周辺装置の識別子をインデックスとして使用し、ホスト側インデックス付き回復用データ構造から、目的周辺装置の、少なくとも1つの回復用データオブジェクトを回収するように作動する、回復用データ回収部をさらに備える。
ある実施形態によると、i)ホスト装置は、f)ユーザインターフェイスをさらに備え、このユーザインターフェイスは、ホスト装置と周辺蓄積装置との事後結合に応じて、A)破損周辺蓄積装置の修復にあたってユーザ承認を求める要請をユーザに提示するように作動し、B)提示された要請に対する応答を受け取るように作動し、ii)周辺装置修復部は、提示された要請に対し肯定的な応答を受け取ることを条件とし、破損目的周辺蓄積装置の修復を遂行するように作動する。
ある実施形態によると、周辺装置修復部は、ユーザ入力の受け取りとは無関係に、目的周辺蓄積装置の修復を遂行するように作動する。
【0014】
ここで初めて開示するコンピュータ可読媒体は、目的周辺蓄積装置を破損させる、ホストコンピュータ装置から目的周辺蓄積装置への中断発信装置間データ転送操作からホストコンピュータ装置を回復させるためのコンピュータ可読プログラムコードを蓄積するコンピュータ可読媒体であって、このプログラムコードは、a)目的周辺蓄積装置の破損に先立ち、データ転送操作開始要請に応じて、ホスト側にて、i)後に中断データ転送操作により破損する周辺装置常駐蓄積システムデータ構造のシステムデータと、ii)システムデータが常駐し、後に中断発信データ転送操作によって上書きされない周辺蓄積装置上クリーンロケーションのハンドルと、からなるグループから選ばれる、少なくとも1つの回復用データオブジェクトを蓄積することと、b)中断発信データ転送操作による周辺蓄積装置の破損後に起こるホスト装置と周辺蓄積装置との事後結合に応じて、ホスト側に蓄積された少なくとも1つの回復用データオブジェクトを使用し、破損周辺蓄積装置を修復することと、をプロセッサに実行させるように作動する。
【0015】
ある実施形態によると、周辺装置常駐蓄積システムデータ構造は、周辺蓄積装置のディレクトリツリーを記述する。
ある実施形態によると、周辺装置常駐蓄積システムデータ構造は、周辺蓄積装置のファイルシステムテーブルである。
ある実施形態によると、周辺装置常駐蓄積システムデータ構造は、周辺蓄積装置のフラッシュマッピングテーブルである。
ある実施形態によると、プログラムコードは、c)中断発信装置間データ転送操作による目的周辺蓄積装置の破損に先立ち、データ転送操作開始要請に応じて、ホスト側にて、i)データ転送操作の1つ以上のデータオブジェクトの1つ以上の識別子の記述、および、ii)装置間データ転送操作の周辺蓄積装置目的位置データのうちの少なくとも一方を蓄積することと、d)破損をきたすデータ転送操作の後、ホスト装置と周辺蓄積装置との事後結合に応じて、c)i)の記述c)ii)の目的位置データのうちの少なくとも一方を使用し、中断発信装置間データ転送操作を復元することと、をプロセッサに実行させるように作動する。
ある実施形態によると、目的位置データは、ディレクトリパスデータを含む。
ある実施形態によると、i)プログラムコードは、周辺蓄積装置識別子に従い複数の回復用データオブジェクトにインデックスが付くホスト側インデックス付き回復用データ構造に、少なくとも1つの回復用データオブジェクトが蓄積されるようにさらに作動し、ii)プログラムコードは、c)中断データ転送操作によって周辺蓄積装置が破損した後、i)ホスト装置と周辺蓄積装置との事後結合に応じて、周辺蓄積装置の装置識別子を検出することと、ii)周辺蓄積装置の検出済み装置識別子をインデックスとして使用し、ホスト側インデックス付き回復用データ構造から、目的装置の、少なくとも1つの回復用データオブジェクトを回収することと、をプロセッサに実行させるようにさらに作動する。 ある実施形態によると、i)プログラムコードは、c)ホスト装置と周辺蓄積装置との事後結合に応じて、破損周辺蓄積装置を修復するためユーザ承認を催促することをプロセッサに実行させるようにさらに作動し、ii)プログラムコードは、ステップb)の破損周辺蓄積装置の修復にあたって、ユーザ承認催促に対するユーザ承認を受け取ることを条件とするように作動する。
ある実施形態によると、プログラムコードは、プロセッサによる実行時に、ステップb)の修復がユーザ入力なしで遂行されるように作動する。
【0016】
別段の指示がない限り、特定の実施形態に関係する前述した特徴を別の実施形態に盛り込むこともできることに留意するべきである。
【図面の簡単な説明】
【0017】
【図1】背景技術による代表的なシステムのブロック図である。
【図2A】いくつかの例示的な実施形態による失敗データ転送操作回復のためのルーチンのフローチャートである。
【図2B】いくつかの例示的な実施形態による失敗データ転送操作回復のための代表的なシステム構成のブロック図である。
【図3】いくつかの例示的な実施形態による失敗データ転送操作回復のためのルーチンのフローチャートである。
【図4】いくつかの例示的な実施形態による失敗データ転送操作回復のためのルーチンのフローチャートである。
【図5A】いくつかの例示的な実施形態による失敗データ転送操作回復のための代表的なシステム構成のブロック図である。
【図5B】いくつかの例示的な実施形態による失敗データ転送操作回復のための代表的なシステム構成のブロック図である。
【図5C】いくつかの例示的な実施形態による失敗データ転送操作回復のための代表的なシステム構成のブロック図である。
【発明を実施するための形態】
【0018】
特許請求の範囲は、図への参照を含む例示的な実施形態の詳細な説明を参照することで、よりよく理解される。説明、実施形態、および図は、特許請求の範囲を限定するものとして解釈してはならない。ここで開示する、失敗または中断発信装置間データ転送操作から回復するための方法、装置、およびコンピュータコードを蓄積するコンピュータ可読媒体の特徴があらゆる実施例でもれなく必要となるわけではないことも理解すべきである。また、この開示の全体を通じてプロセスまたは方法を提示もしくは説明するが、ある1つのステップが先に実行される別のステップに左右されることが文脈から明らかな場合を除き、方法のステップを任意の順序で実行できること、または同時に実行できることも理解すべきである。本願の全体を通じて使われている語「may 」は、必須の意味(つまり「must」の意味)ではなく許容の意味(つまり「having the potential to 」の意味)で使われている。
【0019】
本発明の実施形態は、ホスト装置から周辺蓄積装置への失敗または中断発信データ転送操作から回復するための装置、方法、およびコンピュータ可読媒体に関する。実施形態によっては、失敗発信データ転送操作によって周辺蓄積装置が破損する前に、ホスト側で1つ以上の回復用データオブジェクトを蓄積する。ホスト装置は失敗データ転送によって周辺蓄積装置が破損した後に、周辺蓄積装置との事後結合に応じて、ホスト側に蓄積された1つ以上の回復用データオブジェクトを用いて破損した周辺蓄積装置を修復する。オプションとして、ホスト装置は事後結合に応じて中断または失敗発信データ転送操作をも復元する。
【0020】
定義
ここでの説明の文脈で便宜を図るため、様々な用語をここに提示する。ここか本願のどこかほかの場所で明示的に、あるいは暗示的に定義が下される限り、そのような定義は、当業者による用語の使用に整合するものと理解すべきである。また、そのような定義は、そのような使用に整合する可能な限り広い意味で解釈しなければならない。
【0021】
「周辺蓄積装置」は、装置筐体と「接触」または無接触装置インターフェイスとを具備する装置を指し、周辺蓄積装置はこの装置インターフェイスを介してホスト装置に「結合」し、ホスト装置を相手にデータを交換する。周辺蓄積装置は一非限定的な例において、ホスト装置の筐体のポート(プラグまたはソケット)へ可逆的に付着でき、さもなければ何らかの介在する外部ケーブルまたは外部受台を介して可逆的に付着できる。
【0022】
周辺蓄積装置は、「ホスト側」と「周辺装置側」とがある「マスター・スレーブ」方式の通信プロトコルを使ってホストと通信する。「マスター・スレーブ」通信プロトコルには、例えばユニバーサルシリアルバス(USB)プロトコル、マルチメディアカード(MMC)プロトコル、セキュアデジタル(SD)プロトコル等があるが、これらに限定されない。
【0023】
「結合」した「ホスト」と「周辺蓄積装置」は、(i)「ポイント間」データリンク(「有線接続」、または中間ルーチン装置を必要としない短距離無線リンク)を介して互いに連絡をとり、ホストと周辺装置との間には「ポイント間」データリンクを介してデータが流れ、(ii)「マスター・スレーブ」プロトコルを使って通信するように構成される。つまり、ホストは、このプロトコルが定める「ホスト」またはマスターの役割の中で周辺蓄積装置と通信するように構成され、周辺蓄積装置は、このプロトコルが定める「スレーブ」または周辺装置の役割の中でホストと通信するように構成される。
【0024】
ホスト装置から周辺蓄積装置への「装置間発信データ転送操作」は、ホスト装置(例えば、ラップトップ、デスクトップ、携帯電話機、個人用携帯情報端末(PDA)、その他)から周辺蓄積装置にかけて、具体的には周辺蓄積装置の指定された「目的」位置(物理的または論理的位置)または1組の位置にかけて、1つ以上の「目的」「データオブジェクト」をコピーまたは移動することを指す。「目的」「データオブジェクト」は一非限定的な例において、コンピュータファイルである。目的データオブジェクトにはこのほかにも、例えばコンピュータレコード、フォルダ、アドレス帳(またはその部分)、デジタルメディアオブジェクト(例えば、映画、音楽アルバム、画像、その他)等があるが、これらに限定されない。「目的」位置はフォルダ、ディレクトリ(例えば、ディレクトリツリー内のディレクトリ)、セクタ、ブロック、あるいは当技術分野で公知の他の何らかのやり方で指定できる。
【0025】
「装置間データ転送」の一非限定的な例として、ホスト装置と周辺蓄積装置との間で行われる1つ以上のファイルのファイル転送操作がある。「装置間データ転送」のまた別の非限定的な例として、メディア転送プロトコル(MTP)を含むが、これに限定されない、所謂オブジェクト指向蓄積プロトコルを使用し、ホスト装置と周辺蓄積装置との間で行われる1つ以上のデータオブジェクトの転送がある。
【0026】
ホストから周辺蓄積装置への「発信」装置間データ転送操作は、ホスト装置から周辺蓄積装置にかけて1つ以上のデータオブジェクト(ファイルを含むが、これに限定されない)を移動またはコピーするデータ転送操作を指す。便宜上、装置間データ転送操作の方向、具体的にはホスト装置から周辺蓄積装置に至る方向を伝えるため、用語「発信」を単独で使用することもある。
ホスト装置が1つ以上の周辺蓄積装置に随時結合されうることを理解すべきである。データ転送操作の「目的」または「転送先」周辺装置とは、1つ以上のデータオブジェクトをコピーまたは転送する試みの対象となる周辺装置である。
【0027】
図2Aから図2Bの解説:序文
図2Aは、いくつかの例示的な実施形態に従い失敗または中断発信装置間データ転送操作に対処する代表的な手法を説明するフローチャートである。図2Aにおけるステップの順序は単なる例示であって、これとは別の順序でステップを実行する実施形態も本発明者により企図されることに留意すべきである。これは図2Aばかりでなく、ルーチンのフローチャートが記載された他の図にも当てはまる(例えば、図3および図4)。
【0028】
図2Aに記載されたルーチンは、例えば図2Bのブロック図に記載されたシステムで遂行できる。現在説明しているブロック図の図2B(または後に説明する図5Aから図5Cのブロック図)に見られるいずれの要素も、例えばデータ転送管理部25、装置修復部40、装置インターフェイス20、回復用データ保管部30を、ハードウェア、ファームウェア、および/またはソフトウェアの任意の組み合わせで実施できることに留意するべきである。いくつかの実施形態では、ソフトウェアはプロセッサ89によって実行される。
【0029】
そこで図2Aの手法を参照し、ステップS201ではホスト装置10が取外し可能な蓄積装置50に結合される。その後、ホスト装置10はステップS205で、データ転送操作遂行要請、例えば装置間通信リンク15を介して「目的」蓄積装置50に1つ以上のファイルをコピーする要請を検出する。この要請は任意の出所から到来し、例えばホスト装置10に接続されたマウスおよび/またはキーボードから、あるいは他の何らかの出所から到来する。
【0030】
図2Aから図2Bの解説:回復用データオブジェクトの解説
ステップS209では、検出されたデータ転送操作遂行要請に応じて1つ以上の回復用データオブジェクトをホスト側に蓄積する。後にステップS217で破損した周辺蓄積装置をステップS241で修復するときには、1つ以上の回復用データオブジェクトを使用する。以下回復用データオブジェクトをさらに詳しく説明する。
【0031】
一非限定的な例において、目的周辺蓄積装置50に常駐する1つ以上のデータ蓄積システムデータ構造(またはこれの一部分)をホスト側で「ミラーリング」する。例えばこれを、ホスト装置10の揮発性または不揮発性メモリか、あるいはホスト装置の他の何らかの場所に蓄積する。つまり、この例では、ステップS213で発信データ転送操作が始まる前に、発信データ転送操作によって壊れる可能性のある蓄積システムデータの「バックアップ」をホスト側で作成する。
【0032】
さらに別の例では、蓄積システムデータをミラーリングするのではなく、「周辺蓄積装置上のクリーンロケーション」の「ハンドル」または記述をホスト側で蓄積すれば十分である。この「ハンドル」は、周辺蓄積装置50のシステムデータ領域70で「手付かずの」物理的または論理的位置を記述するものである。
【0033】
「ハンドル」は一非限定的な例において物理または論理アドレスである。このほかに、周辺装置に常駐するデータオブジェクトの識別子も「ハンドル」の非限定的な例であり、このオブジェクトは、周辺蓄積装置50のシステムデータ領域70にある特定の場所に対応付けられるか、さもなければこの場所に常駐する。
【0034】
そこで一非限定的な例において、目的蓄積装置50のシステムデータ領域70(論理的または物理的領域)にファイルアクセステーブル(FATテーブル)の2つのコピー、すなわち「第1の」コピーと「第2の」コピーとが、常駐する。この例では、FATテーブルの第1のコピー(「コピーA」)だけが修正可能であり、それ故、発信データ転送操作によって破損する可能性があるのに対して、FATテーブルの第2のコピーがファイル転送操作中に修正および/または上書きされないことが公知である。したがって、FATテーブルの第2のコピーが常駐する領域(論理的または物理的領域)は「クリーンロケーション」の一例である。この非限定的な例では、このクリーンロケーションの「ハンドル」をホスト側に蓄積することができる。この「ハンドル」は単純なオブジェクト識別子「コピーB」であったり、アドレスであったり(例えば、「コピーB」が常駐するブロックのリストによるアドレス、あるいは物理または論理アドレスを指定する他の何らかの手段によるアドレス)、「コピーB」、および/またはコピーBが常駐する場所の、何らかの記述であったりする。
以上の例が、後にステップS241で周辺蓄積装置を修復するにあたって必要となる「最低限のデータ」を伝えるものであることに留意するべきである。実施形態によっては、ステップS209でこの最低限のデータより多くのデータをホスト側に蓄積し、後にS241で周辺蓄積装置を修復するときに使用できることを理解すべきである。
【0035】
一実施形態において、以降のデータ転送操作で修正されない周辺蓄積装置常駐の蓄積システムテーブルかこれのセクションも、発信データ転送操作の開始に先立ちホスト側にコピーする。
この場合、以降の発信データ転送操作によって修正される蓄積システムデータがどれなのかを事前にホスト装置で明確に判断する必要がないことを理解すべきである。しかし、実施形態によっては、ホスト側でそのような判断を事前に下すと有利な場合もある。状況によっては、例えば周辺装置50からホスト側へコピーしなければならない蓄積システムデータの量を最小限に抑えるのにこれを役立てることができる。
【0036】
一非限定的な例において、ステップS209における1つ以上の回復用データオブジェクトの蓄積を、図2Bの回復用データ保管部30で果たすことができ、この回復用データ保管部は、例えばホスト装置のプロセッサによって実行されるソフトウェアエージェントとして設けることができる。
ステップS209で蓄積する1つ以上の回復用データオブジェクトは、ホスト装置上の任意の場所、あるいは「ホスト側」の任意の別の場所に蓄積でき、この場所を「回復用データ保管所35」と呼ぶことに留意するべきである。したがって、図2Bでは回復用データ保管所35がホスト装置10上にあるものとして示されているが、回復用データ保管所35はホスト装置10から分離することもある。回復用データ保管所35は、ホスト装置10の揮発性メモリ(例えば、RAM)および/または不揮発性メモリの任意の組み合わせで実施でき、例えば目的蓄積装置50とは別の不揮発性メモリ装置で実施できる。ホスト装置は、目的蓄積装置50とは別の不揮発性メモリ装置に回復用データ保管所35が常駐するこの例で、異なるデバイスインターフェイス(図示せず)を介して、すなわちホスト側インターフェイス20とは別のホスト側インターフェイスを介して、回復用データ保管所35が常駐するこの「別の不揮発性メモリ装置」(図示せず)と結合できる。とはいえ、ホスト10と目的蓄積装置50との通信リンク15の「ホスト側」に全面的に、この「別の不揮発性メモリ装置」(図示せず)が常駐することを理解すべきである。
【0037】
ステップS213〜S241の解説
ステップS213では発信データ転送操作が始まる。ステップS217ではこの発信データ転送操作が予期せず/途中で中断し、これにともない周辺蓄積装置50は破損する。 ファイル転送操作の中断によってホスト装置から周辺蓄積装置が「分離」または「脱離」することもあり、周辺蓄積装置はこの場合に、少なくともある程度の期間はホスト装置とデータを交換できなくなる。これは例えば、停電、ホスト側ポートからの周辺蓄積装置の分離、バッファの溢れ等に起因する。
周辺蓄積装置は破損(ステップS217)の後にステップS223で再びホスト装置と結合する。この時破損した周辺蓄積装置50が再びホスト装置10と通信することもある。
【0038】
ステップS241では、ホスト装置10が再結合の検出に応じて周辺蓄積装置を修復するべく行動する。一例において、装置修復部40によってこれを果たすこができ、この装置修復部は、例えばホスト装置10のプロセッサによって実行されるソフトウェアエージェントとして設けることができる。
ステップS241では、ホスト側に蓄積された1つ以上の回復用データオブジェクトをホスト側の揮発性および/または不揮発性メモリから回収する。実施形態によっては、回復用データ保管所35から1つ以上の回復用データオブジェクトを回収する。
1つ以上の回復用データオブジェクトを回収した後には、これを使って周辺蓄積装置を修復する。一例において、ステップS209でホスト側へコピーした蓄積システムデータ構造75かこれの一部分を、装置修復のため再度周辺蓄積装置50にコピーする。
【0039】
別の例では、周辺装置50上のクリーンロケーションのハンドルを使用し、周辺装置50のクリーンロケーションで破損データの「破損していない」コピーまたはバージョンを回収する。この回収したデータは周辺蓄積装置50の修復に役立てることができる。一例において、回収したデータを使って破損した1つ以上の蓄積システムデータ構造75を修復する。さらに別の非限定的な例において、破損した蓄積システムデータ構造75A*(図2Bのアスタリスクは破損を意味する)を周辺蓄積装置50で「使用不能」とマークし、周辺蓄積装置50のシステムデータ領域70で破損したデータ構造の「ポインタ」を破損していないデータ構造(例えば、75B)の「ポインタ」に差し替える。
一非限定的な例において、発信データ転送操作S213が始まる前の周辺蓄積装置50の状態を表す蓄積システムデータを目的蓄積装置50の領域70に蓄積して残しておく。こうすることで、中断データ転送操作で被った「ダメージの挽回」が可能になる。
【0040】
データ転送操作の「復元」と図3の解説
この開示で「データ転送操作の復元」とは、ステップS223で周辺蓄積装置50と再び結合した後のホスト装置が、発信データ転送操作(ステップS213で試みたもの)で指定された「目的」データオブジェクトを周辺蓄積装置50上の「目的位置」へコピーおよび/または移動するため措置を講じることを指す。
例えば、目的周辺装置へ部分的に転送(移動またはコピー)されたデータオブジェクトがある場合の「データ転送操作の復元」では、部分的に転送されたデータオブジェクトを周辺蓄積装置50の目的位置へ再送することがある。
【0041】
場合によっては、データ転送操作で指定された1つ以上のデータオブジェクトが、中断または失敗データ転送操作試行のときに部分的にすら周辺蓄積装置50へ転送されないこともある。中断データ転送操作が目的蓄積装置50に対して1つ以上のデータオブジェクトの書き込みを試みるユースケースでは、(i)1つ以上のデータオブジェクトの全てが目的蓄積装置50に「首尾よく」書き込まれる場合と、(ii)1つ以上のデータオブジェクトが目的蓄積装置50に「部分的に」書き込まれる場合と、(iii)1つ以上のデータオブジェクトが目的周辺蓄積装置50に部分的にすら書き込まれない場合とがある。この例のデータ転送操作復元は、(i)’「首尾よく」書き込まれた各データオブジェクトにつき、何もしないか、さもなければ周辺蓄積装置50に対するデータオブジェクトの書き込みをやり直すことと、(ii)’「部分的に」転送された各データオブジェクトにつき、データオブジェクトの書き込みを「最初から」やり直すか、「中断したデータオブジェクト書き込みプロセスを完了すること」と、(iii)’「書き込まれなかった」各データオブジェクトにつき、周辺蓄積装置50にデータオブジェクトを首尾よく書き込むこととを含む。(i)、(ii)、および(iii)のいずれか1つ以上が発生する場合は、(i)’、(ii)’、および(iii)’の該当するものだけを実行すればよい。
【0042】
ある実施形態によっては、周辺蓄積装置の修復後に自動的に発信データ転送操作を復元するのが望ましい。この場合は、周辺蓄積装置50に対するホスト装置10の再結合に応じて自動的に発信データ転送操作を復元できる。こうすれば、例えば周辺蓄積装置50の修復時にデータオブジェクトおよび/または目的位置を再度指定するという退屈な作業からユーザが解放され、便利である。
【0043】
次に、図3を参照する。ステップS201、S205、S213、S217、S223、およびS241は、図2Aおよび図3と同じである。
図3のルーチンでは、図2Aのルーチンにはない2つのさらなるステップ、すなわちステップS211およびS245が、加わる。
発信データ転送操作の開始に先立つステップS211では、1つ以上の「データ転送操作復元用オブジェクト」をホスト側、例えば揮発性および/または不揮発性メモリに保存する。これらの「データ転送操作復元用オブジェクト」は、後にステップ245でデータ転送操作の復元に使われる。
【0044】
データ復元用オブジェクトは、i)データ転送操作の1つ以上のデータオブジェクトの1つ以上の識別子の記述(例えば、ファイルの名前、および/またはその他データオブジェクトの名前、および/またはオブジェクトが常駐するホスト装置上の位置)と、ii)装置間データ転送操作の周辺蓄積装置目的位置データ(例えば、1つ以上の目的パスのディレクトリパスデータ、またはその他の「転送先」位置情報)のうちの1つ以上を含む。 これらの「データ復元用オブジェクト」は、揮発性および/または不揮発性メモリの任意の組み合わせにより、ホスト側の任意の場所に蓄積できる(オプションとしてホスト装置そのものに蓄積できるが必ずしもその必要はない)。
ステップS245では、データ復元用オブジェクトを使ってデータ転送操作を復元する。例えば、ステップS211で識別子を保存した種々のファイルやその他のデータオブジェクトを、(i)ホスト側から回収し、かつ(ii)目的周辺蓄積装置50、例えばステップ211でホスト側に保存した1つ以上の目的位置へ書き込むことができる。
【0045】
データ転送操作の「復元」と図4の解説
図4は、ある特定のホスト装置10が2つ以上の周辺蓄積装置50と結合し、それぞれの周辺蓄積装置50を相手に発信データ転送操作を試みるが、発信データ転送操作は結局失敗し、周辺蓄積装置50を破損することになるユースケースに関係する。
その後、ホスト装置10は、いずれか1つの周辺蓄積装置50(つまり、多数の失敗発信データ転送操作に関与していたかもしれない周辺蓄積装置)との事後結合に応じて「当該」周辺蓄積装置50を識別してこれを「思い出し」(つまり、当該周辺蓄積装置を、「当該」蓄積装置の中断データ転送操作の前か後に中断した別のデータ転送操作に関与していたほかの周辺蓄積装置と「混同」せず)、再結合した周辺蓄積装置50に対応する「適切な」回復用データオブジェクトを使用し、事後結合した破損周辺蓄積装置を「適切に」修復する。
これを果たすには、(i)2つ以上の周辺蓄積装置の回復用データオブジェクトを蓄積する、(ii)周辺蓄積装置を識別する「識別子」に従って回復用データオブジェクトにインデックスを付ける、および(iii)いずれかの破損周辺蓄積装置50と「再結合」するときに、周辺蓄積装置の識別子を「インデックス」または「キー」として使用し、「該当する」回復用データオブジェクト(ホスト側)を回収すると、有利である。
【0046】
次に、図4を参照する。ステップS201、S205、S209、S213、S217、S223、およびS241は、図2Aおよび図4と同じである。
図4のルーチンでは、4つのさらなるステップS203、S210、S227、S240が加わる。
ステップS203では周辺蓄積装置50の識別子を検出する。例えば、多くのUFDデバイスはAPIを提供し、ホストはUFDを一意に識別する「一意な電子シリアル番号」を読み取ることができる。当業者であればこれとは別の実施例も可能であることを理解すべきである。
【0047】
目的周辺蓄積装置50が破損する前のステップS209では、1つ以上の回復用データオブジェクトをホスト側(回復用データ保管所35)に蓄積し、ステップS210では、装置識別子に従いホスト側で1つ以上の蓄積済み回復用データオブジェクトにインデックスを付ける。
後にステップS223で再結合した後には、ステップS227で再結合周辺蓄積装置の装置識別子を検出する(例えば、APIを起動し一意な装置識別子にアクセスする)。ステップS240では、あらかじめ蓄積しインデックスを付けておいた当該再結合周辺蓄積装置50の1つ以上の回復用データオブジェクト(ステップS209で蓄積し、ステップS210でインデックスを付けたもの)を、装置識別子(再結合後に読み取られたもの)を使って回収する。
この回収(ステップS240)は、インデックス付きデータ構造の中で「一致する装置識別子」を探し(完全な一致、最良の一致、凡その一致、または当技術分野で公知の他の何らかの一致手法を使用)、一致する装置識別子が見つかったら、周辺蓄積装置に対応する1つ以上のインデックス付き回復用データオブジェクトを回収する。
【0048】
周辺装置識別子に従って1つ以上の回復用データオブジェクトにインデックスを付け、その後、周辺装置識別子(ステップS223の再結合後に再度検出されるもの)に従って1つ以上の回復用データオブジェクトを回収する教示内容を、データ転送操作を装置単位で復元する目的に応用できることを理解すべきである。つまり、これらの教示内容を応用し、ホスト側で1つ以上のデータ転送操作回復用オブジェクトにインデックスを付け、周辺装置識別子(ステップS223の再結合後に再度検出されるもの)に従い1つ以上のデータ転送操作を復元(図3、ステップS245)することもできる。
【0049】
「自動」装置修復および/または復元VSユーザ始動装置修復および/または復元に関する解説
実施形態によっては、周辺蓄積装置の修復にあたってユーザの入力や行為を要求せず(例えば、ステップS223の装置再結合後にユーザの入力や行為を要求せず)、図2A、図2B、図3、および図4に記載された手法を実施することもできる。こうすれば、この点について特別な知識を持つ、および/または行動を起こす、必要から「ユーザを解放」することができる。
しかし、これが必須の制限ではないことに留意するべきである。実施形態によっては、蓄積装置を修復し、かつ/またはデータ転送操作を復元するプロセスの前および/または最中に、ユーザ入力を催促することが望ましい場合もある。
【0050】
一例において、ユーザが装置の修復および/またはトランザクションの復元を望むか否かを問い合わせることができる。
一例において、装置の修復および/またはトランザクションの復元を望むか否かをユーザに尋ねて「肯定」回答を得ることが、装置修復および/またはデータ転送操作復元の条件となる。
【0051】
図5Aから図5Cの解説
図5Aから図5Cは、いくつかの例示的な実施形態による代表的なシステム構成のブロック図である。
図5Aのホスト装置10はデータトランザクション用データ保管部92を含み、このデータトランザクション用データ保管部は、中断発信装置間データ転送操作による目的周辺蓄積装置の破損に先立ち、データ転送操作開始要請に応じて、装置インターフェイスのホスト側にて、i)データ転送操作の1つ以上のデータオブジェクトの1つ以上の識別子の記述、およびii)装置間データ転送操作の周辺蓄積装置目的位置データのうちの少なくとも一方を蓄積するように作動する。図5Aのホスト装置10はさらにデータトランザクション復元部94を備え、このデータトランザクション復元部は、i)破損をきたすデータ転送操作の後、ii)ホスト装置と周辺蓄積装置との事後結合に応じて、i)データ転送操作の1つ以上のデータオブジェクトの1つ以上の識別子の記述、および/またはii)装置間データ転送操作の周辺蓄積装置目的位置データを使用し、中断発信装置間データ転送操作を復元するように作動する。
実施形態によっては、図3に記載されたルーチンの遂行に図5Aのシステムを役立てることができる。
【0052】
次に、図5Bを参照する。図5Bの例で、回復用データ保管所35は多数の周辺蓄積装置50の回復用データを含み、周辺装置識別子に従いインデックスが付けられる。これを受けて図5Bの例では、回復用データ保管所35にインデックスが付いていることを意味する一重引用符が回復用データ保管所35の数字「35」の後ろに付いている。
図5Bのホスト装置10は、装置インターフェイスを介して結合される結合目的周辺装置の識別子を検出するように作動する、周辺装置識別部96と、回復用データ回収部98とを備え、同回復用データ回収部は、ホスト装置と周辺蓄積装置との事後結合に応じて、結合目的周辺装置の識別子をインデックスとして使用し、ホスト側のインデックス付き回復用データ構造から、検出済み識別子に対応する当該目的周辺装置の、少なくとも1つの回復用データオブジェクトを回収するように作動する。
実施形態によっては、図4に記載されたルーチンの遂行に図5Bのシステムを役立てることができる。
【0053】
次に、図5Cを参照する。図5Cのホスト装置10はユーザインターフェイス99を備える。ユーザインターフェイス99はいくつかの実施形態において、ホスト装置と周辺蓄積装置との事後結合に応じて、A)破損周辺蓄積装置の修復にあたってユーザ承認を求める要請をユーザに提示するように作動し、かつB)提示された要請に対する応答を受け取るように作動する。これらの実施形態では、周辺装置修復部40は、提示された要請に対し肯定応答を受け取ることを条件とし、破損した目的周辺蓄積装置の修復を遂行するように作動する。
【0054】
ブロック図5Aから図5Cに見られるいずれの要素、例えばデータトランザクション用データ保管部92、データトランザクション復元部94、周辺装置識別部96、回復用データ回収部98、ユーザインターフェイス99を、ハードウェア、ファームウェア、および/またはソフトウェアの任意の組み合わせで実施できることに留意するべきである。実施形態によっては、プロセッサ89によってソフトウェアが実行される。
【0055】
図5Aから図5Cに示されたそれぞれのアーキテクチャが見込みのある1アーキテクチャに過ぎないことに留意するべきである。例えば、図5Aでは、データトランザクション用データ保管部92が回復用データ保管部30から独立したコンポーネントとして示されている。代替の実施形態のデータトランザクション用データ保管部92は、回復用データ保管部30のサブコンポーネントである。当業者であれば、このコンポーネントや図5Aから図5C(および図2B)に見られる他のコンポーネントに数多くのバリエーションがあること、そして図5Aから図5C(および図2B)に見られるそれぞれのアーキテクチャが一例として提示されていて、制限を意図するものではないことを認識できるはずである。データトランザクション用データ保管部92、データトランザクション復元部94、周辺装置識別部96、回復用データ回収部98、ユーザインターフェイス99はいずれも代替の実施形態において、開示された他の要素のサブコンポーネントとして設けることができる。
【0056】
さらに、ブロック図2B、図5Aから図5Cに記載されたホスト装置10に常駐する要素の組み合わせが制限を意図するものでないことを理解すべきである。例えば、周辺装置識別部96および回復用データ回収部98と、データトランザクション用データ保管部92およびデータトランザクション復元部94とを兼ね備える実施形態も本発明者により企図される。当業者であれば、いかなる要素の組み合わせであれ可能であることも理解すべきである。
【0057】
結論
また、図との関係で前述した操作を実施する命令および/またはデータをコンピュータ可読媒体で受信すること、送信すること、または蓄積することを、前述した実施形態のいずれかに盛り込むことができることに留意するべきである。コンピュータ可読媒体は一般的に、磁気またはフラッシュまたは光媒体等の蓄積媒体やメモリ媒体、例えばディスクまたはCD−ROM、RAM、ROM等の揮発性または不揮発性蓄積媒体を含むほか、ネットワークおよび/または無線リンク等の通信媒体を介して伝達される電気、電磁、またはデジタル信号等の伝送媒体または信号を含む。
【0058】
これまで代表的な実施形態を説明してきたが、当業者にとって、特許請求の範囲における範囲と精神から逸脱することなくこれらの実施形態の様々な同等物、変更、修正、改良が可能であることは明白である。具体的に、ここで説明されていない特徴を組み合わせて種々の実施形態に盛り込むこともできる。したがって、特許請求の範囲は前述した説明に制限されるものではない。

【特許請求の範囲】
【請求項1】
目的周辺蓄積装置を破損させるホスト装置から目的周辺蓄積装置への中断発信装置間データ転送操作から回復する方法であって、
a)目的周辺蓄積装置の破損に先立ち、データ転送操作開始要請に応じて、ホスト側にて、
i)後に中断データ転送操作により破損する周辺装置常駐蓄積システムデータ構造のシステムデータと、
ii)前記システムデータが常駐し、後に中断発信データ転送操作によって上書きされない周辺蓄積装置上クリーンロケーションのハンドルと、からなるグループから選ばれる、少なくとも1つの回復用データオブジェクトを蓄積するステップと、
b)中断発信データ転送操作による周辺蓄積装置の破損後に起こるホスト装置と周辺蓄積装置との事後結合に応じて、前記ホスト側に蓄積された少なくとも1つの前記回復用データオブジェクトを使用し、破損周辺蓄積装置を修復するステップと、
を含む方法。
【請求項2】
請求項1記載の方法において、
前記周辺装置常駐蓄積システムデータ構造は、周辺蓄積装置のディレクトリツリーを記述する方法。
【請求項3】
請求項1記載の方法において、
前記周辺装置常駐蓄積システムデータ構造は、周辺蓄積装置のファイルシステムテーブルである方法。
【請求項4】
請求項1記載の方法において、
前記周辺装置常駐蓄積システムデータ構造は、周辺蓄積装置のフラッシュマッピングテーブルである方法。
【請求項5】
請求項1記載の方法において、
c)中断発信装置間データ転送操作による目的周辺蓄積装置の破損に先立ち、前記データ転送操作開始要請に応じて、ホスト側にて、
i)データ転送操作の1つ以上のデータオブジェクトの1つ以上の識別子の記述、および、
ii)装置間データ転送操作の周辺蓄積装置目的位置データのうちの少なくとも一方を蓄積するステップと、
d)破損をきたすデータ転送操作の後、ホスト装置と周辺蓄積装置との前記事後結合に応じて、c)i)の前記記述およびc)ii)の前記目的位置データのうちの少なくとも一方を使用し、中断発信装置間データ転送操作を復元するステップと、
をさらに含む方法。
【請求項6】
請求項5記載の方法において、
前記目的位置データは、ディレクトリパスデータを含む方法。
【請求項7】
請求項1記載の方法において、
i)前記少なくとも1つの回復用データオブジェクトは、周辺蓄積装置識別子に従い複数の回復用データオブジェクトにインデックスが付くホスト側インデックス付き回復用データ構造に蓄積され、
ii)前記方法は、
c)中断データ転送操作によって周辺蓄積装置が破損した後、
i)ホスト装置と周辺蓄積装置との前記事後結合に応じて、周辺蓄積装置の装置識別子を検出するステップと、
ii)周辺蓄積装置の前記検出済み装置識別子をインデックスとして使用し、前記ホスト側インデックス付き回復用データ構造から、目的装置の、前記少なくとも1つの回復用データオブジェクトを回収するステップと、
をさらに含む方法。
【請求項8】
請求項1記載の方法において、
i)前記方法は、
c)ホスト装置と周辺蓄積装置との前記事後結合に応じて、破損周辺蓄積装置を修復するため、ユーザ承認を催促するステップをさらに含み、
ii)ステップb)の前記破損周辺蓄積装置を修復するステップは、前記ユーザ承認催促に対する前記ユーザ承認を受け取ることを条件とする方法。
【請求項9】
請求項1記載の方法において、
ステップb)の前記修復するステップは、ユーザ入力をともなわずに遂行される方法。
【請求項10】
ホスト装置であって、
a)周辺装置と結合する装置インターフェイスと、
b)前記装置インターフェイスを介して装置間データ転送操作を管理するデータ転送管理部と、
c)回復用データ保管部であって、
i)中断発信装置間データ転送操作に先立ち、すなわち
A)前記装置インターフェイスを介して前記ホスト装置へ結合される目的周辺装置との、
B)後に前記結合目的周辺装置を破損させる、中断発信装置間データ転送操作に先立ち、
ii)前記発信装置間データ転送操作の開始要請に応じて、前記装置インターフェイスのホスト側にて、
iii)中断データ転送操作により後に破損する周辺装置常駐蓄積システムデータ構造のシステムデータと、
iv)前記システムデータが常駐し、後に中断データ転送操作によって上書きされない周辺蓄積装置上クリーンロケーションのハンドルと、からなるグループから選ばれる、少なくとも1つの回復用データオブジェクトを蓄積するように作動する、回復用データ保管部と、
d)前記中断発信データ転送操作による前記周辺蓄積装置の破損後に起こるホスト装置と周辺蓄積装置との事後結合に応じて、前記ホスト側に蓄積された少なくとも1つの前記回復用データオブジェクトを使用し、前記破損目的周辺蓄積装置を修復するように作動する、周辺装置修復部と、
を備えるホスト装置。
【請求項11】
請求項10記載のホスト装置において、
前記システムデータ構造は、周辺蓄積装置のディレクトリツリーを記述するホスト装置。
【請求項12】
請求項10記載のホスト装置において、
前記システムデータ構造は、周辺蓄積装置のファイルシステムテーブルデータ構造であるホスト装置。
【請求項13】
請求項10記載のホスト装置において、
前記システムデータ構造は、周辺蓄積装置のフラッシュ管理テーブルデータ構造であるホスト装置。
【請求項14】
請求項10記載のホスト装置において、
e)データトランザクション用データ保管部であって、前記中断発信装置間データ転送操作による前記目的周辺蓄積装置の破損に先立ち、前記データ転送操作開始要請に応じて、前記装置インターフェイスの前記ホスト側にて、
i)データ転送操作の1つ以上のデータオブジェクトの1つ以上の識別子の記述、および、
ii)装置間データ転送操作の周辺蓄積装置目的位置データのうちの少なくとも一方を蓄積するように作動する、データトランザクション用データ保管部と、
f)データトランザクション復元部であって、
i)破損をきたすデータ転送操作の後、
ii)ホスト装置と前記周辺蓄積装置との前記事後結合に応じて、e)i)の前記記述およびe)ii)の前記目的位置データを使用し、前記中断発信装置間データ転送操作を復元するように作動する、データトランザクション復元部と、
をさらに備えるホスト装置。
【請求項15】
請求項14記載のホスト装置において、
前記目的位置データは、ディレクトリパスデータを含むホスト装置。
【請求項16】
請求項10記載のホスト装置において、
i)ホスト装置は、
e)前記装置インターフェイスを介して結合する前記結合目的周辺装置の識別子を検出するように作動する、周辺装置識別子検出部をさらに備え、
ii)前記回復用データ保管部は、前記周辺装置識別子検出部から受け取る前記結合目的周辺装置の前記識別子に従って、周辺蓄積装置識別子に従い複数の回復用データオブジェクトにインデックスが付くホスト側インデックス付き回復用データ構造に、前記少なくとも1つの回復用データオブジェクトを、蓄積するように作動し、
iii)ホスト装置は、
f)ホスト装置と周辺蓄積装置との前記事後結合に応じて、前記結合目的周辺装置の前記識別子をインデックスとして使用し、前記ホスト側インデックス付き回復用データ構造から、前記目的周辺装置の、前記少なくとも1つの回復用データオブジェクトを回収するように作動する、回復用データ回収部をさらに備えるホスト装置。
【請求項17】
請求項10記載のホスト装置において、
i)ホスト装置は、
f)ユーザインターフェイスをさらに備え、前記ユーザインターフェイスは、ホスト装置と周辺蓄積装置との前記事後結合に応じて、
A)破損周辺蓄積装置の修復にあたってユーザ承認を求める要請をユーザに提示するように作動し、
B)前記提示された要請に対する応答を受け取るように作動し、
ii)前記周辺装置修復部は、前記提示された要請に対して肯定的な前記応答を受け取ることを条件とし、前記破損目的周辺蓄積装置の前記修復を遂行するように作動するホスト装置。
【請求項18】
請求項10記載のホスト装置において、
前記周辺装置修復部は、ユーザ入力の受け取りとは無関係に、前記目的周辺蓄積装置の前記修復を遂行するように作動するホスト装置。
【請求項19】
目的周辺蓄積装置を破損させる、ホストコンピュータ装置から目的周辺蓄積装置への中断発信装置間データ転送操作からホストコンピュータ装置を回復させるためのコンピュータ可読プログラムコードを蓄積する、コンピュータ可読媒体であって、前記プログラムコードは、
a)目的周辺蓄積装置の破損に先立ち、データ転送操作開始要請に応じて、ホスト側にて、
i)後に中断データ転送操作により破損する周辺装置常駐蓄積システムデータ構造のシステムデータと、
ii)前記システムデータが常駐し、後に中断発信データ転送操作によって上書きされない周辺蓄積装置上クリーンロケーションのハンドルと、からなるグループから選ばれる、少なくとも1つの回復用データオブジェクトを蓄積することと、
b)中断発信データ転送操作による周辺蓄積装置の破損後に起こるホスト装置と周辺蓄積装置との事後結合に応じて、前記ホスト側に蓄積された少なくとも1つの前記回復用データオブジェクトを使用し、破損周辺蓄積装置を修復することと、をプロセッサに実行させるように作動するコンピュータ可読媒体。
【請求項20】
請求項19記載のコンピュータ可読媒体において、
前記周辺装置常駐蓄積システムデータ構造は、周辺蓄積装置のディレクトリツリーを記述するコンピュータ可読媒体。
【請求項21】
請求項19記載のコンピュータ可読媒体において、
前記周辺装置常駐蓄積システムデータ構造は、周辺蓄積装置のファイルシステムテーブルであるコンピュータ可読媒体。
【請求項22】
請求項19記載のコンピュータ可読媒体において、
前記周辺装置常駐蓄積システムデータ構造は、周辺蓄積装置のフラッシュマッピングテーブルであるコンピュータ可読媒体。
【請求項23】
請求項19記載のコンピュータ可読媒体において、
プログラムコードは、
c)中断発信装置間データ転送操作による目的周辺蓄積装置の破損に先立ち、前記データ転送操作開始要請に応じて、前記ホスト側にて、
i)データ転送操作の1つ以上のデータオブジェクトの1つ以上の識別子の記述、および、
ii)装置間データ転送操作の周辺蓄積装置目的位置データのうちの少なくとも一方を蓄積することと、
d)破損をきたすデータ転送操作の後、ホスト装置と周辺蓄積装置との前記事後結合に応じて、c)i)の前記記述およびc)ii)の前記目的位置データのうちの少なくとも一方を使用し、中断発信装置間データ転送操作を復元することと、をプロセッサに実行させるようにさらに作動するコンピュータ可読媒体。
【請求項24】
請求項23記載のコンピュータ可読媒体において、
前記目的位置データは、ディレクトリパスデータを含むコンピュータ可読媒体。
【請求項25】
請求項19記載のコンピュータ可読媒体において、
i)プログラムコードは、周辺蓄積装置識別子に従い複数の回復用データオブジェクトにインデックスが付くホスト側インデックス付き回復用データ構造に、前記少なくとも1つの回復用データオブジェクトが蓄積されるように作動し、
ii)プログラムコードは、
c)中断データ転送操作によって周辺蓄積装置が破損した後、
i)ホスト装置と周辺蓄積装置との前記事後結合に応じて、周辺蓄積装置の装置識別子を検出することと、
ii)周辺蓄積装置の前記検出済み装置識別子をインデックスとして使用し、前記ホスト側インデックス付き回復用データ構造から、目的装置の、前記少なくとも1つの回復用データオブジェクトを回収することと、をプロセッサに実行させるようにさらに作動するコンピュータ可読媒体。
【請求項26】
請求項19記載のコンピュータ可読媒体において、
i)プログラムコードは、
c)ホスト装置と周辺蓄積装置との前記事後結合に応じて、破損周辺蓄積装置を修復するためユーザ承認を催促することをプロセッサに実行させるように作動し、
ii)プログラムコードは、ステップb)の破損周辺蓄積装置の前記修復にあたって、前記ユーザ承認催促に対する前記ユーザ承認を受け取ることを条件とするようにさらに作動するコンピュータ可読媒体。
【請求項27】
請求項19記載のコンピュータ可読媒体において、
プログラムコードは、プロセッサによる実行時に、ステップb)の前記修復がユーザ入力なしで遂行されるように作動するコンピュータ可読媒体。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図5C】
image rotate


【公表番号】特表2010−515191(P2010−515191A)
【公表日】平成22年5月6日(2010.5.6)
【国際特許分類】
【出願番号】特願2009−544490(P2009−544490)
【出願日】平成20年1月3日(2008.1.3)
【国際出願番号】PCT/IL2008/000022
【国際公開番号】WO2008/081454
【国際公開日】平成20年7月10日(2008.7.10)
【出願人】(508159260)サンディスク アイエル リミテッド (33)
【Fターム(参考)】