(57)【特許請求の範囲】
【請求項１】
シングルチップで構成されるメモリ機器であって、
ネットワーク機能のうち少なくとも、経路制御、帯域制御、トラヒック監視、バッファ、及びアクセス制御が機能し、
メモリ部と、
前記ネットワーク機能を発揮させるネットワーク機能部と、
前記メモリ部と前記ネットワーク機能部との第１ルートと、前記メモリ部の第２ルートとを切替えるセレクタ部と、
を備えるメモリ機器。
【請求項２】
前記セレクタ部は、メタルマスクとアドレスキーのうち少なくとも一方により実現される、
請求項１に記載のメモリ機器。
【請求項３】
前記ネットワーク機能部は、前記メモリ部に対するテストモード用の比較器群により構成される、
請求項１又は２に記載のメモリ機器。
【請求項４】
前記メモリ部は、第１メモリ部及び第２メモリ部を有し、
前記第１メモリ部に蓄積されたデータに対して、入力された検索キーを参照する検索動作を実行する検索部と、
前記検索部においてヒットした検索キー毎に前記第１メモリ部のアドレスを対応させ、当該アドレスの統計情報を前記第２メモリ部に記憶させる統計情報処理部と、
前記検索部によりヒットする毎に前記統計情報を更新する演算部と、
を備える請求項１乃至３のうちいずれか１項に記載のメモリ機器。
【請求項５】
前記検索部は、検索キーのビット幅を可変できる機能を有する、
請求項４に記載のメモリ機器。
【請求項６】
前記検索部は、情報の書き込みが成功か不成功かを示す判定信号を出力する機能を有する、
請求項４に記載のメモリ機器。
【請求項７】
前記検索部は、ホワイトリスト方式の前記アクセス制御と、ブラックリスト方式の前記アクセス制御とを選択的に実行する、
請求項４に記載のメモリ機器。
【請求項８】
ネットワークを構成する個々の装置と、当該個々の装置を制御するネットワークコントローラとを含む情報処理システム内に、前記メモリ機器は、前記個々の装置毎に１つずつ接続されて設けられ、
前記メモリ機器は、
前記個々の装置のうち接続されたもののトラヒックを監視してデータを取得して前記ネットワークコントローラへ送信する機能と、
前記ネットワークコントローラにおいて前記個々の装置のデータが解析されて前記個々の装置への制御情報が生成されて送信されてきた場合、当該制御情報を受信し、当該制御情報に基づいて前記個々の装置のうち接続されたものを制御する機能と、
を備える請求項１に記載のメモリ機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ機器に関する。
【背景技術】
【０００２】
従来、パーソナルコンピュータ（以下、「ＰＣ」と適宜略記する）やサーバは、限られたメーカによって製造販売されるＩＴ機器であった。ところが、近年では、プロセッサやメモリ等、機器内部で使用されるコンポーネントが汎用化したため、誰でもが組立可能なＩＴ機器に変貌した。
加えて、ＰＣやサーバは、ＯＳをはじめアプリケーションソフトウェアもコモディティ化し、誰もが開発者や技術提案者になることが可能なオープンプラットフォームを採用したものが一般的になっている。
このような現状のＰＣやサーバ等のシステムのように、装置の筐体は異なっても内部仕様は構成が可視化されたシステムは、「Ｗｈｉｔｅ  Ｂｏｘ」等と呼ばれている。
【０００３】
ルータやスイッチ等ネットワーク機器（例えば特許文献１乃至３参照）も、従来、限られたメーカのみによって支配される特殊なＩＴ機器市場であったが、ＮＦＶ（Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎｓ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ）という言葉が近年登場しているように、その近年の動向は、ＰＣやサーバと同様である。
例えば、低コスト型のエンタープライズ向け機種等については、プロセッサやメモリのコモディティ化によって、誰でもが製造できるオープンプラットフォーム化が徐々に浸透しつつある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−３８５３６号公報
【特許文献２】特開２０１２−２７９９８号公報
【特許文献３】特許第４９３４８２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＮＦＶやネットワークのコモディティ化に際して、ネットワーク機能の拡張、例えば検索を伴う経路制御等の拡張が必要である。
この場合、図１５に示す様に、特殊なメモリ等、高価で消費電力も大きいコンポーネントが複数個必要であった。
【０００６】
図１５は、ネットワーク機能を実現するための従来の情報処理システムの構成例を示すブロック図である。
例えば、図１５に示す従来の情報処理システムは、サーバやＰＣに内蔵される基板上に実装される。
従来の情報処理システムは、ネットワークプロセッサ１２と、ＣＰＵ１３と、複数個（図１５の例では４個）の通信デバイス１４ａ乃至１４ｄと、ＴＣＡＭ５０１と、ＳＲＡＭ５０２と、ＤＲＡＭ５０３とを備えている。
従来の情報処理システムでは、ネットワークプロセッサ１２の機能を拡張する場合、様々なメモリが必要である。例えば、経路制御及びトラヒック監視の実現のためにＴＣＡＭ５０１が使用され、経路制御、帯域制御、及びトラヒック監視のためにＳＲＡＭ５０２が使用され、バッファとして大容量可能なＤＲＡＭ５０３が使用されていた。
これらのＴＣＡＭ５０１と、ＳＲＡＭ５０２と、ＤＲＡＭ５０３とは、高価で消費電力も大きいコンポーネントである。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、ＮＦＶやネットワークのコモディティ化に際して、安価かつ低消費電力で、ネットワーク機能の拡張を容易に実現可能にすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様のメモリ機器は、
シングルチップで構成されるメモリ機器であって、
ネットワーク機能のうち少なくとも、経路制御、帯域制御、トラヒック監視、バッファ、及びアクセス制御が機能する、
メモリ機器である。
【０００９】
ここで、メモリ機器は、
第１メモリ部を有し、前記第１メモリ部に蓄積されたデータに対して、入力された検索キーを参照する検索動作を実行する検索部と、
前記検索部においてヒットした検索キー毎に前記第１メモリ部のアドレスを対応させ、当該アドレスの統計情報を記憶する第２メモリ部を有する統計情報処理部と、
前記検索部によりヒットする毎に前記統計情報を更新する演算部と、
を備えることができる。
【００１０】
前記検索部は、検索キーのビット幅を可変できる機能を有する、
ことができる。
【００１１】
前記検索部は、情報の書き込みが成功か不成功かを示す判定信号を出力する機能を有する、
ことができる。
【００１２】
前記検索部は、ホワイトリスト方式の前記アクセス制御と、ブラックリスト方式の前記アクセス制御とを選択的に実行する、
ことができる。
【００１３】
ネットワークを構成する個々の装置と、当該個々の装置を制御するネットワークコントローラとを含む情報処理システム内に、前記メモリ機器は、前記個々の装置毎に１つずつ接続されて設けられ、
前記メモリ機器は、
前記個々の装置のうち接続されたもののトラヒックを監視してデータを取得して前記ネットワークコントローラへ送信する機能と、
前記ネットワークコントローラにおいて前記個々の装置のデータが解析されて前記個々の装置への制御情報が生成されて送信されてきた場合、当該制御情報を受信し、当該制御情報に基づいて前記個々の装置のうち接続されたものを制御する機能と、
を備えることができる。
【００１４】
前記メモリ機器は、
メモリ部と、
前記ネットワーク機能を発揮させるネットワーク機能部と、
前記メモリ部と前記ネットワーク機能部との第１ルートと、前記メモリ部の第２ルートとを切替えるセレクタ部と、
を備えることができる。
【００１５】
前記セレクタ部は、メタルマスクとアドレスキーのうち少なくとも一方により実現される、
ようにすることができる。
【００１６】
前記ネットワーク機能部は、前記メモリ部に対するテストモード用の比較器群により構成される、
ようにすることができる。
【発明の効果】
【００１７】
本発明によれば、ＮＦＶやネットワークのコモディティ化に際して、安価かつ低消費電力で、ネットワーク機能の拡張が容易に実現可能になる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態に係る情報処理システムの構成例を示すブロック図である。
【図２】本発明の一実施形態に係る情報処理システムの構成例であって、図１の例とは異なる例を示すブロック図である。
【図３】図１又は図２の情報処理システムのポコウォッチャの機能のうち、ネットワーク機能を実現するための機能ブロック図である。
【図４】図１又は図２の情報処理システムのポコウォッチャの機能のうち、マイニング機能を実現するための機能ブロック図である。
【図５】図１又は図２の情報処理システムのポコウォッチャのハードウェア構成のうち、図３の経路制御部若しくはトラヒック監視部、又は図４のクラスタリング部若しくはランキング部が機能する場合に動作するハードウェア構成の一例を示す図である。
【図６】図１又は図２の情報処理システムのポコウォッチャのハードウェア構成のうち、図３の経路制御部若しくはトラヒック監視部、又は図４のクラスタリング部若しくはランキング部が機能する場合に動作するハードウェア構成の一例であって、図５とは異なる例を示す図である。
【図７】図６の例のポコウォッチャのうち、メモリセルアレイ、センスアンプ＆セレクター及び演算部の拡大図を示している。
【図８】図３の経路制御部とバッファ部との各機能を組合せたルーター機能を説明するための模式図である。
【図９】図１又は図２の情報処理システムのポコウォッチャの検索エンジンのハードウェア構成の一例であって、図５、図６とは異なる例を示す図である。
【図１０】図１又は図２の情報処理システムのポコウォッチャの検索エンジンのハードウェア構成の一例であって、図５、図６、図９とは異なる例を示す図である。
【図１１】本発明の一実施形態に係る情報処理システムであって、２つの検索エンジンを用いた情報処理システムの構成例を示す図である。
【図１２】図１１の情報処理システムの動作例を示す図である。
【図１３】本発明の一実施形態に係る情報処理システムの構成例であって、図１や図２の例とは異なる例を示すブロック図である。
【図１４】本発明の一実施形態に係る情報処理システムの構成例であって、図１、図２、図１３の例とは異なる例を示すブロック図である。
【図１５】ネットワーク機能を実現するための従来の情報処理システムの構成例を示すブロック図である。
【図１６】図１又は図２の情報処理システムのポコウォッチャの別の構成例を示すブロック図である。
【図１７】図１６のポコウォッチャの接続の状態を示す図である。
【図１８】ネットワーク機能を実現するための従来の情報処理システムの構成例と、図１６のポコウォッチャを含む情報処理システムの構成例との比較図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態について、図面を用いて説明する。
【００２０】
図１は、本発明の一実施形態に係る情報処理システムの構成例を示すブロック図である。
例えば、図１に示す情報処理システムは、サーバやＰＣに内蔵される基板上に実装される。
情報処理システムは、本発明が適用される電子機器の一実施形態としてのポコウォッチャ１１と、ネットワークプロセッサ１２と、ＣＰＵ１３と、複数個（図１の例では４個）の通信デバイス１４ａ乃至１４ｄとを備えている。
【００２１】
ネットワークプロセッサ１２の機能を拡張する場合、従来においては上述した様に、様々なメモリが必要であった。例えば上述した図１５の従来例では、経路制御及びトラヒック監視の実現のためにＴＣＡＭ５０１が使用され、経路制御、帯域制御、及びトラヒック監視のためにＳＲＡＭ５０２が使用され、バッファとして大容量可能なＤＲＡＭ５０３が使用されていた。
これに対して、本実施形態の情報処理システムにおいては、ポコウォッチャ１１は、ＤＲＡＭプロセスが可能なシングルチップで構成されているため、大容量なバッファにも対応可能である。このため、図１に示す様に、ポコウォッチャ１１をネットワークプロセッサ１２に接続するといった構成のみで、当該ネットワークプロセッサ１２の機能を拡張させることができる。
【００２２】
なお、情報処理システムの構成自体は、ネットワークプロセッサ１２とポコウォッチャ１１とが通信可能な構成であれば足り、図１の構成に特に限定されない。
【００２３】
図２は、本発明の一実施形態に係る情報処理システムの構成例であって、図１の例とは異なる例を示すブロック図である。
図２（ａ）の例の情報処理システムにおいては、図１の例の差異点として、通信デバイス１４ａ乃至１４ｄがポコウォッチャ１１に接続されている。
図２（ｂ）の例の情報処理システムにおいては、図１の例の差異点として、図示せぬルータ等と接続される通信デバイス１４ｅが、ポコウォッチャ１１に接続されている。
なお、図２（ａ），（ｂ）の構成は、例示に過ぎず、例えば図示はしないが、ポコウォッチャ１１を２個用意して、通信デバイス１４ｅとネットワークプロセッサ１２との間と、ネットワークプロセッサ１２と通信デバイス１４ａ乃至１４ｄの間とに、夫々１個ずつポコウォッチャ１１を同時に挿入してもよい。
【００２４】
図３は、ポコウォッチャ１１の機能のうち、ネットワーク機能を実現するための機能ブロック図を示している。
図３に示す様に、ポコウォッチャ１１においては、経路制御部３１と、帯域制御部３２と、トラヒック監視部３３と、バッファ部３４と、アクセス制御部３５と、主制御部３６とが機能する。
【００２５】
経路制御部３１は、従来のＴＣＡＭ，ＨＳ  ＳＲＡＭにより実現されていた経路制御と同等機能を実現する。
帯域制御部３２は、従来のＨＳ  ＳＲＡＭ，ＬＬＤＲＡＭにより実現されていた帯域制御と同等機能を実現する。
トラヒック監視部３３は、従来のＴＣＡＭ，ＨＳ  ＳＲＡＭカウンター，ＡＬＵにより実現されていたトラヒック監視と同等機能を実現する。
バッファ部３４は、従来のＤＲＡＭと同等機能で、バッファを実現する。
アクセス制御部３５は、従来より実現されていたアクセス制御と同等機能を実現する。
主制御部３６は、経路制御部３１乃至アクセス制御部３５を含むポコウォッチャ１１の全体の制御を実行する。
【００２６】
図４は、ポコウォッチャ１１の機能のうち、マイニング機能を実現するための機能ブロック図を示している。
図４に示す様に、ポコウォッチャ１１においては、上述の主制御部３６の他、クラスタリング部３７と、ランキング部３８と、マイニング部３９と、とが機能する。
【００２７】
クラスタリング部３７は、従来より実現されていたクラスタリング制御と同等機能を実現する。
ランキング部３８は、従来より実現されていたランキング制御と同等機能を実現する。
マイニング部３９は、従来のより実現されていたマイニングと同等機能を実現する。
【００２８】
図５は、ポコウォッチャ１１のハードウェア構成のうち、図３の経路制御部３１若しくはトラヒック監視部３３、又は図４のクラスタリング部３７若しくはランキング部３８が機能する場合に動作するハードウェア構成の一例を示している。
図６は、ポコウォッチャ１１のハードウェア構成のうち、図３の経路制御部３１若しくはトラヒック監視部３３、又は図４のクラスタリング部３７若しくはランキング部３８が機能する場合に動作するハードウェア構成の一例であって、図５の例とは異なる例を示している。
なお、図５の例と図６の例とを明確に区別すべく、以下、図５の例のポコウォッチャ１１を特に「ポコウォッチャ１１ａ」と呼び、図６の例のポコウォッチャ１１を特に「ポコウォッチャ１１ｂ」と呼ぶ。
【００２９】
図５の例のポコウォッチャ１１ａは、検索部５１ａと、統計情報処理部５２ａと、演算部５３ａとを有する。
【００３０】
検索部５１ａは、いわゆる検索エンジンであり、ハッシュ生成器６１と、メモリ部６２と、比較器６３とを有する。
ここで、検索（Ｓｅａｒｃｈ）とは、メモリ等ストレージデバイス（図５の例ではメモリ部６２）に蓄積されたデータに対して、所望の検索キー（検索対象となるデータ列）を参照する動作をいう。
メモリ部６２内部に検索キーを発見した場合をヒット（Ｓｅａｒｃｈ  ｈｉｔ）と、発見できない場合をミス（Ｓｅａｒｃｈ  ｍｉｓｓ）と、夫々定義する。
検索のヒット後は、メモリ部６２からアクション（又はルール）が出力される。
具体的には例えば、検索キー５５＿２３＿７５＿Ａ４＿５３＿１０＿８９＿ｂｄがメモリ部６２に記憶されており、ヒットした場合のアクションとしてＰｏｒｔＢ（出力先を通信デバイス１４ｂにする）が定義されているものとする。この場合、検索キー５５＿２３＿７５＿Ａ４＿５３＿１０＿８９＿ｂｄが検索部５１ａに入力されると、当該検索キーがメモリ部６２から検索されてヒットするので、アクションとしてＰｏｒｔＢが出力される。
【００３１】
図３の経路制御部３１若しくはトラヒック監視部３３、又は図４のクラスタリング部３７若しくはランキング部３８等を機能させる様々なアプリケーションを実行する場合には、このような検索動作が必要になる。
従来の通常のメモリによるハードウェア構成（図５のメモリ部６２のみの構成）では、検索動作（命令）を実行することができない。このため、従来においては、ネットワークＩＰアドレスの検索等をする場合、ＴＣＡＭ５０１（図１４）という特殊なメモリを用いて検索動作が行われていた。ＴＣＡＭ５０１は、メモリセルの側にアドレスの比較器を設け、メモリセルに蓄積されているデータと検索キーとを比較する処理を全てのメモリセルで行うことで、検索動作を行う。
ＴＣＡＭ５０１を用いた検索における問題点は、全てのメモリセルに対して一斉並列にアクセスするため、消費電力が極めて大きいことである。
【００３２】
そこで、本実施形態では、ＴＣＡＭ５０１等の特殊なメモリを設けることなく検索動作が実行可能なように、ポコウォッチャ１１というシングルチップ内に、検索動作を実行可能な検索部５１ａが設けられている。
【００３３】
ここで、検索部５１ａのうち、メモリ部６２は、通常のメモリと同様のハードウェア構成を有している。即ち、メモリ部６２は、メモリセルアレイ６２１と、デコーダー６２２と、センスアンプ＆セレクター６２３とを備えている。
デコーダー６２２は、符号化されたデータ（入力されたアドレス）を復元する。ここでは、デコーダー６２２は、２進数の信号を展開する。例えばＮビットであれば、デコーダー６２２により２Ｎに展開される。そして、デコーダー６２２は、展開した値に基づいて、メモリセルアレイ６２１の位置を選択し、選択された位置にデータを書き込み、或いは選択された位置からデータを読み出す。
センスアンプ＆セレクター６２３は、メモリセルアレイ６２１から読み出されたデータを増幅するセンスアンプと、メモリセルアレイ６２１から読み出されたデータをアドレス信号に従って選択するセレクターを有している。
このように、メモリ部６２単体は、書き込みと読み出しが動作（命令）の全てであり、検索の動作（命令）を有していない。
このため、本実施形態のポコウォッチャ１１のように、検索の動作を通常のメモリ（メモリ部６２）を用いて実現する場合、入力される検索キーをアドレスとして扱う必要がある。
メモリのアドレスを検索キーデータとし、メモリのデータをアクションとして定義し、検索データをアドレス入力することによってアクションデータをメモリから得ることが可能となる。しかしながらこの方式によれば、検索キーとして使用するビット幅が長い場合、メモリ容量が膨大になるという問題点がある。例えば６４ビット長の検索キーの場合、メモリの総容量は２＾６４（≒１６×１０＾１８）となり、本願の出願当時の半導体技術において実現可能なメモリ容量よりもはるかに大きい。
【００３４】
そこで、本実施形態の検索部５１ａは、メモリ部６２に加えてさらに、ハッシュ生成器６１を備えている。
ハッシュ生成器６１は、入力された検索キーを、ハッシュ関数を用いてビット長を縮小する。例えばハッシュ生成器６１は、検索キー６４ビット長の入力に対して、１６ビット幅の出力に圧縮する。
このように本実施形態の検索部５１ａは、検索可能なビット長を内部のハッシュ生成器６１により縮小し、メモリ部６２の搭載容量の制限や限界を加味しつつ、検索動作を可能とするものである。
【００３５】
ただし、検索キーが圧縮されているため異なるアドレスでありながら区別ができないという問題点がある。この問題点を解決すべく、本実施形態の検索部５１ａは、ハッシュ生成器６１とメモリ部６２とに加えてさらに、比較器６３を備えている。
比較器６３は、メモリセルアレイ６２１からセンスアンプ＆セレクター６２３を介する読出し時に、アクション結果に加えて書き込んでおいた検索キーを読み出し、読み出した検索キーと入力された検索キーとの比較を行い、最終的なヒット/ミスを判定する。
なお、検索部５１ａのさらなる詳細は、特許文献３を参照するとよい。
【００３６】
ここで、図５のポコウォッチャ１１においては、検索部５１ａのみならず、統計情報処理部５２ａと演算部５３ａがさらに設けられている。
検索部５１ａのみで構成すると、アプリケーションによって変化する検索テーブルに対し、自在性が乏しいという問題点が生じるからである。
例えば、ルータなどネットワーク機器におけるＩＰアドレスを検索テーブルとした場合、ＩＰｖ４ではおよそ数１００万エントリのデータを蓄積するための容量が必要である。ＩＰｖ６の場合、検索キーは６４ｂまでであるが、エントリ数が多いため大きな検索テーブルが必要となる。また、近年のＩＣＮ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｃｅｎｔｒｉｃ  Ｎｅｔｗｏｒｋ）、ＣＣＮ／ＤＣＮ（Ｃｏｎｔｅｎｔ  Ｃｅｎｔｒｉｃ  Ｎｅｔｗｏｒｋ／Ｄａｔａ  Ｃｅｎｔｒｉｃ  Ｎｅｔｗｏｒｋ）では、文字列によって経路を制御するため、長いビット長を扱う検索キーが必要となる。
このように、図３の経路制御部３１若しくはトラヒック監視部３３、又は図４のクラスタリング部３７若しくはランキング部３８等を機能させる様々なアプリケーションに対しては、検索部５１ａという１つのデバイスでは対応できないか、若しくは無駄が発生することになるという問題点が生ずる。
このような問題点を解決すべく、図５のポコウォッチャ１１においては、検索部５１ａのみならず、統計情報処理部５２ａと演算部５３ａがさらに設けられている。
【００３７】
例えば、検索エンジンのアプリケーションのうち、ルータ等のフォワーディングについて考えてみる。このフォワーディングは、図３の経路制御部３１による経路制御によって実現される。
フォワーディングでは、パケットのヘッダに記載されている宛先アドレス等から、パケットを出力するポート番号を決定する処理が必要になる。
ここで、宛先が決定されると一意的に出力ポート番号が決定されるような手法が採用された場合を考える。例えば、ポート番号を決定するに際し、宛先アドレス等と出力ポートの関係を記載したテーブルが用いられる場合である。このような場合、同じ宛先、若しくは同じ出力ポートの選択が多くなることによって、トラフィックの混雑が発生する。
このような一意的に決める手法ではトラフィックの迂回ができないため、フォワーディングでは、各フローのデータ量を蓄積して、これらのデータ量も考慮しながら出力ポートを決定するという手法が採用されている。この手法によれば、特定のフローへのヒットが多い場合には出力ポートが偏ってトラフィックが混雑することになるため、この混雑を避けるべく、各フローにヒットした回数や、流れたトラフィックの量をカウントする処理が必要になる。即ち、統計を蓄積して効率的なネットワークを構築する処理が必要になる。
【００３８】
このような処理を、シングルチップで実現すべく、図５のポコウォッチャ１１においては、検索部５１ａのみならず、統計情報処理部５２ａと演算部５３ａがさらに設けられている。
【００３９】
統計情報処理部５２ａは、上述の処理に必要となる統計情報を蓄積するために、メモリ部７１を有している。
このメモリ部７１は、通常のメモリと同様のハードウェア構成を有している。即ち、メモリ部７１は、メモリセルアレイ７１１と、デコーダー７１２と、センスアンプ＆セレクター７１３とを有している。このように、統計情報を蓄積するためのメモリ部７１は、特殊なメモリセルではなく通常のメモリセルのため、図５の構成をポコウォッチャ１１というシングルチップで実現可能になる。
メモリ部７１は、統計情報を蓄積すべく、検索部５１ａ（検索エンジン）においてヒットしたフローに対応する情報を蓄積する。即ち、メモリ部７１は、ヒットした検索キー毎にアドレスを対応させ、そのアドレスに統計情報を蓄積する。
【００４０】
演算部５３ａは、比較器６３によるヒット/ミス判定結果を入力し、ヒットであれば、ヒットの検索キーに対応したユニークなアドレスを読み出し、読み出されたアドレスに従い、メモリ部７１にアクセスして統計情報を読み出す。
演算部５３の加算器８１は、このようにして読み出された統計情報を加算することでアップデートして、メモリ部７１の同一のアドレスに書き戻す。このように、加算器８１は、読み出されたデータに対してデータを加算する装置である。加算器８１が加算するのは検索部５１ａでヒットした時のみである。加算器８１は、統計情報がパケット数である場合には、プラス１を加算し、統計情報がパケットサイズである場合には、読み出されたデータに対して、パケットのヘッダに記載されているパケットサイズを加算する。
ここで、ヒット/ミスの判定のためにメモリ部７１から読み出されたデータと検索キーとを比較する必要がある。このため、検索部５１ａの比較器６３のヒット信号により加算器８１の動作が制御される。
【００４１】
このような一連の動作により、統計情報がメモリ部７１に蓄積される。
【００４２】
このような図５の例のポコウォッチャ１１ａと同様に、図６の例のポコウォッチャ１１ｂは、検索部５１ｂと、統計情報処理部５２ｂと、演算部５３ｂとを有する。
図６の例では、検索部５１ｂのメモリ部６２と統計情報処理部５２ｂのメモリ部９１とは一体形成されている。これにより、統計情報用のメモリセルアレイ９１１のうち、検索用のメモリセルアレイ６２１のアクションと同一行に対して、統計情報用のデータを書き込むことで、図５の例と等価な機能（例えば上述した経路制御）を実現することができる。
具体的な動作としては、ハッシュ生成器６１は、外部から入力される宛先等のデータ（検索キー）をハッシュ関数に入力してビット数を縮退させる。この縮退されたデータが、メモリ（メモリ部６２とメモリ部９１）のアドレスとして使用される。メモリのデータに検索結果のアクションを入力しておけば、検索動作が実現できる。検索部５１ｂ側のメモリセルアレイ６２１からアクションを読みだす時に、統計情報処理部５２ｂ側のメモリセルアレイ９１１のうち、それと同一行に記載されている統計データを読み出す。検索結果がヒットであれば、演算部５３は、読み出された統計情報を更新して、統計情報処理部５２ｂ側のメモリセルアレイ９１１における同一行に書き戻す。
一方、統計情報が読み出される場合には、検索キーが入力され、メモリセルアレイ９１１に蓄積されている統計情報のうち、検索キーに対応するアドレスに格納された統計情報が読み出される。
【００４３】
図７は、図６の例のポコウォッチャ１１ｂのうち、メモリセルアレイ９１１、センスアンプ＆セレクター９１２及び演算部５３ｂの拡大図を示している。
図７に示す様に、メモリセルアレイ９１１を構成する各メモリセル（Ｗｏｒｄ線と２本のｂｉｔ線とで構成されるメモリセル）は、２つのセンスアンプ、セレクター、及び加算器８１と接続されている。
従って、図示はしないが、メモリ部９１の中に加算器８１を挿入することもできる。この場合、読み出されてから書き戻すまでの時間が短縮可能になる。
【００４４】
図８は、図３の経路制御部３１とバッファ部３４との各機能を組合せたルーター機能を説明するための模式図である。
上述した様に、ポコウォッチャ１１のうち図５の例又は図６の例の構成により、経路制御部３１が実現可能なことは上述した通りである。
このような経路制御部３１に対して経路設定をするための入力データ（パケット等）は、バッファ部３４のうち入力バッファ３４ＩＮに入力される。
一方、経路制御部３１により経路設定されたデータ（パケット等）は、複数の出力ポート（図８の例では出力ポート＃１乃至＃４）のうち経路設定された出力ポートに接続された出力バッファ３４ＯＵＴ（図８の例では４つの出力バッファ３４ＯＵＴのうち何れか）に入力される。
ここで、出力バッファ３４ＯＵＴは、図８に示すように、優先度の高いデータを先に出力させるべく、キューの構成を採用している。即ち、出力バッファ３４ＯＵＴをキュー数のＦＩＦＯに分割することで、優先度に従って入力されるＦＩＦＯキューをコントロールすることができる。ＦＩＦＯは標準的なメモリで構成することができる。
【００４５】
以上説明したように、ポコウォッチャ１１は、検索エンジン（図５の検索部５１ａや図６の検索部５１ｂ）を標準メモリ（図５や図６のメモリ部６２）を含むように構成し、かつ、統計情報を記憶するメモリ（図５のメモリ部７１や図６のメモリ部９１も標準メモリで構成している。
これにより、ルータやネットワークスイッチのデータプレーンで必要とされるネットワーク機能、即ち、経路制御、帯域制御、トラヒック制御、バッファ、及びアクセス制御が、ワンチップのポコウォッチャ１１で実現可能になる（図３参照）。
【００４６】
具体的には、経路制御は、上述したように主に図５又は図６の構成（検索エンジン等）により実現可能になる。即ち、経路制御では、入力されたパケットの宛先アドレスが検索部５１ａ，５１ｂに入力され、当該検索部５１ａ，５１ｂから出力されるアクションに従ってパケットが特定の出力バッファ３４０ＵＩＴ（図８参照）に出力される。
【００４７】
帯域制御は、上述した様に、図８の出力バッファ３４ＯＵＴのＦＩＦＯキューにより実現可能になる。即ち、出力バッファ３４ＯＵＴに設けられたＦＩＦＯによって、出力するデータ量が制限される。入力バッファ３４ＩＮから入力されるデータ量の方が、出力されるデータ量が多い場合は、出力バッファ３４ＯＵＴのＦＩＦＯにデータが貯められる。
【００４８】
トラヒック監視は、図５のメモリ部７１や図６のメモリ部９１に記憶された統計情報を分析することにより実現可能になる。即ち、統計情報処理部５２ａのメモリ部７１や統計情報処理部５２ｂのメモリ部９１に記憶されているデータが読み出され、夫々のデータ値がチェックされることで、トラヒック監視が行われる。例えば特定のデータが多いか、若しくは特定のデータが急に増えた等が読み出されたデータからチェックされる。なお、チェックの動作主体は、例えば図１のＣＰＵ１３である。
【００４９】
バッファは、上述した様にＦＩＦＯ等で実現可能になる（図８参照）。即ち、バッファは、入力されたパケットの経路が決定するまで、一時的にデータを蓄える。帯域制御と同様に、出力されるまでＦＩＦＯでデータが蓄積される。
【００５０】
アクセス制御（フィルタリング）は、検索エンジンにより実現可能になる。アクセス制御の詳細については、図１０を参照して後述する。
【００５１】
以上まとめると、本実施形態の情報処理システムは、ワンチップで構成されるポコウォッチャ１１をネットワークプロセッサ１２に接続するだけで、ネットワーク機能を拡張することが容易にできる。
【００５２】
具体的には従来においては、外部から入力されるパケットは、所定の通信デバイス（例えば図１４の通信デバイス１４ａ）から入力されて、スイッチチップとして機能するネットワークプロセッサ１２により行先が判定されて、別の通信デバイス（例えば図１４の通信デバイス１４ｂ）若しくは同一の通信デバイス（例えば図１４の通信デバイス１４ａ）に出力されていた。
そして、経路制御、帯域制御、アクセス制御、トラヒック監視、バッファ等のネットワーク機能を拡張するためには、図１４のＤＲＡＭ５０３に加えて、特殊なメモリ（ＴＣＡＭ５０１やＳＲＡＭ５０２）が必要であった。
【００５３】
これに対して、本実施形態の情報処理システムでは、経路制御、帯域制御、アクセス制御、トラヒック監視、バッファ等のネットワーク機能をワンチップで実現するポコウォッチャ１１を、ネットワークプロセッサ１２と接続するだけで、ネットワーク機能の拡張が容易に実現可能になる。
【００５４】
例えば情報処理システムが図２（ａ）の構成例をとる場合、通信デバイス１４ａとネットワークプロセッサ１２との間に、ポコウォッチャ１１が挿入される。
この場合、ポコウォッチャ１１のうち図５の例又は図６の例の構成部分は、パケットの統計情報を蓄積し、ＣＰＵ１３からのリクエストに反応して当該統計情報を出力する。ＣＰＵ１３は、統計情報に基づいて、フローが偏っていないか否かを判断する。この判断結果は、スイッチチップとして機能するネットワークプロセッサ１２にフィードバックされる。ネットワークプロセッサ１２は、当該フィードバック上方に基づいて、パケットの出力するポートの選択をコントロールする。このようにして、ポコウォッチャ１１により、経路制御が実現される。
この場合、ポコウォッチャ１１は、外部から入力されるパケットを一時的に蓄えるバッファとしても利用できる。また、ポコウォッチャ１１は、パケットを出力する時のバッファとしても利用できる。このようにして、ポコウォッチャ１１により、出力のデータ量を制限する帯域制御が実現される。
【００５５】
また例えば情報処理システムが図１の構成例をとる場合、ポコウォッチャ１１は、ネットワークプロセッサ１２の側に配置されるので、ネットワークプロセッサ１２の性能を補足することができる。
これにより、ネットワークプロセッサ１２が有しているネットワーク機能の拡張として、バッファサイズの拡張、統計情報の拡張、経路制御の拡張等が実現可能になる。ここで、統計情報の拡張とは、例えば入力ポート毎の統計情報しか保持できなかった機能を、フロー毎に増やすことを意味する。このような統計情報の拡張により、統計の種類が増加するため、きめ細かな制御が可能になる。
【００５６】
また例えば、図示せぬ外部ネットワークであるＷＡＮから入力されるか、若しくはＷＡＮ側に出力されるパケットのみを監視する用途として、情報処理システムは、図２（ｂ）の構成例をとることもできる。
【００５７】
以上本発明の一実施形態について説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【００５８】
例えば、検索エンジンは、多種のアプリケーションに使用される。具体的には例えば顔認証のようなパターン認証に対しても、検索エンジンは適用できる。このように適用した場合、入力される検索キーのビット幅は、アプリケーションに依存する。
従って、検索キーのビット幅を大きくする手法を採用することで、全てのアプリケーションに対応可能となり、一見有利にみえる。しかしながら、この手法では、検索キーを入力する時間が冗長となり、結局はシステム性能を劣化させるという問題点が生じる。
また、デバイス内部では、検索キーとの比較のためのメモリ容量が必要となり、余分なリソースを消費することになる。同一メモリ容量では、エントリ数が減るという問題点も生ずる。
【００５９】
上述の実施形態の検索エンジン、即ち図５の例の検索部５１ａや図６の例の検索部５１ｂでは、これらの問題点を解決することは困難である。
そこで、これらの問題点を解決するためには、モードレジスタで構成を切り替えることが可能な検索エンジンを採用するとよい。これにより、エントリ数が１／２になる代わりに、検索キーのビット数が２倍になる。アプリケーションに応じて構成を切り替えることで、１つのデバイス（ポコウォッチャ１１）で多種のアプリケーションに最適な構成を提供できる。
【００６０】
このような構成を切り替えることが可能な検索エンジンが、図９に示されている。
即ち、図９は、ポコウォッチャ１１の検索エンジンのハードウェア構成例であって、図５や図６とは異なる例を示している。
【００６１】
図９に示す様に、検索部５１ｃは、アドレス変換回路９１と、主検索部９２Ａと、主検索部９２Ｂと、選択回路９３とを備えている。
ここで、主検索部９２Ａと主検索部９２Ｂとの夫々は、図５の例の検索部５１ａと基本的に同様の機能と構成を有しているため、その詳細な説明は省略する。
【００６２】
図９の例では、検索エンジンは、主検索部９２Ａと、主検索部９２Ｂとに２分割されている。
モードセット（モードレジスタの信号）は、アドレス変換回路９１と選択回路９３とに入力される。即ち、入力されるアドレスは、アドレス変換回路９１においてモードセットにより切替えられ、検索結果は、選択回路９３においてモードセットにより切替えられる。
【００６３】
例えば図９の例において、エントリ数を２倍にする場合、アドレス変換回路９１は、分割された２つの検索エンジン、即ち主検索部９２Ａと主検索部９２Ｂとの夫々に対して、同一の検索キーを入力させる。
主検索部９２Ａと主検索部９２Ｂとの夫々から出力されるアクションのうち、ヒット信号が活性しているアクション結果が、検索結果として選択回路９３により選択されて出力される。
また、主検索部９２Ａと主検索部９２Ｂとの夫々からミス信号が出力された場合、選択回路９３は、ミスを出力する。
【００６４】
また例えば図９の例において、検索キーのビット幅を２倍にする場合、アドレス変換回路９１は、入力された検索キーを、前半のビットと後半のビットとに分割して、前半のビットを主検索部９２Ａに入力させると共に、後半のビットを主検索部９２Ｂに入力させる。
主検索部９２Ａと主検索部９２Ｂとの夫々からヒット信号が活性している場合、選択回路９３は、ヒットとしてアクション結果を出力する。
また、主検索部９２Ａと主検索部９２Ｂとのうち少なくとも一方からミス信号が出力された場合、選択回路９３は、ミスを出力する。
【００６５】
なお、図９の例では、検索エンジンは２分割とされたが、検索エンジンの分割数は特にこれに限定されず、例えば４分割でもよい。４分割の場合はエントリ数が１倍、２倍、４倍の夫々の切り替えが可能になる。
【００６６】
ここで、検索エンジンによるアクセス制御（フィルタリング）について説明する。
フィルタリングは、ブラックリスト方式と、ホワイトリスト方式とに大別される。
ブラックリスト方式は、ブラックリストに記述された既知のビット列を含む検索キーの情報を除外して、それ以外を出力する方式である。
ホワイトリスト方式は、ホワイトリストに記述された検索キーの情報を出力させる方式である。
ここで、ブラックリスト方式において、４ビットの検索キーのうち、上位３ビットが“０００”というビット列がブラックリストに記述されていたとする。この場合、検索キーが“０００１”と“００００”の両方の検索結果を除外対象とする必要がある。
この場合、検索キーとして“０００１”と“００００”を２回検索エンジンに入力して、検索結果を夫々出力させてもよいが、検索キーにマスク機能を入れることで、下位１ビットをマスクした“０００＊”を検索キーとして１回入力するだけで、“０００１”と“００００”の両方の検索結果を出力させることができる。このように、検索キーにマスク機能を入れることで、ブラックリスト方式が採用されている場合に、検索エンジンの処理時間や処理負荷を軽減することができる。
【００６７】
また、上位の候補を出力させるアプリケーションも存在する。例えば美術館への道順を検索し、複数の候補を検索結果として出力するようなアプリケーションである。
このような複数の候補を検索結果として出力する場合にも、検索キーにマスク機能を入れるとよい。
【００６８】
図１０は、ポコウォッチャ１１の検索エンジンのハードウェア構成例であって、図５、図６、図９とは異なる例を示している。
図１０に示す様に、検索部５１ｄは、主検索部１０１Ａと、主検索部１０１Ｂと、選択回路１０２とを備えている。
ここで、主検索部１０１Ａと主検索部１０１Ｂとの夫々は、図５の例の検索部５１ａと基本的に同様の機能と構成を有しているため、その詳細な説明は省略する。
検索キーがマスクされる場合、入力される検索キーのビット数は減る。しかしながら、検索結果のアクションは複数個出力できるような構成にする必要があるため、図１０に示す様な構成が取られる。
ここで、マスク信号が活性された場合は、選択回路１０２は、マスクに対応した検索テーブルに対応した検索エンジンから結果を出力する。
【００６９】
以上、図９や図１０を参照して説明したように、内部の検索エンジンを分割して、入力する検索キーを変え、検索結果の判定を変えることで、様々なアプリケーションに最適なデバイス（ポコウォッチャ１１）を提供することが可能となる。
【００７０】
このように、様々なアプリケーションに対応する手法として、検索エンジンの機能をモードセット等で切り替えることで仕様を変更する手法は好適であるが、この手法に限定されるわけではない。
例えば別の手法として、１つの検索エンジンが搭載されたＬＳＩ（ポコウォッチャ１１）を複数個用いる手法を採用してもよい。
【００７１】
図１１は、本発明の一実施形態に係る情報処理システムであって、２つの検索エンジンを用いた情報処理システムの構成例を示している。
図１１の例では、検索エンジン１１１Ａ，１１１Ｂの夫々がネットワークプロセッサ１２の検索エンジンコントローラー１１０に接続されている。
このような構成にすることで、検索テーブルの容量、即ちエントリ数を２倍にすることが可能である。
検索する時は、２個の検索エンジン１１１Ａ，１１１Ｂの夫々に同時に検索キーを入力する。そして、検索エンジンコントローラー１１０は、２個の検索エンジン１１１Ａ，１１１Ｂの夫々から出力された検索結果を確認し、２個の検索エンジン１１１Ａ，１１１Ｂのうち、ヒットした方を使う。
このように動作させることで検索テーブルを大きくすることが可能になる。
【００７２】
大容量の検索テーブルを構築する場合、検索エンジン１１１Ａ，１１１Ｂの夫々には、異なるテーブルを書き込むことになる。従って、検索エンジン１１１Ａ，１１１Ｂの両者で同時にヒットすることはない。
大容量のテーブルを構築する場合の書き込みは、図１２に示すように、最初に１つめの検索エンジン１１１Ａに書き込みを行う。
この書き込みが成功した場合、２つめの検索エンジン１１１Ｂに書き込みを行わない。
一方、１つ目の検索エンジン１１１Ａに対する書き込みが不成功の場合、２つ目の検索エンジン１１１Ｂへの書き込みを行う。
【００７３】
このような複数個の検索エンジン（図１１及び図１２の例では２個の検索エンジン１１１Ａ，１１１Ｂ）を用いることで検索のテーブルを拡張するためには、書き込みが完了して「成功」したか、若しくは「不成功」であったかの結果を、夫々の検索エンジン（図１１及び図１２の例では２個の検索エンジン１１１Ａ，１１１Ｂ）から出力することで実現可能となる。
【００７４】
なお、検索エンジンコントローラー１１０が、書き込みが成功したか否かの判定を行うこともできる。
しかしながら、検索エンジン１１１Ａ，１１１Ｂと同様の機能を検索エンジンコントローラー１１０に設けることになることから、多くの場合リソースが足りなくなる。また無駄なリソースになるため、賢明な方法とはいえない。
逆に考えれば、書き込み完了信号を使うことで、簡単に検索テーブルの拡張は可能である。
なお、上述の例では、検索のテーブルを２倍に拡張する例を示したが、特にこれに限定されず、検索エンジン（ＬＳＩ）の個数を増加させれば、それに比例して、検索のテーブルの容量を拡張することが容易にできる。
【００７５】
ところで、上述の実施形態では、ポコウォッチャ１１は、サーバやＰＣ（１筐体）内の基板上に、ＣＰＵやネットワークコントローラと共に実装されたが、実装の形態は特にこれに限定されない。
例えば、図１３や図１４に示す様に、ポコウォッチャ１１を１つの装置（１筐体）として、他の装置（１筐体）と接続する構成を取ってもよい。
図１３は、本発明の一実施形態に係る情報処理システムの構成例であって、図１や図２の例とは異なる例を示すブロック図である。
図１３（ａ）の例の情報処理システムにおいては、ルータ２０２と接続されるＬ２スイッチ２０３と、複数のＰＣ２０４ａ乃至２０４ｄの間に、ポコウォッチャ１１が接続されている。ネットワークコントローラ２０１は、ルータ２０２、Ｌ２スイッチ２０３、及びポコウォッチャ１１の夫々と接続されている。
図１３（ｂ）の例の情報処理システムにおいては、ルータ２０２と、２つのＬ２スイッチ２０３Ａ，２０３Ｂとの夫々の間に、ポコウォッチャ１１が接続されている。ネットワークコントローラ２０１は、ルータ２０２及びポコウォッチャ１１の夫々と接続されている。Ｌ２スイッチ２０３Ａには、複数のＰＣ２０４ａ乃至２０４ｃが接続されている。Ｌ２スイッチ２０３Ｂには、それらとは別の複数のＰＣ２０４ｄ乃至２０４ｆが接続されている。
【００７６】
図１４は、本発明の一実施形態に係る情報処理システムの構成例であって、図１、図２、図１３の例とは異なる例を示すブロック図である。
図１４の例の情報処理システムにおいては、ネットワークＮを構成する装置として、ルータ３０１、エンタープライズ向ルータ３０２−１,３０２−２、及びコンシューマ向ルータ３０３−１乃至３０３−３が存在する。
図１４の例のネットワークコントローラ４０１は、ネットワークＮ全体についての情報を俯瞰する装置である。即ち、図１４の例の情報処理システムは、ＳＤＮ（Ｓｏｆｔｗａｒ  Ｄｅｆｉｎｅｄｅ  Ｎｅｔｗｏｒｋ）を実現している。
ＳＤＮを実現するためには、ネットワークコントローラ４０１は、ネットワークＮを構成する個々の装置の状態を夫々取得し、得られた情報をもとに個々の装置への制御を行う必要がある。
このため、従来では、図示はしないが、ネットワークコントローラ４０１とネットワークＮを構成する装置とが直接通信を行う構成を取っていたことから、次の要因により、SNSを実現化することは非常に困難であった。
第１の要因は、個々の装置は別々の製造メーカが提供するというものである。さらにいえば、ＳＤＮをサポートする装置もあれば、サポートしない装置もある。
第２の要因は、今後の技術動向によって、例えばＮＦＶ（Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎ−Ｖｉｒｔｕａｌｉｚａｔｉｏｎ）FVによって、ルータは益々簡易化されるというものである。
そこで、図１４の例の情報処理システムにおいては、ネットワークＮを構成する個々の装置に対してポコウォッチャ１１−１乃至１１−５を接続し、ネットワークコントローラ４０１とポコウォッチャ１１−１乃至１１−５（以下、これらをまとめて「ポコウォッチャ１１」と呼ぶ）とが通信をする。
ポコウォッチャ１１は、トラヒックの監視（データ収取）を行うと共に、様々な制御を実行する。即ち、ポコウォッチャ１１は、ネットワークコントローラ４０１に対してトラヒックデータを送信し、逆にネットワークコントローラ４０１から制御用データを受信する。
このように、ポコウォッチャ１１は、個々の装置のうち接続されたもののトラヒックを監視しデータを取得してネットワークコントローラ４０１へ送信する機能と、ネットワークコントローラ４０１において個々の装置のデータが解析されて個々の装置への制御情報が生成されて送信されてきた場合、当該制御情報を受信し、当該制御情報に基づいて個々の装置のうち接続されたものを制御する機能とを有している。
【００７７】
換言すると、本発明が適用されるメモリ機器は、次のような構成を取れば足り、上述の実施形態を含め、各種各様な実施形態を取ることができる。
即ち、本発明が適用されるメモリ機器は、
シングルチップで構成されるメモリ機器（例えば図１や図２のポコウォッチャ１１）であって、
ネットワーク機能のうち少なくとも、経路制御、帯域制御、トラヒック監視、バッファ、及びアクセス制御が機能する（例えば図３の機能的構成を有する）、
メモリ機器であればよい。
このような構成を有するメモリ機器を採用することで、ＮＦＶやネットワークのコモディティ化に際して、安価かつ低消費電力で、ネットワーク機能の拡張が容易に実現可能になる。
【００７８】
ここで、メモリ機器は、
第１メモリ部（例えば図５や図６のメモリ部６２）を有し、前記第１メモリ部に蓄積されたデータに対して、入力された検索キーを参照する検索動作を実行する検索部（例えば図５や図６の検索部５１ａ，５１ｂ）と、
前記検索部においてヒットした検索キー毎に前記第１メモリ部のアドレスを対応させ、当該アドレスの統計情報を記憶する第２メモリ部（例えば図５のメモリ部７１や図６のメモリ部９１）を有する統計情報処理部（例えば図５や図６の統計情報処理部５２ａ，５２ｂ）と、
前記検索部によりヒットする毎に前記統計情報を更新する演算部（例えば図５や図６の演算部５３ａ，５３ｂ）と、
を備えることができる。
【００７９】
また、前記検索部（例えば図９の検索部５１ｃ）は、検索キーのビット幅を可変できる機能を有することができる。
【００８０】
また、前記検索部（例えば図１１の検索エンジン１１１Ａ，１１１Ｂ）は、情報の書き込みが成功か不成功かを示す判定信号を出力する機能を有することができる。
【００８１】
また、前記検索部（例えば図１０の検索部５１ｄ）は、ホワイトリスト方式の前記アクセス制御と、ブラックリスト方式の前記アクセス制御とを選択的に実行することができる。
【００８２】
また、ネットワークを構成する個々の装置（例えば図１４のネットワークＮを構成する、ルータ３０１、エンタープライズ向ルータ３０２−１,３０２−２、及びコンシューマ向ルータ３０３−１乃至３０３−３）と、当該個々の装置を制御するネットワークコントローラ（例えば図１４のネットワークコントローラ４０１）とを含む情報処理システム内に、前記メモリ機器は、前記個々の装置毎に１つずつ接続されて設けられ、
前記メモリ機器（例えば図１４のポコウォッチャ１１−１乃至１１−５）は、
前記個々の装置のうち接続されたもののトラヒックを監視してデータを取得して前記ネットワークコントローラへ送信する機能と、
前記ネットワークコントローラにおいて前記個々の装置のデータが解析されて前記個々の装置への制御情報が生成されて送信されてきた場合、当該制御情報を受信し、当該制御情報に基づいて前記個々の装置のうち接続されたものを制御する機能と、
を備える。
【００８３】
ところで、ポコウォッチャ１１は、上述した様にネットワーク専用のＤＤＲ  ＤＲＡＭとして具現化することもできるが、図１６に示す様に、汎用のＤＤＲ  ＤＲＡＭにネットワーク機能を選択的に取り付けたものとして具現化することができる。
ここで、汎用のＤＲＡＭとは、ＪＥＤＥＣで規格されて標準化されたＤＲＡＭをいう。
【００８４】
図１６のポコウォッチャ１１ｃは、ＤＤＲ  ＤＲＡＭに形成されており、ネットワーク用と汎用ＰＣ用とを選択的に切り替えて利用可能な構成を有している。
ハッシュ生成機６１については、ＤＤＲ  ＤＲＡＭの外部に設けられるが、それ以外のメモリ部６２，８１、比較器６８や加算器８２等のネットワーク機能部６０１については、ＤＤＲ  ＤＲＡＭに形成される。
ここで、ネットワーク機能部６０１は、図３に示す機能的構成を有するものである。
ＤＤＲ  ＤＲＡＭにはセレクタ６０２が設けられている。つまり、図１６中上方のルート、即ち、メモリ部６２，８１、比較器６８や加算器８２等のネットワーク機能部６０１側にセレクタ６０２が切替えられている場合、ネットワーク用のＤＤＲ  ＤＲＡＭとして機能する。一方、図１６中上方のルート、即ち、メモリ部６２，８１から直接セレクタ６０２へのルートにセレクタ６０２が切替えられている場合、汎用のＤＤＲ  ＤＲＡＭとして機能する。
セレクタ６０２の実装方法は、メタルマスクとアドレスキーのうち少なくとも一方を用いると好適である。
【００８５】
図１７は、図１６のポコウォッチャ１１ｃ（ネットワーク用のＤＤＲ  ＤＲＡＭとして機能）の接続の状態を示す図である。
図１７に示す様に、ＦＰＧＡやＡＳＩＣのＩＰとしてのコントローラ７０１に対して、ポコウォッチャ１１ｃ（ネットワーク用のＤＤＲ  ＤＲＡＭとして機能）を接続することができる。
これにより、ＴＣＡＭのようにパラレル比較ができる機能を実現可能になる。ここで、図１７の右方の下の図に示す様に、汎用のＤＲＡＭは、メモリ部７１１に加えて、テストモードで使用するため比較器群７１２が元々設けられている。この比較器群７１２をそのまま、図１６のネットワーク機能部６０１に流用することができる。
【００８６】
図１８は、ネットワーク機能を実現するための従来の情報処理システムの構成例と、図１６のポコウォッチャ１１ｃ（ネットワーク用のＤＤＲ  ＤＲＡＭとして機能）を含む情報処理システムの構成例との比較図である。
【００８７】
図１８（Ａ）は、ネットワーク機能を実現するための従来の情報処理システムの構成例を示している。
図１５を用いて上述した様に、ネットワーク機能を実現するための従来の情報処理システムでは、ＮＰ、ＡＳＩＣ、ＦＰＧＡ等に対して、複数のＴＣＡＭ、ＲＬＤＲＡＭ、ＱＤＲ／ＤＤＲ  ＳＲＡＭが接続されることで、ネットワーク機能が実現される。
複数のＴＣＡＭ、ＲＬＤＲＡＭ、ＱＤＲ／ＤＤＲ  ＳＲＡＭは、高価で消費電力も大きいコンポーネントである。これらのコンポーネントは市場規模が小さいため価格が下がらない（スケールメリットがない）と予測されるので、今後も高価であると予測される。
さらに、ＮＰ、ＡＳＩＣ、ＦＰＧＡ等からこれらのコンポートネントへの夫々のインターフェースも別途必要になるというデメリットもある。
【００８８】
図１７（Ｂ）は、本発明が適用される図１６のポコウォッチャ１１ｃ（ネットワーク用のＤＤＲ  ＤＲＡＭとして機能）を含む情報処理システムの構成例を示している。
ネットワーク機能（図３）の全てはポコウォッチャ１１ｃに挿入されている。また、当該ポコウォッチャ１１ｃは汎用のＤＤＴ２（３，４）  ＤＲＡＭ上に形成される。つまり、メタルマスク（配線レイヤ）とアドレスキー（モードレジスタ）のうち少なくとも一方によりセレクタ６０２（図１６）が実現され、ＤＤＴ２ ＤＲＡＭは、汎用ＰＣ向けとネットワーク向けとに切替えられる。
ここで、ＤＤＴ２  ＤＲＡＭには、テストモードで使用するため比較器群７１２が予め設けられているため（図１７）、ネットワーク機能部６０１としてこれを流用することで、新たな構成要素を設ける必要もない。
これにより、ネットワーク向けのメモリ価格を下げ、かつ、汎用ＤＤＲのプライスプレミアムにより、安価かつ低消費電力で情報処理システムを実現することが可能になる。
さらに、ネットワーク機能はポコウォッチャ１１ｃに集約されるので、図１８に示す様に、このポコウォッチャ１１ｃと、ＮＰ、ＡＳＩＣ、ＦＰＧＡ等のＩＰとしてのコントローラ７０１との間のインターフェースがあればよい。つまり、インターフェースをまとめることができる。
【符号の説明】
【００８９】
１１，１１ａ，１１ｂ，１１ｃ・・・ポコウォッチャ、１２・・・ネットワークプロセッサ、３１・・・経路制御部、３２・・・帯域制御部、３３・・・トラヒック監視部、３４・・・バッファ部、３５・・・アクセス制御部、３６・・・主制御部、３７・・・クラスタリング部、３８・・・ランキング部、３９・・・マイニング部、５１ａ，５１ｂ，５１ｃ，５１ｄ・・・検索部、５２ａ，５２ｂ・・・統計情報処理部、５３ａ，５３ｂ・・・演算部、６２・・・メモリ部、７１・・・メモリ部、８１・・・加算器、９１・・・メモリ部、９２Ａ，９２Ｂ，１０１Ａ，１０１Ｂ・・・主検索部、１１１Ａ，１１１Ｂ・・・検索エンジン、６０１・・・ネットワーク機能部、６０２・・・セレクタ、７１２・・・比較器群
【図１】
0006666686.tif 000002
【図２】
0006666686.tif 000003
【図３】
0006666686.tif 000004
【図４】
0006666686.tif 000005
【図５】
0006666686.tif 000006
【図６】
0006666686.tif 000007
【図７】
0006666686.tif 000008
【図８】
0006666686.tif 000009
【図９】
0006666686.tif 000010
【図１０】
0006666686.tif 000011
【図１１】
0006666686.tif 000012
【図１２】
0006666686.tif 000013
【図１３】
0006666686.tif 000014
【図１４】
0006666686.tif 000015
【図１５】
0006666686.tif 000016
【図１６】
0006666686.tif 000017
【図１７】
0006666686.tif 000018
【図１８】
0006666686.tif 000019