(57)【要約】【課題】製造コストを増加させることなく資源を最も効率的に用いることのできるメモリカードを提供する。【解決手段】メモリカード１４は、第１のホストインターフェース３８と第１のホストインターフェースモジュール３０とを有する第１のモジュラコンポーネント１６ａと、記憶デバイス２２に結合されたデバイスインターフェース４２を動作させるよう構成されたデバイスインターフェースモジュール３６と、を備えている。第１のホストインターフェースモジュールは、デバイスインターフェースモジュール内の機能を呼び出すよう構成されている。第１のモジュラコンポーネントは、第２のホストインターフェースと第２のホストインターフェースモジュールとを有する第２のモジュラコンポーネント１６ｂと交換可能であり、第２のホストインターフェースモジュールは、デバイスインターフェースモジュール内の機能を呼び出すよう構成されている。【選択図】図２
2005078652.tif 000002
【特許請求の範囲】
【請求項１】
メモリカードを備えている装置であって、該メモリカードは、
第１のホストインターフェースと第１のホストインターフェースモジュールとを有する第１のモジュラコンポーネントと、
記憶デバイスに結合されたデバイスインターフェースを動作させるよう構成されたデバイスインターフェースモジュールと、
を備え、
前記第１のホストインターフェースモジュールは、前記デバイスインターフェースモジュール内の機能を呼び出すよう構成されており、前記第１のモジュラコンポーネントは、第２のホストインターフェースと第２のホストインターフェースモジュールとを有する第２のモジュラコンポーネントと交換可能であり、前記第２のホストインターフェースモジュールは、前記デバイスインターフェースモジュール内の機能を呼び出すよう構成されている、装置。
【請求項２】
前記第１のモジュラコンポーネントが、第１のタイプのインターフェースに関連し、前記第２のモジュラコンポーネントが、第２のタイプのインターフェースに関連している、請求項１に記載の装置。
【請求項３】
前記第１のホストインターフェースモジュールが、前記第１のホストインターフェースに結合された第１のホストからの第１のコマンドの受取りに応答して、前記デバイスインターフェースモジュール内の機能を呼び出すよう構成されている、請求項１に記載の装置。
【請求項４】
前記第２のホストインターフェースモジュールが、前記第２のホストインターフェースに結合された第２のホストからの第２のコマンドの受取りに応答して、前記デバイスインターフェースモジュール内の機能を呼び出すよう構成されている、請求項３に記載の装置。
【請求項５】
前記第１のコマンドが読出しコマンドを含む、請求項３に記載の装置。
【請求項６】
前記第１のコマンドが書込みコマンドを含む、請求項３に記載の装置。
【請求項７】
ホストにプラグインするよう構成されたカードと
前記カード内にあり、該カード内の第１の記憶デバイスと通信するよう構成された、第１のデバイスインターフェースと、
前記第１のデバイスインターフェースを動作させるよう構成された、第１のデバイスインターフェースモジュールと、
前記カード内にあり、該カード内の第２の記憶デバイスと通信するよう構成された、第２のデバイスインターフェースと、
前記第２のデバイスインターフェースを動作させるよう構成された、第２のデバイスインターフェースモジュールと、
前記カード内にあり、前記ホストと通信するよう構成された、ホストインターフェースと、
前記ホストインターフェースを動作させるよう構成された、ホストインターフェースモジュールと、
を備え、
前記第１のデバイスインターフェースモジュールは、前記ホストインターフェースモジュールからの機能呼出しの受取りに応答して、第１の機能を実行させるよう構成されており、前記第２のデバイスインターフェースモジュールは、前記ホストインターフェースモジュールからの機能呼出しの受取りに応答して第２の機能を実行させるよう構成されている、システム。
【請求項８】
前記第１の記憶デバイスが第１のタイプの記憶デバイスを備え、前記第２の記憶デバイスが、前記第１のタイプの記憶デバイスとは異なる第２のタイプの記憶デバイスを備えている、請求項７に記載のシステム。
【請求項９】
システムモジュールをさらに備え、
前記システムモジュールは、前記ホストインターフェースモジュール内の第３の機能を呼び出すよう構成されている、請求項７に記載のシステム。
【請求項１０】
データムーバをさらに備え、
前記ホストインターフェースモジュールは、前記データムーバを動作させるよう構成されている、請求項７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、メモリカードに関し、特に、モジュラコンポーネントを有するメモリカードに関する。
【０００２】
本願は、代理人整理番号が第１００１４２３９−１号である２００３年９月３日出願の「MEMORY CARD WITH A MODULAR COMPONENT」という名称の米国特許非仮出願第１０／６５４，１３５号に関する。
【背景技術】
【０００３】
ユーザの事務所または仕事場から離れたさまざまな場所から情報を取り込み保存する時の移植性および簡便性に対するニーズによって、デジタルカメラ、携帯情報端末、およびノートパソコン等の携帯型電子機器の急増がもたらされている。携帯型電子機器の急増に伴って、このような機器とともに用いるようになっているフォームファクタカードの使用もまた着実に増加しており、携帯型電子機器市場の不透明性はまた、フォームファクタカードの市場にまで波及している。
【０００４】
フォームファクタカード市場の不透明性により、支配的な規格になろうと画策するいくつかのフォームファクタカード規格がもたらされた。「フォームファクタカード」という用語は、ソニーのメモリスティックやコンパクトフラッシュカード等のさまざまな異なる規格を用いるメモリカードを説明するのによく用いられる一般的な用語であるが、シリアルカード等の入出力カード、イーサネットカード、ファクス／モデムカード、無線ポケットベル、およびマルチメディアカードを含む、その他の機能を果たすカードにもまた適用される。不都合なことに、現行のまたは出現しつつあるカード規格で、顧客の要求に１００％応えることができるものはないので、有力な規格はまだ出現しておらず、また、近い将来出現しそうにもない。
【０００５】
したがって、メモリカードの製造業者は、現行のおよび出現しつつある無数のメモリカード技術に対応する別個のメモリカードを供給せざるを得ない。メモリカードの製造業者は、この市場で渡り合いたい場合には、このような異なるメモリカード規格のすべてを考慮しなければならず、このような規格には、デバイスインターフェースの規格と記憶技術の規格の両方が含まれる。例えば、市場にＮ個のインターフェースとＭ個の異なる記憶技術とがある場合には、メモリカードの製造業者は、異なる制御システムを用いるＮ×Ｍ個のメモリカードを設計して完全な品揃えのメモリカードを販売し、メモリカードの市場で渡り合うかもしれない。この結果、メモリカードを商品化できるまでに、かなりの遅れが生じ、メモリカードを特定、設計、検証、製造、および試験するのに何ヶ月も必要になる可能性がある。例えば、通常の設計期間は１８ヶ月にわたる可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
メモリカードの製造コストを増加させることなく資源を最も効率的に用いることを可能にし、商品化にかかる時間をスピードアップすることによって、製造業者がメモリカードの開発をてこ入れすることができるようになることが、必要とされている。
【課題を解決するための手段】
【０００７】
本開示の１つの例示的な実施形態は、メモリカードであって、第１のホストインターフェースと第１のホストインターフェースモジュールとを有する第１のモジュラコンポーネントと、記憶デバイスに結合されたデバイスインターフェースを動作させるよう構成されたデバイスインターフェースモジュールと、を備えるメモリカードを提供する。第１のホストインターフェースモジュールは、デバイスインターフェースモジュール内の機能を呼び出すよう構成されている。第１のモジュラコンポーネントは、第２のホストインターフェースと第２のホストインターフェースモジュールとを有する第２のモジュラコンポーネントと交換可能であり、第２のホストインターフェースモジュールは、デバイスインターフェースモジュール内の機能を呼び出すよう構成されている。
【０００８】
本発明の実施形態は、図面を参照すればよりよく理解される。図面における各要素は、必ずしも互いに関して正確な縮尺率で描かれているわけではない。同じ参照番号は対応する同様の部分を示す。
【発明を実施するための最良の形態】
【０００９】
図１は、コンピューティングシステム１０の実施形態を示す図である。コンピューティングシステム１０は、ホストの電子機器１２とメモリとを含む。メモリは、好ましくは、コンピューティングシステム１０にプラグインするリムーバブルメモリカード１４である。メモリカード１４は、モジュラコンポーネント１６ａ、１８ａを含む。
【００１０】
ホスト１２はメモリカード１４と通信して、メモリカード１４から情報を読み出しそこへ情報を書き込む。ホスト１２は、メモリカード１４を利用するいかなる機器であってもよい。例えばホスト１２は、デジタルカメラ、ＭＰ３プレーヤ、デジタルカムコーダ、携帯情報端末、ラップトップコンピュータ、ノートパソコン、または他のコンピューティング機器であってもよい。一実施形態において、ホスト１２は携帯情報端末すなわち「ＰＤＡ」である。
【００１１】
モジュラコンポーネント１６ａ、１８ａはそれぞれ、１つまたは複数のインターフェース規格に従って構成されている。このようなインターフェース規格としては、コンパクトフラッシュ仕様書バージョン２．０およびそれよりも前または後の任意のバージョンによって示されているコンパクトフラッシュ、ＳＤメモリカード仕様書バージョン１．０１およびそれよりも前または後の任意のバージョンによって示されているセキュアデジタル、ＰＣカード規格８．０およびそれよりも前または後の任意のバージョンによって示されているＰＣＭＣＩＡ、およびソニーエレクトロニクス社によって実施されている仕様書に従うメモリスティック、および、磁気ランダムアクセスメモリ（ＭＲＡＭ）やフラッシュメモリへのインターフェース等のデータ記憶デバイスインターフェース規格、等の、ホストとメモリカードとのインターフェース規格が含まれる。
【００１２】
コンパクトフラッシュ仕様書バージョン２．０は、P. O. Box 51537, Palo Alto, CA 94303のCompactFlash Associationから入手可能である。ＳＤメモリカード仕様書バージョン１．０１は、719 San Benito Street, Suite C, Hollister, CA 95023のSD Card Associationから入手可能である。ＰＣカード規格８．０は、2635 North First Street, Suite 209, San Jose, CA 95134のPCMCIAから入手できる。メモリスティック仕様書は、ソニーエレクトロニクス社から入手可能である。
【００１３】
このようなインターフェース仕様書は、２つ以上のコンポーネント間でのインターフェースの、機械的、電気的、および／またはプロトコルの属性を規定している。モジュラコンポーネント１６ａ、１８ａはそれぞれ、別のモジュラコンポーネント１６ｂ、１８ｂと交換可能なように構成されている。モジュラコンポーネント１６ｂ、１８ｂは、モジュラコンポーネント１６ａ、１８ａとは異なるインターフェース規格に従って構成されている。
【００１４】
図２は、ホストの電子機器１２と通信状態にあるメモリカード１４の実施形態を示すブロック図である。図２に示す実施形態において、メモリカード１４は、モジュラコンポーネント１６ａ、１８ａ、データムーバ４０、データ記憶デバイス２２、およびシステムモジュール３４を含む。モジュラコンポーネント１６ａは、ホストインターフェース３８およびホストインターフェースモジュール３０を含む。モジュラコンポーネント１８ａは、デバイスインターフェース４２およびデバイスインターフェースモジュール３６を含む。
【００１５】
データ記憶デバイス２２は、不揮発性メモリを備える。不揮発性メモリには、フラッシュメモリ、磁気ランダムアクセスメモリ（ＭＲＡＭ）、および、マイクロディスクドライブ等その他の永続的な記憶デバイスが含まれる。
【００１６】
ホストインターフェースモジュール３０、システムモジュール３４、およびデバイスインターフェースモジュール３６はそれぞれ、本明細書において説明する各機能を果たすよう構成された命令を含むファームウェアを備える。このような命令は、１つまたは複数の記憶デバイス（図示せず）から可読であり、メモリカード１４内の１つまたは複数のプロセッサ（図示せず）によって実行可能である。
【００１７】
システムモジュール３４、ホストインターフェースモジュール３０、およびデバイスインターフェースモジュール３６はそれぞれ、規定されたインターフェースに従った別個の機能を含む。システムモジュール３４は、それぞれ矢印４４、４６で示すように、ホストインターフェースモジュール３０およびデバイスインターフェースモジュール３６内のその他の機能を呼び出す機能を含む。システムモジュール３４はまた、メモリカード１４全体の動作を管理し制御する機能も含む。ホストインターフェースモジュール３０は、矢印４８で示すように、ホストインターフェース３８とデータムーバ４０の一部とを制御する機能を含む。ホストインターフェースモジュール３０はまた、それぞれ矢印４４、４９で示すように、システムモジュール３４およびデバイスインターフェースモジュール３６内の各機能を呼び出す機能も含む。デバイスインターフェースモジュール３６は、矢印５０で示すように、デバイスインターフェース４２とデータムーバ４０の一部とを制御する機能を含む。デバイスインターフェースモジュール３６はまた、それぞれ矢印４６、４９で示すように、システムモジュール３４およびホストインターフェースモジュール３０内のその他の機能を呼び出すことができる機能も含む。
【００１８】
図２の実施形態において、モジュラコンポーネント１６ａは、ホスト１２とメモリカード１４との間の第１のタイプのインターフェースを実施するよう構成されており、モジュラコンポーネント１８ａは、第１のタイプのデータ記憶デバイス２２、例えばＭＲＡＭ、へのインターフェースを実施するよう構成されている。システムモジュール３４、ホストインターフェースモジュール３０、およびデバイスインターフェースモジュール３６の機能が互いに別個の性質であるために、モジュラコンポーネント１６ａ、１８ａはそれぞれ、他のタイプのインターフェースを実施するモジュラコンポーネント１６ｂ、１８ｂと交換することができる。
【００１９】
詳細には、モジュラコンポーネント１６ａのホストインターフェース３８およびホストインターフェースモジュール３０は、ホスト１２とメモリカード１４との間の第２のタイプのインターフェースを実施するモジュラコンポーネント１６ｂ内の別のホストインターフェースおよびホストインターフェースモジュールと交換することができる。モジュラコンポーネント１６ｂは、モジュラコンポーネント１６ａと同じ機能のインターフェースをシステムモジュール３４およびデバイスインターフェースモジュール３６に提供する、すなわち、モジュラコンポーネント１６ａと同じ機能を呼び出すことができる。さらに、モジュラコンポーネント１６ｂは、システムモジュール３４およびデバイスインターフェースモジュール３６内の、モジュラコンポーネント１６ａが呼び出すのと同じ機能を呼び出すよう構成されている。
【００２０】
同様に、モジュラコンポーネント１８ａのデバイスインターフェース４２およびデバイスインターフェースモジュール３６は、第２のタイプのデータ記憶デバイス２２、例えばフラッシュメモリ、へのインターフェースを実施するモジュラコンポーネント１８ｂ内の別のデバイスインターフェースおよびデバイスインターフェースモジュールと交換することができる。モジュラコンポーネント１８ｂは、モジュラコンポーネント１８ａと同じ機能のインターフェースをシステムモジュール３４およびホストインターフェースモジュール３０に提供する、すなわち、モジュラコンポーネント１８ａと同じ機能を呼び出すことができる。さらに、モジュラコンポーネント１８ｂは、システムモジュール３４およびホストインターフェースモジュール３０内の、モジュラコンポーネント１８ａが呼び出すのと同じ機能を呼び出すよう構成されている。
【００２１】
ホストインターフェースモジュール３０は、ハードウェアアブストラクションレイヤ（ハードウェア抽象化層）を用いることによって、システムモジュール３４およびデバイスインターフェースモジュール３６からホストインターフェース３８の詳細を効果的に隠す。同様に、デバイスインターフェースモジュール３６は、ハードウェアアブストラクションレイヤを用いることによって、システムモジュール３４およびホストインターフェースモジュール３０からデバイスインターフェース４２の詳細を効果的に隠す。
【００２２】
システムモジュール３４は、ホスト１２とデータ記憶デバイス２２との間での情報の転送を管理する。ホストの電子機器１２は、ホストインターフェース３８にコマンドを与えることによって、メモリカード１４と通信する。システムモジュール３４は、ホストインターフェース３８が受け取ったコマンドを検出し、ホストインターフェースモジュール３０および／またはデバイスインターフェースモジュール３６内の、そのコマンドに関連する機能を呼び出す。さらに、システムモジュール３４は、診断、パワーマネージメント、およびクロック制御の各機能を行う。
【００２３】
図３は、ホストインターフェースモジュール３０の実施形態の詳細を示す。ホストインターフェースモジュール３０は、コマンドパーサ５１と、ホストインターフェース（Ｉ／Ｆ）割込みサービスルーチン（ＩＳＲ）５２とを含む。ホストＩ／Ｆ  ＩＳＲ５２は、ホスト１２からのコマンドの受け取り等の特定の事象に応答して割込みを行わせるよう、構成されている。コマンドパーサ５１は、ホストインターフェースモジュール３０およびデバイスインターフェースモジュール３６内の適切な機能を呼び出し実行させるため、ホスト１２から受け取られたコマンドの「解析」または分離を行うよう、構成されている。
【００２４】
ホストインターフェースモジュール３０は、ホストインターフェースプロトコルに従って動作し、ホストの電子機器１２と通信する。ホストインターフェースモジュール３０のインターフェースプロトコルとしては、コンパクトフラッシュ、セキュアデジタル、メモリスティック、およびその他の好適なホストインターフェースプロトコルが含まれる。
【００２５】
一実施形態において、ホストインターフェースモジュール３０は、CompactFlash Associationによって示されているＣＦ＋およびコンパクトフラッシュ仕様書バージョン２．０に適合するコンパクトフラッシュインターフェースとして動作する。ＣＦ＋およびコンパクトフラッシュ仕様書バージョン２．０は、参照により本明細書に援用される。ホストインターフェースモジュール３０は、データ転送を開始し、サポートされているコンパクトフラッシュモード（例えば、ＰＣカードメモリ、ＰＣカード入出力、およびｔｒｕｅ  ＩＤＥ）で動作し、カード情報構造体（ＣＩＳ）ＲＡＭの内容を維持し、構成パラメータを管理し、コマンドパーサ５１を介してコンパクトフラッシュＡＴＡコマンドを受け取り実行する。
【００２６】
図４はシステムモジュール３４の実施形態を示す。システムモジュール３４は、システムデバッグモジュール５３、状態およびモード管理モジュール５４、アービタモジュール５６、予備テーブルマネージャモジュール５８、ブートコードモジュール６０、アイドルループモジュール６２、リセットモジュール６４、および電源投入／初期化（ＰＯＮ／ＩＮＩＴ）モジュール６６を含む。
【００２７】
図５は、デバイスインターフェースモジュール３６の実施形態を示す。デバイスインターフェースモジュール３６は、読出し／書込みコマンドモジュール６８、デバイス制御コードモジュール７０、デバイスコマンドモジュール７２、構成メモリコマンドモジュール７４、予備ルックアップモジュール７６、およびデバイスインターフェース（Ｉ／Ｆ）割込みサービスルーチン（ＩＳＲ）モジュール７８を含む。
【００２８】
デバイスインターフェースモジュール３６は、データムーバ４０とデータ記憶デバイス２２との間でデータ転送を行うよう、デバイスインターフェース４２を構成する。デバイスインターフェースモジュール３６はまた、誤り検出および訂正を行ってもよく、スペアリングアルゴリズムを実施してデータ記憶デバイス２２の記憶効率を上げてもよい。
【００２９】
一態様において、ホストインターフェースモジュール３０は、ホストインターフェース３８を介してホスト１２と通信し、ホストインターフェース３８がホスト１２からホスト固有のコマンドを受け取るとすべてのコマンド実行を開始することによって、デバイスインターフェースモジュール３６に対してマスタモジュールの役割を果たす。したがって、デバイスインターフェースモジュール３６は、ホスト１２からホストインターフェースモジュール３０を介して受け取ったホストのコマンドに応答することによって、ホストインターフェースモジュール３０のスレーブの役割を果たす。デバイスインターフェースモジュール３６は、データ記憶デバイス２２が用いる技術の詳細な知識を含む。
【００３０】
一実施形態において、ホスト１２の読出し／書込みコマンドは、論理ブロックアドレス指定に基づいている。一実施形態において、デバイスインターフェースモジュール３６は、予備ルックアップモジュール７６を介してデータ記憶デバイス２２内のすべてのセクタをチェックして、ホスト１２が要求するデータがデータ記憶デバイス２２上に再配置されたか調べる。一態様において、デバイスインターフェースモジュール３６は、予備テーブルを用いて、動作要求に含まれている論理ブロックアドレスを検索し、データ記憶デバイス２２のいかなるセクタの物理セクタアドレスも求める。デバイスインターフェースモジュール３６はまた、自らのコマンド実行状態（例えば、ビジー、アイドル、等）を、ホストインターフェースモジュール３０に通信する。
【００３１】
図６ａ、図６ｂ、および図６ｃは、モジュラコンポーネントを有するメモリカードにおいてコマンドを実行する方法を示すフローチャートである。方法は、図２に示す実施形態に関して説明する。詳細には、図６ａはホストインターフェースモジュール３０が行う方法の実施形態を示し、図６ｂはシステムモジュール３４が行う方法の実施形態を示し、図６ｃはデバイスインターフェースモジュール３６が行う方法の実施形態を示す。
【００３２】
図６ａを参照して、ブロック６０２に示すように、ホストインターフェースモジュール３０は、ホスト１２からコマンドを受け取る。ブロック６０４に示すように、ホストインターフェースモジュール３０は、コマンドの受取りに応答して、コマンドが到着したということをシステムモジュール３４に通知する。一実施形態において、ホストインターフェースモジュール３０はフラグを立てて、コマンドが到着したということをシステムモジュール３４に通知する。システムモジュール３４は、フラグを定期的にチェックして、ホストインターフェース３８がコマンドを受け取ったかどうかを判定する。他の実施形態において、ホストインターフェースモジュール３０は別の信号または指示をシステムモジュール３４に供給して、コマンドが到着したということをシステムモジュール３４に通知する。
【００３３】
図６ｂを参照して、ブロック６２０に示すように、システムモジュール３４はホストインターフェースモジュール３０からの通知を受け取る。ブロック６２２に示すように、システムモジュール３４は通知の受取りに応答してシステムのアイドルループを抜け、ブロック６２４に示すように、ホストインターフェースモジュール３０内の実行コマンド機能（execute command function）を呼び出す。
【００３４】
再び図６ａを参照して、ブロック６０６に示すように、ホストインターフェースモジュール３０は、システムモジュール３４からの機能呼出しに応答して、実行コマンド機能を開始する。ブロック６０８に示すように、実行コマンド機能は、ホストインターフェース３８が受け取ったコマンドを識別し、ホストインターフェースモジュール３０内の、そのコマンドに関連するコマンド機能を呼び出す。例えばコマンドが読出しコマンドである場合には、コマンド機能は、データ記憶デバイス２２からの読出しを行わせるよう構成された機能、例えば「ＲｅａｄＳｅｃｔｏｒｓ」とラベル付けされた機能、である。同様に、コマンドが書込みコマンドである場合には、コマンド機能は、データ記憶デバイス２２への書込みを行わせるよう構成された機能、例えば「ＷｒｉｔｅＳｅｃｔｏｒｓ」とラベル付けされた機能、である。
【００３５】
ブロック６１０に示すように、コマンド機能は、ホストインターフェースモジュール３０内の１つまたは複数の機能を呼び出して、コマンドを実行できるようにホストインターフェース３８およびデータムーバ４０を設定する。ホストインターフェース３８およびデータムーバ４０を設定する機能は、実行するコマンド次第であってもよい。読出しコマンドについては、データムーバ４０は、データ記憶デバイス２２からデバイスインターフェース４２を介して情報を受け取るよう設定され、ホストインターフェース３８は、データ記憶デバイス２２からホスト１２へと情報を供給するよう設定される。書込みコマンドについては、ホストインターフェース３８は、ホスト１２から情報を受け取るよう設定され、データムーバ４０は、ホストインターフェース３８からデバイスインターフェース４２へと情報を供給するよう設定される。
【００３６】
コマンド機能はまた、デバイスインターフェースモジュール３６内の、そのコマンドに関連する機能も呼び出す。例えばコマンドが読出しである場合には、コマンド機能は、「ＳｔａｒｔＲｅａｄ」とラベル付けされた機能を呼び出すことができる。同様に、コマンドが書込みである場合には、コマンド機能は、「ＳｔａｒｔＷｒｉｔｅ」とラベル付けされた機能を呼び出すことができる。コマンド機能は、デバイスインターフェースモジュール３６内のその機能を呼び出すことによって、ホストインターフェースモジュール３０からデバイスインターフェースモジュール３６にパラメータを渡す。読出し／書込みコマンドについてのパラメータは、論理ブロックアドレス形式のアドレスと、データ転送サイズとを含む。
【００３７】
図６ｃを参照して、ブロック６３０に示すように、デバイスインターフェースモジュール３６は、機能呼出しの受取りに応答して、ホストインターフェースモジュール３０が呼び出した機能を開始する。ブロック６３２に示すように、デバイスインターフェースモジュール３６は、その機能のパラメータとして受け取った論理ブロックアドレスに対してアドレス変換を行って、論理ブロックアドレスを物理ブロックアドレスに変換する。
【００３８】
ブロック６３４に示すように、デバイスインターフェースモジュール３６は、デバイスインターフェース４２およびデータ記憶デバイス２２に、その機能に関連するアクションを行わせる。このアクションは、ホスト１２が与えるコマンド次第である。例えばコマンドが読出しである場合には、デバイスインターフェースモジュール３６はデバイスインターフェース４２に、データ記憶デバイス２２からの情報を物理ブロックアドレスから受け取らせ、その情報をデータムーバ４０に供給させる。するとデータムーバ４０は、ホストインターフェース３８を介してホスト１２にその情報を供給する。コマンドが書込みである場合には、デバイスインターフェースモジュール３６はデバイスインターフェース４２に、データムーバ４０からデータ記憶デバイス２２に情報を供給させ、その情報を物理ブロックアドレスに記憶させる。
【００３９】
デバイスインターフェースモジュール３６および／またはデバイスインターフェース４２はまた、データ記憶デバイス２２から読み出された情報に対して、誤り検出および訂正および／またはスペアリングアルゴリズムも実行してもよい。デバイスインターフェースモジュール３６および／またはデバイスインターフェース４２はさらに、データ記憶デバイス２２に書き込まれた情報にＥＣＣパリティバイトを付け加えてもよい。デバイスインターフェースモジュール３６とデバイスインターフェース４２とはデータ記憶デバイス２２に密接にリンクしているので、このようなさらなるオペレーションは、ホスト１２、ホストインターフェースモジュール３０、およびシステムモジュール３４から見えずに行われ、このようなオペレーションはデータ記憶デバイス２２のタイプに固有のものであってもよい。
【００４０】
再び図６ａを参照して、ブロック６１４に示すように、ホストインターフェースモジュール３０のコマンド機能は終了転送機能（finish transfer function）を呼び出して、デバイスインターフェースモジュール３６が開始したアクションが終了するのを待ち、ステータス情報を設定する。アクションの完了後、ホストインターフェース３８はホスト１２にステータス情報を供給する。ブロック６１６に示すように、終了転送機能からコマンド機能へ、コマンド機能から実行コマンド機能へ、および実行したコマンド機能からシステムのアイドルループへの、呼出し戻り（call return）、すなわち呼び出した機能を終了させ、制御を呼出し機能に戻すようにさせる命令、が行われる。
【００４１】
図６ｂを参照して、ブロック６２６に示すように、ホストインターフェースモジュール３０の実行コマンド機能からの呼出し戻りに応答して、システムモジュール３４はシステムのアイドルループに戻る。
【００４２】
一実施形態において、ホストインターフェースモジュール３０は、ホスト１２からのアボートコマンドに応答して、デバイスインターフェースモジュール３６内のアボート機能を呼び出すことによって、読出しまたは書込みコマンドを中止させることができる。アボート機能の実行に応答して、デバイスインターフェースモジュール３６は、デバイスインターフェース４２を用いてデータ記憶デバイス２２上のいかなる現在のオペレーションも中止させ、ステータス情報をホストインターフェースモジュール３０に送り返させる。
【００４３】
図７は、モジュラコンポーネント１６ａ、１８ａを有するメモリカードの代替の実施形態を示すブロック図である。図７の実施形態において、モジュラコンポーネント１６ａはさらなるホストインターフェース１０８を含み、モジュラコンポーネント１８ａはさらなるデバイスインターフェース１１２を含む。デバイスインターフェース１１２は、データ記憶デバイス１２２とインターフェースする。
【００４４】
図７に示すように、モジュラコンポーネント１６ａ、１８ａはそれぞれ、複数のタイプのインターフェース、例えばコンパクトフラッシュインターフェースおよびセキュアデジタルインターフェース、を含んでもよい。ホスト１２は、ホストインターフェース３８またはホストインターフェース１０８のどちらかを用いて、メモリカード１４と通信することができる。一実施形態において、ホストインターフェースモジュール３０は、ホストインターフェース３８およびホストインターフェース１０８を動作させるよう構成されている。他の実施形態において、ホストインターフェースモジュール３０はホストインターフェース３８を動作させることができ、ホストインターフェース１０８を動作させる別のホストインターフェースモジュール（図示せず）が含まれていてもよい。
【００４５】
メモリカード１４は、デバイスインターフェース４２、１１２を有するため、２つの異なるタイプのデータ記憶デバイス２２、１２２、例えばＭＲＡＭの記憶デバイスおよびフラッシュメモリの記憶デバイス、を含むよう構成されている。一実施形態において、デバイスインターフェースモジュール３６は、データ記憶デバイス２２およびデータ記憶デバイス１２２を動作させるよう構成されている。他の実施形態において、デバイスインターフェースモジュール３６は、データ記憶デバイス２２を動作させることができ、データ記憶デバイス１２２を動作させる別のデバイスインターフェースモジュール（図示せず）が含まれていてもよい。
【００４６】
一実施形態において、メモリカード１４内にはデータ記憶デバイス２２、１２２のうちの一方のみが存在している。例えば、データ記憶デバイス２２、１２２のうちの最も廉価なものが含まれていてもよい。他の実施形態において、メモリカード１４はデータ記憶デバイス２２、１２２を両方含んで異なるタイプの記憶デバイスの利点を利用してもよい。
【図面の簡単な説明】
【００４７】
【図１】コンピューティングシステムの実施形態を示す図である。
【図２】モジュラコンポーネントを有するデータ記憶システムの実施形態を示すブロック図である。
【図３】ホストインターフェースモジュールの実施形態を示すブロック図である。
【図４】システムコントローラの実施形態を示すブロック図である。
【図５】デバイスインターフェースモジュールの実施形態を示すブロック図である。
【図６ａ】ホストインターフェースモジュールによって行われる方法の実施形態を示すフローチャートである。
【図６ｂ】システムモジュールによって行われる方法の実施形態を示すフローチャートである。
【図６ｃ】デバイスインターフェースモジュールによって行われる方法の実施形態を示すフローチャートである。
【図７】モジュラコンポーネントを有するメモリカードの代替の実施形態を示すブロック図である。
【符号の説明】
【００４８】
１２：ホスト
１４：メモリカード
１６ａ、１８ａ：モジュラコンポーネント
２２：データ記憶デバイス
３０：ホストインターフェースモジュール
３４：システムモジュール
３６：デバイスインターフェースモジュール
３８：ホストインターフェース
４０：データムーバ
４２：デバイスインターフェース
【図１】
2005078652.tif 000003
【図２】
2005078652.tif 000004
【図３】
2005078652.tif 000005
【図４】
2005078652.tif 000006
【図５】
2005078652.tif 000007
【図６ａ】
2005078652.tif 000008
【図６ｂ】
2005078652.tif 000009
【図６ｃ】
2005078652.tif 000010
【図７】
2005078652.tif 000011