(57)【要約】【課題】ＣＰＵ負荷を削減でき、機能の拡張性に優れた構内交換機及びデータ転送処理システムを提供することを目的とする。【解決手段】本発明は、ｎチャンネル送信バッファ部５にシステムデータ記憶部２の通信データを所定バイト数ずつ一時的に格納させ、格納終了の信号を受け取ると、一時的に格納したデータを通信モジュールへ送信するとともに、転送バイト数をカウントして全転送バイト数分のデータ転送が完了するまで繰り返すｎチャンネル送信制御部７と、通信モジュールから送られてくるデータをｎチャンネル受信バッファに一時的に格納させ、このデータをシステムデータ記憶部２に格納させ、転送終了の信号を受け取ると、転送バイト数をカウントして全転送バイト数分のデータ転送が完了するまで繰り返すｎチャンネル受信制御部８と、を備えたことを特徴とする。【選択図】図１
2005267324.tif 000002
【特許請求の範囲】
【請求項１】
外部装置との通信チャンネルを複数有し、システム制御部、システムデータ記憶部及びメモリインタフェース部を直結したシステムバスと、前記通信チャンネルと複数の通信モジュールの１つとをそれぞれ独立して直結する複数のローカルバスとを備え、各通信モジュールを介してシステムデータ記憶部に格納されているデータを前記外部装置へ転送し、該外部装置から送信された通信データを前記システムデータ記憶部に格納する構内交換機であって、
転送リクエスト要因の中から優先順位の高い要求を確定し、前記メモリインタフェース部に該要求を通知する最終チャンネル選択部と、
前記最終チャンネル選択部に対して、ｎチャンネル送信バッファ部にシステムデータ記憶部の通信データを所定バイト数ずつ一時的に格納するように要求し、格納終了の信号を受け取ると、一時的に格納したデータを前記通信モジュールへ送信するとともに、転送バイト数をカウントして全転送バイト数分のデータ転送が完了するまで繰り返すｎチャンネル送信制御部と、
前記通信モジュールから送られてくるデータをｎチャンネル受信バッファに一時的に格納させ、最終チャンネル選択部に対して、ｎチャンネル受信バッファ部に格納しているデータをシステムデータ記憶部に格納するように要求し、転送終了の信号を受け取ると、転送バイト数をカウントして全転送バイト数分のデータ転送が完了するまで繰り返すｎチャンネル受信制御部と、
最終チャンネル選択部の指示によって、バス権を確保してシステムデータ記憶部から一定量の通信データをｎチャンネル送信バッファ部に格納し、バス権を確保してｎチャンネル受信バッファ部に格納されている一定量の通信データをシステムデータ記憶部に転送するメモリインタフェース部と、を備えたことを特徴とする構内交換機。
【請求項２】
前記ｎチャンネル受信制御部がエンドオブパケット検出機能を備えたことを特徴とする請求項１記載の構内交換機。
【請求項３】
前記ｎチャンネル送信制御部がエンドオブパケット挿入機能を備えたことを特徴とする請求項１または２に記載の構内交換機。
【請求項４】
前記システム制御部に強制終了モードを設け、前記ｎチャンネル受信制御部が自動バッファ吐き出し機能を備えたことを特徴とする請求項１記載の構内交換機。
【請求項５】
エラー情報記憶部を備え、前記通信モジュールから前記システムデータ記憶部に送られたデータ中にエラーデータが含まれていたか否か、エラーの種類かを判断するエラー保持機能を備えたことを特徴とする請求項１〜４のいずれか１に記載の構内交換機。
【請求項６】
外部装置との通信チャンネルを複数有し、システム制御部、システムデータ記憶部及びメモリインタフェース部を直結したシステムバスと、前記通信チャンネルと複数の通信モジュールの１つとをそれぞれ独立して直結する複数のローカルバスとを備え、各通信モジュールを介してシステムデータ記憶部に格納されているデータを前記外部装置へ転送し、該外部装置から送信された通信データを前記システムデータ記憶部に格納するデータ転送処理システムであって、
転送リクエスト要因の中から優先順位の高い要求を確定し、前記メモリインタフェース部に該要求を通知する最終チャンネル選択部と、
前記最終チャンネル選択部に対して、ｎチャンネル送信バッファ部にシステムデータ記憶部の通信データを所定バイト数ずつ一時的に格納するように要求し、格納終了の信号を受け取ると、一時的に格納したデータを前記通信モジュールへ送信するとともに、転送バイト数をカウントして全転送バイト数分のデータ転送が完了するまで繰り返すｎチャンネル
送信制御部と、
前記通信モジュールから送られてくるデータをｎチャンネル受信バッファに一時的に格納させ、最終チャンネル選択部に対して、ｎチャンネル受信バッファ部に格納しているデータをシステムデータ記憶部に格納するように要求し、転送終了の信号を受け取ると、転送バイト数をカウントして全転送バイト数分のデータ転送が完了するまで繰り返すｎチャンネル受信制御部と、
最終チャンネル選択部の指示によって、バス権を確保してシステムデータ記憶部から一定量の通信データをｎチャンネル送信バッファ部に格納し、バス権を確保してｎチャンネル受信バッファ部に格納されている一定量の通信データをシステムデータ記憶部に転送するメモリインタフェース部と、を備えたことを特徴とするデータ転送処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部装置との通信チャンネルを複数有し、ＤＭＡ転送を行うことができる構内交換機、及びＤＭＡ転送を行うデータ転送処理システムに関するものである。
【背景技術】
【０００２】
従来、構内交換機が外部装置と通信を行う場合、構内交換機内部のデータ転送処理に関しては、ＣＰＵ自体が、内部のメモリと通信モジュール間の転送を行っていた。しかしながら、本方式だと転送処理期間中は、ＣＰＵが独占されてしまい他の処理ができなくなる。このためシステム全体のパフォーマンスが、通信データ量や通信チャンネル数に大きく影響を受けることになる。この問題を解決する方法として、上記のデータ転送処理をＣＰＵに内蔵または外付けのＤＭＡＣ（Direct Memory Access controller）にて行うことで対応していた。
【０００３】
しかし、ＤＭＡＣで転送処理を行うといっても、複数の通信チャンネルに同時に転送要求が発生したときに、規定の優先順位に従って優先順位の高い通信チャンネルの転送が開始され、一度開始されるとそのチャンネルの転送終了条件が成立するまでこの転送要求にＣＰＵバスが独占され、他のチャンネルは転送待ち状態になる。従って、あるチャンネルの転送データ量が多ければ多いほど、また転送待ちのチャンネルが多ければ多いほど、転送待ち時間は長くなり、規定の転送レートを確保しなくてはいけないチャンネルでは、不具合が発生するという問題があった。
【０００４】
また、転送中はＣＰＵバスがＤＭＡＣに取られることになるので、ＣＰＵが外部メモリにアクセスせずに行える処理に関しては問題ないが、逆に外部メモリに頻繁にアクセスする必要のあるシステムにおいては、やはり転送データ量が多ければ多いほど、システム全体のパフォーマンスは劣化するといった問題があった。
【０００５】
そして、ＤＭＡＣ転送の場合、転送開始前に予め転送させたいデータ量を設定しておく必要があるが、転送元がＨＤＬＣ（High-level Data Link Control procedure）プロトコルの場合のように、予め送られてくるデータ量が分らない場合は、いきなり終了信号であるエンドオブパケット信号を送ることで転送終了を行わなくてはならないため、必ずＣＰＵを介在させなくてはならないという問題があった。
【０００６】
さらに、転送先がＨＤＬＣプロトコルの場合には、最終データと同時にエンドオブパケット信号のアサート（assert）が必要であり、その最終データ書き込み時にＣＰＵが介在しなくてはならない。そして、受信転送の途中で強制終了させたときには、ＤＭＡＣ内蔵バッファに格納されているデータはそのままになる。このため、このバッファに残されたデータが転送先に転送されていれば、再送する必要がないケースでも、再送を行わなければならないという問題があった。
【０００７】
そして、転送元がＵＡＲＴ（Universal Asynchronous Receiver Transmitter）モジュールのように転送データ中に転送終了信号がないような相手の場合には、ＣＰＵの介在が必要で、再送を行う頻度が高い。また、ＤＭＡＣには各転送元モジュールのエラー保持機能がないために、転送してしまったデータ中にエラーデータが含まれていたかどうかの確認ができないという問題があった。
【特許文献１】特開平０５−１９７６５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
近年、構内交換機に接続される外部装置の数や種類も増えてきているといった状況において、構内交換機の上述の問題点は仕様上大きな制限となっていた。具体的には、規定の転送レート確保が必要な通信の数に制限を設けなければならなかったり、その転送するデータ量に制限が必要になるなどの問題があった。
【０００９】
また、転送元がＨＤＬＣプロトコルの場合の転送には、ＣＰＵが介在する必要が生じてくることから、システムパフォーマンスの低下は避けられない。従って、ＨＤＬＣ通信チャンネルの数に制限が必要になるなどの問題があった。同様に、転送先がＨＤＬＣプロトコルの場合は、最終データと同時にエンドオブパケット信号をアサートする必要があるために、ＣＰＵの介在が必要となり、その結果、システム全体のパフォーマンス低下につながる。従って、ＨＤＬＣ通信チャンネルの数に制限が必要になるなどの問題があった。
【００１０】
また、ＤＭＡ転送を強制終了させた場合、従来その瞬間にＤＭＡＣ内蔵バッファに格納されているデータは転送されることはなかった。その結果、再送が発生するということが比較的稀ではあるが発生した。そして、これがシステムパフォーマンス低下につながるといった問題があった。また、エラー保持機能がないということは、転送はできたものの、その転送データの信頼性は保障されておらず、これが原因でシステムの信頼性を損なうといった問題や、データの信頼性を優先に考えるならば、転送処理をＣＰＵで行う必要があり、その結果としてシステムパフォーマンスは低下するという問題があった。
【００１１】
そこで本発明の課題は、通信チャンネルの数や通信データ量の増加によるＣＰＵ負荷を削減でき、システムパフォーマンスが高く、機能の拡張性に優れた構内交換機及びデータ転送処理システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、外部装置との通信チャンネルを複数有し、システム制御部、システムデータ記憶部及びメモリインタフェース部を直結したシステムバスと、通信チャンネルと複数の通信モジュールの１つとをそれぞれ独立して直結する複数のローカルバスとを備え、各通信モジュールを介してシステムデータ記憶部に格納されているデータを外部装置へ転送し、該外部装置から送信された通信データをシステムデータ記憶部に格納する構内交換機であって、転送リクエスト要因の中から優先順位の高い要求を確定し、メモリインタフェース部に該要求を通知する最終チャンネル選択部と、最終チャンネル選択部に対して、ｎチャンネル送信バッファ部にシステムデータ記憶部の通信データを所定バイト数ずつ一時的に格納するように要求し、格納終了の信号を受け取ると、一時的に格納したデータを通信モジュールへ送信するとともに、転送バイト数をカウントして全転送バイト数分のデータ転送が完了するまで繰り返すｎチャンネル送信制御部と、通信モジュールから送られてくるデータをｎチャンネル受信バッファに一時的に格納させ、最終チャンネル選択部に対して、ｎチャンネル受信バッファ部に格納しているデータをシステムデータ記憶部に格納するように要求し、転送終了の信号を受け取ると、転送バイト数をカウントして全転送バイト数分のデータ転送が完了するまで繰り返すｎチャンネル受信制御部と、最終チャンネル選択部の指示によって、バス権を確保してシステムデータ記憶部から一定量の通信データをｎチャンネル送信バッファ部に格納し、バス権を確保してｎチャンネル受信バッファ部に格納されている一定量の通信データをシステムデータ記憶部に転送するメモリインタフェース部と、を備えたことを特徴とする。
【発明の効果】
【００１３】
本発明の構内交換機によれば、外部装置との通信において、ＣＰＵのパフォーマンスを使用するケースが極端に減ることになり、規定の転送レート確保が必要な通信の数に制限を設けたり、その転送するデータ量及び種類に制限を設ける必要がなくなる。さらに、転
送処理の信頼性も向上する。
【発明を実施するための最良の形態】
【００１４】
本発明の第１の形態は、外部装置との複数の通信チャンネルを複数有し、処理の一元管理と制御を行うシステム制御部、通信データ等を記憶するシステムデータ記憶部及びメモリインタフェース部を直結したシステムバスと、通信チャンネルと複数の通信モジュールの１つとをそれぞれ独立して直結する複数のローカルバスとを備え、各通信モジュールを介してシステムデータ記憶部に格納されているデータを外部装置へ転送し、該外部装置から送信された通信データをシステムデータ記憶部に格納する構内交換機であって、転送リクエスト要因の中から優先順位の高い要求を確定し、メモリインタフェース部に該要求を通知する最終チャンネル選択部と、最終チャンネル選択部に対して、ｎチャンネル送信バッファ部にシステムデータ記憶部の通信データを所定バイト数ずつ一時的に格納するように要求し、格納終了の信号を受け取ると、一時的に格納したデータを通信モジュールへ送信するとともに、転送バイト数をカウントして全転送バイト数分のデータ転送が完了するまで繰り返すｎチャンネル送信制御部と、通信モジュールから送られてくるデータをｎチャンネル受信バッファに一時的に格納させ、最終チャンネル選択部に対して、ｎチャンネル受信バッファ部に格納しているデータをシステムデータ記憶部に格納するように要求し、転送終了の信号を受け取ると、転送バイト数をカウントして全転送バイト数分のデータ転送が完了するまで繰り返すｎチャンネル受信制御部と、最終チャンネル選択部の指示によって、バス権を確保してシステムデータ記憶部から一定量の通信データをｎチャンネル送信バッファ部に格納し、バス権を確保してｎチャンネル受信バッファ部に格納されている一定量の通信データをシステムデータ記憶部に転送するメモリインタフェース部と、を備えた構内交換機であり、複数の通信モジュールが同時に転送要求を発生し、優先順位の高いチャンネルの転送が最初に開始されたとしても、指定された一定のデータ量の転送が終了すると、一旦待ち状態に入り、次に優先順位が高いチャンネルの転送を開始する。
【００１５】
このチャンネルも同様に一定のデータ転送が終了すると一旦待ち状態に入る。各チャンネルとも短いバースト転送を交互に繰り返しながら、転送終了条件が成立するまで動作する。この結果、いくら各チャンネルの転送回数が多かろうと、最大待ち時間に影響しないし、また転送待ちチャンネル数による待ち時間への影響も軽減される。また、各チャンネル毎にバッファを持たせ、各バッファと各通信モジュールとの間にローカルバスを設けることで、ＤＭＡ転送におけるＣＰＵバスの拘束時間が半分になるため、システムパフォーマンスが向上する。
【００１６】
本発明の第２の形態は、第１の形態に従属する形態であって、ｎチャンネル受信制御部がエンドオブパケット検出機能を備えた構内交換機であり、転送元がＨＤＬＣプロトコル等のように予め転送データ量がわからない場合でも、ｎチャンネル受信制御部によってエンドオブパケットを検出したら強制的に動作を正常終了させることが可能となり、ＣＰＵが介在する必要がなくなり、システムパフォーマンスが向上する。
【００１７】
本発明の第３の形態は、第１または２の形態に従属する形態であって、ｎチャンネル送信制御部がエンドオブパケット挿入機能を備えた構内交換機であり、転送先がＨＤＬＣプロトコル等の場合においても、ｎチャンネル送信制御部によって最終データ転送時にエンドオブパケット信号をアサートする機能が実現でき、システムパフォーマンスが向上する。
【００１８】
本発明の第４の形態は、第１の形態に従属する形態であって、システム制御部に強制終了モードを設け、ｎチャンネル受信制御部が自動バッファ吐き出し機能を備えた構内交換機であり、転送元がＵＡＲＴモジュールのように予め転送されてくるデータ量が不明で、且つ最終データを示す転送終了信号がないような相手の場合、再送処理を行う必要がなく
なる。
【００１９】
本発明の第５の形態は、第１〜４のいずれかの形態に従属する形態であって、エラー情報記憶部を備え、通信モジュールからシステムデータ記憶部に送られたデータ中にエラーデータが含まれていたか否か、エラーの種類かを判断するエラー保持機能を備えた構内交換機であり、構内交換機にエラー情報記憶部を追加することで、各通信モジュールからシステムデータ記憶部に送られたデータ中にエラーデータが含まれているか否か、またどのようなエラーであったのかを判断できるようになり、システムの信頼性が向上する。
【００２０】
本発明の第６の形態は、外部装置との通信チャンネルを複数有し、システム制御部、システムデータ記憶部及びメモリインタフェース部を直結したシステムバスと、通信チャンネルと複数の通信モジュールの１つとをそれぞれ独立して直結する複数のローカルバスとを備え、各通信モジュールを介してシステムデータ記憶部に格納されているデータを外部装置へ転送し、該外部装置から送信された通信データをシステムデータ記憶部に格納するデータ転送処理システムであって、転送リクエスト要因の中から優先順位の高い要求を確定し、メモリインタフェース部に該要求を通知する最終チャンネル選択部と、最終チャンネル選択部に対して、ｎチャンネル送信バッファ部にシステムデータ記憶部の通信データを所定バイト数ずつ一時的に格納するように要求し、格納終了の信号を受け取ると、一時的に格納したデータを通信モジュールへ送信するとともに、転送バイト数をカウントして全転送バイト数分のデータ転送が完了するまで繰り返すｎチャンネル送信制御部と、通信モジュールから送られてくるデータをｎチャンネル受信バッファに一時的に格納させ、最終チャンネル選択部に対して、ｎチャンネル受信バッファ部に格納しているデータをシステムデータ記憶部に格納するように要求し、転送終了の信号を受け取ると、転送バイト数をカウントして全転送バイト数分のデータ転送が完了するまで繰り返すｎチャンネル受信制御部と、最終チャンネル選択部の指示によって、バス権を確保してシステムデータ記憶部から一定量の通信データをｎチャンネル送信バッファ部に格納し、バス権を確保してｎチャンネル受信バッファ部に格納されている一定量の通信データをシステムデータ記憶部に転送するメモリインタフェース部と、を備えたデータ転送処理システムである。
【００２１】
複数の通信モジュールが同時に転送要求を発生し、優先順位の高いチャンネルの転送が最初に開始されたとしても、指定された一定のデータ量の転送が終了すると、一旦待ち状態に入り、次に優先順位が高いチャンネルの転送を開始する。このチャンネルも同様に一定のデータ転送が終了すると一旦待ち状態に入る。各チャンネルとも短いバースト転送を交互に繰り返しながら、転送終了条件が成立するまで動作する。この結果、いくら各チャンネルの転送回数が多かろうと、最大待ち時間に影響しないし、また転送待ちチャンネル数による待ち時間への影響も軽減される。また、各チャンネル毎にバッファを持たせ、各バッファと各通信モジュールとの間にローカルバスを設けることで、ＤＭＡ転送におけるＣＰＵバスの拘束時間が半分になるため、システムパフォーマンスが向上する。このデータ転送処理システムには、上述の第２〜５の形態をもたせることができる。このとき作用効果は第２〜５の形態と同様となる。
【実施例】
【００２２】
（実施例１）
本発明の実施例１の構内交換機とデータ転送処理システムについて説明する。データ転送処理システムの一例が構内交換機である。図１は本発明の実施例１における構内交換機を示すブロック図である。図１において、１は構内交換機全体の動作を管理し制御するシステム制御部、２は構内交換機を動作させるためのプログラムや演算データ及び外部装置との通信データ等が蓄積されたシステムデータ記憶部、３はそれぞれの通信プロトコルで通信するための複数の通信モジュールで構成された通信モジュール群、４はシステムバスの確保と開放を行うメモリインタフェース部である。
【００２３】
５はｎチャンネル（ｎ＝１，・・，Ｎ）の一定量の送信データを一時格納するｎチャンネル送信バッファ部、６はｎチャンネル（ｎ＝１，・・，Ｎ）の一定量の受信データを一時格納するｎチャンネル受信バッファ部、７はｎチャンネル（ｎ＝１，・・，Ｎ）の一定量の送信データの制御を行うｎチャンネル送信制御部、８はｎチャンネル（ｎ＝１，・・，Ｎ）の一定量の受信データの制御を行うｎチャンネル受信制御部である。
【００２４】
また、９は転送リクエストで優先順位が一番高い要求を確定してメモリインタフェース部４によりシステムバスの確保と開放をさせる最終チャンネル選択部、１０は割り込み制御部、１１はシステムバス、１２は複数のローカルバスである。システムバス１１は、システム制御部１やシステムデータ記憶部２、メモリインタフェース部４等といったシステムの主要ブロックを直結し、ローカルバス１２は各チャンネルと各通信モジュールとをそれぞれ独立して直結する。そして１３はエラー情報記憶部である。このエラー情報記憶部１３は、転送中のデータにエラーが発生する毎に、通信モジュール群３から送出されるリアルタイムエラー情報を記憶するものである。
【００２５】
このように構成された構内交換機について、その機能を説明する。構内交換機のシステム制御部１は、構内交換機としての動作を一元管理して制御し、ｎチャンネル（ｎ＝１，・・，Ｎ）のうちのどのチャンネルを使うか、ｎチャンネル送信制御部７をコントロールすることで、システムデータ記憶部２に格納されているデータを通信モジュール群３経由で外部装置（図示しない）へ転送させたり、逆に、ｎチャンネル受信制御部８をコントロールすることで、外部装置から送信された通信データを通信モジュール群３経由でシステムデータ記憶部２に格納させたりする。
【００２６】
この通信モジュール群３は、それぞれ異なる通信プロトコルで通信するための通信モジュール１〜ｋのｋ個のモジュールから構成され、コンピュータ装置や他の構内交換機またはデジタル電話機（以下、ＤＰＩＴＳ）等の外部装置と、それぞれに対応した通信モジュールでデータ通信を行う。なお、通信モジュールの数ｋは、構内交換機に接続される外部装置の種類により決定される。また、図１に示したｎチャンネル送信制御部７とｎチャンネル送信バッファ部５から構成される送信チャンネルブロックＡ、または、ｎチャンネル受信制御部８とｎチャンネル受信バッファ部６から構成される受信チャンネルブロックＢは、通信モジュール群３の通信モジュール数ｋ（もしくはＮ）に対応して、プロトコル単位でｋ（もしくはＮ）個の複数のブロックから構成してもよい。
【００２７】
メモリインタフェース部４は、最終チャンネル選択部９の指示によって、システム制御部１に対してシステムバス１１の開放要求を行い、バス権を確保中にシステムデータ記憶部２から一定量の通信データをｎチャンネル送信バッファ部５に格納させ、格納直後にバス権を開放する処理と、逆に、最終チャンネル選択部９の指示によって、システム制御部１に対してシステムバス１１の開放要求を行い、バス権を確保中にｎチャンネル受信バッファ部６に格納されている一定量の通信データをシステムデータ記憶部２に転送し、転送直後にバス権を開放する処理を行う。
【００２８】
このｎチャンネル送信バッファ部５は、メモリインタフェース部４からのライト信号等の制御信号により、システムデータ記憶部２の通信データを一時的に任意に決定された所定のバイト数分だけ格納し、ｎチャンネル受信バッファ部６は、ｎチャンネル受信制御部８からの指示によって、通信モジュール群３から送信されてくる通信データを一時的に任意に決定された所定のバイト数分だけ格納する。
【００２９】
ｎチャンネル送信制御部７は、システム制御部１によってｎチャンネルがアクティブになると、最終チャンネル選択部９に対して、ｎチャンネル送信バッファ部５にシステムデ
ータ記憶部２の通信データを所定のバイト数分一時的に格納するように要求するとともに、メモリインタフェース部４からｎチャンネル送信バッファ部５への格納終了の信号を受け取ると、通信モジュール群３へライト信号等の制御信号を生成し、この一時的に格納しているｎチャンネル送信バッファ部５のデータを通信モジュール群３へ送信させる。ｎチャンネル送信制御部７はこの所定バイト数単位の転送を繰り返す。このときｎチャンネル送信制御部７は常にトータルの転送バイト数をカウントし、所望の全転送バイト数分のデータ転送が完了するまでこの転送のサイクルを繰り返し、全てのデータ転送が終了したと判断したら割り込み制御部１０に対して転送完了の通知信号を生成させる。
【００３０】
同様にｎチャンネル受信制御部８は、システム制御部１によりｎチャンネルがアクティブになると、この通信モジュールへリード信号等の制御信号を生成して、通信モジュールから送られてくる所定バイト数のデータをｎチャンネル受信バッファ部６に一時的に格納させ、最終チャンネル選択部９に対して、ｎチャンネル受信バッファ部６に一時的に格納しているデータをシステムデータ記憶部２に格納するように要求し、メモリインタフェース部４から転送終了の信号を受け取ると、転送完了バイト数をカウントしていき、所望の全転送バイト数分のデータ転送が完了するまで所定バイト数の転送のサイクルを繰り返し、全てのデータ転送が終了したと判断したら割り込み制御部１０に対して転送完了の通知信号を生成する。
【００３１】
ところで最終チャンネル選択部９は、１〜Ｎの各ｎチャンネル送信制御部７と１〜Ｎの各ｎチャンネル受信制御部８から上がってくる多くの転送リクエスト要因の中から、現在要求を出している要因を抽出した上で、優先順位が一番高い要求を確定し、メモリインタフェース部４にその要因を知らせる。割り込み制御部１０は、処理中の各ｎチャンネル送信制御部７と各ｎチャンネル受信制御部８から全データの転送が終了したことを知らせる信号を受け取ったら、システム制御部１に対し、割り込み信号を生成すると同時に、１〜Ｎの複数の転送チャンネルの中で、どのチャンネルの転送が終了したのかのステータス情報を保持する。
【００３２】
このステータス情報を基にシステム制御部１は選択するチャンネルを決定し、ｎチャンネルをアクティブにする。送信を行う場合には、ｎチャンネル送信制御部７は、最終チャンネル選択部９に対して、ｎチャンネル送信バッファ部５にシステムデータ記憶部２の通信データを所定のバイト数単位で繰り返し転送するように要求する。受信を行う場合にはｎチャンネル受信制御部８は、最終チャンネル選択部９に対して、通信モジュールから送られてくる所定バイト数のデータをｎチャンネル受信バッファ部６に繰り返し転送し、このｎチャンネル受信バッファ部６に一時的に格納しているデータをシステムデータ記憶部２に格納するように要求する。
【００３３】
これによって、各チャンネルとも一定の転送レートを確保しつつ短いバースト転送を交互に繰り返しながら、転送終了条件が成立するまで動作し、いくら各チャンネルの転送回数が多くても待ち時間が大きくなることはないし、また転送待ちチャンネル数が多くても待ち時間が大きくなることもない。また、各チャンネルごとにバッファを持たせ、各バッファと各通信モジュールとの間にローカルバス１２を設けることで、ＤＭＡ転送におけるシステムバス１１の拘束時間が半分になり、システムパフォーマンスが向上する。
【００３４】
このような構成、機能を有する構内交換機のＨＤＬＣプロトコルを使って実行する転送動作について図２に基づいて説明する。図２はＨＤＬＣプロトコルを使って外部装置と送受信転送を同時に行う動作を示すフローチャートである。ＨＤＬＣの場合の転送は、ＣＰＵによってエンドオブパケット信号をアクティブにするなど、転送元であっても転送先であってもＣＰＵが介在するため通信チャンネルの数に制限が必要になるものである。
【００３５】
図２において、まず、ステップ（Ｓ１）として、システム制御部１はＨＤＬＣプロトコルを使ってコマンドを外部装置へ送信するための転送処理を開始する。すなわち、システム制御部１は、当初、送信したいコマンドやデータをシステムデータ記憶部２に格納する。送信したい全データ量の転送処理が終わった時点で、システム制御部１に割り込みを発生させるときは、割り込み制御部１０のこのチャンネル割り込みイネーブルビットをアクティブにする。
【００３６】
次にコマンドやデータを外部装置に送る通信モジュールのＤＭＡ送信制御を司るｎチャンネル送信制御部７に対して、送信コマンドが格納されているシステムデータ記憶部２のアドレスや、その送信したいコマンドの全データ量及びその送信コマンドを、１６Ｂｙｔｅや８Ｂｙｔｅ等の細かなデータ量のバースト転送を繰り返すことで所望の全データ量の転送を行うように命じ、そのバースト転送用の中間バッファとして設けたｎチャンネル送信バッファ部５に格納するバーストデータ量を予め通知したのち、送信開始の指示を出す。
【００３７】
このとき従来のように一度に全データ量を転送しないため、各チャンネルとも一定の転送レートを確保しつつ細かなデータ量単位によって転送されるため転送回数が多くてもチャンネルごとの待ち時間は分散し、最大待ち時間が大きくなることはないし、また転送待ちチャンネル数による待ち時間が大きくなることはない。ｎチャンネル受信制御部８からの要求は場合によって待たされることにはなるが、各チャンネルの転送占有時間は、各チャンネルがｎチャンネル送信バッファ部５に格納するデータ量から算出でき、待ち時間は各チャンネルで分散する。
【００３８】
次に、ステップ（Ｓ２）として、コマンドを送り終わるまで短いＤＭＡ転送を繰り返す。すなわち、指示を受けたｎチャンネル送信制御部７が、最終チャンネル選択部９に対して、送信要求信号を送出する。要求を受けた最終チャンネル選択部９は、他にも送信要求または受信要求を出しているチャンネルがシステム上存在しないか確認し、複数のチャンネルから要求が上がってきている場合は、優先度の高いチャンネルの要求処理を先に実行する。
【００３９】
このとき他の要求がない場合には、最終チャンネル選択部９はメモリインタフェース部４に対して送信要求があったチャンネルの送信処理を行うよう指示する。指示を受けたメモリインタフェース４は、システム制御部１に対しシステムバス１１のマスター権利を放棄するよう要求し、システム制御部１は、要求を受けると、早い段階でバス権を開放するとともに、開放したことをメモリインタフェース部４に通知する。
【００４０】
開放の通知を受け取ったメモリインタフェース部４は、この送信チャンネルの情報として予めＳ１にて登録されている転送元となるシステムデータ記憶部２内の転送開始アドレスやｎチャンネル送信バッファ部５にバースト転送するデータ量の情報を基に、データ読み出し制御信号をシステムデータ記憶部２に対し生成し、データ書き込み制御信号をｎチャンネル送信バッファ部５に対しても生成する。これにより所望のバーストデータ量をｎチャンネル送信バッファ部５に格納することができる。そしてメモリインタフェース部４は格納完了の信号をｎチャンネル送信制御部７に送り、この信号を受け取ったｎチャンネル送信制御部７は、ローカルバス１２経由で通信モジュール群３の中の１の通信モジュールに対して書き込み制御信号を生成する。
【００４１】
同時にｎチャンネル送信バッファ部５に対しても格納したデータの送信切り替え制御信号を単数または複数回生成することにより、この通信モジュールにｎチャンネル送信バッファ部５に格納されているデータを全て書き込む。次いで最初に設定した外部装置へ送信すべき全データ量から、今回この通信モジュールに送信したバーストデータ量を差し引き
、全送信データの転送が完了するまでバーストデータ量単位のＤＭＡ転送を繰り返し行う。
【００４２】
続いて、ステップ（Ｓ３）として、外部装置からＨＤＬＣプロトコルを使ってコマンドを受信するための転送処理を開始する。すなわち、システム制御部１は受信したい全データ量の転送処理が終わった時点で、システム制御部１に割り込みを発生させるときは、割り込み制御部１０のチャンネル割り込みイネーブルビットをアクティブにする。次に外部装置から送信されてくるコマンドを受信する通信モジュールとシステムデータ記憶部２間のＤＭＡ受信制御を行うｎチャンネル受信制御部８に対して、受信コマンドを格納するシステムデータ記憶部２のアドレスの通知および本発明では受信コマンドを１６Ｂｙｔｅや８Ｂｙｔｅ等の細かなデータ量のバースト転送を繰り返すことで受信を行い、一度に全データ量をバースト転送しない。そのバースト転送用に中間バッファとして設けたｎチャンネル受信バッファ部６に格納するデータ量を予め通知し、受信開始の指示を出す。
【００４３】
次に、ステップ（Ｓ４）としてコマンドを受信終了するまでの短いＤＭＡ転送を繰り返す。すなわち、指示を受けたｎチャンネル受信制御部８は、予めＳ３にて登録しておいたｎチャンネル受信バッファ部６に格納すべきバーストデータ量の情報を基に、ローカルバス１２経由で通信モジュール群３の１の通信モジュールに対して読み出し制御信号を生成する。これと同時にｎチャンネル受信バッファ部６に対してもデータ取り込み制御信号を単数または複数回生成する。
【００４４】
この結果、所望のデータ量の転送が終了した時点でｎチャンネル受信制御部８は最終チャンネル選択部９に対して受信要求信号を送出する。要求を受けた最終チャンネル選択部９は、他に送信要求または受信要求を出しているチャンネルがシステム上存在していないか確認し、複数のチャンネルから要求が上がってきている場合は、優先度の高いチャンネルの要求処理を実行する。このとき、たまたまＳ２の処理を繰り返している送信チャンネルからも送信要求が上がっている場合、最終チャンネル選択部９は優先度の高いｎチャンネル送信制御部７の要求を選択し、その処理を行うようにメモリインタフェース部４に指示する。
【００４５】
従って、このときｎチャンネル受信制御部８からの受信要求は待たされることにはなるが、各チャンネルの転送占有時間は、各チャンネルがＳ３で設定したバッファに格納するデータ量から算出できる。各チャンネルごとに最大で待たされる時間は、各チャンネルの転送占有時間とシステムがもっている全ての転送チャンネル数、及び各チャンネル要求に対する優先順位から算出することができる。本実施例１のシステムは、その計算を行うことによって、チャンネルの転送が破綻しないように一定の転送レートを確保しつつ、各バッファに格納するデータ量や優先順位を設定するので、この時点でｎチャンネル受信制御部８からの受信要求が待たされても問題はない。
【００４６】
そして、以前の受信要求に対してメモリインタフェース部４がシステムデータ記憶部２からｎチャンネル送信バッファ部５に所望のデータ量を格納し終わった時点で、最終チャンネル選択部９は待機させられていたｎチャンネル受信制御部８の受信要求を選択し、その処理を行うようにメモリインタフェース部４に指示する。指示を受けたメモリインタフェース部４は、まずシステム制御部１に対しシステムバス１１のマスター権利を放棄するよう要求し、要求を受けたシステム制御部１は、早い段階でバス権を開放し、開放したことをメモリインタフェース部４に通知する。
【００４７】
開放の通知を受け取ったメモリインタフェース部４は、この受信チャンネルの情報として予め登録されている転送先であるシステムデータ記憶部２内のアドレスやｎチャンネル受信バッファ部６からバースト転送するデータ量の情報を基に、データ書き込み制御信号
をシステムデータ記憶部２に対し生成し、データ読み出し制御信号をｎチャンネル受信バッファ部６に対して生成する。これにより所望のバーストデータ量をシステムデータ記憶部２に格納することができる。
【００４８】
そしてメモリインタフェース部４は格納完了の信号をｎチャンネル受信制御部８に送り、この信号を受け取ったｎチャンネル受信制御部８は、そのエンドオブパケット検出機能によりパケット終了を示すエンドオブパケット信号が検出されるまで、Ｓ４の処理を繰り返し行う。なお、本ステップＳ４中にて通信モジュールからｎチャンネル受信バッファ部６にデータを転送するときには各データのエラー情報もこの通信モジュールから出力される。このエラー情報は、エラー情報記憶部１３に保持される。
【００４９】
続いて、ステップ（Ｓ５）として送信コマンド転送終了処理を行う。すなわち、上述のＳ２を繰り返し実行し続けている中で、ｎチャンネル送信制御部７は送信すべき最後のデータを検出する。そして、この最後のデータをこの通信モジュールに送信すると同時に、そのエンドオブパケット挿入機能によりエンドオブパケット信号をアサートすることで、外部装置に対して送信データ処理終了を通知する。これと同時に割り込み制御部１０に対してもこの転送チャンネルが完了したことを通知する。
【００５０】
完了通知を受け取った割り込み制御部１０は、予めＳ１にて設定されたチャンネル割り込みイネーブルビット情報をもとに、システム制御部１に対して割り込み信号を発生するかどうかを決定する。このときチャンネル割り込みイネーブルビットがアクティブに設定されていると、割り込み信号を発生する。割り込みが入ったシステム制御部１は、割り込み制御部１０のステータス情報を読み出すことで、どの転送チャンネルが完了したかを確認する。
【００５１】
次に、ステップ（Ｓ６）として受信コマンド転送終了処理を行う。すなわち、上述のＳ４を繰り返し実行し続けている中で、ｎチャンネル受信制御部８はそのエンドオブパケット検出機能でエンドオブパケット信号を検出すると、この時点でｎチャンネル受信バッファ部６に格納されているデータをシステムデータ記憶部２に格納するための転送要求を最終チャンネル選択部９に対して送る。この後Ｓ４の転送手順に従ってシステムデータ記憶部２に所望の全受信データを格納する。
【００５２】
その後、ｎチャンネル受信制御部８は、割り込み制御部１０に対してもこの転送チャンネルが完了したことを通知する。次に完了通知を受けた割り込み制御部１０は、予めＳ１にて設定されたチャンネル割り込みイネーブルビット情報を基に、システム制御部１に対して割り込み信号を発生する必要があるか否かを決定する。チャンネル割り込みイネーブルビットがアクティブに設定されている場合、割り込み信号を発生する。割り込みが入ったシステム制御部１は、割り込み制御部１０のステータス情報を読み出すことにより、どの転送チャンネルが完了したかを確認する。
【００５３】
ステップ（Ｓ７）として、受信転送について再送処理が必要か不必要かの判断を行う。すなわち、完了チャンネルの確認を行ったシステム制御部１が、エラー情報記憶部１３のステータス情報を読み出すことにより、そのチャンネルを使って受信したデータ中にエラーデータが含まれていたかどうかの確認を行う。エラーデータが含まれていない場合は、受信転送正常終了ということなるが、エラーデータが含まれている場合は、再送処理を行う必要があり、これを実行する。
【００５４】
なお、以上説明した各ステップ（Ｓ１）〜（Ｓ７）の実行順序は、Ｓ２がＳ１より後のステップ、Ｓ５がＳ２より後のステップ、Ｓ４がＳ３より後のステップ、Ｓ６がＳ４より後のステップ、Ｓ７がＳ６より後のステップという条件を満たせばよく、この条件の範囲
で順不同のものである。
【００５５】
このように実施例１の構内交換機は、複数の通信モジュールが同時に転送要求を発生し、優先順位の高いチャンネルの転送が最初に開始されたとしても、指定された一定の細かなデータ量の転送が終了すると、一旦待ち状態に入り、次に優先順位が高いチャンネルの転送を開始する。このチャンネルも同様に一定の細かなデータ転送が終了すると一旦待ち状態に入る。各チャンネルとも短いバースト転送を交互に繰り返しながら、転送終了条件が成立するまで動作する。この結果、いくら各チャンネルの転送回数が多かろうと、これが最大待ち時間に影響しないし、また転送待ちチャンネル数による待ち時間への影響も軽減される。また、各チャンネルごとにバッファを持たせ、各バッファと各通信モジュールとの間に専用バスを設けることで、ＤＭＡ転送におけるシステムバスの拘束時間が半分になるため、システムパフォーマンスが向上する。
【００５６】
また、転送元がＨＤＬＣプロトコルの場合予め転送データ量が分からないが、ｎチャンネル受信制御部によるエンドオブパケット検出機能を設けたことで、エンドオブパケットを検出したとき強制的に動作を正常終了させることが可能となり、ＣＰＵが介在する必要がなくなる。このためシステムパフォーマンスが向上する。また、エンドオブパケット挿入機能を設けたことで、転送先がＨＤＬＣプロトコルの場合においても、最終データ転送時にエンドオブパケット信号をアサートする機能が実現できることで、システムパフォーマンスが向上する。また、エラー情報記憶部を追加することで、各通信モジュールからシステムデータ記憶部に送られたデータ中にエラーデータが含まれているか否か、またどのようなエラーであったのかを判断できるようになることで、システムの信頼性が向上する。
【００５７】
（実施例２）
続いて本発明の実施例２の構内交換機とデータ転送処理システムについて説明する。実施例２の構内交換機についても図１を参照する。実施例１と同一符号は実施例２においても同一内容であるから、詳細な説明は実施例１に譲って省略する。なお、図１において送信チャンネルブロックまたは受信チャンネルブロックは、通信モジュール群のモジュール数に対応して複数のブロックからなるようにしてもよい。図３はＵＡＲＴプロトコルを使って外部装置と送受信転送を同時に行う動作を示すフローチャートである。ＵＡＲＴモジュールは、パラレル信号をシリアル信号に変換したり、シリアル信号をパラレル信号に変換するもので、ＵＡＲＴプロトコルを使ってコマンド群を送受信するとき、転送元であっても転送先であってもＣＰＵが介在するものである。実施例２においては、実施例１のＨＤＬＣプロトコルがＵＡＲＴモジュールになったことを除き基本的に同一であるため、詳細な内容の説明は実施例１に譲って省略する。
【００５８】
図３において、まず、ステップ（Ｓ１１）として、システム制御部１はＵＡＲＴプロトコルを使ってコマンドを外部装置へ送信するための転送処理を開始する。次に、ステップ（Ｓ１２）として、コマンドを送り終わるまで短いＤＭＡ転送を繰り返す。実施例１と同様、パラレル信号の整数倍となる１６Ｂｙｔｅや８Ｂｙｔｅ等の細かなデータ量のバースト転送を行う。続いてステップ（Ｓ１３）として、外部装置からＵＡＲＴプロトコルを使ってコマンド群を受信するための転送処理を開始する。具体的処理の内容は実施例１のＳ１〜Ｓ３と変わらない。次にステップ（Ｓ１４）として、所望のデータ量を受信終了するまでの短いＤＭＡ転送を繰り返す。具体的処理の内容は実施例１のＳ４と変わらない。
【００５９】
続いて、ステップ（Ｓ１５）として送信コマンド群転送終了の処理を行う。すなわち、上述のＳ１２を繰り返し実行し続けている中で、ｎチャンネル送信制御部７は送信すべき最後のデータを検出する。同時に割り込み制御部１０に対してこの転送チャンネルが完了したことを通知する。完了通知を受けた割り込み制御部１０は、予めＳ１１で設定された
このチャンネル割り込みイネーブルビット情報を基に、システム制御部１に対して割り込み信号を発生するかどうかを決定する。このときチャンネル割り込みイネーブルビットがアクティブに設定されていると、割り込み信号を発生する。次に割り込みが入ったシステム制御部１は、割り込み制御部のステータス情報を読み出すことで、どの転送チャンネルが完了したかを確認する。
【００６０】
次に、ステップ（Ｓ１６）として受信転送強制終了処理を行う。すなわち、上述のＳ１４を繰り返し実行し続けている中で、所定のデータ量を受信すると、システム制御部１がｎチャンネル受信制御部８に対して受信転送処理を強制的に終了するよう指示する。強制終了の指示を受けたｎチャンネル受信制御部８は、その自動バッファ吐き出し機能により、この時点でｎチャンネル受信バッファ部６に格納されているデータをシステムデータ記憶部２に格納するための転送要求を最終チャンネル選択部９に対して送る。この後Ｓ１４の転送手順に従ってシステムデータ記憶部２に所望の全受信データを格納する。
【００６１】
その後、ｎチャンネル受信制御部８は、割り込み制御部１０に対してもこの転送チャンネルが完了したことを通知する。次に完了通知を受けた割り込み制御部１０は、予めＳ１１で設定されたチャンネル割り込みイネーブルビット情報を基に、システム制御部１に対して割り込み信号を発生する必要があるか否かを決定する。チャンネル割り込みイネーブルビットがアクティブに設定されている場合、割り込み信号を発生する。次に割り込みが入ったシステム制御部１は、割り込み制御部のステータス情報を読み出すことにより、どの転送チャンネルが完了したかを確認する。
【００６２】
ステップ（Ｓ１７）として、受信転送について再送処理が必要か不必要かの判断を行う。すなわち、完了チャンネルの確認を行ったシステム制御部１が、エラー情報記憶部１３のステータス情報を読み出すことにより、そのチャンネルを使って受信したデータ中にエラーデータが含まれていたかどうかの確認を行う。エラーデータが含まれていない場合は、受信転送正常終了ということなるが、エラーデータが含まれている場合は、再送処理を行う必要があり、これを実行する。
【００６３】
なお、以上説明した各ステップ（Ｓ１１）〜（Ｓ１７）の実行順序は、Ｓ１２がＳ１１より後のステップ、Ｓ１５がＳ１２より後のステップ、Ｓ１４がＳ１３より後のステップ、Ｓ１６がＳ１４より後のステップ、Ｓ１７がＳ１６より後のステップという条件を満たせばよく、この条件の範囲で順不同のものである。
【００６４】
このように実施例２の構内交換機は、自動バッファ吐き出し機能を設けたことで、転送元がＵＡＲＴモジュールのように予め転送されてくるデータ量が不明で、且つ最終データを示す転送終了信号がないような相手の場合、再送処理を行う必要がなくなる。また、エラー情報記憶部を追加することで、各通信モジュールからシステムデータ記憶部に送られたデータ中にエラーデータが含まれているか否か、またどのようなエラーであったのかを判断できるようになることで、システムの信頼性が向上する。
【産業上の利用可能性】
【００６５】
本発明は、外部装置との通信チャンネルを複数持ち、転送するデータ量および種類に制限を設ける必要がなく、転送処理の信頼性が高い構内交換機に適用できる。システム内外のデータ転送処理におけるＣＰＵ負荷の軽減を必要とするデータ転送処理システムにも適用できる。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施例１における構内交換機を示すブロック図
【図２】ＨＤＬＣプロトコルを使って外部装置と送受信転送を同時に行う動作を示すフローチャート
【図３】ＵＡＲＴプロトコルを使って外部装置と送受信転送を同時に行う動作を示すフローチャート
【符号の説明】
【００６７】
１    システム制御部
２    システムデータ記憶部
３    通信モジュール群
４    メモリインタフェース部
５    ｎチャンネル送信バッファ部
６    ｎチャンネル受信バッファ部
７    ｎチャンネル送信制御部
８    ｎチャンネル受信制御部
９    最終チャンネル選択部
１０    割り込み制御部
１１    システムバス
１２    ローカルバス
１３    エラー情報記憶部
【図１】
2005267324.tif 000003
【図２】
2005267324.tif 000004
【図３】
2005267324.tif 000005