JP5430369B2 - バッファメモリ装置、及び、バッファリング方法 - Google Patents

バッファメモリ装置、及び、バッファリング方法 Download PDF

Info

Publication number
JP5430369B2
JP5430369B2 JP2009270633A JP2009270633A JP5430369B2 JP 5430369 B2 JP5430369 B2 JP 5430369B2 JP 2009270633 A JP2009270633 A JP 2009270633A JP 2009270633 A JP2009270633 A JP 2009270633A JP 5430369 B2 JP5430369 B2 JP 5430369B2
Authority
JP
Japan
Prior art keywords
address
area
designation
packet
buffer
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.)
Expired - Fee Related
Application number
JP2009270633A
Other languages
English (en)
Other versions
JP2011113404A (ja
Inventor
広勝 徐
正勝 小柳
一也 龍
孝貴 黒川
雅美 関戸
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 JP2009270633A priority Critical patent/JP5430369B2/ja
Publication of JP2011113404A publication Critical patent/JP2011113404A/ja
Application granted granted Critical
Publication of JP5430369B2 publication Critical patent/JP5430369B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、ソフトエラーにより使用できなくなったバッファを復旧する技術に関する。
近年、半導体デバイスの微細化、高集積化、及び、低電圧化等が進み、半導体デバイスにソフトエラーが発生する確率が高くなってきている。
ここで、ソフトエラーとは、ハードウェアに異常が見られない一過性の不良をいう。例えば、メモリに記憶されているデータが書き換えられていたようなエラーであって、そのメモリ素子には異常がなく、データを再度書き込めば正常に動作するようなエラーである。
パケットを転送するスイッチ等の通信装置は、受信したパケットをバッファメモリに蓄積し、QoS(Quality of Service)等を考慮した順序でパケットをバッファメモリから読み出して送出している(特許文献1等参照)。
このような通信装置において、受信したパケットをバッファメモリに書込む際にソフトエラーが発生した場合は、未だ送出していないパケットに上書きしてしまう場合等が生じ得る。また、バッファメモリからパケットを読み出す際にソフトエラーが発生した場合は、一度送出したパケットを再送出してしまう場合等が生じ得る。
このようなソフトエラーは、いつ起こるか分からず、また、発生頻度もそう多くはない。
特開2004−240711号公報
しかし、上述のような通信装置等に搭載されているメモリ素子及びFPGA(Field Programmable Gate Array)等にソフトエラーが発生した場合には、通信に少なからず影響を及ぼすこととなる。
そこで、本発明は、バッファメモリを用いた装置において、バッファメモリへのデータの読み書き時にソフトエラーが発生した場合に、発生したソフトエラーに起因する不都合を回避することを目的とする。
上記目的を達成するバッファメモリ装置は、バッファ内の複数の領域のうちの指定された領域にデータを書き込む書込手段と、前記複数の領域のうちの指定された領域からデータを読み出す読出手段と、前記書込手段に対してデータを書き込むべき領域を指定し、前記読出手段に対してデータを読み出すべき領域を指定する指定手段と、前記指定手段が行った指定が、指定されるべきではない領域の指定である誤指定であるか否かを判定する判定手段と、前記判定手段が誤指定であると判定した回数を示す第1のカウンタと、前記判定手段が誤指定であると判定した後に行われかつ前記判定手段が誤指定ではないと判定した指定である復旧処理中の指定が行われた回数と前記複数の領域の個数との差、を示す第2のカウンタと、前記判定手段が誤指定であると判定した場合に、前記第1のカウンタの示す回数と前記第2のカウンタの示す差とが同一になるまで、前記復旧処理中の指定が行われるごとに当該復旧処理中の指定によって指定された領域を示す情報を記憶する指定領域記憶手段と、前記第1のカウンタの示す数と前記第2のカウンタの示す数とが同一になったときに、前記指定領域記憶手段が記憶している前記情報が示していない領域を、前記判定手段によって誤指定であると判定された指定が行われた際に指定されるべきであった領域として検出する復旧処理手段と、を有する。
上記構成のバッファメモリ装置は、バッファメモリへのデータの読み書き時にソフトエラーが発生した場合に、発生したソフトエラーに起因する不都合を回避することができる。
パケット転送装置の機能的構成の例を示すブロック図である。 パケットバッファ及びテーブル等の関連を示す図である。 パケットの書込み及び読み出しの処理を示す図である。 エラーアドレスが発生した場合を示す図である。 エラーアドレスを検出する方法を示す図である。 復旧処理部が復旧処理の開始を依頼された時の、各テーブルの状態を示す図である。 復旧処理が開始されて、優先制御部が送信部にパケットを送信させたときの各テーブルの状態を示す図である。 復旧処理部が復旧処理を終了した時の、各テーブルの状態を示す図である。 パケット転送装置がパケットを受信した場合の処理のフローチャートである。 パケット転送装置のパケットの送信処理及び復旧処理のフローチャートである。 エラーアドレスが検出されたらパケットを破棄する場合の処理のフローチャートである。
<実施形態>
実施形態のバッファメモリ装置は、バッファメモリをアクセスする際に、アクセスしようとするアドレスが本来アクセスすべきではないアドレス(以下、「エラーアドレス」という。)であることを検出する。
また、実施形態のバッファメモリ装置は、当該バッファメモリ装置の処理を止めることなく、エラーアドレスに変わってしまった元のアドレスを見つけて再び使用する。
例えば、バッファメモリを複数の領域に分割し、それぞれの領域を空き領域としてキューを用いて管理するようなバッファ管理方法である。具体的には、メモリを使用するアプリケーションにキューの先頭からアドレスを取り出して渡す。アプリケーションが使用した後に、そのアドレスを返却してもらってキューの最後尾につなぐ。
このようなバッファ管理方法においては、キューの先頭から取り出した空き領域のアドレスがエラーアドレスであると分かった場合は、そのエラーアドレスをアプリケーションには渡さずに廃棄する。
しかし、エラーアドレスがソフトエラーによって起こった場合には、領域自体にハード的な問題がないにもかかわらず、エラーアドレスに変わってしまった元のアドレスが指す領域は使用されなくなってしまう。元のアドレスが、キューにつながっていないからである。
実施形態のバッファメモリ装置は、このようなエラーアドレスに変わってしまった元のアドレスを見つけ出し、見つけ出したアドレスが指している領域を再度使用できるようにするものである。
通常、バッファメモリはそのサイズに限度があることから、エラーによって使用できなくなる領域は少ないほうがよい。ソフトエラーによってエラーアドレスとなった場合には、そのエラーアドレスの元のアドレスが指す領域は正常に動作するメモリであるにもかかわらず使用されておらず、バッファメモリを有効に活用できていないこととなる。
実施形態のバッファメモリ装置においては、このような一時的なエラーが生じたバッファメモリを再度使用することが可能となる。
以下、スイッチ等のパケット転送装置で用いられているバッファメモリ装置を例に説明する。
<機能>
以下、図1を用いて、パケット転送装置100の機能について説明する。
図1は、パケット転送装置100の機能的構成の例を示すブロック図である。
パケット転送装置100は、受信したパケットをバッファメモリに蓄積し、QoS等を考慮した順序でパケットをバッファメモリから読み出して送信する。すなわち、スイッチ等が通常有する転送機能を有するが、図1においては、バッファメモリに関係する機能部を中心に記載している。また、図1において、点線矢印はパケットの流れを示す。
パケット転送装置100は、受信部110、空領域管理部120、優先制御部130、送信部140、復旧処理部150、パケットバッファ160、及び、バッファ使用状態テーブル161、空領域管理テーブル121、送信順管理テーブル131、復旧テーブル151、復旧カウンタ152及びエラーカウンタ153を有する。
受信部110は、パケット10を受信し、パケットバッファ160に記憶させる機能を有する。パケット10を記憶させるパケットバッファ160内のアドレスを、受信部110は空領域管理部120から取得する。
また、送信部140は、パケットバッファ160に記憶されているパケット11を読み出して送信する機能を有する。パケット11を読み出すパケットバッファ160内のアドレスを、送信部140は優先制御部130から渡される。
尚、パケット転送装置100は、複数の送受信ポートを備え、受信ポートの数の受信部110を有し、又、送信ポートの数の送信部140を有する。実施形態では、説明の便宜上、1つの受信部110及び1つの送信部140を用いて説明する。
空領域管理部120は、パケットバッファ160内の空き領域を管理する機能を有する。空領域管理部120は、空領域管理テーブル121を用いて空き領域を管理する。
また、優先制御部130は、バッファ使用状態テーブル161に記憶されているパケットを、どのような順序で送信するかを管理する機能を有する。パケットを送信する順序は、各パケットが属する通信に保障すべき帯域等に応じて優先制御部130が定める。優先制御部130は、送信順管理テーブル131を用いてパケットの送信順を管理する。
空領域管理部120及び優先制御部130が、それぞれ空領域管理テーブル121及び送信順管理テーブル131を用いてパケットバッファ160を使用する方法については、<パケットバッファの使用方法>の項で説明する。
また、空領域管理部120及び優先制御部130は、パケットバッファ160を使用する際に、エラーアドレスを検出する機能を有する。空領域管理部120及び優先制御部130が、エラーアドレスを検出する方法については、<エラーアドレス検出方法>の項で説明する。
復旧処理部150は、エラーアドレスとなった元のアドレス(以下、単に「元のアドレス」という。)を見つけ出して、空き領域とする処理(以下、「復旧処理」という。)を実行する機能を有する。復旧処理部150は、空領域管理部120又は優先制御部130が、エラーアドレスを検出した場合に通知を受けて、復旧処理を開始する。復旧処理は、主に優先制御部130と連携して行う。復旧処理については、<復旧方法>の項で説明する。
パケットバッファ160は、パケットを一時的に記憶するメモリであり、RAM(Random Access Memory)等で構成される。
バッファ使用状態テーブル161は、パケットバッファ160の使用状態を記憶しておくテーブルである。
復旧テーブル151、復旧カウンタ152及びエラーカウンタ153は、復旧処理において復旧処理部150によって使用されるテーブルである。
ここで、パケットバッファ160、バッファ使用状態テーブル161、復旧テーブル151、復旧カウンタ152及びエラーカウンタ153について、図2を用いて説明する。
図2は、パケットバッファ160及びテーブル等の関連を示す図である。
パケットバッファ160は、所定サイズの領域に分割されている(以下、分割された1領域を「分割領域」という。)。実施形態では、パケットバッファ160は16個の分割領域で構成されているものとする。以下、それぞれの領域を、パケットバッファ[1]〜パケットバッファ[16]といい、添字の「1」〜「16」をそれぞれ領域の番号とする。
バッファ使用状態テーブル161は、パケットバッファ160の分割領域の数と同じ16個の配列、例えば、ビット配列を有する。以下、この配列の要素を、バッファ使用状態テーブル[1]〜バッファ使用状態テーブル[16]という。バッファ使用状態テーブル161の配列の要素の番号は、パケットバッファ160の分割領域の番号と対応している。
バッファ使用状態テーブル[1]が「1」の場合は、パケットバッファ[1]にパケットが記憶されていることを示す。一方、「0」の場合は、パケットバッファ[1]は空領域であることを示す。バッファ使用状態テーブル[2]〜バッファ使用状態テーブル[16]も同様である。
また、復旧テーブル151も、パケットバッファ160の分割領域の数と同じ16個の配列、例えば、ビット配列を有する。以下、この配列の要素を、復旧テーブル[1]〜復旧テーブル[16]という。復旧テーブル151の配列の要素の番号は、パケットバッファ160の分割領域の番号と対応している。
復旧テーブル151は復旧処理において使用され、復旧テーブル[1]が「1」の場合は、パケットバッファ[1]が復旧処理中に使用されたことを示す。一方、「0」の場合は、パケットバッファ[1]が復旧処理中に未だ使用されていないことを示す。すなわち、元のアドレスである可能性があることを示す。復旧テーブル[2]〜復旧テーブル[16]も同様である。
復旧処理が開始される時は、復旧テーブル[1]〜復旧テーブル[16]にそれぞれ「0」が初期値として設定される。
エラーカウンタ153及び復旧カウンタ152は復旧処理において使用される。
エラーカウンタ153は、検出されたエラーアドレスの数を記憶しておく機能を有する。エラーアドレスの検出回数は、空領域管理部120又は優先制御部130がエラーアドレスを検出したときに設定する。
復旧カウンタ152は、復旧テーブル[1]〜復旧テーブル[16]のうち、「1」が設定されている配列の要素の数を示す。復旧カウンタ152の数は、復旧処理部150が設定する。
エラーカウンタ153及び復旧カウンタ152は、それぞれパケットバッファ160の分割領域の数を記憶できるだけのサイズを備える。例えば、分割領域の数が16個である場合は、4ビットより大きなサイズであればよい。
復旧カウンタ152には、復旧処理が開始される時に分割領域の数、「16」が初期値として設定される。エラーカウンタ153には、パケット転送装置100が起動された時、又は、復旧処理が終了した時に「0」が設定される。尚、復旧処理が開始された時は、エラーカウンタ153に「1」が設定されている。
<パケットバッファの使用方法>
以下、空領域管理部120及び優先制御部130が、それぞれ空領域管理テーブル121及び送信順管理テーブル131を用いてパケットバッファ160を使用する方法について図3を用いて説明する。
図3は、パケットの書込み及び読み出しの処理を示す図である。
空領域管理テーブル121及び送信順管理テーブル131は、それぞれパケットバッファ160の分割領域の数分の配列を有し、FIFO(First In First Out)方式でパケットバッファ160のアドレスを管理する。実施形態では、パケットバッファ160の分割領域のアドレスは、分割領域の番号で示すものとする。
空領域管理テーブル121及び送信順管理テーブル131のそれぞれの配列の要素には、パケットバッファ160の分割領域のアドレス、すなわち、分割領域の番号が設定される。従って、実施形態では、それぞれの配列の要素は、パケットバッファ160の分割領域の数を記憶できるだけのサイズを備える。
以下、空領域管理テーブル121の配列の要素を、空領域管理テーブル[1]〜空領域管理テーブル[16]という。また、送信順管理テーブル131の配列の要素を、送信順管理テーブル[1]〜送信順管理テーブル[16]という。尚、空領域管理テーブル[1]及び送信順管理テーブル[1]が、それぞれの配列の先頭である。
空領域管理テーブル121はFIFO方式であることから、空領域管理テーブル[1]が読み出されたら、空領域管理テーブル[2]〜空領域管理テーブル[16]に設定されている内容が、空領域管理テーブル[1]〜空領域管理テーブル[15]に設定される。従って、常に、空領域管理テーブル[1]が読み出される。送信順管理テーブル131も同様である。
実線矢印は、データの流れを示し、流れるデータは矩形中に示す。点線矢印は、パケットの流れを示す。図4〜図6においても同様である。
まず、受信部110がパケット10を受信すると、空領域管理部120は空領域管理テーブル[1]に設定されているアドレス「3」を読み出して受信部110に渡す。
アドレス「3」を受け取った受信部110は、パケットバッファ[3]に受信したパケットを記憶させる。
受信部110にアドレス「3」を渡した空領域管理部120は、アドレス「3」と、受信したパケット10の送信順を決定するのに必要な情報等とを優先制御部130に渡す。優先制御部130は、アドレス「3」に記憶されたパケットの送信順を決定して送信順管理テーブル131に登録する。
また、優先制御部130は、パケットを送信するタイミングがきたら、送信するパケットが記憶されているパケットバッファ160のアドレス、すなわち、送信順管理テーブル[1]に設定されているアドレス「9」を読み出して送信部140に渡す。
アドレス「9」を受け取った送信部140は、パケットバッファ[9]からパケット11を読み出して送信する。
送信部140にアドレス「9」を渡した優先制御部130は、アドレス「9」を空領域管理部120に空き領域として返却する。
空き領域の返却を受けた空領域管理部120は、空領域管理テーブル121の末尾にアドレス「9」を登録する。
パケット転送装置100は、受信したパケットを一旦パケットバッファ160の空き領域に記憶し、送信する順番がきたパケットを読み出して送信したら、送信したパケットが記憶されていた分割領域を空き領域とすることを繰り返して、パケットを転送している。
尚、空領域管理部120と優先制御部130とは、並行して動作している。
<エラーアドレス検出方法>
以下、空領域管理部120及び優先制御部130が、エラーアドレスを検出する方法について、図4及び図5を用いて説明する。
まず、図4を用いて、エラーアドレスが発生した場合を説明する。図4は、エラーアドレスが発生した場合を示す図である。
空領域管理部120がパケット10を受信すると、空領域管理部120は空領域管理テーブル[1]に設定されているアドレスを読み出して受信部110に渡す。しかし、空領域管理テーブル[1]に設定されているアドレス「3」がソフトエラーによって別のアドレス、例えば、送信順管理テーブル[2]に設定されているアドレス「6」に書き換えられていたとする。
この場合、空領域管理部120は、アドレス「6」を受信部110に渡すこととなる。
アドレス「6」を受け取った受信部110は、パケットバッファ[6]に受信したパケットを記憶させる。パケットバッファ[6]に記憶されていたパケット、すなわち、まだ送信していないパケットは上書きされ消えることになる。
そして、優先制御部130は、パケットバッファ[6]に記憶されているはずのパケットを送信するタイミングがきたら、送信順管理テーブル[1]に設定されているアドレス「6」を読み出して送信部140に渡す。
アドレス「6」を受け取った送信部140は、パケットバッファ[6]からパケット11を読み出して送信する。しかし、送信するパケットは、送信するはずであったパケットとは異なるものとなっている。
また、優先制御部130は、パケットを送信するタイミングがきたら、送信順管理テーブル[1]に設定されているアドレスを読み出して送信部140に渡す。しかし送信順管理テーブル[1]に設定されているアドレス「9」がソフトエラーによって別のアドレス、例えば、アドレス「15」に書き換えられていたとする。
この場合、優先制御部130は、アドレス「15」を送信部140に渡すこととなる。
アドレス「15」を受け取った送信部140は、パケットバッファ[15]からパケット11を読み出して送信する。しかし、送信するパケットは、送信するはずであったパケットとは異なるもの、例えば、以前に送信したパケット又は意味のないデータとなっている。
更に、送信部140にアドレス「15」を渡した優先制御部130は、アドレス「15」を空領域管理部120に空き領域として返却する。
空き領域の返却を受けた空領域管理部120は、空領域管理テーブル121の末尾にアドレス「15」を登録する。すなわち、空領域管理テーブル121には、アドレス「15」が2つ登録されていることとなる。さらに、ソフトエラーで書き換えられた元のアドレス「3」及び「9」は、空領域管理テーブル121に登録されることはなく、バッファメモリ[3]及びバッファメモリ[9]は、使用されないことになる。
次に、図5を用いて、エラーアドレスの検出方法を説明する。図5は、エラーアドレスを検出する方法を示す図である。一点鎖線の矢印は、参照を示す。
空領域管理部120がパケット10を受信すると、空領域管理部120は空領域管理テーブル[1]に設定されているアドレス、例えばアドレス「6」を読み出して受信部110に渡す。この際、空領域管理部120は、読み出したアドレスが、エラーアドレスでないことを確認し、エラーアドレスでない場合のみ受信部110に渡す。
エラーアドレスでないことの確認は、空領域管理部120がバッファ使用状態テーブル161を参照し、以下のように行う。
空領域管理部120は、バッファ使用状態テーブル161の配列の要素のうち、読み出したアドレスの番号に対応する要素を参照し、その要素に「0」が設定されている場合は、エラーアドレスではないと判断する。また、空領域管理部120は、その要素に「1」が設定されている場合は、エラーアドレスであると判断する。
例えば、読み出したアドレスが「6」の場合は、バッファ使用状態テーブル[6]を参照し、「1」が設定されているので、アドレス「6」はエラーアドレスであると判断する。
空領域管理テーブル[1]から読み出したアドレスがエラーアドレスであると判断した場合、空領域管理部120は、読み出したアドレスを破棄して、再度、空領域管理テーブル[1]からアドレスを読み出す。
例えば、空領域管理部120は、読み出したアドレスが「2」の場合は、バッファ使用状態テーブル[2]を参照して「0」が設定されていれば、アドレス「2」はエラーアドレスでないと判断し、受信部110に渡す。また、空領域管理部120は、バッファ使用状態テーブル[2]に「1」を設定する。
優先制御部130は、パケットを送信するタイミングがきたら、送信順管理テーブル[1]に設定されているアドレスを読み出して送信部140に渡す。この際も、優先制御部130は、読み出したアドレスが、エラーアドレスでないことを確認し、エラーアドレスでない場合のみ送信部140に渡す。
エラーアドレスでないことの確認は、優先制御部130がバッファ使用状態テーブル161を参照し、以下のように行う。
優先制御部130は、バッファ使用状態テーブル161の配列の要素のうち、読み出したアドレスの番号に対応する要素を参照し、その要素に「1」が設定されている場合は、エラーアドレスではないと判断する。読み出したアドレスの番号に対応するパケットバッファ160の分割領域に、送信すべきパケットが記憶されているからである。
また、優先制御部130は、その要素に「0」が設定されている場合は、エラーアドレスであると判断する。読み出したアドレスの番号に対応するパケットバッファ160の分割領域に、送信すべきパケットが記憶されていないからである。
例えば、読み出したアドレスが「15」の場合は、バッファ使用状態テーブル[15]を参照し、「0」が設定されているので、アドレス「15」はエラーアドレスであると判断する。
送信順管理テーブル[1]から読み出したアドレスがエラーアドレスであると判断した場合、優先制御部130は、読み出したアドレスを廃棄し、次のパケットを送信するために送信順管理テーブル[1]からアドレスを読み出す。
例えば、優先制御部130は、読み出したアドレスが「6」の場合は、バッファ使用状態テーブル[6]を参照して「1」が設定されているので、アドレス「6」はエラーアドレスでないと判断し、送信部140に渡す。また、優先制御部130は、バッファ使用状態テーブル[6]に「0」を設定し、アドレス「6」を空領域管理部120に返却する。
このように、空領域管理部120及び優先制御部130は、アドレスがエラーアドレスであるか否かを判断し、エラーアドレスではないアドレスのみを受信部110又は送信部140に渡すことで、パケットバッファの上書きによりパケットを喪失すること、及び、同じパケットを複数回送信すること等を回避することができる。
但し、ソフトエラーによってエラーアドレスとなった元のアドレス、例えば、アドレス「3」及びアドレス「9」は、空領域管理テーブル121に登録されることはなく、バッファメモリ[3]及びバッファメモリ[9]は、使用されないままである。
そこで、ソフトエラーによってエラーアドレスとなった元のアドレス見つけ出して空領域管理テーブル121に登録する処理を以下に説明する。
<復旧方法>
以下、ソフトエラーによってエラーアドレスとなった元のアドレス、例えば、アドレス「3」を見つけ出して空領域管理テーブル121に登録する処理を、図6〜図8を用いて説明する。
復旧処理は、大きく分けて2つのフェーズに分かれる。1つ目は、エラーアドレスとなった元のアドレスを探索する処理(以下、「探索処理」という。)であり、2つ目は、エラーアドレスとなった元のアドレスを空き領域として返却する処理である。
空領域管理部120又は優先制御部130は、パケットバッファ160の分割領域を指すアドレスが、エラーアドレスであると判断した場合、すなわち、エラーアドレスを検出した場合は、復旧処理部150に復旧処理の開始を依頼する。復旧処理の開始を復旧処理部150に依頼する前に、空領域管理部120又は優先制御部130は、エラーカウンタ153に「1」を設定する。
但し、復旧処理部150が復旧処理を実行中の場合は、空領域管理部120又は優先制御部130は、復旧処理部150に復旧処理の開始を依頼せずに、エラーカウンタ153をカウントアップする。
図6は、復旧処理部150が復旧処理の開始を依頼された時の、各テーブルの状態を示す図である。
空領域管理部120は空領域管理テーブル[1]に設定されているアドレス、例えばアドレス「6」を読み出し、バッファ使用状態テーブル[6]に「1」が設定されているので、アドレス「6」はエラーアドレスであると判断する。
エラーアドレスを検出した空領域管理部120は、エラーカウンタ153を「1」にカウントアップし、復旧処理部150に復旧処理の開始を依頼する。図6は、この時の各テーブルの状態である。
ソフトエラーにより「6」に書き換えられた元のアドレスは「3」である。
送信順管理テーブル131は、送信順管理テーブル[1]〜[5]に、「9」、「6」、「13」、「14」、「1」が順に設定されている。図6には図示していないが、パケットバッファ[1]、[6]、[9]、[13]、[14]の5つの分割領域に未送信のパケットが記憶されている。
従って、バッファ使用状態テーブル161は、バッファ使用状態テーブル[1]、[6]、[9]、[13]、[14]の5要素に「1」が設定されている。
エラーカウンタ153は、空領域管理部120によって「1」が設定されている。
復旧カウンタ152は、初期値「16」が設定され、復旧テーブル151は、配列の要素すべてに「0」が設定されている。
次に、復旧処理が開始されて、優先制御部130が送信部140にパケットを送信させたときの各テーブルの状態を図7に示す。図7の白抜き矢印の左側に、復旧処理の開始後、最初に優先制御部130が送信部140にパケットを送信させたときの各テーブルの状態を示し、白抜き矢印の右側に、2回目に優先制御部130が送信部140にパケットを送信させたときの各テーブルの状態を示す。
まず、復旧処理の開始後、優先制御部130が最初にパケットを送信させる場合を説明する(白抜き矢印の左側の図参照)。
優先制御部130は、送信順管理テーブル[1]からアドレス「9」を読み出し、読み出したアドレス「9」を送信部140に渡す。アドレス「9」を送信部140に渡した優先制御部130は、バッファ使用状態テーブル[9]に「0」を設定し(バッファ使用状態テーブル161の斜線部分参照)、アドレス「9」を空き領域として空領域管理部120に返却する。
優先制御部130は、復旧処理中であるので、更に、復旧処理部150にアドレス「9」を通知する。復旧処理中であるか否かは、空領域管理部120及び優先制御部130が参照可能な領域に復旧処理部150が立てた復旧処理中である旨を示すフラグを参照することで検知するものとする。
通知を受けた復旧処理部150は、復旧テーブル[9]に「1」を設定し(復旧テーブル151の斜線部分参照)、復旧カウンタ152に設定されている値「16」から1を減算して「15」とする。但し、既に復旧テーブル[9]に「1」が設定されていた場合は、復旧カウンタ152に設定されている値から1を減算する処理は行わない。
次に、復旧処理の開始後、優先制御部130が2回目にパケットを送信させる場合を説明する(白抜き矢印の右側の図参照)。
送信順管理テーブル[1]からアドレス「6」を読み出し、読み出したアドレス「6」を送信部140に渡した優先制御部130は、バッファ使用状態テーブル[]に「0」を設定し(バッファ使用状態テーブル161の斜線部分参照)、アドレス「6」を空き領域として空領域管理部120に返却する。
復旧処理中であるので、優先制御部130は、復旧処理部150にアドレス「6」を通知する。
通知を受けた復旧処理部150は、復旧テーブル[6]に「1」を設定し(復旧テーブル151の斜線部分参照)、復旧カウンタ152に設定されている値「15」から1を減算して「14」とする。
このように、復旧処理のうちの探索処理が行われていく。
以下、探索処理が終了するタイミング、及び、エラーアドレスとなった元のアドレスを空き領域として返却する処理を説明する。
図8は、復旧処理部150が復旧処理を終了した時の、各テーブルの状態を示す図である。図8の白抜き矢印の右側に、優先制御部130が、復旧処理の最後となるパケットを送信させたときの各テーブルの状態、すなわち、復旧処理終了時の各テーブルの状態を示す。また、白抜き矢印の左側には、優先制御部130が、復旧処理を終了させることとなるパケットの1つ前のパケットを送信させたときの各テーブルの状態を示す。
探索処理を終了するタイミングは、復旧処理部150が復旧カウンタ152に設定されている値を1減算した時に、復旧カウンタ152に設定されている減算後の値とエラーカウンタ153に設定されている値とが同じ値であるときである。
すなわち、パケットバッファ160の分割領域の数から、復旧処理中に使用された分割領域の数を引いた値が、エラーアドレスの数と同じになった場合に、探索処理を終了する。
まず、優先制御部130が、復旧処理終了の1つ前のパケットを送信させる場合を説明する(白抜き矢印の左側の図参照)。
優先制御部130は、送信順管理テーブル[1]からアドレス「7」を読み出し、読み出したアドレス「7」を送信部140に渡す。アドレス「7」を送信部140に渡した優先制御部130は、バッファ使用状態テーブル[7]に「0」を設定し(バッファ使用状態テーブル161の斜線部分参照)、アドレス「7」を空き領域として空領域管理部120に返却する。
復旧処理中であるので、優先制御部130は、復旧処理部150にアドレス「7」を通知する。
通知を受けた復旧処理部150は、復旧カウンタ152に設定されている値「3」から1を減算して「2」とし、復旧テーブル[]に「1」を設定する(復旧テーブル151の斜線部分参照)。
次に、復旧処理を終了させることとなるパケットを送信させる場合を説明する(白抜き矢印の右側の図参照)。
送信順管理テーブル[1]からアドレス「4」を読み出し、読み出したアドレス「4」を送信部140に渡した優先制御部130は、バッファ使用状態テーブル[4]に「0」を設定し(バッファ使用状態テーブル161の斜線部分参照)、アドレス「4」を空き領域として空領域管理部120に返却する。
復旧処理中であるので、優先制御部130は、復旧処理部150にアドレス「4」を通知する。
通知を受けた復旧処理部150は、復旧テーブル[4]に「1」を設定し(復旧テーブル151の斜線部分参照)、復旧カウンタ152に設定されている値「2」から1を減算して「1」とする。
復旧処理部150は、エラーカウンタ153に設定されている値「1」と復旧カウンタ152に設定されている値「1」とが同じ値となったので、探索処理を終了する。
探索処理を終了した復旧処理部150は、復旧テーブル151を検索し、「0」が設定されている配列の要素を見つける。「0」が設定されている配列の要素の番号「3」を、空き領域として空領域管理部120に返却する。すなわち、「0」が設定されている配列の要素の番号は、復旧処理中に使用されなかった分割領域の番号、言い換えれば、エラーアドレスとなった元のアドレスを示すからである。
実施形態では、エラーアドレスは1回のみ検出された場合を説明した。復旧処理中に空領域管理部120又は優先制御部130がエラーアドレスを検出した場合には、空領域管理部120又は優先制御部130はエラーカウンタ153に設定されている値に1を加算する処理を行う。実行中の復旧処理において、エラーアドレスとなった複数個の元のアドレスを見つけることが可能となる。
<動作>
以下、実施形態のパケット転送装置100の動作について図9及び図10を用いて説明する。
図9は、パケット転送装置100がパケットを受信した場合の処理のフローチャートである。
受信部110は、パケット10を受信すると(ステップS100)、受信したパケット10を記憶させるためのパケットバッファ160の分割領域のアドレスを空領域管理部120に要求する。
要求を受けた空領域管理部120は、空領域管理テーブル[1]に設定されているアドレスを読み出す(ステップS110)。
アドレスを読み出した空領域管理部120は、読み出したアドレスが指す分割領域が使用中であるか否か、すなわち、読み出したアドレスがエラーアドレスか否かを判断する。
エラーアドレスか否かの判断は、バッファ使用状態テーブル161を参照して判断する。バッファ使用状態テーブル161の配列の要素の番号が読み出したアドレスと同じである要素に「1」が設定されている場合は、エラーアドレスであると判断する(<エラーアドレス検出方法>の項参照)。
エラーアドレスではないと判断した場合(ステップS120:No)、空領域管理部120は、読み出したアドレスが指す分割領域を使用中とする(ステップS130)。具体的には、バッファ使用状態テーブル161の配列の要素の番号が読み出したアドレスと同じである要素に「1」を設定する。
読み出したアドレスが指す分割領域を使用中とした空領域管理部120は、読み出したアドレス及びパケット10から取り出した所定の情報を優先制御部130に渡す(ステップS140)。
その後、空領域管理部120は、読み出したアドレスを受信部110に渡す。
アドレスを渡された受信部110は、渡されたアドレスが指す分割領域に、受信したパケット10を記憶させる(ステップS150)。
受信したパケットを記憶させた受信部110は、次のパケットを受信する(ステップS100)。
一方、読み出したアドレスがエラーアドレスであると判断した場合(ステップS120:Yes)、空領域管理部120は、エラーカウンタ153に設定されている値に1を加算する(ステップS160)。この時、エラーカウンタ153には「1」が設定されていることになる。エラーカウンタ153には「0」が設定されているからである。
次に、空領域管理部120は、復旧処理中であるか否かを、空領域管理部120が参照可能な領域にあるフラグを参照することで検知する(ステップS170)。
復旧処理中でない場合は(ステップS170:No)、空領域管理部120は、復旧処理部150に復旧処理の開始を依頼する(ステップS180)。
復旧処理部150に復旧処理の開始を依頼した空領域管理部120は、エラーアドレスを廃棄して、新しいアドレスを空領域管理テーブル[1]から読み出す(ステップS110)。
一方、復旧処理中である場合(ステップS170:Yes)は、エラーアドレスを廃棄して、新しいアドレスを空領域管理テーブル[1]から読み出す(ステップS110)。この時、エラーカウンタ153には「2」以上の値が設定されている。
次に、図10を用いて、パケット転送装置100がパケットを送信する場合の処理、及び、元のアドレスを探索して復旧する処理について説明する。
図10は、パケット転送装置100のパケットの送信処理及び復旧処理のフローチャートである。点線矢印は、データの流れを示す。
優先制御部130は、次に送信するパケットが記憶されているアドレスを送信順管理テーブル[1]から読み出す(ステップS200)。
アドレスを読み出した優先制御部130は、読み出したアドレスが指す分割領域に未送信のパケットが記憶されているか否か、すなわち、読み出したアドレスがエラーアドレスか否かを判断する。
エラーアドレスか否かの判断は、バッファ使用状態テーブル161を参照して判断する。バッファ使用状態テーブル161の配列の要素の番号が読み出したアドレスと同じである要素に「0」が設定されている場合は、エラーアドレスであると判断する(<エラーアドレス検出方法>の項参照)。
エラーアドレスではないと判断した場合(ステップS210:Yes)、優先制御部130は、読み出したアドレスを送信部140に渡す。
アドレスを渡された送信部140は、渡されたアドレスからパケットを読み出して送信する(ステップS220)。
アドレスを送信部140に渡した優先制御部130は、渡したアドレスが指す分割領域を未使用とする(ステップS230)。具体的には、優先制御部130は、バッファ使用状態テーブル161の配列の要素の番号が渡したアドレスと同じである要素に「0」を設定する。
渡したアドレスが指す分割領域を未使用とした優先制御部130は、渡したアドレスを空き領域として空領域管理部120に返却する(ステップS240)。
次に、優先制御部130は、復旧処理中であるか否かを、優先制御部130が参照可能な領域にあるフラグを参照することで検知する(ステップS250)。
復旧処理中でない場合(ステップS250:No)、優先制御部130は、次に送信するパケットが記憶されているアドレスを送信順管理テーブル[1]から読み出す(ステップS200)。
一方、復旧処理中である場合(ステップS250:Yes)、優先制御部130は、送信部140に渡したアドレスを復旧処理部150に通知する(ステップS260)。
アドレスを通知した優先制御部130は、次に送信するパケットが記憶されているアドレスを送信順管理テーブル[1]から読み出す(ステップS200)。
ステップS210において、読み出したアドレスに未送信のパケットが記憶されていない、すなわち、エラーアドレスであると判断した場合(ステップS210:No)、優先制御部130は、エラーカウンタ153に設定されている値に1を加算する(ステップS270)。
次に、優先制御部130は、復旧処理中であるか否かを検知する(ステップS280)。
復旧処理中でない場合は(ステップS280:No)、優先制御部130は、復旧処理部150に復旧処理の開始を依頼する(ステップS290)。この時、エラーカウンタ153には「1」が設定されている
復旧処理部150に復旧処理の開始を依頼した優先制御部130は、次に送信するパケットが記憶されているアドレスを送信順管理テーブル[1]から読み出す(ステップS200)。
一方、復旧処理中である場合(ステップS290:Yes)は、次に送信するパケットが記憶されているアドレスを送信順管理テーブル[1]から読み出す(ステップS200)。この時、エラーカウンタ153には「2」以上の値が設定されている。
空領域管理部120又は優先制御部130から復旧処理の開始を依頼された復旧処理部150は、復旧テーブル151の配列の全要素に「0」を設定し、復旧カウンタ152に「16」を設定する(ステップS300)。
復旧処理部150は、優先制御部130からアドレスを通知されると(ステップS310)、通知されたアドレスが記憶済みであるかを判断する(ステップS320)。
具体的には、復旧処理部150は、復旧テーブル151の配列の要素の番号が通知されたアドレスと同じである要素に「0」が設定されている場合は記憶されていないと判断し、「1」が設定されている場合は記憶されていると判断する。
通知されたアドレスが記憶済みでない場合(ステップS320:No)、復旧処理部150は、アドレスを記憶する。具体的には、復旧処理部150は、復旧テーブル151の配列の要素の番号が通知されたアドレスと同じである要素に「1」を設定する。
通知されたアドレスを記憶した復旧処理部150は、復旧カウンタ152に設定されている値から「1」を減算する(ステップS340)。
復旧カウンタ152に設定されている値から「1」を減算した復旧処理部150、復旧カウンタ152に設定されている値とエラーカウンタ153に設定されている値とが同じ値であるか否かを判断する(ステップS350)。
また、同様に、通知されたアドレスが記憶済みであると判断した(ステップS320:No)復旧処理部150は、復旧カウンタ152に設定されている値とエラーカウンタ153に設定されている値とが同じ値であるか否かを判断する(ステップS350)。
同じであると判断した場合(ステップS350:Yes)、復旧処理部150は、復旧テーブル151を検索し、「0」が設定されている配列の要素を見つけ、その要素の番号を、空き領域として空領域管理部120に返却する(ステップS360)。
エラーアドレスとなった元のアドレスを空き領域として空領域管理部120に返却した150は、エラーカウンタ153に「0」を設定し(ステップS370)、復旧処理を終了する。
<補足>
以上、本発明の実施形態について説明したが、本発明は上記形態に限らず、以下のようにしてもよい。
(1)実施形態では、受信したパケットを記憶させるために空領域管理テーブル[1]から読み出したアドレスがエラーアドレスであった場合には、エラーアドレスではないアドレスが読み出されるまで、アドレスを読み出していた(図9参照)。
空領域管理テーブル[1]から読み出したアドレスがエラーアドレスであった場合には、次のパケットを受信することとしてもよい。すなわち、受信したパケットを記憶させるためのアドレスがエラーアドレスであった場合には、エラーアドレスと共に、そのエラーアドレスに記憶させようとしていたパケットも廃棄する(図11のルート400参照)。
送信されてくるパケットをより多く受信するためである。空領域管理テーブル[1]からエラーアドレスではないアドレスが読み出されるまでアドレスを読み出すということは、読み出したアドレスがエラーアドレスであるかを判断する処理を繰り返すこととなり、受信できないパケットが増える可能性があるからである。
(2)実施形態では、復旧処理中に、優先制御部130が使用した分割領域のアドレスを復旧処理部150に通知することとしているが、空領域管理部120が行ってもよく、又、双方が行ってもよい。
(3)実施形態では、パケットをバッファに記憶する場合を説明したが、パケット以外のデータをバッファに読み書きする場合であってもよい。また、データは、固定長である必要はなく、可変長であってもよい。
(4)パケット転送装置100は、図1の各構成要素の全部又は一部を、コンピュータのプログラムで実現してもよいし、その他どのような形態で実施してもよい。
コンピュータプログラムの場合、メモリカード、CD−ROMなどいかなる記録媒体に書き込まれたものをコンピュータに読み込ませて実行させる形にしてもよいし、ネットワークを経由してプログラムをダウンロードして実行させる形にしてもよい。
10 11 パケット
100 パケット転送装置(バッファメモリ装置)
110 受信部(書込手段)
120 空領域管理部(指定手段、判定手段)
121 空領域管理テーブル
130 優先制御部(指定手段、判定手段)
131 送信順管理テーブル
140 送信部(読出手段)
150 復旧処理部(復旧処理手段)
151 復旧テーブル(指定領域記憶手段)
152 復旧カウンタ(第2のカウンタ)
153 エラーカウンタ(第1のカウンタ)
160 パケットバッファ
161 バッファ使用状態テーブル(格納記憶手段)

Claims (4)

  1. バッファ内の複数の領域のうちの指定された領域にデータを書き込む書込手段と、
    前記複数の領域のうちの指定された領域からデータを読み出す読出手段と、
    前記書込手段に対してデータを書き込むべき領域を指定し、前記読出手段に対してデータを読み出すべき領域を指定する指定手段と、
    前記指定手段が行った指定が、指定されるべきではない領域の指定である誤指定であるか否かを判定する判定手段と、
    前記判定手段が誤指定であると判定した回数を示す第1のカウンタと、
    前記判定手段が誤指定であると判定した後に行われかつ前記判定手段が誤指定ではないと判定した指定である復旧処理中の指定が行われた回数と前記複数の領域の個数との差、を示す第2のカウンタと、
    前記判定手段が誤指定であると判定した場合に、前記第1のカウンタの示す回数と前記第2のカウンタの示す差とが同一になるまで、前記復旧処理中の指定が行われるごとに当該復旧処理中の指定によって指定された領域を示す情報を記憶する指定領域記憶手段と、
    前記第1のカウンタの示す回数と前記第2のカウンタの示す差とが同一になったときに、前記指定領域記憶手段が記憶している前記情報が示していない領域を、前記判定手段によって誤指定であると判定された指定が行われた際に指定されるべきであった領域として検出する復旧処理手段と
    を備えるバッファメモリ装置。
  2. 前記復旧処理手段は、検出した領域を前記指定手段に通知し、
    前記指定手段は、前記復旧処理手段から通知された領域を指定の対象に加える
    請求項記載のバッファメモリ装置。
  3. 前記複数の領域のそれぞれが前記書込手段によってデータが書き込まれかつ当該データが前記読出手段によって読み出されていないデータ格納領域であるか否かを示す情報を記憶する格納記憶手段を備え、
    前記判定手段は、前記指定手段が指定した領域に前記書込手段がデータを書き込むときは、当該指定された領域がデータ格納領域であると前記格納記憶手段が記憶している前記情報が示す場合に、当該指定は誤指定であると判定し、前記指定手段が指定した領域から前記読出手段がデータを読み出すときは、当該指定された領域がデータ格納領域でないと前記情報が示す場合に、当該指定は誤指定であると判定する
    請求項1または2記載のバッファメモリ装置。
  4. バッファを有するバッファメモリ装置に、当該バッファにデータをバッファリングさせるバッファリング方法であって、
    前記バッファ内の複数の領域のうちのデータを書き込むべき領域およびデータを読み出すべき領域の指定が、指定されるべきではない領域の指定である誤指定であるか否かを判定する判定ステップと、
    誤指定であると判定された指定の回数が、誤指定であると判定された指定の後に行われかつ誤指定ではないと判定された指定である復旧処理中の指定の行われた回数と前記複数の領域の個数との差と同一になるまで、当該復旧処理中の指定が行われるごとに当該復旧処理中の指定によって指定された領域を示す情報の記憶を更新する指定領域記憶ステップと、
    前記回数が前記差と同一になったときに、前記指定領域記憶ステップによって更新されている前記情報が示していない領域を、誤指定であると判定された指定が行われた際に指定されるべきであった領域として検出する復旧処理ステップと
    を備えるバッファリング方法。
JP2009270633A 2009-11-27 2009-11-27 バッファメモリ装置、及び、バッファリング方法 Expired - Fee Related JP5430369B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009270633A JP5430369B2 (ja) 2009-11-27 2009-11-27 バッファメモリ装置、及び、バッファリング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009270633A JP5430369B2 (ja) 2009-11-27 2009-11-27 バッファメモリ装置、及び、バッファリング方法

Publications (2)

Publication Number Publication Date
JP2011113404A JP2011113404A (ja) 2011-06-09
JP5430369B2 true JP5430369B2 (ja) 2014-02-26

Family

ID=44235672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009270633A Expired - Fee Related JP5430369B2 (ja) 2009-11-27 2009-11-27 バッファメモリ装置、及び、バッファリング方法

Country Status (1)

Country Link
JP (1) JP5430369B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5937485B2 (ja) * 2012-10-24 2016-06-22 富士通フロンテック株式会社 送信装置
JP6003727B2 (ja) * 2013-03-11 2016-10-05 富士通株式会社 フレーム処理装置およびフレーム処理方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5789793A (en) * 1980-11-26 1982-06-04 Mitsubishi Electric Corp Memory address circuit
JPS61125651A (ja) * 1984-11-21 1986-06-13 Fujitsu Ltd エラ−報告処理方式
JPH02214348A (ja) * 1989-02-15 1990-08-27 Sumitomo Electric Ind Ltd アクセス異常検出装置
JP2759824B2 (ja) * 1989-09-08 1998-05-28 日本電信電話株式会社 データ記憶装置のアドレス誤り検出方法
JP2738064B2 (ja) * 1989-10-06 1998-04-08 日本電信電話株式会社 共通バッファ型スイッチ
JPH0426249A (ja) * 1990-05-21 1992-01-29 Nippon Telegr & Teleph Corp <Ntt> 共通セルバッファ型スイッチ
JPH04115339A (ja) * 1990-09-05 1992-04-16 Koufu Nippon Denki Kk メモリエラー処理システム
JPH04358390A (ja) * 1991-06-05 1992-12-11 Matsushita Electric Ind Co Ltd Fifoメモリ
JPH05210597A (ja) * 1992-01-30 1993-08-20 Koufu Nippon Denki Kk 記憶装置のパトロール回路
JPH0675864A (ja) * 1992-08-27 1994-03-18 Kofu Nippon Denki Kk メモリエラー回復方式
JP3283659B2 (ja) * 1993-10-07 2002-05-20 富士通株式会社 Fifoメモリの誤動作検出方法及び装置
JP2751822B2 (ja) * 1994-03-28 1998-05-18 日本電気株式会社 Fifoメモリ装置のメモリ制御方法
JPH07321795A (ja) * 1994-05-20 1995-12-08 Nec Corp バッファアドレス管理方法
US5623449A (en) * 1995-08-11 1997-04-22 Lucent Technologies Inc. Flag detection for first-in-first-out memories
JP3518705B2 (ja) * 1995-10-09 2004-04-12 富士電機システムズ株式会社 Fifoメモリ管理装置
JP3887059B2 (ja) * 1997-04-17 2007-02-28 富士通株式会社 データ書き込み方法、データ読み出し方法、及びメモリ回路
JP3270367B2 (ja) * 1997-09-29 2002-04-02 エヌイーシーフィールディング株式会社 半導体記憶装置
WO2006059384A1 (ja) * 2004-12-02 2006-06-08 Fujitsu Limited データバッファ装置、キャッシュ装置、データバッファ制御方法

Also Published As

Publication number Publication date
JP2011113404A (ja) 2011-06-09

Similar Documents

Publication Publication Date Title
US11899596B2 (en) System and method for facilitating dynamic command management in a network interface controller (NIC)
CN109936510B (zh) 多路径rdma传输
US9253093B2 (en) Method for processing data packets in flow-aware network nodes
US6327625B1 (en) FIFO-based network interface supporting out-of-order processing
JP3865748B2 (ja) ネットワークスイッチ装置およびネットワークスイッチ方法
US10397144B2 (en) Receive buffer architecture method and apparatus
JPWO2004066570A1 (ja) ネットワークスイッチ装置およびネットワークスイッチ方法
WO2001015364A1 (en) Deferrable processing option for fast path forwarding
JP2015156071A (ja) データ格納方法、ストレージシステム、プログラム及びストレージ装置
US20080263171A1 (en) Peripheral device that DMAS the same data to different locations in a computer
KR20150077288A (ko) 멀티코어 프로세서들에 대한 내부 및 외부 액세스를 갖는 룩-어사이드 프로세서 유닛
EP1508100A2 (en) Inter-chip processor control plane
JP5430369B2 (ja) バッファメモリ装置、及び、バッファリング方法
US8054847B2 (en) Buffer management in a network device
US20130070779A1 (en) Interleaving Data Packets In A Packet-Based Communication System
US9537799B2 (en) Phase-based packet prioritization
US10185783B2 (en) Data processing device, data processing method, and non-transitory computer readable medium
JP4742013B2 (ja) データ転送装置およびデータ転送方法
TW200404206A (en) Increasing memory access efficiency for packet applications
US8737393B2 (en) Communication apparatus, control method for communication apparatus, and computer program
US8091136B2 (en) Packet transfer device, packet transfer method, and program
US10057169B2 (en) Frame processing device and frame processing method
JP6502134B2 (ja) データ送信制御装置、データ送信制御方法、及び、プログラム
JP2015536063A (ja) ファースト−イン−ファースト−アウトトランスポート機構からのランダムアクセスメッセージ取り出しの方法
CN109327402B (zh) 拥塞管理方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130806

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131004

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131203

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees