(57)【要約】【課題】ユーザにわかりやすい検索システムを提供すること。【解決手段】メモリ管理システムおよび方法は、一実施形態において、メタデータ（１２５）を表すハッシュテーブル（１３５）におけるインデックス位置と、インデックス位置にセーブされるファイルのメモリアドレスとを含む。そして、メタデータ（１２５）をハッシュ関数（１３０）に入力して、メモリアドレスが格納されるメタデータ（１２５）をインデックス位置に変換して、ハッシュテーブル（１３５）をプロセッサによって検索可能とする。【選択図】図１
2004326772.tif 000002
【特許請求の範囲】
【請求項１】
メモリ管理システムであって、
メタデータを表すハッシュテーブルにおけるインデックス位置と、
該インデックス位置にセーブされるファイルのメモリアドレスと、
を備え、
メタデータをハッシュ関数に入力し、前記メタデータを前記メモリアドレスが格納される前記インデックス位置に変換することにより、前記ハッシュテーブルがプロセッサによって検索可能である、メモリ管理システム。
【請求項２】
プロセッサと通信する第１のメモリの前記メモリアドレスにセーブされるファイルをさらに備える請求項１に記載のメモリ管理システム。
【請求項３】
前記ファイルは、メタデータフィールドにメタデータを有するファイルインタフェースを備える、請求項２に記載のメモリ管理システム。
【請求項４】
プロセッサは、前記メタデータを前記インデックス位置に変換する前記ハッシュ関数がプログラムされる、請求項１に記載のメモリ管理システム。
【請求項５】
前記プロセッサと通信する第２のメモリであって、第１のメモリ障害時に冗長性を提供する前記ファイルの複製コピーを有する第２のメモリをさらに備える請求項２に記載のメモリ管理システム。
【請求項６】
前記プロセッサと通信するデータバスと、
前記第１のメモリを前記プロセッサに接続する、前記データバスから離れている第１のデータ経路と、
前記第２のメモリを前記プロセッサに接続する、前記データバスから離れている第２のデータ経路と、
をさらに備える請求項５に記載のメモリ管理システム。
【請求項７】
前記データバスと通信するハブであって、前記ファイルを前記プロセッサに提供するハブをさらに備える請求項６に記載のメモリ管理システム。
【請求項８】
前記プロセッサと通信する内部メモリであって、前記メタデータフィールドに対し計算されたメタデータを生成するアルゴリズムを格納する内部メモリをさらに備える請求項１に記載のメモリ管理システム。
【請求項９】
前記第２のメモリにおける前記ハッシュテーブルの複製コピーであって、第１のメモリ障害時に冗長性を提供する複製コピーをさらに備える請求項２に記載のメモリ管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電子システムに関し、特に、メモリ管理システムおよび方法に関する。
【背景技術】
【０００２】
デジタル音楽、音声、画像、映画または他の符号化データを取込み、作成し、格納し、操作しおよび／または転送する電子機器は、安価な半導体処理が出現し消費者の需要が増大したことによってさらに普及してきた。ポータブルＭＰ３（ムービング・ピクチャ・エキスパート・グループ・レイヤ３規格）プレイヤー、ＰＤＡ（電子携帯情報端末）、デジタルカメラおよびデジタル音声レコーダー等のアプリケーションは、人気があり続けている。これらの電子アプリケーションの各々に対する一般的な傾向は、低いコストでより高いデータ記憶能力を提供するということである。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、これらのアプリケーションにおいてメモリを大きくすることにより、ユーザが特定のファイルの位置を特定しようと試みる検索時間が増大することになる。ＭＰ３プレイヤーは、潜在的に多くの異なるジャンルから何百もの曲を格納することができる。デジタルカメラは、様々な題材を取込む何百もの画像を格納することができる。特定のファイルを編成し検索することは、時間のかかるプロセスである。
【０００４】
データを編成し検索するために、あらゆるタイプのハッシュ法が使用されている。各レコードが編成するために単一キーを有する場合、オープン・アドレスハッシュ法を使用することができる。この方法では、ハッシュ関数ｆ（Ｋ）が、そのキーを、レコードをセーブするハッシュテーブルのインデックス位置（index location:インデックスロケーション）に変換する。Kyle Loudon著「Mastering Algorithms with C」O'Reilly & Associates 1st ed.、pp141-142、August 1999参照。後に、ハッシュ関数にキーを再入力してレコードのインデックス位置を見つけることにより、レコードを見つけることができる。別の形態のハッシュ法である拡張可能ハッシュ法は、キーを使用して、ファイルをセーブするメモリの部分を確定する。一例では、ハッシュ関数を、ディスクページへのポインタを有するページテーブルと組合せて使用する。ディスクページは、多くのデータベースファイルを含むことができるメモリの固定サイズの部分である。ファイルに対していずれのディスクページを使用するかを確定するために、レコードのキーをハッシュ化し、結果の最上位ビットを使用してページテーブルにおけるインデックス位置の位置を特定する。インデックス位置は、後にファイルをセーブするディスクページを指す。（Ron Burk著「Hashing: from good to perfect」C Users Journal、1992、p.1を参照のこと。）後にファイルを検索するために、ハッシュ関数にキーを再入力し、検索を、ファイルが保存された特定のディスクページまで狭める。これらのハッシュ法はともに、単一キーを有するレコードおよびファイルには有用であるが、２つ以上のキーに基づいてデータを編成するには有用ではない。
【０００５】
ともにMicrosoft社によって提供されるMicrosoft（登録商標）Windows（登録商標）とWindows CEソフトウェアは、ユーザが選択した英数字名とファイルを含む入れ子式フォルダとを使用することによってファイルを編成する。ファイルを、その名前を検索することによるか、または各個々のファイルのテキスト検索を行うことにより、位置を特定してもよい。ユーザがファイルを見つけるのに役立つために、ワードプロセッシング文書または実行ファイル等のファイルタイプを、ファイル名およびフォルダと組合せて使用してもよい。このプロセスは、大量のファイルにおいて特定の特性または内容を有するファイルを検索しなければならない場合、最適とは言えない。
【０００６】
ファイルの検索は、ファイル自体にあるメタデータによって容易になる場合がある。本明細書で使用するメタデータは、ファイルのヘッダ部（「インタフェース」）に添付されるメタデータフィールドにおけるキーワードまたはワードであり、ファイルの内容を記述する。たとえば、ＭＰ３ファイルは、音声データに添付されるメタデータフィールドを含む。ＭＰ３プレイヤーによっては、ファイルが再生される際にトラック、アルバム、アーティストおよび／またはジャンルを識別するＭＰ３ファイルメタデータのブラウジングを可能にするプログラミングを含む。Melissa J. Perenson著「CD and MP3: A Match Made in Music Heaven」PC World、April 2001 v19 i4、p.70を参照のこと。作曲家、著作権所有者、アルバム／映画／番組タイトル、残響（リバーブ）内容、等化（イコライゼーション）内容、言語およびテンポを識別するメタデータを含む、他のメタデータフィールドが利用可能である。Martin Nilsson著「ID3 Tag Version 2.3.0」p.1、February 3、1999参照。Canto Software社は、Windows（登録商標）ソフトウェア上で後に検索するためにＭＰ３ファイルタイプから自動的にメタデータをカタログ化するために使用する、Ｃｕｍｕｌｕｓ  ＭＰ３  Ｆｉｌｔｅｒ製品を提供する。プレスリリース「Canto Releases Free Cumulus MP3 Filter」January 10、2001、p.1参照。ＭＰ３ファイル検索のために、タイトル、アーティスト、アルバムおよび年について、カタログを検索することができる。しかしながら、かかるカタログ化により、カタログにおいてメタデータを再現するため、メモリに格納されるデータの量が大幅に増大する。
【課題を解決するための手段】
【０００７】
ユーザにとって分かりやすいコンピュータデータ管理および検索システムが依然として必要である。メモリ管理システムおよび方法は、本発明の一実施形態では、メタデータを表すインデックス位置を有するハッシュテーブル、およびインデックス位置にセーブされるファイルメモリアドレスを具備する。ハッシュテーブルは、メタデータをハッシュ関数に入力して、メモリアドレスが格納されるインデックス位置に変換することにより、プロセッサによって検索可能である。
【０００８】
別の実施形態では、メタデータフィールドにメタデータを有するファイルを、メモリのメモリアドレスに保存し、そのメタデータを、ハッシュテーブルのインデックス位置に変換する。ファイルのメモリアドレスを、インデックス位置にセーブする。ハッシュテーブルは、プロセッサにより、メモリにおいてファイルの位置を特定するために検索可能である。
【０００９】
一実施形態では、ファイルタイプに対し、メタデータフィールドを有する新たなファイルインタフェースが利用可能であるという指示を、プロセッサに送信する。新たなファイルインタフェースをプロセッサに送信し、プロセッサを、その新たなファイルインタフェースを有するファイルを認識するように構成する。
【００１０】
図面の要素は、必ずしも一定の比率で縮小されておらず、本発明の原理を例示することに重きがおかれている。さらに、図面では、各図を通して同じ参照番号は対応する部分を示している。
【発明を実施するための最良の形態】
【００１１】
本発明の実施形態によるメモリ管理システムは、ハッシュ化メタデータのインデックスを有するハッシュテーブルを含む。メタデータを有するファイルに対するメモリアドレスを、それぞれのハッシュ化されたインデックス付けした位置にセーブする。本システムは、メタデータ自体を含む別個のテーブルを使用することなく、メタデータを含むファイルの迅速な検索を可能にする。
【００１２】
本発明の実施形態は、概してコンピュータメモリ管理システムに適用可能である。一実施例として、実施形態は特に、コントローラ、メモリおよびアプリケーションモジュールをあらゆる構成で互いに接続することができる、携帯型のハンドヘルドモジュール式システムに適用可能である。
【００１３】
図１は、メモリＡに格納されたファイルを表すファイルメモリ位置を有するハッシュテーブルの実施形態を示す。各々が、メタデータフィールド１２０を含むインタフェース１１０を有する、３つのファイル（１００、１０２、１０４）を表す。メタデータフィールド１２０の少なくともいくつかが、メタデータ１２５を含む。メタデータ１２５をハッシュテーブル１３５の番号付きインデックス位置に変換するために使用するハッシュ関数を示す。メタデータに関連するファイルのメモリアドレスを、後の検索および取得を容易にするためにインデックス位置にセーブする。例として、第３のファイル２０４は、メタデータフィールド１２０にメタデータ「６０ｄｂ」を含む。ハッシュ関数ｆ（Ｋ）によるテキスト「６０ｄｂ」の「３」への変換後、ファイル１０４に対するメモリアドレス（ＭｅｍＡｄｒ１０４）を、ハッシュテーブル１３５のインデックス位置３にセーブする。同様に、第１のファイル１００は、メタデータフィールド１２０に同じ「６０ｄｂ」を含む。そのメモリ位置（ＭｅｍＡｄｒ１００）を、ハッシュテーブル１３５の同じインデックス位置３にセーブする。
【００１４】
ハッシュ関数ｆ（Ｋ）１３０を、ハッシュテーブルの番号付きインデックスにわたってメタデータ変換の均一な分散をもたらすように選択する。したがって、関数は、システムの設計者が許可するメタデータ値の変動によって決まる。ハッシュ関数は、概して、当該技術分野において既知である。ハッシュテーブル１３５のサイズは、ハッシュ関数ｆ（Ｋ）１３０によって使用されるインデックス位置の数とテーブルにセーブされるメモリアドレス位置の数とによって決まる。
【００１５】
ハッシュテーブル１３５を、メモリＡおよびＢの両方に保存しても、あるいは一方のメモリのみに保存してもよい。好ましくは、テーブル１３５を両メモリに複製することにより、メモリの一方が無効になった場合のデータ回復に役立つ。あるいは、ハッシュテーブル１３５を、異なるファイルインタフェースに対応するいくつかの異なるテーブルに分割することにより、テーブルを短縮し検索を高速化することができる。ハッシュテーブル１３５は、メモリファイル位置に加えて他の情報を含むことも可能である。たとえば、異なるメタデータを同じインデックス位置に変換するハッシュ関数１３０によってもたらされる衝突を低減するために、メモリアドレスとそれらの関連するメタデータ１２５とをともにハッシュテーブル１３５に格納することができる。このように、ハッシュテーブル１３５に格納されるメタデータを、変換の前にハッシュ関数に入力されるメタデータと比較して、変換の精度を確認する。また、ハッシュテーブル１３５を構築するためにすべてのメタデータ１２５をハッシュ関数１３０に提示する必要はない。いくつかのメタデータフィールド１２０を、推奨されるバッファサイジング、暗号化方法識別または同期テンポコード等、ファイルの適当な実行のために保存することができる。
【００１６】
図２は、関連するハッシュテーブルエントリとともにファイルの受取りおよび格納を管理するために使用されるコントローラモジュール２００の実施態様を有する、モジュール式システムの実施形態を示す。メモリＡおよびＢならびにアプリケーションモジュール２０５とつながっている、コンパクト・アンリミテッド・ライブラリ（Compact Unlimited Library（ＣｕＬ））コントローラとも呼ぶことができるコントローラモジュール２００を示す。コントローラモジュール２００は、コントローラ２１５、ユーザインタフェース２２０、内部メモリ２２２およびプロセッサ２２５と接続されたデータバス２１０を備える。プロセッサ２２５およびコントローラ２１５を、単一デバイスに統合してもよい。同様に、内部メモリ２２２を、単一チップ上でプロセッサ２２５またはコントローラ２１５もしくはそれらの両方と統合してもよい。
【００１７】
プロセッサ２２５はまた、デュプリケータ２３５を備える。デュプリケータ２３５は、新たなメモリがインストールされた場合に、ＰＣ（パーソナルコンピュータ）等の他の外部装置を使用することなく、メモリＡとメモリＢとの間のアプリケーションデータの直接的な複製を可能にする。デュプリケータ２３５はまた、データバス２１０を通してユーザインタフェース２２０と通信することにより、複製結果に関する情報をユーザに提供する。デュプリケータ２３５をファームウェアで実施してもよく、またはソフトウェア制御汎用ＤＳＰ（デジタル信号プロセッサ）を使用することによって実施してもよい。データバス２１０を、プロセッサ２２５と、コントローラ２１５と、ユーザインタフェース２２０と、内部メモリ２２２と、の間の導電経路を有するように示す。光学式バス等の他の信号搬送メカニズムを使用してもよい。
【００１８】
メモリＡおよびＢを、それぞれライン２４２および２４４に沿ってプロセッサ２２５と直接つながっているように示す。代替的に、メモリＡおよびメモリＢは、プロセッサ２２５およびコントローラ２１５によって２つのメモリを識別するために管理されるアドレス指定方式を有するデータプロトコルを利用して、データバス２１０を通してプロセッサ２２５と通信することも可能である。
【００１９】
代替実施形態では、望ましい場合は、コントローラモジュール２００にハブ２４５を設けることにより、アプリケーションモジュール２０５と追加のアプリケーションモジュールとの使用を可能にする。データバス２１０は、ハブ２４５を介してアプリケーションモジュール２０５とつながっており、データ経路２５０を省略する。コントローラモジュール２００と、メモリＡおよびＢと、アプリケーションモジュール２０５と、の間のデータ経路に対して、Ｂｌｕｅｔｏｏｔｈ（商標）または他の無線技術を利用する無線方式を提供することも可能である。
【００２０】
図３は、内部メモリ２２２かまたはメモリＡおよびＢに格納されるハッシュテーブルにメモリアドレスを格納する実施形態のフローチャートを示す。アプリケーションモジュール２０５が、コントローラモジュール２００にファイルを送出し（ブロック３００）、プロセッサ２２５が、そのインタフェースを検査することによりファイルタイプを認識しようと試みる（ブロック３１０）。ファイルタイプが認識不可能である場合、コントローラモジュール２００は、後に検索するために使用可能なメタデータを回復することができない。好ましくは、ファイルをアプリケーションモジュールによるあり得る使用のためにメモリＡおよびＢにセーブする（ブロック３１５）。プロセッサは、ファイルタイプ３１０を認識すると、ファイルインタフェース内のポピュレートされていない（unpopulated）メタデータフィールドを検索する（ブロック３３５）。すべてのメタデータフィールドがポピュレートされて（populated:データが入れられ）おり、プロセッサがファイルをメモリのメモリアドレス位置にセーブするか（ブロック３５０）、もしくは少なくとも１つがポピュレートされておらず、プロセッサ２２５が空のメタデータフィールドを満たすためにそれらに割当てるアルゴリズムの位置を特定しようと試みる（ブロック３４０）。プロセッサは、メモリに含まれるアルゴリズムのリストかまたは割当てられたアルゴリズムを含む他のメタデータフィールドを検索する。好ましくは、アルゴリズムのリストは、プロセッサによってアクセス可能な内部メモリに含まれる。もしくは、内部メモリに対するメモリ容量要件を低減するためおよびメモリ障害時に冗長性を提供するために、アルゴリズムのリストをメモリＡおよびＢに保存してもよい。所与のファイルタイプに対するメタデータフィールドのすべてが、それらに割当てられるアルゴリズムを有するとは限らない。たとえば、名前、タイトル、またはファイル自体に暗黙的には含まれない他の情報を識別するメタデータフィールドに対しては、いかなるアルゴリズムも存在しない。しかしながら、メタデータフィールドは、内部メモリにおける割当てられたアルゴリズムが提供される場合、そのアルゴリズムを使用してフィールドに対しメタデータを生成する（ブロック３４５）。低音域内容を表すポピュレートされていないメタデータフィールドを有するＭＰ３ファイルの実施例では、アルゴリズムは、ファイルに対してローパスフィルタを適用することにより、フィールドに対し低音域データの指示を統合する。空のメタデータフィールドが歌の長さまたは声のタイプ（男性／女性）を指示する場合、プロセッサは、歌の長さと声のタイプとを計算するアルゴリズムの位置を特定しようと試みる。
【００２１】
ファイルを、その計算されたメタデータとともに、メモリＡおよびＢの利用可能なメモリアドレスに保存し、そのアドレスを、一時的に格納するために内部メモリに転送する。プロセッサは、メタデータを、ハッシュ関数を使用して、ファイルにおけるメタデータフィールドからハッシュテーブルインデックス位置に変換し（ブロック３５５）、ファイルのメモリアドレスを内部メモリから検索して、計算されたインデックス位置に格納する（ブロック３６０）。そして、ファイルの各メタデータフィールドにおけるメタデータをハッシュ関数に提示することにより、ファイルのメモリアドレスをセーブするそれぞれのインデックス位置を生成する（ブロック３６５、３５５、３６０）。すべてのメタデータフィールドを検査した後、プロセスは停止する（ブロック３７０）。一実施形態では、メタデータも、ハッシュテーブルのハッシュテーブルインデックス位置に追加する（ブロック３８０）。また、ファイルタイプが認識されない場合（ブロック３１０）、メタデータフィールドをファイルに追加してもよく（ブロック３７５）、それによって後続する検索中にユーザに対し少なくとも一部のデータを提供することができる。たとえば、追加されたメタデータフィールドは、ファイルの発生元を指示するアプリケーションモジュール通し番号、読取りエラーの存在を指示するメタデータフィールド、または設計者がファイルの編成および格納を容易にするために必要とする他の任意のメタデータフィールドを含んでもよい。そして、追加されたメタデータフィールドをファイルとともに、メモリＡおよびＢにセーブする（ブロック３５０）。
【００２２】
本明細書で説明する汎用ファイルを、ポピュレートされたメタデータフィールドと組合せて標準化されたまたは専用のファイルから構成してもよい。実施例には、音声ＷＡＶファイル、ＪＰＥＧ（ジョイント・フォトグラフィック・エキスパート・グループ）ファイルおよびＭＰＥＧ（ムービング・ピクチャ・エキスパート・グループ）ファイルがある。他の標準化されたまたは専用のファイルを同様に使用してもよい。メタデータフィールド１２０およびコントローラモジュール２００アルゴリズムを、適当に変更してもよい。
【００２３】
図４に示す一実施形態の動作において、アプリケーションモジュール２０５は、コントローラモジュール２００を、新たに利用可能なインタフェース１１０と、メタデータフィールド１２０と、アルゴリズムと、によって更新する。アプリケーションモジュールは、新たなインタフェース１１０が利用可能であるという指示を送出し（ブロック４００）、コントローラモジュール２００に対して新たなインタフェース１１０を送出することによりファイルタイプと関連付ける（ブロック４０５）。また、インタフェースに対して新たなメタデータフィールド１２０が利用可能であるという指示も送出する場合（ブロック４１０）、そのフィールドを送出し、プロセッサを更新する（ブロック４１５）。任意選択で、メモリＡにおいて、そのインタフェースを有するファイルを検索してもよく、かかるファイルを、新たなメタデータフィールドで更新してもよい（ブロック４２０）。ファイルを新たなフィールドとともにメモリＡにセーブする際に、ハッシュテーブル１３５を新たなメモリアドレスによって更新する（ブロック４２５）。アプリケーションモジュール２０５が、メタデータフィールド１２０に対して新たなアルゴリズムが利用可能であるという指示を送出すると（ブロック４３０）、アルゴリズムをプロセッサ２２５に送出し、内部メモリ２２２にセーブする（ブロック４３５）。そのアルゴリズムを、プロセッサが使用するためにメタデータフィールドに割当てる。そうでない場合、プロセスは停止する（ブロック４４０）。
【００２４】
一実施形態では、プロセッサ２２５は、新たに利用可能なアルゴリズムを使用して、ポピュレートされていないメタデータフィールド１２０をバックフィル処理（backfill）しようと試みる。プロセッサ２２５は、メモリＡにおいて埋めるべき新たなアルゴリズムに割当てるメタデータフィールド１２０を検索し（ブロック４４２）、各新たなアルゴリズムを適用する（ブロック４４５）。各ファイルに対する計算されたメタデータ１２５を、適当なメタデータフィールド１２０に追加し、ファイルをメモリＡに保存し（ブロック４５０）、それらのメモリアドレスを一時的に格納するために内部メモリに送出する。また、計算されたメタデータ１２５を、ハッシュ関数ｆ（ｋ）を使用してハッシュテーブルインデックス位置に変換し（ブロック４５５）、ファイルに対するメモリアドレスを内部メモリから転送して各それぞれのファイルに対してハッシュテーブルを更新する（ブロック４６０）。また、計算されたメタデータを、ハッシュテーブルインデックス位置に保存してもよい（ブロック４６５）。プロセスは、新たなアルゴリズムの適用可能性についてすべてのファイルインタフェースを検索するまで継続する（ブロック４７０、４７５）。
【００２５】
アプリケーションモジュールが、新たなインタフェース、メタデータフィールドおよび／またはアルゴリズムが利用可能であるという指示を送出する（ブロック４００、４１０）のではなく、コントローラモジュール２００がかかる更新を要求してもよい。また、インタフェースおよびメタデータフィールド更新が、新たにインストールされたメモリ、ＰＣ、コントローラモジュール２００を介するインターネット接続、またはコントローラモジュール２００を更新することができる何らかの他の装置等、アプリケーションモジュール２０５以外のソースから発生してもよい。アルゴリズムを、内部メモリ２２２ではなくメモリＡおよび／またはＢに保存してもよい。
【００２６】
本発明の実施形態は、概して複数のメモリシステムに適用可能であるが、図５に示すもの等の携帯型ハンドヘルドモジュール式消費者電子製品にも有用である。かかるモジュール式システムにより、図１に示すもの等のコントローラと複数のメモリとを合せて、消費者によって、消費者が望むいかなるアプリケーションモジュールともパッケージ化することができる。図５において、アプリケーションモジュール２０５の電気コネクタ５１５およびコントローラモジュール２００の相補的な対向するコネクタ（不可視）と機械コネクタ５２０とにより、アプリケーションモジュール２０５と電気的および機械的に接続されるように調整された、コントローラモジュール２００を示す。コントローラモジュール２００は、アプリケーションモジュール２０５とメモリＡ、Ｂとの間で送出されるファイルを管理する。
【００２７】
図１および図５に示すアプリケーションモジュール２０５は、ビデオ／静止画像再生装置または閲覧装置、ＰＤＡ、デジタルスチルまたはビデオカメラもしくはＭＰ３プレイヤー等、いかなる携帯電子消費者アプリケーションであってもよい。また、アプリケーションモジュール２０５を、図示するものと同様の電気および機械コネクタを通して追加のアプリケーションモジュールに接続してもよい。かかる場合、コントローラモジュール２００は、データアドレス指定方式により異なるアプリケーションモジュールを識別する。
【００２８】
例示する電気コネクタ５１５は、４つの同心の電気接点を有し、モジュール２００と２０５との間に２つのデータ経路と２つの電源経路とを提供する。多くの異なる接続方式を想定することができる。図５の実施形態では、隣接するモジュールに対するコネクタは、本質的にユニセックスであり、それらのそれぞれのモジュールからわずかに外側に延長するようにバネ付勢されることにより、互いに接触し機械コネクタ５２０に対して適所に保持されると、確実な電気接点を提供する。
【００２９】
コントローラモジュールにおける一対の電気コネクタ５１５と、各メモリに１つのメモリにおける相補的な一対の電気コネクタ（不可視）とを通して、コントローラモジュール２００と電気的に接続するように調整されたメモリＡおよびＢを示す。各メモリを、無効になった場合に個々に取替えることができ、新たなメモリをインストールすることができる。コントローラとメモリモジュールとの間の電気コネクタ５１５は、図２のプロセッサ２２５とメモリＡおよびＢとの間のコネクタライン２４２および２４４と対応し、一方コントローラとアプリケーションモジュールとの間の電気コネクタ５１５はコネクタライン１５０に対応する。
【図面の簡単な説明】
【００３０】
【図１】ファイルにおけるメタデータを表すインデックスとファイルのメモリアドレスとをともに有するハッシュテーブルの実施形態のブロック図。
【図２】ハッシュテーブルと関連ファイルとを管理するために、プロセッサに接続された冗長メモリの実施形態のブロック図。
【図３】メモリアドレスを格納するためのハッシュテーブルの使用を示す実施形態のフローチャート。
【図４】コントローラモジュールを新たなメタデータフィールドで更新する方法の実施形態のフローチャート。
【図５】実施形態を使用して利益を得ることができるモジュール式冗長メモリシステムを備えた携帯電子機器を示す分解斜視図。
【図１】
2004326772.tif 000003
【図２】
2004326772.tif 000004
【図３】
2004326772.tif 000005
【図４】
2004326772.tif 000006
【図５】
2004326772.tif 000007