JPH1040069A - Fifoのエラー制御方法とfifo回路およびそれを用いたネットワーク構成装置 - Google Patents
Fifoのエラー制御方法とfifo回路およびそれを用いたネットワーク構成装置Info
- 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
(57)【要約】
【課題】 ブロックデータの単位データでの同時入出力
を行なうFIFOにおいて発生したエラーが影響するブ
ロックデータを特定することができない。 【解決手段】 ブロックデータの入出力エラー発生時、
同一ブロックデータの入出力中か否かを判別し、Yes
であれば、ブロックデータの入出力を中断して、入力ポ
インタおよび出力ポインタの値を、入出力を中断したブ
ロックデータの先頭の単位データの入力先アドレスに変
更し、また、判別の結果が否で、かつ発生したエラーが
入力エラーであれば、ブロックデータの入力を中断し
て、入力ポインタの値を、入力を中断したブロックデー
タの先頭の単位データの入力先アドレスに変更し、ま
た、判別の結果が否で、かつ発生したエラーが出力エラ
ーであれば、ブロックデータの出力を中断して、出力ポ
インタの値を、出力を中断したブロックデータの最終の
単位データの入力先アドレスを1増加した値に変更す
る。
を行なうFIFOにおいて発生したエラーが影響するブ
ロックデータを特定することができない。 【解決手段】 ブロックデータの入出力エラー発生時、
同一ブロックデータの入出力中か否かを判別し、Yes
であれば、ブロックデータの入出力を中断して、入力ポ
インタおよび出力ポインタの値を、入出力を中断したブ
ロックデータの先頭の単位データの入力先アドレスに変
更し、また、判別の結果が否で、かつ発生したエラーが
入力エラーであれば、ブロックデータの入力を中断し
て、入力ポインタの値を、入力を中断したブロックデー
タの先頭の単位データの入力先アドレスに変更し、ま
た、判別の結果が否で、かつ発生したエラーが出力エラ
ーであれば、ブロックデータの出力を中断して、出力ポ
インタの値を、出力を中断したブロックデータの最終の
単位データの入力先アドレスを1増加した値に変更す
る。
Description
【0001】
【発明の属する技術分野】本発明は、有限の大きさのブ
ロックデータを所定の単位に分割した単位データ毎の入
力中に自ブロックデータもしくは他のブロックデータの
単位データ毎の出力を行なうFIFO(ファイフォ、Fi
rst In First Out)のエラー入出力制御に係り、特に、
入出力エラーに効率良く対処するのに好適なFIFOエ
ラー入出力制御とFIFO回路およびそれを用いたネッ
トワーク構成装置に関するものである。
ロックデータを所定の単位に分割した単位データ毎の入
力中に自ブロックデータもしくは他のブロックデータの
単位データ毎の出力を行なうFIFO(ファイフォ、Fi
rst In First Out)のエラー入出力制御に係り、特に、
入出力エラーに効率良く対処するのに好適なFIFOエ
ラー入出力制御とFIFO回路およびそれを用いたネッ
トワーク構成装置に関するものである。
【0002】
【従来の技術】FIFOは、メモリのアドレスがリング
上になるように、また、メモリに対するデータの先入れ
先出しが可能となるように、ポインタの制御を行なう技
術である。このFIFOでは、有限の大きさを持つブロ
ックデータを、FIFOへの入出力の基本単位となる単
位データ毎に入力し、所定の単位データ数の入力が完了
した時点から、入力順に単位データ毎の出力を行うもの
がある。また、このようなFIFOでは、既に入力され
ているブロックデータの出力が未完了でも、次のブロッ
クデータの入力を行う。
上になるように、また、メモリに対するデータの先入れ
先出しが可能となるように、ポインタの制御を行なう技
術である。このFIFOでは、有限の大きさを持つブロ
ックデータを、FIFOへの入出力の基本単位となる単
位データ毎に入力し、所定の単位データ数の入力が完了
した時点から、入力順に単位データ毎の出力を行うもの
がある。また、このようなFIFOでは、既に入力され
ているブロックデータの出力が未完了でも、次のブロッ
クデータの入力を行う。
【0003】従来、このようなFIFOでは、入力元か
らの入力キャンセルや、FIFOのオーバーフロー、ま
たは入力データの異常など、ブロックデータ入力中の入
力禁止事象、および、出力先からの出力アボードやFI
FOのアンダーフローなどブロックデータ出力中の出力
禁止事象が発生した場合、FIFOから出力中、FIF
Oへの入力中、FIFOへ入力済みの全てのブロックデ
ータは無効化されていた。
らの入力キャンセルや、FIFOのオーバーフロー、ま
たは入力データの異常など、ブロックデータ入力中の入
力禁止事象、および、出力先からの出力アボードやFI
FOのアンダーフローなどブロックデータ出力中の出力
禁止事象が発生した場合、FIFOから出力中、FIF
Oへの入力中、FIFOへ入力済みの全てのブロックデ
ータは無効化されていた。
【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とを設けてなるものである。
なうFIFO回路のエラー制御に係る部分の構成例を示
すブロック図である。本図6に示す従来のFIFOは、
メモリとしてのFIFO本体61、FIFO本体61の
入力ポインタ(図中、「Iptr」と記載)62、FIFO
の出力ポインタ(図中、「Optr」と記載)63と、ブロ
ックデータの先頭の単位データのFIFO本体51上の
アドレスを指す先頭ポインタの情報(ブロック情報)を
ブロックデータ毎に管理するブロック管理テーブル64
と、次に入力する、あるいは入力中のブロックデータに
対応するブロック情報のブロック管理テーブル64上の
アドレスを指す入力ブロック情報ポインタ(図中、「IB
ptr」と記載)65と、出力中のブロックデータに対応
するブロック情報のブロック管理テーブル64上のアド
レスを指す出力ブロック情報ポインタ(図中、「OBpt
r」と記載)66とを設けてなるものである。
【0005】前ブロックデータの入力においては、ブロ
ックデータの先頭単位データがFIFO本体61に入力
された時点で、入力ブロック情報ポインタ65が指すブ
ロック情報の先頭ポインタに、入力ポインタ62の値を
入力する。そして、単位データを入力する毎に入力ポイ
ンタ62を1増加させ、ブロックデータの最終単位デー
タが入力された時点で入力ブロック情報ポインタ65
に、次に入力するブロック情報のブロック管理テーブル
64上のアドレスを設定する。また、既に入力されてい
るブロックデータの出力が未完了でも、次のブロックデ
ータの入力を行なう。
ックデータの先頭単位データがFIFO本体61に入力
された時点で、入力ブロック情報ポインタ65が指すブ
ロック情報の先頭ポインタに、入力ポインタ62の値を
入力する。そして、単位データを入力する毎に入力ポイ
ンタ62を1増加させ、ブロックデータの最終単位デー
タが入力された時点で入力ブロック情報ポインタ65
に、次に入力するブロック情報のブロック管理テーブル
64上のアドレスを設定する。また、既に入力されてい
るブロックデータの出力が未完了でも、次のブロックデ
ータの入力を行なう。
【0006】ブロックデータの通常の出力においては、
出力ブロック情報ポインタ66が指すブロックデータの
所定の単位データ数の入力が完了した時点から、先頭デ
ータ単位の出力を開始し、単位データを出力する毎に出
力ポインタ63を1増加させる。そして、出力ブロック
情報ポインタ66に、最終の単位データが出力された時
点で、次の出力に対応するブロック情報のブロック管理
テーブル64上のアドレスを設定する。
出力ブロック情報ポインタ66が指すブロックデータの
所定の単位データ数の入力が完了した時点から、先頭デ
ータ単位の出力を開始し、単位データを出力する毎に出
力ポインタ63を1増加させる。そして、出力ブロック
情報ポインタ66に、最終の単位データが出力された時
点で、次の出力に対応するブロック情報のブロック管理
テーブル64上のアドレスを設定する。
【0007】このような動作時に、入力キャンセル、F
IFOのオーバーフロー、入力データの異常や、出力ア
ボート、FIFOのアンダーフローなどの入出力エラー
が発生した場合には、入力ポインタ62と出力ポインタ
63とに同じ値を設定し、入力ブロック情報ポインタ6
5と出力ブロック情報ポインタ66とに同じ値を設定
し、FIFO全体を初期化する。このように、従来のF
IFOのエラー制御技術においては、発生したエラーが
影響するブロックデータを特定することに関しては全く
考慮されておらず、発生したエラーが、特定のブロック
データに関するものであった場合でも、FIFO上の全
てのブロックデータを無効化してしまう。
IFOのオーバーフロー、入力データの異常や、出力ア
ボート、FIFOのアンダーフローなどの入出力エラー
が発生した場合には、入力ポインタ62と出力ポインタ
63とに同じ値を設定し、入力ブロック情報ポインタ6
5と出力ブロック情報ポインタ66とに同じ値を設定
し、FIFO全体を初期化する。このように、従来のF
IFOのエラー制御技術においては、発生したエラーが
影響するブロックデータを特定することに関しては全く
考慮されておらず、発生したエラーが、特定のブロック
データに関するものであった場合でも、FIFO上の全
てのブロックデータを無効化してしまう。
【0008】
【発明が解決しようとする課題】解決しようとする問題
点は、従来の技術では、発生したエラーが影響するブロ
ックデータを特定することができない点である。本発明
の目的は、これら従来技術の課題を解決し、発生したエ
ラーに関するブロックデータのみを無効化し、他のブロ
ックデータの入出力に影響を与えないようにすることが
可能なFIFOのエラー制御方法とFIFO回路および
それを用いたネットワーク構成装置を提供することであ
る。
点は、従来の技術では、発生したエラーが影響するブロ
ックデータを特定することができない点である。本発明
の目的は、これら従来技術の課題を解決し、発生したエ
ラーに関するブロックデータのみを無効化し、他のブロ
ックデータの入出力に影響を与えないようにすることが
可能なFIFOのエラー制御方法とFIFO回路および
それを用いたネットワーク構成装置を提供することであ
る。
【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回路を具
備し、通信フレームの入出力エラー発生時、このエラー
の影響を受ける通信フレームを特定して無効化すること
を特徴とする。
め、本発明の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回路を具
備し、通信フレームの入出力エラー発生時、このエラー
の影響を受ける通信フレームを特定して無効化すること
を特徴とする。
【0010】
【発明の実施の形態】本発明においては、有限の大きさ
を持つブロックデータを、FIFOへの入出力の基本単
位となる単位データ毎に入力し、所定の単位データ数の
入力が完了した時点から、入力順に単位データ毎の出力
を行ない、また、既に入力されているブロックデータの
出力が未完了でも、次のブロックデータの入力を行なう
場合に、ブロックデータの入力が完了しているか(入力
完了状態)否か(入力中状態)を示す入力ステータス、
および、ブロックデータの出力が開始されているか(出
力中状態)否か(未出力状態)を示す出力ステータスを
ブロック情報に付加する。
を持つブロックデータを、FIFOへの入出力の基本単
位となる単位データ毎に入力し、所定の単位データ数の
入力が完了した時点から、入力順に単位データ毎の出力
を行ない、また、既に入力されているブロックデータの
出力が未完了でも、次のブロックデータの入力を行なう
場合に、ブロックデータの入力が完了しているか(入力
完了状態)否か(入力中状態)を示す入力ステータス、
および、ブロックデータの出力が開始されているか(出
力中状態)否か(未出力状態)を示す出力ステータスを
ブロック情報に付加する。
【0011】すなわち、ブロックデータの最終単位デー
タが入力された時点で、入力ブロック情報ポインタ(IB
ptr)が指すブロック情報の入力ステータスに、入力完
了状態(Ists(C))を設定し、ブロックデータの先頭デ
ータ単位の出力を開始した時点で、出力ブロック情報ポ
インタ(OBptr)が指すブロック情報の出力ステータス
に出力中状態(Osts(O))を設定し、ブロックデータの
最終単位データが出力された時点で、入力ステータスに
入力中状態(Ists(L))を設定し、出力ステータスに未
出力状態(Osts(W))を設定する。
タが入力された時点で、入力ブロック情報ポインタ(IB
ptr)が指すブロック情報の入力ステータスに、入力完
了状態(Ists(C))を設定し、ブロックデータの先頭デ
ータ単位の出力を開始した時点で、出力ブロック情報ポ
インタ(OBptr)が指すブロック情報の出力ステータス
に出力中状態(Osts(O))を設定し、ブロックデータの
最終単位データが出力された時点で、入力ステータスに
入力中状態(Ists(L))を設定し、出力ステータスに未
出力状態(Osts(W))を設定する。
【0012】そして、入力元からの入力キャンセル、ま
たはFIFOのオーバーフロー、または入力データの異
常など、ブロックデータ入力中の入力禁止事象が発生し
た場合で、入力ブロック情報ポインタ(IBptr)が指す
ブロック情報の出力ステータス(Osts)が未出力状態
(Osts(W))の場合には、ブロックデータの残りの単位
データの入力を中断し、入力ブロック情報ポインタ(IB
ptr)が指すブロック情報の先頭ポインタ(Fptr)の値
を入力ポインタ(Iptr)に設定する。
たはFIFOのオーバーフロー、または入力データの異
常など、ブロックデータ入力中の入力禁止事象が発生し
た場合で、入力ブロック情報ポインタ(IBptr)が指す
ブロック情報の出力ステータス(Osts)が未出力状態
(Osts(W))の場合には、ブロックデータの残りの単位
データの入力を中断し、入力ブロック情報ポインタ(IB
ptr)が指すブロック情報の先頭ポインタ(Fptr)の値
を入力ポインタ(Iptr)に設定する。
【0013】また、入力禁止事象が発生した場合で、入
力ブロック情報ポインタ(IBptr)が指すブロック情報
の出力ステータス(Osts)が出力中状態(Osts(O))の
場合には、ブロックデータの残りの単位データの入力を
中断し、単位データの出力を中断し、入力ブロック情報
ポインタ(IBptr)が指すブロック情報の先頭ポインタ
(Fptr)と入力ポインタ(Iptr)と出力ポインタ(Op
tr)とに同じ値を設定し、入力ブロック情報ポインタ
(IBptr)が指すブロック情報の出力ステータス(Ost
s)に、未出力状態(Osts(W))を設定する。
力ブロック情報ポインタ(IBptr)が指すブロック情報
の出力ステータス(Osts)が出力中状態(Osts(O))の
場合には、ブロックデータの残りの単位データの入力を
中断し、単位データの出力を中断し、入力ブロック情報
ポインタ(IBptr)が指すブロック情報の先頭ポインタ
(Fptr)と入力ポインタ(Iptr)と出力ポインタ(Op
tr)とに同じ値を設定し、入力ブロック情報ポインタ
(IBptr)が指すブロック情報の出力ステータス(Ost
s)に、未出力状態(Osts(W))を設定する。
【0014】また、出力先からの出力アボート、または
FIFOのアンダーフローなど、ブロックデータ出力中
の出力禁止事象が発生した場合で、出力ブロック情報ポ
インタ(OBptr)が指すブロック情報の入力ステータス
(Ists)が入力完了状態(Ists(C))の場合には、単位
データの出力を中断し、出力ブロック情報ポインタ(OB
ptr)が指すブロック情報の出力ステータス(Osts)
に、未出力状態(Osts(W))を設定し、入力ステータス
(Ists)に、入力中状態(Ists(L))を設定し、そし
て、出力ブロック情報ポインタ(OBptr)を1増加さ
せ、その出力ブロック情報ポインタ(OBptr)が指すブ
ロック情報の先頭ポインタ(Fptr)の値を出力ポインタ
(Optr)に設定する。
FIFOのアンダーフローなど、ブロックデータ出力中
の出力禁止事象が発生した場合で、出力ブロック情報ポ
インタ(OBptr)が指すブロック情報の入力ステータス
(Ists)が入力完了状態(Ists(C))の場合には、単位
データの出力を中断し、出力ブロック情報ポインタ(OB
ptr)が指すブロック情報の出力ステータス(Osts)
に、未出力状態(Osts(W))を設定し、入力ステータス
(Ists)に、入力中状態(Ists(L))を設定し、そし
て、出力ブロック情報ポインタ(OBptr)を1増加さ
せ、その出力ブロック情報ポインタ(OBptr)が指すブ
ロック情報の先頭ポインタ(Fptr)の値を出力ポインタ
(Optr)に設定する。
【0015】また、出力禁止事象が発生した場合で、出
力ブロック情報ポインタ(OBptr)が指すブロック情報
の入力ステータス(Ists)が入力中状態(Ists(L))の
場合には、ブロックデータの残りの単位データの入力を
中断し、単位データの出力を中断し、出力ブロック情報
ポインタ(OBptr)が指すブロック情報の先頭ポインタ
(Fptr)と入力ポインタ(Iptr)と出力ポインタ(Opt
r)とに同じ値を設定し、出力ブロック情報ポインタ(O
Bptr)が指すブロック情報の出力ステータス(Osts)
に、未出力状態(Osts(W))を設定する。このような動
作の結果、入出力エラーが影響するブロックデータに特
定したエラー処理となる。
力ブロック情報ポインタ(OBptr)が指すブロック情報
の入力ステータス(Ists)が入力中状態(Ists(L))の
場合には、ブロックデータの残りの単位データの入力を
中断し、単位データの出力を中断し、出力ブロック情報
ポインタ(OBptr)が指すブロック情報の先頭ポインタ
(Fptr)と入力ポインタ(Iptr)と出力ポインタ(Opt
r)とに同じ値を設定し、出力ブロック情報ポインタ(O
Bptr)が指すブロック情報の出力ステータス(Osts)
に、未出力状態(Osts(W))を設定する。このような動
作の結果、入出力エラーが影響するブロックデータに特
定したエラー処理となる。
【0016】以下、このようなFIFOのエラー制御技
術に係る本発明の実施例を、図面により詳細に説明す
る。図1は、本発明のFIFOのエラー制御方法を実行
するFIFO回路の本発明に係る構成の一実施例を示す
ブロック図である。本図1において、1はメモリとして
のFIFO本体、2は入力ポインタ(図中、「Iptr」と
記載)、3は出力ポインタ(図中、「Optr」と記載)、
4はブロック情報管理テーブル、5は入力ブロック情報
ポインタ(図中、「IBptr」と記載)、6は出力ブロッ
ク情報ポインタ(図中、「OBptr」と記載)である。
術に係る本発明の実施例を、図面により詳細に説明す
る。図1は、本発明のFIFOのエラー制御方法を実行
するFIFO回路の本発明に係る構成の一実施例を示す
ブロック図である。本図1において、1はメモリとして
のFIFO本体、2は入力ポインタ(図中、「Iptr」と
記載)、3は出力ポインタ(図中、「Optr」と記載)、
4はブロック情報管理テーブル、5は入力ブロック情報
ポインタ(図中、「IBptr」と記載)、6は出力ブロッ
ク情報ポインタ(図中、「OBptr」と記載)である。
【0017】本例のFIFO回路は、メモリとしてのF
IFO本体1に対するデータの先入れ先出しによる入出
力を、入力ポインタ2および出力ポインタ3を用いてア
ドレスを環構造で指定して行なうと共に、有限の大きさ
のブロックデータを所定の単位に分割した単位データ毎
の入力中に、自ブロックデータもしくは他のブロックデ
ータの単位データ毎の出力を行なうものであり、入力ポ
インタ2は、FIFO本体1の入力先アドレスを指し、
この入力ポインタ2が指すアドレス単位でブロックデー
タの各単位データがFIFO本体1に格納される。ま
た、出力ポインタ3は、FIFO本体1の出力先アドレ
スを指し、この出力ポインタ3が指すアドレス単位でブ
ロックデータの各単位データがFIFO本体1から転送
される。
IFO本体1に対するデータの先入れ先出しによる入出
力を、入力ポインタ2および出力ポインタ3を用いてア
ドレスを環構造で指定して行なうと共に、有限の大きさ
のブロックデータを所定の単位に分割した単位データ毎
の入力中に、自ブロックデータもしくは他のブロックデ
ータの単位データ毎の出力を行なうものであり、入力ポ
インタ2は、FIFO本体1の入力先アドレスを指し、
この入力ポインタ2が指すアドレス単位でブロックデー
タの各単位データがFIFO本体1に格納される。ま
た、出力ポインタ3は、FIFO本体1の出力先アドレ
スを指し、この出力ポインタ3が指すアドレス単位でブ
ロックデータの各単位データがFIFO本体1から転送
される。
【0018】本発明に係るブロック情報管理テーブル4
は、先頭単位データのFIFO本体1上のアドレスを指
す先頭ポインタ(Fptr)と、ブロックデータの入力が完
了している(入力完了状態Ists(C))か否か(入力中状
態Ists(L))を示す入力ステータス(Ists)と、ブロッ
クデータの出力が開始されている(出力中状態Osts
(O))か否か(未出力状態Osts(W))を示す出力ステ
ータス(Osts)からなるブロック情報を、ブロックデー
タ毎に登録して管理する。入力ブロック情報ポインタ5
は、次に入力する、あるいは入力中ブロックデータに対
応するブロック情報のブロック情報管理テーブル4上の
アドレスを指す。出力ブロック情報ポインタ6は、出力
中のブロックデータに対応するブロック情報のブロック
情報管理テーブル4上のアドレスを指す。
は、先頭単位データのFIFO本体1上のアドレスを指
す先頭ポインタ(Fptr)と、ブロックデータの入力が完
了している(入力完了状態Ists(C))か否か(入力中状
態Ists(L))を示す入力ステータス(Ists)と、ブロッ
クデータの出力が開始されている(出力中状態Osts
(O))か否か(未出力状態Osts(W))を示す出力ステ
ータス(Osts)からなるブロック情報を、ブロックデー
タ毎に登録して管理する。入力ブロック情報ポインタ5
は、次に入力する、あるいは入力中ブロックデータに対
応するブロック情報のブロック情報管理テーブル4上の
アドレスを指す。出力ブロック情報ポインタ6は、出力
中のブロックデータに対応するブロック情報のブロック
情報管理テーブル4上のアドレスを指す。
【0019】このような構成によるFIFO回路の本発
明に係るエラー制御方法の説明を、図2〜図4を用いて
説明する。図2は、図1におけるFIFO回路のブロッ
クデータ入力時の本発明に係る動作例を示すフローチャ
ートであり、図3は、ブロックデータ出力時の本発明に
係る動作例を示すフローチャートであり、図4は、エラ
ー発生時の本発明に係る動作例を示すフローチャートで
ある。
明に係るエラー制御方法の説明を、図2〜図4を用いて
説明する。図2は、図1におけるFIFO回路のブロッ
クデータ入力時の本発明に係る動作例を示すフローチャ
ートであり、図3は、ブロックデータ出力時の本発明に
係る動作例を示すフローチャートであり、図4は、エラ
ー発生時の本発明に係る動作例を示すフローチャートで
ある。
【0020】図2に示すように、ブロックデータの入力
処理では、まず、入力した単位データがブロックデータ
の先頭の場合には(ステップ201)、入力ブロック情
報ポインタ(IBptr)が指すブロック情報管理テーブル
上のブロック情報の先頭ポインタ(Fptr)に、入力ポイ
ンタ(Iptr)の値を入力し(ステップ202)、入力ポ
インタ(Iptr)を1増加させる(ステップ203)。ま
た、ステップ201において、入力した単位データがブ
ロックデータの途中の場合には、そのままステップ20
3に進み、単に、入力ポインタ(Iptr)を1増加させ
る。
処理では、まず、入力した単位データがブロックデータ
の先頭の場合には(ステップ201)、入力ブロック情
報ポインタ(IBptr)が指すブロック情報管理テーブル
上のブロック情報の先頭ポインタ(Fptr)に、入力ポイ
ンタ(Iptr)の値を入力し(ステップ202)、入力ポ
インタ(Iptr)を1増加させる(ステップ203)。ま
た、ステップ201において、入力した単位データがブ
ロックデータの途中の場合には、そのままステップ20
3に進み、単に、入力ポインタ(Iptr)を1増加させ
る。
【0021】そして、ステップ201において、入力し
た単位データがブロックデータの最終の場合、本発明に
係る動作として入力ブロック情報ポインタ(IBptr)が
指すブロック情報の入力ステータス(Ists)に入力完了
状態(C)を設定し(ステップ204)、その後、従来
通り、入力ブロック情報ポインタ(IBptr)を1増加さ
せて次に入力するブロック情報のブロック情報管理テー
ブル上のアドレスを設定し(ステップ205)、ステッ
プ203に進み、入力ポインタ(Iptr)を1増加させ
る。
た単位データがブロックデータの最終の場合、本発明に
係る動作として入力ブロック情報ポインタ(IBptr)が
指すブロック情報の入力ステータス(Ists)に入力完了
状態(C)を設定し(ステップ204)、その後、従来
通り、入力ブロック情報ポインタ(IBptr)を1増加さ
せて次に入力するブロック情報のブロック情報管理テー
ブル上のアドレスを設定し(ステップ205)、ステッ
プ203に進み、入力ポインタ(Iptr)を1増加させ
る。
【0022】次に、図3に示すように、ブロックデータ
の出力処理では、まず、出力する単位データがブロック
データの先頭の場合(ステップ301)、本発明に係る
動作として出力ブロック情報ポインタ(OBptr)が指す
ブロック情報管理テーブル上のブロック情報の出力ステ
ータス(Osts)に、出力中状態(O)を設定し(ステッ
プ302)、出力ポインタ(Optr)を1増加させる(ス
テップ303)。また、ステップ301において、出力
する単位データがブロックデータの途中の場合、そのま
まステップ303に進み、単に、出力ポインタ(Optr)
を1増加させる。
の出力処理では、まず、出力する単位データがブロック
データの先頭の場合(ステップ301)、本発明に係る
動作として出力ブロック情報ポインタ(OBptr)が指す
ブロック情報管理テーブル上のブロック情報の出力ステ
ータス(Osts)に、出力中状態(O)を設定し(ステッ
プ302)、出力ポインタ(Optr)を1増加させる(ス
テップ303)。また、ステップ301において、出力
する単位データがブロックデータの途中の場合、そのま
まステップ303に進み、単に、出力ポインタ(Optr)
を1増加させる。
【0023】そして、ステップ301において、出力す
る単位データがブロックデータの最終の場合、本発明に
係る動作として入力ステータス(Ists)に入力中状態
(I)を設定し(ステップ304)、かつ、出力ステー
タス(Osts)に未出力状態(W)を設定し(ステップ3
05)、その後、出力ブロック情報ポインタ(OBptr)
を1増加させて次の出力に対応するブロック情報管理テ
ーブル4上のアドレスを設定し(ステップ306)、ス
テップ303に進み、出力ポインタ(Optr)を1増加さ
せる。
る単位データがブロックデータの最終の場合、本発明に
係る動作として入力ステータス(Ists)に入力中状態
(I)を設定し(ステップ304)、かつ、出力ステー
タス(Osts)に未出力状態(W)を設定し(ステップ3
05)、その後、出力ブロック情報ポインタ(OBptr)
を1増加させて次の出力に対応するブロック情報管理テ
ーブル4上のアドレスを設定し(ステップ306)、ス
テップ303に進み、出力ポインタ(Optr)を1増加さ
せる。
【0024】このようなブロックデータの入出力に伴う
ポインタやステータスの管理制御状態において、エラー
処理が発生した場合、図4に示すように、発生したエラ
ーの種類に対応して処理を行なう。すなわち、まず、入
力元からの入力キャンセルやFIFO100のオーバー
ブロー、あるいは、入力データの異常など、エラーが、
入力中のブロックデータに起因する場合で(ステップ4
01)、かつ、入力ブロック情報ポインタ(IBptr)が
指すブロック情報の出力ステータス(Osts)が未出力状
態(W)の場合には(ステップ402)、ブロックデー
タの残りの単位データの入力を中断し(ステップ40
3)、入力ブロック情報ポインタ(IBptr)が指すブロ
ック情報の先頭ポインタ(Fptr)の値を入力ポインタ
(Iptr)に設定する(ステップ404)。
ポインタやステータスの管理制御状態において、エラー
処理が発生した場合、図4に示すように、発生したエラ
ーの種類に対応して処理を行なう。すなわち、まず、入
力元からの入力キャンセルやFIFO100のオーバー
ブロー、あるいは、入力データの異常など、エラーが、
入力中のブロックデータに起因する場合で(ステップ4
01)、かつ、入力ブロック情報ポインタ(IBptr)が
指すブロック情報の出力ステータス(Osts)が未出力状
態(W)の場合には(ステップ402)、ブロックデー
タの残りの単位データの入力を中断し(ステップ40
3)、入力ブロック情報ポインタ(IBptr)が指すブロ
ック情報の先頭ポインタ(Fptr)の値を入力ポインタ
(Iptr)に設定する(ステップ404)。
【0025】ステップ402において、入力ブロック情
報ポインタ(IBptr)が指すブロック情報の出力ステー
タス(Osts)が出力中状態(O)の場合、すなわち、同
一のブロックデータの入出力中であれば、ブロックデー
タの残りの単位データの入力を中断すると共に(ステッ
プ405)、単位データの出力を中断し(ステップ40
6)、入力ブロック情報ポインタ(IBptr)(この場
合、IBptr=OBptrである)が指すブロック情報の先頭ポ
インタ(Fptr)の値を、入力ポインタ(Iptr)と出力ポ
インタ(Optr)とに設定し(ステップ407)、入力ブ
ロック情報ポインタ(IBptr=OBptr)が指すブロック情
報の出力ステータス(Osts)に、未出力状態(W)を設
定する(ステップ408)。
報ポインタ(IBptr)が指すブロック情報の出力ステー
タス(Osts)が出力中状態(O)の場合、すなわち、同
一のブロックデータの入出力中であれば、ブロックデー
タの残りの単位データの入力を中断すると共に(ステッ
プ405)、単位データの出力を中断し(ステップ40
6)、入力ブロック情報ポインタ(IBptr)(この場
合、IBptr=OBptrである)が指すブロック情報の先頭ポ
インタ(Fptr)の値を、入力ポインタ(Iptr)と出力ポ
インタ(Optr)とに設定し(ステップ407)、入力ブ
ロック情報ポインタ(IBptr=OBptr)が指すブロック情
報の出力ステータス(Osts)に、未出力状態(W)を設
定する(ステップ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)。
らの出力アボート、またはFIFO100のアンダーブ
ローなど、エラーが、出力中のブロックデータに起因す
る場合であれば、ステップ409の判別処理を行なう。
ここで、出力ブロック情報ポインタ(OBptr)が指すブ
ロック情報の入力ステータス(Ists)が入力完了状態
(C)の場合には、単位データの出力を中断し(ステッ
プ410)、出力ブロック情報ポインタ(OBptr)が指
すブロック情報の出力ステータス(Osts)に、未出力状
態(W)を設定し(ステップ411)、入力ステータス
(Ists)に、入力中状態(I)を設定し(ステップ41
2)、出力ブロック情報ポインタ(OBptr)を1増加さ
せ(ステップ413)、その出力ブロック情報ポインタ
(OBptr)が指すブロック情報の先頭ポインタ(Fptr)
の値を出力ポインタ(Optr)に設定する(ステップ41
4)。
【0027】また、ステップ409において、出力ブロ
ック情報ポインタ(OBptr)が指すブロック情報の入力
ステータス(Ists)が入力中状態(I)の場合には、前
述のステップ405以下の処理を行なう。すなわち、ス
テップ405において、ブロックデータの残りの単位デ
ータの入力を中断し、ステップ406において、単位デ
ータの出力を中断し、ステップ407において、出力ブ
ロック情報ポインタ(OBptr=IBptrである)が指すブロ
ック情報の先頭ポインタ(Fptr)の値を入力ポインタ
(Iptr)と出力ポインタ(Optr)とに設定し、ステップ
408において、出力ブロック情報ポインタ(OBptr=I
Bptrである)が指すブロック情報の出力ステータス(Os
ts)に、未出力状態(W)を設定する。
ック情報ポインタ(OBptr)が指すブロック情報の入力
ステータス(Ists)が入力中状態(I)の場合には、前
述のステップ405以下の処理を行なう。すなわち、ス
テップ405において、ブロックデータの残りの単位デ
ータの入力を中断し、ステップ406において、単位デ
ータの出力を中断し、ステップ407において、出力ブ
ロック情報ポインタ(OBptr=IBptrである)が指すブロ
ック情報の先頭ポインタ(Fptr)の値を入力ポインタ
(Iptr)と出力ポインタ(Optr)とに設定し、ステップ
408において、出力ブロック情報ポインタ(OBptr=I
Bptrである)が指すブロック情報の出力ステータス(Os
ts)に、未出力状態(W)を設定する。
【0028】以上、図2〜図4で説明した手順により、
入出力エラーに係るブロックデータのみに対応したエラ
ー処理を行なうことができる。次に、このような手順に
よりエラー制御を行なうFIFO回路を、ルーターやゲ
ートウェイに代表されるLAN間接続装置などのネット
ワーク構成装置に適用した例を説明する。
入出力エラーに係るブロックデータのみに対応したエラ
ー処理を行なうことができる。次に、このような手順に
よりエラー制御を行なうFIFO回路を、ルーターやゲ
ートウェイに代表されるLAN間接続装置などのネット
ワーク構成装置に適用した例を説明する。
【0029】図5は、本発明のFIFO回路およびそれ
を具備したネットワーク構成装置の構成例を示すブロッ
ク図である。本例は、ブロックデータをコンピュータ間
の通信フレームとしてとらえ、本発明のFIFO回路を
ネットワーク構成装置に適用したものであり、本例のネ
ットワーク構成装置はLAN(Local Area Network、ロ
ーカルエリアネットワーク)間の接続制御を行なうルー
ターである。
を具備したネットワーク構成装置の構成例を示すブロッ
ク図である。本例は、ブロックデータをコンピュータ間
の通信フレームとしてとらえ、本発明のFIFO回路を
ネットワーク構成装置に適用したものであり、本例のネ
ットワーク構成装置はLAN(Local Area Network、ロ
ーカルエリアネットワーク)間の接続制御を行なうルー
ターである。
【0030】本図5において、50は本発明に係るFI
FO回路、51はFIFO本体としてのメモリ、52は
メモリ51への通信フレームの入力制御を行なう入力
部、53はメモリ51からの通信フレームの出力制御を
行なう出力部、54はFIFO回路50の全体動作制御
を行なうFIFO制御部、55は本発明に係るエラー検
知・判別部、56は本発明に係るエラー制御を行なうエ
ラー処理部、57はFIFO回路50による通信フレー
ムの先入れ先出し処理およびルーターとしてのLAN間
の接続制御を含む装置全体の制御を行なう主制御部であ
る。
FO回路、51はFIFO本体としてのメモリ、52は
メモリ51への通信フレームの入力制御を行なう入力
部、53はメモリ51からの通信フレームの出力制御を
行なう出力部、54はFIFO回路50の全体動作制御
を行なうFIFO制御部、55は本発明に係るエラー検
知・判別部、56は本発明に係るエラー制御を行なうエ
ラー処理部、57はFIFO回路50による通信フレー
ムの先入れ先出し処理およびルーターとしてのLAN間
の接続制御を含む装置全体の制御を行なう主制御部であ
る。
【0031】FIFO制御部54は、図1における構成
からなり、入力部52と出力部53による通信フレーム
の入出力制御に伴い、図2,図3で示した手順により、
通信フレームの単位データ毎の先入れ先出し処理を行な
う。そして、エラー検知・判別部55は、入力部52お
よび出力部53による通信フレームの入出力制御時にお
けるエラーの発生を検知すると共に、このエラーの発生
時に入力部52および出力部53で同一の通信フレーム
に対して入出力を行なっているか否かを判別し、エラー
処理部55は、エラー検知・判別部55の判別結果に基
づき、図4で示した手順によりエラー制御を行なう。
からなり、入力部52と出力部53による通信フレーム
の入出力制御に伴い、図2,図3で示した手順により、
通信フレームの単位データ毎の先入れ先出し処理を行な
う。そして、エラー検知・判別部55は、入力部52お
よび出力部53による通信フレームの入出力制御時にお
けるエラーの発生を検知すると共に、このエラーの発生
時に入力部52および出力部53で同一の通信フレーム
に対して入出力を行なっているか否かを判別し、エラー
処理部55は、エラー検知・判別部55の判別結果に基
づき、図4で示した手順によりエラー制御を行なう。
【0032】すなわち、エラー処理部55は、エラー検
知・判別回路55の判別の結果、同一通信フレームの入
出力中であれば、通信フレームの入出力を中断して、入
力ポインタおよび出力ポインタの値を、入出力を中断し
た通信フレームの先頭の単位データの入力先アドレスに
変更する。また、エラー検知・判別回路55の判別の結
果が否であり、かつ、発生したエラーが入力部52の入
力制御に伴うエラーであれば、通信フレームの入力を中
断して、入力ポインタの値を、入力を中断した通信フレ
ームの先頭の単位データの入力先アドレスに変更する。
また、エラー検知・判別回路55の判別の結果が否であ
り、かつ、発生したエラーが出力部53の出力制御に伴
うエラーであれば、通信フレームの出力を中断して、出
力ポインタの値を、出力を中断した通信フレームの最終
の単位データの入力先アドレスを1増加した値に変更す
る。
知・判別回路55の判別の結果、同一通信フレームの入
出力中であれば、通信フレームの入出力を中断して、入
力ポインタおよび出力ポインタの値を、入出力を中断し
た通信フレームの先頭の単位データの入力先アドレスに
変更する。また、エラー検知・判別回路55の判別の結
果が否であり、かつ、発生したエラーが入力部52の入
力制御に伴うエラーであれば、通信フレームの入力を中
断して、入力ポインタの値を、入力を中断した通信フレ
ームの先頭の単位データの入力先アドレスに変更する。
また、エラー検知・判別回路55の判別の結果が否であ
り、かつ、発生したエラーが出力部53の出力制御に伴
うエラーであれば、通信フレームの出力を中断して、出
力ポインタの値を、出力を中断した通信フレームの最終
の単位データの入力先アドレスを1増加した値に変更す
る。
【0033】以上、図1〜図5を用いて説明したよう
に、本実施例のFIFO回路およびそれを用いたネット
ワーク構成装置によるFIFOのエラー制御方法では、
ブロックデータ(通信フレーム)毎に、先頭の単位デー
タのアドレス、および、入力ステータス(Ists)と出力
ステータス(Osts)を、ブロック情報として管理し、そ
れを用いたエラー制御を行なうことで、通信フレームの
入出力エラー発生時、このエラーの影響を受ける通信フ
レームを特定して無効化する。このように、発生したエ
ラーが、特定のブロックデータに関するものであった場
合、FIFO上の全てのブロックデータを無効化してし
まうことなく、発生したエラーに関係するブロックデー
タのみを無効化するので、他のブロックデータの入出力
に影響を与えないようにすることができる。
に、本実施例のFIFO回路およびそれを用いたネット
ワーク構成装置によるFIFOのエラー制御方法では、
ブロックデータ(通信フレーム)毎に、先頭の単位デー
タのアドレス、および、入力ステータス(Ists)と出力
ステータス(Osts)を、ブロック情報として管理し、そ
れを用いたエラー制御を行なうことで、通信フレームの
入出力エラー発生時、このエラーの影響を受ける通信フ
レームを特定して無効化する。このように、発生したエ
ラーが、特定のブロックデータに関するものであった場
合、FIFO上の全てのブロックデータを無効化してし
まうことなく、発生したエラーに関係するブロックデー
タのみを無効化するので、他のブロックデータの入出力
に影響を与えないようにすることができる。
【0034】尚、本発明は、図1〜図5を用いて説明し
た実施例に限定されるものではなく、その要旨を逸脱し
ない範囲において種々変更可能である。例えば、上述の
実施例においては、ブロックデータの先頭単位データを
入力した時点で、先頭ポインタ(Fptr)に、入力ポイン
タ(Iptr)の値を設定するようにしているが、これは、
前のブロックデータの入力が完了した時点で、先頭ポイ
ンタ(Fptr)に、「入力ポインタ+1」の値を設定する
ことも可能である。
た実施例に限定されるものではなく、その要旨を逸脱し
ない範囲において種々変更可能である。例えば、上述の
実施例においては、ブロックデータの先頭単位データを
入力した時点で、先頭ポインタ(Fptr)に、入力ポイン
タ(Iptr)の値を設定するようにしているが、これは、
前のブロックデータの入力が完了した時点で、先頭ポイ
ンタ(Fptr)に、「入力ポインタ+1」の値を設定する
ことも可能である。
【0035】また、同様に、入力ステータス(Ists)
を、入力完了状態から入力中状態へ変更するタイミング
や、出力ステータス(Osts)を、出力中状態から未出力
状態へ変更するタイミングも、上述の実施例と異なるタ
イミングで行なうことも可能である。すなわち、これら
の変更は、ブロック情報の初期化であり、次にそのブロ
ック情報を利用するときまでに、その初期化が完了して
いれば良い。
を、入力完了状態から入力中状態へ変更するタイミング
や、出力ステータス(Osts)を、出力中状態から未出力
状態へ変更するタイミングも、上述の実施例と異なるタ
イミングで行なうことも可能である。すなわち、これら
の変更は、ブロック情報の初期化であり、次にそのブロ
ック情報を利用するときまでに、その初期化が完了して
いれば良い。
【0036】また、図2〜図4における実施例では、図
1におけるブロック情報管理テーブル4の入力ステータ
ス(Ists)と出力ステータス(Osts)の状態に基づき、
入出力エラー発生時に同一のブロックデータが入出力中
であるか否かの判別を行なっているが、図1における入
力ブロック情報ポインタ(IBptr)5と出力ブロック情
報ポインタ(OBptr)6との値が一致するか否かによっ
て、同様な判別を行なうことでも良い。また、図5で示
した実施例では、ネットワーク構成装置として、ルータ
ーを例に説明したが、ハブ等の他のネットワーク機器に
も適用できる。
1におけるブロック情報管理テーブル4の入力ステータ
ス(Ists)と出力ステータス(Osts)の状態に基づき、
入出力エラー発生時に同一のブロックデータが入出力中
であるか否かの判別を行なっているが、図1における入
力ブロック情報ポインタ(IBptr)5と出力ブロック情
報ポインタ(OBptr)6との値が一致するか否かによっ
て、同様な判別を行なうことでも良い。また、図5で示
した実施例では、ネットワーク構成装置として、ルータ
ーを例に説明したが、ハブ等の他のネットワーク機器に
も適用できる。
【0037】
【発明の効果】本発明によれば、発生したエラーが影響
するブロックデータを特定することができ、エラーが発
生した場合、発生したエラーに関するブロックデータの
みを無効化し、他のブロックデータの入出力に影響を与
えないようにすることができ、入出力エラーに効率良く
対処することが可能である。
するブロックデータを特定することができ、エラーが発
生した場合、発生したエラーに関するブロックデータの
みを無効化し、他のブロックデータの入出力に影響を与
えないようにすることができ、入出力エラーに効率良く
対処することが可能である。
【図1】本発明のFIFOのエラー制御方法を実行する
FIFO回路の本発明に係る構成の一実施例を示すブロ
ック図である。
FIFO回路の本発明に係る構成の一実施例を示すブロ
ック図である。
【図2】図1におけるFIFO回路のブロックデータ入
力時の本発明に係る動作例を示すフローチャートであ
る。
力時の本発明に係る動作例を示すフローチャートであ
る。
【図3】図1におけるFIFO回路のブロックデータ出
力時の本発明に係る動作例を示すフローチャートであ
る。
力時の本発明に係る動作例を示すフローチャートであ
る。
【図4】図1におけるFIFO回路のエラー発生時の本
発明に係る動作例を示すフローチャートである。
発明に係る動作例を示すフローチャートである。
【図5】本発明のFIFO回路およびそれを具備したネ
ットワーク構成装置の構成例を示すブロック図である。
ットワーク構成装置の構成例を示すブロック図である。
【図6】従来のFIFOのエラー制御を行なうFIFO
回路のエラー制御に係る部分の構成例を示すブロック図
である。
回路のエラー制御に係る部分の構成例を示すブロック図
である。
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:出力ブロック情報ポインタ。
タ、4:ブロック情報管理テーブル、5:入力ブロック
情報ポインタ、6:出力ブロック情報ポインタ、50:
FIFO回路、51:メモリ、52:入力部、53:出
力部、54:FIFO制御部、55:エラー検知・判別
部、56:エラー処理部、57:主制御部、61:FI
FO本体、62:入力ポインタ、63:出力ポインタ、
64:ブロック情報管理テーブル、65:入力ブロック
情報ポインタ、66:出力ブロック情報ポインタ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 村主 俊彦 東京都新宿区西新宿三丁目19番2号 日本 電信電話株式会社内
Claims (9)
- 【請求項1】 メモリに対するデータの先入れ先出しに
よる入出力を、入力ポインタおよび出力ポインタを用い
てアドレスを環構造で指定して行なうと共に、有限の大
きさのブロックデータを所定の単位に分割した単位デー
タ毎の入力中に、自ブロックデータもしくは他のブロッ
クデータの単位データ毎の出力を行なうFIFOのエラ
ー制御方法であって、上記ブロックデータの入出力エラ
ー発生時、同一ブロックデータの入出力中であるか否か
を判別し、該判別の結果、同一ブロックデータの入出力
中であれば、上記ブロックデータの入出力を中断して、
上記入力ポインタおよび上記出力ポインタの値を、上記
入出力を中断したブロックデータの先頭の単位データの
入力先アドレスに変更し、上記判別の結果が否であり、
かつ、上記発生したエラーが入力エラーであれば、上記
ブロックデータの入力を中断して、上記入力ポインタの
値を、上記入力を中断したブロックデータの先頭の単位
データの入力先アドレスに変更し、上記判別の結果が否
であり、かつ、上記発生したエラーが出力エラーであれ
ば、上記ブロックデータの出力を中断して、上記出力ポ
インタの値を、上記出力を中断したブロックデータの最
終の単位データの入力先アドレスを1増加した値に変更
することを特徴とするFIFOのエラー制御方法。 - 【請求項2】 請求項1に記載のFIFOのエラー制御
方法において、上記ブロックデータの入出力エラー発生
時、入力中のブロックデータと出力中のブロックデータ
があり、各々のブロックデータの入力時に予め設定され
たそれぞれの先頭の単位データの入力先アドレスがそれ
ぞれ一致すれば、上記同一ブロックデータの入出力中で
あると判別することを特徴とするFIFOのエラー制御
方法。 - 【請求項3】 請求項1に記載のFIFOのエラー制御
方法において、上記ブロックデータの入力完了時点で入
力完了情報を、上記ブロックデータの出力中に出力中情
報を、それぞれ、上記ブロックデータに対応付けて設定
し、上記発生したエラーが入力エラーで、該入力エラー
の発生時に入力していたブロックデータに対応して上記
出力中情報が設定されていれば、もしくは、上記発生し
たエラーが出力エラーで、該出力エラーの発生時に出力
していたブロックデータに対応して上記入力完了情報が
設定されていれば、上記同一ブロックデータの入出力中
であると判別することを特徴とするFIFOのエラー制
御方法。 - 【請求項4】 請求項3に記載のFIFOのエラー制御
方法において、上記入力完了情報および上記出力中情報
を、上記ブロックデータの先頭の単位データの入力先ア
ドレスに対応付けて設定することを特徴とするFIFO
のエラー制御方法。 - 【請求項5】 メモリに対するデータの先入れ先出しに
よる入出力を、入力ポインタおよび出力ポインタを用い
てアドレスを環構造で指定して行なうと共に、有限の大
きさのブロックデータを所定の単位に分割した単位デー
タ毎の入力中に、自ブロックデータもしくは他のブロッ
クデータの単位データ毎の出力を行なう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のエラー制御方法。 - 【請求項6】 メモリに対するデータの先入れ先出しに
よる入出力を、入力ポインタおよび出力ポインタを用い
てアドレスを環構造で指定して行なうと共に、有限の大
きさのブロックデータを所定の単位に分割した単位デー
タ毎の入力中に、自ブロックデータもしくは他のブロッ
クデータの単位データ毎の出力を行なうFIFO回路で
あって、上記ブロックデータの入出力エラー発生時、同
一ブロックデータの入出力中であるか否かを判別する手
段と、該判別の結果、同一ブロックデータの入出力中で
あれば、上記ブロックデータの入出力を中断して、上記
入力ポインタおよび上記出力ポインタの値を、上記入出
力を中断したブロックデータの先頭の単位データの入力
先アドレスに変更し、上記判別の結果が否であり、か
つ、上記発生したエラーが入力エラーであれば、上記ブ
ロックデータの入力を中断して、上記入力ポインタの値
を、上記入力を中断したブロックデータの先頭の単位デ
ータの入力先アドレスに変更し、上記判別の結果が否で
あり、かつ、上記発生したエラーが出力エラーであれ
ば、上記ブロックデータの出力を中断して、上記出力ポ
インタの値を、上記出力を中断したブロックデータの最
終の単位データの入力先アドレスを1増加した値に変更
する手段とを少なくとも有し、上記ブロックデータの入
出力エラー発生時、該エラーの影響を受けるブロックデ
ータを特定して無効化することを特徴とするFIFO回
路。 - 【請求項7】 メモリに対するデータの先入れ先出しに
よる入出力を、入力ポインタおよび出力ポインタを用い
てアドレスを環構造で指定して行なうと共に、有限の大
きさのブロックデータを所定の単位に分割した単位デー
タ毎の入力中に、自ブロックデータもしくは他のブロッ
クデータの単位データ毎の出力を行なうFIFO回路で
あって、各ブロックデータの各々の先頭の単位データの
入力時に上記入力ポインタが指すアドレスを登録すると
共に、該登録した各アドレスに対応して、上記各先頭の
単位データを含むブロックデータを最終の単位データま
で入力完了したことを示す入力完了状態情報、および、
上記各先頭の単位データを含むブロックデータを出力中
であることを示す出力中状態情報を設定するテーブル
と、上記ブロックデータの入力中であれば該入力中の、
入力中でなければ次に入力するブロックデータの上記入
力ポインタが指すアドレスの上記テーブル上の登録位置
を指す入力情報ポインタと、出力中の上記ブロックデー
タの上記出力ポインタが指すアドレスの上記テーブル上
の登録位置を指す出力情報ポインタとを少なくとも有
し、入力中の上記ブロックデータの最終の単位データの
入力完了時、上記入力情報ポインタが指す上記テーブル
上の上記アドレスに対応して、上記入力完了状態情報を
設定し、出力中の上記ブロックデータの先頭の単位デー
タの出力開始時、上記出力情報ポインタが指す上記テー
ブル上の上記アドレスに対応して、上記出力中状態情報
を設定し、上記出力中のブロックデータの最終の単位デ
ータの出力完了時、上記出力情報ポインタが指す上記テ
ーブル上の上記アドレスに対応して設定してある上記入
力完了状態情報および上記出力中状態情報を解除し、上
記ブロックデータの入出力エラー発生時、上記入力情報
ポインタと上記出力情報ポインタのそれぞれが指す上記
テーブル上の各アドレスが同じであるか否かにより、上
記エラー発生時に、同一ブロックデータの入出力中であ
るか否かを判別し、該判別の結果、上記各アドレスが同
じで、同一ブロックデータの入出力中であれば、上記ブ
ロックデータの入出力を中断して、上記入力情報ポイン
タおよび上記出力情報ポインタが共に指す上記テーブル
上のアドレスに、上記入力ポインタおよび上記出力ポイ
ンタの値を変更し、上記判別の結果、上記各アドレスが
異なり、かつ、上記発生したエラーが入力エラーであれ
ば、上記ブロックデータの入力を中断して、上記入力情
報ポインタが指す上記テーブル上のアドレスに、上記入
力ポインタの値を変更し、上記判別の結果、上記各アド
レスが異なり、かつ、上記発生したエラーが出力エラー
であれば、上記ブロックデータの出力を中断して、上記
出力情報ポインタの値を1増加し、該1増加した上記出
力情報ポインタが指す上記テーブル上のアドレスに、上
記出力ポインタの値を変更することにより、上記ブロッ
クデータの入出力エラー発生時、該エラーの影響を受け
るブロックデータを特定して無効化することを特徴とす
るFIFO回路。 - 【請求項8】 メモリに対するデータの先入れ先出しに
よる入出力を、入力ポインタおよび出力ポインタを用い
てアドレスを環構造で指定して行なうと共に、有限の大
きさのブロックデータを所定の単位に分割した単位デー
タ毎の入力中に、自ブロックデータもしくは他のブロッ
クデータの単位データ毎の出力を行なうFIFO回路で
あって、各ブロックデータの各々の先頭の単位データの
入力時に上記入力ポインタが指すアドレスを登録すると
共に、該登録した各アドレスに対応して、上記各先頭の
単位データを含むブロックデータを最終の単位データま
で入力完了したことを示す入力完了状態情報、および、
上記各先頭の単位データを含むブロックデータを出力中
であることを示す出力中状態情報を設定するテーブル
と、上記ブロックデータの入力中であれば該入力中の、
入力中でなければ次に入力するブロックデータの上記入
力ポインタが指すアドレスの上記テーブル上の登録位置
を指す入力情報ポインタと、出力中の上記ブロックデー
タの上記出力ポインタが指すアドレスの上記テーブル上
の登録位置を指す出力情報ポインタとを少なくとも有
し、入力中の上記ブロックデータの最終の単位データの
入力完了時、上記入力情報ポインタが指す上記テーブル
上の上記アドレスに対応して、上記入力完了状態情報を
設定し、出力中の上記ブロックデータの先頭の単位デー
タの出力開始時、上記出力情報ポインタが指す上記テー
ブル上の上記アドレスに対応して、上記出力中状態情報
を設定し、上記出力中のブロックデータの最終の単位デ
ータの出力完了時、上記出力情報ポインタが指す上記テ
ーブル上の上記アドレスに対応して設定してある上記入
力完了状態情報および上記出力中状態情報を解除し、上
記ブロックデータの入力エラー発生時には、上記入力情
報ポインタが指す上記テーブル上のアドレスに対応して
上記出力中状態情報が設定されていか否かにより、上記
ブロックデータの出力エラー発生時には、上記出力情報
ポインタが指す上記テーブル上のアドレスに対応して上
記入力完了状態情報が設定されているか否かにより、上
記エラー発生時に同一ブロックデータを入出力中である
か否かを判別し、該判別の結果、同一ブロックデータの
入出力中であれば、上記ブロックデータの入出力を中断
して、上記入力情報ポインタおよび上記出力情報ポイン
タが共に指す上記テーブル上のアドレスに、上記入力ポ
インタおよび上記出力ポインタの値を変更し、上記発生
したエラーが入力エラーで、かつ、上記判別の結果、同
一ブロックデータの入出力中でなければ、上記ブロック
データの入力を中断して、上記入力情報ポインタが指す
上記テーブル上のアドレスに、上記入力ポインタの値を
変更し、上記発生したエラーが出力エラーで、かつ、上
記判別の結果、同一ブロックデータの入出力中でなけれ
ば、上記ブロックデータの出力を中断して、上記入力情
報ポインタが指す上記テーブル上のアドレスに対応する
上記入力完了状態情報の設定を解除し、上記出力情報ポ
インタの値を1増加し、該1増加した上記出力情報ポイ
ンタが指す上記テーブル上のアドレスに、上記出力ポイ
ンタの値を変更することにより、上記ブロックデータの
入出力エラー発生時、該エラーの影響を受けるブロック
データを特定して無効化することを特徴とするFIFO
回路。 - 【請求項9】 ルータもしくはハブを少なくとも含むネ
ットワーク構成装置であって、請求項6から請求項8の
いずれかに記載のFIFO回路を具備し、通信フレーム
の入出力エラー発生時、該エラーの影響を受ける通信フ
レームを特定して無効化することを特徴とするネットワ
ーク構成装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8194361A JPH1040069A (ja) | 1996-07-24 | 1996-07-24 | Fifoのエラー制御方法とfifo回路およびそれを用いたネットワーク構成装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8194361A JPH1040069A (ja) | 1996-07-24 | 1996-07-24 | Fifoのエラー制御方法とfifo回路およびそれを用いたネットワーク構成装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1040069A true JPH1040069A (ja) | 1998-02-13 |
Family
ID=16323309
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8194361A Pending JPH1040069A (ja) | 1996-07-24 | 1996-07-24 | Fifoのエラー制御方法とfifo回路およびそれを用いたネットワーク構成装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH1040069A (ja) |
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/ja 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 |
| US9687677B2 (en) | 2005-07-25 | 2017-06-27 | 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 |
| US9687673B2 (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 |
| US9687674B2 (en) | 2005-07-25 | 2017-06-27 | 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 |
| 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 |
|---|---|---|
| JP2977688B2 (ja) | マルチプロセッシング装置、方法、及びこれらに使用するプロセッサ | |
| US6199121B1 (en) | High speed dynamic chaining of DMA operations without suspending a DMA controller or incurring race conditions | |
| US20050114561A1 (en) | Method for performing DMA transfers with dynamic descriptor structure | |
| JP2001229115A (ja) | Atapiコマンド処理方式 | |
| JPH1040069A (ja) | Fifoのエラー制御方法とfifo回路およびそれを用いたネットワーク構成装置 | |
| US6718405B2 (en) | Hardware chain pull | |
| JPH10334037A (ja) | 通信dma装置 | |
| JPH05282248A (ja) | データ転送装置,プロセサエレメント及びデータ転送方法 | |
| JPH02181248A (ja) | Dmaシステム | |
| JP2000003328A (ja) | 入出力制御装置のアドレス参照システム | |
| US6041369A (en) | Reducing two variables in alternate clock cycles during data transmission for monitoring when a data burst is close to completion | |
| JPH0818604A (ja) | 通信制御装置 | |
| JPS58223849A (ja) | アドレスアクセス検出回路 | |
| JP3260632B2 (ja) | 複数データ形式テーブル管理方式 | |
| JP2003150534A (ja) | チェインブロック転送方法及び通信制御装置 | |
| JP2710219B2 (ja) | Dma制御装置 | |
| JPS6220041A (ja) | デ−タ処理装置の非同期デ−タ転送回路 | |
| JPH08110875A (ja) | 主記憶制御装置 | |
| JP2814849B2 (ja) | 通信制御装置 | |
| JP2000276438A (ja) | Dmaデータ転送方法 | |
| JPH06348644A (ja) | Dma回路 | |
| JPH05250251A (ja) | 情報処理装置 | |
| JPH04360251A (ja) | コンピュータシステム | |
| JPH0248749A (ja) | バッファ記憶制御装置 | |
| JPS6019256A (ja) | メモリ領域管理方式 |