JP3624767B2 - Data transfer control device, information storage medium, and electronic device - Google Patents

Data transfer control device, information storage medium, and electronic device Download PDF

Info

Publication number
JP3624767B2
JP3624767B2 JP36115099A JP36115099A JP3624767B2 JP 3624767 B2 JP3624767 B2 JP 3624767B2 JP 36115099 A JP36115099 A JP 36115099A JP 36115099 A JP36115099 A JP 36115099A JP 3624767 B2 JP3624767 B2 JP 3624767B2
Authority
JP
Japan
Prior art keywords
data transfer
data
control device
status
request
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.)
Expired - Fee Related
Application number
JP36115099A
Other languages
Japanese (ja)
Other versions
JP2001175546A (en
JP2001175546A5 (en
Inventor
浩輔 松永
裕之 金井
信一郎 藤田
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP36115099A priority Critical patent/JP3624767B2/en
Publication of JP2001175546A publication Critical patent/JP2001175546A/en
Publication of JP2001175546A5 publication Critical patent/JP2001175546A5/ja
Application granted granted Critical
Publication of JP3624767B2 publication Critical patent/JP3624767B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Ink Jet (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Systems (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データ転送制御装置、情報記憶媒体及び電子機器に関し、特に、バスに接続される複数のノード間でIEEE1394などの規格に準じたデータ転送を行うためのデータ転送制御装置、情報記憶媒体及び電子機器に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
近年、IEEE1394と呼ばれるインターフェース規格が脚光を浴びている。このIEEE1394は、次世代のマルチメディアにも対応可能な高速シリアルバスインターフェースを規格化したものである。このIEEE1394によれば、動画像などのリアルタイム性が要求されるデータも扱うことができる。また、IEEE1394のバスには、プリンタ、スキャナ、CD−RWドライブ、ハードディスクドライブなどのコンピュータの周辺機器のみならず、ビデオカメラ、VTR、TVなどの家庭用電化製品も接続できる。このため、電子機器のデジタル化を飛躍的に促進できるものとして期待されている。
【0003】
さて、このようなIEEE1394のバスにプリンタなどの電子機器を接続した場合に、以下のような問題が生じることが判明した。
【0004】
即ち、インクジェット・プリンタなどにおいては、印刷の途中でヘッドクリーニングが行われると、数分間(最大5分程度)データの流れが止まる。
【0005】
一方、イニシエータ(パーソナルコンピュータ)で動作するOS(Operating System)は、例えば100秒間データが流れないと、ターゲット(プリンタ、データ転送制御装置)のリセット処理を行った後、新たにデータ転送要求を行う。そして、リセット処理が行われると、ターゲットの内部情報もクリアされるため、ヘッドクリーニングの終了後にデータ転送を継続して再開できなくなる。
【0006】
本発明は、以上のような技術的課題に鑑みてなされたものであり、上層のデバイスとの間でのデータ転送が何らかの理由で中断した場合にも、その理由の解消後にデータ転送を適正に継続して再開できるデータ転送制御装置、情報記憶媒体及び電子機器を提供することにある。
【0007】
【課題を解決するための手段】
上記課題を解決するために本発明は、バスに接続される複数のノード間でのデータ転送のためのデータ転送制御装置であって、相手ノードから転送されてきた第1のデータ転送要求に基づいてデータ転送処理を行う手段と、データ転送処理のステータスを相手ノードに対して転送するステータス転送手段とを含み、前記ステータス転送手段が、前記第1のデータ転送要求に対するステータスがデータ転送制御装置から返ってくるのを相手ノードが待つ時間であるタイムアウト時間T1よりも短いタイムアウト時間T2が経過したところで、エラーステータスを相手ノードに対して転送することを特徴とする。
【0008】
本発明によれば、相手ノードからの第1のデータ転送要求によりデータ転送処理が開始し、そのステータスが相手ノードに転送される。そして本発明では、ステータスの返送を相手ノードが待つ時間であるタイムアウト時間T1よりも短いタイムアウト時間T2が経過すると(タイムアウト時刻になると)、意図的にダミーのエラーステータスが相手ノードに転送される。従って、相手ノードは、リセット処理等を行うのをタイムアウト時間T1だけ再度待つようになる。この結果、上層のデバイスとの間でのデータ転送が何らかの理由(例えばヘッドクリーニング)で中断した場合などにも、その理由の解消後にデータ転送を適正に継続して再開できるようになる。
【0009】
また本発明は、前記ステータス転送手段が、上層のデバイスとの間のデータ転送が完了していない場合には、前記タイムアウト時間T2が経過したことを条件にエラーステータスを相手ノードに対して転送し、上層のデバイスとの間のデータ転送が完了した場合には、転送完了ステータスを相手ノードに対して転送することを特徴とすることを特徴とする。このようにすれば、転送完了ステータスを受けた相手ノードが、例えば第1のデータ転送要求と同一内容の第2のデータ転送要求を行うことで、データ転送を適正に継続して再開できるようになる。
【0010】
また本発明は、前記上層のデバイスが印字処理デバイスであり、前記ステータス転送手段が、前記印字処理デバイスのヘッドクリーニング時間を待つために、前記タイムアウト時間T2が経過したことを条件にエラーステータスを相手ノードに対して転送することを特徴とする。このようにすれば、印字処理デバイスのヘッドクリーニング時間を待つために、データ転送が長時間にわたり中断した場合にも、ヘッドクリーニングの終了後に、データ転送を適正に再開できるようになる。
【0011】
また本発明は、前記エラーステータスを受けた相手ノードから前記第1のデータ転送要求と同一内容の第2のデータ転送要求が転送されてきた場合に、データ転送を継続して再開する再開手段を含むことを特徴とする。このようにすれば、データが二重転送されるなどの事態を防止でき、データ転送制御装置を含む電子機器の誤動作を防止できるようになる。
【0012】
なお本発明では、IEEE1394の規格に準拠したデータ転送を行うことが望ましい。
【0013】
また本発明は、上記のいずれかのデータ転送制御装置との間でのデータ転送を制御するためのプログラムを含む情報記憶媒体であって、前記タイムアウト時間T1の経過前に前記第1のデータ転送要求に対するステータスがデータ転送制御装置から返ってこなかった場合には、データ転送制御装置をリセットする処理を行い、前記タイムアウト時間T1の経過前にエラーステータスがデータ転送制御装置から返ってきた場合には、第1のデータ転送要求と同一内容の第2のデータ転送要求をデータ転送制御装置に対して行うためのプログラムを含むことを特徴とする。このようにすれば、誤ったデータ転送再開処理が行われてしまう事態を防止でき、データ転送の中断が要因となる不具合の発生を防止できる。
【0014】
また本発明に係る電子機器は、上記のいずれかのデータ転送制御装置と、前記データ転送制御装置及びバスを介して相手ノードから受信したデータに所与の処理を施す装置と、処理が施されたデータを出力又は記憶するための装置とを含むことを特徴とする。また本発明に係る電子機器は、上記のいずれかのデータ転送制御装置と、前記データ転送制御装置及びバスを介して相手ノードに送信するデータに所与の処理を施す装置と、処理が施されるデータを取り込むための装置とを含むことを特徴とする。
【0015】
本発明によれば、電子機器とデータ転送制御装置との間でのデータ転送が何らかの理由(例えばヘッドクリーニング)で中断した場合にも、その理由の解消後にデータ転送を適正に再開できるようになる。またデータ転送の高速化を図れ、電子機器の低コスト化、電子機器の処理の高速化なども図ることができる。
【0016】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
【0017】
1.IEEE1394
まず、IEEE1394について簡単に説明する。
【0018】
1.1 概要
IEEE1394(IEEE1394−1995、P1394.a)では100〜400Mbpsの高速なデータ転送が可能となっている(P1394.bでは800〜3200Mbps)。また、転送速度が異なるノードをバスに接続することも許される。
【0019】
各ノードはツリー状に接続されており、1つのバスに最大で63個のノードが接続可能になっている。なお、バスブリッジを利用すれば約64000個のノードを接続することも可能である。
【0020】
IEEE1394では、パケットの転送方式として非同期転送とアイソクロナス転送が用意されている。ここで非同期転送は、信頼性が要求されるデータの転送に好適な転送方式であり、アイソクロナス転送は、リアルタイム性が要求される動画像や音声などのデータの転送に好適な転送方式である。
【0021】
1.2 層構造
IEEE1394の層構造(プロトコル構成)を図1に示す。
【0022】
IEEE1394のプロトコルは、トランザクション層、リンク層、物理層により構成される。また、シリアルバスマネージメントは、トランザクション層、リンク層、物理層をモニターしたり制御したりするものであり、ノードの制御やバスのリソース管理のための種々の機能を提供する。
【0023】
トランザクション層は、上位層にトランザクション単位のインターフェース(サービス)を提供し、下層のリンク層が提供するインターフェースを通して、リードトランザクション、ライトトランザクション、ロックトランザクション等のトランザクションを実施する。
【0024】
ここで、リードトランザクションでは、応答ノードから要求ノードにデータが転送される。一方、ライトトランザクションでは、要求ノードから応答ノードにデータが転送される。またロックトランザクションでは、要求ノードから応答ノードにデータが転送され、応答ノードがそのデータに処理を施して要求ノードに返信する。
【0025】
リンク層は、アドレッシング、データチェック、パケット送受信のためのデータフレーミング、アイソクロナス転送のためのサイクル制御などを提供する。
【0026】
物理層は、リンク層により使用されるロジカルシンボルの電気信号への変換や、バスの調停や、バスの物理的インターフェースを提供する。
【0027】
1.3 SBP−2
さて、図2に示すように、IEEE1394のトランザクション層の一部の機能を含む上位のプロトコルとして、SBP−2(Serial Bus Protocol−2)と呼ばれるプロトコルが提案されている。
【0028】
ここでSBP−2は、SCSIのコマンドセットをIEEE1394のプロトコル上で利用可能にするために提案されたものである。このSBP−2を用いれば、既存のSCSI規格の電子機器で使用されていたSCSIのコマンドセットに最小限の変更を加えて、IEEE1394規格の電子機器に使用できるようになる。従って、電子機器の設計や開発を容易化できる。また、SCSIのコマンドだけではなく、デバイス固有のコマンドもカプセル化して利用できるため、非常に汎用性が高い。
【0029】
図3に示すようにSBP−2では、まず、イニシエータ(例えばパーソナルコンピュータ)により作成されたログインORB(Operation Request Block)を用いてログイン処理が行われる(ステップT1)。次に、ダミーORBを用いてフェッチエージェントの初期化が行われる(ステップT2)。そして、コマンドブロックORB(ノーマルコマンドORB)を用いてコマンド処理が行われ(ステップT3)、最後に、ログアウトORBを用いてログアウト処理が行われる(ステップT4)。
【0030】
ここで、ステップT3のコマンド処理においては、図4のA1に示すように、イニシエータがライト要求パケットを転送して(ライト要求トランザクションを発行して)、ターゲットのドアベルレジスタをリングする。すると、A2に示すように、ターゲットがリード要求パケットを転送し、イニシエータが対応するリード応答パケットを返す。これにより、イニシエータが作成したORB(コマンドブロックORB)が、ターゲットのデータバッファにフェッチされる。そして、ターゲットは、フェッチされたORBに含まれるコマンドを解析する。
【0031】
そして、ORBに含まれるコマンドがSCSIのライトコマンドであった場合には、A3に示すように、ターゲットがリード要求パケットをイニシエータに転送し、イニシエータが対応するリード応答パケットを返す。これにより、イニシエータのデータバッファに格納されているデータがターゲットに転送される。そして、例えばターゲットがプリンタであった場合には、転送されたデータがプリンタエンジンにより印刷される。
【0032】
一方、ORBに含まれるコマンドがSCSIのリードコマンドであった場合には、図5のB1に示すように、ターゲットは、一連のライト要求パケットをイニシエータに転送する。これにより、例えばターゲットがスキャナであった場合には、スキャナエンジンにより取得されたスキャンデータが、イニシエータのデータバッファに転送されることになる。
【0033】
このSBP−2によれば、ターゲットは、自身が都合の良いときに要求パケットを転送して(トランザクションを発行して)、データを送受信できる。従って、イニシエータとターゲットが同期して動く必要がなくなるため、データ転送効率を高めることができる。
【0034】
なお、IEEE1394の上位プロトコルとしては、SBP−2以外にも、FCP(Function Control Protocol)と呼ばれるプロトコルなども提案されている。
【0035】
さて、ターゲット、イニシエータ間でデータ転送を行う場合、図6(A)のようにイニシエータ(相手ノード)のデータバッファ(記憶手段)にページテーブルが存在する場合と、存在しない場合がある。
【0036】
そして、ページテーブルが存在する場合には、図6(B)に示すように、イニシエータが作成したORBの中には、そのページテーブルのアドレスやエレメント数が含まれる。そして、転送データのアドレス(読み出しアドレス、書き込みアドレス)は、このページテーブルを用いて間接アドレス指定される。
【0037】
一方、ページテーブルが存在しない場合には、図6(C)に示すように、ORBの中にアドレスとデータ長が含まれ、転送データのアドレスが直接アドレス指定される。
【0038】
2.全体構成
次に、本実施形態のデータ転送制御装置の全体構成例について図7を用いて説明する。なお、以下では、イニシエータとの間でデータ転送を行うターゲットがプリンタである場合について例にとり説明するが、本発明はこれに限定されない。
【0039】
本実施形態のデータ転送制御装置10は、PHYデバイス12(物理層のデバイス)、リンクデバイス14(リンク層のデバイス)、CPU16(プロセッサ)、データバッファ18(記憶手段)、ファームウェア20(処理手段)を含む。なお、PHYデバイス12、リンクデバイス14、CPU16、データバッファ18は、任意の構成要素であり、本実施形態のデータ転送制御装置10は、これらの構成要素を全て含む必要はない。
【0040】
PHYデバイス12は、図1の物理層のプロトコルをハードウェアにより実現するための回路であり、リンクデバイス14により使用されるロジカルシンボルを電気信号に変換する機能を有する。
【0041】
リンクデバイス14は、図1のリンク層のプロトコルやトランザクション層のプロトコルの一部をハードウェアにより実現するための回路であり、ノード間でのパケット転送のための各種サービスを提供する。
【0042】
CPU16は、装置全体の制御やデータ転送の制御を行うものである。
【0043】
データバッファ18は、転送データ(パケット)を一時的に格納するバッファであり、SRAM、SDRAM、或いはDRAMなどのハードウェアにより構成される。なお、本実施形態では、データバッファ18は、ランダムアクセス可能なパケット記憶手段として機能する。
【0044】
ファームウェア20は、CPU16上で動作する種々の処理ルーチン(処理モジュール)を含むプログラムであり、トランザクション層のプロトコルは、このファームウェア20と、ハードウェアであるCPU16等により実現される。
【0045】
なお、イニシエータであるパーソナルコンピュータ100が含むデバイスドライバ102は、周辺機器を管理制御するための種々の処理ルーチンを含むプログラムである。このプログラムは、情報記憶媒体110(FD、CD−ROM、DVD、ROM)を利用してパーソナルコンピュータ100にインストールされる。
【0046】
ここで、デバイスドライバ102のプログラムは、ホストシステムが有する情報記憶媒体(ハードディスク、磁気テープ等)からインターネットなどのネットワークを介してダウンロードし、パーソナルコンピュータ100にインストールするようにしてもよい。このようなホストシステムが有する情報記憶媒体の使用も本発明の範囲内に含まれる。
【0047】
ファームウェア20(F/W)は、コミュニケーション部30(COM)、マネージメント部40(MNG)、プリントタスク部50(PRT)、フェッチ部60(FCH)を含む。
【0048】
ここで、コミュニケーション部30は、リンクデバイス14などのハードウェアとの間のインターフェースとして機能する処理モジュールである。
【0049】
マネージメント部40(マネージメントエージェント)は、ログイン、リコネクト、ログアウト、リセット等の管理を行う処理モジュールである。例えばイニシエータがターゲットにログインを要求した場合には、まず、このマネージメント部40が、このログイン要求を受け付けることになる。
【0050】
プリントタスク部50は、後段のアプリケーション層(上層)であるプリンタエンジンとの間のデータ転送処理を行う処理モジュールである。
【0051】
フェッチ部60(フェッチエージェント、コマンドブロックエージェント)は、コマンドブロックORBが含むコマンドを実行するための処理モジュールである。フェッチ部60は、単一の要求しか扱うことができないマネージメント部40と異なり、イニシエータからの要求により自身がフェッチしたORBのリンクリストも扱うことができる。
【0052】
フェッチ部60は、データ転送処理部61、ステータス転送部62、コマンド比較部66、アドレス比較部70、データ転送再開部72を含む。
【0053】
ここで、データ転送処理部61は、イニシエータ(相手ノード)から転送されてきたORB(コマンドブロックORB。広義には、データ転送要求)に基づいて、データ転送に必要な種々の処理(ページテーブルのリード、印刷データのリード、データ転送の制御等)を行う。
【0054】
ステータス転送部62は、データ転送処理のステータス(転送完了ステータス、エラーステータス等)をイニシエーターに対して転送する処理を行う。
【0055】
そして本実施形態では、ORBに対するステータスの返送をイニシエータが待つ時間であるタイムアウト時間T1よりも短いタイムアウト時間T2が経過したことを条件に、エラーステータスをイニシエータに対して転送するようにしている。
【0056】
コマンド比較部66は、エラーステータスを受けたイニシエータからORBが再度転送されてきた場合に、再転送されたORB(第2のデータ転送要求)の内容と、その前に処理中であったORB(第1のデータ転送要求)の内容とを比較する処理を行う。
【0057】
アドレス比較部70は、エラーステータスを受けたイニシエータからORBが再度転送されてきた場合に、再転送されたORBにより転送要求された転送データの先頭アドレス(第2のアドレス。IEEE1394のバスアドレス)と、その前に処理中であったORBにより転送要求された転送データの先頭アドレス(第1のアドレス)とを比較する処理を行う。
【0058】
データ転送再開部72は、ORBの内容が同一であり、先頭アドレスが同一である場合に、データ転送を継続して再開する処理を行う。
【0059】
なお、処理の確実性の観点からは、ORBの内容が同一であり且つ先頭アドレスが同一である場合に、データ転送を再開することが望ましい。しかしながら、ORBの内容が一致しただけでデータ転送を再開するようにしたり、先頭アドレスが一致しただけでデータ転送を再開するようにしてもよい。このようにすれば、処理負担を軽減化できる。
【0060】
3.本実施形態の処理
次に、本実施形態の処理例について説明する。
【0061】
図8は、ターゲット側(ファームウェア)の処理例を示すフローチャートである。
【0062】
イニシエータから印刷要求があると、ターゲットは、イニシエータのデータバッファからORBをリードする(ステップS1)。そして、ページテーブルが存在する場合には、ORBに含まれるページテーブルアドレス(図6(B)参照)に基づいて、イニシエータのデータバッファからページテーブルをリードする(ステップS2)。
【0063】
次に、リードされたページテーブルに基づいて印刷データをリードする(ステップS3)。そして、リードされた印刷データをプリンタエンジン(印字処理デバイス)にDMA転送する(ステップS4)。
【0064】
次に、プリンタエンジンへの印刷データのDMA転送が終了したか否かを判断する(ステップS5)。そして、終了した場合には転送完了ステータスをイニシエータに対して転送する(ステップS6)。
【0065】
以上の処理を、全ての印刷データ(印刷物を印刷するのに必要な全ての印刷データ)が転送されるまで繰り返す(ステップS7)。
【0066】
そして本実施形態では、ステップS5で印刷データのDMA転送が終了していないと判断した場合に、ターゲット側のタイムアウト時間T2が経過したか否か(タイムアウト時刻になったか否か)を判断する(ステップS8)。例えばヘッドクリーニングなどが理由でプリンタエンジンへのデータ転送が中断した場合には、ステップS5、ステップS8のループが繰り返され、タイムアウト時間T2が経過するまで待つことになる。この場合に、このタイムアウト時間T2が後述するイニシエータ側のタイムアウト時間T1よりも短い時間になっているところに本実施形態の特徴がある。そして本実施形態では、このタイムアウト時間T2が経過すると、意図的にダミーのエラースタータスをターゲットに対して転送する(ステップS9)。そして、その後アイドル状態に状態遷移する。
【0067】
図9は、イニシエータ側(デバイスドライバ)の処理例を示すフロチャートである。
【0068】
アプリケーションプログラムからの印刷ジョブが発生すると、イニシエータは、印刷のためのORBやページテーブルを作成し、データバッファに書き込む(ステップS20)。次に、作成したORBをリードするようにターゲットに対して指示する(ステップS21。図4のA1参照)。
【0069】
次に、イニシエータ側のタイムアウト時間T1が経過したか否かを判断する(ステップS22)。このタイムアウト時間T1は、前述のターゲット側のタイムアウト時間T2よりも長い時間になっている。そして、タイムアウト時間が経過してしまった場合には、ターゲットのリセット処理(アボートタスク、アボートタスクセット、ターゲットリセット等)を行い、その後、ORBを再作成する(ステップS23)。そして、再作成したORBをリードするようにターゲットに対して指示する(ステップS21)。
【0070】
一方、ステップS22でタイムアウト時間T1が経過していないと判断された場合には、ステータスがライトされたか否かを判断する(ステップS24)。そして、タイムアウト時間T1が経過する前にステータスがライトされた場合には、そのステータスがエラーステータスか否かを判断する(ステップS25)。例えば、図8のステップS9で、タイムアウト時間T1よりも短いT2で意図的にエラーステータスがライトされると、このステップS25でエラーステータスがライトされたと判断されることになる。
【0071】
ステップS25でエラーステータスではないと判断されると、全ての印刷データが転送されたか否かを判断し(ステップS26)、転送されていない場合には、ステップS20に戻り、転送された場合には印刷ジョブを終了する。
【0072】
そして本実施形態では、ステップS25でエラーステータスであると判断されると、ステップS27に移行し、待ち時間T(例えば3秒)が経過したか否かを判断する。そして、経過した場合には、イニシエータは、ORB、ページテーブルを再作成し(ステップS28)、再作成したORBをリードするようにターゲットに対して指示する(ステップS21)。この場合にイニシエータ(デバイスドライバ)は、ORBの内容や印刷データの先頭アドレス及びデータ長が、ヘッドクリーニング発生前と発生後で同一になるように、ORBを再作成する。このようにすることで、データ転送を適正に継続して再開できるようになる。
【0073】
4.本実施形態の特徴
さて、インクジェット・プリンタなどにおいては印刷の途中でヘッドクリーニングが行われることがある。そしてヘッドクリーニングが行われると、図10のD1に示すようにデータ転送が数分間中断する。即ち、データ転送制御装置がプリンタエンジンに印刷データを転送しようとしても、その印刷データをプリンタエンジンが受け付けないため、ターゲットのデータバッファがフル状態になり、データ転送が中断する。従って、ターゲットはイニシエータに対して転送完了ステータスを返すことができない(図8のステップS5、S6参照)。
【0074】
一方、イニシエータは、図10のD2に示すように、タイムアウト時間T1が経過する前にターゲットからステータスが返ってこないと、ターゲットのリセット処理を行う(図9のステップS22、S23参照)。この場合、初めはアボートタスクやアボートタスクセットなどの緩やかなリセット処理を行い、それでもターゲットから応答が無いと、ターゲットリセットなどの強いリセット処理を行う。
【0075】
そして、リセット処理が行われると、ターゲットがそれまで保持していた内部情報(ORBの内容、転送データの先頭アドレス等)もクリアされてしまう。従って、ターゲットは、ヘッドクリーニング終了後にデータ転送を再開できなくなる。この結果、プリンタのユーザは、自分の手で紙を排出し、再度印刷を行うしかなかった。
【0076】
そこで本実施形態では、図11のE1に示すように、イニシエータ側のタイムアウト時間T1よりも短いタイムアウト時間T2が経過したところで、意図的にダミーのエラースタータスをイニシエータに転送している(図8のステップS8、S9)。このようにすれば、図11のE2に示すように、エラーステータスを受けたイニシエータはリセット処理を行わないようになる(図9でステップS23に移行せず、ステップS24に移行するようになる)。従って、ターゲットの内部情報がクリアされるのを防止できる。
【0077】
そして、ヘッドクリーニング中にターゲットは、タイムアウト時間T1が経過する毎にダミーのエラーステータスをイニシエータに送り続ける。そして、ヘッドクリーニングが終了し、ORBによるデータ転送が完了すると、ターゲットは転送完了ステータスをイニシエータに転送する(図8のステップS5、S6)。その後、ヘッドクリーニング発生時点の続きからデータ転送を再開する。この場合、本実施形態では、イニシエータによるターゲットのリセット処理は行われておらず、ターゲットはヘッドクリーニング発生時点の内部情報を保持しているため、ヘッドクリーニング発生時点の続きからデータ転送を再開できることになる。
【0078】
さて、ヘッドクリーニング発生時点の続きからデータ転送を適正に再開するためには、以下のような工夫も必要である。
【0079】
例えば図12(A)に示すように、C1に示す位置(アドレス)までデータを転送したところで、ヘッドクリーニングが発生したとする。この場合に、イニシエータは、図12(B)に示すように印刷のためのORBを再度作成して、印刷データの転送を最初からやり直すようにターゲットに指示する(図9のステップS27、S28、S21)。このため、図12(B)のC2に示す位置からデータ転送が再開されてしまい、印刷データの一部分だけが二重に送られてしまう。この結果、図12(C)に示すような二重印刷の問題が発生する。
【0080】
このような問題を解決するために、本実施形態では、以下に説明するような手法を採用している。
【0081】
例えば図13のF1に示すORBによるデータ転送中に、ヘッドクリーニングが発生したとする。すると、ターゲットはF2に示すようにイニシエータにエラーステータスを転送する。そして、このエラーステータスを受けたイニシエータにより、F3に示すORBが再度作成され、このORBがターゲットに転送される(ターゲットがリードする)。この場合に、本実施形態では、F1に示すヘッドクリーニング前のORB(第1のコマンドパケット)の内容とF3に示すヘッドクリーニング後のORB(第2のコマンドパケット)の内容を比較する。また、ヘッドクリーニング前のORBにより指定される転送データの先頭アドレスAD1(第1のアドレス)と、ヘッドクリーニング後のORBにより指定される転送データの先頭アドレスAD2(第2のアドレス)を比較する。
【0082】
そして、ORBの内容が同一であり先頭アドレスが同一であると判断された場合には、F4に示すようにデータ転送を継続して再開する。即ちヘッドクリーニング発生時点のデータ転送の続きからデータ転送を再開する(ヘッドクリーニング発生時点で既に転送を完了していたデータの次のデータからデータ転送を再開する)。
【0083】
一方、ORBの内容が同一でなかった場合や先頭アドレスが同一でなかった場合には、F3に示すヘッドクリーニング後のORBを新規のORBとして最初から処理する。
【0084】
このようにすることで、図13のF5に示す部分の転送データが、図12(B)の場合と異なり、二重転送されないようになる。従って、図12(C)に示すような誤印刷が生じなくなる。また二重転送を避けることができるため、転送時間も短縮できる。
【0085】
例えば本実施形態と異なる手法として、ORBの内容や先頭アドレスの比較処理を行わずに、常に、ヘッドクリーニング発生時点の続きからデータ転送を再開するという手法も考えられる。
【0086】
しかしながら、この手法によると、例えば、ヘッドクリーニング発生後にイニシエータが印刷データの転送処理をキャンセルし、ヘッドクリーニング発生前と全く異なるORBを作成した場合にも、図13のF4からデータ転送が再開されてしまうという不具合が生じる。
【0087】
これに対して本実施形態では、ORBの内容や先頭アドレスがヘッドクリーニングの前後で同一の場合には、図13のF4からデータ転送が再開するが、同一でない場合には、全く新規のORBとして処理されるため、上記のような不具合が生じないようになる。
【0088】
なお本実施形態では、ORBの内容比較の際に種々の情報を比較している。例えば図14に示すように、本実施形態では、コマンドブロックORBが含むページテーブル存在フラグPや、データサイズや、コマンドブロック(コマンドセット)フィールドの中のオペレーションコード(印刷コマンド、リードコマンドなどを区別するコード)やデータ長を比較している。またORBが、ORBを識別するための識別情報(例えば順序番号)を含む場合には、この識別情報も比較している。このような情報を比較することで、ヘッドクリーニング発生前後のORBが同一か否かを簡素な処理で確実に判断できるようになる。
【0089】
なお、転送データの先頭アドレスAD1、AD2の比較は、具体的には以下のようにして行う。即ち、ページテーブルを使用していない場合には、ORBのデータデスクリプタフィールドの値が同一か否かを比較する。一方、ページテーブルを使用している場合には、ページテーブルの最初のセグメントの内容が同一か否かを比較する。
【0090】
5.電子機器
次に、本実施形態のデータ転送制御装置を含む電子機器の例について説明する。
【0091】
例えば図15(A)に電子機器の1つであるプリンタの内部ブロック図を示し、図16(A)にその外観図を示す。CPU(マイクロコンピュータ)510はシステム全体の制御などを行う。操作部511はプリンタをユーザが操作するためのものである。ROM516には、制御プログラム、フォントなどが格納され、RAM518はCPU510のワーク領域として機能する。表示パネル519はプリンタの動作状態をユーザに知らせるためのものである。
【0092】
PHYデバイス502、データ転送制御装置500を介して、パーソナルコンピュータなどの相手ノードから送られてきた印字データは、バス504を介して印字処理部(プリンタエンジン)512に直接送られる。そして、印字データは、印字処理部512にて所与の処理が施され、プリントヘッダなどからなる印字部(データを出力するための装置)514により紙に印字されて出力される。
【0093】
図15(B)に電子機器の1つであるスキャナの内部ブロック図を示し、図16(B)にその外観図を示す。CPU520はシステム全体の制御などを行う。操作部521はスキャナをユーザが操作するためのものである。ROM526には制御プログラムなどが格納され、RAM528はCPU520のワーク領域として機能する。
【0094】
光源、光電変換器などからなる画像読み取り部(データを取り込むための装置)522により原稿の画像が読み取られ、読み取られた画像のデータは画像処理部(スキャナエンジン)524により処理される。そして、処理後の画像データがバス505を介してデータ転送制御装置500に直接送られる。データ転送制御装置500は、この画像データにヘッダなどを付加することでパケットを生成し、PHYデバイス502を介してパーソナルコンピュータなどの相手ノードに送信する。
【0095】
図15(C)に電子機器の1つであるCD−RWドライブの内部ブロック図を示し、図16(C)にその外観図を示す。CPU530はシステム全体の制御などを行う。操作部531はCD−RWをユーザが操作するためのものである。ROM536には制御プログラムなどが格納され、RAM538はCPU530のワーク領域として機能する。
【0096】
レーザ、モータ、光学系などからなる読み取り&書き込み部(データを取り込むための装置又はデータを記憶するための装置)533によりCD−RW532から読み取られたデータは、信号処理部534に入力され、エラー訂正処理などの所与の信号処理が施される。そして、信号処理が施されたデータが、バス506を介してデータ転送制御装置500に直接送られる。データ転送制御装置500は、このデータにヘッダなどを付加することでパケットを生成し、PHYデバイス502を介してパーソナルコンピュータなどの相手ノードに送信する。
【0097】
一方、PHYデバイス502、データ転送制御装置500を介して、相手ノードから送られてきたデータは、バス506を介して信号処理部534に直接送られる。そして、信号処理部534によりこのデータに所与の信号処理が施され、読み取り&書き込み部533によりCD−RW532に記憶される。
【0098】
なお、図15(A)、(B)、(C)において、CPU510、520、530の他に、データ転送制御装置500でのデータ転送制御のためのCPUを別に設けるようにしてもよい。
【0099】
また、図15(A)、(B)、(C)ではRAM501(データバッファに相当)がデータ転送制御装置500の外部に設けられているが、RAM501をデータ転送制御装置500に内蔵させてもよい。
【0100】
本実施形態のデータ転送制御装置を電子機器に用いれば、ヘッドクリーニングなどの理由によりデータ転送が中断した場合にも、その理由の解消後にデータ転送を適正に再開できるようになる。
【0101】
また本実施形態のデータ転送制御装置を電子機器に用いれば、高速なデータ転送が可能になる。従って、ユーザがパーソナルコンピュータなどによりプリントアウトの指示を行った場合に、少ないタイムラグで印字が完了するようになる。また、スキャナへの画像取り込みの指示の後に、少ないタイムラグで読み取り画像をユーザは見ることができるようになる。また、CD−RWからのデータの読み取りや、CD−RWへのデータの書き込みを高速に行うことができるようになる。
【0102】
また本実施形態のデータ転送制御装置を電子機器に用いることで、CPU上で動作するファームウェアの処理負担が軽減され、安価なCPUや低速のバスを用いることが可能になる。更に、データ転送制御装置の低コスト化、小規模化を図れるため、電子機器の低コスト化、小規模化も図れるようになる。
【0103】
なお本実施形態のデータ転送制御装置を適用できる電子機器としては、上記以外にも例えば、種々の光ディスクドライブ(CD−ROM、DVD)、光磁気ディスクドライブ(MO)、ハードディスクドライブ、TV、VTR、ビデオカメラ、オーディオ機器、電話機、プロジェクタ、パーソナルコンピュータ、電子手帳、ワードプロセッサなど種々のものを考えることができる。
【0104】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【0105】
例えば、本発明のデータ転送制御装置の構成は、図7に示す構成が特に望ましいが、これに限定されるものではない。
【0106】
また、コマンドの比較手法、アドレスの比較手法、データ転送の再開手法は、本実施形態で説明した手法が特に望ましいが、これに限定されるものではない。
【0107】
また本発明は、ヘッドクリーニング時のデータ転送の中断の問題を解消するのに特に効果的であるが、これに限定されるものではない。例えばCD−RWドライブにおけるディスクのフォーマット時のデータ転送の中断の問題など、種々の問題を解消するのに本発明は効果的である。
【0108】
また、本発明は、IEEE1394規格でのデータ転送に適用されることが特に望ましいが、これに限定されるものではない。例えばIEEE1394と同様の思想に基づく規格やIEEE1394を発展させた規格におけるデータ転送にも本発明は適用できる。
【図面の簡単な説明】
【図1】IEEE1394の層構造について示す図である。
【図2】SBP−2について説明するための図である。
【図3】SBP−2のデータ転送処理の概略について説明するための図である。
【図4】データをイニシエータからターゲットに転送する場合のコマンド処理について説明するための図である。
【図5】データをターゲットからイニシエータに転送する場合のコマンド処理について説明するための図である。
【図6】図6(A)、(B)、(C)は、ページテーブルについて説明するための図である。
【図7】本実施形態のデータ転送制御装置の構成例を示す図である。
【図8】ターゲット側(ファームウェア)の処理の概要を示すフローチャートである。
【図9】イニシエータ側(デバイスドライバ)の処理の概要を示すフローチャートである。
【図10】ヘッドクリーニング時のデータ転送の中断の問題について説明するための図である。
【図11】イニシエータ側のタイムアウト時間T1よりも短いタイムアウト時間T2が経過したところで、イニシエータにエラーステータスを転送する手法について説明するための図である。
【図12】図12(A)、(B)、(C)は、二重印刷の問題について説明するための図である。
【図13】ヘッドクリーニング発生の前後でORBの内容や転送データの先頭アドレスが同一の場合に、データ転送を継続して再開する手法について説明するための図である。
【図14】ORBの内容比較について説明するための図である。
【図15】図15(A)、(B)、(C)は、種々の電子機器の内部ブロック図の例である。
【図16】図16(A)、(B)、(C)は、種々の電子機器の外観図の例である。
【符号の説明】
10 データ転送制御装置
12 PHYデバイス
14 リンクデバイス
16 CPU
18 データバッファ
20 ファームウェア(F/W)
30 コミュニケーション部(COM)
40 マネージメント部(MNG)
50 プリントタスク部(PRT)
60 フェッチ部(FCH)
61 データ転送処理部
62 ステータス転送部
66 コマンド比較部
70 アドレス比較部
72 データ転送再開部
100 パーソナルコンピュータ
102 デバイスドライバ
104 データバッファ
110 情報記憶媒体
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data transfer control device, an information storage medium, and an electronic device, and in particular, a data transfer control device and an information storage medium for performing data transfer according to a standard such as IEEE 1394 between a plurality of nodes connected to a bus. And electronic devices.
[0002]
[Background Art and Problems to be Solved by the Invention]
In recent years, an interface standard called IEEE 1394 has been in the spotlight. This IEEE 1394 standardizes a high-speed serial bus interface that can be used for next-generation multimedia. According to the IEEE 1394, it is possible to handle data such as a moving image that requires real-time performance. In addition to computer peripheral devices such as printers, scanners, CD-RW drives, and hard disk drives, home appliances such as video cameras, VTRs, and TVs can be connected to the IEEE 1394 bus. For this reason, it is expected that digitalization of electronic devices can be dramatically accelerated.
[0003]
When an electronic device such as a printer is connected to such an IEEE 1394 bus, it has been found that the following problems occur.
[0004]
That is, in an ink jet printer or the like, if head cleaning is performed during printing, data flow stops for several minutes (up to about 5 minutes).
[0005]
On the other hand, an OS (Operating System) operating on an initiator (personal computer), for example, if data does not flow for 100 seconds, performs a reset process on the target (printer, data transfer control device) and then makes a new data transfer request. . When the reset process is performed, the internal information of the target is also cleared, so that the data transfer cannot be resumed after the head cleaning is completed.
[0006]
The present invention has been made in view of the technical problems as described above, and even when the data transfer with the upper layer device is interrupted for some reason, the data transfer is appropriately performed after the reason is resolved. An object is to provide a data transfer control device, an information storage medium, and an electronic device that can be resumed continuously.
[0007]
[Means for Solving the Problems]
In order to solve the above-described problems, the present invention provides a data transfer control device for data transfer between a plurality of nodes connected to a bus, and is based on a first data transfer request transferred from a counterpart node. Means for performing data transfer processing, and status transfer means for transferring the status of the data transfer processing to the counterpart node, wherein the status transfer means sends a status for the first data transfer request from the data transfer control device. The error status is transferred to the partner node when a timeout time T2 shorter than the timeout time T1, which is the time for the partner node to wait for the return, has elapsed.
[0008]
According to the present invention, the data transfer process is started by the first data transfer request from the counterpart node, and the status is transferred to the counterpart node. In the present invention, when a timeout time T2 shorter than the timeout time T1, which is a time for the partner node to wait for status return, elapses (when the timeout time is reached), a dummy error status is intentionally transferred to the partner node. Accordingly, the counterpart node waits again for the timeout time T1 to perform the reset process or the like. As a result, even if the data transfer with the upper layer device is interrupted for some reason (for example, head cleaning), the data transfer can be continued properly and resumed after the reason is resolved.
[0009]
Further, according to the present invention, when the data transfer with the upper layer device is not completed, the status transfer means transfers an error status to the partner node on condition that the timeout time T2 has elapsed. When the data transfer with the upper layer device is completed, the transfer completion status is transferred to the partner node. In this way, the counterpart node that has received the transfer completion status can appropriately continue and resume data transfer, for example, by making a second data transfer request having the same content as the first data transfer request. Become.
[0010]
According to the present invention, the upper layer device is a print processing device, and the status transfer means checks the error status on the condition that the timeout time T2 has passed in order to wait for the head cleaning time of the print processing device. It is characterized by forwarding to a node. In this way, even when the data transfer is interrupted for a long time to wait for the head cleaning time of the print processing device, the data transfer can be properly resumed after the head cleaning is completed.
[0011]
The present invention also provides restarting means for continuously restarting data transfer when a second data transfer request having the same content as the first data transfer request is transferred from the partner node that has received the error status. It is characterized by including. In this way, it is possible to prevent such a situation that data is double transferred, and it is possible to prevent malfunction of electronic equipment including the data transfer control device.
[0012]
In the present invention, it is desirable to perform data transfer conforming to the IEEE 1394 standard.
[0013]
The present invention is also an information storage medium including a program for controlling data transfer with any one of the data transfer control devices described above, wherein the first data transfer is performed before the timeout time T1 has elapsed. When the status for the request is not returned from the data transfer control device, a process for resetting the data transfer control device is performed, and when the error status is returned from the data transfer control device before the timeout time T1 elapses. And a program for making a second data transfer request having the same content as the first data transfer request to the data transfer control device. In this way, it is possible to prevent a situation in which erroneous data transfer restart processing is performed, and it is possible to prevent the occurrence of problems caused by interruption of data transfer.
[0014]
An electronic device according to the present invention includes any one of the data transfer control devices described above, a device that performs a given process on the data transfer control device and data received from a partner node via a bus, and a process. And a device for outputting or storing the received data. An electronic apparatus according to the present invention includes any one of the data transfer control devices described above, a device that performs a given process on the data transfer control device and data transmitted to a partner node via a bus, and a process. And a device for capturing data.
[0015]
According to the present invention, even when the data transfer between the electronic device and the data transfer control device is interrupted for some reason (for example, head cleaning), the data transfer can be properly resumed after the reason is resolved. . In addition, the data transfer speed can be increased, and the cost of the electronic device can be reduced and the processing speed of the electronic device can be increased.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
DESCRIPTION OF EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings.
[0017]
1. IEEE 1394
First, IEEE 1394 will be briefly described.
[0018]
1.1 Overview
IEEE 1394 (IEEE 1394-1995, P1394.a) enables high-speed data transfer of 100 to 400 Mbps (800 to 3200 Mbps in P1394.b). It is also permitted to connect nodes with different transfer rates to the bus.
[0019]
Each node is connected in a tree shape, and a maximum of 63 nodes can be connected to one bus. If a bus bridge is used, it is possible to connect approximately 64,000 nodes.
[0020]
In IEEE 1394, asynchronous transfer and isochronous transfer are prepared as packet transfer methods. Asynchronous transfer is a transfer method suitable for data transfer that requires reliability, and isochronous transfer is a transfer method suitable for data transfer such as moving images and audio that requires real-time property.
[0021]
1.2 Layer structure
The layer structure (protocol structure) of IEEE1394 is shown in FIG.
[0022]
The IEEE 1394 protocol includes a transaction layer, a link layer, and a physical layer. Serial bus management monitors and controls the transaction layer, link layer, and physical layer, and provides various functions for node control and bus resource management.
[0023]
The transaction layer provides a transaction unit interface (service) to the upper layer, and performs transactions such as a read transaction, a write transaction, and a lock transaction through the interface provided by the lower link layer.
[0024]
Here, in the read transaction, data is transferred from the response node to the request node. On the other hand, in a write transaction, data is transferred from the request node to the response node. In the lock transaction, data is transferred from the request node to the response node, and the response node processes the data and returns it to the request node.
[0025]
The link layer provides addressing, data check, data framing for packet transmission / reception, cycle control for isochronous transfer, and the like.
[0026]
The physical layer provides conversion of logical symbols used by the link layer into electrical signals, bus arbitration, and a physical interface of the bus.
[0027]
1.3 SBP-2
As shown in FIG. 2, a protocol called SBP-2 (Serial Bus Protocol-2) has been proposed as an upper protocol including a part of the functions of the transaction layer of IEEE1394.
[0028]
Here, SBP-2 is proposed in order to make a SCSI command set available on the IEEE 1394 protocol. By using this SBP-2, the SCSI command set used in the existing SCSI standard electronic device can be minimally changed and used in the IEEE 1394 standard electronic device. Therefore, the design and development of electronic equipment can be facilitated. In addition, not only SCSI commands but also device-specific commands can be encapsulated and used, so the versatility is very high.
[0029]
As shown in FIG. 3, in SBP-2, a login process is first performed using a login ORB (Operation Request Block) created by an initiator (for example, a personal computer) (step T1). Next, initialization of the fetch agent is performed using the dummy ORB (step T2). Then, command processing is performed using the command block ORB (normal command ORB) (step T3), and finally logout processing is performed using the logout ORB (step T4).
[0030]
Here, in the command processing in step T3, as shown at A1 in FIG. 4, the initiator transfers the write request packet (issues a write request transaction) and rings the target doorbell register. Then, as shown in A2, the target transfers a read request packet, and the initiator returns a corresponding read response packet. As a result, the ORB (command block ORB) created by the initiator is fetched into the target data buffer. Then, the target analyzes the command included in the fetched ORB.
[0031]
If the command included in the ORB is a SCSI write command, the target transfers a read request packet to the initiator and the initiator returns a corresponding read response packet, as shown at A3. As a result, data stored in the data buffer of the initiator is transferred to the target. For example, when the target is a printer, the transferred data is printed by the printer engine.
[0032]
On the other hand, if the command included in the ORB is a SCSI read command, the target transfers a series of write request packets to the initiator, as indicated by B1 in FIG. Thereby, for example, when the target is a scanner, the scan data acquired by the scanner engine is transferred to the data buffer of the initiator.
[0033]
According to SBP-2, the target can transmit and receive data by transferring a request packet (issuing a transaction) when it is convenient for itself. Therefore, it is not necessary for the initiator and the target to move in synchronization, so that the data transfer efficiency can be improved.
[0034]
In addition to SBP-2, a protocol called FCP (Function Control Protocol) has been proposed as a higher-level protocol of IEEE 1394.
[0035]
When data is transferred between a target and an initiator, a page table may or may not exist in the data buffer (storage means) of the initiator (partner node) as shown in FIG.
[0036]
If a page table exists, the ORB created by the initiator includes the page table address and the number of elements, as shown in FIG. 6B. The address (read address, write address) of the transfer data is indirectly addressed using this page table.
[0037]
On the other hand, when the page table does not exist, as shown in FIG. 6C, the address and data length are included in the ORB, and the address of the transfer data is directly addressed.
[0038]
2. overall structure
Next, an example of the overall configuration of the data transfer control device of this embodiment will be described with reference to FIG. In the following, a case where the target for transferring data to and from the initiator is a printer will be described as an example, but the present invention is not limited to this.
[0039]
The data transfer control device 10 of the present embodiment includes a PHY device 12 (physical layer device), a link device 14 (link layer device), a CPU 16 (processor), a data buffer 18 (storage means), and firmware 20 (processing means). including. Note that the PHY device 12, the link device 14, the CPU 16, and the data buffer 18 are arbitrary components, and the data transfer control device 10 of the present embodiment does not need to include all these components.
[0040]
The PHY device 12 is a circuit for realizing the physical layer protocol of FIG. 1 by hardware, and has a function of converting a logical symbol used by the link device 14 into an electrical signal.
[0041]
The link device 14 is a circuit for realizing a part of the link layer protocol and the transaction layer protocol in FIG. 1 by hardware, and provides various services for packet transfer between nodes.
[0042]
The CPU 16 controls the entire apparatus and data transfer.
[0043]
The data buffer 18 is a buffer that temporarily stores transfer data (packets), and is configured by hardware such as SRAM, SDRAM, or DRAM. In the present embodiment, the data buffer 18 functions as a randomly accessible packet storage unit.
[0044]
The firmware 20 is a program including various processing routines (processing modules) that operate on the CPU 16, and a transaction layer protocol is realized by the firmware 20, the CPU 16 that is hardware, and the like.
[0045]
The device driver 102 included in the personal computer 100 serving as an initiator is a program including various processing routines for managing and controlling peripheral devices. This program is installed in the personal computer 100 using the information storage medium 110 (FD, CD-ROM, DVD, ROM).
[0046]
Here, the program of the device driver 102 may be downloaded from an information storage medium (hard disk, magnetic tape, etc.) of the host system via a network such as the Internet and installed in the personal computer 100. Use of the information storage medium possessed by such a host system is also included in the scope of the present invention.
[0047]
The firmware 20 (F / W) includes a communication unit 30 (COM), a management unit 40 (MNG), a print task unit 50 (PRT), and a fetch unit 60 (FCH).
[0048]
Here, the communication unit 30 is a processing module that functions as an interface with hardware such as the link device 14.
[0049]
The management unit 40 (management agent) is a processing module that manages login, reconnect, logout, reset, and the like. For example, when the initiator requests the target to log in, the management unit 40 first accepts the login request.
[0050]
The print task unit 50 is a processing module that performs data transfer processing with a printer engine, which is an application layer (upper layer) in the subsequent stage.
[0051]
The fetch unit 60 (fetch agent, command block agent) is a processing module for executing a command included in the command block ORB. Unlike the management unit 40 that can handle only a single request, the fetch unit 60 can also handle a linked list of ORBs fetched by a request from an initiator.
[0052]
The fetch unit 60 includes a data transfer processing unit 61, a status transfer unit 62, a command comparison unit 66, an address comparison unit 70, and a data transfer resume unit 72.
[0053]
Here, the data transfer processing unit 61 performs various processes (page table data) necessary for data transfer based on the ORB (command block ORB, which is a data transfer request in a broad sense) transferred from the initiator (partner node). Read, print data read, data transfer control, etc.).
[0054]
The status transfer unit 62 performs processing for transferring the status of data transfer processing (transfer completion status, error status, etc.) to the initiator.
[0055]
In this embodiment, the error status is transferred to the initiator on the condition that a timeout time T2 shorter than the timeout time T1, which is the time for the initiator to wait for the status return to the ORB, has elapsed.
[0056]
When the ORB is transferred again from the initiator that has received the error status, the command comparison unit 66 sends the contents of the retransmitted ORB (second data transfer request) and the ORB ( A process of comparing the content of the first data transfer request) is performed.
[0057]
When the ORB is transferred again from the initiator that has received the error status, the address comparing unit 70 receives the start address (second address, IEEE 1394 bus address) of the transfer data requested to be transferred by the retransmitted ORB. Then, a process of comparing the head address (first address) of the transfer data requested for transfer by the ORB being processed before is performed.
[0058]
The data transfer resuming unit 72 performs a process of continuously resuming data transfer when the contents of the ORB are the same and the head addresses are the same.
[0059]
From the viewpoint of process certainty, it is desirable to resume data transfer when the contents of the ORB are the same and the head addresses are the same. However, data transfer may be resumed only when the contents of the ORB match, or data transfer may be resumed only when the head addresses match. In this way, the processing burden can be reduced.
[0060]
3. Processing of this embodiment
Next, a processing example of this embodiment will be described.
[0061]
FIG. 8 is a flowchart illustrating an example of processing on the target side (firmware).
[0062]
When there is a print request from the initiator, the target reads the ORB from the data buffer of the initiator (step S1). If the page table exists, the page table is read from the data buffer of the initiator based on the page table address (see FIG. 6B) included in the ORB (step S2).
[0063]
Next, print data is read based on the read page table (step S3). Then, the read print data is DMA-transferred to the printer engine (print processing device) (step S4).
[0064]
Next, it is determined whether or not the DMA transfer of the print data to the printer engine is completed (step S5). If completed, the transfer completion status is transferred to the initiator (step S6).
[0065]
The above processing is repeated until all print data (all print data necessary for printing the printed matter) is transferred (step S7).
[0066]
In this embodiment, when it is determined in step S5 that the DMA transfer of the print data has not ended, it is determined whether or not the timeout time T2 on the target side has elapsed (whether or not the timeout time has been reached) ( Step S8). For example, when the data transfer to the printer engine is interrupted due to head cleaning or the like, the loop of step S5 and step S8 is repeated, and the process waits until the timeout time T2 elapses. In this case, the present embodiment is characterized in that the timeout time T2 is shorter than the timeout time T1 on the initiator side described later. In this embodiment, when this timeout time T2 elapses, a dummy error status is intentionally transferred to the target (step S9). Then, the state transitions to the idle state.
[0067]
FIG. 9 is a flowchart showing an example of processing on the initiator side (device driver).
[0068]
When a print job is generated from the application program, the initiator creates an ORB or page table for printing and writes it in the data buffer (step S20). Next, the target is instructed to read the created ORB (step S21; see A1 in FIG. 4).
[0069]
Next, it is determined whether or not the timeout time T1 on the initiator side has elapsed (step S22). This timeout time T1 is longer than the above-described timeout time T2 on the target side. If the timeout time has elapsed, a target reset process (abort task, abort task set, target reset, etc.) is performed, and then the ORB is recreated (step S23). Then, the target is instructed to read the re-created ORB (step S21).
[0070]
On the other hand, if it is determined in step S22 that the timeout time T1 has not elapsed, it is determined whether or not the status has been written (step S24). If the status is written before the timeout time T1 elapses, it is determined whether or not the status is an error status (step S25). For example, if the error status is intentionally written at T2 shorter than the timeout time T1 in step S9 in FIG. 8, it is determined that the error status is written in step S25.
[0071]
If it is determined in step S25 that the status is not an error status, it is determined whether or not all print data has been transferred (step S26). If not transferred, the process returns to step S20. End the print job.
[0072]
In this embodiment, when it is determined in step S25 that the status is an error status, the process proceeds to step S27, and it is determined whether a waiting time T (for example, 3 seconds) has elapsed. When the time elapses, the initiator re-creates the ORB and page table (step S28), and instructs the target to read the re-created ORB (step S21). In this case, the initiator (device driver) recreates the ORB so that the contents of the ORB, the start address of the print data, and the data length are the same before and after the occurrence of head cleaning. In this way, data transfer can be continued properly and resumed.
[0073]
4). Features of this embodiment
In an inkjet printer or the like, head cleaning may be performed during printing. When head cleaning is performed, data transfer is interrupted for several minutes as indicated by D1 in FIG. That is, even if the data transfer control device tries to transfer print data to the printer engine, the printer engine does not accept the print data, so the target data buffer becomes full and the data transfer is interrupted. Therefore, the target cannot return a transfer completion status to the initiator (see steps S5 and S6 in FIG. 8).
[0074]
On the other hand, as shown in D2 of FIG. 10, if the status does not return from the target before the timeout time T1 elapses, the initiator performs target reset processing (see steps S22 and S23 of FIG. 9). In this case, a gentle reset process such as an abort task or an abort task set is first performed, and if there is no response from the target, a strong reset process such as a target reset is performed.
[0075]
When the reset process is performed, internal information (the contents of the ORB, the start address of the transfer data, etc.) held by the target until then is also cleared. Therefore, the target cannot resume data transfer after the head cleaning is completed. As a result, the printer user had to discharge the paper with his / her hand and print again.
[0076]
Therefore, in this embodiment, as shown by E1 in FIG. 11, when a timeout time T2 shorter than the timeout time T1 on the initiator side has elapsed, a dummy error status is intentionally transferred to the initiator (FIG. 8). Steps S8 and S9). In this way, as indicated by E2 in FIG. 11, the initiator that has received the error status does not perform the reset process (in FIG. 9, it does not proceed to step S23, but proceeds to step S24). . Therefore, it is possible to prevent the internal information of the target from being cleared.
[0077]
During the head cleaning, the target continues to send a dummy error status to the initiator every time the timeout time T1 elapses. When the head cleaning is completed and the data transfer by ORB is completed, the target transfers a transfer completion status to the initiator (steps S5 and S6 in FIG. 8). Thereafter, data transfer is resumed from the continuation of the head cleaning occurrence time. In this case, in this embodiment, the target reset process by the initiator is not performed, and the target holds internal information at the time of occurrence of head cleaning, so that data transfer can be resumed from the continuation of the time of occurrence of head cleaning. Become.
[0078]
In order to properly resume the data transfer from the continuation of the head cleaning occurrence time, the following device is also required.
[0079]
For example, as shown in FIG. 12A, assume that head cleaning occurs when data is transferred to a position (address) indicated by C1. In this case, the initiator creates the ORB for printing again as shown in FIG. 12B, and instructs the target to restart the print data transfer from the beginning (steps S27 and S28 in FIG. 9). S21). For this reason, the data transfer is resumed from the position indicated by C2 in FIG. 12B, and only a part of the print data is sent twice. As a result, the problem of double printing as shown in FIG.
[0080]
In order to solve such a problem, in the present embodiment, a method as described below is adopted.
[0081]
For example, assume that head cleaning occurs during data transfer by the ORB indicated by F1 in FIG. Then, the target transfers an error status to the initiator as indicated by F2. Then, the initiator that has received this error status creates the ORB indicated by F3 again and transfers this ORB to the target (the target reads). In this case, in this embodiment, the contents of the ORB (first command packet) before head cleaning shown in F1 are compared with the contents of the ORB (second command packet) after head cleaning shown in F3. Further, the head address AD1 (first address) of the transfer data specified by the ORB before head cleaning is compared with the head address AD2 (second address) of the transfer data specified by the ORB after head cleaning.
[0082]
When it is determined that the contents of the ORB are the same and the head address is the same, the data transfer is continued and resumed as indicated by F4. That is, the data transfer is resumed from the continuation of the data transfer at the time when the head cleaning occurs (the data transfer is resumed from the data next to the data that has already been transferred at the time the head cleaning occurs).
[0083]
On the other hand, if the contents of the ORB are not the same or the head addresses are not the same, the ORB after the head cleaning shown in F3 is processed as a new ORB from the beginning.
[0084]
By doing so, the transfer data of the portion indicated by F5 in FIG. 13 is not double transferred unlike the case of FIG. Accordingly, erroneous printing as shown in FIG. 12C does not occur. In addition, since the double transfer can be avoided, the transfer time can be shortened.
[0085]
For example, as a method different from the present embodiment, a method may be considered in which data transfer is always resumed from the continuation of the head cleaning occurrence time, without comparing the ORB contents and the head address.
[0086]
However, according to this method, for example, even when the initiator cancels the print data transfer process after the head cleaning occurs and creates an ORB completely different from that before the head cleaning occurs, the data transfer is resumed from F4 in FIG. The trouble that it ends up occurs.
[0087]
On the other hand, in the present embodiment, when the ORB contents and the head address are the same before and after the head cleaning, the data transfer restarts from F4 in FIG. Since the processing is performed, the above-described problems do not occur.
[0088]
In the present embodiment, various types of information are compared when comparing the contents of the ORB. For example, as shown in FIG. 14, in this embodiment, the page table presence flag P included in the command block ORB, the data size, and the operation code (print command, read command, etc.) in the command block (command set) field are distinguished. Code) and data length. Further, when the ORB includes identification information (for example, a sequence number) for identifying the ORB, this identification information is also compared. By comparing such information, it is possible to reliably determine whether or not the ORBs before and after the occurrence of head cleaning are the same with a simple process.
[0089]
Note that the comparison of the head addresses AD1 and AD2 of the transfer data is specifically performed as follows. That is, when the page table is not used, it is compared whether or not the value of the data descriptor field of the ORB is the same. On the other hand, when the page table is used, it is compared whether or not the contents of the first segment of the page table are the same.
[0090]
5. Electronics
Next, an example of an electronic device including the data transfer control device of this embodiment will be described.
[0091]
For example, FIG. 15A shows an internal block diagram of a printer which is one of electronic devices, and FIG. 16A shows an external view thereof. A CPU (microcomputer) 510 controls the entire system. An operation unit 511 is used by a user to operate the printer. The ROM 516 stores control programs, fonts, and the like, and the RAM 518 functions as a work area for the CPU 510. A display panel 519 is for informing the user of the operating state of the printer.
[0092]
Print data sent from a partner node such as a personal computer via the PHY device 502 and the data transfer control device 500 is sent directly to the print processing unit (printer engine) 512 via the bus 504. The print data is subjected to a given process in the print processing unit 512, and is printed on paper by a print unit (device for outputting data) 514 including a print header and the like.
[0093]
FIG. 15B shows an internal block diagram of a scanner which is one of electronic devices, and FIG. 16B shows an external view thereof. The CPU 520 controls the entire system. The operation unit 521 is for the user to operate the scanner. The ROM 526 stores a control program and the like, and the RAM 528 functions as a work area for the CPU 520.
[0094]
An image of a document is read by an image reading unit (device for capturing data) 522 including a light source, a photoelectric converter, and the like, and the read image data is processed by an image processing unit (scanner engine) 524. Then, the processed image data is sent directly to the data transfer control device 500 via the bus 505. The data transfer control device 500 generates a packet by adding a header or the like to the image data, and transmits the packet to a counterpart node such as a personal computer via the PHY device 502.
[0095]
FIG. 15C shows an internal block diagram of a CD-RW drive which is one of electronic devices, and FIG. 16C shows an external view thereof. The CPU 530 controls the entire system. The operation unit 531 is for the user to operate the CD-RW. The ROM 536 stores control programs and the like, and the RAM 538 functions as a work area for the CPU 530.
[0096]
Data read from the CD-RW 532 by the reading & writing unit (device for capturing data or device for storing data) 533 including a laser, a motor, an optical system, etc. is input to the signal processing unit 534 and an error occurs. A given signal process such as a correction process is performed. Then, the data subjected to signal processing is directly sent to the data transfer control device 500 via the bus 506. The data transfer control device 500 generates a packet by adding a header or the like to this data, and transmits the packet to a counterpart node such as a personal computer via the PHY device 502.
[0097]
On the other hand, the data sent from the counterpart node via the PHY device 502 and the data transfer control device 500 is sent directly to the signal processing unit 534 via the bus 506. Then, given signal processing is performed on this data by the signal processing unit 534, and the data is stored in the CD-RW 532 by the reading & writing unit 533.
[0098]
15A, 15B, and 15C, in addition to the CPUs 510, 520, and 530, a CPU for data transfer control in the data transfer control device 500 may be provided separately.
[0099]
15A, 15B, and 15C, the RAM 501 (corresponding to the data buffer) is provided outside the data transfer control device 500, but the RAM 501 may be built in the data transfer control device 500. Good.
[0100]
If the data transfer control device of this embodiment is used in an electronic device, even if the data transfer is interrupted for reasons such as head cleaning, the data transfer can be properly resumed after the reason is resolved.
[0101]
Further, if the data transfer control device of this embodiment is used in an electronic device, high-speed data transfer can be performed. Therefore, when the user gives a printout instruction using a personal computer or the like, printing can be completed with a small time lag. In addition, the user can view the read image with a small time lag after the image capture instruction to the scanner. In addition, data can be read from the CD-RW and data can be written to the CD-RW at high speed.
[0102]
Further, by using the data transfer control device of this embodiment in an electronic device, the processing load of firmware operating on the CPU can be reduced, and an inexpensive CPU or a low-speed bus can be used. Furthermore, since the cost and scale of the data transfer control device can be reduced, the cost and scale of the electronic device can be reduced.
[0103]
In addition to the above, the electronic apparatus to which the data transfer control device of this embodiment can be applied includes, for example, various optical disk drives (CD-ROM, DVD), magneto-optical disk drives (MO), hard disk drives, TVs, VTRs, Various things, such as a video camera, an audio equipment, a telephone, a projector, a personal computer, an electronic notebook, a word processor, can be considered.
[0104]
In addition, this invention is not limited to this embodiment, A various deformation | transformation implementation is possible within the range of the summary of this invention.
[0105]
For example, the configuration of the data transfer control device of the present invention is particularly preferably the configuration shown in FIG. 7, but is not limited thereto.
[0106]
The command comparison method, the address comparison method, and the data transfer restart method are particularly preferably the methods described in this embodiment, but are not limited thereto.
[0107]
The present invention is particularly effective in solving the problem of interruption of data transfer during head cleaning, but is not limited to this. For example, the present invention is effective in solving various problems such as a problem of interruption of data transfer when a disk is formatted in a CD-RW drive.
[0108]
The present invention is particularly preferably applied to data transfer according to the IEEE 1394 standard, but is not limited to this. For example, the present invention can also be applied to data transfer in a standard based on the same idea as IEEE 1394 or a standard developed from IEEE 1394.
[Brief description of the drawings]
FIG. 1 is a diagram showing a layer structure of IEEE1394.
FIG. 2 is a diagram for explaining SBP-2.
FIG. 3 is a diagram for explaining an outline of SBP-2 data transfer processing;
FIG. 4 is a diagram for explaining command processing when data is transferred from an initiator to a target.
FIG. 5 is a diagram for explaining command processing when data is transferred from a target to an initiator;
6A, 6B, and 6C are diagrams for explaining a page table. FIG.
FIG. 7 is a diagram illustrating a configuration example of a data transfer control device of the present embodiment.
FIG. 8 is a flowchart showing an outline of processing on the target side (firmware).
FIG. 9 is a flowchart showing an overview of processing on the initiator side (device driver).
FIG. 10 is a diagram for explaining a problem of interruption of data transfer during head cleaning.
FIG. 11 is a diagram for describing a technique for transferring an error status to an initiator when a timeout time T2 shorter than the timeout time T1 on the initiator side has elapsed.
FIGS. 12A, 12B, and 12C are diagrams for explaining the problem of double printing. FIG.
FIG. 13 is a diagram for explaining a technique for continuing and restarting data transfer when the ORB contents and the start address of transfer data are the same before and after the occurrence of head cleaning.
FIG. 14 is a diagram for explaining comparison of contents of an ORB.
FIGS. 15A, 15B, and 15C are examples of internal block diagrams of various electronic devices.
16A, 16B, and 16C are examples of external views of various electronic devices.
[Explanation of symbols]
10 Data transfer control device
12 PHY devices
14 Link device
16 CPU
18 Data buffer
20 Firmware (F / W)
30 Communication Department (COM)
40 Management Department (MNG)
50 Print Task (PRT)
60 Fetch part (FCH)
61 Data transfer processor
62 Status transfer section
66 Command comparison part
70 Address comparison part
72 Data transfer resumption part
100 Personal computer
102 Device driver
104 Data buffer
110 Information storage medium

Claims (8)

バスに接続される複数のノード間でのデータ転送のためのデータ転送制御装置であって、
相手ノードから転送されてきた第1のデータ転送要求に基づいてデータ転送処理を行うデータ転送処理手段と、
データ転送処理のステータスを相手ノードに対して転送するステータス転送手段とを含み、
前記ステータス転送手段が、
前記第1のデータ転送要求に対するステータスがデータ転送制御装置から返ってくるのを相手ノードが待つ時間であるタイムアウト時間T1を超えたときに、該相手ノードからリセット要求が送信される場合に、
前記第1のデータ転送要求がDMA転送要求であり、前記タイムアウト時間T1より短いタイムアウト時間T2内に前記DMA転送要求に基づくDMA転送が完了したときには、転送完了ステータスを相手ノードに対して転送し、
前記第1のデータ転送要求がDMA転送要求であり、前記DMA転送要求に基づくDMA転送の処理中において前記タイムアウト時間T1よりも短いタイムアウト時間T2が経過したときには、ダミーエラーステータスを相手ノードに対して転送し、
前記データ転送処理手段が、
前記ステータス転送手段により相手ノードに対して前記ダミーエラーステータスが転送された場合には、該相手ノードから再びDMA転送要求が転送されるのを待機し、
前記タイムアウト時間T1が経過するまでに前記第1のデータ転送要求に対するステータスを前記相手ノードに転送できなかった場合には、前記相手ノードから送信されるリセット要求に基づいて、前記第1のデータ転送要求についての内部情報をクリアすることを特徴とするデータ転送制御装置。
A data transfer control device for transferring data between a plurality of nodes connected to a bus,
Data transfer processing means for performing data transfer processing based on the first data transfer request transferred from the counterpart node;
Status transfer means for transferring the status of the data transfer process to the partner node,
The status transfer means is
When a reset request is transmitted from the counterpart node when a counterpart node waits for the status for the first data transfer request to return from the data transfer control device, a timeout time T1 is exceeded,
When the first data transfer request is a DMA transfer request and the DMA transfer based on the DMA transfer request is completed within the timeout time T2 shorter than the timeout time T1, the transfer completion status is transferred to the partner node,
When the first data transfer request is a DMA transfer request and a timeout time T2 shorter than the timeout time T1 has elapsed during the DMA transfer processing based on the DMA transfer request, a dummy error status is sent to the partner node. Forward,
The data transfer processing means is
When the dummy error status is transferred to the counterpart node by the status transfer means , it waits for the DMA transfer request to be transferred again from the counterpart node,
If the status for the first data transfer request cannot be transferred to the counterpart node before the timeout time T1 elapses, the first data transfer is performed based on a reset request transmitted from the counterpart node. A data transfer control device characterized by clearing internal information about a request.
請求項1において、
前記ステータス転送手段が、
アプリケーション層のデバイスとの間のデータ転送が完了していない場合には、前記タイムアウト時間T2が経過したことを条件に前記ダミーエラーステータスを相手ノードに対して転送し、前記アプリケーション層のデバイスとの間のデータ転送が完了した場合には、転送完了ステータスを相手ノードに対して転送することを特徴とすることを特徴とするデータ転送制御装置。
In claim 1,
The status transfer means is
When the data transfer with the application layer device is not completed, the dummy error status is transferred to the partner node on condition that the timeout time T2 has passed, and A data transfer control device characterized by transferring a transfer completion status to a counterpart node when data transfer between them is completed.
請求項2において、
前記アプリケーション層のデバイスが印字処理デバイスであり、
前記ステータス転送手段が、
少なくとも前記タイムアウト時間T1より長い前記印字処理デバイスのヘッドクリーニング時間を待つために、前記タイムアウト時間T2が経過した場合には、前記ダミーエラーステータスを相手ノードに対して転送することを特徴とするデータ転送制御装置。
In claim 2,
The application layer device is a print processing device;
The status transfer means is
Data transfer characterized in that the dummy error status is transferred to the partner node when the timeout time T2 has elapsed in order to wait for at least the head cleaning time of the print processing device longer than the timeout time T1. Control device.
請求項1乃至3のいずれかにおいて、
前記ダミーエラーステータスを受けた相手ノードから前記第1のデータ転送要求と同一内容の第2のデータ転送要求が転送されてきた場合に、データ転送を継続して再開する再開手段を含むことを特徴とするデータ転送制御装置。
In any one of Claims 1 thru | or 3,
Resuming means for continuing and resuming data transfer when a second data transfer request having the same contents as the first data transfer request is transferred from the counterpart node receiving the dummy error status; A data transfer control device.
請求項1乃至4のいずれかにおいて、
IEEE1394の規格に準拠したデータ転送を行うことを特徴とするデータ転送制御装置。
In any one of Claims 1 thru | or 4,
A data transfer control device that performs data transfer conforming to the IEEE 1394 standard.
請求項1乃至5のいずれかのデータ転送制御装置との間でのデータ転送を制御するためのプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体であって、
前記タイムアウト時間T1の経過前に前記第1のデータ転送要求に対するステータスがデータ転送制御装置から返ってこなかった場合には、データ転送制御装置をリセットする処理を行い、前記タイムアウト時間T1の経過前に前記ダミーエラーステータスがデータ転送制御装置から返ってきた場合には、第1のデータ転送要求と同一内容の第2のデータ転送要求をデータ転送制御装置に対して行う手段としてコンピュータを機能させるためのプログラムを含むことを特徴とする情報記憶媒体。
A computer-readable information storage medium storing a program for controlling data transfer with the data transfer control device according to any one of claims 1 to 5,
If the status for the first data transfer request is not returned from the data transfer control device before the time-out time T1 elapses, the data transfer control device is reset, and before the time-out time T1 elapses. When the dummy error status is returned from the data transfer control device, the computer is caused to function as a means for making a second data transfer request having the same content as the first data transfer request to the data transfer control device. An information storage medium comprising a program.
請求項1乃至5のいずれかのデータ転送制御装置と、
前記データ転送制御装置及びバスを介して相手ノードから受信したデータに所与の処理を施す装置と、
処理が施されたデータを出力又は記憶するための装置とを含むことを特徴とする電子機器。
A data transfer control device according to any one of claims 1 to 5,
A device that performs a given process on data received from a partner node via the data transfer control device and the bus; and
And an apparatus for outputting or storing processed data.
請求項1乃至5のいずれかのデータ転送制御装置と、
前記データ転送制御装置及びバスを介して相手ノードに転送するデータに所与の処理を施す装置と、
処理が施されるデータを取り込むための装置とを含むことを特徴とする電子機器。
A data transfer control device according to any one of claims 1 to 5,
An apparatus for performing a given process on the data transferred to the counterpart node via the data transfer control device and the bus;
An electronic apparatus comprising: a device for capturing data to be processed.
JP36115099A 1999-12-20 1999-12-20 Data transfer control device, information storage medium, and electronic device Expired - Fee Related JP3624767B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP36115099A JP3624767B2 (en) 1999-12-20 1999-12-20 Data transfer control device, information storage medium, and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP36115099A JP3624767B2 (en) 1999-12-20 1999-12-20 Data transfer control device, information storage medium, and electronic device

Publications (3)

Publication Number Publication Date
JP2001175546A JP2001175546A (en) 2001-06-29
JP2001175546A5 JP2001175546A5 (en) 2005-02-17
JP3624767B2 true JP3624767B2 (en) 2005-03-02

Family

ID=18472406

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36115099A Expired - Fee Related JP3624767B2 (en) 1999-12-20 1999-12-20 Data transfer control device, information storage medium, and electronic device

Country Status (1)

Country Link
JP (1) JP3624767B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004104687A (en) * 2002-09-12 2004-04-02 Ricoh Co Ltd Electronic equipment
KR100567309B1 (en) 2004-06-15 2006-04-04 삼성전자주식회사 Method for increasing bus usage efficiency by using received data header error check

Also Published As

Publication number Publication date
JP2001175546A (en) 2001-06-29

Similar Documents

Publication Publication Date Title
JP3843667B2 (en) Data transfer control device and electronic device
JP3906542B2 (en) Information processing apparatus and method, data communication system
JP3598923B2 (en) Data transfer control device, information storage medium, and electronic device
JP3608441B2 (en) Data transfer control device and electronic device
JP2001036548A (en) Data transfer controller and electronic device
JP4250805B2 (en) Electronic device, data communication method, and network system
JP3387466B2 (en) Data communication device
JP4627456B2 (en) Communication system, cycle master node and communication method
JP3624767B2 (en) Data transfer control device, information storage medium, and electronic device
US6978327B1 (en) Data transfer control device and electronic equipment for performing data
US7085855B1 (en) Data transfer control device and electronic equipment
JP3598924B2 (en) Data transfer control device, information storage medium, and electronic device
JP2000134231A (en) Data transfer controller and electronic equipment
JP3606145B2 (en) Data transfer control device and electronic device
JP3598922B2 (en) Data transfer control device, information storage medium, and electronic device
JP4264924B2 (en) Data transfer method
WO2005062618A1 (en) Imaging device
JP2005074928A (en) Data processing system, data processor, and data receiving program
JP2000134232A (en) Data transfer controller and electronic device
JP4065466B2 (en) Data communication system
JP2003244277A (en) Data transfer method and system by protocol conversion, and program
JP2003309618A (en) Communication apparatus and communication method
JP4175373B2 (en) Information processing apparatus and method, and data communication system
JP3610982B2 (en) Data transfer control device and electronic device
JP2003242103A (en) Serial bus communication system, and serial bus communication method

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040312

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040312

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20040312

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20040325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040817

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041018

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: 20041109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041122

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20081210

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091210

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101210

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101210

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111210

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111210

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121210

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121210

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees