(57)【要約】【課題】検索時にパリティチェックを高速に実行できるパラレルＣＡＭを提供する。【解決手段】ＣＡＭ１０は、全てのアドレスを同時に検索し、入力されたデータと同じデータを記憶しているか否かを判定するもので、ｎビットの書込及び検索データＷＤ，ＳＤのパリティＷＰ，ＳＰを生成する書込検索パリティ生成器１２、複数のアドレスに対応する複数のメモリロケーション１４、メモリロケーション１４から出力される有効パリティ一致信号ＰＭＶのうち少なくとも１つが不活性の場合にパリティエラー信号ＰＥを活性化するＮＡＮＤ回路１６を備える。各メモリロケーション１４は、ｎ個のデータメモリセル２、パリティメモリセル３、パリティＳＰとパリティＲＰとが一致するか否かを判断し、一致する場合にパリティ一致信号／ＰＭを活性化する排他的ＯＲ回路２０、データ一致信号ＤＭＬに応答してパリティ一致信号／ＰＭを有効化するＮＡＮＤ回路２２を含む。
2010050282.tif 000002
【特許請求の範囲】
【請求項１】
全てのアドレスを同時に検索し、入力されたデータと同じデータを記憶しているか否かを判定するパラレル連想メモリであって、
書込及び検索時に入力されるｎビットのデータのパリティを生成するパリティ生成手段と、
複数のアドレスに対応する複数のメモリロケーションとを備え、
前記メモリロケーションの各々は、
書込時に入力されるｎビットのデータを格納し、かつ、検索時に入力されるｎビットのデータとその格納されるｎビットのデータとを比較するｎ個のＣＡＭメモリセルと、
前記パリティ生成手段により書込時に生成されるパリティを格納するパリティメモリセルと、
前記パリティ生成手段により検索時に生成されるパリティと前記パリティメモリセルに格納されるパリティとが一致するか否かを判断するパリティチェック手段とを含む、パラレル連想メモリ。
【請求項２】
請求項１に記載のパラレル連想メモリであって、
前記パリティチェック手段は前記パリティが一致する場合にパリティ一致信号を活性化し、
前記メモリロケーションの各々はさらに、
検索時に入力されるｎビットのデータと前記ＣＡＭメモリセルに格納されるｎビットのデータとが一致する場合にワードデータ一致信号を活性化するワードマッチ検出回路と、  前記ワードマッチ検出回路により活性化されるワードデータ一致信号に応答して前記パリティチェック手段から出力されるパリティ一致信号を有効化するパリティ有効化手段とを含む、パラレル連想メモリ。
【請求項３】
請求項２に記載のパラレル連想メモリであってさらに、
前記パリティ有効化手段により有効化され、前記複数のメモリロケーションから出力される複数のパリティ一致信号のうち少なくとも１つが不活性の場合にパリティエラー信号を活性化するパリティエラー検出手段を備える、パラレル連想メモリ。
【請求項４】
請求項１に記載のパラレル連想メモリであって、
前記パリティ生成手段は、
書込時に入力されるｎビットのデータのパリティを生成する書込パリティ生成器と、
検索時に入力されるｎビットのデータのパリティを生成する検索パリティ生成器とを含む、パラレル連想メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パラレル連想メモリに関し、さらに詳しくは、全てのアドレスを同時に検索し、入力されたデータと同じデータを記憶しているか否かを判定するパラレル連想メモリに関する。
【背景技術】
【０００２】
図１３は、パリティチェック機能を有する従来のＳＲＡＭ(Static Random Access Memory)の構成を示す機能ブロック図である。同図を参照して、ＳＲＡＭ１は、ｎ（自然数）個のデータメモリセル２と、１個のパリティメモリセル３と、アドレスデコーダ４とを備える。これらは同じものが複数組設けられる。このＳＲＡＭ１はさらに、書込パリティ生成器５と、センスアンプ回路６と、読出パリティ生成器７と、パリティ比較器８とを備える。【０００３】
データ書込時には、アドレスデコーダ４が書込アドレスｉに応じてｎ個のデータメモリセル２及びそれらに対応するパリティメモリセル３を選択する。外部から入力されたｎビットのデータＷＤは、選択されたデータメモリセル２に書き込まれる。このとき、書込パリティ生成器５は、入力されたｎビットのデータＷＤに基づいてパリティＷＰを算出する。算出されたパリティＷＰはパリティメモリセル３に書き込まれる。【０００４】
一方、データ読出時には、アドレスデコーダ４が読出アドレスｉに応じてｎ個のデータメモリセル２及びそれらに対応するパリティメモリセル３を選択する。すると、選択されたデータメモリセル２からｎビットのデータＲＤが読み出され、選択されたパリティメモリセル３からパリティＲＰが読み出され、これらはセンスアンプ回路６により検知・増幅される。読出パリティ生成器７は、読み出されたｎビットのデータＲＤに基づいてパリティＣＰを算出する。パリティ比較器８は、算出されたパリティＣＰと、パリティメモリセル３から読み出されたパリティＲＰとを比較し、パリティが一致しない場合にパリティエラー信号ＰＥを出力する。【０００５】
このようにパリティチェックは、各アドレスからデータＲＤが読み出され、そのパリティＣＰが算出されることにより行われるが、ＳＲＡＭ１では指定された１つのアドレスのみからデータＲＤが読み出されるので、これで十分である。【０００６】
一方、全てのアドレスを同時に検索し、入力データと同じデータを格納しているアドレス又はそのデータに関連して連想されるデータを読み出すことができるパラレル連想メモリ（以下、「パラレルＣＡＭ(Content Addressable Memory)」という。）がある。パラレルＣＡＭもパリティチェック機能を有しているのが好ましい。特に、パラレルＣＡＭ本来の機能であるデータ検索の時にパリティチェックを行うことが望まれる。【０００７】
しかしながら、データ検索時に検索対象の全アドレスに対して上記と同じ方法でパリティチェックを行うと、１アドレスずつデータを読み出してパリティを算出する必要があり、パリティチェックに時間がかかり過ぎる。【０００８】
米国特許第７０１０７４１号明細書（特許文献１）及び米国特許第７３５０１３７号明細書（特許文献２）にはパリティチェック機能を有するＣＡＭが開示されているが、パリティチェックはデータを読み出して行われており、データ検索時に行われるものではない。【０００９】
また、特開昭６３−１７７２４２号公報（特許文献３）には、連想メモリのパリティチェック方法が開示されている。同公報の２頁左下欄１〜１１行には、「従来技術では、被検索データ用のメモリセルアレイのパリティチェックを、被検索データ用のメモリセルアレイを読み出してからそのデータのパリティを発生して、あらかじめ保持していたパリティ情報との比較を行っている。すなわち、パリティチェックを行うのに、メモリセルアレイのアクセス、パリティの発生，比較と一連の動作が必要であり、パリティチェックに時間がかかりすぎるという問題があった。本発明の目的は、高速にデータの誤り検出を行うパリティチェック方法を提供することにある。」と記載されている。【００１０】
この連想メモリの一実施例は、同公報の図１に示されるように、アドレスレジスタ１と、被検索データを記憶する被検索データ用メモリセルアレイ２と、被検索データを増幅するセンス回路３と、被検索データのパリティを記憶するパリティ用メモリセルアレイ２'と、パリティを増幅するセンス回路３'と、比較回路４と、パリティ発生回路５と、比較回路４'と、信号有効化回路６とを備える。アドレスレジスタ１から出力されるアドレスの上位ビットａは検索データであり、下位ビットｂは被検索データ用メモリセルアレイ２の中の１つを選択するアドレスである。比較回路４は、検索データａとアドレスに従って読出し増幅された被検索データｄとを比較し、一致すればヒット信号ｇを出力する。パリティ発生回路５は、検索データａのパリティｆを発生する。比較回路４'は、パリティｆとアドレスに従って読出し増幅されたパリティｄ'とを比較する。信号有効化回路６は、ヒット信号ｇに応答して比較回路４'の出力ｈを有効化し、パリティチェック信号ｉを出力する。この実施例によれば、被検索データ用のメモリセルのパリティチェックにおいて、検索データから発生したパリティを用いることができるため、被検索データからパリティを発生した場合に比べて高速動作が可能となる。【００１１】
また、他の実施例は、同公報の図３に示されるように、上記一実施例のセンス回路３及び比較回路４に代えて、被検索データ用メモリセルアレイ２内のメモリセルが出力する低振幅レベルの信号であるデータ線ｃと検索データａの一致を検出し、ヒット信号ｇとして出力する一致検出回路７を備える。一致検出回路７を用いることにより、低振幅レベルの信号を増幅することなく一致検出するために、ヒット信号ｇを高速に得ることができる。しかし、ともにアドレスに従って読出したデータとパリティを用いてパリティチェックを行う点では変わりがない。【００１２】
さらに他の実施例は、同公報の図８に示されるように、上記他の実施例のセンス回路３'及び比較回路４'に代えて、パリティ用メモリセルアレイ２'内のメモリセルが出力する低振幅レベルの信号であるデータ線ｃ'と検索データａから発生したパリティｆの一致を検出し、出力ｈを出力する一致検出回路７'を備える。一致検出回路７'を用いることにより、低振幅レベルの信号を増幅することなく一致検出するために、パリティチェック信号ｉをさらに高速に得ることができる。しかし、ともにアドレスに従って読出したデータとパリティを用いてパリティチェックを行う点では変わりがない。【００１３】
この連想メモリは、全てのアドレスを同時に検索するパラレルＣＡＭではなく、アドレスを１つずつ検索するシリアルＣＡＭである。すなわち、アドレスレジスタ１から与えられたアドレスに応じて被検索データ用メモリセルアレイ２の中から１つのアドレスが選択され、そのアドレスから被検索データが読み出される。比較回路４又は一致検出回路７は、その読み出された被検索データとアドレスレジスタ１から与えられた検索データとを比較する。一方、アドレスレジスタ１から与えられたアドレスに応じてパリティ用メモリセルアレイ２'の中から１つのアドレスが選択され、そのアドレスからパリティが読み出される。比較回路４'又は一致検出回路７'は、その読み出されたパリティとパリティ発生回路５により発生されたパリティとを比較する。このように、比較回路４，４'又は一致検出回路７，７'はメモリセルアレイ２，２'の外に設けられているため、１度に１アドレスのデータ及びパリティしかチェックできない。また、同公報の第２図ｃ及びｃ'に示されるように、パリティを比較する前に、メモリセルからデータを読み出さなければならない。【００１４】
また、特開平９−２２５９５号公報（特許文献４）には、連想記憶装置が開示されている。同公報の２頁右欄２４〜４８行には、「連想記憶装置は、検索対象の処理データを管理するデータメモリと、処理データと１対１に対応付けられるディレクトリデータを管理するディレクトリメモリとを備えて、検索データが与えられるときに、そのディレクトリメモリの管理するディレクトリデータの中から、検索データと一致するディレクトリデータを検索して、それが指す処理データをデータメモリから読み出していくという構成を採っている。このように構成される連想記憶装置では、処理データの持つパリティビットを処理データと対応をとりつつデータメモリに格納する構成を採って、検索データの指す処理データを読み出すときに、それと対となるパリティビットについても読み出し、そして、その読み出した処理データの持つパリティビットを算出して、その算出したパリティビットと、その読み出したパリティビットとが一致するのか否かを判断することで、読み出した処理データが破壊されているのか否かを検出するという構成を採っていた。しかしながら、従来技術では、データメモリに格納される処理データについては、破壊されているのか否かを検出できるものの、ディレクトリメモリの管理するディレクトリデータについては、それが破壊されても検出することはできない。これから、従来技術に従っていると、ディレクトリデータが破壊されることで、本来ヒットするはずのないディレクトリデータが検索されてしまい、これがために、データメモリから誤った処理データが出力されてしまうことが起こるという問題点があった。本発明はかかる事情に鑑みてなされたものであって、検索データにヒットした処理データが破壊されているのか否かを確実に検出できるようにする新たな連想記憶装置の提供を目的とする。」と記載されている。【００１５】
この連想記憶装置の一実施例は、同公報の図３に示されるように、処理データを格納するデータメモリ２０と、処理データと１対１に対応付けられるディレクトリデータを格納するとともに、検索データと一致するディレクトリデータについてヒット信号を出力するディレクトリメモリ２１と、データメモリ２０と同一のメモリ上に展開されて、処理データとの対応を取りつつディレクトリデータの持つパリティを格納するパリティメモリ２２と、検索データの持つパリティビットを生成するパリティ生成回路２４と、パリティ生成回路２４の生成するパリティビットと、パリティメモリ２２の出力するパリティビットとが一致するのか否かをチェックするパリティチェック回路２５とを備える。【００１６】
しかしながら、同公報には、検索データとディレクトリデータとを比較し、データが一致する場合にヒット信号を生成する回路の詳細は全く記載されていない。また、複数のマッチが生じた場合に調停する手段も記述されていない。この連想記憶装置も上記特開昭６３−１７７２４２号公報に記載の連想メモリと同様、記載された構成から見て、１度に１アドレスのデータ及びパリティしかチェックできないと思われる。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】米国特許第７０１０７４１号明細書
【特許文献２】米国特許第７３５０１３７号明細書
【特許文献３】特開昭６３−１７７２４２号公報
【特許文献４】特開平９−２２５９５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１８】
本発明の目的は、入力されたデータのパリティと記憶されているデータのパリティを高速にチェックすることができるパラレル連想メモリを提供することである。特に、データ検索時に、検索速度を犠牲にすることなく、複数の有効な検索対象データに対して同時に、パリティチェックを行うことを可能とする。
【課題を解決するための手段及び発明の効果】
【００１９】
本発明によるパラレル連想メモリは、全てのアドレスを同時に検索し、入力されたデータと同じデータを記憶しているか否かを判定するパラレル連想メモリであって、書込及び検索時に入力されるｎビットのデータのパリティを生成するパリティ生成手段と、複数のアドレスに対応する複数のメモリロケーションとを備える。メモリロケーションの各々は、書込時に入力されるｎビットのデータを格納し、かつ、検索時に入力されるｎビットのデータとその格納されるｎビットのデータとを比較するｎ個のＣＡＭメモリセルと、パリティ生成手段により書込時に生成されるパリティを格納するパリティメモリセルと、パリティ生成手段により検索時に生成されるパリティとパリティメモリセルに格納されるパリティとが一致するか否かを判断するパリティチェック手段とを含む。
【００２０】
本発明によれば、パリティ生成手段により検索時に生成されるパリティと、パリティメモリセルに格納されているパリティとが比較されるため、高速にパリティチェックを実行することができる。しかも、全てのアドレスに対応する全てのメモリロケーションにおいてデータ及びパリティが同時にチェックされるため、より高速にパリティチェックを実行することができる。
【００２１】
好ましくは、パリティチェック手段はパリティが一致する場合にパリティ一致信号を活性化する。メモリロケーションの各々はさらに、検索時に入力されるｎビットのデータとＣＡＭメモリセルに格納されるｎビットのデータとが一致する場合にワードデータ一致信号を活性化するワードマッチ検出回路と、ワードマッチ検出回路により活性化されるワードデータ一致信号に応答してパリティチェック手段から出力されるパリティ一致信号を有効化するパリティ有効化手段とを含む。
【００２２】
この場合、パリティチェック手段から出力されるパリティ一致信号は、入力されるデータとＣＡＭメモリセルに格納されているデータとが一致する場合のみ有効化されるため、そもそもデータが一致していないメモリロケーションから無意味なパリティ一致信号が出力されることはない。
【００２３】
好ましくは、パラレル連想メモリはさらに、パリティ有効化手段により有効化され、複数のメモリロケーションから出力される複数のパリティ一致信号のうち少なくとも１つが不活性の場合にパリティエラー信号を活性化するパリティエラー検出手段を備える。
【００２４】
この場合、有効化された複数のパリティ一致信号のうち少なくとも１つが不活性の場合にパリティエラー信号が活性化されるため、有効なデータが格納されているメモリロケーションのどれかにパリティエラーが存在する場合、パラレル連想メモリは誤ったデータを記憶していると判断することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の第１の実施の形態によるパラレルＣＡＭの構成を示す機能ブロック図である。
【図２】図１中のＣＡＭメモリセル及びワードマッチ検出回路の構成を示す機能ブロック図である。
【図３】図１中のＣＡＭメモリセル及びその周辺回路の構成を示す回路図である。
【図４】図１中のパリティメモリセル及びその周辺回路の構成を示す回路図である。
【図５】図４に示したパリティメモリセル及びその周辺回路の他の例を示す回路図である。
【図６】本発明の第２の実施の形態によるパラレルＣＡＭの構成を示す機能ブロック図である。
【図７】図６中のＣＡＭメモリセル及びその周辺回路の構成を示す回路図である。
【図８】本発明の第３の実施の形態によるパラレルＣＡＭの構成を示す機能ブロック図である。
【図９】本発明の第４の実施の形態によるパラレルＣＡＭの構成を示す機能ブロック図である。
【図１０】図９に示したパリティメモリセル及びその周辺回路の構成を示す回路図である。
【図１１】本発明の第５の実施の形態によるパラレルＣＡＭの構成を示す機能ブロック図である。
【図１２】図１１に示したパリティメモリセル及びその周辺回路の構成を示す回路図である。
【図１３】従来のパラレルＣＡＭの構成を示す機能ブロック図である。
【発明を実施するための形態】
【００２６】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【００２７】
［第１の実施の形態］
図１を参照して、本発明の第１の実施の形態によるパラレルＣＡＭ１０は、全てのアドレスを同時に検索し、入力されたデータと同じデータを記憶しているか否かを判定するものであって、書込検索パリティ生成器１２と、複数のアドレスに対応する複数のメモリロケーション１４と、ＮＡＮＤ回路（負論理）１６とを備える。図１では、１つのメモリロケーション１４が代表的に示されている。
【００２８】
書込検索パリティ生成器１２は、書込及び検索時に入力されるｎビットのデータＷＤ，ＳＤのパリティＷＰ，ＳＰを生成する。メモリロケーション１４の各々は、ｎ（自然数）個のＣＡＭメモリセル１７と、１個のパリティメモリセル３と、アドレスデコーダ４と、ラッチ回路１８と、排他的ＯＲ回路２０と、ＮＡＮＤ回路２２とを含む。
【００２９】
図２を参照して、ＣＡＭメモリセル１７の各々は、メモリセルコア９と、データ比較器４２とを含む。また、ｎ個のＣＡＭメモリセル１７は、書込時に入力されるｎビットの書込データＷＤを格納する機能と、検索時に入力されるｎビットの検索データＳＤとその格納されるｎビットの書込データＷＤとを比較する機能とを有する。各メモリセルコア９は、書込データＷＤのうち対応する１ビットを格納する。各データ比較器４２は、検索データＳＤのうち対応する１ビットと、対応するメモリセルコア９に格納される書込データＷＤの１ビットとを比較する。
【００３０】
メモリロケーション１４の各々はさらに、検索時に入力されるｎビットの検索データＳＤとＣＡＭメモリセル１７に格納されるｎビットのデータとが一致する場合にワードデータ一致信号ＤＭをハイレベル（電源電位ＶＤＤ）に活性化するワードマッチ検出回路を含む。具体的には、ワードマッチ検出回路１１は、検索用マッチ線ＭＬと、マッチ線プリチャージ回路１３と、センス回路１５とを含む。マッチ線プリチャージ回路１３は、検索用マッチ線ＭＬをハイレベルにプリチャージする。各データ比較器４２は、検索データＳＤのうち対応する１ビットと、対応するメモリセルコア９に格納されるデータの１ビットとが一致しない場合、検索用マッチ線ＭＬをローレベル（接地電位ＧＮＤ）まで放電する。センス回路１５は、検索用マッチ線ＭＬの電位を検知・増幅する。
【００３１】
再び図１を参照して、パリティメモリセル３は、書込検索パリティ生成器１２により書込時に生成されるパリティＷＰを格納する。
【００３２】
ラッチ回路１８は、クロック信号ＣＬＫに応答してワードデータ一致信号ＤＭをラッチする。排他的ＯＲ回路２０は、書込検索パリティ生成器１２により検索時に生成されるパリティＳＰとパリティメモリセル３に格納されているパリティＲＰ（＝ＷＰ）とが一致するか否かを判断し、一致する場合に負論理のパリティ一致信号／ＰＭを活性化する。ＮＡＮＤ回路２２は、ラッチ回路１８によりラッチされたワードデータ一致信号ＤＭＬに応答して排他的ＯＲ回路２０から出力されるパリティ一致信号／ＰＭを有効化する。ラッチされたワードデータ一致信号ＤＭＬがハイレベルに活性化され、データの一致を示す場合において、パリティ一致信号／ＰＭがローレベル（接地電位ＧＮＤ）に活性化され、パリティの一致を示すとき、有効パリティ一致信号ＰＭＶはハイレベルに活性化され、データもパリティも一致することを示す。一方、ラッチされたワードデータ一致信号ＤＭＬがハイレベルに活性化され、データの一致を示す場合において、パリティ一致信号／ＰＭがハイレベルに不活性化され、パリティの不一致を示すとき、有効パリティ一致信号ＰＭＶはローレベルに不活性化され、データは一致するが、パリティが一致しないことを示す。
【００３３】
ＮＡＮＤ回路１６は、複数のメモリロケーション１４から出力される複数の有効パリティ一致信号ＰＭＶのうち少なくとも１つがローレベル（不活性）の場合にパリティエラー信号ＰＥを活性化する。
【００３４】
図３を参照して、ＣＡＭ１０はさらに、読出書込検索兼用ビット線ＢＬＴＲＷＳ及びＢＬＣＲＷＳと、ワード線ＷＬとを備える。ビット線ＢＬＴＲＷＳ及びＢＬＣＲＷＳはｎ個のＣＡＭメモリセル１７に対応してｎ対設けられるが、図３では１対のみが代表的に示されている。ワード線ＷＬは複数のメモリロケーションに対応して複数設けられるが、図３では１本のみが代表的に示されている。検索用マッチ線ＭＬも複数のメモリロケーションに対応して複数設けられるが、図３では１本のみが代表的に示されている。
【００３５】
ビット線ＢＬＴＲＷＳ及びＢＬＣＲＷＳは、データ読出及び書込時にハイレベルにプリチャージされ、データ検索時にローレベルにプリチャージされる。ワード線ＷＬは、データ読出及び書込時にハイレベルに駆動される。検索用マッチ線ＭＬは、データ検索時にハイレベルにプリチャージされる。
【００３６】
外部から与えられたｎビットのデータＳＤと、ＣＡＭメモリセル１７に記憶されているｎビットのデータとが全て一致すると、検索用マッチ線ＭＬは放電されず、ハイレベルを維持する。一方、外部から与えられたｎビットのデータと、ＣＡＭメモリセル１７に記憶されているｎビットのデータとが１ビットでも一致しないと、検索用マッチ線ＭＬは放電され、ローレベルになる。検索用マッチ線ＭＬの電位は図２に示したワードマッチ検出回路１１内のセンス回路１５により検知・増幅され、データが一致するときワードデータ一致信号ＤＭがハイレベルになり、データが一致しないときワードデータ一致信号ＤＭがローレベルになる。
【００３７】
メモリセルコア９は、１ビットのデータを保持するラッチ回路２４と、ｎチャネルＭＯＳトランジスタからなるアクセストランジスタＴＮＡ０及びＴＮＡ１とを含む。ラッチ回路２４は、クロスカップルされたＣＭＯＳ(Complimentary Metal Oxide Semiconductor)インバータ２６及び２８を含む。ＣＭＯＳインバータ２６の入力ノード３０は記憶ノードＳＮＣに接続され、出力ノード３２は記憶ノードＳＮＴに接続される。ＣＭＯＳインバータ２８の入力ノード３４は記憶ノードＳＮＴに接続され、出力ノード３６は記憶ノードＳＮＣに接続される。
【００３８】
ＣＭＯＳインバータ２６は、ｐチャネルＭＯＳトランジスタからなる負荷トランジスタＴＰ０と、ｎチャネルＭＯＳトランジスタからなる駆動トランジスタＴＮ０とを含む。負荷トランジスタＴＰ０のゲートは入力ノード３０に接続され、ソースは電源３８に接続され、ドレインは出力ノード３２に接続される。駆動トランジスタＴＮ０のゲートは入力ノード３０に接続され、ソースは接地４０に接続され、ドレインは出力ノード３２に接続される。
【００３９】
ＣＭＯＳインバータ２８は、ｐチャネルＭＯＳトランジスタからなる負荷トランジスタＴＰ１と、ｎチャネルＭＯＳトランジスタからなる駆動トランジスタＴＮ１とを含む。負荷トランジスタＴＰ１のゲートは入力ノード３４に接続され、ソースは電源３８に接続され、ドレインは出力ノード３６に接続される。駆動トランジスタＴＮ１のゲートは入力ノード３４に接続され、ソースは接地４０に接続され、ドレインは出力ノード３６に接続される。
【００４０】
アクセストランジスタＴＮＡ０のゲートはワード線ＷＬに接続され、一方ソース／ドレインはビット線ＢＬＴＲＷＳに接続され、他方ソース／ドレインは記憶ノードＳＮＴに接続される。アクセストランジスタＴＮＡ１のゲートはワード線ＷＬに接続され、一方ソース／ドレインはビット線ＢＬＣＲＷＳに接続され、他方ソース／ドレインは記憶ノードＳＮＣに接続される。
【００４１】
データ比較器４２は、ビット線ＢＬＴＲＷＳ，ＢＬＣＲＷＳ経由で与えられた入力データとラッチ回路２４に記憶されたデータとを比較する。具体的には、データ比較器４２は、ｎチャネルＭＯＳトランジスタからなる比較トランジスタＴＮＣ０及びＴＮＣ１と、ｎチャネルＭＯＳトランジスタからなるマッチトランジスタＴＮＭとを含む。比較トランジスタＴＮＣ０のゲートは記憶ノードＳＮＣに接続され、一方ソース／ドレインはビット線ＢＬＴＲＷＳに接続され、他方ソース／ドレインは共通マッチノードＭＮに接続される。比較トランジスタＴＮＣ１のゲートは記憶ノードＳＮＴに接続され、一方ソース／ドレインはビット線ＢＬＣＲＷＳに接続され、他方ソース／ドレインは共通マッチノードＭＮに接続される。マッチトランジスタＴＮＭのゲートは共通マッチノードＭＮに接続され、ソースは接地４０に接続され、ドレインは検索用マッチ線ＭＬに接続される。
【００４２】
図４を参照して、パリティメモリセル３は、ＣＡＭメモリセル１７と同じメモリセルコア９を有する。ただし、パリティメモリセル３は、ＣＡＭメモリセル１７に含まれるデータ比較器４２を有していない。また、パリティＲＰとしては記憶ノードＳＮＴの電位がそのまま読み出される。また、ビット線ＢＬＴＲＷ及びＢＬＣＲＷは読出及び書込兼用で、データ読出及び書込時にハイレベルにプリチャージされるが、データ検索時には特に変化されない。ビット線は、この読出書込兼用ビット線ＢＬＴＲＷ，ＢＬＣＲＷと上記読出書込検索兼用ビット線ＢＬＴＲＷＳ，ＢＬＣＲＷＳとを合わせて全体として（ｎ＋１）対設けられる。
【００４３】
なお、図４ではパリティＲＰが記憶ノードＳＮＴから読み出されているが、図５に示されるように他方の記憶ノードＳＮＣから読み出されてもよい。この場合、論理レベルを整合させるために、ＣＭＯＳインバータ４３が挿入される。
【００４４】
以下、このＣＡＭ１０の動作を説明する。
【００４５】
書込及び読出動作は従来とほとんど同じである。概説すると、書込動作においては、入力されたｎビットのデータＷＤはｎ個のＣＡＭメモリセル１７に書き込まれる。これと同時に、書込検索パリティ生成器１２によりｎビットのデータＷＤに基づいてパリティＷＰが算出される。算出されたパリティＷＰはパリティメモリセル３に書き込まれる。一方、読出動作においては、ｎ個のＣＡＭメモリセル１７からｎビットのデータが読み出される。読出の際、「背景技術」の欄に記述したやり方で従来と同様にパリティチェックを行ってもよい。
【００４６】
検索動作は従来と異なるので、以下、詳述する。ＣＡＭメモリセル１７に記憶されているデータを検索するためには、まず、検索用マッチ線ＭＬがハイレベルにプリチャージされ、ビット線ＢＬＴＲＷＳ，ＢＬＣＲＷＳがローレベルにプリチャージされる。このとき、ハイレベルの記憶ノードＳＮＴ又はＳＮＣに応答して比較トランジスタＴＮＣ０又はＴＮＣ１がオンになるので、共通マッチノードＭＮはローレベルになる。したがって、マッチトランジスタＴＮＭはオフである。この状態で、検索されるべきデータＳＤがビット線ＢＬＴＲＷＳ，ＢＬＣＲＷＳに与えられると、検索されるべきデータＳＤと記憶されているデータとが一致するＣＡＭメモリセル１７では共通マッチノードＭＮはローレベルのままであるが、一致しないＣＡＭメモリセル１７では共通マッチノードＭＮはハイレベルに向かって上昇する。したがって、データ不一致のＣＡＭメモリセル１７ではマッチトランジスタＴＮＭがオンになり、検索用マッチ線ＭＬがローレベルになり、データ不一致を示す。すなわち、検索時に入力されるｎビットのデータＳＤとＣＡＭメモリセル１７に格納されるｎビットのデータとが一致すると、ワードデータ一致信号ＤＭはハイレベルに活性化される。一方、これらのデータが１ビットでも一致しないと、ワードデータ一致信号ＤＭはローレベルに不活性化される。ワードデータ一致信号ＤＭはラッチ回路１８にラッチされる。
【００４７】
これと同時に、書込検索パリティ生成器１２によりｎビットの検索データＳＤに基づいてパリティＳＰが算出される。また、パリティメモリセル３からパリティＲＰが読み出される。算出されたパリティＳＰと読み出されたパリティＲＰとが排他的ＯＲ回路２０により比較され、パリティＳＰ及びＲＰが一致すると、パリティ一致信号／ＰＭはローレベルになり、パリティＳＰ及びＲＰが一致しないと、パリティ一致信号／ＰＭはハイレベルになる。データが一致しないメモリロケーション１４ではパリティ一致信号／ＰＭは無意味であるから、ラッチ回路１８にラッチされたワードデータ一致信号ＤＭＬがハイレベルであれば、パリティ一致信号ＰＭはＮＡＮＤ回路２２により有効化される。パリティＳＰ，ＲＰが一致する場合、有効パリティ一致信号ＰＭＶはハイレベルになり、パリティＳＰ，ＲＰが一致しない場合、有効パリティ一致信号ＰＭＶはローレベルになる。
【００４８】
ｎビットの検索データＳＤは全てのメモリロケーション１４に同時に与えられ、上記動作は全てのメモリロケーション１４において同時に行われる。入力されたｎビットの検索データＳＤと記憶されているｎビットのデータとが一致するメモリロケーション１４においては、ワードデータ一致信号ＤＭがハイレベルになる。したがって、このメモリロケーション１４からは意味のある有効パリティ一致信号ＰＭＶが出力される。複数のメモリロケーション１４から出力された複数の有効パリティ一致信号ＰＭＶのうち少なくとも１つがパリティの不一致を示すローレベルであれば、パリティエラー信号ＰＥはハイレベルになる。
【００４９】
以上のように第１の実施の形態によれば、データ検索時において、ＣＡＭメモリセル１７からデータが読み出され、そのデータに基づいてパリティが計算され、そのパリティと、パリティメモリセル３に記憶されているパリティＲＰとが比較されるのではなく、書込検索パリティ生成器１２により計算されたパリティＳＰと、パリティメモリセル３に記憶されているパリティＲＰとが比較されるため、高速にパリティチェックを実行することができる。しかも、全てのアドレスに対応する全てのメモリロケーション１４においてデータ及びパリティが同時にチェックされるため、より高速にパリティチェックを実行することができる。
【００５０】
また、排他的ＯＲ回路２０から出力されるパリティ一致信号／ＰＭは、外部から入力された検索データＳＤとＣＡＭメモリセル１７に記憶されているデータとが一致する場合のみ有効化されるため、そもそもデータが一致していないメモリロケーション１４から無意味なパリティ一致信号／ＰＭが出力されることはない。
【００５１】
また、複数の有効パリティ一致信号ＰＭＶのうち１つでもローレベルであればパリティエラー信号ＰＥがハイレベルになるため、有効なデータが格納されているメモリロケーション１４のどれかにパリティエラーが存在する場合、パラレルＣＡＭ１０は誤ったデータを記憶していると判断することができる。
【００５２】
［第２の実施の形態］
上記第１の実施の形態では書込ポートと検索ポートとが併合されているが、この第２の実施の形態では書込ポートと検索ポートとが独立して併存している。具体的には図６に示されるように、書込パリティ生成器４４と検索パリティ生成器４６とが別々に設けられている。書込パリティ生成器４４は、入力されたｎビットの書込データＷＤのパリティＷＰを生成する。検索パリティ生成器４６は、入力されたｎビットの検索データＳＤのパリティＳＰを生成する。書込時には、書込データＷＤがＣＡＭメモリセル１７に書き込まれるとともに、書込データＷＤに基づいてパリティＷＰが算出され、パリティメモリセル３に書き込まれる。検索時には、全アドレスに対応するメモリロケーション１４が同時に検索され、検索データＳＤと一致するデータがＣＡＭメモリセル１７に記憶されているか否かが判断されるとともに、検索データＳＤに基づいてパリティＳＰが算出され、パリティメモリセル３に記憶されているパリティＲＰと一致するか否かが判断される。
【００５３】
また、ビット線は読出及び書込兼用と検索専用とに分離されている。具体的には図７に示されるように、読出書込兼用ビット線ＢＬＴＲＷ及びＢＬＣＲＷと、検索専用ビット線ＢＬＴＳ及びＢＬＣＳとが別々に設けられている。入力されたデータＷＤは読出書込兼用ビット線ＢＬＴＲＷ，ＢＬＣＲＷ経由でＣＡＭメモリセル１７に書き込まれ、ＣＡＭメモリセル１７から読み出されたデータは読出書込兼用ビット線ＢＬＴＲＷ，ＢＬＣＲＷ経由で出力される。入力された検索データＳＤは検索専用ビット線ＢＬＴＳ，ＢＬＣＳに与えられる。
【００５４】
この第２の実施の形態によれば、書込ポートと検索ポートとが別々になっているため、データの書込と検索とを同時に行うことができる。
【００５５】
［第３の実施の形態］
上記第１の実施の形態ではラッチ回路１８が設けられているが、この第３の実施の形態ではラッチ回路は省略されている。具体的には図８に示されるように、ワードデータ一致信号ＤＭはＮＡＮＤ回路２２に直接与えられている。
【００５６】
［第４の実施の形態］
上記第１の実施の形態では排他的ＯＲ回路２０が設けられているが、この第４の実施の形態では排他的ＯＲ回路２０の代わりに各パリティメモリセル３にこれと同等の機能が備えられる。具体的には図９及び図１０に示されるように、検索データＳＤのパリティＳＰがパリティメモリセル３に対応するビット線ＢＬＴＲＷＳ，ＢＬＣＲＷＳに与えられ、かつ、パリティメモリセル３内にパリティ比較器４８が設けられる。パリティ比較器４８は、ｎチャネルＭＯＳトランジスタからなる比較トランジスタＴＮＣ０及びＴＮＣ１と、ｐチャネルＭＯＳトランジスタＴＰＣ及びｎチャネルＭＯＳトランジスタＴＮＣからなるＣＭＯＳインバータ５０とを含み、ビット線ＢＬＴＲＷＳ，ＢＬＣＲＷＳ経由で与えられたパリティＳＰとパリティメモリセル３に記憶されたパリティとが一致するか否かを判断し、一致する場合にパリティ一致信号／ＰＭをローレベルに活性化し、一致しない場合にパリティ一致信号／ＰＭをハイレベルに不活性化する。このパリティ一致信号／ＰＭがＮＡＮＤ回路２２に与えられる。
【００５７】
なお、この第４の実施の形態においても図８に示した第３の実施の形態と同様にラッチ回路１８が省略されてもよい。
【００５８】
［第５の実施の形態］
図６及び図７に示した第２の実施の形態と図９及び図１０に示した第４の実施の形態とを組み合わせてもよい。具体的には第５の実施の形態では、図１１及び図１２に示されるように、検索パリティ生成器４６により生成されたパリティＳＰがパリティメモリセル３に対応するビット線ＢＬＴＳ，ＢＬＣＳに与えられ、かつ、パリティメモリセル３内にパリティ比較器４８が設けられる。
【００５９】
なお、この第５の実施の形態においても図８に示した第３の実施の形態と同様にラッチ回路１８が省略されてもよい。
【００６０】
その他、論理回路のハイレベル又はローレベルは逆でもよく、それに応じて論理回路を適切に変更し、全体として同一の論理を実現してもよい。
【００６１】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【符号の説明】
【００６２】
３  パリティメモリセル
１０  パラレルＣＡＭ
１２  書込検索パリティ生成器
１４  メモリロケーション
１６  ＮＡＮＤ回路
１７  ＣＡＭメモリセル
２０  排他的ＯＲ回路
２２  ＮＡＮＤ回路
２４  パリティ生成回路
４２  データ比較器
４４  書込パリティ生成器
４６  検索パリティ生成器
４８  パリティ比較器
【図１】
2010050282.tif 000003
【図２】
2010050282.tif 000004
【図３】
2010050282.tif 000005
【図４】
2010050282.tif 000006
【図５】
2010050282.tif 000007
【図６】
2010050282.tif 000008
【図７】
2010050282.tif 000009
【図８】
2010050282.tif 000010
【図９】
2010050282.tif 000011
【図１０】
2010050282.tif 000012
【図１１】
2010050282.tif 000013
【図１２】
2010050282.tif 000014
【図１３】
2010050282.tif 000015
【手続補正書】
【提出日】平成22年8月4日(2010.8.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
全てのアドレスを同時に検索し、入力されたデータと同じデータを記憶しているか否かを判定するパラレル連想メモリであって、
書込及び検索時に入力されるｎビットのデータのパリティを生成するパリティ生成手段と、
複数のアドレスに対応する複数のメモリロケーションとを備え、
前記メモリロケーションの各々は、
書込時に入力されるｎビットのデータを格納し、かつ、検索時に入力されるｎビットのデータとその格納されるｎビットのデータとを比較するｎ個のＣＡＭメモリセルと、
前記パリティ生成手段により書込時に生成されるパリティを格納するパリティメモリセルと、
前記パリティ生成手段により検索時に生成されるパリティと前記パリティメモリセルに格納されるパリティとが一致するか否かを判断し、前記パリティが一致する場合にパリティ一致信号を活性化するパリティチェック手段と、
検索時に入力されるｎビットのデータと前記ＣＡＭメモリセルに格納されるｎビットのデータとが一致する場合にワードデータ一致信号を活性化するワードマッチ検出回路と、
前記ワードマッチ検出回路により活性化されるワードデータ一致信号に応答して前記パリティチェック手段から出力されるパリティ一致信号を有効化するパリティ有効化手段とを含む、パラレル連想メモリ。
【請求項２】
請求項１に記載のパラレル連想メモリであってさらに、
前記パリティ有効化手段により有効化され、前記複数のメモリロケーションから出力される複数のパリティ一致信号のうち少なくとも１つが不活性の場合にパリティエラー信号を活性化するパリティエラー検出手段を備える、パラレル連想メモリ。
【請求項３】
請求項１に記載のパラレル連想メモリであって、
前記パリティ生成手段は、
書込時に入力されるｎビットのデータのパリティを生成する書込パリティ生成器と、
検索時に入力されるｎビットのデータのパリティを生成する検索パリティ生成器とを含む、パラレル連想メモリ。
【国際調査報告】
2010050282.tif 000016
2010050282.tif 000017