(57)【要約】【課題】  システムに現在結合されているデバイスとは別のデバイスが上記システムに結合された場合の初期化過程を改善する。【解決手段】  コントローラ（１０１）は、現在結合されている第１デバイスがデータ転送モードとされた状態で、上記第１デバイスとは別の第２デバイスが結合された場合に、第１デバイスをスタンバイ状態に遷移させた後に、上記第２デバイスをアイドル状態に遷移させる。第１カードはスタンバイ状態なので、上記のコマンドを受信せず、状態遷移過程は省略される。このことが、デバイスへのアクセス開始時間を短縮することができ、システムに現在結合されているデバイスとは別のデバイスが上記システムに結合された場合の初期化過程の改善を達成する。【選択図】        図１
2005275501.tif 000002
【特許請求の範囲】
【請求項１】
ホストシステムとそれに着脱自在に結合可能な複数のデバイスとを含むデバイスシステムであって、
上記ホストシステムは、現在結合されている第１デバイスがデータ転送モードとされた状態で、上記第１デバイスとは別の第２デバイスが結合されたとき、上記第１デバイスをスタンバイ状態に遷移させた後に、上記第２デバイスをアイドル状態に遷移可能なコントローラを含んで成るデバイスシステム。
【請求項２】
上記コントローラは、現在結合されている第１デバイスがデータ転送モードとされた状態で、上記第１デバイスとは別の第２デバイスが結合されたとき、データ転送モードのデバイスのみが受信可能な第１コマンドを発行することによって上記第１デバイスをスタンバイ状態に遷移させた後に、第２デバイスをアイドル状態に遷移させるための第２コマンドを発行する請求項１記載のデバイスシステム。
【請求項３】
上記第１コマンドは、データ転送モードにあるデバイスのみが受信可能なブロードキャスト型コマンドとされ、このブロードキャストコマンドを受信したデバイスは、上記第２コマンドの取り込みを行わないように定義された請求項２記載のデバイスシステム。
【請求項４】
上記デバイスをマルチメディアカードとした請求項１乃至３の何れか１項記載のデバイスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスシステム、さらにはそれにおける初期化過程の効率化を図るための技術に関し、例えばマルチメディアカードに適用して有効な技術に関する。
【背景技術】
【０００２】
パーソナルコンピュータや多機能端末機などの外部記憶デバイスとして、メモリカードが急速に普及している。このメモリカードの１つとして、標準化団体であるＭＭＣＡ（ＭｕｌｔｉＭｅｄｉａ Ｃａｒｄ Ａｓｓｏｃｉａｔｉｏｎ）が標準化したマルチメディアカードが広く知られている。このマルチメディアカードは、ディジタルカメラの静止画像記録、携帯電話のデータ記録、携帯音楽プレーヤの音楽記録などに用いられる（例えば特許文献１参照）。
【０００３】
【特許文献１】特開２００３−５０９８０号公報（第２段落〜）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
マルチメディアカードの規格によれば、一つのホストシステムで複数のマルチメディアカードを制御することができる。ＭＭＣ規格のＭＭＣモードでは、ホストシステムがカードをスタンバイ状態やトランスファー状態などのデータ転送モードに状態遷移させた後、データ転送が可能となる。この状態遷移に必要な過程を初期化過程と定義する。
【０００５】
しかしながら、現在結合されている第１メモリカードがデータ転送モードとされた状態で、その第１メモリカードとは別の第２メモリカードが新たに結合されたとき、この第２メモリカードとともに第１メモリカードもシステムによって初期化されることになり、それに要する時間や電力が無駄に消費されているのが、本願発明者によって見いだされた。
【０００６】
本発明の目的は、システムに現在結合されているデバイスとは別のデバイスが上記システムに結合された場合の初期化過程を改善することにある。
【０００７】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００９】
すなわち、ホストシステムとそれに着脱自在に結合可能な複数のデバイスとを含んでデバイスシステムが構成されるとき、上記ホストシステムは、現在結合されている第１デバイスがデータ転送モードとされた状態で、上記第１デバイスとは別の第２デバイスが結合された場合に、上記第１デバイスをスタンバイ状態に遷移させた後に、上記第２デバイスをアイドル状態に遷移可能なコントローラを含んで成る。
【００１０】
上記の手段によれば、コントローラは、現在結合されている第１デバイスがデータ転送モードとされた状態で、上記第１デバイスとは別の第２デバイスが結合された場合に、上記第１デバイスをスタンバイ状態に遷移させた後に、上記第２デバイスをアイドル状態に遷移させる。第１カードはスタンバイ状態なので、上記のコマンドを受信せず、状態遷移過程は省略される。このことが、デバイスへのアクセス開始時間を短縮することができ、システムに現在結合されているデバイスとは別のデバイスが上記システムに結合された場合の初期化過程の改善を達成する。
【００１１】
さらに上記コントローラは、現在結合されている第１デバイスがデータ転送モードとされた状態で、上記第１デバイスとは別の第２デバイスが結合されたとき、データ転送モードのデバイスのみが受信可能な第１コマンドを発行することによって上記第１デバイスをスタンバイ状態に遷移させた後に、第２デバイスをアイドル状態に遷移させるための第２コマンドを発行するように構成することができる。
【００１２】
また、上記第１コマンドは、データ転送モードにあるデバイスのみが受信可能なブロードキャスト型コマンドとされ、このブロードキャストコマンドを受信したデバイスは、上記第２コマンドの取り込みを行わないように定義される。上記デバイスをマルチメディアカードとすることができる。
【発明の効果】
【００１３】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００１４】
すなわち、デバイスへのアクセス開始時間を短縮することができ、システムに結合されているデバイスとは別のデバイスが結合された場合の初期化過程の効率化を図ることができる。
【発明を実施するための最良の形態】
【００１５】
図１には、本発明にかかるデバイスシステムの一例であるマルチメディアカードシステムが示される。図１に示されるマルチメディアカードシステムは、ホストシステム１０と、それに着脱自在に結合可能な複数のデバイス例えばマルチメディアカード（以下、単に「カード」と称する）１１とを含む。ホストシステム１０は、ハードウェア部、システムソフトウェア部、及びアプリケーションソフトウェア部を含む。特に制限されないが、上記ハードウェア部には、コマンド、レスポンスやデータ送受信によりカード１１−１１の動作を制御するカードコントローラ１０１が含まれる。特に、このカードコントローラ１０１は、後に詳述するように、現在結合されているメモリカードがデータ転送モードとされた状態で、そのメモリカードとは別のメモリカードが結合されたとき、データ転送モードのメモリカードをスタンバイ状態に遷移させた後に、別のメモリカードをアイドル状態に遷移することによって初期化する機能を有する。システムソフトウェア部には、上記カードコントローラ１０１を制御するドライバ１０２や、データをファイルとして管理するファイルシステム１０３が含まれる。アプリケーションソフトウェア部には、オーディオ関連のプレーヤやレコーダ等のアプリケーションシステム１０４が含まれる。
【００１６】
図２には、図１に示されるマルチメディアカードシステムの比較対象とされるシステムにおけるカードの初期化過程が示される。以下、第１カード１１−１が既に接続されてデータ転送モードにあるホストシステム１０に、新たに第２カード１１−２が装着される場合について説明する。
【００１７】
ホストシステム１０は、新たにカード１１−２が挿入されたことを検出する（２０１）。ホストシステム１０は全カードをアイドル状態にするコマンドＣＭＤ０を発行する（２０２）。カード１１−２はコマンドＣＭＤ０を受信するとアイドル状態に遷移する（２０３Ｂ）。コマンドＣＭＤ０はインアクティブ状態以外の状態にあるカードが受信するので、データ転送モード（スタンバイ状態、トランスファー状態など）にあるカード１１−１もコマンドＣＭＤ０を受信しアイドル状態に遷移する（２０３Ａ）。ホストシステム１０はコマンドＣＭＤ１を発行し（２０４）、カード１１１−２にＯＣＲ（動作電圧範囲）を問い合わせる。
【００１８】
カード１１−１とカード１１−２はコマンドＣＭＤ１を受信すると、自身のＯＣＲをそれぞれホストシステム１０に返す。また、カードのパワーアップ過程が完了していればレディ状態に遷移する（２０５Ａ，２０５Ｂ）。
【００１９】
ホストシステム１０は、カード１１１−２から受信したＯＣＲにより、全カードのパワーアップ過程が完了したかを調べる（２０６）。終了していなければ、ホストシステム１０はコマンドＣＭＤ１発行とそのレスポンスを調べることを繰り返し、全カードのパワーアップ過程の終了を待つ。
【００２０】
ホストシステム１０は、コマンドＣＭＤ２を発行し、カード１１１−２にＣＩＤ(静的なＩＤ)を問い合わせる（２０７）。コマンドＣＭＤ２はレディ状態のカードのみが受信する。カードはコマンドＣＭＤ２を受信すると、自身のＣＩＤをホストシステム１０に返そうとするが、自身のＣＩＤとバス上のＣＩＤをバイナリで比較し、異なっていれば出力を中止する。つまり、最大のＣＩＤを持つカードのみがＣＩＤを出力することになる。ここで、カード１１−１のＣＩＤがカード１１−２のＣＩＤより小さいとすると、カード１１−２がＣＩＤをホストシステム１０に送信し、アイデンティファイ状態に遷移する（２０８Ｂ）。カード１１−１は送信を中止しレディ状態に留まる（２０８Ａ）。ホストシステム１０は、ＣＩＤを受信したカード１１−２にコマンドＣＭＤ３を発行し（２０９）、ＲＣＡ(バス上での動的な相対アドレス)を割り当てる。ここで、カード１１−２に割り当てるＲＣＡを“２”とする。また、コマンドＣＭＤ３はアイデンティファイ状態のカードのみが受信する。カード１１−２はコマンドＣＭＤ３を受信すると、スタンバイ状態へ遷移する（２１０）。カード１１−１はレディ状態なのでコマンドＣＭＤ３を受信しない。ホストシステム１０は、コマンドＣＭＤ２を発行し、カード１１１−２にＣＩＤを問い合わせる（２１１）。カード１１−１は、コマンドＣＭＤ２を受信すると自身のＣＩＤをホストシステム１０に返す（２１２）。カード１１−２はスタンバイ状態なのでコマンドＣＭＤ２を受信しない。ホストシステム１０はＣＩＤを受信したカード１１−１にコマンドＣＭＤ３を発行し、ＲＣＡを割り当てる（２１３）。ここで、カード１１−１に割り当てるＲＣＡを“１”とする。カード１１−１は、コマンドＣＭＤ３を受信するとスタンバイ状態へ遷移する（２１４）。カード１１−２は、スタンバイ状態なのでコマンドＣＭＤ３を受信しない。以上の操作により、２枚のカード１１−１，１１−２がデータ転送モードになる。例えば、ホストシステム１０とカード１１−２がデータ転送は、以下の手順で行われる。
【００２１】
ホストシステム１０は、ＲＣＡに“２”（＝カード１１−２のＲＣＡ）を設定し、コマンドＣＭＤ７を発行する（２１５）。カード１１−２は、コマンドＣＭＤ７を受信すると、トランスファー状態に遷移する（２１６Ｂ）。カード１１−１は、自身のＲＣＡと異なるのでコマンドＣＭＤ７を受信せずにスタンバイ状態に留まる（２１６Ａ）。ホストシステム１０は、リード又はライトコマンドを発行する。リード又はライトコマンドは、トランスファー状態のカードのみが受信する。カード１１−２はリード又はライトコマンドを受信すると（２１８）、リードであればホストシステム１０へデータを送信、ライトであればホストシステム１０からデータを受信する。カード１１−１はスタンバイ状態なのでリード又はライトコマンドを受信しない。
【００２２】
図３には、図１に示されるマルチメディアカードシステムにおけるカードの初期化過程が示される。
【００２３】
以下、図２に示される場合と同様に、第１カード１１−１が既に接続されてデータ転送モードにあるホストシステム１０に、新たに第２カード１１−２が装着される場合について説明する。
【００２４】
ホストシステム１０は、あるポートに新たにカード１１−２が挿入されたことを検出し、コマンドＣＭＤ１４を発行する（３０２）。ＣＭＤ１４はデータ転送モードにあるカードのみが受信するブロードキャスト型のコマンドで、レスポンスは持たない。また、ＣＭＤ１４を受信したカードは、受信した前と同じＲＣＡを保持したままスタンバイ状態に遷移し、ＣＭＤ１４の直後に送信されるＣＭＤ０を無視するものと定義する。既にデータ転送モードにあるカードは、ＣＭＤ１４を受信するのでスタンバイ状態に遷移する。第１カード１１−１はコマンドＣＭＤ１４を受信すると、受信した前と同じＲＣＡを保持したままの状態でスタンバイ状態に遷移する（３０５）。第２カード１１−２はデータ転送モードではないのでコマンドＣＭＤ１４を受信しない。
【００２５】
ホストシステム１０は、コマンドＣＭＤ１４の発行に引き続き、コマンドＣＭＤ０を発行する（３０４）。第２カード１１−２は、コマンドＣＭＤ０を受信するとアイドル状態に遷移する（３０５）。第１カード１１−１はコマンドＣＭＤ１４を受信しているため、その直後に発行されたコマンドＣＭＤ０は受信しない。
【００２６】
ホストシステム１０は、コマンドＣＭＤ1を発行し（３０６）、カードにOCRを問い合わせる。第２カード１１−２はコマンドＣＭＤ1を受信すると、自身のＯＣＲをホストシステム１０に返す。また、カードのパワーアップ過程が完了していればレディ状態に遷移する（３０７）。尚、カード１１−１はスタンバイ状態なのでコマンドＣＭＤ1を受信しない。ホストシステム１０は、カードから受信したＯＣＲにより、全カードのパワーアップ過程が完了したか否かを調べる（３０８）。終了していなければ、ホストシステム１０はコマンドＣＭＤ1の発行とそのレスポンスを調べることを繰り返し、全カードのパワーアップ過程の終了を待つ。
【００２７】
ホストシステム１０はコマンドＣＭＤ２を発行し、カードにＣＩＤを問い合わせる。カード１１−２はコマンドＣＭＤ２を受信すると、自身のＣＩＤをホストシステム１０に返す。第１カード１１−１はスタンバイ状態なのでコマンドＣＭＤ２を受信しない。ホストシステム１０は、ＣＩＤを受信した第２カード１１−２にコマンドＣＭＤ3を発行し、ＲＣＡを割り当てる。ただし、割り当てるＲＣＡは、既にスタンバイ状態にあるカード１１−１も含め、他のカードと互いに異なる値とする。ここでは、カード１１−１のＲＣＡを“１”であり、カード１１−２には“２”が割り当てられたものとする。尚、カード１１−１のＲＣＡはカード１１−１接続時、ホストシステム１０が割り当てたものなので、カード１１−２に互いに異なるＲＣＡをホストシステム１０は割り当てることができる。
【００２８】
第２カード１１−２は、コマンドＣＭＤ3を受信すると、スタンバイ状態へ遷移する（３１２）。また、尚、カード１１−１はスタンバイ状態なのでコマンドＣＭＤ３を受信しない。以上の操作により、第１カード１１−１のスタンバイ状態を維持しつつ、カード１１−２をデータ転送モードであるスタンバイ状態に遷移することが可能となる。例えば、ホストシステム１０と第２カード１１−２がデータ転送をする場合、以下のステップ３１３〜３１７の手順で可能となる。
【００２９】
ホストシステム１０は、ＲＣＡに“２”（=カード１１−２のＲＣＡ）を設定し、コマンドＣＭＤ７を発行する（３１３）。第２カード１１−２は、コマンドＣＭＤ７を受信すると、トランスファー状態に遷移する（３１５）。第１カード１１−１は、自身のＲＣＡと異なるのでコマンドＣＭＤ７を受信せずスタンバイ状態に留まる。ホストシステム１０は、リード又はライトコマンドを発行する（３１６）。このリード又はライトコマンドはトランスファー状態のカードのみが受信する。第２カード１１−２は、リード又はライトコマンドを受信し、リードであればホストシステム１０へデータを送信し、ライトであればホストシステム１０からデータを受信する（３１７）。このとき、第１カード１１−１は、スタンバイ状態なので、リードやライトコマンドを受信しない。
【００３０】
上記例によれば、以下の作用効果を得ることができる。
【００３１】
（１）既にデータ転送モードにあるカードを持つホストシステム１０が、新規にカードが接続されたことを認識すると、コマンドＣＭＤ１４を発行する。コマンドＣＭＤ１４を受信した第１カード１１−１はコマンドＣＭＤ０を受信しない。新規に接続された第２カード１１−２のみがＣＭＤ０を受信し、“アイドル状態”に遷移する。以降、新規に接続された第２カードのみがＣＭＤ１受信→“レディ状態”→ＣＭＤ２受信→“アイデンティファイ状態”→ＣＭＤ３受信→“スタンバイ状態”の状態遷移をする。一方、第１カード１１−１は“スタンバイ状態”なので、上記のコマンドを受信せず、状態遷移過程は省略される。
【００３２】
（２）上記（１）の作用効果により、カードへのアクセス開始時間を短縮することができるため、システムのパフォーマンスの向上を図ることができる。
【００３３】
（３）上記（１）の作用効果により、ホストシステム１０とカード１１との間で無駄なコマンドやレスポンスを省略することができるので、省電力化を図ることができる。
【００３４】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００３５】
例えば、既存のコマンドで実現することが可能である。それは、新規にカードが検出された後、ＣＭＤ１４の代わりにＣＭＤ０のアーギュメントに０以外の値（以後、これをＣＭＤ０'とする）を設定して発行する方法である。ＭＭＣ規格ではＣＭＤ０のアーギュメントは０と定義されている。ＣＭＤ０'は通常のＣＭＤ０の機能に加え、既にデータ転送モードにあるカードが受信すると、カードは“スタンバイ状態”に遷移させる機能を持つものと定義することが可能となる。図４には、その場合の流れが示される。
【００３６】
ホストシステム１０は、あるポートに新たにカード２が挿入されたことを検出し、ＣＭＤ０'を発行する（４０２）。第１カード１１−１は、データ転送モードにあるので、ＣＭＤ０'を受信すると、スタンバイ状態に遷移する（４０３）。第２カード２は、データ転送モードではないので、ＣＭＤ０'を受信すると、アイドル状態に遷移する（４０４）。ホストシステム１０は、ＣＭＤ１を発行し、カードにOCRを問い合わせる（４０５）。以降、図３の場合と同様の初期化過程となる。
【００３７】
図４に示される処理によれば、ＣＭＤ１４の発行が省略されるため、初期化過程のさらなる時間短縮、及び省電力化が得られる。また、新規コマンド（ＣＭＤ１４）の追加も必要ないので、規格の更新やそれに対応したホストシステム１０やカードの開発も容易となる。
【００３８】
また、コマンドにより特定のカードのみを初期化することができる。
【００３９】
すなわち、上記コマンドＣＭＤ１４をさらに詳細に定義することにより、特定のカードのみを初期化することが可能である。特に、あるカードにエラーが起こり初期化する必要が生じたときや、上位アプリケーションとの関連により特定のカードのＲＣＡを再設定する必要が生じたときに有効となる。
【００４０】
図５には、あるカード１１−αにエラーが起こり初期化する必要が生じたときの例が示される。カード１１−αにエラーが発生した場合に、コマンドＣＭＤ１４が発行されることにより、カード１１−αのみが初期化される。
【００４１】
図６には上位アプリケーションとの関連により特定のカードのＲＣＡを再設定する必要が生じた場合の例が示される。ＵＳＢ接続のカードリーダアプリケーションなどで適用される例で、アプリケーションがＲＣＡとドライブ番号を関連付けて管理している。図６においてカード１１−γが必ずドライブEに割り当てられるべきカードだとする。既にカード１１−βがドライブEに割り当てられているので、カード１１−γを新規に接続するとき、カード１１−βとカード１１−γを初期化し、ＲＣＡの再割り当てをする必要がある。
【００４２】
特定のカードのみの初期化は、コマンドＣＭＤ１４のアーギュメントにＲＣＡとカードを関連付ける情報をビットマップ形式で設定する。尚、ＭＭＣ規格により接続可能なカードの最大値は３０個であるので、３０ビットで管理できる。
【００４３】
図７には、コマンドＣＭＤ１４のフォーマット例が示される。
【００４４】
コマンドＣＭＤ１４を受信し、アーギュメントのＲＣＡに対応するビットと自身のＲＣＡが一致したカードは、受信した前と同じＲＣＡを保持したままスタンバイ状態に遷移し、コマンドＣＭＤ１４の直後に送信されるコマンドＣＭＤ０を無視するものと定義する。また、ＲＣＡが一致しないカードはコマンドＣＭＤ１４が有効でなく、次のコマンドＣＭＤ０を受信しアイドル状態に遷移するものと定義する。以上のコマンドＣＭＤ１４の定義により特定のカードの初期化が可能となる。
【００４５】
さらに、既存のコマンドを拡張して特定のカードを初期化するようにしても良い。
【００４６】
例えば、ＭＭＣ規格におけるコマンドＣＭＤ０を拡張することで特定のカードのみを初期化することが可能である。拡張されたコマンドをＣＭＤ０''と定義する。図８には、上記コマンドＣＭＤ０''のフォーマットが示される。このコマンドＣＭＤ０''は、コマンドＣＭＤ０とアーギュメントのみが異なり、コマンドＣＭＤ１４の場合と同様にＲＣＡとカードを関連付ける情報をビットマップ形式で持つ。コマンドＣＭＤ０''を受信し、アーギュメントのＲＣＡに対応するビットと自身のＲＣＡが一致したカードは、受信した前と同じＲＣＡを保持したままスタンバイ状態に遷移するものと定義する。また、ＲＣＡが一致しないカードはアイドル状態に遷移するものと定義する。また、アーギュメントが“０”の場合は、全てのカードがアイドル状態に遷移することになるので従来のコマンドＣＭＤ０と互換性持つ。以上のコマンドＣＭＤ０''の定義により特定のカードの初期化が可能となる。
【００４７】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるマルチメディアカードシステムについて説明したが、本発明はそれに限定されるものではなく、例えば一つのホストシステムが複数のデバイスを制御する形態を有するデバイスシステムに広く適用することができる。
【００４８】
本発明は、複数のデバイスが結合されることを条件に適用することができる。
【図面の簡単な説明】
【００４９】
【図１】本発明にかかるデバイスカードシステムの一例であるマルチメディアカードシステムの全体的な構成例ブロック図である。
【図２】図１に示されるマルチメディアカードシステムの比較対象とされるシステムにおけるカードの初期化過程の説明図である。
【図３】図１に示されるマルチメディアカードシステムにおけるカードの初期化過程の説明図である。
【図４】上記マルチメディアカードシステムにおけるカードの別の初期化過程の説明図である。
【図５】カードにエラーが起こり初期化が必要とされる場合の説明図である。
【図６】上位アプリケーションとの関連により特定のカードのＲＣＡの再設定が必要とされる場合の説明図である。
【図７】上記マルチメディアカードシステムで取り扱われるコマンドのフォーマット説明図である。
【図８】上記マルチメディアカードシステムで取り扱われる別のコマンドの別のフォーマット説明図である。
【符号の説明】
【００５０】
１０  ホストシステム
１１  カード
１１−１  第１カード
１１−２  第２カード
１０１  カードコントローラ
１０２  ドライバ
１０３  ファイルシステム
１０４  アプリケーション
【図１】
2005275501.tif 000003
【図２】
2005275501.tif 000004
【図３】
2005275501.tif 000005
【図４】
2005275501.tif 000006
【図５】
2005275501.tif 000007
【図６】
2005275501.tif 000008
【図７】
2005275501.tif 000009
【図８】
2005275501.tif 000010