JP7010922B2 - フォワーディングエントリアクセス - Google Patents

フォワーディングエントリアクセス Download PDF

Info

Publication number
JP7010922B2
JP7010922B2 JP2019500254A JP2019500254A JP7010922B2 JP 7010922 B2 JP7010922 B2 JP 7010922B2 JP 2019500254 A JP2019500254 A JP 2019500254A JP 2019500254 A JP2019500254 A JP 2019500254A JP 7010922 B2 JP7010922 B2 JP 7010922B2
Authority
JP
Japan
Prior art keywords
hash bucket
component
forwarding
forwarding entry
cache
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.)
Active
Application number
JP2019500254A
Other languages
English (en)
Other versions
JP2019522427A (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.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co 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 New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Publication of JP2019522427A publication Critical patent/JP2019522427A/ja
Application granted granted Critical
Publication of JP7010922B2 publication Critical patent/JP7010922B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

関連する出願の参照
本特許出願は、2016年7月4日に提出された出願番号が201610528199.4であり、発明の名称が「フォワーディングエントリアクセス方法及び装置」である中国特許出願の優先権を主張するものであり、当該出願の全文は参照することにより本文に組み込まれる。
スイッチ、ルータ等のようなネットワーク機器は、パケットに対してフォワーディング処理を行う時、フォワーディングテーブルを検索すべきである。これらのフォワーディングテーブルの大部分は内部メモリ、例えば、DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory、ダブルデータレート同期ダイナミック型ランダムアクセスメモリ)に格納される。ネットワーク機器は、パケットを受信した後、DDR SDRAMで各フォワーディングテーブルを検索してパケットをフォワーディングすべきである。
上記の方法において、直接DDR SDRAMからフォワーディングテーブルを検索するが、DDR SDRAMの帯域幅が制限されているため、ネットワーク機器の高性能フォワーディングの要求を満たすことができない。
本開示の例示的一実施例が示すネットワーク機器の構造模式図である。
本開示の例示的一実施例が示すキャッシュコンポーネントがフォワーディングコンポーネントから送信されたエントリ読み取りコマンドを処理するフローチャートである。
本開示の例示的一実施例が示すHashバケット行及びentry行の構造模式図である。
本開示の例示的一実施例が示すHashバケットの構造模式図である。
本開示の例示的一実施例が示すキャッシュコンポーネントがストレージコンポーネントから読み取った第1フォワーディングエントリをキャッシュするフローチャートである。
本開示の例示的一実施例が示すネットワーク機器の構造模式図である。
本開示の例示的一実施例が示すネットワーク機器の別の構造模式図である。
本開示の例示的一実施例が示すフォワーディングエントリアクセス制御ロジックが含む機能モジュールの模式図である。
本開示の別の例示的一実施例が示すフォワーディングエントリアクセス制御ロジックが含む機能モジュールの模式図である。
本開示のまた別の例示的一実施例が示すフォワーディングエントリアクセス制御ロジックが含む機能モジュールの模式図である。
ここで、図面と結び付けて例示的実施例を詳細に説明する。以下の記述に図面が言及される時、特に示されていない限り、異なる図面における同じ数字は、同一または類似する要素を示す。以下の例示的実施例において記述される実施形態は、本開示と一致するすべての実施形態を表すものではない。逆に、それらは、単に添付される特許請求の範囲に詳述される、本開示の一部の側面と一致する装置及び方法の例である。
本開示の以下の実施例において、フォワーディングエントリアクセス方法及び当該方法を応用可能なネットワーク機器を提供する。
図1に示すように、スイッチ、ルータ等のようなパケットをフォワーディングするためのネットワーク機器は、CPU(Central Processing Unit、中央処理装置)101と、フォワーディングコンポーネント102と、各々のフォワーディングテーブルを記憶するためのストレージコンポーネント103(例えば、DDR SDRAM)と、ストレージコンポーネント103の読み取り/書き込みを制御するための記憶コントローラ104とを含む。一般的なフォワーディングエントリアクセス方法は、フォワーディングテーブルをストレージコンポーネント103に格納し、ネットワーク機器がパケットフォワーディングを行おうとする度に、フォワーディングコンポーネント102を介してストレージコンポーネント103でフォワーディングテーブルにおけるフォワーディングエントリを検索すべきである。本開示の実施例によれば、フォワーディングコンポーネント102とストレージコンポーネント103の間に、フォワーディングコンポーネント102が見つけたフォワーディングエントリをキャッシュするためのキャッシュコンポーネント105が追加される。フォワーディングコンポーネント102とキャッシュコンポーネント105とは、別個のハードウェアであっても良いし、FPGA(Field Programmable Gate Array、フィールドプログラマブルゲートアレイ)技術により実現されても良いし、これに制限がない。本開示の例において、フォワーディングコンポーネント102及びキャッシュコンポーネント105は、FPGAチップ上のプログラマブルモジュールとして実現される。FPGAチップに、記憶コントローラ104が更に設置されても良い。
CPU101がFPGA枠組文書をFPGAチップにロードし、FPGAチップにより実行されて、FPGAチップがフォワーディングコンポーネント102と、キャッシュコンポーネント105と、記憶コントローラ104とを含むようにする。CPU101は、システムバスを介してフォワーディングコンポーネント102、ストレージコンポーネント103、記憶コントローラ104及びキャッシュコンポーネント105等の各々のコンポーネントに接続されて各々のコンポーネントに対して集中的制御を行う。
ストレージコンポーネント103に記憶されるフォワーディングテーブルは、主に次の2つの特徴を備える。
特徴1として、フォワーディングテーブルのアップデート率がとても低く、特に、回線速度を試験する時は、通常フォワーディングテーブルをアップデートしない。
特徴2として、フォワーディングテーブルにおいてフォワーディングエントリのアップデートが発生した時、フォワーディングコンポーネントは、同期的に最新フォワーディングエントリを読み取る必要がなく、即ち、フォワーディングコンポーネントは、少し遅れて最新フォワーディングエントリを読み取ったとしても、正確にパケットをフォワーディングする。
上記の2つの特徴に基づいて、本開示の以下の実施例において、フォワーディングコンポーネント102が送出したエントリ読み取りコマンドは、キャッシュコンポーネント105を介して処理される。CPU101、フォワーディングコンポーネント102又はフォワーディングエントリをアップデートすべき、他のモジュールが送出したエントリ書き込みコマンドは、キャッシュコンポーネント105を介して処理される必要がない。キャッシュコンポーネント105は、ストレージコンポーネント103に送信されるエントリ書き込みコマンドを傍受しさえすれば、どのフォワーディングエントリがアップデートされるべきであるかを知り、キャッシュされた対応するフォワーディングエントリの状態を無効にアップデートする。フォワーディングコンポーネント102からアップデート後のフォワーディングエントリを読み取るエントリ読み取りコマンドが送信された時、キャッシュコンポーネント105は、ストレージコンポーネント103からアップデート後のフォワーディングエントリを取得してキャッシュする。
上記のフォワーディングテーブルは、例えば、ルーティングテーブル、MACアドレステーブル、ARPテーブル等であって良いし、本開示の実施例は、これに対して限定しない。
これにより、図2が示すように、本開示の実施例に係るキャッシュコンポーネント105により実行されるフォワーディングエントリアクセス方法は、下記のステップを含む。
ステップS101で、キャッシュコンポーネントは、フォワーディングコンポーネントから送信された、ストレージコンポーネントにおける読み取られるべき第1フォワーディングエントリの記憶アドレスをキャリーするエントリ読み取りコマンドを受信する。
例えば、第1フォワーディングエントリの記憶アドレスは、第1フォワーディングエントリのストレージコンポーネントに記憶された開始アドレスである。
ステップS102で、キャッシュコンポーネントは、第1フォワーディングエントリの記憶アドレスに基づいて、ローカルで有効状態にあり且つ含む記憶アドレスが第1フォワーディングエントリの記憶アドレスと同一である第1Hashバケットを検索する。
キャッシュコンポーネント105は、Hash(ハッシュ)テーブルを記憶する。当該Hashテーブルは、複数のHashバケット行(Hash bucket line)を含む。各々のHashバケット行は、1つ又は複数のHashバケット(Hash bucket)を含み、各々のHashバケットは、それに対応するキャッシュスペースを有する。一般的に、Hashバケットはキャッシュスペースに1対1に対応する。或いは、Hashバケットに指針を設置して、指針により複数のHashバケットを一セクションのキャッシュスペースに指しても良い。
本開示の実施例では、Hashバケットがキャッシュスペースに1対1に対応する場合を例として説明し、Hashバケットに対応するキャッシュスペースをエントリ(entry)と称する。従って、Hashバケット行は、エントリ行(entry line)に1対1に対応し、当該Hashバケット行におけるHashバケットは、当該entry行におけるentryに1対1に対応する。entryは、フォワーディングエントリの内容を保存するために用いられる。Hashバケットは、当該フォワーディングエントリが有効であるか否かを示すための状態タグと、ストレージコンポーネントに記憶される当該フォワーディングエントリの記憶アドレスと、タイムスタンプとを含む。Hashバケット行は、ユニークに当該Hashバケット行を識別するための識別子を有する。
図3を例として説明すると、キャッシュコンポーネント105のハッシュテーブルに、n+4個のHashバケット行bucket line0~bucket linen+3及びn+4個のentry行entry line0~entry linen+3があり、その中で、bucket line0はentry line0に対応し、bucket line1はentry line1に対応し、以下同様に類推する。各々のHashバケット行に、2個のHashバケット、即ち、bucket0及びbucket1が格納され、各々のentry行にも、2個のentry、即ち、entry0及びentry1が格納された。その中で、bucket line0におけるbucket0はentry line0におけるentry0に対応し、bucket line0におけるbucket1はentry line0におけるentry1に対応し、以下同様に類推する。各々のHashバケットの大きさは40bit(ビット)に設定される。各々のentryの大きさは32バイトに設定される。
図4に示すように、Hashバケットに以下のフィールドが含まれる。即ち、valid、time stamp、及びADDR。
Valid:状態タグであって、対応するentryに格納されたフォワーディングエントリが有効であるか否かを示すために用いられる。例えば、Validが0に設定された時、対応するentryにキャッシュされたフォワーディングエントリが無効であることを示すか、或いは、対応するentry内の内容が空であり、即ち、当該entryにフォワーディングエントリがキャッシュされていないことを示す。初期化時に、Validはデフォルトで0に設定される。Validが1に設定された時、対応するentryにキャッシュされたフォワーディングエントリが有効であることを示し、Validはbit39の1個のビットを占める。
Time stamp:タイムスタンプであって、当該Hashバケットにヒットする度に、当該タイムスタンプは現在時間にアップデートされ、Time stampは、bit38~bit30の9個のビットを占める。
Addr:ストレージコンポーネントにおける対応するentryに格納されたフォワーディングエントリの記憶アドレスであって、Addrは、bit29~bit0の30個のビットを占める。
このように、ステップS102で、キャッシュコンポーネントは、先ず、当該エントリ読み取りコマンドにキャリーされる第1フォワーディングエントリの記憶アドレスに対してHash演算を行って、算出して得たHash値をインデックスとして対応するHashバケット行を検索する。記述の便宜上、第1Hashバケット行と称する。そして、キャッシュコンポーネント105は、第1Hashバケット行で第1Hashバケットを検索する。キャッシュコンポーネント105は、第1Hashバケットが見つかった場合、第1フォワーディングエントリが第1Hashバケットに対応する第1エントリにキャッシュされたことを確定する。キャッシュコンポーネント105は、第1Hashバケットが見つからなかった場合、キャッシュコンポーネント105に第1フォワーディングエントリがキャッシュされていないことを確定する。
上記のHash演算は、CRC(Cyclic Redundancy Check、巡回冗長検査)又はXOR(exclusive OR、排他的論理和)等の演算であって良い。
ステップS103で、キャッシュコンポーネントは、第1Hashバケットが見つかったか否かを判断する。そうである場合、ステップS104を実行し、そうでない場合、ステップS105を実行する。
ステップS104で、キャッシュコンポーネントは、第1Hashバケットに対応するキャッシュスペースにキャッシュされた第1フォワーディングエントリをフォワーディングコンポーネントに送信する。
具体的には、キャッシュコンポーネント105は、第1Hashバケットに対応する第1エントリにキャッシュされた第1フォワーディングエントリをフォワーディングコンポーネントに送信する。また、キャッシュコンポーネント105は、第1Hashバケットに含まれるタイムスタンプを現在時間にアップデートすべきである。
ステップS105で、キャッシュコンポーネントは、ストレージコンポーネントから第1フォワーディングエントリを読み取った後、第1フォワーディングエントリをフォワーディングコンポーネントに送信する。
例えば、ステップS105で、キャッシュコンポーネント105は、ストレージコンポーネント103に第1フォワーディングエントリを読み取るべきであることを示すためのエントリ読み取りコマンドを送信する。記憶コントローラ104は、当該エントリ読み取りコマンドを受信した後、ストレージコンポーネント103から第1フォワーディングエントリを読み取ってキャッシュコンポーネント105に送信する。キャッシュコンポーネント105は、第1フォワーディングエントリを受信した後、第1フォワーディングエントリをフォワーディングコンポーネント102にフォワーディングする。
本開示の例では、一つのフォワーディングコンポーネントのみを例示したが、これに制限性がなく、キャッシュコンポーネント105が複数のフォワーディングコンポーネントに対応する場合が存在しても良い。この場合、キャッシュコンポーネント105は、複数のフォワーディングコンポーネントから送信されたエントリ読み取りコマンドを受信することになる。このため、キャッシュコンポーネント105は、各々のフォワーディングコンポーネントから送信されたエントリ読み取りコマンドを受信した時、当該フォワーディングコンポーネントとエントリ読み取りコマンドの対応関係を記録し、即ち、エントリ読み取りコマンドがどのフォワーディングコンポーネントから送信されたものであるかを記録する。ステップS105で、記憶コントローラ104は、ストレージコンポーネント103から第1フォワーディングエントリを読み取った後、第1フォワーディングエントリをキャッシュコンポーネント105に送信する。キャッシュコンポーネント105は、記録された対応関係に基づいて、第1フォワーディングエントリを対応するフォワーディングコンポーネントに送信する。
ストレージコンポーネント103から第1フォワーディングエントリを読み取った後、キャッシュコンポーネント105は、さらに、当該第1フォワーディングエントリをキャッシュする。図5に示すように、下記のステップが含まれる。
ステップS201で、キャッシュコンポーネント105は、第1フォワーディングエントリの記憶アドレスに基づいて、無効状態にある第2Hashバケットを検索する。
キャッシュコンポーネント105は、第1フォワーディングエントリの記憶アドレスに対してHash演算を行い、算出して得たHash値をインデックスとして対応するHashバケット行、即ち、第1Hashバケット行を検索し、第1Hashバケット行から第2Hashバケットを検索する。
ステップS202で、キャッシュコンポーネント105は、第2Hashバケットが見つかったか否かを判断する。そうである場合、ステップS203を実行する。そうでない場合、ステップS204を実行する。
ステップS203で、キャッシュコンポーネント105は、第1フォワーディングエントリを第2Hashバケットに対応するキャッシュスペースに書き込み、第2Hashバケットの状態を有効にアップデートし、第2Hashバケットに含まれる記憶アドレスを第1フォワーディングエントリの記憶アドレスにアップデートし、第2Hashバケットに含まれるタイムスタンプを現在時間にアップデートする。
ステップS203で、キャッシュコンポーネント105は、第1フォワーディングエントリを第2Hashバケットに対応する第2エントリに書き込み、第2Hashバケットに含まれる状態タグを有効にアップデートする。
ステップS204で、キャッシュコンポーネント105は、第1フォワーディングエントリの記憶アドレスに基づいて、含むタイムスタンプと現在時間の差分値が予め設定されたタイムアウト時間より大きい第3Hashバケットを検索する。
ステップS204で、キャッシュコンポーネント105は、第1Hashバケット行で第3Hashバケットを検索する。
ステップS205で、キャッシュコンポーネント105は、第3Hashバケットが見つかったか否かを判断する。そうである場合、ステップS206を実行する。そうでない場合、本フローを退出する。
ステップS206で、キャッシュコンポーネント105は、第1フォワーディングエントリを第3Hashバケットに対応するキャッシュスペースに書き込み、第3Hashバケットに含まれるタイムスタンプを現在時間にアップデートし、第3Hashバケットに含まれる記憶アドレスを第1フォワーディングエントリの記憶アドレスにアップデートする。
ステップS206で、キャッシュコンポーネント105は、第1フォワーディングエントリを第3Hashバケットに対応する第3エントリに書き込む。
明らかに、第1Hashバケット行に第2Hashバケットが存在せず、第3Hashバケットも存在しない場合、キャッシュコンポーネント105は、第1フォワーディングエントリをキャッシュしない。
図5に示すようなフローにおいて、キャッシュコンポーネント105は、ストレージコンポーネント103からフォワーディングエントリを読み取った後、エージングしたフォワーディングエントリが占用するキャッシュスペースを、読み取られた新しいフォワーディングエントリに新たに提供して使用し、キャッシュスペースの利用率を向上させる。
また、キャッシュコンポーネント105は、周期的にHashテーブルをスキャンして、エージングしたフォワーディングエントリの状態を無効にアップデートして、後続的にストレージコンポーネントから読み取った新しいフォワーディングエントリをキャッシュするようにする。この時、周期的に以下のステップを実行する。即ち、各々のHashバケットに対して、当該Hashバケットに含まれるタイムスタンプと現在時間の差分値が予め設定されたタイムアウト時間より大きいか否かを判断する。そうである場合、当該Hashバケットを無効状態にアップデートする。
説明すべきことは、周期的にHashテーブルをスキャンする方式により、フォワーディングエントリ検索をトリガーする前に各々のHashバケットの状態タグをアップデートする。従って、フォワーディングエントリ検索を行う時、状態タグ及び記憶アドレスのみに基づいて当該Hashバケット及び当該Hashバケットに対応するエントリが新しいフォワーディングエントリによりカバーできるか否かを確定できる。従って、キャッシュコンポーネントの演算ストレスを低減する。Hashバケットが有効であることを確定した後にタイムスタンプ判断を行う順次実行方式は、毎回の検索に基づいて判断し、周期的スキャニングの演算ストレスを低減する。どの方式によりタイムスタンプを処理するかを考慮する時、キャッシュコンポーネントにおけるHashテーブルの大きさ及びキャッシュコンポーネントにおけるアップデート状況に基づいて判断する。Hashテーブルの規格が比較的に大きく且つキャッシュコンポーネントにおけるアップデートが比較的に少なく、周期的にスキャンするストレスが比較的に大きい場合、順次実行方式を用いる。Hashテーブルの規格が比較的に小さく且つキャッシュコンポーネントにおけるアップデートが比較的に多く、順次実行方式において判断される演算ストレスが相対的に大きい場合、周期的スキャンの方式を用いる。
また、キャッシュコンポーネント105は、さらに、ストレージコンポーネント103に送信される、ストレージコンポーネントに書き込まれるべき第2フォワーディングエントリの記憶アドレスをキャリーするエントリ書き込みコマンドを傍受する。例えば、ストレージコンポーネント103に送信されるすべてのエントリ書き込みコマンドを受信するための記憶コントローラ104の書き込みインターフェースを傍受する。上記のエントリ書き込みコマンドは、CPU101、フォワーディングコンポーネント102、又はフォワーディングエントリがアップデートされるべき他のモジュールが送出したものであって良い。キャッシュコンポーネント105の傍受作業量を節約し、傍受効率を向上させるために、キャッシュコンポーネント105は、ストレージコンポーネント103に送信される、以下の条件を満たすエントリ書き込みコマンドのみを傍受する。この条件は、エントリ書き込みコマンドにキャリーされる、ストレージコンポーネントに書き込まれるべき第2フォワーディングエントリの記憶アドレスは対応する記憶アドレスレンジ内にあることを含む。
例えば、ストレージコンポーネント103の総記憶スペースの大きさは、4GBであり、その中で、1GB~2.5GB及び3GB~3.5GB、この2つの記憶アドレスレンジは、各々のフォワーディングテーブルを記憶するために用いられる。このため、キャッシュコンポーネント105は、キャリーされる記憶アドレスがこの2つの記憶アドレスレンジ内にあるエントリ書き込みコマンドのみを傍受すれば良い。或いは、フォワーディングコンポーネント102とストレージコンポーネント103の間に複数のキャッシュコンポーネントが存在し、各々のキャッシュコンポーネントに一つの記憶アドレスレンジを割り当てる。このように、各々のキャッシュコンポーネントは、キャリーされる記憶アドレスが相応する記憶アドレスレンジ内にあるエントリ書き込みコマンドを傍受しさえすれば良い。
キャッシュコンポーネント105は、何れかのエントリ書き込みコマンドを傍受した後、当該エントリ書き込みコマンドにキャリーされる第2フォワーディングエントリの記憶アドレスに基づいて、有効状態にあり且つ含む記憶アドレスが第2フォワーディングエントリの記憶アドレスと同一である第4Hashバケットを検索する。キャッシュコンポーネント105は、第4Hashバケットが見つかった場合、第4Hashバケットの状態を無効にアップデートする。具体的には、キャッシュコンポーネント105は、第2フォワーディングエントリの記憶アドレスに対してHash演算を行い、算出して得たHash値をインデックスとして対応するHashバケット行を検索する。記述の便宜上、第2Hashバケット行と称する。そして、キャッシュコンポーネント105は、在第2Hashバケット行で第4Hashバケットを検索する。見つかった場合、第2フォワーディングエントリは第4Hashバケットに対応する第4エントリにキャッシュされたことを示する。この場合、キャッシュコンポーネント105は、第4Hashバケットに含まれる状態タグを無効にアップデートする。
また、キャッシュコンポーネント105は、フォワーディングコンポーネントから送信されるエントリ読み取りコマンドを受信した可能性があり、ストレージコンポーネントに送信されるエントリ書き込みコマンドを傍受した可能性もある。この時、キャッシュコンポーネント105は、エントリ書き込みコマンドを優先的に処理する。従って、ストレージコンポーネントにおけるフォワーディングエントリのアップデートが発生した時、キャッシュコンポーネント105における相応するフォワーディングエントリをタイムリーにアップデートするように確保する。
本開示の上記の実施例に係る方法において、フォワーディングコンポーネントとストレージコンポーネントの間にキャッシュコンポーネントが追加される。キャッシュコンポーネントは、フォワーディングコンポーネントのエントリ読み取りコマンドを処理し、当該エントリ読み取りコマンドにキャリーされる読み取りべきフォワーディングエントリの記憶アドレスに基づいて、ローカルで有効状態にあり且つ含む記憶アドレスが当該フォワーディングエントリの記憶アドレスと同一であるHashバケットを検索する。見つかった時、キャッシュコンポーネントに当該フォワーディングエントリにキャッシュされており且つ当該Hashバケットに対応するキャッシュスペースにキャッシュされていることを示す。この場合、キャッシュコンポーネントは、キャッシュされたフォワーディングエントリをフォワーディングコンポーネントに送信さする。見つからなかった時、キャッシュコンポーネントに当該フォワーディングエントリがキャッシュされていないことを示す。この場合、キャッシュコンポーネントは、ストレージコンポーネントから当該フォワーディングエントリを読み取った後、読み取った当該フォワーディングエントリをフォワーディングコンポーネントに送信する。
上記の方法は、フォワーディングエントリのキャッシュ方案を実現する。キャッシュコンポーネントは、フォワーディングコンポーネントから送信されたエントリ読み取りコマンドのみを処理し、従って、比較的に高いエントリ読み取り性能を保証する。さらに、キャッシュコンポーネントは、ストレージコンポーネントに送信されるエントリ書き込みコマンドを傍受することで、ストレージコンポーネントにおけるどのようなフォワーディングエントリがアップデートされるべきであるかを知り、キャッシュコンポーネントにキャッシュされた対応するフォワーディングエントリの状態を無効にアップデートする。後続的に、キャッシュコンポーネントは、フォワーディングコンポーネントから送信された当該フォワーディングエントリを読み取るためのエントリ読み取りコマンドを受信した後、ストレージコンポーネントからアップデート後のフォワーディングエントリを読み取ってキャッシュすれば良い。従って、フォワーディングエントリのアップデートをより簡単に実現する。
前述したフォワーディングエントリアクセス方法の実施例に対応して、本開示は、当該フォワーディングエントリ方法を応用するネットワーク機器の実施例を更に提供する。
当該ネットワーク機器は、ハードウェア又はソフトウェアとハードウェアの組み合わせの方式により実現される。ハードウェアの観点から言うと、当該ネットワーク機器は、FPGAにより実現される。図6を参照すると、本開示の実施例のネットワーク機器は、フォワーディングコンポーネント10と、キャッシュコンポーネント20と、ストレージコンポーネント30とを含む。フォワーディングコンポーネント10及びキャッシュコンポーネント20は、FPGAチップ上に設置される。FPGAの電源が入った後、FGPAによりFPGA枠組文書をロードして、フォワーディングコンポーネント10及びキャッシュコンポーネント20等を含む複数のモジュールを形成する。ストレージコンポーネント30は、別個のDDR SDRAMのような記憶媒体であっても良いし、フォワーディングコンポーネント10及びキャッシュコンポーネント20とともにFPGAにより実現されても良い。
別の実施例において、当該ネットワーク機器は、ソフトウェアとハードウェアの組み合わせの技術により実現される。図7に示すように、当該ネットワーク機器は、フォワーディングコンポーネント10と、キャッシュコンポーネント20と、ストレージコンポーネント30とを含む。キャッシュコンポーネント20は、プロセッサ701と、機械実行可能命令が記憶された機械可読記憶媒体702とを含む。プロセッサ701と機械可読記憶媒体702とは、システムバス703を介して通信する。さらに、機械可読記憶媒体702におけるフォワーディングエントリアクセス制御ロジックに対応する機械実行可能命令を読み取って実行することで、プロセッサ701は、前述したフォワーディングエントリアクセス方法を実行する。
本文で言及された機械可読記憶媒体702は、いかなる電子、磁気、光学又は他の物理的なストレージコンポーネントであって良いし、例えば、実行可能命令、データ等の情報を格納又は記憶する。例えば、機械可読記憶媒体は、RAM(Radom Access Memory、ランダムアクセスメモリ)、揮発性メモリ、不揮発性メモリ、フラッシュメモリ、記憶ドライブ(例えば、ハードディスクドライバ)、ソリッドステートドライブ、いかなる類型の記憶ディスク(例えば、コンパクトディスク、dvd等)、或いは、類似した記憶媒体又はそれらの組み合わせであって良い。
図8に示すように、機能から分けて、上記のフォワーディングエントリ制御ロジックは、機能モジュールである受信ユニット201と、検索ユニット202と、読み取りユニット203と、送信ユニット204とを含む。
受信ユニット201は、フォワーディングコンポーネント10から送信された、ストレージコンポーネント30に記憶される、読み取られるべき第1フォワーディングエントリの記憶アドレスをキャリーするエントリ読み取りコマンドを受信するために用いられる。
検索ユニット202は、受信ユニット201がエントリ読み取りコマンドを受信した後、第1フォワーディングエントリの記憶アドレスに基づいて、キャッシュコンポーネント20で有効状態にあり且つ含む記憶アドレスが第1フォワーディングエントリの記憶アドレスと同一である第1Hashバケットを検索するために用いられる。
読み取りユニット203は、検索ユニット202が第1Hashバケットを見つけられなかった時、ストレージコンポーネント30から第1フォワーディングエントリを読み取るために用いられる。
送信ユニット204は、検索ユニット202が第1Hashバケットを見つけた時、第1Hashバケットに対応するキャッシュスペースにキャッシュされた第1フォワーディングエントリをフォワーディングコンポーネント10に送信するために用いられる。送信ユニット204は、さらに、検索ユニット202が第1Hashバケットを見つけられなかった時、読み取りユニット203が読み取った第1フォワーディングエントリをフォワーディングコンポーネント10に送信するために用いられる。
また、図9に示すように、キャッシュコンポーネント20は、書き込みアップデートユニット205を更に含む。その中で、
検索ユニット202は、さらに、読み取りユニット203がストレージコンポーネント30から第1フォワーディングエントリを読み取った後、第1フォワーディングエントリの記憶アドレスに基づいて、無効状態にある第2Hashバケットを検索するために用いられる。
書き込みアップデートユニット205は、検索ユニット202が第2Hashバケットを見つけた時、読み取りユニット203が読み取った第1フォワーディングエントリを第2Hashバケットに対応するキャッシュスペースに書き込み、第2Hashバケットの状態を有効にアップデートし、第2Hashバケットに含まれる記憶アドレスを第1フォワーディングエントリの記憶アドレスにアップデートするために用いられる。
Hashバケットは、タイムスタンプを更に含む。書き込みアップデートユニット205は、さらに、第1Hashバケットに含まれるタイムスタンプを、送信ユニット204が第1Hashバケットに対応するキャッシュスペースにキャッシュされた第1フォワーディングエントリをフォワーディングコンポーネント10に送信する時の時間にアップデートし、第2Hashバケットに含まれるタイムスタンプを、読み取りユニット203が読み取った第1フォワーディングエントリを第2Hashバケットに対応するキャッシュスペースに書き込む時の時間にアップデートする。
検索ユニット202は、さらに、第2Hashバケットを見つけられなかった時、第1フォワーディングエントリの記憶アドレスに基づいて、含むタイムスタンプと現在時間の差分値が予め設定されたタイムアウト時間より大きい第3Hashバケットを検索する。
書き込みアップデートユニット205は、さらに、検索ユニット202が第3Hashバケットを見つけた時、読み取りユニット203が読み取った第1フォワーディングエントリを第3Hashバケットに対応するキャッシュスペースに書き込み、第3Hashバケットに含まれるタイムスタンプを、前記第1フォワーディングエントリを前記第3Hashバケットに対応するキャッシュスペースに書き込む時間にアップデートし、第3Hashバケットに含まれる記憶アドレスを第1フォワーディングエントリの記憶アドレスにアップデートする。
書き込みアップデートユニット205は、さらに、各々のHashバケットに対して、当該Hashバケットに含まれるタイムスタンプと現在時間の差分値が予め設定されたタイムアウト時間より大きいか否かを判断し、前記差分値が前記予め設定されたタイムアウト時間より大きい時、当該Hashバケットの状態を無効にアップデートする。
図10に示すように、キャッシュコンポーネント20は、傍受ユニット206と、状態アップデートユニット207とを更に含む。
傍受ユニット206は、ストレージコンポーネント30に送信される、ストレージコンポーネント30に書き込まれるべき第2フォワーディングエントリの記憶アドレスをキャリーするエントリ書き込みコマンドを傍受するために用いられる。
検索ユニット202は、さらに、傍受ユニット206がエントリ書き込みコマンドを傍受した後、第2フォワーディングエントリの記憶アドレスに基づいて、有効状態にあり且つ含む記憶アドレスが第2フォワーディングエントリの記憶アドレスと同一である第4Hashバケットを検索するために用いられる。
状態アップデートユニット207は、検索ユニット202が第4Hashバケットを見つけた時、第4Hashバケットの状態を無効にアップデートするために用いられる。
傍受ユニット206は、さらに、ストレージコンポーネント30に送信される、以下の条件を満たすエントリ書き込みコマンドを傍受する。この条件は、エントリ書き込みコマンドにキャリーされる、書き込まれるべき第2フォワーディングエントリの記憶アドレスは対応する記憶アドレスレンジ内にあることを含む。
上記の装置における各々のユニットの機能及び作用の実現過程の具体的な詳細は、上記の方法における対応するステップの実現過程を参照すれば良く、ここでは繰り返し説明しないことにする。
装置実施例は、基本的に方法例に対応するため、関連箇所は、方法例の部分の説明を参照すれば良い。以上記述された装置例は、ただ模式的なものであり、その中で記載された分離部品として説明されたユニットは、物理的に分かれていてもいなくても良く、ユニットとして表示された部品は、物理ユニットであってもなくても良く、即ち、一つの場所に位置しても良く、又は複数のネットワークユニットに分布されても良い。実際の必要に応じてそのうち一部又は全部のモジュールを選んで本開示の方案の目的を実現することができる。本分野における通常の知識を有する者は、創造的労働をせずに理解及び実施することができる。
本開示に使用される用語は、単に特定の実施例を記述するための目的であり、本開示を制限することを意図していない。本開示及び添付される特許請求の範囲に使用される単数形態「一」、「前記」及び「当該」は、文脈で明らかに他の意味が示されていない限り、複数形態も含むことを意図する。なお、理解すべきことは、本文に使用される用語「及び/又は」一つ又は複数の関連するリストされたアイテムを含む任意の又はすべての可能な組み合わせを指す。
本開示において用語第1、第2、第3等を用いて各種の情報を記述する可能性があるが、これらの情報は、これらの用語に制限されるべきではない。これらの用語は、単に同一類型の情報を互いに区分するために用いられる。例えば、本開示の範囲を逸脱しない前提で、第1情報は、第2情報とも称されることができ、同様に、第2情報も第1情報と称されることができる。文脈に応じて、本文に使用されるような単語「若し」は、「……時」又は、“……場合”、又は「に応答して確定する」として解釈されることができる。
上記のものは、単に本開示の好ましい実施例であり、本開示を制限するために用いられない。本開示の精神及び原則の範囲内でなされるいかなる修正、均等物による置換、改善等は、全て本開示の保護の範囲内に含まれるべきである。

Claims (9)

  1. フォワーディングエントリアクセス方法であって、
    キャッシュコンポーネントは、フォワーディングコンポーネントから送信された、ストレージコンポーネントにおける読み取られるべき第1フォワーディングエントリの記憶アドレスをキャリーするエントリ読み取りコマンドを受信するステップと、
    前記キャッシュコンポーネントは、前記第1フォワーディングエントリの記憶アドレスに基づいて、ローカルで有効状態にあり且つ含む記憶アドレスが前記第1フォワーディングエントリの記憶アドレスと同一である第1Hashバケットを検索するステップと、
    前記キャッシュコンポーネントは、前記第1Hashバケットを見つけた時、前記第1Hashバケットに対応するキャッシュスペースにキャッシュされた前記第1フォワーディングエントリを前記フォワーディングコンポーネントに送信するステップと、
    前記キャッシュコンポーネントは、前記第1Hashバケットに含まれるタイムスタンプを、前記第1Hashバケットに対応するキャッシュスペースにキャッシュされた前記第1フォワーディングエントリを前記フォワーディングコンポーネントに送信する時の時間にアップデートするステップと、
    前記キャッシュコンポーネントは、前記第1Hashバケットを見つけられなかった時、前記ストレージコンポーネントから前記第1フォワーディングエントリを読み取り、読み取った前記第1フォワーディングエントリを前記フォワーディングコンポーネントに送信するステップと、
    ストレージコンポーネントから前記第1フォワーディングエントリを読み取った後、
    前記キャッシュコンポーネントは、前記第1フォワーディングエントリの記憶アドレスに基づいて、ローカルで無効状態にある第2Hashバケットを検索するステップと、
    前記キャッシュコンポーネントは、前記第2Hashバケットを見つけた時、前記第1フォワーディングエントリを前記第2Hashバケットに対応するキャッシュスペースに書き込み、前記第2Hashバケットの状態を有効にアップデートし、前記第2Hashバケットに含まれる記憶アドレスを前記第1フォワーディングエントリの記憶アドレスにアップデートするステップと
    前記キャッシュコンポーネントは、前記第2Hashバケットに含まれるタイムスタンプを、前記第1フォワーディングエントリが前記第2Hashバケットに対応するキャッシュスペースに書き込まれる時の時間にアップデートするステップと、を含み、
    前記第2Hashバケットが見つからなかった時、前記キャッシュコンポーネントは、前記第1フォワーディングエントリの記憶アドレスに基づいて、ローカルで含むタイムスタンプと現在時間の差分値が予め設定されたタイムアウト時間より大きい第3Hashバケットを検索するステップと、
    前記第3Hashバケットが見つかった時、前記キャッシュコンポーネントは、前記第1フォワーディングエントリを前記第3Hashバケットに対応するキャッシュスペースに書き込み、前記第3Hashバケットに含まれるタイムスタンプを、前記第1フォワーディングエントリを前記第3Hashバケットに対応するキャッシュスペースに書き込む時間にアップデートし、前記第3Hashバケットに含まれる記憶アドレスを前記第1フォワーディングエントリの記憶アドレスにアップデートするステップと、
    含むことを特徴とする方法。
  2. 前記方法は、
    前記キャッシュコンポーネントは、各々のHashバケットに対して、当該Hashバケットに含まれるタイムスタンプと現在時間の差分値が予め設定されたタイムアウト時間より大きいか否かを判断するステップと、
    前記差分値が前記予め設定されたタイムアウト時間より大きい時、前記キャッシュコンポーネントは、当該Hashバケットの状態を無効にアップデートするステップと、
    を更に含むことを特徴とする請求項に記載の方法。
  3. 前記方法は、
    前記キャッシュコンポーネントは、前記ストレージコンポーネントに送信される、前記ストレージコンポーネントに書き込まれるべき第2フォワーディングエントリの記憶アドレスをキャリーするエントリ書き込みコマンドを傍受するステップと、
    前記キャッシュコンポーネントは、前記第2フォワーディングエントリの記憶アドレスに基づいて、ローカルで有効状態にあり且つ含む記憶アドレスが前記第2フォワーディングエントリの記憶アドレスと同一である第4Hashバケットを検索するステップと、
    前記キャッシュコンポーネントは、前記第4Hashバケットを見つけた時、前記第4Hashバケットの状態を無効にアップデートするステップと、
    を更に含むことを特徴とする請求項1に記載の方法。
  4. 前記ストレージコンポーネントに送信されるエントリ書き込みコマンドを傍受するステップは、
    前記キャッシュコンポーネントは、前記ストレージコンポーネントに送信される、キャリーされる第2フォワーディングエントリの記憶アドレスは記憶アドレスレンジ内にあるエントリ書き込みコマンドを傍受するステップを含むことを特徴とする請求項に記載の方法。
  5. ネットワーク機器であって、
    フォワーディングコンポーネントと、キャッシュコンポーネントと、ストレージコンポーネントとを含み、
    前記フォワーディングコンポーネントは、取得したフォワーディングエントリに基づいてパケットフォワーディングを行うように、フォワーディングエントリを取得するエントリ読み取りコマンドを送出するために用いられ、
    前記キャッシュコンポーネントは、
    前記フォワーディングコンポーネントから送信された、ストレージコンポーネントにおける読み取られるべき第1フォワーディングエントリの記憶アドレスをキャリーするエントリ読み取りコマンドを受信し、
    前記第1フォワーディングエントリの記憶アドレスに基づいて、前記キャッシュコンポーネントで有効状態にあり且つ含む記憶アドレスが前記第1フォワーディングエントリの記憶アドレスと同一である第1Hashバケットを検索し、
    前記第1Hashバケットが見つかった時、前記第1Hashバケットに対応するキャッシュスペースにキャッシュされた前記第1フォワーディングエントリを前記フォワーディングコンポーネントに送信し、
    前記キャッシュコンポーネントは、前記第1Hashバケットに含まれるタイムスタンプを、前記第1Hashバケットに対応するキャッシュスペースにキャッシュされた前記第1フォワーディングエントリを前記フォワーディングコンポーネントに送信する時の時間にアップデートし、
    前記第1Hashバケットが見つからなかった時、前記ストレージコンポーネントから前記第1フォワーディングエントリを読み取り、読み取った前記第1フォワーディングエントリを前記フォワーディングコンポーネントに送信するために用いられ、
    前記キャッシュコンポーネントは、さらに、前記ストレージコンポーネントから前記第1フォワーディングエントリを読み取った後、前記第1フォワーディングエントリの記憶アドレスに基づいて、無効状態にある第2Hashバケットを検索し、
    前記キャッシュコンポーネントは、前記第2Hashバケットを見つけた時、前記第1フォワーディングエントリを前記第2Hashバケットに対応するキャッシュスペースに書き込み、前記第2Hashバケットの状態を有効にアップデートし、前記第2Hashバケットに含まれる記憶アドレスを前記第1フォワーディングエントリの記憶アドレスにアップデートし
    さらに、前記第2Hashバケットに含まれるタイムスタンプを、読み取りユニットが読み取った前記第1フォワーディングエントリを前記第2Hashバケットに対応するキャッシュスペースに書き込む時の時間にアップデートし、
    前記キャッシュコンポーネントは、前記第2Hashバケットを見つけられなかった時、前記第1フォワーディングエントリの記憶アドレスに基づいて、含むタイムスタンプと現在時間の差分値が予め設定されたタイムアウト時間より大きい第3Hashバケットを検索し、
    前記キャッシュコンポーネントは、前記第3Hashバケットを見つけた時、前記第1フォワーディングエントリを前記第3Hashバケットに対応するキャッシュスペースに書き込み、前記第3Hashバケットに含まれるタイムスタンプを、前記第1フォワーディングエントリを前記第3Hashバケットに対応するキャッシュスペースに書き込む時間にアップデートし、前記第3Hashバケットに含まれる記憶アドレスを前記第1フォワーディングエントリの記憶アドレスにアップデートすることを特徴とする機器。
  6. 前記キャッシュコンポーネントは、各々のHashバケットに対して、当該Hashバケットに含まれるタイムスタンプと現在時間の差分値が予め設定されたタイムアウト時間より大きいか否かを判断し、
    前記差分値が前記予め設定されたタイムアウト時間より大きい時、前記キャッシュコンポーネントは、当該Hashバケットの状態を無効にアップデートすることを特徴とする請求項に記載の機器。
  7. 前記キャッシュコンポーネントは、さらに、前記ストレージコンポーネントに送信される、書き込まれるべき第2フォワーディングエントリの記憶アドレスを有するエントリ書き込みコマンドを傍受し、
    前記キャッシュコンポーネントは、さらに、前記エントリ書き込みコマンドを傍受した後、前記第2フォワーディングエントリの記憶アドレスに基づいて、有効状態にあり且つ含む記憶アドレスが前記第2フォワーディングエントリの記憶アドレスと同一である第4Hashバケットを検索し、
    前記キャッシュコンポーネントは、前記第4Hashバケットを見つけた時、前記第4Hashバケットの状態を無効にアップデートすることを特徴とする請求項に記載の機器。
  8. 前記キャッシュコンポーネントは、さらに、前記ストレージコンポーネントに送信される、有する書き込まれるべき第2フォワーディングエントリの記憶アドレスは記憶アドレスレンジ内にあることを含む条件を満たすエントリ書き込みコマンドを傍受することを特徴とする請求項に記載の機器。
  9. ネットワーク機器であって、
    中央処理装置(CPU)と、
    フィールドプログラマブルゲートアレイ(FPGA)と、
    ストレージコンポーネントと、
    を含み、
    前記CPUは、FPGA枠組文書を、前記FPGAにより実行されるように前記FPGAにロードして、前記FPGAがフォワーディングコンポーネントと、キャッシュコンポーネントと、記憶コントローラとを含むようにし、
    前記フォワーディングコンポーネントは、取得したフォワーディングエントリに基づいてパケットフォワーディングを行うように、フォワーディングエントリを取得するエントリ読み取りコマンドを送出するために用いられ、
    前記キャッシュコンポーネントは、
    前記フォワーディングコンポーネントから送信された、ストレージコンポーネントにおける読み取られるべき第1フォワーディングエントリの記憶アドレスをキャリーするエントリ読み取りコマンドを受信し、
    前記第1フォワーディングエントリの記憶アドレスに基づいて、前記キャッシュコンポーネントで有効状態にあり且つ含む記憶アドレスが前記第1フォワーディングエントリの記憶アドレスと同一である第1Hashバケットを検索し、
    前記第1Hashバケットが見つかった時、前記第1Hashバケットに対応するキャッシュスペースにキャッシュされた前記第1フォワーディングエントリを前記フォワーディングコンポーネントに送信し、
    前記キャッシュコンポーネントは、前記第1Hashバケットに含まれるタイムスタンプを、前記第1Hashバケットに対応するキャッシュスペースにキャッシュされた前記第1フォワーディングエントリを前記フォワーディングコンポーネントに送信する時の時間にアップデートし、
    前記第1Hashバケットが見つからなかった時、前記ストレージコンポーネントから前記第1フォワーディングエントリを読み取り、読み取った前記第1フォワーディングエントリを前記フォワーディングコンポーネントに送信するために用いられ、
    前記記憶コントローラは、前記ストレージコンポーネントの読み取り/書き込みに対して制御を行い、
    前記キャッシュコンポーネントは、さらに、前記ストレージコンポーネントから前記第1フォワーディングエントリを読み取った後、前記第1フォワーディングエントリの記憶アドレスに基づいて、無効状態にある第2Hashバケットを検索し、
    前記キャッシュコンポーネントは、前記第2Hashバケットを見つけた時、前記第1フォワーディングエントリを前記第2Hashバケットに対応するキャッシュスペースに書き込み、前記第2Hashバケットの状態を有効にアップデートし、前記第2Hashバケットに含まれる記憶アドレスを前記第1フォワーディングエントリの記憶アドレスにアップデートし
    さらに、前記第2Hashバケットに含まれるタイムスタンプを、読み取りユニットが読み取った前記第1フォワーディングエントリを前記第2Hashバケットに対応するキャッシュスペースに書き込む時の時間にアップデートし、
    前記キャッシュコンポーネントは、前記第2Hashバケットを見つけられなかった時、前記第1フォワーディングエントリの記憶アドレスに基づいて、含むタイムスタンプと現在時間の差分値が予め設定されたタイムアウト時間より大きい第3Hashバケットを検索し、
    前記キャッシュコンポーネントは、前記第3Hashバケットを見つけた時、前記第1フォワーディングエントリを前記第3Hashバケットに対応するキャッシュスペースに書き込み、前記第3Hashバケットに含まれるタイムスタンプを、前記第1フォワーディングエントリを前記第3Hashバケットに対応するキャッシュスペースに書き込む時間にアップデートし、前記第3Hashバケットに含まれる記憶アドレスを前記第1フォワーディングエントリの記憶アドレスにアップデートすることを特徴とするネットワーク機器。
JP2019500254A 2016-07-04 2017-07-04 フォワーディングエントリアクセス Active JP7010922B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610528199.4 2016-07-04
CN201610528199.4A CN107579916B (zh) 2016-07-04 2016-07-04 转发表项访问方法及装置
PCT/CN2017/091599 WO2018006786A1 (zh) 2016-07-04 2017-07-04 转发表项访问

Publications (2)

Publication Number Publication Date
JP2019522427A JP2019522427A (ja) 2019-08-08
JP7010922B2 true JP7010922B2 (ja) 2022-01-26

Family

ID=60912345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019500254A Active JP7010922B2 (ja) 2016-07-04 2017-07-04 フォワーディングエントリアクセス

Country Status (5)

Country Link
US (1) US11038797B2 (ja)
EP (1) EP3481014B1 (ja)
JP (1) JP7010922B2 (ja)
CN (1) CN107579916B (ja)
WO (1) WO2018006786A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111026324B (zh) 2018-10-09 2021-11-19 华为技术有限公司 转发表项的更新方法及装置
CN113938428B (zh) * 2021-09-06 2023-06-16 锐捷网络股份有限公司 跨芯片的数据流转发方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007221514A (ja) 2006-02-17 2007-08-30 Sii Network Systems Kk ルータ装置、ルータ装置におけるルート決定方法
WO2015133448A1 (ja) 2014-03-04 2015-09-11 日本電気株式会社 パケット処理装置、パケット処理方法およびプログラム

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978951A (en) 1997-09-11 1999-11-02 3Com Corporation High speed cache management unit for use in a bridge/router
US6430184B1 (en) * 1998-04-10 2002-08-06 Top Layer Networks, Inc. System and process for GHIH-speed pattern matching for application-level switching of data packets
JP3591420B2 (ja) 2000-04-07 2004-11-17 日本電気株式会社 ルータにおけるキャッシュテーブル管理装置およびプログラム記録媒体
US6850980B1 (en) 2000-06-16 2005-02-01 Cisco Technology, Inc. Content routing service protocol
US7039764B1 (en) * 2002-01-17 2006-05-02 Nokia Corporation Near-perfect, fixed-time searching algorithm using hashing, LRU and cam-based caching
US7177311B1 (en) * 2002-06-04 2007-02-13 Fortinet, Inc. System and method for routing traffic through a virtual router-based network switch
JP3957570B2 (ja) 2002-06-17 2007-08-15 日本電気株式会社 ルータ装置
JP2004129156A (ja) 2002-10-07 2004-04-22 Ntt Docomo Inc 経路制御システム、経路制御装置、転送装置及び経路制御方法
JP4241660B2 (ja) * 2005-04-25 2009-03-18 株式会社日立製作所 負荷分散装置
US7808971B2 (en) 2005-07-01 2010-10-05 Miller John L Routing cache for distributed hash tables
US20070028051A1 (en) * 2005-08-01 2007-02-01 Arm Limited Time and power reduction in cache accesses
CN100418331C (zh) * 2006-03-03 2008-09-10 清华大学 基于网络处理器的路由查找结果缓存方法
WO2008121690A2 (en) * 2007-03-30 2008-10-09 Packeteer, Inc. Data and control plane architecture for network application traffic management device
US8111707B2 (en) * 2007-12-20 2012-02-07 Packeteer, Inc. Compression mechanisms for control plane—data plane processing architectures
US7822927B1 (en) * 2007-05-14 2010-10-26 Emc Corporation Dynamically configurable reverse DNLC lookup
CN101079817A (zh) * 2007-07-04 2007-11-28 中兴通讯股份有限公司 一种路由查找方法及系统
CN101197787B (zh) 2008-01-03 2010-08-25 杭州华三通信技术有限公司 一种报文信息学习方法和装置
JP2011239299A (ja) 2010-05-12 2011-11-24 Renesas Electronics Corp パケット転送装置、パケット転送方法
US8397025B2 (en) * 2010-12-30 2013-03-12 Lsi Corporation Apparatus and method for determining a cache line in an N-way set associative cache using hash functions
CN102736986A (zh) 2011-03-31 2012-10-17 国际商业机器公司 一种内容可寻址存储器及其检索数据的方法
US9124540B2 (en) 2013-01-14 2015-09-01 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Caching of look-up rules based on flow heuristics to enable high speed look-up
CN103595637B (zh) * 2013-10-27 2017-03-29 西安电子科技大学 基于树与哈希表的内容中心网络结点处理数据方法
GB2530722B (en) * 2014-09-19 2016-08-17 Imagination Tech Ltd Cache hashing
WO2016057670A1 (en) * 2014-10-07 2016-04-14 Google Inc. Hardware-assisted memory compression management using page filter and system mmu
US9760492B2 (en) * 2014-11-21 2017-09-12 Mediatek Singapore Pte. Ltd. Method for controlling access of cache through using programmable hashing address and related cache controller
CN104809179B (zh) * 2015-04-16 2018-10-02 华为技术有限公司 访问哈希表的装置和方法
US10397362B1 (en) * 2015-06-24 2019-08-27 Amazon Technologies, Inc. Combined cache-overflow memory structure
US10708236B2 (en) * 2015-10-26 2020-07-07 Secturion Systems, Inc. Multi-independent level secure (MILS) storage encryption
CN105243030A (zh) * 2015-10-26 2016-01-13 北京锐安科技有限公司 一种数据缓存方法
CN105357314A (zh) * 2015-12-03 2016-02-24 厦门速卖通网络科技有限公司 一种定点分布式缓存系统及其缓存方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007221514A (ja) 2006-02-17 2007-08-30 Sii Network Systems Kk ルータ装置、ルータ装置におけるルート決定方法
WO2015133448A1 (ja) 2014-03-04 2015-09-11 日本電気株式会社 パケット処理装置、パケット処理方法およびプログラム

Also Published As

Publication number Publication date
EP3481014B1 (en) 2021-01-20
US11038797B2 (en) 2021-06-15
US20190260678A1 (en) 2019-08-22
WO2018006786A1 (zh) 2018-01-11
JP2019522427A (ja) 2019-08-08
CN107579916B (zh) 2021-03-23
WO2018006786A9 (zh) 2019-01-10
EP3481014A4 (en) 2019-05-22
CN107579916A (zh) 2018-01-12
EP3481014A1 (en) 2019-05-08

Similar Documents

Publication Publication Date Title
JP2018133086A (ja) ハイブリッドメモリーモジュール及びその動作方法
US9264357B2 (en) Apparatus and method for table search with centralized memory pool in a network switch
EP2472412B1 (en) Explicitly regioned memory organization in a network element
US10108540B2 (en) Allocation of distributed data structures
EP4220419B1 (en) Modifying nvme physical region page list pointers and data pointers to facilitate routing of pcie memory requests
US20100205344A1 (en) Unified cache structure that facilitates accessing translation table entries
JP7407134B2 (ja) 記憶システムをメインメモリとして使用するための方法および装置
US20170091099A1 (en) Memory controller for multi-level system memory having sectored cache
WO2018090255A1 (zh) 内存访问技术
WO2016095761A1 (zh) 缓存的处理方法和装置
JP7010922B2 (ja) フォワーディングエントリアクセス
KR102523418B1 (ko) 프로세서 및 프로세서에서 데이터를 처리하는 방법
JP2019521447A (ja) キャッシュエントリ転送のためにキャッシュ位置情報を記憶するシステム及び方法
CN111124297B (zh) 一种堆叠dram缓存的性能提升方法
CN111352865B (zh) 存储控制器的写缓存
KR20180078512A (ko) 반도체 장치
CN104252423A (zh) 基于多内核处理器的一致性处理方法和装置
US9817767B2 (en) Semiconductor apparatus and operating method thereof
CN101221539B (zh) 提高缓存性能的方法及缓存系统
US10860498B2 (en) Data processing system
KR20170112909A (ko) 메모리 제어 방법 및 장치
JP2009193382A (ja) ブレードサーバシステムのキャッシュサーバ制御回路およびキャッシュサーバ制御方法
CN106407242B (zh) 分组处理器转发数据库缓存
CN117873744A (zh) 一种队列对状态管理方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191112

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200210

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200430

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200602

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200925

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20200925

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20201005

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20201006

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20201023

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20201027

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20210511

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20210720

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20210817

C19 Decision taken to dismiss amendment

Free format text: JAPANESE INTERMEDIATE CODE: C19

Effective date: 20210831

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20210831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211104

C302 Record of communication

Free format text: JAPANESE INTERMEDIATE CODE: C302

Effective date: 20211111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211112

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20211124

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20220104

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20220104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220113

R150 Certificate of patent or registration of utility model

Ref document number: 7010922

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150