JP2011234114A - Frame processor and frame processing method - Google Patents
Frame processor and frame processing method Download PDFInfo
- Publication number
- JP2011234114A JP2011234114A JP2010102370A JP2010102370A JP2011234114A JP 2011234114 A JP2011234114 A JP 2011234114A JP 2010102370 A JP2010102370 A JP 2010102370A JP 2010102370 A JP2010102370 A JP 2010102370A JP 2011234114 A JP2011234114 A JP 2011234114A
- Authority
- JP
- Japan
- Prior art keywords
- address
- buffer
- frame
- storage unit
- 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.)
- Withdrawn
Links
Images
Landscapes
- Memory System (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
本明細書で論じられる実施態様は、フレームをバッファに記憶するフレーム処理装置及びフレーム処理方法に関する。 Embodiments discussed herein relate to a frame processing apparatus and a frame processing method for storing frames in a buffer.
通信伝送路上で伝送されるフレームを処理するフレーム処理装置には、フレームを記憶するバッファが設けられる。フレーム処理装置は、バッファ内の空きアドレスを記憶するアドレス記憶部を備える。バッファへフレームを格納する場合には、アドレス記憶部に記憶された空きアドレスを読み出して、読み出された空きアドレスにフレームを書き込む。バッファからフレームが読み出されるとき、空になったアドレスが再びアドレス記憶部に戻される。 A frame processing apparatus that processes a frame transmitted on a communication transmission path is provided with a buffer for storing the frame. The frame processing apparatus includes an address storage unit that stores empty addresses in the buffer. When storing the frame in the buffer, the empty address stored in the address storage unit is read, and the frame is written in the read empty address. When a frame is read from the buffer, the address that has been emptied is returned to the address storage unit again.
なお、各種情報を格納するためのメモリの空きアドレスを管理するメモリの空き管理装置であって、メモリのアドレス数と同じ数のアドレスを持ち、該当アドレスが空きか使用中であるかを記憶する空きアドレス管理テーブルを具備するものが提案されている。この空き管理装置は、メモリのあるアドレスが空きか使用中であるかを示す情報を、そのアドレスと同じアドレス値を持つ空きアドレス管理テーブルの領域に保持する。 It is a memory free management device that manages free addresses of memory for storing various information, and has the same number of addresses as the number of addresses in the memory, and stores whether the corresponding address is free or in use. One having a free address management table has been proposed. This free management device holds information indicating whether a certain address in the memory is free or in use in a free address management table area having the same address value as that address.
また、交換装置内に存在する全てのバッファアドレスの使用状況を登録できるアドレス使用状況テーブルを使用状況記憶部内に備える交換装置が提案されている。アドレス使用状況テーブルを備えることにより、交換装置の共有バッファメモリ内にはどのようなバッファアドレスが現実に存在していて、現在どの待ち行列内に存在しているかを把握できる。 In addition, there has been proposed an exchange apparatus provided with an address usage status table in the usage status storage unit that can register the usage status of all buffer addresses existing in the exchange apparatus. By providing the address usage status table, it is possible to grasp what buffer address actually exists in the shared buffer memory of the switching apparatus and which queue address currently exists.
また、バッファメモリ、空きポインタ管理部、バッファメモリ管理部、QoSスケジューラ、QoS管理用コンテンツメモリ、バッファメモリにデータを書込む書込部、バッファメモリからデータを読出す読出部を備えるバッファメモリ装置が提案されている。 A buffer memory device comprising a buffer memory, an empty pointer management unit, a buffer memory management unit, a QoS scheduler, a QoS management content memory, a writing unit for writing data to the buffer memory, and a reading unit for reading data from the buffer memory Proposed.
また、書き込みアドレスを記憶するアドレスメモリとバッファメモリの空きアドレスを記憶する空きアドレスメモリとバッファメモリの使用中のアドレスについての情報をもつ誤りアドレス検出回路を備えるバッファメモリ回路が提案されている。誤り検出回路は、バッファメモリの使用中のアドレスと空きアドレスメモリから読み出されたアドレスとの重複を検出し、重複するときにエラー信号を制御回路に送出する。 There has also been proposed a buffer memory circuit comprising an address memory for storing a write address, an empty address memory for storing an empty address of the buffer memory, and an error address detection circuit having information on the address in use of the buffer memory. The error detection circuit detects an overlap between the address in use of the buffer memory and the address read from the empty address memory, and sends an error signal to the control circuit when there is an overlap.
アドレス記憶部から読み出される空きアドレスの値に異常が生じると、本来の格納先と異なるアドレスにフレームが格納される。このため、本来の格納先のアドレスがアドレス記憶部に返却される機会がなくなりこのアドレスにフレームが格納されなくなるため、利用可能なバッファのリソースが低減する。 When an abnormality occurs in the value of the empty address read from the address storage unit, the frame is stored at an address different from the original storage destination. For this reason, there is no opportunity for the original storage destination address to be returned to the address storage unit, and no frame is stored at this address, so that available buffer resources are reduced.
実施態様に係る装置及び方法は、アドレス記憶部から読み出されるバッファの空きアドレスの値に異常が生じた場合における、利用可能なバッファのリソースの低減を防止する。 The apparatus and method according to the embodiment prevents a reduction in available buffer resources when an abnormality occurs in the value of the empty address of the buffer read from the address storage unit.
他の実施形態によるフレーム処理装置は、バッファと、バッファの空きアドレスを記憶するアドレス記憶部と、巡回的順序で生成される巡回アドレスによって読出アドレスを指定することによりアドレス記憶部から読み出される空きアドレスへ、フレームを書き込むフレーム書込部と、バッファの各アドレスの使用状態を記憶する第1記憶部と、バッファにフレームが書き込まれる場合に、フレームが書き込まれるアドレスについて第1記憶部に記憶される使用状態を未使用から使用中へ変更する状態変更部と、巡回アドレスが一巡する期間に亘ってフレーム書込部による書込処理が行われず、かつ未使用であると第1記憶部に記憶されるアドレスを検出するアドレス検出部を備える。 A frame processing device according to another embodiment includes a buffer, an address storage unit that stores a free address of the buffer, and a free address that is read from the address storage unit by designating a read address by a cyclic address generated in a cyclic order The frame writing unit for writing the frame, the first storage unit for storing the use state of each address of the buffer, and the address at which the frame is written when the frame is written to the buffer is stored in the first storage unit. The state changing unit that changes the usage state from unused to in-use, and the writing process by the frame writing unit is not performed over the period in which the cyclic address makes a round and is stored in the first storage unit as unused. An address detecting unit for detecting an address to be detected.
他の実施形態によるフレーム処理方法では、バッファの空きアドレスをアドレス記憶部に記憶し、巡回的順序で生成される巡回アドレスによって読出アドレスを指定することにより、アドレス記憶部から空きアドレスを読み出し、空きアドレスにフレームが書き込まれる場合に、バッファの各アドレスの使用状態を記憶する第1記憶部に記憶される、空きアドレスの使用状態を未使用から使用中へ変更し、巡回アドレスが一巡する期間に亘って前記フレームの書込処理が行われず、かつ未使用であると第1記憶部に記憶されるアドレスを検出する。 In a frame processing method according to another embodiment, a free address of a buffer is stored in an address storage unit, and a free address is read from the address storage unit by designating a read address by a cyclic address generated in a cyclic order. When a frame is written to an address, the use state of the free address stored in the first storage unit that stores the use state of each address in the buffer is changed from unused to used, and the cyclic address goes through a period. The address stored in the first storage unit is detected when the frame writing process is not performed and the frame is not used.
本件開示の装置又は方法によれば、アドレス記憶部から読み出されるバッファの空きアドレスの値に異常が生じた場合における、利用可能なバッファのリソースの低減を防止される。 According to the apparatus or method of the present disclosure, it is possible to prevent reduction of available buffer resources when an abnormality occurs in the value of the empty address of the buffer read from the address storage unit.
以下、添付する図面を参照して本発明の実施例について説明する。図1は、フレーム処理装置の第1構成例を示す図である。例えば、フレーム処理装置1は、通信伝送路上で伝送されるフレームを伝送するフレーム伝送装置であってよい。このようなフレーム伝送装置には、例えばスイッチ装置やルータ装置などがある。フレーム処理装置1は、バッファ2と、アドレス記憶部3と、フレーム書込部4と、フレーム読出部5と、第1記憶部10と、状態変更部11と、アドレス検出部20を備える。
Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. FIG. 1 is a diagram illustrating a first configuration example of the frame processing apparatus. For example, the
バッファ2は、入力されるフレームを格納する。本実施例のバッファ2は、N個のフレームを格納する記憶容量を有する。N個のフレームを格納するそれぞれの格納先は、N値のアドレスによって指定される。各格納先のアドレスは、例えば「0」〜「N−1」であってよい。以下の説明において、バッファ2の各格納先を表すアドレスを「バッファアドレス」と表記することがある。
The
アドレス記憶部3は、バッファ2の空きアドレスを記憶する。アドレス記憶部3は、N個分のバッファアドレスを記憶する記憶容量を有する。N個分のバッファアドレスを格納するそれぞれの格納先は、N値のアドレスによって指定される。各格納先のアドレスは、例えば「0」〜「N−1」であってよい。
The
フレーム書込部4は、アドレス記憶部3からバッファ2の空きアドレスを読み出して、取得された空きアドレスにフレームを書き込む。フレーム書込部4がアドレス記憶部3からバッファ2の空きアドレスを読み出す際に使用する読出アドレスは、巡回的順序で生成される巡回アドレスである。以下の説明において、アドレス記憶部3から空きアドレスを読み出す際に使用する読出アドレスを、「第1読出アドレス」と表記することがある。
The
巡回アドレスである第1読出アドレスは、N個のアドレスの中から1つずつ所定の順序で選択された値に順次変化する。N個のアドレスが全て使用されると、第1読出アドレスは、再び最初に選択されたアドレスに戻る。例えば、第1読出アドレスは「0」から順に1つずつ増加するアドレスであってよい。第1読出アドレスが「15」になった後、再び第1読出アドレスは「0」に戻る。 The first read address, which is a cyclic address, sequentially changes to a value selected from N addresses one by one in a predetermined order. When all N addresses are used, the first read address returns to the first selected address again. For example, the first read address may be an address that increases one by one from “0”. After the first read address becomes “15”, the first read address returns to “0” again.
フレームがバッファ2に書き込まれるとき、フレーム読出部5は、フレームが書き込まれる書込アドレスを受信する。フレーム読出部5は、受信されたこのアドレスを読出アドレスとして使用してバッファ2からフレームを読み出す。以下の説明において、フレーム読出部5が、バッファ2からフレームを読み出す際に使用する読出アドレスを、「第2読出アドレス」と表記することがある。フレーム読出部5は、第2読出アドレスをアドレス記憶部3へ返却する。第2読出アドレスは、アドレス記憶部3の未使用領域のうち最も読み出し順序が早いアドレスに格納される。
When a frame is written into the
第1記憶部10は、各バッファアドレスの使用状態を記憶する。第1記憶部10は、N個のバッファアドレスのそれぞれについて使用状態を記憶する記憶容量を有する。例えば、第1記憶部10はNビットの記憶容量を有していてよい。N個のバッファアドレスそれぞれの使用状態を記憶する格納先は、N値のアドレスによって指定される。各格納先のアドレスは、例えば「0」〜「N−1」であってよい。
The
以下に説明する各実施例では、バッファアドレス「0」〜「N−1」の各使用状態が、第1記憶部10のアドレス「0」〜「N−1」にそれぞれ記憶される。しかし、第1記憶部10は、各バッファアドレスの使用状態を記憶できれば足りる。第1記憶部10として、各バッファアドレスの使用状態を記憶できる様々な構成を採用可能である。
In each embodiment described below, the usage states of the buffer addresses “0” to “N−1” are stored in the addresses “0” to “N−1” of the
バッファアドレスが使用中であるか又は未使用であるかを表す値として、様々な値を使用してよい。例えば本実施例では、バッファアドレスが使用中であるとき使用状態を表す値として「1」が第1記憶部10に記憶され、バッファアドレスが未使用であるとき使用状態を表す値として「0」が記憶される。
Various values may be used as a value indicating whether the buffer address is in use or unused. For example, in this embodiment, “1” is stored in the
状態変更部11は、バッファ2にフレームが書き込まれる場合に、フレームが書き込まれるバッファアドレスについて第1記憶部10に記憶される使用状態を未使用(0)から使用中(1)へ変更する。
When a frame is written in the
アドレス検出部20は、巡回アドレスである第1読出アドレスが一巡する期間に亘ってフレーム書込部4による書込処理が行われず、かつ未使用であると第1記憶部10に記憶されるアドレスを検出する。
The
図2は、図1に示すフレーム処理装置1におけるフレーム書込処理の説明図である。なお、他の実施態様においては、下記のオペレーションAA〜AIの各オペレーションはステップであってもよい。
FIG. 2 is an explanatory diagram of the frame writing process in the
オペレーションAAにおいてフレーム書込部4は、フレームの受信を試みる。フレームが受信されたとき(オペレーションAA:Y)、処理はオペレーションABへ進む。フレームが受信されないとき(オペレーションAA:N)、オペレーションAAが繰り返される。
In operation AA, the
オペレーションABにおいてフレーム書込部4は、第1読出アドレスを巡回的順序で生成する。第1読出アドレスを生成するのは、フレーム書込部4でなくともよい。他の図示しない構成要素によって第1読出アドレスが生成されてもよい。オペレーションACにおいてフレーム書込部4は、生成された第1読出アドレスを読出アドレスとして使用してアドレス記憶部3からバッファ2の空きアドレスを読み出す。
In operation AB, the
オペレーションADにおいて、状態変更部11は、読み出された空きアドレスについて第1記憶部10に記憶される使用状態を、未使用を表す値「0」から使用中を表す値「1」へ変更する。このとき例えば、第1記憶部10の読出アドレスは、アドレス記憶部3から読み出された空きアドレスによって指定されてよい。状態変更部11は、第1記憶部10から読み出される使用状態が「未使用(0)」を表すか否かをチェックしてよい。使用状態が「未使用(0)」を表すとき、状態変更部11は、アドレス記憶部3から読み出された空きアドレスによって書込アドレスが指定された第1記憶部10へ、「使用中」を表す値「1」を入力してよい。
In operation AD, the
オペレーションAEにおいてフレーム書込部4は、アドレス記憶部3から読み出された空きアドレスにフレームを格納する。オペレーションAFにおいてフレーム読出部5は、アドレス記憶部3から読み出された空きアドレスを記憶する。なお、オペレーションAD〜AFはどの順序で実行されてもよい。
In operation AE, the
オペレーションAGにおいてアドレス検出部20は、第1読出アドレスを読出アドレスとして指定された第1記憶部10から使用状態を読み出す。すなわちアドレス検出部20は、第1読出アドレスと同じ値を持つバッファアドレスの使用状態を読み出す。アドレス検出部20は、第1読出アドレスと同じ値を持つバッファアドレスが未使用であるか否かを判定する。
In operation AG, the
第1読出アドレスと同じ値を持つバッファアドレスが未使用でないとき(オペレーションAG:N)、処理は終了する。第1読出アドレスと同じ値を持つバッファアドレスが未使用であるとき(オペレーションAG:Y)、処理はオペレーションAHへ進む。 When the buffer address having the same value as the first read address is not unused (operation AG: N), the process ends. When the buffer address having the same value as the first read address is unused (operation AG: Y), the process proceeds to operation AH.
オペレーションAHにおいてアドレス検出部20は、現在の第1読出アドレスと同じ値を持つバッファアドレスに対して、第1読出アドレスが一巡する期間に亘ってフレーム書込部4による書込処理が行われたことがあるか否かを判定する。
In operation AH, the
例えばアドレス検出部20は、各バッファアドレスについて、バッファアドレスにフレームが書き込まれたときに書込処理が実行されたことを記憶してよい。そして、アドレス検出部20は、第1読出アドレスが現在のアドレス値と同じアドレスから以前スタートし一巡して再び現在のアドレス値に戻ってくるまでの期間内に、現在の第1読出アドレスと同じ値のバッファアドレスに書込処理が実行されたか否かを判定してよい。
For example, the
書込処理が行われたことがない場合(オペレーションAH:Y)には、処理はオペレーションAIに進む。書込処理が行われたことがある場合(オペレーションAH:N)には、処理は終了する。 If the writing process has never been performed (operation AH: Y), the process proceeds to operation AI. If the writing process has been performed (operation AH: N), the process ends.
オペレーションAIにおいてアドレス検出部20は、現時点の第1読出アドレスを異常アドレスとして検出する。
In operation AI, the
あるバッファアドレスが未使用である場合、もし異常によりこのバッファアドレスが消失していなければこのバッファアドレスはアドレス記憶部3に格納される。このため、第1読出アドレスが一巡する間に、このバッファアドレスは、少なくとも一度はフレーム書込部4によって読み出され、このバッファアドレスにフレームが書き込まれる。したがって、第1読出アドレスが一巡する期間に亘ってフレームの書込処理が行われず、かつ未使用であるバッファアドレスは、アドレス記憶部3の記憶から消失したバッファアドレスであると考えることができる。
If a buffer address is not used, this buffer address is stored in the
本実施例によれば、アドレス記憶部3の記憶から消失したバッファアドレスを検出することができる。このため、アドレス記憶部3から読み出されるバッファアドレスの値に異常が生じることによりアドレス記憶部3の記憶から消失するアドレスが発生しても、このアドレスを特定することが可能となる。
According to this embodiment, it is possible to detect a buffer address that has disappeared from the storage of the
なお、上述の実施例では、オペレーションAGにおいて判定されるバッファアドレスの値は、第1読出アドレスによって指定される。その代わりに、第1読出アドレスと同期して変化するように巡回的順序で生成され、且つアドレス記憶部3の各アドレスを指定可能な他の巡回アドレスによって、バッファアドレスの値が指定されてもよい。このような他の巡回アドレスの例は、第1読出アドレスより所定数のアドレス分だけ進んだアドレスや、第1読出アドレスより所定数のアドレス分だけ遅れたアドレスである。
In the above-described embodiment, the value of the buffer address determined in operation AG is specified by the first read address. Instead, the value of the buffer address may be specified by another cyclic address that is generated in a cyclic order so as to change in synchronization with the first read address and can specify each address of the
このときオペレーションAHにおいてアドレス検出部20は、上記他の巡回アドレスと同じ値を持つバッファアドレスに対して、上記他の巡回アドレスが一巡する期間に亘ってフレーム書込部4による書込処理が行われたことがあるか否かを判定する。
At this time, in operation AH, the
図3は、フレーム処理装置の第2構成例を示す図である。フレーム処理装置1は、図1に示す構成に加えて第1判定部12を備える。第1判定部12は、アドレス記憶部3から読み出される空きアドレスが、第1記憶部10おいて未使用だと記憶されているか否かを判定する。アドレス記憶部3から読み出される空きアドレスが未使用でないとき、第1判定部12は、アドレス記憶部3から読み出される空きアドレスの異常を知らせる第1異常検出信号をフレーム書込部4に出力する。第1異常検出信号を受信したとき、フレーム書込部4は、アドレス記憶部3から読み出した空きアドレスを破棄し、空きアドレスの読み出し処理をやり直す。
FIG. 3 is a diagram illustrating a second configuration example of the frame processing device. The
図4は、図3に示すフレーム処理装置1におけるフレーム書込処理の説明図である。なお、他の実施態様においては、下記のオペレーションBA〜BGの各オペレーションはステップであってもよい。
FIG. 4 is an explanatory diagram of the frame writing process in the
オペレーションBA〜BCの処理は、それぞれ図2に示すオペレーションAA〜ACと同様である。オペレーションBDにおいて第1判定部12は、アドレス記憶部3から読み出される空きアドレスが、第1記憶部10おいて未使用だと記憶されているか否かを判定する。このとき例えば、第1記憶部10の読出アドレスは、アドレス記憶部3から読み出された空きアドレスによって指定されてよい。第1判定部12は、第1記憶部10から読み出される使用状態が「未使用(0)」を表すか否かをチェックしてよい。
The processing of operations BA to BC is the same as that of operations AA to AC shown in FIG. In operation BD, the
読み出された空きアドレスが未使用であるとき(オペレーションBD:Y)、処理はオペレーションBEへ進む。読み出された空きアドレスが未使用でない(オペレーションBD:N)、処理はオペレーションBBに戻る。その結果フレーム書込部4は、取得した空きアドレスを破棄し、アドレス記憶部3から空きアドレスを読み出す処理をやり直す。
When the read empty address is unused (operation BD: Y), the process proceeds to operation BE. If the read empty address is not unused (operation BD: N), the processing returns to operation BB. As a result, the
オペレーションBE〜BGの処理は、図2に示すオペレーションAD〜AFの処理と同様である。また、アドレス検出部20は、オペレーションBDにて空きアドレスが破棄された場合と破棄されなかった場合の両方において、図2に示すオペレーションAG〜AIを実行する。
The processing of operations BE to BG is the same as the processing of operations AD to AF shown in FIG. Further, the
本実施例によれば、アドレス記憶部3から読み出される空きアドレスが既に使用中であるとき、フレーム書込部4がこのアドレスにフレームを上書きすることが防止される。したがって、アドレス記憶部3から読み出されるバッファアドレスの値に異常が生じても、すでにバッファ2に格納済みのフレームに他のフレームが上書きされる不都合を解消することができる。なお、以下に示すいずれの実施例においても、第1判定部12を設けてよい。
According to this embodiment, when a free address read from the
図5は、フレーム処理装置の第3構成例を示す図である。フレーム読出部5は、読出部30と、読出制御部31を備える。図1に示す構成要素と同じ構成要素には同じ参照番号を付する。
FIG. 5 is a diagram illustrating a third configuration example of the frame processing apparatus. The
読出部30は、読出制御部31から第2読出アドレスを受信する。読出部30は、受信した第2読出アドレスを読出アドレスとして使用してバッファ2からフレームを読み出す。読出制御部31は、読出アドレス決定部32と第2判定部33を備える。
The
読出アドレス決定部32は、フレームがバッファ2に書き込まれるとき、フレーム書込部4から、フレームが書き込まれる書込アドレスを受信する。読出アドレス決定部32は、受信したアドレスを記憶する。読出アドレス決定部32は、記憶されたアドレスの中から第2読出アドレスを選択して第2判定部33に出力する。
When the frame is written into the
例えば読出アドレス決定部32は、バッファ2に格納される各フレームの優先度に応じてアドレスを記憶する優先度別アドレス記憶部を備えてもよい。このとき、フレーム書込部4は、フレームから優先度情報を抽出して読出アドレス決定部32に与えてもよい。優先度情報は、例えばクオリティ・オブ・サービス(QoS: Quality of Service)であってよい。
For example, the read
読出アドレス決定部32は、優先度情報に応じて優先度別アドレス記憶部にフレームを格納してよい。読出アドレス決定部32は、優先度別アドレス記憶部に割り当てられた優先度にしたがってアドレスの出力順序を決定してよい。
The read
第2判定部33は、読出アドレス決定部32から出力された第2読出アドレスが、未使用だと第1記憶部10に記憶されているか否かを判定する。例えば、第2判定部33は、第2読出アドレスによって読出アドレスが指定された第1記憶部から使用状態を読み出す。第2判定部33は、読み出された使用状態が「未使用(0)」を表すか否かを判定する。読み出された使用状態が「未使用(0)」を表すとき、第2判定部33は、第2読出アドレスを破棄する。
The
図6は、図5に示すフレーム処理装置1におけるフレーム読出処理の説明図である。なお、他の実施態様においては、下記のオペレーションCA〜CEの各オペレーションはステップであってもよい。
FIG. 6 is an explanatory diagram of the frame reading process in the
オペレーションCAにおいて読出アドレス決定部32は、第2読出アドレスを決定する。オペレーションCBにおいて第2判定部33は、第2読出アドレスが、未使用だと第1記憶部10に記憶されているか否かを判定する。第2読出アドレスが未使用だと第1記憶部10に記憶されているとき(オペレーションCB:Y)、処理は終了する。このため、第2読出アドレスは使用されない。すなわち第2読出アドレスは破棄される。第2読出アドレスが未使用だと第1記憶部10に記憶されていないとき(オペレーションCB:N)、処理はオペレーションCCへ進む。
In operation CA, the read
オペレーションCCにおいてフレーム読出部5は、第2読出アドレスについて第1記憶部10に記憶されている使用状態を表す値を、「未使用」を表す値「0」に変更する。オペレーションCDにおいてフレーム読出部5は、第2読出アドレスをアドレス記憶部3に格納する。オペレーションCEにおいて読出部30は、バッファ2からフレームを読み出す。なお、オペレーションCC〜CEはどの順序で実行されてもよい。
In operation CC, the
本実施例によれば、バッファ2からフレームを読み出すために使用する第2読出アドレスに、有効なフレームが格納されているか否かを判断することができる。このため、第2読出アドレスに異常が生じても、すでに読み出されたフレームが重複して読み出されてしまう不都合が解消される。なお、図5に示すフレーム読出部5を、本明細書において説明される他の実施例に設けてもよい。
According to this embodiment, it is possible to determine whether or not a valid frame is stored in the second read address used for reading a frame from the
図7は、フレーム処理装置の第4構成例を示す図である。フレーム処理装置1は、図1に示す構成に加えてアドレス入力部21を備える。アドレス入力部21は、アドレス検出部20により検出されたアドレスをアドレス記憶部3に格納する。
FIG. 7 is a diagram illustrating a fourth configuration example of the frame processing apparatus. The
アドレス検出部20は、アドレス記憶部3の記憶から消失したバッファアドレスを検出する。したがってアドレス入力部21によってアドレス記憶部3に格納されるアドレスは、アドレス記憶部3の記憶から消失したバッファアドレスである。本実施例によれば、アドレス記憶部3から読み出したバッファアドレスの値の異常によりアドレス記憶部3の記憶からアドレスが消失しても、消失したアドレスを復活させバッファ2のリソースの低減を防止することが可能となる。
The
図8は、フレーム処理装置の第5構成例を示す図である。アドレス検出部20は、第2記憶部40と、第1入力部41と、第2入力部42と、検出部43を備える。図7に示す構成要素と同じ構成要素には同じ参照番号を付する。
FIG. 8 is a diagram illustrating a fifth configuration example of the frame processing device. The
第2記憶部40は、バッファアドレス毎に変数を記憶する。第2記憶部40は、N個のバッファアドレスのそれぞれについて変数を記憶する記憶容量を有する。例えば、第2記憶部40はNビットの記憶容量を有していてよい。N個のバッファアドレスそれぞれについて上記変数を記憶する格納先は、N値のアドレスによって指定される。各格納先のアドレスは、例えば「0」〜「N−1」であってよい。以下の説明において、バッファアドレスについて第2記憶部40に記憶される変数のことを、「バッファアドレスに関する変数」と表記することがある。
The
バッファアドレス毎に記憶される変数は、少なくとも第1所定値と第2所定値を持つことができる。例えば第1所定値は「1」であってよく第2所定値は「0」であってよい。 The variable stored for each buffer address can have at least a first predetermined value and a second predetermined value. For example, the first predetermined value may be “1” and the second predetermined value may be “0”.
以下の各実施例では、バッファアドレス「0」〜「N−1」に関する各変数が、第2記憶部40のアドレス「0」〜「N−1」にそれぞれ記憶される。しかし、第2記憶部40は、各バッファアドレス毎に変数を記憶できれば足りる。第2記憶部40として、各バッファアドレス毎に変数を記憶できる様々な構成を採用可能である。
In each of the following embodiments, the variables related to the buffer addresses “0” to “N−1” are stored in the addresses “0” to “N−1” of the
第1入力部41は、あるバッファアドレスについて第1記憶部10に記憶される使用状態が「未使用」であると判定されたとき、このバッファアドレスに関する変数に第1所定値「1」を入力する。第2入力部42は、あるバッファアドレスにフレームが書き込まれる場合に、このバッファアドレスに関する変数に第2所定値「0」を入力する。
When it is determined that the usage state stored in the
検出部43は、第1読出アドレスが一巡する期間に亘って変数が第1所定値を持ち続けるバッファアドレスを検出する。
The
あるバッファアドレスに関する変数の値が第1所定値「1」であるということは、このバッファアドレスについて以前に未使用と判定されてから、このバッファアドレスにまだフレームが書き込まれたことがないことを意味する。また、あるバッファアドレスに関する変数の値が第2所定値「0」であるということは、このバッファアドレスについて以前に未使用と判定されてから、このバッファアドレスにフレームが書き込まれたことがあることを意味する。 The value of the variable relating to a certain buffer address being the first predetermined value “1” means that a frame has not yet been written to this buffer address since it was previously determined that this buffer address was not used. means. The fact that the value of the variable relating to a certain buffer address is the second predetermined value “0” means that a frame has been written to this buffer address after it was previously determined that this buffer address was not used. Means.
例えば第1入力部41は、現在の第1読出アドレスと同じ値のバッファアドレスについて第1記憶部10に記憶される使用状態が「未使用(0)」であるか否かを判定してよい。このバッファアドレスについて第1記憶部10に記憶される使用状態が「未使用(0)」であるとき、第1入力部41は、このバッファアドレスに関する変数の値が第2所定値「0」であるか否かを判定する。このバッファアドレスに関する変数の値が第2所定値「0」であるとき、第1入力部41は、この変数の値に第1所定値「1」を入力する。
For example, the
一方で、現在の第1読出アドレスと同じ値のバッファアドレスについて記憶される使用状態が「未使用(0)」であるとき、検出部43は、このバッファアドレスに関する変数の値が第1所定値「1」であるか否かを判定する。このバッファアドレスに関する変数の値が第1所定値「1」のままであるということは、以前に変数に第1所定値「1」が入力された後に第1読出アドレスが一巡する間に、一度も変数に第2所定値「0」が入力されなかったことを意味する。これは、第1読出アドレスが一巡する間に亘って、このバッファアドレスに一度もフレームが書込まれなかったことを意味する。
On the other hand, when the use state stored for the buffer address having the same value as the current first read address is “unused (0)”, the
このようにして、検出部43は、第1読出アドレスが一巡する期間に亘って変数が第1所定値を持ち続けるバッファアドレスを検出し、アドレス記憶部3の記憶から消失したバッファアドレスを検出する。なお、図1及び図2を参照して説明した第1構成例と同様に、第1読出アドレスと同期して変化するように巡回的順序で生成され、且つアドレス記憶部3の各アドレスを指定可能な他の巡回アドレスが、第1読出アドレスの代わりに使用されてもよい。
In this way, the
図9は、図8に示すフレーム処理装置1におけるフレーム書込処理の説明図である。なお、他の実施態様においては、下記のオペレーションDA〜DHの各オペレーションはステップであってもよい。オペレーションDA〜DEの処理は、それぞれ図4に示すオペレーションBA〜BEと同様である。
FIG. 9 is an explanatory diagram of the frame writing process in the
オペレーションDFにおいて第2入力部42は、読み出された空きアドレスに関する変数に第2所定値「0」を入力する。オペレーションDG及びDHの処理は、それぞれ図4に示すオペレーションBF及びBGと同様である。なお、オペレーションDE〜DHはどの順序で実行されてもよい。
In operation DF, the
図10は、図8に示すフレーム処理装置1におけるアドレス異常の検出処理の説明図である。なお、他の実施態様においては、下記のオペレーションDI〜DMの各オペレーションはステップであってもよい。オペレーションDIにおいて、第1入力部41及び検出部43は、第1読出アドレスを読出アドレスとして指定された第1記憶部10から使用状態を読み出し、第1読出アドレスと同じ値を持つバッファアドレスが未使用であるか否かを判定する。第1読出アドレスと同じ値を持つバッファアドレスが未使用でないとき(オペレーションDI:N)、処理は終了する。第1読出アドレスと同じ値を持つバッファアドレスが未使用であるとき(オペレーションDI:Y)、処理はオペレーションDJへ進む。
FIG. 10 is an explanatory diagram of address abnormality detection processing in the
オペレーションDJにおいて第1入力部41及び検出部43は、第1読出アドレスを読出アドレスとして指定された第2記憶部40から変数を読み出す。すなわち第1入力部41及び検出部43は、第1読出アドレスと同じ値を持つバッファアドレスに関する変数を読み出す。オペレーションDKにおいて第1入力部41及び検出部43は、読み出された変数の値が第2所定値「0」であるか否かを判定する。
In operation DJ, the
変数の値が第2所定値「0」であるとき(オペレーションDK:Y)、処理はオペレーションDLへ進む。変数の値が第2所定値「0」でないとき(オペレーションDK:N)、処理はオペレーションDMへ進む。 When the value of the variable is the second predetermined value “0” (operation DK: Y), the processing proceeds to operation DL. When the value of the variable is not the second predetermined value “0” (operation DK: N), the process proceeds to operation DM.
オペレーションDLにおいて第1入力部41は、第1読出アドレスと同じ値を持つバッファアドレスに関する変数に第1所定値「1」を入力する。オペレーションDMにおいて検出部43は、第1読出アドレスと同じ値を持つバッファアドレスを、アドレス記憶部3の記憶から消失した異常アドレスとして検出する。
In operation DL, the
続いて、アドレス記憶部3、第1記憶部10、第2記憶部40及びバッファ2の経時変化を参照することにより、図8に示すフレーム処理装置1におけるフレーム書込処理を説明する。図11は、図8に示すアドレス記憶部3、第1記憶部10、第2記憶部40及びバッファ2の初期状態の説明図である。以下の説明では、バッファ2が16個のフレームを格納することができる場合を想定する。
Next, the frame writing process in the
初期状態において、バッファ2の全てのアドレスが空きアドレスである。したがって、バッファ2の全てのアドレスが、アドレス記憶部3内に記憶されている。本例では、アドレス記憶部3の各アドレス「0」〜「15」には、バッファアドレス値「0」〜「15」がそれぞれ格納されている。第1記憶部10に記憶される使用状態は、全て「未使用(0)」である。また、第2記憶部40に格納される変数の値は、全て第2所定値(0)である。
In the initial state, all addresses in the
図11に示す状態の後、6個目のフレームをバッファに格納する状態を図12に示す。アドレス記憶部3の読出アドレスである第1読出アドレスの位置は「5」まで進んでいる。アドレス記憶部3のアドレス「5」に格納されるバッファアドレスは「5」であるため、フレームはバッファアドレス「5」に書き込まれる。
FIG. 12 shows a state in which the sixth frame is stored in the buffer after the state shown in FIG. The position of the first read address which is the read address of the
図9に示すオペレーションDEによって、バッファアドレス「5」について第1記憶部10に記憶される使用状態は、「使用中(1)」へ変更される。フレームが書き込まれたバッファアドレス「5」は第1読出アドレス「5」の値が等しい。このため、図10に示すオペレーションDIの判定において、第1読出アドレスと同じ値のバッファアドレスについて第1記憶部10に記憶される使用状態は「使用中(1)」になる。このため第2記憶部40の変数の変更は生じない。
The operation state stored in the
図12に示す状態の後、11個目のフレームをバッファに格納する状態を図13に示す。第1読出アドレスの位置は「11」まで進む。アドレス記憶部3のアドレス「11」に格納されるバッファアドレスは「11」であるため、フレームはバッファアドレス「11」に書き込まれる。図9に示すオペレーションDEによって、バッファアドレス「11」について第1記憶部10に記憶される使用状態は、「使用中(1)」へ変更される。
FIG. 13 shows a state in which the eleventh frame is stored in the buffer after the state shown in FIG. The position of the first read address advances to “11”. Since the buffer address stored in the address “11” of the
図13に示す状態では、フレーム読出部5がバッファアドレス「3」に格納されたフレームを読み出す。フレーム読出部5は、バッファアドレス「3」をアドレス記憶部3に格納する。バッファアドレス「3」は、アドレス記憶部3の現在の未使用領域「0」〜「10」のうち最も読み出し順序が早いアドレス「0」に格納される。また図6に示すオペレーションCCと同様に、バッファアドレス「3」について第1記憶部10に記憶される使用状態は、「未使用(0)」へ変更される。
In the state shown in FIG. 13, the
続いて、初期状態からある程度時間が経過した後の正常状態におけるフレーム処理装置1のフレーム書込処理を説明する。図14は、初期状態からある程度時間が経過した状態を示す。アドレス記憶部3のアドレス「0」〜「15」には、バッファアドレス値「3」、「14」、「1」、「8」、「5」、「7」、「15」、「9」、「13」、「11」、「2」、「6」、「12」、「4」、「10」及び「0」がそれぞれ格納されている。第1読出アドレスの位置は現在「0」である。
Next, the frame writing process of the
アドレス記憶部3のアドレス「0」に格納されるバッファアドレスは「3」であるため、フレームはバッファアドレス「3」に書き込まれる。図9に示すオペレーションDEによって、バッファアドレス「3」について第1記憶部10に記憶される使用状態は、「使用中(1)」へ変更される。また図9に示すオペレーションDFによって、バッファアドレス「3」に関する変数には第2所定値「0」が入力される。
Since the buffer address stored in the address “0” of the
図10に示すオペレーションDIの判定において、第1読出アドレスと同じ値のバッファアドレス「0」について第1記憶部10に記憶される使用状態は「未使用(0)」になる。また、図10に示すオペレーションDKの判定において、バッファアドレス「0」に関する変数の値は第2所定値(0)である。
In the determination of the operation DI illustrated in FIG. 10, the use state stored in the
バッファアドレス「0」に関する変数の値が第2所定値(0)であるということは、この変数に第1所定値(1)が入力された後に第1読出アドレスが一巡するまでの間に、バッファアドレス「0」に書込処理が実行されたことを意味する。したがって、バッファアドレス「0」は、アドレス記憶部3の記憶から消失した異常アドレスではないと判断される。図10に示すオペレーションDLでは、次に第1読出アドレスが一巡する間における書込処理の実行を検出するために、バッファアドレス「0」に関する変数に第1所定値(1)が入力される。
That the value of the variable relating to the buffer address “0” is the second predetermined value (0) means that the first read address is cycled after the first predetermined value (1) is input to this variable. This means that write processing has been executed for the buffer address “0”. Therefore, it is determined that the buffer address “0” is not an abnormal address lost from the storage in the
図14に示す状態の後、第1読出アドレスの位置が「7」まで進んだ状態を図15に示す。アドレス記憶部3のアドレス「7」に格納されるバッファアドレスは「9」であるため、フレームはバッファアドレス「9」に書き込まれる。図9に示すオペレーションDEによって、バッファアドレス「9」について第1記憶部10に記憶される使用状態は、「使用中(1)」へ変更される。
FIG. 15 shows a state where the position of the first read address has advanced to “7” after the state shown in FIG. Since the buffer address stored in the address “7” of the
また、第1読出アドレスと同じ値のバッファアドレス「7」について第1記憶部10に記憶される使用状態は「使用中(1)」である。このためバッファアドレス「7」に関する変数の変更は生じない。
The use state stored in the
フレーム読出部5は、バッファアドレス「14」に格納されたフレームを読み出す。フレーム読出部5は、バッファアドレス「14」をアドレス記憶部3に格納する。バッファアドレス「14」は、アドレス記憶部3の現在の未使用領域「0」〜「6」のうち最も読み出し順序が早いアドレス「0」に格納される。また図6に示すオペレーションCCと同様に、バッファアドレス「14」について第1記憶部10に記憶される使用状態は、「未使用(0)」へ変更される。
The
図15に示す状態の後、第1読出アドレスの位置が「10」まで進んだ状態を図16に示す。アドレス記憶部3のアドレス「10」に格納されるバッファアドレスは「2」であるため、フレームはバッファアドレス「2」に書き込まれる。図9に示すオペレーションDEによって、バッファアドレス「2」について第1記憶部10に記憶される使用状態は、「使用中(1)」へ変更される。また図9に示すオペレーションDFによって、バッファアドレス「2」に関する変数には第2所定値「0」が入力される。
FIG. 16 shows a state where the position of the first read address has advanced to “10” after the state shown in FIG. Since the buffer address stored in the address “10” of the
図10に示すオペレーションDIの判定において、第1読出アドレスと同じ値のバッファアドレス「10」について第1記憶部10に記憶される使用状態は「未使用(0)」になる。また、図10に示すオペレーションDKの判定において、バッファアドレス「10」に関する変数の値は第2所定値(0)である。このため、バッファアドレス「10」は、アドレス記憶部3の記憶から消失した異常アドレスではないと判断される。図10に示すオペレーションDLでは、次に第1読出アドレスが一巡する間における書込処理の実行を検出するために、バッファアドレス「10」に関する変数に第1所定値(1)が入力される。
In the determination of the operation DI illustrated in FIG. 10, the use state stored in the
図16に示す状態の後、第1読出アドレスの位置が「14」まで進んだ状態を図17に示す。アドレス記憶部3のアドレス「14」に格納されるバッファアドレスは「10」であるため、フレームはバッファアドレス「10」に書き込まれる。図9に示すオペレーションDEによって、バッファアドレス「10」について第1記憶部10に記憶される使用状態は、「使用中(1)」へ変更される。
FIG. 17 shows a state where the position of the first read address has advanced to “14” after the state shown in FIG. Since the buffer address stored in the address “14” of the
また、図16に示す状態においてバッファアドレス「10」に関する変数には第1所定値「1」が入力された。図17に示す状態では、図9に示すオペレーションDFによってこの変数の値が第2所定値「0」にリセットされる。このようにして、バッファアドレス「10」に関する変数には、図16の状態の後に第1読出アドレスが一巡する間に書込処理が起きた事実が反映される。 In the state shown in FIG. 16, the first predetermined value “1” is input to the variable relating to the buffer address “10”. In the state shown in FIG. 17, the value of this variable is reset to the second predetermined value “0” by operation DF shown in FIG. In this way, the variable relating to the buffer address “10” reflects the fact that the writing process occurred while the first read address makes a round after the state of FIG.
また、図15に示す状態において、バッファアドレス「14」がアドレス記憶部3に返却されたため、バッファアドレス「14」について第1記憶部10に記憶される使用状態が「未使用(0)」へ変更された。図17に示す状態では、次に第1読出アドレスが一巡する間における書込処理の実行を検出するために、図10に示すオペレーションDLによってバッファアドレス「14」に関する変数に第1所定値(1)が入力される。
Further, in the state shown in FIG. 15, since the buffer address “14” is returned to the
図17に示す状態の後、第1読出アドレスの位置が「15」まで進んだ状態を図18に示す。アドレス記憶部3のアドレス「15」に格納されるバッファアドレスは「0」であるため、フレームはバッファアドレス「0」に書き込まれる。図9に示すオペレーションDEによって、バッファアドレス「0」について第1記憶部10に記憶される使用状態は、「使用中(1)」へ変更される。また、図9に示すオペレーションDFによってバッファアドレス「0」に関する変数の値が第2所定値「0」にリセットされる。
FIG. 18 shows a state where the position of the first read address has advanced to “15” after the state shown in FIG. Since the buffer address stored in the address “15” of the
フレーム読出部5は、バッファアドレス「9」、「7」及び「11」に格納されたフレームを読み出す。フレーム読出部5は、バッファアドレス「9」、「7」及び「11」をアドレス記憶部3に格納する。また図6に示すオペレーションCCと同様に、バッファアドレス「9」、「7」及び「11」について第1記憶部10に記憶される使用状態は、「未使用(0)」へ変更される。
The
図18に示す状態の後、第1読出アドレスの位置が「0」へ戻った状態を図19に示す。アドレス記憶部3のアドレス「0」に格納されるバッファアドレスは「14」であるため、フレームはバッファアドレス「14」に書き込まれる。図9に示すオペレーションDEによって、バッファアドレス「14」について第1記憶部10に記憶される使用状態は、「使用中(1)」へ変更される。
FIG. 19 shows a state where the position of the first read address has returned to “0” after the state shown in FIG. Since the buffer address stored in the address “0” of the
また、図17に示す状態においてバッファアドレス「14」に関する変数には第1所定値「1」が入力された。図19に示す状態では、図9に示すオペレーションDFによってこの変数の値が第2所定値「0」にリセットされ、図17の状態の後に第1読出アドレスが一巡する間に書込処理が起きた事実がバッファアドレス「14」に関する変数に反映される。 In the state shown in FIG. 17, the first predetermined value “1” is input to the variable relating to the buffer address “14”. In the state shown in FIG. 19, the value of this variable is reset to the second predetermined value “0” by the operation DF shown in FIG. 9, and the writing process occurs while the first read address makes a round after the state of FIG. 17. This fact is reflected in the variable relating to the buffer address “14”.
このように、バッファアドレスの消失が生じない正常な状態では、図10に示すオペレーションDMにおける異常アドレスの検出処理は実行されない。すなわち、「第1読出アドレスと同じ値を持つバッファアドレスが未使用であり且つこのアドレスに関する変数の値が第1所定値(1)である」状態が検出されない。 In this way, in a normal state where no buffer address disappears, the abnormal address detection process in operation DM shown in FIG. 10 is not executed. That is, the state that “the buffer address having the same value as the first read address is unused and the value of the variable related to this address is the first predetermined value (1)” is not detected.
続いて、初期状態からある程度時間が経過した後の異常状態におけるフレーム処理装置1のフレーム書込処理を説明する。図20は、初期状態からある程度時間が経過した状態を示す。アドレス記憶部3のアドレス「0」〜「15」には、バッファアドレス値「3」、「14」、「3」、「8」、「5」、「7」、「15」、「9」、「13」、「11」、「2」、「6」、「12」、「4」、「10」及び「0」がそれぞれ格納されている。
Next, the frame writing process of the
アドレス記憶部3のアドレス「2」には、本来バッファアドレス「1」が格納されることが予定されていたところ、異常によりバッファアドレスが「3」に変化している。第1読出アドレスの位置は現在「0」である。
The buffer address “1” originally intended to be stored in the address “2” of the
アドレス記憶部3のアドレス「0」に格納されるバッファアドレスは「3」であるため、フレームはバッファアドレス「3」に書き込まれる。図9に示すオペレーションDEによって、バッファアドレス「3」について第1記憶部10に記憶される使用状態は、「使用中(1)」へ変更される。また図9に示すオペレーションDFによって、バッファアドレス「3」に関する変数には第2所定値「0」が入力される。
Since the buffer address stored in the address “0” of the
図10に示すオペレーションDIの判定において、第1読出アドレスと同じ値のバッファアドレス「0」について第1記憶部10に記憶される使用状態は「未使用(0)」になる。また、図10に示すオペレーションDKの判定において、バッファアドレス「0」に関する変数の値は第2所定値(0)である。図10に示すオペレーションDLによって、バッファアドレス「0」に関する変数に第1所定値(1)が入力される。
In the determination of the operation DI illustrated in FIG. 10, the use state stored in the
図20に示す状態の後、第1読出アドレスの位置が「2」まで進んだ状態を図21に示す。アドレス記憶部3のアドレス「2」に格納されるバッファアドレスは「3」である。図9に示すオペレーションDDの判定においてバッファアドレス「3」について第1記憶部10に記憶される使用状態は「使用中(1)」である。このため、フレーム書込部4は、アドレス記憶部3のアドレス「2」から読み出されたバッファアドレスの異常を検出し、このバッファアドレスを破棄する。
FIG. 21 shows a state in which the position of the first read address has advanced to “2” after the state shown in FIG. The buffer address stored in the address “2” of the
図10に示すオペレーションDIの判定において、第1読出アドレスと同じ値のバッファアドレス「2」について第1記憶部10に記憶される使用状態は「未使用(0)」になる。また、図10に示すオペレーションDKの判定において、バッファアドレス「2」に関する変数の値は第2所定値(0)である。図10に示すオペレーションDLによって、バッファアドレス「2」に関する変数に第1所定値(1)が入力される。
In the determination of the operation DI illustrated in FIG. 10, the use state stored in the
図21に示す状態の後、第1読出アドレスの位置が「15」まで進んだ状態を図22に示す。アドレス記憶部3のアドレス「15」に格納されるバッファアドレスは「0」であるため、フレームはバッファアドレス「0」に書き込まれる。図9に示すオペレーションDEによって、バッファアドレス「0」について第1記憶部10に記憶される使用状態は、「使用中(1)」へ変更される。また、バッファアドレス「0」に関する変数の値が第2所定値「0」にリセットされる。
FIG. 22 shows a state where the position of the first read address has advanced to “15” after the state shown in FIG. Since the buffer address stored in the address “15” of the
また、第1読出アドレスと同じ値のバッファアドレス「15」について第1記憶部10に記憶される使用状態は「使用中(1)」である。このためバッファアドレス「15」に関する変数の変更は生じない。
The use state stored in the
フレーム読出部5は、バッファアドレス「14」、「9」、「7」及び「11」に格納されたフレームを読み出す。フレーム読出部5は、バッファアドレス「14」、「9」、「7」及び「11」をアドレス記憶部3に格納する。また図6に示すオペレーションCCと同様に、バッファアドレス「14」、「9」、「7」及び「11」について第1記憶部10に記憶される使用状態は、「未使用(0)」へ変更される。
The
図22に示す状態の後、第1読出アドレスの位置が「0」へ戻り、そして第1読出アドレスの位置が「1」まで進んだ状態を図23に示す。アドレス記憶部3のアドレス「1」に格納されるバッファアドレスは「9」であるため、フレームはバッファアドレス「9」に書き込まれる。図9に示すオペレーションDEによって、バッファアドレス「9」について第1記憶部10に記憶される使用状態は、「使用中(1)」へ変更される。
FIG. 23 shows a state in which the position of the first read address has returned to “0” and the position of the first read address has advanced to “1” after the state shown in FIG. Since the buffer address stored in the address “1” of the
図10に示すオペレーションDIの判定において、第1読出アドレスと同じ値のバッファアドレス「1」について第1記憶部10に記憶される使用状態は「未使用(0)」になる。また、図10に示すオペレーションDKの判定において、バッファアドレス「1」に関する変数の値は第1所定値(1)である。この結果、図10に示すオペレーションDMにおいて、バッファアドレス「1」に異常が生じたことが検出される。そしてアドレス入力部21は、バッファアドレス「1」をアドレス記憶部3に格納する。
In the determination of the operation DI illustrated in FIG. 10, the use state stored in the
本実施例によれば、アドレス記憶部3の記憶から消失したバッファアドレスを検出し、消失したアドレスを復活させることが可能なフレーム処理装置を実現することができる。また本実施例によれば、アドレス記憶部3から読み出されるバッファアドレスの値に異常が生じても、格納済みのフレームへの他のフレームの上書きを防止するフレーム処理装置を実現することができる。
According to the present embodiment, it is possible to realize a frame processing device that can detect a lost buffer address from the storage of the
1 フレーム処理装置
2 バッファ
3 アドレス記憶部
4 フレーム書込部
10 第1記憶部
11 状態変更部
20 アドレス検出部
DESCRIPTION OF
Claims (4)
前記バッファの空きアドレスを記憶するアドレス記憶部と、
巡回的順序で生成される巡回アドレスによって読出アドレスを指定することにより前記アドレス記憶部から読み出される前記空きアドレスへ、フレームを書き込むフレーム書込部と、
前記バッファの各アドレスの使用状態を記憶する第1記憶部と、
前記バッファにフレームが書き込まれる場合に、フレームが書き込まれるアドレスについて前記第1記憶部に記憶される使用状態を未使用から使用中へ変更する状態変更部と、
前記巡回アドレスが一巡する期間に亘って前記フレーム書込部による書込処理が行われず、かつ未使用であると前記第1記憶部に記憶されるアドレスを検出するアドレス検出部を備えるフレーム処理装置。 A buffer,
An address storage unit for storing an empty address of the buffer;
A frame writing unit for writing a frame to the empty address read from the address storage unit by designating a read address by a cyclic address generated in a cyclic order;
A first storage unit for storing a use state of each address of the buffer;
A state changing unit that changes a use state stored in the first storage unit from an unused state to an in-use state for an address at which a frame is written when a frame is written to the buffer;
A frame processing apparatus comprising an address detection unit that detects an address stored in the first storage unit when the frame writing unit does not perform a writing process over a period of one cycle of the cyclic address and is unused. .
前記バッファのアドレス毎に変数を記憶する第2記憶部と、
未使用であると前記第1記憶部に記憶されるアドレスに対する前記変数に、第1所定値を入れる第1入力部と、
前記バッファにフレームが書き込まれる場合に、フレームが書き込まれるアドレスに対する前記変数に第2所定値を入れる第2入力部と、
前記巡回アドレスが一巡する期間に亘り前記変数が前記第1所定値を有するアドレスを検出する検出部と、
を備える請求項1又は2に記載のフレーム処理装置。 The address detecting unit is
A second storage unit for storing a variable for each address of the buffer;
A first input unit that puts a first predetermined value in the variable for the address stored in the first storage unit as unused;
A second input unit that, when a frame is written to the buffer, puts a second predetermined value in the variable for the address to which the frame is written;
A detecting unit for detecting an address in which the variable has the first predetermined value over a period of a round of the cyclic address;
The frame processing device according to claim 1 or 2.
巡回的順序で生成される巡回アドレスによって読出アドレスを指定することにより、前記アドレス記憶部から前記空きアドレスを読み出し、
前記空きアドレスにフレームが書き込まれる場合に、前記バッファの各アドレスの使用状態を記憶する第1記憶部に記憶される、前記空きアドレスの使用状態を未使用から使用中へ変更し、
前記巡回アドレスが一巡する期間に亘って前記フレームの書込処理が行われず、かつ未使用であると前記第1記憶部に記憶されるアドレスを検出するフレーム処理方法。 Store the free address of the buffer in the address storage unit,
By reading the empty address from the address storage unit by designating a read address by a cyclic address generated in a cyclic order,
When a frame is written to the free address, the use state of the free address stored in the first storage unit that stores the use state of each address of the buffer is changed from unused to used,
A frame processing method for detecting an address stored in the first storage unit when the frame writing process is not performed over a period of one cycle of the cyclic address and is unused.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010102370A JP2011234114A (en) | 2010-04-27 | 2010-04-27 | Frame processor and frame processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010102370A JP2011234114A (en) | 2010-04-27 | 2010-04-27 | Frame processor and frame processing method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011234114A true JP2011234114A (en) | 2011-11-17 |
Family
ID=45322992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010102370A Withdrawn JP2011234114A (en) | 2010-04-27 | 2010-04-27 | Frame processor and frame processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011234114A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012239022A (en) * | 2011-05-11 | 2012-12-06 | Fujitsu Telecom Networks Ltd | Transmitter and normality confirmation method in transmitter |
JP2012242882A (en) * | 2011-05-16 | 2012-12-10 | Nippon Telegr & Teleph Corp <Ntt> | Data storage area management device, data storage area management method, and data storage area management program |
JP2014175890A (en) * | 2013-03-11 | 2014-09-22 | Fujitsu Telecom Networks Ltd | Frame processing device and frame processing method |
US9853919B2 (en) | 2013-03-26 | 2017-12-26 | Fujitsu Limited | Data processing apparatus and data processing method |
-
2010
- 2010-04-27 JP JP2010102370A patent/JP2011234114A/en not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012239022A (en) * | 2011-05-11 | 2012-12-06 | Fujitsu Telecom Networks Ltd | Transmitter and normality confirmation method in transmitter |
JP2012242882A (en) * | 2011-05-16 | 2012-12-10 | Nippon Telegr & Teleph Corp <Ntt> | Data storage area management device, data storage area management method, and data storage area management program |
JP2014175890A (en) * | 2013-03-11 | 2014-09-22 | Fujitsu Telecom Networks Ltd | Frame processing device and frame processing method |
US9853919B2 (en) | 2013-03-26 | 2017-12-26 | Fujitsu Limited | Data processing apparatus and data processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9218203B2 (en) | Packet scheduling in a multiprocessor system using inter-core switchover policy | |
US7657673B2 (en) | Data transfer control device, image processing device, and data transfer control method | |
JP2011234114A (en) | Frame processor and frame processing method | |
US20110126070A1 (en) | Resending Control Circuit, Sending Device, Resending Control Method and Resending Control Program | |
CN106874103B (en) | Heartbeat implementation method and device | |
CN111913807A (en) | Event processing method, system and device based on multiple storage areas | |
CN115221082B (en) | Data caching method and device and storage medium | |
KR20000064575A (en) | Communication bus system | |
US9338219B2 (en) | Direct push operations and gather operations | |
US10228852B1 (en) | Multi-stage counters | |
CN117499351A (en) | Message forwarding device and method, communication chip and network equipment | |
EP3299965B1 (en) | Method and physical device for managing linked lists | |
US20140281091A1 (en) | Method and apparatus for identifying cause of interrupt | |
JP5077209B2 (en) | Memory management device, memory management method and program | |
EP3035615A1 (en) | Method for queue management | |
JP5907558B2 (en) | MULTI-INTERVAL TIMER AND ITS CONTROL DEVICE, CONTROL METHOD, AND CONTROL PROGRAM | |
US20130042079A1 (en) | Method for processing data of a control unit in a data communication device | |
JP6123568B2 (en) | Packet transmission apparatus, packet buffer, and packet processing method | |
JP2005216317A (en) | Queue device | |
CN116107795B (en) | Error reporting circuit and chip device | |
JP5571826B1 (en) | Packet transfer processing apparatus and method | |
CN110929102B (en) | Data processing method and device and electronic equipment | |
JP2011141690A (en) | Buffer memory device and buffering method | |
EP2704346A2 (en) | Data transmission device and data transmission method | |
JP5407491B2 (en) | Arbitration circuit, overflow control method, and overflow control program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20130702 |