(57)【特許請求の範囲】
【請求項１】
複数のポートの何れかから入力されたデータを、対応する他のポートに転送するためのスイッチング処理を行うスイッチ装置において、
データを入出力するための複数のポートと、
前記複数のポートから入力されたデータをその宛先に応じてスイッチングするスイッチング手段と、
前記ポートから入力されたデータのうち、処理装置によって処理が必要なデータを、前記処理装置からのアクセスがあるまで他の記憶手段へ転送することなく格納する格納手段と、
前記処理装置から、前記格納手段へのアクセスを受け付けるアクセス受け付け手段と、
を有することを特徴とするスイッチ装置。
【請求項２】
前記格納手段は、前記ポートから入力されたデータを格納する第１の格納手段と、前記ポートへ出力するデータを格納する第２の格納手段とを有することを特徴とする請求項１記載のスイッチ装置。
【請求項３】
前記第１および第２の格納手段は、データの書き込みと読み出しを同時に行うことが可能なデュアルポートメモリによってそれぞれ構成されていることを特徴とする請求項２記載のスイッチ装置。
【請求項４】
前記格納手段は、データの書き込み、データの読み出し、および、前記処理装置からのアクセスとを、同時に実行可能なマルチポートメモリによって構成されていることを特徴とする請求項１記載のスイッチ装置。
【請求項５】
前記処理装置は、バスによって接続されていることを特徴とする請求項１記載のスイッチ装置。
【請求項６】
前記処理装置は、ブリッジによって接続されていることを特徴とする請求項１記載のスイッチ装置。
【請求項７】
複数のポートの何れかから入力されたデータを、対応する他のポートに転送するデータ転送システムにおいて、
必要に応じてデータに所定の処理を施す処理装置と、
データを入出力するための複数のポートと、前記複数のポートから入力されたデータをその宛先に応じてスイッチングするスイッチング手段と、前記ポートから入力されたデータのうち、前記処理装置によって処理が必要なデータを、前記処理装置からのアクセスがあるまで他の記憶手段へ転送することなく格納する格納手段と、前記処理装置から前記格納手段へのアクセスを受け付けるアクセス受け付け手段と、を備えるスイッチ装置と、
を有することを特徴とするデータ転送システム。
【請求項８】
前記格納手段は、前記ポートから入力されたデータを格納する第１の格納手段と、前記ポートへ出力するデータを格納する第２の格納手段とを有することを特徴とする請求項７記載のデータ転送システム。
【請求項９】
前記第１および第２の格納手段は、データの書き込みと読み出しを同時に行うことが可能なデュアルポートメモリによってそれぞれ構成されていることを特徴とする請求項８記載のデータ転送システム。
【請求項１０】
前記格納手段は、データの書き込み、データの読み出し、および、前記処理装置からのアクセスとを、同時に実行可能なマルチポートメモリによって構成されていることを特徴とする請求項７記載のデータ転送システム。
【請求項１１】
前記処理装置は、前記スイッチング手段と前記記憶手段との間で前記処理装置を介さずにデータを転送するダイレクトメモリアクセス機能を用いることなく前記処理が必要なデータを処理することを特徴とする請求項７記載のデータ転送システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はスイッチ装置およびデータ転送システムに関し、特に、複数のポートの何れかから入力されたデータを、対応する他のポートに転送するためのスイッチング処理を行うスイッチ装置および複数のポートの何れかから入力されたデータを、対応する他のポートに転送するためのスイッチング処理を行うスイッチ装置と、必要に応じてデータに所定の処理を施す処理装置と、を有するデータ転送システムに関する。
【０００２】
【従来の技術】
一般的に、インターネットとは、広域通信の代表的なデータ通信システムであるが、これに対し、同一構内や同一建物内のような狭い範囲で構築されるコンピュータ通信が主となっている通信システムとしてＬＡＮ（Local Area Network）が知られており、その代表的なものとして、例えば、イーサネット（商標）が挙げられる。
【０００３】
このＬＡＮに対して、複数の端末を接続する場合は、各ネットワークをスイッチ装置で連結する形が取られることがある。スイッチ装置とは、そのスイッチ装置に接続されたあるネットワークまたはインターフェースから来た通信データ（以下、単にデータと称する）を、必要に応じてそのスイッチ装置に接続されている別のネットワークまたはインターフェースへ転送し、送出する役割をもつものである。各通信端末およびスイッチ装置は、各々データ処理を行い、ネットワークにアクセスする。
【０００４】
図１７は、従来のスイッチ装置の構成例を示す図である。
この図に示すように、従来のスイッチ装置は、スイッチング処理部１０１、中央処理部１０６、主記憶部１０８、ＤＭＡＣ（Direct Memory Access Control）１０９、および、内部バス１１０によって構成されている。
【０００５】
スイッチング処理部１０１は、複数の端末装置およびネットワークが接続され、あるポートから入力されたデータを他のポートに転送する処理を実行する。なお、中央処理部１０６による処理が必要なデータについては、主記憶部１０８の記憶部１１１ｂに転送し、そこで、中央処理部１０６による処理を施す。
【０００６】
中央処理部１０６は、内部バス１１０を介して、主記憶部１０８の記憶部１１１ｂにアクセスし、そこに格納されているデータに対して所定の処理を施す。
ＤＭＡＣ１０９は、スイッチング処理部１０１と、主記憶部１０８との間で中央処理部１０６を介さずにデータを転送する。
【０００７】
主記憶部１０８は、汎用メモリＩ／Ｆ（Interface）１１１ａおよび記憶部１１１ｂから構成され、中央処理部１０６が実行するプログラムおよび処理の対象となるデータを格納する。
【０００８】
図１８は、スイッチング処理部１０１の詳細な構成例を示す図である。この図に示すように、スイッチング処理部１０１は、データ送受信部４０３ａ〜４０３ｎ、ホストＩ／Ｆ４０５、スイッチ部４０７、制御信号生成部４２６、内部バス４３０、および、宛先判定部４４０によって構成されている。
【０００９】
データ送受信部４０３ａ〜４０３ｎは、ネットワーク（または、ネットワーク機器）であるＮＥＴ＃１〜ＮＥＴ＃ｎにそれぞれ接続され、これらのＮＥＴ＃１〜ＮＥＴ＃ｎとの間でデータを送受信する。
【００１０】
ホストＩ／Ｆ４０５は、後述するようにバッファによって構成され、主記憶部１０８との間でデータを転送する際に、データを一時的に格納する。
スイッチ部４０７は、宛先判定部４４０によって判定された宛先に応じて、データを対応するデータ送受信部またはホストＩ／Ｆ４０５に転送する。
【００１１】
制御信号生成部４２６は、宛先がホストＩ／Ｆ４０５であるデータを受信した場合には、ＤＭＡＣ１０９に対してデータの転送を要求する制御信号を生成して供給する。
【００１２】
宛先判定部４４０は、データ送受信部４０３ａ〜４０３ｎに格納されているデータのヘッダを参照し、そのデータの転送先を決定する。
図１９は、ホストＩ／Ｆ４０５の詳細な構成例を示す図である。この図に示すように、ホストＩ／Ｆ４０５は、送信用バッファ５２４、受信用バッファ５２５、および、入出力Ｉ／Ｆ５２０によって構成されている。
【００１３】
受信用バッファ５２５は、スイッチ部４０７から供給されたデータを一時的に格納する。
送信用バッファ５２４は、主記憶部１０８からＤＭＡＣ１０９によって転送されてきたデータを一時的に格納する。
【００１４】
入出力Ｉ／Ｆ５２０は、ＤＭＡＣ１０９を介して受信用バッファ５２５または送信用バッファ５２４との間でデータを授受する際のインターフェースである。次に、以上の従来例の動作について説明する。なお、以下では、中央処理部１０６による処理が必要なデータがＮＥＴ＃１から入力され、ＮＥＴ＃３に出力する場合を例に挙げて説明する。
【００１５】
図１８に示す、ＮＥＴ＃１から入力されたデータは、データ送受信部４０３ａによって受信され、そこに一時的に格納される。
宛先判定部４４０は、データ送受信部４０３ａに格納されているデータのヘッダを参照し、そのデータの宛先を判定する。その結果、ホストＩ／Ｆ４０５が宛先となっているデータ（中央処理部１０６による処理が必要であるデータ）であることが判明した場合には、宛先判定部４４０は、その旨をスイッチ部４０７と、制御信号生成部４２６とに通知する。
【００１６】
スイッチ部４０７は、データ送受信部４０３ａに格納されたデータを、ホストＩ／Ｆ４０５に対して送信する処理を実行する。その結果、データ送受信部４０３ａに格納されているデータは、内部バス４３０を介してホストＩ／Ｆ４０５に対して転送される。
【００１７】
ホストＩ／Ｆ４０５では、受信用バッファ５２５がこのデータを受信し、一時的に格納する。
前述したように、制御信号生成部４２６には、主記憶部１０８に転送するデータが存在する旨の通知がされているので、制御信号生成部４２６はＤＭＡＣ１０９に対して、受信用バッファ５２５に格納されているデータを、主記憶部１０８に転送するように要求を行う。その結果、ＤＭＡＣ１０９は、受信用バッファ５２５に格納されているデータを読み出し、主記憶部１０８の記憶部１１１ｂに対して転送する。
【００１８】
なお、受信用バッファ５２５は、ＦＩＦＯ（First In First Out）方式のメモリによって構成されているので、先に入力されたデータから順に読み出されて転送される。
【００１９】
記憶部１１１ｂにデータが格納されると、中央処理部１０６は、内部バス１１０を介して記憶部１１１ｂにアクセスし、データのヘッダ情報等を参照して、例えば、ヘッダの再計算処理やフィルタリング処理等を施す。
【００２０】
処理が完了すると、中央処理部１０６は、ＤＭＡＣ１０９に転送要求を行う。その結果、処理が施されたデータは、ＤＭＡＣ１０９により、ホストＩ／Ｆ４０５の送信用バッファ５２４に転送される。
【００２１】
送信用バッファ５２４に格納されたデータは、スイッチ部４０７により、データ送受信部４０３ｃに供給され、ＮＥＴ＃３に対して送信される。
以上の処理により、ＮＥＴ＃１から入力されたデータに対して、所定の処理を施した後、ＮＥＴ＃３に対して送信することが可能になる。なお、中央処理部１０６による処理が必要なデータが他のＮＥＴから入力され、その他のＮＥＴへ出力する場合についても同様の処理が実行される。
【００２２】
【発明が解決しようとする課題】
ところで、以上に説明した従来例では、中央処理部１０６による処理が必要なデータについては、ＤＭＡＣ１０９により、ホストＩ／Ｆ４０５から主記憶部１０８に転送してそこでデータ処理を施した後、再度、ＤＭＡＣ１０９によりホストＩ／Ｆ４０５に転送する処理を実行していた。
【００２３】
しかしながら、このような方法では、データを転送するたびに、内部バス１１０が占有されることになる。内部バス１１０に他のコンポーネントも接続されている場合は、通信データ以外のデータ（以下、通常データと称する）も転送する必要があるので、例えば、通常データに対して通信データよりも高い優先順位が設定されていた場合には、通信データの処理が追いつかずに消失または遅延する場合があるという問題点があった。
【００２４】
逆に、通信データに対して、通常データよりも高い優先順位が設定されていた場合には、通信データが優先される結果として、通常データの転送が困難になり、データ転送以外の処理が遅延する場合があるという問題点もあった。
【００２５】
本発明はこのような点に鑑みてなされたものであり、高度な判断処理が必要なデータについても、高速に転送を実現することが可能なスイッチ装置を提供することを目的とする。
【００２６】
【課題を解決するための手段】
本発明では上記課題を解決するために、図１に示す、複数のポート１−１〜１−ｎの何れかから入力されたデータを、対応する他のポートに転送するためのスイッチング処理を行うスイッチ装置１において、データを入出力するための複数のポート１−１〜１−ｎと、前記複数のポート１−１〜１−ｎから入力されたデータをその宛先に応じてスイッチングするスイッチング手段１ａと、前記ポート１−１〜１−ｎから入力されたデータを格納する格納手段１ｃと、外部に配置され、前記格納手段１ｃに格納されているデータに対して所定の処理を施す処理装置３から、前記格納手段１ｃへのアクセスを受け付けるアクセス受け付け手段１ｄと、を有することを特徴とするスイッチ装置１が提供される。
【００２７】
ここで、ポート１−１〜１−ｎは、データを入出力する。スイッチング手段１ａは、複数のポート１−１〜１−ｎから入力されたデータをその宛先に応じてスイッチングする。格納手段１ｃは、ポート１−１〜１−ｎから入力されたデータを格納する。アクセス受け付け手段１ｄは、外部に配置され、格納手段１ｃに格納されているデータに対して所定の処理を施す処理装置３から、格納手段１ｃへのアクセスを受け付ける。
【００２８】
また、複数のポートの何れかから入力されたデータを、対応する他のポートに転送するためのスイッチング処理を行うスイッチ装置と、必要に応じてデータに所定の処理を施す処理装置と、を有するデータ転送システムにおいて、前記スイッチ装置は、データを入出力するための複数のポートと、前記複数のポートから入力されたデータをその宛先に応じてスイッチングするスイッチング手段と、前記ポートから入力されたデータを格納する格納手段と、前記処理装置による前記格納手段の所定のデータへのアクセスを受け付けるアクセス受け付け手段と、を有することを特徴とするデータ転送システムが提供される。
【００２９】
ここで、スイッチ装置の複数のポートは、データを入出力する。スイッチング手段は、複数のポートから入力されたデータをその宛先に応じてスイッチングする。格納手段は、ポートから入力されたデータを格納する。アクセス受け付け手段は、処理装置による格納手段の所定のデータへのアクセスを受け付ける。
【００３０】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本発明の動作原理を説明する原理図である。この図に示すように、本発明のスイッチ装置１は、ポート１−１〜１−ｎ、スイッチング手段１ａ、バス１ｂ、格納手段１ｃ、アクセス受け付け手段１ｄによって構成されており、その外部にはバス２を介して処理装置３が接続され、全体としてデータ転送システムを構成している。
【００３１】
ポート１−１〜１−ｎは、ネットワークまたはネットワーク機器であるＮＥＴ＃１〜＃ｎに接続され、各ＮＥＴとの間でデータを授受する。
スイッチング手段１ａは、ポート１−１〜１−ｎから入力されたデータのヘッダを参照し、所定のポートに対して出力するとともに、処理装置３による処理が必要なデータに対しては、格納手段１ｃに転送して格納する。
【００３２】
バス１ｂは、ポート１−１〜１−ｎ、スイッチング手段１ａ、および、格納手段１ｃを相互に接続し、データを伝送する。
格納手段１ｃは、ポート１−１〜１−ｎから入力されたデータのうち、処理装置３によって処理が必要なデータを一時的に格納する。
【００３３】
アクセス受け付け手段１ｄは、処理装置３から格納手段１ｃへのアクセスを受け付ける。
次に、以上の原理図の動作について説明する。なお、以下では、処理装置３による処理が必要なデータがＮＥＴ＃１から入力され、ＮＥＴ＃２に出力する場合について説明する。
【００３４】
いま、ＮＥＴ＃１からデータが入力されると、ポート１−１はこれを受信し、内部に一旦格納する。
スイッチング手段１ａは、ポート１−１に格納されているデータのヘッダを参照してその宛先を特定し、他のＮＥＴ＃２〜＃ｎに転送する場合には、バス１ｂを介して該当するポートに供給する。また、処理装置３による処理が必要である場合には、バス１ｂを介して格納手段１ｃに供給する。いまの例では、処理装置３による処理が必要なデータであるので、スイッチング手段１ａは、このデータを格納手段１ｃに対して格納する。
【００３５】
格納手段１ｃに対してデータが格納されると、処理装置３に対してその旨が通知される。その結果、処理装置３は、バス２を介してスイッチ装置１へアクセスする。
【００３６】
アクセス受け付け手段１ｄは、格納手段１ｃに格納されているこのデータへのアクセスを受け付ける。その結果、処理装置３は、格納手段１ｃに格納されているデータに対して所定の処理を実行することが可能になる。
【００３７】
処理が終了すると、格納手段１ｃに格納されているデータは、スイッチング手段１ａによって、所定のポートに転送され、ＮＥＴ＃２に対して送信されることになる。
【００３８】
以上に説明したように、本発明のスイッチ装置１によれば、ポート１−１〜１−ｎによって受信されたデータのうち、処理装置３による処理が必要なものについては、格納手段１ｃに一旦格納し、バス２上に接続された記憶装置に転送することなく、格納手段１ｃに格納した状態で、処理装置３による処理を、アクセス受け付け手段１ｄによって受け付けるようにしたので、バス２上を転送する手間を省くことにより、データの転送処理を迅速に実行することが可能になる。
【００３９】
次に、本発明の実施の形態について説明する。
図２は、本発明の実施の形態の構成例を示す図である。この図に示すように、本発明のスイッチ装置５０には、ネットワークやネットワーク機器であるＮＥＴ＃１〜＃ｎが接続されている。
【００４０】
図３は、スイッチ装置５０の詳細な構成例を示す図である。この図に示すように、スイッチ装置５０は、中央処理部１０６、主記憶部１０８、ＤＭＡＣ１０９、内部バス１１０、および、スイッチング処理部１２０によって構成されている。
【００４１】
ここで、スイッチング処理部１２０は、複数の端末装置およびネットワークが接続され、あるＮＥＴから入力されたデータを他のＮＥＴに転送する処理を実行する。
【００４２】
中央処理部１０６は、主記憶部１０８の記憶部１１１ｂに格納されているプログラムに従って種々の処理を実行するとともに、スイッチング処理部１２０の内部にある受信用ＲＡＭ５３３（後述する）に格納されている通信データに対して所定の処理を施す。
【００４３】
主記憶部１０８は、汎用メモリＩ／Ｆ１１１ａおよび記憶部１１１ｂから構成され、中央処理部１０６が実行するプログラムを格納する。
ＤＭＡＣ１０９は、スイッチング処理部１２０と、主記憶部１０８との間で中央処理部１０６を介さずにデータを転送する。
【００４４】
内部バス１１０は、中央処理部１０６、主記憶部１０８、ＤＭＡＣ１０９、および、スイッチング処理部１２０を相互に接続し、これらの間でデータを伝送する。
【００４５】
図４は、スイッチング処理部１２０の詳細な構成例を示す図である。この図に示すように、スイッチング処理部１２０は、データ送受信部４０３ａ〜４０３ｎ、ホストＩ／Ｆ４５０、スイッチ部４０７、宛先判定部４４０、および、制御信号生成部４２６によって構成されている。
【００４６】
データ送受信部４０３ａ〜４０３ｎは、ネットワーク（または、ネットワーク機器）であるＮＥＴ＃１〜＃ｎにそれぞれ接続され、これらのＮＥＴ＃１〜＃ｎとの間でデータを送受信する。
【００４７】
ホストＩ／Ｆ４５０は、スイッチ部４０７からのデータを一時的に格納し、中央処理部１０６からのアクセスを受け付け、データの処理を受ける。
スイッチ部４０７は、宛先判定部４４０によって判定されたデータの宛先に応じて、データを対応するデータ送受信部またはホストＩ／Ｆ４５０に転送する。
【００４８】
制御信号生成部４２６は、データを転送する必要が生じた場合には、ＤＭＡＣ１０９に対してデータの転送を命じる制御信号を生成して供給する。
宛先判定部４４０は、データ送受信部４０３ａに格納されているデータのヘッダを参照し、そのデータの転送先を決定する。
【００４９】
図５は、ホストＩ／Ｆ４５０の詳細な構成例を示す図である。この図に示すように、ホストＩ／Ｆ４５０は、受信用バッファ５３５、受信用ＲＡＭ５３３、送信用バッファ５３４、送信用ＲＡＭ５３２、および、汎用メモリＩ／Ｆ５３０によって構成されている。
【００５０】
受信用バッファ５３５は、スイッチ部４０７から供給されたデータを一時的に格納した後、受信用ＲＡＭ５３３に供給する。
受信用ＲＡＭ５３３は、受信用バッファ５３５から供給されたデータを一時的に格納し、中央処理部１０６によるデータ処理を受け付ける。
【００５１】
送信用ＲＡＭ５３２は、受信用ＲＡＭ５３３において処理が施されたデータのうち、他のＮＥＴに対して送出するもの（フィルタリングしないもの）を一旦格納し、送信用バッファ５３４に転送する。
【００５２】
送信用バッファ５３４は、送信用ＲＡＭ５３２に格納されているデータを、一時的に格納し、内部バス４３０を介して送出する。
汎用メモリＩ／Ｆ５３０は、中央処理部１０６からの受信用ＲＡＭ５３３の所定のアドレスに格納されているデータに対するアクセスを受け付ける。
【００５３】
図６は、汎用メモリＩ／Ｆ５３０の詳細な構成例を示す図である。
この図に示すように、汎用メモリＩ／Ｆ５３０は、制御信号バッファ部７０１、アドレスバッファ部７０２、制御回路７０３、データバッファ部７０４、および、データ入出力制御部７０５によって構成されている。
【００５４】
制御信号バッファ部７０１は、内部バス１１０から供給された制御信号に対して波形整形処理等を施して出力する。
アドレスバッファ部７０２は、内部バス１１０から供給されたアドレス信号に対して波形整形等を施して出力する。
【００５５】
制御回路７０３は、制御信号バッファ部７０１およびアドレスバッファ部７０２から供給された信号をデコードし、受信用ＲＡＭ５３３および送信用ＲＡＭ５３２に対して制御信号を供給する。
【００５６】
データバッファ部７０４は、内部バス１１０へのデータ出力信号に対して波形整形等を施すとともに、内部バス１１０から供給されたデータ出力信号に対して波形整形等を施して出力する。
【００５７】
データ入出力制御部７０５は、制御回路７０３からの制御信号に基づき、受信用ＲＡＭ５３３および送信用ＲＡＭ５３２からの出力データを、データバッファ部７０４に供給するとともに、データバッファ部７０４から出力されたデータを、受信用ＲＡＭ５３３および送信用ＲＡＭ５３２に格納する。
【００５８】
次に、以上の実施の形態の動作について説明する。以下では、ＮＥＴ＃１から入力されたデータに対して中央処理部１０６により所定の処理を施した後、ＮＥＴ＃３に送出する動作について説明する。
【００５９】
ＮＥＴ＃１からデータが入力されると、スイッチング処理部１２０のデータ送受信部４０３ａがこれを受信し、その内部に一時的に格納する。
宛先判定部４４０は、データ送受信部４０３ａの内部に格納されたデータのヘッダを参照し、その宛先を判定する。いまの例では、宛先として、ホストＩ／Ｆ４５０が指定されているので、宛先判定部４４０は、その旨をスイッチ部４０７に通知する。
【００６０】
スイッチ部４０７は、宛先判定部４４０からの通知に基づき、データ送受信部４０３ａに格納されているデータを取得し、ホストＩ／Ｆ４５０に供給する。
ホストＩ／Ｆ４５０では、供給されたデータを受信用バッファ５３５に一時的に格納した後、受信用ＲＡＭ５３３に格納する。
【００６１】
このようにして受信用ＲＡＭ５３３にデータが格納されると、制御信号生成部４２６が中央処理部１０６に対してデータ処理の開始を指示する制御信号を生成し、内部バス１１０を介して中央処理部１０６に通知する。
【００６２】
その結果、中央処理部１０６は、ホストＩ／Ｆ４５０に対してアクセスの要求を行う。このような要求は、汎用メモリＩ／Ｆ５３０の制御信号バッファ部７０１およびアドレスバッファ部７０２に供給され、波形整形や電圧変換等を行った後、制御回路７０３に供給される。
【００６３】
制御回路７０３は、受信用ＲＡＭ５３３に格納されているデータに対するアクセス要求（読み出し要求）を行う。また、このとき、アドレスバッファ部７０２には、データが格納されている受信用ＲＡＭ５３３のアドレスを指定する信号が供給されているので、このアドレス信号は制御回路７０３を介してデコードされ、受信用ＲＡＭ５３３に供給される。
【００６４】
その結果、受信用ＲＡＭ５３３の指定されたアドレスから、データが読み出されて、データ入出力制御部７０５を介してデータバッファ部７０４に供給される。
【００６５】
データバッファ部７０４によって波形整形されたデータは、中央処理部１０６に供給され、そこで所定の処理が施される。ここで、所定の処理とは、ヘッダの再計算処理、または、フィルタリング処理等である。
【００６６】
中央処理部１０６における処理が完了した場合であって、その処理がフィルタリング処理以外である場合には、そのデータは、汎用メモリＩ／Ｆ５３０を介して送信用ＲＡＭ５３２に格納される。即ち、先ず、中央処理部１０６は、データの書き込みを要求する制御信号を汎用メモリＩ／Ｆ５３０に供給するとともに、書き込もうとするアドレスを指定する信号を供給する。そして、アドレスの指定が終了すると、処理が完了したデータを供給する。なお、フィルタリング処理を行う場合には、そのデータは送信用ＲＡＭ５３２には供給されずに破棄されることになる。
【００６７】
汎用メモリＩ／Ｆ５３０では、制御信号を制御信号バッファ部７０１によって受信し、制御回路７０３に供給する。また、アドレスバッファ部７０２は、アドレス信号を受信し、同様にして制御回路７０３に供給する。
【００６８】
制御回路７０３は、送信用ＲＡＭ５３２に対して所定のアドレスに対する書き込みを要求した後、データ入出力制御部７０５から供給されたデータを、指定されたアドレスに書き込む。
【００６９】
送信用ＲＡＭ５３２に書き込まれたデータは、送信用バッファ５３４に転送され、そこに格納される。送信用バッファ５３４に転送されたデータは、宛先判定部４４０によってその宛先が判定された後、スイッチ部４０７によって、判定結果に対応するデータ送受信部に供給される。いまの例では、転送先は、ＮＥＴ＃３であるので、データはデータ送受信部４０３ｃに供給される。
【００７０】
データ送受信部４０３ｃは、供給されたデータを、ＮＥＴ＃３に対して送信する。
以上の処理により、ＮＥＴ＃１から入力されたデータに対して中央処理部１０６が所定の処理を施し、ＮＥＴ＃３から送信することができる。このとき、中央処理部１０６による処理が必要なデータについては、主記憶部１０８に転送することなく、ホストＩ／Ｆ４５０の内部に具備された受信用ＲＡＭ５３３に格納された状態で、中央処理部１０６が所定の処理を施すようにしたので、ＤＭＡＣ１０９によって主記憶部１０８に一旦転送した後、そこで処理を施し、再度、ＤＭＡＣ１０９により転送する処理を省略することにより、処理を迅速に実行することが可能になる。また、ＤＭＡＣ１０９による転送処理を排除することにより、バス調停に必要な時間を短縮することが可能になる。
【００７１】
次に、図７〜図１０を参照して、従来におけるスイッチ装置のデータ受信処理およびデータ送信処理、ならびに、本実施の形態におけるスイッチ装置のデータ受信処理およびデータ送信処理について説明する。
【００７２】
先ず、図７は、従来のスイッチ装置におけるデータ受信処理の一例を示す図である。このフローチャートが開始されると、以下のステップが実行される。なお、以下では、中央処理部１０６による処理が必要なデータを、データ送受信部４０３ａがＮＥＴ＃１から受信した場合を例に挙げて説明する。
【００７３】
ステップＳ１０：
データ送受信部４０３ａは、ＮＥＴ＃１からデータを受信する。
ステップＳ１１：
データ送受信部４０３ａは、データを受信した旨を、スイッチ部４０７に通知する。
【００７４】
ステップＳ１２：
宛先判定部４４０は、データ送受信部４０３ａに格納されているデータのヘッダを参照し、データの宛先を確認する。
【００７５】
ステップＳ１３：
宛先判定部４４０は、ステップＳ１２において確認された宛先を、スイッチ部４０７に通知する。
【００７６】
ステップＳ１４：
スイッチ部４０７は、データ送受信部４０３ａから、ホストＩ／Ｆ４０５内の受信用バッファ５２５へ内部バス４３０を介してデータを転送する。
【００７７】
ステップＳ１５：
制御信号生成部４２６は、ＤＭＡＣ１０９に対して転送処理が必要なデータが存在する旨を制御信号４１２により通知する。
【００７８】
ステップＳ１６：
ＤＭＡＣ１０９は、中央処理部１０６に対し、転送したいデータが存在するので、内部バス１１０を解放するように要求する。
【００７９】
ステップＳ１７：
中央処理部１０６は、内部バス１１０が使用中であれば、解放する。
ステップＳ１８：
ＤＭＡＣ１０９は、ホストＩ／Ｆ４０５内の受信用バッファ５２５から、入出力Ｉ／Ｆ５２０を介して受信データを主記憶部１０８へ順次転送する。
【００８０】
ステップＳ１９：
中央処理部１０６は、主記憶部１０８に記憶されているデータに対して所定の処理を施す。
【００８１】
以上の処理により、データ送受信部４０３ａから入力されたデータを、主記憶部１０８に転送し、所定の処理を施すことが可能になる。
次に、図８を参照して、以上のようにして受信したデータを送信する場合の処理について説明する。なお、以下では、受信したデータを、データ送受信部４０３ｃから送信する場合を例に挙げて説明する。
【００８２】
ステップＳ３０：
中央処理部１０６は、送信すべきデータがあることを、ＤＭＡＣ１０９に通知する。
【００８３】
ステップＳ３１：
ＤＭＡＣ１０９は、中央処理部１０６より指定されたデータを、主記憶部１０８から順次読み出し、内部バス１１０を介して、スイッチング処理部１０１に転送する。転送されたデータは、ホストＩ／Ｆ４０５内の入出力Ｉ／Ｆ５２０を介して送信用バッファ５２４に格納される。
【００８４】
ステップＳ３２：
ホストＩ／Ｆ４０５は、送信すべきデータが存在することをスイッチ部４０７へ通知する。
【００８５】
ステップＳ３３：
ホストＩ／Ｆ４０５は、中央処理部１０６からの情報を参照し、データの宛先を確認する。
【００８６】
ステップＳ３４：
ホストＩ／Ｆ４０５は、宛先がデータ送受信部４０３ｃであることをスイッチ部４０７へ通知する。
【００８７】
ステップＳ３５：
スイッチ部４０７は、送信用バッファ５２４からデータをデータ送受信部４０３ｃへ転送する。
【００８８】
ステップＳ３６：
データ送受信部４０３ｃは、受信したデータを、ＮＥＴ＃３に送出する。
以上の処理により、主記憶部１０８に格納されているデータをＮＥＴ＃３に送信することが可能になる。
【００８９】
次に、図９および図１０を参照して、本実施の形態におけるデータの受信処理および送信処理について説明する。
先ず、図９を参照して、本実施の形態におけるデータの受信処理について説明する。なお、以下では、ＮＥＴ＃１から受信したデータを、中央処理部１０６にて処理する場合を例に挙げて説明する。
【００９０】
ステップＳ５０：
データ送受信部４０３ａは、ＮＥＴ＃１からデータを受信する。
ステップＳ５１：
データ送受信部４０３ａは、データを受信した旨を、スイッチ部４０７に通知する。
【００９１】
ステップＳ５２：
宛先判定部４４０は、データ送受信部４０３ａに格納されているデータのヘッダを参照し、宛先がホストＩ／Ｆ４５０であることを確認する。
【００９２】
ステップＳ５３：
宛先判定部４４０は、宛先がホストＩ／Ｆ４５０であることをスイッチ部４０７に通知する。
【００９３】
ステップＳ５４：
スイッチ部４０７は、データ送受信部４０３ａからホストＩ／Ｆ４５０内の受信用バッファ５３５へ内部バス４３０を介して順次転送する。なお、受信用バッファ５３５に格納されたデータは、受信用ＲＡＭ５３３に転送される。
【００９４】
ステップＳ５５：
中央処理部１０６は、汎用メモリＩ／Ｆ５３０を介して、受信用ＲＡＭ５３３に格納されたデータにアクセスし、所定の処理を施す。
【００９５】
次に、図１０を参照して、本実施の形態におけるデータの送信処理について説明する。なお、以下では、送信用ＲＡＭ５３２に展開されているデータを、データ送受信部４０３ｃから送信する場合を例に挙げて説明する。
【００９６】
ステップＳ７０：
中央処理部１０６は、送信しようとするデータを、送信用ＲＡＭ５３２上に展開する。即ち、中央処理部１０６は、前述のステップＳ５５において処理が終了したデータのうち、フィルタリング処理以外の処理を施したデータを、送信用ＲＡＭ５３２に格納する。
【００９７】
ステップＳ７１：
スイッチ部４０７は、送信用ＲＡＭ５３２上に格納されているデータを、送信用バッファ５３４および内部バス４３０を介して、データ送受信部４０３ｃに転送する。
【００９８】
ステップＳ７２：
データ送受信部４０３ｃは、転送されてきたデータを、ＮＥＴ＃３に対して送出する。
【００９９】
以上の処理により、ホストＩ／Ｆ４５０に格納されているデータを、データ送受信部４０３ｃからＮＥＴ＃３に向けて送出することが可能になる。
以上に示したように、従来のスイッチ装置の送受信処理、および、本実施の形態のスイッチ装置の送受信処理の比較により、本実施の形態のスイッチ装置の方が、短いステップ数で同様の処理を実行することが可能であり、その結果、処理速度を向上させることが可能となることが理解できる。
【０１００】
図１１は、図４に示すホストＩ／Ｆ４５０の他の構成例を示す図である。この構成例では、ホストＩ／Ｆ４５０は、汎用メモリＩ／Ｆ６２０、受信用ＤＰＲＡＭ（Dual Port RAM）６２１、送信用ＤＰＲＡＭ６２２、送信用ＦＩＦＯ６２４、および、受信用ＦＩＦＯ６２５によって構成されている。
【０１０１】
汎用メモリＩ／Ｆ６２０は、図６に示す構成と同様になっており、受信用ＤＰＲＡＭ６２１および送信用ＤＰＲＡＭ６２２と内部バス１１０との間でデータを授受する際のインターフェースである。
【０１０２】
受信用ＤＰＲＡＭ６２１は、中央処理部１０６による処理が必要なデータが一時的に格納されるメモリであり、デュアルポートであることから、受信用ＦＩＦＯ６２５と、汎用メモリＩ／Ｆ６２０の双方からの同時のアクセスが可能である。
【０１０３】
送信用ＤＰＲＡＭ６２２は、中央処理部１０６による処理が終了したデータが一時的に格納されるメモリであり、デュアルポートであることから、送信用ＦＩＦＯ６２４と、汎用メモリＩ／Ｆ６２０の双方からの同時のアクセスが可能である。
【０１０４】
送信用ＦＩＦＯ６２４は、送信用ＤＰＲＡＭ６２２に格納されているデータを読み出して一時的に格納し、格納された順に読み出して内部バス４３０に出力する。
【０１０５】
受信用ＦＩＦＯ６２５は、スイッチ部４０７から供給されたデータを一時的に格納した後、格納された順に受信用ＤＰＲＡＭ６２１に供給する。
このように、受信用および送信用のＲＡＭとして、ＤＰＲＡＭを用いることにより、ＲＡＭへの書き込み動作と、読み出し動作を並行して行うことが可能になるので、トータルの処理時間を短縮することができ、結果的に、データの転送処理を迅速に行うことが可能になる。
【０１０６】
図１２は、図４に示すホストＩ／Ｆ４５０の更に他の構成例を示す図である。この構成例では、ホストＩ／Ｆ４５０は、汎用メモリＩ／Ｆ６３０、送受信用ＭＰＲＡＭ（Multi Port RAM）６３１、送信用ＦＩＦＯ６３４、受信用ＦＩＦＯ６３５によって構成されている。
【０１０７】
汎用メモリＩ／Ｆ６３０は、図６に示す構成と同様になっており、送受信用ＭＰＲＡＭ６３１と内部バス１１０との間でデータを授受する際のインターフェースである。
【０１０８】
送受信用ＭＰＲＡＭ６３１は、中央処理部１０６による処理が必要なデータが一時的に格納されるメモリであり、マルチポートであることから、送信用ＦＩＦＯ６３４、受信用ＦＩＦＯ６３５、および、汎用メモリＩ／Ｆ６３０が並行してアクセスすることが可能である。
【０１０９】
送信用ＦＩＦＯ６３４は、送受信用ＭＰＲＡＭ６３１に格納されているデータを読み出して一時的に格納し、格納された順に読み出して内部バス４３０に出力する。一方、受信用ＦＩＦＯ６３５はスイッチ部４０７から供給されたデータを一時的に格納した後、格納された順に送受信用ＭＰＲＡＭ６３１に供給する。
【０１１０】
このように、受信用ＤＰＲＡＭ６２１と送信用ＤＰＲＡＭ６２２を統合し、送受信用ＭＰＲＡＭ６３１とすることにより、中央処理部１０６がスイッチ部４０７から供給された受信データを処理し、それをＮＥＴ＃１〜＃ｎに送信したい場合は、ステップＳ７０で示した展開処理は不要となり、更に効率が上がることになる。
【０１１１】
図１３は、図４に示すホストＩ／Ｆ４５０の更に他の構成例を示す図である。この構成例では、ホストＩ／Ｆ４５０は、汎用メモリＩ／Ｆ６４０、受信用ＤＰＲＡＭ６４１、送信用ＤＰＲＡＭ６４２、汎用メモリＩ／Ｆ６４４、および、汎用メモリＩ／Ｆ６４５によって構成されている。
【０１１２】
汎用メモリＩ／Ｆ６４０は、図６に示す構成と同様になっており、受信用ＤＰＲＡＭ６４１および送信用ＤＰＲＡＭ６４２と内部バス１１０との間でデータを授受する際のインターフェースである。
【０１１３】
受信用ＤＰＲＡＭ６４１は、中央処理部１０６による処理が必要なデータが一時的に格納されるメモリであり、デュアルポートであることから、内部バス４３０と、汎用メモリＩ／Ｆ６４０の双方からの同時のアクセスが可能である。
【０１１４】
送信用ＤＰＲＡＭ６４２は、中央処理部１０６による処理が終了したデータが一時的に格納されるメモリであり、デュアルポートであることから、内部バス４３０と、汎用メモリＩ／Ｆ６４０の双方からの同時のアクセスが可能である。
【０１１５】
汎用メモリＩ／Ｆ６４４は、スイッチ部４０７が送信用ＤＰＲＡＭ６４２の任意のアドレスにアクセスすることができるようにするためのインターフェースであり、図６に示す構成と同様になっている。
【０１１６】
汎用メモリＩ／Ｆ６４５も同様に、スイッチ部４０７が受信用ＤＰＲＡＭ６４１の任意のアドレスにアクセスすることができるようにするためのインターフェースであり、図６に示す構成と同様になっている。
【０１１７】
このように、受信用および送信用のＲＡＭとして、ＤＰＲＡＭを用いることにより、ＲＡＭへの書き込み動作と、読み出し動作を並行して行うことが可能になるので、トータルの処理時間を短縮することができるとともに、汎用メモリＩ／Ｆ６４４および汎用メモリＩ／Ｆ６４５を用いることにより、スイッチ部４０７が任意のデータに対してアクセスすることが可能になるので、例えば、優先順位に応じてデータを処理することが可能になる。
【０１１８】
図１４は、図４に示すホストＩ／Ｆ４５０の更に他の構成例を示す図である。この構成例では、ホストＩ／Ｆ４５０は、汎用メモリＩ／Ｆ６５０、送受信用ＭＰＲＡＭ６５１、汎用メモリＩ／Ｆ６５４によって構成されている。
【０１１９】
汎用メモリＩ／Ｆ６５０は、図６に示す構成と同様になっており、送受信用ＭＰＲＡＭ６５１と内部バス１１０との間でデータを授受する際のインターフェースである。
【０１２０】
送受信用ＭＰＲＡＭ６５１は、中央処理部１０６による処理が必要なデータが一時的に格納されるメモリであり、マルチポートであることから、汎用メモリＩ／Ｆ６５４および汎用メモリＩ／Ｆ６５０が並行してアクセスすることが可能である。
【０１２１】
汎用メモリＩ／Ｆ６５４は、スイッチ部４０７が、送受信用ＭＰＲＡＭ６５１に格納されている任意のデータに対してアクセス可能となるようにするためのインターフェースである。
【０１２２】
このように、受信用ＤＰＲＡＭ６２１と送信用ＤＰＲＡＭ６２２を統合し、送受信用ＭＰＲＡＭ６５１とすることにより、必要なメモリ容量を減少させ、その結果、装置のサイズとコストを縮減することが可能になる。また、汎用メモリＩ／Ｆ６５４を用いることにより、スイッチ部４０７が任意のデータに対してアクセスすることが可能になり、例えば、データの優先制御を容易に実行することが可能になる。
【０１２３】
図１５は、本発明のスイッチ装置の他の構成例を示す図である。この実施の形態では、スイッチ装置は、スイッチング処理部２０１、中央処理部２０６、主記憶部２０８、および、ブリッジ部２５０によって構成されている。
【０１２４】
スイッチング処理部２０１は、図４と同様の構成とされており、ＮＥＴ＃１〜＃ｎから入力されたデータをスイッチングするとともに、中央処理部２０６からのアクセスを受け付ける。
【０１２５】
主記憶部２０８は、汎用メモリＩ／Ｆ２１１ａおよび記憶部２１１ｂから構成され、中央処理部２０６が実行するプログラム等を格納している。
中央処理部２０６は、主記憶部２０８の記憶部２１１ｂに格納されているプログラムに従って種々の処理を実行するとともに、スイッチング処理部２０１の内部にある受信用ＲＡＭ５３３に格納されている通信データに対して所定の処理を施す。
【０１２６】
ブリッジ部２５０は、入出力Ｉ／Ｆ２５０ａ、汎用メモリＩ／Ｆ２５０ｂ、ＤＭＡＣ２５０ｃによって構成されており、スイッチング処理部２０１、中央処理部２０６、および、主記憶部２０８を相互に接続し、これらの間でデータの授受、制御信号の変換やそれらの調停等を行う。
【０１２７】
ここで、入出力Ｉ／Ｆ２５０ａは、スイッチング処理部２０１を接続するためのインターフェースである。
汎用メモリＩ／Ｆ２５０ｂは、主記憶部２０８を接続するためのインターフェースであり、図６の場合と同様の構成とされている。
【０１２８】
ＤＭＡＣ２５０ｃは、スイッチング処理部２０１と、主記憶部２０８との間でデータを転送する。
なお、以上の実施の形態では、図３に示す実施の形態と比較して、内部バス１１０がブリッジ部２５０に置換される以外は、図３と同様であり、その動作も基本的には図３の場合と同様であるので、詳細な動作の説明は省略する。
【０１２９】
図１６は、本発明のスイッチ装置の更に他の構成例を示す図である。この図の実施の形態は、スイッチング処理部３０１、中央処理部３０６、主記憶部３０８、および、ブリッジ部３５０によって構成されている。
【０１３０】
ここで、スイッチング処理部３０１は、図４と同様の構成とされており、ＮＥＴ＃１〜＃ｎから入力されたデータをスイッチングするとともに、中央処理部３０６からのアクセスを受け付ける。
【０１３１】
主記憶部３０８は、汎用メモリＩ／Ｆ３１１ａおよび記憶部３１１ｂから構成され、中央処理部３０６が実行するプログラム等を格納している。
中央処理部３０６は、主記憶部３０８の記憶部３１１ｂに格納されているプログラムに従って種々の処理を実行するとともに、スイッチング処理部３０１の内部にある受信用ＲＡＭ５３３に格納されている通信データに対して所定の処理を施す。
【０１３２】
ブリッジ部３５０は、内部バス３６０を介してスイッチング処理部３０１および主記憶部３０８ならびに中央処理部３０６を相互に接続し、これらの間でデータの授受、制御信号の変換やそれらの調停等を行う。
【０１３３】
ここで、入出力Ｉ／Ｆ３５０ａは、図示せぬ所定のデバイスがある場合にはそれを接続するためのインターフェースである。
汎用メモリＩ／Ｆ３５０ｂは、内部バス３６０を介して主記憶部２０８およびスイッチング処理部３０１を接続するためのインターフェースである。
【０１３４】
ＤＭＡＣ３５０ｃは、スイッチング処理部３０１と、主記憶部３０８との間でデータを転送する。なお、このＤＭＡＣ３５０ｃは、省略することができる。
次に、以上の実施の形態の動作について簡単に説明する。
【０１３５】
スイッチング処理部３０１が中央処理部３０６による処理を必要とするデータを受信した場合には、スイッチ部４０７は受信したデータを、受信用ＲＡＭ５３３に転送する。
【０１３６】
中央処理部３０６は、ブリッジ部３５０および内部バス３６０を介して、受信用ＲＡＭ５３３の処理が必要なデータに対してアクセスする。このとき、主記憶部３０８およびスイッチング処理部３０１の受信用ＲＡＭ５３３と送信用ＲＡＭ５３２は、汎用メモリＩ／Ｆ３５０ｂによって同一のメモリ空間の異なる領域にマッピングされているので、受信用ＲＡＭ５３３のデータが格納されているアドレスを指定することにより、そのデータにアクセスすることができる。
【０１３７】
なお、主記憶部３０８へのアクセスも同様の処理により可能となる。
中央処理部３０６によって所定の処理が施されたデータは、ＮＥＴ＃１〜＃ｎへ送出する場合は、送信用ＲＡＭ５３２に転送され、既に説明したように、内部バス４３０を介して、所定のデータ送受信部から出力されることになる。
【０１３８】
以上の実施の形態によれば、スイッチング処理部３０１は、汎用メモリＩ／Ｆ５３０を持ち、かつ受信用ＲＡＭ５３３および送信用ＲＡＭ５３２はいずれもランダムアクセス可能であるため、これらのＲＡＭ（受信用ＲＡＭ５３３および送信用ＲＡＭ５３２）を主記憶部３０８の記憶部３１１ｂとともにメモリ空間の異なる領域にマッピングし、任意のアドレスを指定することにより、所定のデータにアクセスすることが可能になる。
【０１３９】
また、入出力Ｉ／Ｆ３５０ａが解放されるので、ここに他の装置を接続することが可能になる（複数接続することも可能）とともに、スイッチング処理部２０１と入出力Ｉ／Ｆ２５０ａとの間のデータ転送を省略することができる。あるいは、入出力Ｉ／Ｆ３５０ａを省略することにより、装置のサイズを小型化することが可能になる。
【０１４０】
なお、以上の実施の形態では、転送するデータとしては、ヘッダを有するパケットを想定して説明を行ったが、本発明はそのような構造を有するデータのみに限定されるものではないことはいうまでもない。
【０１４１】
また、以上に示した実施の形態は、本発明の一実施例であって、本発明がこのような場合のみに限定されるものでないことはもちろんである。
更に、図３に示すスイッチング処理部１２０をＬＳＩＣ（Large Scale Integrated Circuit）化し、１チップの半導体装置として実施することも可能であることはいうまでもない。
【０１４２】
また、スイッチング処理部１２０のみならず、中央処理部１０６、ＤＭＡＣ１０９、および、主記憶部１０８を適宜組み合わせて半導体装置として実施することも可能であることはいうまでもない。
【０１４３】
なお、以上の実施の形態では、受信データについては、データを１つのかたまりとして、データ送受信部からスイッチ部４０７を経由してホストＩ／Ｆ４５０へ転送し、また、送信データについては、同様にして内部バス１１０からホストＩ／Ｆ４５０を経由して送受信部へ転送するようにした。しかしながら、以下に示すように、データを複数の部分に分解し、それぞれのデータを逐次転送するようにしてもよい。
【０１４４】
即ち、データを受信する場合には、データ送受信部によって受信されつつあるデータを細分してスイッチ部４０７に徐々に転送し、スイッチ部４０７に全てのデータが蓄積された場合には、ホストＩ／Ｆ４５０に転送する。
【０１４５】
また、データを送信する場合には、ホストＩ／Ｆ４５０によって内部バス１１０から受信されつつあるデータを細分してスイッチ部４０７に徐々に転送し、スイッチ部４０７に全てのデータが蓄積された場合には、データ送受信部に転送する。
【０１４６】
このような構成によっても、前述したような本発明の効果を期待することが可能である。
また、以上の実施の形態では、データ送受信部（送信の場合はホストＩ／Ｆ４５０）にデータが格納されている場合に、宛先判定部４４０がデータの宛先を判定するようにしたが、データ送受信部（送信の場合はホストＩ／Ｆ４５０）からスイッチ部４５０へデータを転送する際に、内部バス４３０に現れるヘッダを参照することも可能である。
【０１４７】
更に、ＤＭＡＣ１０９が転送を開始するタイミングとしては、ホストＩ／Ｆ４５０の受信用バッファ５３５が十分な容量を有している場合、制御信号生成部４２６が、ホストＩ／Ｆ４５０の受信用バッファ５３５に所定量のデータが蓄積された場合に始めてＤＭＡＣ１０９に対して主記憶部１０８に転送するデータが存在する旨を通知するようにしてもよい。
【０１４８】
（付記１）  複数のポートの何れかから入力されたデータを、対応する他のポートに転送するためのスイッチング処理を行うスイッチ装置において、
データを入出力するための複数のポートと、
前記複数のポートから入力されたデータをその宛先に応じてスイッチングするスイッチング手段と、
前記ポートから入力されたデータを格納する格納手段と、
外部に配置され、前記格納手段に格納されているデータに対して所定の処理を施す処理装置から、前記格納手段へのアクセスを受け付けるアクセス受け付け手段と、
を有することを特徴とするスイッチ装置。
【０１４９】
（付記２）  前記格納手段は、前記ポートから入力されたデータを格納する第１の格納手段と、前記ポートへ出力するデータを格納する第２の格納手段とを有することを特徴とする付記１記載のスイッチ装置。
【０１５０】
（付記３）  前記第１および第２の格納手段は、データの書き込みと読み出しを同時に行うことが可能なデュアルポートメモリによってそれぞれ構成されていることを特徴とする付記２記載のスイッチ装置。
【０１５１】
（付記４）  前記格納手段は、データの書き込み、データの読み出し、および、前記処理装置からのアクセスとを、同時に実行可能なマルチポートメモリによって構成されていることを特徴とする付記１記載のスイッチ装置。
【０１５２】
（付記５）  前記処理装置は、バスによって接続されていることを特徴とする付記１記載のスイッチ装置。
（付記６）  前記処理装置は、ブリッジによって接続されていることを特徴とする付記１記載のスイッチ装置。
【０１５３】
（付記７）  複数のポートの何れかから入力されたデータを、対応する他のポートに転送するためのスイッチング処理を行うスイッチ装置と、必要に応じてデータに所定の処理を施す処理装置と、を有するデータ転送システムにおいて、
前記スイッチ装置は、
データを入出力するための複数のポートと、
前記複数のポートから入力されたデータをその宛先に応じてスイッチングするスイッチング手段と、
前記ポートから入力されたデータを格納する格納手段と、
前記処理装置による前記格納手段の所定のデータへのアクセスを受け付けるアクセス受け付け手段と、
を有することを特徴とするデータ転送システム。
【０１５４】
（付記８）  前記格納手段は、前記ポートから入力されたデータを格納する第１の格納手段と、前記ポートへ出力するデータを格納する第２の格納手段とを有することを特徴とする付記７記載のデータ転送システム。
【０１５５】
（付記９）  前記第１および第２の格納手段は、データの書き込みと読み出しを同時に行うことが可能なデュアルポートメモリによってそれぞれ構成されていることを特徴とする付記８記載のデータ転送システム。
【０１５６】
（付記１０）  前記格納手段は、データの書き込み、データの読み出し、および、前記処理装置からのアクセスとを、同時に実行可能なマルチポートメモリによって構成されていることを特徴とする付記７記載のデータ転送システム。
【０１５７】
（付記１１）  前記スイッチ装置と、処理装置とは、バスによって接続されていることを特徴とする付記７記載のデータ転送システム。
（付記１２）  前記スイッチ装置と、処理装置とは、ブリッジによって接続されていることを特徴とする付記７記載のデータ転送システム。
【０１５８】
（付記１３）  前記処理装置が実行するプログラムを格納した記憶装置を更に有することを特徴とする付記７記載のデータ転送システム。
【０１５９】
【発明の効果】
以上説明したように本発明では、複数のポートの何れかから入力されたデータを、対応する他のポートに転送するためのスイッチング処理を行うスイッチ装置において、データを入出力するための複数のポートと、複数のポートから入力されたデータをその宛先に応じてスイッチングするスイッチング手段と、ポートから入力されたデータのうち、処理装置によって処理が必要なデータを、処理装置からのアクセスがあるまで他の記憶手段へ転送することなく格納する格納手段と、処理装置から、格納手段へのアクセスを受け付けるアクセス受け付け手段と、を設けるようにしたので、データの処理を迅速に行うことが可能になる。
【０１６０】
また、複数のポートの何れかから入力されたデータを、対応する他のポートに転送するデータ転送システムにおいて、必要に応じてデータに所定の処理を施す処理装置と、データを入出力するための複数のポートと、複数のポートから入力されたデータをその宛先に応じてスイッチングするスイッチング手段と、ポートから入力されたデータのうち、処理装置によって処理が必要なデータを、前記処理装置からのアクセスがあるまで他の記憶手段へ転送することなく格納する格納手段と、処理装置から格納手段へのアクセスを受け付けるアクセス受け付け手段と、を備えるスイッチ装置とを設けるようにしたので、処理装置の処理が追いつかずにデータが喪失することを防止することが可能になる。
【図面の簡単な説明】
【図１】本発明の動作原理を説明する原理図である。
【図２】本発明のスイッチ装置を含むシステムの構成例を示すブロック図である。
【図３】図２に示すスイッチ装置の詳細な構成例を示す図である。
【図４】図３に示すスイッチング処理部の詳細な構成例を示す図である。
【図５】図４に示すホストＩ／Ｆの詳細な構成例を示す図である。
【図６】図５に示す汎用メモリＩ／Ｆの詳細な構成例を示す図である。
【図７】図１７に示す従来のスイッチ装置の受信処理の一例を説明するフローチャートである。
【図８】図１７に示す従来のスイッチ装置の送信処理の一例を説明するフローチャートである。
【図９】図２に示す本実施の形態の受信処理の一例を説明するフローチャートである。
【図１０】図２に示す本実施の形態の送信処理の一例を説明するフローチャートである。
【図１１】図４に示すホストＩ／Ｆの他の構成例を示す図である。
【図１２】図４に示すホストＩ／Ｆの他の構成例を示す図である。
【図１３】図４に示すホストＩ／Ｆの他の構成例を示す図である。
【図１４】図４に示すホストＩ／Ｆの他の構成例を示す図である。
【図１５】本発明のスイッチ装置の他の構成例を示す図である。
【図１６】本発明のスイッチ装置の更に他の構成例を示す図である。
【図１７】従来のスイッチ装置の詳細な構成例を示す図である。
【図１８】図１７に示すスイッチング処理部の詳細な構成例を示す図である。
【図１９】図１８に示すホストＩ／Ｆの詳細な構成例を示す図である。
【符号の説明】
１  スイッチ装置
１−１〜１−ｎ  ポート
１ａ  スイッチング手段
１ｂ  バス
１ｃ  格納手段
１ｄ  アクセス受け付け手段
２  バス
３  処理装置
５０  スイッチ装置
５１，５２  周辺装置
１０６  中央処理部
１０８  主記憶部
１０９  ＤＭＡＣ
１１０  内部バス
１１１ａ  汎用メモリＩ／Ｆ
１１１ｂ  記憶部
１２０  スイッチング処理部
４０３ａ〜４０３ｎ  データ送受信部
４０７  スイッチ部
４２６  制御信号生成部
４３０  内部バス
４４０  宛先判定部
４５０  ホストＩ／Ｆ
５３０  汎用メモリＩ／Ｆ
５３２  送信用ＲＡＭ
５３３  受信用ＲＡＭ
５３４  送信用バッファ
５３５  受信用バッファ
７０１  制御信号バッファ部
７０２  アドレスバッファ部
７０３  制御回路
７０４  データバッファ部
７０５  データ入出力制御部
【図１】
0003897994.tif 000002
【図２】
0003897994.tif 000003
【図３】
0003897994.tif 000004
【図４】
0003897994.tif 000005
【図５】
0003897994.tif 000006
【図６】
0003897994.tif 000007
【図７】
0003897994.tif 000008
【図８】
0003897994.tif 000009
【図９】
0003897994.tif 000010
【図１０】
0003897994.tif 000011
【図１１】
0003897994.tif 000012
【図１２】
0003897994.tif 000013
【図１３】
0003897994.tif 000014
【図１４】
0003897994.tif 000015
【図１５】
0003897994.tif 000016
【図１６】
0003897994.tif 000017
【図１７】
0003897994.tif 000018
【図１８】
0003897994.tif 000019
【図１９】
0003897994.tif 000020