(57)【特許請求の範囲】
【請求項１】
複数の入力ポートの各々から入力された連続するデジタル信号が構成するデータを記憶し、記憶したデータを連続するデジタル信号として複数の出力ポートから出力するデータ記憶回路であって、
前記複数の入力ポートから入力されたデータを入力ポート順に送り出すデータ送出部と、
前記データ送出部が送り出すデータを記憶する記憶部と、
前記記憶部から前記複数の出力ポートが出力すべきデータを出力ポート順に受け取るデータ受取部と、
前記データ送出部が送り出す各データの出力すべき出力ポートを判別し、該データを判別した出力ポートに対応する順序で前記データ受取部に送り出すように前記記憶部を制御する制御部と、を備え、
前記データ送出部は、入力ポート順に前記データを構成するデジタル信号が送り出されるように切り替える入力切替回路部と、前記入力切替回路部からのデジタル信号を遅延させて前記記憶部に送り出す入力遅延回路部と、を備え、
前記入力遅延回路部は、遅延時間が各々異なる複数の入力遅延手段を有し、
前記入力切替回路部は、前記入力ポートを順々に切り替えながら、前記入力遅延回路部に設けられた前記入力遅延手段に前記各データを格納することにより、前記記憶部に前記各データを記憶させることを特徴とするデータ記憶回路。
【請求項２】
請求項１に記載のデータ記憶回路において、
前記データ受取部は、前記記憶部から受け取ったデータを構成するデジタル信号を出力順に遅延させる複数の出力遅延手段を有する出力遅延回路部と、前記出力遅延回路部からのデジタル信号が前記データを構成して出力ポートから出力されるように前記複数の出力ポートと前記複数の出力遅延手段とを切り替え接続する出力切替回路部とを備えたことを特徴とするデータ記憶回路。
【請求項３】
請求項１又は２に記載のデータ記憶回路において、
前記記憶部は、前記データ送出部が送り出すデータを収容する入力側データ収容部と、前記入力側データ収容部が収容したデータを記憶するメモリとを備え、
前記入力側データ収容部は、前記データを収容する複数の入力収容部と、前記複数の入力収容部の各々を所定の順序で選択し前記データ送出部が送出するデータを入力ポート順に収容させる入力収容部選択回路と、前記複数の入力収容部から入力ポート順に取り出したデータを入力ポート別に結合した結合データを生成して前記メモリに書き込み記憶させるデータ結合部とを有することを特徴とするデータ記憶回路。
【請求項４】
請求項３に記載のデータ記憶回路において、
前記記憶部は、前記メモリから出力ポート順に前記結合データを読み出し収容する出力側データ収容部をさらに備え、
前記出力側データ収容部は、前記結合データを分割するデータ分割部と、分割された各々のデータを収容し収容順に送出する複数の出力収容部と、前記出力収容部の各々を所定の順序で選択し収容したデータを前記データ受取部へ出力ポート順に送出させる出力収容部選択回路とを有することを特徴とするデータ記憶回路。
【請求項５】
請求項３又は４に記載のデータ記憶回路において、
前記制御部は、前記データ送出部が送り出す各データの出力すべき出力ポートを判別する出力ポート判別手段と、前記メモリにデータを書き込むアドレスを前記データ結合部に指示する書込アドレス指示手段と、前記メモリからデータを読み出すアドレスを前記データ分割部に指示する読出アドレス指示手段とを備え、
前記書込アドレス指示手段は、前記出力ポート判別手段が判別した出力ポートと前記読出アドレス指示手段が前記データ分割部に指示したアドレスとに応じて前記データ結合部に指示するアドレスを決定し、
前記読出アドレス指示手段は、前記出力ポート判別手段が判別した出力ポート別に前記書込アドレス指示手段が前記データ結合部に指示したアドレスを記憶し、該記憶に基づき前記データ分割部に指示するアドレスを決定することを特徴とするデータ記憶回路。
【請求項６】
請求項３から５のいずれか１つに記載のデータ記憶回路において、
前記入力ポートに入力されるデータは間欠的に入力されるデータであって、
前記入力収容部選択回路は、前記データ送出部が入力ポートに間欠的に入力されるデータを送り出すときに前記複数の入力収容部に収容させることを特徴とするデータ記憶回路。
【請求項７】
請求項６に記載のデータ記憶回路において、
前記データ結合部は、前記複数の入力収容部に収容されたデータを読み出し、入力ポート別にデータを結合し入力ポートから入力されたデータを含む結合データを生成することを特徴とするデータ記憶回路。
【請求項８】
請求項７に記載のデータ記憶回路において、
前記データ結合部は、生成された結合データを前記メモリに書き込むことを特徴とするデータ記憶回路。
【請求項９】
請求項６から８のいずれか１つに記載のデータ記憶回路において、
データが入力された入力ポートを検知する入力検知回路部をさらに備え、
前記入力検知回路部は、データが入力された入力ポートを前記入力収容部選択回路に通知し、
前記入力収容部選択回路は、前記入力検知回路部からの通知に応じて前記データ送出部が送り出す入力ポートから入力されたデータを前記入力収容部に収容させることを特徴とするデータ記憶回路。
【請求項１０】
請求項９に記載のデータ記憶回路において、
前記データ結合部は、前記入力検知回路部が検知した入力ポートから入力されたデータを前記入力収容部から読み出し、入力ポート別にデータを結合し入力ポートから入力されたデータを含む結合データを生成することを特徴とするデータ記憶回路。
【請求項１１】
請求項９又は１０に記載のデータ記憶回路において、
前記データ結合部は、前記入力検知回路部が検知した入力ポートから入力されたデータを含む結合データを前記メモリに書き込むことを特徴とするデータ記憶回路。
【請求項１２】
請求項９から１１のいずれか１つに記載のデータ記憶回路において、
前記データ結合部は、前記入力検知回路部からの通知に応じ判別情報を生成し前記メモリに書き込むことを特徴とするデータ記憶回路。
【請求項１３】
請求項１２に記載のデータ記憶回路において、
前記データ受取部は、前記判別情報に応じて入力ポートから入力されたデータを判別し該データを前記出力ポートに送る判別回路をさらに備えることを特徴とするデータ記憶回路。
【請求項１４】
請求項５から１３のいずれか１つに記載のデータ記憶回路において、
前記読出アドレス指示手段は、出力ポート別に記憶したアドレスのうち出力可能な出力ポートに対応するアドレスを前記データ分割部に指示し、
前記データ分割部は、前記読出アドレス指示手段から指示されたアドレスに基づいて前記メモリから結合データを読み出すことを特徴とするデータ記憶回路。
【請求項１５】
請求項５から１４のいずれか１つに記載のデータ記憶回路において、
データを出力可能な出力ポートを検知する出力許可回路部をさらに備え、
前記読出アドレス指示手段は、前記出力許可回路部が検知した出力ポートに応じ前記データ分割部に指示するアドレスを決定することを特徴とするデータ記憶回路。
【請求項１６】
請求項５から１５のいずれか１つに記載のデータ記憶回路において、
前記データ分割部は、前記読出アドレス指示手段から指示されたアドレスに基づいて前記メモリから出力可能な出力ポートが出力すべきデータを読み出し前記出力収容部に収容させることを特徴とするデータ記憶回路。
【請求項１７】
請求項１４から１６のいずれか１つに記載のデータ記憶回路において、
前記出力収容部選択回路は、出力可能な出力ポートが出力すべきデータを前記出力収容部から選択して前記データ受取部へ送出することを特徴とするデータ記憶回路。
【請求項１８】
請求項１７に記載のデータ記憶回路において、
前記データ分割部は、前記出力許可回路部が検知した出力ポートが出力すべきデータを前記出力収容部に収容させることを特徴とするデータ記憶回路。
【請求項１９】
請求項１７又は１８に記載のデータ記憶回路において、
前記出力収容部選択回路は、前記出力許可回路部が検知した出力ポートが出力すべきデータを前記出力収容部から選択し前記データ受取部へ送出することを特徴とするデータ記憶回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ記憶回路に係り、特に複数の入力ポートから入力されたデータを記憶し、複数の出力ポートのうち該データを出力すべき出力ポートから出力するデータ記憶回路に関する。
【０００２】
【従来の技術】
従来、この種の回路として、図１６に示される構成のものが一般に使用されている。図１６は、特開２００１−３６５８２号公報に記載された回路図である。同図において、各入力ポート２２１から入力されたデータは、各々の入力ポート２２１に対応して設けられた入力ポートキュー２２２にキューイングされる。また、出力ポート２２３は、各々の出力ポート２２３に対応して設けられた出力ポートキュー２３０にキューイングされたデータを出力するようになっている。
【０００３】
入力ポートキュー２２２は、入力バス２２４にアクセスしキューイングされたデータをプロセッサ２２６へ送る。また、プロセッサ２２６は、入力バス２２４を介して入力ポートキュー２２２から受け取ったデータを出力すべき出力ポート２２３に対応する出力ポートキュー２３０が空き状態の場合は、出力バス２２８にデータを送り出し、該出力ポートキュー２３０が出力バス２２８上のデータをキューイングする。
【０００４】
また、プロセッサ２２６は、該出力ポートキュー２３０が空き状態ではない場合は、入力バス２２４を介して受け取ったデータをバス２３１に送り出す。メモリコントローラ２３４は、バス２３１に送り出されたデータをバス２３２を介してバッファメモリ２３６に記憶させ、記憶させたアドレスと出力すべき出力ポート２２３との関連をキャッシュ２４０にキャッシュコントローラ２３８を介して記憶させる。
【０００５】
そして、プロセッサ２２６は、出力ポートキュー２３０が空き状態になったとき、該出力ポートキュー２３０に対応する出力ポート２２３に関連付けられたデータをバッファメモリ２３６から読み出し、出力バス２２８へ送り出し、該出力ポートキュー２３０が出力バス２２８上のデータをキューイングするようになっている。
【０００６】
上述したように、従来の装置は、各入力ポートキュー２２２が、入力バス２２４にアクセスしプロセッサ２２６へデータを送るようになっており、入力バス２２４にアクセスできないときも入力ポート２２１から入力されたデータを入力ポートキュー２２２に該データをキューイングしデータの紛失を防ぐように構成されている。
【０００７】
同様に、各出力ポートキュー２３０は、出力バス２２８にアクセスしプロセッサ２２６からデータを受けるようになっており、出力バス２２８にアクセスできないときも出力ポートキュー２３０にキューイングしたデータを出力ポート２２３からデータを出力できるように構成されている。
【０００８】
さらに、出力すべき出力ポート２２３に対応する出力ポートキュー２３０が空き状態にない場合、プロセッサ２２４が受け取ったデータはバッファメモリ２３６に書き込まれ、書き込んだアドレスは、キャッシュメモリ２４０に出力ポートとアドレスとを関連付けられ記憶される。すなわち、従来の装置は、バッファメモリ２３６とキャッシュメモリ２４０とキャッシュコントローラ２３８とにより、出力ポートキュー２３０の空き状態待ちキューを構成している。
【０００９】
【発明が解決しようとする課題】
上述の通り、従来の装置は、入力ポートキュー２２２と出力ポートキュー２３０と出力ポートキュー２３０の空き状態待ちキューとの３種類のキューにより構成されており、プロセッサ２２６が入力バス２２４から受け取るデータ量が、各々の入力ポート２２１から入力されるデータ量の総和よりも少ない状態が継続すると、入力ポートキュー２２２にオーバーフローが発生し、入力ポート２２１からデータを入力できなくなりスループットが低下する。上述のような入力ポートキュー２２２のオーバーフローにより発生するスループットの低下を防ぐためには、各入力ポート２２１に入力可能なビットレートと装置に備えた入力ポート２２１の数との積に相当する速度で入力バス２２４からデータを受け取り可能なプロセッサ２２６を使用する必要がある。
【００１０】
同様に、プロセッサ２２６が出力バス２２８へ送り出すデータ量が、全ての出力ポート２２３から出力されるデータ量の総和よりも少ない状態が継続すると、出力ポートキュー２２２が空になり、出力ポート２２３からデータを出力できなくなりスループットが低下する。上述のような出力ポートキュー２２２が空になることにより発生するスループットの低下を防ぐためには、プロセッサ２２６は各出力ポート２２３から出力可能なビットレートと装置に備えた出力ポート２２３の数との積に相当する速度で出力バス２２８へデータを送り出し可能である必要がある。
【００１１】
すなわち、従来の装置のスループットは、プロセッサ２２６がデータを受け取り可能な速度と送り出し可能な速度とに依存し、装置に設置可能な入力ポート２２１と出力ポート２２３の数と、各ポートから入出力可能なビットレートとが制限されている。
【００１２】
そこで、本発明は、上述した従来の問題点に鑑み、データを高速に処理可能なプロセッサを必要とせず、かつスループットの制限なく構成可能なデータ記憶回路を提供することを第１の課題としている。
【００１３】
加えて、本発明は、各入力ポートに対応したキューと各出力ポートに対応したキューとを各々設けることなく装置のスループットの低下を防止することが可能であり、出力ポートがデータを出力可能なとき、該出力ポートが出力すべきデータをバッファメモリから読み出し出力させることができるデータ記憶回路を提供することを第２の課題としている。
【００１４】
【課題を解決するための手段】
上記課題を解決するために、本発明に係るデータ記憶回路は、複数の入力ポートの各々から入力された連続するデジタル信号が構成するデータを記憶し、記憶したデータを連続するデジタル信号として複数の出力ポートから出力するデータ記憶回路であって、前記複数の入力ポートから入力されたデータを入力ポート順に送り出すデータ送出部と、前記データ送出部が送り出すデータを記憶する記憶部と、前記記憶部から前記複数の出力ポートが出力すべきデータを出力ポート順に受け取るデータ受取部と、前記データ送出部が送り出す各データの出力すべき出力ポートを判別し、該データを判別した出力ポートに対応する順序で前記データ受取部に送り出すように前記記憶部を制御する制御部と、を備え、前記データ送出部は、入力ポート順に前記データを構成するデジタル信号が送り出されるように切り替える入力切替回路部と、前記入力切替回路部からのデジタル信号を遅延させて前記記憶部に送り出す入力遅延回路部と、を備え、前記入力遅延回路部は、遅延時間が各々異なる複数の入力遅延手段を有し、前記入力切替回路部は、前記入力ポートを順々に切り替えながら、前記入力遅延回路部に設けられた前記入力遅延手段に前記各データを格納することにより、前記記憶部に前記各データを記憶させる。この構成によれば、データ送出部は、遅延時間が異なる複数の入力遅延手段と複数の入力ポートとを入力切替回路部により切り替え接続するようになっているので、入力ポート順に入力ポートから入力されたデータを、速度をあげることなく記憶部に送り出すことができ、さらに、データ送出部に各入力ポートに対応したキューも必要とせず、また、制御部は、データ送出部が送り出すデータを判別し、判別した出力ポートに対応する順序で記憶部がデータ受取部に送り出すように制御するので、記憶部は記憶したデータを出力すべき出力ポートを判別する格別の手段を必要とせず、入力ポートから入力されたデータが出力されるべき出力ポートから確実に出力される。これにより、データを高速に処理可能なプロセッサを必要とせず、かつスループットの制限なく構成可能なデータ記憶回路を提供することができる。
【００１６】
また、前記データ受取部は、前記記憶部から受け取ったデータを構成するデジタル信号を出力順に遅延させる複数の出力遅延手段を有する出力遅延回路部と、前記出力遅延回路部からのデジタル信号が前記データを構成して出力ポートから出力されるように前記複数の出力ポートと前記複数の出力遅延手段とを切り替え接続する出力切替回路部とを備える。この構成によれば、データ受取部は、遅延時間が異なる複数の出力遅延手段と複数の出力ポートとを出力切替回路部より切り替え接続するようになっているので、記憶部はデータの速度をあげることなく出力ポートが出力すべきデータを出力ポート順に送り出せばよく、さらに、各出力ポートに対応したキューをデータ受取部に設ける必要がない。
【００１７】
また、前記記憶部は、前記データ送出部が送り出すデータを収容する入力側データ収容部と、前記入力側データ収容部が収容したデータを記憶するメモリとを備え、前記入力側データ収容部は、前記データを収容する複数の入力収容部と、前記複数の入力収容部の各々を所定の順序で選択し前記データ送出部が送出するデータを入力ポート順に収容させる入力収容部選択回路と、前記複数の入力収容部から入力ポート順に取り出したデータを入力ポート別に結合した結合データを生成して前記メモリに書き込み記憶させるデータ結合部とを有する。この構成によれば、データ結合部は、複数設けた各入力収容部がオーバーフローする前に入力ポート別に結合した結合データをメモリに書き込む構成であり、全入力収容部がデータを出力してメモリアクセスバス上に結合データを造り出すようになっている。よって、メモリアクセスバスのバス幅は記憶部入力バスより太く、メモリへの書き込み回数は記憶部入力バスから入力側データ収容部へデータが収容される回数より少なくてよく、高速でアクセスする必要のない安価なＤＲＡＭなどでメモリを構成することができる。
【００１８】
また、前記記憶部は、前記メモリから出力ポート順に前記結合データを読み出し収容する出力側データ収容部をさらに備え、前記出力側データ収容部は、前記結合データを分割するデータ分割部と、分割された各々のデータを収容し収容順に送出する複数の出力収容部と、前記出力収容部の各々を所定の順序で選択し収容したデータを前記データ受取部へ出力ポート順に送出させる出力収容部選択回路とを有する。この構成によれば、データ分割部は、複数設けた各出力収容部が収容した全てのデータをデータ受取部へ送る前にメモリから結合データを読み出し各出力収容部に分割し収容させる構成である。よって、メモリアクセスバスのバス幅は記憶部出力バスより太く、メモリからの読み出し回数は出力側データ収容部から記憶部出力バスへデータを送り出す回数より少なくてよく、高速でアクセスする必要のない安価なＤＲＡＭなどでメモリを構成することができる。
【００１９】
また、前記制御部は、前記データ送出部が送り出す各データの出力すべき出力ポートを判別する出力ポート判別手段と、前記メモリにデータを書き込むアドレスを前記データ結合部に指示する書込アドレス指示手段と、前記メモリからデータを読み出すアドレスを前記データ分割部に指示する読出アドレス指示手段とを備え、前記書込アドレス指示手段は、前記出力ポート判別手段が判別した出力ポートと前記読出アドレス指示手段が前記データ分割部に指示したアドレスとに応じて前記データ結合部に指示するアドレスを決定し、前記読出アドレス指示手段は、前記出力ポート判別手段が判別した出力ポート別に前記書込アドレス指示手段が前記データ結合部に指示したアドレスを記憶し、該記憶に基づき前記データ分割部に指示するアドレスを決定する。この構成によれば、書込アドレス指示手段は、読出アドレス指示手段がデータ分割部に指示したアドレスによりメモリ内部の空きアドレスを検知でき確実に該空きアドレスをデータ結合部に指示できるので、データが記憶されたアドレスにデータ結合部がデータを書き込むことによるデータの紛失を防止でき、読出アドレス指示手段は、出力ポート判別手段が判別した出力ポート別に書込アドレス指示手段がデータ結合部に指示したアドレスを関連付け記憶することができ、確実に各出力ポートから出力すべきデータを記憶したアドレスをデータ分割部に指示することができる。
【００２０】
また、前記入力ポートに入力されるデータは間欠的に入力されるデータであって、前記入力収容部選択回路は、前記データ送出部が入力ポートに間欠的に入力されるデータを送り出すときに前記複数の入力収容部に収容させる。この構成によれば、入力ポートからデータが入力されていないときはデータ送出部が送り出すデータを入力収容部に収容させる必要がないので、入力収容部へのデータ書き込みによる電力の消費が低減可能となる。
【００２１】
また、前記データ結合部は、前記複数の入力収容部に収容されたデータを読み出し、入力ポート別にデータを結合し入力ポートから入力されたデータを含む結合データを生成する。この構成によれば、入力ポートから入力されたデータを含まない結合データを生成する必要がなく、入力収容部である入力収容部からのデータ読み出しによる電力の消費が低減可能となる。
【００２２】
また、前記データ結合部は、生成された結合データを前記メモリに書き込む。この構成によれば、入力ポートから入力されたデータを含まない結合データはデータをメモリに書き込む必要がなく、メモリへのデータ書き込みによる電力の消費が低減可能となる。
【００２３】
また、データが入力された入力ポートを検知する入力検知回路部をさらに備え、前記入力検知回路部は、データが入力された入力ポートを前記入力収容部選択回路に通知し、前記入力収容部選択回路は、前記入力検知回路部からの通知に応じて前記データ送出部が送り出す入力ポートから入力されたデータを前記入力収容部に収容させる。この構成によれば、入力ポートから入力されたデータのみを確実に入力収容部に収容させることができ、入力収容部へのデータ書き込みによる電力の消費が低減可能となる。
【００２４】
また、前記データ結合部は、前記入力検知回路部が検知した入力ポートから入力されたデータを前記入力収容部から読み出し、入力ポート別にデータを結合し入力ポートから入力されたデータを含む結合データを生成する。この構成によれば、データが入力された前記入力ポートを入力検知回路部が検知するので、入力ポートから入力されたデータのみを確実に入力収容部から読み出すことができ、入力収容部へのデータ書き込みによる電力の消費が低減可能となる。
【００２５】
また、前記データ結合部は、前記入力検知回路部が検知した入力ポートから入力されたデータを含む結合データを前記メモリに書き込む。この構成によれば、入力ポートから入力されたデータを含まない結合データはデータをメモリに書き込む必要がなく、メモリへのデータ書き込みによる電力の消費が低減可能となる。
【００２６】
また、前記データ結合部は、前記入力検知回路部からの通知に応じ判別情報を生成し前記メモリに書き込む。この構成によれば、入力検知回路部からの通知に応じ判別情報を生成しメモリに書き込むことができ、メモリへの判別情報書き込みによる電力の消費が低減可能となる。
【００２７】
また、前記データ受取部は、前記判別情報に応じて入力ポートから入力されたデータを判別し該データを前記出力ポートに送る判別回路をさらに備える。この構成によれば、判別情報に応じて入力ポートから入力されたデータを判別し前記出力ポートに確実に送ることができる。
【００２８】
また、前記読出アドレス指示手段は、出力ポート別に記憶したアドレスのうち出力可能な出力ポートに対応するアドレスを前記データ分割部に指示し、前記データ分割部は、前記読出アドレス指示手段から指示されたアドレスに基づいて前記メモリから結合データを読み出す。この構成によれば、読出アドレス指示手段は、出力可能な出力ポートに対応するアドレスのみをデータ分割部に指示するので、出力可能な出力ポートが出力すべきデータのみをメモリから読み出せばよく、メモリからのデータ読出しによる電力の消費が低減可能となる。
【００２９】
また、データを出力可能な出力ポートを検知する出力許可回路部をさらに備え、前記読出アドレス指示手段は、前記出力許可回路部が検知した出力ポートに応じ前記データ分割部に指示するアドレスを決定する。この構成によれば、出力不可能な出力ポートが出力すべきデータはメモリから読み出す必要がなく、出力収容部に収容させる必要もないので、メモリからのデータ読出しと出力収容部へのデータ書込みとによる電力の消費を低減可能とする。
【００３０】
また、前記データ分割部は、前記読出アドレス指示手段から指示されたアドレスに基づいて前記メモリから出力可能な出力ポートが出力すべきデータを読み出し前記出力収容部に収容させる。この構成によれば、出力不可能な出力ポートが出力すべきデータは出力収容部から送出させる必要がないので、出力収容部からのデータ読出しによる電力の消費を低減可能とする。
【００３１】
また、前記出力収容部選択回路は、出力可能な出力ポートが出力すべきデータを前記出力収容部から選択して前記データ受取部へ送出する。この構成によれば、出力可能な出力ポートが出力すべきデータを出力収容部から選択してデータ受取部へ送出することができる。
【００３２】
また、前記データ分割部は、前記出力許可回路部が検知した出力ポートが出力すべきデータを前記出力収容部に収容させる。この構成によれば、出力許可回路部がデータを出力可能な出力ポートを検知するので、データ分割部は、データを出力可能な出力ポートを検知する格別の手段を必要とせず、確実に出力ポートが出力すべきデータのみを出力収容部に収容させることができ、出力収容部へのデータ書込みによる電力の消費が低減可能となる。
【００３３】
さらに、前記出力収容部選択回路は、前記出力許可回路部が検知した出力ポートが出力すべきデータを前記出力収容部から選択し前記データ受取部へ送出する。この構成によれば、出力許可回路部がデータを出力可能な出力ポートを検知するので、出力収容部選択回路は、データを出力可能な出力ポートを検知する格別の手段を必要とせず、確実に出力ポートが出力すべきデータのみを出力収容部からデータ受取部へ送出させることができ、出力収容部からのデータ読出しによる電力の消費が低減可能となる。
【００３４】
【発明の実施の形態】
以下、本発明の実施の形態を、図１〜図１５を参照して説明する。図１は、本発明によるデータ記憶回路の構成を示すブロック図である。図示されるデータ記憶回路は、各々の入力ポート１から入力された連続するデジタル信号が構成するデータを入力ポート順に記憶部３へ送り出すデータ送出部２と、データ送出部２が送り出すデータを記憶し記憶したデータをデータ受取部７に送り出す記憶部３と、記憶部３から複数の出力ポート６が出力すべきデータを出力ポート順に受け取るデータ受取部７と、データ送出部２が送り出す各データの出力すべき出力ポート６を判別し、該データを判別した出力ポートに対応する順序で前記データ受取部７に送り出すように記憶部３を制御する制御部１８とを主な構成として具備する。
【００３５】
ここで、データ送出部２は、図１及び図２に示すように、入力ポート順にデータを構成するデジタル信号が送り出されるように切り替える入力切替回路部５と、遅延時間が各々異なる複数の入力遅延手段を有し、入力切替回路部５からのデジタル信号を遅延させて記憶部３に送り出す入力遅延回路部３５とを備えている。
【００３６】
図３は、入力切替回路部５の具体的構成例を示すブロック図であり、また、図４は、入力遅延回路部３５の具体的構成例を示すブロック図である。図３に示す入力切替回路部５は、図４に示す入力遅延回路部３５の入力遅延手段である入力側シフトレジスタ４−１〜４−８に接続されたポート５−１〜５−８と入力ポート１ａ〜１ｇとを、図３に示すセレクタ８５−１〜８５−８により切り替え接続するようになっており、入力側切替信号生成回路８７が基準パルス１００−１、１００−２に同期して生成される入力側切替信号８６−１〜８６−８に応じて各セレクタ８５−１〜８５−８により接続を切り替えるようになっている。
【００３７】
各セレクタ８５−１〜８５−８は、データを構成するＭＳＢ（Most Significant Bit）〜ＬＳＢ（Least Significant Bit）の各々のデジタル信号に対応している。ポート５−１〜５−８を介して各入力側シフトレジスタ４−１〜４−８に接続されたセレクタ８５−１〜８５−８は、該セレクタ８５−１〜８５−８に対応するデジタル信号が入力側シフトレジスタ４−１〜４−８に送り出されるように接続を切り替える。
【００３８】
図５は、図３に示す入力切替回路部５及び入力遅延回路部３５の動作例を示すタイミング図である。この図５に示す通り、入力ポート１ａから入力されたデータ１ａ−１は、ＭＳＢがポート５−１から入力遅延手段４−１に送り出され、ＬＳＢがポート５−８から入力遅延手段４−８に送り出されている。同様に、データ１ａ−２〜１ｈ−３もＭＳＢ（Most Significant Bit）がポート５−１からＬＳＢ（Least Significant Bit）がポート５−８からそれぞれ送り出される。
【００３９】
一方、図４に示す構成の入力遅延回路部３５は、基準パルス１００−１に同期し動作する各々段数が異なる入力側シフトレジスタ４−１〜４−８を有し、各データを構成するデジタル信号のうち最初のデジタル信号であるＭＳＢを８段の入力側シフトレジスタ４−１が基準パルス１００−１の８パルス分に相当する時間遅延させ、最後のデジタル信号であるＬＳＢを１段の入力側シフトレジスタ４−８が基準パルス１００−１の１パルス分に相当する時間遅延させるようになっている。
【００４０】
よって、図５に示すように、入力ポート１ａから入力されたデータ１ａ−１を構成する各デジタル信号は、入力収容部データ１１０Ａの最初のタイミングで同時に記憶部入力バス３３−１〜３３−８に送り出され、入力ポート順にデータ１ｂ−１〜１ｈ−１が続いて送り出される。入力ポート１ｈから入力されたデータ１ｈ−１が記憶部入力バス３３−１〜３３−８に送り出されると、データ送出部２は記憶部入力バス３３−１〜３３−８に入力収容部データ１１０Ｂとしてデータ１ａ−２〜１ｈ−２を入力ポート順に送り出し、さらに、入力収容部データ１１０Ｃとしてデータ１ａ−３〜１ｈ−３を送り出す。
【００４１】
このように、データ送出部２は、各入力ポート１ａ〜１ｈから入力されたデータを入力ポート順に繰り返し、記憶部入力バス３３−１〜３３−８に送り出すので、記憶部３は、データ送出部２がデータを送り出すタイミングに基づき容易に記憶部入力バス３３上のデータが入力された入力ポート１を判別可能である。
【００４２】
上述した通り、データ送出部２は、入力ポートから入力されたデータを構成するデジタル信号を遅延させ記憶部３に送り出す各々遅延時間が異なる複数の入力遅延手段４を有する入力遅延回路部３５と、入力ポート順に前記デジタル信号が送り出されるように複数の入力ポート１と複数の入力遅延手段４とを切り替え接続する入力切替回路部５とを備え、複数の入力ポート１から入力されたデータを入力ポート順に記憶部３へ送り出すようになっている。
【００４３】
また、上述の構成と異なり、入力されたデータを８クロック分保持するレジスタを入力ポート１毎に設け、各レジスタが保持したデータを入力ポート順に記憶部３へ送り出すようにデータ送出部２を構成してもよいが、本実施の形態の入力遅延回路部３５は、より少ない回路規模で実施可能である。
【００４４】
次に、データ受取部７は、図１及び図２に示すように、記憶部３から出力ポート順にデータを受け取り、受け取ったデータを構成するデジタル信号を出力順に遅延させる複数の出力遅延手段８を有する出力遅延回路部３６と、デジタル信号がデータを構成し出力ポート６から出力されるように複数の出力ポート６と複数の前記出力遅延手段８とを切り替え接続する出力切替回路部９とを備えた構成となっている。
【００４５】
図６は、出力遅延回路部３６の具体的構成例を示すブロック図であり、また、図７は、出力切替回路部９の具体的構成例を示すブロック図である。以下、図８に示すタイミング図を参照して動作例を説明する。記憶部３は、図８に示すように、出力ポート６ａから出力すべきデータ６ａ−１を構成する各デジタル信号を、出力収容部データ１１２Ａの最初のタイミングで同時に記憶部出力バス３４−１〜３４−８に送り出し、出力ポート順にデータ６ｂ−１〜６ｈ−１を続いて送り出す。出力ポート６ｈから出力すべきデータ６ｈ−１が記憶部出力バス３４−１〜３４−８に送り出されると、記憶部３は、記憶部出力バス３４−１〜３４−８に出力収容部データ１１２Ｂとしてデータ６ａ−２〜６ｈ−２を出力ポート順に送り出し、さらに、出力収容部データ１１２Ｃとしてデータ６ａ−３〜６ｈ−３を送り出す。
【００４６】
出力遅延回路部３６は、図６に示すように、基準パルス１００−１に同期し動作する各々段数が異なる出力遅延手段である出力側シフトレジスタ８−１〜８−８を有し、各データを構成するデジタル信号のＭＳＢを１段の出力側シフトレジスタ８−８が基準パルス１００−１の１パルス分に相当する時間遅延させ、ＬＳＢを８段の出力側シフトレジスタ８−１が基準パルス１００−１の８パルス分に相当する時間遅延させるようになっている。よって、出力遅延回路部３６は、ＭＳＢから出力順にデジタル信号を出力切替回路部９へ送り出すことができる。
【００４７】
また、図７に示す出力切替回路部９は、各出力ポート６ａ−６ｈに対応し設けたセレクタ８０−ａ〜８０−ｈが、図８のタイミング図に示すように、対応する出力ポート６から出力すべきデジタル信号を選択しセレクタ出力信号８３−ａ〜８３−ｈとして出力する。また、図６に示すように、出力遅延手段である出力側シフトレジスタ８−１〜８−８に接続されたポート９−１〜９−８と出力ポート６ａ〜６ｈとを切り替え接続するようになっていて、セレクタ８０−ａ〜８０−ｈは、出力側切替信号生成回路８２が基準パルス１００−１、１００−２に同期し生成する出力側切替信号８１−ａ〜８１−ｈに応じ接続をそれぞれ切り替える。また、後述する出力検知信号生成回路８４が出力検知信号８８を生成しているとき、セレクタ８０が出力するセレクタ出力信号８３が出力ポート６から出力されるようになっている。
【００４８】
上述のように、データ受取部７は、記憶部３から出力ポート順にデータを受け取り、受け取ったデータを構成するデジタル信号を出力順に遅延させる複数の出力遅延手段８を有する出力遅延回路部３６と、デジタル信号がデータを構成し出力ポート６から出力されるように複数の出力ポート６と複数の前記出力遅延手段８とを切り替え接続する出力切替回路部９とを備えた構成となっている。
【００４９】
また、上述の構成と異なり、出力すべきデータを８クロック分保持するレジスタを出力ポート６毎に設け、各レジスタが出力ポート順に記憶部３からデータを受け取るようにデータ受取部７を構成してもよいが、本実施の形態の出力遅延回路部３６は、より少ない回路規模で実施可能である。
【００５０】
図１に示す通り、記憶部３は、データ送出部２が送り出すデータを収容する入力側データ収容部２２と、入力側データ収容部２２が収容したデータを記憶するメモリ２１とを備えている。さらに、入力側データ収容部２２は、データを収容する複数の入力収容部１１と、複数の入力収容部１１の各々を所定の順序で選択しデータ送出部２が送出するデータを入力ポート順に収容させる入力収容部選択回路１２と、複数の入力収容部１１から入力ポート順に取り出したデータを入力ポート別に結合した結合データを生成しメモリ２１に書き込み記憶させるデータ結合部１３とを有する構成となっている。
【００５１】
図２に、入力側データ収容部２２のさらに具体的な構成例を示し、図９に示すタイミング図を参照してその動作を説明する。入力収容部選択回路１２は、基準パルス１００−１、１００−２に基づき、データを収容させる入力収容部１１−Ａ〜１１−Ｄを選択し、該入力収容部１１−Ａ〜１１−Ｄに入力収容部書込信号４３−Ａ〜４３−Ｄを送るようになっている。
【００５２】
図９に示すタイミング図において、符号２００で示すタイミングでは、データ送出部２が記憶部入力バス３３に入力収容部データ１１０Ａを送り出すとき、入力収容部選択回路１２は、入力収容部１１−Ａへ入力収容部書込信号４３−Ａを送り、入力収容部１１−Ａに入力収容部データ１１０Ａを収容させる。続いて、入力収容部選択回路１２は、入力収容部書込信号４３−Ｂ〜４３−Ｄを送り入力収容部１１−Ｂ〜１１−Ｄに入力収容部データ１１０Ｂ〜１１０Ｄを収容させる。
【００５３】
各収容部書込データ１１０（１１０Ａ，１１０Ｂ，１１０Ｃ）は、図５に示す通り、記憶部入力バス３３−１〜３３−８に各入力ポート１ａ〜１ｈ順に送り出されたデータから構成されているので、各入力収容部１１−Ａ〜１１−Ｄには入力ポート１ａ〜１ｈから入力されたデータが各入力ポート１ａ〜１ｈ順に書き込まれる。
【００５４】
データ結合部１３は、図２に示すように、メモリアクセスバス３１−Ａ〜３１−Ｄと結合信号生成回路４１とにより構成されている。入力収容部１１−Ａ〜１１−Ｄは書き込まれた順にデータが読み出されるようになっていて、図５において、符号２０１に示すタイミングで、結合信号生成回路４１が入力収容部読出信号４２を生成するとき、各入力収容部１１−Ａ〜１１−Ｄが同時にメモリアクセスバス３１−Ａ〜３１−Ｄへ入力ポート１ａ〜１ｈ順にデータを送り出すのでメモリアクセスバス３１−Ａ〜３１−Ｄ上に入力ポート１ａ〜１ｈ別にデータが結合され結合データが生成されるとともに、結合信号生成回路４１がWrite信号をメモリ２１に送るので結合データがメモリ２１に書き込まれる。
【００５５】
上述のように、データ結合部１３は、複数設けた各入力収容部１１がオーバーフローする前に入力ポート別に結合した結合データをメモリ２１に書き込む構成であり、全入力収容部１１がデータを出力してメモリアクセスバス３１上に結合データを造り出すようになっている。よって、メモリアクセスバス３１のバス幅は記憶部入力バス３３より太く、メモリ２１への書き込み回数は記憶部入力バス３３から入力側データ収容部２２へデータが収容される回数より少なくてよく、高速でアクセスする必要のない安価なＤＲＡＭなどでメモリ２１を構成することができる。
【００５６】
また、上述の構成と異なり、入力されたデータを３２クロック分保持するレジスタを入力ポート１毎に設け、各シフトレジスタが保持したデータを入力ポート順にメモリ２１に記憶させるようにデータ送出部２と入力側データ収容部２２とを構成してもよいが、この場合、本実施の形態に比べて膨大な規模の回路を必要とする。
【００５７】
また、図１に示す通り、記憶部３は、結合データを記憶したメモリ２１と、メモリ２１から出力ポート順に結合データを読み出し収容する出力側データ収容部２３とを備え、出力側データ収容部２３は、結合データを分割するデータ分割部１５と、分割された各々のデータを収容し収容順に送出する複数の出力収容部１４と、出力収容部１４の各々を所定の順序で選択し収容したデータを出力ポート順にデータ受取部７へ送出させる出力収容部選択回路１６とを有する構成となっている。
【００５８】
図２に、出力側データ収容部２３のさらに具体的な構成例を示す。データ分割部１５は、メモリアクセスバス３１−Ａ〜３１−Ｄと分割信号生成回路４４とにより構成されている。図９に示すタイミング図において、符号２０２で示すタイミングでは、分割信号生成回路４４がRead信号をメモリ２１に送るので、メモリ２１に書き込まれた結合データが出力ポート順にメモリアクセスバス３１−Ａ〜３１−Ｄに読み出され、出力収容部データ１１２Ａ〜１１２Ｄに分割されるとともに、分割信号生成回路４４が出力収容部書込信号４５を各出力収容部１４−Ａ〜１４−Ｄに送り各出力収容部データ１１２Ａ〜１１２Ｄが各出力収容部１４−Ａ〜１４−Ｄに収容される。
【００５９】
出力収容部１４−Ａ〜１４−Ｄがメモリアクセスバス３１−Ａ〜３１−Ｄ上の出力収容部データ１１２Ａ〜１１２Ｄを収容すると、出力収容部選択回路１６は、図９に示すタイミング図において、符号２０３に示されるタイミングで、出力収容部読出信号４６−Ａ〜４６−Ｄを出力収容部１４−Ａ〜１４−Ｄの順に送り、各出力収容部１４−Ａ〜１４−Ｄに収容されているデータを出力収容部データ１１２Ａ〜１１２Ｄの順に記憶部出力バス３４へ送出させる。
【００６０】
出力収容部データ１１２Ａ〜１１２Ｄは、該データを出力すべき出力ポート６ａ〜６ｈの順に読み出されメモリ２１からメモリアクセスバス３１−Ａ〜３１−Ｄに分割されたデータにより構成されているので、出力ポート６ａ〜６ｈの順に出力収容部１４−Ａ〜１４−Ｄに収容され、出力収容部１４−Ａ〜１４−Ｄは収容した順にデータが読み出されるようになっている。上述の構成により、記憶部３は、出力ポート順にデータ受取部７へデータを送ることができる。
【００６１】
上述のように、データ分割部１５は、複数設けた各出力収容部１４−Ａ〜１４−Ｄが収容した全てのデータをデータ受取部７へ送る前に、メモリ２１から結合データを読み出し、各出力収容部１４−Ａ〜１４−Ｄに分割し収容させる構成である。よって、メモリアクセスバス３１−Ａ〜３１−Ｄのバス幅は記憶部出力バス３４より太く、メモリ２１からの読み出し回数は出力側データ収容部２３から記憶部出力バス３４へデータを送り出す回数より少なくてよく、高速でアクセスする必要のない安価なＤＲＡＭなどでメモリ２１を構成することができる。
【００６２】
データ受取部７は、記憶部出力バス３４からデータを受け取った順に各出力ポート６ａ〜６ｈから出力するので、記憶部３は、記憶したデータを出力すべき出力ポート６ａ〜６ｈに対応するタイミングでデータ受取部７へデータを送り出せばよく、制御部１８は、データ送出部２が送り出す各データを出力すべき出力ポート６ａ〜６ｈを判別し、該データを判別した出力ポート６ａ〜６ｈに対応する順序でデータ受取部７に送り出すように記憶部３を制御するようになっている。
【００６３】
また、上述の構成と異なり、出力すべきデータを３２クロック分保持するレジスタを出力ポート６毎に設け、メモリ２１から出力ポート順に結合データを読出し各シフトレジスタへ保持させるようにデータ送出部２と入力側データ収容部２２とを構成してもよいが、この場合、本実施の形態に比べて膨大な規模の回路を必要とする。
【００６４】
また、制御部１８は、図２に示すように、データ送出部２が送り出す各データを出力すべき出力ポート６を判別する出力ポート判別手段（出力ポート判別部）１７と、データ結合部１３がメモリ２１にデータを書き込むアドレスを指示する書込アドレス指示手段（書込アドレス指示部）１９と、データ分割部１５がメモリ２１からデータを読み出すアドレスを指示する読出アドレス指示手段（読出アドレス指示部）２０とを備えた構成である。
【００６５】
結合信号生成回路４１は、書込アドレス指示部１９がメモリ書込アドレス信号５４を出力しているとき指示されたメモリ２１内アドレスにデータを書き込み、分割信号生成回路４４は、読出アドレス指示部２０がメモリ読出アドレス信号５５を出力しているときに指示されたメモリ２１内アドレスからデータを読み出すようになっている。また、読出アドレス指示部２０は、メモリ書込アドレス信号５４を監視可能であり、書込アドレス指示部１９は、メモリ読出アドレス信号５５を監視可能に構成されている。
【００６６】
出力ポート判別部１７は、データ送出部２が記憶部入力バス３３へ送出する入力収容部データ１１０Ａ〜１１０Ｄを監視し該入力収容部データ１１０Ａ〜１１０Ｄを構成する各データ別に出力すべき出力ポート６を判別する。判別した結果は、図９に示すタイミング図において、符号２０４のタイミングに示すように、出力ポート通知信号５３として入力収容部データ１１０Ａ〜１１０Ｄを構成する各データ別に書込アドレス指示部１９と読出アドレス指示部２０とに通知される。
【００６７】
書込アドレス指示部１９は、読出アドレス指示部２０が出力したメモリ読出アドレス信号５５に基づきデータを書き込み可能なメモリ２１内の空きアドレスを検知し、該空きアドレスのうち出力ポート通知信号５３が通知した出力ポート６に対応するアドレスを示すメモリ書込アドレス信号５４を出力する。図９に示すタイミング図において、符号２０１に示すタイミングでは、書込アドレス指示部１９が出力したメモリ書込アドレス信号５４が示すメモリ２１内のアドレスにメモリアクセスバス３１上のデータが書き込まれている。
【００６８】
読出アドレス指示部２０は、出力ポート通知信号５３が通知した出力ポート６別に書込アドレス指示部１９が出力したメモリ書込アドレス信号５４を記憶し、該記憶に基づき生成したメモリ読出アドレス信号５５を出力する。図９に示すタイミング図において、符号２０２に示すタイミングでは、読出アドレス指示部２０が出力したメモリ読出アドレス信号５５が示すアドレスに書き込まれたメモリ２１内の結合データがメモリアクセスバス３１上に読み出されている。
【００６９】
上述の通り、本実施の形態の装置は、書込アドレス指示手段１９が、出力ポート判別手段１７が判別した出力ポート６と読出アドレス指示手段２０がデータ分割部１５に指示したアドレスとに応じデータ結合部１３に指示するアドレスを決定し、読出アドレス指示手段２０が、出力ポート判別手段１７が判別した出力ポート６別に書込アドレス指示手段１９がデータ結合部１３に指示したアドレスを記憶し、該記憶に基づきデータ分割部１５に指示するアドレスを決定するようになっている。
【００７０】
本実施の形態の装置は、入力ポート１から間欠的にデータが入力されるものであって、入力ポート１から入力されたデータをデータ送出部２が送り出すときに、入力収容部選択回路１２が入力収容部１１−Ａ〜１１−Ｄに収容させ、入力ポート１からデータが入力されていないときはデータ送出部２が送り出すデータを入力収容部１１−Ａ〜１１−Ｄに収容させないようになっているので、入力収容部１１−Ａ〜１１−Ｄへの無駄なデータ書き込みによる電力の消費を低減可能となっている。
【００７１】
次に、入力検知回路部２６１は、図２に示すように、各入力ポート１ａ〜１ｈに対応した入力検知回路部２６３ａ〜２６３ｈを備え、各入力検知回路部２６３ａ〜２６３ｈは、対応した入力ポート１ａ〜１ｈにデータが入力されるとデータ検出信号５１ａ〜５１ｈを出力するようになっている。ＩＰパケットがEthernet（Ｒ）（イーサネット（Ｒ））を介し入力ポート１ａ〜１ｈに入力される場合、入力検知回路部２６３ａ〜２６３ｈは、パケットの先頭を示すプリアンブルを検出したときデータ検出信号５１ａ〜５１ｈを出力し、ＩＰヘッダに含まれるペイロード長情報に基づきデータ検出信号５１ａ〜５１ｈの出力を終了させる。
【００７２】
入力収容部選択回路１２は、データ検出信号５１ａ〜５１ｈに基づき入力収容部１１−Ａ〜１１−Ｄに入力収容部書込信号４３−Ａ〜４３−Ｄを送るようになっている。図１０のタイミング図に示すように、入力ポート１ｆにデータが入力されていない場合、データ検出信号５１ｆが入力されないので、入力収容部選択回路１２は、図中に示す７０ｆＡ〜７０ｆＤのタイミングでは入力収容部書込信号４３−Ａ〜４３−Ｄを送らないので、データ１ｆ−１〜１ｆ−４は入力収容部１１−Ａ〜１１−Ｄに収容されない。また、入力ポート１ｈにデータが入力されている場合、データ検出信号５１ｈが入力されないので、入力収容部選択回路１２は、図中に示す７０ｈ−Ａ〜７０ｈ−Ｃのタイミングで入力収容部書込信号４３−Ａ〜４３−Ｃを送るので、データ１ｈ−１〜１ｈ−３は入力収容部１１−Ａ〜１１Ｃに収容される。
【００７３】
上述の通り、データが入力された入力ポート１を検知する入力検知回路部２６１を具備し、入力検知回路部２６１は、データが入力された入力ポート１を入力収容部選択回路１２に通知し、入力収容部選択回路１２は、入力検知回路部２６１からの通知に応じデータ送出部２が送り出す入力ポート１から入力されたデータを入力収容部１１−Ａ〜１１−Ｄに収容させるようになっている。
【００７４】
データ結合部１３は、入力収容部１１−Ａ〜１１−Ｄに収容されたデータを読み出し、入力ポート別にデータを結合し前記入力ポート１から入力されたデータを含む結合データを生成するようになっていて、入力ポート１から入力されたデータを含まない結合データを生成することがないので、入力収容部１１である入力収容部１１−Ａ〜１１−Ｄからの無駄なデータ読み出しによる電力の消費を低減可能となっている。
【００７５】
図１１は、データ結合部１３に設けた結合信号生成回路４１の構成を示すものである。結合信号生成回路４１は、入力収容部読出信号４２を生成する入力収容部読出信号生成部２７０を有し、入力収容部読出信号生成部２７０は、各入力ポート１ａ〜１ｈに対応する入力収容部読出回路９４−ａ〜９４−ｈを持つ。
【００７６】
各入力収容部読出回路９４−ａ〜９４−ｈは、該入力収容部読出回路９４−ａ〜９４−ｈに対応する入力ポート１ａ〜１ｈのデータの入力を示すデータ検出信号５１ａ〜５１ｈに応じ、入力収容部読出パルス７３−ａ〜７３−ｈを生成するようになっていて、基準パルス１００−１、１００−２に基づき入力収容部読出パルス７３−ａ〜７３−ｈを出力するタイミングを決定する。
【００７７】
入力収容部読出信号生成部２７０は、何れかの入力収容部読出回路９４−ａ〜９４−ｈが入力収容部読出パルス７３−ａ〜７３−ｈを出力したとき、入力収容部読出信号４２を出力する。図１０に示す通り、データ１ｈ−１〜１ｈ−３が入力ポート１ｈに入力されているときデータ検出信号５１ｈが入力収容部読出信号生成部２７０に入力されるため、図１０に示す７０ｈ−Ｅに示すタイミングで、入力収容部読出回路９４−ｈが入力収容部読出パルス７３−ｈを出力し、入力収容部読出信号４２が出力され、データ１ｈ−１〜１ｈ−３が入力収容部１１−Ａ〜１１−Ｃより読み出されメモリアクセスバス３１に送出される。また、入力ポート１ｆにはデータが入力されていないので、データ検出信号５１ｆが入力収容部読出信号生成部２７０に入力されず、図１０に示す７０ｆ−Ｅに示すタイミングでは、入力収容部読出信号４２が出力されない。
【００７８】
上述の通り、データ結合部１３は、入力検知回路部２６１が通知した入力ポート１から入力されたデータを入力収容部１１−Ａ〜１１−Ｄから読み出すようになっている。さらに、データ結合部１３は、入力収容部１１−Ａ〜１１−Ｄに収容されたデータのうち入力ポート１から入力されたデータを含む結合データをメモリ２１に書き込むようになっているので、入力ポート１から入力されたデータを含まない結合データはデータをメモリ２１に書き込む必要がなく、メモリ２１への無駄なデータ書き込みによる電力の消費を低減可能となっている。
【００７９】
また、結合信号生成回路４１には、図１１に示すように、Write信号を生成するWrite信号生成部２７１をさらに有し、Write信号生成部２７１は、各入力ポート１ａ〜１ｈに対応するメモリ書込パルス生成回路９５−ａ〜９５−ｈを持つ。各メモリ書込パルス生成回路９５−ａ〜９５−ｈは、該メモリ書込パルス生成回路９５−ａ〜９５−ｈに対応する入力ポート１ａ〜１ｈのデータの入力を示すデータ検出信号５１ａ〜５１ｈに応じ、メモリ書込パルス７４−ａ〜７４−ｈを生成するようになっていて、基準パルス１００−１、１００−２に基づきメモリ書込パルス７４−ａ〜７４−ｈを出力するタイミングを決定する。
【００８０】
Write信号生成部２７１は、何れかのメモリ書込パルス生成回路９５−ａ〜９５−ｈがメモリ書込パルス７４−ａ〜７４−ｈを出力したときWrite信号を出力する。データ１ｈ−１〜１ｈ−３が入力ポート１ｈに入力されているときデータ検出信号５１ｈがWrite信号生成部２７１に入力されるため、図１０の７０ｈ−Ｅに示すタイミングで、メモリ書込パルス生成回路９５−ｈがメモリ書込パルス７４−ｈを出力し、Write信号が出力され、メモリアクセスバス３１に送出されたデータ１ｈ−１〜１ｈ−３がメモリ２１に書き込まれる。また、入力ポート１ｆにはデータが入力されていないので、データ検出信号５１ｆが結合信号生成回路４１に入力されず、図１０に示す７０ｆ−ＥのタイミングではWrite信号が出力されない。
【００８１】
上述の通り、データ結合部１３は、入力検知回路部２６１が通知した入力ポート１ａ〜１ｈから入力されたデータを含む結合データをメモリ２１に書き込む構成になっている。
【００８２】
図５に示すように、データ１ｈ−３中の末尾６ビットとデータ１ｈ−４は入力ポート１ｈから入力されていないデータを含むデータ１ｈ−１〜１ｈ−４が結合データとして、図１０の７０ｈ−Ｅに示すタイミングでメモリ２１に書き込まれるようになっているため、データ結合部１３は、入力検知回路部２６１からの通知に応じ判別情報９０を生成しメモリ２１に書き込むようになっていて、メモリ２１内に書き込まれた結合データのうち入力ポート１ｈから入力されたデータとその他のデータが判別可能となる。
【００８３】
図１１に示される通り、結合信号生成回路４１は、各入力ポート１に対応する判別情報生成回路７５−ａ〜７５−ｈを有し、各判別情報生成回路７５−ａ〜７５−ｈは、対応する入力ポート１ａ〜１ｈのデータの入力をデータ検出信号５１ａ〜５１ｈが示すと検知し判別情報９０の生成を開始するようになっていて、データ５１ａ〜５１ｈがデータの入力の終了を示すと、図１０の７０ｈ−Ｆに示すように、レジスタ読出信号７２ａ〜７２ｈを出力し、データの先頭を示すヘッダ９０−１とデータの長さを示すヘッダ９０−２とをメモリアクセスバス３１−Ａと３１−Ｂに送出し、両ヘッダ９０−１、９０−２をメモリ２１に書き込む。
【００８４】
図１２のブロック図に示すように、判別情報生成回路７５は、入力ポート１から入力されたデータの先頭を示すヘッダ９０−１を生成する先頭位置情報生成回路９１と、データの長さを示すヘッダ９０−２を生成するデータ長情報生成回路９２とを有し、図１３のタイミング図に示すように、先頭位置情報生成回路９１は、基準パルス１００−２とデータ検出信号５１のタイミング差Ｔ−１とに応じ、データ１−３の先頭と入力ポート１から入力されたデータの先頭のタイミング差Ｔ−２を示す先頭位置情報をデータ保持レジスタ９８−Ａに書き込む。また、データ長情報生成回路９２は、データ検出信号５１が入力ポート１のデータの入力を示している時間Ｔ−３を示すデータ長情報をデータ保持レジスタ９８−Ｂに書き込む。
【００８５】
また、データ保持レジスタ９８−Ｃ、９８−Ｄはデータ検出信号５１と基準パルス１００−１、基準パルス１００−２に基づき記憶部入力バス３３上のデータ１−３、１−４を記憶するようになっており、先頭位置情報とデータ長情報とを書き込むメモリ２１内のアドレスと同一のアドレスにデータ保持レジスタ９８−Ｃ、９８−Ｄに書き込んだデータ１−３、１−４を書き込むことで、メモリ２１内の記憶容量を無駄なく使用できる。
【００８６】
上述の通り、メモリ２１は、結合データのうち入力ポート１から入力されたデータを判別するための判別情報９０を記憶するようになっている。メモリ２１から読み出された判別情報９０は、出力側データ収容部２３に収容されデータ受取部７へ送出される。
【００８７】
さらに、図１に示す通りデータ受取部７は、判別情報９０に応じ入力ポート１から入力されたデータを判別し該データを出力ポート６に送る判別回路２７０をさらに備え、入力ポート１から入力されたデータ以外は出力ポート６から出力されないようになっている。
【００８８】
図７に示すように、判別回路２７０−ａ〜２７０−ｈは各出力ポート６ａ〜６ｈに対応し設けられ、前述の出力検知信号生成回路８４−ａ〜８４−ｈが判別信号９０に応じ出力検知信号８８−ａ〜８８−ｈを生成するとき、セレクタ８０−ａ〜８０ｈが出力するセレクタ出力信号８３−ａ〜８３−ｈを出力ポート６ａ〜６ｈへ送るようになっている。
【００８９】
図１４のタイミング図に判別回路２７０−ａ〜２７０−ｈの動作の詳細を示す。出力検知信号生成回路８４−ａ〜８４−ｈは、結合データ毎にデータの有無を示す出力通知信号６０により判別信号９０を検知し、ヘッダ９０−１が示す値Ｔ−２と基準パルス１００−１に基づき出力すべきデータの先頭のタイミングを検知し出力検知信号８８を生成し、ヘッダ９０−２が示す値Ｔ−３とに基づき出力すべきデータの末尾のタイミングを検知し出力検知信号８８の生成を終了する。上述の通り、判別回路２７０により入力ポート１から入力されたデータのみを出力ポート６から出力できる。
【００９０】
出力ポート６ａ〜６ｈが出力したデータをキューイングしEthernet（Ｒ）に出力する機器が出力ポート６ａ〜６ｈに接続されているような場合、キューイングされているデータ量によっては出力ポート６ａ〜６ｈがデータを出力すると、キューがオーバーフローするため、出力ポート６ａ〜６ｈが出力不可能となる場合がある。
【００９１】
図１に示す読出アドレス指示手段２０は、出力ポート６別に記憶したアドレスのうち出力可能な出力ポート６に対応するアドレスをデータ分割部１５に指示し、データ分割部１５は、メモリ２１の指示されたアドレスから結合データを読み出すようになっている。また、読出アドレス指示手段２０は、各出力ポート６に対応する記憶通知信号５６をデータ分割部１５に送り、対応する出力ポート６が出力すべきデータがメモリ２１に記憶されていることを通知する。図１に示す出力許可回路部２６０は、データを出力可能な出力ポート６を検知し、検知した出力ポート６を読出アドレス指示手段２０に通知するようになっている。
【００９２】
図２のブロック図に示すように、出力許可回路部２６０には、出力ポート６が出力可能なとき出力許可信号２５０を生成する出力許可回路２６２ａ〜２６２ｈを各出力ポート６ａ〜６ｈに対応して設けられている。読出アドレス指示手段２０は、出力許可回路部２６０が検知した前記出力ポート６に応じデータ分割部１５に指示するアドレスを決定する。さらに、出力許可回路部２６０は、検知した出力ポート６を通知する出力許可信号２５０をデータ分割部１５に送るようになっていて、通知する出力許可信号２５０と前述の記憶通知信号５６とに応じデータ分割部１５は、出力可能な出力ポート６が出力すべきデータをメモリ２１から読出し出力収容部１４に収容させるようになっている。
【００９３】
図１５のタイミング図に示すように、出力ポート６ａが出力可能なことを通知する出力許可信号２５０ａと出力ポート６ａが出力すべきデータがメモリ２１に記憶されていることを通知する記憶通知信号５６ａに応じデータ分割部１５は、図中の７１ａ−Ｅに示すタイミングで、Read信号を出力し出力ポート６ａが出力すべきデータをメモリ２１から読出し、出力収容部書込パルス４５を出力し出力収容部１４に収容させる。
【００９４】
また、図中の７１ｃ−Ｅに示すタイミングでは、出力許可信号２５０ｃが出力不可能を通知し、記憶通知信号５６ｃが出力ポート６ｃから出力されるべきデータがメモリ２１に記憶されてないことを通知するので、Read信号と出力収容部書込パルス４５とは出力されない。また、７１ｅ−Ｅに示すタイミングでは、出力許可信号２５０ｅは出力可能を通知しているが、記憶通知信号５６ｅが出力ポート６ｅから出力されるべきデータがメモリ２１に記憶されてないことを通知するので、Read信号と出力収容部書込パルス４５とは出力されない。
【００９５】
上述の通り、データ分割部１５は、出力許可回路部２６０が検知した出力ポート６が出力すべきデータを出力収容部１４に収容させるようになっている。また、図２に示すように、入力収容部選択回路１６は、Read信号を監視しRead信号と基準パルス１００とに基づき出力収容部読出し信号４６と前述の出力通知信号６０ａ〜６０ｈを生成する。図１５のタイミング図に示すように、入力収容部選択回路１６がＡ〜Ｄの順に出力収容部読出信号４６−Ａ〜４６−Ｄを出力するので、出力収容部１４−Ａ〜１４−Ｄの順序で記憶部出力バス３４にデータを出力する。
【００９６】
図中の７１ａ−Ｅに示すタイミングでRead信号が出力されているので、入力収容部選択回路１６は７１ａ−Ａ〜７１ａ−Ｄに示すタイミングで出力収容部読出信号４６と、出力ポート６ａが出力すべきデータが記憶部出力バス３４に送出されていることを通知する出力通知信号６０ａとを出力する。また、図中の７１ｃ−Ｅ、７１ｅ−Ｅに示すタイミングではRead信号が出力されていないので、入力収容部選択回路１６は、７１ｃ−Ａ〜７１ｃ−Ｄ、７１ｅ−Ａ〜７１ｅ−Ｄに示すタイミングでは、出力収容部読出信号４６と出力通知信号６０ｃ、６０ｅとを出力しない。
【００９７】
上述の通り、出力収容部選択回路１６は、出力許可回路部２６０が検知した出力可能な出力ポート６が出力すべきデータを出力収容部１４からデータ受取部７へ送出させるようになっている。
【００９８】
【発明の効果】
以上説明したように、本発明によれば、データを高速に処理可能なプロセッサを必要とせず、かつスループットの制限なく構成可能なデータ記憶回路を提供することができる。また、各入力ポートに対応したキューと各出力ポートに対応したキューとを各々設けることなく装置のスループットの低下を防止することが可能であり、出力ポートがデータを出力可能なとき、該出力ポートが出力すべきデータをバッファメモリから読み出し出力させることができる。
【図面の簡単な説明】
【図１】本発明によるデータ記憶回路の基本構成を示すブロック図
【図２】本発明によるデータ記憶回路の具体的構成例を示すブロック図
【図３】本発明による入力切替回路部の具体的な構成例を示すブロック図
【図４】本発明による入力遅延回路部の具体的な構成例を示すブロック図
【図５】本発明によるデータ送出部の具体的な動作例を示すタイミング図
【図６】本発明による出力遅延回路部の具体的な構成例を示すブロック図
【図７】本発明による出力切替回路部の具体的な構成例を示すブロック図
【図８】本発明による入力側データ受取部の具体的な動作例を示すタイミング図
【図９】本発明による入力側データ収容部の具体的な動作例を示すタイミング図
【図１０】本発明によるデータ送出部と入力側データ収容部との具体的な動作例を示すタイミング図
【図１１】本発明による出力側データ収容部とデータ受取部との具体的な動作例を示すタイミング図
【図１２】本発明による判別情報生成回路の具体的な構成例を示すブロック図
【図１３】本発明による判別情報生成回路の具体的な動作例を示すタイミング図
【図１４】本発明による出力切替回路部の具体的な動作例を示すタイミング図
【図１５】本発明による出力側データ収容部とデータ受取部との具体的な動作例を示すタイミング図
【図１６】従来の装置の構成例を示すブロック図
【符号の説明】
１  入力ポート
２  データ送出部
３  記憶部
４  入力遅延手段（入力側シフトレジスタ）
５  入力切替回路部
６  出力ポート
７  データ受取部
８  出力遅延手段（出力側シフトレジスタ）
９  出力切替回路部
１１  入力収容部
１２  入力収容部選択回路
１３  データ結合部
１４  出力収容部
１５  データ分割部
１６  出力収容部選択回路
１７  出力ポート判別手段
１８  制御部
１９  書込アドレス指示手段
２０  読出アドレス指示手段
２１  メモリ
２２  入力側データ収容部
２３  出力側データ収容部
３６  出力遅延回路部
３５  入力遅延回路部
９０  判別情報
２６０  出力許可回路部
２６１  入力検知回路部
２７０  判別回路
【図１】
0004067318.tif 000002
【図２】
0004067318.tif 000003
【図３】
0004067318.tif 000004
【図４】
0004067318.tif 000005
【図５】
0004067318.tif 000006
【図６】
0004067318.tif 000007
【図７】
0004067318.tif 000008
【図８】
0004067318.tif 000009
【図９】
0004067318.tif 000010
【図１０】
0004067318.tif 000011
【図１１】
0004067318.tif 000012
【図１２】
0004067318.tif 000013
【図１３】
0004067318.tif 000014
【図１４】
0004067318.tif 000015
【図１５】
0004067318.tif 000016
【図１６】
0004067318.tif 000017