(57)【要約】【課題】データ検索時に、連想メモリ（CAM）の内部データのエラーをリアルタイムで検出できるようにする。【解決手段】CAM5にデータを登録する際には、記憶媒体3にも同一内容のデータを登録しておく。データ検索時に、制御部21から検索キーeが出力されると、エラー監視部22は内部のレジスタ23に検索キーeをセットし、CAM5は検索キーeと同一内容のデータが登録されているアドレスを検索結果fとして出力する。エラー監視部22は、検索結果fをリードアドレスgとして記憶媒体3からデータhを読み出し、レジスタ23に保持されている検索キーeと比較する。そして、比較一致の場合は、データ検索が正常終了したと判断し、CPU4に対して検索結果fと正常終了通知iとを出力する。これに対して、比較不一致の場合は、CAM5の内部データにエラーが発生していると判断し、CPU4に対して異常終了通知jを出力する。【選択図】図１
2010049722.tif 000002
【特許請求の範囲】
【請求項１】
連想メモリに登録されているデータ中の照合部と同一内容のデータが、該データを検索キーとして前記連想メモリに入力した際に得られる検索結果に関連するアドレスに登録された記憶媒体と、
データ検索時に前記連想メモリに入力される検索キーと、該検索キーに対する前記連想メモリの検索結果と関連する前記記憶媒体上のアドレスから読み出したデータとを比較することにより、前記連想メモリの内部データのエラーを検出する連想メモリ制御回路とを備えることを特徴とする連想メモリデータエラー検出装置。
【請求項２】
請求項１記載の連想メモリデータエラー検出装置において、
前記連想メモリ制御回路は、前記検索キーと前記記憶媒体から読み出したデータとを比較して両者が一致すると判定した後、前記連想メモリの検索結果を前記検索キーの発行元に出力することを特徴とする連想メモリデータエラー検出装置。
【請求項３】
請求項１記載の連想メモリデータエラー検出装置において、
前記連想メモリ制御回路は、前記検索キーと前記記憶媒体から読み出したデータとを比較する前に、前記連想メモリの検索結果を前記検索キーの発行元に出力することを特徴とする連想メモリデータエラー検出装置。
【請求項４】
請求項１または２記載の連想メモリデータエラー検出装置において、
前記連想メモリ制御回路は、
データ検索時に前記連想メモリに入力される前記検索キーを保持するレジスタと、
前記検索キーに対する前記連想メモリの検索結果と関連する前記記憶媒体上のアドレスからデータを読み出し、該読み出したデータと前記レジスタに保持されている検索キーとを比較し、比較一致の場合は前記検索キーの発行元に対して前記連想メモリの検索結果を出力し、比較不一致の場合は、前記発行元に対して異常終了通知を出力するエラー監視部とを備えることを特徴とする連想メモリデータエラー検出装置。
【請求項５】
請求項１または３記載の連想メモリデータエラー検出装置において、
前記連想メモリ制御回路は、
データ検索時に前記連想メモリに入力される前記検索キーを保持するレジスタと、
前記検索キーに対する前記連想メモリの検索結果を前記検索キーの発行元に対して出力する検索結果複製部と、
前記検索キーに対する前記連想メモリの検索結果と関連する前記記憶媒体上のアドレスからデータを読み出し、該読み出したデータと前記レジスタに保持されている検索キーとを比較し、比較一致の場合は前記検索キーの発行元に対して正常終了通知を出力し、比較不一致の場合は前記発行元に対して異常終了通知を出力するエラー監視部とを備えることを特徴とする連想メモリデータエラー検出装置。
【請求項６】
請求項１乃至５の何れか１項に記載の連想メモリデータエラー検出装置において、
前記連想メモリに検索キーを入力した際に得られる検索結果は、照合部の内容が前記検索キーと一致するデータが登録されている前記連想メモリ上のアドレスであり、
前記連想メモリの検索結果と関連するアドレスが、前記連想メモリから検索結果として出力されるアドレスであることを特徴とする連想メモリデータエラー検出装置。
【請求項７】
請求項１乃至５の何れか１項に記載の連想メモリデータエラー検出装置において、
前記連想メモリに検索キーを入力した際に得られる検索結果は、照合部の内容が前記検索キーと一致するデータ中の所定部分であり、
前記連想メモリの検索結果と関連するアドレスが、前記所定部分のハッシュ値であることを特徴とする連想メモリデータエラー検出装置。
【請求項８】
請求項６記載の連想メモリデータエラー検出装置において、
前記連想メモリ制御回路は、
前記連想メモリへの登録データと登録先アドレスとを含むデータ登録命令が入力された際、前記連想メモリ上の前記登録先アドレスに前記登録データを登録すると共に前記記憶媒体上の前記登録先アドレスに前記登録データを書き込む制御部を備えることを特徴とする連想メモリデータエラー検出装置。
【請求項９】
請求項７記載の連想メモリデータエラー検出装置において、
前記連想メモリ制御回路は、
前記連想メモリへの登録データと登録先アドレスとを含むデータ登録命令が入力された際、前記連想メモリ上の前記登録先アドレスに前記登録データを登録すると共に前記登録データ中の照合部に対して所定の演算を実行することにより求めた前記記憶媒体上のアドレスに前記登録データを登録する制御部を備えることを特徴とする連想メモリデータエラー検出装置。
【請求項１０】
コンピュータが、登録データと登録先アドレスとを含むデータ登録命令に従って、連想メモリ上の前記登録先アドレスに前記登録データを登録する第１のステップと、
前記コンピュータが、前記登録データ中の照合部と同一内容のデータを、該データを検索キーとして前記連想メモリに入力した際に得られる検索結果と関連する、記憶媒体上のアドレスに登録する第２のステップと、
前記コンピュータが、データ検索時に前記連想メモリに入力される検索キーと、該検索キーに対する前記連想メモリの検索結果と関連する前記記憶媒体上のアドレスから読み出したデータとを比較することにより、前記連想メモリの内部データのエラーを検出する第３のステップとを含むことを特徴とする連想メモリデータエラー検出方法。
【請求項１１】
請求項１０記載の連想メモリデータエラー検出方法において、
前記第３のステップでは、前記検索キーと前記記憶媒体から読み出したデータとを比較して両者が一致すると判定した後、前記連想メモリの検索結果を前記検索キーの発行元に出力することを特徴とする連想メモリデータエラー検出方法。
【請求項１２】
請求項１０記載の連想メモリデータエラー検出方法において、
前記第３のステップでは、前記検索キーと前記記憶媒体から読み出したデータとを比較する前に、前記連想メモリの検索結果を前記検索キーの発行元に出力することを特徴とする連想メモリデータエラー検出方法。
【請求項１３】
連想メモリに登録されているデータ中の照合部と同一内容のデータが、該データを検索キーとして前記連想メモリに入力した際に得られる検索結果に関連するアドレスに登録された記憶媒体を備えたコンピュータを、連想メモリデータエラー検出装置として機能させるためのプログラムであって、
前記コンピュータを、データ検索時に前記連想メモリに入力される検索キーと、該検索キーに対する前記連想メモリの検索結果と関連する前記記憶媒体上のアドレスから読み出したデータとを比較することにより、前記連想メモリの内部データのエラーを検出する連想メモリ制御回路として機能させるためのプログラム。
【請求項１４】
請求項１３記載のプログラムにおいて、
前記連想メモリ制御回路は、前記検索キーと前記記憶媒体から読み出したデータとを比較して両者が一致すると判定した後、前記連想メモリの検索結果を前記検索キーの発行元に出力することを特徴とするプログラム。
【請求項１５】
請求項１３記載のプログラムにおいて、
前記連想メモリ制御回路は、前記検索キーと前記記憶媒体から読み出したデータとを比較する前に、前記連想メモリの検索結果を前記検索キーの発行元に出力することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連想メモリの内部データのエラーを検出する連想メモリデータエラー検出技術に関する。
【背景技術】
【０００２】
連想メモリ（Contents Addressable Memory；ＣＡＭ）は、検索キーとして入力されたデータと同一パターンを有するデータを内部データから検索し、検索結果としてその物理的なアドレスや、検索したデータに関連付けて登録されているデータを出力するものである。
【０００３】
このような連想メモリは、例えば、ルータ等のパケットスイッチ装置で受信したパケットの転送先を決定するために使用される。パケットスイッチ装置では、例えば、パケットの送信先アドレス情報を検索キーとして連想メモリを検索し、検索結果に応じた転送先にパケットを転送する。従って、連想メモリから出力される検索結果にエラーがあった場合や、連想メモリの内部データにエラーがあった場合は、不正な転送先にパケットが転送されてしまうので、エラー検出を行うことが重要になる。
【０００４】
ところで、連想メモリから出力される検索結果のエラーは、例えば、検索結果にパリティビットを付加することにより、リアルタイムで検出することができる。しかし、内部データのエラーは、この方法では検出することができない。内部データにビット反転するようなソフトエラーが発生し、検索キーの入力時に本来ヒットすべき内部データとは別の内部データがヒットしたとしても、出力される検索結果にはエラーがないので、内部データのエラーを検出することはできない。
【０００５】
連想メモリの内部データのエラーを検出するための一般的な方法としては、周期的に連想メモリから内部データを読み出してマスタデータと比較する方法や、パリティビットを付加したデータを連想メモリに登録しておき、周期的に連想メモリから内部データを読み出し、パリティチェックを行う方法が知られている。
【０００６】
また、連想メモリに登録されているデータに更に検査ビットを付加したデータを登録したＲＡＭを用意しておき、ＲＡＭから巡回的に検査ビットの付加されているデータを読み出してエラー訂正処理を行い、エラー訂正処理後のデータを連想メモリに登録するようにした技術も知られている（例えば、特許文献１参照）。
【０００７】
【特許文献１】特開２００５−３５３２３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述した一般的な方法によれば、連想メモリの内部データのエラーを検出することができる。しかし、検索処理とは別の周期的に行われる処理によって内部データのエラーを検出するようにしているため、データ検索時にリアルタイムで内部データのエラーを検出することができないという問題がある。
【０００９】
また、特許文献１に記載されている技術によれば、連想メモリの内部データの信頼性を高いものにすることができる。しかし、この特許文献１に記載されている技術は、検索処理とは別の処理によって連想メモリにエラー訂正済みのデータを書き込むようにしているだけであるので、データ検索時にリアルタイムで内部データのエラーを検出することはできない。
【００１０】
〔発明の目的〕
そこで、本発明の目的は、データ検索時にリアルタイムで連想メモリの内部データのエラーを検出することができる連想メモリデータエラー検出装置を提供することにある。
【課題を解決するための手段】
【００１１】
本発明にかかる第１の連想メモリデータエラー検出装置は、
連想メモリに登録されているデータ中の照合部と同一内容のデータが、該データを検索キーとして前記連想メモリに入力した際に得られる検索結果に関連するアドレスに登録された記憶媒体と、
データ検索時に前記連想メモリに入力される検索キーと、該検索キーに対する前記連想メモリの検索結果と関連する前記記憶媒体上のアドレスから読み出したデータとを比較することにより、前記連想メモリの内部データのエラーを検出する連想メモリ制御回路とを備える。
【００１２】
本発明にかかる第１の連想メモリデータエラー検出方法は、
コンピュータが、登録データと登録先アドレスとを含むデータ登録命令に従って、前記連想メモリ上の前記登録先アドレスに前記登録データを登録する第１のステップと、
前記コンピュータが、前記登録データ中の照合部と同一内容のデータを、該データを検索キーとして前記連想メモリに入力した際に得られる検索結果と関連する、記憶媒体上のアドレスに登録する第２のステップと、
前記コンピュータが、データ検索時に前記連想メモリに入力される検索キーと、該検索キーに対する前記連想メモリの検索結果と関連する前記記憶媒体上のアドレスから読み出したデータとを比較することにより、前記連想メモリの内部データのエラーを検出する第３のステップとを含む。
【００１３】
本発明にかかる第１のプログラムは、
連想メモリに登録されているデータ中の照合部と同一内容のデータが、該データを検索キーとして前記連想メモリに入力した際に得られる検索結果に関連するアドレスに登録された記憶媒体を備えたコンピュータを、連想メモリデータエラー検出装置として機能させるためのプログラムであって、
前記コンピュータを、データ検索時に前記連想メモリに入力される検索キーと、該検索キーに対する前記連想メモリの検索結果と関連する前記記憶媒体上のアドレスから読み出したデータとを比較することにより、前記連想メモリの内部データのエラーを検出する連想メモリ制御回路として機能させる。
【発明の効果】
【００１４】
本発明によれば、データ検索時にリアルタイムで連想メモリの内部データのエラーを検出することができる連想メモリデータエラー検出装置を提供できる。
【発明を実施するための最良の形態】
【００１５】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００１６】
〔本発明の第１の実施の形態〕
図１を参照すると、本発明の第１の実施の形態は、データ検索処理プログラムが動作するＣＰＵ４と連想メモリ（ＣＡＭ）５との間に、ＣＡＭデータエラー検出装置１が配置されている。
【００１７】
ＣＰＵ４上で動作するデータ検索処理プログラムは、ＣＡＭ５を用いたデータ検索を行うために、ＣＡＭ５に対するデータ登録命令およびデータ検索命令を発行する機能を有する。データ登録命令は、登録データと、その登録先アドレスとを含む。データ検索命令は、検索キーを含む。
【００１８】
ＣＡＭ５は、図２（Ａ）に示すように、ＣＡＭアドレス「０〜（Ｎ−１）」にデータ＃０〜＃（Ｎ−１）が登録されており、入力された検索キーとデータ領域に登録されている全データ＃０〜＃（Ｎ−１）とを瞬時に照合し、検索キーと一致したデータが登録されているアドレスを検索結果として出力する機能を有する。すなわち、ＣＡＭ５のデータ領域に登録されているデータは、検索キーとの照合対象となる照合部から構成されていることになる。
【００１９】
ＣＡＭデータエラー検出装置１は、ＣＡＭ制御回路２と、記憶媒体３とを含んでいる。
【００２０】
記憶媒体３は、ＮＶＲＡＭ（Non Volatile ＲＡＭ）などによって実現されるものであり、図２（Ｂ）に示すように、ＣＡＭ５のアドレス「０〜（Ｎ−１）」に登録されているデータ＃０〜＃（Ｎ−１）と同一内容のデータ＃０〜＃（Ｎ−１）が、それぞれ記憶媒体アドレス「０〜（Ｎ−１)」に登録されている。
【００２１】
ＣＡＭ制御回路２は、制御部２１と、レジスタ２３を有するエラー監視部２２とを備えている。
【００２２】
制御部２１は、ＣＰＵ４から入力された命令を解読し、解読結果に従った処理を行う。より具体的には、データ登録命令ａが入力された場合は、その命令ａ中の登録データｂおよび登録先アドレスｃをＣＡＭ５及び記憶媒体３に対して出力し、登録データｂの登録処理を行わせる。また、データ検索命令ｄが入力された場合は、その命令中の検索キーｅをＣＡＭ５およびエラー監視部２２に対して出力し、ＣＡＭ５に検索処理を行わせる。
【００２３】
エラー監視部２２は、次のような機能を有する。
・制御部２１から出力された検索キーｅをレジスタ２３にセットする機能。
・ＣＡＭ５から出力された検索結果（アドレス）ｆをリードアドレスｇとして記憶媒体３からデータｈを読み出す機能。
・記憶媒体３から読み出したデータｈと、レジスタ２３に保持されている検索キーｅとを比較し、比較一致の場合は、ＣＡＭ５からの検索結果ｆと正常終了通知ｉとをＣＰＵ４に対して出力し、比較不一致の場合は、異常終了通知ｊをＣＰＵ４に対して出力する機能。
【００２４】
なお、ＣＡＭ制御回路２は、コンピュータによって実現可能であり、コンピュータによって実現する場合は、例えば次のようにする。コンピュータをＣＡＭ制御回路２として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に、制御部２１およびエラー監視部２２を実現する。
【００２５】
〔第１の実施の形態の動作の説明〕
次に、本実施の形態の動作について詳細に説明する。先ず、データ登録時の動作を図３のフローチャートを参照して説明する。
【００２６】
ＣＰＵ４は、データ登録時、登録データｂとその登録先アドレスｃとを含んだデータ登録命令ａを発行する（ステップＳ３０１）。
【００２７】
制御部２１は、このデータ登録命令ａを解読し、先ず、命令ａ中の登録データｂ及び登録先アドレスｃをＣＡＭ５に対して出力し、ＣＡＭ５上のアドレスｃにデータｂを書き込む（ステップＳ３０２）。その後、記憶媒体３に対して登録データｂ及び登録先アドレスｃを出力し、記憶媒体３上のアドレスｃにデータｂを登録する（ステップＳ３０３）。以上の処理により、ＣＡＭ５と記憶媒体３の同一アドレスに同一データが登録される。なお、ＣＡＭ５の複数のアドレスにデータを登録する必要がある場合は、ＣＰＵ４は、各アドレスにデータを登録するためのデータ登録命令をそれぞれ発行する。
【００２８】
次に、データ検索時の動作について図４のフローチャートを参照して説明する。
【００２９】
ＣＰＵ４は、データ検索時、検索キーｅを含んだデータ検索命令ｄを発行する（ステップＳ４０１）。
【００３０】
制御部２１は、データ検索命令ｄを解読し、その命令ｄに含まれている検索キーｅをＣＡＭ５及びエラー監視部２２に対して出力する（ステップＳ４０２）。これにより、エラー監視部２２は検索キーｅをレジスタ２３にセットし、ＣＡＭ５は検索処理を開始する（ステップＳ４０２）。
【００３１】
その後、ＣＡＭ５が検索キーｅと一致するデータが登録されているアドレスを検索結果ｆとして出力すると（ステップＳ４０４）、エラー監視部２２は、検索結果ｆをリードアドレスｇとして記憶媒体３に入力することで、記憶媒体３からデータｈを読み出し、レジスタ２３に保持されている検索キーｅと比較する（ステップＳ４０５、Ｓ４０６）。
【００３２】
そして、両者が一致した場合（ステップＳ４０７がＹＥＳ）は、検索処理が正常終了したと判断し、ＣＡＭ５から出力された検索結果ｆと正常終了通知ｉとを、データ検索命令ｄの発行元のＣＰＵ４に出力する（ステップＳ４０８）。
【００３３】
これに対して不一致であった場合（ステップＳ４０７がＮＯ）は、ＣＡＭ５の内部データにエラーが発生していると判断し、ＣＰＵ４に対して異常終了通知ｊを出力する（ステップＳ４０９）。
【００３４】
次に、図５を参照して、ＣＡＭ５の内部データが正常であるときの動作について説明する。
【００３５】
制御部２１が検索キーｅとして「データ＃１」を出力すると、ＣＡＭ５は、検索結果ｆとしてアドレス「１」を出力する。なお、エラー監視部２２は、検索キーｅ（この場合「データ＃１」）を内部のレジスタ２３に保持する。
【００３６】
エラー監視部２２は、ＣＡＭ５から検索結果ｆとしてアドレス「１」が出力されると、記憶媒体３のアドレス「１」から「データ＃１」を読み出し、レジスタ２３に保持されている検索キーｅと比較する。この場合、レジスタ２３には「データ＃１」が保持されているので、比較結果は一致し、検索処理が正常終了したと判断される。
【００３７】
次に、図６を参照してＣＡＭ５の内部データにエラーが発生している場合の動作について説明する。なお、以下の説明では、ＣＡＭ５のアドレス「１」「２」に登録されているデータ「データ＃１」「データ＃２」にエラーが発生し、それぞれ「データ＃１'」「データ＃１」に変化しているとする。
【００３８】
制御部２１が検索キーｅとして「データ＃１」を出力すると、ＣＡＭ５は、アドレス「２」に「データ＃１」が登録されているので、検索結果ｆとしてアドレス「２」を出力する。このアドレス「２」は、ＣＡＭ５の内部データにエラーがない場合に出力されるアドレス「１」とは異なるものである。なお、エラー監視部２２は、検索キーｅとして「データ＃１」を内部のレジスタ２３に保持する。
【００３９】
エラー監視部２２は、ＣＡＭ５から検索結果ｆとしてアドレス「２」が出力されると、記憶媒体３のアドレス「２」から「データ＃２」を読み出し、レジスタ２３に保持されている検索キーｅと比較する。この場合、レジスタ２３には「データ＃１」が保持されているので、比較不一致となり、ＣＡＭ５の内部データにエラーが発生していることが検出される。
【００４０】
〔第１の実施の形態の効果〕
本実施の形態によれば、データ検索時にリアルタイムでＣＡＭ５の内部データのエラーを検出できるといった効果を得ることができる。その理由は、ＣＡＭ５と同一内容の記憶媒体３を用意しておき、データ検索時には、ＣＡＭ５から出力された検索結果（本実施の形態では、検索キーと同一データが登録されているアドレス）に対応する、記憶媒体３上のアドレスに登録されているデータと検索キーとを比較するようにしているからである。
【００４１】
また、本実施の形態では、登録データｂと登録先アドレスｃとを含むデータ登録命令ａに従って、ＣＡＭ５上の上記登録先アドレスｃおよび記憶媒体３上の上記登録先アドレスｃに、登録データｂを登録する制御部２１を備えているので、１つのデータ登録命令ａを入力するだけで、ＣＡＭ５および記憶媒体３に対してデータを登録することが可能になるという効果を得ることもできる。
【００４２】
〔本発明の第２の実施の形態〕
次に、本発明の第２の実施の形態について説明する。第１の実施の形態では、ＣＡＭから出力される検索結果の正常性を確認した後、ＣＰＵに対して検索結果を通知するようにしたが、本実施の形態では、ＣＡＭの検索結果を迅速にＣＰＵに通知できるようにするため、ＣＡＭから出力された検索結果を直ちにＣＰＵに通知し、正常性の確認は後追いで行うようにしたことを特徴とする。
【００４３】
図７を参照すると、本実施の形態のＣＡＭデータエラー検出装置１ａは、ＣＡＭ制御回路２の代わりにＣＡＭ制御回路２ａを備えている点で、図１に示した第１の実施の形態のＣＡＭデータエラー検出装置１と相違している。
【００４４】
本実施の形態のＣＡＭ制御回路２ａは、検索結果複製部２４が追加されている点、およびエラー監視部２２の代わりにエラー監視部２２ａを備えている点が第１の実施の形態のＣＡＭ制御回路２と相違している。
【００４５】
検索結果複製部２４は、ＣＡＭ５から出力された検索結果ｆをＣＰＵ４及びエラー監視部２２ａに対して出力する。
【００４６】
エラー監視部２２ａは、レジスタ２３に保持されている検索キーｅと、記憶媒体３から読み出したデータｈとを比較し、比較一致の場合は、ＣＰＵ４に対して正常終了通知ｉを出力し、比較不一致の場合は、ＣＰＵ４に対して異常終了通知ｊを出力する。
【００４７】
なお、本実施の形態のＣＡＭ制御回路２ａもコンピュータによって実現可能である。
【００４８】
次に、本実施の形態の動作について説明する。なお、データ登録時の動作は第１の実施の形態と同様であるので、ここでは、図８を参照してデータ検索時の動作についてのみ説明する。
【００４９】
ＣＰＵ４がデータ検索命令ｄを発行すると（ステップＳ８０１）、ステップＳ８０２〜Ｓ８０４において、前述した図４のステップＳ４０２〜Ｓ４０４と同様の処理が行われ、ＣＡＭ５から検索結果ｆ（検索キーと一致するデータが登録されているアドレス）が出力される。
【００５０】
これにより、検索結果複製部２４は、ＣＰＵ４およびエラー監視部２２ａに対して検索結果ｆを出力する（ステップＳ８０５）。このように本実施の形態では、ＣＡＭ５から出力された検索結果ｆを直ちにＣＰＵ４に出力するようにしているので、ＣＰＵ４にＣＡＭ５の検索結果ｆを迅速に伝えることができる。
【００５１】
その後、エラー監視部２２ａが、検索結果ｆをリードアドレスｇとして記憶媒体３に入力することで、記憶媒体３からデータｈを読み出し、レジスタ２３に保持されている検索キーｅと比較する（ステップＳ８０７）。そして、両者が一致した場合（ステップＳ８０８がＹＥＳ）、検索処理が正常終了したと判断して、ＣＰＵ４に対して正常終了通知ｉを出力する（ステップＳ８０９）。これに対して、不一致の場合（ステップＳ８０８がＮＯ）は、ＣＡＭ５の内部データにエラーが発生していると判断し、ＣＰＵ４に対して異常終了通知ｊを出力する。
【００５２】
〔第２の実施の形態の効果〕
本実施の形態によれば、第１の実施の形態で得られる効果に加え、ＣＰＵ４に対して迅速にＣＡＭ５の検索結果を通知することが可能になるという効果を得ることができる。その理由は、ＣＡＭ５の検索結果ｆは検索結果複製部２４を用いて直ちにＣＰＵ４へ通知し、検索結果ｆを利用したエラー監視部２２ａでのエラー検出処理は後追いで行うようにしたからである。
【００５３】
〔本発明の他の実施の形態〕
なお、上述した第１および第２の実施の形態では説明しなかったが、Don't Careビットが使用可能なＴＣＡＭ（Ternary CAM：３値連想メモリ）を使用することもできる。この場合は、エラー監視部２２、２２ａにおいて検索キーｅと記憶媒体３から読み出したデータｈとを比較する際、Don't Careビット以外のビット比較を行うようにすれば良い。
【００５４】
また、前述した第１および第２の実施の形態では、入力された検索キーと一致するデータが登録されているアドレスを検索結果として出力するＣＡＭ５を使用したが、図９（Ａ）に示すように、各アドレス０〜（Ｎ−１）に照合部＃０〜＃（Ｎ−１）と検索結果部＃０〜＃（Ｎ−１）とから構成されるデータが登録され、検索キーが入力された場合、照合部の内容が上記検索キーと一致するデータ中の検索結果部を検索結果として出力するＣＡＭ５ａを使用することもできる。この場合には、記憶媒体３の代わりに、図９（Ｂ）に示すような記憶媒体３ａを使用する。すなわち、ＣＡＭ５ａに登録されている照合部＃０〜＃（Ｎ−１）と同一内容のデータ（照合部＃０〜＃（Ｎ−１））が、それをＣＡＭ５ａに入力した際に得られる検索結果（検索結果部＃０〜＃（Ｎ−１））に関連するアドレスに登録された記憶媒体３ａを使用する。検索結果に関連するアドレスとしては、例えば、検索結果のハッシュ値を使用することができる。また、図９（Ｂ）に示すような記憶媒体３ａを使用することに伴い、図３のステップＳ３０３、図４のステップＳ４０５、および図８のステップＳ８０６の処理を変更する必要がある。
【００５５】
すなわち、図３のステップＳ３０３では、データ登録命令によって登録指示されているデータ（照合部と検索結果部とから構成される）中の検索結果部に対するハッシュ値を求め、記憶媒体３ａ上の上記ハッシュ値に対応するアドレスに、上記データ中の照合部の内容を書き込むようにする。
【００５６】
また、図４のステップＳ４０５や図８のステップＳ８０６では、ＣＡＭ５ａから出力された検索結果に対するハッシュ値を求め、記憶媒体３ａ上の上記ハッシュ値に対応するアドレスからデータを読み出すようにする。
【００５７】
また、上述した第１及び第２の実施の形態では説明しなかったが、単位時間当たりのミスヒット回数（検索キーと一致するデータを検索できなかった回数）が所定回数以上となった場合、ＣＡＭ５に登録されているデータとマスタデータとを比較し、エラーの発生しているデータを検出するようにしても良い。
【産業上の利用可能性】
【００５８】
本発明は、連想メモリを使用したルータ等のパターンスイッチ装置に使用すると好適である。
【図面の簡単な説明】
【００５９】
【図１】本発明の第１の実施の形態の構成例を示すブロック図である。
【図２】ＣＡＭ５および記憶媒体３の内容例を示す図である。
【図３】データ登録時の処理例を示すフローチャートである。
【図４】データ検索時の処理例を示すフローチャートである。
【図５】ＣＡＭ５の内部データにエラーが発生していない場合におけるデータ検索時の動作を説明するための図である。
【図６】ＣＡＭ５の内部データにエラーが発生している場合におけるデータ検索時の動作を説明するための図である。
【図７】本発明の第２の実施の形態の構成例を示すブロック図である。
【図８】第２の実施の形態におけるデータ検索時の処理例を示すフローチャートである。
【図９】ＣＡＭ５ａおよび記憶媒体３ａの内容例を示す図である。
【符号の説明】
【００６０】
１、１ａ…ＣＡＭデータエラー検出装置
２、２ａ…ＣＡＭ制御回路
２１…制御部
２２、２２ａ…エラー監視部
２３…レジスタ
２４…検索結果複製部
３、３ａ…記憶媒体
４…ＣＰＵ
５、５ａ…ＣＡＭ
【図１】
2010049722.tif 000003
【図２】
2010049722.tif 000004
【図３】
2010049722.tif 000005
【図４】
2010049722.tif 000006
【図５】
2010049722.tif 000007
【図６】
2010049722.tif 000008
【図７】
2010049722.tif 000009
【図８】
2010049722.tif 000010
【図９】
2010049722.tif 000011