(57)【要約】  本出願は、フォワーディングエントリアクセス方法及びネットワーク機器を提供する。当該フォワーディングエントリアクセス方法の例によれば、キャッシュコンポーネントは、フォワーディングコンポーネントから送信された、ストレージコンポーネントにおける読み取られるべき第１フォワーディングエントリの記憶アドレスをキャリーするエントリ読み取りコマンドを受信する。前記キャッシュコンポーネントは、第１フォワーディングエントリの記憶アドレスに基づいて、ローカルで有効状態にあり且つ含む記憶アドレスが第１フォワーディングエントリの記憶アドレスと同一である第１Ｈａｓｈバケットを検索する。前記キャッシュコンポーネントは、第１Ｈａｓｈバケットを見つけた時、第１Ｈａｓｈバケットに対応するキャッシュスペースにキャッシュされた第１フォワーディングエントリをフォワーディングコンポーネントに送信する。前記キャッシュコンポーネントは、第１Ｈａｓｈバケットを見つけられなかった時、前記ストレージコンポーネントから第１フォワーディングエントリを読み取り、読み取った第１フォワーディングエントリを前記フォワーディングコンポーネントに送信する。
2019522427.tif 000002
【特許請求の範囲】
【請求項１】
フォワーディングエントリアクセス方法であって、
キャッシュコンポーネントは、フォワーディングコンポーネントから送信された、ストレージコンポーネントにおける読み取られるべき第１フォワーディングエントリの記憶アドレスをキャリーするエントリ読み取りコマンドを受信するステップと、
前記キャッシュコンポーネントは、前記第１フォワーディングエントリの記憶アドレスに基づいて、ローカルで有効状態にあり且つ含む記憶アドレスが前記第１フォワーディングエントリの記憶アドレスと同一である第１Ｈａｓｈバケットを検索するステップと、
前記キャッシュコンポーネントは、前記第１Ｈａｓｈバケットを見つけた時、前記第１Ｈａｓｈバケットに対応するキャッシュスペースにキャッシュされた前記第１フォワーディングエントリを前記フォワーディングコンポーネントに送信するステップと、
前記キャッシュコンポーネントは、前記第１Ｈａｓｈバケットを見つけられなかった時、前記ストレージコンポーネントから前記第１フォワーディングエントリを読み取り、読み取った前記第１フォワーディングエントリを前記フォワーディングコンポーネントに送信するステップと
を含むことを特徴とする方法。
【請求項２】
ストレージコンポーネントから前記第１フォワーディングエントリを読み取った後、
前記キャッシュコンポーネントは、前記第１フォワーディングエントリの記憶アドレスに基づいて、ローカルで無効状態にある第２Ｈａｓｈバケットを検索するステップと、
前記キャッシュコンポーネントは、前記第２Ｈａｓｈバケットを見つけた時、前記第１フォワーディングエントリを前記第２Ｈａｓｈバケットに対応するキャッシュスペースに書き込み、前記第２Ｈａｓｈバケットの状態を有効にアップデートし、前記第２Ｈａｓｈバケットに含まれる記憶アドレスを前記第１フォワーディングエントリの記憶アドレスにアップデートするステップと、
を更に含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記キャッシュコンポーネントは、前記第１Ｈａｓｈバケットに含まれるタイムスタンプを、前記第１Ｈａｓｈバケットに対応するキャッシュスペースにキャッシュされた前記第１フォワーディングエントリを前記フォワーディングコンポーネントに送信する時の時間にアップデートするステップと、
前記キャッシュコンポーネントは、前記第２Ｈａｓｈバケットに含まれるタイムスタンプを、前記第１フォワーディングエントリが前記第２Ｈａｓｈバケットに対応するキャッシュスペースに書き込まれる時の時間にアップデートするステップと、
を更に含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記方法は、
前記第２Ｈａｓｈバケットが見つからなかった時、前記キャッシュコンポーネントは、前記第１フォワーディングエントリの記憶アドレスに基づいて、ローカルで含むタイムスタンプと現在時間の差分値が予め設定されたタイムアウト時間より大きい第３Ｈａｓｈバケットを検索するステップと、
前記第３Ｈａｓｈバケットが見つかった時、前記キャッシュコンポーネントは、前記第１フォワーディングエントリを前記第３Ｈａｓｈバケットに対応するキャッシュスペースに書き込み、前記第３Ｈａｓｈバケットに含まれるタイムスタンプを、前記第１フォワーディングエントリを前記第３Ｈａｓｈバケットに対応するキャッシュスペースに書き込む時間にアップデートし、前記第３Ｈａｓｈバケットに含まれる記憶アドレスを前記第１フォワーディングエントリの記憶アドレスにアップデートするステップと、
を更に含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記方法は、
前記キャッシュコンポーネントは、各々のＨａｓｈバケットに対して、当該Ｈａｓｈバケットに含まれるタイムスタンプと現在時間の差分値が予め設定されたタイムアウト時間より大きいか否かを判断するステップと、
前記差分値が前記予め設定されたタイムアウト時間より大きい時、前記キャッシュコンポーネントは、当該Ｈａｓｈバケットの状態を無効にアップデートするステップと、
を更に含むことを特徴とする請求項３に記載の方法。
【請求項６】
前記方法は、
前記キャッシュコンポーネントは、前記ストレージコンポーネントに送信される、前記ストレージコンポーネントに書き込まれるべき第２フォワーディングエントリの記憶アドレスをキャリーするエントリ書き込みコマンドを傍受するステップと、
前記キャッシュコンポーネントは、前記第２フォワーディングエントリの記憶アドレスに基づいて、ローカルで有効状態にあり且つ含む記憶アドレスが前記第２フォワーディングエントリの記憶アドレスと同一である第４Ｈａｓｈバケットを検索するステップと、
前記キャッシュコンポーネントは、前記第４Ｈａｓｈバケットを見つけた時、前記第４Ｈａｓｈバケットの状態を無効にアップデートするステップと、
を更に含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記ストレージコンポーネントに送信されるエントリ書き込みコマンドを傍受するステップは、
前記キャッシュコンポーネントは、前記ストレージコンポーネントに送信される、キャリーされる第２フォワーディングエントリの記憶アドレスは記憶アドレスレンジ内にあるエントリ書き込みコマンドを傍受するステップを含むことを特徴とする請求項６に記載の方法。
【請求項８】
ネットワーク機器であって、
フォワーディングコンポーネントと、キャッシュコンポーネントと、ストレージコンポーネントとを含み、
前記フォワーディングコンポーネントは、取得したフォワーディングエントリに基づいてパケットフォワーディングを行うように、フォワーディングエントリを取得するエントリ読み取りコマンドを送出するために用いられ、
前記ストレージコンポーネントは、パケットフォワーディングを行うためのフォワーディングエントリを記憶するために用いられ、
前記キャッシュコンポーネントは、
前記フォワーディングコンポーネントから送信された、前記ストレージコンポーネントにおける読み取られるべき第１フォワーディングエントリの記憶アドレスをキャリーするエントリ読み取りコマンドを受信し、
前記第１フォワーディングエントリの記憶アドレスに基づいて、前記キャッシュコンポーネントで有効状態にあり且つ含む記憶アドレスが前記第１フォワーディングエントリの記憶アドレスと同一である第１Ｈａｓｈバケットを検索し、
前記第１Ｈａｓｈバケットが見つかった時、前記第１Ｈａｓｈバケットに対応するキャッシュスペースにキャッシュされた前記第１フォワーディングエントリを前記フォワーディングコンポーネントに送信し、
前記第１Ｈａｓｈバケットが見つからなかった時、前記ストレージコンポーネントから前記第１フォワーディングエントリを読み取り、読み取った前記第１フォワーディングエントリを前記フォワーディングコンポーネントに送信するために用いられることを特徴とする機器。
【請求項９】
前記キャッシュコンポーネントは、さらに、前記ストレージコンポーネントから前記第１フォワーディングエントリを読み取った後、前記第１フォワーディングエントリの記憶アドレスに基づいて、無効状態にある第２Ｈａｓｈバケットを検索し、
前記キャッシュコンポーネントは、前記第２Ｈａｓｈバケットを見つけた時、前記第１フォワーディングエントリを前記第２Ｈａｓｈバケットに対応するキャッシュスペースに書き込み、前記第２Ｈａｓｈバケットの状態を有効にアップデートし、前記第２Ｈａｓｈバケットに含まれる記憶アドレスを前記第１フォワーディングエントリの記憶アドレスにアップデートすることを特徴とする請求項８に記載の機器。
【請求項１０】
前記キャッシュコンポーネントは、前記第１Ｈａｓｈバケットに含まれるタイムスタンプを、前記第１Ｈａｓｈバケットに対応するキャッシュスペースにキャッシュされた前記第１フォワーディングエントリを前記フォワーディングコンポーネントに送信する時の時間にアップデートし、
さらに、前記第２Ｈａｓｈバケットに含まれるタイムスタンプを、前記読み取りユニットが読み取った前記第１フォワーディングエントリを前記第２Ｈａｓｈバケットに対応するキャッシュスペースに書き込む時の時間にアップデートすることを特徴とする請求項９に記載の機器。
【請求項１１】
前記キャッシュコンポーネントは、前記第２Ｈａｓｈバケットを見つけられなかった時、前記第１フォワーディングエントリの記憶アドレスに基づいて、含むタイムスタンプと現在時間の差分値が予め設定されたタイムアウト時間より大きい第３Ｈａｓｈバケットを検索し、
前記キャッシュコンポーネントは、前記第３Ｈａｓｈバケットを見つけた時、前記第１フォワーディングエントリを前記第３Ｈａｓｈバケットに対応するキャッシュスペースに書き込み、前記第３Ｈａｓｈバケットに含まれるタイムスタンプを、前記第１フォワーディングエントリを前記第３Ｈａｓｈバケットに対応するキャッシュスペースに書き込む時間にアップデートし、前記第３Ｈａｓｈバケットに含まれる記憶アドレスを前記第１フォワーディングエントリの記憶アドレスにアップデートすることを特徴とする請求項１０に記載の機器。
【請求項１２】
前記キャッシュコンポーネントは、各々のＨａｓｈバケットに対して、当該Ｈａｓｈバケットに含まれるタイムスタンプと現在時間の差分値が予め設定されたタイムアウト時間より大きいか否かを判断し、
前記差分値が前記予め設定されたタイムアウト時間より大きい時、前記キャッシュコンポーネントは、当該Ｈａｓｈバケットの状態を無効にアップデートすることを特徴とする請求項１０に記載の機器。
【請求項１３】
前記キャッシュコンポーネントは、さらに、前記ストレージコンポーネントに送信される、書き込まれるべき第２フォワーディングエントリの記憶アドレスを有するエントリ書き込みコマンドを傍受し、
前記キャッシュコンポーネントは、さらに、前記エントリ書き込みコマンドを傍受した後、前記第２フォワーディングエントリの記憶アドレスに基づいて、有効状態にあり且つ含む記憶アドレスが前記第２フォワーディングエントリの記憶アドレスと同一である第４Ｈａｓｈバケットを検索し、
前記キャッシュコンポーネントは、前記第４Ｈａｓｈバケットを見つけた時、前記第４Ｈａｓｈバケットの状態を無効にアップデートすることを特徴とする請求項８に記載の機器。
【請求項１４】
前記キャッシュコンポーネントは、さらに、前記ストレージコンポーネントに送信される、有する書き込まれるべき第２フォワーディングエントリの記憶アドレスは記憶アドレスレンジ内にあることを含む条件を満たすエントリ書き込みコマンドを傍受することを特徴とする請求項１３に記載の機器。
【請求項１５】
ネットワーク機器であって、
中央処理装置（ＣＰＵ）と、
フィールドプログラマブルゲートアレイ（ＦＰＧＡ）と、
ストレージコンポーネントと、
を含み、
前記ＣＰＵは、ＦＰＧＡ枠組文書を、前記ＦＰＧＡにより実行されるように前記ＦＰＧＡにロードして、前記ＦＰＧＡがフォワーディングコンポーネントと、キャッシュコンポーネントと、記憶コントローラとを含むようにし、
前記フォワーディングコンポーネントは、取得したフォワーディングエントリに基づいてパケットフォワーディングを行うように、フォワーディングエントリを取得するエントリ読み取りコマンドを送出するために用いられ、
前記キャッシュコンポーネントは、
前記フォワーディングコンポーネントから送信された、前記ストレージコンポーネントにおける読み取られるべき第１フォワーディングエントリの記憶アドレスをキャリーするエントリ読み取りコマンドを受信し、
前記第１フォワーディングエントリの記憶アドレスに基づいて、前記キャッシュコンポーネントで有効状態にあり且つ含む記憶アドレスが前記第１フォワーディングエントリの記憶アドレスと同一である第１Ｈａｓｈバケットを検索し、
前記第１Ｈａｓｈバケットが見つかった時、前記第１Ｈａｓｈバケットに対応するキャッシュスペースにキャッシュされた前記第１フォワーディングエントリを前記フォワーディングコンポーネントに送信し、
前記第１Ｈａｓｈバケットが見つからなかった時、前記ストレージコンポーネントから前記第１フォワーディングエントリを読み取り、読み取った前記第１フォワーディングエントリを前記フォワーディングコンポーネントに送信するために用いられ、
前記記憶コントローラは、前記ストレージコンポーネントの読み取り/書き込みに対して制御を行うことを特徴とするネットワーク機器。
【発明の詳細な説明】
【関連する出願の参照】
【０００１】
本特許出願は、２０１６年７月４日に提出された出願番号が２０１６１０５２８１９９.４であり、発明の名称が「フォワーディングエントリアクセス方法及び装置」である中国特許出願の優先権を主張するものであり、当該出願の全文は参照することにより本文に組み込まれる。
【背景技術】
【０００２】
スイッチ、ルータ等のようなネットワーク機器は、パケットに対してフォワーディング処理を行う時、フォワーディングテーブルを検索すべきである。これらのフォワーディングテーブルの大部分は内部メモリ、例えば、ＤＤＲ  ＳＤＲＡＭ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ダブルデータレート同期ダイナミック型ランダムアクセスメモリ）に格納される。ネットワーク機器は、パケットを受信した後、ＤＤＲ  ＳＤＲＡＭで各フォワーディングテーブルを検索してパケットをフォワーディングすべきである。
【０００３】
上記の方法において、直接ＤＤＲ  ＳＤＲＡＭからフォワーディングテーブルを検索するが、ＤＤＲ  ＳＤＲＡＭの帯域幅が制限されているため、ネットワーク機器の高性能フォワーディングの要求を満たすことができない。
【図面の簡単な説明】
【０００４】
【図１】本開示の例示的一実施例が示すネットワーク機器の構造模式図である。
【０００５】
【図２】本開示の例示的一実施例が示すキャッシュコンポーネントがフォワーディングコンポーネントから送信されたエントリ読み取りコマンドを処理するフローチャートである。
【０００６】
【図３】本開示の例示的一実施例が示すＨａｓｈバケット行及びｅｎｔｒｙ行の構造模式図である。
【０００７】
【図４】本開示の例示的一実施例が示すＨａｓｈバケットの構造模式図である。
【０００８】
【図５】本開示の例示的一実施例が示すキャッシュコンポーネントがストレージコンポーネントから読み取った第１フォワーディングエントリをキャッシュするフローチャートである。
【０００９】
【図６】本開示の例示的一実施例が示すネットワーク機器の構造模式図である。
【００１０】
【図７】本開示の例示的一実施例が示すネットワーク機器の別の構造模式図である。
【００１１】
【図８】本開示の例示的一実施例が示すフォワーディングエントリアクセス制御ロジックが含む機能モジュールの模式図である。
【００１２】
【図９】本開示の別の例示的一実施例が示すフォワーディングエントリアクセス制御ロジックが含む機能モジュールの模式図である。
【００１３】
【図１０】本開示のまた別の例示的一実施例が示すフォワーディングエントリアクセス制御ロジックが含む機能モジュールの模式図である。
【発明を実施するための形態】
【００１４】
ここで、図面と結び付けて例示的実施例を詳細に説明する。以下の記述に図面が言及される時、特に示されていない限り、異なる図面における同じ数字は、同一または類似する要素を示す。以下の例示的実施例において記述される実施形態は、本開示と一致するすべての実施形態を表すものではない。逆に、それらは、単に添付される特許請求の範囲に詳述される、本開示の一部の側面と一致する装置及び方法の例である。
【００１５】
本開示の以下の実施例において、フォワーディングエントリアクセス方法及び当該方法を応用可能なネットワーク機器を提供する。
【００１６】
図１に示すように、スイッチ、ルータ等のようなパケットをフォワーディングするためのネットワーク機器は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置）１０１と、フォワーディングコンポーネント１０２と、各々のフォワーディングテーブルを記憶するためのストレージコンポーネント１０３（例えば、ＤＤＲ  ＳＤＲＡＭ）と、ストレージコンポーネント１０３の読み取り/書き込みを制御するための記憶コントローラ１０４とを含む。一般的なフォワーディングエントリアクセス方法は、フォワーディングテーブルをストレージコンポーネント１０３に格納し、ネットワーク機器がパケットフォワーディングを行おうとする度に、フォワーディングコンポーネント１０２を介してストレージコンポーネント１０３でフォワーディングテーブルにおけるフォワーディングエントリを検索すべきである。本開示の実施例によれば、フォワーディングコンポーネント１０２とストレージコンポーネント１０３の間に、フォワーディングコンポーネント１０２が見つけたフォワーディングエントリをキャッシュするためのキャッシュコンポーネント１０５が追加される。フォワーディングコンポーネント１０２とキャッシュコンポーネント１０５とは、別個のハードウェアであっても良いし、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ、フィールドプログラマブルゲートアレイ）技術により実現されても良いし、これに制限がない。本開示の例において、フォワーディングコンポーネント１０２及びキャッシュコンポーネント１０５は、ＦＰＧＡチップ上のプログラマブルモジュールとして実現される。ＦＰＧＡチップに、記憶コントローラ１０４が更に設置されても良い。
【００１７】
ＣＰＵ１０１がＦＰＧＡ枠組文書をＦＰＧＡチップにロードし、ＦＰＧＡチップにより実行されて、ＦＰＧＡチップがフォワーディングコンポーネント１０２と、キャッシュコンポーネント１０５と、記憶コントローラ１０４とを含むようにする。ＣＰＵ１０１は、システムバスを介してフォワーディングコンポーネント１０２、ストレージコンポーネント１０３、記憶コントローラ１０４及びキャッシュコンポーネント１０５等の各々のコンポーネントに接続されて各々のコンポーネントに対して集中的制御を行う。
【００１８】
ストレージコンポーネント１０３に記憶されるフォワーディングテーブルは、主に次の２つの特徴を備える。
【００１９】
特徴１として、フォワーディングテーブルのアップデート率がとても低く、特に、回線速度を試験する時は、通常フォワーディングテーブルをアップデートしない。
【００２０】
特徴２として、フォワーディングテーブルにおいてフォワーディングエントリのアップデートが発生した時、フォワーディングコンポーネントは、同期的に最新フォワーディングエントリを読み取る必要がなく、即ち、フォワーディングコンポーネントは、少し遅れて最新フォワーディングエントリを読み取ったとしても、正確にパケットをフォワーディングする。
【００２１】
上記の２つの特徴に基づいて、本開示の以下の実施例において、フォワーディングコンポーネント１０２が送出したエントリ読み取りコマンドは、キャッシュコンポーネント１０５を介して処理される。ＣＰＵ１０１、フォワーディングコンポーネント１０２又はフォワーディングエントリをアップデートすべき、他のモジュールが送出したエントリ書き込みコマンドは、キャッシュコンポーネント１０５を介して処理される必要がない。キャッシュコンポーネント１０５は、ストレージコンポーネント１０３に送信されるエントリ書き込みコマンドを傍受しさえすれば、どのフォワーディングエントリがアップデートされるべきであるかを知り、キャッシュされた対応するフォワーディングエントリの状態を無効にアップデートする。フォワーディングコンポーネント１０２からアップデート後のフォワーディングエントリを読み取るエントリ読み取りコマンドが送信された時、キャッシュコンポーネント１０５は、ストレージコンポーネント１０３からアップデート後のフォワーディングエントリを取得してキャッシュする。
【００２２】
上記のフォワーディングテーブルは、例えば、ルーティングテーブル、ＭＡＣアドレステーブル、ＡＲＰテーブル等であって良いし、本開示の実施例は、これに対して限定しない。
【００２３】
これにより、図２が示すように、本開示の実施例に係るキャッシュコンポーネント１０５により実行されるフォワーディングエントリアクセス方法は、下記のステップを含む。
【００２４】
ステップＳ１０１で、キャッシュコンポーネントは、フォワーディングコンポーネントから送信された、ストレージコンポーネントにおける読み取られるべき第１フォワーディングエントリの記憶アドレスをキャリーするエントリ読み取りコマンドを受信する。
【００２５】
例えば、第１フォワーディングエントリの記憶アドレスは、第１フォワーディングエントリのストレージコンポーネントに記憶された開始アドレスである。
【００２６】
ステップＳ１０２で、キャッシュコンポーネントは、第１フォワーディングエントリの記憶アドレスに基づいて、ローカルで有効状態にあり且つ含む記憶アドレスが第１フォワーディングエントリの記憶アドレスと同一である第１Ｈａｓｈバケットを検索する。
【００２７】
キャッシュコンポーネント１０５は、Ｈａｓｈ（ハッシュ）テーブルを記憶する。当該Ｈａｓｈテーブルは、複数のＨａｓｈバケット行（Ｈａｓｈ  ｂｕｃｋｅｔ  ｌｉｎｅ）を含む。各々のＨａｓｈバケット行は、１つ又は複数のＨａｓｈバケット（Ｈａｓｈ ｂｕｃｋｅｔ）を含み、各々のＨａｓｈバケットは、それに対応するキャッシュスペースを有する。一般的に、Ｈａｓｈバケットはキャッシュスペースに１対１に対応する。或いは、Ｈａｓｈバケットに指針を設置して、指針により複数のＨａｓｈバケットを一セクションのキャッシュスペースに指しても良い。
【００２８】
本開示の実施例では、Ｈａｓｈバケットがキャッシュスペースに１対１に対応する場合を例として説明し、Ｈａｓｈバケットに対応するキャッシュスペースをエントリ（ｅｎｔｒｙ）と称する。従って、Ｈａｓｈバケット行は、エントリ行（ｅｎｔｒｙ  ｌｉｎｅ）に１対１に対応し、当該Ｈａｓｈバケット行におけるＨａｓｈバケットは、当該ｅｎｔｒｙ行におけるｅｎｔｒｙに１対１に対応する。ｅｎｔｒｙは、フォワーディングエントリの内容を保存するために用いられる。Ｈａｓｈバケットは、当該フォワーディングエントリが有効であるか否かを示すための状態タグと、ストレージコンポーネントに記憶される当該フォワーディングエントリの記憶アドレスと、タイムスタンプとを含む。Ｈａｓｈバケット行は、ユニークに当該Ｈａｓｈバケット行を識別するための識別子を有する。
【００２９】
図３を例として説明すると、キャッシュコンポーネント１０５のハッシュテーブルに、ｎ＋４個のＨａｓｈバケット行ｂｕｃｋｅｔ  ｌｉｎｅ０〜ｂｕｃｋｅｔ  ｌｉｎｅｎ＋３及びｎ＋４個のｅｎｔｒｙ行ｅｎｔｒｙ  ｌｉｎｅ０〜ｅｎｔｒｙ  ｌｉｎｅｎ＋３があり、その中で、ｂｕｃｋｅｔ  ｌｉｎｅ０はｅｎｔｒｙ  ｌｉｎｅ０に対応し、ｂｕｃｋｅｔ  ｌｉｎｅ１はｅｎｔｒｙ  ｌｉｎｅ１に対応し、以下同様に類推する。各々のＨａｓｈバケット行に、２個のＨａｓｈバケット、即ち、ｂｕｃｋｅｔ０及びｂｕｃｋｅｔ１が格納され、各々のｅｎｔｒｙ行にも、２個のｅｎｔｒｙ、即ち、ｅｎｔｒｙ０及びｅｎｔｒｙ１が格納された。その中で、ｂｕｃｋｅｔ  ｌｉｎｅ０におけるｂｕｃｋｅｔ０はｅｎｔｒｙ  ｌｉｎｅ０におけるｅｎｔｒｙ０に対応し、ｂｕｃｋｅｔ  ｌｉｎｅ０におけるｂｕｃｋｅｔ１はｅｎｔｒｙ  ｌｉｎｅ０におけるｅｎｔｒｙ１に対応し、以下同様に類推する。各々のＨａｓｈバケットの大きさは４０ｂｉｔ（ビット）に設定される。各々のｅｎｔｒｙの大きさは３２バイトに設定される。
【００３０】
図４に示すように、Ｈａｓｈバケットに以下のフィールドが含まれる。即ち、ｖａｌｉｄ、ｔｉｍｅ  ｓｔａｍｐ、及びＡＤＤＲ。
【００３１】
Ｖａｌｉｄ：状態タグであって、対応するｅｎｔｒｙに格納されたフォワーディングエントリが有効であるか否かを示すために用いられる。例えば、Ｖａｌｉｄが０に設定された時、対応するｅｎｔｒｙにキャッシュされたフォワーディングエントリが無効であることを示すか、或いは、対応するｅｎｔｒｙ内の内容が空であり、即ち、当該ｅｎｔｒｙにフォワーディングエントリがキャッシュされていないことを示す。初期化時に、Ｖａｌｉｄはデフォルトで０に設定される。Ｖａｌｉｄが１に設定された時、対応するｅｎｔｒｙにキャッシュされたフォワーディングエントリが有効であることを示し、Ｖａｌｉｄはｂｉｔ３９の1個のビットを占める。
【００３２】
Ｔｉｍｅ  ｓｔａｍｐ：タイムスタンプであって、当該Ｈａｓｈバケットにヒットする度に、当該タイムスタンプは現在時間にアップデートされ、Ｔｉｍｅ  ｓｔａｍｐは、ｂｉｔ３８〜ｂｉｔ３０の9個のビットを占める。
【００３３】
Ａｄｄｒ：ストレージコンポーネントにおける対応するｅｎｔｒｙに格納されたフォワーディングエントリの記憶アドレスであって、Ａｄｄｒは、ｂｉｔ２９〜ｂｉｔ０の３０個のビットを占める。
【００３４】
このように、ステップＳ１０２で、キャッシュコンポーネントは、先ず、当該エントリ読み取りコマンドにキャリーされる第１フォワーディングエントリの記憶アドレスに対してＨａｓｈ演算を行って、算出して得たＨａｓｈ値をインデックスとして対応するＨａｓｈバケット行を検索する。記述の便宜上、第１Ｈａｓｈバケット行と称する。そして、キャッシュコンポーネント１０５は、第１Ｈａｓｈバケット行で第１Ｈａｓｈバケットを検索する。キャッシュコンポーネント１０５は、第１Ｈａｓｈバケットが見つかった場合、第１フォワーディングエントリが第１Ｈａｓｈバケットに対応する第１エントリにキャッシュされたことを確定する。キャッシュコンポーネント１０５は、第１Ｈａｓｈバケットが見つからなかった場合、キャッシュコンポーネント１０５に第１フォワーディングエントリがキャッシュされていないことを確定する。
【００３５】
上記のＨａｓｈ演算は、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ、巡回冗長検査）又はＸＯＲ（ｅｘｃｌｕｓｉｖｅ  ＯＲ、排他的論理和）等の演算であって良い。
【００３６】
ステップＳ１０３で、キャッシュコンポーネントは、第１Ｈａｓｈバケットが見つかったか否かを判断する。そうである場合、ステップＳ１０４を実行し、そうでない場合、ステップＳ１０５を実行する。
【００３７】
ステップＳ１０４で、キャッシュコンポーネントは、第１Ｈａｓｈバケットに対応するキャッシュスペースにキャッシュされた第１フォワーディングエントリをフォワーディングコンポーネントに送信する。
【００３８】
具体的には、キャッシュコンポーネント１０５は、第１Ｈａｓｈバケットに対応する第１エントリにキャッシュされた第１フォワーディングエントリをフォワーディングコンポーネントに送信する。また、キャッシュコンポーネント１０５は、第１Ｈａｓｈバケットに含まれるタイムスタンプを現在時間にアップデートすべきである。
【００３９】
ステップＳ１０５で、キャッシュコンポーネントは、ストレージコンポーネントから第１フォワーディングエントリを読み取った後、第１フォワーディングエントリをフォワーディングコンポーネントに送信する。
【００４０】
例えば、ステップＳ１０５で、キャッシュコンポーネント１０５は、ストレージコンポーネント１０３に第１フォワーディングエントリを読み取るべきであることを示すためのエントリ読み取りコマンドを送信する。記憶コントローラ１０４は、当該エントリ読み取りコマンドを受信した後、ストレージコンポーネント１０３から第１フォワーディングエントリを読み取ってキャッシュコンポーネント１０５に送信する。キャッシュコンポーネント１０５は、第１フォワーディングエントリを受信した後、第１フォワーディングエントリをフォワーディングコンポーネント１０２にフォワーディングする。
【００４１】
本開示の例では、一つのフォワーディングコンポーネントのみを例示したが、これに制限性がなく、キャッシュコンポーネント１０５が複数のフォワーディングコンポーネントに対応する場合が存在しても良い。この場合、キャッシュコンポーネント１０５は、複数のフォワーディングコンポーネントから送信されたエントリ読み取りコマンドを受信することになる。このため、キャッシュコンポーネント１０５は、各々のフォワーディングコンポーネントから送信されたエントリ読み取りコマンドを受信した時、当該フォワーディングコンポーネントとエントリ読み取りコマンドの対応関係を記録し、即ち、エントリ読み取りコマンドがどのフォワーディングコンポーネントから送信されたものであるかを記録する。ステップＳ１０５で、記憶コントローラ１０４は、ストレージコンポーネント１０３から第１フォワーディングエントリを読み取った後、第１フォワーディングエントリをキャッシュコンポーネント１０５に送信する。キャッシュコンポーネント１０５は、記録された対応関係に基づいて、第１フォワーディングエントリを対応するフォワーディングコンポーネントに送信する。
【００４２】
ストレージコンポーネント１０３から第１フォワーディングエントリを読み取った後、キャッシュコンポーネント１０５は、さらに、当該第１フォワーディングエントリをキャッシュする。図５に示すように、下記のステップが含まれる。
【００４３】
ステップＳ２０１で、キャッシュコンポーネント１０５は、第１フォワーディングエントリの記憶アドレスに基づいて、無効状態にある第２Ｈａｓｈバケットを検索する。
【００４４】
キャッシュコンポーネント１０５は、第１フォワーディングエントリの記憶アドレスに対してＨａｓｈ演算を行い、算出して得たＨａｓｈ値をインデックスとして対応するＨａｓｈバケット行、即ち、第１Ｈａｓｈバケット行を検索し、第１Ｈａｓｈバケット行から第２Ｈａｓｈバケットを検索する。
【００４５】
ステップＳ２０２で、キャッシュコンポーネント１０５は、第２Ｈａｓｈバケットが見つかったか否かを判断する。そうである場合、ステップＳ２０３を実行する。そうでない場合、ステップＳ２０４を実行する。
【００４６】
ステップＳ２０３で、キャッシュコンポーネント１０５は、第１フォワーディングエントリを第２Ｈａｓｈバケットに対応するキャッシュスペースに書き込み、第２Ｈａｓｈバケットの状態を有効にアップデートし、第２Ｈａｓｈバケットに含まれる記憶アドレスを第１フォワーディングエントリの記憶アドレスにアップデートし、第２Ｈａｓｈバケットに含まれるタイムスタンプを現在時間にアップデートする。
【００４７】
ステップＳ２０３で、キャッシュコンポーネント１０５は、第１フォワーディングエントリを第２Ｈａｓｈバケットに対応する第２エントリに書き込み、第２Ｈａｓｈバケットに含まれる状態タグを有効にアップデートする。
【００４８】
ステップＳ２０４で、キャッシュコンポーネント１０５は、第１フォワーディングエントリの記憶アドレスに基づいて、含むタイムスタンプと現在時間の差分値が予め設定されたタイムアウト時間より大きい第３Ｈａｓｈバケットを検索する。
【００４９】
ステップＳ２０４で、キャッシュコンポーネント１０５は、第１Ｈａｓｈバケット行で第３Ｈａｓｈバケットを検索する。
【００５０】
ステップＳ２０５で、キャッシュコンポーネント１０５は、第３Ｈａｓｈバケットが見つかったか否かを判断する。そうである場合、ステップＳ２０６を実行する。そうでない場合、本フローを退出する。
【００５１】
ステップＳ２０６で、キャッシュコンポーネント１０５は、第１フォワーディングエントリを第３Ｈａｓｈバケットに対応するキャッシュスペースに書き込み、第３Ｈａｓｈバケットに含まれるタイムスタンプを現在時間にアップデートし、第３Ｈａｓｈバケットに含まれる記憶アドレスを第１フォワーディングエントリの記憶アドレスにアップデートする。
【００５２】
ステップＳ２０６で、キャッシュコンポーネント１０５は、第１フォワーディングエントリを第３Ｈａｓｈバケットに対応する第３エントリに書き込む。
【００５３】
明らかに、第１Ｈａｓｈバケット行に第２Ｈａｓｈバケットが存在せず、第３Ｈａｓｈバケットも存在しない場合、キャッシュコンポーネント１０５は、第１フォワーディングエントリをキャッシュしない。
【００５４】
図５に示すようなフローにおいて、キャッシュコンポーネント１０５は、ストレージコンポーネント１０３からフォワーディングエントリを読み取った後、エージングしたフォワーディングエントリが占用するキャッシュスペースを、読み取られた新しいフォワーディングエントリに新たに提供して使用し、キャッシュスペースの利用率を向上させる。
【００５５】
また、キャッシュコンポーネント１０５は、周期的にＨａｓｈテーブルをスキャンして、エージングしたフォワーディングエントリの状態を無効にアップデートして、後続的にストレージコンポーネントから読み取った新しいフォワーディングエントリをキャッシュするようにする。この時、周期的に以下のステップを実行する。即ち、各々のＨａｓｈバケットに対して、当該Ｈａｓｈバケットに含まれるタイムスタンプと現在時間の差分値が予め設定されたタイムアウト時間より大きいか否かを判断する。そうである場合、当該Ｈａｓｈバケットを無効状態にアップデートする。
【００５６】
説明すべきことは、周期的にＨａｓｈテーブルをスキャンする方式により、フォワーディングエントリ検索をトリガーする前に各々のＨａｓｈバケットの状態タグをアップデートする。従って、フォワーディングエントリ検索を行う時、状態タグ及び記憶アドレスのみに基づいて当該Ｈａｓｈバケット及び当該Ｈａｓｈバケットに対応するエントリが新しいフォワーディングエントリによりカバーできるか否かを確定できる。従って、キャッシュコンポーネントの演算ストレスを低減する。Ｈａｓｈバケットが有効であることを確定した後にタイムスタンプ判断を行う順次実行方式は、毎回の検索に基づいて判断し、周期的スキャニングの演算ストレスを低減する。どの方式によりタイムスタンプを処理するかを考慮する時、キャッシュコンポーネントにおけるＨａｓｈテーブルの大きさ及びキャッシュコンポーネントにおけるアップデート状況に基づいて判断する。Ｈａｓｈテーブルの規格が比較的に大きく且つキャッシュコンポーネントにおけるアップデートが比較的に少なく、周期的にスキャンするストレスが比較的に大きい場合、順次実行方式を用いる。Ｈａｓｈテーブルの規格が比較的に小さく且つキャッシュコンポーネントにおけるアップデートが比較的に多く、順次実行方式において判断される演算ストレスが相対的に大きい場合、周期的スキャンの方式を用いる。
【００５７】
また、キャッシュコンポーネント１０５は、さらに、ストレージコンポーネント１０３に送信される、ストレージコンポーネントに書き込まれるべき第２フォワーディングエントリの記憶アドレスをキャリーするエントリ書き込みコマンドを傍受する。例えば、ストレージコンポーネント１０３に送信されるすべてのエントリ書き込みコマンドを受信するための記憶コントローラ１０４の書き込みインターフェースを傍受する。上記のエントリ書き込みコマンドは、ＣＰＵ１０１、フォワーディングコンポーネント１０２、又はフォワーディングエントリがアップデートされるべき他のモジュールが送出したものであって良い。キャッシュコンポーネント１０５の傍受作業量を節約し、傍受効率を向上させるために、キャッシュコンポーネント１０５は、ストレージコンポーネント１０３に送信される、以下の条件を満たすエントリ書き込みコマンドのみを傍受する。この条件は、エントリ書き込みコマンドにキャリーされる、ストレージコンポーネントに書き込まれるべき第２フォワーディングエントリの記憶アドレスは対応する記憶アドレスレンジ内にあることを含む。
【００５８】
例えば、ストレージコンポーネント１０３の総記憶スペースの大きさは、４ＧＢであり、その中で、１ＧＢ〜２.５ＧＢ及び３ＧＢ〜３.５ＧＢ、この2つの記憶アドレスレンジは、各々のフォワーディングテーブルを記憶するために用いられる。このため、キャッシュコンポーネント１０５は、キャリーされる記憶アドレスがこの2つの記憶アドレスレンジ内にあるエントリ書き込みコマンドのみを傍受すれば良い。或いは、フォワーディングコンポーネント１０２とストレージコンポーネント１０３の間に複数のキャッシュコンポーネントが存在し、各々のキャッシュコンポーネントに一つの記憶アドレスレンジを割り当てる。このように、各々のキャッシュコンポーネントは、キャリーされる記憶アドレスが相応する記憶アドレスレンジ内にあるエントリ書き込みコマンドを傍受しさえすれば良い。
【００５９】
キャッシュコンポーネント１０５は、何れかのエントリ書き込みコマンドを傍受した後、当該エントリ書き込みコマンドにキャリーされる第２フォワーディングエントリの記憶アドレスに基づいて、有効状態にあり且つ含む記憶アドレスが第２フォワーディングエントリの記憶アドレスと同一である第４Ｈａｓｈバケットを検索する。キャッシュコンポーネント１０５は、第４Ｈａｓｈバケットが見つかった場合、第４Ｈａｓｈバケットの状態を無効にアップデートする。具体的には、キャッシュコンポーネント１０５は、第２フォワーディングエントリの記憶アドレスに対してＨａｓｈ演算を行い、算出して得たＨａｓｈ値をインデックスとして対応するＨａｓｈバケット行を検索する。記述の便宜上、第２Ｈａｓｈバケット行と称する。そして、キャッシュコンポーネント１０５は、在第２Ｈａｓｈバケット行で第４Ｈａｓｈバケットを検索する。見つかった場合、第２フォワーディングエントリは第４Ｈａｓｈバケットに対応する第４エントリにキャッシュされたことを示する。この場合、キャッシュコンポーネント１０５は、第４Ｈａｓｈバケットに含まれる状態タグを無効にアップデートする。
【００６０】
また、キャッシュコンポーネント１０５は、フォワーディングコンポーネントから送信されるエントリ読み取りコマンドを受信した可能性があり、ストレージコンポーネントに送信されるエントリ書き込みコマンドを傍受した可能性もある。この時、キャッシュコンポーネント１０５は、エントリ書き込みコマンドを優先的に処理する。従って、ストレージコンポーネントにおけるフォワーディングエントリのアップデートが発生した時、キャッシュコンポーネント１０５における相応するフォワーディングエントリをタイムリーにアップデートするように確保する。
【００６１】
本開示の上記の実施例に係る方法において、フォワーディングコンポーネントとストレージコンポーネントの間にキャッシュコンポーネントが追加される。キャッシュコンポーネントは、フォワーディングコンポーネントのエントリ読み取りコマンドを処理し、当該エントリ読み取りコマンドにキャリーされる読み取りべきフォワーディングエントリの記憶アドレスに基づいて、ローカルで有効状態にあり且つ含む記憶アドレスが当該フォワーディングエントリの記憶アドレスと同一であるＨａｓｈバケットを検索する。見つかった時、キャッシュコンポーネントに当該フォワーディングエントリにキャッシュされており且つ当該Ｈａｓｈバケットに対応するキャッシュスペースにキャッシュされていることを示す。この場合、キャッシュコンポーネントは、キャッシュされたフォワーディングエントリをフォワーディングコンポーネントに送信さする。見つからなかった時、キャッシュコンポーネントに当該フォワーディングエントリがキャッシュされていないことを示す。この場合、キャッシュコンポーネントは、ストレージコンポーネントから当該フォワーディングエントリを読み取った後、読み取った当該フォワーディングエントリをフォワーディングコンポーネントに送信する。
【００６２】
上記の方法は、フォワーディングエントリのキャッシュ方案を実現する。キャッシュコンポーネントは、フォワーディングコンポーネントから送信されたエントリ読み取りコマンドのみを処理し、従って、比較的に高いエントリ読み取り性能を保証する。さらに、キャッシュコンポーネントは、ストレージコンポーネントに送信されるエントリ書き込みコマンドを傍受することで、ストレージコンポーネントにおけるどのようなフォワーディングエントリがアップデートされるべきであるかを知り、キャッシュコンポーネントにキャッシュされた対応するフォワーディングエントリの状態を無効にアップデートする。後続的に、キャッシュコンポーネントは、フォワーディングコンポーネントから送信された当該フォワーディングエントリを読み取るためのエントリ読み取りコマンドを受信した後、ストレージコンポーネントからアップデート後のフォワーディングエントリを読み取ってキャッシュすれば良い。従って、フォワーディングエントリのアップデートをより簡単に実現する。
【００６３】
前述したフォワーディングエントリアクセス方法の実施例に対応して、本開示は、当該フォワーディングエントリ方法を応用するネットワーク機器の実施例を更に提供する。
【００６４】
当該ネットワーク機器は、ハードウェア又はソフトウェアとハードウェアの組み合わせの方式により実現される。ハードウェアの観点から言うと、当該ネットワーク機器は、ＦＰＧＡにより実現される。図６を参照すると、本開示の実施例のネットワーク機器は、フォワーディングコンポーネント１０と、キャッシュコンポーネント２０と、ストレージコンポーネント３０とを含む。フォワーディングコンポーネント１０及びキャッシュコンポーネント２０は、ＦＰＧＡチップ上に設置される。ＦＰＧＡの電源が入った後、ＦＧＰＡによりＦＰＧＡ枠組文書をロードして、フォワーディングコンポーネント１０及びキャッシュコンポーネント２０等を含む複数のモジュールを形成する。ストレージコンポーネント３０は、別個のＤＤＲ  ＳＤＲＡＭのような記憶媒体であっても良いし、フォワーディングコンポーネント１０及びキャッシュコンポーネント２０とともにＦＰＧＡにより実現されても良い。
【００６５】
別の実施例において、当該ネットワーク機器は、ソフトウェアとハードウェアの組み合わせの技術により実現される。図７に示すように、当該ネットワーク機器は、フォワーディングコンポーネント１０と、キャッシュコンポーネント２０と、ストレージコンポーネント３０とを含む。キャッシュコンポーネント２０は、プロセッサ７０１と、機械実行可能命令が記憶された機械可読記憶媒体７０２とを含む。プロセッサ７０１と機械可読記憶媒体７０２とは、システムバス７０３を介して通信する。さらに、機械可読記憶媒体７０２におけるフォワーディングエントリアクセス制御ロジックに対応する機械実行可能命令を読み取って実行することで、プロセッサ７０１は、前述したフォワーディングエントリアクセス方法を実行する。
【００６６】
本文で言及された機械可読記憶媒体７０２は、いかなる電子、磁気、光学又は他の物理的なストレージコンポーネントであって良いし、例えば、実行可能命令、データ等の情報を格納又は記憶する。例えば、機械可読記憶媒体は、ＲＡＭ（Ｒａｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ランダムアクセスメモリ）、揮発性メモリ、不揮発性メモリ、フラッシュメモリ、記憶ドライブ（例えば、ハードディスクドライバ）、ソリッドステートドライブ、いかなる類型の記憶ディスク（例えば、コンパクトディスク、ｄｖｄ等）、或いは、類似した記憶媒体又はそれらの組み合わせであって良い。
【００６７】
図８に示すように、機能から分けて、上記のフォワーディングエントリ制御ロジックは、機能モジュールである受信ユニット２０１と、検索ユニット２０２と、読み取りユニット２０３と、送信ユニット２０４とを含む。
受信ユニット２０１は、フォワーディングコンポーネント１０から送信された、ストレージコンポーネント３０に記憶される、読み取られるべき第１フォワーディングエントリの記憶アドレスをキャリーするエントリ読み取りコマンドを受信するために用いられる。
検索ユニット２０２は、受信ユニット２０１がエントリ読み取りコマンドを受信した後、第１フォワーディングエントリの記憶アドレスに基づいて、キャッシュコンポーネント２０で有効状態にあり且つ含む記憶アドレスが第１フォワーディングエントリの記憶アドレスと同一である第１Ｈａｓｈバケットを検索するために用いられる。
読み取りユニット２０３は、検索ユニット２０２が第１Ｈａｓｈバケットを見つけられなかった時、ストレージコンポーネント３０から第１フォワーディングエントリを読み取るために用いられる。
送信ユニット２０４は、検索ユニット２０２が第１Ｈａｓｈバケットを見つけた時、第１Ｈａｓｈバケットに対応するキャッシュスペースにキャッシュされた第１フォワーディングエントリをフォワーディングコンポーネント１０に送信するために用いられる。送信ユニット２０４は、さらに、検索ユニット２０２が第１Ｈａｓｈバケットを見つけられなかった時、読み取りユニット２０３が読み取った第１フォワーディングエントリをフォワーディングコンポーネント１０に送信するために用いられる。
【００６８】
また、図９に示すように、キャッシュコンポーネント２０は、書き込みアップデートユニット２０５を更に含む。その中で、
【００６９】
検索ユニット２０２は、さらに、読み取りユニット２０３がストレージコンポーネント３０から第１フォワーディングエントリを読み取った後、第１フォワーディングエントリの記憶アドレスに基づいて、無効状態にある第２Ｈａｓｈバケットを検索するために用いられる。
【００７０】
書き込みアップデートユニット２０５は、検索ユニット２０２が第２Ｈａｓｈバケットを見つけた時、読み取りユニット２０３が読み取った第１フォワーディングエントリを第２Ｈａｓｈバケットに対応するキャッシュスペースに書き込み、第２Ｈａｓｈバケットの状態を有効にアップデートし、第２Ｈａｓｈバケットに含まれる記憶アドレスを第１フォワーディングエントリの記憶アドレスにアップデートするために用いられる。
【００７１】
Ｈａｓｈバケットは、タイムスタンプを更に含む。書き込みアップデートユニット２０５は、さらに、第１Ｈａｓｈバケットに含まれるタイムスタンプを、送信ユニット２０４が第１Ｈａｓｈバケットに対応するキャッシュスペースにキャッシュされた第１フォワーディングエントリをフォワーディングコンポーネント１０に送信する時の時間にアップデートし、第２Ｈａｓｈバケットに含まれるタイムスタンプを、読み取りユニット２０３が読み取った第１フォワーディングエントリを第２Ｈａｓｈバケットに対応するキャッシュスペースに書き込む時の時間にアップデートする。
【００７２】
検索ユニット２０２は、さらに、第２Ｈａｓｈバケットを見つけられなかった時、第１フォワーディングエントリの記憶アドレスに基づいて、含むタイムスタンプと現在時間の差分値が予め設定されたタイムアウト時間より大きい第３Ｈａｓｈバケットを検索する。
【００７３】
書き込みアップデートユニット２０５は、さらに、検索ユニット２０２が第３Ｈａｓｈバケットを見つけた時、読み取りユニット２０３が読み取った第１フォワーディングエントリを第３Ｈａｓｈバケットに対応するキャッシュスペースに書き込み、第３Ｈａｓｈバケットに含まれるタイムスタンプを、前記第１フォワーディングエントリを前記第３Ｈａｓｈバケットに対応するキャッシュスペースに書き込む時間にアップデートし、第３Ｈａｓｈバケットに含まれる記憶アドレスを第１フォワーディングエントリの記憶アドレスにアップデートする。
【００７４】
書き込みアップデートユニット２０５は、さらに、各々のＨａｓｈバケットに対して、当該Ｈａｓｈバケットに含まれるタイムスタンプと現在時間の差分値が予め設定されたタイムアウト時間より大きいか否かを判断し、前記差分値が前記予め設定されたタイムアウト時間より大きい時、当該Ｈａｓｈバケットの状態を無効にアップデートする。
【００７５】
図１０に示すように、キャッシュコンポーネント２０は、傍受ユニット２０６と、状態アップデートユニット２０７とを更に含む。
【００７６】
傍受ユニット２０６は、ストレージコンポーネント３０に送信される、ストレージコンポーネント３０に書き込まれるべき第２フォワーディングエントリの記憶アドレスをキャリーするエントリ書き込みコマンドを傍受するために用いられる。
【００７７】
検索ユニット２０２は、さらに、傍受ユニット２０６がエントリ書き込みコマンドを傍受した後、第２フォワーディングエントリの記憶アドレスに基づいて、有効状態にあり且つ含む記憶アドレスが第２フォワーディングエントリの記憶アドレスと同一である第４Ｈａｓｈバケットを検索するために用いられる。
【００７８】
状態アップデートユニット２０７は、検索ユニット２０２が第４Ｈａｓｈバケットを見つけた時、第４Ｈａｓｈバケットの状態を無効にアップデートするために用いられる。
【００７９】
傍受ユニット２０６は、さらに、ストレージコンポーネント３０に送信される、以下の条件を満たすエントリ書き込みコマンドを傍受する。この条件は、エントリ書き込みコマンドにキャリーされる、書き込まれるべき第２フォワーディングエントリの記憶アドレスは対応する記憶アドレスレンジ内にあることを含む。
【００８０】
上記の装置における各々のユニットの機能及び作用の実現過程の具体的な詳細は、上記の方法における対応するステップの実現過程を参照すれば良く、ここでは繰り返し説明しないことにする。
【００８１】
装置実施例は、基本的に方法例に対応するため、関連箇所は、方法例の部分の説明を参照すれば良い。以上記述された装置例は、ただ模式的なものであり、その中で記載された分離部品として説明されたユニットは、物理的に分かれていてもいなくても良く、ユニットとして表示された部品は、物理ユニットであってもなくても良く、即ち、一つの場所に位置しても良く、又は複数のネットワークユニットに分布されても良い。実際の必要に応じてそのうち一部又は全部のモジュールを選んで本開示の方案の目的を実現することができる。本分野における通常の知識を有する者は、創造的労働をせずに理解及び実施することができる。
【００８２】
本開示に使用される用語は、単に特定の実施例を記述するための目的であり、本開示を制限することを意図していない。本開示及び添付される特許請求の範囲に使用される単数形態「一」、「前記」及び「当該」は、文脈で明らかに他の意味が示されていない限り、複数形態も含むことを意図する。なお、理解すべきことは、本文に使用される用語「及び／又は」一つ又は複数の関連するリストされたアイテムを含む任意の又はすべての可能な組み合わせを指す。
【００８３】
本開示において用語第１、第２、第３等を用いて各種の情報を記述する可能性があるが、これらの情報は、これらの用語に制限されるべきではない。これらの用語は、単に同一類型の情報を互いに区分するために用いられる。例えば、本開示の範囲を逸脱しない前提で、第１情報は、第２情報とも称されることができ、同様に、第２情報も第１情報と称されることができる。文脈に応じて、本文に使用されるような単語「若し」は、「……時」又は、“……場合”、又は「に応答して確定する」として解釈されることができる。
【００８４】
上記のものは、単に本開示の好ましい実施例であり、本開示を制限するために用いられない。本開示の精神及び原則の範囲内でなされるいかなる修正、均等物による置換、改善等は、全て本開示の保護の範囲内に含まれるべきである。
【図１】
2019522427.tif 000003
【図２】
2019522427.tif 000004
【図３】
2019522427.tif 000005
【図４】
2019522427.tif 000006
【図５】
2019522427.tif 000007
【図６】
2019522427.tif 000008
【図７】
2019522427.tif 000009
【図８】
2019522427.tif 000010
【図９】
2019522427.tif 000011
【図１０】
2019522427.tif 000012
【国際調査報告】
2019522427.tif 000013
2019522427.tif 000014
2019522427.tif 000015
2019522427.tif 000016