JP2009032053A - データ受信システム - Google Patents
データ受信システム Download PDFInfo
- Publication number
- JP2009032053A JP2009032053A JP2007195775A JP2007195775A JP2009032053A JP 2009032053 A JP2009032053 A JP 2009032053A JP 2007195775 A JP2007195775 A JP 2007195775A JP 2007195775 A JP2007195775 A JP 2007195775A JP 2009032053 A JP2009032053 A JP 2009032053A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage area
- descriptor
- reception
- control unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003860 storage Methods 0.000 claims abstract description 212
- 230000005540 biological transmission Effects 0.000 claims abstract description 42
- 238000012546 transfer Methods 0.000 claims abstract description 39
- 238000012545 processing Methods 0.000 claims description 22
- 238000000034 method Methods 0.000 claims description 20
- 230000015654 memory Effects 0.000 abstract description 125
- 238000013500 data storage Methods 0.000 abstract description 93
- 238000010586 diagram Methods 0.000 description 7
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
【解決手段】アクセス制御部2はデータ取得部1が伝送路から取得したデータを受信FIFOメモリ3に記憶させた後、受信FIFOメモリ3に記憶されているデータの合計容量が所定のしきい値以下である場合にはそのままにし、受信FIFOメモリ3に記憶されているデータ容量が所定のしきい値を超えている場合には、アクセス制御部2はデータをデータ記憶領域4に転送し記憶させる。
【選択図】図2
Description
イーサネットでは、データの送受信処理は、システム全体の制御装置(CPU(Central Control Unit)等)と、送受信用のアクセス制御ユニット(MAC:Media Access Controller)とが送信及び受信ディスクリプタを介して行う。ディスクリプタとは、転送の方向(送信か受信か)、送信するデータ或いは受信したデータの記憶領域内の記憶位置を示す情報(アドレス)やデータサイズ等を示す送受信制御情報である。特に、受信ディスクリプタは、受信されたデータを格納したバッファメモリのアドレスを記録している。
例えば、データの送信を行う際には、CPUが送信ディスクリプタを生成し、MACが送信ディスクリプタを参照して送信するデータをバッファメモリから読み出し送信を行う。反対に、データの受信を行う際には、CPUが受信ディスクリプタを生成し、MACが受信したデータをバッファメモリに書き込み、書き込んだデータのアドレスを基に受信ディスクリプタを更新する。
図1は、従来のデータ受信システム200の構成の一例を示すブロック図である。
図1に示すように、データ受信システム200は、データ取得部201、MAC202、一時記憶領域203、データ記憶領域204、ディスクリプタ領域205、CPU206を有する。
データ取得部201は、伝送路にLANケーブル等で物理的に接続されており、伝送路空データを取得する。伝送路からは所定のデータサイズ以下のデータが常に伝送されており、データ取得部201はデータを常に取得し続けることになる。また、データ取得部201は後述するMAC202と直接接続されており、伝送路から取得したデータをMAC202に転送する。
MAC202は、後述するCPU206が生成した受信ディスクリプタを参照して、データの受信制御を行う。具体的には、まず、MAC202は、データ取得部201が取得したデータを後述する一時記憶領域203に一時的に記憶させる。その後、ディスクリプタ領域に記憶された受信ディスクリプタを参照し、受信ディスクリプタに記載されたデータ記憶領域204内の位置に当該データをDMA(Direct Memory Access)転送し、その位置に記憶させる。MAC202の受信制御の詳細については後述する。
一時記憶領域203は、MAC202が受信したデータを後述するデータ記憶領域204に記憶させる前に一時的に記憶させるための記憶領域である。一時記憶領域203は、MAC202が受信したデータをデータ記憶領域204に転送し記憶させるまでの遅延を吸収する目的で設置されている。
ディスクリプタ領域205は、CPU206が生成したディスクリプタを記憶する記憶領域であり、所定数のディスクリプタを記憶することができる。
CPU206は、データ受信システム200の全体の制御を行う演算制御部である。
また、CPU206は、データ記憶領域204に記憶されたデータを読み出し、これを使用して所定の処理を実行する。
さらに、CPU206は、情報の送受信に備えて送信及び受信ディスクリプタを生成し、ディスクリプタ領域205に記憶する。
CPU206は、複数のデータ受信に備えて、複数のディスクリプタ(受信ディスクリプタ)を生成してディスクリプタ領域205に記憶させ、生成したディスクリプタの存在をMAC202に通知する。MAC202は、データ取得部201が伝送路から取得したデータを受信データとして一時記憶領域203に記憶させる。CPU206から新規ディスクリプタの存在を通知されたら、MAC202はディスクリプタに記載された情報を基に、一時記憶領域203に記憶された受信データをデータ記憶領域204にDMA転送し記憶させる。転送が終了したら、MAC202は転送した受信データの容量や格納位置情報(データ記憶領域内のアドレス情報)を基に参照したディスクリプタを更新し、CPU206に受信完了を通知する。CPU206は、受信が完了したデータをデータ記憶領域204から読み出し、読み出したデータを使用して所定の処理を行う。このような処理を、データ取得部201が取得した所定サイズのデータごとに繰り返している。
このような従来のデータ送受信装置の一例が、特許文献1に開示されている。
一時記憶領域203は、あくまでデータ取得部201が受信したデータを一時的に記憶するために配設されている記憶領域であるので、記憶容量は大きくない。一時記憶領域203の記憶容量は、例えば8KByte〜64KByte程度が一般的である。例えばイーサネット(登録商標)では、最大フレーム長(一度の受信機会)に受信可能なデータ量は、通常約1.5KByteであるため、複数のデータが連続して受信される場合等には、先に受信されたデータがMAC202により一時記憶領域203からデータ記憶領域204へ転送される間にその後に受信されたデータにより一時記憶領域203が一杯になってしまい、さらにその後に受信されるデータを一時記憶領域203に記憶できず、データの受信が不可能な状況になることがある、という不利益があった。
以下、本発明のデータ受信システムの第1の実施形態としてのデータ受信システム100について説明する。
図2は、データ受信システム100の構成の一例を示すブロック図である。
図2に示すように、データ受信システム100は、データ取得部1、アクセス制御部2、受信FIFOメモリ3(本発明の第1の記憶領域に対応)、データ記憶領域4(本発明の第2の記憶領域に対応)、ディスクリプタ領域5、CPU6(本発明の制御部に対応)を有する。
受信FIFOメモリ3は、アクセス制御部2がデータ取得部1から取得したデータを記憶するための記憶領域である。
受信FIFOメモリ3は、FIFO(First In, First Out)構造を有したSRAM(Static Random Access Memory)等のバッファメモリであり、一般に8KByte〜64KByte程度の記憶容量を有している。受信FIFOメモリ3は、図1に関連付けて説明した従来のデータ受信システム200においては、一時記憶領域203に相当する。
例えば受信FIFOメモリ3の全容量が64KByteである場合、しきい値を32KByteに設定したとする。アクセス制御部2がデータ取得部1からデータを取得し受信FIFOメモリ3に一旦記憶させた結果、受信FIFOメモリ3内に記憶されている全データの合計容量が32KByte未満であった場合には、記憶させたデータは受信FIFOメモリ3に記憶させたままにし、受信FIFOメモリ3内に記憶されている全データの合計が32KByteを超えている場合には、一旦受信FIFOメモリ3に記憶されたデータをデータ記憶領域4に対してDMA転送し記憶させる。
アクセス制御部2は、データ取得部1が取得したデータを受信FIFOメモリ3に一旦記憶させる場合、或いは、受信FIFOメモリ3に記憶されたデータをデータ記憶領域4に対してDMA転送し記憶させる場合に、データを記憶させる受信FIFOメモリ3或いはデータ記憶領域4内の位置を、受信ディスクリプタを参照して決定する。
受信ディスクリプタは、アドレス情報、データ容量及び使用済みフラグが記載された情報である。
アドレス情報は、データの記憶位置を示す情報であり、受信FIFOメモリ3或いはデータ記憶領域4内の位置を示すアドレス情報である。アドレス情報がどのように受信FIFOメモリ3或いはデータ記憶領域4内の位置を示すかについては、本実施形態では限定しない。
データ容量は、そのデータの容量(データサイズ)を示す情報である。
使用済みフラグは、その受信ディスクリプタが使用されているか否かを示すフラグである。使用済みフラグがオフになっている受信ディスクリプタは、その受信ディスクリプタに記載されたアドレス情報が示すアドレスにはデータが記憶されていないことを示しており、すなわち、アクセス制御部2にとってその受信ディスクリプタが使用可能である(その受信ディスクリプタに記載されたアドレス情報のアドレスにデータを記憶可能である)ことを示している。
反対に、使用済みフラグがオンになっている受信ディスクリプタは、記載されたアドレス情報が示すアドレスにデータが記憶されていることを示しており、すなわち、その受信ディスクリプタが使用不可能である(その受信ディスクリプタに記載されたアドレス情報のアドレスにデータを記憶できない)ことを示している。
アクセス制御部2は、データ取得部1からのデータ取得時に、受信FIFOメモリ3に対応した受信ディスクリプタのうちの1つを参照し、参照した受信ディスクリプタに記載されたアドレス情報に基づいて、そのアドレスにデータを記憶させる。アクセス制御部2は、受信ディスクリプタに記載されたアドレス情報を基にデータ取得部1から取得したデータを受信FIFOメモリ3に記憶させた後、当該データのデータ容量を基に、対応する受信ディスクリプタのデータ容量を更新し、さらに当該受信ディスクリプタの使用済みフラグをオンに更新する。
受信FIFOメモリ3とデータ記憶領域4とを比較すると、受信FIFOメモリ3は小容量であるが高速、データ記憶領域4は大容量であるが受信FIFOメモリ3と比較して低速である、という特徴をそれぞれ有する。従って、受信FIFOメモリ3及びデータ記憶領域4はこれらの特徴を満たすような記憶媒体であればよく、すなわち、必ずしも上述したように受信FIFOメモリ3がSRAM、データ記憶領域4がSDRAMで構成される必要は無い。
CPU6は、データを記憶するための受信FIFOメモリ3内のアドレスを指定した受信ディスクリプタと、データ記憶領域4内のアドレスを指定した受信ディスクリプタを生成し、ディスクリプタ領域5に記憶する。なお、この時点でCPU6により生成されるディスクリプタ情報には、データ容量に関する情報は記載されておらず、使用済みフラグはオフになっている。
次に、上述した各構成を用いた、接続された伝送路からデータを受信する場合のデータ受信システム100全体の動作例について説明する。
図3は、データ受信時のデータ受信システム100の動作例を示すフローチャートである。
なお、図3に示すフローチャートは、データ受信システム100の1回の受信機会におけるデータの受信処理を示したものであり、実際には図3に示す動作を繰り返している。
ステップST1:
データ取得部1は、伝送路から取得したデータをアクセス制御部2に渡す。
ステップST2:
アクセス制御部2は、ディスクリプタ領域5に記憶された、受信FIFOメモリ3に対応した受信ディスクリプタのうち1つを参照し、当該受信ディスクリプタに記載されたアドレス情報を基に、ステップST1において取得したデータを受信FIFOメモリ3に記憶させる。
アクセス制御部2は、ステップST2において受信FIFOメモリ3にデータを記憶させる際に参照した受信ディスクリプタを更新する。すなわち、アクセス制御部2は、ステップST2において参照した、受信FIFOメモリ3に対応する受信ディスクリプタに受信FIFOメモリ3に記憶されたデータのデータ容量を追記し、使用済みフラグをオンにする。
ステップST4:
アクセス制御部2は、ステップST3における受信ディスクリプタの更新をCPU6に対して通知する。
CPU6は、この通知によりデータの受信を知り、このデータを使用した処理を行うことが可能になる。
アクセス制御部2は、受信FIFOメモリ3を参照し、受信FIFOメモリ3内に記憶されているデータの合計容量をチェックする。
ステップST6:
アクセス制御部2は、ステップST5においてチェックした受信FIFOメモリ3に記憶されているデータの合計容量が所定のしきい値以下である場合はステップST1に戻り、合計容量が所定のしきい値を超えている場合はステップST7に進む。
アクセス制御部2のDMAC21は、ステップST1においてデータ取得部1から取得し、ステップST2において受信FIFOメモリ3に一旦記憶したデータをデータ記憶領域4に転送する。
ステップST8:
アクセス制御部2は、ディスクリプタ領域5に記憶された、データ記憶領域4に対応した受信ディスクリプタのうちの1つを参照し、そのアドレス情報に従って、ステップST7においてDMAC21が転送したデータをデータ記憶領域4に記憶させる。
アクセス制御部2は、ステップST8においてデータ記憶領域4にデータを記憶させる際に参照した受信ディスクリプタを更新する。すなわち、アクセス制御部2は、ステップST3において更新した、受信FIFOメモリ3に対応した受信ディスクリプタから、データ容量を削除し、使用済みフラグをオフに戻す。さらに、ステップST8において参照した、データ記憶領域4に対応する受信ディスクリプタに、ステップST8においてデータ記憶領域4に記憶されたデータ容量を追記し、使用済みフラグをオンにする。
ステップST10:
アクセス制御部2は、ステップST9における受信ディスクリプタの更新をCPU6に対して通知する。
CPU6は、この通知によりデータの受信を知り、このデータを使用した処理を行うことが可能になる。
なお、このステップ終了後、次の受信機会においてデータ取得部1が伝送路から取得したデータの処理を行うため、ステップST1に戻る。
本実施形態のデータ受信システム100は、上述したように伝送路からのデータを記憶する動作を繰り返す。
上述したように、本実施形態のデータ受信システム100によれば、アクセス制御部2は、データ取得部1が伝送路から取得したデータを、受信FIFOメモリ3に対応した受信ディスクリプタのうちの1つを参照することにより一旦受信FIFOメモリ3に記憶させた後、受信FIFOメモリ3に記憶されているデータの合計容量が所定のしきい値以下である場合にはそのままにし、受信FIFOメモリ3に記憶されているデータの合計容量が所定のしきい値を超えている場合には、一旦受信FIFOメモリ3に記憶したデータ記憶領域4に転送して記憶させる。受信FIFOメモリ3は、小容量であるが高速であり、データ記憶領域4は大容量であるが受信FIFOメモリ3と比較して低速であるため、本実施形態のデータ受信システム100によれば、受信FIFOメモリ3に空き容量がある場合には受信FIFOメモリ3に高速に記憶を行うことができ、受信FIFOメモリ3に空き容量が無い場合には、大容量のデータ記憶領域4に確実に記憶を行うことができる。特に、データ記憶領域4に記憶させる際にはDMAC21によるDMA転送を行うが、受信FIFOメモリ3に記憶させる際にはDMA転送が必要ないため、より高速な記憶を行うことができる。
以下、本発明のデータ受信システムの第2の実施形態としてのデータ受信システム101について説明する。
本第2実施形態のデータ受信システム101の構成は、アクセス制御部2a及びCPU6aを除いて、第1実施形態のデータ受信システム100と同様である。
本実施形態のデータ受信システム101は、データ取得部1、アクセス制御部2a、受信FIFOメモリ3(本発明の第1の記憶領域に対応)、データ記憶領域4(本発明の第2の記憶領域に対応)、ディスクリプタ領域5、CPU6a(本発明の制御部に対応)を有する。
第1実施形態のデータ受信システム100では、受信FIFOメモリ3とデータ記憶領域4のそれぞれに対応した受信ディスクリプタがディスクリプタ領域5に予め記憶されており、アクセス制御部2はデータ取得部1からデータを取得し、受信FIFOメモリ3にデータを一旦記憶させた後、受信FIFOメモリ3内のデータの合計容量に応じて、一旦受信FIFOメモリ3に記憶させたデータを受信FIFOメモリ3とデータ記憶領域4のどちらに記憶させるかを決定し、記憶させる記憶領域に対応した受信ディスクリプタを参照し、記載されたアドレス情報に従って当該データを記憶させ、記憶させた後に参照した受信ディスクリプタを更新していた。
しかし、本第2実施形態のデータ受信システム101では、CPU6aはアドレス情報及びデータ容量が記載されていない受信ディスクリプタを生成してディスクリプタ領域5に記憶させておき、アクセス制御部2aは、データを受信FIFOメモリ3或いはデータ記憶領域4に記憶させた後、当該データのアドレス情報及びデータ容量を基に受信ディスクリプタを更新する。
アクセス制御部2aは、データ取得部1が伝送路から取得したデータを受け取り、取得したデータのデータ容量等を基に、受信FIFOメモリ3を参照し、記憶させるアドレスを決定する。そして、受信FIFOメモリ3の決定したアドレスにデータ取得部1から取得したデータを記憶させる。同時に、記憶させたデータのデータ容量を基に、ディスクリプタ領域5に記憶された受信ディスクリプタのうち、更新フラグがオフである受信ディスクリプタを1つ選択し、選択した受信ディスクリプタにアドレス情報及びデータ容量を追記すると共に、使用済みフラグをオンにする。
そして、アクセス制御部2aは、ディスクリプタ領域5に記憶された受信ディスクリプタのうち、更新フラグがオフである受信ディスクリプタを1つ選択し、選択した受信ディスクリプタのアドレス情報及びデータ容量を追記すると共に、使用済みフラグをオンにする。
本実施形態のアドレス情報は、CPU6aから見たI/O(In/Out)アドレスにより指定される。本実施形態のアドレス情報の概念図を図4に示す。
図4は、アドレス情報の概念図であり、CPU6aから見た受信FIFOメモリ3及びデータ記憶領域4のI/Oアドレスを概念的に示している。
図4に示した領域Aが受信FIFOメモリ3を示すアドレス群であり、領域Bがデータ記憶領域4を示すアドレス群である。I/Oアドレスは、例えば32ビットのものを使用する。
アクセス制御部2aは、受信FIFOメモリ3にデータを記憶させるように決定した場合には、領域Aの空き領域を検索し、空き領域の先頭のアドレスを取得する。そして、当該空き領域の先頭からデータを記憶させる。
データ記憶領域4に記憶させるように決定した場合にも同様である。すなわち、アクセス制御部2aは、領域Bの空き領域を検索し、空き領域の先頭のアドレスを取得して、当該空き領域の先頭からデータを記憶させる。
第1実施形態において説明したデータ受信システム100においては、CPU6が受信ディスクリプタ生成時に指定したアドレス情報に従ってアクセス制御部2が指定されたアドレスにデータを記憶させていた。すなわち、CPU6はデータ取得部1がデータを実際に取得する以前に受信ディスクリプタを生成しており、CPU6が生成した受信ディスクリプタに記載されたアドレス情報は、データのサイズを考慮せずに設定されている。従って、CPU6は新規に受信ディスクリプタを生成する際に、1回の受信機会でデータ取得部1が取得可能な最大のデータ容量(1.5KByte)を記憶可能なように受信ディスクリプタのアドレス情報を設定する必要があり、従って、実際にデータ取得部1が取得したデータが1.5KByteに満たない場合には、記憶領域にデータが記憶された場合に、データとデータとの間に隙間が空いてしまう(1つのデータの終了アドレスと次のデータの開始アドレスが連続していない)場合がある。
一方、本第2実施形態のデータ受信システム101においては、上述したようにアクセス制御部2aは常に空き領域の先頭アドレスからデータを記憶させるため、1つのデータの終了アドレスと次のデータの開始アドレスは常に連続しており、データとデータとの間に隙間が空いてしまい記憶領域が無駄になることが無く、記憶領域を有効に利用することが可能になっている。
CPU6aは、アドレス情報とデータ容量とを含まない受信ディスクリプタを生成し、予めディスクリプタ領域5に記憶させておく。
また、CPU6aは、データ取得部1が取得したデータがアクセス制御部2aにより受信FIFOメモリ3或いはデータ記憶領域4に記憶された後、アクセス制御部2aからの通知を受け、アクセス制御部2aにより更新された受信ディスクリプタを参照することにより当該データを読み出し、データを使用した種々の処理を行う。CPU6aが行う種々の処理に関しては、本発明では限定しない。CPU6aが処理に使用し終わった後、そのデータは受信FIFOメモリ3或いはデータ記憶領域4から削除される、或いは他の記憶領域に転送される。この削除或いは転送処理により受信FIFOメモリ3及びデータ記憶領域4の容量が空き、データ取得部1が取得した新たなデータを記憶できるようになる。すなわち、CPU6aは、処理に使用し終わったデータの受信ディスクリプタのアドレス情報とデータ容量とを削除して使用済みフラグをオフに戻し、アクセス制御部2aにこれを通知する。これにより、アクセス制御部2aは、次にデータを記憶させる際に使用可能な受信ディスクリプタを知ることができる。
また、本第2実施形態においては、アドレス情報はCPU6aから見たI/Oアドレスにより、受信FIFOメモリ3とデータ記憶領域4の両方のアドレスが管理されているため、第1実施形態のように、受信FIFOメモリ3に対応した受信ディスクリプタとデータ記憶領域4に対応した受信ディスクリプタの両方を予め用意しておく必要が無く、ディスクリプタ領域の容量を小さく抑えることが可能になる。
以下、本発明のデータ受信システムの第3の実施形態としてのデータ受信システム102について説明する。
本第3実施形態のデータ受信システム102の構成は、アクセス制御部2b及びCPU6bを除いて、第1実施形態のデータ受信システム100及び第2実施形態のデータ受信システム101と同様である。
本第3実施形態のデータ受信システム102は、データ取得部1、アクセス制御部2b、受信FIFOメモリ3(本発明の第1の記憶領域に対応)、データ記憶領域4(本発明の第2の記憶領域に対応)、ディスクリプタ領域5、CPU6b(本発明の制御部に対応)を有する。
第2実施形態のデータ受信システム101では、CPU6aがアドレス情報及びデータ容量を含まない受信ディスクリプタを予め生成してディスクリプタ領域5に記憶させておき、アクセス制御部2aは、データを記憶させる位置を受信FIFOメモリ3及びデータ記憶領域4の空き領域を検索することにより決定して記憶させ、アドレス情報及びデータ容量を基に受信ディスクリプタを更新していた。
すなわち、第2実施形態のデータ受信システム100ではCPU6が受信ディスクリプタの生成を行っていたが、本実施形態のデータ受信システム102では受信ディスクリプタの生成をアクセス制御部2bが行う点において第2実施形態と異なっている。
アクセス制御部2bは、データ取得部1が伝送路から取得したデータを受け取り、取得したデータを一旦受信FIFOメモリ3に記憶させる。この際、アクセス制御部2は、データを記憶させた受信FIFOメモリ3内の領域のアドレス情報と、記憶されたデータのデータ容量とを記載し、使用済みフラグをオンにした受信ディスクリプタを生成し、ディスクリプタ領域5に記憶させる。
アクセス制御部2bは、データ記憶領域4にデータを記憶させた後、記憶させたデータのアドレス情報及びデータ容量を記載し、使用済みフラグをオンにした受信ディスクリプタを生成する。
また、CPU6bは、受信FIFOメモリ3或いはデータ記憶領域4に記憶されたデータを、ディスクリプタ領域5に記憶された、使用済みフラグがオンである受信ディスクリプタを参照することにより読み出し、データを使用した種々の処理を行う。CPU6bが行う種々の処理に関しては、本発明では限定しない。CPU6bが処理に使用し終わった後、そのデータは受信FIFOメモリ3或いはデータ記憶領域4から削除或いは他の記憶領域に転送される。この転送処理により受信FIFOメモリ3及びデータ記憶領域4の容量が空き、データ取得部1が取得した新たなデータを記憶できるようになる。すなわち、CPU6bは、処理に使用し終わったデータの受信ディスクリプタのアドレス情報とデータ容量とを削除して使用済みフラグをオフに戻し、アクセス制御部2bにこれを通知する。これにより、アクセス制御部2bは、次にデータを記憶させる際に使用可能な受信ディスクリプタを知ることができる。
また、CPU6bは、アクセス制御部2bが受信ディスクリプタを生成する前に、ディスクリプタ領域5内の空き領域に関する情報をアクセス制御部2bに伝える。アクセス制御部2bは、この情報を基に生成した受信ディスクリプタをディスクリプタ領域に記憶させる。
すなわち、本発明の実施に際しては、本発明の技術的範囲またはその均等の範囲内において、上述した実施形態の構成要素に関し様々な変更、コンビネーション、サブコンビネーション、並びに代替を行ってもよい。
Claims (9)
- 所定の伝送路からのデータを取得するデータ取得部と、
前記データ取得部が取得した前記データを所定の記憶領域に記憶させるアクセス制御部と、
複数の記憶領域と、
を有し、
前記複数の記憶領域は、第1の記憶領域と、前記第1の記憶領域と比較して記憶可能容量が大きく、かつ記憶速度が低速である第2の記憶領域とを含み、
前記アクセス制御部は、転送部をさらに有し、
前記アクセス制御部は、前記第1の記憶領域に記憶されているデータの合計容量が所定のしきい値を超えているか否かの判定を行い、当該合計容量が当該しきい値を超えている場合に、前記データ取得部が取得したデータを前記転送部に前記第2の記憶領域に対して転送させ、当該第2の記憶領域に記憶させる
データ受信システム。 - 前記アクセス制御部は、前記データ取得部が取得したデータを前記第1の記憶領域に一旦記憶させ、その後前記第1の記憶領域に記憶されているデータの合計容量が所定のしきい値を超えているか否かの判定を行い、当該合計容量が当該しきい値を超えている場合に、前記第1の記憶領域に一旦記憶させたデータを前記転送部に前記第2の記憶領域に対して転送させ、当該第2の記憶領域に記憶させる
請求項1に記載のデータ受信システム。 - 前記データ取得部が取得したデータを前記第1の記憶領域或いは前記第2の記憶領域に記憶させる際に、前記第1の記憶領域或いは前記第2の記憶領域内の当該データを記憶する位置に関する情報を記述するための受信ディスクリプタを生成し、前記第1の記憶領域或いは前記第2の記憶領域に記憶された前記データを前記受信ディスクリプタを参照することにより読み出し、所定の処理を行う制御部と、
前記受信ディスクリプタを記憶するディスクリプタ領域と、
をさらに有し、
前記アクセス制御部は、前記データ取得部が取得したデータを前記第1の記憶領域或いは前記第2の記憶領域に記憶させる際に、前記第1の記憶領域或いは前記第2の記憶領域内の当該データを記憶する位置に関する情報を前記ディスクリプタ領域に記憶された前記受信ディスクリプタに記述し、
前記受信ディスクリプタを読み出し、当該受信ディスクリプタに記載された位置に関する情報を基に前記データを前記第1の記憶領域或いは前記第2の記憶領域に記憶させる
請求項2に記載のデータ受信システム。 - 前記アクセス制御部は、前記データ取得部が取得したデータを前記第1の記憶領域或いは前記第2の記憶領域に記憶させる際に、前記受信ディスクリプタに当該受信ディスクリプタが使用中であることを示すフラグを付加し、
前記制御部は、前記第1の記憶領域或いは前記第2の記憶領域に記憶された前記データを前記受信ディスクリプタを参照することにより読み出し、当該データを使用して所定の処理を行う
請求項3に記載のデータ受信システム。 - 前記データ取得部が取得したデータを前記第1の記憶領域或いは前記第2の記憶領域内の当該データを記憶する位置に関する情報を記述するための受信ディスクリプタを記憶するためのディスクリプタ領域と、
前記データ取得部のデータ取得前にデータを記憶する位置情報を除いた受信ディスクリプタを生成して前記ディスクリプタ領域に記憶させる制御部と、
をさらに有し、
前記アクセス制御部は、前記データ取得部が取得したデータを前記第1の記憶領域或いは前記第2の記憶領域に記憶させる際に、前記ディスクリプタ領域内の受信ディスクリプタのいずれかに当該データを記憶する前記記憶領域内の位置に関する情報を記述し、
前記制御部は、前記受信ディスクリプタを参照することにより前記第1の記憶領域或いは前記第2の記憶領域に記憶された前記データを読み出し、当該データを使用して所定の処理を行う
請求項1に記載のデータ受信システム。 - 前記データ取得部が取得したデータを前記第1の記憶領域或いは前記第2の記憶領域内の当該データを記憶する位置に関する情報を記述するための受信ディスクリプタを記憶するためのディスクリプタ領域と、
制御部と、
をさらに有し、
前記アクセス制御部は、前記データ取得部が取得したデータを前記第1の記憶領域或いは前記第2の記憶領域に記憶させる際に、前記第1の記憶領域或いは前記第2の記憶領域内の当該データを記憶する位置に関する情報を記述した受信ディスクリプタを生成し、
前記制御部は、前記第1の記憶領域或いは前記第2の記憶領域に記憶された前記データを前記受信ディスクリプタを参照することにより読み出し、当該データを使用して所定の処理を行う
請求項1に記載のデータ受信システム。 - 所定の伝送路からのデータを取得するデータ取得部と、
前記データ取得部が取得した前記データを所定の記憶領域に記憶させるアクセス制御部と、
複数の記憶領域と、
前記データが記憶された記憶領域内の位置に関する受信ディスクリプタを記憶するディスクリプタ領域と、
制御部と、
を有し、
前記複数の記憶領域は、第1の記憶領域と、前記第1の記憶領域と比較して記憶可能容量が大きく、かつ記憶速度が低速である第2の記憶領域とを含み、
前記アクセス制御部は、転送部をさらに有し、
前記アクセス制御部は、前記第1の記憶領域に記憶されているデータの合計容量が所定のしきい値を超えているか否かの判定を行い、当該合計容量が当該しきい値を超えている場合に、前記データ取得部が取得したデータを前記転送部に前記第2の記憶領域に対して転送させ、前記受信ディスクリプタに記載された位置に関する情報を基に当該第2の記憶領域に記憶させるとともに、当該受信ディスクリプタを受信ディスクリプタが使用中であることを示すフラグを付加して更新し、当該受信ディスクリプタの更新を前記制御部に対して通知し、
前記制御部は、前記第1の記憶領域或いは前記第2の記憶領域に記憶された前記データを前記受信ディスクリプタを参照することにより読み出し、当該データを使用して所定の処理を行う
データ受信システム。 - 所定の伝送路からのデータを取得するデータ取得部と、
前記データ取得部が取得した前記データを所定の記憶領域に記憶させるアクセス制御部と、
第1の記憶領域と、前記第1の記憶領域と比較して記憶可能容量が大きく、かつ記憶速度が低速である第2の記憶領域とを含む複数の記憶領域と、
前記データ取得部が取得したデータを前記第1の記憶領域或いは前記第2の記憶領域内の当該データを記憶する位置に関する情報を記述するための受信ディスクリプタを記憶するためのディスクリプタ領域と、
前記データ取得部のデータ取得前にデータを記憶する位置情報を除いた受信ディスクリプタを生成して前記ディスクリプタ領域に記憶させる制御部と、
をさらに有し、
前記アクセス制御部は、転送部をさらに有し、
前記アクセス制御部は、前記第1の記憶領域に記憶されているデータの合計容量が所定のしきい値を超えているか否かの判定を行い、当該合計容量が当該しきい値を超えている場合に、前記データ取得部が取得したデータを前記転送部に前記第2の記憶領域に対して転送させ、前記受信ディスクリプタに記載された位置に関する情報を基に当該第2の記憶領域に記憶させるとともに、前記データ取得部が取得したデータを前記第1の記憶領域或いは前記第2の記憶領域に記憶させる際に、前記ディスクリプタ領域内の受信ディスクリプタのいずれかに当該データを記憶する前記記憶領域内の位置に関する情報を記述し、
前記制御部は、前記受信ディスクリプタを参照することにより前記第1の記憶領域或いは前記第2の記憶領域に記憶された前記データを読み出し、当該データを使用して所定の処理を行う
データ受信システム。 - 所定の伝送路からのデータを取得するデータ取得部と、
前記データ取得部が取得した前記データを所定の記憶領域に記憶させるアクセス制御部と、
第1の記憶領域と、前記第1の記憶領域と比較して記憶可能容量が大きく、かつ記憶速度が低速である第2の記憶領域とを含む複数の記憶領域と、
前記データ取得部が取得したデータを前記第1の記憶領域或いは前記第2の記憶領域内の当該データを記憶する位置に関する情報を記述するための受信ディスクリプタを記憶するためのディスクリプタ領域と、
制御部と、
を有し、
前記アクセス制御部は、転送部をさらに有し、
前記アクセス制御部は、前記第1の記憶領域に記憶されているデータの合計容量が所定のしきい値を超えているか否かの判定を行い、当該合計容量が当該しきい値を超えている場合に、前記データ取得部が取得したデータを前記転送部に前記第2の記憶領域に対して転送させ、前記受信ディスクリプタに記載された位置に関する情報を基に当該第2の記憶領域に記憶させるとともに、前記データ取得部が取得したデータを前記第1の記憶領域或いは前記第2の記憶領域に記憶させる際に、前記第1の記憶領域或いは前記第2の記憶領域内の当該データを記憶する位置に関する情報を記述した受信ディスクリプタを生成し、
前記制御部は、前記第1の記憶領域或いは前記第2の記憶領域に記憶された前記データを前記受信ディスクリプタを参照することにより読み出し、当該データを使用して所定の処理を行う
データ受信システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007195775A JP2009032053A (ja) | 2007-07-27 | 2007-07-27 | データ受信システム |
US12/153,403 US8341351B2 (en) | 2007-07-27 | 2008-05-19 | Data reception system with determination whether total amount of data stored in first storage area exceeds threshold |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007195775A JP2009032053A (ja) | 2007-07-27 | 2007-07-27 | データ受信システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009032053A true JP2009032053A (ja) | 2009-02-12 |
Family
ID=40296384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007195775A Pending JP2009032053A (ja) | 2007-07-27 | 2007-07-27 | データ受信システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8341351B2 (ja) |
JP (1) | JP2009032053A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150082723A (ko) * | 2014-01-06 | 2015-07-16 | 에스케이플래닛 주식회사 | 데이터의 저장 효율성을 높이기 위한 사용자 단말기 및 사용자 단말기의 데이터 저장 방법 |
WO2022049801A1 (ja) * | 2020-09-07 | 2022-03-10 | オムロン株式会社 | 通信制御機器および通信制御機器の制御方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9420072B2 (en) | 2003-04-25 | 2016-08-16 | Z124 | Smartphone databoost |
WO2011116502A1 (en) * | 2010-03-26 | 2011-09-29 | Nec(China) Co., Ltd. | Indexing server and method therefor |
US8788576B2 (en) * | 2010-09-27 | 2014-07-22 | Z124 | High speed parallel data exchange with receiver side data handling |
US8751682B2 (en) | 2010-09-27 | 2014-06-10 | Z124 | Data transfer using high speed connection, high integrity connection, and descriptor |
US8499051B2 (en) | 2011-07-21 | 2013-07-30 | Z124 | Multiple messaging communication optimization |
US9774721B2 (en) | 2011-09-27 | 2017-09-26 | Z124 | LTE upgrade module |
US20130076653A1 (en) | 2011-09-27 | 2013-03-28 | Mohammed Selim | Displaying of charging status on dual screen device |
US9411695B2 (en) | 2013-12-04 | 2016-08-09 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Provisioning memory in a memory system for mirroring |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05158865A (ja) | 1991-12-04 | 1993-06-25 | Hitachi Ltd | チェーンブロック転送方式 |
US5412782A (en) * | 1992-07-02 | 1995-05-02 | 3Com Corporation | Programmed I/O ethernet adapter with early interrupts for accelerating data transfer |
US5717855A (en) * | 1994-02-28 | 1998-02-10 | International Business Machines Corporation | Segmented communications adapter with packet transfer interface |
US5687316A (en) | 1994-07-29 | 1997-11-11 | International Business Machines Corporation | Communication apparatus and methods having P-MAC, I-MAC engines and buffer bypass for simultaneously transmitting multimedia and packet data |
US6192428B1 (en) * | 1998-02-13 | 2001-02-20 | Intel Corporation | Method/apparatus for dynamically changing FIFO draining priority through asynchronous or isochronous DMA engines in response to packet type and predetermined high watermark being reached |
US6397287B1 (en) * | 1999-01-27 | 2002-05-28 | 3Com Corporation | Method and apparatus for dynamic bus request and burst-length control |
JP2000259524A (ja) | 1999-03-09 | 2000-09-22 | Toshiba Corp | データ受信回路 |
US7237031B2 (en) * | 2002-03-07 | 2007-06-26 | Sun Microsystems, Inc. | Method and apparatus for caching protocol processing data |
US6968358B2 (en) * | 2002-07-25 | 2005-11-22 | International Business Machines Corporation | Method and apparatus for network communication card memory management |
-
2007
- 2007-07-27 JP JP2007195775A patent/JP2009032053A/ja active Pending
-
2008
- 2008-05-19 US US12/153,403 patent/US8341351B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150082723A (ko) * | 2014-01-06 | 2015-07-16 | 에스케이플래닛 주식회사 | 데이터의 저장 효율성을 높이기 위한 사용자 단말기 및 사용자 단말기의 데이터 저장 방법 |
KR102177924B1 (ko) * | 2014-01-06 | 2020-11-13 | 에스케이플래닛 주식회사 | 데이터의 저장 효율성을 높이기 위한 사용자 단말기 및 사용자 단말기의 데이터 저장 방법 |
WO2022049801A1 (ja) * | 2020-09-07 | 2022-03-10 | オムロン株式会社 | 通信制御機器および通信制御機器の制御方法 |
JP7476733B2 (ja) | 2020-09-07 | 2024-05-01 | オムロン株式会社 | 通信制御機器および通信制御機器の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US8341351B2 (en) | 2012-12-25 |
US20090031092A1 (en) | 2009-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009032053A (ja) | データ受信システム | |
JP5087467B2 (ja) | コンピュータストレージシステムにおいてデータ圧縮並びに整合性を管理する方法および装置 | |
JP2018185814A5 (ja) | ||
US8713275B2 (en) | Memory access monitoring method and device | |
JP2013507022A (ja) | フローアウェアネットワークノード内でデータパケットを処理するための方法 | |
CN108228102B (zh) | 节点间数据迁移方法、装置、计算设备及计算机存储介质 | |
US9710196B2 (en) | Method of storing data, storage system, and storage apparatus | |
CN109564502B (zh) | 应用于存储设备中的访问请求的处理方法和装置 | |
CN110555001A (zh) | 数据处理方法、装置、终端及介质 | |
JP6333353B2 (ja) | メモリノードを含む分散型メモリシステム用装置および方法 | |
WO2014153931A1 (zh) | 文件存储方法、装置、访问客户端及元数据服务器系统 | |
US20220107752A1 (en) | Data access method and apparatus | |
US20080225858A1 (en) | Data transferring apparatus and information processing system | |
TW201642140A (zh) | 用於防止欠載之封包記憶體系統、方法及裝置 | |
US20220253238A1 (en) | Method and apparatus for accessing solid state disk | |
US6947971B1 (en) | Ethernet packet header cache | |
JP7073737B2 (ja) | 通信ログ記録装置、通信ログ記録方法、および、通信ログ記録プログラム | |
US8959278B2 (en) | System and method for scalable movement and replication of data | |
CN101464839B (zh) | 一种访存缓冲装置及方法 | |
CN117312201B (zh) | 一种数据传输方法、装置及加速器设备、主机和存储介质 | |
US20050044328A1 (en) | Methods and apparatus for maintaining coherency in a multi-processor system | |
US20240036761A1 (en) | Buffer management apparatus that uses pure hardware to manage buffer blocks configured in storage medium and associated buffer management method | |
US11914865B2 (en) | Methods and systems for limiting data traffic while processing computer system operations | |
US20230393785A1 (en) | Data recording device and control method for data recording device | |
JP2007213304A (ja) | キャッシュメモリシステム及びマルチプロセッサシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081029 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081029 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090706 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090818 |