JP4098910B2 - パケット転送制御装置及びパケット転送方法 - Google Patents
パケット転送制御装置及びパケット転送方法 Download PDFInfo
- Publication number
- JP4098910B2 JP4098910B2 JP02606099A JP2606099A JP4098910B2 JP 4098910 B2 JP4098910 B2 JP 4098910B2 JP 02606099 A JP02606099 A JP 02606099A JP 2606099 A JP2606099 A JP 2606099A JP 4098910 B2 JP4098910 B2 JP 4098910B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- transfer
- data
- header information
- continuous
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40071—Packet processing; Packet format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
- H04L49/9052—Buffering arrangements including multiple buffers, e.g. buffer pools with buffers of different sizes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9084—Reactions to storage capacity overflow
- H04L49/9089—Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
- H04L49/9094—Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Bus Control (AREA)
Description
【発明の属する技術分野】
本発明は、高速で大量のデータを転送するパケット転送制御装置及びその方法に関するものである。
【0002】
高速で大量のデータを転送する転送制御装置としてのインタフェース装置、例えばIEEE1394規格を採用したインタフェース装置は、できる限り効率よく動作させる必要がある。つまり、インタフェース装置はマイクロプロセッサユニット(以下、MPUという)等によって制御されるが、効率よくデータを転送するためには、できる限り外部装置からのアクセスを少なくして効率よく転送動作を実現する必要がある。しかしながら、実際には、1つの大きなデータの転送中に、他の装置から複数のデータの転送が行われる場合もあり、MPU等の制御装置を効率よく利用する仕組みが必要となっている。
【0003】
【従来技術】
IEEE1394規格等に規定されるパケット転送方式は、転送されるデータの他にヘッダ情報が追加された形式であって、パケットが受信されると、MPUがパケットのヘッダ情報を解読して、そのヘッダ情報に続くデータの取り扱いを決めている。1つのパケットに格納できるデータの大きさはプロトコルで規定される。ところが、この転送方法を採用していると、画像情報のような情報量の大きなデータを扱う場合では、1つのパケットにデータが収まらなくなり元のデータを複数のブロックに分割してデータ転送を行っている。つまり、分割したブロック(データ)毎にヘッダ情報を格納したパケットを生成し、該複数個のパケットを連続して転送することで、大きなデータの転送を行っている。勿論、受信側では、複数のパケットに分割されたデータをMPUが順にメモリに格納することで元のデータを再現することになる。この様なパケットは、画像(例えば動画)表示の為などに用いられることから、短時間に連続して送られてくるため、これを処理するMPUの負荷が増大する。
【0004】
直接メモリアクセス(DMA)転送方式は、大量のデータを取り扱うために開発された手法であり、該方式を適用することでMPUを介さずに外部装置からのデータをメモリに取り込むことができる。
【0005】
詳しくは、図2に示すように、DMA転送方式を採用したパケット転送制御装置(ノード)30は、インタフェース31、バッファ32、MPU33、DMAコントローラ34、メモリ35を含む。インタフェース31は、ネットワークからヘッダとデータとを含むパケットを取り込む。
【0006】
そして、インタフェース31は、受信パケットから分離したヘッダをMPU33へ、データをバッファ32に出力する。MPU33は、ヘッダの情報に基づいて受信データがDMA転送用データであると判定するとDMAコントローラ34にイネーブル信号を出力し、DMAコントローラ34はバッファ32とメモリ35との間でデータ転送を開始する。
【0007】
パケット転送制御装置30は、引き続きネットワークから連続して転送されてくるDMA転送用データをバッファ32に取り込み、DMAコントローラ34によりデータをメモリ35に格納する。つまり、MPU33が自身(自ノード)宛のDMA転送を検知した後は、DMAコントローラ34が受信データを格納するバッファ32とメモリ35との仲介を行い、これによってMPU33がデータ転送処理から開放される。
【0008】
【発明が解決しようとする課題】
ところで、上記のように、DMA転送方式を採用することでMPU33の負荷が低減されるため、MPU33はその他の処理(例えば、データプロセッシング等)を行うことができる。言い換えれば、バッファ32及びメモリ35の入出力はDMAコントローラ34が占有し、MPU33がその間それを行うことができない。
【0009】
そのため、図3に示すように、ノード40がノード30にパケットを連続して転送し、ノード30がそのデータ処理を行っているときに、ネット上の他の装置(ノード)41がノード30に対して、アクセス要求のためのパケットを発行しても、上記のようにDMA転送中はMPU33の介在を受けないため、ノード30のMPU33は、ノード41から発行されたパケットを受け付けることができない。従って、ノード30は発行されたパケットに対する応答をノード41に返すことができない。この場合、発行されたパケットは無効になるため、ノード41はノード30からの応答を受信するまでアクセス要求を再発行(リトライ)することになる。つまり、この方式を採用すると、ネットワークに接続された他の装置の処理効率が低下してしまう。
【0010】
アクセス要求に対して「アクセス拒否」の応答があれば、アクセス要求を行ったノード41は、その処理を破棄して他の処理を実行することができるため、処理効率の低下を抑えることができる。しかし、上記のようにアクセス要求の応答が戻ってこない場合、通常そのノード41は処理が一時停止してしまって、それ以外の処理を実施できない、或いは、限られた処理しか実施できないことになる。
【0011】
本発明は上記問題点を解決するためになされたものであって、その目的は、直接メモリアクセス転送方式を採用し、直接メモリアクセス用データを保持するパケットを連続して転送しているとき、他のパケット転送を行うことができるパケット転送制御装置及びパケット転送方法を提供することにある。
【0012】
【課題を解決するための手段】
請求項1に記載の発明によれば、受信したパケットが、パケット識別手段によって直接メモリアクセス用データを保持した連続転送パケットか連続パケット以外の非連続パケットかが判定される。そして、直接メモリアクセス用データを保持した連続転送パケットであれば、該パケットのデータがバッファに格納され、直接メモリアクセス制御手段によりメモリに転送される。一方、受信したパケットが直接メモリアクセス用データを保持しない非連続パケットであれば、該パケットのヘッダ情報がヘッダ格納手段に格納される。そして、ヘッダ格納手段に格納されたヘッダ情報に基づいて、非連続パケットに対する応答パケットが送信される。パケット識別手段は、直接メモリアクセスを予告するパケットを受信すると、そのパケットのヘッダ情報を連続転送ヘッダ情報格納手段に格納するとともに、該格納したヘッダ情報と前記受信したパケットのヘッダ情報とを比較することで、前記受信したパケットが連続転送パケットか否かを判定する。
【0013】
従って、直接メモリアクセス用のパケットが連続で受信されているとき、その際に他の装置からのパケットが受信された場合、ヘッダ格納手段に格納するヘッダ情報に基づいて、該受信パケットに対する応答が可能となる。具体的に、外部装置からの直接メモリアクセス用データを保持したパケットを連続して受信しているときであっても、他の装置からのアクセス要求コマンドに対し、アクセス拒否コマンドが発行される。このため、アクセス拒否コマンドを受信する他の装置は、通信のリトライ処理を中止して、別の処理を実行できるようになる。その結果、本パケット転送制御装置とネットワークを介して接続する他の装置を含めた処理効率が向上される。
【0014】
請求項2に記載の発明によれば、直接メモリアクセス用データが格納されるバッファとは別に設けられたバッファに、非連続パケットが保持するデータが格納される。この場合、DMA転送用データの処理中においても、DMA転送用データとは別の非連続パケットに保持されるデータの処理が可能となる。
【0015】
データを複数のブロックに分割し、該ブロックを格納したパケットを連続して転送処理する場合、この連続転送パケットには規則性があり、同パケットか否かを容易に判定することが可能である。
【0016】
このため、請求項3に記載の発明によれば、受信したパケットにヘッダ情報として保持されるパケットの種類(TCODE)に基づいてパケット識別手段により連続転送パケットか否かが判定される。
【0017】
また、請求項4に記載の発明によれば、パケットにヘッダ情報として保持される転送元のノード認識情報、即ち転送元のノードID(Physical ID)に基づいてパケット識別手段により連続転送パケットか否かが判定される。なお、このとき、連続転送ヘッダ情報格納手段に格納されたヘッダ情報には、直接メモリアクセスを実施する相手のノード認識情報が含まれる。
【0018】
請求項5に記載の発明によれば、パケット識別手段が直接メモリアクセスを予告するパケットを受信したとき、イネーブル信号が発行される。同イネーブル信号に基づいて直接メモリアクセス制御手段により、メモリとバッファ間のデータの直接転送が準備される。
【0019】
請求項6に記載の発明によれば、複数のブロックに分割されたデータの直接転送が終了したとき直接メモリアクセス制御手段により割り込み信号が発生される。これにより、連続転送パケットの転送の終了が判断される。
【0020】
請求項7に記載の発明によれば、受信したパケットが直接メモリアクセス用データを保持するパケットであるか否かが判定され、直接メモリアクセス用データの保持パケットであれば、該パケットが保持するデータがバッファに格納された後、該格納データがメモリに転送される。つまり、直接メモリアクセス転送が行われる。一方、直接メモリアクセス用データを保持しないパケットであれば、該パケットが保持するヘッダ情報をヘッダ格納手段に格納させる。従って、直接メモリアクセス用のパケットを連続受信しているときに、非保持パケットを受信した場合、ヘッダ格納手段に格納したヘッダ情報に基づいて、非保持パケットが保持するコマンドが処理される。
【0021】
また、直接メモリアクセス転送を予告するパケットを受信したとき、そのパケットのヘッダ情報が格納される。そして、該ヘッダ情報と、受信されたパケットのヘッダ情報とが比較され、受信したパケットが直接メモリアクセス用データを保持するパケットであるか否かが判定される。
【0022】
【発明の実施の形態】
以下、本発明を具体化した一実施形態を説明する。
図1は、ネットワーク用のIEEE1394バスに接続するパケット転送制御装置1のブロック回路図である。
【0023】
パケット転送制御装置1は、インタフェース(I/F)2,3,4、物理層処理回路5,6,7、リンク層処理回路8,9,10、パケット生成回路11,12、ヘッダ識別回路13、データ格納バッファ14,15、ヘッダ情報格納回路16,17、メモリ18、DMAコントローラ(DMAC)19、MPU20を含んでいる。
【0024】
本実施形態のパケット転送制御装置1では、データ量が多く連続して転送する必要がある画像データ等のデータをバッファ14とメモリ18間で転送するためにDMA転送方式を採用している。同データは分割された状態で複数のパケットに格納され、IEEE1394バス上において、非同期パケット(Asynchronous Packet)として連続転送される。従って、本実施形態におけるパケット転送制御装置1は、ノード間の認識、大きなデータを転送するためのネゴシエーション、コマンド、ステータスなどの判断がMPU20を除く他の回路にて行われる。なお、同データをアイソクロノスパケット( Isochronous Packet)として転送してもよい。
【0025】
また、パケットは、ヘッダ情報を格納するヘッダとデータを含む。ヘッダ情報は、
(1)転送先ノードID(Physical ID)、
(2)転送元ノードID(Physical ID)、
(3)パケットの種類(Transaction code:TCODE)、
を含み、更に連続転送を行うためのヘッダ情報は、
(4)転送データの格納場所(データ格納領域のオフセット:destination offset)
が含まれる。
【0026】
ただし、パケット転送制御装置1では、データを格納したパケット以外のパケットも転送処理される。このパケットの種類として、例えば、読み出し要求、読み出し応答、書き込み要求、書き込み応答等のコマンドを含むものがあり、同パケットにより他の外部装置から要求されたコマンドがMPU20により判定されて、同コマンドに応じた処理が実施される。
【0027】
本実施形態では、DMA転送用データを保持して連続転送されるパケットを連続転送パケットといい、それ以外のパケットを非連続パケットという。
詳しくは、インタフェース2,3,4は、他の装置との間でパケットのやり取りを行うべくIEEE1394バスに接続される。インタフェース2は、パケットを受信する受信ポートであり、インタフェース3,4は、パケットを送信する送信ポートである。
【0028】
物理層処理回路5は、インタフェース2に接続され、インタフェース2から受信パケットを受け取る。また、物理層処理回路5は、リンク層処理回路8に接続され、リンク層処理回路8に受信パケットを出力する。このとき、物理層処理回路5は、電気的信号をリンク層処理回路8が扱う論理的な信号に変換する役割を果たす。
【0029】
物理層処理回路6,7は、リンク層処理回路9,10にそれぞれ接続され、リンク層処理回路9,10から送信パケットを入力する。また、物理層処理回路6,7は、インタフェース3,4とそれぞれ接続され、インタフェース3,4に送信パケットを送出する。このとき、物理層処理回路6,7は、リンク層処理回路9,10が扱う論理的な信号を電気的信号に変換する役割を果たす。
【0030】
なお、リンク層処理回路8は、パケットのフォーマットチェック等を行い、確実なパケット転送を保証している。具体的には、リンク層処理回路8は自身宛のパケットであれば該パケットをヘッダ識別回路13に供給する。また、自身宛のパケットでない場合、同パケットは物理層処理回路6,7及びインタフェース3,4等を介して他の外部装置に送信するように構成される。
【0031】
パケット生成回路11,12は、リンク層処理回路9,10に接続され、同パケット生成回路11,12にて生成した送信パケットをリンク層処理回路9,10に出力する。つまり、パケット生成回路11,12は、データ格納バッファ14及びMPU20からの入力データに対して、送信したいパケットに適合したヘッダ情報を追加する。
【0032】
ヘッダ識別回路13は、リンク層処理回路8と接続されてリンク層処理回路8からの自身宛の受信パケットを受け取る。また、ヘッダ識別回路13は、DMA転送、即ち、連続転送のためのデータ格納バッファ14及びヘッダ情報格納回路16に接続される。さらに、ヘッダ識別回路13は、DMA転送以外のパケット転送、即ち、非連続転送のためのデータ格納バッファ15及びヘッダ情報格納回路17に接続される。
【0033】
ヘッダ識別回路13は、リンク層処理回路8から入力された受信パケットのヘッダ情報に基づいて受信パケットの識別を行う。詳述すると、ヘッダ識別回路13は、ヘッダ情報に含まれるパケットの種類、即ちTCODE に基づいて、連続転送のためのパケットか否かを判定する。その判定結果に基づいて、ヘッダ識別回路13は、連続転送パケットに含まれるヘッダ情報をヘッダ情報格納回路16に、そのパケットに含まれるデータをバッファ14に出力する。一方、受信パケットが非連続パケットの場合、ヘッダ識別回路13は、そのパケットに含まれるヘッダ情報を17に、そのパケットに含まれるデータをバッファ15に出力する。
【0034】
なお、DMA転送を予告するコマンドを保持したパケットが受信され、同パケットがヘッダ識別回路13により識別された場合に、ヘッダ情報格納回路16にはそのパケットのヘッダ情報が格納される。このヘッダ情報には、転送データの最初の場所(アドレス)、連続で転送する総データ長が含まれる。
【0035】
バッファ14は、メモリ18及びDMAコントローラ19と接続される。DMA転送用データがバッファ14に格納されたとき、DMAコントローラ19によってバッファ14のデータがメモリ18へ転送制御される。バッファ15及びヘッダ情報格納回路17は、MPU20が接続され、同MPU20は、DMAコントローラ19及びパケット生成回路12と接続される。
【0036】
MPU20は、ヘッダ情報格納回路17に格納されたヘッダ情報に含まれるコマンドに応じて各処理を実行する。具体的には、MPU20は、バッファ15に格納されたデータを処理したり、非連続パケットを発行するためのデータをパケット生成回路12に出力する。或いは、MPU20は、DMA転送を開始させるためのイネーブル信号ENBをDMAコントローラ19に出力する。このイネーブル信号ENBにより、DMAコントローラ19によるバッファ14及びメモリ18間のデータ転送制御が開始される。そして、DMA転送が終了したときに、DMAコントローラ19からMPU20に対して割り込み信号INTが出力されて、MPU20は、DMA転送の終了を判断する。
【0037】
また、データ格納バッファ14は、パケット生成回路11と接続され、連続転送パケットを送信するためのデータをパケット生成回路11に出力する。なお、連続転送パケットを連続して送信する場合、DMAコントローラ19の制御信号に基づいてメモリ18に記憶されたデータがデータ格納バッファ14に転送される。この連続転送パケットの送信が終了したときも、DMAコントローラ19からMPU20に対して割り込み信号INTが出力されて、MPU20は、DMA転送の終了を判断する。
【0038】
このように、本実施形態では、DMA転送用データを保持する連続転送パケットの転送中は、MPU20への割り込みを報告しない構成となっている。
大きなデータを複数のブロックに分割して連続転送する場合、即ち、連続転送パケットを転送する場合では、パケットに規則性があるため、連続転送パケットか否かを容易に判定することができる。本実施形態では、この判定をヘッダ情報に含まれるTCODEに基づいて行っているがこれに限定するものではなく、例えば、ノードIDにより判定してもよいし、或いは、転送データの格納場所等により判定してもよい。
【0039】
連続転送パケットに保持されるデータ量は、非連続パケットに保持されるデータ量と比べ大きく、バッファ14のデータを格納するための容量は、バッファ15の容量に対して大きく設計される。
【0040】
本実施形態では、ヘッダ識別回路13及びヘッダ情報格納回路16がパケット識別手段に相当し、ヘッダ情報格納回路17がヘッダ格納手段に相当する。またMPU20、パケット生成回路12、リンク層処理回路10、物理層処理回路7、インタフェース4が送信手段に相当し、DMAコントローラ19が直接メモリアクセス制御手段に相当する。
【0041】
次に、上記のように構成したパケット転送制御装置1の作用を説明する。
先ず、連続転送パケットを連続して受信する場合を説明する。
今、ヘッダ情報としてDMA転送を予告するコマンドを備えたパケットが他の装置から送られてくる。すると、該パケットは、インタフェース2、物理層処理回路5、リンク層処理回路8を介してヘッダ識別回路13に供給される。そして、ヘッダ識別回路13によってDMA転送を予告するコマンドを備えたパケットであることが判断され、該パケットのコマンドがヘッダ情報格納回路17に転送される。このとき、受信パケットに保持されている転送データの最初の場所(格納開始アドレス又はオフセットアドレス)や連続で転送する総データ長などの情報が、ヘッダ情報格納回路16に格納される。そして、MPU20はヘッダ情報格納回路17に格納されたコマンドに基づいてDMAコントローラ19にDMA転送のイネーブル信号を出力する。更に、MPU20は、格納開始アドレス及び総データ長をDMAコントローラ19に出力する。これにより、バッファ14とメモリ18間のデータの直接転送が準備される。
【0042】
次いで、DMA転送用データを保持した連続転送パケットが送られてくると、パケットの種類(TCODE)に基づいてヘッダ識別回路13により受信パケットのヘッダ情報が識別され、パケットに保持されているデータがバッファ14に格納される。その後、バッファ14に格納されたデータは、DMAコントローラ19によりメモリ18に転送される。
【0043】
引き続き、DMA転送用データを保持した連続転送パケットが受信された場合、上記と同様の処理が実行されて、該受信パケットのデータがバッファ14を介してメモリ18に格納される。このように、MPU20が関与することなく、DMAコントローラ19によって、バッファ14に格納されたデータが順次、メモリ18に転送される。
【0044】
その後、DMA転送用データの最終データがメモリ18に格納されると、開始アドレスと総データ長に基づいてDMAコントローラ19によりDMA転送の終了が判断されて、MPU20に割り込み信号INTが出力される。これにより、複数のブロックに分割されたデータのDMA転送が終了する。
【0045】
上述のように、連続転送パケットを連続して受信しているときは、MPU20がDMA転送に関与しないことから別の処理が実施される。本実施形態では、DMA転送用、即ち連続転送のためのデータ格納バッファ14及びヘッダ情報格納回路16とは別に、非連続転送のためのデータ格納バッファ15とヘッダ情報格納回路17を備えたので、DMA転送を実施中に、他のパケットの転送処理が行われる。
【0046】
ここで、上記のようにパケット転送制御装置1が連続転送パケットを連続して受信しているときに、別の装置から本装置1に対してアクセス要求コマンドが送られてきた場合を説明する。
【0047】
具体的に、例えば、DMA転送のためのアクセス要求を保持したパケットが送られてきた場合、ヘッダ識別回路13によって該受信パケットのヘッダ情報がヘッダ情報格納回路16に格納された情報と比較され、今、DMA転送処理している連続転送パケットでないことが判定される。そして、ヘッダ識別回路13によって受信パケットのヘッダ情報がヘッダ情報格納回路17に格納される。すると、ヘッダ情報格納回路17に格納されたアクセス要求コマンドに基づいてMPU20によりアクセス拒否コマンドを保持した応答パケットが発行される。つまり、MPU20からのデータに基づきパケット生成回路12によってアクセス拒否コマンドを保持したパケットが生成される。そして、同パケットは、リンク層処理回路10、物理層処理回路7、インタフェース4を介してIEEE1394バス上に転送される。
【0048】
このようにして、本装置1からアクセス拒否コマンドを保持した応答パケットが前記アクセス要求を発行した他の装置に転送されると、アクセス拒否コマンドを受信した他の装置は、本装置1へのDMA転送処理を中止して別の処理を実施する。
【0049】
また、連続転送パケットではなく、例えば、自身宛の書き込みデータを保持した非連続パケットが受信された場合では、ヘッダ識別回路13によってデータがバッファ15に格納された後に、MPU20によって該受信パケットのデータが処理される。
【0050】
さらには、連続転送パケットを連続して受信しているときは、MPU20がDMA転送に関与しないことから、DMA転送処理を行っている装置とは別の装置に対して送信パケットを送信することも可能である。つまり、MPU20によりパケット生成回路12を用いて送信パケットが生成されて、該パケットがリンク層処理回路10、物理層処理回路7、インタフェース4を介してIEEE1394バス上に転送される。
【0051】
次に、パケット転送制御装置1を用いて連続転送パケットを連続して送信する場合を説明する。
先ず、MPU20はDMAコントローラ19に対してDMA転送するためのメモリ18の領域(データの先頭番地及びデータ長など)を指定する。すると、DMAコントローラ19によりメモリ18に記憶されているデータがバッファ14に転送される。所定のデータがバッファ14に転送されると、パケット生成回路11にデータが伝達されて連続転送パケットが生成される。そして、該パケットがリンク層処理回路9、物理層処理回路6、インタフェース3を介して外部装置に送信される。その後、DMAコントローラ19により指定されるメモリ18の領域のデータが全て転送されるまで、送信パケットが生成されて連続転送される。このように、MPU20が関与することなく画像データのような大きなデータの送信処理が実施される。
【0052】
本パケット転送制御装置1では、連続転送パケットを連続して送信しているときにおいても、MPU20により別の処理が実施される。
具体的には、DMAコントローラ19によりパケットが連続して転送処理されているときに、例えば、今、DMA転送している相手装置以外の他の装置に対してパケットの転送処理が実施される。この場合、MPU20は、パケット生成回路12を用いて送信パケットを生成して、該パケットがリンク層処理回路10、物理層処理回路7、インタフェース4を介して別の装置に対して発行される。
【0053】
また、連続転送パケットを連続して送信しているときに、今、DMA転送している相手装置以外の他の装置から受信するパケットの処理が実施される。この場合、受信パケットのヘッダ情報がヘッダ情報格納回路17に格納されて、MPU20により受信処理が実施される。このとき、受信パケットにデータが保持されていれば、該データがデータ格納バッファ15に格納されて、MPU20によって処理される。
【0054】
このように、DMA転送用データ、即ち、連続転送パケットに保持されるデータは、MPU20が介在することなく効率よく転送処理が実施され、それ以外の転送パケットはMPU20により転送処理が実施される。
【0055】
尚、図1のインタフェース3,4、物理層処理回路6,7、リンク層処理回路9,10、パケット生成回路11,12は、連続転送パケットに関わる部分とそれ以外のパケット転送に関わる部分とに機能的に表している。従って、各回路3〜12をそれぞれ1つの回路3,6,9,11(又は4,7,10,12)にてパケット出力のための処理を行う構成としてもよい。
【0056】
以上記述したように、本実施の形態によれば、以下の効果を奏する。
(1)連続転送パケットを連続して受信しているときに、別のパケットの受信処理が実施できる。具体的に、パケット転送制御装置1は、今、DMA転送を行っている装置とは別の装置からのアクセス要求に対してアクセス拒否の応答を発行できる。このため、他の装置は、アクセス拒否コマンドを保持するパケットを受信でき、パケット転送制御装置1に対する転送処理のリトライを繰り返す必要がない。従って、本装置1とIEEE1394バスを介して接続する他の装置を含むシステム全体の処理効率を向上させることができる。
【0057】
(2)DMA転送を予告するパケットが受信されたとき、MPU20によりDMAコントローラ19にイネーブル信号ENBが発行されることで、DMA転送が開始される。ヘッダ情報格納回路16の格納情報に基づいて、ヘッダ識別回路13により受信パケットがDMA転送用データを保持した連続転送パケットであることが判定され、DMA転送用データがデータ格納バッファ14に格納された後、DMAコントローラ19によりメモリ18に転送される。複数に分割されたDMA転送用データが全てメモリ18に格納されたとき、DMAコントローラ19によりMPU20に割り込み信号が発生され、DMA転送が終了される。従って、MPU20が係わることなく、連続転送されるDMA転送用データの受信処理を実施することができる。
【0058】
(3)DMA転送用データのためのバッファ14とは別に、DMA転送用データ以外のデータを格納するバッファ15を設け、ヘッダ識別回路13により受信パケットが保持するデータが振り分けられる。これにより、DMA転送用データは、それ以外のデータが割り込むことなく、バッファ14を介してメモリ18に格納することができる。また、連続転送されるDMA転送用データの処理中に、DMA転送用以外のデータの処理も可能となる。
【0059】
(4)パケットが保持するデータ量に合わせてバッファ14はバッファ15よりもその容量が大きく構成されている。このようにすれば、本パケット転送制御装置1を半導体チップとして具体化した場合、チップコストを向上させることができ、コスト面で有利なものとなる。
【0060】
(5)DMA転送用データ以外のデータを保持する非連続パケットが受信されたとき、ヘッダ識別回路13によってヘッダ及びデータが分離され、ヘッダの情報がヘッダ情報格納回路17に格納されるとともにデータがデータ格納バッファ15に格納される。つまり、MPU20はデータを保持する受信パケットからヘッダ情報を分離する処理を行う必要がない。従って、MPU20の処理負荷を低減できる。
【0061】
尚、上記各実施形態は、以下の態様で実施してもよい。
○連続転送パケットを連続して受信しているとき、その際に受信するパケットは必ずしもDMA転送用データを含むパケットに限定しない。例えば、DMA転送の状態を返信させる要求コマンドを含むパケットであってもよいし、或いは、DMA転送を中止させる要求コマンドを含むものであってもよい。この場合、ヘッダ識別回路13により要求コマンドを認識し、パケット生成回路11等を用いて送信パケットを送信する。このようにすれば、DMA転送の状態を返信させる、或いは中止させる要求コマンドを含むパケットを受信したときにおいても、MPU20は、DMA転送処理に拘わることなく他の処理を実施することができる。
【0062】
○上記実施形態では、ヘッダ情報格納回路17を含む構成であったがこれを省略してもよい。具体的には、バッファ15にヘッダ情報も同時に格納して、MPU20によりヘッダ情報を処理させるようにする。この場合、バッファ15がヘッダ格納手段に相当する。このようにしても、連続転送パケットを連続して受信しているとき、他の装置からの別のパケットを受信することができるので、IEEE1394バスに接続する装置を含むシステム全体の処理効率を向上させることが可能である。ただし、MPU20は、受信パケットのヘッダ情報を切り離した後にデータを処理する必要があり、MPU20の処理負荷が増加するため、上記実施形態のように、ヘッダ情報格納回路17を含む構成とした方がより好ましい。
【0063】
○上記実施形態では、バッファ15を含む構成であったがこれを省略して実施してもよい。この場合、パケット転送制御装置1がDMA転送処理を実施中に、別の装置から本装置1に対して非連続パケットが転送されてきたときは、ヘッダ情報のみをヘッダ情報格納回路17に格納して、MPU20によりアクセス拒否コマンドを含むパケットを発行させる。また、DMA転送処理が行われていないときに受信した非連続パケットにデータが格納されていれば、該データをバッファ14に格納するとともに、ヘッダ情報をヘッダ情報格納回路17に格納する。そして、MPU20はヘッダ情報格納回路17のヘッダ情報に基づいて、バッファ14に格納したデータ処理を実施する。このようにしても、IEEE1394バスに接続する装置を含むシステム全体の処理効率を向上させることができる。
【0064】
○上記実施形態では、DMA転送を予告するコマンドは、MPU20で解析される構成となっているが、例えば、DMA転送の予告コマンドの解析と、DMAコントローラ19へのイネーブル信号の発行をヘッダ識別回路13やヘッダ情報格納回路16等が実施する構成としてもよい。このようにすれば、DMA転送の開始時及び終了時におけるMPU20の処理が必要なくなるので、MPU20の処理負荷をより低減できる。
【0065】
○上記実施形態では、IEEE1394バスに接続するパケット転送制御装置1に具体化したがこれに限定するものではない。例えば、SCSIバス,USBに接続されるパケット転送制御装置に具体化してもよい。要は、画像データのような大きなデータを分割して複数のパケットに格納し、同パケットを連続転送するパケット転送制御装置に具体化するものであればよい。
【0066】
○上記実施形態では、DMA転送を予告するコマンドを保持したパケットを受信したときに、ヘッダ情報を、ヘッダ情報格納回路16に格納する構成であったがこれに限定するものではない。例えば、DMA転送する相手のIDやデータ長、アドレス等が決められている場合、該情報を予めヘッダ情報格納回路16に設定しておいてもよい。つまり、DMA転送を実施する相手のノードID、パケットの種類等、DMA転送用データを判定できる情報をヘッダ情報格納回路16に格納するものであればよい。
【0067】
【発明の効果】
以上詳述したように、本発明によれば、直接メモリアクセス用データを保持するパケットを連続して転送しているとき、他のパケット転送を行うことができる。従って、本パケット転送制御装置とネットワークを介して接続する他の装置を含めた処理効率を向上させることができる。
【図面の簡単な説明】
【図1】 一実施形態のパケット転送制御装置のブロック回路図。
【図2】 従来のパケット転送制御装置のブロック回路図。
【図3】 従来のデータ転送を説明するためのブロック図。
【符号の説明】
1 パケット転送制御装置
13 パケット識別手段を構成するヘッダ識別回路
14,15 バッファ
17 ヘッダ格納手段としてのヘッダ情報格納回路
18 メモリ
19 直接メモリアクセス制御手段としてのDMAコントローラ
Claims (7)
- データを複数のブロックに分割し、各ブロックを格納した連続パケットを2つの装置間で連続的に転送するためのパケット転送制御装置であって、
前記複数のブロックを格納するためのメモリと、前記連続転送パケットに格納されたブロックを記憶するためのバッファと、前記メモリと前記バッファ間のデータの直接転送を制御する直接メモリアクセス制御手段と、を備えた転送制御装置において、
受信したパケットが連続転送パケットか前記連続パケット以外の非連続パケットかを判定し、連続転送パケットに格納されたブロックを前記バッファに格納し、前記非連続パケットのヘッダ情報をヘッダ格納手段に格納するパケット識別手段と、
前記ヘッダ格納手段のヘッダ情報に基づいて、前記非連続パケットに対する応答パケットを送信する送信手段と、を備え、
前記パケット識別手段は、直接メモリアクセスを予告するパケットを受信すると、そのパケットのヘッダ情報を連続転送ヘッダ情報格納手段に格納するとともに、該格納したヘッダ情報と前記受信したパケットのヘッダ情報とを比較することで、前記受信したパケットが連続転送パケットか否かを判定する、ことを特徴とするパケット転送制御装置。 - 請求項1に記載のパケット転送制御装置において、
前記バッファとは別にバッファを備え、該バッファに、非連続パケットに保持されるデータを格納する、ことを特徴とするパケット転送制御装置。 - 請求項1又は2に記載のパケット転送制御装置において、
前記パケット識別手段は、前記受信したパケットにヘッダ情報として保持されるパケットの種類に基づいてパケットが連続転送パケットか否かを判定する、ことを特徴とするパケット転送制御装置。 - 請求項1又は2に記載のパケット転送制御装置において、
前記連続転送ヘッダ情報格納手段に格納されたヘッダ情報は、直接メモリアクセスを実施する相手のノード認識情報を含み、
前記パケット識別手段は、前記受信したパケットにヘッダ情報として保持される転送元のノード認識情報に基づいてパケットが連続転送パケットか否かを判定する、ことを特徴とするパケット転送制御装置。 - 請求項1乃至4のいずれか一項に記載のパケット転送制御装置において、
前記直接メモリアクセス制御手段は、前記パケット識別手段が前記直接メモリアクセスを予告するパケットを受信したときに発行されるイネーブル信号に基づいて、前記メモリと前記バッファ間のデータの直接転送を準備する、ことを特徴とするパケット転送制御装置。 - 請求項1乃至5のいずれか一項に記載のパケット転送制御装置において、
前記直接メモリアクセス制御手段は、前記複数のブロックに分割されたデータの直接転送が終了したとき割り込み信号を発生する、ことを特徴とするパケット転送制御装置。 - 受信したパケットが直接メモリアクセス用データを保持するパケットであるか否かを判定し、
直接メモリアクセス用データの保持パケットであれば、該パケットが保持するデータをメモリに転送すべくバッファに格納させ、
直接メモリアクセス用データの非保持パケットであれば、該パケットが保持するヘッダ情報をヘッダ格納手段に格納させ、
前記保持パケットを連続受信しているときに、前記非保持パケットを受信した場合、前記ヘッダ格納手段に格納するヘッダ情報に基づいて、非保持パケットが保持するコマンドを処理し、
直接メモリアクセス転送を予告するパケットを受信したとき、そのパケットのヘッダ情報を格納し、該ヘッダ情報と、受信されたパケットのヘッダ情報とを比較することで、受信したパケットが直接メモリアクセス用データを保持するパケットであるか否かを判定するようにしたパケット転送方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02606099A JP4098910B2 (ja) | 1999-02-03 | 1999-02-03 | パケット転送制御装置及びパケット転送方法 |
TW089101075A TW456123B (en) | 1999-02-03 | 2000-01-24 | Packet transfer apparatus which generates access reject command during a DMA transfer |
US09/496,185 US6700887B1 (en) | 1999-02-03 | 2000-02-02 | Packet transfer apparatus which generates access reject command during a DMA transfer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02606099A JP4098910B2 (ja) | 1999-02-03 | 1999-02-03 | パケット転送制御装置及びパケット転送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000224208A JP2000224208A (ja) | 2000-08-11 |
JP4098910B2 true JP4098910B2 (ja) | 2008-06-11 |
Family
ID=12183152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP02606099A Expired - Fee Related JP4098910B2 (ja) | 1999-02-03 | 1999-02-03 | パケット転送制御装置及びパケット転送方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6700887B1 (ja) |
JP (1) | JP4098910B2 (ja) |
TW (1) | TW456123B (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003078546A (ja) * | 2001-08-30 | 2003-03-14 | Nec Eng Ltd | データ処理回路 |
TWI242156B (en) | 2001-11-09 | 2005-10-21 | Via Tech Inc | Recording method for improving interrupted interference |
JP4212508B2 (ja) * | 2004-04-14 | 2009-01-21 | 株式会社東芝 | パケット生成装置 |
US7864790B2 (en) * | 2004-05-17 | 2011-01-04 | Realtek Semiconductor Corp. | Method and apparatus for improving the management of data packets |
US20080079557A1 (en) * | 2006-09-29 | 2008-04-03 | Sensormatic Electronics Corporation | Radio frequency identification fast tag response method and system |
US9160688B2 (en) | 2009-06-30 | 2015-10-13 | Hewlett-Packard Development Company, L.P. | System and method for selective direct memory access |
JP2015119255A (ja) * | 2013-12-17 | 2015-06-25 | Necエンジニアリング株式会社 | 送信装置、及び、送信方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5438571A (en) * | 1992-11-06 | 1995-08-01 | Hewlett-Packard Company | High speed data transfer over twisted pair cabling |
US5805927A (en) * | 1994-01-28 | 1998-09-08 | Apple Computer, Inc. | Direct memory access channel architecture and method for reception of network information |
JP3165050B2 (ja) * | 1996-12-24 | 2001-05-14 | 九州日本電気通信システム株式会社 | パケットエラー検出方式 |
US5920564A (en) * | 1997-04-30 | 1999-07-06 | International Business Machines Corporation | Method and apparatus for direct memory access on transmit complete |
-
1999
- 1999-02-03 JP JP02606099A patent/JP4098910B2/ja not_active Expired - Fee Related
-
2000
- 2000-01-24 TW TW089101075A patent/TW456123B/zh not_active IP Right Cessation
- 2000-02-02 US US09/496,185 patent/US6700887B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6700887B1 (en) | 2004-03-02 |
JP2000224208A (ja) | 2000-08-11 |
TW456123B (en) | 2001-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011126190A1 (ko) | 네트워크 효율성을 고려한 SoC 기반 시스템 네트워크 프로토콜 | |
JPH11296316A (ja) | 周辺処理装置およびその制御方法 | |
JPH04346151A (ja) | データ処理装置及びファクシミリ装置 | |
JP4098910B2 (ja) | パケット転送制御装置及びパケット転送方法 | |
US20040230717A1 (en) | Processing device | |
JP4104939B2 (ja) | マルチプロセッサシステム | |
US6256313B1 (en) | Triplet architecture in a multi-port bridge for a local area network | |
JP2003289315A (ja) | パケット転送装置およびパケット転送方法 | |
US20030093603A1 (en) | Apparatus and method for responding to a interruption of a packet flow to a high level data link controller in a signal processing system | |
JP2005074928A (ja) | データ処理システム、データ処理装置、及びデータ受信プログラム | |
JP2001325212A (ja) | マルチプロセッサシステムにおけるソースプロセッサから宛先プロセッサにデータブロックを送信する方法と装置 | |
JP3871177B2 (ja) | データ通信装置およびデータ通信方法 | |
JP3753622B2 (ja) | パケット送受信装置 | |
JP4362199B2 (ja) | データ伝送装置 | |
JP4125933B2 (ja) | 共通メモリを備えたプロセッサシステム | |
JP4329188B2 (ja) | データ転送制御装置 | |
JPH09289522A (ja) | ネットワーク接続装置 | |
JP4666369B2 (ja) | Usbデバイス | |
JPH02149049A (ja) | 通信制御方式 | |
JP2003249978A (ja) | シリアル転送装置 | |
JPS61200733A (ja) | フロ−制御方式 | |
JP2000244530A (ja) | データ通信装置 | |
JP4067199B2 (ja) | データ処理装置 | |
JPS62232057A (ja) | 擬似dma方式 | |
JP2005267324A (ja) | 構内交換機及びデータ転送処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20050830 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071211 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080212 |
|
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: 20080311 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080314 |
|
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: 20110321 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110321 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110321 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110321 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110321 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120321 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130321 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140321 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |