(57)【特許請求の範囲】
【請求項１】
集積回路上に実装されたメディアカードリーダを有する装置であって、
メディアカードがメディアカードソケットに挿入されていることを表すデータを保存するように構成された少なくとも１つのレジスタを備え、
前記レジスタは、ＳＤドライバとの適合性を判定するために、第１の経路を通じて、セキュアデジタル（ＳＤ）ドライバによってアクセス可能であり、
もし挿入されたメディアカードがＳＤドライバに適合しない場合、前記レジスタは、ＭＭＣドライバとの適合性を判定するために、第２の経路を通じて、マルチメディアカード（ＭＭＣ）ドライバによってアクセスされる
ことを特徴とする装置。
【請求項２】
前記第１の経路が、第１のアドレスと関連付けられている
ことを特徴とする請求項１に記載の装置。
【請求項３】
前記第２の経路が、前記第１のアドレスと異なる第２のアドレスと関連付けられている
ことを特徴とする請求項２に記載の装置。
【請求項４】
前記ＳＤドライバが、適合性を判定するために、前記メディアカードとデータを交換する
ことを特徴とする請求項１に記載の装置。
【請求項５】
前記ＭＭＣドライバが、適合性を判定するために、前記メディアカードとデータを交換する
ことを特徴とする請求項１に記載の装置。
【請求項６】
もし前記メディアカードが前記ＳＤドライバに適合する場合、前記ＳＤドライバが、前記メディアカードに対するアクセスを、ソフトウェアアプリケーションに提供する
ことを特徴とする請求項１に記載の装置。
【請求項７】
もし前記メディアカードが前記ＭＭＣドライバに適合する場合、前記ＭＭＣドライバが、前記メディアカードに対するアクセスをソフトウェアアプリケーションに提供する
ことを特徴とする請求項１に記載の装置。
【請求項８】
もし前記ＳＤドライバが前記メディアカードに適合しない場合、前記ＳＤドライバが前記メディアカードに対する電力供給を停止する
ことを特徴とする請求項１に記載の装置。
【請求項９】
もし前記ＳＤドライバが前記メディアカードに適合しない場合、前記ＳＤドライバが前記メディアカードとの通信を停止する
ことを特徴とする請求項１に記載の装置。
【請求項１０】
もし前記ＭＭＣドライバが前記メディアカードに適合しない場合、前記ＭＭＣドライバが前記メディアカードに対する電力供給を停止する
ことを特徴とする請求項１に記載の装置。
【請求項１１】
前記メディアカードが、ＳＤカードである
ことを特徴とする請求項１に記載の装置。
【請求項１２】
前記メディアカードが、セキュアデジタル入力／出力（ＳＤＩＯ）カードである
ことを特徴とする請求項１に記載の装置。
【請求項１３】
前記メディアカードが、ＭＭＣカードである
ことを特徴とする請求項１に記載の装置。
【請求項１４】
集積回路上に実装されたメディアカードコントローラ回路を有する装置であって、
ソフトウェアからの入力の欠如、及びメディアカードソケットに挿入されたメディアカードの種類を識別するように構成されたメディアカード検出器と、
メディアカードの種類を表すデータを保存するように構成された第１のレジスタとを備え、
前記レジスタが、第１の経路を通じて、セキュアデジタル（ＳＤ）ドライバによってアクセス可能であると共に、前記レジスタが、第２の経路を通じて、マルチメディアカード（ＭＭＣ）ドライバによってアクセス可能である
ことを特徴とする装置。
【請求項１５】
前記ＭＭＣドライバに適合するメディアカードを表すデータを保存するように構成された第２のレジスタを更に備える
ことを特徴とする請求項１４に記載の装置。
【請求項１６】
前記第２のレジスタが、前記第２の経路を通じて、前記ＭＭＣドライバによってアクセス可能である
ことを特徴とする請求項１５に記載の装置。
【請求項１７】
もし前記メディアカードが前記ＳＤドライバに適合する場合、前記メディアカードが、前記ＳＤドライバを通じて、ソフトウェアアプリケーションによってアクセス可能である
ことを特徴とする請求項１４に記載の装置。
【請求項１８】
もし前記メディアカードが前記ＭＭＣドライバに適合する場合、前記メディアカードが、前記ＭＭＣドライバを通じて、ソフトウェアアプリケーションによってアクセス可能である
ことを特徴とする請求項１４に記載の装置。
【請求項１９】
前記第１の経路が、第１のアドレスと関連付けられている
ことを特徴とする請求項１４に記載の装置。
【請求項２０】
前記第２の経路が、前記第１のアドレスと異なる第２のアドレスと関連付けられている
ことを特徴とする請求項１７に記載の装置。
【請求項２１】
メディアカードがソケットに挿入されていることを表すデータをレジスタに保存する段階と、
第１の経路を通じて、第１のソフトウェアドライバによって前記レジスタにアクセスする段階と、
セキュアデジタル（ＳＤ）ドライバが前記メディアカードに適合するか否かを判定する段階と、
もし前記ＳＤドライバに適合しない場合、前記第１の経路と異なる第２の経路を通じて、マルチメディアカード（ＭＭＣ）ドライバによって前記レジスタにアクセスする段階と、
前記ＭＭＣドライバが前記メディアカードに適合するか否かを判定する段階と、
を含むことを特徴とする方法。
【請求項２２】
もし前記ＳＤドライバに適合する場合、アプリケーションが前記ＳＤドライバを通じて前記メディアカードにアクセスすることを可能にする段階を更に含む
ことを特徴とする請求項２１に記載の方法。
【請求項２３】
もし前記ＭＭＣドライバに適合する場合、アプリケーションが前記ＭＭＣドライバを通じて前記メディアカードにアクセスすることを可能にする段階を更に含む
ことを特徴とする請求項２１に記載の方法。
【請求項２４】
前記第１の経路が、第１のアドレスと関連付けられている
ことを特徴とする請求項２１に記載の方法。
【請求項２５】
前記第２の経路が、前記第１のアドレスと異なる第２のアドレスと関連付けられている
ことを特徴とする請求項２４に記載の方法。
【請求項２６】
命令を保存する記憶媒体を備えると共に、前記命令が、装置によって実行された場合に、結果的に前記装置に、
メディアカードがソケットに挿入されていることを表すデータをレジスタに保存する段階と、
第１の経路を通じて、第１のドライバによって前記レジスタにアクセスする段階と、
セキュアデジタル（ＳＤ）ドライバが前記メディアカードに適合するか否かを判定する段階と、
もし前記ＳＤドライバに適合しない場合、前記第１の経路と異なる第２の経路を通じて、マルチメディアカード（ＭＭＣ）ドライバによって前記レジスタにアクセスする段階と、
前記ＭＭＣドライバが前記メディアカードに適合するか否かを判定する段階とを実行させる
ことを特徴とする物品。
【請求項２７】
前記命令が、装置によって実行された場合に、結果的に前記装置に、もし前記ＳＤドライバに適合する場合、アプリケーションが前記ＳＤドライバを通じて前記メディアカードにアクセスすることを可能にする段階をさらに実行させる
ことを特徴とする請求項２６に記載の物品。
【請求項２８】
前記命令が、装置によって実行された場合に、結果的に前記装置に、もし前記ＭＭＣドライバに適合する場合、アプリケーションが前記ＭＭＣドライバを通じて前記メディアカードにアクセスすることを可能にする段階をさらに実行させる
ことを特徴とする請求項２７に記載の物品。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、メディアカードに関係すると共に、更に特に、メディアカードがソフトウェアドライバに適合するかどうかを判定することに関係する。
【０００２】
本出願は、その出願から優先権が主張されると共に、参照によってその内容がそれらの全体においてこの中に組み込まれる、以下の“System and Method for Enhancing a Standard Secure Digital Bus Interface,”と表題が付けられて２００５年１２月６日に出願された、共通の譲受人の以下の米国出願である米国暫定特許出願シリアル番号60/742,960番と関係がある。
【背景技術】
【０００３】
メディアカードのような装置は、例えばデジタルカメラ、デジタルビデオカメラ、オーディオプレーヤ、セルラー電話、及び／または、携帯情報機器（ＰＤＡ）のような携帯用電子機器にメモリを提供する。メディアカードの一種は、いくらかのギガバイト（Giga-bytes：ＧＢ）のデータ（例えば、圧縮された音楽、圧縮されたビデオ、高解像度画像等）を保存することができるマルチメディアカード（ＭＭＣ）カードである。セキュアデジタル（ＳＤ）カードは、同様にいくらかのギガバイト（ＧＢ）のデータを保存することができるメディアカードの別の種類である。その上、ＳＤカードは、一般的に保存されたデータが書込みから保護されることを可能にする。メディアカードの３番目の種類は、ＳＤカードの保存機能と共にデータ転送機能を提供することができるセキュアデジタル入力／出力（Secure Digital Input Output：ＳＤＩＯ）カードである。例えば、いくらかのＳＤＩＯカードは、ＷｉＦｉとしても知られる、ワイヤレスローカルエリアネットワーク相互運用性（８０２．１１ｂ）のための米国電気電子技術者協会（ＩＥＥＥ）標準を使用することによってネットワークに接続され得る。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
データを保存し、そしてデータを取り出すために、これらの３つの種類のメディアカードの各々は、コンピュータシステムと接続されることができる共通のソケットに挿入され得る。ソフトウェアドライバは、コンピュータシステムがメディアカードのような周辺装置と通信することを可能にする命令を含む。メディアカードと通信することによって、コンピュータシステム、及びコンピュータシステム上で実行されたアプリケーションは、挿入されたメディアカードと対話すること（例えば、データを保存したり、データを取り出す等）ができる。例えば、ワシントン州レドモンドのマイクロソフト社によって生産されたセキュアデジタルバスドライバは、ＳＤカード及びＳＤＩＯカードをサポートするために、ＳＤＩＯ標準ホストコントローラ仕様１．０に従う。しかしながら、ＭＭＣカードのようなメディアカードの他の種類は、マイクロソフトＳＤバスドライバによってサポートされない。
【課題を解決するための手段】
【０００５】
本開示の特徴によれば、装置は、集積回路上に実装されたメディアカードリーダを備える。メディアカードリーダは、メディアカードがメディアカードソケットに挿入されていることを表すデータを保存する少なくとも１つのレジスタを備える。レジスタは、ＳＤドライバとの適合性を判定するために、第１の経路を通じて、セキュアデジタル（ＳＤ）ドライバによってアクセス可能である。もし挿入されたメディアカードがＳＤドライバに適合しない場合、レジスタは、ＭＭＣドライバとの適合性を判定するために、第２の経路を通じて、マルチメディアカード（ＭＭＣ）ドライバによってアクセスされる。
【０００６】
本開示の別の特徴によれば、装置は、集積回路上に実装されたメディアカードコントローラ回路を備える。メディアカードコントローラ回路は、ソフトウェアからの入力の欠如、及びメディアカードソケットに挿入されたメディアカードの種類を識別するメディアカード検出器を備える。メディアカードコントローラ回路は、同様に、メディアカードの種類を表すデータを保存する第１のレジスタを備える。レジスタは、第１の経路を通じて、セキュアデジタル（ＳＤ）ドライバによってアクセス可能である。レジスタは、同様に、第２の経路を通じて、マルチメディアカード（ＭＭＣ）ドライバによってアクセス可能である。
【０００７】
本開示の別の特徴によれば、方法は、メディアカードがソケットに挿入されていることを表すデータをレジスタに保存する段階を含む。方法は、同様に、第１の経路を通じて、第１のソフトウェアドライバによってレジスタにアクセスする段階を含む。方法は、同様に、セキュアデジタル（ＳＤ）ドライバが前記メディアカードに適合するか否かを判定する段階を含む。方法は、同様に、もしＳＤドライバに適合しない場合、第１の経路と異なる第２の経路を通じて、マルチメディアカード（ＭＭＣ）ドライバによってレジスタにアクセスする段階を含む。方法は、同様に、ＭＭＣドライバがメディアカードに適合するか否かを判定する段階を含む。
【０００８】
本開示の別の特徴によれば、物品は、命令を保存する記憶媒体を備えると共に、前記命令は、装置によって実行された場合に、結果的に前記装置に、メディアカードがソケットに挿入されていることを表すデータをレジスタに保存する段階と、第１の経路を通じて、第１のドライバによって前記レジスタにアクセスする段階と、セキュアデジタル（ＳＤ）ドライバが前記メディアカードに適合するか否かを判定する段階と、もし前記ＳＤドライバに適合しない場合、前記第１の経路と異なる第２の経路を通じて、マルチメディアカード（ＭＭＣ）ドライバによって前記レジスタにアクセスする段階と、前記ＭＭＣドライバが前記メディアカードに適合するか否かを判定する段階とを実行させる。
【０００９】
本開示の追加の利点、及び特徴は、単に本発明を実施するように意図された最良モードの実例である、本発明の実施例が示されて説明される以下の詳細な説明から、当業者には容易に明白になることになる。説明されることになるように、本開示は、他の実施例、及び異なる実施例が可能であると共に、そのいくつかの詳細は、全く本開示の精神からはずれずに、様々な明白な点において変更が可能である。従って、図面、及び説明は、実際は、制限するものとしてではなく、実例になると見なされるべきである。
【発明を実施するための最良の形態】
【００１０】
図１を参照すると、代表的なコンピュータシステム１００は、メディアカード１０４を収容するためのソケット１０２を備えることができる。コンピュータシステム１００がメディアカード１０４を収容する能力がある一方、他の電子機器は、同様に、メディアカードを収容するために１つ以上のソケットを備えることができる。例えば、メディアカード１０４は、デジタルカメラ、デジタルビデオカメラ、オーディオプレーヤ、セルラー電話、携帯情報機器（ＰＤＡ）、及び／または他の種類の携帯用電子機器のソケットに挿入されることができる。メディアカード１０４は、かなりの量（例えば、いくらかのギガバイト）のデータの比較的速い保存とアクセスを提供することができるデータ保存機能を備え得る。例えば、メディアカード１０４は、ＳＤカード、ＳＤＩＯカード、及び／またはＭＭＣカードであり得る。
【００１１】
コンピュータシステム１００は、メディアカード１０４にアクセスすることができる１つ以上のアプリケーションを実行することができる。例えば、アプリケーション(例えば、Microsoft Outlook（商標）、Microsoft Excel（商標）等）は、メディアカード１０４にデータを保存するか、及び／または、メディアカード１０４からデータを取り出すことができる。しかしながら、メディアカード１０４を使用する前に、コンピュータシステム１００は、メディアカードとのインタフェースを確立する必要があり得る。従って、コンピュータシステム１００は、メディアカード１０４とインタフェースするために、適切なソフトウェアドライバを識別することができる。例えば、もしメディアカード１０４がＳＤカードである場合、コンピュータシステム１００は、コンピュータシステムのメモリに存在する標準のＳＤソフトウェアドライバを識別して、利用することができる。代りに、もしメディアカード１０４がＭＭＣカードである場合、コンピュータシステム１００は、メディアカードと通信するために、ＭＭＣソフトウェアドライバを識別することができる。適切なソフトウェアドライバを識別して、利用することによって、コンピュータシステム１００は、例えば、ＳＤカード、ＳＤＩＯカード、及び／または、ＭＭＣカードにデータを保存するか、または保存したデータにアクセスすることが可能であり得る。
【００１２】
図２を参照すると、ポータブルコンピュータシステム１００の構成図が示される。メディアカード１０４はソケット１０２に挿入されることが示される。ハードウェアコンポーネント、及びソフトウェアコンポーネントを例証するために、コンピュータシステム１００は、ソフトウェア領域２００とハードウェア領域２０２とに分割され得る。ソフトウェア領域２００は、ソフトウェアアプリケーション２０４、代表的なＳＤドライバ２０６、及び代表的なＭＭＣドライバ２０８を備えることができる。その上、ソフトウェア領域２００は、他のソフトウェアコンポーネントを備え得る。例えば、オペレーティングシステム（図示せず）、及び／または追加のソフトウェアドライバ（例えば、ＳＤＩＯドライバ）は、ソフトウェア領域２００に含まれることができる。
【００１３】
ハードウェア領域２０２は、ＳＤカード、ＭＭＣカード、及び／またはＳＤＩＯカードのような一般的なメディアカードを収容することが可能であり得るソケット１０２を備えることができる。この実例において、メディアカード１０４は、ソケット１０２に挿入されることができる。ハードウェア領域２０２は、同様に、中央演算処理装置（ＣＰＵ）２１０、コアロジック及びバスインタフェース回路２１２、及びメディアカードコントローラ回路２１４を備えることができる。コンピュータシステム１００は、同様に、他のコンポーネントをハードウェア領域２０２に備えることができる。例えば、１つ以上のメモリ（例えば、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、スタティックＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）等）、及び／または、１つ以上の記憶装置（例えば、ハードドライブ、ＣＤ−ＲＯＭ等）が、ハードウェア領域２０２に含まれることができる。
【００１４】
概して、メディアカード１０４に保存される情報は、（例えば、ＣＰＵ２１０によって実行される）ソフトウェアアプリケーション２０４によって使用されることができる。例えば、メディアカード１０４は、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、パーソナルエリアネットワーク（ＰＡＮ）、または同様の種類のネットワーク方式に対する接続性のような他の機能性と共に追加の記憶装置を提供することができる。
【００１５】
一般的に、ソフトウェアアプリケーション２０４は、メディアカード１０４と直接通信することができない可能性がある。通信リンクを形成するために、ソフトウェアアプリケーション２０４は、メディアカード１０４と通信することが可能である１つ以上のソフトウェアドライバを使用することができる。例えば、もしメディアカード１０４がＳＤカードである場合、ソフトウェアアプリケーション２０４は、メディアカード１０４とインタフェースするために、ＳＤドライバ２０６を利用することができる。代りに、もしメディアカード１０４がＭＭＣカードである場合、ソフトウェアアプリケーション２０４は、メディアカード１０４とインタフェースするために、ＭＭＣドライバ２０８を利用することができる。
【００１６】
ＳＤドライバ２０６、ＭＭＣドライバ２０８、及び／または、他の種類のソフトウェアドライバ（例えば、ＳＤＩＯドライバ）を利用する前に、メディアカード１０４の種類（例えば、ＳＤカード、ＭＭＣカード、ＳＤＩＯカード等）が識別され得る。メディアカードの種類を識別するために、メディアカードコントローラ回路２１４は、メディアカード１０４と通信することができる論理回路、及び／または状態機械（state machine）回路を備えることができる。メディアカード１０４から情報を集めると共に、分析することによって、メディアカードは、例えば、ＳＤカード、またはＭＭＣカードであると識別され得る。この実施例において、ＣＰＵ２１０、及びコアロジック及びバスインタフェース回路２１２は、ＳＤドライバ２０６及びＭＭＣドライバ２０８が、メディアカードコントローラ回路２１４によって集められた情報にアクセスすると共に、カード種類の識別において支援することを可能にする。
【００１７】
上述されたように、メディアカード１０４の種類は、ＳＤドライバ２０６、及び／またはＭＭＣドライバ２０８によって識別されることができる。代りに、いくつかの実施例において、メディアカードコントローラ回路２１４は、メディアカード１０４のカード種類を単独で識別することができる。１度識別されると、メディアカードコントローラ回路２１４は、メディアカード１０４とのインタフェースを確立するように、適切なドライバ（例えば、ＳＤドライバ２０６、ＭＭＣドライバ２０８等）に信号を送ることができる。１度適切なドライバと通信すると、ソフトウェアアプリケーション２０４は、メディアカード１０４の機能を利用することができる。
【００１８】
図３を参照すると、メディアカードコントローラ回路２１４の代表的な一実施例が示される。この実施例において、メディアカードコントローラ回路２１４は、バスインタフェース３００、メディアカードリーダ３０２、代替えのプログラミングレジスタアクセス経路３０４、及びメディアカード入力／出力回路３０６を備えることができる。この実施例において、メディアカードリーダ３０２は、直接メモリアクセス（ＤＭＡ）エンジン３０８、１つ以上のプログラミングレジスタ３１０、１つ以上のデータバッファ３１２、及び制御論理回路３１４を備えることができる。
【００１９】
バスインタフェース３００は、メディアカードコントローラ回路２１４とコアロジック及びバスインタフェース回路２１２（図２に示される）との間にデータが通されることを可能にし得る。例えば、バスインタフェース３００は、データ通信のための周辺装置相互接続（peripheral component interconnect：ＰＣＩ）インタフェースのような高速接続を実行することができる。挿入されたメディアカード１０４とデータを交換するために、制御論理回路３１４は、メディアカードと通信するために、プログラミングレジスタ３１０に保存される内容によって方向付けられ得る状態機械を備えることができる。データを交換するために、制御論理回路３１４は、メディアカード仕様（例えば、ＳＤ仕様、ＭＭＣ仕様等）に適合し得るメディアカード入力／出力回路３０６に含まれるバッファ、及び／またはドライバに接続することができる。ＤＭＡエンジン３０８、及びプログラミングレジスタ３１０は、バッファ３１２からデータを読み込むために、及びバッファ３１２に対してデータを書き込むために使用されることができる。
【００２０】
メディアカード１０４がソケット１０２に挿入されるとき、指示信号が生成されると共に、メディアカードリーダ３０２に提供されることができる。一実施例において、メディアカード１０４が挿入されたことを示すために、データがプログラミングレジスタ３１０に保存され得る。例えば、挿入されたメディアカードに電力が供給されるとき、データがプログラミングレジスタ３１０に保存され得る。同様に、メディアカード１０４がソケット１０２から取り外されるとき、指示信号が生成され得る。挿入指示データがプログラミングレジスタ３１０に保存されると、ＳＤドライバ２０６（図２に示される）は、メディアカードがソケット１０２に挿入されたという通知を受け取ることができる。その場合に、ＳＤドライバ２０６は、メディアカード１０４がＳＤカードであるか否かを判定しようと試みることができる。
【００２１】
この判定のために、ＳＤドライバ２０６は、メディアカードコントローラ回路２１４を介して、メディアカード１０４と通信しようと試みることができる。例えば、ＳＤドライバ２０６は、プログラミングレジスタ３１０に対して、メディアカード１０４からの支援によって実行され得る１つ以上の命令を提供することができる。ＳＤドライバ２０６は、バスインタフェース３００とプログラミングレジスタ３１０との間の経路３１６を通じてこれらの命令を提供することができる。経路３１６は、プログラミングレジスタ３１０の内の１つ以上に割り当てられたかもしれないアドレスを用いて、ＳＤドライバ２０６によってアクセスされることができる。このアドレスを使用することによって、ＳＤドライバ２０６は、プログラミングレジスタ３１０にデータ（例えば、命令）を提供するか、及び／または、プログラミングレジスタ３１０からデータ（例えば、メディアカード１０４からの応答）を取り出すことができる。例えば、命令は、ＳＤドライバ２０６から、経路３１６を介してプログラミングレジスタ３１０に提供されることができる。命令を実行のためにメディアカード１０４に渡すことによって、データ（例えば、確認応答、販売者情報等）が、メディアカードからメディアカードリーダ３０２に対して、逆に提供され得る。ＳＤドライバ２０６は、その場合に、適切な応答に関してチェックを行うために、（プログラミングレジスタ３１０に割り当てられたアドレスによって、）経路３１６を使用することができる。応答を分析することによって、ＳＤドライバ２０６は、メディアカード１０４と関連付けられた情報（例えば、カード種類等）を判定することができる。
【００２２】
もしＳＤドライバ２０６が、メディアカード１０４はＳＤカードであると識別することができない場合、ＭＭＣドライバ２０８は、メディアカードがＭＭＣカードであると識別しようと試みることができる。この判定を試みるために、ＭＭＣドライバ２０８は、プログラミングレジスタ３１０に対して、１つ以上の命令及び／またはデータを提供することができる。命令、及び／またはデータは、その場合に、応答を生成するために、メディアカード１０４によって、及び／またはメディアカード１０４と共に、使用されることができる。プログラミングレジスタ３１０にアクセスするために、ＭＭＣドライバ２０８は、プログラミングレジスタに割り当てられ得る第２のアドレスを使用することができる。ＭＭＣドライバ２０８によって使用されるアドレスは、経路３１６と関連付けられると共に、ＳＤドライバ２０６によって使用されるアドレスと比べると、特別であり得る。図において示されたように、第２のアドレスの使用は、バスインタフェース３００と、プログラミングレジスタ３１０との間に位置し得る代替えのプログラミングレジスタアクセス経路３０４によって例証される。ＳＤドライバ２０６と同様に、メディアカード１０４によって返されたデータは、メディアカードに関連付けられた情報（例えば、カード種類等）を識別するために、ＭＭＣドライバ２０８によって使用され得る。
【００２３】
ＭＭＣドライバ２０８は、１つ以上の事象に基づいて、メディアカード１０４がＭＭＣカードであり得るか否かの判定を開始することができる。例えば、もしＳＤドライバ２０６がメディアカード１０４を識別しようと試みることを中止する場合、ＭＭＣドライバ２０８が識別動作を開始することができる。別のシナリオでは、ＳＤドライバ２０６が電力の供給をメディアカード１０４から除去することを開始するとき、ＭＭＣドライバ２０８が識別動作を開始することができる。また別のシナリオでは、ＭＭＣドライバ２０８は、メディアカード１０４が無活動であり得る一定期間以降、識別動作を開始することができる。
【００２４】
もしＳＤドライバ２０６か、またはＭＭＣドライバ２０８のいずれかが、ＳＤカード形式、またはＭＭＣカード形式に適合するとして、メディアカード１０４を識別する場合、適切なドライバが、メディアカードに対するアクセスを、ソフトウェアアプリケーション２０４に提供することができる。例えば、もしＳＤドライバ２０６がメディアカード１０４はＳＤカードであると判定する場合、ソフトウェアアプリケーション２０４は、メディアカードに保存されるデータにアクセスすることができる。代りに、もしＳＤドライバ２０６がメディアカード１０４に適合性があると認識せず、そしてＭＭＣドライバ２０８がメディアカードはＭＭＣカードであると認識する場合、ソフトウェアアプリケーション２０４は、ＭＭＣドライバによって、メディアカードのデータ保存機能にアクセスすることができる。
【００２５】
図４は、メディアカードコントローラ回路２１４のいくつかの動作を含むフローチャート４００を提示する。例えば、いくつかの動作は、ソケット１０２のようなソケットにメディアカードが挿入されていることを検出する段階４０２を含むことができる。メディアカード挿入は、メディアカードコントローラ回路２１４に通知することを必要とし得る。例えば、プログラミングレジスタ３１０に含まれ得る状態レジスタが活性化されることができる。ＣＰＵ２１０に対する割込み事象は、状態レジスタの活性化と組み合わせて、またはその代わりに生成され得る。ハードウェア領域２０２におけるコンポーネントに通知することによって、ソフトウェア領域２００におけるコンポーネントは、メディアカード挿入を通知されることができる。例えば、動作は、挿入されたメディアカードに適合することができる１つ以上のソフトウェアドライバに通知する段階４０４を含むことができる。以前に言及されたように、一実施例において、ＳＤドライバ２０６、及びＭＭＣドライバ２０８は、メディアカードの挿入を通知されることができる。通知に関して、各ドライバは、プログラミングレジスタ３１０に保存されるデータをチェックすることができる。ＳＤドライバ２０６は、経路３１６と関連付けられたアドレスによってプログラミングレジスタ３１０にアクセスすることができる。ＭＭＣドライバ２０８は、代替えのプログラミングレジスタアクセス経路３０４と関連付けられたアドレスによってプログラミングレジスタ３１０にアクセスすることができる。ＭＭＣドライバ２０８は、同様に、代替えのプログラミングレジスタアクセス経路３０４に含まれることができる個別の状態レジスタ（図示せず）によって、メディアカード挿入を通知されることができる。
【００２６】
１度通知されると、ＳＤドライバ２０６は、挿入されたメディアカードがＳＤドライバに適合するか否かを判定する段階４０６を実行する。適合性（例えば、メディアカード種類、メディアカード機能等）を判定するために、ＳＤドライバ２０６は、挿入されたメディアカードにデータを提供するか、及び／または、挿入されたメディアカードからデータを受け取ることができる。メディアカードと情報を交換するために、ＳＤドライバ２０６は、データ交換を制御するためにプログラミングレジスタ３１０を使用することができる。
【００２７】
もし挿入されたメディアカードがＳＤドライバ２０６に適合すると判定された場合、動作は、その場合に、ソフトウェアアプリケーション２０４がＳＤドライバを通じて挿入されたメディアカードにアクセスすることを可能にする段階４０８を含むことができる。一般的に、挿入されたメディアカードへのアクセスは、メディアカードコントローラ回路が、ソケット接続部からカードが取り外されたことを検知する段階４１０まで継続する。取り外されたことを検知すると、メディアカードコントローラ回路の動作は、別の（または同じ）メディアカードの挿入を検出する段階４０２に戻る動作を含む。
【００２８】
もし挿入されたメディアカードがＳＤドライバ２０６に適合しないと判定された場合、動作は、ＳＤドライバがプログラミングレジスタ３１０にアクセスすることを中止する段階４１２を含むことができる。アクセスを中止することによって、データは、挿入されたメディアカードとＳＤドライバとの間で、もはや交換されることはできない。動作は、同様に、ＳＤドライバ２０６が通信を中止したか否かを判定するために、ＭＭＣドライバ２０８がプログラミングレジスタ３１０にアクセスする段階４１４を含むことができる。プログラミングレジスタにアクセスするために、ＭＭＣドライバ２０８は、経路３１６と関連付けられたアドレスを使用することができる。しかしながら、一般的に、ＭＭＣドライバ２０８は、代替えのプログラミングレジスタアクセス経路３０４と関連付けられたアドレスを使用する。
【００２９】
ＳＤドライバ２０６が通信を停止したか否かを判定するために、ＭＭＣドライバ２０８は、プログラミングレジスタ３１０の内の１つ以上に保存されるデータを読むことができる。例えば、電力が挿入されたメディアカードに供給されているか否か、または電力の供給がメディアカードから除去されたか否かを表すデータが読まれ得る。プログラミングレジスタ３１０から読み取られたデータは、同様に、挿入されたメディアカードとデータを交換するための、ＳＤドライバ２０６によって使用される最後の通信命令を表すことができる。ＳＤドライバ２０６からの最後の命令に基づいて、ＭＭＣドライバ２０８は、ＳＤドライバ２０６がメディアカード１０４との通信を停止したか否かを判定することができる。同様に、通信における停止は、メディアカード１０４からプログラミングレジスタ３１０によって受信されたデータから検出され得る。一実施例において、もしプログラミングレジスタ３１０に供給されたいくつかのデータが、一定期間の間一定の状態を維持する場合、通信における停止が示され得る。例えば、もしメディアカード１０４が一定期間（例えば、４秒）の間挿入された後、メディアカード１０４から供給されたデータが一定期間（例えば、２秒）の間変わらないままである場合、ＳＤドライバ２０６がメディアカードとの対話を停止させたことを表し得る。
【００３０】
様々な種類のデータが、ＳＤドライバ２０６がメディアカード１０４との通信を停止したことを示すために使用されることができるプログラミングレジスタ３１０に提供され得る。言及されたように、このデータは、電力の供給、及び／またはＳＤドライバ２０６によって提供された最後の命令を表すデータを含むことができる。他のデータは、メディアカード１０４と関連付けられた１つ以上のパラメータ（例えば、バス幅）、または特性（例えば、作業速度、メモリ容量等）を含むことができる。他の技術が、通信における停止を示すために、同様に利用され得る。例えば、電力の供給に続いて一定期間（例えば、２秒）の後、応答（または、反応的な肯定応答）が受信されないと、ＳＤドライバ２０６がメディアカード１０４との対話を停止したことを表し得る。
【００３１】
一度、ＳＤドライバ２０６がプログラミングレジスタ３１０に対するアクセスを停止し、ＭＭＣドライバ２０８がプログラミングレジスタに対してアクセスした場合、いくつかの動作は、メディアカード１０４がＭＭＣドライバに適合するか否かをＭＭＣドライバが判定する段階４１６を含むことができる。適合性を判定するために、ＭＭＣドライバ２０８は、プログラミングレジスタ３１０を使用することによって、メディアカードとＭＭＣドライバとの間のデータ交換を制御するために、メディアカード１０４のカード種類、及び／または機能を判定することができる。もしメディアカード１０４がＭＭＣドライバ２０８に適合すると判定された場合、いくつかの動作は、ソフトウェアアプリケーション２０４がＭＭＣドライバを通じてメディアカード１０４にアクセスすることを可能にする段階４１８を含むことができる。一般的に、アクセスは、メディアカードコントローラ回路２１４が、ソケット１０２からメディアカード１０４が取り外されたことを検知する段階４１０まで許される。取り外されたことを検知すると、メディアカードコントローラ回路２１４は、段階４０２で別の（または同じ）メディアカードの挿入を検出することを待つ段階に戻る。同様に、もしメディアカード１０４がＭＭＣドライバ２０８に適合しない場合、メディアカードコントローラ回路２１４は、段階４１０でメディアカードが取り外されたことを検知するのを待つと共に、次にメディアカードの挿入を検出することを待つ段階４０２に戻る。メディアカード１０４が取り外されたか否かを判定するために、ＳＤドライバ２０６、及び／またはＭＭＣドライバ２０８は、プログラミングレジスタ３１０と通信することによって、通知されることができる。例えば、経路３１６を通じてプログラミングレジスタ３１０とデータを交換することによって、ＳＤドライバ２０６は、メディアカード１０４が取り外されたか否かを判定することができる。同様に、ＭＭＣドライバ２０８は、メディアカード１０４が取り外されたか否かを判定するために、代替えのプログラミングアクセス経路３０４を通じてプログラミングレジスタ３１０と通信することができる。別の代表的技術において、ＭＭＣドライバ２０８は、メディアカード１０４が取り外されたか否かを判定するために、専用の状態レジスタ（図示せず）と通信することができる。
【００３２】
図５を参照すると、メディアカードコントローラ回路５００の別の実施例が示される。メディアカードコントローラ回路２１４（図３に示される）と同様に、メディアカードコントローラ５００は、バスインタフェース３００、メディアカードリーダ３０２、代替えのプログラミングレジスタアクセス経路３０４、及びメディアカード入力／出力端子３０６を備える。更に、メディアカードコントローラ回路５００は、メディアカード検出器５０２を備える。同様に、メディアカードコントローラ回路２１４（図３に示される）と同様に、メディアカードリーダ３０２は、ＤＭＡエンジン３０８、プログラミングレジスタ３１０、データバッファ３１２、及び制御論理回路３１４を備える。
【００３３】
メディアカード検出器５０２は、挿入されたメディアカード１０４がＳＤドライバ２０６、及び／またはＭＭＣドライバ２０８に適合するか否かを判定することができる。メディアカード検出器５０２は、ハードウェア領域２０２において判定を行うことができると共に、ソフトウェア領域２００におけるコンポーネント（例えば、ＳＤドライバ２０６、ＭＭＣドライバ２０８等）からの入力、及び／または、分析結果は、実質的に削減され得るか、もしくは取り除かれることができる。図３及び図４と関連して上述されたように、ハードウェアの実装を使用することによって、ＳＤドライバ２０６、及び／またはＭＭＣドライバ２０８を使用することと比較して、適合性は、比較的迅速に判定されることができる。
【００３４】
メディアカード検出器５０２は、挿入されたメディアカード（例えば、メディアカード１０４）とデータを交換するために、論理技術、及び／または状態機械技術を実装するためのハードウェアを備えることができる。データを交換することによって、メディアカード検出器５０２は、挿入されたメディアカードの種類、及び／または機能を判定することができる。メディアカード検出器５０２は、同様に、挿入されたメディアカードに対する電力の供給を制御することができると共に、例えば、ソケット１０２に電力を供給するために、電源スイッチ（図示せず）の投入（closing）が制御され得る。更に、メディアカード検出器５０２は、メディアカード１０４の挿入をメディアカードリーダ３０２から隠すことができる。特に、メディアカード検出器５０２は、挿入されたメディアカード１０４と、プログラミングレジスタ３１０との間のデータ交換を阻止することができる。
【００３５】
メディアカード１０４の適合性を識別するために、メディアカード検出器５０２は、ソフトウェア領域２００に含まれ得るＳＤドライバ２０６、ＭＭＣドライバ２０８、及び他のドライバ（例えば、ＳＤＩＯドライバ）によってサポートされた機能を表す情報を局所的に保存することができる。もしメディアカード１０４がＳＤドライバ２０６に適合すると判定される場合、メディアカード検出器５０２は、プログラミングレジスタ３１０に対して、メディアカード１０４がソケットコネクタ１０２に挿入されたという警報を出すことができる。更に、メディアカード検出器５０２は、その場合に、挿入されたメディアカード１０４の制御をＳＤドライバ２０６に渡すことができる。代りに、もしメディアカード検出器５０２が、挿入されたメディアカード１０４はＭＭＣドライバ２０８に適合すると判定する場合、メディアカード検出器５０２は、代替えのプログラミングレジスタアクセス経路３０４と関連付けられた１つ以上のレジスタ５０４にデータを送信することができる。この代表的設計において、データは、経路５０６を通じてメディアカード検出器５０２からレジスタ５０４に対して渡される。このデータは、メディアカード１０４がソケット１０２に挿入されたことを示すことができる。メディアカード検出器５０２は、その場合に、制御をＭＭＣドライバ２０８に渡すことができる。代替えのプログラミングレジスタアクセス経路３０４を通じて命令をプログラミングレジスタ３１０に与えることによって、ＭＭＣドライバ２０８は、メディアカード１０４との通信を確立することができる。メディアカード１０４と対話するＭＭＣドライバ２０８によって、ソフトウェアアプリケーション２０４は、メディアカードの機能にアクセスすると共に、メディアカードの機能にを使用することができる。
【００３６】
もし、ドライバ（例えば、ＳＤドライバ２０６、ＭＭＣドライバ２０８等）の内のいずれもが挿入されたメディアカード１０４に適合しないと判定された場合、メディアカード検出器５０２は、挿入されたメディアカードからの電力供給の除去を開始することができる。更に、電力の供給が除去されるので、メディアカード検出器５０２は、メディアカード１０４の挿入を表すデータがメディアカードリーダ３０２に供給されることを阻止し続けることができる。メディアカード検出器５０２は、同様に、ドライバの内の１つが挿入されたメディアカード１０４に適合する場合、ソケット１０２から電力の供給を除去することができる。例えば、メディアカード検出器５０２は、制御を適合するソフトウェアドライバ（例えば、ＳＤドライバ２０６、ＭＭＣドライバ２０８等）に渡す前に、ソケット１０２からの電力供給の除去を開始することができる。一度制御が適切なソフトウェアドライバに渡されれば、電力は回復され得る。
【００３７】
経路５０６は、代替えのプログラミングレジスタアクセス経路３０４へのアクセスを、メディアカード検出器５０２に提供することができる。従って、メディアカード検出器５０２は、経路５０６を通じて、バスインタフェース３００、及び／またはプログラミングレジスタ３１０にアクセスすることができる。代替えのプログラミングレジスタアクセス経路３０４は、プログラミングレジスタ３１０に追加のアドレスを割り当てるためのデコードロジック（decoding logic）を備えることができる。メディアカード検出器５０２から情報を集めるために、代替えのプログラミングレジスタアクセス経路３０４は、１つ以上のレジスタ（例えば、レジスタ５０６）を備えることができる。例えば、メディアカード検出器５０２は、ＭＭＣドライバ２０８に対して、挿入されたメディアカード１０４がドライバに適合することができるという警報を出すために、レジスタ５０６にデータを提供することができる。いくつかの実施例において、挿入されたメディアカード１０４が、代替えのプログラミングレジスタアクセス経路３０４を使用せずに、ＭＭＣドライバ２０８によって制御されることができるように、追加の回路（例えば、制御論理回路）が、メディアカードコントローラ回路５００に備えられ得る。
【００３８】
図６を参照すると、メディアカードコントローラ回路５００のいくつかの動作を表すフローチャート６００が示される。例えば、いくつかの動作は、メディアカード（例えば、メディアカード１０４）がソケット１０２に挿入されていることをメディアカード検出器５０２が検出する段階６０２を含むことができる。メディアカード挿入の検出に従って、メディアカード検出器５０２は、ソフトウェア領域２００におけるソフトウェアコンポーネント（例えば、ＳＤドライバ２０６、ＭＭＣドライバ２０８等）からの介入なしに、挿入されたメディアカードに対して電力を供給することができる。
【００３９】
動作は、同様に、挿入されたメディアカードにメディアカード検出器５０２がアクセスする段階６０４と、挿入されたメディアカード１０４の種類及び／または機能を判定しようと試みる段階を含むことができる。挿入されたメディアカードを検索してデータを取り出すために、メディアカード検出器５０２は、ＳＤドライバ２０６、及び／またはＭＭＣドライバ２０８のようなソフトウェアコンポーネントからの介入なしで、メディアカードとデータを交換することができる。ソフトウェア介入の欠如によって、検索してデータを取り出す間、ソフトウェアコンポーネント（例えば、ＳＤドライバ２０６、ＭＭＣドライバ２０８等）は、メディアカード１０４が挿入されたことを通知されない。
【００４０】
挿入されたメディアカードにアクセスすると共に、検索してデータを取り出すことによって、メディアカード検出器５０２は、挿入されたカードがＳＤドライバ２０６に適合するか否かを段階６０６で判定することができる。もしメディアカード１０４がＳＤドライバ２０６に適合する場合、メディアカードコントローラ回路５００の動作は、メディアカード検出器５０２が、挿入されたメディアカードはＳＤドライバに適合し得るということをＳＤドライバ２０６に通知する段階６０８を含むことができる。いくつかの実装において、ＳＤドライバ２０６がメディアカード１０４の挿入、及び潜在的な適合性に対して警報を出され得るように、通知は、メディアカード検出器５０２が、プログラミングレジスタ３１０にデータを提供する段階を含むことができる。ＳＤドライバ２０６が通知されると、動作は、ソフトウェアアプリケーション２０４が、ＳＤドライバ２０６を通じて挿入されたメディアカードにアクセスする段階６１０を含むことができる。アクセスは、一般的に、メディアカード１０４がソケット１０２から取り外される段階６１２まで提供される。一度取り外されると、ソケット１０２に対する電力の供給は、ソフトウェアアプリケーション２０４のためのメディアカード１０４へのアクセスと共に停止され得る。更に、メディアカード１０４が取り外されるとき、メディアカード検出器５０２の動作は、別の（または同じ）メディアカードの挿入を検出する段階６０２に戻る動作を含むことができる。
【００４１】
もし挿入されたメディアカードがＳＤドライバ２０６に適合しない場合、動作は、メディアカード１０４の挿入をＭＭＣドライバ２０８に通知する段階６１４を含むことができる。いくつかの実装において、通知は、ＭＭＣドライバ２０８によってアクセスされ得るレジスタにデータを保存する段階を含むことができる。保存されたデータは、ソケット１０２に対するメディアカード１０４の挿入を表すことができる。一実施例において、メディアカード検出器５０２は、メディアカードの挿入を表すことができるレジスタ５０６にデータを保存することができる。更に、データは、挿入されたメディアカードがＭＭＣドライバ２０８に適合し得ることを表すことができるレジスタに保存されることができる。別の実施例において、データは、プログラミングレジスタ３１０のような、１つ以上の他のレジスタに保存され得る。
【００４２】
動作は、同様に、挿入されたメディアカードがＭＭＣドライバ２０８によってサポートされるか否かを判定する段階６１６を含むことができる。例えば、メディアカード検出器５０２が挿入されたカードのカード種類、またはカードの機能を判定することによって、ＭＭＣドライバ２０８は、カードをサポートできるか否かを判定することができる。もし挿入されたメディアカードがＭＭＣドライバ２０８によってサポートされ得る場合、動作は、ソフトウェアアプリケーション２０４がＭＭＣドライバを通じて挿入されたメディアカードにアクセスすることをＭＭＣドライバ２０８が可能にする段階６１８を含むことができる。ＭＭＣドライバ２０８は、プログラミングレジスタ３１０を通じて、挿入されたメディアカードにアクセスすることができる。そのようなシナリオにおいて、ＭＭＣドライバ２０８は、プログラミングレジスタに割り当てられたアドレスを使用することによって、代替えのプログラミングレジスタアクセス経路５０４を通じて、プログラミングレジスタ３１０と対話することができる。上述のように、経路５０４と関連付けられたアドレスは、（ＳＤドライバ２０６によってプログラミングレジスタと対話するために使用される）経路３１６と関連付けられたアドレスと比較して異なり得る。別の実施例において、ＭＭＣドライバ２０８は、（図５には示されない）専用の経路によって、挿入されたメディアカード１０４と対話することができる。この専用の経路は、挿入されたメディアカードを制御するための１つ以上のレジスタ、及び／または、回路(例えば、論理回路、状態機械回路等)を備えることができる。アクセスは、一般的に、段階６１２でソケット１０２からメディアカードが取り外されるまで許可される。もしＭＭＣドライバ２０８が、挿入されたメディアカードをサポートできないと判定した場合、メディアカードに対するアクセスは許可されず、メディアカード検出器５０２は、段階６１２でソケット１０２からメディアカードが取り外されるのを待つと共に、次に別の（または同じ）メディアカードの挿入を検出する段階６０２に戻る。
【００４３】
ハードウェア領域２０２のコンポーネント（図２に示される）の１つ以上は、１つ以上の種類の構造において実現され得る。いくつかの実施例において、ハードウェアコンポーネントは、個々に実現され得るか、及び／または、２つ以上のコンポーネントの組み合わせにおいて実現され得る。例えば、メディアカードコントローラ回路５００は、１つ以上の一般的なプロセッサ（例えば、マイクロプロセッサ）によって、及び／または、１つ以上の専門の装置（例えば、特定用途向け集積回路（ＡＳＩＣ）等）によって実現され得る。メディアカードコントローラ回路５００は、同様に、モノシリック構造の１つの集積回路として、もしくは分散構造で実現され得る。同様に、メディアカードコントローラ回路５００におけるコンポーネントの１つ以上（例えば、メディアカード検出器５０２）は、モノシリック構造の１つの集積回路として、もしくは分散構造で実現され得る。いくつかの実施例において、メディアカードコントローラ回路５００に含まれるレジスタ（例えば、プログラミングレジスタ３１０、レジスタ５０６）は、メモリ（例えば、ランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、スタティックＲＡＭ（ＳＲＡＭ）等）に存在することができる。
【００４４】
フローチャート４００、及び／または、フローチャート６００と関連付けられた動作の１つ以上は、コンピュータプログラムを実行する１つ以上のプログラム可能なプロセッサ（例えば、マイクロプロセッサ、ＡＳＩＣ等）によって実行され得る。１つ以上のコンピュータプログラムの実行は、入力データ（例えば、プログラミングレジスタ３１０の内容、メディアカードの内容等）を処理すると共に、出力を生成すること（例えば、データをプログラミングレジスタ３１０に保存すること等）を含むことができる。動作は、同様に、メディアカードコントローラ回路５００、及び／または、専用論理回路（例えば、ＦＰＧＡ（field programmable gate array）、ＡＳＩＣ（application-specific integrated circuit）等）として実現された、メディアカードコントローラ回路５００に含まれているコンポーネント（例えば、メディアカード検出器５０２）によって実行され得る。
【００４５】
いくつかの実施例において、メディアカードコントローラ回路５００（または、メディアカードコントローラ回路に含まれるコンポーネント）の動作は、コンピュータプログラムを実行することに適当であるかもしれないと共に、一例として、一般的な、及び／または、特別な目的のマイクロプロセッサを含むことができる。一般的に、プロセッサは、メモリ（例えば、ＲＯＭ、ＲＡＭ等）から命令、及びデータを受け取ることができる。メディアカードコントローラ回路５００は、そこからデータを受け取るためか、またはそこにデータを転送するため、あるいはその両方のために、１つ以上の大容量記憶装置（例えば、磁気ディスク、光磁気ディスク、または光ディスク等）に動作可能に接続され得る。コンピュータプログラム命令、及びデータを具体化することに適当な情報担体は、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュメモリ装置のような半導体メモリ装置、例えば、内部のハードディスク、または交換可能ディスクのような磁気ディスク、光磁気ディスク、そしてＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭディスクを一例として含む不揮発性メモリの形式を含み得る。
【００４６】
メディアカードコントローラ回路５００（または、メディアカードコントローラ回路に含まれる１つ以上のコンポーネント）の実施例は、デジタル電子回路部品によって、もしくはコンピュータハードウェアか、コンピュータファームウェアか、コンピュータソフトウェアによって、もしくはそれらの組み合わせによって実現されることができる。メディアカードコントローラ回路５００（または、メディアカードコントローラ回路に含まれる１つ以上のコンポーネント）は、同様に、例えば機械可読記憶装置（例えば、ＲＡＭ、ＲＯＭ、ハードドライブ、ＣＤ−ＲＯＭ等）のような情報担体、もしくは伝搬信号において明白に具体化された例えばコンピュータプログラムのような、コンピュータプログラム製品として実現されることができる。コンピュータプログラム製品は、例えば、プログラム可能なプロセッサ、１つのコンピュータ、または複数のコンピュータのようなデータ処理装置によって実行され得るか、または、プログラム可能なプロセッサ、１つのコンピュータ、または複数のコンピュータのようなデータ処理装置の動作を制御し得る。コンピュータプログラムは、コンパイラ型言語（compiled language）、もしくはインタープリタ型言語（interpreted language）を含む１つ以上の形式のプログラミング言語で書かれることができると共に、それは、スタンドアロンプログラム（stand-alone program）として、もしくは、モジュール、コンポーネント、サブルーチン、またはコンピュータ環境における使用に適当な他のユニットとして含むいかなる形式によっても配置され得る。コンピュータプログラムは、１つのサイトにおける、または複数のサイトを横断して分散され、通信ネットワークによって相互接続され得る、１つの計算装置（例えば、コントローラ、コンピュータシステム等）、または複数の計算装置（例えば、複数のコントローラ）上で実行されるように配置され得る。
【００４７】
多くの実現例が示された。それでもなお、様々な変更が行われ得るということが理解されることになる。従って、他の実現例は、特許請求の範囲内にある。
【図面の簡単な説明】
【００４８】
【図１】ポータブルコンピュータシステム、及びポータブルコンピュータシステムにおいて使用するためのメディアカードの図である。
【図２】挿入されたメディアカード、及び図１において示されたコンピュータシステムの一部分を表す構成図である。
【図３】図２において示されたメディアカードコントローラ回路の代表的な実施例を表す構成図である。
【図４】図３において示されたメディアカードコントローラ回路の動作を表すフローチャートである。
【図５】図２において示されたメディアカードコントローラ回路の別の代表的な実施例を表す構成図である。
【図６】図５において示されたメディアカードコントローラ回路の動作を表すフローチャートである。
【符号の説明】
【００４９】
１００    コンピュータシステム
１０４    メディアカード
１０２    ソケット
２００    ソフトウェア領域
２０２    ハードウェア領域
２０４    ソフトウェアアプリケーション
２０６    ＳＤドライバ
２０８    ＭＭＣドライバ
２１０    中央演算処理装置（ＣＰＵ）
２１２    コアロジック及びバスインタフェース回路
２１４    メディアカードコントローラ回路
３００    バスインタフェース
３０２    メディアカードリーダ
３０４    代替えのプログラミングレジスタアクセス経路
３０６    メディアカード入力／出力回路
３０８    直接メモリアクセス（ＤＭＡ）エンジン
３１０    プログラミングレジスタ
３１２    データバッファ
３１４    制御論理回路
３１６    経路
５００    メディアカードコントローラ
５０２    メディアカード検出器
５０４    レジスタ
５０６    経路
【図１】
0004566976.tif 000002
【図２】
0004566976.tif 000003
【図３】
0004566976.tif 000004
【図４】
0004566976.tif 000005
【図５】
0004566976.tif 000006
【図６】
0004566976.tif 000007