説明

記憶媒体制御装置、記憶媒体制御方法および記憶媒体制御プログラム

【課題】CAMのように入力されたサーチキーに一致するデータ列が格納された記憶領域を検索結果として出力する記憶媒体を利用して検索結果に応じた処理を実行する場合に、適切な処理をより迅速に開始することを可能にする記憶媒体制御装置、記憶媒体制御方法および記憶媒体制御プログラムを得ること。
【解決手段】パケット情報記憶処理部232は、送信の対象となるパケットに記述されたIPアドレスをCAMである第1のデータ記憶部212の複数のセルに、問い合わせた物理アドレスを第2のデータ記憶部213に記憶させ、第1のデータ記憶部212の複数のセルのそれぞれを第2のデータ記憶部213の物理アドレスに対応付けておく。物理アドレス取得処理部231は、新たに送信の対象となるIPアドレスを第1のデータ記憶部212で検索し、対応する物理アドレスを第2のデータ記憶部213から取得する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、たとえばCAMのように、入力されたサーチキーに一致するデータ列が格納された記憶領域を検索結果として出力する記憶媒体を利用して各種の処理を行う記憶媒体制御装置、記憶媒体制御方法および記憶媒体制御プログラムに係わり、特にサーチキーを入力したときの検索結果に応じて各種の処理を行う記憶媒体制御装置、記憶媒体制御方法および記憶媒体制御プログラムに関する。
【背景技術】
【0002】
CAM(Content Addressable Memory)は、高速なテーブル検索処理を実現する記憶媒体であり、通信端末のARP(Address Resolution Protocol)テーブルやデータベース等、様々な分野で使用されている。CAMでは、あるデータ列がサーチキー(search key)として入力されると、記憶領域のセルごとに設けられた専用回路が個別にそれぞれのセルの格納データと比較し、一致するデータ列が格納されている場合にはそのセルのメモリアドレスが出力されるようになっている。CAMの各セルのメモリアドレスを、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)といった他の記憶媒体に格納された対応する情報に対応付けておくことによって、サーチキーに対応する情報が出力されるテーブル検索を実現することができる。
【0003】
ところが、CAMで使用されている半導体にアルファ線や中性子が飛び込むことによって、格納データにビット反転が生じたり電荷の発生により信号レベルが変化するなどして、セルの格納データが本来とは異なったものに変化してしまうことがある。本来サーチされるべきセルの格納データに誤りが生じると、正しいメモリアドレスが出力されないといった事態が発生する。また、CAMは、サーチキーに一致するデータ列が複数のセルに格納されていたとしても、値が最も小さいメモリアドレスのみを出力するという特性を有している。したがって、本来サーチされるべきセルよりも小さい値のメモリアドレスのセルで、データ誤りによってたまたま格納データがサーチキーに一致するデータ列に変化してしまっていると、誤ったサーチ結果が出力されてしまう。
【0004】
SRAMやDRAMも同様に半導体を使用しているが、格納データをテーブル検索結果として出力するため、たとえばそれぞれの格納データに予めデータ誤り検出のための冗長データを付加させておけば、そのデータ誤りを検出することができる。しかしながら、CAMでは格納データではなくメモリアドレスが照合結果として出力されるという特性上、CAMの格納データのデータ誤りに起因してテーブル検索の結果が誤ったものとなっても、これを検出することができない。
【0005】
CAMでは、セルのメモリアドレスをポインタ(Pointer)で指定することによって、該当するセルの格納データを出力させることも可能となっている。そこで、CAMのそれぞれの格納データに予めデータ誤り検出のための冗長データを付加させておき、定期的に各セルのアドレスを指定して格納データを出力させてチェックすることで、このような格納データのデータ誤りを検出することが可能である。しかしながら、この手法では、たとえば5分間隔で全セルのチェックが行われるとすると、データ誤りが発生してから検出されるまでに最悪で5分掛かることになる。すなわち、最大で5分間、誤ったデータを基に後に続く処理が行われてしまう。
【0006】
そこで、サーチキーとの照合と同じように、セルごとにデータ誤りの検出を行うための専用回路を設けるようにすることが従来より提案されている(たとえば特許文献1参照)。この第1の提案を適用すれば、各セルを順にチェックしていくのに比べてより迅速にデータ誤りを検出することが可能となる。
【0007】
また、サーチキーとの照合が行われるセルにデータを格納するときに、他の記憶媒体にも同じデータを格納しておき、格納データとこの他の記憶媒体に格納されたデータとの比較を行うことによってデータ誤りの発生の有無を判別することも従来より提案されている(たとえば特許文献2参照)。この第2の提案では、サーチキーとの照合の対象となる第1の記憶媒体のいずれかのセルにデータを格納するときに、サーチキーとの照合の対象ではない第2の記憶媒体の対応するセルに同じデータを格納させる。そして、第1の記憶媒体でサーチキーと一致すると判別されたセルの格納データと、第2の記憶媒体の対応するセルに格納されたデータが一致するか否かを判別する。一致しない場合には、検索結果に該当する格納データにデータ誤りが生じている可能性があるとして、検索エラーを示す信号を出力するようにしている。これにより、誤ったサーチ結果が後続する処理に使用されるのを防ぐことができる。
【特許文献1】特開2003−316662号公報(第0027段落、図4)
【特許文献2】特開平10−134583号公報(第0019段落、図1)
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、第1の提案では、該当する格納データの訂正を行ってからでなければ正しい検索結果を出力することができない。すなわち、本来サーチされるべきセルの格納データに誤りが発生しているときには、正しい検索結果が出力されるのに時間が掛かってしまう。また、第2の提案では、データ誤りが発生しているのが第2の記憶媒体の方であって第1の記憶媒体には正しいデータが格納されていたとしてもこれを判別することができない。このため、サーチ結果に該当するセルの格納データを出力させ、なんらかの手法によりデータの正否を判別する処理が必要となり、更にデータ誤りが判別された場合にはこれを訂正して検索処理を再実行しなければならず、やはり正しい検索結果が出力されるのに時間が掛かってしまう。すなわち、いずれの提案も、上記したテーブル検索のようにCAMを利用してサーチキーに応じた内容の処理を行うときには、この処理を迅速に開始することができない。
【0009】
そこで本発明の目的は、CAMのように入力されたサーチキーに一致するデータ列が格納された記憶領域を検索結果として出力する記憶媒体を利用して検索結果に応じた処理を実行する場合に、適切な処理をより迅速に開始することを可能にする記憶媒体制御装置、記憶媒体制御方法および記憶媒体制御プログラムを提供することにある。
【課題を解決するための手段】
【0010】
本発明では、(イ)検索の対象とすべきデータ列を、所定の記憶媒体の異なる複数の記憶領域のそれぞれに格納させるデータ列格納手段と、(ロ)このデータ列格納手段がデータ列を格納させた複数の記憶領域のそれぞれに対応付けて、その格納が行われたデータ列に一致するデータ列が入力されたときに対応して実行すべき処理内容を記憶する処理内容記憶手段と、(ハ)データ列が入力されるとそのデータ列に一致するデータ列を記憶媒体で検索する記憶媒体検索手段と、(ニ)この記憶媒体検索手段によって入力されたデータ列に一致するデータ列が検索されると、そのデータ列が格納された記憶領域に対応付けて処理内容記憶手段が記憶する処理内容を実行する処理内容実行手段とを記憶媒体制御装置に具備させる。
【0011】
すなわち本発明では、検索の対象とすべきデータ列を所定の記憶媒体に格納させ、その格納が行われたデータ列に一致するデータ列が入力されたときに対応して実行すべき処理内容を、格納が行われた記憶領域に対応付けて記憶しておく。データ列が入力されると記憶媒体で検索し、一致するデータ列が検索されると、そのデータ列が格納された記憶領域に対応付けて記憶しておいた処理内容を実行するようにしている。これにより、データ列が入力される度に、適切な処理内容を実行することが可能となる。ところが、記憶媒体の1つの記憶領域にのみ格納を行った場合、その唯一のデータ列に誤りが生じたときにはそのデータ列の誤りを検出して訂正を行ってからでなければ適切な処理内容を実行することができない。そこで、本発明では、記憶媒体の異なる複数の記憶領域のそれぞれにデータ列を格納させるとともに、複数の記憶領域のそれぞれに対応付けて適切な処理内容を記憶しておく。これにより、いずれかの記憶領域のデータ列に誤りが生じても他の記憶領域に格納された誤りが生じていないデータ列によってこれを補うことができ、より迅速に適切な処理を開始することができる。
【0012】
また本発明では、(イ)検索キーが入力されるとその検索キーに一致するデータ列が格納された記憶領域のメモリアドレスを1つ出力する記憶媒体としての所定のCAMでの検索の対象とすべきデータ列を、異なる複数のメモリアドレスを指定してこのCAMの異なる複数の記憶領域のそれぞれに格納させるデータ列格納ステップと、(ロ)このデータ列格納ステップでデータ列を格納させるときに指定した複数のメモリアドレスのそれぞれに対応付けて、その格納が行われたデータ列に一致するデータ列が入力されたときに対応して実行すべき処理内容を記憶する処理内容記憶ステップと、(ハ)データ列が入力されると、そのデータ列を検索キーとしてCAMに入力する記憶媒体検索ステップと、(ニ)この記憶媒体検索ステップに対応してCAMからメモリアドレスが出力されると、処理内容記憶ステップでそのメモリアドレスに対応付けて記憶された処理内容を実行する処理内容実行ステップとを記憶媒体制御方法に具備させる。
【0013】
すなわち本発明では、所定のCAMでの検索の対象とすべきデータ列を、異なる複数のメモリアドレスを指定してこのCAMの異なる複数の記憶領域のそれぞれに格納させ、そのデータ列に一致するデータ列が入力されたときに対応して実行すべき処理内容をそれぞれのメモリアドレスに対応付けた形で記憶しておく。そして、データ列が入力されると、そのデータ列を検索キーとしてCAMに入力し、これに対応してCAMからメモリアドレスが出力されると、そのメモリアドレスに対応付けて記憶しておいた処理内容を実行する。これにより、CAMを利用してデータ列が入力されるごとに適切な処理を実行することができる。更に、CAMの記憶領域のいずかに格納されたデータ列に誤りが生じていても、同じデータ列の格納が行われた他の記憶領域に格納された誤りが生じていないデータ列によってこれを補わせることができ、より迅速に適切な処理を開始することができる。
【0014】
また本発明では、検索キーが入力されるとその検索キーに一致するデータ列が格納された記憶領域のメモリアドレスを1つ出力する記憶媒体としてのCAMを備えた装置のコンピュータに、(イ)CAMでの検索の対象とすべきデータ列を、異なる複数のメモリアドレスを指定してこのCAMの異なる複数の記憶領域のそれぞれに格納させるデータ列格納処理と、(ロ)このデータ列格納処理でデータ列を格納させるときに指定した複数のメモリアドレスのそれぞれに対応付けて、その格納が行われたデータ列に一致するデータ列が検索キーとして入力されたときに対応して実行すべき処理内容を記憶する処理内容記憶処理と、(ハ)データ列が入力されると、そのデータ列を検索キーとしてCAMに入力する記憶媒体検索処理と、(ニ)この記憶媒体検索処理に対応してCAMからメモリアドレスが出力されると、処理内容記憶処理でそのメモリアドレスに対応付けて記憶された処理内容を実行する処理内容実行処理とを記憶媒体制御プログラムにより実行させる。
【0015】
すなわち本発明では、CAMを備えた装置のコンピュータに、CAMでの検索の対象とすべきデータ列を異なる複数のメモリアドレスを指定してこのCAMの異なる複数の記憶領域のそれぞれに格納させ、そのデータ列に一致するデータ列が入力されたときに対応して実行すべき処理内容をそれぞれのメモリアドレスに対応付けた形で記憶させる。そして、データ列が入力されると、そのデータ列を検索キーとしてCAMに入力させ、これに対応してCAMからメモリアドレスが出力されると、そのメモリアドレスに対応付けて記憶しておいた処理内容を実行させる。これにより、CAMを備えた装置に対して、データ列が入力されるごとに適切な処理を実行させることができる。更に、CAMの記憶領域のいずれかに格納されたデータ列に誤りが生じていても、同じデータ列の格納が行われた他の記憶領域に格納された誤りが生じていないデータ列によってこれを補わせることができ、より迅速に適切な処理を開始させることができる。
【発明の効果】
【0016】
以上説明したように本発明によれば、CAM等の記憶媒体に検索の対象となるデータ列を格納させるときに、異なる複数の記憶領域のそれぞれに格納させるとともに、それぞれの記憶領域を適切な処理内容に対応付けておく。これにより、入力されたデータ列を記憶媒体で検索する際に、検索結果として特定されるはずの記憶領域のデータ列にデータ誤りが発生していても、同じデータ列の格納が行われデータ誤りが発生していない他の記憶領域が特定され、適切な処理を迅速に開始することができる。
【発明を実施するための最良の形態】
【0017】
以下実施例につき本発明を詳細に説明する。
【実施例1】
【0018】
図1は、本発明の一実施例による通信システムの構成を表わしたものである。この通信システム200では、通信端末201がLAN(Local Area Network)202に接続されている。本実施例の場合、通信端末201はパーソナルコンピュータであり、LAN202への送信の対象となるアプリケーションデータを格納したパケットを生成するパケット生成部203と、生成されたパケットの解析を行うパケット解析部204およびLAN202に接続してパケットの送信を行う送信処理部205を備えている。
【0019】
パケット生成部203には送信の相手先の装置のIP(Internet Protocol)アドレスが宛先として記述されるが、送信を行うためにはその相手先に至る経路上の同一サブネット内の通信機器の物理アドレスを特定しなければならない。パケット解析部204は、パケットに付加された宛先IPアドレス(以下、単にIPアドレスという。)を基に、この物理アドレスの特定を行うようになっている。
【0020】
この物理アドレスの特定には、LAN202の同一サブネット内にブロードキャストで問い合わせる手法と、通信端末201で記憶しておいた過去の問い合わせ結果を利用する手法の2パターンがある。本実施例では記憶媒体に格納しておいた過去の問い合わせ結果に関するデータにデータ誤りが発生した場合でも、再度の問い合わせを行うことなく適切な物理アドレスを迅速に特定できるように、後に説明する工夫を行っている。また、LAN202ではIPv4(IP version 4)が適用されており、アドレス資源は32ビットで管理されているものとする。
【0021】
図2は、図1に示したパケット解析部の構成を表わしたものである。パケット解析部204には、送信の対象となるパケットに対して各種の解析処理を行うパケットプロセッサ部211が備えられている。また、送信処理を行った各パケットに記述されたIPアドレスを記憶するための第1のデータ記憶部212と、各パケットの送信の際に取得された物理アドレスを記憶するための第2のデータ記憶部213が備えられており、それぞれパケットプロセッサ部211に接続されている。
【0022】
第1のデータ記憶部212には、それぞれ独立した記憶領域である複数のセルにより構成される第1のデータアレイ部221が備えられている。また、パケットプロセッサ部211から受け取ったIPアドレスを、この第1のデータアレイ部221の指定されたメモリアドレスに該当するセルに格納させる第1のデータ格納処理部222が備えられている。更に、パケットプロセッサ部211から受け取ったサーチキーに一致するデータが格納されているか否かを第1のデータアレイ部221の各セルで検索し、一致するデータが格納されたセルのメモリアドレスを返す第1のメモリアドレス出力処理部223を備えている。また、これとは逆に、いずれかのメモリアドレスが指定されると該当するセルに格納された格納データを返す第1のデータ出力処理部224が備えられている。
【0023】
パケットプロセッサ部211には、送信の対象となるパケットについてそのIPアドレスに対応する物理アドレスを取得する物理アドレス取得処理部231が備えられている。また、この物理アドレス取得処理部231によって過去に取得された物理アドレスとその基となるIPアドレスとを、それぞれ第2のデータ記憶部213および第1のデータ記憶部212に記憶させるパケット情報記憶処理部232が備えられている。
【0024】
第2のデータ記憶部213には、複数のセルにより構成される第2のデータアレイ部241と、パケットプロセッサ部211から受け取った物理アドレスをこの第2のデータアレイ部241の指定されたメモリアドレスに該当するセルに格納させる第2のデータ格納処理部242が備えられている。更に、パケットプロセッサ部211からいずれかのメモリアドレスが指定されると第2のデータアレイ部241の該当するセルに格納された物理アドレスを返す第2のデータ出力処理部243が備えられている。
【0025】
通信端末201は、図示しないCPU(中央処理装置)と制御プログラムを格納したROM(Read Only Memory)等の記憶媒体およびRAM(Random Access Memory)等の作業用メモリを備えており、このパケット解析部204のパケットプロセッサ部211で実現される機能は制御プログラムをCPUが実行することによって実現される。また、第1のデータ記憶部212および第2のデータ記憶部213は、それぞれ既存のハードウェアとしてのCAMとRAMにより実現される機能部である。
【0026】
図3は、物理アドレス取得処理部の物理アドレス取得処理の流れを表わしたものである。物理アドレス取得処理部231は、送信の対象となるパケットを図1に示すパケット生成部203から受け取ると(ステップS251:Y)、そのパケットに記述されたIPアドレスを第1のデータ記憶部212へ渡す(ステップS252)。第1のデータ記憶部212では、受け取ったIPアドレスをサーチキーとして第1のデータアレイ部221で検索を行うが、これについては後に詳しく説明する。第1のデータ記憶部212は、受け取ったIPアドレスに一致するデータが無かった場合、物理アドレス取得処理部231に対してその旨を通知するようになっている。
【0027】
ここで、パケット生成部203から受け取ったパケットに、過去に送信先として指定されたことのない宛先IPアドレスが記述されていたとする。この場合、そのIPアドレスに関する情報はまだ第1のデータ記憶部212に格納されていないため、第1のデータ記憶部212からはメモリアドレスは渡されずに該当データなしとする内容が通知される(ステップS253:N)。この場合、物理アドレス取得処理部231は送信処理部205を介してLAN202の同一サブネット内に宛先IPアドレスに対応する物理アドレスを問い合わせるARP要求をブロードキャストし、同一サブネット内の各通信機器に対して該当する物理アドレスを問い合わせる。たとえば、同一サブネット内にブロードキャストした宛先IPアドレスに該当する通信端末が配置されていれば、その通信端末が自己の物理アドレスを返してくることになる。そして、問い合わせの結果得られた物理アドレスをステップS251で受け取ったパケットに宛先として付加し、送信処理部205に渡してLAN202へと送出させる(ステップS254)。
【0028】
以降に同じIPアドレスが記述されたパケットを受け取ったときに、この問い合わせ結果を再利用すれば送信処理の高速化を図ることができる。そこで、パケット情報記憶処理部232にIPアドレスと得られた物理アドレスとを渡し、IPアドレスを第1のデータ記憶部212に記憶させるとともに、物理アドレスを第2のデータ記憶部213に記憶させるように指示する(ステップS255)。そして、再び新たなパケットを受け取るのを待機する(リターン)。すなわち、CAMである第1のデータ記憶部212でパケットのIPアドレスを高速で検索し、RAMである第2のデータ記憶部213でその検索結果に対応する物理アドレスを出力させることができるようにし、ARP要求の問い合わせ結果を記憶するARPテーブルを実現させる。
【0029】
ただし、従来のようにCAMである第1のデータ記憶部212のセルの1つのみにIPアドレスを格納した場合、その唯一のIPアドレスにデータ誤りが生じると、既に説明したようにその本来のIPアドレスに一致するIPアドレスがサーチキーとして入力されてもサーチされない。すなわち、正しいメモリアドレスがサーチ結果として出力されない。したがって、正しいメモリアドレス出力させるためには、そのデータ誤りの訂正を行う必要がある。すると、適切な物理アドレスが出力されるまでに時間が掛かり、ARPテーブルによる処理の高速化という効果が半減してしまう。そこで、この実施例のパケット情報記憶処理部232は、物理アドレス取得処理部231から渡されたIPアドレスを第1のデータ記憶部212の複数のセルに格納させるとともに、それぞれのメモリアドレスを同じく物理アドレス取得処理部231から渡された物理アドレスに対応付けるようにしている。これにより、本来の問い合わせ結果が複数格納されるようになり、いずれかのIPアドレスにデータ誤りが発生してしまっても、他がこれを補う形で、正しいサーチ結果をデータ誤りの訂正を行う前に出力させることが可能となる。
【0030】
図4は、パケット情報記憶処理部のパケット情報記憶処理の流れを表わしたものである。パケット情報記憶処理部232は、物理アドレス取得処理部231から図3のステップS255に対応してIPアドレスと物理アドレスとを受け取ると(ステップS271:Y)、受け取ったIPアドレスを第1のデータ記憶部212に渡し、第1のデータアレイ部221に格納させる。ただし、後にデータ誤りの発生を検出できるように、データ誤りの検出および訂正を行うための符号であるECC(Error Correcting Code)を生成してIPアドレスに付加させる。更に、従来とは異なり、第1のデータアレイ部221の格納先のセルとして偶数で開始する連続した2つのメモリアドレスをポインタで指定して第1のデータ記憶部212へと渡すようになっている(ステップS272)。第1のデータアレイ部221のセルは16384個用意されており、メモリアドレスは値「0」から開始される整数値が昇順で割り当てられている。このため、ステップS272のメモリアドレスの指定は、ポインタが値「0」から2値ずつ昇順で移動し、値「16383」に達すると再び値「0」に戻る形で行われるようになっている。
【0031】
第1のデータアレイ部221の各セルには、32ビットの宛先IPアドレスのデータが被照合データとして格納される。そこで、物理アドレス取得処理部231は、8ビットのECCを生成して各被照合データに付加し、被照合データに1ビットのデータ誤りが発生してもこれを検出するだけでなく訂正できるようにする。説明の簡便化のため、この実施例ではIPアドレスに発生するデータ誤りは最大で1ビットであるものとする。
【0032】
パケット情報記憶処理部232は、更に、ステップS271で受け取った物理アドレスを第2のデータ記憶部213に渡して第2のデータアレイ部241に格納させるが、その格納先のセルのメモリアドレスとして、ステップS272で第1のデータアレイ部221について指定したのと同じ2値を指定する(ステップS273)。そして、再び物理アドレス取得処理部231からの指示を待機する(リターン)。これにより、第1のデータアレイ部221のIPアドレスと、これに対応して格納された第2のデータアレイ部241の物理アドレスとを、メモリアドレスによって関連付けることができる。ただし、対応テーブルを別に用意して第1のデータアレイ部221のメモリアドレスと第2のデータアレイ部241のメモリアドレスとの対応付けを別途行うようにすれば、必ずしも同一の値とする必要はない。更にいえば、第1のデータアレイ部221の2つのメモリアドレスに第2のデータアレイ部241の1つのメモリアドレスを対応付けるようにしてもよい。
【0033】
図5は、第1のデータアレイ部に格納される内容を表わしたものである。第1のデータアレイ部221は、前記したように16384個のセルが用意されており、値「0」から開始される整数のメモリアドレスが割り当てられている。それぞれのセルには、パケット情報記憶処理部232によって、32ビットのIPアドレスと8ビットのECCとにより構成されるデータ(以下、エントリという。)が格納される。このエントリのうち、IPアドレスは物理アドレス取得処理部231によって送信の対象となるパケットから取得されたものであり、ECCはパケット情報記憶処理部232によって生成されたものである。図4で説明したように、偶数メモリアドレスとこれよりも値が1つ大きい奇数メモリアドレスが示す2つの連続したセルには、同じ内容のエントリが格納されることになる。ここでは、たとえばメモリアドレス「2」とメモリアドレス「3」の領域には、同図に示すように第2のECCと第2のIPアドレスとにより構成される同じエントリが格納されている。以下、偶数メモリアドレスが示すセルに格納されたエントリを偶数エントリ、奇数メモリアドレスが示すセルに格納されたエントリを奇数エントリという。
【0034】
図6は、第2のデータアレイ部に格納される内容を表わしたものである。第2のデータアレイ部241にも、第1のデータアレイ部221と同様に16384個のセルが用意されており、値「0」から開始される整数のメモリアドレスが割り当てられている。それぞれのセルには、物理アドレス取得処理部231によって送信の対象となるパケットから取得された物理アドレスが、パケット情報記憶処理部232によって格納される。ここでは、たとえばメモリアドレス「2」とメモリアドレス「3」の領域には、同図に示すように同じ第2の物理アドレスが格納されている。これらは、図5の第1のデータアレイ部221のメモリアドレス「2」とメモリアドレス「3」の領域に格納された第2のIPアドレスに対応して格納されたものである。
【0035】
第1のデータ記憶部212の第1のメモリアドレス出力処理部223は、パケットプロセッサ部211からIPアドレスを受け取ると、これをサーチキーとして各エントリで一致するデータが格納されているかを判別する。そして、一致するデータが格納されたエントリが存在する場合には、そのエントリのメモリアドレスをパケットプロセッサ部211へと返すようになっている。ただし、該当エントリが複数存在する場合には最も小さい値のメモリアドレスのみを出力するようになっている。これは、CAMの特徴の1つであり、通常は格納されるエントリはセルごとに異なることから検索結果は1つ以下であるという前提で、無駄な検索処理の低減および装置の簡略化を図るものである。たとえば、図5に示した第1のデータアレイ部221にデータ誤りが発生していない状態で第2のIPアドレスがサーチキーとして送られてきた場合には、一致するデータが格納されているエントリのメモリアドレスとして値「2」のみを出力する。また、サーチキーに一致するデータがいずれのエントリにも存在しない場合には、パケットプロセッサ部211に対して該当なしと通知する。
【0036】
図3に戻って説明を続ける。ここで、パケット解析部204が送信処理の対象として新たに受け取ったパケットの宛先IPアドレスが、図5に示した第1のデータアレイ部221に格納されている第2のIPアドレスと一致していたとする。この場合には、上記したように第1のデータ記憶部212の第1のメモリアドレス出力処理部223から、該当するデータが存在したとしてメモリアドレス「2」を受け取ることになる(ステップS253:Y)。
【0037】
従来ではここで取得したメモリアドレスをそのままパケット情報処理部232へ渡して対応する物理アドレスの取得を行うが、既に説明したように、第1のデータアレイ部221に生じたデータ誤りによって本来出力されるべきではないメモリアドレスが出力されている可能性がある。たとえば、図5に示す第1のデータアレイ部221のメモリアドレス「0」のエントリにデータ誤りが発生し、第1のIPアドレスが変化して第2のIPアドレスに一致してしまい、サーチ結果としてメモリアドレス「0」が出力されるケースが考えられる。
【0038】
そこで、この実施例では物理アドレスの取得を行う前に取得したメモリアドレスを第1のデータ記憶部212へ渡し、第1のデータアレイ部221の該当するメモリアドレスが割り当てられたエントリを読み出す(ステップS256)。そして、ECCを使用して該当するエントリにデータ誤りが生じているか否かを判別する(ステップS257)。データ誤りが生じていない場合には(N)、サーチ結果であるメモリアドレスそのものは正しいということになる。したがって、サーチ結果として得られたメモリアドレスをパケット情報記憶処理部232へ渡す(ステップS258)。
【0039】
図4に戻って説明を続ける。パケット情報記憶処理部232は、IPアドレスと物理アドレスだけでなく、図3のステップS258に対応して物理アドレス取得処理部231から送られてくるメモリアドレスについても待機している(ステップS274)。メモリアドレスを受け取ると(Y)、そのメモリアドレスを第2のデータ記憶部213に渡し、第2のデータアレイ部241の該当するメモリアドレスのセルに格納された物理アドレスを出力させる(ステップS275)。第2のデータ出力処理部243は、ここではメモリアドレス「2」を受け取ると、図6に示すように第2のデータアレイ部241のメモリアドレス「2」に該当する第2の物理アドレスをパケット情報記憶処理部232へと渡す。パケット情報記憶処理部232は、受け取った第2の物理アドレスを物理アドレス取得処理部231へと渡し(ステップS276)、再び物理アドレス取得処理部231からの指示を待機する(リターン)。
【0040】
図3に戻って説明を続ける。物理アドレス取得処理部231は、パケット情報記憶処理部232へメモリアドレスを渡すと物理アドレスが送られてくるので、その物理アドレスをステップS251で受け取ったパケットに付加して送信処理部205へと渡し、LAN202への送信を行う(ステップS259)。そして、後に説明するサーチ結果正常時処理を実行し(ステップS260)、再び新たなパケットの受け取りを待機する(リターン)。また、ECCによりデータ誤りが生じていると判別された場合には(ステップS257:Y)、サーチ結果として得られたメモリアドレスは誤っているとして、該当するエントリのIPアドレスのデータを訂正する(ステップS261)。そして、ステップS252へ戻って再びIPアドレスのサーチを行う。
【0041】
正しいサーチ結果に該当するエントリよりもメモリアドレスの値が小さい他のエントリにデータ誤りが発生し、たまたまサーチキーに一致するデータとなってしまったような場合には、誤ったメモリアドレスがステップS253で取得されることになる。そこで、本実施例ではステップS252からステップS261までの処理によって、この誤ったメモリアドレスが使用されて誤ったサーチ結果が出力されてしまうのを防ぐようにしている。
【0042】
図7は、図3のステップS260に示した物理アドレス取得処理部のサーチ結果正常時処理の流れを表わしたものである。ここで、まず第1のデータアレイ部221のメモリアドレス「2」のIPアドレスにのみデータ誤りが発生している場合について考える。この場合、メモリアドレス「2」のデータは第2のIPアドレスに一致しないため、図3のステップS253でサーチ結果としてメモリアドレス「3」が取得される。すなわち、サーチ結果が奇数メモリアドレスの場合には、対応する偶数エントリにデータ誤りが発生していることになる。そのまま放置して奇数エントリにもデータ誤りが発生すると、正常なサーチ結果を得ることができなくなる。
【0043】
次に、第1のデータアレイ部221のメモリアドレス「3」のIPアドレスにのみデータ誤りが発生している場合について考える。この場合、図3のステップS253でサーチ結果としてメモリアドレス「2」が取得されるが、メモリアドレス「3」にデータ誤りが発生していることは検出されない。そのまま放置して偶数エントリにもデータ誤りが発生すると、やはり正常なサーチ結果を得ることができなくなる。
【0044】
そこで、物理アドレス取得処理部231は、図3のステップS253で取得したメモリアドレスの値が偶数か否かを判別し(図7ステップS291)、偶数ではなく奇数の場合には(N)、該当する偶数エントリについてそのECCを用いてデータ誤りの訂正を行う(ステップS292)。そして、処理を終了する(エンド)。取得したメモリアドレスの値が偶数の場合には(ステップS291:Y)、該当する奇数エントリを読み出し(ステップS293)、そのECCを使用してデータ誤りが発生しているか否かを判別する(ステップS294)。データ誤りが発生していない場合には(N)、そのまま処理を終了する(エンド)。データ誤りが発生している場合には(Y)、その奇数エントリについてECCを用いてデータ誤りの訂正を行う(ステップS294)。そして、処理を終了する(エンド)。すなわち、同一のデータが格納された偶数エントリと奇数エントリについて、サーチされなかった方にデータ誤りが発生している場合に、これを訂正することができる。
【0045】
以上説明したように本実施例によれば、物理アドレスの問い合わせを行ったIPアドレスを被照合データとしてCAMの複数のセルに格納するとともに、それぞれを問い合わせ結果として得られた物理アドレスに対応付けておく。これにより、いずれかのセルにデータ誤りが生じていても、同じIPアドレスの格納が行われてデータ誤りが生じていない他のセルにこれを補わせることができ、より迅速に適切な物理アドレスを出力させることができる。また、各IPアドレスにECCを付加させて、サーチされたメモリアドレスが指し示すエントリについてデータ誤りの有無の検出を行うようにしている。これにより、データ誤りが発生していずれかのエントリのIPアドレスが他のエントリのIPアドレスにたまたま一致してしまったときに、誤った物理アドレスが出力されるのを防ぐことができる。
【0046】
また、同じデータが格納された複数のエントリを互いに対応付けており、いずれかのメモリアドレスが正しいサーチ結果として出力されたときに他のエントリについてのデータ誤りの検出および訂正を行うので、サーチされる頻度が高いほど、正しいデータを複数のエントリに存在させた状態をより確実に保持させることができる。更に、偶数メモリアドレスとこれよりも値が1つ大きい奇数メモリアドレスが示す2つの連続したセルに同一のデータを格納するようにしている。これにより、該当データが複数存在する場合には最も小さい値のメモリアドレスのみを出力するというCAMの特徴を利用して、奇数メモリアドレスがサーチ結果として出力された場合には、対応する偶数エントリにデータ誤りが発生していることを迅速に検出することができる。
【0047】
<発明の変形例>
【0048】
エントリのデータ誤りの検出を、ECCではなく、より高速にデータ誤りの有無を判別することができるパリティチェック(parity check)によって行う場合について説明する。パリティチェックではデータ誤りが1ビットであっても訂正ができないため、同じIPアドレスの格納が行われたデータ誤りが発生していない他方のエントリのIPアドレスで上書きをする。
【0049】
図8は、本発明の変形例によるパケット解析部の構成を表わしたものであり、実施例の図2に対応するものである。そこで、図2と同一部分には同一符号を付し、これについての説明を省略する。このパケット解析部404は、図示しないが実施例と同様の構成を有する通信端末に備えられており、図1に示したパケット生成部203と送信処理部205に接続されてパケットの解析処理を行う装置部である。このパケット解析部404には、図2の物理アドレス取得処理部231およびパケット情報記憶処理部232に替えて、これらとはそれぞれ異なる内容の処理を行う物理アドレス取得処理部431およびパケット情報記憶処理部432が備えられている。また、これに対応して、図2のパケットプロセッサ部211に替えてパケットプロセッサ部411が備えられている。
【0050】
図9は、パケット情報記憶処理部のパケット情報記憶処理の流れを表わしたものであり、実施例の図4に対応するものである。そこで、図4と同一部分には同一ステップ番号を付し、これについての説明を省略する。パケット情報記憶処理部432は、ステップS271で物理アドレス取得処理部431からIPアドレスと物理アドレスを受け取ると(Y)、偶数で開始する連続した2つのメモリアドレスを指定してIPアドレスを第1のデータ記憶部212へ渡すが、実施例とは異なり、ECCではなく1ビットのパリティビットを付加するようになっている(ステップS421)。そして、ステップS273へと進む。
【0051】
図10は、第1のデータアレイ部に格納される内容を表わしたものであり、実施例の図5に対応するものである。図5とは異なり、第1のデータアレイ部221には、それぞれ異なるメモリアドレスが割り当てられた32ビットのIPアドレスと1ビットのパリティビットとにより構成されるデータ(以下、エントリという。)が格納される。ただし、偶数メモリアドレスで始まる2つの連続したエントリに同じ内容のデータが格納されるのは図5と同様である。
【0052】
図11は、物理アドレス取得処理部の物理アドレス取得処理の流れを表わしたものであり、実施例の図3に対応するものである。そこで、同一部分には同一ステップ番号を付し、これについての説明を省略する。物理アドレス取得処理部231は、ステップS256で第1のデータ記憶部212から出力されたメモリアドレスが指し示すエントリを読み出すと、付加されているパリティビットを使用してデータ誤りが発生しているか否かを判別する(ステップS431)。データ誤りが発生していない場合には(N)、ステップS258、S259へと進むが、ステップS259の次には実施例とは異なる内容のサーチ結果正常時処理を実行するようになっている(ステップS432)。また、データ誤りが発生している場合には(ステップS431:Y)、サーチ結果誤り時処理を実行して(ステップS433)、ステップS252へと戻るようになっている。
【0053】
図12は、物理アドレス取得処理部のサーチ結果正常時処理の流れを表わしたものであり、図7に対応するものである。そこで、図7と同一部分には同一ステップ番号を付す。パリティチェックの場合、ECCよりも高速にデータ誤りの検出を行うことができるが、ECCのようにデータ誤りの訂正を行うことはできない。そこで、取得されたメモリアドレスの値が奇数の場合には(ステップS291:N)、偶数エントリにデータ誤りが発生しているとして、図10のステップS256で読み出された奇数エントリのデータを対応する偶数エントリに上書きし(ステップS441)、処理を終了する(エンド)。この上書きは、偶数エントリのメモリアドレスを指定して、奇数エントリのデータを第1のデータ記憶部212へ渡すことによって行われる。
【0054】
取得されたメモリアドレスの値が偶数の場合には(ステップS291:Y)、対応する奇数エントリを読み出して(ステップS293)、データ誤りが発生しているかをそのパリティビットを使用して判別する(ステップS442)。データ誤りが発生していない場合には(N)、そのまま処理を終了する(エンド)。データ誤りが発生している場合には(Y)、図10のステップS256で読み出された偶数エントリのデータをその奇数エントリに上書きし(ステップS443)、処理を終了する(エンド)。
【0055】
図13は、物理アドレス取得処理部のサーチ結果誤り時処理の流れを表わしたものである。図11のステップS253で取得されたメモリアドレスの値が奇数の場合には(ステップS451:N)、対応する偶数エントリを読み出して(ステップS452)、付加されたパリティビットを使用してデータ誤りの有無を判別する(ステップS453)。データ誤りが発生していない場合には(N)、読み出した偶数エントリのデータを図11のステップS431でデータ誤りが検出された奇数エントリに上書きし(ステップS454)、処理を終了する(エンド)。
【0056】
図11のステップS253で取得されたメモリアドレスの値が偶数の場合には(ステップS451:Y)、対応する奇数エントリを読み出して(ステップS455)、付加されたパリティビットを使用してデータ誤りの有無を判別する(ステップS456)。データ誤りが発生していない場合には(N)、読み出した奇数エントリのデータを図11のステップS431でデータ誤りが検出された対応する偶数エントリに上書きし(ステップS457)、処理を終了する(エンド)。
【0057】
図11のステップS431でデータ誤りが検出されたエントリだけでなく、同じデータが格納された他方のエントリにもデータ誤りが検出された場合には(ステップS453:YあるいはステップS456:Y)、図1の通信端末のパケット生成部203を使用してデータ送信を行う図示しないソフトウェアにARPテーブルにエラーが生じていることを通知する(ステップS458)。そして、処理を終了するが、図11のステップS252へは戻らず、新たな送信の対象となるパケットを待機する。ただし、図11のステップS254へ進み、ARP要求によってLAN202に物理アドレスの問い合わせを行うようにしてもよい。
【0058】
以上説明したように本発明の変形例では、ECCではなく、パリティビットを各IPアドレスに付加してデータ誤りのチェックを行うようにしている。これにより、ECCよりも高速にデータ誤りの有無を判別することができ、正しいサーチ結果をより高速に取得することができる。また、同じサイズのデータに対して必要なビット数がより少なく済むので、第1のデータアレイ221に必要な容量を小さくすることができる。更に、同一のデータの格納が行われた他のエントリに正しいデータが格納されているときには、これをデータ誤りの発生したエントリに上書きするので、データ誤りが発生してもこれを迅速に訂正することができる。
【0059】
なお、本発明の実施例ではIPアドレスに発生するデータ誤りを最大で1ビットとしたが、変形例のように同一のデータの格納を行った他のエントリのデータで上書きを行うような処理を適用すれば、2ビットのデータ誤りが発生する場合にも対応させることが可能である。また、データ誤りの検出に、他の各種手法を適用できることは当然である。また、同一のデータを格納するセルは奇数メモリアドレスとこれに続く偶数メモリアドレスの2つとしてもよく、この場合には偶数メモリアドレスが正しいサーチ結果として得られた場合には奇数エントリにデータ誤りが発生していると判別するようにすればよい。また、同一のデータを格納するセルは3つ以上であったり、メモリアドレスが連続していなくてもよい。この場合には、これら複数のセルの各メモリアドレスを対応付けておくとともに、そのサーチされる優先順位を記憶するようにする必要がある。また、第2のデータ記憶部から物理アドレスを取得する処理を、物理アドレス取得処理部で行うようにしてもよい。この場合には、IPアドレスが格納されるセルのメモリアドレスと物理アドレスが格納されるセルのメモリアドレスとの対応付けを物理アドレス取得処理部に記憶させる必要がある。更に、本発明の実施例および変形例では、ARPテーブルを使用してパケットの送信を行う通信端末への適用を例として説明したが、CAMのように入力されたサーチキーを自己の記憶領域で検索して一致するデータが格納されたの記憶領域を出力する記憶媒体を使用する各種装置に適用できることはもちろんである。
【図面の簡単な説明】
【0060】
【図1】本発明の一実施例による通信端末の構成を表わした構成図である。
【図2】本発明の実施例によるパケット解析部の構成を表わした構成図である。
【図3】本発明の実施例による物理アドレス取得処理部の物理アドレス取得処理の流れを表わした流れ図である。
【図4】本発明の実施例によるパケット情報記憶処理部のパケット情報記憶処理の流れを表わした流れ図である。
【図5】本発明の実施例による第1のデータアレイ部に格納される内容を表わした説明図である。
【図6】本発明の実施例による第2のデータアレイ部に格納される内容を表わした説明図である。
【図7】本発明の実施例による物理アドレス取得処理部のサーチ結果正常時処理の流れを表わした流れ図である。
【図8】本発明の変形例によるパケット解析部の構成を表わした構成図である。
【図9】本発明の変形例によるパケット情報記憶処理部のパケット情報記憶処理の流れを表わした流れ図である。
【図10】本発明の変形例による第1のデータアレイ部に格納される内容を表わした説明図である。
【図11】本発明の変形例による物理アドレス取得処理部の物理アドレス取得処理の流れを表わした流れ図である。
【図12】本発明の変形例による物理アドレス取得処理部のサーチ結果正常時処理の流れを表わした流れ図である。
【図13】本発明の変形例による物理アドレス取得処理部のサーチ結果誤り時処理の流れを表わした流れ図である。
【符号の説明】
【0061】
200 通信システム
201 通信端末
202 LAN
203 パケット生成部
204、404 パケット解析部
205 送信処理部
211、411 パケットプロセッサ部
212 第1のデータ記憶部
213 第2のデータ記憶部
221 第1のデータアレイ部
222 第1のデータ格納処理部
223 第1のメモリアドレス出力処理部
224 第1のデータ出力処理部
231、431 物理アドレス取得処理部
232、432 パケット情報記憶処理部
241 第2のデータアレイ部
242 第2のデータ格納処理部
243 第2のデータ出力処理部

【特許請求の範囲】
【請求項1】
検索の対象とすべきデータ列を、所定の記憶媒体の異なる複数の記憶領域のそれぞれに格納させるデータ列格納手段と、
このデータ列格納手段がデータ列を格納させた前記複数の記憶領域のそれぞれに対応付けて、その格納が行われたデータ列に一致するデータ列が入力されたときに対応して実行すべき処理内容を記憶する処理内容記憶手段と、
データ列が入力されると、そのデータ列に一致するデータ列を前記記憶媒体で検索する記憶媒体検索手段と、
この記憶媒体検索手段によって入力された前記データ列に一致するデータ列が検索されると、そのデータ列が格納された記憶領域に対応付けて前記処理内容記憶手段が記憶する処理内容を実行する処理内容実行手段
とを具備することを特徴とする記憶媒体制御装置。
【請求項2】
前記データ列格納手段が前記記憶媒体へと格納させるデータ列のそれぞれに、データ誤りを検出するための冗長データを付加する冗長データ付加手段と、
前記記憶媒体検索手段によって入力された前記データ列に一致するデータ列が検索されると、そのデータ列を前記記憶媒体から読み出すデータ列読出手段と、
このデータ列読出手段が読み出したデータ列にデータ誤りが発生しているか否かをそのデータ列に付加された前記冗長データを基に判別するデータ誤り有無判別手段とを更に具備し、
前記処理内容実行手段は、このデータ誤り有無判別手段によってデータ誤りが発生していないと判別されるときのみ該当する処理内容を実行する手段であることを特徴とする請求項1記載の記憶媒体制御装置。
【請求項3】
前記冗長データ付加手段が付加する前記冗長データはデータ誤りを検出および訂正するためのデータであり、
前記データ誤り有無判別手段によってデータ誤りが発生していると判別されると、前記記憶媒体に格納された該当するデータ列のデータ誤りをそのデータ列に付加された前記冗長データを基に訂正するデータ誤り訂正手段を更に具備することを特徴とする請求項2記載の記憶媒体制御装置。
【請求項4】
前記データ誤り有無判別手段によってデータ誤りが発生していると判別されると、前記データ列格納手段が該当する記憶領域に格納したデータ列と同じデータ列を格納した他の記憶領域からデータ列を読み出す他データ列読出手段と、
この他データ列読出手段が読み出したデータ列にデータ誤りが発生しているか否かをそのデータ列に付加された前記冗長データを基に判別する他データ誤り有無判別手段と、
この他データ誤り有無判別手段によってデータ誤りが発生していないと判別されると、そのデータ列で前記データ誤り有無判別手段によってデータ誤りが発生していると判別されたデータ列が格納されている記憶領域の内容を更新するデータ列更新手段とを更に具備することを特徴とする請求項2記載の記憶媒体制御装置。
【請求項5】
前記記憶媒体は検索キーが入力されるとその検索キーに一致するデータ列が格納された記憶領域のメモリアドレスを1つ出力するCAMであり、前記データ列格納手段はメモリアドレスの指定によって前記CAMにデータ列を格納させる手段であり、処理内容記憶手段はメモリアドレスに対応付けて処理内容を記憶する手段であり、前記記憶媒体検索手段は入力されたデータ列を検索キーとして前記CAMに入力し、このCAMから対応して出力されるメモリアドレスを取得する手段であり、前記処理内容実行手段はこの記憶媒体検索手段が取得したメモリアドレスに対応付けて前記処理内容記憶手段が記憶する処理内容を実行する手段であることを特徴とする請求項1記載の記憶媒体制御装置。
【請求項6】
前記データ列格納手段が前記CAMへと格納させるデータ列のそれぞれに、データ誤りを検出および訂正するための冗長データを付加する冗長データ付加手段と、
前記記憶媒体検索手段がメモリアドレスを取得すると、そのメモリアドレスに該当する記憶領域に格納されたデータ列を読み出すデータ列読出手段と、
このデータ列読出手段が読み出したデータ列にデータ誤りが発生しているか否かをそのデータ列に付加された前記冗長データを基に判別するデータ誤り有無判別手段と、
このデータ誤り有無判別手段によってデータ誤りが発生していると判別されると、前記CAMに格納された該当するデータ列のデータ誤りをそのデータ列に付加された前記冗長データを基に訂正するデータ誤り訂正手段と、
このデータ誤り訂正手段がデータ誤りの訂正を行うと、前記記憶媒体検索手段に対して再度同じ検索キーを前記CAMに入力させる再検索実行手段とを更に具備し、
前記処理内容実行手段は、前記データ誤り有無判別手段によってデータ誤りが発生していないと判別されるときのみ該当する処理内容を実行する手段であることを特徴とする請求項5記載の記憶媒体制御装置。
【請求項7】
前記データ列格納手段が前記CAMへと格納させるデータ列のそれぞれに、データ誤りを検出するための冗長データを付加する冗長データ付加手段と、
前記記憶媒体検索手段がメモリアドレスを取得すると、そのメモリアドレスに該当する記憶領域に格納されたデータ列を読み出すデータ列読出手段と、
このデータ列読出手段が読み出したデータ列にデータ誤りが発生しているか否かをそのデータ列に付加された前記冗長データを基に判別するデータ誤り有無判別手段と、
このデータ誤り有無判別手段によってデータ誤りが発生していると判別されると、前記データ列格納手段が該当する記憶領域に格納したデータ列と同じデータ列を格納した前記CAMの他の記憶領域からデータ列を読み出す他データ列読出手段と、
この他データ列読出手段が読み出したデータ列にデータ誤りが発生しているか否かをそのデータ列に付加された前記冗長データを基に判別する他データ誤り有無判別手段と、
この他データ誤り有無判別手段によってデータ誤りが発生していないと判別されると、そのデータ列で前記データ誤り有無判別手段によってデータ誤りが発生していると判別されたデータ列が格納されている記憶領域の内容を更新するデータ列更新手段と、
このデータ列更新手段が記憶領域の内容を更新すると、前記記憶媒体検索手段に対して再度同じ検索キーを前記CAMに入力させる再検索実行手段とを更に具備し、
前記処理内容実行手段は、前記データ誤り有無判別手段によってデータ誤りが発生していないと判別されるときのみ該当する処理内容を実行する手段であることを特徴とする請求項5記載の記憶媒体制御装置。
【請求項8】
検索キーが入力されるとその検索キーに一致するデータ列が格納された記憶領域のメモリアドレスを1つ出力する記憶媒体としての所定のCAMでの検索の対象とすべきデータ列を、異なる複数のメモリアドレスを指定してこのCAMの異なる複数の記憶領域のそれぞれに格納させるデータ列格納ステップと、
このデータ列格納ステップでデータ列を格納させるときに指定した前記複数のメモリアドレスのそれぞれに対応付けて、その格納が行われたデータ列に一致するデータ列が入力されたときに対応して実行すべき処理内容を記憶する処理内容記憶ステップと、
データ列が入力されると、そのデータ列を検索キーとして前記CAMに入力する記憶媒体検索ステップと、
この記憶媒体検索ステップに対応して前記CAMからメモリアドレスが出力されると、前記処理内容記憶ステップでそのメモリアドレスに対応付けて記憶された処理内容を実行する処理内容実行ステップ
とを具備することを特徴とする記憶媒体制御方法。
【請求項9】
検索キーが入力されるとその検索キーに一致するデータ列が格納された記憶領域のメモリアドレスを1つ出力する記憶媒体としてのCAMを備えた装置のコンピュータに、
前記CAMでの検索の対象とすべきデータ列を、異なる複数のメモリアドレスを指定してこのCAMの異なる複数の記憶領域のそれぞれに格納させるデータ列格納処理と、
このデータ列格納処理でデータ列を格納させるときに指定した前記複数のメモリアドレスのそれぞれに対応付けて、その格納が行われたデータ列に一致するデータ列が検索キーとして入力されたときに対応して実行すべき処理内容を記憶する処理内容記憶処理と、
データ列が入力されると、そのデータ列を検索キーとして前記CAMに入力する記憶媒体検索処理と、
この記憶媒体検索処理に対応して前記CAMからメモリアドレスが出力されると、前記処理内容記憶処理でそのメモリアドレスに対応付けて記憶された処理内容を実行する処理内容実行処理
とを具備することを特徴とする記憶媒体制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2007−34732(P2007−34732A)
【公開日】平成19年2月8日(2007.2.8)
【国際特許分類】
【出願番号】特願2005−217791(P2005−217791)
【出願日】平成17年7月27日(2005.7.27)
【出願人】(390001395)エヌイーシーシステムテクノロジー株式会社 (438)
【Fターム(参考)】