JPH1040069A - Method for controlling error of fifo and fifo circuit and network forming device using the same - Google Patents
Method for controlling error of fifo and fifo circuit and network forming device using the sameInfo
- Publication number
- JPH1040069A JPH1040069A JP8194361A JP19436196A JPH1040069A JP H1040069 A JPH1040069 A JP H1040069A JP 8194361 A JP8194361 A JP 8194361A JP 19436196 A JP19436196 A JP 19436196A JP H1040069 A JPH1040069 A JP H1040069A
- Authority
- JP
- Japan
- Prior art keywords
- input
- output
- block data
- pointer
- data
- 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.)
- Pending
Links
Landscapes
- Communication Control (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、有限の大きさのブ
ロックデータを所定の単位に分割した単位データ毎の入
力中に自ブロックデータもしくは他のブロックデータの
単位データ毎の出力を行なうFIFO(ファイフォ、Fi
rst In First Out)のエラー入出力制御に係り、特に、
入出力エラーに効率良く対処するのに好適なFIFOエ
ラー入出力制御とFIFO回路およびそれを用いたネッ
トワーク構成装置に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a FIFO (FIFO) which outputs block data of its own block or other block data for each unit data during input of each unit data obtained by dividing block data of a finite size into predetermined units. Fifo, Fi
rst in first out) error input / output control.
The present invention relates to a FIFO error input / output control and a FIFO circuit suitable for efficiently coping with an input / output error, and a network configuration device using the same.
【0002】[0002]
【従来の技術】FIFOは、メモリのアドレスがリング
上になるように、また、メモリに対するデータの先入れ
先出しが可能となるように、ポインタの制御を行なう技
術である。このFIFOでは、有限の大きさを持つブロ
ックデータを、FIFOへの入出力の基本単位となる単
位データ毎に入力し、所定の単位データ数の入力が完了
した時点から、入力順に単位データ毎の出力を行うもの
がある。また、このようなFIFOでは、既に入力され
ているブロックデータの出力が未完了でも、次のブロッ
クデータの入力を行う。2. Description of the Related Art FIFO is a technique for controlling a pointer so that an address of a memory is on a ring and data can be first-in, first-out of the memory. In this FIFO, block data having a finite size is input for each unit data serving as a basic unit of input / output to / from the FIFO. Some output. In such a FIFO, the next block data is input even if the output of the already input block data is not completed.
【0003】従来、このようなFIFOでは、入力元か
らの入力キャンセルや、FIFOのオーバーフロー、ま
たは入力データの異常など、ブロックデータ入力中の入
力禁止事象、および、出力先からの出力アボードやFI
FOのアンダーフローなどブロックデータ出力中の出力
禁止事象が発生した場合、FIFOから出力中、FIF
Oへの入力中、FIFOへ入力済みの全てのブロックデ
ータは無効化されていた。Conventionally, in such a FIFO, an input prohibition event during block data input, such as input cancellation from an input source, FIFO overflow, or input data abnormality, and output abort or FI from an output destination.
When an output inhibit event during block data output such as FO underflow occurs, the FIFO
During the input to O, all the block data already input to the FIFO were invalidated.
【0004】図6は、従来のFIFOのエラー制御を行
なうFIFO回路のエラー制御に係る部分の構成例を示
すブロック図である。本図6に示す従来のFIFOは、
メモリとしてのFIFO本体61、FIFO本体61の
入力ポインタ(図中、「Iptr」と記載)62、FIFO
の出力ポインタ(図中、「Optr」と記載)63と、ブロ
ックデータの先頭の単位データのFIFO本体51上の
アドレスを指す先頭ポインタの情報(ブロック情報)を
ブロックデータ毎に管理するブロック管理テーブル64
と、次に入力する、あるいは入力中のブロックデータに
対応するブロック情報のブロック管理テーブル64上の
アドレスを指す入力ブロック情報ポインタ(図中、「IB
ptr」と記載)65と、出力中のブロックデータに対応
するブロック情報のブロック管理テーブル64上のアド
レスを指す出力ブロック情報ポインタ(図中、「OBpt
r」と記載)66とを設けてなるものである。FIG. 6 is a block diagram showing a configuration example of a portion related to error control of a conventional FIFO circuit for performing error control of a FIFO. The conventional FIFO shown in FIG.
FIFO main body 61 as a memory, input pointer of FIFO main body 61 (described as "Iptr" in the figure) 62, FIFO
A block management table that manages, for each block data, an output pointer (indicated as “Optr” in the figure) 63 and a head pointer information (block information) indicating the address of the head unit data of the block data on the FIFO body 51. 64
And an input block information pointer (“IB” in the figure) indicating the address on the block management table 64 of the block information corresponding to the block data to be input or input next.
ptr ") 65 and an output block information pointer (" OBpt "in the figure) pointing to the address on the block management table 64 of the block information corresponding to the block data being output.
r) 66).
【0005】前ブロックデータの入力においては、ブロ
ックデータの先頭単位データがFIFO本体61に入力
された時点で、入力ブロック情報ポインタ65が指すブ
ロック情報の先頭ポインタに、入力ポインタ62の値を
入力する。そして、単位データを入力する毎に入力ポイ
ンタ62を1増加させ、ブロックデータの最終単位デー
タが入力された時点で入力ブロック情報ポインタ65
に、次に入力するブロック情報のブロック管理テーブル
64上のアドレスを設定する。また、既に入力されてい
るブロックデータの出力が未完了でも、次のブロックデ
ータの入力を行なう。In inputting the previous block data, when the head unit data of the block data is input to the FIFO main unit 61, the value of the input pointer 62 is input to the head pointer of the block information indicated by the input block information pointer 65. . Each time the unit data is input, the input pointer 62 is incremented by one, and when the last unit data of the block data is input, the input block information pointer 65
Then, the address on the block management table 64 of the block information to be input next is set. Even if the output of the already input block data is not completed, the next block data is input.
【0006】ブロックデータの通常の出力においては、
出力ブロック情報ポインタ66が指すブロックデータの
所定の単位データ数の入力が完了した時点から、先頭デ
ータ単位の出力を開始し、単位データを出力する毎に出
力ポインタ63を1増加させる。そして、出力ブロック
情報ポインタ66に、最終の単位データが出力された時
点で、次の出力に対応するブロック情報のブロック管理
テーブル64上のアドレスを設定する。In normal output of block data,
The output of the head data unit is started from the point in time when the input of a predetermined number of unit data of the block data indicated by the output block information pointer 66 is completed, and the output pointer 63 is incremented by one every time the unit data is output. Then, when the last unit data is output, the address on the block management table 64 of the block information corresponding to the next output is set to the output block information pointer 66.
【0007】このような動作時に、入力キャンセル、F
IFOのオーバーフロー、入力データの異常や、出力ア
ボート、FIFOのアンダーフローなどの入出力エラー
が発生した場合には、入力ポインタ62と出力ポインタ
63とに同じ値を設定し、入力ブロック情報ポインタ6
5と出力ブロック情報ポインタ66とに同じ値を設定
し、FIFO全体を初期化する。このように、従来のF
IFOのエラー制御技術においては、発生したエラーが
影響するブロックデータを特定することに関しては全く
考慮されておらず、発生したエラーが、特定のブロック
データに関するものであった場合でも、FIFO上の全
てのブロックデータを無効化してしまう。During such an operation, input cancel, F
When an input / output error such as an overflow of the FIFO, an error in the input data, an output abort, and an underflow of the FIFO occurs, the same value is set in the input pointer 62 and the output pointer 63 and the input block information pointer 6 is set.
5 and the output block information pointer 66 are set to the same value, and the entire FIFO is initialized. Thus, the conventional F
In the error control technology of the IFO, no consideration is given to specifying the block data affected by the generated error, and even if the generated error is related to the specific block data, all of the errors in the FIFO are considered. Invalidates the block data.
【0008】[0008]
【発明が解決しようとする課題】解決しようとする問題
点は、従来の技術では、発生したエラーが影響するブロ
ックデータを特定することができない点である。本発明
の目的は、これら従来技術の課題を解決し、発生したエ
ラーに関するブロックデータのみを無効化し、他のブロ
ックデータの入出力に影響を与えないようにすることが
可能なFIFOのエラー制御方法とFIFO回路および
それを用いたネットワーク構成装置を提供することであ
る。The problem to be solved is that the conventional technique cannot specify the block data affected by the error that has occurred. SUMMARY OF THE INVENTION It is an object of the present invention to solve the problems of the prior art, to invalidate only block data relating to an error that has occurred, and not to affect the input / output of other block data. And a FIFO circuit and a network configuration device using the FIFO circuit.
【0009】[0009]
【課題を解決するための手段】上記目的を達成するた
め、本発明のFIFOのエラー制御方法は、(1)メモ
リに対するデータの先入れ先出しによる入出力を、入力
ポインタおよび出力ポインタを用いてアドレスを環構造
で指定して行なうと共に、有限の大きさのブロックデー
タを所定の単位に分割した単位データ毎の入力中に、自
ブロックデータもしくは他のブロックデータの単位デー
タ毎の出力を行なうFIFOのエラー制御方法であっ
て、ブロックデータx,yの入出力エラー発生時(ステ
ップ401)、同一ブロックデータの入出力中であるか
否かを判別し(ステップ402,409)、この判別の
結果、同一ブロックデータの入出力中であれば、ブロッ
クデータの入出力を中断して(ステップ405,40
6)、入力ポインタおよび出力ポインタの値を、入出力
を中断したブロックデータの先頭の単位データの入力先
アドレスに変更し(ステップ407,408)、また、
判別の結果が否であり、かつ、発生したエラーが入力エ
ラーであれば(ステップ402)、ブロックデータの入
力を中断して(ステップ403)、入力ポインタの値
を、入力を中断したブロックデータの先頭の単位データ
の入力先アドレスに変更し(ステップ404)、また、
判別の結果が否であり、かつ、発生したエラーが出力エ
ラーであれば(ステップ409)、ブロックデータの出
力を中断して(ステップ410)、出力ポインタの値
を、出力を中断したブロックデータの最終の単位データ
の入力先アドレスを1増加した値(ステップ413)に
変更する(ステップ414)ことを特徴とする。また、
(2)上記(1)に記載のFIFOのエラー制御方法に
おいて、ブロックデータの入出力エラー発生時、入力中
のブロックデータと出力中のブロックデータがあり、か
つ、各々のブロックデータの入力時に予め設定されたそ
れぞれの先頭の単位データの入力先アドレス(Fptr、IB
ptr,OBptr)がそれぞれ一致すれば、同一ブロックデー
タの入出力中であると判別することを特徴とする。ま
た、(3)上記(1)に記載のFIFOのエラー制御方
法において、ブロックデータの入力完了時点で入力完了
情報(入力完了状態Ists(C))を、ブロックデータの出
力中に出力中情報(出力中状態Osts(O))を、それぞ
れ、ブロックデータに対応付けて設定し、発生したエラ
ーが入力エラーで、かつ、この入力エラーの発生時に入
力していたブロックデータに対応して出力中情報(Osts
(O))が設定されていれば、もしくは、発生したエラー
が出力エラーで、かつ、この出力エラーの発生時に出力
していたブロックデータに対応して入力完了情報(Ists
(C))が設定されていれば、同一ブロックデータの入出
力中であると判別することを特徴とする。また、(4)
上記(3)に記載のFIFOのエラー制御方法におい
て、入力完了情報(入力完了状態Ists(C))および出力
中情報(出力中状態Osts(O))を、ブロックデータの先
頭の単位データの入力先アドレスに対応付けて設定する
ことを特徴とする。また、(5)メモリに対するデータ
の先入れ先出しによる入出力を、入力ポインタおよび出
力ポインタを用いてアドレスを環構造で指定して行なう
と共に、有限の大きさのブロックデータを所定の単位に
分割した単位データ毎の入力中に、自ブロックデータも
しくは他のブロックデータの単位データ毎の出力を行な
うFIFOのエラー制御方法であって、ブロックデータ
の最終の単位データの入力完了時、この入力完了を示す
情報Ists(C)(入力完了状態Ists(C))を、ブロックデー
タの先頭の単位データのメモリへの入力先アドレスに対
応付けて登録する第1のステップ(ステップ204)
と、ブロックデータの出力中、このブロックデータを出
力中であることを示す情報Osts(O)を、このブロックデ
ータの先頭の単位データの入力先アドレスに対応付けて
登録する第2のステップ(ステップ302)と、ブロッ
クデータの入力中に入力禁止事象が発生した場合(ステ
ップ401)、この入力中のブロックデータの先頭の単
位データの入力先アドレスに対応付けて情報Osts(O)が
登録されているか否かを判別する第3のステップ(ステ
ップ402)と、この第3のステップの判別において情
報Osts(O)が登録されていなければ、ブロックデータの
入力を中断し(ステップ403)、この入力を中断した
ブロックデータの先頭の単位データの入力先アドレス
を、入力ポインタに設定する第4のステップ(ステップ
404)と、第3のステップの判別において情報Osts
(O)が登録されていれば、ブロックデータの入力および
出力を中断し(ステップ405,406)、この入出力
を中断したブロックデータの先頭の単位データの入力先
アドレスを、入力ポインタと出力ポインタに設定する第
5のステップ(ステップ407)と、また、ブロックデ
ータの出力中に出力禁止事象が発生した場合(ステップ
401)、ブロックデータの先頭の単位データの入力先
アドレスに対応付けて情報Ists(C)が登録されているか
否かを判別する第6のステップ(ステップ409)と、
この第6のステップの判別において情報Ists(C)が登録
されていなければ、ブロックデータの出力および入力を
中断し(ステップ405,406)、この入出力を中断
したブロックデータの先頭の単位データの入力先アドレ
スを、入力ポインタと出力ポインタに設定する第7のス
テップ(ステップ407)と、第6のステップの判別に
おいて情報Ists(C)が登録されていれば、ブロックデー
タの出力を中断し(ステップ410,411)、この出
力を中断したブロックデータに対応付けられた情報Ists
(C)の登録を解除し(ステップ412)、出力を中断し
たブロックデータの最終の単位データの入力先アドレス
を1増加させて(ステップ413)、出力ポインタに設
定する第8のステップと(ステップ414)を少なくと
も有し、ブロックデータの入出力エラー発生時、このエ
ラーの影響を受けるブロックデータを特定して無効化す
ることを特徴とする。また、本発明のFIFO回路は、
(6)メモリに対するデータの先入れ先出しによる入出
力を、入力ポインタおよび出力ポインタを用いてアドレ
スを環構造で指定して行なうと共に、有限の大きさのブ
ロックデータを所定の単位に分割した単位データ毎の入
力中に、自ブロックデータもしくは他のブロックデータ
の単位データ毎の出力を行なうFIFO回路であって、
ブロックデータの入出力エラー発生時、同一ブロックデ
ータの入出力中であるか否かを判別する手段(エラー検
知・判別部55)と、この判別の結果、同一ブロックデ
ータの入出力中であれば、ブロックデータの入出力を中
断して、入力ポインタおよび出力ポインタの値を、入出
力を中断したブロックデータの先頭の単位データの入力
先アドレスに変更し、また、判別の結果が否であり、か
つ、発生したエラーが入力エラーであれば、ブロックデ
ータの入力を中断して、入力ポインタの値を、入力を中
断したブロックデータの先頭の単位データの入力先アド
レスに変更し、また、判別の結果が否であり、かつ、発
生したエラーが出力エラーであれば、ブロックデータの
出力を中断して、出力ポインタの値を、出力を中断した
ブロックデータの最終の単位データの入力先アドレスを
1増加した値に変更する手段(エラー処理部56)とを
少なくとも有し、ブロックデータの入出力エラー発生
時、このエラーの影響を受けるブロックデータを特定し
て無効化することを特徴とする。また、(7)メモリに
対するデータの先入れ先出しによる入出力を、入力ポイ
ンタ2(Iptr)および出力ポインタ3(Optr)を用いて
アドレスを環構造で指定して行なうと共に、有限の大き
さのブロックデータを所定の単位に分割した単位データ
毎の入力中に、自ブロックデータもしくは他のブロック
データの単位データ毎の出力を行なうFIFO回路であ
って、各ブロックデータの各々の先頭の単位データの入
力時に入力ポインタが指すアドレスを登録すると共に、
この登録した各アドレスに対応して、各先頭の単位デー
タを含むブロックデータを最終の単位データまで入力完
了したことを示す入力完了状態情報、および、各先頭の
単位データを含むブロックデータを出力中であることを
示す出力中状態情報を設定するテーブル(ブロック情報
管理テーブル4)と、ブロックデータの入力中であれば
この入力中の、入力中でなければ次に入力するブロック
データの入力ポインタ2が指すアドレスのブロック情報
管理テーブル4上の登録位置(x,x+1,y)を指す入力情報
ポインタ5(IBptr)と、出力中のブロックデータの出
力ポインタ3が指すアドレスのブロック情報管理テーブ
ル4上の登録位置(x,x+1,y)を指す出力情報ポインタ6
(OBptr)とを少なくとも有し、入力中のブロックデー
タの最終の単位データの入力完了時、入力情報ポインタ
5(IBptr)が指すブロック情報管理テーブル4上のア
ドレスに対応して、入力完了状態情報(IBptr(C))を設
定し、出力中のブロックデータの先頭の単位データの出
力開始時、出力情報ポインタ6(OBptr)が指すブロッ
ク情報管理テーブル4上のアドレスに対応して、出力中
状態情報(OBptr(O))を設定し、出力中のブロックデー
タの最終の単位データの出力完了時、出力情報ポインタ
6(OBptr)が指すブロック情報管理テーブル4上のア
ドレスに対応して設定してある入力完了状態情報(IBpt
r(C))と出力中状態情報(OBptr(O))を解除し、ブロッ
クデータの入出力エラー発生時、入力情報ポインタ5
(IBptr)と出力情報ポインタ6(OBptr)のそれぞれが
指すブロック情報管理テーブル4上の各アドレス(x,x+
1,y、Fptr)が同じであるか否かにより、エラー発生時
に、同一ブロックデータの入出力中であるか否かを判別
し、この判別の結果、各アドレスが同じで、同一ブロッ
クデータの入出力中であれば、ブロックデータの入出力
を中断して、入力情報ポインタ5(IBptr)および出力
情報ポインタ6(OBptr)が共に指すブロック情報管理
テーブル4上のアドレスに、入力ポインタ2および出力
ポインタ3の値を変更し、また、判別の結果、各アドレ
スが異なり、かつ、発生したエラーが入力エラーであれ
ば、ブロックデータの入力を中断して、入力情報ポイン
タ5(IBptr)が指すブロック情報管理テーブル4上の
アドレスに、入力ポインタ2の値を変更し、また、判別
の結果、各アドレスが異なり、かつ、発生したエラーが
出力エラーであれば、ブロックデータの出力を中断し
て、出力情報ポインタ6(OBptr)の値を1増加し、こ
の1増加した出力情報ポインタ6(OBptr)が指すブロ
ック情報管理テーブル4上のアドレスに、出力ポインタ
3の値を変更することにより、ブロックデータの入出力
エラー発生時、このエラーの影響を受けるブロックデー
タを特定して無効化することを特徴とする。また、
(8)メモリに対するデータの先入れ先出しによる入出
力を、入力ポインタ2(Iptr)および出力ポインタ3
(Optr)を用いてアドレスを環構造で指定して行なうと
共に、有限の大きさのブロックデータを所定の単位に分
割した単位データ毎の入力中に、自ブロックデータもし
くは他のブロックデータの単位データ毎の出力を行なう
FIFO回路であって、各ブロックデータの各々の先頭
の単位データの入力時に入力ポインタが指すアドレスを
登録すると共に、この登録した各アドレスに対応して、
各先頭の単位データを含むブロックデータを最終の単位
データまで入力完了したことを示す入力完了状態情報、
および、各先頭の単位データを含むブロックデータを出
力中であることを示す出力中状態情報を設定するテーブ
ル(ブロック情報管理テーブル4)と、ブロックデータ
の入力中であればこの入力中の、入力中でなければ次に
入力するブロックデータの入力ポインタ2が指すアドレ
スのブロック情報管理テーブル4上の登録位置(x,x+1,
y)を指す入力情報ポインタ5(IBptr)と、出力中のブ
ロックデータの出力ポインタ3が指すアドレスのブロッ
ク情報管理テーブル4上の登録位置(x,x+1,y)を指す出
力情報ポインタ6(OBptr)とを少なくとも有し、入力
中のブロックデータの最終の単位データの入力完了時、
入力情報ポインタ5(IBptr)が指すブロック情報管理
テーブル4上のアドレスに対応して、入力完了状態情報
(IBptr(C))を設定し、出力中のブロックデータの先頭
の単位データの出力開始時、出力情報ポインタ6(OBpt
r)が指すブロック情報管理テーブル4上のアドレスに
対応して、出力中状態情報(OBptr(O))を設定し、出力
中のブロックデータの最終の単位データの出力完了時、
出力情報ポインタ6(OBptr)が指すブロック情報管理
テーブル4上のアドレスに対応して設定してある入力完
了状態情報(IBptr(C))と出力中状態情報(OBptr(O))
を解除し、ブロックデータの入力エラー発生時には、入
力情報ポインタ5(IBptr)が指すブロック情報管理テ
ーブル4上のアドレスに対応して出力中状態情報(OBpt
r(O))が設定されていか否かにより、また、ブロックデ
ータの出力エラー発生時には、出力情報ポインタ6(OB
ptr)が指すブロック情報管理テーブル4上のアドレス
に対応して入力完了状態情報(IBptr(C))が設定されて
いるか否かにより、エラー発生時に同一ブロックデータ
を入出力中であるか否かを判別し、この判別の結果、同
一ブロックデータの入出力中であれば、ブロックデータ
の入出力を中断して、入力情報ポインタ5(IBptr)お
よび出力情報ポインタ6(OBptr)が共に指すブロック
情報管理テーブル4上のアドレスに、入力ポインタ2お
よび出力ポインタ3の値を変更し、また、発生したエラ
ーが入力エラーで、かつ、判別の結果、同一ブロックデ
ータの入出力中でなければ、ブロックデータの入力を中
断して、入力情報ポインタ5(IBptr)が指すブロック
情報管理テーブル4上のアドレスに、入力ポインタ2の
値を変更し、また、発生したエラーが出力エラーで、か
つ、判別の結果、同一ブロックデータの入出力中でなけ
れば、ブロックデータの出力を中断して、入力情報ポイ
ンタ5(IBptr)が指すブロック情報管理テーブル4上
のアドレスに対応する入力完了状態情報(IBptr(C))の
設定を解除し、出力情報ポインタ6(OBptr)の値を1
増加し、この1増加した出力情報ポインタが指すブロッ
ク情報管理テーブル4上のアドレスに、出力ポインタ3
の値を変更することにより、ブロックデータの入出力エ
ラー発生時、このエラーの影響を受けるブロックデータ
を特定して無効化することを特徴とする。また、本発明
のネットワーク構成装置は、(9)ルータもしくはハブ
を少なくとも含むネットワーク構成装置であって、上記
(6)から(8)のいずれかに記載のFIFO回路を具
備し、通信フレームの入出力エラー発生時、このエラー
の影響を受ける通信フレームを特定して無効化すること
を特徴とする。In order to achieve the above object, the FIFO error control method according to the present invention comprises the following steps: (1) Input / output by first-in / first-out of data to / from a memory; Error control of a FIFO which outputs the own block data or other block data for each unit data while inputting each of the unit data obtained by dividing the block data of a finite size into a predetermined unit while performing the designation by the structure. When an input / output error occurs in block data x and y (step 401), it is determined whether or not the same block data is being input / output (steps 402 and 409). If data input / output is being performed, block data input / output is interrupted (steps 405, 40).
6) Change the values of the input pointer and the output pointer to the input destination address of the first unit data of the block data whose input / output has been interrupted (steps 407 and 408);
If the result of the determination is negative and the error occurred is an input error (step 402), the input of the block data is interrupted (step 403), and the value of the input pointer is changed to the value of the block data whose input has been interrupted. Change to the input destination address of the first unit data (step 404).
If the result of the determination is negative and the error occurred is an output error (step 409), the output of the block data is interrupted (step 410), and the value of the output pointer is changed to the value of the block data whose output has been interrupted. It is characterized in that the input destination address of the last unit data is changed to a value incremented by 1 (step 413) (step 414). Also,
(2) In the FIFO error control method described in the above (1), when an input / output error of block data occurs, there is a block data being input and a block data being output, and when inputting each block data, Input destination address (Fptr, IB
If (ptr, OBptr) match each other, it is determined that the same block data is being input / output. (3) In the FIFO error control method described in the above (1), input completion information (input completion state Ists (C)) at the time of completion of block data input and information being output during block data output ( The output status (Osts (O)) is set in association with the block data, and the error that occurred is an input error, and the output information corresponds to the block data that was input when the input error occurred. (Osts
(O)) is set, or the error that occurred is an output error, and the input completion information (Ists
If (C)) is set, it is determined that the same block data is being input / output. Also, (4)
In the FIFO error control method described in the above (3), the input completion information (input completion state Ists (C)) and the outputting information (outputting state Osts (O)) are input to the first unit data of the block data. It is characterized in that it is set in association with the destination address. (5) Input / output of data in a memory on a first-in first-out basis is performed by specifying an address in a ring structure using an input pointer and an output pointer, and unit data obtained by dividing finite-size block data into predetermined units. This is a FIFO error control method for outputting the unit data of the own block data or other block data for each unit data during each input, and when the input of the last unit data of the block data is completed, information indicating this input completion First step of registering (C) (input completion state Ists (C)) in association with the input destination address of the unit data at the head of the block data to the memory (step 204)
Registering information Osts (O) indicating that the block data is being output during the output of the block data in association with the input destination address of the head unit data of the block data. 302) and when an input prohibition event occurs during input of block data (step 401), information Osts (O) is registered in association with the input destination address of the head unit data of the block data being input. A third step (step 402) of determining whether or not there is no information, and if the information Osts (O) has not been registered in the determination of the third step, the input of block data is interrupted (step 403), and this input is performed. The fourth step (step 404) of setting the input destination address of the first unit data of the block data in which the data has been interrupted to the input pointer, and the third step Information in another Osts
If (O) is registered, the input and output of the block data are interrupted (steps 405 and 406), and the input destination address of the first unit data of the block data whose input / output is interrupted is indicated by the input pointer and the output pointer. In the fifth step (step 407), and when an output prohibition event occurs during the output of the block data (step 401), the information Ists is associated with the input destination address of the first unit data of the block data. A sixth step (step 409) of determining whether or not (C) is registered;
If the information Ists (C) is not registered in the determination of the sixth step, the output and input of the block data are interrupted (steps 405 and 406), and the input and output of the head unit data of the interrupted block data are interrupted. The seventh step (Step 407) of setting the input destination address to the input pointer and the output pointer, and if the information Ists (C) is registered in the determination of the sixth step, the output of the block data is interrupted ( Steps 410 and 411), information Ists associated with the block data whose output has been interrupted
Eighth step of deregistering (C) (step 412), incrementing the input destination address of the last unit data of the block data whose output has been interrupted by one (step 413), and setting the output pointer (step 413) 414), and when an input / output error of block data occurs, block data affected by this error is specified and invalidated. Further, the FIFO circuit of the present invention
(6) First-in first-out input / output of data to / from the memory is performed by designating an address in a ring structure using an input pointer and an output pointer, and divides block data of a finite size into predetermined units for each unit data. A FIFO circuit that outputs, during input, unit data of its own block data or other block data for each unit data,
When an input / output error of block data occurs, means (error detection / determination unit 55) for determining whether or not input / output of the same block data is being performed. Interrupting the input / output of the block data, changing the values of the input pointer and the output pointer to the input destination address of the first unit data of the block data whose input / output has been interrupted, and the result of the determination is negative, If the error occurred is an input error, the input of the block data is interrupted, the value of the input pointer is changed to the input destination address of the first unit data of the interrupted block data, and If the result is negative and the error occurred is an output error, the output of the block data is interrupted, and the value of the output pointer is Means for changing the input destination address of the last unit data to a value incremented by 1 (error processing unit 56). When an input / output error of block data occurs, block data affected by this error is specified. It is characterized by invalidation. (7) Input / output by first-in first-out of data to / from the memory is performed by specifying an address in a ring structure using an input pointer 2 (Iptr) and an output pointer 3 (Optr), and a block data of a finite size is stored. A FIFO circuit for outputting, for each unit data of its own block data or other block data, during input of each unit data divided into a predetermined unit, and inputting when inputting the first unit data of each block data. Register the address pointed to by the pointer,
In response to each of the registered addresses, input completion status information indicating that block data including the head unit data has been input up to the last unit data, and block data including the head unit data are being output. And a table (block information management table 4) for setting the output status information indicating that the block data is being input. The input information pointer 5 (IBptr) pointing to the registration position (x, x + 1, y) on the block information management table 4 of the address indicated by the address and the block information management table of the address indicated by the output pointer 3 of the block data being output Output information pointer 6 pointing to the registration position (x, x + 1, y) on
(OBptr), and when the input of the last unit data of the block data being input is completed, the input completion status information corresponding to the address on the block information management table 4 indicated by the input information pointer 5 (IBptr) When (IBptr (C)) is set and the output of the first unit data of the block data being output is started, the output status is set in accordance with the address on the block information management table 4 indicated by the output information pointer 6 (OBptr). The information (OBptr (O)) is set, and when the output of the last unit data of the block data being output is completed, the information is set corresponding to the address on the block information management table 4 indicated by the output information pointer 6 (OBptr). Input completion status information (IBpt
r (C)) and the output status information (OBptr (O)) are released, and when an input / output error of block data occurs, the input information pointer 5
(IBptr) and each address (x, x +) on the block information management table 4 indicated by the output information pointer 6 (OBptr).
(Y, Fptr) is the same, it is determined whether or not the same block data is being input / output when an error occurs.As a result of this determination, each address is the same and the same block data If input / output is in progress, input / output of the block data is interrupted, and the input pointer 2 and the output are stored in the address on the block information management table 4 indicated by both the input information pointer 5 (IBptr) and the output information pointer 6 (OBptr). If the value of the pointer 3 is changed, and if it is determined that each address is different and the error that has occurred is an input error, the input of the block data is interrupted and the block indicated by the input information pointer 5 (IBptr) is stopped. If the value of the input pointer 2 is changed to an address on the information management table 4 and the result of determination is that each address is different and the error occurred is an output error, The output of the data pointer is interrupted, the value of the output information pointer 6 (OBptr) is incremented by one, and the address of the output pointer 3 on the block information management table 4 indicated by the incremented output information pointer 6 (OBptr) is added. By changing the value, when an input / output error of the block data occurs, the block data affected by the error is specified and invalidated. Also,
(8) First-in first-out input / output of data to / from the memory is performed by the input pointer 2 (Iptr) and the output pointer 3
(Optr) is used to specify the address in a ring structure, and the unit data of the own block data or other block data is input during the input of each unit data obtained by dividing the finite block data into predetermined units. A FIFO circuit that performs an output for each block, registers an address pointed to by an input pointer when inputting the first unit data of each block data, and, corresponding to each registered address,
Input completion status information indicating that block data including the first unit data has been input up to the last unit data,
Also, a table (block information management table 4) for setting output status information indicating that block data including each head unit data is being output, and an input during block data input during block data input. If it is not inside, the registration position (x, x + 1,
y), and an output information pointer 6 pointing to the registered position (x, x + 1, y) on the block information management table 4 at the address pointed to by the output pointer 3 of the block data being output. (OBptr), and when the input of the last unit data of the block data being input is completed,
Input completion status information (IBptr (C)) is set corresponding to the address on the block information management table 4 pointed to by the input information pointer 5 (IBptr), and the output of the first unit data of the block data being output is started. , Output information pointer 6 (OBpt
r) sets the output status information (OBptr (O)) corresponding to the address on the block information management table 4 indicated by r), and completes the output of the last unit data of the block data being output.
Input completion status information (IBptr (C)) and output status information (OBptr (O)) set corresponding to the address on the block information management table 4 pointed to by the output information pointer 6 (OBptr)
Is released, and when an input error of the block data occurs, the output status information (OBptr) corresponding to the address on the block information management table 4 indicated by the input information pointer 5 (IBptr).
r (O)) is set, and when an output error of block data occurs, the output information pointer 6 (OB
Whether or not the same block data is being input / output during the occurrence of an error, depending on whether or not the input completion status information (IBptr (C)) is set corresponding to the address on the block information management table 4 indicated by (ptr). If the result of this determination is that the same block data is being input / output, the input / output of the block data is interrupted, and the block information indicated by both the input information pointer 5 (IBptr) and the output information pointer 6 (OBptr). If the values of the input pointer 2 and the output pointer 3 are changed to the addresses on the management table 4, and if the error occurred is an input error and the result of the determination indicates that the same block data is not being input / output, the block data Is interrupted, the value of the input pointer 2 is changed to the address on the block information management table 4 indicated by the input information pointer 5 (IBptr), and If there is an output error and the result of the determination is that the same block data is not being input / output, the output of the block data is interrupted and the address on the block information management table 4 indicated by the input information pointer 5 (IBptr) is Release the setting of the corresponding input completion status information (IBptr (C)), and set the value of the output information pointer 6 (OBptr) to 1
The output pointer 3 is added to the address on the block information management table 4 indicated by the incremented output information pointer.
When the input / output error of the block data occurs, the block data affected by the error is specified and invalidated. Further, a network configuration device of the present invention is (9) a network configuration device including at least a router or a hub, comprising the FIFO circuit according to any one of the above (6) to (8), and receiving a communication frame. When an output error occurs, a communication frame affected by the error is specified and invalidated.
【0010】[0010]
【発明の実施の形態】本発明においては、有限の大きさ
を持つブロックデータを、FIFOへの入出力の基本単
位となる単位データ毎に入力し、所定の単位データ数の
入力が完了した時点から、入力順に単位データ毎の出力
を行ない、また、既に入力されているブロックデータの
出力が未完了でも、次のブロックデータの入力を行なう
場合に、ブロックデータの入力が完了しているか(入力
完了状態)否か(入力中状態)を示す入力ステータス、
および、ブロックデータの出力が開始されているか(出
力中状態)否か(未出力状態)を示す出力ステータスを
ブロック情報に付加する。DESCRIPTION OF THE PREFERRED EMBODIMENTS In the present invention, block data having a finite size is input for each unit data which is a basic unit of input / output to / from a FIFO. From the input, the output is performed for each unit data in the input order. Also, even if the output of the already input block data is not completed, when the next block data is input, whether the input of the block data is completed (input Completion status), input status indicating whether or not (input status),
Also, an output status indicating whether the output of the block data has been started (outputting state) or not (non-output state) is added to the block information.
【0011】すなわち、ブロックデータの最終単位デー
タが入力された時点で、入力ブロック情報ポインタ(IB
ptr)が指すブロック情報の入力ステータスに、入力完
了状態(Ists(C))を設定し、ブロックデータの先頭デ
ータ単位の出力を開始した時点で、出力ブロック情報ポ
インタ(OBptr)が指すブロック情報の出力ステータス
に出力中状態(Osts(O))を設定し、ブロックデータの
最終単位データが出力された時点で、入力ステータスに
入力中状態(Ists(L))を設定し、出力ステータスに未
出力状態(Osts(W))を設定する。That is, when the last unit data of the block data is input, the input block information pointer (IB
Set the input completion status (Ists (C)) to the input status of the block information pointed to by ptr), and when the output of the first data unit of the block data starts, the block information pointed by the output block information pointer (OBptr) Set the output status to the output status (Osts (O)), and when the last unit data of the block data is output, set the input status to the input status (Ists (L)) and not output to the output status Set the state (Osts (W)).
【0012】そして、入力元からの入力キャンセル、ま
たはFIFOのオーバーフロー、または入力データの異
常など、ブロックデータ入力中の入力禁止事象が発生し
た場合で、入力ブロック情報ポインタ(IBptr)が指す
ブロック情報の出力ステータス(Osts)が未出力状態
(Osts(W))の場合には、ブロックデータの残りの単位
データの入力を中断し、入力ブロック情報ポインタ(IB
ptr)が指すブロック情報の先頭ポインタ(Fptr)の値
を入力ポインタ(Iptr)に設定する。When an input prohibition event during block data input occurs, such as input cancellation from the input source, FIFO overflow, or input data abnormality, the block information pointed to by the input block information pointer (IBptr) If the output status (Osts) is not output (Osts (W)), the input of the remaining unit data of the block data is interrupted, and the input block information pointer (IB
The value of the head pointer (Fptr) of the block information indicated by (ptr) is set to the input pointer (Iptr).
【0013】また、入力禁止事象が発生した場合で、入
力ブロック情報ポインタ(IBptr)が指すブロック情報
の出力ステータス(Osts)が出力中状態(Osts(O))の
場合には、ブロックデータの残りの単位データの入力を
中断し、単位データの出力を中断し、入力ブロック情報
ポインタ(IBptr)が指すブロック情報の先頭ポインタ
(Fptr)と入力ポインタ(Iptr)と出力ポインタ(Op
tr)とに同じ値を設定し、入力ブロック情報ポインタ
(IBptr)が指すブロック情報の出力ステータス(Ost
s)に、未出力状態(Osts(W))を設定する。When the input prohibition event occurs and the output status (Osts) of the block information pointed to by the input block information pointer (IBptr) is in the output state (Osts (O)), the remaining block data is output. Of the block information pointed by the input block information pointer (IBptr), the input pointer (Iptr), and the output pointer (Op).
tr), and set the output status (Ost) of the block information pointed to by the input block information pointer (IBptr).
Set the non-output state (Osts (W)) to s).
【0014】また、出力先からの出力アボート、または
FIFOのアンダーフローなど、ブロックデータ出力中
の出力禁止事象が発生した場合で、出力ブロック情報ポ
インタ(OBptr)が指すブロック情報の入力ステータス
(Ists)が入力完了状態(Ists(C))の場合には、単位
データの出力を中断し、出力ブロック情報ポインタ(OB
ptr)が指すブロック情報の出力ステータス(Osts)
に、未出力状態(Osts(W))を設定し、入力ステータス
(Ists)に、入力中状態(Ists(L))を設定し、そし
て、出力ブロック情報ポインタ(OBptr)を1増加さ
せ、その出力ブロック情報ポインタ(OBptr)が指すブ
ロック情報の先頭ポインタ(Fptr)の値を出力ポインタ
(Optr)に設定する。When an output abort event from an output destination or an output prohibition event during block data output such as FIFO underflow occurs, the input status (Ists) of the block information pointed to by the output block information pointer (OBptr). Is in the input completion state (Ists (C)), the output of the unit data is interrupted, and the output block information pointer (OB
Output status of block information pointed to by ptr) (Osts)
, The non-output state (Osts (W)) is set, the input status (Ists) is set to the input state (Ists (L)), and the output block information pointer (OBptr) is incremented by 1. The value of the head pointer (Fptr) of the block information indicated by the output block information pointer (OBptr) is set in the output pointer (Optr).
【0015】また、出力禁止事象が発生した場合で、出
力ブロック情報ポインタ(OBptr)が指すブロック情報
の入力ステータス(Ists)が入力中状態(Ists(L))の
場合には、ブロックデータの残りの単位データの入力を
中断し、単位データの出力を中断し、出力ブロック情報
ポインタ(OBptr)が指すブロック情報の先頭ポインタ
(Fptr)と入力ポインタ(Iptr)と出力ポインタ(Opt
r)とに同じ値を設定し、出力ブロック情報ポインタ(O
Bptr)が指すブロック情報の出力ステータス(Osts)
に、未出力状態(Osts(W))を設定する。このような動
作の結果、入出力エラーが影響するブロックデータに特
定したエラー処理となる。If an output prohibition event occurs and the input status (Ists) of the block information pointed to by the output block information pointer (OBptr) is the inputting state (Ists (L)), the remaining block data The input of unit data is interrupted, the output of unit data is interrupted, and the start pointer (Fptr), input pointer (Iptr), and output pointer (Optr) of the block information indicated by the output block information pointer (OBptr)
r) and the same value as the output block information pointer (O
Output status (Osts) of block information pointed to by Bptr)
To the non-output state (Osts (W)). As a result of such an operation, error processing is performed for block data affected by an input / output error.
【0016】以下、このようなFIFOのエラー制御技
術に係る本発明の実施例を、図面により詳細に説明す
る。図1は、本発明のFIFOのエラー制御方法を実行
するFIFO回路の本発明に係る構成の一実施例を示す
ブロック図である。本図1において、1はメモリとして
のFIFO本体、2は入力ポインタ(図中、「Iptr」と
記載)、3は出力ポインタ(図中、「Optr」と記載)、
4はブロック情報管理テーブル、5は入力ブロック情報
ポインタ(図中、「IBptr」と記載)、6は出力ブロッ
ク情報ポインタ(図中、「OBptr」と記載)である。An embodiment of the present invention relating to such a FIFO error control technique will be described below in detail with reference to the drawings. FIG. 1 is a block diagram showing an embodiment of a configuration according to the present invention of a FIFO circuit for executing the FIFO error control method of the present invention. In FIG. 1, 1 is a FIFO main body as a memory, 2 is an input pointer (described as “Iptr” in the figure), 3 is an output pointer (described as “Optr” in the figure),
4 is a block information management table, 5 is an input block information pointer (described as "IBptr" in the figure), and 6 is an output block information pointer (described as "OBptr" in the figure).
【0017】本例のFIFO回路は、メモリとしてのF
IFO本体1に対するデータの先入れ先出しによる入出
力を、入力ポインタ2および出力ポインタ3を用いてア
ドレスを環構造で指定して行なうと共に、有限の大きさ
のブロックデータを所定の単位に分割した単位データ毎
の入力中に、自ブロックデータもしくは他のブロックデ
ータの単位データ毎の出力を行なうものであり、入力ポ
インタ2は、FIFO本体1の入力先アドレスを指し、
この入力ポインタ2が指すアドレス単位でブロックデー
タの各単位データがFIFO本体1に格納される。ま
た、出力ポインタ3は、FIFO本体1の出力先アドレ
スを指し、この出力ポインタ3が指すアドレス単位でブ
ロックデータの各単位データがFIFO本体1から転送
される。The FIFO circuit of the present embodiment has an F
First-in first-out input / output of data to / from the IFO main unit 1 is performed by designating an address in a ring structure using an input pointer 2 and an output pointer 3, and each unit data obtained by dividing a finite block data into predetermined units. The input pointer 2 indicates the input destination address of the FIFO main unit 1 during the input of the unit data of the own block data or other block data for each unit data.
Each unit data of the block data is stored in the FIFO main unit 1 in the address unit indicated by the input pointer 2. The output pointer 3 indicates an output destination address of the FIFO main unit 1, and each unit data of the block data is transferred from the FIFO main unit 1 in an address unit indicated by the output pointer 3.
【0018】本発明に係るブロック情報管理テーブル4
は、先頭単位データのFIFO本体1上のアドレスを指
す先頭ポインタ(Fptr)と、ブロックデータの入力が完
了している(入力完了状態Ists(C))か否か(入力中状
態Ists(L))を示す入力ステータス(Ists)と、ブロッ
クデータの出力が開始されている(出力中状態Osts
(O))か否か(未出力状態Osts(W))を示す出力ステ
ータス(Osts)からなるブロック情報を、ブロックデー
タ毎に登録して管理する。入力ブロック情報ポインタ5
は、次に入力する、あるいは入力中ブロックデータに対
応するブロック情報のブロック情報管理テーブル4上の
アドレスを指す。出力ブロック情報ポインタ6は、出力
中のブロックデータに対応するブロック情報のブロック
情報管理テーブル4上のアドレスを指す。Block information management table 4 according to the present invention
Is a head pointer (Fptr) indicating the address of the head unit data on the FIFO main unit 1, and whether or not the input of the block data is completed (input completed state Ists (C)) (input state Ists (L) ), And the output of block data has started (outputting status Osts)
(O)) Registers and manages block information including an output status (Osts) indicating whether or not (unoutput state Osts (W)) for each block data. Input block information pointer 5
Indicates the address on the block information management table 4 of the block information corresponding to the next input or input block data. The output block information pointer 6 points to an address on the block information management table 4 of the block information corresponding to the block data being output.
【0019】このような構成によるFIFO回路の本発
明に係るエラー制御方法の説明を、図2〜図4を用いて
説明する。図2は、図1におけるFIFO回路のブロッ
クデータ入力時の本発明に係る動作例を示すフローチャ
ートであり、図3は、ブロックデータ出力時の本発明に
係る動作例を示すフローチャートであり、図4は、エラ
ー発生時の本発明に係る動作例を示すフローチャートで
ある。A description will be given of an error control method according to the present invention for a FIFO circuit having such a configuration with reference to FIGS. FIG. 2 is a flowchart showing an operation example according to the present invention when block data is input to the FIFO circuit in FIG. 1. FIG. 3 is a flowchart showing an operation example according to the present invention when block data is output. 9 is a flowchart illustrating an operation example according to the present invention when an error occurs.
【0020】図2に示すように、ブロックデータの入力
処理では、まず、入力した単位データがブロックデータ
の先頭の場合には(ステップ201)、入力ブロック情
報ポインタ(IBptr)が指すブロック情報管理テーブル
上のブロック情報の先頭ポインタ(Fptr)に、入力ポイ
ンタ(Iptr)の値を入力し(ステップ202)、入力ポ
インタ(Iptr)を1増加させる(ステップ203)。ま
た、ステップ201において、入力した単位データがブ
ロックデータの途中の場合には、そのままステップ20
3に進み、単に、入力ポインタ(Iptr)を1増加させ
る。As shown in FIG. 2, in the block data input processing, first, when the input unit data is the head of the block data (step 201), the block information management table pointed to by the input block information pointer (IBptr) The value of the input pointer (Iptr) is input to the top pointer (Fptr) of the upper block information (step 202), and the input pointer (Iptr) is incremented by 1 (step 203). In step 201, if the input unit data is in the middle of block data,
Proceeding to 3, simply increment the input pointer (Iptr) by one.
【0021】そして、ステップ201において、入力し
た単位データがブロックデータの最終の場合、本発明に
係る動作として入力ブロック情報ポインタ(IBptr)が
指すブロック情報の入力ステータス(Ists)に入力完了
状態(C)を設定し(ステップ204)、その後、従来
通り、入力ブロック情報ポインタ(IBptr)を1増加さ
せて次に入力するブロック情報のブロック情報管理テー
ブル上のアドレスを設定し(ステップ205)、ステッ
プ203に進み、入力ポインタ(Iptr)を1増加させ
る。In step 201, when the input unit data is the last block data, the input status (Ists) of the block information pointed to by the input block information pointer (IBptr) is set to the input completion state (C ) Is set (step 204). Then, as before, the input block information pointer (IBptr) is incremented by 1, and the address of the next block information to be input on the block information management table is set (step 205). To increase the input pointer (Iptr) by one.
【0022】次に、図3に示すように、ブロックデータ
の出力処理では、まず、出力する単位データがブロック
データの先頭の場合(ステップ301)、本発明に係る
動作として出力ブロック情報ポインタ(OBptr)が指す
ブロック情報管理テーブル上のブロック情報の出力ステ
ータス(Osts)に、出力中状態(O)を設定し(ステッ
プ302)、出力ポインタ(Optr)を1増加させる(ス
テップ303)。また、ステップ301において、出力
する単位データがブロックデータの途中の場合、そのま
まステップ303に進み、単に、出力ポインタ(Optr)
を1増加させる。Next, as shown in FIG. 3, in the block data output processing, first, when the unit data to be output is the head of the block data (step 301), the output block information pointer (OBptr ) Is set to the output status (Osts) of the block information on the block information management table indicated by () (step 302), and the output pointer (Optr) is incremented by 1 (step 303). If the output unit data is in the middle of the block data in step 301, the process directly proceeds to step 303, and the output pointer (Optr)
Is increased by one.
【0023】そして、ステップ301において、出力す
る単位データがブロックデータの最終の場合、本発明に
係る動作として入力ステータス(Ists)に入力中状態
(I)を設定し(ステップ304)、かつ、出力ステー
タス(Osts)に未出力状態(W)を設定し(ステップ3
05)、その後、出力ブロック情報ポインタ(OBptr)
を1増加させて次の出力に対応するブロック情報管理テ
ーブル4上のアドレスを設定し(ステップ306)、ス
テップ303に進み、出力ポインタ(Optr)を1増加さ
せる。If the output unit data is the last block data in step 301, the input status (Ists) is set to the input status (I) as the operation according to the present invention (step 304), and the output is performed. Set the non-output state (W) to the status (Osts) (Step 3)
05), then the output block information pointer (OBptr)
Is incremented by 1 and an address on the block information management table 4 corresponding to the next output is set (step 306), and the routine proceeds to step 303, where the output pointer (Optr) is incremented by 1.
【0024】このようなブロックデータの入出力に伴う
ポインタやステータスの管理制御状態において、エラー
処理が発生した場合、図4に示すように、発生したエラ
ーの種類に対応して処理を行なう。すなわち、まず、入
力元からの入力キャンセルやFIFO100のオーバー
ブロー、あるいは、入力データの異常など、エラーが、
入力中のブロックデータに起因する場合で(ステップ4
01)、かつ、入力ブロック情報ポインタ(IBptr)が
指すブロック情報の出力ステータス(Osts)が未出力状
態(W)の場合には(ステップ402)、ブロックデー
タの残りの単位データの入力を中断し(ステップ40
3)、入力ブロック情報ポインタ(IBptr)が指すブロ
ック情報の先頭ポインタ(Fptr)の値を入力ポインタ
(Iptr)に設定する(ステップ404)。When error processing occurs in such a pointer and status management control state accompanying input / output of block data, as shown in FIG. 4, processing is performed according to the type of error that has occurred. That is, first, errors such as an input cancellation from the input source, an overblow of the FIFO 100, or an abnormality of the input data,
In the case where it is caused by the block data being input (step 4
01), and when the output status (Osts) of the block information indicated by the input block information pointer (IBptr) is not output (W) (step 402), the input of the remaining unit data of the block data is interrupted. (Step 40
3) The value of the head pointer (Fptr) of the block information pointed to by the input block information pointer (IBptr) is set to the input pointer (Iptr) (step 404).
【0025】ステップ402において、入力ブロック情
報ポインタ(IBptr)が指すブロック情報の出力ステー
タス(Osts)が出力中状態(O)の場合、すなわち、同
一のブロックデータの入出力中であれば、ブロックデー
タの残りの単位データの入力を中断すると共に(ステッ
プ405)、単位データの出力を中断し(ステップ40
6)、入力ブロック情報ポインタ(IBptr)(この場
合、IBptr=OBptrである)が指すブロック情報の先頭ポ
インタ(Fptr)の値を、入力ポインタ(Iptr)と出力ポ
インタ(Optr)とに設定し(ステップ407)、入力ブ
ロック情報ポインタ(IBptr=OBptr)が指すブロック情
報の出力ステータス(Osts)に、未出力状態(W)を設
定する(ステップ408)。In step 402, if the output status (Osts) of the block information indicated by the input block information pointer (IBptr) is in the output state (O), that is, if the same block data is being input / output, the block data The input of the remaining unit data is interrupted (step 405), and the output of the unit data is interrupted (step 40).
6) The value of the head pointer (Fptr) of the block information indicated by the input block information pointer (IBptr) (in this case, IBptr = OBptr) is set to the input pointer (Iptr) and the output pointer (Optr) ( (Step 407), the output status (Osts) of the block information pointed to by the input block information pointer (IBptr = OBptr) is set to a non-output state (W) (Step 408).
【0026】また、ステップ401において、出力先か
らの出力アボート、またはFIFO100のアンダーブ
ローなど、エラーが、出力中のブロックデータに起因す
る場合であれば、ステップ409の判別処理を行なう。
ここで、出力ブロック情報ポインタ(OBptr)が指すブ
ロック情報の入力ステータス(Ists)が入力完了状態
(C)の場合には、単位データの出力を中断し(ステッ
プ410)、出力ブロック情報ポインタ(OBptr)が指
すブロック情報の出力ステータス(Osts)に、未出力状
態(W)を設定し(ステップ411)、入力ステータス
(Ists)に、入力中状態(I)を設定し(ステップ41
2)、出力ブロック情報ポインタ(OBptr)を1増加さ
せ(ステップ413)、その出力ブロック情報ポインタ
(OBptr)が指すブロック情報の先頭ポインタ(Fptr)
の値を出力ポインタ(Optr)に設定する(ステップ41
4)。If it is determined in step 401 that an error is caused by the block data being output, such as an output abort from the output destination or an under-blow of the FIFO 100, a determination process in step 409 is performed.
Here, when the input status (Ists) of the block information indicated by the output block information pointer (OBptr) is the input completion state (C), the output of the unit data is interrupted (step 410), and the output block information pointer (OBptr) is output. ) Is set to the non-output state (W) as the output status (Osts) of the block information indicated by (step 411), and the input status (I) is set to the input status (Ists) (step 41).
2), the output block information pointer (OBptr) is incremented by 1 (step 413), and the head pointer (Fptr) of the block information indicated by the output block information pointer (OBptr)
Is set to the output pointer (Optr) (step 41).
4).
【0027】また、ステップ409において、出力ブロ
ック情報ポインタ(OBptr)が指すブロック情報の入力
ステータス(Ists)が入力中状態(I)の場合には、前
述のステップ405以下の処理を行なう。すなわち、ス
テップ405において、ブロックデータの残りの単位デ
ータの入力を中断し、ステップ406において、単位デ
ータの出力を中断し、ステップ407において、出力ブ
ロック情報ポインタ(OBptr=IBptrである)が指すブロ
ック情報の先頭ポインタ(Fptr)の値を入力ポインタ
(Iptr)と出力ポインタ(Optr)とに設定し、ステップ
408において、出力ブロック情報ポインタ(OBptr=I
Bptrである)が指すブロック情報の出力ステータス(Os
ts)に、未出力状態(W)を設定する。In step 409, if the input status (Ists) of the block information pointed to by the output block information pointer (OBptr) is in the input state (I), the processing from step 405 described above is performed. That is, in step 405, the input of the remaining unit data of the block data is interrupted, in step 406, the output of the unit data is interrupted, and in step 407, the block information indicated by the output block information pointer (OBptr = IBptr) Is set as an input pointer (Iptr) and an output pointer (Optr), and in step 408, an output block information pointer (OBptr = Iptr) is set.
Output status (Os) of block information indicated by Bptr)
ts) is set to a non-output state (W).
【0028】以上、図2〜図4で説明した手順により、
入出力エラーに係るブロックデータのみに対応したエラ
ー処理を行なうことができる。次に、このような手順に
よりエラー制御を行なうFIFO回路を、ルーターやゲ
ートウェイに代表されるLAN間接続装置などのネット
ワーク構成装置に適用した例を説明する。As described above, according to the procedure described with reference to FIGS.
Error processing corresponding to only block data relating to an input / output error can be performed. Next, an example will be described in which a FIFO circuit for performing error control according to such a procedure is applied to a network component device such as an inter-LAN connecting device represented by a router or a gateway.
【0029】図5は、本発明のFIFO回路およびそれ
を具備したネットワーク構成装置の構成例を示すブロッ
ク図である。本例は、ブロックデータをコンピュータ間
の通信フレームとしてとらえ、本発明のFIFO回路を
ネットワーク構成装置に適用したものであり、本例のネ
ットワーク構成装置はLAN(Local Area Network、ロ
ーカルエリアネットワーク)間の接続制御を行なうルー
ターである。FIG. 5 is a block diagram showing a configuration example of the FIFO circuit of the present invention and a network configuration device provided with the FIFO circuit. In this embodiment, the block data is regarded as a communication frame between computers, and the FIFO circuit of the present invention is applied to a network configuration device. The network configuration device of the present embodiment is used for a LAN (Local Area Network). A router that controls connection.
【0030】本図5において、50は本発明に係るFI
FO回路、51はFIFO本体としてのメモリ、52は
メモリ51への通信フレームの入力制御を行なう入力
部、53はメモリ51からの通信フレームの出力制御を
行なう出力部、54はFIFO回路50の全体動作制御
を行なうFIFO制御部、55は本発明に係るエラー検
知・判別部、56は本発明に係るエラー制御を行なうエ
ラー処理部、57はFIFO回路50による通信フレー
ムの先入れ先出し処理およびルーターとしてのLAN間
の接続制御を含む装置全体の制御を行なう主制御部であ
る。In FIG. 5, reference numeral 50 denotes an FI according to the present invention.
FO circuit, 51 is a memory serving as a FIFO main body, 52 is an input unit for controlling input of a communication frame to the memory 51, 53 is an output unit for controlling output of a communication frame from the memory 51, and 54 is an entire FIFO circuit 50. An FIFO control unit for performing operation control, 55 is an error detection / judgment unit according to the present invention, 56 is an error processing unit for performing error control according to the present invention, 57 is a first-in first-out process of a communication frame by the FIFO circuit 50 and a LAN as a router It is a main control unit that controls the entire apparatus including connection control between them.
【0031】FIFO制御部54は、図1における構成
からなり、入力部52と出力部53による通信フレーム
の入出力制御に伴い、図2,図3で示した手順により、
通信フレームの単位データ毎の先入れ先出し処理を行な
う。そして、エラー検知・判別部55は、入力部52お
よび出力部53による通信フレームの入出力制御時にお
けるエラーの発生を検知すると共に、このエラーの発生
時に入力部52および出力部53で同一の通信フレーム
に対して入出力を行なっているか否かを判別し、エラー
処理部55は、エラー検知・判別部55の判別結果に基
づき、図4で示した手順によりエラー制御を行なう。The FIFO control unit 54 has the configuration shown in FIG. 1, and performs the input / output control of the communication frame by the input unit 52 and the output unit 53 according to the procedure shown in FIGS.
First-in first-out processing is performed for each unit data of the communication frame. The error detection / determination unit 55 detects the occurrence of an error during input / output control of a communication frame by the input unit 52 and the output unit 53, and performs the same communication between the input unit 52 and the output unit 53 when the error occurs. It is determined whether or not input / output is being performed on the frame, and the error processing unit 55 performs error control based on the determination result of the error detection / determination unit 55 according to the procedure shown in FIG.
【0032】すなわち、エラー処理部55は、エラー検
知・判別回路55の判別の結果、同一通信フレームの入
出力中であれば、通信フレームの入出力を中断して、入
力ポインタおよび出力ポインタの値を、入出力を中断し
た通信フレームの先頭の単位データの入力先アドレスに
変更する。また、エラー検知・判別回路55の判別の結
果が否であり、かつ、発生したエラーが入力部52の入
力制御に伴うエラーであれば、通信フレームの入力を中
断して、入力ポインタの値を、入力を中断した通信フレ
ームの先頭の単位データの入力先アドレスに変更する。
また、エラー検知・判別回路55の判別の結果が否であ
り、かつ、発生したエラーが出力部53の出力制御に伴
うエラーであれば、通信フレームの出力を中断して、出
力ポインタの値を、出力を中断した通信フレームの最終
の単位データの入力先アドレスを1増加した値に変更す
る。That is, if the error detection / determination circuit 55 determines that the same communication frame is being input / output, the error processing unit 55 interrupts the input / output of the communication frame and returns the values of the input pointer and the output pointer. Is changed to the input destination address of the first unit data of the communication frame whose input / output has been interrupted. If the result of the determination by the error detection / determination circuit 55 is negative, and the generated error is an error associated with the input control of the input unit 52, the input of the communication frame is interrupted, and the value of the input pointer is changed. Is changed to the input destination address of the first unit data of the communication frame whose input has been interrupted.
If the result of the determination by the error detection / determination circuit 55 is negative, and if the generated error is an error associated with the output control of the output unit 53, the output of the communication frame is interrupted and the value of the output pointer is changed. Then, the input destination address of the last unit data of the communication frame whose output has been interrupted is changed to a value increased by one.
【0033】以上、図1〜図5を用いて説明したよう
に、本実施例のFIFO回路およびそれを用いたネット
ワーク構成装置によるFIFOのエラー制御方法では、
ブロックデータ(通信フレーム)毎に、先頭の単位デー
タのアドレス、および、入力ステータス(Ists)と出力
ステータス(Osts)を、ブロック情報として管理し、そ
れを用いたエラー制御を行なうことで、通信フレームの
入出力エラー発生時、このエラーの影響を受ける通信フ
レームを特定して無効化する。このように、発生したエ
ラーが、特定のブロックデータに関するものであった場
合、FIFO上の全てのブロックデータを無効化してし
まうことなく、発生したエラーに関係するブロックデー
タのみを無効化するので、他のブロックデータの入出力
に影響を与えないようにすることができる。As described above with reference to FIGS. 1 to 5, in the FIFO error control method according to the present embodiment and the network configuration device using the FIFO circuit,
For each block data (communication frame), the address of the head unit data, and the input status (Ists) and the output status (Osts) are managed as block information, and error control using the information is performed, so that the communication frame is controlled. When an input / output error occurs, the communication frame affected by the error is specified and invalidated. As described above, when the error that occurred is related to specific block data, only the block data related to the generated error is invalidated without invalidating all the block data in the FIFO. It is possible not to affect the input / output of other block data.
【0034】尚、本発明は、図1〜図5を用いて説明し
た実施例に限定されるものではなく、その要旨を逸脱し
ない範囲において種々変更可能である。例えば、上述の
実施例においては、ブロックデータの先頭単位データを
入力した時点で、先頭ポインタ(Fptr)に、入力ポイン
タ(Iptr)の値を設定するようにしているが、これは、
前のブロックデータの入力が完了した時点で、先頭ポイ
ンタ(Fptr)に、「入力ポインタ+1」の値を設定する
ことも可能である。The present invention is not limited to the embodiment described with reference to FIGS. 1 to 5, but can be variously modified without departing from the gist thereof. For example, in the above-described embodiment, when the head unit data of the block data is input, the value of the input pointer (Iptr) is set to the head pointer (Fptr).
When the input of the previous block data is completed, it is possible to set the value of “input pointer + 1” in the head pointer (Fptr).
【0035】また、同様に、入力ステータス(Ists)
を、入力完了状態から入力中状態へ変更するタイミング
や、出力ステータス(Osts)を、出力中状態から未出力
状態へ変更するタイミングも、上述の実施例と異なるタ
イミングで行なうことも可能である。すなわち、これら
の変更は、ブロック情報の初期化であり、次にそのブロ
ック情報を利用するときまでに、その初期化が完了して
いれば良い。Similarly, the input status (Ists)
Can be changed from the input completion state to the input state, or the output status (Osts) can be changed from the output state to the non-output state at a timing different from the above-described embodiment. That is, these changes are the initialization of the block information, and it is sufficient that the initialization be completed by the time the next block information is used.
【0036】また、図2〜図4における実施例では、図
1におけるブロック情報管理テーブル4の入力ステータ
ス(Ists)と出力ステータス(Osts)の状態に基づき、
入出力エラー発生時に同一のブロックデータが入出力中
であるか否かの判別を行なっているが、図1における入
力ブロック情報ポインタ(IBptr)5と出力ブロック情
報ポインタ(OBptr)6との値が一致するか否かによっ
て、同様な判別を行なうことでも良い。また、図5で示
した実施例では、ネットワーク構成装置として、ルータ
ーを例に説明したが、ハブ等の他のネットワーク機器に
も適用できる。In the embodiment shown in FIGS. 2 to 4, the input status (Ists) and the output status (Osts) of the block information management table 4 shown in FIG.
When an input / output error occurs, it is determined whether or not the same block data is being input / output, but the value of the input block information pointer (IBptr) 5 and the value of the output block information pointer (OBptr) 6 in FIG. A similar determination may be made depending on whether they match. Further, in the embodiment shown in FIG. 5, a router is described as an example of a network configuration device, but the present invention can be applied to other network devices such as a hub.
【0037】[0037]
【発明の効果】本発明によれば、発生したエラーが影響
するブロックデータを特定することができ、エラーが発
生した場合、発生したエラーに関するブロックデータの
みを無効化し、他のブロックデータの入出力に影響を与
えないようにすることができ、入出力エラーに効率良く
対処することが可能である。According to the present invention, block data affected by an error that has occurred can be specified. When an error occurs, only block data relating to the error that has occurred is invalidated, and input / output of other block data is performed. Is not affected, and it is possible to efficiently deal with input / output errors.
【図1】本発明のFIFOのエラー制御方法を実行する
FIFO回路の本発明に係る構成の一実施例を示すブロ
ック図である。FIG. 1 is a block diagram showing an embodiment of a configuration according to the present invention of a FIFO circuit for executing a FIFO error control method of the present invention.
【図2】図1におけるFIFO回路のブロックデータ入
力時の本発明に係る動作例を示すフローチャートであ
る。FIG. 2 is a flowchart showing an operation example according to the present invention when block data is input to the FIFO circuit in FIG. 1;
【図3】図1におけるFIFO回路のブロックデータ出
力時の本発明に係る動作例を示すフローチャートであ
る。FIG. 3 is a flowchart illustrating an operation example according to the present invention when the FIFO circuit in FIG. 1 outputs block data;
【図4】図1におけるFIFO回路のエラー発生時の本
発明に係る動作例を示すフローチャートである。FIG. 4 is a flowchart showing an operation example according to the present invention when an error occurs in the FIFO circuit in FIG. 1;
【図5】本発明のFIFO回路およびそれを具備したネ
ットワーク構成装置の構成例を示すブロック図である。FIG. 5 is a block diagram illustrating a configuration example of a FIFO circuit of the present invention and a network configuration device including the FIFO circuit.
【図6】従来のFIFOのエラー制御を行なうFIFO
回路のエラー制御に係る部分の構成例を示すブロック図
である。FIG. 6 shows a FIFO for performing error control of a conventional FIFO.
FIG. 3 is a block diagram illustrating a configuration example of a part related to error control of a circuit.
1:FIFO本体、2:入力ポインタ、3:出力ポイン
タ、4:ブロック情報管理テーブル、5:入力ブロック
情報ポインタ、6:出力ブロック情報ポインタ、50:
FIFO回路、51:メモリ、52:入力部、53:出
力部、54:FIFO制御部、55:エラー検知・判別
部、56:エラー処理部、57:主制御部、61:FI
FO本体、62:入力ポインタ、63:出力ポインタ、
64:ブロック情報管理テーブル、65:入力ブロック
情報ポインタ、66:出力ブロック情報ポインタ。1: FIFO main unit, 2: input pointer, 3: output pointer, 4: block information management table, 5: input block information pointer, 6: output block information pointer, 50:
FIFO circuit, 51: memory, 52: input section, 53: output section, 54: FIFO control section, 55: error detection / determination section, 56: error processing section, 57: main control section, 61: FI
FO body, 62: input pointer, 63: output pointer,
64: block information management table, 65: input block information pointer, 66: output block information pointer.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 村主 俊彦 東京都新宿区西新宿三丁目19番2号 日本 電信電話株式会社内 ────────────────────────────────────────────────── ─── Continuing on the front page (72) Inventor Toshihiko Muranoshi 3-19-2 Nishishinjuku, Shinjuku-ku, Tokyo Nippon Telegraph and Telephone Corporation
Claims (9)
よる入出力を、入力ポインタおよび出力ポインタを用い
てアドレスを環構造で指定して行なうと共に、有限の大
きさのブロックデータを所定の単位に分割した単位デー
タ毎の入力中に、自ブロックデータもしくは他のブロッ
クデータの単位データ毎の出力を行なうFIFOのエラ
ー制御方法であって、上記ブロックデータの入出力エラ
ー発生時、同一ブロックデータの入出力中であるか否か
を判別し、該判別の結果、同一ブロックデータの入出力
中であれば、上記ブロックデータの入出力を中断して、
上記入力ポインタおよび上記出力ポインタの値を、上記
入出力を中断したブロックデータの先頭の単位データの
入力先アドレスに変更し、上記判別の結果が否であり、
かつ、上記発生したエラーが入力エラーであれば、上記
ブロックデータの入力を中断して、上記入力ポインタの
値を、上記入力を中断したブロックデータの先頭の単位
データの入力先アドレスに変更し、上記判別の結果が否
であり、かつ、上記発生したエラーが出力エラーであれ
ば、上記ブロックデータの出力を中断して、上記出力ポ
インタの値を、上記出力を中断したブロックデータの最
終の単位データの入力先アドレスを1増加した値に変更
することを特徴とするFIFOのエラー制御方法。A unit data obtained by inputting / outputting data to / from a memory in a first-in first-out manner by specifying an address in a ring structure using an input pointer and an output pointer, and dividing block data of a finite size into predetermined units. This is an FIFO error control method for outputting, for each unit data, the own block data or another block data during each input, and when the input / output error of the block data occurs, the same block data is being input / output. It is determined whether or not, if the result of the determination is that the same block data is being input / output, the input / output of the block data is interrupted,
The value of the input pointer and the output pointer is changed to the input destination address of the first unit data of the block data for which the input / output is interrupted, and the result of the determination is negative,
And, if the generated error is an input error, the input of the block data is interrupted, and the value of the input pointer is changed to the input destination address of the first unit data of the block data whose input is interrupted, If the result of the determination is negative, and if the error occurred is an output error, the output of the block data is interrupted, and the value of the output pointer is changed to the last unit of the block data whose output has been interrupted. A FIFO error control method, wherein a data input destination address is changed to a value incremented by one.
方法において、上記ブロックデータの入出力エラー発生
時、入力中のブロックデータと出力中のブロックデータ
があり、各々のブロックデータの入力時に予め設定され
たそれぞれの先頭の単位データの入力先アドレスがそれ
ぞれ一致すれば、上記同一ブロックデータの入出力中で
あると判別することを特徴とするFIFOのエラー制御
方法。2. The FIFO error control method according to claim 1, wherein when an input / output error of the block data occurs, there is a block data being input and a block data being output. A FIFO error control method, characterized in that it is determined that the input and output of the same block data are being performed if the set input destination addresses of the respective set head data match.
方法において、上記ブロックデータの入力完了時点で入
力完了情報を、上記ブロックデータの出力中に出力中情
報を、それぞれ、上記ブロックデータに対応付けて設定
し、上記発生したエラーが入力エラーで、該入力エラー
の発生時に入力していたブロックデータに対応して上記
出力中情報が設定されていれば、もしくは、上記発生し
たエラーが出力エラーで、該出力エラーの発生時に出力
していたブロックデータに対応して上記入力完了情報が
設定されていれば、上記同一ブロックデータの入出力中
であると判別することを特徴とするFIFOのエラー制
御方法。3. The FIFO error control method according to claim 1, wherein input completion information at the time of completion of input of the block data, output information during output of the block data, and the block data correspond to the block data, respectively. If the generated error is an input error and the output information is set corresponding to the block data input at the time of the input error, or if the generated error is an output error If the input completion information is set corresponding to the block data output at the time of occurrence of the output error, it is determined that the input / output of the same block data is being performed. Control method.
方法において、上記入力完了情報および上記出力中情報
を、上記ブロックデータの先頭の単位データの入力先ア
ドレスに対応付けて設定することを特徴とするFIFO
のエラー制御方法。4. The FIFO error control method according to claim 3, wherein the input completion information and the output information are set in association with an input destination address of a head unit data of the block data. FIFO
Error control method.
よる入出力を、入力ポインタおよび出力ポインタを用い
てアドレスを環構造で指定して行なうと共に、有限の大
きさのブロックデータを所定の単位に分割した単位デー
タ毎の入力中に、自ブロックデータもしくは他のブロッ
クデータの単位データ毎の出力を行なうFIFOのエラ
ー制御方法であって、上記ブロックデータの最終の単位
データの入力完了時、該入力完了を示す情報Ists(C)
を、上記ブロックデータの先頭の単位データの上記メモ
リへの入力先アドレスに対応付けて登録する第1のステ
ップと、上記ブロックデータの出力中、該ブロックデー
タを出力中であることを示す情報Osts(O)を、該ブロッ
クデータの先頭の単位データの入力先アドレスに対応付
けて登録する第2のステップと、上記ブロックデータの
入力中に入力禁止事象が発生した場合、該入力中のブロ
ックデータの先頭の単位データの入力先アドレスに対応
付けて上記情報Osts(O)が登録されているか否かを判別
する第3のステップと、該第3のステップの判別におい
て上記情報Osts(O)が登録されていなければ、上記ブロ
ックデータの入力を中断し、該入力を中断したブロック
データの先頭の単位データの上記入力先アドレスを、上
記入力ポインタに設定する第4のステップと、上記第3
のステップの判別において上記情報Osts(O)が登録され
ていれば、上記ブロックデータの入力および出力を中断
し、該入出力を中断したブロックデータの先頭の単位デ
ータの入力先アドレスを、上記入力ポインタと上記出力
ポインタに設定する第5のステップと、上記ブロックデ
ータの出力中に出力禁止事象が発生した場合、上記ブロ
ックデータの先頭の単位データの入力先アドレスに対応
付けて上記情報Ists(C)が登録されているか否かを判別
する第6のステップと、該第6のステップの判別におい
て上記情報Ists(C)が登録されていなければ、上記ブロ
ックデータの出力および入力を中断し、該入出力を中断
したブロックデータの先頭の単位データの入力先アドレ
スを、上記入力ポインタと上記出力ポインタに設定する
第7のステップと、上記第6のステップの判別において
上記情報Ists(C)が登録されていれば、上記ブロックデ
ータの出力を中断し、該出力を中断したブロックデータ
に対応付けられた上記情報Ists(C)の登録を解除し、上
記出力を中断したブロックデータの最終の単位データの
入力先アドレスを1増加させて、上記出力ポインタに設
定する第8のステップとを少なくとも有し、上記ブロッ
クデータの入出力エラー発生時、該エラーの影響を受け
るブロックデータを特定して無効化することを特徴とす
るFIFOのエラー制御方法。5. A unit data obtained by inputting / outputting data to / from a memory in a first-in first-out manner by specifying an address in a ring structure using an input pointer and an output pointer, and dividing block data of a finite size into predetermined units. A FIFO error control method for outputting a unit data of the own block data or another block data during each input, wherein when the input of the last unit data of the block data is completed, information indicating the completion of the input is provided. Ists (C)
A first step of registering the block data in association with an input destination address of the first unit data of the block data to the memory, and during output of the block data, information Osts indicating that the block data is being output. (O) is registered in association with the input destination address of the head unit data of the block data, and when an input prohibition event occurs during the input of the block data, the block data being input is A third step of determining whether or not the information Osts (O) is registered in association with the input destination address of the first unit data of the first unit data; and determining the information Osts (O) in the determination of the third step. If not registered, the input of the block data is interrupted, and the input destination address of the first unit data of the block data whose input has been interrupted is set to the input pointer. A step of, the third
If the information Osts (O) is registered in the determination of the step, the input and output of the block data are interrupted, and the input destination address of the first unit data of the block data whose input / output is interrupted is input to the input unit. A fifth step of setting the pointer and the output pointer, and when an output inhibition event occurs during the output of the block data, the information Ists (C) is associated with the input destination address of the head unit data of the block data. ) Is registered, and if the information Ists (C) is not registered in the determination of the sixth step, the output and input of the block data are interrupted. A seventh step of setting the input destination address of the head unit data of the block data whose input / output has been interrupted to the input pointer and the output pointer; If the information Ists (C) is registered in the determination of the step, the output of the block data is interrupted, and the registration of the information Ists (C) associated with the block data whose output is interrupted is canceled. An eighth step of incrementing the input destination address of the last unit data of the block data whose output has been interrupted by one and setting the incremented address to the output pointer. A method for controlling an error of a FIFO, comprising identifying and invalidating block data affected by the error.
よる入出力を、入力ポインタおよび出力ポインタを用い
てアドレスを環構造で指定して行なうと共に、有限の大
きさのブロックデータを所定の単位に分割した単位デー
タ毎の入力中に、自ブロックデータもしくは他のブロッ
クデータの単位データ毎の出力を行なうFIFO回路で
あって、上記ブロックデータの入出力エラー発生時、同
一ブロックデータの入出力中であるか否かを判別する手
段と、該判別の結果、同一ブロックデータの入出力中で
あれば、上記ブロックデータの入出力を中断して、上記
入力ポインタおよび上記出力ポインタの値を、上記入出
力を中断したブロックデータの先頭の単位データの入力
先アドレスに変更し、上記判別の結果が否であり、か
つ、上記発生したエラーが入力エラーであれば、上記ブ
ロックデータの入力を中断して、上記入力ポインタの値
を、上記入力を中断したブロックデータの先頭の単位デ
ータの入力先アドレスに変更し、上記判別の結果が否で
あり、かつ、上記発生したエラーが出力エラーであれ
ば、上記ブロックデータの出力を中断して、上記出力ポ
インタの値を、上記出力を中断したブロックデータの最
終の単位データの入力先アドレスを1増加した値に変更
する手段とを少なくとも有し、上記ブロックデータの入
出力エラー発生時、該エラーの影響を受けるブロックデ
ータを特定して無効化することを特徴とするFIFO回
路。6. A unit data obtained by performing first-in first-out input / output of data to / from a memory by designating an address in a ring structure using an input pointer and an output pointer, and dividing block data of a finite size into predetermined units. A FIFO circuit for outputting, for each unit data of the own block data or another block data during each input, whether or not the same block data is being input / output when the above-mentioned block data input / output error occurs Means for determining whether the input / output of the block data is interrupted, and if the result of the determination indicates that the input / output of the same block data is in progress, the input / output of the input pointer and the output pointer is interrupted. Change to the input destination address of the unit data at the beginning of the block data, and if the result of the above determination is negative and the error If the input is an input error, the input of the block data is interrupted, the value of the input pointer is changed to the input destination address of the first unit data of the block data whose input is interrupted, and the result of the determination is No, and if the error occurred is an output error, the output of the block data is interrupted, and the value of the output pointer is changed to the input destination address of the last unit data of the block data whose output has been interrupted. And a means for changing the value of the block data to a value increased by one, and when an input / output error of the block data occurs, the block data affected by the error is specified and invalidated.
よる入出力を、入力ポインタおよび出力ポインタを用い
てアドレスを環構造で指定して行なうと共に、有限の大
きさのブロックデータを所定の単位に分割した単位デー
タ毎の入力中に、自ブロックデータもしくは他のブロッ
クデータの単位データ毎の出力を行なうFIFO回路で
あって、各ブロックデータの各々の先頭の単位データの
入力時に上記入力ポインタが指すアドレスを登録すると
共に、該登録した各アドレスに対応して、上記各先頭の
単位データを含むブロックデータを最終の単位データま
で入力完了したことを示す入力完了状態情報、および、
上記各先頭の単位データを含むブロックデータを出力中
であることを示す出力中状態情報を設定するテーブル
と、上記ブロックデータの入力中であれば該入力中の、
入力中でなければ次に入力するブロックデータの上記入
力ポインタが指すアドレスの上記テーブル上の登録位置
を指す入力情報ポインタと、出力中の上記ブロックデー
タの上記出力ポインタが指すアドレスの上記テーブル上
の登録位置を指す出力情報ポインタとを少なくとも有
し、入力中の上記ブロックデータの最終の単位データの
入力完了時、上記入力情報ポインタが指す上記テーブル
上の上記アドレスに対応して、上記入力完了状態情報を
設定し、出力中の上記ブロックデータの先頭の単位デー
タの出力開始時、上記出力情報ポインタが指す上記テー
ブル上の上記アドレスに対応して、上記出力中状態情報
を設定し、上記出力中のブロックデータの最終の単位デ
ータの出力完了時、上記出力情報ポインタが指す上記テ
ーブル上の上記アドレスに対応して設定してある上記入
力完了状態情報および上記出力中状態情報を解除し、上
記ブロックデータの入出力エラー発生時、上記入力情報
ポインタと上記出力情報ポインタのそれぞれが指す上記
テーブル上の各アドレスが同じであるか否かにより、上
記エラー発生時に、同一ブロックデータの入出力中であ
るか否かを判別し、該判別の結果、上記各アドレスが同
じで、同一ブロックデータの入出力中であれば、上記ブ
ロックデータの入出力を中断して、上記入力情報ポイン
タおよび上記出力情報ポインタが共に指す上記テーブル
上のアドレスに、上記入力ポインタおよび上記出力ポイ
ンタの値を変更し、上記判別の結果、上記各アドレスが
異なり、かつ、上記発生したエラーが入力エラーであれ
ば、上記ブロックデータの入力を中断して、上記入力情
報ポインタが指す上記テーブル上のアドレスに、上記入
力ポインタの値を変更し、上記判別の結果、上記各アド
レスが異なり、かつ、上記発生したエラーが出力エラー
であれば、上記ブロックデータの出力を中断して、上記
出力情報ポインタの値を1増加し、該1増加した上記出
力情報ポインタが指す上記テーブル上のアドレスに、上
記出力ポインタの値を変更することにより、上記ブロッ
クデータの入出力エラー発生時、該エラーの影響を受け
るブロックデータを特定して無効化することを特徴とす
るFIFO回路。7. A unit data obtained by inputting / outputting data to / from a memory in a first-in first-out manner by specifying an address in a ring structure using an input pointer and an output pointer, and dividing block data of a finite size into predetermined units. A FIFO circuit for outputting, during each input, unit data of the own block data or other block data for each unit data, and registers an address pointed to by the input pointer at the time of inputting the first unit data of each block data. And input completion state information indicating that the block data including the head unit data has been input up to the last unit data corresponding to each of the registered addresses, and
A table for setting output status information indicating that block data including each head unit data is being output, and if the block data is being input,
If not being input, the input information pointer indicating the registration position on the table of the address pointed to by the input pointer of the block data to be input next, and the input information pointer indicating the address pointed to by the output pointer of the block data being output on the table An output information pointer that points to a registration position, and when the input of the last unit data of the block data being input is completed, the input completion state corresponding to the address on the table pointed to by the input information pointer At the start of output of the unit data at the beginning of the block data being output, the output status information is set in accordance with the address on the table pointed to by the output information pointer. When the output of the last unit data of the block data of the above is completed, the address on the table indicated by the output information pointer The input completion status information and the output status information set corresponding to the input data are released, and when an input / output error occurs in the block data, the input information pointer and the output information pointer point to the table. It is determined whether or not the same block data is being input / output at the time of the occurrence of the error, based on whether or not each of the addresses is the same. If output is being performed, input / output of the block data is interrupted, and the values of the input pointer and the output pointer are changed to addresses on the table pointed to by both the input information pointer and the output information pointer. As a result of the determination, if the addresses are different and the generated error is an input error, the input of the block data is interrupted. And changing the value of the input pointer to an address on the table pointed to by the input information pointer, and as a result of the determination, if the addresses are different and the error that has occurred is an output error, the block The output of the data is interrupted, the value of the output information pointer is incremented by one, and the value of the output pointer is changed to the address on the table indicated by the incremented output information pointer. Wherein when an input / output error occurs, the block data affected by the error is specified and invalidated.
よる入出力を、入力ポインタおよび出力ポインタを用い
てアドレスを環構造で指定して行なうと共に、有限の大
きさのブロックデータを所定の単位に分割した単位デー
タ毎の入力中に、自ブロックデータもしくは他のブロッ
クデータの単位データ毎の出力を行なうFIFO回路で
あって、各ブロックデータの各々の先頭の単位データの
入力時に上記入力ポインタが指すアドレスを登録すると
共に、該登録した各アドレスに対応して、上記各先頭の
単位データを含むブロックデータを最終の単位データま
で入力完了したことを示す入力完了状態情報、および、
上記各先頭の単位データを含むブロックデータを出力中
であることを示す出力中状態情報を設定するテーブル
と、上記ブロックデータの入力中であれば該入力中の、
入力中でなければ次に入力するブロックデータの上記入
力ポインタが指すアドレスの上記テーブル上の登録位置
を指す入力情報ポインタと、出力中の上記ブロックデー
タの上記出力ポインタが指すアドレスの上記テーブル上
の登録位置を指す出力情報ポインタとを少なくとも有
し、入力中の上記ブロックデータの最終の単位データの
入力完了時、上記入力情報ポインタが指す上記テーブル
上の上記アドレスに対応して、上記入力完了状態情報を
設定し、出力中の上記ブロックデータの先頭の単位デー
タの出力開始時、上記出力情報ポインタが指す上記テー
ブル上の上記アドレスに対応して、上記出力中状態情報
を設定し、上記出力中のブロックデータの最終の単位デ
ータの出力完了時、上記出力情報ポインタが指す上記テ
ーブル上の上記アドレスに対応して設定してある上記入
力完了状態情報および上記出力中状態情報を解除し、上
記ブロックデータの入力エラー発生時には、上記入力情
報ポインタが指す上記テーブル上のアドレスに対応して
上記出力中状態情報が設定されていか否かにより、上記
ブロックデータの出力エラー発生時には、上記出力情報
ポインタが指す上記テーブル上のアドレスに対応して上
記入力完了状態情報が設定されているか否かにより、上
記エラー発生時に同一ブロックデータを入出力中である
か否かを判別し、該判別の結果、同一ブロックデータの
入出力中であれば、上記ブロックデータの入出力を中断
して、上記入力情報ポインタおよび上記出力情報ポイン
タが共に指す上記テーブル上のアドレスに、上記入力ポ
インタおよび上記出力ポインタの値を変更し、上記発生
したエラーが入力エラーで、かつ、上記判別の結果、同
一ブロックデータの入出力中でなければ、上記ブロック
データの入力を中断して、上記入力情報ポインタが指す
上記テーブル上のアドレスに、上記入力ポインタの値を
変更し、上記発生したエラーが出力エラーで、かつ、上
記判別の結果、同一ブロックデータの入出力中でなけれ
ば、上記ブロックデータの出力を中断して、上記入力情
報ポインタが指す上記テーブル上のアドレスに対応する
上記入力完了状態情報の設定を解除し、上記出力情報ポ
インタの値を1増加し、該1増加した上記出力情報ポイ
ンタが指す上記テーブル上のアドレスに、上記出力ポイ
ンタの値を変更することにより、上記ブロックデータの
入出力エラー発生時、該エラーの影響を受けるブロック
データを特定して無効化することを特徴とするFIFO
回路。8. A unit data obtained by inputting / outputting data to / from a memory in a first-in first-out manner by specifying an address using an input pointer and an output pointer in a ring structure, and dividing block data of a finite size into predetermined units. A FIFO circuit for outputting, during each input, unit data of the own block data or other block data for each unit data, and registers an address pointed to by the input pointer at the time of inputting the first unit data of each block data. And input completion state information indicating that the block data including the head unit data has been input up to the last unit data corresponding to each of the registered addresses, and
A table for setting output status information indicating that block data including each head unit data is being output, and if the block data is being input,
If not being input, the input information pointer indicating the registration position on the table of the address pointed to by the input pointer of the block data to be input next, and the input information pointer indicating the address pointed to by the output pointer of the block data being output on the table An output information pointer that points to a registration position, and when the input of the last unit data of the block data being input is completed, the input completion state corresponding to the address on the table pointed to by the input information pointer At the start of output of the unit data at the beginning of the block data being output, the output status information is set in accordance with the address on the table pointed to by the output information pointer. When the output of the last unit data of the block data of the above is completed, the address on the table indicated by the output information pointer The input completion status information and the output status information set corresponding to the input data are released, and when an input error of the block data occurs, the output corresponding to the address on the table pointed to by the input information pointer is released. Depending on whether or not the middle state information is set, when an output error of the block data occurs, whether or not the input completion state information is set corresponding to the address on the table pointed to by the output information pointer, It is determined whether or not the same block data is being input / output at the time of the error. If the result of the determination is that the same block data is being input / output, the input / output of the block data is interrupted, and The values of the input pointer and the output pointer are stored in the addresses on the table pointed to by both the pointer and the output information pointer. Further, if the generated error is an input error and the result of the determination is that the same block data is not being input / output, the input of the block data is interrupted, and the input To the address, change the value of the input pointer, and if the generated error is an output error, and the result of the determination is that the same block data is not being input / output, the output of the block data is interrupted. The setting of the input completion state information corresponding to the address on the table pointed to by the input information pointer is released, the value of the output information pointer is incremented by 1, and the address on the table pointed to by the output information pointer incremented by 1 By changing the value of the output pointer, when an input / output error occurs in the block data, FIFO characterized by identifying and invalidating data
circuit.
ットワーク構成装置であって、請求項6から請求項8の
いずれかに記載のFIFO回路を具備し、通信フレーム
の入出力エラー発生時、該エラーの影響を受ける通信フ
レームを特定して無効化することを特徴とするネットワ
ーク構成装置。9. A network configuration device including at least a router or a hub, comprising the FIFO circuit according to claim 6, wherein when a communication frame input / output error occurs, the influence of the error occurs. A network configuration device for identifying and invalidating a communication frame to be received.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8194361A JPH1040069A (en) | 1996-07-24 | 1996-07-24 | Method for controlling error of fifo and fifo circuit and network forming device using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8194361A JPH1040069A (en) | 1996-07-24 | 1996-07-24 | Method for controlling error of fifo and fifo circuit and network forming device using the same |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1040069A true JPH1040069A (en) | 1998-02-13 |
Family
ID=16323309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8194361A Pending JPH1040069A (en) | 1996-07-24 | 1996-07-24 | Method for controlling error of fifo and fifo circuit and network forming device using the same |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1040069A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9630025B2 (en) | 2005-07-25 | 2017-04-25 | Varian Medical Systems International Ag | Methods and apparatus for the planning and delivery of radiation treatments |
US9901750B2 (en) | 2002-12-18 | 2018-02-27 | Varian Medical Systems, Inc. | Multi-mode cone beam CT radiotherapy simulator and treatment machine with a flat panel imager |
US10773101B2 (en) | 2010-06-22 | 2020-09-15 | Varian Medical Systems International Ag | System and method for estimating and manipulating estimated radiation dose |
-
1996
- 1996-07-24 JP JP8194361A patent/JPH1040069A/en active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9901750B2 (en) | 2002-12-18 | 2018-02-27 | Varian Medical Systems, Inc. | Multi-mode cone beam CT radiotherapy simulator and treatment machine with a flat panel imager |
US11344748B2 (en) | 2002-12-18 | 2022-05-31 | Varian Medical Systems, Inc. | Multi-mode cone beam CT radiotherapy simulator and treatment machine with a flat panel imager |
US9687676B2 (en) | 2005-07-25 | 2017-06-27 | Varian Medical Systems International Ag | Methods and apparatus for the planning and delivery of radiation treatments |
US9630025B2 (en) | 2005-07-25 | 2017-04-25 | Varian Medical Systems International Ag | Methods and apparatus for the planning and delivery of radiation treatments |
US9687675B2 (en) | 2005-07-25 | 2017-06-27 | Varian Medical Systems International Ag | Methods and apparatus for the planning and delivery of radiation treatments |
US9687673B2 (en) | 2005-07-25 | 2017-06-27 | Varian Medical Systems International Ag | Methods and apparatus for the planning and delivery of radiation treatments |
US9687677B2 (en) | 2005-07-25 | 2017-06-27 | Varian Medical Systems International Ag | Methods and apparatus for the planning and delivery of radiation treatments |
US9764159B2 (en) | 2005-07-25 | 2017-09-19 | Varian Medical Systems International Ag | Methods and apparatus for the planning and delivery of radiation treatments |
US9788783B2 (en) | 2005-07-25 | 2017-10-17 | Varian Medical Systems International Ag | Methods and apparatus for the planning and delivery of radiation treatments |
US9687678B2 (en) | 2005-07-25 | 2017-06-27 | Varian Medical Systems International Ag | Methods and apparatus for the planning and delivery of radiation treatments |
US9687674B2 (en) | 2005-07-25 | 2017-06-27 | Varian Medical Systems International Ag | Methods and apparatus for the planning and delivery of radiation treatments |
US11642027B2 (en) | 2005-07-25 | 2023-05-09 | Siemens Healthineers International Ag | Methods and apparatus for the planning and delivery of radiation treatments |
US10773101B2 (en) | 2010-06-22 | 2020-09-15 | Varian Medical Systems International Ag | System and method for estimating and manipulating estimated radiation dose |
US11986671B2 (en) | 2010-06-22 | 2024-05-21 | Siemens Healthineers International Ag | System and method for estimating and manipulating estimated radiation dose |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3230262B2 (en) | Electronic device and fixed information correcting method thereof | |
US20050114561A1 (en) | Method for performing DMA transfers with dynamic descriptor structure | |
JPH06187301A (en) | Virtual processor system and method and device for data transfer processing | |
JP2010517182A (en) | Content end type DMA | |
JP2001229115A (en) | Atapi command processing system | |
JPH1040069A (en) | Method for controlling error of fifo and fifo circuit and network forming device using the same | |
US6718405B2 (en) | Hardware chain pull | |
US7089387B2 (en) | Methods and apparatus for maintaining coherency in a multi-processor system | |
JPH05282248A (en) | Data transferring device, processor element, and data transferring method | |
JP2000003328A (en) | Address reference system for input/output control device | |
US6041369A (en) | Reducing two variables in alternate clock cycles during data transmission for monitoring when a data burst is close to completion | |
JPH02181248A (en) | Direct memory access system | |
JPH08110875A (en) | Main storage controller | |
JPH06348644A (en) | Dma circuit | |
JP2814849B2 (en) | Communication control device | |
JP2853736B2 (en) | Cluster number conversion circuit | |
JPH0818604A (en) | Communication controller | |
JP3242847B2 (en) | Data controller | |
JP2604604B2 (en) | Stack control device | |
JPS5960647A (en) | System for controlling memory access | |
JPH0235541A (en) | Control system for main storage device | |
JPH04360251A (en) | Computer system | |
JPH04369065A (en) | Direct memory access controller | |
JPH07146839A (en) | Dma circuit | |
JPH0355642A (en) | Memory control system |