JP2011234114A - Frame processor and frame processing method - Google Patents

Frame processor and frame processing method Download PDF

Info

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
Application number
JP2010102370A
Other languages
Japanese (ja)
Inventor
Go Ichikawa
剛 市川
Masakatsu Koyanagi
正勝 小柳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Fujitsu Telecom Networks Ltd
Original Assignee
Fujitsu Ltd
Fujitsu Telecom Networks Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd, Fujitsu Telecom Networks Ltd filed Critical Fujitsu Ltd
Priority to JP2010102370A priority Critical patent/JP2011234114A/en
Publication of JP2011234114A publication Critical patent/JP2011234114A/en
Withdrawn legal-status Critical Current

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

PROBLEM TO BE SOLVED: To prevent reduction of a buffer resource generated when an abnormality occurs in a value read out from an address storage section which stores an empty address of the buffer.SOLUTION: A frame processor 1 comprises an address storage section 3 storing an empty address of a buffer 2, a frame writing section 4 writing a frame into the empty address read out from the address storage section 3 by designating a reading address by a cyclic address, a first storing section 10 storing a using state of each address of the buffer 2, a state changing section 11 changing the using state, which is stored into the first storing section 10, of the address into which the frame is written when writing the frame into the buffer 2, and an address detection section 20 detecting the address stored into the first storing section 10 as an unused address without being subjected to a writing process over a period of time of one cycle of the cyclic address.

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.

特開2000−105723号公報JP 2000-105723 A 特開平7−321795号公報Japanese Patent Laid-Open No. 7-321795 特開2004−240711号公報JP 2004-240711 A 特開平9−305493号公報JP-A-9-305493

アドレス記憶部から読み出される空きアドレスの値に異常が生じると、本来の格納先と異なるアドレスにフレームが格納される。このため、本来の格納先のアドレスがアドレス記憶部に返却される機会がなくなりこのアドレスにフレームが格納されなくなるため、利用可能なバッファのリソースが低減する。   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構成例を示す図である。It is a figure which shows the 1st structural example of a frame processing apparatus. 図1に示すフレーム処理装置におけるフレーム書込処理の説明図である。It is explanatory drawing of the frame writing process in the frame processing apparatus shown in FIG. フレーム処理装置の第2構成例を示す図である。It is a figure which shows the 2nd structural example of a frame processing apparatus. 図3に示すフレーム処理装置におけるフレーム書込処理の説明図である。It is explanatory drawing of the frame writing process in the frame processing apparatus shown in FIG. フレーム処理装置の第3構成例を示す図である。It is a figure which shows the 3rd structural example of a frame processing apparatus. 図5に示すフレーム処理装置におけるフレーム読出処理の説明図である。It is explanatory drawing of the frame read-out process in the frame processing apparatus shown in FIG. フレーム処理装置の第4構成例を示す図である。It is a figure which shows the 4th structural example of a frame processing apparatus. フレーム処理装置の第5構成例を示す図である。It is a figure which shows the 5th structural example of a frame processing apparatus. 図8に示すフレーム処理装置におけるフレーム書込処理の説明図である。It is explanatory drawing of the frame writing process in the frame processing apparatus shown in FIG. 図8に示すフレーム処理装置におけるアドレス異常の検出処理の説明図である。It is explanatory drawing of the detection process of the address abnormality in the frame processing apparatus shown in FIG. 図8に示すアドレス記憶部、第1記憶部、第2記憶部及びバッファの初期状態の説明図である。It is explanatory drawing of the initial state of the address memory | storage part shown in FIG. 8, a 1st memory | storage part, a 2nd memory | storage part, and a buffer. 図8に示すアドレス記憶部、第1記憶部、第2記憶部及びバッファに記憶されるデータの説明図(その1)である。It is explanatory drawing (the 1) of the data memorize | stored in the address memory | storage part shown in FIG. 8, a 1st memory | storage part, a 2nd memory | storage part, and a buffer. 図8に示すアドレス記憶部、第1記憶部、第2記憶部及びバッファに記憶されるデータの説明図(その2)である。It is explanatory drawing (the 2) of the data memorize | stored in the address memory | storage part shown in FIG. 8, a 1st memory | storage part, a 2nd memory | storage part, and a buffer. 図8に示すアドレス記憶部、第1記憶部、第2記憶部及びバッファに記憶されるデータの説明図(その3)である。It is explanatory drawing (the 3) of the data memorize | stored in the address memory | storage part shown in FIG. 8, a 1st memory | storage part, a 2nd memory | storage part, and a buffer. 図8に示すアドレス記憶部、第1記憶部、第2記憶部及びバッファに記憶されるデータの説明図(その4)である。It is explanatory drawing (the 4) of the data memorize | stored in the address memory | storage part shown in FIG. 8, a 1st memory | storage part, a 2nd memory | storage part, and a buffer. 図8に示すアドレス記憶部、第1記憶部、第2記憶部及びバッファに記憶されるデータの説明図(その5)である。It is explanatory drawing (the 5) of the data memorize | stored in the address memory | storage part shown in FIG. 8, a 1st memory | storage part, a 2nd memory | storage part, and a buffer. 図8に示すアドレス記憶部、第1記憶部、第2記憶部及びバッファに記憶されるデータの説明図(その6)である。It is explanatory drawing (the 6) of the data memorize | stored in the address memory | storage part shown in FIG. 8, a 1st memory | storage part, a 2nd memory | storage part, and a buffer. 図8に示すアドレス記憶部、第1記憶部、第2記憶部及びバッファに記憶されるデータの説明図(その7)である。It is explanatory drawing (the 7) of the data memorize | stored in the address memory | storage part shown in FIG. 8, a 1st memory | storage part, a 2nd memory | storage part, and a buffer. 図8に示すアドレス記憶部、第1記憶部、第2記憶部及びバッファに記憶されるデータの説明図(その8)である。It is explanatory drawing (the 8) of the data memorize | stored in the address memory | storage part shown in FIG. 8, a 1st memory | storage part, a 2nd memory | storage part, and a buffer. 図8に示すアドレス記憶部、第1記憶部、第2記憶部及びバッファに記憶されるデータの説明図(その9)である。It is explanatory drawing (the 9) of the data memorize | stored in the address memory | storage part shown in FIG. 8, a 1st memory | storage part, a 2nd memory | storage part, and a buffer. 図8に示すアドレス記憶部、第1記憶部、第2記憶部及びバッファに記憶されるデータの説明図(その10)である。It is explanatory drawing (the 10) of the data memorize | stored in the address memory | storage part shown in FIG. 8, a 1st memory | storage part, a 2nd memory | storage part, and a buffer. 図8に示すアドレス記憶部、第1記憶部、第2記憶部及びバッファに記憶されるデータの説明図(その11)である。It is explanatory drawing (the 11) of the data memorize | stored in the address memory | storage part shown in FIG. 8, a 1st memory | storage part, a 2nd memory | storage part, and a buffer. 図8に示すアドレス記憶部、第1記憶部、第2記憶部及びバッファに記憶されるデータの説明図(その12)である。It is explanatory drawing (the 12) of the data memorize | stored in the address memory | storage part shown in FIG. 8, a 1st memory | storage part, a 2nd memory | storage part, and a buffer.

以下、添付する図面を参照して本発明の実施例について説明する。図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 frame processing device 1 may be a frame transmission device that transmits a frame transmitted on a communication transmission path. Examples of such a frame transmission device include a switch device and a router device. The frame processing device 1 includes a buffer 2, an address storage unit 3, a frame writing unit 4, a frame reading unit 5, a first storage unit 10, a state change unit 11, and an address detection unit 20.

バッファ2は、入力されるフレームを格納する。本実施例のバッファ2は、N個のフレームを格納する記憶容量を有する。N個のフレームを格納するそれぞれの格納先は、N値のアドレスによって指定される。各格納先のアドレスは、例えば「0」〜「N−1」であってよい。以下の説明において、バッファ2の各格納先を表すアドレスを「バッファアドレス」と表記することがある。   The buffer 2 stores an input frame. The buffer 2 of this embodiment has a storage capacity for storing N frames. Each storage location for storing N frames is specified by an N-value address. Each storage destination address may be, for example, “0” to “N−1”. In the following description, an address representing each storage destination of the buffer 2 may be referred to as a “buffer address”.

アドレス記憶部3は、バッファ2の空きアドレスを記憶する。アドレス記憶部3は、N個分のバッファアドレスを記憶する記憶容量を有する。N個分のバッファアドレスを格納するそれぞれの格納先は、N値のアドレスによって指定される。各格納先のアドレスは、例えば「0」〜「N−1」であってよい。   The address storage unit 3 stores an empty address of the buffer 2. The address storage unit 3 has a storage capacity for storing N buffer addresses. Each storage location for storing N buffer addresses is specified by an N-value address. Each storage destination address may be, for example, “0” to “N−1”.

フレーム書込部4は、アドレス記憶部3からバッファ2の空きアドレスを読み出して、取得された空きアドレスにフレームを書き込む。フレーム書込部4がアドレス記憶部3からバッファ2の空きアドレスを読み出す際に使用する読出アドレスは、巡回的順序で生成される巡回アドレスである。以下の説明において、アドレス記憶部3から空きアドレスを読み出す際に使用する読出アドレスを、「第1読出アドレス」と表記することがある。   The frame writing unit 4 reads the empty address of the buffer 2 from the address storage unit 3 and writes the frame to the acquired empty address. The read address used when the frame writing unit 4 reads the empty address of the buffer 2 from the address storage unit 3 is a cyclic address generated in a cyclic order. In the following description, a read address used when reading an empty address from the address storage unit 3 may be referred to as a “first read address”.

巡回アドレスである第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 buffer 2, the frame reading unit 5 receives a write address at which the frame is written. The frame reading unit 5 reads a frame from the buffer 2 using the received address as a reading address. In the following description, a read address used when the frame reading unit 5 reads a frame from the buffer 2 may be referred to as a “second read address”. The frame reading unit 5 returns the second reading address to the address storage unit 3. The second read address is stored in the address that has the earliest read order in the unused area of the address storage unit 3.

第1記憶部10は、各バッファアドレスの使用状態を記憶する。第1記憶部10は、N個のバッファアドレスのそれぞれについて使用状態を記憶する記憶容量を有する。例えば、第1記憶部10はNビットの記憶容量を有していてよい。N個のバッファアドレスそれぞれの使用状態を記憶する格納先は、N値のアドレスによって指定される。各格納先のアドレスは、例えば「0」〜「N−1」であってよい。   The first storage unit 10 stores the usage state of each buffer address. The first storage unit 10 has a storage capacity for storing a use state for each of the N buffer addresses. For example, the first storage unit 10 may have an N-bit storage capacity. The storage destination for storing the usage status of each of the N buffer addresses is designated by an N-value address. Each storage destination address may be, for example, “0” to “N−1”.

以下に説明する各実施例では、バッファアドレス「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 first storage unit 10, respectively. However, the first storage unit 10 only needs to be able to store the usage state of each buffer address. As the first storage unit 10, various configurations that can store the use state of each buffer address can be employed.

バッファアドレスが使用中であるか又は未使用であるかを表す値として、様々な値を使用してよい。例えば本実施例では、バッファアドレスが使用中であるとき使用状態を表す値として「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 first storage unit 10 as a value indicating the use state when the buffer address is in use, and “0” is set as a value indicating the use state when the buffer address is not used. Is memorized.

状態変更部11は、バッファ2にフレームが書き込まれる場合に、フレームが書き込まれるバッファアドレスについて第1記憶部10に記憶される使用状態を未使用(0)から使用中(1)へ変更する。   When a frame is written in the buffer 2, the state change unit 11 changes the use state stored in the first storage unit 10 for the buffer address to which the frame is written from unused (0) to in use (1).

アドレス検出部20は、巡回アドレスである第1読出アドレスが一巡する期間に亘ってフレーム書込部4による書込処理が行われず、かつ未使用であると第1記憶部10に記憶されるアドレスを検出する。   The address detection unit 20 does not perform the writing process by the frame writing unit 4 over a period in which the first read address that is the cyclic address makes a round, and stores the address in the first storage unit 10 when it is unused. Is detected.

図2は、図1に示すフレーム処理装置1におけるフレーム書込処理の説明図である。なお、他の実施態様においては、下記のオペレーションAA〜AIの各オペレーションはステップであってもよい。   FIG. 2 is an explanatory diagram of the frame writing process in the frame processing apparatus 1 shown in FIG. In other embodiments, the following operations AA to AI may be steps.

オペレーションAAにおいてフレーム書込部4は、フレームの受信を試みる。フレームが受信されたとき(オペレーションAA:Y)、処理はオペレーションABへ進む。フレームが受信されないとき(オペレーションAA:N)、オペレーションAAが繰り返される。   In operation AA, the frame writing unit 4 attempts to receive a frame. When the frame is received (operation AA: Y), the processing proceeds to operation AB. When no frame is received (operation AA: N), operation AA is repeated.

オペレーションABにおいてフレーム書込部4は、第1読出アドレスを巡回的順序で生成する。第1読出アドレスを生成するのは、フレーム書込部4でなくともよい。他の図示しない構成要素によって第1読出アドレスが生成されてもよい。オペレーションACにおいてフレーム書込部4は、生成された第1読出アドレスを読出アドレスとして使用してアドレス記憶部3からバッファ2の空きアドレスを読み出す。   In operation AB, the frame writing unit 4 generates the first read address in a cyclic order. The first read address may not be generated by the frame writing unit 4. The first read address may be generated by another component (not shown). In operation AC, the frame writing unit 4 reads an empty address of the buffer 2 from the address storage unit 3 using the generated first read address as a read address.

オペレーションADにおいて、状態変更部11は、読み出された空きアドレスについて第1記憶部10に記憶される使用状態を、未使用を表す値「0」から使用中を表す値「1」へ変更する。このとき例えば、第1記憶部10の読出アドレスは、アドレス記憶部3から読み出された空きアドレスによって指定されてよい。状態変更部11は、第1記憶部10から読み出される使用状態が「未使用(0)」を表すか否かをチェックしてよい。使用状態が「未使用(0)」を表すとき、状態変更部11は、アドレス記憶部3から読み出された空きアドレスによって書込アドレスが指定された第1記憶部10へ、「使用中」を表す値「1」を入力してよい。   In operation AD, the state change unit 11 changes the use state stored in the first storage unit 10 for the read empty address from the value “0” indicating unused to the value “1” indicating in use. . At this time, for example, the read address of the first storage unit 10 may be specified by an empty address read from the address storage unit 3. The state changing unit 11 may check whether or not the usage state read from the first storage unit 10 represents “unused (0)”. When the use state indicates “unused (0)”, the state change unit 11 sends “used” to the first storage unit 10 in which the write address is designated by the free address read from the address storage unit 3. A value “1” may be input.

オペレーションAEにおいてフレーム書込部4は、アドレス記憶部3から読み出された空きアドレスにフレームを格納する。オペレーションAFにおいてフレーム読出部5は、アドレス記憶部3から読み出された空きアドレスを記憶する。なお、オペレーションAD〜AFはどの順序で実行されてもよい。   In operation AE, the frame writing unit 4 stores the frame at the empty address read from the address storage unit 3. In operation AF, the frame reading unit 5 stores the empty address read from the address storage unit 3. The operations AD to AF may be executed in any order.

オペレーションAGにおいてアドレス検出部20は、第1読出アドレスを読出アドレスとして指定された第1記憶部10から使用状態を読み出す。すなわちアドレス検出部20は、第1読出アドレスと同じ値を持つバッファアドレスの使用状態を読み出す。アドレス検出部20は、第1読出アドレスと同じ値を持つバッファアドレスが未使用であるか否かを判定する。   In operation AG, the address detection unit 20 reads the usage state from the first storage unit 10 designated with the first read address as the read address. That is, the address detection unit 20 reads the use state of the buffer address having the same value as the first read address. The address detection unit 20 determines whether or not a buffer address having the same value as the first read address is unused.

第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 address detection unit 20 performs the writing process by the frame writing unit 4 over a period in which the first read address makes a round for the buffer address having the same value as the current first read address. It is determined whether or not there is a problem.

例えばアドレス検出部20は、各バッファアドレスについて、バッファアドレスにフレームが書き込まれたときに書込処理が実行されたことを記憶してよい。そして、アドレス検出部20は、第1読出アドレスが現在のアドレス値と同じアドレスから以前スタートし一巡して再び現在のアドレス値に戻ってくるまでの期間内に、現在の第1読出アドレスと同じ値のバッファアドレスに書込処理が実行されたか否かを判定してよい。   For example, the address detection unit 20 may store that each buffer address has been written when a frame is written to the buffer address. The address detection unit 20 then starts the same operation as the current first read address within the period until the first read address starts from the same address as the current address value and then returns to the current address value once again. It may be determined whether a write process has been performed on the value buffer address.

書込処理が行われたことがない場合(オペレーション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 address detection unit 20 detects the current first read address as an abnormal address.

あるバッファアドレスが未使用である場合、もし異常によりこのバッファアドレスが消失していなければこのバッファアドレスはアドレス記憶部3に格納される。このため、第1読出アドレスが一巡する間に、このバッファアドレスは、少なくとも一度はフレーム書込部4によって読み出され、このバッファアドレスにフレームが書き込まれる。したがって、第1読出アドレスが一巡する期間に亘ってフレームの書込処理が行われず、かつ未使用であるバッファアドレスは、アドレス記憶部3の記憶から消失したバッファアドレスであると考えることができる。   If a buffer address is not used, this buffer address is stored in the address storage unit 3 if the buffer address is not lost due to an abnormality. Therefore, the buffer address is read at least once by the frame writing unit 4 and the frame is written to the buffer address while the first read address makes a round. Therefore, it can be considered that an unused buffer address is a buffer address that has disappeared from the storage of the address storage unit 3 while the frame writing process is not performed over a period of one cycle of the first read address.

本実施例によれば、アドレス記憶部3の記憶から消失したバッファアドレスを検出することができる。このため、アドレス記憶部3から読み出されるバッファアドレスの値に異常が生じることによりアドレス記憶部3の記憶から消失するアドレスが発生しても、このアドレスを特定することが可能となる。   According to this embodiment, it is possible to detect a buffer address that has disappeared from the storage of the address storage unit 3. For this reason, even if an address disappears from the storage of the address storage unit 3 due to an abnormality in the value of the buffer address read from the address storage unit 3, this address can be specified.

なお、上述の実施例では、オペレーション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 address storage unit 3. Good. Examples of such other cyclic addresses are an address advanced by a predetermined number of addresses from the first read address or an address delayed by a predetermined number of addresses from the first read address.

このときオペレーションAHにおいてアドレス検出部20は、上記他の巡回アドレスと同じ値を持つバッファアドレスに対して、上記他の巡回アドレスが一巡する期間に亘ってフレーム書込部4による書込処理が行われたことがあるか否かを判定する。   At this time, in operation AH, the address detection unit 20 performs the writing process by the frame writing unit 4 over a period in which the other cyclic address completes a cycle with respect to the buffer address having the same value as the other cyclic address. It is determined whether or not it has been broken.

図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 frame processing apparatus 1 includes a first determination unit 12 in addition to the configuration shown in FIG. The first determination unit 12 determines whether or not the empty address read from the address storage unit 3 is stored in the first storage unit 10 as unused. When the empty address read from the address storage unit 3 is not unused, the first determination unit 12 outputs a first abnormality detection signal notifying the abnormality of the empty address read from the address storage unit 3 to the frame writing unit 4. When the first abnormality detection signal is received, the frame writing unit 4 discards the empty address read from the address storage unit 3 and redoes the empty address reading process.

図4は、図3に示すフレーム処理装置1におけるフレーム書込処理の説明図である。なお、他の実施態様においては、下記のオペレーションBA〜BGの各オペレーションはステップであってもよい。   FIG. 4 is an explanatory diagram of the frame writing process in the frame processing apparatus 1 shown in FIG. In other embodiments, the following operations BA to BG may be steps.

オペレーション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 first determination unit 12 determines whether or not the empty address read from the address storage unit 3 is stored in the first storage unit 10 as unused. At this time, for example, the read address of the first storage unit 10 may be specified by an empty address read from the address storage unit 3. The first determination unit 12 may check whether or not the usage state read from the first storage unit 10 represents “unused (0)”.

読み出された空きアドレスが未使用であるとき(オペレーション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 frame writing unit 4 discards the acquired empty address and redoes the process of reading the empty address from the address storage unit 3.

オペレーション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 address detection unit 20 executes the operations AG to AI shown in FIG. 2 both when the empty address is discarded and when it is not discarded in the operation BD.

本実施例によれば、アドレス記憶部3から読み出される空きアドレスが既に使用中であるとき、フレーム書込部4がこのアドレスにフレームを上書きすることが防止される。したがって、アドレス記憶部3から読み出されるバッファアドレスの値に異常が生じても、すでにバッファ2に格納済みのフレームに他のフレームが上書きされる不都合を解消することができる。なお、以下に示すいずれの実施例においても、第1判定部12を設けてよい。   According to this embodiment, when a free address read from the address storage unit 3 is already in use, the frame writing unit 4 is prevented from overwriting the frame with this address. Therefore, even if an abnormality occurs in the value of the buffer address read from the address storage unit 3, it is possible to eliminate the inconvenience that another frame is overwritten on the frame already stored in the buffer 2. In any of the embodiments described below, the first determination unit 12 may be provided.

図5は、フレーム処理装置の第3構成例を示す図である。フレーム読出部5は、読出部30と、読出制御部31を備える。図1に示す構成要素と同じ構成要素には同じ参照番号を付する。   FIG. 5 is a diagram illustrating a third configuration example of the frame processing apparatus. The frame reading unit 5 includes a reading unit 30 and a reading control unit 31. Components that are the same as those shown in FIG.

読出部30は、読出制御部31から第2読出アドレスを受信する。読出部30は、受信した第2読出アドレスを読出アドレスとして使用してバッファ2からフレームを読み出す。読出制御部31は、読出アドレス決定部32と第2判定部33を備える。   The read unit 30 receives the second read address from the read control unit 31. The reading unit 30 reads a frame from the buffer 2 using the received second read address as a read address. The read control unit 31 includes a read address determination unit 32 and a second determination unit 33.

読出アドレス決定部32は、フレームがバッファ2に書き込まれるとき、フレーム書込部4から、フレームが書き込まれる書込アドレスを受信する。読出アドレス決定部32は、受信したアドレスを記憶する。読出アドレス決定部32は、記憶されたアドレスの中から第2読出アドレスを選択して第2判定部33に出力する。   When the frame is written into the buffer 2, the read address determination unit 32 receives a write address at which the frame is written from the frame writing unit 4. The read address determination unit 32 stores the received address. The read address determination unit 32 selects a second read address from the stored addresses and outputs the second read address to the second determination unit 33.

例えば読出アドレス決定部32は、バッファ2に格納される各フレームの優先度に応じてアドレスを記憶する優先度別アドレス記憶部を備えてもよい。このとき、フレーム書込部4は、フレームから優先度情報を抽出して読出アドレス決定部32に与えてもよい。優先度情報は、例えばクオリティ・オブ・サービス(QoS: Quality of Service)であってよい。   For example, the read address determination unit 32 may include a priority-specific address storage unit that stores addresses according to the priority of each frame stored in the buffer 2. At this time, the frame writing unit 4 may extract priority information from the frame and give it to the read address determination unit 32. The priority information may be, for example, quality of service (QoS).

読出アドレス決定部32は、優先度情報に応じて優先度別アドレス記憶部にフレームを格納してよい。読出アドレス決定部32は、優先度別アドレス記憶部に割り当てられた優先度にしたがってアドレスの出力順序を決定してよい。   The read address determination unit 32 may store the frame in the priority-specific address storage unit according to the priority information. The read address determination unit 32 may determine the output order of addresses according to the priority assigned to the priority-specific address storage unit.

第2判定部33は、読出アドレス決定部32から出力された第2読出アドレスが、未使用だと第1記憶部10に記憶されているか否かを判定する。例えば、第2判定部33は、第2読出アドレスによって読出アドレスが指定された第1記憶部から使用状態を読み出す。第2判定部33は、読み出された使用状態が「未使用(0)」を表すか否かを判定する。読み出された使用状態が「未使用(0)」を表すとき、第2判定部33は、第2読出アドレスを破棄する。   The second determination unit 33 determines whether the second read address output from the read address determination unit 32 is stored in the first storage unit 10 when it is unused. For example, the second determination unit 33 reads the usage state from the first storage unit in which the read address is designated by the second read address. The second determination unit 33 determines whether or not the read usage state indicates “unused (0)”. When the read usage state indicates “unused (0)”, the second determination unit 33 discards the second read address.

図6は、図5に示すフレーム処理装置1におけるフレーム読出処理の説明図である。なお、他の実施態様においては、下記のオペレーションCA〜CEの各オペレーションはステップであってもよい。   FIG. 6 is an explanatory diagram of the frame reading process in the frame processing apparatus 1 shown in FIG. In other embodiments, the operations CA to CE described below may be steps.

オペレーション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 address determination unit 32 determines the second read address. In operation CB, the second determination unit 33 determines whether or not the second read address is stored in the first storage unit 10 when it is unused. When the second read address is unused and stored in the first storage unit 10 (operation CB: Y), the process ends. For this reason, the second read address is not used. That is, the second read address is discarded. If the second read address is unused and not stored in the first storage unit 10 (operation CB: N), the process proceeds to operation CC.

オペレーションCCにおいてフレーム読出部5は、第2読出アドレスについて第1記憶部10に記憶されている使用状態を表す値を、「未使用」を表す値「0」に変更する。オペレーションCDにおいてフレーム読出部5は、第2読出アドレスをアドレス記憶部3に格納する。オペレーションCEにおいて読出部30は、バッファ2からフレームを読み出す。なお、オペレーションCC〜CEはどの順序で実行されてもよい。   In operation CC, the frame reading unit 5 changes the value representing the use state stored in the first storage unit 10 for the second read address to the value “0” representing “unused”. In operation CD, the frame reading unit 5 stores the second reading address in the address storage unit 3. In operation CE, the reading unit 30 reads a frame from the buffer 2. The operations CC to CE may be executed in any order.

本実施例によれば、バッファ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 buffer 2. For this reason, even if an abnormality occurs in the second read address, the inconvenience that the already read frames are read redundantly is solved. Note that the frame reading unit 5 shown in FIG. 5 may be provided in another embodiment described in this specification.

図7は、フレーム処理装置の第4構成例を示す図である。フレーム処理装置1は、図1に示す構成に加えてアドレス入力部21を備える。アドレス入力部21は、アドレス検出部20により検出されたアドレスをアドレス記憶部3に格納する。   FIG. 7 is a diagram illustrating a fourth configuration example of the frame processing apparatus. The frame processing apparatus 1 includes an address input unit 21 in addition to the configuration shown in FIG. The address input unit 21 stores the address detected by the address detection unit 20 in the address storage unit 3.

アドレス検出部20は、アドレス記憶部3の記憶から消失したバッファアドレスを検出する。したがってアドレス入力部21によってアドレス記憶部3に格納されるアドレスは、アドレス記憶部3の記憶から消失したバッファアドレスである。本実施例によれば、アドレス記憶部3から読み出したバッファアドレスの値の異常によりアドレス記憶部3の記憶からアドレスが消失しても、消失したアドレスを復活させバッファ2のリソースの低減を防止することが可能となる。   The address detection unit 20 detects a buffer address that has disappeared from the storage in the address storage unit 3. Therefore, the address stored in the address storage unit 3 by the address input unit 21 is a buffer address lost from the storage in the address storage unit 3. According to the present embodiment, even if the address disappears from the storage of the address storage unit 3 due to an abnormality in the value of the buffer address read from the address storage unit 3, the lost address is restored to prevent the resource of the buffer 2 from being reduced. It becomes possible.

図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 address detection unit 20 includes a second storage unit 40, a first input unit 41, a second input unit 42, and a detection unit 43. The same components as those shown in FIG. 7 are denoted by the same reference numerals.

第2記憶部40は、バッファアドレス毎に変数を記憶する。第2記憶部40は、N個のバッファアドレスのそれぞれについて変数を記憶する記憶容量を有する。例えば、第2記憶部40はNビットの記憶容量を有していてよい。N個のバッファアドレスそれぞれについて上記変数を記憶する格納先は、N値のアドレスによって指定される。各格納先のアドレスは、例えば「0」〜「N−1」であってよい。以下の説明において、バッファアドレスについて第2記憶部40に記憶される変数のことを、「バッファアドレスに関する変数」と表記することがある。   The second storage unit 40 stores a variable for each buffer address. The second storage unit 40 has a storage capacity for storing variables for each of the N buffer addresses. For example, the second storage unit 40 may have a storage capacity of N bits. The storage destination for storing the variable for each of the N buffer addresses is specified by an N-value address. Each storage destination address may be, for example, “0” to “N−1”. In the following description, a variable stored in the second storage unit 40 for the buffer address may be referred to as “a variable related to the buffer address”.

バッファアドレス毎に記憶される変数は、少なくとも第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 second storage unit 40, respectively. However, it is sufficient for the second storage unit 40 to be able to store variables for each buffer address. As the second storage unit 40, various configurations that can store variables for each buffer address can be employed.

第1入力部41は、あるバッファアドレスについて第1記憶部10に記憶される使用状態が「未使用」であると判定されたとき、このバッファアドレスに関する変数に第1所定値「1」を入力する。第2入力部42は、あるバッファアドレスにフレームが書き込まれる場合に、このバッファアドレスに関する変数に第2所定値「0」を入力する。   When it is determined that the usage state stored in the first storage unit 10 for a certain buffer address is “unused”, the first input unit 41 inputs a first predetermined value “1” to a variable related to the buffer address. To do. When a frame is written to a certain buffer address, the second input unit 42 inputs a second predetermined value “0” to a variable related to this buffer address.

検出部43は、第1読出アドレスが一巡する期間に亘って変数が第1所定値を持ち続けるバッファアドレスを検出する。   The detection unit 43 detects a buffer address in which the variable continues to have the first predetermined value over a period in which the first read address makes a round.

あるバッファアドレスに関する変数の値が第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 first input unit 41 may determine whether or not the use state stored in the first storage unit 10 for the buffer address having the same value as the current first read address is “unused (0)”. . When the use state stored in the first storage unit 10 for this buffer address is “unused (0)”, the first input unit 41 uses the second predetermined value “0” as the value of the variable related to this buffer address. It is determined whether or not there is. When the value of the variable related to the buffer address is the second predetermined value “0”, the first input unit 41 inputs the first predetermined value “1” as the value of this variable.

一方で、現在の第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 detection unit 43 determines that the value of the variable related to this buffer address is the first predetermined value. It is determined whether or not “1”. The fact that the value of the variable relating to the buffer address remains at the first predetermined value “1” means that the first read address goes around once after the first predetermined value “1” is input to the variable. Also means that the second predetermined value “0” has not been input to the variable. This means that a frame has never been written to this buffer address over the course of the first read address.

このようにして、検出部43は、第1読出アドレスが一巡する期間に亘って変数が第1所定値を持ち続けるバッファアドレスを検出し、アドレス記憶部3の記憶から消失したバッファアドレスを検出する。なお、図1及び図2を参照して説明した第1構成例と同様に、第1読出アドレスと同期して変化するように巡回的順序で生成され、且つアドレス記憶部3の各アドレスを指定可能な他の巡回アドレスが、第1読出アドレスの代わりに使用されてもよい。   In this way, the detection unit 43 detects a buffer address in which the variable continues to have the first predetermined value over a period of one cycle of the first read address, and detects a buffer address that has disappeared from the storage in the address storage unit 3. . As in the first configuration example described with reference to FIGS. 1 and 2, the addresses are generated in a cyclic order so as to change in synchronization with the first read address, and each address of the address storage unit 3 is designated. Other possible cyclic addresses may be used instead of the first read address.

図9は、図8に示すフレーム処理装置1におけるフレーム書込処理の説明図である。なお、他の実施態様においては、下記のオペレーションDA〜DHの各オペレーションはステップであってもよい。オペレーションDA〜DEの処理は、それぞれ図4に示すオペレーションBA〜BEと同様である。   FIG. 9 is an explanatory diagram of the frame writing process in the frame processing apparatus 1 shown in FIG. In other embodiments, the following operations DA to DH may be steps. The processing of operations DA to DE is the same as that of operations BA to BE shown in FIG.

オペレーションDFにおいて第2入力部42は、読み出された空きアドレスに関する変数に第2所定値「0」を入力する。オペレーションDG及びDHの処理は、それぞれ図4に示すオペレーションBF及びBGと同様である。なお、オペレーションDE〜DHはどの順序で実行されてもよい。   In operation DF, the second input unit 42 inputs the second predetermined value “0” to the variable related to the read empty address. The processing of operations DG and DH is the same as operations BF and BG shown in FIG. 4, respectively. Note that operations DE to DH may be executed in any order.

図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 frame processing apparatus 1 shown in FIG. In other embodiments, the following operations DI to DM may be steps. In operation DI, the first input unit 41 and the detection unit 43 read the usage state from the first storage unit 10 designated with the first read address as the read address, and the buffer address having the same value as the first read address is not yet read. It is determined whether or not it is in use. When the buffer address having the same value as the first read address is not unused (operation DI: N), the process ends. When the buffer address having the same value as the first read address is unused (operation DI: Y), the process proceeds to operation DJ.

オペレーションDJにおいて第1入力部41及び検出部43は、第1読出アドレスを読出アドレスとして指定された第2記憶部40から変数を読み出す。すなわち第1入力部41及び検出部43は、第1読出アドレスと同じ値を持つバッファアドレスに関する変数を読み出す。オペレーションDKにおいて第1入力部41及び検出部43は、読み出された変数の値が第2所定値「0」であるか否かを判定する。   In operation DJ, the first input unit 41 and the detection unit 43 read a variable from the second storage unit 40 designated with the first read address as the read address. That is, the first input unit 41 and the detection unit 43 read a variable related to the buffer address having the same value as the first read address. In operation DK, the first input unit 41 and the detection unit 43 determine whether or not the value of the read variable is the second predetermined value “0”.

変数の値が第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 first input unit 41 inputs a first predetermined value “1” to a variable relating to a buffer address having the same value as the first read address. In operation DM, the detection unit 43 detects a buffer address having the same value as the first read address as an abnormal address lost from the storage in the address storage unit 3.

続いて、アドレス記憶部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 frame processing apparatus 1 shown in FIG. 8 will be described by referring to the temporal changes of the address storage unit 3, the first storage unit 10, the second storage unit 40, and the buffer 2. FIG. 11 is an explanatory diagram of an initial state of the address storage unit 3, the first storage unit 10, the second storage unit 40, and the buffer 2 shown in FIG. In the following description, it is assumed that the buffer 2 can store 16 frames.

初期状態において、バッファ2の全てのアドレスが空きアドレスである。したがって、バッファ2の全てのアドレスが、アドレス記憶部3内に記憶されている。本例では、アドレス記憶部3の各アドレス「0」〜「15」には、バッファアドレス値「0」〜「15」がそれぞれ格納されている。第1記憶部10に記憶される使用状態は、全て「未使用(0)」である。また、第2記憶部40に格納される変数の値は、全て第2所定値(0)である。   In the initial state, all addresses in the buffer 2 are empty addresses. Therefore, all the addresses of the buffer 2 are stored in the address storage unit 3. In this example, buffer address values “0” to “15” are stored in the addresses “0” to “15” of the address storage unit 3, respectively. The usage states stored in the first storage unit 10 are all “unused (0)”. Further, the values of the variables stored in the second storage unit 40 are all the second predetermined value (0).

図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 address storage unit 3 has advanced to “5”. Since the buffer address stored in the address “5” of the address storage unit 3 is “5”, the frame is written in the buffer address “5”.

図9に示すオペレーションDEによって、バッファアドレス「5」について第1記憶部10に記憶される使用状態は、「使用中(1)」へ変更される。フレームが書き込まれたバッファアドレス「5」は第1読出アドレス「5」の値が等しい。このため、図10に示すオペレーションDIの判定において、第1読出アドレスと同じ値のバッファアドレスについて第1記憶部10に記憶される使用状態は「使用中(1)」になる。このため第2記憶部40の変数の変更は生じない。   The operation state stored in the first storage unit 10 for the buffer address “5” is changed to “in use (1)” by the operation DE illustrated in FIG. 9. The buffer address “5” where the frame is written has the same value as the first read address “5”. Therefore, in the determination of the operation DI shown in FIG. 10, the use state stored in the first storage unit 10 for the buffer address having the same value as the first read address is “in use (1)”. For this reason, the change of the variable of the 2nd memory | storage part 40 does not arise.

図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 address storage unit 3 is “11”, the frame is written in the buffer address “11”. The operation state stored in the first storage unit 10 for the buffer address “11” is changed to “in use (1)” by the operation DE illustrated in FIG. 9.

図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 frame reading unit 5 reads the frame stored at the buffer address “3”. The frame reading unit 5 stores the buffer address “3” in the address storage unit 3. The buffer address “3” is stored in the address “0” having the earliest read order among the currently unused areas “0” to “10” of the address storage unit 3. Similarly to the operation CC shown in FIG. 6, the use state stored in the first storage unit 10 for the buffer address “3” is changed to “unused (0)”.

続いて、初期状態からある程度時間が経過した後の正常状態におけるフレーム処理装置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 frame processing apparatus 1 in the normal state after a certain amount of time has elapsed from the initial state will be described. FIG. 14 shows a state where a certain amount of time has elapsed from the initial state. The addresses “0” to “15” of the address storage unit 3 include buffer address values “3”, “14”, “1”, “8”, “5”, “7”, “15”, “9”. , “13”, “11”, “2”, “6”, “12”, “4”, “10”, and “0” are stored, respectively. The position of the first read address is currently “0”.

アドレス記憶部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 address storage unit 3 is “3”, the frame is written in the buffer address “3”. The operation state stored in the first storage unit 10 for the buffer address “3” is changed to “in use (1)” by the operation DE illustrated in FIG. 9. Further, the second predetermined value “0” is input to the variable relating to the buffer address “3” by the operation DF shown in FIG.

図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 first storage unit 10 for the buffer address “0” having the same value as the first read address is “unused (0)”. In the determination of the operation DK shown in FIG. 10, the value of the variable relating to the buffer address “0” is the second predetermined value (0).

バッファアドレス「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 address storage unit 3. In the operation DL shown in FIG. 10, the first predetermined value (1) is input to the variable relating to the buffer address “0” in order to detect the execution of the writing process during the next round of the first read address.

図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 address storage unit 3 is “9”, the frame is written in the buffer address “9”. The operation state stored in the first storage unit 10 for the buffer address “9” is changed to “in use (1)” by the operation DE shown in FIG.

また、第1読出アドレスと同じ値のバッファアドレス「7」について第1記憶部10に記憶される使用状態は「使用中(1)」である。このためバッファアドレス「7」に関する変数の変更は生じない。   The use state stored in the first storage unit 10 for the buffer address “7” having the same value as the first read address is “in use (1)”. For this reason, the variable regarding the buffer address “7” does not change.

フレーム読出部5は、バッファアドレス「14」に格納されたフレームを読み出す。フレーム読出部5は、バッファアドレス「14」をアドレス記憶部3に格納する。バッファアドレス「14」は、アドレス記憶部3の現在の未使用領域「0」〜「6」のうち最も読み出し順序が早いアドレス「0」に格納される。また図6に示すオペレーションCCと同様に、バッファアドレス「14」について第1記憶部10に記憶される使用状態は、「未使用(0)」へ変更される。   The frame reading unit 5 reads the frame stored at the buffer address “14”. The frame reading unit 5 stores the buffer address “14” in the address storage unit 3. The buffer address “14” is stored in the address “0” having the earliest read order among the currently unused areas “0” to “6” of the address storage unit 3. Similarly to the operation CC shown in FIG. 6, the usage state stored in the first storage unit 10 for the buffer address “14” is changed to “unused (0)”.

図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 address storage unit 3 is “2”, the frame is written in the buffer address “2”. The operation state stored in the first storage unit 10 for the buffer address “2” is changed to “in use (1)” by the operation DE illustrated in FIG. 9. Further, by the operation DF shown in FIG. 9, the second predetermined value “0” is input to the variable relating to the buffer address “2”.

図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 first storage unit 10 for the buffer address “10” having the same value as the first read address is “unused (0)”. Further, in the determination of the operation DK shown in FIG. 10, the value of the variable relating to the buffer address “10” is the second predetermined value (0). Therefore, it is determined that the buffer address “10” is not an abnormal address lost from the storage in the address storage unit 3. In the operation DL shown in FIG. 10, the first predetermined value (1) is input to the variable relating to the buffer address “10” in order to detect the execution of the writing process during the next round of the first read address.

図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 address storage unit 3 is “10”, the frame is written in the buffer address “10”. The operation state stored in the first storage unit 10 for the buffer address “10” is changed to “in use (1)” by the operation DE shown in FIG.

また、図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 address storage unit 3, the use state stored in the first storage unit 10 for the buffer address “14” is changed to “unused (0)”. changed. In the state shown in FIG. 17, in order to detect the execution of the writing process during the next round of the first read address, the first predetermined value (1) is set to the variable related to the buffer address “14” by the operation DL shown in FIG. ) Is entered.

図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 address storage unit 3 is “0”, the frame is written in the buffer address “0”. The operation state stored in the first storage unit 10 for the buffer address “0” is changed to “in use (1)” by the operation DE illustrated in FIG. 9. Further, the value of the variable relating to the buffer address “0” is reset to the second predetermined value “0” by the operation DF shown in FIG.

フレーム読出部5は、バッファアドレス「9」、「7」及び「11」に格納されたフレームを読み出す。フレーム読出部5は、バッファアドレス「9」、「7」及び「11」をアドレス記憶部3に格納する。また図6に示すオペレーションCCと同様に、バッファアドレス「9」、「7」及び「11」について第1記憶部10に記憶される使用状態は、「未使用(0)」へ変更される。   The frame reading unit 5 reads the frame stored in the buffer addresses “9”, “7”, and “11”. The frame reading unit 5 stores the buffer addresses “9”, “7”, and “11” in the address storage unit 3. Similarly to the operation CC shown in FIG. 6, the usage state stored in the first storage unit 10 for the buffer addresses “9”, “7”, and “11” is changed to “unused (0)”.

図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 address storage unit 3 is “14”, the frame is written in the buffer address “14”. The operation state stored in the first storage unit 10 for the buffer address “14” is changed to “in use (1)” by the operation DE illustrated in FIG. 9.

また、図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 frame processing apparatus 1 in an abnormal state after a certain amount of time has elapsed from the initial state will be described. FIG. 20 shows a state in which a certain amount of time has elapsed from the initial state. The addresses “0” to “15” of the address storage unit 3 include buffer address values “3”, “14”, “3”, “8”, “5”, “7”, “15”, “9”. , “13”, “11”, “2”, “6”, “12”, “4”, “10”, and “0” are stored, respectively.

アドレス記憶部3のアドレス「2」には、本来バッファアドレス「1」が格納されることが予定されていたところ、異常によりバッファアドレスが「3」に変化している。第1読出アドレスの位置は現在「0」である。   The buffer address “1” originally intended to be stored in the address “2” of the address storage unit 3 has changed to “3” due to an abnormality. The position of the first read address is currently “0”.

アドレス記憶部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 address storage unit 3 is “3”, the frame is written in the buffer address “3”. The operation state stored in the first storage unit 10 for the buffer address “3” is changed to “in use (1)” by the operation DE illustrated in FIG. 9. Further, the second predetermined value “0” is input to the variable relating to the buffer address “3” by the operation DF shown in FIG.

図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 first storage unit 10 for the buffer address “0” having the same value as the first read address is “unused (0)”. In the determination of the operation DK shown in FIG. 10, the value of the variable relating to the buffer address “0” is the second predetermined value (0). The first predetermined value (1) is input to the variable relating to the buffer address “0” by the operation DL shown in FIG.

図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 address storage unit 3 is “3”. In the determination of the operation DD shown in FIG. 9, the use state stored in the first storage unit 10 for the buffer address “3” is “in use (1)”. Therefore, the frame writing unit 4 detects an abnormality in the buffer address read from the address “2” in the address storage unit 3 and discards the buffer address.

図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 first storage unit 10 for the buffer address “2” having the same value as the first read address is “unused (0)”. In the determination of the operation DK shown in FIG. 10, the value of the variable relating to the buffer address “2” is the second predetermined value (0). The first predetermined value (1) is input to the variable relating to the buffer address “2” by the operation DL shown in FIG.

図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 address storage unit 3 is “0”, the frame is written in the buffer address “0”. The operation state stored in the first storage unit 10 for the buffer address “0” is changed to “in use (1)” by the operation DE illustrated in FIG. 9. Further, the value of the variable relating to the buffer address “0” is reset to the second predetermined value “0”.

また、第1読出アドレスと同じ値のバッファアドレス「15」について第1記憶部10に記憶される使用状態は「使用中(1)」である。このためバッファアドレス「15」に関する変数の変更は生じない。   The use state stored in the first storage unit 10 for the buffer address “15” having the same value as the first read address is “in use (1)”. For this reason, the variable relating to the buffer address “15” does not change.

フレーム読出部5は、バッファアドレス「14」、「9」、「7」及び「11」に格納されたフレームを読み出す。フレーム読出部5は、バッファアドレス「14」、「9」、「7」及び「11」をアドレス記憶部3に格納する。また図6に示すオペレーションCCと同様に、バッファアドレス「14」、「9」、「7」及び「11」について第1記憶部10に記憶される使用状態は、「未使用(0)」へ変更される。   The frame reading unit 5 reads the frame stored in the buffer addresses “14”, “9”, “7”, and “11”. The frame reading unit 5 stores the buffer addresses “14”, “9”, “7”, and “11” in the address storage unit 3. Similarly to the operation CC shown in FIG. 6, the use state stored in the first storage unit 10 for the buffer addresses “14”, “9”, “7”, and “11” is set to “unused (0)”. Be changed.

図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 address storage unit 3 is “9”, the frame is written in the buffer address “9”. The operation state stored in the first storage unit 10 for the buffer address “9” is changed to “in use (1)” by the operation DE shown in FIG.

図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 first storage unit 10 for the buffer address “1” having the same value as the first read address is “unused (0)”. Further, in the determination of the operation DK shown in FIG. 10, the value of the variable relating to the buffer address “1” is the first predetermined value (1). As a result, in operation DM shown in FIG. 10, it is detected that an abnormality has occurred in buffer address “1”. The address input unit 21 stores the buffer address “1” in the address storage unit 3.

本実施例によれば、アドレス記憶部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 address storage unit 3 and restore the lost address. Further, according to the present embodiment, it is possible to realize a frame processing apparatus that prevents overwriting of a stored frame with another frame even if an abnormality occurs in the value of the buffer address read from the address storage unit 3.

1 フレーム処理装置
2 バッファ
3 アドレス記憶部
4 フレーム書込部
10 第1記憶部
11 状態変更部
20 アドレス検出部
DESCRIPTION OF SYMBOLS 1 Frame processing apparatus 2 Buffer 3 Address memory | storage part 4 Frame writing part 10 1st memory | storage part 11 State change part 20 Address detection part

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. .
前記アドレス検出部により検出されたアドレスを、前記アドレス記憶部へ入力するアドレス入力部を備える請求項1に記載のフレーム処理装置。   The frame processing apparatus according to claim 1, further comprising an address input unit that inputs an address detected by the address detection unit to the address storage unit. 前記アドレス検出部が、
前記バッファのアドレス毎に変数を記憶する第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.
JP2010102370A 2010-04-27 2010-04-27 Frame processor and frame processing method Withdrawn JP2011234114A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (4)

* Cited by examiner, † Cited by third party
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