(57)【要約】【課題】記憶能力が異なる複数の記憶領域を有するデータ受信システムにおいて、データ受信時に好適にデータの記憶を行うことができるデータ受信システムを提供する。【解決手段】アクセス制御部２はデータ取得部１が伝送路から取得したデータを受信ＦＩＦＯメモリ３に記憶させた後、受信ＦＩＦＯメモリ３に記憶されているデータの合計容量が所定のしきい値以下である場合にはそのままにし、受信ＦＩＦＯメモリ３に記憶されているデータ容量が所定のしきい値を超えている場合には、アクセス制御部２はデータをデータ記憶領域４に転送し記憶させる。【選択図】図２
2009032053.tif 000002
【特許請求の範囲】
【請求項１】
所定の伝送路からのデータを取得するデータ取得部と、
前記データ取得部が取得した前記データを所定の記憶領域に記憶させるアクセス制御部と、
複数の記憶領域と、
を有し、
前記複数の記憶領域は、第１の記憶領域と、前記第１の記憶領域と比較して記憶可能容量が大きく、かつ記憶速度が低速である第２の記憶領域とを含み、
前記アクセス制御部は、転送部をさらに有し、
前記アクセス制御部は、前記第１の記憶領域に記憶されているデータの合計容量が所定のしきい値を超えているか否かの判定を行い、当該合計容量が当該しきい値を超えている場合に、前記データ取得部が取得したデータを前記転送部に前記第２の記憶領域に対して転送させ、当該第２の記憶領域に記憶させる
データ受信システム。
【請求項２】
前記アクセス制御部は、前記データ取得部が取得したデータを前記第１の記憶領域に一旦記憶させ、その後前記第１の記憶領域に記憶されているデータの合計容量が所定のしきい値を超えているか否かの判定を行い、当該合計容量が当該しきい値を超えている場合に、前記第１の記憶領域に一旦記憶させたデータを前記転送部に前記第２の記憶領域に対して転送させ、当該第２の記憶領域に記憶させる
請求項１に記載のデータ受信システム。
【請求項３】
前記データ取得部が取得したデータを前記第１の記憶領域或いは前記第２の記憶領域に記憶させる際に、前記第１の記憶領域或いは前記第２の記憶領域内の当該データを記憶する位置に関する情報を記述するための受信ディスクリプタを生成し、前記第１の記憶領域或いは前記第２の記憶領域に記憶された前記データを前記受信ディスクリプタを参照することにより読み出し、所定の処理を行う制御部と、
前記受信ディスクリプタを記憶するディスクリプタ領域と、
をさらに有し、
前記アクセス制御部は、前記データ取得部が取得したデータを前記第１の記憶領域或いは前記第２の記憶領域に記憶させる際に、前記第１の記憶領域或いは前記第２の記憶領域内の当該データを記憶する位置に関する情報を前記ディスクリプタ領域に記憶された前記受信ディスクリプタに記述し、
前記受信ディスクリプタを読み出し、当該受信ディスクリプタに記載された位置に関する情報を基に前記データを前記第１の記憶領域或いは前記第２の記憶領域に記憶させる
請求項２に記載のデータ受信システム。
【請求項４】
前記アクセス制御部は、前記データ取得部が取得したデータを前記第１の記憶領域或いは前記第２の記憶領域に記憶させる際に、前記受信ディスクリプタに当該受信ディスクリプタが使用中であることを示すフラグを付加し、
前記制御部は、前記第１の記憶領域或いは前記第２の記憶領域に記憶された前記データを前記受信ディスクリプタを参照することにより読み出し、当該データを使用して所定の処理を行う
請求項３に記載のデータ受信システム。
【請求項５】
前記データ取得部が取得したデータを前記第１の記憶領域或いは前記第２の記憶領域内の当該データを記憶する位置に関する情報を記述するための受信ディスクリプタを記憶するためのディスクリプタ領域と、
前記データ取得部のデータ取得前にデータを記憶する位置情報を除いた受信ディスクリプタを生成して前記ディスクリプタ領域に記憶させる制御部と、
をさらに有し、
前記アクセス制御部は、前記データ取得部が取得したデータを前記第１の記憶領域或いは前記第２の記憶領域に記憶させる際に、前記ディスクリプタ領域内の受信ディスクリプタのいずれかに当該データを記憶する前記記憶領域内の位置に関する情報を記述し、
前記制御部は、前記受信ディスクリプタを参照することにより前記第１の記憶領域或いは前記第２の記憶領域に記憶された前記データを読み出し、当該データを使用して所定の処理を行う
請求項１に記載のデータ受信システム。
【請求項６】
前記データ取得部が取得したデータを前記第１の記憶領域或いは前記第２の記憶領域内の当該データを記憶する位置に関する情報を記述するための受信ディスクリプタを記憶するためのディスクリプタ領域と、
制御部と、
をさらに有し、
前記アクセス制御部は、前記データ取得部が取得したデータを前記第１の記憶領域或いは前記第２の記憶領域に記憶させる際に、前記第１の記憶領域或いは前記第２の記憶領域内の当該データを記憶する位置に関する情報を記述した受信ディスクリプタを生成し、
前記制御部は、前記第１の記憶領域或いは前記第２の記憶領域に記憶された前記データを前記受信ディスクリプタを参照することにより読み出し、当該データを使用して所定の処理を行う
請求項１に記載のデータ受信システム。
【請求項７】
所定の伝送路からのデータを取得するデータ取得部と、
前記データ取得部が取得した前記データを所定の記憶領域に記憶させるアクセス制御部と、
複数の記憶領域と、
前記データが記憶された記憶領域内の位置に関する受信ディスクリプタを記憶するディスクリプタ領域と、
制御部と、
を有し、
前記複数の記憶領域は、第１の記憶領域と、前記第１の記憶領域と比較して記憶可能容量が大きく、かつ記憶速度が低速である第２の記憶領域とを含み、
前記アクセス制御部は、転送部をさらに有し、
前記アクセス制御部は、前記第１の記憶領域に記憶されているデータの合計容量が所定のしきい値を超えているか否かの判定を行い、当該合計容量が当該しきい値を超えている場合に、前記データ取得部が取得したデータを前記転送部に前記第２の記憶領域に対して転送させ、前記受信ディスクリプタに記載された位置に関する情報を基に当該第２の記憶領域に記憶させるとともに、当該受信ディスクリプタを受信ディスクリプタが使用中であることを示すフラグを付加して更新し、当該受信ディスクリプタの更新を前記制御部に対して通知し、
前記制御部は、前記第１の記憶領域或いは前記第２の記憶領域に記憶された前記データを前記受信ディスクリプタを参照することにより読み出し、当該データを使用して所定の処理を行う
データ受信システム。
【請求項８】
所定の伝送路からのデータを取得するデータ取得部と、
前記データ取得部が取得した前記データを所定の記憶領域に記憶させるアクセス制御部と、
第１の記憶領域と、前記第１の記憶領域と比較して記憶可能容量が大きく、かつ記憶速度が低速である第２の記憶領域とを含む複数の記憶領域と、
前記データ取得部が取得したデータを前記第１の記憶領域或いは前記第２の記憶領域内の当該データを記憶する位置に関する情報を記述するための受信ディスクリプタを記憶するためのディスクリプタ領域と、
前記データ取得部のデータ取得前にデータを記憶する位置情報を除いた受信ディスクリプタを生成して前記ディスクリプタ領域に記憶させる制御部と、
をさらに有し、
前記アクセス制御部は、転送部をさらに有し、
前記アクセス制御部は、前記第１の記憶領域に記憶されているデータの合計容量が所定のしきい値を超えているか否かの判定を行い、当該合計容量が当該しきい値を超えている場合に、前記データ取得部が取得したデータを前記転送部に前記第２の記憶領域に対して転送させ、前記受信ディスクリプタに記載された位置に関する情報を基に当該第２の記憶領域に記憶させるとともに、前記データ取得部が取得したデータを前記第１の記憶領域或いは前記第２の記憶領域に記憶させる際に、前記ディスクリプタ領域内の受信ディスクリプタのいずれかに当該データを記憶する前記記憶領域内の位置に関する情報を記述し、
前記制御部は、前記受信ディスクリプタを参照することにより前記第１の記憶領域或いは前記第２の記憶領域に記憶された前記データを読み出し、当該データを使用して所定の処理を行う
データ受信システム。
【請求項９】
所定の伝送路からのデータを取得するデータ取得部と、
前記データ取得部が取得した前記データを所定の記憶領域に記憶させるアクセス制御部と、
第１の記憶領域と、前記第１の記憶領域と比較して記憶可能容量が大きく、かつ記憶速度が低速である第２の記憶領域とを含む複数の記憶領域と、
前記データ取得部が取得したデータを前記第１の記憶領域或いは前記第２の記憶領域内の当該データを記憶する位置に関する情報を記述するための受信ディスクリプタを記憶するためのディスクリプタ領域と、
制御部と、
を有し、
前記アクセス制御部は、転送部をさらに有し、
前記アクセス制御部は、前記第１の記憶領域に記憶されているデータの合計容量が所定のしきい値を超えているか否かの判定を行い、当該合計容量が当該しきい値を超えている場合に、前記データ取得部が取得したデータを前記転送部に前記第２の記憶領域に対して転送させ、前記受信ディスクリプタに記載された位置に関する情報を基に当該第２の記憶領域に記憶させるとともに、前記データ取得部が取得したデータを前記第１の記憶領域或いは前記第２の記憶領域に記憶させる際に、前記第１の記憶領域或いは前記第２の記憶領域内の当該データを記憶する位置に関する情報を記述した受信ディスクリプタを生成し、
前記制御部は、前記第１の記憶領域或いは前記第２の記憶領域に記憶された前記データを前記受信ディスクリプタを参照することにより読み出し、当該データを使用して所定の処理を行う
データ受信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の伝送路からデータを受信するデータ受信システムに関する。
【背景技術】
【０００２】
ＬＡＮ（Local  Area  Network）等のネットワーク伝送路を介して情報を送受信するシステムが普及している。こうしたシステムの規格の１つに、イーサネット（Ethernet：登録商標）がある。
イーサネットでは、データの送受信処理は、システム全体の制御装置（ＣＰＵ（Central  Control  Unit）等）と、送受信用のアクセス制御ユニット（ＭＡＣ：Media  Access  Controller）とが送信及び受信ディスクリプタを介して行う。ディスクリプタとは、転送の方向（送信か受信か）、送信するデータ或いは受信したデータの記憶領域内の記憶位置を示す情報（アドレス）やデータサイズ等を示す送受信制御情報である。特に、受信ディスクリプタは、受信されたデータを格納したバッファメモリのアドレスを記録している。
例えば、データの送信を行う際には、ＣＰＵが送信ディスクリプタを生成し、ＭＡＣが送信ディスクリプタを参照して送信するデータをバッファメモリから読み出し送信を行う。反対に、データの受信を行う際には、ＣＰＵが受信ディスクリプタを生成し、ＭＡＣが受信したデータをバッファメモリに書き込み、書き込んだデータのアドレスを基に受信ディスクリプタを更新する。
【０００３】
イーサネット等の伝送路を介したデータ受信装置の従来の一例について以下説明する。
図１は、従来のデータ受信システム２００の構成の一例を示すブロック図である。
図１に示すように、データ受信システム２００は、データ取得部２０１、ＭＡＣ２０２、一時記憶領域２０３、データ記憶領域２０４、ディスクリプタ領域２０５、ＣＰＵ２０６を有する。
データ取得部２０１は、伝送路にＬＡＮケーブル等で物理的に接続されており、伝送路空データを取得する。伝送路からは所定のデータサイズ以下のデータが常に伝送されており、データ取得部２０１はデータを常に取得し続けることになる。また、データ取得部２０１は後述するＭＡＣ２０２と直接接続されており、伝送路から取得したデータをＭＡＣ２０２に転送する。
ＭＡＣ２０２は、後述するＣＰＵ２０６が生成した受信ディスクリプタを参照して、データの受信制御を行う。具体的には、まず、ＭＡＣ２０２は、データ取得部２０１が取得したデータを後述する一時記憶領域２０３に一時的に記憶させる。その後、ディスクリプタ領域に記憶された受信ディスクリプタを参照し、受信ディスクリプタに記載されたデータ記憶領域２０４内の位置に当該データをＤＭＡ（Direct  Memory  Access）転送し、その位置に記憶させる。ＭＡＣ２０２の受信制御の詳細については後述する。
【０００４】
また、ＭＡＣ２０２は、一時記憶領域２０３を有する。
一時記憶領域２０３は、ＭＡＣ２０２が受信したデータを後述するデータ記憶領域２０４に記憶させる前に一時的に記憶させるための記憶領域である。一時記憶領域２０３は、ＭＡＣ２０２が受信したデータをデータ記憶領域２０４に転送し記憶させるまでの遅延を吸収する目的で設置されている。
【０００５】
データ記憶領域２０４は、受信したデータを記憶するための記憶領域である。後述するＣＰＵ２０６は、データ記憶領域２０４に記憶されたデータを使用して所定の処理を行う。
ディスクリプタ領域２０５は、ＣＰＵ２０６が生成したディスクリプタを記憶する記憶領域であり、所定数のディスクリプタを記憶することができる。
ＣＰＵ２０６は、データ受信システム２００の全体の制御を行う演算制御部である。
また、ＣＰＵ２０６は、データ記憶領域２０４に記憶されたデータを読み出し、これを使用して所定の処理を実行する。
さらに、ＣＰＵ２０６は、情報の送受信に備えて送信及び受信ディスクリプタを生成し、ディスクリプタ領域２０５に記憶する。
【０００６】
このような従来のデータ受信システム２００における、データ受信時の動作例は、以下の通りである。
ＣＰＵ２０６は、複数のデータ受信に備えて、複数のディスクリプタ（受信ディスクリプタ）を生成してディスクリプタ領域２０５に記憶させ、生成したディスクリプタの存在をＭＡＣ２０２に通知する。ＭＡＣ２０２は、データ取得部２０１が伝送路から取得したデータを受信データとして一時記憶領域２０３に記憶させる。ＣＰＵ２０６から新規ディスクリプタの存在を通知されたら、ＭＡＣ２０２はディスクリプタに記載された情報を基に、一時記憶領域２０３に記憶された受信データをデータ記憶領域２０４にＤＭＡ転送し記憶させる。転送が終了したら、ＭＡＣ２０２は転送した受信データの容量や格納位置情報（データ記憶領域内のアドレス情報）を基に参照したディスクリプタを更新し、ＣＰＵ２０６に受信完了を通知する。ＣＰＵ２０６は、受信が完了したデータをデータ記憶領域２０４から読み出し、読み出したデータを使用して所定の処理を行う。このような処理を、データ取得部２０１が取得した所定サイズのデータごとに繰り返している。
このような従来のデータ送受信装置の一例が、特許文献１に開示されている。
【特許文献１】特開平０５−１５８８６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来のデータ送受信装置の一例としてのデータ受信システム２００では、上述したように、データ取得部２０１が取得したデータはＭＡＣ２０２によって一時記憶領域２０３に一時的に記憶された後、ディスクリプタに従ってデータ記憶領域２０４に格納されることになる。
一時記憶領域２０３は、あくまでデータ取得部２０１が受信したデータを一時的に記憶するために配設されている記憶領域であるので、記憶容量は大きくない。一時記憶領域２０３の記憶容量は、例えば８ＫＢｙｔｅ〜６４ＫＢｙｔｅ程度が一般的である。例えばイーサネット（登録商標）では、最大フレーム長（一度の受信機会）に受信可能なデータ量は、通常約１．５ＫＢｙｔｅであるため、複数のデータが連続して受信される場合等には、先に受信されたデータがＭＡＣ２０２により一時記憶領域２０３からデータ記憶領域２０４へ転送される間にその後に受信されたデータにより一時記憶領域２０３が一杯になってしまい、さらにその後に受信されるデータを一時記憶領域２０３に記憶できず、データの受信が不可能な状況になることがある、という不利益があった。
【０００８】
本発明は上述した不利益を解消するためになされたものであり、記憶能力が異なる複数の記憶領域を有するデータ受信システムにおいて、データ受信時に好適にデータの記憶を行うことができるデータ受信システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記した不利益を解消するために、第１の発明のデータ受信システムは、所定の伝送路からのデータを取得するデータ取得部と、前記データ取得部が取得した前記データを所定の記憶領域に記憶させるアクセス制御部と、複数の記憶領域と、を有し、前記複数の記憶領域は、第１の記憶領域と、前記第１の記憶領域と比較して記憶可能容量が大きく、かつ記憶速度が低速である第２の記憶領域とを含み、前記アクセス制御部は、転送部をさらに有し、前記アクセス制御部は、前記第１の記憶領域に記憶されているデータの合計容量が所定のしきい値を超えているか否かの判定を行い、当該合計容量が当該しきい値を超えている場合に、前記データ取得部が取得したデータを前記転送部に前記第２の記憶領域に対して転送させ、当該第２の記憶領域に記憶させる。
【００１０】
第２の発明のデータ受信システムは、所定の伝送路からのデータを取得するデータ取得部と、前記データ取得部が取得した前記データを所定の記憶領域に記憶させるアクセス制御部と、複数の記憶領域と、前記データが記憶された記憶領域内の位置に関する受信ディスクリプタを記憶するディスクリプタ領域と、制御部と、を有し、前記複数の記憶領域は、第１の記憶領域と、前記第１の記憶領域と比較して記憶可能容量が大きく、かつ記憶速度が低速である第２の記憶領域とを含み、前記アクセス制御部は、転送部をさらに有し、前記アクセス制御部は、前記第１の記憶領域に記憶されているデータの合計容量が所定のしきい値を超えているか否かの判定を行い、当該合計容量が当該しきい値を超えている場合に、前記データ取得部が取得したデータを前記転送部に前記第２の記憶領域に対して転送させ、前記受信ディスクリプタに記載された位置に関する情報を基に当該第２の記憶領域に記憶させるとともに、当該受信ディスクリプタを受信ディスクリプタが使用中であることを示すフラグを付加して更新し、当該受信ディスクリプタの更新を前記制御部に対して通知し、前記制御部は、前記第１の記憶領域或いは前記第２の記憶領域に記憶された前記データを前記受信ディスクリプタを参照することにより読み出し、当該データを使用して所定の処理を行う。
【００１１】
第３の発明のデータ受信システムは、所定の伝送路からのデータを取得するデータ取得部と、前記データ取得部が取得した前記データを所定の記憶領域に記憶させるアクセス制御部と、第１の記憶領域と、前記第１の記憶領域と比較して記憶可能容量が大きく、かつ記憶速度が低速である第２の記憶領域とを含む複数の記憶領域と、前記データ取得部が取得したデータを前記第１の記憶領域或いは前記第２の記憶領域内の当該データを記憶する位置に関する情報を記述するための受信ディスクリプタを記憶するためのディスクリプタ領域と、前記データ取得部のデータ取得前にデータを記憶する位置情報を除いた受信ディスクリプタを生成して前記ディスクリプタ領域に記憶させる制御部と、をさらに有し、前記アクセス制御部は、転送部をさらに有し、前記アクセス制御部は、前記第１の記憶領域に記憶されているデータの合計容量が所定のしきい値を超えているか否かの判定を行い、当該合計容量が当該しきい値を超えている場合に、前記データ取得部が取得したデータを前記転送部に前記第２の記憶領域に対して転送させ、前記受信ディスクリプタに記載された位置に関する情報を基に当該第２の記憶領域に記憶させるとともに、前記データ取得部が取得したデータを前記第１の記憶領域或いは前記第２の記憶領域に記憶させる際に、前記ディスクリプタ領域内の受信ディスクリプタのいずれかに当該データを記憶する前記記憶領域内の位置に関する情報を記述し、前記制御部は、前記受信ディスクリプタを参照することにより前記第１の記憶領域或いは前記第２の記憶領域に記憶された前記データを読み出し、当該データを使用して所定の処理を行う。
【００１２】
第４の発明のデータ受信システムは、所定の伝送路からのデータを取得するデータ取得部と、前記データ取得部が取得した前記データを所定の記憶領域に記憶させるアクセス制御部と、第１の記憶領域と、前記第１の記憶領域と比較して記憶可能容量が大きく、かつ記憶速度が低速である第２の記憶領域とを含む複数の記憶領域と、前記データ取得部が取得したデータを前記第１の記憶領域或いは前記第２の記憶領域内の当該データを記憶する位置に関する情報を記述するための受信ディスクリプタを記憶するためのディスクリプタ領域と、制御部と、を有し、前記アクセス制御部は、転送部をさらに有し、前記アクセス制御部は、前記第１の記憶領域に記憶されているデータの合計容量が所定のしきい値を超えているか否かの判定を行い、当該合計容量が当該しきい値を超えている場合に、前記データ取得部が取得したデータを前記転送部に前記第２の記憶領域に対して転送させ、前記受信ディスクリプタに記載された位置に関する情報を基に当該第２の記憶領域に記憶させるとともに、前記データ取得部が取得したデータを前記第１の記憶領域或いは前記第２の記憶領域に記憶させる際に、前記第１の記憶領域或いは前記第２の記憶領域内の当該データを記憶する位置に関する情報を記述した受信ディスクリプタを生成し、前記制御部は、前記第１の記憶領域或いは前記第２の記憶領域に記憶された前記データを前記受信ディスクリプタを参照することにより読み出し、当該データを使用して所定の処理を行う。
【発明の効果】
【００１３】
本発明によれば、記憶能力が異なる複数の記憶領域を有するデータ受信システムにおいて、データ受信時に受信したデータを記憶させる記憶領域を好適に決定してデータを記憶させることができるデータ受信システムを提供することができる。
【発明を実施するための最良の形態】
【００１４】
＜第１実施形態＞
以下、本発明のデータ受信システムの第１の実施形態としてのデータ受信システム１００について説明する。
図２は、データ受信システム１００の構成の一例を示すブロック図である。
図２に示すように、データ受信システム１００は、データ取得部１、アクセス制御部２、受信ＦＩＦＯメモリ３（本発明の第１の記憶領域に対応）、データ記憶領域４（本発明の第２の記憶領域に対応）、ディスクリプタ領域５、ＣＰＵ６（本発明の制御部に対応）を有する。
【００１５】
データ取得部１は、伝送路（イーサネット（登録商標）等のＬＡＮ（Local  Area  Network）等）を接続するための端子を有し、伝送路から送信されるデータを取得する。その後、データ取得部１は、後述するアクセス制御部２に直接接続されており、伝送路から取得したデータをアクセス制御部２に転送する。データ取得部１は、伝送路上のデータを常に取得し、アクセス制御部２に引き渡す処理を行う。
【００１６】
また、アクセス制御部２は、受信ＦＩＦＯメモリ３を有する。
受信ＦＩＦＯメモリ３は、アクセス制御部２がデータ取得部１から取得したデータを記憶するための記憶領域である。
受信ＦＩＦＯメモリ３は、ＦＩＦＯ（First  In,  First  Out）構造を有したＳＲＡＭ（Static  Random  Access  Memory）等のバッファメモリであり、一般に８ＫＢｙｔｅ〜６４ＫＢｙｔｅ程度の記憶容量を有している。受信ＦＩＦＯメモリ３は、図１に関連付けて説明した従来のデータ受信システム２００においては、一時記憶領域２０３に相当する。
【００１７】
アクセス制御部２は、データ取得部１が伝送路から取得したデータを受け取り、取得したデータをまず一旦受信ＦＩＦＯメモリ３に記憶させる。その後、アクセス制御部２は、受信ＦＩＦＯメモリ３に既に記憶されているデータの合計容量を参照し、当該合計容量が所定のしきい値以下であった場合には、受信ＦＩＦＯメモリ３に一旦記憶されたデータをそのままにし、当該合計容量が所定のしきい値を超えた場合は、受信ＦＩＦＯメモリ３に一旦記憶されたデータを後述するデータ記憶領域４に対してＤＭＡ転送し記憶させる。所定のしきい値は、受信ＦＩＦＯメモリ３の全容量に応じて決定される値であり、所定のしきい値の設定方法については本実施形態では限定しない。
例えば受信ＦＩＦＯメモリ３の全容量が６４ＫＢｙｔｅである場合、しきい値を３２ＫＢｙｔｅに設定したとする。アクセス制御部２がデータ取得部１からデータを取得し受信ＦＩＦＯメモリ３に一旦記憶させた結果、受信ＦＩＦＯメモリ３内に記憶されている全データの合計容量が３２ＫＢｙｔｅ未満であった場合には、記憶させたデータは受信ＦＩＦＯメモリ３に記憶させたままにし、受信ＦＩＦＯメモリ３内に記憶されている全データの合計が３２ＫＢｙｔｅを超えている場合には、一旦受信ＦＩＦＯメモリ３に記憶されたデータをデータ記憶領域４に対してＤＭＡ転送し記憶させる。
アクセス制御部２は、データ取得部１が取得したデータを受信ＦＩＦＯメモリ３に一旦記憶させる場合、或いは、受信ＦＩＦＯメモリ３に記憶されたデータをデータ記憶領域４に対してＤＭＡ転送し記憶させる場合に、データを記憶させる受信ＦＩＦＯメモリ３或いはデータ記憶領域４内の位置を、受信ディスクリプタを参照して決定する。
【００１８】
受信ディスクリプタについて説明する。
受信ディスクリプタは、アドレス情報、データ容量及び使用済みフラグが記載された情報である。
アドレス情報は、データの記憶位置を示す情報であり、受信ＦＩＦＯメモリ３或いはデータ記憶領域４内の位置を示すアドレス情報である。アドレス情報がどのように受信ＦＩＦＯメモリ３或いはデータ記憶領域４内の位置を示すかについては、本実施形態では限定しない。
データ容量は、そのデータの容量（データサイズ）を示す情報である。
使用済みフラグは、その受信ディスクリプタが使用されているか否かを示すフラグである。使用済みフラグがオフになっている受信ディスクリプタは、その受信ディスクリプタに記載されたアドレス情報が示すアドレスにはデータが記憶されていないことを示しており、すなわち、アクセス制御部２にとってその受信ディスクリプタが使用可能である（その受信ディスクリプタに記載されたアドレス情報のアドレスにデータを記憶可能である）ことを示している。
反対に、使用済みフラグがオンになっている受信ディスクリプタは、記載されたアドレス情報が示すアドレスにデータが記憶されていることを示しており、すなわち、その受信ディスクリプタが使用不可能である（その受信ディスクリプタに記載されたアドレス情報のアドレスにデータを記憶できない）ことを示している。
【００１９】
本実施形態では、受信ディスクリプタには、受信ＦＩＦＯメモリ３に対応するものと、データ記憶領域４に対応するものとの２種類が存在する。すなわち、受信ＦＩＦＯメモリ３内のどの位置にデータを記憶するかを示すアドレス情報を有する受信ディスクリプタと、データ記憶領域４内のどの位置にデータを記憶するかを示すアドレス情報を有する受信ディスクリプタの両方が存在する。
【００２０】
受信ディスクリプタは、後述するＣＰＵ６によって生成され、後述するディスクリプタ領域５に記憶されている。ＣＰＵ６によって生成された受信ディスクリプタには、受信ＦＩＦＯメモリ３或いはデータ記憶領域４のアドレス情報のみ記載されており、データ容量はまだ記載されていない。また、使用済みフラグはオフになっている。
アクセス制御部２は、データ取得部１からのデータ取得時に、受信ＦＩＦＯメモリ３に対応した受信ディスクリプタのうちの１つを参照し、参照した受信ディスクリプタに記載されたアドレス情報に基づいて、そのアドレスにデータを記憶させる。アクセス制御部２は、受信ディスクリプタに記載されたアドレス情報を基にデータ取得部１から取得したデータを受信ＦＩＦＯメモリ３に記憶させた後、当該データのデータ容量を基に、対応する受信ディスクリプタのデータ容量を更新し、さらに当該受信ディスクリプタの使用済みフラグをオンに更新する。
【００２１】
その後、アクセス制御部２は、受信ＦＩＦＯメモリ３内のデータ容量の合計が所定のしきい値を超えたか否かの判定を行い、データをデータ記憶領域４に転送するか否かを決定する。アクセス制御部２は、データをデータ記憶領域４に転送させる場合には、データ記憶領域４に対応した受信ディスクリプタを参照し、参照した受信ディスクリプタに記載されたアドレス情報に基づいて、そのアドレスにデータを記憶させる。同時に、当該データのデータ容量を基に、対応する受信ディスクリプタのデータ容量を更新し、さらに当該受信ディスクリプタの使用済みフラグをオンに更新する。データをデータ記憶領域４に転送しない場合には、そのままにする。
【００２２】
アクセス制御部２はＤＭＡＣ（Direct  Memory  Access  Controller）２１を有する。ＤＭＡＣ２１は、受信ＦＩＦＯメモリ３に記憶されたデータをデータ記憶領域４にＤＭＡ転送するためのコントローラである。ＤＭＡＣ２１は、メモリとメモリまたはメモリとＩ／Ｏ（In/Out）デバイスの間でデータをＤＭＡ（Direct  Memory  Access）転送するための転送制御を行う。ＤＭＡＣ２１は、アクセス制御部２が受信ＦＩＦＯメモリ３に記憶されたデータをデータ記憶領域４に記憶させることを決定した際に、受信ＦＩＦＯメモリ３に記憶されたデータをデータ記憶領域４に対してＤＭＡ転送するための転送制御を行う。
【００２３】
データ記憶領域４は、ＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）等により構成される、受信ＦＩＦＯメモリ３と比較して大容量の記憶領域であり、例えば２５６ＭＢｙｔｅの記憶容量を有する。データ記憶領域４は、アクセス制御部２のＤＭＡＣ２１により受信ＦＩＦＯメモリ３から転送されたデータを記憶する。
受信ＦＩＦＯメモリ３とデータ記憶領域４とを比較すると、受信ＦＩＦＯメモリ３は小容量であるが高速、データ記憶領域４は大容量であるが受信ＦＩＦＯメモリ３と比較して低速である、という特徴をそれぞれ有する。従って、受信ＦＩＦＯメモリ３及びデータ記憶領域４はこれらの特徴を満たすような記憶媒体であればよく、すなわち、必ずしも上述したように受信ＦＩＦＯメモリ３がＳＲＡＭ、データ記憶領域４がＳＤＲＡＭで構成される必要は無い。
【００２４】
ディスクリプタ領域５は、上述した受信ディスクリプタを記憶するための記憶領域である。
【００２５】
ＣＰＵ６は、データ受信システム１００の各構成を統括的に制御する。
ＣＰＵ６は、データを記憶するための受信ＦＩＦＯメモリ３内のアドレスを指定した受信ディスクリプタと、データ記憶領域４内のアドレスを指定した受信ディスクリプタを生成し、ディスクリプタ領域５に記憶する。なお、この時点でＣＰＵ６により生成されるディスクリプタ情報には、データ容量に関する情報は記載されておらず、使用済みフラグはオフになっている。
【００２６】
ＣＰＵ６は、ディスクリプタ領域５に記憶された受信ディスクリプタのうち、使用済みフラグがオンになっている受信ディスクリプタを参照し、受信ＦＩＦＯメモリ３或いはデータ記憶領域４からデータを読み出し、当該データを使用した種々の処理を行う。ＣＰＵ６が行う種々の処理に関しては、本発明では限定しない。
【００２７】
ＣＰＵ６は、読み出したデータを処理に使用し終わった後、そのデータを受信ＦＩＦＯメモリ３或いはデータ記憶領域４から削除する、或いは他の記憶領域（図２に図示しない）に転送すると共に、当該データの受信ディスクリプタの使用済みフラグをオフに更新し、アクセス制御部２にこれを通知する。この削除或いは転送により受信ＦＩＦＯメモリ３及びデータ記憶領域４の容量が空き、データ取得部１が取得した新たなデータを記憶できるようになる。これにより、アクセス制御部２は、次回以降の受信機会にデータ取得部１が取得したデータを記憶する際には、ディスクリプタ領域５に記憶された受信ディスクリプタの使用済みフラグを参照することにより、使用可能な（データをそのアドレス情報のアドレスに記憶可能な）受信ディスクリプタを知ることができる。
【００２８】
本実施形態のデータ受信システム１００の各構成の動作は以上の通りである。
次に、上述した各構成を用いた、接続された伝送路からデータを受信する場合のデータ受信システム１００全体の動作例について説明する。
図３は、データ受信時のデータ受信システム１００の動作例を示すフローチャートである。
なお、図３に示すフローチャートは、データ受信システム１００の１回の受信機会におけるデータの受信処理を示したものであり、実際には図３に示す動作を繰り返している。
ステップＳＴ１：
データ取得部１は、伝送路から取得したデータをアクセス制御部２に渡す。
ステップＳＴ２：
アクセス制御部２は、ディスクリプタ領域５に記憶された、受信ＦＩＦＯメモリ３に対応した受信ディスクリプタのうち１つを参照し、当該受信ディスクリプタに記載されたアドレス情報を基に、ステップＳＴ１において取得したデータを受信ＦＩＦＯメモリ３に記憶させる。
【００２９】
ステップＳＴ３：
アクセス制御部２は、ステップＳＴ２において受信ＦＩＦＯメモリ３にデータを記憶させる際に参照した受信ディスクリプタを更新する。すなわち、アクセス制御部２は、ステップＳＴ２において参照した、受信ＦＩＦＯメモリ３に対応する受信ディスクリプタに受信ＦＩＦＯメモリ３に記憶されたデータのデータ容量を追記し、使用済みフラグをオンにする。
ステップＳＴ４：
アクセス制御部２は、ステップＳＴ３における受信ディスクリプタの更新をＣＰＵ６に対して通知する。
ＣＰＵ６は、この通知によりデータの受信を知り、このデータを使用した処理を行うことが可能になる。
【００３０】
ステップＳＴ５：
アクセス制御部２は、受信ＦＩＦＯメモリ３を参照し、受信ＦＩＦＯメモリ３内に記憶されているデータの合計容量をチェックする。
ステップＳＴ６：
アクセス制御部２は、ステップＳＴ５においてチェックした受信ＦＩＦＯメモリ３に記憶されているデータの合計容量が所定のしきい値以下である場合はステップＳＴ１に戻り、合計容量が所定のしきい値を超えている場合はステップＳＴ７に進む。  
【００３１】
ステップＳＴ７：
アクセス制御部２のＤＭＡＣ２１は、ステップＳＴ１においてデータ取得部１から取得し、ステップＳＴ２において受信ＦＩＦＯメモリ３に一旦記憶したデータをデータ記憶領域４に転送する。
ステップＳＴ８：
アクセス制御部２は、ディスクリプタ領域５に記憶された、データ記憶領域４に対応した受信ディスクリプタのうちの１つを参照し、そのアドレス情報に従って、ステップＳＴ７においてＤＭＡＣ２１が転送したデータをデータ記憶領域４に記憶させる。
【００３２】
ステップＳＴ９：
アクセス制御部２は、ステップＳＴ８においてデータ記憶領域４にデータを記憶させる際に参照した受信ディスクリプタを更新する。すなわち、アクセス制御部２は、ステップＳＴ３において更新した、受信ＦＩＦＯメモリ３に対応した受信ディスクリプタから、データ容量を削除し、使用済みフラグをオフに戻す。さらに、ステップＳＴ８において参照した、データ記憶領域４に対応する受信ディスクリプタに、ステップＳＴ８においてデータ記憶領域４に記憶されたデータ容量を追記し、使用済みフラグをオンにする。
ステップＳＴ１０：
アクセス制御部２は、ステップＳＴ９における受信ディスクリプタの更新をＣＰＵ６に対して通知する。
ＣＰＵ６は、この通知によりデータの受信を知り、このデータを使用した処理を行うことが可能になる。
なお、このステップ終了後、次の受信機会においてデータ取得部１が伝送路から取得したデータの処理を行うため、ステップＳＴ１に戻る。
本実施形態のデータ受信システム１００は、上述したように伝送路からのデータを記憶する動作を繰り返す。
【００３３】
以上説明した本実施形態のデータ受信システム１００によれば、受信ＦＩＦＯメモリ３とデータ記憶領域４の２つの記憶部を有している。
上述したように、本実施形態のデータ受信システム１００によれば、アクセス制御部２は、データ取得部１が伝送路から取得したデータを、受信ＦＩＦＯメモリ３に対応した受信ディスクリプタのうちの１つを参照することにより一旦受信ＦＩＦＯメモリ３に記憶させた後、受信ＦＩＦＯメモリ３に記憶されているデータの合計容量が所定のしきい値以下である場合にはそのままにし、受信ＦＩＦＯメモリ３に記憶されているデータの合計容量が所定のしきい値を超えている場合には、一旦受信ＦＩＦＯメモリ３に記憶したデータ記憶領域４に転送して記憶させる。受信ＦＩＦＯメモリ３は、小容量であるが高速であり、データ記憶領域４は大容量であるが受信ＦＩＦＯメモリ３と比較して低速であるため、本実施形態のデータ受信システム１００によれば、受信ＦＩＦＯメモリ３に空き容量がある場合には受信ＦＩＦＯメモリ３に高速に記憶を行うことができ、受信ＦＩＦＯメモリ３に空き容量が無い場合には、大容量のデータ記憶領域４に確実に記憶を行うことができる。特に、データ記憶領域４に記憶させる際にはＤＭＡＣ２１によるＤＭＡ転送を行うが、受信ＦＩＦＯメモリ３に記憶させる際にはＤＭＡ転送が必要ないため、より高速な記憶を行うことができる。
【００３４】
また、本実施形態のデータ受信システム１００によれば、受信ＦＩＦＯメモリ３に記憶されているデータの合計容量が所定のしきい値を超えている場合には、アクセス制御部２は、一旦受信ＦＩＦＯメモリ３に記憶されたデータをＤＭＡＣ２１によりデータ記憶領域４にＤＭＡ転送して記憶させる。受信ＦＩＦＯメモリ３に記憶されているデータ容量が所定のしきい値を超えている状態は、データ取得部１が伝送路から取得したデータをＣＰＵ６が処理しきれていない状態であり、伝送路からのデータ受信速度が増大した場合等に起こる状態であるが、本実施形態のデータ受信システム１００によれば、このような状態でも、伝送路から取得し一旦受信ＦＩＦＯメモリ３に記憶されたデータを、受信ＦＩＦＯメモリ３と比較して大容量のデータ記憶領域４に記憶させるので、データの受信失敗やデータ欠落等を防止することができる。
【００３５】
ただし、データ取得部１が伝送路から取得したデータを、受信ＦＩＦＯメモリ３とデータ記憶領域４とのいずれに記憶するかを決定する方法として、上述した第１実施形態においては受信ＦＩＦＯメモリ３内のデータ容量が所定のしきい値を基準に決定する方法を一例として説明したが、本発明はこれには限定されない。例えば、データ取得部１が所定時間内に受信するデータ量の多寡を基準として受信ＦＩＦＯメモリ３とデータ記憶領域４のいずれに受信したデータを記憶するかを決定しても良い。さらに、受信データの内容に応じて、受信ＦＩＦＯメモリ３とデータ記憶領域４のいずれに受信データを記憶するかを決定しても良い。
【００３６】
なお、上述した第１実施形態では、受信ＦＩＦＯメモリ３とデータ記憶領域４の２つのデータ記憶領域を有する場合について説明したが、本発明はこれには限定されず、複数の受信ＦＩＦＯメモリ３と複数のデータ記憶領域４とを有していても良い。
【００３７】
＜第２実施形態＞
以下、本発明のデータ受信システムの第２の実施形態としてのデータ受信システム１０１について説明する。
本第２実施形態のデータ受信システム１０１の構成は、アクセス制御部２ａ及びＣＰＵ６ａを除いて、第１実施形態のデータ受信システム１００と同様である。
本実施形態のデータ受信システム１０１は、データ取得部１、アクセス制御部２ａ、受信ＦＩＦＯメモリ３（本発明の第１の記憶領域に対応）、データ記憶領域４（本発明の第２の記憶領域に対応）、ディスクリプタ領域５、ＣＰＵ６ａ（本発明の制御部に対応）を有する。
【００３８】
本第２実施形態のデータ受信システム１０１では、受信ディスクリプタに関する処理において第１実施形態において説明したデータ受信システム１００と異なっている。
第１実施形態のデータ受信システム１００では、受信ＦＩＦＯメモリ３とデータ記憶領域４のそれぞれに対応した受信ディスクリプタがディスクリプタ領域５に予め記憶されており、アクセス制御部２はデータ取得部１からデータを取得し、受信ＦＩＦＯメモリ３にデータを一旦記憶させた後、受信ＦＩＦＯメモリ３内のデータの合計容量に応じて、一旦受信ＦＩＦＯメモリ３に記憶させたデータを受信ＦＩＦＯメモリ３とデータ記憶領域４のどちらに記憶させるかを決定し、記憶させる記憶領域に対応した受信ディスクリプタを参照し、記載されたアドレス情報に従って当該データを記憶させ、記憶させた後に参照した受信ディスクリプタを更新していた。
しかし、本第２実施形態のデータ受信システム１０１では、ＣＰＵ６ａはアドレス情報及びデータ容量が記載されていない受信ディスクリプタを生成してディスクリプタ領域５に記憶させておき、アクセス制御部２ａは、データを受信ＦＩＦＯメモリ３或いはデータ記憶領域４に記憶させた後、当該データのアドレス情報及びデータ容量を基に受信ディスクリプタを更新する。
【００３９】
すなわち、第１実施形態のデータ受信システム１００においては、アクセス制御部２はＣＰＵ６が生成した受信ディスクリプタに記載されたアドレス情報を基に、データ取得部１が取得したデータを記憶させていたが、本第２実施形態のデータ受信システム１０１では、データを受信ＦＩＦＯメモリ３或いはデータ記憶領域４に記憶させる際に、データを記憶させる位置をアクセス制御部２ａが決定し、記憶させた後に記憶させたアドレスを受信ディスクリプタにアドレス情報として記載する。
【００４０】
以下、本第２実施形態の各構成の動作について説明する。ただし、データ取得部１、受信ＦＩＦＯメモリ３、データ記憶領域４、ディスクリプタ領域５の動作に関しては第１実施形態に説明した動作と同様であるため、本実施形態においては説明を省略する。
アクセス制御部２ａは、データ取得部１が伝送路から取得したデータを受け取り、取得したデータのデータ容量等を基に、受信ＦＩＦＯメモリ３を参照し、記憶させるアドレスを決定する。そして、受信ＦＩＦＯメモリ３の決定したアドレスにデータ取得部１から取得したデータを記憶させる。同時に、記憶させたデータのデータ容量を基に、ディスクリプタ領域５に記憶された受信ディスクリプタのうち、更新フラグがオフである受信ディスクリプタを１つ選択し、選択した受信ディスクリプタにアドレス情報及びデータ容量を追記すると共に、使用済みフラグをオンにする。
【００４１】
次に、アクセス制御部２ａは、受信ＦＩＦＯメモリ３に既に記憶されているデータの合計容量を参照し、当該合計容量が所定のしきい値以下である場合には、一旦受信ＦＩＦＯメモリ３に記憶させたデータをそのままにし、当該合計容量が所定のしきい値を超えていた場合は、データを後述するデータ記憶領域４に転送して記憶させる。
【００４２】
この際、アクセス制御部２ａは、転送するデータのデータ容量等を基に、データを記憶させるデータ記憶領域４内のデータを記憶させるアドレスを決定し、決定したアドレスにデータを記憶させる。
そして、アクセス制御部２ａは、ディスクリプタ領域５に記憶された受信ディスクリプタのうち、更新フラグがオフである受信ディスクリプタを１つ選択し、選択した受信ディスクリプタのアドレス情報及びデータ容量を追記すると共に、使用済みフラグをオンにする。
【００４３】
本実施形態におけるアドレス情報について説明する。
本実施形態のアドレス情報は、ＣＰＵ６ａから見たＩ／Ｏ（In/Out）アドレスにより指定される。本実施形態のアドレス情報の概念図を図４に示す。
図４は、アドレス情報の概念図であり、ＣＰＵ６ａから見た受信ＦＩＦＯメモリ３及びデータ記憶領域４のＩ／Ｏアドレスを概念的に示している。
図４に示した領域Ａが受信ＦＩＦＯメモリ３を示すアドレス群であり、領域Ｂがデータ記憶領域４を示すアドレス群である。Ｉ／Ｏアドレスは、例えば３２ビットのものを使用する。
【００４４】
アクセス制御部２ａのデータを記憶させるアドレスの決定方法について説明する。
アクセス制御部２ａは、受信ＦＩＦＯメモリ３にデータを記憶させるように決定した場合には、領域Ａの空き領域を検索し、空き領域の先頭のアドレスを取得する。そして、当該空き領域の先頭からデータを記憶させる。
データ記憶領域４に記憶させるように決定した場合にも同様である。すなわち、アクセス制御部２ａは、領域Ｂの空き領域を検索し、空き領域の先頭のアドレスを取得して、当該空き領域の先頭からデータを記憶させる。
【００４５】
このように記憶領域にデータを記憶させることにより、記憶領域を有効に利用することが可能になる。また、受信ＦＩＦＯメモリ３からデータ記憶領域４へのデータ転送を一部省略しているため、性能の向上も実現される。
第１実施形態において説明したデータ受信システム１００においては、ＣＰＵ６が受信ディスクリプタ生成時に指定したアドレス情報に従ってアクセス制御部２が指定されたアドレスにデータを記憶させていた。すなわち、ＣＰＵ６はデータ取得部１がデータを実際に取得する以前に受信ディスクリプタを生成しており、ＣＰＵ６が生成した受信ディスクリプタに記載されたアドレス情報は、データのサイズを考慮せずに設定されている。従って、ＣＰＵ６は新規に受信ディスクリプタを生成する際に、１回の受信機会でデータ取得部１が取得可能な最大のデータ容量（１．５ＫＢｙｔｅ）を記憶可能なように受信ディスクリプタのアドレス情報を設定する必要があり、従って、実際にデータ取得部１が取得したデータが１．５ＫＢｙｔｅに満たない場合には、記憶領域にデータが記憶された場合に、データとデータとの間に隙間が空いてしまう（１つのデータの終了アドレスと次のデータの開始アドレスが連続していない）場合がある。
一方、本第２実施形態のデータ受信システム１０１においては、上述したようにアクセス制御部２ａは常に空き領域の先頭アドレスからデータを記憶させるため、１つのデータの終了アドレスと次のデータの開始アドレスは常に連続しており、データとデータとの間に隙間が空いてしまい記憶領域が無駄になることが無く、記憶領域を有効に利用することが可能になっている。
【００４６】
ＣＰＵ６ａは、データ受信システム１０１の各構成を統括的に制御する。
ＣＰＵ６ａは、アドレス情報とデータ容量とを含まない受信ディスクリプタを生成し、予めディスクリプタ領域５に記憶させておく。
また、ＣＰＵ６ａは、データ取得部１が取得したデータがアクセス制御部２ａにより受信ＦＩＦＯメモリ３或いはデータ記憶領域４に記憶された後、アクセス制御部２ａからの通知を受け、アクセス制御部２ａにより更新された受信ディスクリプタを参照することにより当該データを読み出し、データを使用した種々の処理を行う。ＣＰＵ６ａが行う種々の処理に関しては、本発明では限定しない。ＣＰＵ６ａが処理に使用し終わった後、そのデータは受信ＦＩＦＯメモリ３或いはデータ記憶領域４から削除される、或いは他の記憶領域に転送される。この削除或いは転送処理により受信ＦＩＦＯメモリ３及びデータ記憶領域４の容量が空き、データ取得部１が取得した新たなデータを記憶できるようになる。すなわち、ＣＰＵ６ａは、処理に使用し終わったデータの受信ディスクリプタのアドレス情報とデータ容量とを削除して使用済みフラグをオフに戻し、アクセス制御部２ａにこれを通知する。これにより、アクセス制御部２ａは、次にデータを記憶させる際に使用可能な受信ディスクリプタを知ることができる。
【００４７】
以上説明したように、本第２実施形態のデータ受信システム１０１によれば、ＣＰＵ６ａはデータ取得前にアドレス情報及びデータ容量が記載されていない受信ディスクリプタを生成してディスクリプタ領域５に記憶させておき、アクセス制御部２ａは、データ取得部１が取得したデータをさせる受信ＦＩＦＯメモリ３或いはデータ記憶領域４内の位置を決定し、当該記憶させた位置のアドレス情報及びデータ容量を基に受信ディスクリプタを記載し、使用済みフラグをオンに更新する。この際、記憶領域の空き領域を検索し、空き領域の開始アドレスからデータを記憶させるようにデータを記憶させる位置を決定するので、ＣＰＵが予めデータ記憶位置のアドレス情報を含む受信ディスクリプタを生成しておく場合と比較して、記憶領域を有効に利用することができるようになる。
また、本第２実施形態においては、アドレス情報はＣＰＵ６ａから見たＩ／Ｏアドレスにより、受信ＦＩＦＯメモリ３とデータ記憶領域４の両方のアドレスが管理されているため、第１実施形態のように、受信ＦＩＦＯメモリ３に対応した受信ディスクリプタとデータ記憶領域４に対応した受信ディスクリプタの両方を予め用意しておく必要が無く、ディスクリプタ領域の容量を小さく抑えることが可能になる。
【００４８】
また、本第２実施形態のデータ受信システム１０１においては、上述したような効果に加えて、第１実施形態のデータ受信システム１００と同様に、受信ＦＩＦＯメモリ３に記憶されているデータ容量が所定のしきい値を超えている場合には、アクセス制御部２ａがデータ取得部１の取得したデータをＤＭＡＣ２１によりデータ記憶領域４にＤＭＡ転送して記憶させるので、データの受信失敗やデータ欠落等を防止することができるとともに、より高速な記憶を実行することができる。
【００４９】
＜第３実施形態＞
以下、本発明のデータ受信システムの第３の実施形態としてのデータ受信システム１０２について説明する。
本第３実施形態のデータ受信システム１０２の構成は、アクセス制御部２ｂ及びＣＰＵ６ｂを除いて、第１実施形態のデータ受信システム１００及び第２実施形態のデータ受信システム１０１と同様である。
本第３実施形態のデータ受信システム１０２は、データ取得部１、アクセス制御部２ｂ、受信ＦＩＦＯメモリ３（本発明の第１の記憶領域に対応）、データ記憶領域４（本発明の第２の記憶領域に対応）、ディスクリプタ領域５、ＣＰＵ６ｂ（本発明の制御部に対応）を有する。
【００５０】
本第３実施形態のデータ受信システム１０２では、受信ディスクリプタに関する処理において第２実施形態において説明したデータ受信システム１０１と異なっている。
第２実施形態のデータ受信システム１０１では、ＣＰＵ６ａがアドレス情報及びデータ容量を含まない受信ディスクリプタを予め生成してディスクリプタ領域５に記憶させておき、アクセス制御部２ａは、データを記憶させる位置を受信ＦＩＦＯメモリ３及びデータ記憶領域４の空き領域を検索することにより決定して記憶させ、アドレス情報及びデータ容量を基に受信ディスクリプタを更新していた。
【００５１】
本第３実施形態のデータ受信システム１０２では、ＣＰＵ６ｂは受信ディスクリプタを生成せず、データ取得部１が取得したデータをアクセス制御部２ａが受信ＦＩＦＯメモリ３或いはデータ記憶領域４に記憶させる際に受信ディスクリプタを生成する。
すなわち、第２実施形態のデータ受信システム１００ではＣＰＵ６が受信ディスクリプタの生成を行っていたが、本実施形態のデータ受信システム１０２では受信ディスクリプタの生成をアクセス制御部２ｂが行う点において第２実施形態と異なっている。
【００５２】
以下、第３実施形態のデータ受信システム１０２の各構成について説明する。ただし、データ取得部１、受信ＦＩＦＯメモリ３、データ記憶領域４、ディスクリプタ領域５の動作に関しては第１実施形態に説明した動作と同様であるため、本実施形態においては説明を省略する。
アクセス制御部２ｂは、データ取得部１が伝送路から取得したデータを受け取り、取得したデータを一旦受信ＦＩＦＯメモリ３に記憶させる。この際、アクセス制御部２は、データを記憶させた受信ＦＩＦＯメモリ３内の領域のアドレス情報と、記憶されたデータのデータ容量とを記載し、使用済みフラグをオンにした受信ディスクリプタを生成し、ディスクリプタ領域５に記憶させる。
【００５３】
次に、アクセス制御部２ｂは、第１実施形態のデータ受信システム１００のアクセス制御部２及び第２実施形態のデータ受信システム１０１のアクセス制御部２ａと同様に、受信ＦＩＦＯメモリ３に既に記憶されているデータの合計容量を参照し、当該合計容量が所定のしきい値以下である場合には受信ＦＩＦＯメモリ３に記憶させたデータをそのままにし、当該合計容量が所定のしきい値を超えていた場合は、データをデータ記憶領域４に転送し記憶させる。
アクセス制御部２ｂは、データ記憶領域４にデータを記憶させた後、記憶させたデータのアドレス情報及びデータ容量を記載し、使用済みフラグをオンにした受信ディスクリプタを生成する。
【００５４】
ＣＰＵ６ｂは、データ受信システム１０２の各構成を統括的に制御する。
また、ＣＰＵ６ｂは、受信ＦＩＦＯメモリ３或いはデータ記憶領域４に記憶されたデータを、ディスクリプタ領域５に記憶された、使用済みフラグがオンである受信ディスクリプタを参照することにより読み出し、データを使用した種々の処理を行う。ＣＰＵ６ｂが行う種々の処理に関しては、本発明では限定しない。ＣＰＵ６ｂが処理に使用し終わった後、そのデータは受信ＦＩＦＯメモリ３或いはデータ記憶領域４から削除或いは他の記憶領域に転送される。この転送処理により受信ＦＩＦＯメモリ３及びデータ記憶領域４の容量が空き、データ取得部１が取得した新たなデータを記憶できるようになる。すなわち、ＣＰＵ６ｂは、処理に使用し終わったデータの受信ディスクリプタのアドレス情報とデータ容量とを削除して使用済みフラグをオフに戻し、アクセス制御部２ｂにこれを通知する。これにより、アクセス制御部２ｂは、次にデータを記憶させる際に使用可能な受信ディスクリプタを知ることができる。
また、ＣＰＵ６ｂは、アクセス制御部２ｂが受信ディスクリプタを生成する前に、ディスクリプタ領域５内の空き領域に関する情報をアクセス制御部２ｂに伝える。アクセス制御部２ｂは、この情報を基に生成した受信ディスクリプタをディスクリプタ領域に記憶させる。
【００５５】
以上説明したように、本第３実施形態のデータ受信システム１０２によれば、アクセス制御部２ｂがデータを記憶させる位置を決定しデータを記憶させた後に、記憶させた位置のアドレス情報及びデータ容量を含む受信ディスクリプタを生成する。このため、受信ディスクリプタ生成のためにＣＰＵ６ｂに負荷が掛かる事態を回避することができる。また、アクセス制御部２ｂがデータを受信ＦＩＦＯメモリ３或いはデータ記憶領域４に記憶させる際に、ディスクリプタ領域５に記憶された、予め生成された受信ディスクリプタを読み出す必要がなくなるため、従来のデータ受信システムのように、ＣＰＵがビジー状態になった等の理由でアクセス制御部が受信ディスクリプタを読み出すことができず、取得したデータの記憶が遅れ、これによりＣＰＵによるデータを使用した所定の処理に遅れが生じる事態を回避することができる。
【００５６】
本発明は上述した実施形態には限定されない。
すなわち、本発明の実施に際しては、本発明の技術的範囲またはその均等の範囲内において、上述した実施形態の構成要素に関し様々な変更、コンビネーション、サブコンビネーション、並びに代替を行ってもよい。
【図面の簡単な説明】
【００５７】
【図１】図１は、従来のデータ送受信装置の構成の一例を示すブロック図である。
【図２】図２は、本発明の第１実施形態のデータ受信装置の構成の一例を示すブロック図である。
【図３】図３は、本発明の第１実施形態のデータ受信装置のデータ受信時の動作例を示すフローチャートである。
【図４】図４は、アドレス情報の概念図である。
【符号の説明】
【００５８】
１００，１０１，１０２…データ受信システム、１…データ取得部、２，２ａ，２ｂ…アクセス制御部、２１…ＤＭＡＣ、３…受信ＦＩＦＯメモリ、４…データ記憶領域、５…ディスクリプタ領域、６，６ａ，６ｂ…ＣＰＵ、２００…データ受信システム、２０１…データ取得部、２０２…ＭＡＣ、２０３…一時記憶領域、２０４…データ記憶領域、２０５…ディスクリプタ領域
【図１】
2009032053.tif 000003
【図２】
2009032053.tif 000004
【図３】
2009032053.tif 000005
【図４】
2009032053.tif 000006
【手続補正書】
【提出日】平成20年10月29日(2008.10.29)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
以下、本第２実施形態の各構成の動作について説明する。ただし、データ取得部１、受信ＦＩＦＯメモリ３、データ記憶領域４、ディスクリプタ領域５の動作に関しては第１実施形態に説明した動作と同様であるため、本実施形態においては説明を省略する。
アクセス制御部２ａは、データ取得部１が伝送路から取得したデータを受け取り、取得したデータのデータ容量等を基に、受信ＦＩＦＯメモリ３を参照し、記憶させるアドレスを決定する。そして、受信ＦＩＦＯメモリ３の決定したアドレスにデータ取得部１から取得したデータを記憶させる。同時に、記憶させたデータのデータ容量を基に、ディスクリプタ領域５に記憶された受信ディスクリプタのうち、使用済みフラグがオフである受信ディスクリプタを１つ選択し、選択した受信ディスクリプタにアドレス情報及びデータ容量を追記すると共に、使用済みフラグをオンにする。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５１
【補正方法】変更
【補正の内容】
【００５１】
本第３実施形態のデータ受信システム１０２では、ＣＰＵ６ｂは受信ディスクリプタを生成せず、データ取得部１が取得したデータをアクセス制御部２ａが受信ＦＩＦＯメモリ３或いはデータ記憶領域４に記憶させる際に受信ディスクリプタを生成する。
すなわち、第２実施形態のデータ受信システム１０１ではＣＰＵ６ａが受信ディスクリプタの生成を行っていたが、本実施形態のデータ受信システム１０２では受信ディスクリプタの生成をアクセス制御部２ｂが行う点において第２実施形態と異なっている。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
以下、第３実施形態のデータ受信システム１０２の各構成について説明する。ただし、データ取得部１、受信ＦＩＦＯメモリ３、データ記憶領域４、ディスクリプタ領域５の動作に関しては第１実施形態に説明した動作と同様であるため、本実施形態においては説明を省略する。
アクセス制御部２ｂは、データ取得部１が伝送路から取得したデータを受け取り、取得したデータを一旦受信ＦＩＦＯメモリ３に記憶させる。この際、アクセス制御部２ｂは、データを記憶させた受信ＦＩＦＯメモリ３内の領域のアドレス情報と、記憶されたデータのデータ容量とを記載し、使用済みフラグをオンにした受信ディスクリプタを生成し、ディスクリプタ領域５に記憶させる。