(57)【要約】リムーバブル記憶装置上の内容への修正の迅速な検出を提供するシステム。本システムは、そのリムーバブル記憶装置上の内容に修正がなされたことを示すコードを有するリムーバブル記憶装置を含む。本システムはまた、リムーバブル記憶装置のコードを読み、そのコードをメモリ中の以前に記憶されたコードと比較し、リムーバブル記憶装置のコードの値が以前に記憶されたコードの値と等しいときにそのリムーバブル記憶装置のための以前に確立されたファイル・システム・データベース構造をマウントするメディア・プロセッサをも含む。より具体的には、電源投入またはリムーバブル記憶装置の処理装置への挿入に続いて、処理装置はリムーバブル記憶装置から読まれた一つまたは複数のコードを処理装置内の一つまたは複数のコードの最後に記憶された値と比較して、そのリムーバブル記憶装置の内容が、該リムーバブル記憶装置がその処理装置によって最後に使われて以降に変更されたかどうかを判定する。前記一つまたは複数のコード値が代わっていない場合には、処理装置は、自らの内部不揮発性メモリまたはリムーバブル記憶装置自身に保存されているファイル・システムの最後にキャッシュされたバージョンを使うことによって、そのリムーバブル記憶装置のファイル・システムを即座にマウントする。
2010536091.tif 000002
【特許請求の範囲】
【請求項１】
リムーバブル記憶装置上の内容になされた修正の迅速な検出のためのシステムであって：
そのリムーバブル記憶装置上の内容に修正がなされたことを示すコードを有するリムーバブル記憶装置と；
リムーバブル記憶装置のコードを読み、そのコードをメモリ中の以前に記憶されたコードと比較し、リムーバブル記憶装置のコードの値が以前に記憶されたコードの値と等しいときにそのリムーバブル記憶装置のための以前に確立されたファイル・システム・データベース構造をマウントするメディア・プロセッサとを有する、
システム。
【請求項２】
前記コードが前記コントローラの不揮発性メモリ・スペースの連続的または非連続的な部分にまたがる一つまたは複数の既存のコントローラ・レジスタに保存される、請求項１記載のシステム。
【請求項３】
前記コードが前記コントローラの不揮発性メモリ・スペースの連続的または非連続的な部分にまたがる一つまたは複数の一意的なコントローラ・レジスタに保存される、請求項１記載のシステム。
【請求項４】
前記コードが前記不揮発性データ・メモリの一つまたは複数の連続的または非連続的な部分に保存される、請求項１記載のシステム。
【請求項５】
前記コードが、前記記憶装置コントローラによって数学的技法を使って計算される、請求項１記載のシステム。
【請求項６】
前記コードが、前記記憶装置コントローラによって擬似乱数発生技法を使って計算される、請求項１記載のシステム。
【請求項７】
前記コードが、前記記憶装置コントローラによって、前記記憶装置のデータ・メモリの内容の少なくとも一部分に基づく巡回冗長検査（CRC）を使って計算される、請求項１記載のシステム。
【請求項８】
内部コントローラをもつ半導体メモリ・デバイスをさらに有する、請求項１記載のシステム。
【請求項９】
セキュア・デジタル（SD）カード、マルチメディア・カード（MMC）、コンパクトフラッシュ（CF）カード、メモリースティックおよびUSBフラッシュ・ドライブからなる群から選択される少なくとも一つのメモリ・デバイスをさらに有する、請求項８記載のシステム。
【請求項１０】
xDカードをさらに有する、請求項８記載のシステム。
【請求項１１】
内部コントローラをもつ回転記憶媒体をさらに有する、請求項１記載のシステム。
【請求項１２】
前記回転記憶装置がハードディスク・ドライブ（HDD）である、請求項１１記載のシステム。
【請求項１３】
前記回転記憶装置が光ディスク・ドライブ（HDD）である、請求項１１記載のシステム。
【請求項１４】
前記処理装置が、デジタル・ビデオ・カメラ、パーソナル・コンピュータ、携帯情報端末（PDA）、プリンタ、テレビ、デジタル写真フレーム、携帯電話、ポータブル・メディア・プレーヤー、ゲーム機、キオスクおよび全地球測位システム（GPS）装置からなる群から選択される、請求項１記載のシステム。
【請求項１５】
前記ファイル・システム・データベース構造が前記処理装置の内部メモリの不揮発性部分に保存される、請求項１記載のシステム。
【請求項１６】
前記ファイル・システム・データベース構造が前記リムーバブル記憶装置に保存される、請求項１記載のシステム。
【請求項１７】
前記コードが複数のコードである、請求項１記載のシステム。
【請求項１８】
前記複数のコードが不揮発性メモリに記憶される、請求項１７記載のシステム。
【請求項１９】
リムーバブル記憶装置上の内容に対する修正を迅速に検出する方法であって：
メディア・プロセッサによってリムーバブル記憶装置からコードを読み、そのコードを前記リムーバブル記憶装置上の内容に修正がなされたことを示すためのメモリ中の以前に記憶されたコードと比較し；
前記リムーバブル記憶装置のコードの値が以前に記憶されたコードの値と等しいときにそのリムーバブル記憶装置のための以前に確立されたファイル・システム・データベース構造をマウントすることを含む、
方法。
【請求項２０】
前記コードを前記コントローラの不揮発性メモリ・スペースの連続的または非連続的な部分にまたがる一つまたは複数の既存のコントローラ・レジスタに保存することをさらに含む、請求項１９記載の方法。
【請求項２１】
前記コードを前記コントローラの不揮発性メモリ・スペースの連続的または非連続的な部分にまたがる一つまたは複数の一意的なコントローラ・レジスタに保存することをさらに含む、請求項１９記載の方法。
【請求項２２】
前記コードを前記不揮発性データ・メモリの一つまたは複数の連続的または非連続的な部分に保存することをさらに含む、請求項１９記載の方法。
【請求項２３】
前記コードを、前記記憶装置コントローラによって数学的技法を使って計算することをさらに含む、請求項１９記載の方法。
【請求項２４】
前記コードを、前記記憶装置コントローラによって擬似乱数発生技法を使って計算することをさらに含む、請求項１９記載の方法。
【請求項２５】
前記コードを、前記記憶装置コントローラによって、前記記憶装置のデータ・メモリの内容の少なくとも一部分に基づく巡回冗長検査（CRC）を使って計算することをさらに含む、請求項１９記載の方法。
【請求項２６】
内部コントローラをもつ半導体メモリ・デバイスを提供することをさらに含む、請求項１９記載の方法。
【請求項２７】
セキュア・デジタル（SD）カード、マルチメディア・カード（MMC）、コンパクトフラッシュ（CF）カード、メモリースティックおよびUSBフラッシュ・ドライブからなる群から選択される少なくとも一つのメモリ・デバイスを提供することをさらに含む、請求項２６記載の方法。
【請求項２８】
前記ファイル・システム・データベース構造を前記処理装置の内部メモリの不揮発性部分に保存することをさらに含む、請求項１９記載の方法。
【請求項２９】
前記ファイル・システム・データベース構造を前記リムーバブル記憶装置に保存することをさらに含む、請求項１９記載の方法。
【請求項３０】
コードを読むことがさらに、前記処理装置の電源投入に続いて前記リムーバブル記憶装置から前記コードを読むことを含む、請求項１９記載の方法。
【請求項３１】
コードを読むことがさらに、電源投入された処理装置への前記リムーバブル記憶装置の挿入に際して前記コードを読むことを含む、請求項１９記載の方法。
【請求項３２】
リムーバブル記憶装置であって：
コントローラと；
不揮発性メモリと；
ファイル・メモリ中の内容に対して修正がなされたことを示すために前記コントローラによって更新される、不揮発性メモリに記憶されたコードとを有する、
装置。
【請求項３３】
前記コードが前記コントローラの不揮発性メモリ・スペースの連続的または非連続的な部分にまたがる一つまたは複数の既存のコントローラ・レジスタに保存される、請求項３２記載の装置。
【請求項３４】
前記コードが前記コントローラの不揮発性メモリ・スペースの連続的または非連続的な部分にまたがる一つまたは複数の一意的なコントローラ・レジスタに保存される、請求項３２記載の装置。
【請求項３５】
前記コードが前記不揮発性メモリの一つまたは複数の連続的または非連続的な部分に保存される、請求項３２記載の装置。
【請求項３６】
前記コードが、前記記憶装置コントローラによって数学的技法を使って計算される、請求項３２記載の装置。
【請求項３７】
前記コードが、前記記憶装置コントローラによって擬似乱数発生技法を使って計算される、請求項３２記載の装置。
【請求項３８】
前記コードが、前記記憶装置コントローラによって、前記記憶装置のデータ・メモリの内容の少なくとも一部分に基づく巡回冗長検査（CRC）を使って計算される、請求項３２記載の装置。
【請求項３９】
内部コントローラをもつ半導体メモリ・デバイスをさらに有する、請求項３２記載の装置。
【請求項４０】
セキュア・デジタル（SD）カード、マルチメディア・カード（MMC）、コンパクトフラッシュ（CF）カード、メモリースティックおよびUSBフラッシュ・ドライブからなる群から選択される少なくとも一つのメモリ・デバイスをさらに有する、請求項３９記載の装置。
【請求項４１】
xDカードをさらに有する、請求項３９記載の装置。
【請求項４２】
内部コントローラをもつ回転記憶媒体をさらに有する、請求項３２記載の装置。
【請求項４３】
前記回転記憶装置がハードディスク・ドライブ（HDD）である、請求項４２記載の装置。
【請求項４４】
前記回転記憶装置が光ディスク・ドライブ（HDD）である、請求項４２記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概括的にはメディア処理システム（media  processing  system）に、より詳細にはメディア処理システムの処理装置と一緒に使うためのメモリ・カードおよび他の型のリムーバブル記憶装置（removable  storage  device）に関する。
【背景技術】
【０００２】
多くのメディア処理装置は、メモリ・カードまたはマイクロドライブを含む他の型のリムーバブル記憶装置を利用するよう構成されている。ここで、マイクロドライブという用語は、ハードディスク・ドライブ（HDD）のような回転磁気媒体または回転光学媒体を利用するリムーバブル記憶装置をいう。ユニバーサル・シリアル・バス（USB）コネクタをもつフラッシュ・ドライブは、メディア・ファイルの記憶のために一般に使用される別の型のリムーバブル半導体メモリ・デバイスである。
【０００３】
ある例示的な応用では、米国ニューヨーク州ロチェスターのイーストマン・コダック・カンパニーによって製造されるモデルV610のようなデジタル・カメラは、メモリ・カード挿入用に適応されたメモリ・カード・スロットを含む。メモリ・カードは、たとえば、セキュア・デジタル（SD:  Secure  Digital）またはマルチメディア・カード（MMC:  Multimedia  Card）を含みうる。デジタル・カメラによって取り込まれたデジタル画像はメモリ・カード中に記憶される。メモリ・カードは次いでデジタル・カメラから取り外され、パーソナル・コンピュータのような別の処理装置に付随するメモリ・カード・スロットに挿入されることができる。それによりその別の処理装置は、メモリ・カード上に記憶されている画像に対して閲覧、印刷、アーカイブ化、電子メール送信、アップロード、送信または他の処理をするために使うことができる。
【０００４】
別の例示的な応用では、米国カリフォルニア州フリーモントのレクサー・メディア社（Lexar  Media,  Inc.）によって製造されるモデルLDP-200のようなポータブル音楽プレーヤーがSDカード挿入用に適応されたメモリ・カード・スロットを含む。パーソナル・コンピュータのような別の処理装置によってSDカードに保存された音楽ファイル（MP3、WAVなど）がそのポータブル音楽プレーヤーによって再生できる。
【０００５】
リムーバブル記憶装置の内容のいずれかにアクセスするのに先立ち、処理装置はまずその内容を判別するために記憶装置をスキャンする必要がある。この動作は典型的には処理装置の電源投入の間に、あるいはリムーバブル記憶装置を電源投入された処理装置に挿入したすぐ後に行われる。このスキャンの結果は次いで一時的に処理装置の内部メモリにキャッシュされ、この手順はしばしばファイル・システムのマウントと称される。このキャッシュされたファイル・システムは次いで、処理装置によるリムーバブル記憶装置のファイルのいずれかへの迅速なアクセスを許容する。
【０００６】
残念ながら、このプロセスは現在のところ、メディア処理装置が電源投入されるたびに、あるいはリムーバブル記憶装置が電源投入された処理装置に挿入されるたびに繰り返される必要がある。リムーバブル記憶装置の容量が増加し続けるので、その関連するファイル・システムをマウントするのに必要とされる時間も増大し、その処理装置についての消費者のユーザー体験に対するマイナスの対応する影響がある。
【０００７】
米国特許第6,862,604号は、メモリ・カード・コントローラによるファイル使用データ構造の生成および維持を含む方法を開示している。ファイル使用データ構造はメモリ・カードそのものに存在し、そのカードへの新たなファイルの書き込みまたは既存のファイルの修正もしくは削除といった各ファイル変更操作の後にメモリ・カード・コントローラによって更新される。メモリ・カード・コントローラは、要求されたときに処理装置にファイル使用データ構造の内容を報告するよう構成される。この開示によって教示される方法は、少なくとも二つの欠点がある。第一に、所定のファイル使用データ構造の使用を課し、それにより処理装置製造業者による実装の柔軟性を制限する。第二に、処理装置に、その記憶装置の内容がある特定の処理装置によって最後に使われて以来、変化したかどうかを迅速に判別することを許容する簡単な方法を提供しない。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
したがって、リムーバブル記憶装置に動作可能に接続された処理装置が、そのリムーバブル記憶装置の内容が前記処理装置によって最後に使われて以来変更されたか否かを迅速かつ簡単に判別できるようにする手段が必要とされている。そのような手段の利用可能性は、処理装置が、そのリムーバブル記憶装置がその処理装置によって最後に使われて以来、そのリムーバブル記憶装置の内容に何の変更もなされなかった場合には、そのリムーバブル記憶装置のファイル・システムをすぐマウントすることを可能にする。
【課題を解決するための手段】
【０００９】
一般的な言い方では、本開示は、メディア処理のためのシステムおよび方法に、より詳細には、リムーバブル記憶装置上の内容に対して修正がなされたことを迅速に検出することに関する。
【００１０】
本発明の一つの側面は、リムーバブル記憶装置上の内容になされた修正の迅速な検出のためのシステムである。本システムは、そのリムーバブル記憶装置上の内容に修正がなされたことを示すコードを有するリムーバブル記憶装置と、リムーバブル記憶装置のコードを読み、そのコードをメモリ中の以前に記憶されたコードと比較し、リムーバブル記憶装置のコードの値が以前に記憶されたコードの値と等しいときにそのリムーバブル記憶装置のための以前に確立されたファイル・システム・データベース構造をマウントするメディア・プロセッサとを含む。
【００１１】
本発明のもう一つの側面は、リムーバブル記憶装置上の内容に対する修正を迅速に検出する方法である。本方法は、メディア・プロセッサによってリムーバブル記憶装置からコードを読み、そのコードをリムーバブル記憶装置上の内容に対する修正を示すためのメモリ中の以前に記憶されたコードと比較し、リムーバブル記憶装置のコードの値が以前に記憶されたコードの値と等しいときにそのリムーバブル記憶装置のための以前に確立されたファイル・システム・データベース構造をマウントすることを含む。
【００１２】
本発明のもう一つの側面は、リムーバブル記憶装置である。本装置は、コントローラ、不揮発性メモリおよび不揮発性メモリに記憶されたコードを含み、前記コードは、ファイル・メモリ中の内容に対して修正がなされたことを示すためにコントローラによって更新される。
【図面の簡単な説明】
【００１３】
【図１Ａ】処理装置および共有されるリムーバブル記憶装置を含むメディア処理システムのブロック図である。
【図１Ｂ】複数の処理装置および共有されるリムーバブル記憶装置を含むメディア処理システムのブロック図である。
【図２】半導体リムーバブル記憶装置の例示的な機能ブロック図である。
【図３】メディア処理装置の一つの型を表す、デジタル・スチール・カメラの例示的な機能ブロック図である。
【図４】互いに無線で接続された二つの処理装置が前記処理装置のうちの一方に物理的に接続されたリムーバブル記憶装置上のメディア・ファイルを利用するメディア処理システムのブロック図である。
【図５】電源投入および／またはリムーバブル記憶装置の挿入に続いてファイル・システムをマウントするために処理装置が従う基本ステップをまとめたフローチャートである。
【図６】ファイルまたはファイルの一部分をリムーバブル記憶装置に書き込むために処理装置が従う基本ステップをまとめたフローチャートである。
【発明を実施するための形態】
【００１４】
本稿では、本発明を、メディア処理システム、リムーバブル記憶装置および他の要素の具体的な実施形態との関連で例示する。しかしながら、これらの例示的な構成は、単に例として呈示されるのであり、本発明の範囲をいかなる仕方であれ限定するものと見なすべきでないことは理解しておくべきである。当業者は、開示される技法がストレートな仕方で幅広い多様な他のメディア処理システム、処理装置、リムーバブル記憶装置等との使用のために適応されることができることを認識するであろう。
【００１５】
図１Ａは、処理装置１０および共有されるリムーバブル記憶装置２０を含むメディア処理システムのブロック図である。メディアという用語は、これに限られないが、デジタル・スチール画像、デジタル・ビデオ、文書、マップ、音楽およびゲームを含む。図示したメディア処理装置１０は、のちにより詳細に述べるようにいかなるメディア・プロセッサであってもよい。リムーバブル記憶装置２０は、これに限られないが、メモリ・カードまたはフラッシュ・ドライブのような半導体デバイスならびに回転磁気媒体または光学記憶媒体を利用するマイクロデバイス装置を含むことができる。メディア・ファイル型は、スチール画像、ビデオ、音楽、ゲーム、GPSマップ、文書などを含みうる。
【００１６】
図１Ｂは、さまざまな型のメディア処理装置１０ａ〜ｌおよびそれらのメディア処理装置１０ａ〜ｌの任意のものの間で共有されることのできるリムーバブル記憶装置２０を含むメディア処理システムのある実施形態を示している。メディア処理装置１０ａ〜ｌは、たとえばリムーバブル記憶装置２０をメディア処理装置１０ａ〜ｌの一つに挿入することによって、リムーバブル記憶装置２０と結合される。しかしながら、実施形態はリムーバブル記憶装置２０をメディア処理装置１０ａ〜ｌの一つに挿入することに限定されるものではなく、装置１０ａ〜ｌと２０の間にいかなる好適な接続がなされることもできる。図示したメディア処理装置１０ａ〜ｌは、これに限られないが、デジタル・スチール・カメラ１０ａ、デジタル・ビデオ・カメラ１０ｂ、デジタル写真フレーム１０ｃ、テレビ１０ｄ、パーソナル・コンピュータ（ＰＣ）１０ｅ、携帯情報端末（ＰＤＡ）１０ｆ、ゲーム機１０ｇ、全地球測位システム１０ｈ、携帯電話１０ｉ、ポータブル・メディア・プレーヤー１０ｊ、キオスク１０ｋおよびプリンタ１０ｌを含む。
【００１７】
図２は、２００６年５月９日付けの、SDカード協会によって公開されたSD仕様書、第１部、物理層仕様、バージョン2.00の図３〜１２に実質的に記載されているような例示的な半導体リムーバブル記憶装置２０の機能ブロック図を示している。この図は、本発明のさまざまな実施形態の説明の基礎となるが、本発明の範囲をこの特定の機能的アーキテクチャをもつリムーバブル記憶装置２０に限定することを意図したものではない。リムーバブル記憶装置２０は少なくとも、記憶装置コントローラ２１、不揮発性データ・メモリ２５すなわちファイル・メモリおよび一組の不揮発性レジスタ２４を有する。一組の不揮発性レジスタ２４は少なくとも、書き込みコード・レジスタ（WCR:  write  code  register）２２およびカード識別レジスタ（CID:  card  identification  register）２３を含みうる。Nビット書き込みコード・レジスタ２２は一つまたは複数のコードを含み、各コードはMビットの二進情報を有し（ここで、MはN以下である）、それは記憶装置コントローラ２１に属する不揮発性レジスタ２４メモリ・スペース内に連続的または非連続的に位置される。あるいはまた、前記一つまたは複数のコードは、複数のメモリ・パーティションまたはメモリ・セグメントに機能的に区分されうる前記記憶装置２０の不揮発性データ・メモリ・スペース２５の一つまたは複数の連続的または非連続的な部分を占めてもよい。カード識別レジスタ２３は、少なくとも製造業者コードおよびシリアル番号を含む。これらは一緒になってそのカードを他のあらゆるカードから一意的に識別する。
【００１８】
図３は、図１におけるメディア処理装置１０の一つの型を表すデジタル・スチール・カメラ（digital  still  camera）３００の例示的な機能ブロック図を示している。ＤＳＣ３００は、シーンからの画像ごとの光を受領し、その光をＣＭＯＳイメージャ３１０上に合焦させるレンズ３０４を有する。ＣＭＯＳイメージャ３１０は、レンズ３０４から合焦された画像ごとの光を受領し、合焦された画像ごとの光の各ピクセルを対応する電気的信号に変換する二次元イメージ・センサー・アレイ３１４と、各ピクセルからの電気的信号をそのピクセル信号の大きさを表すデジタル・コードに変換するアナログ‐デジタル（Ａ／Ｄ）コンバータ３１６と、ＣＭＯＳイメージャの動作を制御するためのタイミング発生器３１２とを有する。不揮発性フラッシュ・メモリ３０２は、ＣＭＯＳイメージャ３１０によって要求されるさまざまな設定パラメータを含む。ＣＭＯＳイメージャ３１０からの生のデジタル画像データは、ユーザー・コントロール３３０を介して入力されるユーザー・コマンドに応答してのＤＳＣのデジタル・プロセッサ３２０によるその後の処理のためにビデオ・レートでＤＲＡＭバッファ・メモリ３１８に送られる。
【００１９】
デジタル・プロセッサ３２０は、内部的な不揮発性ファームウェア・メモリ３２８に含まれるアルゴリズム命令に従ってＤＲＡＭバッファ３１８から生の画像データを処理する。中間結果はＲＡＭ３２２に保存される。処理はたとえば、CFA色サンプルから少なくとも三つの完全な色平面を生成する色フィルタ・アレイ（CFA:  color  filter  array）補間、イメージャ３１０内の欠陥ピクセルの補正、意図される表示装置のための色および階調スケール（tone-scale）補正および画像詳細の鮮鋭化を含みうる。処理された画像は次いで不揮発性画像／データ・メモリ３３０またはリムーバブル記憶装置２０に記憶されうる。画像はたとえば、人気のあるＪＰＥＧ画像フォーマットを使って圧縮され、ＥＸＩＦのようなファイル・フォーマットを使って保存されてもよい。ライブのまたは保存された画像は、内蔵カラー・ディスプレイ３３２上で見られてもよく、無線モデム３５０を介して無線リンク３５２を使って他の処理装置１０の間で共有されてもよい。無線リンクはたとえば、ＩＥＥＥ８０２．１１ファミリーの規格の一つまたは複数において記載されているものなどである。画像は、ＤＳＣ３００と他の処理装置１０との間で、パーソナル・コンピュータのような別の処理装置１０に動作可能に接続されているコンパニオン・ドック／充電器３６４へのドック・インターフェース３６２を介して共有されてもよい。画像は、ＤＳＣ３００と他の処理装置１０との間で、たとえばユニバーサル・シリアル・バス（USB）のような有線接続３７０を介して共有されてもよい。記憶、保存、閲覧などは、プロセッサ３２０に結合されたユーザー・コントロール３３４によって制御されることができる。しかしながら、本発明は、プロセッサ３２０に結合されているユーザー・コントロール３３４に限定されるものではなく、任意の好適なコントロールが使用できる。
【００２０】
図４は、メディア処理システムのブロック図を示している。ここで、互いに無線で接続された二つのメディア処理装置４１０および４２０は、それらの処理装置の一方に物理的に接続されたリムーバブル記憶装置４３０上のメディア・ファイルを利用する。この例示的な応用では、第一の処理装置４１０がリムーバブル記憶装置４３０にアクセスするのは、リムーバブル記憶装置４３０が挿入されている第二の処理装置４２０を介して代理的にである。
【００２１】
〈記憶装置マウント〉
本発明の有利な側面を理解するための基本的な理解を読者に与えるために、ここで、リムーバブル記憶装置１０をマウントするために要求されるステップについての概観とその関連するファイル・システムを与えておく。
【００２２】
処理システム１０が最初に電源投入されるとき、処理システム１０は、リムーバブル記憶装置２０の存在を検査する。存在していれば、処理装置はまず、いくつかの雑多なタスクを実行する。雑多なタスクとは、リムーバブル記憶装置２０にそれがどんな型の装置（MMC、SD、マイクロドライブ等）であるかを知るために問い合わせる、その相対アドレス、動作電圧、転送スピード、データバス幅などを設定するといったことである。識別は、記憶装置の少なくとも製造業者およびシリアル番号を含みうる。処理装置はまた、記憶装置が書き込み保護（ロック）されているかどうかを判定し、必要とされる部分メモリ保護（partial  memory  protection）があればそれをセットアップする。
【００２３】
処理装置１０は次いで、ブート・レコードを得るために、記憶装置２０の少なくとも一つのメモリ・パーティションのブート・セクタを読む。ブート・レコードは、その記憶装置をフォーマットした製造業者のシステム名を同定し、またBIOSパラメータ・ブロック（BPB:  bios  parameter  block）をも含む。BPBは使用されるファイル・アローケーション・テーブル（file-allocation  table）（FAT12、FAT16またはFAT32）を同定する。次いで、ルート・ディレクトリおよびFATテーブルの位置を指示するためにポインタが生成される。次いでFATテーブルが検査されて、利用可能な空きクラスタの数を決定する。ここで、各クラスタは、所定のバイト数を含むメモリ・スペースの連続部分を表す。
【００２４】
〈ファイル・システム・マウント〉
ひとたび記憶装置２０がマウントされ、既存のファイル・システム・データベース構造がない場合、処理装置１０は、記憶装置２０に含まれるファイルに関する情報を保持するために使われることになる内部データベース構造を生成する。処理装置１０は次いで、記憶装置２０のルート・ディレクトリを探索して存在しているフォルダを判別する。処理装置１０にとって特に関心のある特定の諸フォルダの存在を探してもよい。たとえば、ポータブル音楽プレーヤーは、通例はMusicまたはAudioという名のフォルダ内に保存されるであろう音楽ファイルの存在にのみ関心があることがありうる。ＤＳＣは、通例はDCIM（Digital  Camera  Images［デジタル・カメラ画像］）という名のフォルダに保存されるであろうスチールまたはビデオ画像ファイルの存在にのみ関心があることがありうる。DCIMフォルダは、カメラ・ファイル・システムのための設計規則（DCF:  Design  rules  for  Camera  File  system）に従ってさまざまな製造業者からのＤＳＣまたはＤＶＣによって生成されるスチールまたはビデオ画像をもつ一つまたは複数のフォルダを含んでいてもよい。例示的な応用では、ＤＳＣは各ＤＣＦフォルダを構文解析〔パース〕して存在しているスチールまたはビデオ画像ファイルのすべてを判別し、以前に生成されたデータベース構造にしかるべく入れる。任意の特定の処理装置１０はまた、その特定の処理装置１０にとって関心あるものでありうる他のデータを含みうる他のフォルダおよびファイルの存在を探してもよく、次いでこれらのフォルダおよびファイルの存在に基づいて追加的な動作を実行してもよい。
【００２５】
〈本発明の実施形態〉
本発明の理解の簡単のため、以下の実施形態は、リムーバブル記憶装置２０に書き込まれるファイルのコンテキストで述べられる。しかしながら、特定のファイルの内容の削除、移動または変更といった他のファイル操作も、記憶装置２０のファイル・アロケーション・テーブル（FAT）における変化を引き起こし、したがって本発明の教示に従って記憶装置２０の内容への変更として記録されねばならない。また、前記ファイルまたはFATテーブル・エントリーのどれにも影響することなく、記憶装置２０内で制御レジスタの内容を変更する記憶装置コマンドもありうる。読者は、記憶装置２０内のFATテーブル・エントリーへの対応する変化を引き起こさないそのような操作が本発明の教示から除外されることを理解するであろう。
【００２６】
図１および図２に基づく本発明の第一の実施形態では、リムーバブル記憶装置２０は、記憶装置２０への各書き込み動作後に記憶装置コントローラ２１によって更新される少なくとも単一のコードを含むレジスタ２２を含んでいる。しかしながら、本発明は単一のコードやレジスタ２２内のコードに限定されるものではなく、いかなる好適なコードおよびレジスタも使用できる。レジスタ２２は、記憶装置コントローラ２１の不揮発性レジスタ・メモリ・スペース２４内に連続的または非連続的に位置される複数のNビットを含む。この実施形態では、コードは、記憶装置２０への各書き込み操作後に記憶装置コントローラ２１によって算術的に変更されるMビット二進数であり、ここで、Mはレジスタ２２内の総ビット数N以下である。書き込み操作の回数がMビット二進コードの容量を超えるときは、コード値はオーバーフローまたはアンダーフローし、Mビットの打ち切られた余りが、記憶装置２０への相続く各書き込み操作とともに算術的に変わり続ける。コード値を変更する一つのそのような算術的方法は、コードの現在の値に単純に値「1」を加えるか引くかすることであるが、他の技法も本発明の範囲内で許容可能である。
【００２７】
たとえば処理装置１０による記憶装置２０への各書き込み操作に続いて、処理装置１０は、レジスタ２２の内容を読むための記憶装置２０への適切なコマンドを発する。上で参照したSD仕様書では、このコマンドはたとえば一般コマンドCMD56であることができる。これは、SD仕様書によって許容されている任意的な、ベンダー固有コマンドである。このコマンドに応答して、記憶装置２０のコントローラ２１はレジスタ２２の内容を処理装置１０に返す。処理装置１０は次いで少なくとも、記憶装置２０から読まれたコードの値を、図３に示されるようなそれ自身の内部不揮発性メモリ３３０内のある連続的または非連続的な位置に保存する。このプロセスは、記憶装置２０への各完全なファイルの書き込みに続いて実行されても、あるいは記憶装置２０に単一の大きなファイルを保存するために要求されうる複数回の書き込み操作のそれぞれに続いて実行されてもよい。記憶装置２０のための処理装置の内部的にキャッシュされたファイル・システム・データベース構造も、記憶装置２０に書き込まれた各ファイルの完了に続いて更新される。処理装置１０の電源オフの直前に、あるいは電源投入された処理装置１０からの記憶装置２０の取り出し直前にも、記憶装置ファイル・システム・データベース構造の以前にキャッシュされたバージョンは、処理装置自身の内部の不揮発性メモリ３３０内の連続的または非連続的な位置に保持される。
【００２８】
処理装置１０の電源投入に続いて、または電源投入された処理装置１０へのリムーバブル記憶装置２０の挿入に続いて、処理装置１０は記憶装置２０に、レジスタ２２の内容を読むための適切なコマンドを発する。ここでもまた、このコマンドはたとえば、SD仕様書によって許容されている任意的な、ベンダー固有コマンドである一般コマンドCMD56であることができる。このコマンドに応答して、記憶装置２０のコントローラ２１はレジスタ２２の内容を処理装置１０に返す。処理装置１０は次いで少なくとも、記憶装置２０から読まれたコードの値と処理装置の内部の不揮発性メモリ３３０に記憶されたコードの値との間の比較を実行する。不揮発性メモリ３３０にコードが記憶されたのは、処理装置１０の直前のシャットダウンまたは電源投入された処理装置１０からのリムーバブル記憶装置２０の取り出しに先行して、あるいは記憶装置２０への最後の書き込み操作に続いてである。比較によってそれらのコードの値が等しいことが示されれば、処理装置１０が記憶装置２０を最後に使って以来記憶装置２０の内容に何の変化も起こらなかった。この場合、処理装置１０は、処理装置１０の直前のシャットダウンまたは電源投入された処理装置１０からのリムーバブル記憶装置２０の取り出しに先行して、あるいは記憶装置２０への最後の書き込み操作に続いて自分自身の内部の不揮発性メモリ３３０にキャッシュされたファイル・システム・データベース構造を使用する。こうして、リムーバブル記憶装置２０のための前記ファイル・システムは、処理装置１０によってその時点で（instantly）マウントされたと考えられる。しかしながら、比較によってそれらのコードの値が等しくないことが示される場合には、処理装置２０が最後に記憶装置２０を使って以降に記憶装置２０の内容に変化が生じたことになる。この場合、処理装置１０は、リムーバブル記憶装置２０のための新しいファイル・システム・データベース構造を生成することに進む。これは、ファイル・システム・マウントと題する節における上記の手順に従って行われる。
【００２９】
図２に基づく本発明の第二の実施形態では、リムーバブル記憶装置２０のためのファイル・システム・データベース構造は、処理装置１０の電源オフの直前または電源投入された処理装置１０からの記憶装置２０の取り出し直前に、記憶装置２０上にファイルとして保存される。記憶装置２０上のファイルの位置へのアドレス・ポインタも、記憶装置２０の関連付けられたIDとともに、処理装置自身の内部不揮発性メモリ３３０内の連続的または非連続的な位置に保存される。ファイルが処理装置１０によって記憶装置２０に書き込まれたのち、処理装置１０は記憶装置２０に対して、レジスタ２２の内容を読むよう適切なコマンドを発する。ここでもまた、このコマンドは、たとえば、SD仕様書によって許容されている任意的な、ベンダー固有コマンドである一般コマンドCMD56であることができる。このコマンドに応答して、記憶装置２０のコントローラ２１はレジスタ２２の内容を処理装置１０に返す。処理装置１０は次いで少なくとも、記憶装置２０から読まれたコードの値を、それ自身の内部の不揮発性メモリ３３０内の連続的または非連続的な位置に、関連するファイル・ポインタおよび記憶装置IDとともに保存する。本発明のこの第二の実施形態では、本発明の第一の実施形態との関連で述べたように記憶装置２０および処理装置１０内のコード値が等しいことが見出される場合には、記憶装置２０上にキャッシュされたファイル・システム・データベース構造が処理装置１０によって読み戻されて、処理装置１０の電源投入または電源投入された処理装置１０への記憶装置２０の挿入に続いて、記憶装置２０のためのファイル・システムを即座にマウントするために使われる。この実施形態は、処理装置１０が、該処理装置１０とともに使われうる潜在的に多数に上る記憶装置２０について複数のファイル・システムを内部的に保存することを要求せず、そうでなければ要求されたはずの追加的な不揮発性メモリをなくすという点で有利である。この実施形態はまた、記憶装置ファイル・システムのローカルなコピーへの処理装置１０による迅速なアクセスという利点をもつが、処理装置１０への電力が予期せず落ちた場合、あるいは記憶装置２０が予告なく処理装置１０から取り出された場合には、ファイル・システムが記憶装置２０に書かれないという潜在的なリスクを抱えている。
【００３０】
第二の実施形態の欠点を克服する試みにおいて、本発明の第三の実施形態では、記憶装置２０のためのファイル・システム・データベース構造がまず、〈ファイル・システム・マウント〉と題された節で上記した手順に従って生成される。このファイル・システム・データベース構造は次いですぐ記憶装置２０にファイルとして保存され、ローカル・コピーが、記憶装置２０上の関連付けられたファイルの位置へのアドレス・ポインタとともに、処理装置のメモリ内に保持される。処理装置１０によって記憶装置２０に新しいファイルが書き込まれるたびに、処理装置１０はファイル・システムのローカル・コピーおよび記憶装置２０上に保存されたファイル・システム・ファイルの両方ならびに必要に応じてファイルのアドレス・ポインタを更新する。
【００３１】
本発明の第四の実施形態では、コード値はリムーバブル記憶装置２０のコントローラ２１によって、擬似乱数発生アルゴリズムを使って生成され、結果が記憶装置２０のレジスタ２２に保存される。処理装置１０によるコードの使用は次いで本発明の第一、第二または第三の実施形態との関連で述べたように進む。
【００３２】
本発明の第五の実施形態では、コード値は、記憶装置の不揮発性データ・メモリ２５の少なくとも一部分の内容に基づいて、巡回冗長検査（CRC）アルゴリズムを使ってリムーバブル記憶装置２０のコントローラ２１によって生成され、結果が記憶装置２０のレジスタ２２に保存される。処理装置１０によるコードの使用は、次いで、本発明の第一、第二または第三の実施形態との関連で述べたように進む。
【００３３】
本発明の第六の実施形態では、Mビット・コードは、記憶装置２０の不揮発性データ・メモリ・セクション２５内のどこかに連続的または非連続的に位置されるメモリのNビット・セグメント内に記憶される（ここで、MはN以下）。処理装置１０によるコードの生成および使用は、次いで、本発明の前述した実施形態の一つまたは複数との関連で述べたように進む。
【００３４】
本発明の第七の実施形態では、複数のメモリ・パーティションおよび／またはメモリ・セグメントを含みうる記憶装置２０の各メモリ・パーティションおよび／またはメモリ・セグメントについて、別個のコードが維持され、更新される。前記複数の別個のコードのそれぞれは、それ自身の別個のレジスタまたはメモリ位置に、あるいは前述した実施形態との関連で述べたような共通のレジスタまたはメモリ位置内に含まれる。処理装置１０によるコードの生成および使用は、次いで、本発明の前述した実施形態の一つまたは複数との関連で述べたように進む。
【００３５】
本発明の第八の実施形態では、図４に示されるように、第一の処理装置４１０は、リムーバブル記憶装置４３０が物理的に位置される第二の処理装置４２０に無線で接続される。無線接続は当技術分野で知られている諸方法のいずれを介してであってもよい。それは、これに限られないが、IEEE802.11ファミリーの規格において記載されているようなブルートゥースまたはWiFiのようなRF技術を含む。この例示的な応用では、第一の処理装置４１０が記憶装置４３０に、記憶装置４３０が挿入されている第二の処理装置４２０を介して代理によってアクセスする。この実施形態の第一の例示的な適用においては、デジタル写真フレーム（DPF:  digital  picture  frame）は周期的に、無線で、DPFが表示するための何らかの新しい画像があるかどうかを判定するためにDSCに対して問い合わせる。この適用において、DPFは、DSCからDPFに最後の諸画像が送信されたときに保存された少なくとも一つの記憶装置コード値を、前記問い合わせに応答してDSCによって返された現在の少なくとも一つの記憶装置コード値と比較する。記憶装置IDおよび比較されたコードが同じであれば、表示すべき新しい画像はない。しかしながら、少なくとも一つの比較されたコード値の一つまたは複数が異なる場合には、DPFおよびDSCは、新しい画像を判別し、新しい画像がDSCからDPFに送信されることを可能にするプロセスに従事する。
【００３６】
この実施形態の第二の例示的な適用では、デジタル写真フォーンが、ユーザーのオンライン・アカウントに新しい画像をアップロードするために、携帯電話サービス・プロバイダーを介して、コダック・ギャラリーのようなオンライン画像サービス・プロバイダーに無線で通信する。この適用では、オンライン・アカウント・サーバーは、最後の諸画像がデジタル写真フォーンからオンライン・アカウントに送信されたときに保存された少なくとも一つの記憶装置コード値を、オンライン・サーバーからの問い合わせに応答してデジタル写真フォーンによって返された現在の少なくとも一つの記憶装置コード値と比較する。記憶装置IDおよび比較されたコードが同じであれば、アップロードすべき新しい画像はない。しかしながら、前記少なくとも一つの比較されたコード値の一つまたは複数が異なる場合には、デジタル写真フォーンおよびオンライン・サーバーは、新しい画像を判別し、新しい画像がデジタル写真フォーンからユーザーのオンライン・アカウントに送信されることを可能にするプロセスに従事する。
【００３７】
〈互換性〉
本発明の以上の実施形態は、本発明の一つまたは複数の実施形態を実施する処理装置１０およびリムーバブル記憶装置２０のコンテキストで記載されてきたが、当業者には、本発明のどの実施形態もサポートしない処理装置１０および／またはリムーバブル記憶装置２０が多数、市場で入手可能でありうることは明らかであろう。この理由のため、他の装置の間の互換性を保証するために、本発明の上記の実施形態と関連して以下の追加的なステップが実施されることができる。
【００３８】
市場にある他のリムーバブル記憶装置２０との互換性を維持するために、本発明の実施形態の一つまたは複数を実施する処理装置１０が、ある特定のリムーバブル記憶装置２０も本発明の実施形態の一つまたは複数をサポートすることを保証するためにまずチェックすることが必要である。これは、処理装置１０の電源投入の間に、あるいは電源投入された処理装置１０へのリムーバブル記憶装置２０の挿入の間に、記憶装置２０に問い合わせしてその製造業者コードおよびシリアル番号が一緒になってその記憶装置２０を本発明の一つまたは複数の実施形態を実施する装置として同定するかどうかを判定することによって、達成される。図２に機能的に示されるようなリムーバブル記憶装置２０がセキュア・デジタル（SD）カードである例示的な応用では、製造業者コードおよびシリアル番号はカード識別（CID:  card  identification）レジスタ２３に含まれる。処理装置１０が、記憶装置２０が実際に本発明の実施形態の一つまたは複数を実施すると判定する場合、そのような記憶装置２０との処理装置１０の動作は、本発明の実施形態の一つまたは複数との関連で上記したように進む。そのような場合、即座ファイル・システム・マウント（instant  file  system  mounting）の利点が利用可能である。しかしながら、処理装置１０が、記憶装置２０が本発明の実施形態の一つまたは複数を実施しないと判定する場合、処理装置は、〈ファイル・システム・マウント〉と題する節で上記した手順に従って、そのリムーバブル記憶装置２０のための新しいファイル・システム・データベースを生成しなければならない。
【００３９】
本発明の実施形態の一つまたは複数を実施するリムーバブル記憶装置２０が、本発明のいかなる側面も実施しないいかなる処理装置１０とも互換であることは明らかである。そのような場合、前記一つまたは複数の一意的なコードの少なくとも一つは、記憶装置の特定のメモリ・セグメントへの書き込み動作に続いて、記憶装置コントローラ２１によって更新されるが、処理装置１０は単にそのようなコードの存在に気づかないだけでよい。
【００４０】
〈まとめ〉
図５は、本発明の教示を、電源投入および／またはリムーバブル記憶装置の挿入後にファイル・システムをマウントするために処理装置によって行われる基本的なステップを例示するフローチャート５００の形でまとめている。電源投入５０５に続いて、処理装置はリムーバブル記憶装置が存在するかどうかをチェックする（５１０）。リムーバブル記憶装置が存在しなければ、処理装置は挿入されるのを待ち、この時間の間に他のユーザー要求タスクを実行してもよい（５１５）。記憶装置が存在するまたはあとで処理装置に挿入される場合、処理装置は、〈記憶装置マウント〉と題する上記の節で述べたように記憶装置をマウントすることに進む（５２０）。ひとたび記憶装置がマウントされると、処理装置は、その記憶装置が本発明の実施形態の一つまたは複数を実施しているかどうかを判定する（５２５）。実施していない場合、処理装置は、〈ファイル・システム・マウント〉と題する上記の節で述べたように新しいファイル・システム・データベース構造を生成することに進む（５３０）。しかしながら、記憶装置が本発明の一つまたは複数の実施形態を実施していると見出される場合には、処理装置は、この記憶装置がその処理装置とともに以前に使われたことがあるかどうかを見るべく検査する。もし使われたことがなければ、処理装置は〈ファイル・システム・マウント〉と題する上記の節で述べたように新しいファイル・システム・データベース構造を生成することに進む（５３０）。しかしながら、この記憶装置がその処理装置と一緒に以前に使われたことがある場合には、処理装置は、記憶装置から一つまたは複数のコード値を読む（５４０）ことに進み、そのコード値を処理装置内に保存されている一つまたは複数のコード値と比較する（５４５）。比較は、それらのコードが等しいかどうかを判定する（５４５）。比較されたコードの一つまたは複数が同じでない場合には、処理装置は〈ファイル・システム・マウント〉と題する上記の節で述べたように新しいファイル・システム・データベースを生成することに進む（５３０）。前記一つまたは複数の比較されたコードが同じ場合には、処理装置は、ファイル・システム・データベース構造が内部的にキャッシュされているか否かを見るべく検査する（５５５）。もし内部的にキャッシュされていれば、そのファイル・システム・データベース構造がすぐ使うために参照され（５６０）、そうでなければ、ファイル・システム・データベース構造は、内部的にキャッシュされているファイル・ポインタを参照として使って記憶装置から読まれる。
【００４１】
図６は、本発明の教示を、ファイルを記憶装置に書き込むために処理装置が行う基本的ステップを例示するフローチャート６００の形でまとめている。記憶装置への書き込み操作６１０の完了に続いて、処理装置は、ファイル操作が完了しているかどうかを見るべく検査する（６２０）。もしまだであれば、処理装置は記憶装置への書き込み操作を実行することに進む。ひとたびファイル操作が完了したら、処理装置は、その変更を反映するよう、内部的にキャッシュされているファイル・システム・データベース構造を更新する（６３０）。外部的にキャッシュされたファイル・システム・データベース構造がない場合には、処理装置は記憶装置からコード（単数または複数）を読み（６５０）、それを自らの不揮発性データ・メモリに保存する（６６０）ことに進む。しかしながら、記憶装置にもファイル・システム・データベース構造のコピーが保存される場合には、処理装置は外部ファイル・システム・データベース構造ファイルをしかるべく更新し（６７０）、そのファイルへのアドレス・ポインタを自らの内部不揮発性データ・メモリ内に保存する（６８０）。処理装置は次いで、記憶装置から前記コード（単数または複数）を読み、それらを自らの不揮発性データ・メモリに保存することに進む。
【００４２】
本発明について、そのある種の好ましい実施形態を具体的に参照して詳細に述べてきたが、本発明の精神および範囲内で変形および修正が実施できることは理解されるであろう。たとえば、本発明についてデジタル・スチール画像を処理する処理装置を具体的に参照して述べてきたが、本発明は、デジタル・ビデオ、文書、GPSマップ、音楽、ゲームなどといった他の型のメディア・ファイルを記憶するリムーバブル記憶装置ならびに異なるメディア・ファイル種別を同時に記憶できるリムーバブル記憶装置における応用にも等しく好適である。本発明はまた、これらの代替的なメディア・ファイル種別を処理する処理装置と一緒に使うためにも適用可能である。
【符号の説明】
【００４３】
１０  メディア処理装置
１０ａ‐ｌ  メディア処理装置
２０  リムーバブル記憶装置
２１  記憶装置コントローラ
２２  書き込みコード・レジスタ（WCR）（記憶装置２０の一部）
２３  カード識別レジスタ（CID）（記憶装置２０の一部）
２４  不揮発性レジスタ（記憶装置２０の一部）
２５  不揮発性データ・メモリ（記憶装置２０の一部）
３００  デジタル・スチール・カメラ（DSC）
３０２  フラッシュ・メモリ
３０４  レンズ
３１０  CMOSイメージャ
３１２  タイミング生成器（CMOSイメージャ３１０の一部）
３１４  イメージ・センサー・アレイ（CMOSイメージャ３１０の一部）
３１６  A/D変換器（CMOSイメージャ３１０の一部）
３１８  DRAMバッファ・メモリ
３２０  デジタル・プロセッサ
３２２  ランダム・アクセス・メモリ（RAM）
３２８  ファームウェア・メモリ
３３０  画像／データ・メモリ
３３２  カラー・ディスプレイ
３３０  ユーザー・コントロール
３５０  無線リンク
３６２  ドック・インターフェース
３６４  ドック／充電器
３７０  有線リンク
４１０  第一の処理装置
４２０  第二の処理装置
４３０  リムーバブル記憶装置
５００  フローチャート
５０５  ステップ
５１０  ステップ
５１５  ステップ
５２０  ステップ
５２５  ステップ
５３０  ステップ
５３５  ステップ
５４０  ステップ
５４５  ステップ
５５０  ステップ
５５５  ステップ
５６０  ステップ
６００  フローチャート
６１０  ステップ
６２０  ステップ
６３０  ステップ
６４０  ステップ
６５０  ステップ
６６０  ステップ
６７０  ステップ
６８０  ステップ
【図１Ａ】
2010536091.tif 000003
【図１Ｂ】
2010536091.tif 000004
【図２】
2010536091.tif 000005
【図３】
2010536091.tif 000006
【図４】
2010536091.tif 000007
【図５】
2010536091.tif 000008
【図６】
2010536091.tif 000009
【国際調査報告】
2010536091.tif 000010
2010536091.tif 000011
2010536091.tif 000012