JP2004038643A - Composite input and output device - Google Patents

Composite input and output device Download PDF

Info

Publication number
JP2004038643A
JP2004038643A JP2002195853A JP2002195853A JP2004038643A JP 2004038643 A JP2004038643 A JP 2004038643A JP 2002195853 A JP2002195853 A JP 2002195853A JP 2002195853 A JP2002195853 A JP 2002195853A JP 2004038643 A JP2004038643 A JP 2004038643A
Authority
JP
Japan
Prior art keywords
input
unit
command
output unit
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002195853A
Other languages
Japanese (ja)
Other versions
JP4132028B2 (en
Inventor
Kazuya Iwata
岩田 和也
Isao Kato
加藤 勇雄
Seiji Nakamura
中村 清治
Tetsushi Kasahara
笠原 哲志
Tatsuya Adachi
足立 達也
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002195853A priority Critical patent/JP4132028B2/en
Publication of JP2004038643A publication Critical patent/JP2004038643A/en
Application granted granted Critical
Publication of JP4132028B2 publication Critical patent/JP4132028B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an input and output device consisting of the composition of two or more input and output device sharing the bus to a host and satisfactorily recognizable by the host as one device similar to the single body of the respective devices. <P>SOLUTION: A composite I/O card 10 comprises a memory unit 1A and an I/O unit 2A. The input and output parts 11A and 21A of the respective units are connected to the host H by the common bus 3. The host H transmits a command to the command decoding parts 13 and 23 of both the input and output parts through a command line CMD. The respective command decoding parts set responses to the command. State reporting parts 15A and 25A report the respective states of their own input and output parts to the other input and output part. Response suppression parts 16A and 26A suppress the responses by the command decoding parts 13 and 23 of their own input and output parts based on the reported states, and transmit only a proper one of the responses to the host H. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、外部の情報処理機器との間でデータ通信を行うための入出力装置に関し、特に、その情報処理機器との間のバスを共用する二以上の入出力装置の複合に関する。
【0002】
【従来の技術】
情報技術の飛躍的進歩及び爆発的普及により、多種多様な情報処理機器が相互に接続され、様々なデータを交換できる。それらのデータ通信を担う入出力装置(インタフェース)には、下位互換性を含め、多種多様な情報処理機器についての汎用性が要求される。その上、情報処理機器全体に対する小型軽量化の要請に伴い、入出力装置自体に対しても小型軽量化が求められる。
【0003】
従来の入出力装置の中では特に、カード型のものが近年多用される。このカード型入出力装置は、特定のインタフェース内蔵の数cm角の小カードである。カード型入出力装置は情報処理機器(ホスト)に設けられた専用スロットに差し込まれ、ホストとデータを交換する。そのスロットを様々な情報処理機器へ組み込むことで、上記のカード型入出力装置は多種多様な情報処理機器に対する汎用性を獲得する。
【0004】
上記のカード型入出力装置の種類にはメモリカードとI/Oカードとがある。メモリカードは、例えばフラッシュメモリ等の半導体メモリを内部に含むカード型記録媒体である。複数のホストが同じメモリカードを共用し、相互のデータ交換を実現する。
図8は、従来のメモリカード100とホストHとの間でのデータ交換を示すブロック図である。
このメモリカード100は、少なくとも一本のデータ線DAT、クロック線CLK、電源線VDD、グラウンド線VSS、及びコマンド線CMDを含むバス103で、ホストHと接続される。
メモリカード100はホストHから、電源線VDDとグラウンド線VSSとを通し、電力を供給される。
【0005】
入出力部(ホストインタフェースともいう)101は、コマンド線CMDを通しホストHからコマンドを受信し解読する。その解読されたコマンドの内容に応じ、レスポンスをホストHへ、コマンド線CMDを通し返信する。
コマンドがフラッシュメモリに対する読み出し命令であるとき、入出力部101はメモリ部102に対し、その内部のフラッシュメモリからデータを読み出すように指示する。読み出されたデータはデータ線DATを通し、ホストHへ転送される。そのとき、入出力部101はデータ転送を同期通信で行う。すなわち、クロック線CLKを通しホストHから転送されたクロックと同期し、データを転送する。そのとき、データは、データ線DATのいずれかを通しシリアルに、又は全データ線DATを通しパラレルに転送される。
【0006】
コマンドがフラッシュメモリに対する書き込み命令であるとき、入出力部101はデータ線DATを通し、その書き込み対象データを受信する。そのとき、上記の読み出し時と同様、データ転送はクロック線CLKからのクロックと同期し、シリアルに又はパラレルに転送される。入出力部101により受信された書き込み対象データはメモリ部102へ転送される。メモリ部102はそのデータを内部のフラッシュメモリへ記憶する。
【0007】
I/Oカードは、ホストと、そのホストとは別の情報処理機器又はネットワークとの間を接続する。例えば、I/Oカードはホストを携帯電話又は内部の無線通信部へ接続する。それにより、ホストは、携帯電話回線網又は無線LANを通し、他の情報処理機器との間でデータ交換を実現する。その他に、I/Oカードはホストをディジタルカメラへ接続する。それにより、ホストはディジタルカメラにより撮像された画像データを取り込み、記録し又は編集できる。
一枚のI/Oカードを通し、無線通信部、携帯電話、又はディジタルカメラ等の様々な機能部へ接続されることで、ホストは多種多様な機能を獲得できる。
【0008】
図9は、従来のI/Oカード200とホストHとの間でのデータ交換を示すブロック図である。
I/Oカード200は、上記のメモリカード100と同様なバス103でホストHと接続される。すなわち、バス103は、データ線DAT、クロック線CLK、電源線VDD、グラウンド線VSS、及びコマンド線CMDを含む。
I/Oカード200はメモリカード100と同様、電源線VDDとグラウンド線VSSとを通し、ホストHから電力を供給される。
【0009】
I/Oカード200は機能部として、例えば無線通信部202Aと撮像部202Bとを含む。無線通信部202Aは、例えば外部の無線LANに接続し、データを交換する。撮像部202Bは、例えば電荷結合素子(CCD)等の撮像素子を含み、外部から取り入れた光学像を画像信号へ変換する。
【0010】
入出力部201は、コマンド線CMDを通し、ホストHからコマンドを受信し解読する。その解読されたコマンドの内容に応じ、レスポンスをホストHへ、コマンド線CMDを通し返信する。
コマンドが、無線通信部202A又は撮像部202Bに対するデータ転送命令であるとき、入出力部201はそれぞれのモジュールからデータを読み出す。読み出されたデータはデータ線DATを通し、ホストHへ転送される。そのとき、入出力部201によるデータ転送は、クロック線CLKを通しホストHから転送されたクロックに従い同期通信で行われる。データは、データ線DATのいずれかを通しシリアルに、又は全データ線DATを通しパラレルに転送される。
【0011】
コマンドが無線通信部202Aに対するデータ送信命令であるとき、入出力部201はデータ線DATを通し、送信対象データをホストHから受信する。そのとき、上記の読み出し時と同様、データ転送はクロック線CLKからのクロックと同期し、シリアルに又はパラレルに転送される。入出力部201により受信されたデータは無線通信部202Aへ転送され、更に外部へ無線で送信される。
【0012】
ホストは、例えば上記のカード型入出力装置用スロットを複数有するとき、それぞれのスロットへ挿入されたカード型入出力装置と一対一に接続し認識する。すなわち、バスのような物理的な接続の特定により、それぞれのカード型入出力装置を物理的に特定する。更に、そのような物理的な特定を通し、それぞれのカード型入出力装置に対し、異なるカードアドレスを割り当てる。その割り当て後は、ホストは、通信目標のカード型入出力装置、及びそれとの接続用のバスを、カードアドレスにより論理的に特定できる。
【0013】
ホストによる従来のカード型入出力装置に対する認識は、具体的には次のように実行される。
ホストは従来のカード型入出力装置を、その初期設定を通し認識する。カード型入出力装置の初期設定は、ホストからの電源投入又はリセット命令の発行により開始される。初期設定時、カード型入出力装置の入出力部は数種類の状態に遷移する。
【0014】
ここで、入出力部が特定のコマンドに応じ所定の動作を行うか否かで、その入出力部の状態は区別される。特に、入出力部により受理され得るコマンドは状態ごとに異なる。
入出力部は、その状態で受理し得るコマンドを正常に受信したとき、コマンド受信成功を示すレスポンス(ACK)をホストHへ返信する。更に、そのコマンドに従い所定の処理を実行し、又はそのコマンドの内容を機能部へ中継する。
入出力部は、コマンドの受信に失敗したとき、又はその状態では受理できないコマンドを正常に受信したとき、コマンド受信失敗を示すレスポンス(NAK)をホストへ返信する。その他に、入出力部はそのとき、何のレスポンスも送出しなくても良い。ホストはレスポンスの待ち時間を制限し、その待ち時間内にレスポンスを受信しないときは、入出力部によるコマンド受信の失敗、又は入出力部への無効コマンドの発行と判断する。
【0015】
入出力部の状態はコマンドに応じ一般に遷移する。入出力部の状態には、メモリカード100とI/Oカード200とで共通するもの及び異なるものがある。それと符合し、ホストHのコマンドには、両カードで共通するものと異なるものとがある。
メモリカード100とI/Oカード200とは、ホストHとの間のバス103等の物理的な接続部で共通する(図8、9参照)。その構造上の共通性から容易に類推されるとおり、ホストHは両カードに対し、実質上共通の初期設定を行う。
【0016】
図3は、メモリカード100又はI/Oカード200等、従来のカード型入出力装置の入出力部での初期設定時の状態遷移を示す図である。
初期設定時、入出力部は以下のように状態を遷移させる。
入出力部は、ホストHから電源を投入されるとき(ステップS0)、又はホストHからリセット命令を受信するとき(ステップC0)、アイドル状態ST1へ遷移する。アイドル状態ST1の入出力部は、初期化命令を含む所定のコマンド群に対してのみレスポンスを送出し、他のコマンドに対してはレスポンスを送出しない。
【0017】
入出力部は、ホストHから初期化命令を受信するとき(ステップC1)、接続された機能部へ初期化を指示すると共に、自分自身を初期化する(ステップS1)。
ここで、ホストHは所定のコマンドにより、入出力部をアイドル状態ST1からインアクティブ状態ST5へ遷移させても良い。インアクティブ状態ST5の入出力部はホストHからの全てのコマンドに対しレスポンスを送出しない。
【0018】
初期化完了時、入出力部はスタンバイ状態ST2へ遷移する。スタンバイ状態ST2の入出力部は、ホストHからカードアドレス送出命令を受信する(ステップC2)ごとにカードアドレスを更新し、ホストHへ返信する。
ここで、カードアドレスは、例えば入出力部内のレジスタに保持される。入出力部はカードアドレスを、例えば一定のステップずつインクリメントし、又は所定の範囲内でランダムに更新する。
ホストHは、返信されたカードアドレスを、他のカード型入出力装置(もし接続されていれば)に対し既に登録されたカードアドレスと比較する。それらのカードアドレスの間に重複がないとき、ホストHは、返信されたカードアドレスをその入出力部のものとして設定し、登録する。
カードアドレスの設定により、一つのカードに対する初期設定が終了する。
【0019】
ホストHは、初期設定を終えたカード型入出力装置の中からデータ転送対象を一つ選択し、カード選択命令を発行する。ここで、カード選択命令は宛先アドレスとして、登録済のカードアドレスを含む。初期設定を終えたスタンバイ状態ST2の入出力部は、カード選択命令の受信時(ステップC3)、その宛先アドレスと自身のカードアドレスとを比較する。両アドレスが一致するとき、入出力部はデータ転送可能状態ST3へ遷移する。
データ転送可能状態ST3の入出力部では、ホストHの読み出し命令又は書き込み命令(以下、R/W命令と略す)の受信が可能である。その入出力部は、R/W命令の受信(ステップC4)により、ホストHとの間でデータ転送を開始する。
【0020】
図10は従来のカード型入出力装置に対する初期設定のフローチャートである。図10の(a)はホストHについてのフローチャートであり、(b)はカード型入出力装置の入出力部についてのフローチャートである。
ホストHは入出力部へ電源を投入し(ステップS0)、又はリセット命令を発行し(ステップC0)、初期設定を開始する。
電源投入時、又はリセット命令の受信時、入出力部はリセットされ、アイドル状態ST1へ遷移する。
【0021】
ホストHは入出力部へ初期化命令を発行し、その入出力部、及びそれに接続された機能部の初期化を指示する(ステップS1)。その初期化命令の受信時(ステップC1)、入出力部は初期化を開始する(ステップS1)。初期化処理の間、入出力部はビジーフラグをオンする。
入出力部による初期化処理の間、ホストHはポーリングにより、入出力部のビジーフラグを監視する(ステップS2)。そのビジーフラグがオンである間、ホストHは新たなコマンドを発行しない。
入出力部は初期化完了時、ビジーフラグをオフする(ステップS3)。それにより、入出力部はスタンバイ状態ST2へ遷移する。
【0022】
スタンバイ状態ST2の入出力部は、ホストHからのカードアドレス送出命令、又はカード選択命令を待つ(ステップS4)。ここで、カードアドレス送出命令とカード選択命令とは、メモリカード100とI/Oカード200とで共通のコマンドである。それらのコマンド以外のコマンドが受信されるとき、又はコマンドの受信に失敗したとき、入出力部はホストHへNAKを送出する(ステップS5)。
【0023】
ホストHはスタンバイ状態ST2の入出力部へ、カードアドレス送出命令を発行する(ステップS6)。
カードアドレス送出命令を正常に受信したとき、入出力部はカードアドレスを更新する(ステップS7)。更に、更新されたカードアドレスを、カードアドレス送出命令に対するACK内のデータとしてホストHへ送出する(ステップS8)。その送出後、入出力部はホストHからのコマンドを待つ(ステップS4)。
【0024】
ホストHは、カードアドレス送出命令に対するレスポンスとして、カードアドレスを受信する。そのカードアドレスを、他のカード型入出力装置に対し既に設定され、登録されたカードアドレスと比較する(ステップS9)。
それらのカードアドレスの間で重複があるとき、ホストHは処理をステップS6へ戻し、カードアドレス送出命令を再び発行する。それにより、入出力部は上記のステップS4、S7、及びS8を順に繰り返し、新たなカードアドレスをホストHへ返信する。
【0025】
入出力部により送出されたカードアドレスとホストHへ登録済のカードアドレスとの間で重複がなくなるまで、ホストHはカードアドレス送出命令を繰り返し発行し続ける。それらのカードアドレスの間に重複がなくなったとき、ホストHは、入出力部から送出されたカードアドレスをそのカード型入出力装置のものとして設定し、登録する(ステップS10)。こうして、カード型入出力装置に対しカードアドレスがユニークに設定され、初期設定が終了する。
ホストHは、初期設定を終えたカード型入出力装置の中からデータ転送対象を一つ選択し、カード選択命令を発行する。ステップS4でそのカード選択命令の受信が識別されるとき、入出力部はデータ転送可能状態ST3へ遷移する。
【0026】
【発明が解決しようとする課題】
メモリカード100とI/Oカード200とは、ホストHとの間のバス103等の接続部で共通する。従って、それらの共通部分について単一の装置を共用できれば、メモリカード100とI/Oカード200との両方の機能を一枚のカード内に収め得る。そのように両機能を複合したカード型入出力装置(以下、複合I/Oカードという)が実現されれば、ホストは従来のスロットをそのまま利用し、メモリカードとI/Oカードとの両機能を同時に利用できる。
【0027】
図11は、複合I/Oカード300の内部構成の一例を示すブロック図である。この複合I/Oカード300はメモリユニット301とI/Oユニット302とを有する。メモリユニット301は、従来のメモリカード100と同様な構成を含み、そのカードに対するコマンドと同じコマンドで制御される。I/Oユニット302は、従来のI/Oカード200と同様な構成を含み、そのカードに対するコマンドと同じコマンドで制御される。図11では、それらの同様な構成に対し、図8及び図9に示される符号と同じ符号が付される。
【0028】
上記の複合I/Oカード300では、メモリユニット301とI/Oユニット302とが同じコマンド線CMDへ実質上単純に結線される。従って、ホストHからの一つのコマンドが両ユニットの入出力部101と201とにより、実質上同時に受信される。それぞれの入出力部は互いに独立して同じコマンドを解読する。
例えば、メモリカード100とI/Oカード200との共通コマンドが正常に受信されるとき、二つの入出力部101と201とはそれぞれの状態に応じたレスポンスを返信する。
その他に、例えば、メモリカード100専用コマンドが正常に受信されるとき、メモリユニット301の入出力部101はACKを返信し、I/Oユニット302の入出力部201はNAKを返信する。
【0029】
複合I/Oカード300とホストHとの間でのコマンド/レスポンス通信は、クロック線CLK上のクロックと同期して行われる。従って、二つの入出力部が一つのコマンドに対し同時にレスポンスを送出するとき、それらのレスポンスは共通のコマンド線CMD上で互いに衝突し、ワイヤードOR(Wired−OR)を通した一つのレスポンスとしてホストHへ通知される。ホストHはその一つのレスポンスから、メモリユニット301とI/Oユニット302とのそれぞれのレスポンスを解読しなければならなかった。すなわち、ホストHは、複合I/Oカード300のレスポンスに対し、従来とは異なる処理を要した。その結果、従来のスロットが、複合I/Oカード300に対する上位互換性を持ち得なかった。
【0030】
上記の複合I/Oカード300では、メモリユニット301とI/Oユニット302との間でのレスポンスについての競合の他に、次のような問題があった。
複合I/Oカード300は、従来のメモリカード100とI/Oカード200と同様なバス103でのみホストHと接続される。一方、ホストHは、従来のカード型入出力装置に対する初期設定を、バス103ごとに行う。従って、ホストHは複合I/Oカード300に対しても、メモリカード100とI/Oカード200と同様な一枚のカード型入出力装置としての認識を試みる。
【0031】
ホストHが複合I/Oカード300に対し従来と同様な初期設定を行うとき、メモリユニット301とI/Oユニット302との間でレスポンスについての競合が上記のように生じる。その競合を回避するには、例えば、いずれかの一方のユニットの入出力部を停止させれば良い。
ここで、I/Oユニット302を停止させるときを想定する。そのとき、ホストHはメモリユニット301に対し、従来と同様な初期設定を行う。その結果、メモリユニット301はホストHにより認識される。特に、メモリユニット301が、バス103によりホストHへ接続されたカード型入出力装置として、カードアドレスを設定される。従って、I/Oユニット302がホストHからのアクセスを識別するには、メモリユニット301に対し設定されたカードアドレス等の認識情報を、自身のレジスタに保持しなければならない。
しかし、従来のカード型入出力装置は、他のカード型入出力装置とカードアドレス等の認識情報を共有するための手段を持たなかった。従って、従来の機能では両ユニットが認識情報を共有できなかった。
【0032】
本発明は、ホストとの間のバスを共用する二以上の入出力装置の複合であり、それぞれの装置の単体と同様な一つの装置としてホストにより良好に認識される入出力装置、の提供を目的とする。
【0033】
【課題を解決するための手段】
本発明による複合入出力装置は、
(A) ホストからのコマンドの内、第一のコマンド群に属するものを、第一の機能部へ中継するための第一の入出力部;
(B) ホストからのコマンドの内、第二のコマンド群に属するものを、第二の機能部へ中継するための第二の入出力部;及び、
(C) 第一の入出力部と第二の入出力部とをそれぞれホストへ接続し、それらの入出力部により共用されるバス;
を有する。その複合入出力装置では、
(D) 第一の入出力部と第二の入出力部とがホストにより共通のアドレスでアクセスされ;
(E) 第一の入出力部が、第二の入出力部の状態に応じ、コマンドに対するレスポンスを送出し、又は抑制し;
(F) 第二の入出力部が、第一の入出力部の状態に応じ、コマンドに対するレスポンスを送出し、又は抑制する。
【0034】
ここで、入出力部が特定のコマンドに対し所定の動作を行い又は行わないことで、入出力部の状態は区別される。特に、入出力部により受理され得るコマンドは状態ごとに異なる。
入出力部は、その状態で受理し得るコマンドを正常に受信したとき、ACKをホストへ返信する。更に、そのコマンドに従い所定の処理を実行し、又はそのコマンドの内容を機能部へ中継する。
入出力部は、コマンドの受信に失敗したとき、又はその状態では受理できないコマンドを受信したとき、NAKをホストへ返信する。
このように、入出力部は一つのコマンドに対しレスポンスを、その状態に応じ決定する。
【0035】
上記の複合入出力装置のように二つの入出力部を含む複合入出力装置では、それぞれの入出力部の状態が一般に異なるので、一つのコマンドに対しそれぞれの入出力部で決定されるレスポンスが一般に異なる。
上記の複合入出力装置では、入出力部のそれぞれが更に、他の入出力部の状態に応じ、レスポンスを送出し、又は抑制する。それにより、二つの入出力部が異なるレスポンスを同時に送出することが回避され、それらのレスポンス同士がバス上で衝突しない。こうして、上記の複合入出力装置は、第一の入出力部又は第二の入出力部のいずれか一方だけを含む入出力装置の単体と同様な一つの入出力装置として、ホストにより良好に認識される。
【0036】
上記の複合入出力装置では第一の入出力部と第二の入出力部とのそれぞれが、(A) ホストからのコマンドを解読し、そのコマンドに対するレスポンスをホストへ送出するためのコマンド解読部;
(B) 自己の属する入出力部の状態を他の入出力部へ通知するための状態通知部;及び、
(C) 他の入出力部の状態通知部から入力された他の入出力部の状態に応じ、自己の属する入出力部のコマンド解読部よるレスポンスを抑制するためのレスポンス抑制部;
を有しても良い。それにより、二つの入出力部が相互の状態を直接監視し、正確に把握できる。その結果、それぞれの入出力部が自己のレスポンスを返信すべきか、又は抑制すべきかを、適切に判断できる。
【0037】
上記の他に、第一の入出力部と第二の入出力部とのそれぞれが、
(A) 上記のコマンド解読部;
(B) コマンドの履歴を記憶し、その履歴に基づき他の入出力部の状態を推測するための状態推測部;及び、
(C) 状態推測部により推測された他の入出力部の状態に応じ、自己のコマンド解読部によるレスポンスを抑制するためのレスポンス抑制部;
を有しても良い。ここで、入出力部の状態はコマンドに従い一般に遷移する。更に、例えば電源投入等によりリセットされた時の状態は、通常単一である。従って、リセット以降の状態は、コマンドの履歴から容易に推測される。
二つの入出力部は相互の状態を推測し、正確に把握できる。その結果、それぞれの入出力部が、自己のレスポンスを返信すべきか、又は抑制すべきかを、適切に判断できる。
【0038】
上記の複合入出力装置では、
(A) 第一のコマンド群に属するコマンドに対し、第一の入出力部がレスポンスを送出し、第二の入出力部がレスポンスを抑制し;
(B) 第二のコマンド群に属するコマンドに対し、第一の入出力部がレスポンスを抑制し、第二の入出力部がレスポンスを送出しても良い。それにより、レスポンス同士の衝突が回避され、コマンドに対し適切なレスポンスがホストへ返信される。
【0039】
上記の複合入出力装置では更に、第一のコマンド群と第二のコマンド群との間の共通コマンドに対し、第一の入出力部がレスポンスを送出し、第二の入出力部がレスポンスを抑制しても良い。
二つの入出力部の状態は一般に異なるので、同じコマンドに対しそれぞれのレスポンスは一般に異なる。しかし、二つの入出力部が、例えば同時にリセットされるとき等では、同時に共通の状態であり得る。そのとき、共通コマンドに対しては、いずれの入出力部のレスポンスが採用されても良い。
そのような状況で、上記の複合入出力装置は、共通コマンドに対し応答する入出力部を一方に固定する。それにより、共通コマンドに対するレスポンスの選択処理を省略し、共通コマンドに対する応答時間を短縮できる。
【0040】
上記の複合入出力装置では、入出力部のいずれか一方がアクティブでないとき、他方の入出力部がコマンドに対しレスポンスを送出しても良い。
ここで、「入出力部がアクティブでない」とは、入出力部が実質上全てのコマンドに対し、NAKを含めどのようなレスポンスも送出しない状態であることをいう。例えば、入出力部が停止しているとき、その入出力部はアクティブではない。
一方の入出力部がアクティブでないとき、その入出力部はレスポンスを送出しない。しかし、他方の入出力部が代わりにレスポンスを送出する。こうして、上記の複合入出力装置は、ホストとの間でのコマンド/レスポンス通信を良好に維持できる。
【0041】
上記の複合入出力装置では、ホストは、第一の機能部と第二の機能部とのいずれか一方だけを使用するとき、他方の機能部に接続された入出力部をアクティブでない状態へ遷移させても良い。そのとき、ホストはその入出力部に対し、接続された機能部への電力供給を停止するように指示できる。更に、その入出力部自体を停止させても良い。それにより、非使用部分での電力消費を低減できる。
【0042】
上記の複合入出力装置では第一の入出力部と第二の入出力部とのそれぞれが、(A) 共通のアドレスを含む共通の認識情報を記憶するためのレジスタ;及び、(B) レジスタの更新時、その更新内容を他の入出力部へ通知するためのレジスタ更新通知部;
を含んでも良い。又は、レジスタ更新通知部の他に、
(C) 他の入出力部のレスポンスを監視し、そのレスポンスに基づき、他の入出力部でのレジスタの内容を推定するためのレジスタ推定部;
を含んでも良い。
それにより、ホストはいずれか一方の入出力部のレジスタを更新するだけで、他方の入出力部のレジスタを実質的に更新できる。更に、二つの入出力部は共通の認識情報を矛盾なく共有できる。例えば、ホストがいずれか一方の入出力部に対してのみ初期設定を行い、アドレスを設定するとき、他方の入出力部が同じアドレスを共有できる。従って、その他方の入出力部がホストからのアクセスを識別できる。こうして、ホストは、複合入出力装置内のそれぞれのユニットへのアクセスを良好に維持できる。
【0043】
【発明の実施の形態】
以下、本発明の最適な実施の形態について、その好ましい実施例を挙げて、図面を参照しつつ説明する。
【0044】
《実施例1》
図1は、本発明の実施例1による複合I/Oカード10Aについて、ホストHとの間のデータ交換を示すブロック図である。
この複合I/Oカード10Aはメモリユニット1AとI/Oユニット2Aとを有し、バス3でホストHと接続される。ここで、バス3は、少なくとも一本のデータ線DAT、クロック線CLK、電源線VDD、グラウンド線VSS、及びコマンド線CMDを含む。図1では複合I/Oカード10Aのみが示されるが、ホストHへはその他の同様なカード型入出力装置が、バス3と同様な物理的接続部で同時に接続されても良い。
複合I/Oカード10AはホストHから、電源線VDDとグラウンド線VSSとを通し、電力を供給される。
【0045】
メモリユニット1Aはメモリ部12を有する。メモリ部12は内部にフラッシュメモリを含み、それに対するデータの入出力を制御する。メモリユニット1Aはメモリ部12により、ホストHからのデータをフラッシュメモリへ記憶し、又は、そのフラッシュメモリのデータをホストHへ提供する。
【0046】
I/Oユニット2Aは内部の様々な機能部、又は外部の様々な情報処理機器へホストHを接続するためのインタフェースとして機能する。例えば、I/Oユニット2Aは無線通信部22Aと撮像部22Bとを含む。無線通信部22Aは、例えば外部の無線LANへホストHを接続し、無線LANとホストHとの間の無線によるデータ交換を実現する。撮像部22Bは例えばCCD等の撮像素子を含み、外部から取り入れた光学像を画像信号へ変換し、ホストHへ提供する。その他に、I/Oユニット2Aは、例えば外部の携帯電話へ接続され、ホストHによる携帯電話網へのアクセスを可能にしても良い。更に、例えば外部のディジタルカメラへ接続され、
その画像データをホストHへ提供しても良い。
【0047】
メモリユニット1AとI/Oユニット2Aとはそれぞれ、同様な構成の入出力部11Aと21Aとを含む。それぞれの入出力部は、共通のデータ線DAT、共通のクロック線CLK、及び共通のコマンド線CMDへ結線され、それらを通しホストHとの間でデータを交換する。
そのデータ交換は同期通信で実行される。すなわち、クロック線CLKを通しホストHから転送されたクロックと同期し、データが送受信される。そのとき、データは、データ線DATのいずれかを通しシリアルに、又は全データ線DATを通しパラレルに転送される。
【0048】
データ通信は更に、コマンド線CMDを通したコマンド/レスポンス方式により制御される。ここで、コマンド及びレスポンスは、上記のクロックに同期して交換される。
メモリユニット1A用の読み出し命令又は書き込み命令(以下、R/W命令と略す)は、従来のメモリカード用のものと同じである。一方、I/Oユニット2A用のR/W命令は、従来のI/Oカード用のものと同じである。
【0049】
メモリユニット1AとI/Oユニット2Aとのそれぞれの入出力部11Aと21Aとは、データ線DAT、クロック線CLK、及びコマンド線CMDを共用する。そのとき、ホストHから送出されたデータとコマンドとは、両方の入出力部へ実質上同時に到達する。
一方、ホストHからの共通のコマンドに対しそれぞれの入出力部が同時にレスポンスを返すとき、それらのレスポンスは共通のコマンド線CMDを通る。それにより、両方のレスポンスはワイヤードORを通し、ホストHへ伝送される。実施例1による複合I/Oカード10Aでは、それぞれの入出力部のレスポンスが異なるとき、以下の構成によりレスポンスの一方が抑制される。その結果、レスポンスの衝突が回避され、適切なレスポンスがホストHへ送出される。
【0050】
メモリユニット1Aの入出力部11Aは、コマンド解読部13、レジスタ14、状態通知部15A、レスポンス抑制部16A、及びレジスタ更新通知部17Aを含む。同様に、I/Oユニット2Aの入出力部21Aは、コマンド解読部23、レジスタ24、状態通知部25A、レスポンス抑制部26A、及びレジスタ更新通知部27Aを含む。それぞれの構成について、両方の入出力部は共通する。
以下、メモリユニット1Aの入出力部11Aについて構成の詳細を説明する。それらの説明は、I/Oユニット2Aの入出力部21Aについても同様である。
【0051】
コマンド解読部13は、コマンド線CMDを通しホストHからコマンドを受信し解読する。更に、その解読されたコマンドの内容と入出力部11Aの状態とに応じレスポンスを決定する。
コマンド解読部13はコマンドに対するレスポンスを、例えば次のように決定する。
ホストHからのコマンドには、メモリユニット1A用のもの、I/Oユニット2A用のもの、及び両ユニットで共通のものがある。受信されたコマンドがいずれのユニット用のものであるのかを、コマンド解読部13はまず判断する。
そのコマンドがいずれのユニット用であるのかを識別できないとき、コマンド解読部13はNAKをレスポンスとして決定する。
そのコマンドがI/Oユニット2A用であるとき、コマンド解読部13は受信エラーの有無に関わらず、NAKをレスポンスとして決定する。
【0052】
そのコマンドがメモリユニット1A用であるとき、そのコマンドがその受信時での入出力部11Aの状態で受理され得るものであるか否かを、コマンド解読部13は更に判断する。
そのコマンドがその受信時での入出力部11Aの状態では受理できないものであるとき、コマンド解読部13は受信エラーの有無に関わらず、NAKをレスポンスとして決定する。
そのコマンドが受理され得るものであり、かつそのコマンドが正常に受信されたとき、コマンド解読部13はACKをレスポンスとして決定する。更に、そのコマンドに従い所定の処理を実行し、又はそのコマンドの内容をメモリ部12へ中継する。
そのコマンドが受理され得るものであり、かつそのコマンドが正常に受信されなかったとき、コマンド解読部13はNAKをレスポンスとして決定する。
【0053】
レジスタ14は一般に複数のメモリ領域を含む。それぞれのメモリ領域は所定のデータを保持し、特定のコマンドでのみアクセスされる。
レジスタ14は例えば、カードアドレスを保持する。ここで、カードアドレスは例えば、ホストHからカード型入出力装置へのR/W命令に含まれる。入出力部11AはR/W命令の受信時、その宛先アドレスとレジスタ14により保持されたカードアドレスとを比較し、そのR/W命令が自分宛であるか否かを判断する。
複合I/Oカード10Aでは、メモリユニット1AとI/Oユニット2Aとのいずれか一方とホストHとの間でカードアドレスの設定が行われるとき、後述のように他方のカードアドレスも同様に更新される。それにより、両ユニットは共通のカードアドレスを保持する。
【0054】
入出力部11Aの状態はコマンドに応じ一般に遷移する。状態通知部15Aは、コマンド解読部13により解読されたコマンドに基づき入出力部11Aでの状態遷移を検知し、I/Oユニット2Aの入出力部21Aへ通知する。
【0055】
レスポンス抑制部16Aは、コマンド解読部13により受信されるコマンドを監視する。更に、そのコマンドの内容、メモリユニット1Aの入出力部11Aの状態、及び、I/Oユニット2Aの入出力部21Aの状態通知部25Aから通知された状態に基づき、コマンド解読部13によるレスポンスの送出の是非を判断する(以下、その判断のことをレスポンス送出判断という)。その結果、I/Oユニット2AのレスポンスをホストHへ送出すべきと判断するとき、コマンド解読部13のレスポンスを抑制する。
コマンド解読部13により決定されたレスポンスは、レスポンス抑制部16Aによる抑制を受けないときのみ、コマンド線CMDを通しホストHへ返信される。
【0056】
レジスタ更新通知部17Aは、自己の属する入出力部11A内のレジスタ14を監視する。レジスタ14のいずれかで内容が更新されるとき、レジスタ更新通知部17Aはその更新内容を、I/Oユニット2Aの入出力部21Aのレジスタ24へ通知する。それにより、メモリユニット1Aの入出力部11AとI/Oユニット2Aの入出力部21Aとでは、それぞれのレジスタ14と24とが共通の内容を保持する。
【0057】
図2は、レスポンス抑制部16Aによるレスポンス送出判断のフローチャートである。
コマンド解読部13が一つのコマンドCを受信し、解読する。
コマンド解読部13によるコマンドCの解読結果に基づき、コマンドCがいずれの入出力部用のものであるのかを、レスポンス抑制部16Aは識別する(ステップD1)。
コマンドCが自己の属するメモリユニット1A用のものであるとき、レスポンス抑制部16Aはコマンド解読部13によるレスポンスの送出を認める(ステップR1)。
【0058】
コマンドCがI/Oユニット2A用のものであるとき、又はいずれの入出力部のものであるか識別できないとき、レスポンス抑制部16Aの判断はステップD2へ分岐する。ステップD2では、I/Oユニット2Aの入出力部21Aがアクティブであるか否か、すなわち、コマンドCに対しレスポンスを送出し得るか否かを、レスポンス抑制部16Aは、I/Oユニット2Aの状態通知部25Aから通知された状態に基づき判断する。
I/Oユニット2Aの入出力部21Aがアクティブでないとき、レスポンス抑制部16Aはコマンド解読部13によるレスポンスの送出を認める(ステップR1)。逆にアクティブであるとき、レスポンス抑制部16Aはコマンド解読部13のレスポンスを抑制する(ステップR2)。
【0059】
コマンドCが両ユニットの共通コマンドであるとき、レスポンス抑制部16AはI/Oユニット2Aの入出力部21Aの状態を、その状態通知部25Aからの通知に基づきチェックする(ステップD3)。それにより、両ユニットの入出力部の状態を比較し、いずれの入出力部のレスポンスを優先させるか、判断する。
その結果、メモリユニット1Aの入出力部11Aのレスポンスを優先すべきと判断するとき、コマンド解読部13によるレスポンスの送出を認める(ステップR1)。逆に、I/Oユニット2Aの入出力部21Aのレスポンスを優先すべきと判断するとき、コマンド解読部13によるレスポンスを抑制する(ステップR2)。
【0060】
両ユニットの入出力部の状態が実質的に同等で、共通コマンドに対しいずれの入出力部のレスポンスを送出しても良いとき、レスポンス抑制部16Aは更に、共通コマンドに対するレスポンスの送出についての優先権の有無をチェックする(ステップD4)。
ここで、その優先権を持つ入出力部とは、共通コマンドに対しレスポンスを優先的に送出するように予め設定された入出力部を意味する。優先権は、例えば複合I/Oカード10Aの製造時に、二つのユニットのいずれか一方の入出力部のみに対し設定される。
メモリユニット1Aの入出力部11Aが上記の優先権を持つとき、レスポンス抑制部16Aはコマンド解読部13によるレスポンスの送出を認める(ステップR1)。逆に優先権を持たないとき、コマンド解読部13によるレスポンスを抑制する(ステップR2)。
【0061】
メモリユニット1Aの入出力部11AとI/Oユニット2Aの入出力部21Aとは、ホストHとの間の物理的な接続部、特にバス3を共有する(図1参照)。従って、ホストHは複合I/Oカード10Aを、従来と同様な一つのカード型入出力装置としてアクセスする。それにより、ホストHのコマンドは、複合I/Oカード10A内の各ユニットへ個別には送出されず、両ユニットの入出力部により同時に受信される。その結果、両ユニットの入出力部間で、レスポンスの送出についての競合が一般に生じる。複合I/Oカード10Aでは、以下のように、両入出力部が相互に状態を通知し合い、それぞれの状態に応じ、レスポンスの送出について調停を行う。それにより、上記の競合が解消され、ホストHへは適切な一つのレスポンスが送出される。それ故、ホストHは複合I/Oカード10Aを従来のカード型入出力装置と同様に良好に認識でき、それぞれのユニットへのアクセスを良好に維持できる。
【0062】
以下、ホストHによる複合I/Oカード10A内の各ユニットに対する初期設定を例に挙げ、通知された入出力部の状態に応じた、レスポンスの送出についての調停動作を具体的に説明する。
図3は、複合I/Oカード10Aについて、メモリユニット1Aの入出力部11AとI/Oユニット2Aの入出力部21Aとのそれぞれの初期設定時の状態遷移を示す図である。初期設定時、メモリユニット1Aの入出力部11AとI/Oユニット2Aの入出力部21Aとはそれぞれ、状態遷移について、従来のカード型入出力装置の入出力部と共通する。
【0063】
入出力部は、ホストHから電源を投入されるとき(ステップS0)、又はホストHからリセット命令を受信するとき(ステップC0)、アイドル状態ST1へ遷移する。アイドル状態ST1の入出力部は、初期化命令を含む所定のコマンド群に対してのみレスポンスを送出し、他のコマンドに対してはレスポンスを送出しない。
【0064】
入出力部は、ホストHから初期化命令を受信するとき(ステップC1)、接続された機能部へ初期化を指示すると共に、自分自身を初期化する(ステップS1)。
ここで、ホストHは所定のコマンドにより、入出力部をアイドル状態ST1からインアクティブ状態ST5へ遷移させても良い。インアクティブ状態ST5の入出力部はホストHからの全てのコマンドに対しレスポンスを送出しない。
【0065】
初期化完了時、入出力部はスタンバイ状態ST2へ遷移する。スタンバイ状態ST2の入出力部は、ホストHからカードアドレス送出命令を受信する(ステップC2)ごとにカードアドレスを更新し、ホストHへ返信する。
ここで、入出力部はカードアドレスを、例えば一定のステップずつインクリメントして更新し、又は所定の範囲内でランダムに更新する。
ホストHは、返信されたカードアドレスを登録済のものと比較し、それらに重複がないとき、そのカードアドレスをその入出力部のものとして設定し、登録する。
カードアドレスの設定により、一つのカードに対する初期設定が終了する。
【0066】
ホストHは、初期設定を終えたカード型入出力装置の中からデータ転送対象を一つ選択し、カード選択命令を発行する。ここで、カード選択命令は宛先アドレスとして、登録済のカードアドレスを含む。初期設定を終えたスタンバイ状態ST2の入出力部は、カード選択命令の受信時(ステップC3)、その宛先アドレスと自身のカードアドレスとを比較する。両アドレスが一致するとき、入出力部はデータ転送可能状態ST3へ遷移する。
データ転送可能状態ST3の入出力部では、ホストHからのR/W命令の受信が可能である。その入出力部は、R/W命令の受信(ステップC4)により、ホストHとの間でデータ転送を開始する。
【0067】
図4と図5とは複合I/Oカード10Aの初期設定のフローチャートである。それぞれの図の(a)はホストHについてのフローチャートであり、(b)は複合I/Oカード10A内の二つの入出力部11Aと21Aとのそれぞれについてのフローチャートである。
【0068】
図4は、初期設定開始からメモリユニット1AとI/Oユニット2Aとの初期化完了までのフローチャートである。
図4の(a)に示されるように、ホストHは複合I/Oカード10Aへ電源を投入し(ステップS0)、又はリセット命令を発行し(ステップC0A又はC0B)、初期設定を開始する。
ここで、ホストHによる電源投入は、ホストH自体のパワーオンリセットによるものでも、ホストHのスロットへの複合I/Oカード10Aの活線挿入によるものでも良い。
【0069】
電源投入時、複合I/Oカード10A内の二つの入出力部11Aと21Aとの両方がリセットされる。
一方、リセット命令はメモリカードとI/Oカードとで異なるので、メモリカード用リセット命令の発行時(ステップC0A)ではメモリユニット1Aだけがリセットされ、I/Oカード用リセット命令の発行時(ステップC0B)ではI/Oユニット2Aだけがリセットされる。ホストHは、メモリユニット1AとI/Oユニット2Aとのいずれか一方のみをリセットするときは、目標のユニットに対応するリセット命令のみを発行する。そのとき、リセット命令を受けないユニットは元の状態を維持する。
【0070】
電源投入でのリセットでは(ステップS0)、例えば、I/Oユニット2Aがまずリセットされる。一方、リセット命令でのリセットでは、ホストHは、例えば、I/Oユニット2A用のリセット命令をまず発行する(ステップC0A)。すなわち、ホストHがI/Oユニット2Aのリセットをスキップしない限り、初期設定ではI/Oユニット2Aが先にリセットされる。
リセットにより、I/Oユニット2Aの入出力部21Aは、図4の(b)に示されるように、アイドル状態ST1へ遷移する。
【0071】
ホストHは、I/Oユニット2Aへ初期化命令を発行し、その初期化を指示する(ステップS1A)。その初期化命令の受信時(ステップC1)、I/Oユニット2Aの入出力部21Aは初期化を開始する(ステップS1)。その初期化は、I/Oユニット2A内の無線通信部22A、撮像部22B、及びその他の機能部、並びに、I/Oユニット2Aへ接続された外部の情報処理機器の初期化を含む。初期化処理の間、入出力部21Aは更に、レジスタ24内のビジーフラグをオンする。ビジーフラグは例えばレジスタ24内の所定の1ビットデータとして定義される。
【0072】
ここで、ホストHはI/Oユニット2Aに対し初期化命令を発行せず、I/Oユニット2Aの初期化をスキップしても良い。そのとき、I/Oユニット2Aの入出力部21Aはアイドル状態ST1のまま維持される。入出力部21Aは内部の状態通知部25Aにより、アイドル状態ST1に維持されることをメモリユニット1Aの入出力部11Aへ通知する(ステップS4)。アイドル状態ST1の入出力部21Aは、初期化命令の受信(ステップC1)まで、他のコマンドに対しレスポンスを送出しない。
【0073】
ホストHは更に、I/Oユニット2Aの入出力部21Aのアイドル状態ST1を、インアクティブ状態ST5へ遷移させても良い。そのとき、入出力部21Aはインアクティブ状態ST5であることをメモリユニット1Aの入出力部11Aへ通知する(ステップS5)。インアクティブ状態ST5の入出力部21Aはレスポンスを一切送出しない。
【0074】
I/Oユニット2Aの入出力部21Aは、アイドル状態ST1又はインアクティブ状態ST5であるとき、無線通信部22A及び撮像部22B等の機能部への電力供給を停止しても良い。それにより、ホストHがI/Oユニット2A内、又はそれに接続された機能部を使用しないとき、それらの待機時での電力消費を低減できる。
【0075】
I/Oユニット2Aでの初期化処理の間、ホストHはポーリングにより、I/Oユニット2Aのビジーフラグを監視する(ステップS2A)。そのビジーフラグがオンである間、ホストHは新たなコマンドを発行しない。
I/Oユニット2Aの入出力部21Aは初期化完了時、ビジーフラグをオフする(ステップS3)。それにより、入出力部21Aはスタンバイ状態ST2へ遷移する。そのとき、入出力部21Aは状態通知部25Aにより、その状態遷移をメモリユニット1Aの入出力部11Aへ通知する(ステップS11)。
【0076】
電源投入(ステップS0)では、続いてメモリユニット1Aがリセットされる。一方、リセット命令によるリセットでは、ホストHがメモリユニット1A用のリセット命令を発行するとき(ステップC0B)、メモリユニット1Aがリセットされる。
以後、ホストHがメモリユニット1Aへの初期化命令の発行(ステップS1B)をスキップしない限り、上記のI/Oユニット2Aの初期化と同様に、メモリユニット1Aの初期化が実行される。
ここで、リセット又は初期化を通し遷移したメモリユニット1Aの入出力部11Aの状態は、内部の状態通知部15Aにより、I/Oユニット2Aの入出力部21Aへ通知される。こうして、それぞれのユニットの入出力部は相互の状態を把握する。
【0077】
メモリユニット1Aでの初期化処理の間、ホストHはポーリングにより、メモリユニット1Aのビジーフラグを監視する(ステップS2B)。そのビジーフラグがオフされた時、ホストHはカードアドレスの設定処理を開始する。メモリユニット1Aのリセット又は初期化がスキップされたときは、I/Oユニット2Aのビジーフラグがオフされた時、ホストHはカードアドレスの設定処理を開始する。
【0078】
図5は、カードアドレスの設定から初期設定の終了までのフローチャートである。
スタンバイ状態ST2の入出力部は、ホストHからのカードアドレス送出命令、又はカード選択命令を待つ(ステップS4)。ここで、カードアドレス送出命令とカード選択命令とは、メモリユニット1AとI/Oユニット2Aとで共通のコマンドである。
【0079】
ホストHはスタンバイ状態ST2の入出力部へ、カードアドレス送出命令を発行する(ステップS6)。そのカードアドレス送出命令は、メモリユニット1Aの入出力部11AとI/Oユニット2Aの入出力部21Aとの両方により、実質上同時に受信される。そのとき、それぞれの入出力部がいずれもアクティブであれば、レスポンスの送出について競合が生じる。
【0080】
複合I/Oカード10Aは上記の競合を次のように解消する。
スタンバイ状態ST2にあるメモリユニット1Aの入出力部11A又はI/Oユニット2Aの入出力部21Aでは、カードアドレス送出命令ともカード選択命令とも異なるコマンドの受信時、それぞれのレスポンス抑制部16A又は26Aが、図2のフローチャートに従い、レスポンス送出判断を行う(ステップS12)。それにより、適切なレスポンスが一つ選択され、ホストHへ返信される。一方、スタンバイ状態ST2にある入出力部は、再びホストHからのコマンドを待つ(ステップS4)。
コマンドが識別できないときも、同様である。
【0081】
スタンバイ状態ST2にある入出力部がカードアドレス送出命令を受信するとき、そのレスポンス抑制部は、図2のフローチャートに従い、レスポンス送出判断を行う(ステップS13)。
レスポンスの送出を認めるとき(ステップR1)、入出力部はまず、レジスタに保持されたカードアドレスを更新する(ステップS7)。
そのカードアドレスの更新は、その入出力部内のレジスタ更新通知部により、他方の入出力部へ通知される(ステップS14)。それにより、両方の入出力部が共通のカードアドレスを保持する。
入出力部は更に、更新されたカードアドレスを、カードアドレス送出命令に対するレスポンスとして、ホストHへ送出する(ステップS8)。その送出後、入出力部はホストHからのコマンドを待つ(ステップS4)。
【0082】
ホストHは、複合I/Oカード10Aからカードアドレスを、カードアドレス送出命令のレスポンスとして受け取る。そのとき、そのカードアドレスを、他のカード型入出力装置に対し既に設定され、登録されたカードアドレスと比較する(ステップS9)。それらのカードアドレスの間で重複があるときは、ホストHは処理をステップS6へ戻し、カードアドレス送出命令を再び発行する。それにより、複合I/Oカード10A内のそれぞれの入出力部は上記のステップS4、S12、S13、S7、S14、及びS8を繰り返し、新たなカードアドレスをホストHへ返信する。
【0083】
ホストHは、複合I/Oカード10Aにより送出されたカードアドレスと、ホストHへ登録済のカードアドレスとの間で重複がなくなるまで、ステップS6とS9とのループを繰り返す。それらのカードアドレスの間に重複がなくなったとき、ホストHは、複合I/Oカード10Aから送出されたカードアドレスを複合I/Oカード10Aのものとして設定し、登録する(ステップS10)。こうして、複合I/Oカード10Aのカードアドレスがユニークに設定され、初期設定が終了する。
【0084】
ホストHは、初期設定を終えた複合I/Oカード10Aをデータ転送対象として選択するとき、複合I/Oカード10Aに対しカード選択命令を発行する。ここで、そのカード選択命令は宛先アドレスとして、複合I/Oカード10Aのカードアドレスを含む。複合I/Oカード10Aの二つの入出力部11Aと21Aとの内、初期設定を終え、スタンバイ状態ST2にあるものは、カード選択命令の受信時、その宛先アドレスと自身のカードアドレスとを比較する。両アドレスが一致するとき、その入出力部はデータ転送可能状態ST3へ遷移する。
【0085】
ホストHは更に、複合I/Oカード10Aに対しR/W命令を発行する。ここで、R/W命令はメモリカード用とI/Oカード用とで異なるコマンドIDを持つ。従って、そのR/W命令が所属のユニット用であるか否かを、それぞれのコマンド解読部は識別できる。
【0086】
ホストHは、例えばメモリユニット1Aとの間でデータ転送を行うとき、複合I/Oカード10Aに対しメモリカード用のR/W命令を発行する。メモリユニット1Aのコマンド解読部13は、そのR/W命令の正常受信時、ACKを送出する。一方、I/Oユニット2Aのコマンド解読部23は、そのR/W命令の受信時、NAKを設定する。I/Oユニット2Aのレスポンス抑制部26Aはそのとき、メモリユニット1Aの入出力部11Aの状態をチェックする。それにより、メモリユニット1Aがアクティブであるとき、コマンド解読部23のレスポンスを抑制する。メモリユニット1Aがアクティブでない等、R/W命令に対しレスポンスを送出できない状態にあるときは、コマンド解読部23によるレスポンスの送出を認める。こうして、R/W命令に適切に対応したレスポンスだけが、ホストHへ返信される。
【0087】
以上の通り、実施例1による複合I/Oカード10Aでは、メモリユニット1Aの入出力部11AとI/Oユニット2Aの入出力部21Aとが相互の状態を監視する。レスポンスの送出について両入出力部の間で競合が生じるとき、それぞれの入出力部の状態に応じ、一方のレスポンスが抑制され、適切なレスポンスのみが送出される。こうして、レスポンス同士の衝突が回避されるので、ホストHは従来と同様なコマンド/レスポンス通信により、複合I/Oカード10Aを一枚のカード型入出力装置として良好に認識できる。
【0088】
《実施例2》
図6は、本発明の実施例2による複合I/Oカード10Bについて、ホストHとの間のデータ交換を示すブロック図である。
この複合I/Oカード10Bは実施例1による複合I/Oカード10Aと同様、メモリユニット1BとI/Oユニット2Bとを有する。しかし、メモリユニット1BとI/Oユニット2Bとでは、実施例1によるものと比べ、それぞれの入出力部11Bと21Bとが異なる。図6では、実施例1による複合I/Oカード10Aと同様な構成に対し、図1と同じ符号を付す。更に、それらの同様な構成の説明は実施例1でのものを援用する。
【0089】
メモリユニット1Bの入出力部11Bは、コマンド解読部13、レジスタ14、状態推測部15B、レスポンス抑制部16B、及びレジスタ推定部17Bを含む。同様に、I/Oユニット2Bの入出力部21Bは、コマンド解読部23、レジスタ24、状態推測部25B、レスポンス抑制部26B、及びレジスタ推定部27Bを含む。それぞれの構成について、両方の入出力部は共通する。以下、メモリユニット1Bの入出力部11Bについて構成の詳細を説明する。
【0090】
状態推測部15Bは、コマンド解読部13により受信されたコマンドの履歴を記憶する。コマンドはメモリユニット1BとI/Oユニット2Bとの両方へ通知されるので、その履歴は両ユニットで共通である。従って、その履歴に基づき、状態推測部15BはI/Oユニット2Bの入出力部21Bの状態を推測する。
【0091】
レスポンス抑制部16Bは、状態推測部15Bにより推測された状態に基づき、ホストHのコマンドに対するI/Oユニット2Bの応答動作を判断する。I/Oユニット2BのレスポンスをホストHへ送出すべきと判断するとき、メモリユニット1B内のコマンド解読部13のレスポンスを抑制する。こうして、メモリユニット1Bの入出力部11BとI/Oユニット2Bの入出力部21Bとの間でレスポンスの送出についての競合が解消され、レスポンス同士のコマンド線CMD上での衝突が回避される。
【0092】
レスポンス抑制部16Bは、実施例1のレスポンス抑制部16Aと同様に、レスポンス送出判断を行う(図2参照)。実施例1によるレスポンス送出判断と同様な部分については、実施例1での説明を援用する。
但し、ステップD2とステップD3とは、次の点で実施例1によるレスポンス送出判断と異なる。
ステップD2では、I/Oユニット2Aの入出力部21Aがアクティブであるか否かを、レスポンス抑制部16Bは、状態推測部15Bにより推測された状態に基づき判断する。
ステップD3では、レスポンス抑制部16Aは状態推測部15Bによる推測に基づき、I/Oユニット2Aの入出力部21Aの状態をチェックする。
【0093】
I/Oユニット2Bのコマンド解読部23により送出されたレスポンスは、コマンド線CMDとの節点(例えばワイヤードOR)を通し、メモリユニット1Bのコマンド解読部13へも到達する。レジスタ推定部17Bは、コマンド解読部13により受信されたI/Oユニット2Bのレスポンスを監視する。それにより、I/Oユニット2Bの入出力部21Bでのレジスタ24の更新を検知する。更に、そのレスポンスからレジスタ24の更新内容を推定し、メモリユニット1Bのレジスタ14を同様に更新する。こうして、メモリユニット1Bの入出力部11BとI/Oユニット2Bの入出力部21Bとでは、それぞれのレジスタ14と24とが共通の内容を保持する。
【0094】
特に、I/Oユニット2Bの入出力部21Bがスタンバイ状態ST2にあるとき、その入出力部21Bのレスポンスをレジスタ推定部17Bは監視し、入出力部21Bでのカードアドレスの更新を検知する。更に、更新されたカードアドレスを推定し、レジスタ14に保持されるカードアドレスを書き換える。こうして、I/Oユニット2Bのレジスタ24でカードアドレスが更新され、ホストHへ送出されるごとに、メモリユニット1Bのレジスタ14でもカードアドレスが同様に更新される。その結果、両ユニットが共通のカードアドレスを保持する。
【0095】
以下、ホストHによる複合I/Oカード10B内の各ユニットに対する初期設定を例に挙げ、推測された入出力部の状態に応じた、レスポンスの送出についての調停動作を具体的に説明する。
ここで、メモリユニット1Bの入出力部11BとI/Oユニット2Bの入出力部21Bとのそれぞれの初期設定時の状態遷移は、実施例1によるメモリユニット1Aの入出力部11AとI/Oユニット2Aの入出力部21Aと共通である。すなわち、その状態遷移については、従来のカード型入出力装置の入出力部と共通する。それ故、その説明は実施例1によるものを援用する(図3参照)。
【0096】
図7は、実施例2による複合I/Oカード10B内のそれぞれのユニットの入出力部について、その初期設定のフローチャートである。ここで、実施例1によるフローチャートと同様なステップに対しては、図3〜4と同じ符号を付す。更に、それらの説明は実施例1でのものを援用する。
一方、ホストHについての初期設定のフローチャートは、実施例1によるものと共通である。すなわち、ホストHは実施例2による複合I/Oカード10Bに対する初期設定を、実施例1による複合I/Oカード10Aに対するものと全く同様に実行する。
【0097】
実施例2による複合I/Oカード10Bに対する初期設定について、実施例1によるものとは異なる部分を、以下説明する。
メモリユニット1B又はI/Oユニット2Bのいずれか、又はその両方がリセットされるとき、リセットされた入出力部ではコマンドの履歴がクリアされる。従って、その入出力部では、状態推測部が他の入出力部の状態を推測しない。特に、電源投入時(ステップS0)、二つの入出力部はいずれもリセットされるので、それらのいずれの状態推測部も、他の入出力部の状態を推測しない。
ここで、リセットされた入出力部は、実施例1のような状態通知部を持たないので、アイドル状態ST1又はインアクティブ状態ST5のいずれでも、その状態を他の入出力部へは通知できない。
【0098】
リセット命令によりいずれか一方のユニットだけがリセットされるとき(ステップC0)、他方のユニットの入出力部では、コマンドの履歴が状態推測部により保持される。その状態推測部は、他のユニットに対するリセット命令の受信時、コマンドの履歴を参照し、「他の入出力部がリセットされ、アイドル状態ST1にある」と推測する。
更に、アイドル状態ST1の入出力部をインアクティブ状態ST5へ移行させるためのコマンドの受信時、他の入出力部の状態推測部は、「他の入出力部がアイドル状態ST1からインアクティブ状態ST5へ遷移した」と推測する。
【0099】
アイドル状態ST1の入出力部は、初期化命令の受信(ステップC1)により初期化を開始する(ステップS1)。その初期化命令の受信時、他の入出力部の状態推測部は、「他の入出力部がアイドル状態ST1からスタンバイ状態ST2へ遷移した」と推測する。
【0100】
スタンバイ状態ST2にある入出力部は、カードアドレス送出命令に従いカードアドレスを更新しても(ステップS7)、更新されたカードアドレスを他の入出力部へ通知しない。しかし、他の入出力部では、レジスタ推定部が上記のように、スタンバイ状態ST2にある入出力部のレスポンスに基づき、更新されたカードアドレスを推定し、カードアドレスを同様に更新する。
特に、両ユニットの入出力部が共にスタンバイ状態ST2にあるとき、レスポンス抑制部によるレスポンス送出判断(図2参照)に基づき、優先権を持たない入出力部は、カードアドレス送出命令に対するレスポンス、すなわちカードアドレスの送出を抑制する(ステップS15)。更に、ステップS4で、ホストHからのコマンドと共に、優先権を持つ入出力部から送出されるレスポンスを監視する。そのレスポンスから、優先権を持つ入出力部でのカードアドレスの更新が検知されるとき、レジスタ推定部が上記のように、カードアドレスを同様に更新する(ステップS17)。
【0101】
スタンバイ状態ST2にある入出力部は、ステップS4でカード選択命令を受信するとき、データ転送可能状態ST3へ遷移する。従って、いずれの入出力部も、カード選択命令の受信時、「スタンバイ状態ST2にある他の入出力部がデータ転送可能状態ST3へ遷移した」と推測する。
【0102】
コマンドの履歴に基づく他の入出力部の状態の推測、及び、他の入出力部のレスポンスの監視を通したレジスタの更新は、上記の初期設定でのものと同様に、データ転送可能状態以降の入出力部でも行われる。
【0103】
以上の通り、実施例2による複合I/Oカード10Bでは、メモリユニット1Bの入出力部11BとI/Oユニット2Bの入出力部21Bとがコマンドの履歴を記憶し、それに基づき相互の状態を推測する。ホストHのコマンドに対するレスポンスが競合するとき、それぞれの入出力部の状態に応じ、一方のレスポンスが抑制され、適切なレスポンスのみが送出される。それにより、ホストHは複合I/Oカード10Bを、一枚のカード型入出力装置として良好に認識できる。
【0104】
実施例2による複合I/Oカード10Bでは、実施例1による複合I/Oカード10Aと異なり、メモリユニット1BとI/Oユニット2Bとの間の配線が少ない。従って、ハードウエアが比較的簡単な構成であるので、回路規模を低減できる。
その反面、それぞれの入出力部による他の入出力部の状態の把握については、実施例1のような直接的監視が確実である。
【0105】
本発明による複合I/Oカードは、上記の実施例による構成の他に、次のような構成を持っても良い。
例えば、実施例1による構成で、レジスタ更新通知部を実施例2と同様なレジスタ推定部に置換しても良い。逆に、実施例2による構成で、レジスタ推定部を実施例1と同様なレジスタ更新通知部に置換しても良い。それらの構成でも、ホストのコマンドに対するレスポンスが競合するとき、それぞれの入出力部の状態に応じ、一方のレスポンスを抑制し、適切なレスポンスのみを送出できる。それにより、ホストはその複合I/Oカードを、一枚のカード型入出力装置として良好に認識できる。
以上のことは、当業者であれば、上記の実施例の説明に基づき、容易に理解できるであろう。
【0106】
【発明の効果】
本発明による複合入出力装置は、例えば二つの入出力部を有する。それらの入出力部は、共通のバスでホストへ接続され、共通のアドレスでアクセスされる。特に、ホストのコマンドは、いずれの入出力部宛であるかに関わらず、両方の入出力部へ到達する。それぞれの入出力部は、相互の状態に応じ、コマンドに対するレスポンスを送出し、又は抑制する。それにより、それぞれの入出力部のレスポンスの内、いずれか適切な一方だけがホストへ返信され、それらのレスポンス同士がバス上で衝突しない。こうして、この複合入出力装置は、二つの入出力部のいずれか一方だけを含む従来の入出力装置と同様な一つの入出力装置として、ホストにより良好に認識される。
【0107】
上記の複合入出力装置では、二つの入出力部が相互の状態を直接監視しても良い。その他に、それぞれの入出力部がコマンドの履歴を保持し、それに基づき相互の状態を推測しても良い。上記の監視及び推測のいずれでも、それぞれの入出力部が相互のレスポンスの内容を正確に把握できる。その結果、それぞれの入出力部がいずれのレスポンスを返信すべきかを、適切に判断できる。
【図面の簡単な説明】
【図1】本発明の実施例1による複合I/Oカード10Aについて、ホストHとの間のデータ交換を示すブロック図である。
【図2】本発明の実施例1による複合I/Oカード10Aでの、レスポンス抑制部16Aによるレスポンス送出判断のフローチャートである。
【図3】本発明の実施例1による複合I/Oカード10A、本発明の実施例2による複合I/Oカード10B、及び、従来のカード型入出力装置のいずれの入出力部についても共通である、初期設定時の状態遷移を示す図である。
【図4】本発明の実施例1による複合I/Oカード10Aの初期設定の内、初期設定開始からメモリユニット1AとI/Oユニット2Aとの初期化完了までのフローチャートである。(a)は、ホストHについてのフローチャートであり、(b)は、複合I/Oカード10A内の二つの入出力部11Aと21Aとのそれぞれについてのフローチャートである。
【図5】本発明の実施例1による複合I/Oカード10Aの初期設定の内、図4に示される部分に続く、カードアドレスの設定から初期設定の終了までのフローチャートである。(a)は、ホストHについてのフローチャートであり、(b)は、複合I/Oカード10A内の二つの入出力部11Aと21Aとのそれぞれについてのフローチャートである。
【図6】本発明の実施例2による複合I/Oカード10Bについて、ホストHとの間のデータ交換を示すブロック図である。
【図7】本発明の実施例2による複合I/Oカード10B内のそれぞれのユニットの入出力部について、その初期設定のフローチャートである。
【図8】従来のメモリカード100とホストHとの間でのデータ交換を示すブロック図である。
【図9】従来のI/Oカード200とホストHとの間でのデータ交換を示すブロック図である。
【図10】従来のカード型入出力装置に対する初期設定のフローチャートである。(a)はホストHについてのフローチャートであり、(b)はカード型入出力装置の入出力部についてのフローチャートである。
【図11】複合I/Oカード300の内部構成の一例を示すブロック図である。
【符号の説明】
10A    複合I/Oカード
1A    メモリユニット
11A    メモリユニット1Aの入出力部
2A    I/Oユニット
21A    I/Oユニット2Aの入出力部
3     バス
DAT    データ線
CLK    クロック線
VDD    電源線
VSS    グラウンド線
CMD    コマンド線
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an input / output device for performing data communication with an external information processing device, and more particularly to a combination of two or more input / output devices sharing a bus with the information processing device.
[0002]
[Prior art]
With the rapid progress and explosive spread of information technology, various types of information processing devices are interconnected and can exchange various data. Input / output devices (interfaces) responsible for these data communications are required to have versatility for various types of information processing devices, including backward compatibility. In addition, with the demand for smaller and lighter information processing equipment as a whole, the input / output device itself is also required to be smaller and lighter.
[0003]
Among conventional input / output devices, in particular, card type devices have been frequently used in recent years. This card-type input / output device is a small card having a specific interface and several cm square. The card type input / output device is inserted into a dedicated slot provided in an information processing device (host), and exchanges data with the host. By incorporating the slot into various information processing devices, the card-type input / output device acquires versatility for various information processing devices.
[0004]
The types of the card-type input / output devices include a memory card and an I / O card. The memory card is a card-type recording medium including a semiconductor memory such as a flash memory therein. A plurality of hosts share the same memory card to realize mutual data exchange.
FIG. 8 is a block diagram showing data exchange between a conventional memory card 100 and a host H.
The memory card 100 is connected to the host H via a bus 103 including at least one data line DAT, clock line CLK, power supply line VDD, ground line VSS, and command line CMD.
The memory card 100 is supplied with power from the host H through a power supply line VDD and a ground line VSS.
[0005]
The input / output unit (also referred to as a host interface) 101 receives a command from the host H through a command line CMD and decodes the command. A response is returned to the host H via the command line CMD according to the content of the decoded command.
When the command is a read command for the flash memory, the input / output unit 101 instructs the memory unit 102 to read data from the internal flash memory. The read data is transferred to the host H through the data line DAT. At that time, the input / output unit 101 performs data transfer by synchronous communication. That is, data is transferred in synchronization with the clock transferred from the host H through the clock line CLK. At that time, data is transferred serially through one of the data lines DAT or in parallel through all data lines DAT.
[0006]
When the command is a write command to the flash memory, the input / output unit 101 receives the write target data through the data line DAT. At this time, as in the case of the above-described read, the data transfer is synchronized with the clock from the clock line CLK and is transferred serially or in parallel. The write target data received by the input / output unit 101 is transferred to the memory unit 102. Memory unit 102 stores the data in an internal flash memory.
[0007]
The I / O card connects between the host and an information processing device or a network different from the host. For example, an I / O card connects the host to a mobile phone or internal wireless communicator. Thus, the host realizes data exchange with another information processing device through the mobile phone network or the wireless LAN. In addition, I / O cards connect the host to the digital camera. This allows the host to capture, record, or edit image data captured by the digital camera.
The host can acquire various functions by being connected to various functional units such as a wireless communication unit, a mobile phone, or a digital camera through one I / O card.
[0008]
FIG. 9 is a block diagram showing data exchange between a conventional I / O card 200 and a host H.
The I / O card 200 is connected to the host H via a bus 103 similar to the memory card 100 described above. That is, the bus 103 includes a data line DAT, a clock line CLK, a power supply line VDD, a ground line VSS, and a command line CMD.
The I / O card 200 is supplied with power from the host H through the power supply line VDD and the ground line VSS similarly to the memory card 100.
[0009]
The I / O card 200 includes, for example, a wireless communication unit 202A and an imaging unit 202B as functional units. The wireless communication unit 202A connects to, for example, an external wireless LAN and exchanges data. The imaging unit 202B includes an imaging device such as a charge-coupled device (CCD), and converts an optical image taken from the outside into an image signal.
[0010]
The input / output unit 201 receives and decodes a command from the host H via the command line CMD. A response is returned to the host H via the command line CMD according to the content of the decoded command.
When the command is a data transfer command to the wireless communication unit 202A or the imaging unit 202B, the input / output unit 201 reads data from each module. The read data is transferred to the host H through the data line DAT. At this time, data transfer by the input / output unit 201 is performed by synchronous communication in accordance with the clock transferred from the host H through the clock line CLK. Data is transferred serially through one of the data lines DAT or in parallel through all data lines DAT.
[0011]
When the command is a data transmission command to the wireless communication unit 202A, the input / output unit 201 receives transmission target data from the host H through the data line DAT. At this time, as in the case of the above-described read, the data transfer is synchronized with the clock from the clock line CLK and is transferred serially or in parallel. The data received by the input / output unit 201 is transferred to the wireless communication unit 202A, and further transmitted wirelessly to the outside.
[0012]
When the host has a plurality of card-type input / output device slots, for example, the host connects and recognizes the card-type input / output device inserted into each slot one-to-one. That is, each card-type input / output device is physically specified by specifying a physical connection such as a bus. Further, through such physical identification, a different card address is assigned to each card-type input / output device. After the assignment, the host can logically specify the card-type input / output device as the communication target and the bus for connection with the card-type input / output device by the card address.
[0013]
The recognition of the conventional card type input / output device by the host is specifically executed as follows.
The host recognizes the conventional card type input / output device through its initialization. Initial setting of the card-type input / output device is started by power-on or issuance of a reset command from the host. At the time of initial setting, the input / output unit of the card type input / output device transitions to several types of states.
[0014]
Here, the state of the input / output unit is distinguished depending on whether the input / output unit performs a predetermined operation according to a specific command. In particular, commands that can be accepted by the input / output unit differ for each state.
When the input / output unit normally receives a command that can be received in that state, the input / output unit returns a response (ACK) indicating successful command reception to the host H. Further, it executes a predetermined process according to the command, or relays the content of the command to the functional unit.
The input / output unit returns a response (NAK) indicating a command reception failure to the host when the reception of the command fails or when a command that cannot be received in that state is received normally. In addition, the input / output unit does not have to send any response at that time. The host limits the response waiting time, and if no response is received within the waiting time, the host determines that the command reception by the input / output unit has failed or that an invalid command has been issued to the input / output unit.
[0015]
The state of the input / output unit generally transitions according to the command. The state of the input / output unit includes a state common to the memory card 100 and a state different from the state for the I / O card 200. Correspondingly, some commands of the host H are different from those common to both cards.
The memory card 100 and the I / O card 200 are common in a physical connection section such as the bus 103 between the host H and the host H (see FIGS. 8 and 9). As can be easily inferred from the structural commonality, the host H performs substantially the same initial setting for both cards.
[0016]
FIG. 3 is a diagram showing a state transition at the time of initial setting in an input / output unit of a conventional card type input / output device such as the memory card 100 or the I / O card 200.
At the time of initial setting, the input / output unit changes the state as follows.
The input / output unit transitions to the idle state ST1 when power is turned on from the host H (step S0) or when a reset command is received from the host H (step C0). The input / output unit in the idle state ST1 sends a response only to a predetermined command group including an initialization command, and does not send a response to other commands.
[0017]
When receiving the initialization command from the host H (step C1), the input / output unit instructs the connected function unit to perform initialization and initializes itself (step S1).
Here, the host H may change the input / output unit from the idle state ST1 to the inactive state ST5 by a predetermined command. The input / output unit in the inactive state ST5 does not send responses to all commands from the host H.
[0018]
When the initialization is completed, the input / output unit transitions to the standby state ST2. The input / output unit in the standby state ST2 updates the card address every time a card address transmission command is received from the host H (step C2), and returns it to the host H.
Here, the card address is held, for example, in a register in the input / output unit. The input / output unit increments the card address by, for example, a predetermined step, or updates the card address randomly within a predetermined range.
The host H compares the returned card address with a card address already registered for another card type input / output device (if connected). When there is no overlap between the card addresses, the host H sets and returns the returned card address as that of the input / output unit.
With the setting of the card address, the initial setting for one card is completed.
[0019]
The host H selects one data transfer target from the card-type input / output devices for which the initialization has been completed, and issues a card selection command. Here, the card selection instruction includes a registered card address as the destination address. Upon receiving the card selection command (step C3), the input / output unit in the standby state ST2 that has completed the initial setting compares the destination address with its own card address. When the addresses match, the input / output unit transitions to the data transfer enabled state ST3.
The input / output unit in the data transfer enabled state ST3 can receive a read command or a write command (hereinafter abbreviated as an R / W command) of the host H. The input / output unit starts data transfer with the host H by receiving the R / W command (step C4).
[0020]
FIG. 10 is a flowchart of an initial setting for a conventional card-type input / output device. 10A is a flowchart for the host H, and FIG. 10B is a flowchart for the input / output unit of the card-type input / output device.
The host H turns on the power to the input / output unit (step S0) or issues a reset command (step C0) to start initialization.
When power is turned on or when a reset command is received, the input / output unit is reset, and transitions to the idle state ST1.
[0021]
The host H issues an initialization command to the input / output unit and instructs the input / output unit and the functional units connected thereto to be initialized (step S1). Upon receiving the initialization command (Step C1), the input / output unit starts initialization (Step S1). During the initialization process, the input / output unit turns on the busy flag.
During the initialization process by the input / output unit, the host H monitors the busy flag of the input / output unit by polling (step S2). While the busy flag is on, the host H does not issue a new command.
When the initialization is completed, the input / output unit turns off the busy flag (step S3). Thereby, the input / output unit transitions to the standby state ST2.
[0022]
The input / output unit in the standby state ST2 waits for a card address transmission command or a card selection command from the host H (step S4). Here, the card address transmission command and the card selection command are commands common to the memory card 100 and the I / O card 200. When a command other than those commands is received or when the command reception fails, the input / output unit sends a NAK to the host H (step S5).
[0023]
The host H issues a card address transmission command to the input / output unit in the standby state ST2 (step S6).
When the card address transmission command is normally received, the input / output unit updates the card address (step S7). Further, the updated card address is transmitted to the host H as data in the ACK for the card address transmission command (step S8). After the transmission, the input / output unit waits for a command from the host H (step S4).
[0024]
The host H receives the card address as a response to the card address transmission command. The card address is compared with a card address already set and registered for another card type input / output device (step S9).
When there is an overlap between the card addresses, the host H returns the processing to step S6, and issues a card address sending command again. Accordingly, the input / output unit repeats the above steps S4, S7, and S8 in order, and returns a new card address to the host H.
[0025]
Until there is no overlap between the card address sent by the input / output unit and the card address registered in the host H, the host H continues to issue the card address sending command repeatedly. When there is no overlap between the card addresses, the host H sets and registers the card address sent from the input / output unit as that of the card-type input / output device (step S10). Thus, the card address is uniquely set for the card type input / output device, and the initial setting is completed.
The host H selects one data transfer target from the card-type input / output devices for which the initialization has been completed, and issues a card selection command. When the reception of the card selection command is identified in step S4, the input / output unit transitions to the data transfer enabled state ST3.
[0026]
[Problems to be solved by the invention]
The memory card 100 and the I / O card 200 are common at a connection portion such as the bus 103 between the host H and the memory card 100. Therefore, if a single device can be shared for those common parts, both functions of the memory card 100 and the I / O card 200 can be contained in one card. If a card-type input / output device (hereinafter, referred to as a composite I / O card) that combines both functions is realized, the host can use the conventional slot as it is and use both functions of the memory card and the I / O card. Can be used at the same time.
[0027]
FIG. 11 is a block diagram showing an example of the internal configuration of the composite I / O card 300. The composite I / O card 300 has a memory unit 301 and an I / O unit 302. The memory unit 301 includes a configuration similar to that of the conventional memory card 100, and is controlled by the same command as that for the card. The I / O unit 302 has a configuration similar to that of the conventional I / O card 200, and is controlled by the same command as that for the card. In FIG. 11, the same components as those in FIGS. 8 and 9 are denoted by the same reference numerals.
[0028]
In the above composite I / O card 300, the memory unit 301 and the I / O unit 302 are substantially simply connected to the same command line CMD. Therefore, one command from the host H is received substantially simultaneously by the input / output units 101 and 201 of both units. Each input / output unit decodes the same command independently of each other.
For example, when a common command between the memory card 100 and the I / O card 200 is normally received, the two input / output units 101 and 201 return responses according to their respective states.
In addition, for example, when the command dedicated to the memory card 100 is normally received, the input / output unit 101 of the memory unit 301 returns ACK, and the input / output unit 201 of the I / O unit 302 returns NAK.
[0029]
Command / response communication between the composite I / O card 300 and the host H is performed in synchronization with the clock on the clock line CLK. Therefore, when the two input / output units send responses to one command at the same time, the responses collide with each other on a common command line CMD, and the host responds as one response through a wired OR (Wired-OR). H is notified. The host H has to decode the respective responses of the memory unit 301 and the I / O unit 302 from the one response. That is, the host H required a process different from that of the related art for the response of the composite I / O card 300. As a result, the conventional slot cannot have upward compatibility with the composite I / O card 300.
[0030]
The composite I / O card 300 has the following problem in addition to the contention for the response between the memory unit 301 and the I / O unit 302.
The composite I / O card 300 is connected to the host H only through the same bus 103 as the conventional memory card 100 and I / O card 200. On the other hand, the host H performs an initial setting for the conventional card-type input / output device for each bus 103. Accordingly, the host H attempts to recognize the composite I / O card 300 as a single card-type input / output device similar to the memory card 100 and the I / O card 200.
[0031]
When the host H performs the same initial setting as in the related art on the composite I / O card 300, the contention about the response occurs between the memory unit 301 and the I / O unit 302 as described above. To avoid the conflict, for example, the input / output unit of one of the units may be stopped.
Here, it is assumed that the I / O unit 302 is stopped. At this time, the host H performs the same initial setting as in the related art on the memory unit 301. As a result, the memory unit 301 is recognized by the host H. In particular, a card address is set in the memory unit 301 as a card-type input / output device connected to the host H via the bus 103. Therefore, in order for the I / O unit 302 to identify an access from the host H, it is necessary to hold recognition information such as a card address set for the memory unit 301 in its own register.
However, the conventional card-type input / output device has no means for sharing recognition information such as a card address with another card-type input / output device. Therefore, the conventional functions cannot share the recognition information between the two units.
[0032]
The present invention is a composite of two or more input / output devices that share a bus with a host, and provides an input / output device that is well recognized by the host as one device similar to a single unit of each device. Aim.
[0033]
[Means for Solving the Problems]
The composite input / output device according to the present invention comprises:
(A) a first input / output unit for relaying a command belonging to a first command group among commands from a host to a first functional unit;
(B) a second input / output unit for relaying a command belonging to the second command group among the commands from the host to the second functional unit; and
(C) a bus that connects the first input / output unit and the second input / output unit to the host, respectively, and is shared by the input / output units;
Having. In the composite input / output device,
(D) the first input / output unit and the second input / output unit are accessed by the host at a common address;
(E) the first input / output unit sends or suppresses a response to the command according to the state of the second input / output unit;
(F) The second input / output unit sends or suppresses a response to the command according to the state of the first input / output unit.
[0034]
Here, the state of the input / output unit is distinguished by the input / output unit performing or not performing a predetermined operation for a specific command. In particular, commands that can be accepted by the input / output unit differ for each state.
When the input / output unit normally receives a command that can be received in that state, it returns an ACK to the host. Further, it executes a predetermined process according to the command, or relays the content of the command to the functional unit.
The input / output unit returns a NAK to the host when the reception of the command fails or when a command that cannot be received in that state is received.
As described above, the input / output unit determines a response to one command according to its state.
[0035]
In a composite input / output device that includes two input / output units, such as the above composite input / output device, the status of each input / output unit is generally different, so that the response determined by each input / output unit for one command is different. Generally different.
In the above composite input / output device, each of the input / output units further sends or suppresses a response according to the state of the other input / output unit. This prevents the two input / output units from transmitting different responses at the same time, and the responses do not collide on the bus. Thus, the above-described composite input / output device is well recognized by the host as one input / output device similar to a single input / output device including only one of the first input / output unit and the second input / output unit. Is done.
[0036]
In the above composite input / output device, each of the first input / output unit and the second input / output unit (A) decodes a command from the host and sends a response to the command to the host. ;
(B) a status notification unit for notifying the status of the input / output unit to which it belongs to other input / output units;
(C) a response suppressing unit for suppressing a response by the command decoding unit of the input / output unit to which the unit belongs according to the state of the other input / output unit input from the state notification unit of the other input / output unit;
May be provided. As a result, the two input / output units directly monitor the state of each other and can accurately grasp the state. As a result, it is possible to appropriately determine whether each input / output unit should return its own response or suppress it.
[0037]
In addition to the above, each of the first input / output unit and the second input / output unit,
(A) the command decoding unit described above;
(B) a state estimating unit for storing the history of the command and estimating the state of another input / output unit based on the history;
(C) a response suppressing unit for suppressing a response by its own command decoding unit according to the state of the other input / output unit estimated by the state estimating unit;
May be provided. Here, the state of the input / output unit generally transitions according to the command. Furthermore, the state when reset by, for example, turning on the power supply is usually a single state. Therefore, the state after the reset can be easily estimated from the command history.
The two input / output units can estimate the mutual state and grasp it accurately. As a result, each input / output unit can appropriately determine whether to return its own response or to suppress it.
[0038]
In the above composite input / output device,
(A) for a command belonging to the first command group, the first input / output unit sends a response, and the second input / output unit suppresses the response;
(B) For the command belonging to the second command group, the first input / output unit may suppress the response, and the second input / output unit may send the response. Thereby, collision between responses is avoided, and an appropriate response to the command is returned to the host.
[0039]
In the above composite input / output device, the first input / output unit sends a response to the common command between the first command group and the second command group, and the second input / output unit sends the response. It may be suppressed.
Since the states of the two input / output units are generally different, their responses to the same command are generally different. However, the two input / output units may be in a common state at the same time, for example, when they are reset at the same time. At this time, the response of any input / output unit may be adopted for the common command.
In such a situation, the composite input / output device fixes one of the input / output units that responds to the common command. Thereby, the process of selecting a response to the common command can be omitted, and the response time to the common command can be reduced.
[0040]
In the above composite input / output device, when one of the input / output units is not active, the other input / output unit may send a response to the command.
Here, "output unit is not active" input portion to substantially all of the command refers to a state where neither sending any response including NAK. For example, when an input / output unit is stopped, the input / output unit is not active.
When one input / output unit is inactive, that input / output unit does not send a response. However, the other input / output unit sends a response instead. Thus, the composite input / output device can maintain good command / response communication with the host.
[0041]
In the above composite input / output device, when the host uses only one of the first functional unit and the second functional unit, the host changes the input / output unit connected to the other functional unit to an inactive state. You may let it. At that time, the host can instruct the input / output unit to stop supplying power to the connected function unit. Further, the input / output unit itself may be stopped. Thereby, the power consumption in the unused part can be reduced.
[0042]
In the above composite input / output device, each of the first input / output unit and the second input / output unit has (A) a register for storing common identification information including a common address; and (B) a register. Register update notifying section for notifying the updated contents to another input / output section when updating the register;
May be included. Or, in addition to the register update notification unit,
(C) a register estimating unit for monitoring the response of the other input / output unit and estimating the contents of the register in the other input / output unit based on the response;
May be included.
Accordingly, the host can substantially update the register of the other input / output unit only by updating the register of one of the input / output units. Further, the two input / output units can share common recognition information without contradiction. For example, when the host performs initial setting for only one of the input / output units and sets an address, the other input / output unit can share the same address. Therefore, the other input / output unit can identify the access from the host. Thus, the host can maintain good access to each unit in the composite input / output device.
[0043]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an optimal embodiment of the present invention will be described with reference to the drawings with reference to preferred embodiments.
[0044]
<< Example 1 >>
FIG. 1 is a block diagram showing data exchange with a host H for a composite I / O card 10A according to the first embodiment of the present invention.
The composite I / O card 10A has a memory unit 1A and an I / O unit 2A, and is connected to a host H via a bus 3. Here, the bus 3 includes at least one data line DAT, clock line CLK, power supply line VDD, ground line VSS, and command line CMD. Although only the composite I / O card 10A is shown in FIG. 1, other similar card-type input / output devices may be simultaneously connected to the host H by the same physical connection unit as the bus 3.
The composite I / O card 10A is supplied with power from the host H through a power supply line VDD and a ground line VSS.
[0045]
The memory unit 1A has a memory unit 12. The memory unit 12 includes a flash memory therein and controls input and output of data to and from the flash memory. The memory unit 1A stores the data from the host H in the flash memory by the memory unit 12, or provides the data in the flash memory to the host H.
[0046]
The I / O unit 2A functions as an interface for connecting the host H to various internal functional units or various external information processing devices. For example, the I / O unit 2A includes a wireless communication unit 22A and an imaging unit 22B. The wireless communication unit 22A connects the host H to an external wireless LAN, for example, and realizes wireless data exchange between the wireless LAN and the host H. The imaging unit 22B includes an imaging element such as a CCD, for example, converts an optical image taken from the outside into an image signal, and provides the image signal to the host H. In addition, the I / O unit 2A may be connected to, for example, an external mobile phone to enable the host H to access the mobile phone network. Furthermore, for example, it is connected to an external digital camera,
The image data may be provided to the host H.
[0047]
The memory unit 1A and the I / O unit 2A include input / output units 11A and 21A having the same configuration, respectively. Each input / output unit is connected to a common data line DAT, a common clock line CLK, and a common command line CMD, and exchanges data with the host H through them.
The data exchange is performed by synchronous communication. That is, data is transmitted and received in synchronization with the clock transferred from the host H through the clock line CLK. At that time, data is transferred serially through one of the data lines DAT or in parallel through all data lines DAT.
[0048]
Data communication is further controlled by a command / response method via a command line CMD. Here, the command and the response are exchanged in synchronization with the clock.
The read command or write command (hereinafter abbreviated as R / W command) for the memory unit 1A is the same as that for the conventional memory card. On the other hand, the R / W instruction for the I / O unit 2A is the same as that for the conventional I / O card.
[0049]
The input / output units 11A and 21A of the memory unit 1A and the I / O unit 2A share a data line DAT, a clock line CLK, and a command line CMD. At that time, the data and command sent from the host H reach both input / output units substantially simultaneously.
On the other hand, when each input / output unit simultaneously returns a response to a common command from the host H, those responses pass through a common command line CMD. Thereby, both responses are transmitted to the host H through the wired OR. In the composite I / O card 10A according to the first embodiment, when the response of each input / output unit is different, one of the responses is suppressed by the following configuration. As a result, response collision is avoided, and an appropriate response is sent to the host H.
[0050]
The input / output unit 11A of the memory unit 1A includes a command decoding unit 13, a register 14, a status notification unit 15A, a response suppression unit 16A, and a register update notification unit 17A. Similarly, the input / output unit 21A of the I / O unit 2A includes a command decoding unit 23, a register 24, a state notification unit 25A, a response suppression unit 26A, and a register update notification unit 27A. For each configuration, both input / output units are common.
Hereinafter, the details of the configuration of the input / output unit 11A of the memory unit 1A will be described. The same applies to the input / output unit 21A of the I / O unit 2A.
[0051]
The command decoding unit 13 receives and decodes a command from the host H through the command line CMD. Further, a response is determined according to the content of the decoded command and the state of the input / output unit 11A.
The command decoding unit 13 determines a response to the command, for example, as follows.
Commands from the host H include commands for the memory unit 1A, commands for the I / O unit 2A, and commands common to both units. The command decoding unit 13 first determines which unit the received command is for.
When it is not possible to identify which unit the command is for, the command decoding unit 13 determines NAK as a response.
When the command is for the I / O unit 2A, the command decoding unit 13 determines NAK as a response regardless of the presence or absence of a reception error.
[0052]
When the command is for the memory unit 1A, the command decoding unit 13 further determines whether or not the command can be received in the state of the input / output unit 11A at the time of the reception.
If the command is unacceptable in the state of the input / output unit 11A at the time of the reception, the command decoding unit 13 determines NAK as a response regardless of the presence or absence of a reception error.
When the command can be accepted and the command is normally received, the command decoding unit 13 determines ACK as a response. Further, it executes predetermined processing according to the command, or relays the contents of the command to the memory unit 12.
When the command can be accepted and the command is not normally received, the command decoding unit 13 determines NAK as a response.
[0053]
Register 14 generally includes a plurality of memory areas. Each memory area holds predetermined data and is accessed only by a specific command.
The register 14 holds, for example, a card address. Here, the card address is included in, for example, an R / W command from the host H to the card type input / output device. When receiving the R / W command, the input / output unit 11A compares the destination address with the card address held by the register 14 and determines whether the R / W command is addressed to itself.
In the composite I / O card 10A, when a card address is set between one of the memory unit 1A and the I / O unit 2A and the host H, the other card address is similarly updated as described later. Is done. Thereby, both units hold a common card address.
[0054]
The state of the input / output unit 11A generally transitions according to the command. The state notification unit 15A detects a state transition in the input / output unit 11A based on the command decoded by the command decoding unit 13, and notifies the input / output unit 21A of the I / O unit 2A.
[0055]
The response suppression unit 16A monitors a command received by the command decoding unit 13. Further, based on the contents of the command, the state of the input / output unit 11A of the memory unit 1A, and the state notified from the state notification unit 25A of the input / output unit 21A of the I / O unit 2A, the response of the command decoding unit 13 is It is determined whether or not transmission is to be performed (hereinafter, this determination is referred to as response transmission determination). As a result, when it is determined that the response of the I / O unit 2A should be sent to the host H, the response of the command decoding unit 13 is suppressed.
The response determined by the command decoding unit 13 is returned to the host H via the command line CMD only when the response is not suppressed by the response suppression unit 16A.
[0056]
The register update notifying unit 17A monitors the register 14 in the input / output unit 11A to which it belongs. When the content is updated in any of the registers 14, the register update notifying unit 17A notifies the updated content to the register 24 of the input / output unit 21A of the I / O unit 2A. Thus, the registers 14 and 24 of the input / output unit 11A of the memory unit 1A and the input / output unit 21A of the I / O unit 2A hold common contents.
[0057]
FIG. 2 is a flowchart of the response transmission determination by the response suppression unit 16A.
The command decoding unit 13 receives one command C and decodes it.
The response suppression unit 16A identifies which input / output unit the command C is for, based on the result of decoding the command C by the command decoding unit 13 (step D1).
When the command C is for the memory unit 1A to which the command C belongs, the response suppression unit 16A acknowledges the transmission of the response by the command decoding unit 13 (step R1).
[0058]
When the command C is for the I / O unit 2A, or when it is not possible to identify which input / output unit, the determination of the response suppression unit 16A branches to step D2. In step D2, the response suppression unit 16A determines whether or not the input / output unit 21A of the I / O unit 2A is active, that is, whether or not a response to the command C can be transmitted. The determination is made based on the status notified from the status notification unit 25A.
When the input / output unit 21A of the I / O unit 2A is not active, the response suppression unit 16A recognizes that the command decoding unit 13 sends a response (step R1). Conversely, when active, the response suppression unit 16A suppresses the response of the command decoding unit 13 (step R2).
[0059]
When the command C is a common command of both units, the response suppression unit 16A checks the state of the input / output unit 21A of the I / O unit 2A based on the notification from the state notification unit 25A (step D3). Thus, the states of the input / output units of both units are compared, and it is determined which input / output unit has a higher response.
As a result, when it is determined that the response of the input / output unit 11A of the memory unit 1A should be given priority, transmission of the response by the command decoding unit 13 is permitted (step R1). Conversely, when it is determined that the response of the input / output unit 21A of the I / O unit 2A should be given priority, the response by the command decoding unit 13 is suppressed (step R2).
[0060]
When the status of the input / output units of both units is substantially the same and the response of either input / output unit may be transmitted in response to the common command, the response suppression unit 16A further sets a priority for transmitting the response to the common command. The presence or absence of the right is checked (step D4).
Here, the input / output unit having the priority means an input / output unit that is set in advance so that a response to a common command is preferentially transmitted. The priority is set for only one of the input / output units of the two units, for example, when the composite I / O card 10A is manufactured.
When the input / output unit 11A of the memory unit 1A has the above priority, the response suppression unit 16A allows the command decoding unit 13 to send a response (step R1). Conversely, when the user has no priority, the response by the command decoding unit 13 is suppressed (step R2).
[0061]
The input / output unit 11A of the memory unit 1A and the input / output unit 21A of the I / O unit 2A share a physical connection unit with the host H, particularly, the bus 3 (see FIG. 1). Therefore, the host H accesses the composite I / O card 10A as one card-type input / output device as in the related art. Thereby, the command of the host H is not individually transmitted to each unit in the composite I / O card 10A, but is received simultaneously by the input / output units of both units. As a result, a conflict generally occurs between the input / output units of both units regarding the transmission of the response. In the composite I / O card 10A, as described below, both input / output units notify each other of the status, and arbitrate for the transmission of a response according to each status. Thereby, the above-mentioned conflict is resolved, and one appropriate response is sent to the host H. Therefore, the host H can recognize the composite I / O card 10A as well as the conventional card type input / output device, and can maintain good access to each unit.
[0062]
Hereinafter, the arbitration operation for sending a response in accordance with the notified state of the input / output unit will be specifically described by taking as an example the initial setting of each unit in the composite I / O card 10A by the host H.
FIG. 3 is a diagram showing a state transition at the time of initial setting of the input / output unit 11A of the memory unit 1A and the input / output unit 21A of the I / O unit 2A for the composite I / O card 10A. At the time of initial setting, the input / output unit 11A of the memory unit 1A and the input / output unit 21A of the I / O unit 2A have the same state transition as the input / output unit of the conventional card type input / output device.
[0063]
The input / output unit transitions to the idle state ST1 when power is turned on from the host H (step S0) or when a reset command is received from the host H (step C0). The input / output unit in the idle state ST1 sends a response only to a predetermined command group including an initialization command, and does not send a response to other commands.
[0064]
When receiving the initialization command from the host H (step C1), the input / output unit instructs the connected function unit to perform initialization and initializes itself (step S1).
Here, the host H may change the input / output unit from the idle state ST1 to the inactive state ST5 by a predetermined command. The input / output unit in the inactive state ST5 does not send responses to all commands from the host H.
[0065]
When the initialization is completed, the input / output unit transitions to the standby state ST2. The input / output unit in the standby state ST2 updates the card address every time a card address transmission command is received from the host H (step C2), and returns it to the host H.
Here, the input / output unit updates the card address by, for example, incrementing by a predetermined step, or randomly updating the card address within a predetermined range.
The host H compares the returned card address with the registered card address, and when there is no overlap, sets and registers the card address as that of the input / output unit.
With the setting of the card address, the initial setting for one card is completed.
[0066]
The host H selects one data transfer target from the card-type input / output devices for which the initialization has been completed, and issues a card selection command. Here, the card selection instruction includes a registered card address as the destination address. Upon receiving the card selection command (step C3), the input / output unit in the standby state ST2 that has completed the initial setting compares the destination address with its own card address. When the addresses match, the input / output unit transitions to the data transfer enabled state ST3.
The input / output unit in the data transfer enabled state ST3 can receive an R / W command from the host H. The input / output unit starts data transfer with the host H by receiving the R / W command (step C4).
[0067]
FIGS. 4 and 5 are flowcharts of the initial setting of the composite I / O card 10A. (A) of each figure is a flowchart for the host H, and (b) is a flowchart for each of the two input / output units 11A and 21A in the composite I / O card 10A.
[0068]
FIG. 4 is a flowchart from the start of initialization to the completion of initialization of the memory unit 1A and the I / O unit 2A.
As shown in FIG. 4A, the host H turns on the power to the composite I / O card 10A (step S0) or issues a reset command (step C0A or C0B), and starts initialization.
Here, the power-on by the host H may be performed by a power-on reset of the host H itself or by a live insertion of the composite I / O card 10A into a slot of the host H.
[0069]
When the power is turned on, both the two input / output units 11A and 21A in the composite I / O card 10A are reset.
On the other hand, since the reset instruction is different between the memory card and the I / O card, when the memory card reset instruction is issued (step C0A), only the memory unit 1A is reset, and when the I / O card reset instruction is issued (step C0A). In C0B), only the I / O unit 2A is reset. When resetting only one of the memory unit 1A and the I / O unit 2A, the host H issues only a reset instruction corresponding to the target unit. At that time, the unit that has not received the reset command maintains the original state.
[0070]
In the reset when the power is turned on (step S0), for example, the I / O unit 2A is first reset. On the other hand, in the reset by the reset instruction, the host H first issues, for example, a reset instruction for the I / O unit 2A (step C0A). That is, unless the host H skips resetting the I / O unit 2A, the I / O unit 2A is reset first in the initial setting.
By the reset, the input / output unit 21A of the I / O unit 2A transitions to the idle state ST1 as shown in FIG. 4B.
[0071]
The host H issues an initialization instruction to the I / O unit 2A, and instructs the initialization (step S1A). Upon receiving the initialization command (step C1), the input / output unit 21A of the I / O unit 2A starts initialization (step S1). The initialization includes initialization of a wireless communication unit 22A, an imaging unit 22B, and other functional units in the I / O unit 2A, and an external information processing device connected to the I / O unit 2A. During the initialization process, the input / output unit 21A further turns on the busy flag in the register 24. The busy flag is defined as predetermined 1-bit data in the register 24, for example.
[0072]
Here, the host H may skip the initialization of the I / O unit 2A without issuing an initialization instruction to the I / O unit 2A. At that time, the input / output unit 21A of the I / O unit 2A is maintained in the idle state ST1. The input / output unit 21A notifies the input / output unit 11A of the memory unit 1A that the idle state ST1 is maintained by the internal state notification unit 25A (step S4). The input / output unit 21A in the idle state ST1 does not send a response to another command until the initialization command is received (Step C1).
[0073]
The host H may further transition the idle state ST1 of the input / output unit 21A of the I / O unit 2A to the inactive state ST5. At this time, the input / output unit 21A notifies the input / output unit 11A of the memory unit 1A of the inactive state ST5 (step S5). The input / output unit 21A in the inactive state ST5 does not send any response.
[0074]
When the input / output unit 21A of the I / O unit 2A is in the idle state ST1 or the inactive state ST5, the power supply to the functional units such as the wireless communication unit 22A and the imaging unit 22B may be stopped. Thereby, when the host H does not use the functional unit connected to the inside of the I / O unit 2A or the I / O unit 2A, it is possible to reduce the power consumption during standby.
[0075]
During the initialization process in the I / O unit 2A, the host H monitors the busy flag of the I / O unit 2A by polling (step S2A). While the busy flag is on, the host H does not issue a new command.
When the initialization is completed, the input / output unit 21A of the I / O unit 2A turns off the busy flag (step S3). Thereby, input / output unit 21A transitions to standby state ST2. At this time, the input / output unit 21A notifies the input / output unit 11A of the memory unit 1A of the state transition by the status notification unit 25A (step S11).
[0076]
When the power is turned on (step S0), the memory unit 1A is subsequently reset. On the other hand, in the reset by the reset command, when the host H issues a reset command for the memory unit 1A (step C0B), the memory unit 1A is reset.
Thereafter, as long as the host H does not skip issuing the initialization instruction to the memory unit 1A (step S1B), the initialization of the memory unit 1A is executed in the same manner as the initialization of the I / O unit 2A.
Here, the state of the input / output unit 11A of the memory unit 1A that has transitioned through reset or initialization is notified to the input / output unit 21A of the I / O unit 2A by the internal state notification unit 15A. Thus, the input / output unit of each unit grasps the mutual state.
[0077]
During the initialization process in the memory unit 1A, the host H monitors the busy flag of the memory unit 1A by polling (step S2B). When the busy flag is turned off, the host H starts a card address setting process. When the reset or initialization of the memory unit 1A is skipped and the busy flag of the I / O unit 2A is turned off, the host H starts a card address setting process.
[0078]
FIG. 5 is a flowchart from the setting of the card address to the end of the initial setting.
The input / output unit in the standby state ST2 waits for a card address transmission command or a card selection command from the host H (step S4). Here, the card address transmission command and the card selection command are commands common to the memory unit 1A and the I / O unit 2A.
[0079]
The host H issues a card address transmission command to the input / output unit in the standby state ST2 (step S6). The card address transmission command is received substantially simultaneously by both the input / output unit 11A of the memory unit 1A and the input / output unit 21A of the I / O unit 2A. At this time, if all of the input / output units are active, a conflict occurs in sending the response.
[0080]
The composite I / O card 10A resolves the above conflict as follows.
When the input / output unit 11A of the memory unit 1A or the input / output unit 21A of the I / O unit 2A in the standby state ST2 receives a command different from both the card address transmission command and the card selection command, the respective response suppression units 16A or 26A operate. A response transmission determination is made according to the flowchart of FIG. 2 (step S12). Thereby, one appropriate response is selected and returned to the host H. On the other hand, the input / output unit in the standby state ST2 waits for a command from the host H again (step S4).
The same applies when a command cannot be identified.
[0081]
When the input / output unit in the standby state ST2 receives the card address transmission command, the response suppression unit determines a response transmission according to the flowchart of FIG. 2 (step S13).
When accepting the transmission of the response (step R1), the input / output unit first updates the card address held in the register (step S7).
The update of the card address is notified to the other input / output unit by the register update notifying unit in the input / output unit (step S14). Thus, both input / output units hold a common card address.
The input / output unit further sends the updated card address to the host H as a response to the card address sending command (step S8). After the transmission, the input / output unit waits for a command from the host H (step S4).
[0082]
The host H receives the card address from the composite I / O card 10A as a response to the card address transmission command. At that time, the card address is compared with a card address already set and registered for another card type input / output device (step S9). If there is an overlap between the card addresses, the host H returns the processing to step S6, and issues a card address transmission command again. Accordingly, each input / output unit in the composite I / O card 10A repeats the above steps S4, S12, S13, S7, S14, and S8, and returns a new card address to the host H.
[0083]
The host H repeats the loop of steps S6 and S9 until there is no overlap between the card address sent from the composite I / O card 10A and the card address registered in the host H. When there is no longer any overlap between the card addresses, the host H sets and registers the card address sent from the composite I / O card 10A as that of the composite I / O card 10A (step S10). Thus, the card address of the composite I / O card 10A is uniquely set, and the initial setting ends.
[0084]
The host H issues a card selection command to the composite I / O card 10A when selecting the composite I / O card 10A, for which initialization has been completed, as a data transfer target. Here, the card selection instruction includes the card address of the composite I / O card 10A as the destination address. Of the two input / output units 11A and 21A of the composite I / O card 10A, the one that has been initialized and is in the standby state ST2 compares its destination address with its own card address when receiving the card selection command. I do. When both addresses match, the input / output section transits to the data transfer enabled state ST3.
[0085]
The host H further issues an R / W command to the composite I / O card 10A. Here, the R / W command has different command IDs for the memory card and the I / O card. Therefore, each command decoding unit can identify whether the R / W instruction is for the unit to which it belongs.
[0086]
For example, when performing data transfer with the memory unit 1A, the host H issues a memory card R / W command to the composite I / O card 10A. The command decoding unit 13 of the memory unit 1A sends out ACK when the R / W instruction is normally received. On the other hand, the command decoding unit 23 of the I / O unit 2A sets NAK when receiving the R / W command. At this time, the response suppression unit 26A of the I / O unit 2A checks the state of the input / output unit 11A of the memory unit 1A. Thereby, when the memory unit 1A is active, the response of the command decoding unit 23 is suppressed. When the response to the R / W command cannot be transmitted, for example, when the memory unit 1A is not active, the command decoding unit 23 is permitted to transmit the response. Thus, only the response appropriately corresponding to the R / W command is returned to the host H.
[0087]
As described above, in the composite I / O card 10A according to the first embodiment, the input / output unit 11A of the memory unit 1A and the input / output unit 21A of the I / O unit 2A monitor the mutual state. When a conflict occurs between the two input / output units regarding the transmission of the response, one response is suppressed according to the state of each input / output unit, and only an appropriate response is transmitted. In this way, collision between responses is avoided, so that the host H can satisfactorily recognize the composite I / O card 10A as a single card-type input / output device by the same command / response communication as before.
[0088]
<< Example 2 >>
FIG. 6 is a block diagram showing data exchange with the host H in the composite I / O card 10B according to the second embodiment of the present invention.
The composite I / O card 10B has a memory unit 1B and an I / O unit 2B, like the composite I / O card 10A according to the first embodiment. However, the input / output units 11B and 21B of the memory unit 1B and the I / O unit 2B are different from those of the first embodiment. 6, the same reference numerals as in FIG. 1 denote the same components as those of the composite I / O card 10A according to the first embodiment. Further, the description of those similar configurations is the same as that of the first embodiment.
[0089]
The input / output unit 11B of the memory unit 1B includes a command decoding unit 13, a register 14, a state estimation unit 15B, a response suppression unit 16B, and a register estimation unit 17B. Similarly, the input / output unit 21B of the I / O unit 2B includes a command decoding unit 23, a register 24, a state estimation unit 25B, a response suppression unit 26B, and a register estimation unit 27B. For each configuration, both input / output units are common. Hereinafter, the configuration of the input / output unit 11B of the memory unit 1B will be described in detail.
[0090]
The state estimating unit 15B stores the history of the command received by the command decoding unit 13. Since the command is notified to both the memory unit 1B and the I / O unit 2B, the history is common to both units. Therefore, based on the history, the state estimating unit 15B estimates the state of the input / output unit 21B of the I / O unit 2B.
[0091]
The response suppression unit 16B determines a response operation of the I / O unit 2B to the command of the host H based on the state estimated by the state estimation unit 15B. When determining that the response of the I / O unit 2B should be sent to the host H, the response of the command decoding unit 13 in the memory unit 1B is suppressed. In this way, the conflict regarding the transmission of the response between the input / output unit 11B of the memory unit 1B and the input / output unit 21B of the I / O unit 2B is resolved, and collision between the responses on the command line CMD is avoided.
[0092]
The response suppression unit 16B makes a response transmission determination similarly to the response suppression unit 16A of the first embodiment (see FIG. 2). For the same parts as those in the response transmission determination according to the first embodiment, the description in the first embodiment is cited.
However, step D2 and step D3 are different from the response transmission determination according to the first embodiment in the following points.
In step D2, the response suppression unit 16B determines whether or not the input / output unit 21A of the I / O unit 2A is active based on the state estimated by the state estimation unit 15B.
In step D3, the response suppression unit 16A checks the state of the input / output unit 21A of the I / O unit 2A based on the estimation by the state estimation unit 15B.
[0093]
The response transmitted by the command decoding unit 23 of the I / O unit 2B also reaches the command decoding unit 13 of the memory unit 1B through a node (for example, a wired OR) with the command line CMD. The register estimating unit 17B monitors the response of the I / O unit 2B received by the command decoding unit 13. Thereby, the update of the register 24 in the input / output unit 21B of the I / O unit 2B is detected. Further, the updated contents of the register 24 are estimated from the response, and the register 14 of the memory unit 1B is similarly updated. Thus, in the input / output unit 11B of the memory unit 1B and the input / output unit 21B of the I / O unit 2B, the respective registers 14 and 24 hold common contents.
[0094]
In particular, when the input / output unit 21B of the I / O unit 2B is in the standby state ST2, the register estimating unit 17B monitors the response of the input / output unit 21B, and detects the update of the card address in the input / output unit 21B. Further, the updated card address is estimated, and the card address held in the register 14 is rewritten. Thus, the card address is updated in the register 24 of the I / O unit 2B, and the card address is similarly updated in the register 14 of the memory unit 1B every time the card address is sent to the host H. As a result, both units hold a common card address.
[0095]
Hereinafter, the arbitration operation for sending a response according to the inferred state of the input / output unit will be specifically described by taking as an example the initial setting of each unit in the composite I / O card 10B by the host H.
Here, the state transition at the time of the initial setting of the input / output unit 11B of the memory unit 1B and the input / output unit 21B of the I / O unit 2B is the same as that of the input / output unit 11A of the memory unit 1A according to the first embodiment. It is common to the input / output unit 21A of the unit 2A. That is, the state transition is common to the input / output unit of the conventional card type input / output device. Therefore, the description thereof uses the example 1 (see FIG. 3).
[0096]
FIG. 7 is a flowchart of the initial setting of the input / output unit of each unit in the composite I / O card 10B according to the second embodiment. Here, the same steps as those in the flowchart according to the first embodiment are denoted by the same reference numerals as in FIGS. Further, the descriptions thereof are the same as those in the first embodiment.
On the other hand, the flowchart of the initial setting for the host H is common to that of the first embodiment. That is, the host H executes the initial setting for the composite I / O card 10B according to the second embodiment in exactly the same way as for the composite I / O card 10A according to the first embodiment.
[0097]
Regarding the initial setting for the composite I / O card 10B according to the second embodiment, parts different from those according to the first embodiment will be described below.
When either the memory unit 1B or the I / O unit 2B or both are reset, the command history is cleared in the reset input / output unit. Therefore, in the input / output unit, the state estimation unit does not estimate the state of the other input / output unit. In particular, when the power is turned on (step S0), since both of the two input / output units are reset, neither of these state estimation units estimates the state of the other input / output unit.
Here, since the reset input / output unit does not have the state notification unit as in the first embodiment, in either the idle state ST1 or the inactive state ST5, the state cannot be notified to other input / output units.
[0098]
When only one of the units is reset by the reset command (step C0), the input / output unit of the other unit holds the command history by the state estimating unit. Upon receiving a reset command for another unit, the state estimating unit refers to the command history and estimates that “the other input / output unit has been reset and is in the idle state ST1”.
Further, upon receiving a command for causing the input / output unit in the idle state ST1 to shift to the inactive state ST5, the state estimating unit of the other input / output unit determines that “the other input / output unit has changed from the idle state ST1 to the inactive state ST5. Has transitioned to ".
[0099]
The input / output unit in the idle state ST1 starts initialization (Step S1) by receiving the initialization command (Step C1). Upon receiving the initialization command, the state estimating unit of the other input / output unit estimates that “the other input / output unit has transitioned from the idle state ST1 to the standby state ST2”.
[0100]
Even if the input / output unit in the standby state ST2 updates the card address in accordance with the card address transmission command (step S7), the input / output unit does not notify the other input / output unit of the updated card address. However, in the other input / output units, the register estimating unit estimates the updated card address based on the response of the input / output unit in the standby state ST2 as described above, and updates the card address in the same manner.
In particular, when the input / output units of both units are both in the standby state ST2, the input / output unit having no priority determines the response to the card address transmission command, based on the response transmission determination by the response suppression unit (see FIG. 2). The transmission of the card address is suppressed (step S15). Further, in step S4, the response from the input / output unit having the priority is monitored together with the command from the host H. When the update of the card address in the input / output unit having the priority is detected from the response, the register estimating unit similarly updates the card address as described above (step S17).
[0101]
When the input / output unit in the standby state ST2 receives the card selection command in step S4, the input / output unit transitions to the data transfer enabled state ST3. Therefore, when any of the input / output units receives the card selection command, it is inferred that “the other input / output units in the standby state ST2 have transitioned to the data transfer enabled state ST3”.
[0102]
Estimation of the status of other input / output units based on the history of commands and update of registers through monitoring of responses of other input / output units are performed after the data transfer enabled state, as in the above initial setting. This is also performed in the input / output unit.
[0103]
As described above, in the composite I / O card 10B according to the second embodiment, the input / output unit 11B of the memory unit 1B and the input / output unit 21B of the I / O unit 2B store the history of the command, and change the mutual state based on the history. Infer. When the responses to the command of the host H conflict, one of the responses is suppressed according to the state of each input / output unit, and only an appropriate response is transmitted. Thereby, the host H can satisfactorily recognize the composite I / O card 10B as a single card-type input / output device.
[0104]
The composite I / O card 10B according to the second embodiment has less wiring between the memory unit 1B and the I / O unit 2B, unlike the composite I / O card 10A according to the first embodiment. Therefore, since the hardware has a relatively simple configuration, the circuit scale can be reduced.
On the other hand, as for the grasp of the state of the other input / output unit by each input / output unit, direct monitoring as in the first embodiment is reliable.
[0105]
The composite I / O card according to the present invention may have the following configuration in addition to the configuration according to the above embodiment.
For example, in the configuration according to the first embodiment, the register update notifying unit may be replaced with a register estimating unit similar to that in the second embodiment. Conversely, in the configuration according to the second embodiment, the register estimating unit may be replaced with a register update notifying unit similar to that in the first embodiment. Even with these configurations, when responses to host commands conflict, one response can be suppressed according to the state of each input / output unit, and only an appropriate response can be transmitted. Thereby, the host can recognize the composite I / O card as a single card type input / output device.
The above can be easily understood by those skilled in the art based on the description of the above embodiment.
[0106]
【The invention's effect】
The composite input / output device according to the present invention has, for example, two input / output units. These input / output units are connected to the host via a common bus and are accessed with a common address. In particular, a host command reaches both input / output units regardless of which input / output unit is addressed. Each input / output unit sends or suppresses a response to the command according to the mutual state. As a result, only one of the responses of the respective input / output units is returned to the host, and these responses do not collide with each other on the bus. Thus, this composite input / output device is well recognized by the host as one input / output device similar to the conventional input / output device including only one of the two input / output units.
[0107]
In the above composite input / output device, the two input / output units may directly monitor each other's state. Alternatively, each input / output unit may hold a history of commands, and estimate the mutual status based on the history. In either of the above monitoring and estimation, each input / output unit can accurately grasp the content of the mutual response. As a result, it is possible to appropriately determine which response each input / output unit should return.
[Brief description of the drawings]
FIG. 1 is a block diagram showing data exchange between a composite I / O card 10A and a host H according to a first embodiment of the present invention.
FIG. 2 is a flowchart of a response transmission determination by a response suppression unit 16A in the composite I / O card 10A according to the first embodiment of the present invention.
FIG. 3 is common to the composite I / O card 10A according to the first embodiment of the present invention, the composite I / O card 10B according to the second embodiment of the present invention, and the input / output unit of the conventional card type input / output device. FIG. 9 is a diagram showing a state transition at the time of initialization.
FIG. 4 is a flowchart from the start of the initial setting to the completion of the initialization of the memory unit 1A and the I / O unit 2A in the initial setting of the composite I / O card 10A according to the first embodiment of the present invention. (A) is a flowchart for the host H, and (b) is a flowchart for each of the two input / output units 11A and 21A in the composite I / O card 10A.
FIG. 5 is a flowchart from the setting of the card address to the end of the initial setting, following the part shown in FIG. 4 in the initial setting of the composite I / O card 10A according to the first embodiment of the present invention. (A) is a flowchart for the host H, and (b) is a flowchart for each of the two input / output units 11A and 21A in the composite I / O card 10A.
FIG. 6 is a block diagram illustrating data exchange between a composite I / O card 10B and a host H according to a second embodiment of the present invention.
FIG. 7 is a flowchart of an initial setting of an input / output unit of each unit in the composite I / O card 10B according to the second embodiment of the present invention.
FIG. 8 is a block diagram illustrating data exchange between a conventional memory card 100 and a host H.
FIG. 9 is a block diagram showing data exchange between a conventional I / O card 200 and a host H.
FIG. 10 is a flowchart of an initial setting for a conventional card-type input / output device. (A) is a flowchart for the host H, and (b) is a flowchart for the input / output unit of the card-type input / output device.
FIG. 11 is a block diagram showing an example of an internal configuration of the composite I / O card 300.
[Explanation of symbols]
10A composite I / O card
1A memory unit
11A Input / output unit of memory unit 1A
2A I / O unit
Input / output unit of 21A I / O unit 2A
3 bus
DAT data line
CLK clock line
VDD power supply line
VSS ground line
CMD command line

Claims (8)

(A) ホストからのコマンドの内、第一のコマンド群に属するものを、第一の機能部へ中継するための第一の入出力部;
(B) 前記ホストからのコマンドの内、第二のコマンド群に属するものを、第二の機能部へ中継するための第二の入出力部;及び、
(C) 前記第一の入出力部と前記第二の入出力部とをそれぞれ前記ホストへ接続し、それらの入出力部により共用されるバス;
を有する複合入出力装置であり、
(D) 前記第一の入出力部と前記第二の入出力部とが前記ホストにより共通のアドレスでアクセスされ;
(E) 前記第一の入出力部が、前記第二の入出力部の状態に応じ、前記コマンドに対するレスポンスを送出し、又は抑制し;
(F) 前記第二の入出力部が、前記第一の入出力部の状態に応じ、前記コマンドに対するレスポンスを送出し、又は抑制する;
複合入出力装置。
(A) a first input / output unit for relaying a command belonging to a first command group among commands from a host to a first functional unit;
(B) a second input / output unit for relaying a command belonging to a second command group among the commands from the host to a second functional unit; and
(C) a bus that connects the first input / output unit and the second input / output unit to the host, respectively, and is shared by the input / output units;
A composite input / output device having
(D) the first input / output unit and the second input / output unit are accessed by a common address by the host;
(E) the first input / output unit sends or suppresses a response to the command according to a state of the second input / output unit;
(F) the second input / output unit sends or suppresses a response to the command according to a state of the first input / output unit;
Composite input / output device.
前記第一の入出力部と前記第二の入出力部とのそれぞれが、(A) 前記ホストからのコマンドを解読し、そのコマンドに対するレスポンスを前記ホストへ送出するためのコマンド解読部;
(B) 自己の属する前記入出力部の状態を他の前記入出力部へ通知するための状態通知部;及び、
(C) 前記他の入出力部の前記状態通知部から入力された前記他の入出力部の状態に応じ、前記自己の属する入出力部の前記コマンド解読部による前記レスポンスを抑制するためのレスポンス抑制部;
を有する、請求項1記載の複合入出力装置。
Each of the first input / output unit and the second input / output unit decodes a command from the host and sends a response to the command to the host;
(B) a status notification unit for notifying the status of the input / output unit to which it belongs to another input / output unit;
(C) a response for suppressing the response by the command decoding unit of the input / output unit to which the own unit belongs according to the state of the other input / output unit input from the state notification unit of the other input / output unit; Suppression section;
The composite input / output device according to claim 1, comprising:
前記第一の入出力部と前記第二の入出力部とのそれぞれが、(A) 前記ホストからのコマンドを解読し、そのコマンドに対するレスポンスを前記ホストへ送出するためのコマンド解読部;
(B) 前記コマンドの履歴を記憶し、その履歴に基づき他の前記入出力部の状態を推測するための状態推測部;及び、
(C) 前記状態推測部により推測された前記他の入出力部の状態に応じ、自己の前記コマンド解読部による前記レスポンスを抑制するためのレスポンス抑制部;
を有する、請求項1記載の複合入出力装置。
Each of the first input / output unit and the second input / output unit decodes a command from the host and sends a response to the command to the host;
(B) a state estimating unit for storing a history of the command, and estimating a state of the other input / output unit based on the history;
(C) a response suppressing unit for suppressing the response by the command decoding unit of the own according to the state of the other input / output unit estimated by the state estimating unit;
The composite input / output device according to claim 1, comprising:
(A) 前記第一のコマンド群に属するコマンドに対し、前記第一の入出力部がレスポンスを送出し、前記第二の入出力部がレスポンスを抑制し;
(B) 前記第二のコマンド群に属するコマンドに対し、前記第一の入出力部がレスポンスを抑制し、前記第二の入出力部がレスポンスを送出する;
請求項1記載の複合入出力装置。
(A) in response to a command belonging to the first command group, the first input / output unit sends a response, and the second input / output unit suppresses the response;
(B) in response to a command belonging to the second command group, the first input / output unit suppresses a response, and the second input / output unit sends a response;
The composite input / output device according to claim 1.
前記第一のコマンド群と前記第二のコマンド群との間の共通コマンドに対し、前記第一の入出力部がレスポンスを送出し、前記第二の入出力部がレスポンスを抑制する、請求項1記載の複合入出力装置。The first input / output unit sends a response to a common command between the first command group and the second command group, and the second input / output unit suppresses the response. 2. The composite input / output device according to 1. 前記入出力部のいずれか一方がアクティブでないとき、他方の前記入出力部が前記コマンドに対しレスポンスを送出する、請求項1記載の複合入出力装置。The composite input / output device according to claim 1, wherein, when one of the input / output units is inactive, the other input / output unit sends a response to the command. 前記第一の入出力部と前記第二の入出力部とのそれぞれが、(A) 前記共通のアドレスを含む共通の認識情報を記憶するためのレジスタ;及び、
(B) 前記レジスタの更新時、その更新内容を他の前記入出力部へ通知するためのレジスタ更新通知部;
を含む、請求項1記載の複合入出力装置。
Each of the first input / output unit and the second input / output unit includes: (A) a register for storing common identification information including the common address;
(B) a register update notifying unit for notifying the other input / output unit of the updated content when updating the register;
The composite input / output device according to claim 1, comprising:
前記第一の入出力部と前記第二の入出力部とのそれぞれが、(A) 前記共通のアドレスを含む共通の認識情報を記憶するためのレジスタ;及び、
(B) 他の前記入出力部の前記レスポンスを監視し、そのレスポンスに基づき、前記他の入出力部での前記レジスタの内容を推定するためのレジスタ推定部;
を含む、請求項1記載の複合入出力装置。
Each of the first input / output unit and the second input / output unit includes: (A) a register for storing common identification information including the common address;
(B) a register estimating unit for monitoring the response of the other input / output unit and estimating the contents of the register in the other input / output unit based on the response;
The composite input / output device according to claim 1, comprising:
JP2002195853A 2002-07-04 2002-07-04 Compound I / O device Expired - Lifetime JP4132028B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002195853A JP4132028B2 (en) 2002-07-04 2002-07-04 Compound I / O device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002195853A JP4132028B2 (en) 2002-07-04 2002-07-04 Compound I / O device

Publications (2)

Publication Number Publication Date
JP2004038643A true JP2004038643A (en) 2004-02-05
JP4132028B2 JP4132028B2 (en) 2008-08-13

Family

ID=31704119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002195853A Expired - Lifetime JP4132028B2 (en) 2002-07-04 2002-07-04 Compound I / O device

Country Status (1)

Country Link
JP (1) JP4132028B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005258804A (en) * 2004-03-11 2005-09-22 Toshiba Corp Memory card apparatus and memory card control method
WO2005094066A1 (en) * 2004-03-25 2005-10-06 Sony Corporation Information signal processing device, function block control method, and function block
JP2007535021A (en) * 2003-12-09 2007-11-29 サンディスク コーポレイション Efficient connection between modules of removable electronic circuit cards
JP2017120985A (en) * 2015-12-28 2017-07-06 キヤノン株式会社 Information processing apparatus, control method of the same, and program

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007535021A (en) * 2003-12-09 2007-11-29 サンディスク コーポレイション Efficient connection between modules of removable electronic circuit cards
JP4719687B2 (en) * 2003-12-09 2011-07-06 サンディスク コーポレイション Efficient connection between modules of removable electronic circuit cards
JP2005258804A (en) * 2004-03-11 2005-09-22 Toshiba Corp Memory card apparatus and memory card control method
JP4515793B2 (en) * 2004-03-11 2010-08-04 株式会社東芝 Memory card device and memory card control method
WO2005094066A1 (en) * 2004-03-25 2005-10-06 Sony Corporation Information signal processing device, function block control method, and function block
JPWO2005094066A1 (en) * 2004-03-25 2008-02-14 ソニー株式会社 Information signal processing apparatus, function block control method, and function block
US7970968B2 (en) 2004-03-25 2011-06-28 Sony Corporation Apparatus and method for controlling plural functional blocks using common command
JP2017120985A (en) * 2015-12-28 2017-07-06 キヤノン株式会社 Information processing apparatus, control method of the same, and program

Also Published As

Publication number Publication date
JP4132028B2 (en) 2008-08-13

Similar Documents

Publication Publication Date Title
US7392409B2 (en) Data processing apparatus and power control method
US8042743B2 (en) IC card comprising a main device and an additional device
KR101495989B1 (en) Memory device and wireless communication control method for the same
JP2006024217A (en) Method for sharing single host controller with multiple functional devices
JP2008009979A (en) Smart card operating system and process
US20210271469A1 (en) Communication apparatus for wirelessly communicating with another apparatus, information processing method, and program
JP2010117894A (en) Memory device
JP3492229B2 (en) Communication control device
JP4132028B2 (en) Compound I / O device
EP0886410A2 (en) Data communication method, data communication apparatus, and data communication program recording medium
CN109388606A (en) Restructural series bus controller in a kind of chip
EP2924955B1 (en) Apparatus, communication control system, and communication control method
US7177959B2 (en) Information signal processing apparatus and method
JP4723381B2 (en) SDIO card device with bus share adapter function
EP1686510B1 (en) Electronic device and control method thereof
JP4635616B2 (en) Network communication method between computers
JPH05300152A (en) Address setter
JP2014168144A (en) Communication method and switching hub
JP2004326233A (en) Interface card with card slot
KR100493069B1 (en) Method and apparatus for recovering boot image in smart phone
JP3780929B2 (en) Power control system
JP2007034893A (en) Data processing module and its message transmission preparation method
JP5481583B2 (en) Interface control device
JP2004038384A (en) Control system for setting specification in electronic device
JPH10283135A (en) Data processing method, data processor, printer and storage medium

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050524

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050701

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20061129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080408

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080430

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080530

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4132028

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130606

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130606

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140606

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term