(57)【要約】【課題】デバイスの種類が増えたとしても、リソースの増大を抑えるホストコントローラ、情報処理装置及び電子機器を提供する。【解決手段】ホストコントローラは、第ｊ（１≦ｊ≦Ｎ、ｊ、Ｎは正の整数）の挿抜検出回路が、第ｊのデバイスが挿抜されるデバイス装着部に対応して設けられ第ｊのデバイスの挿抜状態を検出する第１〜第Ｎの挿抜検出回路と、前記第１〜第Ｎの挿抜検出回路の検出結果に基づいて、第１〜第Ｎのデバイスのうち少なくとも１つが挿入されたか否かを制御マスタに対して通知するデバイス挿抜状態通知回路とを含み、前記デバイス挿抜状態通知回路が、第１〜第Ｎの挿抜検出回路からの第１〜第Ｎの挿抜状態変化検出信号、第１〜第Ｎの挿抜状態安定化検出信号及び第１〜第Ｎの挿入状態指示信号に基づいて、第１〜第Ｎのデバイスの少なくとも１つが挿入されたか否かを制御マスタに対して通知する。【選択図】図３
2010015431.tif 000002
【特許請求の範囲】
【請求項１】
活線挿抜が可能なデバイスの挿抜状態を検出し該デバイスへのアクセスを制御するためのホストコントローラであって、
第ｊ（１≦ｊ≦Ｎ、ｊ、Ｎは正の整数）の挿抜検出回路が、第ｊのデバイスが挿抜されるデバイス装着部に対応して設けられ第ｊのデバイスの挿抜状態を検出する第１〜第Ｎの挿抜検出回路と、
前記第１〜第Ｎの挿抜検出回路の検出結果に基づいて、第１〜第Ｎのデバイスのうち少なくとも１つが挿入されたか否かを制御マスタに対して通知するデバイス挿抜状態通知回路と、
を含み、
前記第ｊの挿抜検出回路が、
前記第ｊのデバイスの挿抜状態の変化の検出結果を示す第ｊの挿抜状態変化検出信号、前記第ｊのデバイスの挿抜状態が安定したか否か示す第ｊの挿抜状態安定化検出信号、及び所定の期間、前記第ｊのデバイスの挿入状態が継続していることを示す第ｊの挿入状態指示信号を出力し、
前記デバイス挿抜状態通知回路が、
前記第１〜第Ｎの挿抜状態変化検出信号、第１〜第Ｎの挿抜状態安定化検出信号及び前記第１〜第Ｎの挿入状態指示信号に基づいて、前記第１〜第Ｎのデバイスのうち少なくとも１つが挿入されたか否かを前記制御マスタに対して通知することを特徴とするホストコントローラ。
【請求項２】
請求項１において、
前記第ｊの挿抜検出回路が、
前記第ｊの挿入状態指示信号に代えて、所定の期間、前記第ｊのデバイスの抜去状態が継続していることを示す第ｊの抜去状態指示信号を出力し、
前記デバイス挿抜状態通知回路が、
前記第１〜第Ｎの挿抜状態変化検出信号、第１〜第Ｎの挿抜状態安定化検出信号及び前記第１〜第Ｎの抜去状態指示信号に基づいて、前記第１〜第Ｎのデバイスのうち少なくとも１つが挿入されたか否かを前記制御マスタに対して通知することを特徴とするホストコントローラ。
【請求項３】
活線挿抜が可能なデバイスの挿抜状態を検出し該デバイスへのアクセスを制御するためのホストコントローラであって、
第ｊ（１≦ｊ≦Ｎ、ｊ、Ｎは正の整数）の挿抜検出回路が、第ｊのデバイスが挿抜されるスロットに対応して設けられ第ｊのデバイスの挿抜状態を検出する第１〜第Ｎの挿抜検出回路と、
前記第１〜第Ｎの挿抜検出回路の検出結果に基づいて、前記第１〜第Ｎのデバイスのうち少なくとも１つが挿入されたか否かを制御マスタに対して通知するデバイス挿抜状態通知回路と、
を含み、
前記第ｊの挿抜検出回路が、
第ｊのデバイスの挿抜状態の変化の検出結果を示す第ｊの挿抜状態変化検出信号を出力すると共に、前記第ｊのデバイスの挿抜状態が安定したか否かを検出して第ｊの挿抜状態安定化検出信号を出力し、
前記デバイス挿抜状態通知回路が、
前記第１〜第Ｎの挿抜状態変化検出信号と第１〜第Ｎの挿抜状態安定化検出信号とに基づいて、前記第１〜第Ｎのデバイスのうち少なくとも１つが挿入されたか否かを前記制御マスタに対して通知することを特徴とするホストコントローラ。
【請求項４】
請求項３において、
前記デバイス挿抜状態通知回路が、
前記第１〜第Ｎのデバイスの挿抜状態に応じて変化する第１〜第Ｎの挿抜状態指示信号に基づいて、前記第１〜第Ｎのデバイスの挿抜状態を前記制御マスタに通知する手段を有することを特徴とするホストコントローラ。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記第ｊの挿抜検出回路が、
前記第ｊのデバイスの挿入を検出する挿入検出回路と、
前記第ｊのデバイスの抜去を検出する抜去検出回路と、
を含み、
前記挿入検出回路の検出結果及び前記抜去検出回路の検出結果に基づいて、前記第ｊの挿抜状態変化検出信号を出力することを特徴とするホストコントローラ。
【請求項６】
請求項５において、
前記挿入検出回路が、
前記第ｊのデバイスが挿入されたときにセットされる挿入検出用フリップフロップを有し、
前記挿入検出用フリップフロップのラッチ信号に基づいて、前記挿入検出用フリップフロップのセット信号がパルス化される共に、前記第ｊの挿抜状態変化検出信号が生成されることを特徴とするホストコントローラ。
【請求項７】
請求項５又は６において、
前記抜去検出回路が、
前記第ｊのデバイスが抜去されたときにセットされる抜去検出用フリップフロップを有し、
前記抜去検出用フリップフロップのラッチ信号に基づいて、前記抜去検出用フリップフロップのセット信号がパルス化される共に、前記第ｊの挿抜状態変化検出信号が生成されることを特徴とするホストコントローラ。
【請求項８】
請求項５乃至７のいずれかにおいて、
前記挿入検出用フリップフロップが、
前記第ｊの挿抜状態安定化検出信号に基づいて初期化されることを特徴とするホストコントローラ。
【請求項９】
請求項５乃至７のいずれかにおいて、
前記抜去検出用フリップフロップが、
前記第ｊの挿抜状態安定化検出信号に基づいて初期化されることを特徴とするホストコントローラ。
【請求項１０】
請求項１乃至９のいずれか記載のホストコントローラと、
前記ホストコントローラからの通知を受けて、第１〜第Ｎのデバイス装着部のいずれかに挿入されたデバイスにアクセスするための初期化処理を行う制御マスタと、
を含むことを特徴とする情報処理装置。
【請求項１１】
各デバイス装着部にデバイスが挿抜される第１〜第Ｎのデバイス装着部と、
請求項１０記載の情報処理装置と、
を含むことを特徴とする電子機器。
【請求項１２】
請求項１乃至９のいずれか記載のホストコントローラを含むことを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコントローラ、情報処理装置及び電子機器等に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータやその周辺機器（例えばプリンタ装置、スキャナ装置又は複合機）に限らず、携帯電話機、携帯情報端末（Personal Digital Assistant：ＰＤＡ）やオーディオプレーヤ等の携帯型の情報機器、ロボット装置、デジタルカメラ、ビデオカメラ、全地球測位システム（Global Positioning System：ＧＰＳ)装置、テレビ受信装置、プロジェクタ等の電子機器に、データストレージ用途にフラッシュメモリカードが使用される機会が多くなっている。
【０００３】
フラッシュメモリカードには、その用途に応じて、種々の規格、バージョンが規定されている。例えば動画データ、静止画データ又は音楽データを携帯するために可搬性に優れ、大容量のフラッシュメモリとして、ＭＭＣ（MultiMediaCard）規格等に準拠したフラッシュメモリカードがある。また、例えば携帯機器や家庭用電化製品の小型化により小型のコネクタ形状や高速なデータ転送が可能なＨＤＤ装置として、ＣＥ−ＡＴＡ（Consumer Electronics-AT Attachment）規格に準拠した記憶装置がある。
【０００４】
ところで、フラッシュメモリカード等の記憶デバイスの規格の種類が増え、各規格の利便性が明らかになってくると、電子機器では、複数種類の規格の記憶デバイス、又は複数の記憶デバイスに接続され、これらの記憶デバイスにアクセスできることが要求されている。この場合、活線挿抜が可能な記憶デバイスの電子機器のデバイス装着部への挿抜を検出すると、各規格で定められた通り、記憶デバイスにアクセスするための初期化処理等を行う必要がある。
【０００５】
このような活線挿抜が可能なデバイスの挿抜に関する技術については、例えば特許文献１又は特許文献２に記載されている。
【０００６】
特許文献１には、例えば抜き差し可能電子周辺カードの挿入或いは抜き差しの発生及び状態を検出してコントローラの状態レジスタに設定し、ホストシステムが該状態レジスタを読み取ることで、抜き差し可能電子周辺カードの挿入或いは抜き差しを検出できるようにした技術が開示されている。
【０００７】
特許文献２には、例えば複数のメモリカードと接続する場合に、未使用のメモリカードには信号を供給しないようにすることで、インタフェースの数より多くのメモリカードを選択的に切り替えて使用できるようにした技術が開示されている。
【特許文献１】特開２００３−２８１４７３号公報
【特許文献２】特開２００４−１３３６９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に開示された技術では、複数の電子周辺カードの挿入或いは抜き差しの状態を検出しようとすると、各電子周辺カードに対応して状態レジスタを用意する必要がある。そのため、電子周辺カードの数が増えるほど、多くのリソースが必要となるという問題がある。
【０００９】
また、特許文献２に開示された技術であっても、複数のメモリカードの挿抜状態を検出する必要があり、メモリカードの数が増えるほど、挿抜状態を検出するために多くのリソースを必要としてしまう事態に変わりがない。
【００１０】
このようなデバイスにアクセスするコントローラは、対応するデバイスの個数が増加しても、設計変更が少ないことが望ましい。
【００１１】
本発明の幾つかの態様によれば、デバイスの種類が増えたとしても、リソースの増大を抑えるホストコントローラ、情報処理装置及び電子機器を提供できる。
【００１２】
また、本発明の幾つかの態様によれば、デバイスの種類が増えたとしても設計変更すべき回路規模の増大を抑えるホストコントローラ、情報処理装置及び電子機器を提供できる。
【課題を解決するための手段】
【００１３】
本発明は、活線挿抜が可能なデバイスの挿抜状態を検出し該デバイスへのアクセスを制御するためのホストコントローラであって、
第ｊ（１≦ｊ≦Ｎ、ｊ、Ｎは正の整数）の挿抜検出回路が、第ｊのデバイスが挿抜されるデバイス装着部に対応して設けられ第ｊのデバイスの挿抜状態を検出する第１〜第Ｎの挿抜検出回路と、
前記第１〜第Ｎの挿抜検出回路の検出結果に基づいて、第１〜第Ｎのデバイスのうち少なくとも１つが挿入されたか否かを制御マスタに対して通知するデバイス挿抜状態通知回路とを含み、
前記第ｊの挿抜検出回路が、
前記第ｊのデバイスの挿抜状態の変化の検出結果を示す第ｊの挿抜状態変化検出信号、前記第ｊのデバイスの挿抜状態が安定したか否か示す第ｊの挿抜状態安定化検出信号、及び所定の期間、前記第ｊのデバイスの挿入状態が継続していることを示す第ｊの挿入状態指示信号を出力し、
前記デバイス挿抜状態通知回路が、
前記第１〜第Ｎの挿抜状態変化検出信号、第１〜第Ｎの挿抜状態安定化検出信号及び前記第１〜第Ｎの挿入状態指示信号に基づいて、前記第１〜第Ｎのデバイスのうち少なくとも１つが挿入されたか否かを前記制御マスタに対して通知するホストコントローラに関係する。
【００１４】
本発明においては、デバイス装着部ごとに挿抜検出回路を設け、各挿抜検出回路から挿抜状態変化検出信号、挿抜状態安定化検出信号、及び挿入状態指示信号の３種類の信号を出力させる。そして、デバイス挿抜状態通知回路が、第１〜第Ｎの挿抜状態変化検出信号、第１〜第Ｎの挿抜状態安定化検出信号及び第１〜第Ｎの挿入状態指示信号に基づいて、第１〜第Ｎのデバイスのうち少なくとも１つが挿入されたか否かを制御マスタに対して通知する。こうすることで、デバイスの種類が増えたとしても、制御レジスタのビット割り当てを増加させる必要性がなくなり、かつ設計変更すべき回路規模の増大を抑えることができるようになる。
【００１５】
また本発明に係るホストコントローラでは、
前記第ｊの挿抜検出回路が、
前記第ｊの挿入状態指示信号に代えて、所定の期間、前記第ｊのデバイスの抜去状態が継続していることを示す第ｊの抜去状態指示信号を出力し、
前記デバイス挿抜状態通知回路が、
前記第１〜第Ｎの挿抜状態変化検出信号、第１〜第Ｎの挿抜状態安定化検出信号及び前記第１〜第Ｎの抜去状態指示信号に基づいて、前記第１〜第Ｎのデバイスのうち少なくとも１つが挿入されたか否かを前記制御マスタに対して通知することができる。
【００１６】
本発明においては、デバイス装着部ごとに挿抜検出回路を設け、各挿抜検出回路から挿抜状態変化検出信号、挿抜状態安定化検出信号、及び抜去状態指示信号の３種類の信号を出力させる。そして、デバイス挿抜状態通知回路が、第１〜第Ｎの挿抜状態変化検出信号、第１〜第Ｎの挿抜状態安定化検出信号及び第１〜第Ｎの抜去状態指示信号に基づいて、第１〜第Ｎのデバイスのうち少なくとも１つが挿入されたか否かを制御マスタに対して通知する。こうすることで、デバイスの種類が増えたとしても、制御レジスタのビット割り当てを増加させる必要性がなくなり、かつ設計変更すべき回路規模の増大を抑えることができるようになる。
【００１７】
また本発明は、
活線挿抜が可能なデバイスの挿抜状態を検出し該デバイスへのアクセスを制御するためのホストコントローラであって、
第ｊ（１≦ｊ≦Ｎ、ｊ、Ｎは正の整数）の挿抜検出回路が、第ｊのデバイスが挿抜されるスロットに対応して設けられ第ｊのデバイスの挿抜状態を検出する第１〜第Ｎの挿抜検出回路と、
前記第１〜第Ｎの挿抜検出回路の検出結果に基づいて、前記第１〜第Ｎのデバイスのうち少なくとも１つが挿入されたか否かを制御マスタに対して通知するデバイス挿抜状態通知回路とを含み、
前記第ｊの挿抜検出回路が、
第ｊのデバイスの挿抜状態の変化の検出結果を示す第ｊの挿抜状態変化検出信号を出力すると共に、前記第ｊのデバイスの挿抜状態が安定したか否かを検出して第ｊの挿抜状態安定化検出信号を出力し、
前記デバイス挿抜状態通知回路が、
前記第１〜第Ｎの挿抜状態変化検出信号と第１〜第Ｎの挿抜状態安定化検出信号とに基づいて、前記第１〜第Ｎのデバイスのうち少なくとも１つが挿入されたか否かを前記制御マスタに対して通知するホストコントローラに関係する。
【００１８】
本発明においては、デバイス装着部ごとに挿抜検出回路を設け、各挿抜検出回路から挿抜状態変化検出信号及び挿抜状態安定化検出信号の２種類の信号を出力させる。そして、デバイス挿抜状態通知回路が、第１〜第Ｎの挿抜状態変化検出信号及び第１〜第Ｎの挿抜状態安定化検出信号に基づいて、第１〜第Ｎのデバイスのうち少なくとも１つが挿入されたか否かを制御マスタに対して通知する。こうすることで、制御マスタは、第１〜第Ｎのデバイス装着部の挿抜状態が変化したことを認識し、改めてどのデバイス装着部の装着状態が変化したかを判別するようにすればよい。従って、本発明によれば、デバイスの種類が増えたとしても、制御レジスタのビット割り当てを増加させる必要性がなくなり、かつ設計変更すべき回路規模の増大を抑えることができるようになる。
【００１９】
また本発明に係るホストコントローラでは、
前記デバイス挿抜状態通知回路が、
前記第１〜第Ｎのデバイスの挿抜状態に応じて変化する第１〜第Ｎの挿抜状態指示信号に基づいて、前記第１〜第Ｎのデバイスの挿抜状態を前記制御マスタに通知する手段を有することができる。
【００２０】
本発明によれば、第１〜第Ｎのデバイス装着部の挿抜状態の変化が通知されたときに、簡素な構成で、制御マスタはが、どのデバイス装着部の装着状態が変化したかを判別できるようになる。
【００２１】
また本発明に係るホストコントローラでは、
前記第ｊの挿抜検出回路が、
前記第ｊのデバイスの挿入を検出する挿入検出回路と、
前記第ｊのデバイスの抜去を検出する抜去検出回路とを含み、
前記挿入検出回路の検出結果及び前記抜去検出回路の検出結果に基づいて、前記第ｊの挿抜状態変化検出信号を出力することができる。
【００２２】
また本発明に係るホストコントローラでは、
前記挿入検出回路が、
前記第ｊのデバイスが挿入されたときにセットされる挿入検出用フリップフロップを有し、
前記挿入検出用フリップフロップのラッチ信号に基づいて、前記挿入検出用フリップフロップのセット信号がパルス化される共に、前記第ｊの挿抜状態変化検出信号が生成されてもよい。
【００２３】
また本発明に係るホストコントローラでは、
前記抜去検出回路が、
前記第ｊのデバイスが抜去されたときにセットされる抜去検出用フリップフロップを有し、
前記抜去検出用フリップフロップのラッチ信号に基づいて、前記抜去検出用フリップフロップのセット信号がパルス化される共に、前記第ｊの挿抜状態変化検出信号が生成されてもよい。
【００２４】
上記のいずれかの発明によれば、挿入検出用フリップフロップ又は抜去検出用フリップフロップが繰り返しセットされることを防止でき、簡素な構成で挿入検出回路又は抜去検出回路の誤動作を防止できるようになる。
【００２５】
また本発明に係るホストコントローラでは、
前記挿入検出用フリップフロップが、
前記第ｊの挿抜状態安定化検出信号に基づいて初期化されてもよい。
【００２６】
また本発明に係るホストコントローラでは、
前記抜去検出用フリップフロップが、
前記第ｊの挿抜状態安定化検出信号に基づいて初期化されてもよい。
【００２７】
上記のいずれかの発明によれば、挿抜状態安定化検出信号により各フリップフロップが初期化されるので、挿抜状態が安定したときに各フリップフロップが必ず初期化される。そのため、挿入状態指示信号又は抜去状態指示信号が安定しない状態で、誤って挿抜状態を認識してしまう事態を確実に回避できる。
【００２８】
また本発明は、
上記のいずれか記載のホストコントローラと、
前記ホストコントローラからの通知を受けて、第１〜第Ｎのデバイス装着部のいずれかに挿入されたデバイスにアクセスするための初期化処理を行う制御マスタと、
を含む情報処理装置に関係する。
【００２９】
上記のいずれかの発明によれば、デバイスの種類が増えたとしても、リソースの増大を抑えるホストコントローラが適用された情報処理装置を提供できる。また、上記のいずれかの発明によれば、デバイスの種類が増えたとしても設計変更すべき回路規模の増大を抑えるホストコントローラが適用された情報処理装置を提供できる。
【００３０】
また本発明は、
各デバイス装着部にデバイスが挿抜される第１〜第Ｎのデバイス装着部と、
上記記載の情報処理装置と、
を含む電子機器に関係する。
【００３１】
また本発明は、
上記のいずれか記載のホストコントローラを含む電子機器に関係する。
【００３２】
上記のいずれかの発明によれば、デバイスの種類が増えたとしても、リソースの増大を抑えるホストコントローラが適用された電子機器を提供できる。また、上記のいずれかの発明によれば、デバイスの種類が増えたとしても設計変更すべき回路規模の増大を抑えるホストコントローラが適用された電子機器を提供できる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の実施の形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成のすべてが本発明の必須構成要件であるとは限らない。
【００３４】
１．  情報処理装置
以下の実施形態では、デバイス（記憶デバイス）としてのメモリカードにアクセスするためのホストコントローラ（カードコントローラ、記憶デバイスコントローラ）が情報処理装置としてのホストシステムに適用されているものとする。
【００３５】
図１に、本実施形態における情報処理装置が適用された電子機器の構成例のブロック図を示す。
【００３６】
図１の構成を有する電子機器としては、例えばパーソナルコンピュータ、その周辺機器（例えばプリンタ装置、スキャナ装置又は複合機）、携帯電話機、携帯情報端末、オーディオプレーヤ、ロボット装置、デジタルカメラ、ビデオカメラ、ＧＰＳ装置、テレビ受信装置、プロジェクタ等がある。
【００３７】
電子機器１０は、情報処理装置としてのホストシステム１００と、第１〜第Ｎ（Ｎは、正の整数）のデバイスとしてのメモリカード（広義にはデバイス又は記憶デバイス）２００１〜２００Ｎとを含み、ホストシステム１００と第１〜第Ｎのメモリカード２００１〜２００Ｎの各メモリカードとがカードバス（カードバス２０１〜２０Ｎ）を介して接続されている。なお、ホストシステム１００と第１〜第Ｎのメモリカード２００１〜２００Ｎの各メモリカードとが、共通バスとしてのカードバスを介して接続されてもよい。ここで、各メモリカードは、ＭＭＣ（MultiMediaCard）規格又はＣＥ−ＡＴＡ（Consumer Electronics-AT Attachment）規格等に準拠したデバイスとすることができる。
【００３８】
電子機器１０では、各メモリカードに対する制御コマンドを発行することにより、各メモリカードにデータを書き込んだり、各メモリカードからデータを読み出したりすることができる。各メモリカードは、例えばフラッシュメモリカード、Ｉ／ＯデバイスやＨＤＤ装置であってもよい。
【００３９】
ホストシステム１００は、制御マスタ１２６と、カードコントローラ（ホストコントローラ、記憶デバイスコントローラ、メモリコントローラ）１３０とを含む。制御マスタ２６は、中央演算処理装置（Central Processing Unit：ＣＰＵ）１１０、メモリ１２０を含む。ＣＰＵ１１０、メモリ１２０及びカードコントローラ１３０は、システムバス１２２を介して接続されている。従って、ＣＰＵ１１０は、システムバス１２２を介してメモリ１２０又はカードコントローラ１３０にアクセスできる。そして、ＣＰＵ１１０が、メモリ１２０に格納されたプログラムを読み込んで該プログラムに対応した処理を実行する。より具体的には、制御マスタ１２６は、カードコントローラ１３０からの通知を受けて、第１〜第Ｎのデバイス装着部のいずれかに挿入されたデバイスにアクセスするための初期化処理を行うことができる。
【００４０】
カードコントローラ１３０と第１〜第Ｎのメモリカード２００１〜２００Ｎとは、カードバスを介して接続され、ＣＰＵ１１０が、カードコントローラ１３０から第１〜第Ｎのメモリカード２００１〜２００Ｎに対して発行する制御コマンドを生成する制御を行う。第１〜第Ｎのメモリカード２００１〜２００Ｎの各メモリカードを「デバイス」と定義すると、カードコントローラ１３０はホスト側を制御する「ホストコントローラ」と定義することができる。
【００４１】
各カードバスは、転送クロックＣＬＫが伝送されるクロックライン、制御コマンドＣＭＤ及びレスポンスが伝送されるコマンドライン、例えば４ビット（又は８ビット）の転送データＤＡＴ０−ＤＡＴ３が伝送されるデータラインを有する。カードコントローラ１３０が、転送クロックＣＬＫに同期してコマンドＣＭＤを発行する。そして、転送クロックＣＬＫに同期して例えば４ビットの転送データＤＡＴ０−ＤＡＴ３が送受信される。また、コマンドＣＭＤの種類によっては、各メモリカードが制御コマンドＣＭＤに対するレスポンスとして、例えばコマンドラインを用いてレスポンスを返すことができる。
【００４２】
ここで、本実施形態のカードコントローラ１３０は、例えばＭＭＣ規格等のメモリーカード規格に準拠したメモリーカードや、ＣＥ−ＡＴＡ規格に準拠したＨＤＤ装置等に適用できる。
【００４３】
以下では、第１〜第Ｎのメモリカード２００１〜２００Ｎの各メモリカードがＭＭＣ規格に準拠したフラッシュメモリカードであり、各カードバスにはＭＭＣ規格に準拠したシーケンスで制御コマンドやレスポンス、転送データの送受信が行われる場合を例に説明する。
【００４４】
このとき、カードバス２０ｊ（１≦ｊ≦Ｎ、ｊは正の整数）のクロックライン、コマンドライン及びデータラインのうち双方向の信号ラインはプルアップされてもよい。例えば、コマンドライン及びデータラインが双方向の信号ラインである場合には、コマンドライン及びデータラインの各ラインはプルアップされてもよい。具体的には、コマンドラインは、所与の高電位側電源線との間にプルアップ抵抗を介してプルアップ接続されてもよく、同様に、データラインの各ラインは、所与の高電位側電源線との間にそれぞれプルアップ抵抗を介してプルアップ接続されてもよい。なお、クロックラインは、カードコントローラ１３０側の図示しないクロックドライバによりプッシュプル動作で駆動される。このクロックラインも、他のラインと同様にプルアップ接続されてもよい。
【００４５】
ＭＭＣ規格の第ｊのメモリカード２００ｊにアクセスする場合、データ転送が不要な期間に転送クロックＣＬＫを停止させることで消費電力を削減できる。その一方、転送クロックＣＬＫを停止させることで、カードコントローラ１３０からのコマンドの送出、第ｊのメモリカード２００ｊからのレスポンスの受信、データラインを介してデータの送受信ができなくなる。
【００４６】
図２に、第ｊのメモリカード２００ｊの構成例のブロック図を示す。
【００４７】
図２では、第ｊのメモリカード２００ｊについて説明するが、他のメモリカードも同様である。
【００４８】
第ｊのメモリカード２００ｊは、カードＩ／Ｆ回路２１０ｊ、ＰＬＬ回路２１２ｊ、カードＩ／Ｆ制御回路２２０ｊ、カード制御レジスタ部２３０ｊ、メモリＩ／Ｆ回路２４０ｊ、メモリコア部２５０ｊを含む。
【００４９】
カードＩ／Ｆ回路２１０ｊは、カードバス２０ｊを伝送される信号のインタフェース処理を行う。カードＩ／Ｆ制御回路２２０ｊは、カードＩ／Ｆ回路２１０ｊを制御してカードバス２０ｊに信号を出力する制御を行ったり、カードバス２０ｊからの信号を入力する制御を行ったりする。カードＩ／Ｆ回路２１０ｊは、転送クロックＣＬＫに同期して入力された転送データやコマンドデータを図示しないバッファにバッファリングしたり、該バッファにバッファリングされた転送データやレスポンスデータを転送クロックＣＬＫに同期して出力したりする。
【００５０】
ＰＬＬ回路２１２ｊは、図示しない発振器からの発振出力を逓倍して、転送クロックＣＬＫとは異なる内部クロックを生成する。ＰＬＬ回路２１２ｊによって生成された内部ブロックは、第ｊのメモリカード２００ｊの各部に供給され、第ｊのメモリカード２００ｊは内部クロックに同期して動作する。より具体的には、カードＩ／Ｆ回路２１０ｊにバッファリングされたデータは、内部クロックに同期して読み出されて第ｊのメモリカード２００ｊの内部に取り込まれる。また、第ｊのメモリカード２００ｊの内部から出力されるデータは、内部クロックに同期してカードＩ／Ｆ回路２１０ｊでバッファリングされ、転送クロックＣＬＫに同期して外部に出力される。従って、第ｊのメモリカード２００ｊは、転送クロックＣＬＫの供給が停止されたとしても、第ｊのメモリカード２００ｊの内部で、内部クロックに同期してメモリにアクセスできるようになっている。即ち、第ｊのメモリカード２００ｊは、転送クロックに同期して入力されたコマンドに対しデータのアクセスをその内部クロックに同期して行うことができる。
【００５１】
カード制御レジスタ部２３０ｊは、複数の制御レジスタを有する。例えば、カード制御レジスタ部２３０ｊは、動作条件レジスタ（Operation Conditions Resister：ＯＣＲ）、カード識別レジスタ（Card IDentification register：ＣＩＤ）、カード特性データレジスタ（Card-Specific Data register：ＣＳＤ）、相対カードアドレスレジスタ（Relative Card Address register：ＲＣＡ）、ドライバステージレジスタ（Driver Stage Register:ＤＳＲ）等を含む。
【００５２】
カードＩ／Ｆ制御回路２２０ｊは、カード制御レジスタ部２３０ｊの設定データに基づいて第ｊのメモリカード２００ｊの各部を制御すると共に、その制御結果をカード制御レジスタ部２３０ｊに格納する制御を行う。
【００５３】
メモリＩ／Ｆ回路２４０ｊは、カードＩ／Ｆ制御回路２２０ｊの制御により、メモリコア部２５０ｊのメモリ素子にデータを書き込んだり、メモリコア部２５０ｊのメモリ素子からデータを読み出したりする制御を行う。
【００５４】
メモリコア部２５０ｊは、複数のメモリ素子を有する。メモリＩ／Ｆ回路２４０ｊは、予め割り当てられたアドレスに対応したメモリ素子からデータを読み出したり、該アドレスに対応したメモリ素子にデータを書き込んだりすることができる。
【００５５】
以下では、第１〜第Ｎのメモリカード２００１〜２００Ｎとカードコントローラ１３０とが、共通バスであるカードバスを介して接続されるものとする。
【００５６】
２．  カードコントローラ（ホストコントローラ）
２．１  第１の実施形態
図３に、第１の実施形態におけるカードコントローラの構成要部のブロック図の一例を示す。図３において、図１と同一部分には同一符号を付し、適宜説明を省略する。
【００５７】
カードコントローラ１３０は、各記憶デバイス装着部にメモリカードが活線挿抜される第１〜第Ｎの記憶デバイス装着部（ソケット）８４０１〜８４０Ｎからの記憶デバイス検出信号（挿抜状態指示信号）CD_Sig#1〜CD_Sig#Nが入力され、第１〜第Ｎの記憶デバイス装着部（ソケット）８４０１〜８４０Ｎのいずれかにメモリカードが挿抜されたことを検出すると、制御マスタ１２６に通知する。
【００５８】
即ち、カードコントローラ１３０は、どの記憶デバイス装着部にメモリカードが挿入されているかを検出するのではなく、第１〜第Ｎの記憶デバイス装着部８４０１〜８４０Ｎにメモリカードが全く挿入されていないのか、或いは１以上のメモリカードが挿入されているかを検出する。
【００５９】
この通知を受けた制御マスタ１２６は、例えば挿入されたメモリカードに対し、カードコントローラ１３０を介してＭＭＣ規格で規定された初期化処理を行う。また、上記の通知を受けた制御マスタ１２６は、例えば抜去（除去、抜き取り）されたメモリカードに対し、カードコントローラ１３０に対して所与の抜去処理を行う。この抜去処理としては、例えば抜去されたデバイス装着部のメモリカードをアクセス対象から除外する処理がある。
【００６０】
このようなカードコントローラ１３０は、第１〜第Ｎの挿抜検出回路３００１〜３００Ｎと、デバイス挿抜状態通知回路３５０と、カード制御部３６０とを含む。
【００６１】
第１〜第Ｎの挿抜検出回路３００１〜３００Ｎはそれぞれ同様の構成を有し、第ｊ（１≦ｊ≦Ｎ、ｊ、Ｎは正の整数）の挿抜検出回路が、第ｊのメモリカード２００ｊ（第ｊのデバイス）が挿抜される第ｊの記憶デバイス装着部（第ｊのデバイス装着部）８４０ｊに対応して設けられる。第ｊの挿抜検出回路は、第ｊの記憶デバイス装着部８４０ｊからの記憶デバイス検出信号CD_Sig#jに基づいて、第ｊのメモリカード２００ｊの挿抜状態の変化の検出結果を示す第ｊの挿抜状態変化検出信号CardChg#j、第ｊのメモリカード２００ｊの挿抜状態が安定したか否か示す第ｊの挿抜状態安定化検出信号StateStable#j、及び所定の期間（例えば１０ミリ秒）、第ｊのメモリカード２００ｊの挿入状態が継続していることを示す第ｊの挿入状態指示信号Inserted#jを出力する。
【００６２】
デバイス挿抜状態通知回路３５０は、第１〜第Ｎの挿抜検出回路３００１〜３００Ｎの検出結果に基づいて、第１〜第Ｎのメモリカード２００１〜２００Ｎ（第１〜第Ｎのデバイス）のうち少なくとも１つが挿入されたか否かを制御マスタ１２６に対して通知する。より具体的には、デバイス挿抜状態通知回路３５０は、第１〜第Ｎの挿抜状態変化検出信号CardChg#1〜CardChg#N、第１〜第Ｎの挿抜状態安定化検出信号StateStable#1〜StateStable#N及び第１〜第Ｎの挿入状態指示信号Inserted#1〜Inserted#Nに基づいて、第１〜第Ｎのメモリカード２００１〜２００Ｎのうち少なくとも１つが挿入されたか否かを制御マスタ１２６に対して通知する。デバイス挿抜状態通知回路３５０は、例えば制御マスタ１２６に対して割り込み信号を出力することで上記の通知を行ったり、制御レジスタのフラグを設定することで、ポーリング動作を行う制御マスタ１２６に対して上記の通知を行ったりすることができる。
【００６３】
カード制御部３６０は、第１〜第Ｎの記憶デバイス装着部８４０１〜８４０Ｎに接続されるカードバスを制御する。より具体的には、カード制御部３６０は、制御マスタ１２６で実行される上位アプリケーションプログラムからの制御コマンドの発行指示を受けると、カードバスのクロックライン、データライン及びコマンドラインを制御して、メモリカードに対して制御コマンドを発行する。そして、カード制御部３６０は、メモリカードからのレスポンスやデータを受信する制御を行って、制御マスタ１２６がカードコントローラ１３０から受信データを取り込んだりする。
【００６４】
図４に、図３のカードコントローラ１３０のハードウェア構成例を示す。
【００６５】
カードコントローラ１３０は、制御インタフェース（InterFace：Ｉ／Ｆ）回路１３２、ＦＩＦＯ（First-In First-Out)Ｉ／Ｆ回路１３４、コントローラ制御レジスタ部１３６、クロック制御部１３８、コマンド制御部１４０、データ制御部１４６、ドライバ部１５０、記憶デバイス検出回路１５２を含む。コマンド制御部１４０は、コマンドシーケンサ１４２を含む。データ制御部１４６は、データシーケンサ１４８を含む。
【００６６】
制御Ｉ／Ｆ回路１３２は、システムバス１２２を介してＣＰＵ１１０やメモリ１２０との間で送受信される制御信号や制御データのインタフェース処理を行う。ＣＰＵ１１０は、制御Ｉ／Ｆ回路１３２を介してコントローラ制御レジスタ部１３６の各制御レジスタに制御データを設定できる。
【００６７】
ＦＩＦＯＩ／Ｆ回路１３４は、システムバス１２２を介してＣＰＵ１１０やメモリ１２０との間で送受信される制御信号や制御データのインタフェース処理を行う。システムバス１２２を介してメモリ１２０から読み出されたデータ（ライトデータ）は、ＦＩＦＯＩ／Ｆ回路１３４の図示しないＦＩＦＯ（バッファ）においてバッファリングされた後、データ制御部１４６に供給される。また、メモリカードから読み出されたデータ（リードデータ）は、ＦＩＦＯＩ／Ｆ回路１３４の図示しないＦＩＦＯ（バッファ）においてバッファリングされた後に、システムバス１２２を介してＣＰＵ１１０又はメモリ１２０に出力される。
【００６８】
コントローラ制御レジスタ部１３６は、１又は複数の制御レジスタを有し、各制御レジスタにはカードコントローラ１３０を制御するための制御データが設定される。コントローラ制御レジスタ部１３６の各制御レジスタに設定された制御データに対応した制御信号に基づいて、カードコントローラ１３０の各部が制御される。制御マスタ１２６からのコマンドの発行指示ＣＭＤ＿Ｇｏは、コントローラ制御レジスタ部１３６のコマンド発行指示レジスタにセットされることでカードコントローラ１３０のコマンド制御部１４０及びデータ制御部１４６にコマンド発行指示が通知される。
【００６９】
また、制御Ｉ／Ｆ回路１３２又はコントローラ制御レジスタ部１３６は、ＣＰＵ１１０（制御マスタ１２６）に対して割り込み信号を発生する割り込み発生部（図示せず）を有する。
【００７０】
クロック制御部１３８は、カードバスのクロックラインを制御する。より具体的には、クロック制御部１３８は、カードコントローラ１３０の各部にクロックを供給すると共に、カードバスを構成するクロックラインに転送クロックＣＬＫを出力する制御を行う。
【００７１】
コマンド制御部１４０は、カードバスのコマンドラインを制御する。より具体的には、コマンド制御部１４０のコマンドシーケンサ１４２は、コントローラ制御レジスタ部１３６の制御レジスタの制御データ（コマンドデータ）に基づいて、カードバスを構成するコマンドラインを介してメモリカードに対してコマンドを発行する制御を行う。コマンドシーケンサ１４２は、コマンドの発行が完了すると、コマンド完了通知をコントローラ制御レジスタ部１３６及びデータ制御部１４６に出力する。コントローラ制御レジスタ部１３６に入力されたコマンド完了通知に基づき、制御マスタ１２６に対してコマンド完了通知割り込みを発行する。また、コマンドシーケンサ１４２は、該コマンドに対応するメモリカードからのレスポンスを受信する制御を行う。コマンドシーケンサ１４２において受信されたレスポンスは、レスポンスデータとしてコントローラ制御レジスタ部１３６に出力される。
【００７２】
図５（Ａ）に、コマンド制御部１４０により送信されるコマンドの説明図を示す。図５（Ｂ）に、コマンド制御部１４０により受信されるレスポンスの説明図を示す。
【００７３】
コマンドは、スタートビット「Ｓ」が「０」、エンドビット「Ｅ」が「１」で挟まれた所定ビットのコマンドデータである。図５（Ａ）に示すようなコマンドが、コマンドラインを介して送信される。
【００７４】
レスポンスは、スタートビット「Ｓ」が「０」、エンドビット「Ｅ」が「１」で挟まれた所定ビットのレスポンスデータである。図５（Ｂ）に示すようなレスポンスが、コマンドラインを介して受信される。
【００７５】
図４において、データ制御部１４６は、カードバスのデータラインを制御する。より具体的には、データ制御部１４６のデータシーケンサ１４８は、コントローラ制御レジスタ部１３６の制御レジスタの制御データに基づいて、カードバスを構成するデータラインを介してメモリカードとの間でデータを送受信する制御を行う。データ制御部１４６においてデータ転送完了が検出されると、コントローラ制御レジスタ部１３６に対してデータ転送完了通知を出力する。コントローラ制御レジスタ部１３６に入力されたデータ転送完了通知に基づき、制御マスタ１２６に対してデータ転送完了通知割り込みを発行する。
【００７６】
ドライバ部１５０は、コマンドシーケンサ１４２の制御結果に基づいてコマンドラインの信号の入出力制御を行う。また、データシーケンサ１４８の制御結果に基づいてデータラインの信号の入出力制御を行う。
【００７７】
記憶デバイス検出回路１５２は、第１〜第Ｎの記憶デバイス装着部８４０１〜８４０Ｎからの記憶デバイス検出信号xCD_Sig#1〜xCD_Sig#Nに基づいて、第１〜第Ｎの記憶デバイス装着部８４０１〜８４０Ｎの少なくとも１つにメモリカードが挿抜されたか否かを検出する。ここで、xCD_Sig#1は、CD_Sig#1の論理反転信号である。
【００７８】
記憶デバイス検出回路１５２の検出信号は、記憶デバイス検出結果としてコントローラ制御レジスタ部１３６に通知される。そして、制御Ｉ／Ｆ回路１３２又はコントローラ制御レジスタ部１３６は、ＣＰＵ１１０（制御マスタ１２６）に対して上記の通知を行うための割り込み信号を発生させる。
【００７９】
記憶デバイス検出回路１５２は、図３の第１〜第Ｎの挿抜検出回路３００１〜３００Ｎ及びデバイス挿抜状態通知回路３５０の機能を有する。制御Ｉ／Ｆ回路１３２、ＦＩＦＯＩ／Ｆ回路１３４、コントローラ制御レジスタ部１３６、クロック制御部１３８、コマンド制御部１４０、データ制御部１４６及びドライバ部１５０は、図３のカード制御部３６０の機能を有する。
【００８０】
図６に、図４の記憶デバイス検出回路１５２の構成例の回路図を示す。
【００８１】
図６では、説明を簡略化するためにＮが「３」であるものとし、図３と同一部分には同一符号を付し、適宜説明を省略する。
【００８２】
記憶デバイス検出回路１５２は、第１〜第３の挿抜検出回路３００１〜３００３、検出用タイマ３７０を含む。第１〜第３の挿抜検出回路３００１〜３００３のそれぞれの構成は同様であり、検出用タイマ３７０により生成された検出用クロックが第１〜第３の挿抜検出回路３００１〜３００３に入力される。この検出用クロックは、メモリカードの挿抜状態が安定しているか否かを検出するためのクロックである。
【００８３】
第１の挿抜検出回路３００１には、第１の記憶デバイス装着部８４０１からの記憶デバイス検出信号xCD_Sig#1が入力される。例えば第１の記憶デバイス装着部８４０１において、記憶デバイス検出信号の信号線が、プルアップ接続される。そして、メモリカードの挿入により該信号線がＧＮＤレベルに電気的に接続されることで、記憶デバイス検出信号がＬレベルに駆動される。そのため、第１の記憶デバイス装着部８４０１のメモリカードの挿抜状態が抜去状態（除去状態）のとき、記憶デバイス検出信号xCD_Sig#1はＨレベルとなり、挿入状態のとき、記憶デバイス検出信号xCD_Sig#1はＬレベルとなる。
【００８４】
第１の挿抜検出回路３００１は、記憶デバイス検出信号xCD_Sig#1を用いて（より具体的には、記憶デバイス検出信号xCD_Sig#1及び検出用クロックに基づいて）、第１の挿抜状態変化検出信号irq_AsyncCardChg#1、第１の挿抜状態安定化検出信号CardStateStable#1、及び第１の挿入状態指示信号CardInserted#1を生成する。第１の挿抜状態変化検出信号irq_AsyncCardChg#1は、第１のメモリカード２００１の挿抜状態の変化の検出結果を示し、挿抜状態が変化したとき正論理のパルス信号となる。第１の挿抜状態安定化検出信号CardStateStable#1は、第１のメモリカード２００１が挿入された状態又は抜去された状態が、検出クロックの所定クロック数の期間、継続しているときに、Ｈレベルとなる信号である。第１の挿入状態指示信号CardInserted#1は、第１のメモリカード２００１が挿入された状態が、検出クロックの所定クロック数の期間、継続しているときに、Ｈレベルとなる信号である。
【００８５】
同様に、第２の挿抜検出回路３００２は、記憶デバイス検出信号xCD_Sig#2を用いて（より具体的には、記憶デバイス検出信号xCD_Sig#2及び検出用クロックに基づいて）、第２の挿抜状態変化検出信号irq_AsyncCardChg#2、第２の挿抜状態安定化検出信号CardStateStable#2、及び第２の挿入状態指示信号CardInserted#2を生成する。第３の挿抜検出回路３００３は、記憶デバイス検出信号xCD_Sig#3を用いて（より具体的には、記憶デバイス検出信号xCD_Sig#3及び検出用クロックに基づいて）、第３の挿抜状態変化検出信号irq_AsyncCardChg#3、第３の挿抜状態安定化検出信号CardStateStable#3、及び第３の挿入状態指示信号CardInserted#3を生成する。
【００８６】
デバイス挿抜状態通知回路３５０は、第１〜第３の挿抜検出回路３００１〜３００３からの第１〜第３の挿抜状態変化検出信号irq_AsyncCardChg#1〜irq_AsyncCardChg#3の論理和演算結果を、コントローラ制御レジスタ部１３６の制御レジスタに設定する。これにより、制御Ｉ／Ｆ回路１３２又はコントローラ制御レジスタ部１３６は、制御マスタ１２６に対して、メモリカードの挿抜状態の変化を割り込み通知できる。
【００８７】
またデバイス挿抜状態通知回路３５０は、第１〜第３の挿抜検出回路３００１〜３００３からの第１〜第３の挿抜状態安定化検出信号CardStateStable#1〜CardStateStable#3の論理積演算結果を、コントローラ制御レジスタ部１３６の制御レジスタに設定する。これにより、制御マスタ１２６は、第１〜第３の記憶デバイス装着部８４０１〜８４０３のメモリカードの挿抜状態が安定していること（第１〜第３の記憶デバイス装着部８４０１〜８４０３のいずれにも挿抜状態の変化がないこと）を認識できる。
【００８８】
更に、デバイス挿抜状態通知回路３５０は、第１〜第３の挿抜検出回路３００１〜３００３からの第１〜第３の挿入状態指示信号CardInserted#1〜CardInserted#3の論理和演算結果を、コントローラ制御レジスタ部１３６の制御レジスタに設定する。これにより、制御マスタ１２６は、いずれかのメモリカードが挿入状態であることを認識できる。
【００８９】
更にまた、デバイス挿抜状態通知回路３５０は、第１〜第３の挿抜検出回路３００１〜３００３からの第１〜第３の挿抜状態安定化検出信号CardStateStable#1〜CardStateStable#3の論理積演算結果が変化タイミングで発生するパルス信号を、コントローラ制御レジスタ部１３６の制御レジスタに設定する。これにより、制御Ｉ／Ｆ回路１３２又はコントローラ制御レジスタ部１３６は、制御マスタ１２６に対して、メモリカードの挿抜の安定状態の変化を割り込み通知できる。
【００９０】
次に、図６の第１〜第３の挿抜検出回路３００１〜３００３の構成例について説明する。第１〜第３の挿抜検出回路３００１〜３００３のそれぞれは同様の構成を有し、以下に示す共通の挿抜検出回路を有する。
【００９１】
図７に、図６の第１〜第３の挿抜検出回路３００１〜３００３に共通の挿抜検出回路の構成例の回路図を示す。
【００９２】
第１〜第３の挿抜検出回路３００１〜３００３に共通の挿抜検出回路３００は、記憶デバイス装着部に活線挿抜されるメモリカードの挿入を検出する挿入検出回路３１０と、記憶デバイス装着部に活線挿抜されるメモリカードの抜去を検出する抜去検出回路３２０とを含む。そして、挿抜検出回路３００は、挿入検出回路３１０の検出結果及び抜去検出回路３２０の検出結果に基づいて、挿抜状態変化検出信号irq_AsyncCardChgを出力する。
【００９３】
更に、挿抜検出回路３００は、挿抜状態安定検出回路３３０を含み、記憶デバイス検出信号である挿抜状態指示信号xCD_Sigの遅延信号xCD_SigDと、挿抜状態変化検出信号irq_AsyncCardChgの反転信号xirq_AsyncCardChgとに基づいて、挿入状態指示信号CardInserted、挿抜状態安定化検出信号CardStateStableを出力すると共に、信号sync_ins、Pulse_CardStateStabledを生成する。即ち、挿抜状態安定検出回路３３０が、所定の期間、メモリカードの挿入状態が継続していることを示す挿入状態指示信号CardInsertedや、メモリカードの挿抜状態が安定したか否か示す挿抜状態安定化検出信号CardStateStableを生成できる。
【００９４】
挿入検出回路３１０は、挿入検出用フリップフロップ３１２を有する。挿入検出用フリップフロップ３１２は、リセット信号xResetによりリセットされると共に、挿抜状態指示信号xCD_Sigによりセットされる。より具体的には、挿抜状態指示信号xCD_Sigにより挿入状態が指定され、且つ信号sync_insにより所定期間だけ非挿入状態が安定していることを条件に、挿入検出用フリップフロップ３１２がセットされる。挿入検出用フリップフロップ３１２がリセット（クリア）された後に再セットを防止するために、挿入状態指示信号CardInserted（第ｊの挿入状態指示信号）である信号sync_insを用いて、挿抜状態指示信号xCD_Sigがマスクされる。
【００９５】
また、挿入検出用フリップフロップ３１２のセット信号set_insは、挿入検出用フリップフロップ３１２のラッチ信号async_insによりパルス化される。そのため、セット信号set_insは、ラッチ信号async_insを遅延させた信号によりマスクされることが望ましい。また、挿入検出用フリップフロップ３１２のラッチ信号async_insに基づいて、挿抜状態変化検出信号irq_AsyncCardChgが生成される。
【００９６】
抜去検出回路３２０は、抜去検出用フリップフロップ３２２を有する。抜去検出用フリップフロップ３２２は、リセット信号xResetによりリセットされると共に、挿抜状態指示信号xCD_Sigの反転信号によりセットされる。より具体的には、挿抜状態指示信号xCD_Sigにより抜去状態が指定され、且つ信号sync_insにより所定期間だけ挿入状態が安定していることを条件に、抜去検出用フリップフロップ３２２がセットされる。抜去検出用フリップフロップ３２２がリセット（クリア）された後に再セットを防止するために、挿入状態指示信号CardInserted（第ｊの挿入状態指示信号）である信号sync_insの反転信号を用いて、挿抜状態指示信号xCD_Sigの反転信号がマスクされる。
【００９７】
また、抜去検出用フリップフロップ３２２のセット信号set_rmvは、抜去検出用フリップフロップ３２２のラッチ信号async_rmvによりパルス化される。そのため、セット信号set_rmvは、ラッチ信号async_rmvを遅延させた信号によりマスクされることが望ましい。また、抜去検出用フリップフロップ３２２のラッチ信号async_rmvに基づいて、挿抜状態変化検出信号irq_AsyncCardChgが生成される。
【００９８】
なお、図７では、挿抜状態指示信号xCD_Sigの遅延信号に基づいて、挿入検出回路３１０及び抜去検出回路３２０が、挿入検出用フリップフロップ３１２及び抜去検出用フリップフロップ３２２がセットされる。そして、挿抜検出回路は、セット信号set_ins、set_rmvに基づいて、挿抜状態変化検出信号irq_AsyncCardChgを出力する。
【００９９】
そして、挿入検出用フリップフロップ３１２は、信号Pulse_CardStateStabledにより初期化（クリア）される。また、抜去検出用フリップフロップ３２２もまた、信号Pulse_CardStateStabledにより初期化（クリア）される。信号Pulse_CardStateStabledは、信号sync_ins、sync_rmvに基づいて生成されるため、挿入検出用フリップフロップ３１２は、信号sync_ins（挿入状態指示信号）に基づいて初期化され、抜去検出用フリップフロップ３２２は、信号sync_rmv（抜去状態指示信号）に基づいて初期化されるということができる。抜去検出用フリップフロップ３２２のセット信号set_rmvを、信号sync_insを用いて生成することで、メモリカードの挿入後に該メモリカードの除去を検出できる。
【０１００】
図８に、図７の挿抜状態安定検出回路３３０の構成例の回路図を示す。
【０１０１】
挿抜状態安定検出回路３３０には、検出用タイマ３７０から検出用クロックCLK100が入力される。挿抜状態安定検出回路３３０は、第１及び第２のフィルタ回路３３２、３３４、挿入検出パルス発生回路３３６、抜去検出パルス発生回路３３８を含む。
【０１０２】
第１のフィルタ回路３３２は、複数のフリップフロップにより構成されるシフトレジスタを有する。このシフトレジスタは、各フリップフロップが挿抜状態変化検出信号irq_AsyncCardChgの反転信号xirq_AsyncCardChgによりリセットされる、直列に接続された例えば５個のフリップフロップを含む。第１のフィルタ回路３３２には、挿抜状態指示信号xCD_Sigの遅延信号が、検出クロックCLK100の５クロック分に相当する期間だけ同じＨレベルのとき、Ｈレベルの出力信号を出力する。この出力信号は、挿入状態指示信号CardInserted（信号sync_ins）となる。挿入検出パルス発生回路３３６は、挿入状態指示信号CardInserted（信号sync_ins）の変化タイミングでパルス信号を発生させる。
【０１０３】
第２のフィルタ回路３３４は、複数のフリップフロップにより構成されるシフトレジスタを有する。このシフトレジスタは、各フリップフロップが挿抜状態変化検出信号irq_AsyncCardChgの反転信号xirq_AsyncCardChgによりリセットされる、直列に接続された例えば５個のフリップフロップを含む。第２のフィルタ回路３３４には、挿抜状態指示信号xCD_Sigの遅延信号が、検出クロックCLK100の５クロック分に相当する期間だけ同じＨレベルのとき、Ｈレベルの出力信号を出力する。この出力信号は、抜去状態指示信号（信号sync_rmv）となる。抜去検出パルス発生回路３３８は、抜去状態指示信号（信号sync_rmv）の変化タイミングでパルス信号を発生させる。
【０１０４】
信号Pulse_CardStateStabledは、挿入検出パルス発生回路３３６の出力と、抜去検出パルス発生回路３３８の出力との論理和演算結果として出力される。
【０１０５】
更に、図８では、所与のマスク期間を指定するマスク信号xmask_stableを用いて、sync_ins、sync_rmvの論理和演算結果を上記のマスク期間だけマスクした信号に基づいて、挿抜状態安定化検出信号CardStateStableが生成される。
【０１０６】
このように、信号Pulse_CardStateStabledは、信号sync_ins、sync_rmvの論理和演算結果に基づいて生成されるため、図７の挿入検出用フリップフロップ３１２、抜去検出用フリップフロップ３２２のセット信号もリセットされ、挿入状態又は抜去状態が変化した後に安定したこと条件に、いずれか一方のみがセットされるようになっている。従って、挿抜状態指示信号xCD_Sigが安定しない状態で、誤って挿抜状態を認識してしまう事態を確実に回避できる。
【０１０７】
図９に、図６の記憶デバイス検出回路１５２の動作例のタイミング図を示す。
【０１０８】
図９では、記憶デバイス装着部におけるメモリカードの抜去状態から挿入状態に変化し、安定期間が経過した後に挿入状態から抜去状態に変化するときのタイミング例を示す。
【０１０９】
記憶デバイス装着部にメモリカードが挿入されると、挿抜状態指示信号xCD_SigがチャタリングによりＨレベルとＬレベルとを繰り返す（ｔ１）。挿抜状態指示信号xCD_Sigが一旦Ｌレベルに変化すると、信号async_insがＨレベルに変化し、挿入検出用フリップフロップ３１２のセット信号set_insのパルスが生成される（ｔ２）。その後、挿抜状態指示信号xCD_Sigにより、信号sync_rmvがＬレベルに変化する。信号sync_insのパルスが生成されることで、挿抜状態変化検出信号irq_AsyncCardChgのパルスが出力されて、コントローラ制御レジスタ部１３６に通知される。コントローラ制御レジスタ部１３６の制御レジスタAsyncCardChgはセットされ、制御レジスタCardStateStableはリセットされる（ｔ３）。なお、コントローラ制御レジスタ部１３６の制御レジスタAsyncCardChgをセットすることで、制御マスタ１２６に対する割り込み通知が行われる。この割り込み通知を受けた制御マスタ１２６は、コントローラ制御レジスタ部１３６の制御レジスタAsyncCardChgをリセットする。
【０１１０】
その後、挿抜状態指示信号xCD_Sigのレベルが安定し、所与の安定期間（例えば検出クロックCLK100の５クロック分に相当する期間）Ｔ１０が経過すると、信号sync_insがＨレベルに変化し、信号Pulse_CardStateStabledのパルスが生成される（ｔ４）。これにより、挿入検出用フリップフロップ３１２はクリアされると共に、挿抜状態安定化検出信号CardStateStableがＨレベルに変化する（ｔ５）。
【０１１１】
次に、記憶デバイス装着部からメモリカードが抜去されると、挿抜状態指示信号xCD_SigがチャタリングによりＨレベルとＬレベルとを繰り返す（ｔ６）。挿抜状態指示信号xCD_Sigが一旦Ｈレベルに変化すると、信号async_rmvがＨレベルに変化し、抜去検出用フリップフロップ３２２のセット信号set_rmvのパルスが生成される（ｔ７）。その後、挿抜状態指示信号xCD_Sigにより、信号sync_insがＬレベルに変化する。信号sync_rmvのパルスが生成されることで、挿抜状態変化検出信号irq_AsyncCardChgのパルスが出力されて、コントローラ制御レジスタ部１３６に通知される。コントローラ制御レジスタ部１３６の制御レジスタAsyncCardChgはリセットされ、制御レジスタCardStateStableはリセットされる（ｔ８）。
【０１１２】
その後、挿抜状態指示信号xCD_Sigのレベルが安定し、所与の安定期間（例えば検出クロックCLK100の５クロック分に相当する期間）Ｔ１１が経過すると、信号sync_rmvがＨレベルに変化し、信号Pulse_CardStateStabledのパルスが生成される（ｔ９）。これにより、抜去検出用フリップフロップ３２２はクリアされると共に、挿抜状態安定化検出信号CardStateStableがＨレベルに変化する（ｔ１０）。
【０１１３】
図１０に、図６の記憶デバイス検出回路１５２の他の動作例のタイミング図を示す。
【０１１４】
図１０では、記憶デバイス装着部におけるメモリカードの抜去状態から挿入状態に変化し、安定期間が経過する前に挿入状態から抜去状態に変化するときのタイミング例を示す。
【０１１５】
図１０では、メモリカードが挿入されて抜去状態から挿入状態に変化後、安定期間が経過する前にメモリカードの抜去状態となる。このとき、抜去状態に変化してから安定期間Ｔ２０が経過したときに、信号sync_rmvがセットされ、信号Pulse_CardStateStabledのパルスにより、挿入検出用フリップフロップ３１２が初期化される。その結果、信号async_insがＬレベルとなる（ｔ３０）。
【０１１６】
このように、抜去により挿抜状態が変化した場合でも、挿入検出用フリップフロップ３１２を初期化できるようにしているため、誤って挿抜状態が認識されることがない。
【０１１７】
図１１に、図６の記憶デバイス検出回路１５２の更に別の動作例のタイミング図を示す。
【０１１８】
図１１では、記憶デバイス装着部におけるメモリカードの挿入状態から抜去状態に変化し、安定期間が経過する前に抜去状態から挿入状態に変化するときのタイミング例を示す。
【０１１９】
図１１では、メモリカードが抜去されて挿入状態から抜去状態に変化後、安定期間が経過する前にメモリカードの挿入状態となる。このとき、挿入状態に変化してから安定期間Ｔ３０が経過したときに、信号sync_insがセットされ、信号Pulse_CardStateStabledのパルスにより、抜去検出用フリップフロップ３２２が初期化される。その結果、信号async_rmvがＬレベルとなる（ｔ４０）。
【０１２０】
このように、挿入により挿抜状態が変化した場合でも、抜去検出用フリップフロップ３２２を初期化できるようにしているため、誤って挿抜状態が認識されることがない。
【０１２１】
以上のような構成を有する記憶デバイス検出回路１５２の記憶デバイス検出結果が割り込み信号により通知された制御マスタ１２６は、例えば次のような処理を行うことができる。
【０１２２】
図１２に、図１又は図３の制御マスタ１２６の処理例のフロー図を示す。
【０１２３】
図１に示すメモリ１２０に図１２の処理を実行するためのプログラムが格納されており、ＣＰＵ１１０がメモリ１２０からプログラムを読み出して該プログラムに対応した処理を実行する。
【０１２４】
まず、制御マスタ１２６は、カードコントローラ１３０からの第１〜第Ｎの記憶デバイス装着部８４０１〜８４０Ｎのメモリカードの挿抜状態が変化したことを示すAsyncCardChg割り込みを待つ（ステップＳ１０：Ｎ）。より具体的には、制御マスタ１２６のＣＰＵ１１０が、カードコントローラ１３０からの挿抜状態変化検出信号irq_AsyncCardChgに基づく割り込み通知を待つ。
【０１２５】
ステップＳ１０において、AsyncCardChg割り込みを受け付けると（ステップＳ１０：Ｙ）、制御マスタ１２６は、カードコントローラ１３０がカードバスに転送クロックＣＬＫを供給しているか否かを判別し（ステップＳ１１）、転送クロックＣＬＫを供給していないと判別したとき（ステップＳ１１：Ｎ）、カードコントローラ１３０に該転送クロックＣＬＫの供給を開始する制御を行わせる（ステップＳ１２）。
【０１２６】
ステップＳ１１において転送クロックＣＬＫが供給されていると判別したとき（ステップＳ１１：Ｙ）、又はステップＳ１２の後に、制御マスタ１２６は、カードコントローラ１３０からの第１〜第Ｎの記憶デバイス装着部８４０１〜８４０Ｎのメモリカードの挿抜状態が安定したことを示すCardStateStable割り込みを待つ（ステップＳ１３：Ｎ）。より具体的には、制御マスタ１２６のＣＰＵ１１０が、カードコントローラ１３０からの挿抜状態安定化検出信号irq_CardStateStabledに基づく割り込み通知を待つ。
【０１２７】
ステップＳ１３において、CardStateStable割り込みを受け付けると（ステップＳ１３：Ｙ）、制御マスタ１２６は、第１〜第Ｎの記憶デバイス装着部８４０１〜８４０Ｎのいずれかにメモリカードが挿入されているか否かを検出する（ステップＳ１４）。
【０１２８】
メモリカードが挿入されているとき（ステップＳ１４：Ｙ）、制御マスタ１２６は、カードコントローラ１３０を介して、該カードコントローラ１３０が、この挿入されたメモリカードにアクセスできるように所与の初期化処理を行って（ステップＳ１５）、ステップＳ１０に戻る（リターン）。
【０１２９】
メモリカードが抜去されているとき（ステップＳ１４：Ｎ）、制御マスタ１２６は、カードコントローラ１３０を介して、該カードコントローラ１３０が、この抜去されたメモリカードをアクセス対象から除外するように、所与の除去処理（抜去処理）を行って（ステップＳ１６）、ステップＳ１０に戻る（リターン）。
【０１３０】
以上のように、第１の実施形態によれば、メモリカードの個数が増加しても記憶デバイス検出回路１５２を除いてカードコントローラ１３０の設計変更をする必要がなくなり、非常に少ない工数でメモリカードの個数の変化に対応できる。更に、カードコントローラ１３０側でも、メモリカードの個数が増加してもメモリカードの挿抜状態を検出するために用意しておくリソースが少なくて済む。
【０１３１】
なお、第１の実施形態では、挿抜状態の変化を検出した後に挿入による変化なのか抜去による変化を、挿入状態指示信号CardInsertedにより判別できるようにしたが、これに限定されるものではない。
【０１３２】
図１３に、第１の実施形態の変形例における記憶デバイス検出回路１５２の構成例のブロック図を示す。
【０１３３】
図１３において、図６と同一部分には同一符号を付し、適宜説明を省略する。
【０１３４】
本変形例における記憶デバイス検出回路１５２が、図６に示す記憶デバイス検出回路１５２と異なる点は、デバイス挿抜状態通知回路の構成である。
【０１３５】
本変形例におけるデバイス挿抜状態通知回路４００は、第１〜第３の記憶デバイス装着部８４０１〜８４０３からの第１〜第３の挿抜状態指示信号xCD_Sig#1〜xCD_Sig#3の論理積演算結果を生成し、この結果をコントローラ制御レジスタ部１３６の制御レジスタに設定できる。この論理積演算結果は、第１〜第３の記憶デバイス装着部８４０１〜８４０３の少なくとも１つにメモリカードが挿入状態であるか、第１〜第３の記憶デバイス装着部８４０１〜８４０３のいずれにもメモリカードが抜去状態であるかを示す信号である。従って、この論理積演算結果を用いて、挿入による変化なのか抜去による変化を判別してもよい。
【０１３６】
即ち、デバイス挿抜状態通知回路４００が、第１〜第Ｎのデバイスの挿抜状態に応じて変化する第１〜第Ｎの挿抜状態指示信号xCD_Sig#1〜xCD_Sig#3に基づいて、第１〜第Ｎのデバイスの挿抜状態を制御マスタ１２６に通知する手段を有するということができる。
【０１３７】
なお、本変形例では、挿入状態のときにＬレベルとなる挿抜状態指示信号を用いたためデバイス挿抜状態通知回路４００は論理積演算結果をコントローラ制御レジスタ部１３６に通知したが、挿入状態のときにＨレベルとなる挿抜状態指示信号を用いた場合、デバイス挿抜状態通知回路４００は論理和演算結果をコントローラ制御レジスタ部１３６に通知できることは言うまでもない。
【０１３８】
２．２  第２の実施形態
第１の実施形態では、第１〜第Ｎの挿抜検出回路が、挿抜状態変化検出信号、挿抜状態安定化検出信号及び挿入状態指示信号の３種類の信号をデバイス挿抜状態通知回路に通知していたが、これに限定されるものではない。第２の実施形態では、第１〜第Ｎの挿抜検出回路が、挿抜状態変化検出信号及び挿抜状態安定化検出信号の２種類の信号をデバイス挿抜状態通知回路に通知する。従って、第２の実施形態では、挿抜状態の変化が通知され、安定期間が経過すると、制御マスタ１２６が、各記憶デバイス装着部からの挿抜状態指示信号の状態が設定された制御レジスタの内容をチェックすることで、挿入による変化なのか、抜去による変化なのかを判別すればよい。
【０１３９】
図１４に、第２の実施形態におけるカードコントローラの構成要部のブロック図の一例を示す。図１４において、図３と同一部分には同一符号を付し、適宜説明を省略する。
【０１４０】
図１４におけるカードコントローラが図３のカードコントローラと異なる点は、各挿抜検出回路の構成と、デバイス挿抜状態通知回路の構成である。
【０１４１】
より具体的には、第１〜第Ｎの挿抜検出回路５００１〜５００Ｎはそれぞれ同様の構成を有し、第ｊ（１≦ｊ≦Ｎ、ｊ、Ｎは正の整数）の挿抜検出回路５００ｊが、第ｊのメモリカード２００ｊ（第ｊのデバイス）が挿抜される第ｊの記憶デバイス装着部（第ｊのデバイス装着部）８４０ｊに対応して設けられる。第ｊの挿抜検出回路５００ｊは、第ｊの記憶デバイス装着部８４０ｊからの記憶デバイス検出信号CD_Sig#jに基づいて、第ｊのメモリカード２００ｊの挿抜状態の変化の検出結果を示す第ｊの挿抜状態変化検出信号CardChg#j、及び第ｊのメモリカード２００ｊの挿抜状態が安定したか否か示す第ｊの挿抜状態安定化検出信号StateStable#jを出力する。
【０１４２】
デバイス挿抜状態通知回路５５０は、第１〜第Ｎの挿抜検出回路５００１〜５００Ｎの検出結果に基づいて、第１〜第Ｎのメモリカード２００１〜２００Ｎ（第１〜第Ｎのデバイス）のうち少なくとも１つが挿入されたか否かを制御マスタ１２６に対して通知する。より具体的には、デバイス挿抜状態通知回路５５０は、第１〜第Ｎの挿抜状態変化検出信号CardChg#1〜CardChg#N、及び第１〜第Ｎの挿抜状態安定化検出信号StateStable#1〜StateStable#Nに基づいて、第１〜第Ｎのメモリカード２００１〜２００Ｎのうち少なくとも１つが挿入されたか否かを制御マスタ１２６に対して通知する。デバイス挿抜状態通知回路５５０は、例えば制御マスタ１２６に対して割り込み信号を出力することで上記の通知を行ったり、制御レジスタのフラグを設定することで、ポーリング動作を行う制御マスタ１２６に対して上記の通知を行ったりすることができる。
【０１４３】
第２の実施形態におけるカードコントローラのハードウェア構成例は、図４と同様であるため、図示及び説明を省略する。
【０１４４】
図１５に、第２の実施形態における記憶デバイス検出回路の構成例の回路図を示す。
【０１４５】
図１５では、説明を簡略化するためにＮが「３」であるものとし、図６と同一部分には同一符号を付し、適宜説明を省略する。
【０１４６】
第２の実施形態における記憶デバイス検出回路６００では、デバイス挿抜状態通知回路５５０が、挿抜状態変化検出信号irq_AsyncCardChgと挿抜状態安定化検出信号CardStateStableとを用いて、コントローラ制御レジスタ部１３６に挿抜状態の変化とその安定化検出結果を通知できる。
【０１４７】
より具体的には、デバイス挿抜状態通知回路５５０は、第１〜第３の挿抜検出回路５００１〜５００３からの第１〜第３の挿抜状態変化検出信号irq_AsyncCardChg#1〜irq_AsyncCardChg#3の論理和演算結果を、コントローラ制御レジスタ部１３６の制御レジスタに設定する。これにより、制御Ｉ／Ｆ回路１３２又はコントローラ制御レジスタ部１３６は、制御マスタ１２６に対して、メモリカードの挿抜状態の変化を割り込み通知できる。
【０１４８】
またデバイス挿抜状態通知回路５５０は、第１〜第３の挿抜検出回路５００１〜５００３からの第１〜第３の挿抜状態安定化検出信号CardStateStable#1〜CardStateStable#3の論理積演算結果を、コントローラ制御レジスタ部１３６の制御レジスタに設定する。これにより、制御マスタ１２６は、第１〜第３の記憶デバイス装着部８４０１〜８４０３のメモリカードの挿抜状態が安定していること（第１〜第３の記憶デバイス装着部８４０１〜８４０３のいずれにも挿抜状態の変化がないこと）を認識できる。
【０１４９】
なお、図１５では、第１〜第３の記憶デバイス装着部８４０１〜８４０３からの第１〜第３の挿抜状態指示信号xCD_Sig#1〜xCD_Sig#3がカード制御部３６０に通知（図１４）されるのではなく、デバイス挿抜状態通知回路５５０が、第１〜第３の挿抜状態指示信号xCD_Sig#1〜xCD_Sig#3の論理積演算結果をコントローラ制御レジスタ部１３６に出力している。
【０１５０】
各挿抜検出回路の構成については、挿入状態指示信号CardInsertedの出力を省略する以外は、図７及び図８に示す第１の実施形態と同様であるため、図示及び詳細な説明を省略する。また、第２の実施形態における記憶デバイス検出回路の動作も、挿入状態指示信号CardInsertedを除いて図９〜図１１に示す第１の実施形態と同様であるため、説明を省略する。
【０１５１】
以上のような構成を有する第２の実施形態における記憶デバイス検出回路の記憶デバイス検出結果が割り込み信号により通知された制御マスタ１２６は、例えば次のような処理を行うことができる。
【０１５２】
図１６に、第２の実施形態における制御マスタ１２６の処理例のフロー図を示す。
【０１５３】
図１に示すメモリ１２０に図１６の処理を実行するためのプログラムが格納されており、ＣＰＵ１１０がメモリ１２０からプログラムを読み出して該プログラムに対応した処理を実行する。図１６において、図１２と同一部分には同一符号を付し、適宜説明を省略する。
【０１５４】
図１６に示すフローが図１２に示すフローと異なる点は、ステップＳ１３とステップＳ１４の間に、第１〜第Ｎの記憶デバイス装着部８４０１〜８４０Ｎの少なくとも１つにメモリカードが挿入状態であるか否かを判別するために、コントローラ制御レジスタ部１３６の制御レジスタをチェックする処理が追加されている点である。この制御レジスタは、例えば図１５のように第１〜第Ｎの挿抜状態指示信号xCD_Sig#1〜xCD_Sig#Nの論理積演算結果を反映したレジスタとすることができる。
【０１５５】
即ち、ステップＳ１３において、CardStateStable割り込みを受け付けると（ステップＳ１３：Ｙ）、制御マスタ１２６は、コントローラ制御レジスタ部１３６の上記の制御レジスタの内容をチェックして（ステップＳ２０）、第１〜第Ｎの記憶デバイス装着部８４０１〜８４０Ｎのいずれかにメモリカードが挿入されているか否かを検出する（ステップＳ１４）。
【０１５６】
このような第２の実施形態によれば、各挿抜検出回路が検出すべき信号の種類を減らしても、第１の実施形態と同様の効果を得ることができる。
【０１５７】
なお、第１の実施形態及びその変形例、第２の実施形態では、メモリカードの挿入状態指示信号を用いていたが、これに限定されるものではない。即ち、各挿抜検出回路が、挿入状態指示信号に代えて抜去状態指示信号を用いてもよい。この場合、第ｊの挿抜検出回路が、第ｊの挿入状態指示信号に代えて、所定の期間、前記第ｊのデバイスの抜去状態が継続していることを示す第ｊの抜去状態指示信号を出力し、デバイス挿抜状態通知回路が、第１〜第Ｎの挿抜状態変化検出信号、第１〜第Ｎの挿抜状態安定化検出信号及び前記第１〜第Ｎの抜去状態指示信号に基づいて、第１〜第Ｎのデバイスのうち少なくとも１つが挿入されたか否かを前記制御マスタに対して通知することができる。
【０１５８】
３．  電子機器
次に、本実施形態におけるカードコントローラが適用されるホストシステムを含む電子機器の構成例を示す。
【０１５９】
図１７に、本実施形態における電子機器としてのデジタルスチルカメラの構成例のブロック図を示す。
【０１６０】
図１７において、図１と同一部分には同一符号を付し、適宜説明を省略する。
【０１６１】
電子機器１０は、電荷結合素子（Charge Coupled Device：以下、ＣＣＤ）イメージセンサ８００、ＡＤ変換器８１０、メモリ８２０、クロック生成回路８３０、ホストシステム１００、ソケット（スロット、メモリ装着部、カード装着部、メモリカード装着部、記憶デバイス装着部）８４０１〜８４０Ｎ（第１〜第Ｎのデバイス装着部）を含む。
【０１６２】
ＣＣＤイメージセンサ８００は、複数の受光素子を有し、各受光素子に光が入射することにより発生した電荷を読み出して、画像を電気信号に変換する。ＣＣＤイメージセンサ８００によって電気信号に変換された画像データは、ＡＤ変換器８１０によりデジタル信号に変換された後、メモリ８２０にバッファリングされる。
【０１６３】
クロック生成回路８３０は、電子機器１０の基本クロックやホストシステム１００の基本クロックを生成する。
【０１６４】
図１７のプログラムメモリ１２０は、図１のメモリ１２０として機能する。
【０１６５】
ソケット８４０１〜８４０Ｎの各ソケットには、メモリカードが挿抜される。メモリカードがソケットに挿入された状態で、カードバス２０を介してカードコントローラ１３０とメモリカードとの間でＭＭＣ規格に従ったアクセスが行われる。
【０１６６】
ホストシステム１００の制御により、メモリ８２０に蓄えられた画像データをメモリカードに書き込んだり、メモリカードから画像データを読み出してメモリ８２０に蓄積させたりできる。
【０１６７】
図１７のような電子機器１０によれば、ホストシステム１００の制御及び構成が簡素化され、低消費電力化及び低コスト化が実現される。
【０１６８】
なお、本発明は上述した実施の形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形実施が可能である。本実施形態におけるメモリカードは、フラッシュメモリカードに限定されるものではない。本実施形態におけるメモリカードに代えて、Ｉ／Ｏデバイス、ＨＤＤ装置、ＤＶＤ装置、又は光ディスク装置であってもよい。
【０１６９】
更に、本発明を適用できるコマンドは上述の実施形態において説明したものに限定されるものではなく、例えばＭＭＣ規格と同様の思想に基づく規格やＭＭＣ規格を発展させた規格のビジー状態の通知を伴うレスポンスを有するコマンド、例えばＣＥ−ＡＴＡ規格と同様の思想に基づく規格やＣＥ−ＡＴＡ規格を発展させた規格のビジー状態の通知を伴うレスポンスを有するコマンドにも当然本発明を適用できる。
【０１７０】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【図面の簡単な説明】
【０１７１】
【図１】本実施形態における情報処理装置が適用された電子機器の構成例のブロック図。
【図２】第ｊのメモリカードの構成例のブロック図。
【図３】第１の実施形態におけるカードコントローラの構成要部のブロック図。
【図４】図３のカードコントローラのハードウェア構成例を示す図。
【図５】図５（Ａ）はコマンド制御部により送信されるコマンドの説明図。図５（Ｂ）はコマンド制御部により受信されるレスポンスの説明図。
【図６】図４の記憶デバイス検出回路の構成例の回路図。
【図７】図６の第１〜第３の挿抜検出回路に共通の挿抜検出回路の構成例の回路図。
【図８】図７の挿抜状態安定検出回路の構成例の回路図。
【図９】図６の記憶デバイス検出回路の動作例のタイミング図。
【図１０】図６の記憶デバイス検出回路の他の動作例のタイミング図。
【図１１】図６の記憶デバイス検出回路の更に別の動作例のタイミング図。
【図１２】図１又は図３の制御マスタの処理例のフロー図。
【図１３】第１の実施形態の変形例における記憶デバイス検出回路の構成例のブロック図。
【図１４】第２の実施形態におけるカードコントローラの構成要部のブロック図。
【図１５】第２の実施形態における記憶デバイス検出回路の構成例の回路図。
【図１６】第２の実施形態における制御マスタの処理例のフロー図。
【図１７】本実施形態における電子機器のブロック図。
【符号の説明】
【０１７２】
１０  電子機器、  １００  ホストシステム、  １１０  ＣＰＵ、
１２０、８２０  メモリ、  １２２  システムバス、  １２６  制御マスタ、
１３０  カードコントローラ、  １３２  制御Ｉ／Ｆ回路、
１３４  ＦＩＦＯＩ／Ｆ回路、  １３６  コントローラ制御レジスタ部、
１３８  クロック制御部、  １４０  コマンド制御部、  １４２  コマンドシーケンサ、１４６  データ制御部、  １４８  データシーケンサ、  １５０  ドライバ部、
１５２、６００  記憶デバイス検出回路、
２００１〜２００Ｎ  第１〜第Ｎのメモリカード、  ３００  挿抜検出回路、
３００１〜３００Ｎ、５００１〜５００Ｎ  第１〜第Ｎの挿抜検出回路、
３１０  挿入検出回路、  ３１２  挿入検出用フリップフロップ、
３２０  抜去検出回路、  ３２２  抜去検出用フリップフロップ、
３３０  挿抜状態安定検出回路、  ３３２  第１のフィルタ、
３３４  第２のフィルタ、  ３３６  挿入検出パルス発生回路、
３３８  抜去検出パルス発生回路、
３５０、４００、５５０  デバイス挿抜状態通知回路、  ３６０  カード制御部、
３７０  検出用タイマ、  ８００  ＣＣＤイメージセンサ、  ８１０  ＡＤ変換器、
８３０  クロック生成回路、  ８４０１〜８４０Ｎ  第１〜第Ｎの記憶デバイス装着部
【図１】
2010015431.tif 000003
【図２】
2010015431.tif 000004
【図３】
2010015431.tif 000005
【図４】
2010015431.tif 000006
【図５】
2010015431.tif 000007
【図６】
2010015431.tif 000008
【図７】
2010015431.tif 000009
【図８】
2010015431.tif 000010
【図９】
2010015431.tif 000011
【図１０】
2010015431.tif 000012
【図１１】
2010015431.tif 000013
【図１２】
2010015431.tif 000014
【図１３】
2010015431.tif 000015
【図１４】
2010015431.tif 000016
【図１５】
2010015431.tif 000017
【図１６】
2010015431.tif 000018
【図１７】
2010015431.tif 000019