JP4112717B2 - データ処理装置 - Google Patents
データ処理装置 Download PDFInfo
- Publication number
- JP4112717B2 JP4112717B2 JP35081198A JP35081198A JP4112717B2 JP 4112717 B2 JP4112717 B2 JP 4112717B2 JP 35081198 A JP35081198 A JP 35081198A JP 35081198 A JP35081198 A JP 35081198A JP 4112717 B2 JP4112717 B2 JP 4112717B2
- Authority
- JP
- Japan
- Prior art keywords
- transmission
- reception
- response packet
- packet
- information
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
- G06F13/4226—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
- Information Transfer Systems (AREA)
Description
【発明の属する技術分野】
本発明はデータ処理装置に関し、特にIEEE1394規格に準拠したシリアルバスを介して、パケット単位でデータの送受信を行うシステムに用いられるデータ処理装置に関する。
【0002】
【従来の技術】
従来、パソコン等のデータ処理装置で画像データや音声データを取り込んだり、AV機器をコントロールするためには、ビデオキャプチャボードやRS232Cバス等が個別に必要であり、統一した取り扱いをすることはできなかった。
【0003】
そこで近年では、マルチメディア時代のデータ通信に適した規格が提案されており、例えば、「IEEE1394ハイパフォーマンスシリアルバス規格(以下、IEEE1394規格という)」により、高速大容量の通信を自由に行えるような環境整備がなされている。
【0004】
図4の符号101に、従来のデータ処理装置の一例を示す。このデータ処理装置101は、図示しない他のデータ処理装置とともにIEEE1394バス106に接続されている。IEEE1394バス106は、IEEE1394規格に準拠し、パケット単位でデータの転送が可能なシリアルバスであって、データ処理装置101は、IEEE1394バス106を介して、リクエストパケットを送信し、アクノレジ信号のみを受信するか、アクノレジ信号に加えてレスポンスパケットを受信することにより、他のデータ処理装置とデータの送受信ができるようにされている。
【0005】
データ処理装置101は、マイコン102と、送信装置103と、受信装置104とを有している。このうち、送信装置103と受信装置104とは、マイコン102と、IEEE1394バス106との間に並列に配置されている。
【0006】
このようなデータ処理装置101が、他のデータ処理装置との間でデータの送受信を行なう場合について、図5のフローチャートを参照しながら説明する。このフローチャートは、リクエストパケットを送信する間に、送信装置103が行なう処理を示すフローチャートであって、符号S101〜S106は、各処理ステップを示している。
【0007】
まず、マイコン102が、所定のプログラムに基づいてリクエストパケットを生成し、送信装置103に次々に出力する。各リクエストパケットには、リクエストパケットを識別する識別情報や、送信元であるデータ処理装置101を特定する情報や、リクエストパケットの送信先の他のデータ処理装置を特定する情報や、読み出すべきデータを特定するための情報などが記載されている。
【0008】
送信装置103は、内部にバッファメモリ(不図示)を有しており、次々に入力されるリクエストパケットをバッファメモリに順次保持し、1個ずつ読み出してIEEE1394バス106に送出する(S101)。
【0009】
送信装置103は、リクエストパケットを送出すると、送出したリクエストパケットの識別情報を受信装置104に出力して、リクエストパケットを送出した旨を受信装置104に通知するとともに、アクノレジ信号の入力待ち状態(S102)になり、後述するアクノレジ信号が入力されるまでは、新たなリクエストパケットを送信しない。
【0010】
リクエストパケットがIEEE1394バス106へと送出されると、リクエストパケットの内容で特定された他のデータ処理装置(以下相手方のデータ処理装置と称する。)が、IEEE1394バス106からリクエストパケットを順次受信し、その内容を読み出し、その内容に対応したアクノレジ信号をIEEE1394バス106に送出する。なお、アクノレジ信号とは、「受領確認」と「ペンディング」のいずれかからなる情報であって、いずれもリクエストパケットを受信した旨を通知するために送出されるものであるが、受領確認のアクノレジ信号は、レスポンスパケットを必要としない場合に、ペンディングのアクノレジ信号は、レスポンスパケットを必要とするときに、それぞれ送出されるものとする。
【0011】
リクエストパケットを送信してから所定時間が経過した後に、受信装置104から送信装置103にいずれのアクノレジ信号も入力されなかった場合には、送信装置103はエラーが発生したと判断し、その旨をマイコン102に通知して、エラー処理(S103)に移行する。
【0012】
他方、受信装置104から送信装置103にアクノレジ信号が入力された場合には、入力されたアクノレジ信号を検出し、そのアクノレジ信号が、受領確認のアクノレジ信号であるか否かを判断する(S104)。受領確認のアクノレジ信号であった場合には、送信装置103はそのトランザクションについては終了したものと判断し、1個のリクエストパケットの送信に関する一連の処理が終了する。一連の処理が終了すると、送信装置103は新たなリクエストパケットを送信可能な状態になる。
【0013】
他方、受信したアクノレジ信号が、受領確認のアクノレジ信号でなく、ペンディングのアクノレジ信号であった場合には、送信装置103はレスポンス受信待ち状態(S105)に移行する。このレスポンス受信待ち状態に移行すると、送信装置103は、後述するレスポンスパケットが受信されたことが確認されるまでは、新たなリクエストパケットを送信しない状態になる。
【0014】
ペンディングのアクノレジ信号を送出した相手方のデータ処理装置は、受信したリクエストパケットの内容に応じて、識別情報や、送信元、送信先を特定する情報や、リクエストパケットの送信先の他のデータ処理装置を特定する情報や、読み出すべきデータを特定するための情報などを含むレスポンスパケットを生成してIEEE1394バス106に送出する。
【0015】
受信装置104がレスポンスパケットを受信したら、受信装置104は、受信したレスポンスパケットの識別情報を送信装置103に出力し、レスポンスパケットを受信した旨を通知する。
【0016】
この通知によって、送信装置103は、レスポンスパケットを受信したことを確認したら、そのトランザクションについては終了し、次のリクエストパケットを送信可能な状態に移行する。
【0017】
受信装置104は、レスポンスパケットを受信した旨を通知したら、そのレスポンスパケットをマイコン102へと出力する。マイコン102は、入力されたレスポンスパケットを、所定の記憶装置に格納するなどの処理をする。
【0018】
他方、送信装置103は、ペンディングのアクノレジ信号が入力されてから一定時間が経過しても、レスポンスパケットを受信した旨の通知がなければ、エラーが発生したと判断し、その旨をマイコン102に通知して、エラー処理に移行する(S106)。
【0019】
以上説明したように、このデータ処理装置101では、リクエストパケットを送信して、それに対応するレスポンスパケットを受信することで、データの送受信を行なうことができる。
【0020】
しかしながら、このデータ処理装置101では、送信装置103が、アクノレジ信号が入力されたか否かを判断したり(S102)、入力されたアクノレジ信号が受領確認であるか否かを判断したり(S104)、レスポンスパケットが受信されたか否かを判断したり(S105)するという判断処理をしなければならなかったので、送信装置の処理負担が過重になってしまうという問題があった。
【0021】
さらに、送信装置103は、アクノレジ信号の入力待ち状態や、レスポンスパケットの受信待ち状態の間は、リクエストパケットを送信しないようにされているので、新たなリクエストパケットが続々とマイコン102で生成されても、受信待ちの間は生成されたリクエストパケットを続々と送出することができなかったので、リクエストパケットを送出する際の効率が低下してしまうという問題が生じていた。
【0022】
【発明が解決しようとする課題】
本発明は、上記従来の不都合を解決するために創作されたものであり、その目的は、IEEE1394バスに接続可能なデータ処理装置において、リクエストパケットの送信効率を向上させる技術を提供することにある。
【0023】
【課題を解決するための手段】
上記課題を解決するために、本発明の請求項1に記載のデータ処理装置は、リクエストパケットを生成する処理装置と、シリアルバスに接続され、上記リクエストパケットを上記シリアルバスに送信して確認信号待ち状態となる送信装置と、上記シリアルバスに接続され、上記リクエストパケットに対する応答である第1の確認信号又は第2の確認信号とレスポンスパケットを上記シリアルバスから受信し、上記第1又は第2の確認信号を上記送信装置に出力し、上記レスポンスパケットを上記処理装置に出力する受信装置と、上記リクエストパケットに含まれるリクエストパケットを特定するための送信情報を記憶する送信情報記憶手段と、上記送信情報と送信結果又は上記レスポンスパケットに含まれるレスポンスパケットを特定するための受信情報とレスポンスパケットの応答状態を示す状態通知情報とを記憶する受信結果記憶手段と、上記受信装置が上記第2の確認信号を受信してから所定の時間が経過しても上記レスポンスパケットが受信されない場合に、受信されるべきレスポンスパケットの上記受信情報、上記状態通知情報及び識別情報を含む疑似レスポンスパケットを生成する疑似レスポンスパケット生成手段とを有し、上記送信装置は、上記リクエストパケットを送信する際に上記送信情報を上記送信情報記憶手段に出力し、レスポンスパケットを伴なわない上記第1の確認信号の受信を上記受信装置が上記送信装置に通知すると、上記送信装置は、上記送信情報及び上記第1の確認信号が示す送信結果を上記受信結果記憶手段に出力して新たなリクエストパケットを送信可能な状態になり、上記処理装置は、上記送信情報記憶手段に記憶されている上記送信情報と上記受信結果記憶手段に記憶されている上記送信情報及び上記送信結果に基づいて上記リクエストパケットの送信による一連の処理が正常に行なわれたか否かを判断し、レスポンスパケットを伴なう上記第2の確認信号の受信を上記受信装置が上記送信装置に通知すると、上記送信装置は、新たなリクエストパケットを送信可能な状態になり、上記受信装置が上記第2の確認信号の受信後に上記レスポンスパケットを受信した場合、上記受信装置は、上記受信情報及び上記状態通知情報を上記受信結果記憶手段に出力し、上記処理装置は、上記送信情報記憶手段に記憶されている上記送信情報と上記受信結果記憶手段に記憶されている上記受信情報及び上記状態通知情報とに基づいて上記リクエストパケットの送信による一連の処理が正常に行なわれたか否かを判断し、上記受信装置が上記第2の確認信号を受信してから所定の時間が経過しても上記受信装置が上記レスポンスパケットを受信しない場合、上記受信装置は、上記疑似レスポンスパケット生成手段により生成された上記疑似レスポンスパケットの上記受信情報及び上記状態通知情報を上記受信結果記憶手段に出力し、上記処理装置は、上記送信情報記憶手段に記憶されている上記送信情報と上記受信結果記憶手段に記憶されている上記受信情報及び上記状態通知情報とに基づいて上記リクエストパケットの送信による一連の処理が正常に行なわれたか否かを判断する。
【0024】
また、請求項2に記載のデータ処理装置は、請求項1に記載のデータ処理装置であって、上記受信装置が上記第2の確認信号を受信してから所定の時間が経過しても上記受信装置が上記レスポンスパケットを受信しない場合に、上記受信装置が、上記疑似レスポンスパケット生成手段により生成された上記疑似レスポンスパケットの上記受信情報及び上記状態通知情報を上記受信結果記憶手段に出力すると共に上記疑似レスポンスパケットを上記処理装置に出力し、上記処理装置が、上記送信情報記憶手段に記憶されている上記送信情報と上記受信結果記憶手段に記憶されている上記受信情報及び上記状態通知情報とに基づいて上記リクエストパケットの送信による一連の処理が正常に行なわれたか否かを判断すると共に上記疑似レスポンスパケットを記憶する。
【0025】
更に、請求項3に記載のデータ処理装置は、請求項1又は2に記載のデータ処理装置であって、上記リクエストパケット、上記レスポンスパケット及び上記シリアルバスがIEEE1394規格に準拠するように構成されている。
【0026】
更に、請求項4に記載のデータ処理装置は、請求項3に記載のデータ処理装置であって、上記送信情報がディスティネーションIDとtLabelとで構成され、上記受信情報がソースIDとtLabelとで構成され、上記状態通知情報がrCodeで構成される。
【0028】
本発明によれば、送信装置が、リクエストパケットを送信する際に、リクエストパケットから送信情報を取得して送信情報記憶手段に出力しており、確認信号(アクノレジ信号)の内容が、レスポンスパケットが返信されない内容である場合、即ち、第1の確認信号である場合には、受信したアクノレジ信号の内容(送信結果)と、送信情報とを受信結果記憶手段に出力している。
【0029】
すると、処理装置が、リクエストパケット送信時に送信情報記憶手段に入力された送信情報と、アクノレジ信号の受信時に受信結果記憶手段に入力された送信情報及びアクノレジ信号の内容とに基づいて、リクエストパケットの送信状態(一連の処理)が正常であったか否かを判断することができるので、従来のように送信状態の正常、異常を送信装置が判断する必要がない。
従って、送信状態の正常、異常についての判断を送信装置が行なっていた従来に比して、送信装置のなすべき処理を軽減することができる。
【0030】
また、本発明において、アクノレジ信号の内容が、レスポンスパケットが返信される内容である場合、即ち、第2の確認信号である場合には、送信装置は、リクエストパケットを送信する際に、リクエストパケットから送信情報を取得して送信情報記憶手段に出力し、受信装置は、レスポンスパケットを受信する際に、レスポンスパケットの受信情報及び状態通知情報を受信結果記憶手段に出力し、処理装置は、送信情報、受信情報及び状態通知情報に基づいて、リクエストパケットの送信に対するレスポンスパケットの応答が正常であったか否かを判断し、異常であったと判断した場合には、送信装置にリクエストパケットの送信を中断させている。
【0031】
このため、リクエストパケットの送信に対するレスポンスパケットの応答が正常であったか否かを送信装置がこれを判断して、その判断に基づいてリクエストパケットの送信を待つ必要がない。
【0032】
従って、送信装置が送信情報を取得してリクエストパケットを送信したら、処理装置で送信状態に異常が生じたと判断されないかぎり、レスポンスパケットの受信状態には関係なく、すぐに次のリクエストパケットを送信することができ、次々にリクエストパケットを送信することができるので、リクエストパケットの送信効率を、レスポンスパケットの受信待ち状態の間、新たなリクエストパケットを送信することができなかった従来に比して向上させることができる。
【0033】
さらに本発明において、アクノレジ信号の内容が、レスポンスパケットが返信される内容であっても、受信装置が前記レスポンスパケットを受信できない場合には、疑似レスポンスパケット生成手段で、疑似レスポンスパケットを生成している。
【0034】
このため、疑似レスポンスパケットに、異常を示す状態通知情報を記載しておけば、レスポンスパケットが受信できなかった場合でも、疑似レスポンスパケットから状態通知情報を読み出すことにより、レスポンスパケットが受信されるときと同じ一連の処理で、リクエストパケットに応答するレスポンスパケットの応答が正常であったか否かを判断することができる。
【0035】
さらに、疑似レスポンスパケットから付加情報(識別情報)を読み出すことで、疑似レスポンスパケットと通常受信されたレスポンスパケットとを区別することができるので、疑似レスポンスパケットが受信されたトランザクションについては、レスポンスパケットが受信されなかったことを検出でき、そのトランザクションについてはリクエストパケットを再送信することができる。
【0036】
【発明の実施の形態】
図1を参照して、本発明のデータ処理装置を説明する。図1において、符号1は本発明の実施形態のデータ処理装置である。
【0037】
このデータ処理装置1は、複数の他のデータ処理装置とともに、IEEE1394バス6に接続され、IEEE1394バス6を介して、他のデータ処理装置とデータの送受信ができるようにされている。
【0038】
データ処理装置1は、マイコン2と、送信装置3と、受信装置4と、送信キュー5と、受信キュー7とを有している。マイコン2は、判断部11を有している。
送信装置3は、送信情報取得部8を有している。また、受信装置4は、受信情報取得部9と、疑似パケット生成部10とを有している。
【0039】
このうち、送信装置3と受信装置4とは、マイコン2と、IEEE1394バス6との間に並列に配置されている。
送信キュー5と、受信キュー7は、FIFO(First in first out)構造のメモリからなり、送信キュー5は送信情報取得部8と判断部11との間に、受信キュー7は受信情報取得部9と判断部11との間に、それぞれ配置されている。
【0040】
このようなデータ処理装置1が、他のデータ処理装置との間でデータの送受信を行なう場合について、図2のフローチャートを参照しながら説明する。このフローチャートは、リクエストパケットを送信する間に、送信装置3が行なう処理を示すフローチャートであって、符号S1〜S6は、各処理ステップを示している。
まず、マイコン2が、所定のプログラムに基づいてリクエストパケットを生成し、送信装置3に次々に出力する。
【0041】
図3(a)の符号20に、マイコン2が生成するリクエストパケットのフォーマットの概略を示す。このフォーマット20は、第1〜第3の記憶領域21〜23を有しており、そのそれぞれに、destination ID、tLabel、source ID が記載されている。destination IDは、送信先の機器を指定する情報である。tLabelは、未解決の各トランザクションに割り当てられた固有のタグである。また、source ID は、送信元の機器を指定する情報である。
【0042】
リクエストパケットが次々に入力されると、送信装置3は、その内部に設けられたバッファメモリ(不図示)に、入力されたリクエストパケットを順次保持し、1個ずつ読み出す。
【0043】
送信情報取得部8は、読み出されたリクエストパケットのdestination IDと、tLabelとを取得して対応付け、一組にして送信キュー5に出力する(S1)。
送信情報取得部8が、destination IDと、tLabelとの組を取得して、送信キュー5に出力したら、送信装置3は、リクエストパケットをIEEE1394バス6に送出する(S2)。
【0044】
リクエストパケットがIEEE1394バス6へと送出されると、リクエストパケットのdestination IDで特定された他のデータ処理装置(以下相手方のデータ処理装置と称する。)が、IEEE1394バス6からリクエストパケットを順次受信し、その内容を読み出し、その内容に対応したアクノレジ信号をIEEE1394バス6に送出する。なお、アクノレジ信号とは、「受領確認」と「ペンディング」のいずれかからなる情報であって、いずれもリクエストパケットを受信した旨を通知するために送出されるものであるが、受領確認のアクノレジ信号は、後述するレスポンスパケットが返信されない場合に、ペンディングのアクノレジ信号は、レスポンスパケットが返信されるときに、それぞれ送出されるものとする。
【0045】
送信装置3は、リクエストパケットを送出すると、アクノレジ信号の入力待ち状態(S3)になり、リクエストパケットを送信してから所定時間が経過した後に、受信装置4から送信装置3にいずれのアクノレジ信号も入力されなかった場合には、送信装置3は、送信したリクエストパケットのdestination ID、tLabelに加えて、送信にエラーが生じた旨の送信結果を対応付け、一組にして受信キュー7に出力する(S4)。
【0046】
リクエストパケットを送信してから所定時間内に、受信装置4から送信装置3にアクノレジ信号が入力された場合には、入力されたアクノレジ信号を検出し、そのアクノレジ信号が、ペンディングのアクノレジ信号であるか否かを判断する(S5)。アクノレジ信号がペンディングのアクノレジ信号でなく、受領確認のアクノレジ信号であった場合には、送信したリクエストパケットのdestination ID、tLabelに加えて、正常に送信がされた旨の送信結果を受信キュー7に出力し(S6)、そのトランザクションが終了したとして、新たなリクエストパケットを送信可能な状態に直ちに移行する。
【0047】
ステップS4又はS6の時点で、送信キュー5には、送信したリクエストパケットの一組のdestination ID、tLabelが記憶されており、受信キュー7には、送信したリクエストパケットの一組のdestination ID、tLabel、送信結果が記憶されていることになる。
【0048】
判断部11は、送信キュー5の記憶内容と受信キュー7の記憶内容を読み出し、送信キュー5に記載された一組のdestination ID、tLabelで対応付けられる受信キュー7の送信結果を検出し、正常に送信がなされたか否かを判断し、その判断結果をマイコン2に通知する。
【0049】
このとき、エラーが生じた旨の送信結果が検出された場合には、マイコン2は処理を中断する旨の制御命令を送信装置3や受信装置4などに出力して、一連の処理を中断させ、リクエストパケットを再送信するなどの処理を行なうが、正常に送信がされた旨の送信結果が検出された場合には、一連の処理を続行する。
【0050】
このように、エラーが生じたか否かの判断は、判断部11が行なっており、送信装置3がかかる判断処理をしたり、リクエストパケットの送信を待ったりする必要が無いので、送信装置3の処理を軽減することができ、処理を高速化することができる。
【0051】
以上までは、レスポンスパケットが返信されない場合について説明したが、相手方のデータ処理装置がデータ処理装置1へ、レスポンスパケットを返信してデータを転送する必要がある場合(スプリット・トランザクション)には、相手方のデータ処理装置は、ペンディングのアクノレジ信号をIEEE1394バス6へと送出する。
【0052】
ペンディングのアクノレジ信号を受信したら、送信装置3はそのトランザクションについては終了したとし、新たなリクエストパケットを送信可能な状態に直ちに移行する。
ペンディングのアクノレジ信号を送出した相手方のデータ処理装置は、受信したリクエストパケットの内容に応じて、レスポンスパケットを生成する。
【0053】
図3(b)の符号30に、相手方のデータ処理装置で生成される通常のレスポンスパケットのフォーマットの概略を示す。このフォーマット30は、第1〜第5の記憶領域31〜35を有しており、そのそれぞれに、destination ID、tLabel、source ID 、rCode 、転送されるべきデータが記載されている。destination IDは、送信先の機器を指定する情報であって、この場合は、データ処理装置1を指定している。source ID は、送信元の機器を指定する情報であって、この場合は、他のデータ処理装置を指定している。また、tLabelは、未解決の各トランザクションに割り当てられた固有のタグであって、この場合は、対応するリクエストパケットに記載されたtLabelと同じ値が記載されている。
【0054】
さらに、rCode は4ビットのデータであって、リクエストパケットに対する応答が成功したか否かを示すコードである。rCode の値が成功を示しているときには、リクエストパケットの要求に応じたデータの読み出しに成功し、そのデータを転送することを示している。他方、rCode の値が失敗を示しているときには、第5の記憶領域35にあるデータは無視される。
【0055】
相手方のデータ処理装置は、このようなフォーマットを有するレスポンスパケットを、IEEE1394バス6に送出する。
受信装置4はIEEE1394バス6からレスポンスパケットを受信する。受信したら、受信情報取得部9は、レスポンスパケットからsource ID と、tLabelと、rCode とを取得し、これらを対応付けて一組にして受信キュー7に出力する。
【0056】
すると、受信キュー7には、受信されたレスポンスパケットから取得されたsource ID と、tLabelと、rCode が一組にされて記憶されており、送信キュー5には、送信したリクエストパケットのdestination ID、tLabelの組が記憶されていることになる。
【0057】
あるリクエストパケットに対応して生成されたレスポンスパケットのsource IDと、リクエストパケットのdestination IDは同じ内容であり、リクエストパケットのtLabelとレスポンスパケットのtLabelもまた、同じ内容であるので、判断部11が、送信キュー5の記憶内容と受信キュー7の記憶内容とを照合し、送信キュー5に記憶されたdestination ID、tLabelの組と内容が一致するsource ID、tLabel の組を、受信キュー7から検出し、検出されたsource ID、tLabel の組と対応付けられるrCode を読み出すことで、相手方のデータ処理装置で、リクエストパケットの送信に対する応答が成功して、データが正しく転送されたか否かを判断することができる。
【0058】
判断部11が、受信されたレスポンスパケットから、応答が失敗した旨のrCode を検出した場合には、マイコン2は処理を中断する旨の制御命令を送信装置3や受信装置4などに出力して、処理を中断させ、リクエストパケットを再送信するなどの処理をするが、受信されたレスポンスパケットから正常に送信がされた旨のrCode が検出されたら、その後も処理を続行する。
【0059】
受信情報取得部9が、レスポンスパケットからsource ID と、tLabelと、rCode とを読み出して受信キュー7に出力したら、受信装置4は、マイコン2にレスポンスパケットを出力する。マイコン2は、入力されたレスポンスパケットを記憶領域(不図示)に格納して、リクエストパケットの送信に始まる一つのトランザクションを終了する。
【0060】
他方、スプリット・トランザクションに移行した場合には、送信情報取得部8は、送信するリクエストパケットからdestination ID、tLabelの組を送信キュー5に書き込むとともに、受信装置4にもdestination ID、tLabelの組を通知しており、リクエストパケット送信後に、予め定められた所定時間が経過しても、受信装置4がレスポンスパケットを受信できなかった場合には、疑似パケット生成部10が、受信装置4に通知されたdestination ID、tLabel等に基づいて、図3(c)の符号40に示すようなフォーマットを有する疑似レスポンスパケットを生成する。
【0061】
図3(c)に示すように、疑似レスポンスパケット40は、受信されるべきレスポンスパケットと同じフォーマットであって、第1〜第5の記憶領域41〜45を有しており、そのそれぞれに、destination ID、tLabel、source ID 、rCode と、付加情報とが記載されている。
【0062】
疑似パケット生成部10は、受信されるべきレスポンスパケットと同内容のdestination ID、tLabel、source IDを記載し、エラーが生じた旨のrCodeを記載するとともに、付加情報を記載する。この付加情報は、通常のレスポンスパケットと、疑似レスポンスパケットとを区別するための情報である。
【0063】
かかる疑似レスポンスパケットが生成されると、受信情報取得部9は、疑似レスポンスパケットから、受信されるべきレスポンスパケットに記載されているsource ID と、tLabelと、rCode とを取得し、これらを対応付けて一組にして受信キュー7に出力する。
【0064】
このようにして、疑似レスポンスパケットが生成された場合には、受信キュー7には疑似レスポンスパケットから取得されたsource ID と、tLabelと、rCode が一組にされて記憶されており、送信キュー5には送信したリクエストパケットのdestination ID、tLabelの組が記憶されている。
【0065】
そこで、判断部11が、送信キュー5の記憶内容と受信キュー7の記憶内容とを照合し、送信キュー5に記憶されたdestination ID、tLabelの組と内容が一致するsource ID、tLabel の組を、受信キュー7から検出し、検出されたsource ID、tLabel の組と対応付けられるrCode を読み出すことで、リクエストパケットに対する応答が成功したか否かを判断することができる。
【0066】
疑似レスポンスパケットには、応答が失敗した旨のrCode が記載されているので、判断部11は、応答が失敗したと判断し、その判断結果をマイコン2に通知する。するとマイコン2は、処理を中断する旨の制御命令を送信装置3や受信装置4などに出力して、一連の処理を中断させ、リクエストパケットを再送信するなどの処理を行なう。
【0067】
受信情報取得部9が、疑似レスポンスパケットから、source ID と、tLabelと、rCode とを取得して受信キュー7に出力したら、受信装置4は、疑似レスポンスパケットをマイコン2に出力する。
【0068】
マイコン2は、入力された疑似レスポンスパケットを記憶領域に格納し、疑似レスポンスパケットから付加情報を読み出すことによって、マイコン2はトランザクションを終了させることができる。
【0069】
以上説明したように、本実施形態のデータ処理装置1では、送信情報取得部8がdestination IDとtLabelとを取得して送信キュー5に出力すると、送信装置3は、直ちに新たなリクエストパケットを送信することができる。その結果、リクエストパケットに対する応答が失敗したとしても、判断部11が、応答が失敗したことを検出することができるので、その後、一連の処理を中断させ、応答が失敗したトランザクションについてのリクエストパケットを再送信するというように、応答の失敗に対して、後から対応することができる。
【0070】
従って、応答の失敗に備えるため、リクエストパケットの送信からレスポンスパケットの受信までの間に、送信装置がリクエストパケットを送信できなかった従来と異なり、エラーが発生したと判断部11で判断されるまで次々にリクエストパケットを送信することができるので、リクエストパケットの送信効率を従来に比して向上させることができる。
【0071】
また、レスポンスパケットが受信できなかった場合でも、疑似レスポンスパケット生成部10で疑似レスポンスパケットを生成し、通常のレスポンスパケットと同様にdestination ID、tLabel 、rCodeを読み出すことで、リクエストパケットに対する応答が成功したか否かを判断することができる。
【0072】
さらに、レスポンスパケットから付加情報を読み出すことにより、そのパケットが疑似レスポンスパケットであると判断することができるので、付加情報を読み出すことにより、疑似レスポンスパケットが生成されたトランザクションについては、レスポンスパケットが受信されなかったということを認識することができる。従って、従来のように特別な処理をすることなく、レスポンスパケットが受信されなかったことを検出することができる。
【0073】
また、例えばデータ処理装置1が、複数のリクエストパケットを次々に送信し、相手方のデータ処理装置に複数のレスポンスパケットを返信させて、相手方のデータ処理装置から複数のデータを読み出してマイコン2に順次格納するような場合には、疑似レスポンスパケットを他のレスポンスパケットとともにマイコン2内に格納しても、疑似レスポンスパケットを他のレスポンスパケットと識別することができる。
【0074】
疑似レスポンスパケットが生成されたトランザクションについては、データが欠落しているが、疑似レスポンスパケットを他のレスポンスパケットと識別することができるので、そのトランザクションに用いるリクエストパケットを再送信して、欠落したデータをあとから補充することができる。
【0075】
さらに、本実施形態では、送信キュー5の入力は送信情報取得部8に、受信キュー7の入力は受信情報取得部9及び送信情報取得部8に、それぞれ接続されており、送信キュー5と受信キュー7の出力は、ともに判断部11に接続されている。
【0076】
このため、レスポンスパケットの返信の有無に関わらず、送信キュー5にはリクエストパケットのdestination ID、tLabelとが書き込まれ、他方、受信キュー7には、レスポンスパケットが返信されないときにはリクエストパケットのdestination ID、tLabel及び送信結果が、レスポンスパケットが返信されるときには、レスポンスパケットのsource ID、tLabelと、rCodeとが、それぞれ書き込まれることになる。
【0077】
従って、判断部11は、レスポンスパケットが返信されないときには、送信キュー5のdestination ID、tLabelと、受信キュー7のdestination ID、tLabel及び送信結果とを参照して異常の有無を判断することができ、他方、レスポンスパケットが返信されるときには、送信キュー5のdestination ID、tLabelと、受信キュー7のsource ID、tLabel及びrCodeとを参照して異常の有無を判断することができるので、レスポンスパケットの返信の有無に関わらず、送信キュー5と受信キュー7の記憶内容を参照するという同じ動作で、リクエストパケットの送信状態を判断することができる。
【0078】
なお、本実施形態では、送信キュー5と受信キュー7とをFIFO構造のメモリで構成しているが、本発明はこれに限らず、それ以外のメモリを用いてもよい。
また、本実施形態では、送信キュー5と受信キュー7とを設けているが、これらを設けることなく、送信情報取得部8、受信情報取得部9を判断部11と直接接続するような構成にしてもよい。
【0079】
さらに、本実施形態では、疑似レスポンスパケットから付加情報を読み出してレスポンスパケットが受信されなかったことをマイコン2が判断するようにしているが、本発明はこれに限らず、例えば受信装置4が付加情報を読み出して判断し、送信装置3に、レスポンスパケットが受信されなかったことを通知するような構成にしてもよい。
【0080】
【発明の効果】
以上説明したように本発明によれば、リクエストパケットの送信状態が正常であったか否かについては処理装置が判断しており、送信装置が判断する必要がないので、判断処理を送信装置が行なっていた従来に比して、送信装置のなすべき処理を軽減することができる。
【0081】
また、レスポンスパケットの受信が必要な処理では、リクエストパケットの送信が適正であったか否かは、処理装置が判断するので、送信に異常が生じたと処理装置が判断するまでは、送信装置は次々に新たなリクエストパケットを送信することができるので、リクエストパケットの送信効率を従来に比して向上させることができる。
【0082】
さらに、受信装置がレスポンスパケットを受信できなかった場合には、疑似レスポンスパケットを生成しているので、レスポンスパケットが受信できなかった場合でも、レスポンスパケットが受信されるときと同じ一連の処理で、受信が正しかったか否かを判断することができる。
【図面の簡単な説明】
【図1】本発明の実施形態のデータ処理装置の構成を示す図
【図2】本発明の送信装置の処理を示すフローチャート
【図3】(a):リクエストパケットのフォーマットを説明する図
(b):レスポンスパケットのフォーマットを説明する図
(c):疑似レスポンスパケットのフォーマットを説明する図
【図4】従来のデータ処理装置の構成を示す図
【図5】従来の送信装置の処理を示すフローチャート
【符号の説明】
1……データ処理装置 2…マイコン(処理装置) 3…送信装置 4…受信装置 5…送信キュー(送信情報記憶手段) 6…IEEE1394バス(シリアルバス) 7…受信キュー(受信結果記憶手段) 8…送信情報取得部 9…受信情報取得部10…疑似パケット生成部 11…判断部
Claims (4)
- リクエストパケットを生成する処理装置と、
シリアルバスに接続され、上記リクエストパケットを上記シリアルバスに送信して確認信号待ち状態となる送信装置と、
上記シリアルバスに接続され、上記リクエストパケットに対する応答である第1の確認信号又は第2の確認信号とレスポンスパケットを上記シリアルバスから受信し、上記第1又は第2の確認信号を上記送信装置に出力し、上記レスポンスパケットを上記処理装置に出力する受信装置と、
上記リクエストパケットに含まれるリクエストパケットを特定するための送信情報を記憶する送信情報記憶手段と、
上記送信情報と送信結果又は上記レスポンスパケットに含まれるレスポンスパケットを特定するための受信情報とレスポンスパケットの応答状態を示す状態通知情報とを記憶する受信結果記憶手段と、
上記受信装置が上記第2の確認信号を受信してから所定の時間が経過しても上記レスポンスパケットが受信されない場合に、受信されるべきレスポンスパケットの上記受信情報、上記状態通知情報及び識別情報を含む疑似レスポンスパケットを生成する疑似レスポンスパケット生成手段と、
を有し、
上記送信装置は、上記リクエストパケットを送信する際に上記送信情報を上記送信情報記憶手段に出力し、
レスポンスパケットを伴なわない上記第1の確認信号の受信を上記受信装置が上記送信装置に通知すると、
上記送信装置は、上記送信情報及び上記第1の確認信号が示す送信結果を上記受信結果記憶手段に出力して新たなリクエストパケットを送信可能な状態になり、
上記処理装置は、上記送信情報記憶手段に記憶されている上記送信情報と上記受信結果記憶手段に記憶されている上記送信情報及び上記送信結果に基づいて上記リクエストパケットの送信による一連の処理が正常に行なわれたか否かを判断し、
レスポンスパケットを伴なう上記第2の確認信号の受信を上記受信装置が上記送信装置に通知すると、
上記送信装置は、新たなリクエストパケットを送信可能な状態になり、
上記受信装置が上記第2の確認信号の受信後に上記レスポンスパケットを受信した場合、
上記受信装置は、上記受信情報及び上記状態通知情報を上記受信結果記憶手段に出力し、
上記処理装置は、上記送信情報記憶手段に記憶されている上記送信情報と上記受信結果記憶手段に記憶されている上記受信情報及び上記状態通知情報とに基づいて上記リクエストパケットの送信による一連の処理が正常に行なわれたか否かを判断し、
上記受信装置が上記第2の確認信号を受信してから所定の時間が経過しても上記受信装置が上記レスポンスパケットを受信しない場合、
上記受信装置は、上記疑似レスポンスパケット生成手段により生成された上記疑似レスポンスパケットの上記受信情報及び上記状態通知情報を上記受信結果記憶手段に出力し、
上記処理装置は、上記送信情報記憶手段に記憶されている上記送信情報と上記受信結果記憶手段に記憶されている上記受信情報及び上記状態通知情報とに基づいて上記リクエストパケットの送信による一連の処理が正常に行なわれたか否かを判断する、
データ処理装置。 - 上記受信装置が上記第2の確認信号を受信してから所定の時間が経過しても上記受信装置が上記レスポンスパケットを受信しない場合に、
上記受信装置が、上記疑似レスポンスパケット生成手段により生成された上記疑似レス ポンスパケットの上記受信情報及び上記状態通知情報を上記受信結果記憶手段に出力すると共に上記疑似レスポンスパケットを上記処理装置に出力し、
上記処理装置が、上記送信情報記憶手段に記憶されている上記送信情報と上記受信結果記憶手段に記憶されている上記受信情報及び上記状態通知情報とに基づいて上記リクエストパケットの送信による一連の処理が正常に行なわれたか否かを判断すると共に上記疑似レスポンスパケットを記憶する、
請求項1に記載のデータ処理装置。 - 上記リクエストパケット、上記レスポンスパケット及び上記シリアルバスがIEEE1394規格に準拠するように構成されている請求項1又は2に記載のデータ処理装置。
- 上記送信情報がディスティネーションIDとtLabelとで構成され、上記受信情報がソースIDとtLabelとで構成され、上記状態通知情報がrCodeで構成される請求項3に記載のデータ処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35081198A JP4112717B2 (ja) | 1998-12-10 | 1998-12-10 | データ処理装置 |
US09/458,595 US6604154B1 (en) | 1998-12-10 | 1999-12-10 | Data processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35081198A JP4112717B2 (ja) | 1998-12-10 | 1998-12-10 | データ処理装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2000174786A JP2000174786A (ja) | 2000-06-23 |
JP2000174786A5 JP2000174786A5 (ja) | 2005-12-02 |
JP4112717B2 true JP4112717B2 (ja) | 2008-07-02 |
Family
ID=18413044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35081198A Expired - Fee Related JP4112717B2 (ja) | 1998-12-10 | 1998-12-10 | データ処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6604154B1 (ja) |
JP (1) | JP4112717B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10030158A1 (de) * | 2000-06-20 | 2002-01-03 | Bayerische Motoren Werke Ag | Steuergerät mit einem Hauptmikroprozessor und mit einer Prozessorschnittstelle zu einer Bus-Sende-Empfangseinheit |
JP4604354B2 (ja) * | 2001-01-17 | 2011-01-05 | ソニー株式会社 | 情報入出力装置 |
US20020129183A1 (en) * | 2001-03-08 | 2002-09-12 | James David Vernon | Method of enhancing flow control in a data bus system by eliminating an acknowledge packet during a response phase to indicate a flow control condition |
JP3633507B2 (ja) * | 2001-05-25 | 2005-03-30 | ソニー株式会社 | データ転送処理装置、データ転送方法およびデータ転送プログラム |
AU2003226128A1 (en) * | 2002-03-27 | 2003-10-13 | First Virtual Communications | System and method for traversing firewalls with protocol communications |
JP2005174306A (ja) * | 2003-11-20 | 2005-06-30 | Omron Corp | 通信インタフェースおよびネットワークシステムならびにプログラマブルコントローラ |
JP4683120B2 (ja) | 2008-11-28 | 2011-05-11 | 日本テキサス・インスツルメンツ株式会社 | 電子機器および通信方法 |
US9304902B2 (en) | 2013-03-15 | 2016-04-05 | Saratoga Speed, Inc. | Network storage system using flash storage |
US9672180B1 (en) | 2014-08-06 | 2017-06-06 | Sanmina Corporation | Cache memory management system and method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0497544B1 (en) * | 1991-01-30 | 1997-04-02 | Canon Kabushiki Kaisha | Micro-Mainframe link control method and apparatus |
JP3810449B2 (ja) * | 1994-07-20 | 2006-08-16 | 富士通株式会社 | キュー装置 |
US5864677A (en) * | 1996-07-01 | 1999-01-26 | Sun Microsystems, Inc. | System for preserving sequential ordering and supporting nonidempotent commands in a ring network with busy nodes |
US5961623A (en) * | 1996-08-29 | 1999-10-05 | Apple Computer, Inc. | Method and system for avoiding starvation and deadlocks in a split-response interconnect of a computer system |
-
1998
- 1998-12-10 JP JP35081198A patent/JP4112717B2/ja not_active Expired - Fee Related
-
1999
- 1999-12-10 US US09/458,595 patent/US6604154B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2000174786A (ja) | 2000-06-23 |
US6604154B1 (en) | 2003-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4112717B2 (ja) | データ処理装置 | |
JPH05160842A (ja) | 多重通信制御装置 | |
US6584103B1 (en) | Packet communication apparatus provided with manager means for managing packet labels | |
EP0431949A2 (en) | Data processing system with channel control means | |
JPH0691513B2 (ja) | データ伝送誤り検出方式 | |
EP0276468B1 (en) | Data transmission control method | |
US6643816B1 (en) | Transmitting apparatus and error handling method in transmitting apparatus | |
JPS6072351A (ja) | パケツト通信システムの動作状態監視方法 | |
US6934790B2 (en) | Data transmitting and receiving system with speedy retransmission of missing data and data receiving device | |
JP4112716B2 (ja) | データ処理装置 | |
US6647442B1 (en) | Data processing device | |
JP2776274B2 (ja) | 中継計算機における仮想バッファ制御システム | |
US6711179B1 (en) | Signal processing apparatus with three layer processing sections, and signal processing system with said two signal processing apparatuses | |
EP0482828A2 (en) | Message-oriented bank controller interface | |
JP4015307B2 (ja) | データ処理装置 | |
JPH11234347A (ja) | データ通信におけるバッファ管理方法および方式 | |
JP2522435B2 (ja) | 計算機システムの入力電文保証方式 | |
JP2000339181A (ja) | プロセス間通信方法およびプロセス間通信装置 | |
JPH01161562A (ja) | データ転送網のデータ再送方式 | |
JPS61237545A (ja) | デ−タ伝送方式 | |
JP2005277552A (ja) | バスリトライ制御方式及びデータ通信装置 | |
JPH06103222A (ja) | バス転送方式 | |
US6519661B1 (en) | Method for recording data in a telecommunications switching center | |
JPS63267039A (ja) | ネツトワ−クシステム | |
JPH0744563B2 (ja) | 送信バッファ制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051012 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20051012 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051012 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080122 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080310 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20080310 |
|
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: 20080408 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080410 |
|
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: 20110418 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120418 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130418 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |