(57)【要約】【課題】接続形態を拡張して複数のターゲットＬＳＩと双方向信号線を共有して双方向通信を行う場合においても対応可能な情報処理装置が求められていた。【解決手段】本発明の情報処理装置は双方向にデータの入出力が可能な双方向バッファの入出力方向を制御する方向制御部と、双方向バッファが出力方向である間に、双方向バッファを用いて外部装置へデータ転送指示情報を送信する制御情報送信部と、データ転送指示情報送信後の所定のタイミングで外部装置より転送されるデータを、入力方向に切り換えられた双方向バッファを用いて受信するデータ受信部とを備える。方向制御部は、データ転送指示情報送信後であって、データ転送指示情報に基づいて信号線に接続された外部装置内の双方向バッファが入力方向から出力方向へ切り換えられるタイミング以前に双方向バッファの方向を出力方向から入力方向へ切り換える。【選択図】図１
2013142951.tif 000002
【特許請求の範囲】
【請求項１】
双方向にデータの送受信可能な信号線を用いて第１外部装置と通信を行う情報処理装置であって、
前記信号線に接続され、双方向にデータの入出力が可能な双方向バッファと、
前記双方向バッファの入出力方向を制御する方向制御部と、
前記方向制御部による制御に基づいて前記双方向バッファが出力方向である間に、前記双方向バッファを用いて前記第１外部装置へデータ転送指示情報を送信する制御情報送信部と、
前記データ転送指示情報送信後の所定のタイミングで前記第１外部装置より転送されるデータを、前記方向制御部による制御に基づいて入力方向に切り換えられた前記双方向バッファを用いて受信するデータ受信部と、
を備え、
前記方向制御部は、前記データ転送指示情報送信後であって、前記第１外部装置が前記データ転送指示情報に基づいて前記信号線に接続された前記第１外部装置内の双方向バッファを入力方向から出力方向へ切り換えるタイミング以前に前記双方向バッファを出力方向から入力方向に切り換える、
情報処理装置。
【請求項２】
前記信号線には第２外部装置が更に接続され、
前記制御情報送信部は、前記第１外部装置に対するデータ転送指示情報送信後であって、前記方向制御部が前記双方向バッファを出力方向から入力方向に切り換える前に、前記信号線を介して第２外部装置にデータを送信する、
請求項１に記載の情報処理装置。
【請求項３】
前記信号線には第２外部装置が更に接続され、
前記データ受信部は、前記双方向バッファの切り替え後であって、前記第１外部装置より前記データ転送指示情報に基づくデータ転送が開始される前に前記第２外部装置より送信されるデータを受信する、
請求項１に記載の情報処理装置。
【請求項４】
双方向にデータの送受信可能な複数の信号線を共有して複数の外部装置と通信を行う、
請求項２又は３に記載の情報処理装置。
【請求項５】
前記複数の信号線にそれぞれ接続される双方向にデータの入出力が可能な複数の双方向バッファを更に備え、
前記方向制御部は、前記複数の双方向バッファの入出力方向を制御する、
請求項４に記載の情報処理装置。
【請求項６】
前記制御情報送信部は、前記第１外部装置に対するデータ転送指示情報送信後であって、前記方向制御部が前記複数の双方向バッファの方向を出力方向から入力方向に切り換える前に、前記複数の信号線の中から選択した第１の信号線を用いて前記第２外部装置にデータを送信し、前記複数信号線の中から選択した第２の信号線を用いて第３外部装置にデータを送信する、
請求項５に記載の情報処理装置。
【請求項７】
前記データ受信部は、前記双方向バッファの切り替え後であって、前記第１外部装置より前記データ転送指示情報に基づくデータ転送が開始される前に、前記複数の信号線の中から選択した第１の信号線を用いて前記第２外部装置より送信されるデータを受信し、前記複数信号線の中から選択した第２の信号線を用いて第３外部装置より送信されるデータを受信する、
請求項５に記載の情報処理装置。
【請求項８】
前記方向制御部が前記双方向バッファの入出力方向を切り替えるタイミングを設定する設定部を更に備え、
前記設定部は、前記データ転送指示情報の送信が完了した時点からデータ転送が開始される時点までの期間に関する情報に基づいて前記双方向バッファの入出力方向の切り替えタイミングを設定する、
請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記方向制御部が前記双方向バッファの入出力方向を切り替えるタイミングを設定する設定部を更に備え、
前記設定部は、前記第１外部装置が前記データ転送指示情報に基づいて前記信号線に接続された前記第１外部装置内の双方向バッファを入力方向から出力方向へ切り換えるタイミングに関する情報に基づいて前記双方向バッファの入出力方向の切り替えタイミングを設定する、
請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項１０】
前記設定部は、複数の外部装置が前記信号線を共有して接続されている場合に、単数の外部装置が前記信号線に接続されている場合と比較して、前記双方向バッファの入出力方向の切り替えタイミングが遅くなるように設定することを特徴とする、
請求項８又は９に記載の情報処理装置。
【請求項１１】
前記設定部は、前記複数の外部装置が前記信号線を共有して接続されている場合に、前記データ転送指示情報の送信が完了した時点から前記データ転送が開始される時点までの期間の後半で前記切り替えタイミングを設定し、前記単数の外部装置が前記信号線に接続されている場合に、前記データ転送指示情報の送信が完了した時点から前記データ転送が開始される時点までの期間の前半で前記切り替えタイミングを設定することを特徴とする、
請求項１０に記載の情報処理装置。
【請求項１２】
前記データ転送指示情報の送信が完了した時点から前記データの転送が開始される時点までの期間を記憶する第１記憶部と、
前記設定部が設定する切り替えタイミングを記憶する第２記憶部と、
を更に備え、
前記方向制御部は、前記第１記憶部と前記第２記憶部とにそれぞれ記憶されている情報に基づいて前記双方向バッファの入出力方向を制御する制御信号を出力する、
請求項１１に記載の情報処理装置。
【請求項１３】
双方向にデータの送受信可能な信号線を共有して複数の外部装置と通信を行う情報処理装置で用いられる通信方法であって、
前記信号線に接続されて双方向にデータの入出力が可能な双方向バッファを用いて第１制御情報を第１外部装置に送信し、
前記双方向バッファを用いて前記第１制御情報に続いて第２制御情報を第２外部装置に送信し、
前記双方向バッファを出力方向から入力方向に切り替え、
前記入力方向に切り替えられた前記双方向バッファを用いて前記第１外部装置より送信される転送データを受信する、通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、双方向にデータの送受信可能な双方向信号線を用いて外部装置と通信を行う情報処理装置に関する。
【背景技術】
【０００２】
共通の信号線で双方向に通信を行う通信方式では、双方向バッファを用いて通信方向を制御する技術が用いられる。特許文献１には、メモリの入出力に接続される第１の双方向バッファとＩ／Ｏの入出力に接続される第２の双方向バッファとを利用してＤＭＡ（Direct Memory Access）を行う情報処理装置が開示されている。
【０００３】
上記特許文献１の情報処理装置では、ＤＭＡ転送時に各バッファの転送方向を予め決定する転送方向設定手段を備えていることを特徴とする。当該構成とすることで両方向からの出力が競合して過電流が生じることによりバッファ素子が破壊されることを防止している。
【０００４】
また、特許文献２には、伝送効率を向上させた双方向通信回路が開示されている。当該双方向通信回路では、送受信方向を切り替える切替指示情報を含む制御信号を周期的にやり取りすることで、双方向通信ケーブルに接続されたホスト装置とターゲット装置の両装置が送受信方向を周期的に切り替えて送信権を獲得する。当該構成とすることで、ターゲット装置であっても自主的に送信権を獲得してデータ送信を行えるため伝送効率を向上させることが可能となる。
【０００５】
また、端子数削減のためにコマンドやアドレス等の制御情報と実際のデータの転送との間で共通の信号線を利用する通信方式の開発も進められている。非特許文献１には、このような通信方式を利用する装置の一つであるシリアル型フラッシュメモリが開示されている。
【０００６】
上記非特許文献１における接続構成を図１６に示す。コントローラ機能を有し、アクセス要求を発行する情報処理装置（以下、ホストＬＳＩと称する）９１０と、アクセス対象となるシリアル型フラッシュメモリ（以下、ターゲットＬＳＩと称する）９２０とが信号線９３０を介して接続されている。
【０００７】
図１６に示すように、両ＬＳＩ外部端子に双方向Ｉ／Ｏバッファがそれぞれ使用され、両端に双方向Ｉ／Ｏバッファが接続されたｎ本の信号線９３０で互いに接続される構成とすることで双方向通信を可能としている。
【０００８】
ホストＬＳＩ９１０への転送動作（リード転送）では、まず制御情報（コマンド、アドレス等）をホストＬＳＩ９１０からターゲットＬＳＩ９２０へ信号線９３０を介して送信する。その後、同一の信号線９３０上でリードデータの転送を行う。すなわち、ホストＬＳＩ９１０からターゲットＬＳＩ９２０への転送（制御情報）とその逆方向の転送（リードデータの転送）との両方で共通の信号線９３０が利用される。
【０００９】
ホストＬＳＩ９１０は、制御情報の転送からリードデータ転送への移行時に方向制御信号（以下ＤＩＲと称する）を双方向Ｉ／Ｏバッファ９１１へ入力することで双方向Ｉ／Ｏバッファ９１１の方向切り替え制御を行う。方向切り替え制御は、制御情報とリードデータ転送の間に設けられたダミーサイクル中に行われる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平５−１２０２０１号公報
【特許文献２】特開２００８−１４１５２５号公報
【非特許文献】
【００１１】
【非特許文献１】MX25L3235D SERIAL FLASH SPECIFICATION    インターネット＜ＵＲＬ：    http://www.macronix.com/QuickPlace/hq/PageLibrary4825740B00298A3B.nsf/h_Index/3F21BAC2E121E17848257639003A3146/$File/MX25L3235D,%203V,%2032Mb,%20v1.5.pdf  ＞  ２０１１年５月６日
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上記非特許文献１に開示されているシリアル型フラッシュメモリにアクセスする場合において、ホストＬＳＩ側は、ダミーサイクル期間内のどのタイミングで双方向Ｉ／Ｏバッファ（以下、Ｉ／Ｏバッファと略する。）を出力方向から入力方向へ切り替えるべきかが問題となることがある。
【００１３】
ここで、一例として、ホストＬＳＩは、ダミーサイクル中はＩ／Ｏバッファを出力方向に維持し、ダミーサイクル終了時（リードデータ転送開始時）に入力方向へ切り替える制御を行うとする。
【００１４】
この場合は、特にクロック信号が高速になった場合に入力方向への切り替えからリードデータ転送開始までの時間的余裕がなくなりタイミング設計が困難になる可能性がある。
【００１５】
また、図１３に示すように、上記タイミングでＩ／Ｏバッファの方向を切り替える制御を行っても、Ｉ／Ｏバッファの方向切り替え制御回路やＩ／Ｏバッファ自身が持つ遅延により、実際に切り替わるタイミングが遅れる場合がある。すなわち、実際のＩ／Ｏバッファの切り替わりタイミングが図１３に示す時刻τ２となり、リードデータ転送開始タイミング（時刻τ１）を割り込む可能性がある。
【００１６】
この状況でターゲットＬＳＩがリードデータ転送開始タイミング（すなわち時刻τ１）で出力方向への切り替えを行うと、時刻τ１からτ２までの期間において、両方のＬＳＩがＩ／Ｏバッファを同時に出力方向（Ｏｕｔｐｕｔ）に設定することになる。すなわち、１本の信号線を対向する二つのＬＳＩが同時にドライブすることにより、出力の衝突が発生する。
【００１７】
この場合、想定外の過電流がホストＬＳＩとターゲットＬＳＩのＩ／Ｏバッファに流れることになるため、Ｉ／Ｏバッファを内蔵したホストＬＳＩ、ターゲットＬＳＩ、及び両者を含んだシステムの寿命及び信頼性に影響を与える懸念がある。
【００１８】
なお、このような出力の衝突は、ターゲットＬＳＩ側のＩ／Ｏバッファの方向切り替わりタイミング（入力から出力）がダミーサイクル終了前であっても、ホストＬＳＩ側で方向切り替え遅延が大きい場合や、ターゲットＬＳＩ側のデータ送出がホストＬＳＩの想定よりも早い場合には発生し得る。
【００１９】
そこで、ホストＬＳＩのＩ／Ｏバッファの方向切り替わりをターゲットＬＳＩからのリードデータ転送に間に合わせるためには、ホストＬＳＩは、ダミーサイクルの開始段階（すなわち制御情報送信完了の直後）に入力方向へ切り替える制御を行うことが確実である。ダミーサイクルの開始タイミングでホストＬＳＩのＩ／Ｏバッファの方向が切り替わることで、上述した出力の衝突という問題を回避することができる。
【００２０】
しかしながら、ダミーサイクルの開始段階でバッファ方向の切り替えを行うことは、図１４に示すようにホストＬＳＩに対して複数のターゲットＬＳＩ（＃０〜＃Ｎ）が信号線を共有した状態で接続される構成を取る場合には別の問題が発生する可能性がある。
【００２１】
図１５に示すように、ホストＬＳＩがターゲットＬＳＩ＃０と通信を行っている場合において、ホストＬＳＩが入力状態へ切り替えてからターゲットＬＳＩ＃０が出力を開始するまでの期間（τ３からτ１の間）では、信号線はどちら側からも信号が駆動されないハイインピーダンス状態になる。この状態の信号線は電源（ＶＤＤ）とグラウンド（ＧＮＤ）のどちらにも接続されず、ノイズの影響を受けやすい状態にある。
【００２２】
ここで、通信を行っていないターゲットＬＳＩ＃１〜Ｎは、ホストＬＳＩとターゲットＬＳＩ＃０間の通信を阻害しないようにＩ／Ｏ端子をそれぞれ入力状態に維持している。その結果、各ターゲットＬＳＩ＃１〜Ｎでは、ハイインピーダンス状態の信号線に乗ったノイズを入力されることによる誤動作のリスクが発生する。
【００２３】
上記ノイズの影響を抑える為には、ホストＬＳＩのＩ／Ｏバッファ切り替えタイミングからターゲットＬＳＩ＃０のバッファ切り替えタイミングまでの期間を短く設定できることが好ましい。
【００２４】
しかしながら、背景技術に係るホストＬＳＩは、切り替えタイミングがダミーサイクル内で固定されていたため、接続形態を拡張することに伴い生じ得る上記問題について柔軟に対応できなかった。
【課題を解決するための手段】
【００２５】
本発明の情報処理装置は、双方向にデータの送受信可能な信号線を用いて第１外部装置と通信を行う情報処理装置であって、前記信号線に接続され、双方向にデータの入出力が可能な双方向バッファと、前記双方向バッファの入出力方向を制御する方向制御部と、前記方向制御部による制御に基づいて前記双方向バッファが出力方向である間に、前記双方向バッファを用いて前記第１外部装置へデータ転送指示情報を送信する制御情報送信部と、前記データ転送指示情報送信後の所定のタイミングで前記第１外部装置より転送されるデータを、前記方向制御部による制御に基づいて入力方向に切り換えられた前記双方向バッファを用いて受信するデータ受信部と、を備え、前記方向制御部は、前記データ転送指示情報送信後であって、前記第１外部装置が前記データ転送指示情報に基づいて前記信号線に接続された前記第１外部装置内の双方向バッファを入力方向から出力方向へ切り換えるタイミング以前に前記双方向バッファの方向を出力方向から入力方向に切り換える。
【００２６】
当該構成によれば、双方向バッファを柔軟なタイミングで切り替えることで、出力の衝突を回避することができると共に外部装置の接続構成の拡張が容易となる。
【００２７】
また、本発明の通信方法は、双方向にデータの送受信可能な信号線を共有して複数の外部装置と通信を行う情報処理装置で用いられる通信方法であって、前記信号線に接続されて双方向にデータの入出力が可能な双方向バッファを用いて第１制御情報を第１外部装置に送信し、前記双方向バッファを用いて前記第１制御情報に続いて第２制御情報を第２外部装置に送信し、前記双方向バッファを出力方向から入力方向に切り替え、前記入力方向に切り替えられた前記双方向バッファを用いて前記第１外部装置より送信される転送データを受信する。
【００２８】
当該構成によれば、外部装置が制御情報を受信してからデータ転送を開始するまでの空き時間を有効に利用して他の外部装置に情報を送信できるため、伝送効率を向上させることができる。
【発明の効果】
【００２９】
本発明によれば、単数のターゲットＬＳＩと接続して双方向通信を行う場合や、接続形態を拡張して複数のターゲットＬＳＩで双方向信号線を共有して双方向通信を行う場合においても対応可能な情報処理装置及び通信方法を提供することが可能となる。
【図面の簡単な説明】
【００３０】
【図１】実施の形態１に係るホストＬＳＩ（情報処理装置）の構成を示すブロック図である。
【図２】実施の形態１に係るホストＬＳＩとターゲットＬＳＩ（外部装置）の接続構成を示す図である。
【図３】実施の形態１に係るリード転送の信号波形を示す図である。
【図４】実施の形態１に係る双方向バッファの切り替えタイミングを示す図である。
【図５】実施の形態１に係るホストＬＳＩに複数のターゲットＬＳＩが信号線を共有して接続される状態を示す図である。
【図６】実施の形態１に係るホストＬＳＩに複数のターゲットＬＳＩが信号線を共有して接続される場合における双方向バッファの切り替えタイミングを示す図である。
【図７】実施の形態２に係るホストＬＳＩの構成を示すブロック図である。
【図８】実施の形態２に係る切り替えタイミングの指定方法を説明する図である。
【図９】実施の形態２の別形態に係るホストＬＳＩの構成を示すブロック図である。
【図１０】実施の形態２の別形態に係る切り替えタイミングの指定方法を説明する図である。
【図１１】実施の形態３に係るホストＬＳＩの動作を示すタイミングチャート図である。
【図１２】実施の形態３に係るホストＬＳＩの別の動作を示すタイミングチャート図である。
【図１３】ホストＬＳＩ側の双方向バッファの切り替えが遅延した場合に発生する問題を説明する図である。
【図１４】本発明のホストＬＳＩと複数のターゲットＬＳＩとの接続構成を示す図である。
【図１５】複数のターゲットＬＳＩが接続されている場合のハイインピーダンス区間を説明する図である。
【図１６】背景技術に係るホストＬＳＩとターゲットＬＳＩとの接続構成を示す図である。
【発明を実施するための形態】
【００３１】
本発明の実施の形態について以下に図面を参照して説明する。以下の説明は、本発明の好適な実施の形態を示すものであって、本発明の範囲が以下の実施の形態に限定されるものではない。以下の説明において、同一の符号が付されたものは実質的に同様の内容を示している。
【００３２】
（実施の形態１）
以下、図面を参照して本発明の実施の形態１について説明する。図１は、本実施の形態１に係る情報処理装置であるホストＬＳＩ１００の構成を示すブロック図である。ホストＬＳＩ１００は、双方向Ｉ／Ｏバッファ１１０と、方向制御部１２０と、制御情報送信部１３０と、転送データ受信部１４０と、を備える。
【００３３】
双方向Ｉ／Ｏバッファ１１０は、方向制御部１２０が行う切り替え制御に基づいて双方向にデータの入出力が可能なバッファである。双方向Ｉ／Ｏバッファ１１０は、外部端子を介して双方向にデータの送受信が可能な信号線に接続されている。以下、双方向Ｉ／Ｏバッファを単にＩ／Ｏバッファと略して説明する。
【００３４】
Ｉ／Ｏバッファ１１０は具体的にスリーステートバッファであり、ハイとロウの出力状態に加えて、ハイインピーダンス状態を取ることが可能な素子である。  
【００３５】
方向制御部１２０は、Ｉ／Ｏバッファ１１０の入出力方向を制御する。方向制御部１２０は、ダミーサイクル期間内に方向制御信号（ＤIＲ）をＩ／Ｏバッファ１１０に出力することで、Ｉ／Ｏバッファ１１０の出力方向の切り替えを行う。
【００３６】
ここで、ダミーサイクル期間とは、ホストＬＳＩ１００からのデータ転送指示情報の送信が完了した時点からターゲットＬＳＩからのデータ転送が開始される時点までの期間を言う。ターゲットＬＳＩがデータ転送指示情報を受け取ってからデータ転送を開始するまでの時間的制約を緩和するために当該ダミーサイクル期間が設けられている。
【００３７】
制御情報送信部１３０は、信号線に接続されているターゲットＬＳＩ８００に対してＩ／Ｏバッファ１１０を用いてデータ転送を指示する制御情報であるデータ転送指示情報を送信する。ここで、データ転送指示情報には、データ転送指示を意味するコマンド情報に加えてアクセス先のアドレス情報を含む。
【００３８】
転送データ受信部１４０は、方向制御部１２０における切り替え制御によって出力方向から入力方向に切り替えられたＩ／Ｏバッファ１１０を用いてターゲットＬＳＩ８００より同一の双方向信号線で転送されるデータを受信する。
【００３９】
次に、ホストＬＳＩ１００の動作について説明する。ここでは、図２に示すようにホストＬＳＩ１００が、４本の双方向信号線１０−０〜１０−３によって１つの外部装置であるターゲットＬＳＩ８００と接続されている場合について説明する。なお、以下の説明では、ターゲットＬＳＩ８００をシリアル型フラッシュメモリであるとし、信号線１０−０〜１０−３をそれぞれSI/SIO0、SO/SIO1、WP#/SIO2、NC/SIO3と称することがある。
【００４０】
また、当該構成において、ホストＬＳＩ１００のＩ／Ｏバッファ１１０は、信号線（SI/SIO0、SO/SIO1、WP#/SIO2、NC/SIO3）にそれぞれ接続する第１から第４の４つのＩ／Ｏバッファ１１０−０〜１１０−３で構成される。方向制御部１２０は、各Ｉ／Ｏバッファ１１０−０〜１１０−３に対して個別に入出力方向を制御する方向制御信号であるＤＩＲ［０］〜ＤＩＲ［３］をそれぞれ出力する。
【００４１】
図３は、具体的に通信で用いられる４本の信号線（SI/SIO0、SO/SIO1、WP#/SIO2、NC/SIO3）におけるリード転送の波形を示している。図３の例では、サイクル０から１３までが制御情報の転送であり、サイクル２０以降がリードデータの転送となる。また、ＣＳ＃はチップセレクト信号を、ＳＣＬＫはシステムクロック信号をそれぞれ示している。
【００４２】
制御情報送信部１３０は、０〜７サイクルの期間に８ビットの指示信号である特定のパタン（ＥＢｈ）をＩ／Ｏバッファ１１０−０に接続されたSI/SIO0を介してターゲットＬＳＩ８００に出力する。方向制御部１２０は、当該０〜７サイクルの期間、Ｉ／Ｏバッファ１１０−０を出力方向に設定し、その他のＩ／Ｏバッファ１１０−１〜１１０−３を入力方向に設定する。０〜７サイクルにおいて、SO/SIO1、WP#/SIO2、NC/SIO3に接続されているターゲットＬＳＩ８００のＩ／Ｏバッファ８１０−１〜８１０−３が入力方向に設定されている場合、Ｉ／Ｏバッファ１１０−１〜１１０−３はハイインピーダンス状態となる。
【００４３】
方向制御部１２０は、８サイクル目が開始されるタイミングで、Ｉ／Ｏバッファ１１０−１〜１１０−３に対する個別の方向制御信号ＤＩＲ[１]〜ＤＩＲ［３］をそれぞれ出力し、Ｉ／Ｏバッファ１１０−１〜１１０−３を出力方向に切り換える制御を行う。
【００４４】
制御情報送信部１３０は、上記の特定パタン（ＥＢｈ）送信終了後の８〜１３サイクルの６サイクル期間で、リード対象のアドレスを指定するアドレス情報をＩ／Ｏバッファ１１０−０〜１１０−３にそれぞれ接続された信号線（SI/SIO0、SO/SIO1、WP#/SIO2、NC/SIO3）を介してターゲットＬＳＩ８００に出力する。当該アドレス情報は、４本の信号線×６サイクルの２４ビットの制御情報である。
【００４５】
ターゲットＬＳＩ８００は、特定のパタン(ＥＢｈ)をSI/SIO0から受け取り、続けて４本の信号線（SI/SIO0、SO/SIO1、WP#/SIO2、NC/SIO3）からリード対象のアドレスを受け取ると、その後はこの４本の信号線をリードデータの転送に利用する。
【００４６】
ターゲットＬＳＩ８００は、リードデータの転送に先立ち、各信号線が接続されるＩ／Ｏ端子の方向を、ターゲットＬＳＩ８００から見て出力の方向に切り替える。図３の例では、１４〜１９サイクルがダミーサイクルとして規定されており、この６サイクル期間以内のタイミングで各Ｉ／Ｏ端子の方向が切り替えられる。
【００４７】
一方、ホストＬＳＩ１００では、ダミーサイクル期間内のタイミングであって、ターゲットＬＳＩ８００における出力方向への切り替えに対応できるタイミングで各ＤＩＲを出力することでＩ／Ｏバッファ１１０−０〜１１０−３の方向切り替え制御を行う。
【００４８】
図４は、ホストＬＳＩ１００とターゲットＬＳＩ８００でそれぞれＩ／Ｏバッファの入出力方向を切り替えるタイミングを示すタイミングチャート図である。
【００４９】
ターゲットＬＳＩ８００は、入出力切り替えの要求緩和のために設けられたダミーサイクルを有効利用するため、内部の双方向Ｉ／Ｏバッファ８１０−０〜８１０−３の入出力方向をダミーサイクル終了付近のタイミング（時刻τ１）で入力方向から出力方向に切り替える。
【００５０】
一方、ホストＬＳＩ１００は、リードデータ転送開始までの時間的な余裕を持たせるためにダミーサイクル開始直後のタイミング（時刻τ２）で第１〜第４の双方向バッファ１１０−０〜１１０−３を一斉に切り替える。
【００５１】
このようにホストＬＳＩ１００は、リードデータ転送開始に伴いターゲットＬＳＩ８００が内部のＩ／Ｏバッファを出力ドライブするタイミング（時刻τ１）よりも十分な時間的余裕を持ってＩ／Ｏバッファ１１０−０〜１１０−３の入力方向への切り替えを完了させる。
【００５２】
従って、両方のＬＳＩがＩ／Ｏバッファを同時に出力方向（Ｏｕｔｐｕｔ）に設定して、１本の信号線を同時にドライブすることを防止している。その結果、信号線における出力の衝突が防止され、想定外の過電流がホストＬＳＩとターゲットＬＳＩのＩ／Ｏバッファに流れることが防止される。
【００５３】
また、図２の接続構成では、双方向信号線１０−０〜１０−３にそれぞれ単数のターゲットＬＳＩ８００が接続されているだけである。従って、時刻τ２〜時刻τ１までの比較的長い期間においてハイインピーダンス状態が維持されても、他のデバイスへノイズが混入されると言った問題が発生しない。
【００５４】
次に、ホストＬＳＩに複数のターゲットＬＳＩが接続されている場合におけるＩ／Ｏバッファの切り替えタイミングについて説明する。ここでは、図５に示すように、ターゲットＬＳＩ８００−０とターゲットＬＳＩ８００−２の２つのターゲットＬＳＩがホストＬＳＩ１００に接続されている場合について説明する。当該接続構成では、各信号線（SI/SIO0、SO/SIO1、WP#/SIO2、NC/SIO3）がそれぞれターゲットＬＳＩ８００−０とターゲットＬＳＩ８００−１で共有される。
【００５５】
図６は、図５の接続構成におけるホストＬＳＩ１００とターゲットＬＳＩ８００−０、８００−１におけるＩ／Ｏバッファの出力方向を切り替えるタイミングを示すタイミングチャート図である。
【００５６】
通信を行っていないターゲットＬＳＩ８００−１は、ホストＬＳＩ１００とターゲットＬＳＩ８００−０間の通信を阻害しないために、内部のＩ／Ｏバッファを入力状態に維持している。
【００５７】
一方、通信を行っている第１ターゲットＬＳＩ８００−０は、図４の場合と同じく内部のＩ／Ｏバッファの出力方向をダミーサイクル終了付近のタイミング（時刻τ１）で切り替える。
【００５８】
ここで、ホストＬＳＩ１００は、ダミーサイクル期間内であって、ターゲットＬＳＩ８００−０の切り替えタイミング（時刻τ１）近くのタイミング（時刻τ３）でＩ／Ｏバッファ１１０−０〜１１０−３を一斉に切り替える。
【００５９】
このように、ホストＬＳＩ１００の切り替えタイミングを図４の場合と比較して遅らせる理由は、各信号線からターゲットＬＳＩ８００−１へノイズが入力されることで誤動作が生じるリスクを低減するためである。
【００６０】
図４のように、ホストＬＳＩ１００がダミーサイクル開始時点付近のタイミングである時刻τ２でＩ／Ｏバッファの切り替えを行うと、時刻τ２〜時刻τ１の比較的長い期間で信号線がハイインピーダンス状態となる。
【００６１】
上述の通り、この状態の信号線は電源とグラウンドのどちらにも接続されておらず、ノイズの影響を受けやすい状態にあるため、当該ノイズが第２ターゲットＬＳＩ８００−１に混入するリスクが高くなる。ノイズの影響を最小限に留める為にはターゲットＬＳＩ８００−０のＩ／Ｏバッファが出力方向に切り替えられる直前まではホストＬＳＩ１００は出力状態を維持していた方が望ましい。
【００６２】
そこで、図５に示すように、複数のターゲットＬＳＩが接続される構成に対しては、リードデータ転送開始までのタイミングが厳しくならない範囲内で、ホストＬＳＩ側は出来る限り出力方向を維持する。
【００６３】
このような制御を行うことにより、ホストＬＳＩ１００が出力を解放し入力方向へ切り替えてから（時刻τ３）、ターゲットＬＳＩ８００−０がリードデータの転送を開始するまで（時刻τ１）におけるハイイピーダンス状態の期間が必要最小限に留められる。従って、ターゲットＬＳＩ８００−１へのノイズ混入のリスクを低減できる。
【００６４】
このように、本実施の形態１に係るホストＬＳＩ１００は、双方向にデータの送受信が可能な信号線に接続され、双方向にデータの入出力が可能なＩ／Ｏバッファの入出力方向を制御する方向制御部を備える。また、ホストＬＳＩ１００、Ｉ／Ｏバッファが出力方向である間に、当該Ｉ／Ｏバッファを用いて外部装置へデータ転送指示情報を送信する制御情報送信部を備える。ここで、データ転送指示情報とは、データ転送の開始を指示する制御情報である。また、ホストＬＳＩ１００は、データ転送指示情報送信後の所定のタイミングで外部装置より転送されるデータを、方向制御部による制御に基づいて入力方向に切り換えられた前記Ｉ／Ｏバッファを用いて受信するデータ受信部を備える。そして、前記方向制御部は、データ転送指示情報送信後であって、外部装置が前記データ転送指示情報に基づいて信号線に接続された外部装置内のＩ／Ｏバッファを入力方向から出力方向へ切り換えるタイミング以前に前記Ｉ／Ｏバッファの方向を出力方向から入力方向に切り換える。
【００６５】
当該構成により、接続するターゲットＬＳＩの特性に応じて、ホストＬＳＩ側が適切なタイミングでＩ／Ｏバッファの方向切り替えを行うことで、ターゲットＬＳＩの特性や接続構成が変化した場合でも出力の衝突の回避が可能となる。
【００６６】
すなわち、背景技術に係るホストＬＳＩは、ホストＬＳＩ側のＩ／Ｏバッファの切り替え制御を、Ｉ／Ｏバッファの特性や対向ＬＳＩの接続構成を考慮せずに行っていた。一方、本実施の形態１に係るホストＬＳＩによれば、ターゲットＬＳＩの特性や接続構成の変化に対応して柔軟なタイミングでＩ／Ｏバッファの切り替え制御を行うことが可能となる。
【００６７】
なお、上記説明では、方向制御部１２０が、各Ｉ／Ｏバッファに対して個別のＤＩＲを出力する構成について説明したがこれに限るものではない。各Ｉ／Ｏバッファの入出力方向の切り替えが一斉に行われる場合は代表信号として共通のＤＩＲを各Ｉ／Ｏバッファに出力する構成であっても良い。
【００６８】
（実施の形態２）
以下、図面を参照して本発明の実施の形態２について説明する。なお、実施の形態１で既に説明した部分については発明の明確化のために一部説明を省略する。
【００６９】
図７は、本実施の形態２に係るホストＬＳＩ２００の構成を示すブロック図である。ホストＬＳＩ２００は、双方向Ｉ／Ｏバッファ１１０と、方向制御信号制御回路２２０と、制御情報送信用シフトレジスタ２３１と、出力端子駆動レジスタ２３２と、入力端子取得レジスタ２４１と、転送データ取得用シフトレジスタ２４２と、シフトレジスタ制御回路２５０と、指定レジスタ設定部２６０と、ダミーサイクル数指定レジスタ２６１と、切り替えサイクル指定レジスタ２６２と、を備える。
【００７０】
ここで、図１のホストＬＳＩ１００と比較して、方向制御信号制御回路２２０が方向制御部１２０に、制御情報送信用シフトレジスタ２３１及び出力端子駆動レジスタ２３２が制御情報送信部１３０に、入力端子取得レジスタ２４１及び転送データ取得用シフトレジスタ２４２が転送データ受信部１４０にそれぞれ対応する。
【００７１】
実施の形態１で既に説明したように、双方向Ｉ／Ｏバッファ１１０は、ＬＳＩ外部端子を入力と出力の両方に利用可能なＩ／Ｏバッファである。両者の切り替えは方向制御信号（ＤＩＲ）により行う。
【００７２】
方向制御信号制御回路２２０は、ダミーサイクル数指定レジスタ２６１と切り替えサイクル数指定レジスタ２６２とを参照してダミーサイクル期間中にＩ／Ｏバッファ１１０に対する方向制御信号（ＤＩＲ）を制御する回路である。
【００７３】
制御情報送信用シフトレジスタ２３１は、対向デバイスへ出力する制御情報（コマンド、アドレス等）を送出するためのシフトレジスタである。本レジスタに設定した制御情報をビットシフトさせながら出力端子駆動レジスタ２３２が制御される。
【００７４】
出力端子駆動レジスタ２３２は、Ｉ／Ｏバッファ１１０の出力側端子の値を決定するためのレジスタである。Ｉ／Ｏバッファ１１０の方向制御信号（ＤＩＲ）が出力方向に設定されていると、ＬＳＩ外部端子は本レジスタに設定した値へドライブされる。
【００７５】
入力端子取得レジスタ２４１は、Ｉ／Ｏバッファ１１０の入力側端子の値を取得し記憶するためのレジスタである。Ｉ／Ｏバッファ１１０の方向制御信号（ＤＩＲ）を入力方向に設定すると、ＬＳＩ外部端子で保持する値が本レジスタに格納される。
【００７６】
転送データ取得用シフトレジスタ２４２は、入力端子取得レジスタ２４１より取得した対向デバイスからの転送データをビットシフトさせて格納するシフトレジスタである。
【００７７】
シフトレジスタ制御回路２５０は、制御情報および転送データのビット数と、シフトイン／シフトアウト時のビット数カウンタを管理する。シフトレジスタ制御回路２５０は、当該管理を行うことで、制御情報送信用シフトレジスタ２３１及び転送データ取得用シフトレジスタ２４２の状態を把握し、ビットシフト動作を制御する。制御情報送信用シフトレジスタ２３１及び転送データ取得用シフトレジスタ２４２の両シフトレジスタはシフトレジスタ制御回路２５０からの制御情報を動作条件にしてビットシフト動作を行う。
【００７８】
指定レジスタ設定部２６０は、後述する設定情報を参照してダミーサイクル数指定レジスタ２６１と切り替えサイクル数指定レジスタ２６２にそれぞれ値を格納する。
【００７９】
ダミーサイクル数指定レジスタ２６１は、指定レジスタ設定部２６０からの設定に従ってダミーサイクル数を記憶する。
【００８０】
切り替えサイクル数指定レジスタ２６２は、指定レジスタ設定部２６０からの設定に従ってＩ／Ｏバッファの入出力方向を切り替えるタイミングを記憶する。具体的には、切り替えサイクル数指定レジスタ２６２は、ダミーサイクル開始時点（前記データ転送指示情報の送信が完了した時点）からＩ／Ｏバッファの入出力方向を切り替える時点までのサイクル数をＩ／Ｏバッファの入出力方向を切り替えるタイミングとして記憶する。
【００８１】
次に、指定レジスタ設定部２６０の動作について詳しく説明する。指定レジスタ設定部２６０は、設定情報として通信を行うターゲットＬＳＩに応じて決定されるダミーサイクル数及びターゲットＬＳＩの接続構成を参照する。
【００８２】
具体的には、指定レジスタ設定部２６０は、通信を行うターゲットＬＳＩのダミーサイクル数が何サイクルに設定されているかという情報と、信号線に接続されるターゲットＬＳＩが単数であるか又は複数であるかという接続構成に関する情報とを設定情報として参照する。
【００８３】
指定レジスタ設定部２６０は、上記ターゲットＬＳＩのダミーサイクル数に関する情報、すなわち、データ転送指示情報送信完了時点からデータ転送開始時点までの期間に関する情報に基づいて、ダミーサイクル数をダミーサイクル数指定レジスタ２６１に格納する。
【００８４】
更に、指定レジスタ設定部２６０は、信号線に接続されるターゲットＬＳＩが単数であるか又は複数であるかという情報、すなわち外部装置の接続状況に関する情報に基づいて、ダミーサイクル開始時点からＩ／Ｏバッファ１１０の切り替え制御を行うタイミングまでのサイクル数を格納する。
【００８５】
図８は、ホストＬＳＩ２００におけるデータ転送を行う様子を示す動作波形のタイミングチャート図を示している。ここで、ＣＬＫはクロック信号を、Ｄ［０］〜 Ｄ［ｎ−１］はｎ本の双方向信号線を、ＤＩＲは各Ｉ／Ｏバッファに共通の方向制御信号をそれぞれ示す。また、ここでは、ホストＬＳＩ２００に１つのターゲットＬＳＩが接続されているものとする。
【００８６】
時刻Ｔ１以前はホストＬＳＩからターゲットＬＳＩへの制御情報の送信サイクルであり、主に制御コマンドやアドレス等といったデータ転送を指示するデータ転送指示情報を送信する。この区間では、Ｉ／Ｏバッファの方向制御信号ＤＩＲは出力方向に設定されている（出力方向を１、入力方向を０と定義する）。
【００８７】
時刻Ｔ７以後はリードデータの転送サイクルであり、ＤＩＲは入力方向（ＤＩＲ＝０）に設定されていなければならない。そこで、制御情報送信後からデータ転送開始前（Ｔ１からＴ６の区間）にダミーサイクルを設けて、この期間内でＤＩＲを１から０へ切り替える。上述の通り、必要なダミーサイクル数は対向デバイスであるターゲットＬＳＩの特性によって決められる。
【００８８】
ダミーサイクル期間中は、ターゲットＬＳＩ側のデータ送出準備の完了を待つ期間である。ホストＬＳＩにおける方向切り替えタイミングは、ダミーサイクル期間の途中（時刻Ｔ２、Ｔ３、Ｔ４、Ｔ５、Ｔ６）であれば、時刻Ｔ７以後のデータ転送には影響を与えない。しかしながら、出力の衝突を回避するという観点から、双方向信号線に１つのターゲットＬＳＩが接続されている場合は、比較的前段のタイミングで切り替え制御を行う。
【００８９】
一方、双方向信号線を複数のターゲットＬＳＩで共有している場合は、ノイズ対策のために比較的後段のタイミングで切り替え制御を行う。
【００９０】
図８の例では、ダミーサイクル期間が６サイクル、切り替えタイミングが制御情報の送信完了（時刻Ｔ１）から２サイクル後の時刻Ｔ３にそれぞれ設定されている。従って、ダミーサイクル数指定レジスタ２６１にはダミーサイクル数を示すＤｕｍｍｙ＝６の値が、切り替えサイクル数指定レジスタ２６２には、ダミーサイクル開始から切り替えタイミングまでのサイクル数を指定するｔ＝２の値がそれぞれ格納される。
【００９１】
図８の例では、ホストＬＳＩに１つのターゲットＬＳＩが接続されている場合を想定しているため、切り替えタイミングは比較的前段階のｔ＝２に設定されている。なお、複数のターゲットＬＳＩが接続されている場合は、設定情報を参照して指定レジスタ設定部２６０が切り替えタイミングをダミーサイクル内の後段となるように切り替えサイクル数指定レジスタ２６２にｔ＝４以上の値を格納することになる。
【００９２】
このように、本実施の形態２に係るホストＬＳＩは、方向制御部がＩ／Ｏバッファの入出力方向を切り替えるタイミングを設定する設定部を更に備える。当該設定部は、設定情報に基づいて応答性能や接続構成に応じた値をレジスタに設定して切り替えタイミングを制御する。当該構成とすることで、切り替えタイミングに自由度を持たせ、応答性能に応じて任意のタイミングでＩ／Ｏバッファの方向切り替えを行う機構を実現する事が可能となる。
【００９３】
ここで、上記設定部は、データ転送指示情報の送信が完了した時点からデータ転送が開始される時点までの期間に関する情報であるダミーサイクル数を参照して前記Ｉ／Ｏバッファの入出力方向の切り替えタイミングを設定している。一方、ターゲットＬＳＩがデータ転送指示情報に基づいて信号線に接続された自身のターゲットＬＳＩ内のＩ／Ｏバッファを入力方向から出力方向へ切り換えるタイミングに関する情報が与えられていれば、上記設定部は、当該情報に基づいてＩ／Ｏバッファの入出力方向の切り替えタイミングを設定しても良い。
【００９４】
なお、上記説明では、レジスタ設定部２６０は、設定情報に基づいてダミーサイクル数と切り替えサイクル数をそれぞれレジスタに格納する構成について説明したがこれに限定されるものではない。
【００９５】
図９は、別の形態のホストＬＳＩ３００の構成を示すブロック図である。ホストＬＳＩ３００では、ホストＬＳＩ２００と比較して新たに第１ダミーサイクル数指定レジスタ３６１と、第２ダミーサイクル数指定レジスタ３６２と、切り替えタイミング指定レジスタ３６３と、を備える。
【００９６】
図１０に示すように、指定レジスタ設定部２６０は、Ｔ１からＴ５までのダミーサイクル期間を第１ダミーサイクルと第２ダミーサイクルの２種類に分割し、両者で個別にサイクル数を指定する。第１ダミーサイクル数指定レジスタ３６１は、当該分割した第１ダミーサイクルを記憶する。第２ダミーサイクル数指定レジスタ３６２は残りの第２ダミーサイクルを記憶する。
【００９７】
また、指定レジスタ設定部２６０は、第２ダミーサイクル開始時か第２ダミーサイクル終了時かのどちらで方向を切り替えるかを指定する切り替えタイミング情報を切り替えタイミング指定レジスタ３６３に格納する。具体的には、当該切り替えタイミング情報は、第２ダミーサイクル開始時か第２ダミーサイクル終了時かの２通りのうちからどちらか片方を選択する１ビットの情報であり、指定レジスタ設定部２６０は、ターゲットＬＳＩの接続状態に基づいて切り替えタイミングを設定する。
【００９８】
図１０の例では、通信を行うターゲットＬＳＩのダミーサイクルが５サイクルであり、指定レジスタ設定部２６０によって、設定第１ダミーサイクルが２サイクル、第２ダミーサイクルが３サイクルに設定されている。また、ホストＬＳＩに接続されているターゲットＬＳＩが当該通信を行うターゲットＬＳＩだけであるため、指定レジスタ設定部２６０は、切り替えタイミングを第２ダミーサイクル開始時点に設定する。
【００９９】
このような設定方法で切り替えタイミングを制御する構成とすることで、柔軟な運用が可能となる。すなわち、制御情報の出力完了時点（時刻Ｔ１）で入力方向へ切り替えた場合、制御情報の最終ビットにおける方向切り替えに伴う影響やタイミング制約を考慮が必要となる場合がある。一方、制御情報の出力完了から数サイクルは出力を維持しておくことで、方向切り替えによる影響を低減しタイミング制約の条件を緩和できる。
【０１００】
また、Ｉ／Ｏバッファの方向切り替えの応答速度が遅く切り替え直後のデータ信号値が保証されていなくても、意味のあるデータが転送されるのはさらに３サイクル後の時刻Ｔ６以降となるので、リードデータ取得に伴う方向切り替えの時間的制約を緩和できる。
【０１０１】
なお、上記説明では、ホストＬＳＩに単数のターゲットＬＳＩが接続される場合について説明したため、切り替えタイミングがダミーサイクル期間の前方に設定されたが、信号線を共有して複数のターゲットＬＳＩが接続される場合は、ダミーサイクル期間の前方に設定される。
【０１０２】
すなわち、上記指定レジスタ設定部は、複数のターゲットＬＳＩが信号線を共有して接続されている場合に、単数のターゲットＬＳＩが前記信号線に接続されている場合と比較して、Ｉ／Ｏバッファの入出力方向の切り替えタイミングが遅くなるように設定する。
【０１０３】
より具体的には、複数のターゲットＬＳＩが信号線を共有して接続されている場合、上記指定レジスタ設定部は、データ転送指示情報送信完了時点からデータ転送開始時点までの期間の後半で切り替えタイミングを設定する。一方、単数のターゲットＬＳＩが信号線に接続されている場合、上記指定レジスタ設定部は、データ転送指示情報送信完了時点からデータ転送開始時点までの期間の前半で前記切り替えタイミングを設定する。
【０１０４】
このように、指定レジスタ設定部が自装置に接続される外部装置の接続状況に応じてＩ／Ｏバッファの切り替えタイミングを柔軟に変更できる構成とすることで、外部装置の接続構成の拡張が可能となる。
【０１０５】
（実施の形態３）
本実施の形態３に係るホストＬＳＩは、ダミーサイクル期間を有効利用して伝送効率を向上させることを特徴とする。以下、図面を参照して本発明の実施の形態３ついて説明する。なお、本実施の形態３に係るホストＬＳＩのブロック構成は図１に示すホストＬＳＩと同様であるため一部説明を省略する。
【０１０６】
図１１は、本実施の形態３に係るホストＬＳＩの動作を示すタイミングチャート図である。ホストＬＳＩは、４本の双方向信号線を共有する形で複数のターゲットＬＳＩに接続されており、そのうちの一つのターゲットＬＳＩ＃０と通信を行っているものとする。
【０１０７】
図１１に示すように、ホストＬＳＩはターゲットＬＳＩ＃０に対してコマンドやアドレス情報と言ったデータ転送を指示する制御情報をＴ７までに送信する。
【０１０８】
ターゲットＬＳＩ＃０に対するダミーサイクル数は５に設定されているものとし、上記制御情報を送信した後のＴ８〜Ｔ１２の５サイクルがダミーサイクル期間となる。ターゲットＬＳＩ＃０は、当該ダミーサイクル期間内で内部のＩ／Ｏバッファの方向を入力方向から出力方向に切り替える。図１１に示す例では、ターゲットＬＳＩ＃０は、ダミーサイクル期間の内、最後のＴ１２のタイミングでＩ／Ｏバッファを切り替えるものとする。
【０１０９】
ここで、ホストＬＳＩは、ダミーサイクル開始時点であるＴ８からターゲットＬＳＩ＃０が内部のＩ／Ｏバッファを切り替えるＴ１２以前のいずれかのタイミングで自身のＩ／Ｏバッファを切り替える制御を行えば出力の衝突を回避することができる。
【０１１０】
ここで、本実施の形態におけるホストＬＳＩは、Ｉ／Ｏバッファの切り替えタイミングを、ターゲットＬＳＩにおけるＩ／Ｏバッファの切り替えタイミングに近づける。そして、ダミーサイクル開始時点からＩ／Ｏバッファの切り替えタイミングまでの期間を用いて他のターゲットＬＳＩに対して通信を行う。
【０１１１】
図１１に示す例では、方向制御部１２０は、Ｔ１２のタイミングでＤＩＲを各Ｉ／Ｏバッファに出力することで各Ｉ／Ｏバッファ１１０−０〜１１０−３のバッファ方向を出力方向から入力方向に切り替える。
【０１１２】
ここで、制御情報送信部１３０は、通信を行っている第１のターゲットＬＳＩであるターゲットＬＳＩ＃０に対する制御情報を送信した後、ダミーサイクル期間内であってＩ／Ｏバッファを切り替えるまでの期間を用いて他のターゲットＬＳＩに対して情報を送信する。
【０１１３】
図１１の例では、制御情報送信部１３０は、SI/SO0とSO/SIO1の２本の双方向信号線を用いて第２のターゲットＬＳＩ＃１に対して、また、WP#/SIO2とNC/SIO3の２本の双方向信号線を用いて第３のターゲットＬＳＩ＃２に対してそれぞれ制御情報又はデータを送信する。
【０１１４】
以上のように本実施の形態３に係るホストＬＳＩ１００は、双方向信号線に第２のターゲットＬＳＩ＃１が更に接続されて、信号線が共有化されている場合において、ダミーサイクル期間の有効利用を図ることを特徴とする。すなわち、制御情報送信部１３０は、第１のターゲットＬＳＩ＃０に対するデータ転送指示情報送信後であって、方向制御部１２０が前記Ｉ／Ｏバッファ１１０を出力方向から入力方向に切り換える前に、前記信号線を介して第２のターゲットＬＳＩ＃１に情報を送信する。ここで、制御情報送信部１３０は第２のターゲットＬＳＩ＃１に送信する情報として、当該第２のターゲットＬＳＩ＃１への制御情報の他、通常のデータを送信することも可能である。
【０１１５】
ここで、複数の双方向信号線を共有して複数のターゲットＬＳＩと通信を行う場合には、ダミーサイクル期間中に数本の信号線を一のターゲットＬＳＩへのデータ送信に、他の数本の信号線を他のターゲットＬＳＩへのデータ送信に利用する構成であっても良い。
【０１１６】
すなわち、制御情報送信部１３０は、第１のターゲットＬＳＩに対するデータ転送指示情報送信後であって、方向制御部１２０が複数のＩ／Ｏバッファ１１０を出力方向から入力方向に切り換える前に、複数の信号線の中から選択した第１の信号線を用いて第２のターゲットＬＳＩに情報を送信し、前記複数の信号線の中から選択した第２の信号線を用いて第３のターゲットＬＳＩに情報を送信する。
【０１１７】
すなわち、複数の双方向信号線を共有して複数の外部装置が接続される構成において、複数の信号線を分割して一部の信号線を一の外部装置に割り当てられ、他の一部の信号線を他の外部装置に割り当てられる。制御情報送信部１３０が、このように複数の空き信号線を柔軟に分配して情報を送信することで伝送効率を向上させることが可能となる。  
【０１１８】
このように本実施の形態３は、複数のターゲットＬＳＩを接続する構成においては、ダミーサイクル中にデータ転送が行われていない点に着目している。ホストＬＳＩは、ターゲットＬＳＩ＃０のダミーサイクルを利用し、リードデータ転送を阻害しない範囲内で、ターゲットＬＳＩ＃１やターゲットＬＳＩ＃２との間でデータ転送を行う。
【０１１９】
通常は、ターゲットＬＳＩ＃１等との転送は、ターゲットＬＳＩ＃０がアイドルな期間に利用するが、ターゲットＬＳＩ＃０がアクティブであってもダミーサイクルを利用することで、信号線の空き時間を減らすことができ伝送路の利用効率の向上が実現できる。
【０１２０】
なお、上記説明ではターゲットＬＳＩ＃０に対するダミーサイクル期間内にホストＬＳＩからターゲットＬＳＩ＃１等に対して情報を送信する場合について説明したが、これに限るものではない。例えば、図１２のタイミングチャートが示すように、ターゲットＬＳＩ＃１等からホストＬＳＩに対して情報を送信する構成とすることも可能である。
【０１２１】
この場合、ホストＬＳＩにおいて、方向制御部１２０は、データ転送指示情報送信後のターゲットＬＳＩ＃０に対するダミーサイクル期間内にＩ／Ｏバッファ１１０を出力方向から入力方向に切り替える。ここで、方向制御部１２０は、ターゲットＬＳＩ＃０以外のターゲットより送信されるデータを効率良く受信できるように、ダミーサイクル期間の早い段階でＩ／Ｏバッファの方向を切り替える。
【０１２２】
その後、ホストＬＳＩにおいて、転送データ受信部１４０は、Ｉ／Ｏバッファ１１０を用いて当該ダミーサイクル期間内にターゲットＬＳＩ＃１及びターゲットＬＳＩ＃２からそれぞれ送信される情報を受信する。その後、転送データ受信部１４０は、ダミーサイクル期間終了後に上記データ転送指示情報に基づいてターゲットＬＳＩ＃０より転送されるデータを受信する。このように構成されていても良い。
【０１２３】
この場合は、方向制御部１２０は、別のターゲットＬＳＩであるターゲットＬＳＩ＃１やターゲットＬＳＩ＃２のダミーサイクル中の出力動作の時点に合わせてＩ／Ｏバッファ１１０を個別に切り替えるよう構成するとよい。上述した設定部は、ダミーサイクル期間における通信対象である当該ターゲットＬＳＩ＃１とターゲットＬＳＩ＃２の出力動作時点に関する情報を参照して、当該情報を別途設けたレジスタにそれぞれ格納する構成とすることも可能である。方向制御部は、当該レジスタに格納された情報に基づいて、ダミーサイクル期間内における各双方向バッファの切り替えタイミングを上記出力動作時点に合わせるよう個別の切り替え制御を行う構成であっても良い。
【０１２４】
以上各実施の形態で説明したように、本発明によれば、単数のターゲットＬＳＩと接続して双方向通信を行う場合や、接続形態を拡張して複数のターゲットＬＳＩで双方向信号線を接続して双方向通信を行う場合においても対応可能なホストＬＳＩとすることができる。
【０１２５】
すなわち、上述の通り複数のターゲットＬＳＩが信号線を共有する形でホストＬＳＩに接続される場合、ダミーサイクル先頭部分でホストＬＳＩのＩ／Ｏバッファの状態を入力状態に切り替えると、各ターゲットＬＳＩとも入力状態であるため、信号線はハイインピーダンスの状態となる。この状態は、高いインピーダンスの影響で大きな振幅のノイズが信号線に発生する場合があり、今まで通信を行っていなかった別のターゲットＬＳＩが入力状態でデータの入力を待っていると、信号線を介したノイズを入力として受付けて、誤動作を起こす問題が発生し得る。
【０１２６】
一方、ホストＬＳＩがダミーサイクルの終了直前でＩ／Ｏバッファの状態を入力状態に切り替えると、別のターゲットＬＳＩがダミーサイクルの期間を活用し、ホストＬＳＩにデータを出力して通信し、バスの空き時間を有効活用する動作を行うケースでは、ホストＬＳＩが出力状態となっているため、受信すべきデータを取りこぼしてしまうという問題が発生し得る。
【０１２７】
従って、ホストＬＳＩと２つ以上のターゲットＬＳＩがＬＳＩの信号線を介して接続されている場合においては、従来の１対１の通信プロトコルに従うだけでは、適切な通信を行うことができないという課題を有していた。
【０１２８】
そこで、当該課題を解決するために、本発明のホストＬＳＩでは、ホストＬＳＩにおける出力状態から入力状態への変更のタイミングを可変にできるようにしていることを特徴とする。当該構成により、入力状態で待っている別のターゲットがノイズを受け付けて誤動作するリスクを極力減らすことができ、かつ、ホストＬＳＩがダミーサイクル中にデータを取りこぼす問題も解決することができる。
【０１２９】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上記説明した各部の機能はハードウェアによって実現されていても良いし、ハードウェアとソフトウェアの結合のより実現されていても良い。すなわち、上記各部の機能は、ＣＰＵ（Central Processing Unit）に所定のプログラムを実行させることで実現されていても良い。
【０１３０】
また、上述したプログラムは、コンピュータ・システムがアクセス可能な様々な種類の記憶媒体に格納することが可能である。また、このプログラムは、通信媒体を介して伝達されることが可能である。ここで、記憶媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＲＯＭカートリッジ、バッテリバックアップ付きＲＡＭメモリカートリッジ、フラッシュメモリカートリッジ、不揮発性ＲＡＭカートリッジ等が含まれる。また、通信媒体には、電話回線等の有線通信媒体、マイクロ波回線等の無線通信媒体等が含まれ、インターネットも含まれる。
【０１３１】
また、上記説明ではターゲットＬＳＩは、シリアル型フラッシュメモリである場合について説明したがこれに限定されるものではない。言うまでもなく、ホストＬＳＩに接続可能な様々な外部装置に応用することが可能である。
【０１３２】
また、上記説明では複数のＬＳＩ間を双方向信号線で接続されている通信システムについて説明したがこれに限定するものではない。例えば、１つのＬＳＩ内部において複数の回路が双方向バッファを介して内部バスで接続される場合についても応用することができる。
【０１３３】
すなわち、ＬＳＩに配置された情報処理回路と、所定の機能を実行する機能回路とが双方向バッファを介して内部バスで接続されているＬＳＩ自身においても適用可能である。
【符号の説明】
【０１３４】
１０    （双方向）信号線                      １００  ホストＬＳＩ
１１０  双方向Ｉ／Ｏバッファ              １２０  方向制御部
１３０  制御情報送信部                    １４０  転送データ受信部
２２０  方向制御信号制御回路              ２３１  制御情報送信用シフトレジスタ
２３２  出力端子駆動レジスタ              ２４１  入力端子取得レジスタ
２４２  転送データ取得用シフトレジスタ    ２５０    シフトレジスタ制御回路
２６０  指定レジスタ設定部                ２６１  ダミーサイクル数指定レジスタ
２６２  切り替えサイクル数指定レジスタ    
３６１  第１ダミーサイクル数指定レジスタ
３６２  第２ダミーサイクル数指定レジスタ
３６３  切り替えタイミング指定レジスタ
８００  ターゲットＬＳＩ                  ８１０    双方向Ｉ／Ｏバッファ
９１１      双方向Ｉ／Ｏバッファ              ９２１    双方向Ｉ／Ｏバッファ
９３０  （双方向）信号線
【図１】
2013142951.tif 000003
【図２】
2013142951.tif 000004
【図３】
2013142951.tif 000005
【図４】
2013142951.tif 000006
【図５】
2013142951.tif 000007
【図６】
2013142951.tif 000008
【図７】
2013142951.tif 000009
【図８】
2013142951.tif 000010
【図９】
2013142951.tif 000011
【図１０】
2013142951.tif 000012
【図１１】
2013142951.tif 000013
【図１２】
2013142951.tif 000014
【図１３】
2013142951.tif 000015
【図１４】
2013142951.tif 000016
【図１５】
2013142951.tif 000017
【図１６】
2013142951.tif 000018