(57)【特許請求の範囲】
【請求項１】
共有バスを介して、複数のデバイスとホストコントローラとを接続する共有バス制御装置であって、
前記ホストコントローラと前記複数のデバイスの各々の間の制御バスとデータバスのそれぞれに接続され、前記ホストコントローラからの制御信号に応じてバスを切断或は接続する複数のバススイッチを有し、
前記ホストコントローラは、前記制御信号により、第１のデバイスが未使用の前記データバス或いは制御バスに接続されたバススイッチの接続を、第２のデバイスとの接続に切り換えることにより、前記ホストコントローラと前記第１及び第２のデバイスとの間でのアクセスを可能にし、前記第１のデバイスが前記データバス及び前記制御バスを使用している間に前記第２のデバイスへのアクセス要求が発生した場合、前記第１のデバイスが次に前記制御バスを使用するまでの時間間隔と、前記第２のデバイスが前記制御バスを使用する時間間隔とを比較した結果に応じて前記第２のデバイスに前記制御バスを割り当てるかどうかを判定することを特徴とする共有バス制御装置。
【請求項２】
前記ホストコントローラは、前記第１のデバイスが前記データバスを使用している間に前記第２のデバイスが前記制御バスを使用するように前記バススイッチを切り換えることを特徴とする請求項１に記載の共有バス制御装置。
【請求項３】
前記ホストコントローラは、前記第１のデバイスが前記データバスを使用してＤＭＡ転送中に、前記第２のデバイスが前記制御バスを使用するように前記バススイッチを切り換えることを特徴とする請求項１に記載の共有バス制御装置。
【請求項４】
ホストコントローラと複数のデバイスの各々の間の制御バスとデータバスのそれぞれに接続され、前記ホストコントローラからの制御信号に応じてバスを切断或は接続する複数のバススイッチを有し、共有バスを介して前記複数のデバイスと前記ホストコントローラとを接続する共有バス制御装置の制御方法であって、
前記ホストコントローラからの制御信号により、第１のデバイスが未使用の前記データバス或いは制御バスに接続されたバススイッチの接続を、第２のデバイスとの接続に切り換えることにより、前記ホストコントローラと前記第１及び第２のデバイスとの間でのアクセスを可能にし、前記第１のデバイスが前記データバス及び前記制御バスを使用している間に前記第２のデバイスへのアクセス要求が発生した場合、前記第１のデバイスが次に前記制御バスを使用するまでの時間間隔と、前記第２のデバイスが前記制御バスを使用する時間間隔とを比較し、その比較結果に応じて前記第２のデバイスに前記制御バスを割り当てるかどうかを判定することを特徴とする共有バス制御装置の制御方法。
【請求項５】
前記ホストコントローラは、前記第１のデバイスが前記データバスを使用している間に前記第２のデバイスが前記制御バスを使用するように前記バススイッチを切り換えることを特徴とする請求項４に記載の共有バス制御装置の制御方法。
【請求項６】
前記ホストコントローラは、前記第１のデバイスが前記データバスを使用してＤＭＡ転送中に、前記第２のデバイスが前記制御バスを使用するように前記バススイッチを切り換えることを特徴とする請求項４に記載の共有バス制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、共有バスを介して、複数のデバイスとホストコントローラとを接続する共有バス制御装置及びその制御方法に関する。
【背景技術】
【０００２】
従来より、フラッシュメモリを記憶装置とし、その記憶装置のコントローラを内蔵した記憶媒体（以下、記憶メディア）があり、このような記憶メディアが、ディジタルスチルカメラ等の撮像データの記憶メディアとして使用されている。これら記憶メディアの代表的なものとして、コンパクトフラッシュ（登録商標）カード、ＳＤカード、メモリスティックカード等がある。これら記憶メディアとホストコントローラとのインターフェイス（記憶メディアに対するデータ読み出し、及び書き込み）の規格は、各記憶メディアについて、それぞれ詳細な規格が存在する。
【０００３】
一方、これら記憶メディアとインターフェイスを行うホストコントローラでは、その記憶メディアの規格に応じた通信方式や、電気的な特性に応じたコントローラを準備する必要がある。
【０００４】
ここでホストコントローラと記憶メディアのインターフェイスを行うバスと、ホストコントローラ外部のＩ／Ｏデバイスとを共通バスとして接続し、コントローラ、バス、及び端子を共通化してコストダウンを図ることが提案されている。このとき記憶メディアとＩ／Ｏデバイスは排他的にアクセスされ、記憶メディアとＩ／Ｏデバイスは、バススイッチ等で、各々電気的にバスを分離できる構成となっている。例えば、ホストコントローラがＩ／Ｏデバイスにアクセスしている場合は、記憶メディアに対して誤動作を起こさないように、記憶メディア側に接続されるバススイッチによって電気的に切断して記憶メディアをインアクティブに制御する必要がある。このバススイッチの構成に関しては特許文献１に記載されている。共通バスを排他的に使用する場合、バスを使用しているデバイスを電気的に接続し、一方、未使用であるデバイスを電気的に切断することで、デバイス同士が影響を及ぼさないような制御を行う必要がある。
【特許文献１】特開平１０−２８３３０９号公報
【特許文献２】特公平２−１７０２５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このような共通バスの構成をとった場合、例えば、ホストコントローラが、記憶メディアからファイルを読み出すような場合は、ＤＭＡ（ダイレクトメモリアクセス）による読み出しを行っている。この読み出しを行っている期間では、共通バスで接続されるＩ／Ｏデバイスに対しては、ＤＭＡが終了し、バススイッチをＩ／Ｏデバイス側へ切り替えるまでは、通常アクセスできない。よって、Ｉ／Ｏデバイスへアクセスする場合は、ＤＭＡの終了を待つか、記憶メディアへの読み出しを行っているＤＭＡを中断して、バススイッチをＩ／Ｏデバイスに切り替える必要があった。また記憶メディアからのファイルの読み出しを中断した後、再度、その記憶メディアにアクセスするときは、同一ファイルを初めから読み出す必要がある場合もあり、データの読み出し効率が悪いなどの問題があった。またＤＭＡの中断処理、バススイッチの切り替え等が必要で処理時間が比較的長くなるため、Ｉ／Ｏデバイスのアクセスが間に合わないといった場合もあった。
【０００６】
これに対して特許文献２では、共通バスで接続される第一のデバイスを一時的にウェイトさせて電気的に切断し、第二のデバイスへのアクセスを可能とする方式が提案されている。しかしこの方式では、第二のデバイスにアクセスしている間は、第一のデバイスへアクセスができないといった問題がある。
【０００７】
本発明の目的は、上記従来の問題点を解決することにある。
【０００８】
本発明の一態様によれば、第１のデバイスへアクセスしている間、使用していないバスの接続を第２のデバイスへ切り替える。これにより第１のデバイスにアクセスしている間でも第２のデバイスへのアクセスを可能にした共有バス制御装置及びその制御方法を提供できる。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明の一態様に係る共有バス制御装置は以下のような構成を備える。即ち、
共有バスを介して、複数のデバイスとホストコントローラとを接続する共有バス制御装置であって、
前記ホストコントローラと前記複数のデバイスの各々の間の制御バスとデータバスのそれぞれに接続され、前記ホストコントローラからの制御信号に応じてバスを切断或は接続する複数のバススイッチを有し、
前記ホストコントローラは、前記制御信号により、第１のデバイスが未使用の前記データバス或いは制御バスに接続されたバススイッチの接続を、第２のデバイスとの接続に切り換えることにより、前記ホストコントローラと前記第１及び第２のデバイスとの間でのアクセスを可能にし、前記第１のデバイスが前記データバス及び前記制御バスを使用している間に前記第２のデバイスへのアクセス要求が発生した場合、前記第１のデバイスが次に前記制御バスを使用するまでの時間間隔と、前記第２のデバイスが前記制御バスを使用する時間間隔とを比較した結果に応じて前記第２のデバイスに前記制御バスを割り当てるかどうかを判定することを特徴とする。
【００１０】
上記目的を達成するために本発明の一態様に係る共有バス制御装置の制御方法は以下のような工程を備える。即ち、
ホストコントローラと複数のデバイスの各々の間の制御バスとデータバスのそれぞれに接続され、前記ホストコントローラからの制御信号に応じてバスを切断或は接続する複数のバススイッチを有し、共有バスを介して前記複数のデバイスと前記ホストコントローラとを接続する共有バス制御装置の制御方法であって、
前記ホストコントローラからの制御信号により、第１のデバイスが未使用の前記データバス或いは制御バスに接続されたバススイッチの接続を、第２のデバイスとの接続に切り換えることにより、前記ホストコントローラと前記第１及び第２のデバイスとの間でのアクセスを可能にし、前記第１のデバイスが前記データバス及び前記制御バスを使用している間に前記第２のデバイスへのアクセス要求が発生した場合、前記第１のデバイスが次に前記制御バスを使用するまでの時間間隔と、前記第２のデバイスが前記制御バスを使用する時間間隔とを比較し、その比較結果に応じて前記第２のデバイスに前記制御バスを割り当てるかどうかを判定することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、第１のデバイスへアクセスしている間、使用していないバスの接続を第２のデバイスへ切り替えることにより、第１のデバイスにアクセスしている間でも第２のデバイスへのアクセスを可能にできる効果がある。
【発明を実施するための最良の形態】
【００１２】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１３】
図１は、本発明の実施の形態に係る記憶メディアとＩ／Ｏデバイスを共通バスとして使用した共有バス制御装置の一例を示すブロック図である。
【００１４】
１００はマイクロコンピュータ（マイコン）であり、記憶メディア(第１のデバイス）１０２及びＩ／Ｏデバイス(第２のデバイス）１０３にアクセスが可能なホストコントローラ１０１を内蔵している。ホストコントローラ１０１は、接続される記憶メディアの規格に則った通信方式、電気特性の要件を満たした仕様のコントローラである。ＣＰＵ１１０はマイコン１００に内蔵されているＣＰＵで、そのメモリ１１１に記憶されているプログラムに従って、ホストコントローラ１０１の制御、及び後述するバススイッチの制御等を行う。記憶メディア１０２は、その記憶メディア１０２の規格に則ってホストコントローラ１０１と通信することで、その記憶メディア１０２に内蔵されているフラッシュメモリへのデータの書き込み、そのメモリからの読み出しが可能である。
【００１５】
本実施の形態に係るホストコントローラ１０１と記憶メディア１０２とは、コマンドバス(制御バス）（ＣＭＤ）、データバス（DAT[3：0]）とクロック（CLK）(不図示)によりインターフェイスを行う。ホストコントローラ１０１と記憶メディア１０２との間にはバススイッチ１０４及びバススイッチ１０５が設けられ、これらバススイッチ１０４，１０５によりコマンドバス及びデータバスは電気的に接続／切断できる構成となっている。記憶メディア１０２とバススイッチ１０４，１０５との間の信号は、コマンドバスはCMD_Aで表し、データバスは、DAT_A[3：0]で表している。
【００１６】
一方、Ｉ／Ｏデバイス(第２のデバイス）１０３は共通バスで接続されている。ホストコントローラ１０１とＩ／Ｏデバイス１０３との間にはバススイッチ１０６，１０７が設けられ、これらバススイッチ１０６，１０７によりコマンドバス及びデータバスが電気的に接続／切断できる構成となっている。Ｉ／Ｏデバイス１０３とバススイッチ１０６，１０７との間の信号は、コマンドバスはCMD_Bで表し、データバスは、DAT_B[3：0]で表している。
【００１７】
バススイッチ１０４は、マイコン１００よりの制御信号OE_A0によって電気的に接続／切断を切り替える。即ち、制御信号OE_A0がハイレベルのときバススイッチ１０４は電気的に接続し、制御信号OE_A0がロウレベルのときに電気的に切断される。同様に、バススイッチ１０５は、制御信号OE_A1がハイレベルのときに電気的に接続され、制御信号OE_A1がロウレベルのときに電気的に切断される。
【００１８】
また同様にバススイッチ１０６は、制御信号OE_B0がハイレベルのときに電気的に接続され、制御信号OE_B0がロウレベルのときに電気的に切断される。更にバススイッチ１０７は、制御信号OE_B1がハイレベルのときに電気的に接続され、制御信号OE_B1がロウレベルのときに電気的に切断される。またコマンドバスCMD，CMD_A，CMD_B，データバスDAT[3:0]，DAT_A[3:0]，DAT_B[3:0]はそれぞれプルアップ抵抗を介して電源電圧に接続されているため、これらが切断された場合は、それぞれハイレベルになる。
【００１９】
次に図２、図３及び図４のタイミングチャートを用いて、本実施の形態に係るホストコントローラ１０１、記憶メディア１０２、及びＩ／Ｏデバイス１０３のインターフェイスについて詳細に説明する。
【００２０】
図２は、ＤＭＡにより、ホストコントローラ１０１が、記憶メディア１０２からデータを読み出しているタイミングを説明するタイミング図である。
【００２１】
バススイッチ１０４〜１０７に関して、制御信号OE_A0とOE_A1がハイレベル、制御信号OE_B0とOE_B1がロウレベルとなっている。従って、バススイッチ１０４，１０５が電気的に接続された状態で、バススイッチ１０６，１０７が電気的に切断された状態である。よって、ホストコントローラ１０１は、バススイッチ１０４，１０５を介して記憶メディア１０２と接続した状態にあり、Ｉ／Ｏデバイス１０３とは切断された状態にある。
【００２２】
ホストコントローラ１０１が、図２の(2)のタイミングで、コマンドバスCMDにコマンド２０１を発行する。このコマンド２０１は、バススイッチ１０４を介してコマンドバスCMD_Aに、コマンドバスCMD上のコマンド信号と同じコマンド信号として送信され、記憶メディア１０２がこのコマンド２０１を受け取る。このコマンド２０１は、記憶メディア１０２からＤＭＡでデータの読み出しを指示するコマンドである。
【００２３】
これに対して図２の(4)のタイミングでは、記憶メディア１０２から、前述のＤＭＡリードコマンド２０１に対する応答コマンド（RSP(DMA)）がホストコントローラ１０１へ送信される。記憶メディア１０２からコマンドバスCMD_Aにこの応答コマンドRSP(DMA)が発行されると、このコマンドはバススイッチ１０４を介してコマンドバスCMDへ送信され、ホストコントローラ１０１はこれを受信する。こうしてホストコントローラ１０１が応答コマンドを受信すると、図２の(7)〜(13)のタイミングでＤＭＡによるデータの読み出しが行われる。ここではＤＭＡリードコマンドで指定された数のデータ（Ｄ0〜Ｄn）２０３が、記憶メディア１０２からホストコントローラ１０１へＤＭＡで送信される。このとき読み出されたデータ２０３は、記憶メディア１０２からデータバスDAT_A[3:0]へ送信され、バススイッチ１０５を介してデータバスDAT[3:0]へ送信される。こうしてホストコントローラ１０１は、その記憶メディア１０２から読み出したデータをＤＭＡで受信する。そしてホストコントローラ１０１は、最後のデータ（Ｄn）を受信すると、図２の(13)のタイミングで、受信完了コマンド（CMD(STOP)）２０４を発行する。これはＤＭＡの受信を完了したコマンド(ストップコマンド）として記憶メディア１０２へ送信される。
【００２４】
これにより記憶メディア１０２は、そのストップコマンド２０４を受信し、図２の(15)のタイミングで、そのストップコマンド２０４に対するレスポンス（RSP(STOP)）２０５をコマンドバスCMD_Aに発行する。これによりホストコントローラ１０１は、バススイッチ１０４、コマンドバスCMDを介してそのレスポンス２０５を受信し、リードＤＭＡを完了する。
【００２５】
このＤＭＡによる記憶メディア１０２からのデータの読み出し期間（図２の(1)〜(16)の期間）は、Ｉ／Ｏデバイス１０３は、ホストコントローラ１０１と通信できない。即ち、コマンドバスCMD_B、データバスDAT_B[3:0]は、ホストコントローラ１０１のコマンドバス、データバスとは電気的に切断された状態になっている。このとき、コマンドバスCMD_B、データバスDAT_B[3:0]は、プルアップ抵抗によりハイレベルに維持されている。
【００２６】
図３は、ＤＭＡにより、ホストコントローラ１０１がＩ／Ｏデバイス１０３からデータを読み出しているタイミングを説明するタイミング図である。
【００２７】
この場合は前述の図２の場合とは逆に、制御信号OE_A0とOE_A1がロウレベル、制御信号OE_B0とOE_B1がハイレベルである。このため、バススイッチ１０４，１０５は電気的に切断された状態で、バススイッチ１０６，１０７は電気的に接続された状態である。よって、ホストコントローラ１０１はＩ／Ｏデバイス１０３と接続した状態で、記憶メディア１０２とは切断された状態にある。
【００２８】
いまホストコントローラ１０１が、図３の(2)のタイミングで、コマンドバスCMDにコマンド(CMD(DMA))３０１を発行する。このコマンド３０１は、バススイッチ１０６を介してコマンドバスCMD_Bに送信され、Ｉ／Ｏデバイス１０３がこのコマンド３０１を受け取る。このコマンド３０１は、Ｉ／Ｏデバイス１０３からＤＭＡでデータの読み出しを行うように指示するコマンドである。次に図３の(4)のタイミングで、Ｉ／Ｏデバイス１０３が、そのコマンド３０１に対するレスポンス３０２をコマンドバスCMD_Bに発行する。このレスポンス３０２は、バススイッチ１０６、コマンドバスCMDを介してホストコントローラ１０１に送られる。こうしてレスポンス３０２をホストコントローラ１０１が受信すると、図３の(7)〜(13)のタイミングで、Ｉ／Ｏデバイス１０３からホストコントローラ１０１にＤＭＡでデータ３０３が送信される。ここでは、コマンド３０１で指定された数のデータ（Ｄ0〜Ｄn）３０３が、ホストコントローラ１０１へ送信される。このデータ３０３は、Ｉ／Ｏデバイス１０３からデータバスDAT_B[3:0]へ出力され、バススイッチ１０７、データバスDAT[3:0]を介してホストコントローラ１０１に入力される。
【００２９】
ホストコントローラ１０１は最後のデータ（Ｄn）を受信すると、図３の(13)のタイミングでストップコマンド（CMD(STOP)）３０４をコマンドバスCMDに発行する。Ｉ／Ｏデバイス１０３は、コマンドバスCMD、バススイッチ１０７、コマンドバスCMD_Bを介してストップコマンド３０４を受信する。そして図３の(15)のタイミングで、そのストップコマンド３０４に対するレスポンス３０５をコマンドバスCMD_Bに発行する。これによりホストコントローラ１０１は、バススイッチ１０６、コマンドバスCMDを介してレスポンス３０５を受信し、リードＤＭＡは完了する。
【００３０】
この期間（図３の(1)〜(16)の期間）は、記憶メディア１０２はホストコントローラ１０１とは通信できない。そして、そのコマンドバスCMD_A、データバスDAT_A[3:0]は、ホストコントローラ１０１のバスとは電気的に切断された状態になっている。よってコマンドバスCMD_A、データバスDAT_A[3:0]は、プルアップ抵抗でハイレベル状態に維持されている。
【００３１】
図４は、ホストコントローラ１０１が記憶メディア１０２からＤＭＡでデータの読み出しを行っている間に、ホストコントローラ１０１がＩ／Ｏデバイス１０３に対してアクセスする状態を説明するタイミング図である。
【００３２】
図４の(1)のタイミングでは、制御信号OE_A0とOE_A1がハイレベル、制御信号OE_B0とOE_B1がロウレベルである。このため、バススイッチ１０４，１０５は電気的に接続された状態で、バススイッチ１０６，１０７は電気的に切断された状態である。よって、ホストコントローラ１０１は、記憶メディア１０２と接続した状態である。
【００３３】
ホストコントローラ１０１は、図４の(2)のタイミングで、記憶メディア１０２に対してリードＤＭＡコマンド（CMD(DMA)）４０１をコマンドバスCMDに発行する。このコマンド４０１は、バススイッチ１０４、コマンドバスCMD_Aを介して記憶メディア１０２に送られる。そして、図４の(4)のタイミングで、記憶メディア１０２は、そのレスポンス（RSP(DMA)）４０２をコマンドバスCMD_Aに発行する。これによりホストコントローラ１０１は、記憶メディア１０２よりレスポンス４０２を受け取る。そして図４の(7)のタイミングから、ホストコントローラ１０１は、記憶メディア１０２からＤＭＡによるデータの受信を開始する。
【００３４】
次に図４の(7)のＤＡＭ転送中のタイミングで、ホストコントローラ１０１からＩ／Ｏデバイス１０３に対してアクセスしたい事態が発生した場合を考える。この場合、図４の(7)のタイミングで、制御信号OE_A0をロウレベルに、制御信号OE_B0をハイレベルに切り替える。これによって未使用のコマンドバスCMDに接続されたバススイッチ１０４が切断され、代わりにバススイッチ１０６が接続された状態になる。こうしてコマンドバスCMDは、バススイッチ１０６を介してＩ／Ｏデバイス１０３のコマンドバスCMD_Bと接続された状態になり、記憶メディア１０２のコマンドバスCMD_Aとは切断された状態になる。
【００３５】
一方、ホストコントローラ１０１のデータバスDAT[3:0]はＩ／Ｏデバイス１０３のデータバスDAT_B[3:0]とは切断された状態で、記憶メディア１０２のデータバスDAT_A[3:0]とは接続されたままである。従って、図４の(7)から(11)の期間では、ホストコントローラ１０１は、記憶メディア１０２からのデータをＤＭＡで受信しながら、コマンドバスCMDを使用してＩ／Ｏデバイス１０３にアクセスできる。
【００３６】
こうして図４のタイミング(8)で、Ｉ／Ｏデバイス１０３に対してコマンド（CMD(IO)）４０３を発行し、図４のタイミング(10)で、それに対するレスポンス（RSP(IO)）４０４を受信できる。そしてホストコントローラ１０１は、記憶メディア１０２から最後のデータ（Ｄn）を受信すると、図４の(13)のタイミングでストップコマンド（CMD(STOP)）４０５をコマンドバスCMDに発行する。そして図４の(15)のタイミングで、記憶メディア１０２は、そのストップコマンド４０５に対するレスポンス４０６をコマンドバスCMD_Aに発行する。これによりホストコントローラ１０１は、バススイッチ１０４、コマンドバスCMDを介してレスポンス４０６を受信して、記憶メディア１０２からのリードＤＭＡが完了する。
【００３７】
このようにして例えば、Ｉ／Ｏデバイス１０３が、ステッピングモータコントローラである場合、ある時間に、そのモータの速度制御を行うためにＩ／Ｏデバイス１０３にアクセスしたい場合がある。そのような場合でも、記憶メディア１０２からのＤＭＡによるデータの読み出しを停止することなく、Ｉ／Ｏデバイス１０３にアクセスすることが可能になる。
【００３８】
次に図５を参照して、図４で説明したように、ホストコントローラ１０１が記憶メディア１０２からＤＭＡリードを行っている途中で、Ｉ／Ｏデバイス１０３に対してアクセスを行う制御について説明する。
【００３９】
図５は、本実施の形態に係るホストコントローラ１０１による処理を説明するフローチャートである。この処理を実行するプログラムはメモリ１１１に記憶されており、この処理はＣＰＵ１１０の制御の下に実行される。
【００４０】
先ずステップＳ５０１で、ＣＰＵ１１０が、ホストコントローラ１０１に対して、記憶メディア１０２からのＤＭＡによるデータの読み出しの開始を指示する。次にステップＳ５０２では、ＣＰＵ１１０が、記憶メディア１０２からのデータの読み出し(ＤＭＡ転送中）中にＩ／Ｏデバイス１０３へのアクセス要求が発生したかどうかを判定する。Ｉ／Ｏデバイス１０３へのアクセス要求が無い場合はステップＳ５０５へ進み、そのＤＭＡ転送によるデータの読み出しが完了したか否かを判定する。ここでＤＭＡ転送が終了すればステップＳ５０６へ進んで処理を終了する。
【００４１】
一方ステップＳ５０２で、Ｉ／Ｏデバイス１０３へのアクセス要求がある場合はステップＳ５０３に進み、ホストコントローラ１０１は、リードＤＭＡを開始してから次のコマンドを発行するまでの時間を計測している。次のコマンドはストップコマンドであり、図４の(13)のタイミングで発行する。このタイミングで、Ｉ／Ｏデバイス１０３へのアクセスを行うことはできない。従って、Ｉ／Ｏデバイス１０３へのアクセスに要する時間と、ＤＭＡ中に次のコマンド（ストップコマンド）を発行するまでの時間を比較する。そしてその比較結果に基づいて、Ｉ／Ｏデバイス１０３へのアクセスに要する時間間隔(期間）が、現在実行中のＤＭＡで次のコマンド（ストップコマンド）を発行するまでの時間間隔で間に合うかどうかを判定する。ここでＩ／Ｏデバイス１０３のコマンド発行が可能（間に合う）と判定するとステップＳ５０４に進んで、Ｉ／Ｏデバイス１０３へのアクセスを行う。一方、ステップＳ５０３で、不可能であると判定するとステップＳ５０５に進んで、ＤＭＡ転送の終了を待つ。
【００４２】
ステップＳ５０４では、前述の図４を参照して説明したように、バススイッチ１０４を切断してバススイッチ１０６を接続する。そしてコマンドバスCMDと、バススイッチ１０６、コマンドバスCMD_Bを介して、ホストコントローラ１０１からＩ／Ｏデバイス１０３に対してコマンドを発行する。
【００４３】
ここで図４及び図５では、記憶メディア１０２からＤＭＡによるデータの読み出し中にＩ／Ｏデバイス１０３に対してアクセスを行う例を示した。しかし、記憶メディア１０２にＤＭＡでデータを書き込んでいる間でも同様にしてＩ／Ｏデバイス１０３にアクセスできる。
【００４４】
また逆に、Ｉ／Ｏデバイス１０３にＤＭＡでアクセスしている間に、記憶メディア１０２にコマンドを発行する場合でも、同様にして実行できることは容易に理解されるであろう。
【００４５】
また図４及び図５の実施の形態では、Ｉ／Ｏデバイス１０３が１つである構成としたが、Ｉ／Ｏデバイス１０３は２つ以上であっても、同様なバススイッチで制御することができる。
【００４６】
［実施の形態２］
図６は、本発明の実施の形態２に係る共有バス制御装置の構成を説明する図である。この図６において、図１と共通する部分は同じ記号で示し、それらの説明を省略する。
【００４７】
図６は、図１のバススイッチ１０４〜１０７を、Ｉ／Ｏデバイス６０１の内部に実装した例で示している。
【００４８】
図６では、バススイッチ１０４，１０５で制御されるコマンドバス及びデータバスは、Ｉ／Ｏデバイス６０１を一旦通過して記憶メディア１０２と接続されている。またバススイッチ１０６，１０７で制御されるコマンドバス及びデータバスは、例えば、Ｉ／Ｏデバイス６０１に内蔵されるステッピングモータコントローラ６０２に接続されている。
【００４９】
図６のような構成によれば、バススイッチ１０４〜１０７をＩ／Ｏデバイス６０１の内部に設けたことにより、バススイッチを回路基板上に設ける必要がなく、コスト的に有利な場合がある。
【図面の簡単な説明】
【００５０】
【図１】本発明の実施の形態に係る記憶メディアとＩ／Ｏデバイスを共通バスとして使用した共有バス制御装置の一例を示すブロック図である。
【図２】本発明の実施の形態において、ＤＭＡにより、ホストコントローラが記憶メディアからデータを読み出しているタイミングを説明するタイミング図である。
【図３】本発明の実施の形態において、ＤＭＡにより、ホストコントローラがＩ／Ｏデバイスからデータを読み出しているタイミングを説明するタイミング図である。
【図４】本発明の実施の形態において、ホストコントローラが記憶メディアからＤＭＡでデータの読み出しを行っている間に、ホストコントローラがＩ／Ｏデバイスに対してアクセスする状態を説明するタイミング図である。
【図５】本実施の形態に係るホストコントローラによる処理を説明するフローチャートである。
【図６】本発明の実施の形態２に係る共有バス制御装置の構成を説明するブロック図である。
【図１】
0005166922.tif 000002
【図２】
0005166922.tif 000003
【図３】
0005166922.tif 000004
【図４】
0005166922.tif 000005
【図５】
0005166922.tif 000006
【図６】
0005166922.tif 000007