JP5339544B2 - パラレル連想メモリ - Google Patents

パラレル連想メモリ Download PDF

Info

Publication number
JP5339544B2
JP5339544B2 JP2010535711A JP2010535711A JP5339544B2 JP 5339544 B2 JP5339544 B2 JP 5339544B2 JP 2010535711 A JP2010535711 A JP 2010535711A JP 2010535711 A JP2010535711 A JP 2010535711A JP 5339544 B2 JP5339544 B2 JP 5339544B2
Authority
JP
Japan
Prior art keywords
parity
data
match
search
memory cell
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010535711A
Other languages
English (en)
Other versions
JPWO2010050282A1 (ja
Inventor
久忠 宮武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2010535711A priority Critical patent/JP5339544B2/ja
Publication of JPWO2010050282A1 publication Critical patent/JPWO2010050282A1/ja
Application granted granted Critical
Publication of JP5339544B2 publication Critical patent/JP5339544B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories

Description

本発明は、パラレル連想メモリに関し、さらに詳しくは、全てのアドレスを同時に検索し、入力されたデータと同じデータを記憶しているか否かを判定するパラレル連想メモリに関する。
図13は、パリティチェック機能を有する従来のSRAM(Static Random Access Memory)の構成を示す機能ブロック図である。同図を参照して、SRAM1は、n(自然数)個のデータメモリセル2と、1個のパリティメモリセル3と、アドレスデコーダ4とを備える。これらは同じものが複数組設けられる。このSRAM1はさらに、書込パリティ生成器5と、センスアンプ回路6と、読出パリティ生成器7と、パリティ比較器8とを備える。
データ書込時には、アドレスデコーダ4が書込アドレスiに応じてn個のデータメモリセル2及びそれらに対応するパリティメモリセル3を選択する。外部から入力されたnビットのデータWDは、選択されたデータメモリセル2に書き込まれる。このとき、書込パリティ生成器5は、入力されたnビットのデータWDに基づいてパリティWPを算出する。算出されたパリティWPはパリティメモリセル3に書き込まれる。
一方、データ読出時には、アドレスデコーダ4が読出アドレスiに応じてn個のデータメモリセル2及びそれらに対応するパリティメモリセル3を選択する。すると、選択されたデータメモリセル2からnビットのデータRDが読み出され、選択されたパリティメモリセル3からパリティRPが読み出され、これらはセンスアンプ回路6により検知・増幅される。読出パリティ生成器7は、読み出されたnビットのデータRDに基づいてパリティCPを算出する。パリティ比較器8は、算出されたパリティCPと、パリティメモリセル3から読み出されたパリティRPとを比較し、パリティが一致しない場合にパリティエラー信号PEを出力する。
このようにパリティチェックは、各アドレスからデータRDが読み出され、そのパリティCPが算出されることにより行われるが、SRAM1では指定された1つのアドレスのみからデータRDが読み出されるので、これで十分である。
一方、全てのアドレスを同時に検索し、入力データと同じデータを格納しているアドレス又はそのデータに関連して連想されるデータを読み出すことができるパラレル連想メモリ(以下、「パラレルCAM(Content Addressable Memory)」という。)がある。パラレルCAMもパリティチェック機能を有しているのが好ましい。特に、パラレルCAM本来の機能であるデータ検索の時にパリティチェックを行うことが望まれる。
しかしながら、データ検索時に検索対象の全アドレスに対して上記と同じ方法でパリティチェックを行うと、1アドレスずつデータを読み出してパリティを算出する必要があり、パリティチェックに時間がかかり過ぎる。
米国特許第7010741号明細書(特許文献1)及び米国特許第7350137号明細書(特許文献2)にはパリティチェック機能を有するCAMが開示されているが、パリティチェックはデータを読み出して行われており、データ検索時に行われるものではない。
また、特開昭63−177242号公報(特許文献3)には、連想メモリのパリティチェック方法が開示されている。同公報の2頁左下欄1〜11行には、「従来技術では、被検索データ用のメモリセルアレイのパリティチェックを、被検索データ用のメモリセルアレイを読み出してからそのデータのパリティを発生して、あらかじめ保持していたパリティ情報との比較を行っている。すなわち、パリティチェックを行うのに、メモリセルアレイのアクセス、パリティの発生,比較と一連の動作が必要であり、パリティチェックに時間がかかりすぎるという問題があった。本発明の目的は、高速にデータの誤り検出を行うパリティチェック方法を提供することにある。」と記載されている。
この連想メモリの一実施例は、同公報の図1に示されるように、アドレスレジスタ1と、被検索データを記憶する被検索データ用メモリセルアレイ2と、被検索データを増幅するセンス回路3と、被検索データのパリティを記憶するパリティ用メモリセルアレイ2'と、パリティを増幅するセンス回路3'と、比較回路4と、パリティ発生回路5と、比較回路4'と、信号有効化回路6とを備える。アドレスレジスタ1から出力されるアドレスの上位ビットaは検索データであり、下位ビットbは被検索データ用メモリセルアレイ2の中の1つを選択するアドレスである。比較回路4は、検索データaとアドレスに従って読出し増幅された被検索データdとを比較し、一致すればヒット信号gを出力する。パリティ発生回路5は、検索データaのパリティfを発生する。比較回路4'は、パリティfとアドレスに従って読出し増幅されたパリティd'とを比較する。信号有効化回路6は、ヒット信号gに応答して比較回路4'の出力hを有効化し、パリティチェック信号iを出力する。この実施例によれば、被検索データ用のメモリセルのパリティチェックにおいて、検索データから発生したパリティを用いることができるため、被検索データからパリティを発生した場合に比べて高速動作が可能となる。
また、他の実施例は、同公報の図3に示されるように、上記一実施例のセンス回路3及び比較回路4に代えて、被検索データ用メモリセルアレイ2内のメモリセルが出力する低振幅レベルの信号であるデータ線cと検索データaの一致を検出し、ヒット信号gとして出力する一致検出回路7を備える。一致検出回路7を用いることにより、低振幅レベルの信号を増幅することなく一致検出するために、ヒット信号gを高速に得ることができる。しかし、ともにアドレスに従って読出したデータとパリティを用いてパリティチェックを行う点では変わりがない。
さらに他の実施例は、同公報の図8に示されるように、上記他の実施例のセンス回路3'及び比較回路4'に代えて、パリティ用メモリセルアレイ2'内のメモリセルが出力する低振幅レベルの信号であるデータ線c'と検索データaから発生したパリティfの一致を検出し、出力hを出力する一致検出回路7'を備える。一致検出回路7'を用いることにより、低振幅レベルの信号を増幅することなく一致検出するために、パリティチェック信号iをさらに高速に得ることができる。しかし、ともにアドレスに従って読出したデータとパリティを用いてパリティチェックを行う点では変わりがない。
この連想メモリは、全てのアドレスを同時に検索するパラレルCAMではなく、アドレスを1つずつ検索するシリアルCAMである。すなわち、アドレスレジスタ1から与えられたアドレスに応じて被検索データ用メモリセルアレイ2の中から1つのアドレスが選択され、そのアドレスから被検索データが読み出される。比較回路4又は一致検出回路7は、その読み出された被検索データとアドレスレジスタ1から与えられた検索データとを比較する。一方、アドレスレジスタ1から与えられたアドレスに応じてパリティ用メモリセルアレイ2'の中から1つのアドレスが選択され、そのアドレスからパリティが読み出される。比較回路4'又は一致検出回路7'は、その読み出されたパリティとパリティ発生回路5により発生されたパリティとを比較する。このように、比較回路4,4'又は一致検出回路7,7'はメモリセルアレイ2,2'の外に設けられているため、1度に1アドレスのデータ及びパリティしかチェックできない。また、同公報の第2図c及びc'に示されるように、パリティを比較する前に、メモリセルからデータを読み出さなければならない。
また、特開平9−22595号公報(特許文献4)には、連想記憶装置が開示されている。同公報の2頁右欄24〜48行には、「連想記憶装置は、検索対象の処理データを管理するデータメモリと、処理データと1対1に対応付けられるディレクトリデータを管理するディレクトリメモリとを備えて、検索データが与えられるときに、そのディレクトリメモリの管理するディレクトリデータの中から、検索データと一致するディレクトリデータを検索して、それが指す処理データをデータメモリから読み出していくという構成を採っている。このように構成される連想記憶装置では、処理データの持つパリティビットを処理データと対応をとりつつデータメモリに格納する構成を採って、検索データの指す処理データを読み出すときに、それと対となるパリティビットについても読み出し、そして、その読み出した処理データの持つパリティビットを算出して、その算出したパリティビットと、その読み出したパリティビットとが一致するのか否かを判断することで、読み出した処理データが破壊されているのか否かを検出するという構成を採っていた。しかしながら、従来技術では、データメモリに格納される処理データについては、破壊されているのか否かを検出できるものの、ディレクトリメモリの管理するディレクトリデータについては、それが破壊されても検出することはできない。これから、従来技術に従っていると、ディレクトリデータが破壊されることで、本来ヒットするはずのないディレクトリデータが検索されてしまい、これがために、データメモリから誤った処理データが出力されてしまうことが起こるという問題点があった。本発明はかかる事情に鑑みてなされたものであって、検索データにヒットした処理データが破壊されているのか否かを確実に検出できるようにする新たな連想記憶装置の提供を目的とする。」と記載されている。
この連想記憶装置の一実施例は、同公報の図3に示されるように、処理データを格納するデータメモリ20と、処理データと1対1に対応付けられるディレクトリデータを格納するとともに、検索データと一致するディレクトリデータについてヒット信号を出力するディレクトリメモリ21と、データメモリ20と同一のメモリ上に展開されて、処理データとの対応を取りつつディレクトリデータの持つパリティを格納するパリティメモリ22と、検索データの持つパリティビットを生成するパリティ生成回路24と、パリティ生成回路24の生成するパリティビットと、パリティメモリ22の出力するパリティビットとが一致するのか否かをチェックするパリティチェック回路25とを備える。
しかしながら、同公報には、検索データとディレクトリデータとを比較し、データが一致する場合にヒット信号を生成する回路の詳細は全く記載されていない。また、複数のマッチが生じた場合に調停する手段も記述されていない。この連想記憶装置も上記特開昭63−177242号公報に記載の連想メモリと同様、記載された構成から見て、1度に1アドレスのデータ及びパリティしかチェックできないと思われる。
米国特許第7010741号明細書 米国特許第7350137号明細書 特開昭63−177242号公報 特開平9−22595号公報
本発明の目的は、入力されたデータのパリティと記憶されているデータのパリティを高速にチェックすることができるパラレル連想メモリを提供することである。特に、データ検索時に、検索速度を犠牲にすることなく、複数の有効な検索対象データに対して同時に、パリティチェックを行うことを可能とする。
課題を解決するための手段及び発明の効果
本発明によるパラレル連想メモリは、全てのアドレスを同時に検索し、入力されたデータと同じデータを記憶しているか否かを判定するパラレル連想メモリであって、書込及び検索時に入力されるnビットのデータのパリティを生成するパリティ生成手段と、複数のアドレスに対応する複数のメモリロケーションとを備える。メモリロケーションの各々は、書込時に入力されるnビットのデータを格納し、かつ、検索時に入力されるnビットのデータとその格納されるnビットのデータとを比較するn個のCAMメモリセルと、パリティ生成手段により書込時に生成されるパリティを格納するパリティメモリセルと、パリティ生成手段により検索時に生成されるパリティとパリティメモリセルに格納されるパリティとが一致するか否かを判断し、パリティが一致するか否かを示すパリティ一致信号を出力するパリティチェック手段と、検索時に入力されるnビットのデータとCAMメモリセルに格納されるnビットのデータとが一致する場合にワードデータ一致信号を活性化するワードマッチ検出回路と、ワードデータ一致信号及びパリティ一致信号に基づいて、検索時に入力されるnビットのデータとCAMメモリセルに格納されるnビットのデータとは一致したが、パリティ生成手段により検索時に生成されるパリティとパリティメモリセルに格納されるパリティとが一致しなかった状態であるか否かを示す有効パリティ一致信号を出力するパリティ有効化手段とを含む。
本発明によれば、有効パリティ一致信号は、入力されるデータとCAMメモリセルに格納されているデータとが一致したが、検索時に生成されるパリティとパリティメモリセルに格納されるパリティとが一致しなかった状態であるか否かを示すため、そもそもデータが一致していないメモリロケーションから無意味なパリティ一致信号が出力されることはない。
好ましくは、パラレル連想メモリはさらに、複数のメモリロケーションから出力される複数の有効パリティ一致信号のうち少なくとも1つが、データが一致したがパリティが一致しなかった状態であることを示す場合にパリティエラー信号を活性化するパリティエラー検出手段を備える。
この場合、複数の有効パリティ一致信号のうち少なくとも1つが、データが一致したがパリティが一致しなかった状態であることを示す場合にパリティエラー信号が活性化されるため、有効なデータが格納されているメモリロケーションのどれかにパリティエラーが存在する場合、パラレル連想メモリは誤ったデータを記憶していると判断することができる。
本発明の第1の実施の形態によるパラレルCAMの構成を示す機能ブロック図である。 図1中のCAMメモリセル及びワードマッチ検出回路の構成を示す機能ブロック図である。 図1中のCAMメモリセル及びその周辺回路の構成を示す回路図である。 図1中のパリティメモリセル及びその周辺回路の構成を示す回路図である。 図4に示したパリティメモリセル及びその周辺回路の他の例を示す回路図である。 本発明の第2の実施の形態によるパラレルCAMの構成を示す機能ブロック図である。 図6中のCAMメモリセル及びその周辺回路の構成を示す回路図である。 本発明の第3の実施の形態によるパラレルCAMの構成を示す機能ブロック図である。 本発明の第4の実施の形態によるパラレルCAMの構成を示す機能ブロック図である。 図9に示したパリティメモリセル及びその周辺回路の構成を示す回路図である。 本発明の第5の実施の形態によるパラレルCAMの構成を示す機能ブロック図である。 図11に示したパリティメモリセル及びその周辺回路の構成を示す回路図である。 従来のパラレルCAMの構成を示す機能ブロック図である。
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
[第1の実施の形態]
図1を参照して、本発明の第1の実施の形態によるパラレルCAM10は、全てのアドレスを同時に検索し、入力されたデータと同じデータを記憶しているか否かを判定するものであって、書込検索パリティ生成器12と、複数のアドレスに対応する複数のメモリロケーション14と、NAND回路(負論理)16とを備える。図1では、1つのメモリロケーション14が代表的に示されている。
書込検索パリティ生成器12は、書込及び検索時に入力されるnビットのデータWD,SDのパリティWP,SPを生成する。メモリロケーション14の各々は、n(自然数)個のCAMメモリセル17と、1個のパリティメモリセル3と、アドレスデコーダ4と、ラッチ回路18と、排他的OR回路20と、NAND回路22とを含む。
図2を参照して、CAMメモリセル17の各々は、メモリセルコア9と、データ比較器42とを含む。また、n個のCAMメモリセル17は、書込時に入力されるnビットの書込データWDを格納する機能と、検索時に入力されるnビットの検索データSDとその格納されるnビットの書込データWDとを比較する機能とを有する。各メモリセルコア9は、書込データWDのうち対応する1ビットを格納する。各データ比較器42は、検索データSDのうち対応する1ビットと、対応するメモリセルコア9に格納される書込データWDの1ビットとを比較する。
メモリロケーション14の各々はさらに、検索時に入力されるnビットの検索データSDとCAMメモリセル17に格納されるnビットのデータとが一致する場合にワードデータ一致信号DMをハイレベル(電源電位VDD)に活性化するワードマッチ検出回路を含む。具体的には、ワードマッチ検出回路11は、検索用マッチ線MLと、マッチ線プリチャージ回路13と、センス回路15とを含む。マッチ線プリチャージ回路13は、検索用マッチ線MLをハイレベルにプリチャージする。各データ比較器42は、検索データSDのうち対応する1ビットと、対応するメモリセルコア9に格納されるデータの1ビットとが一致しない場合、検索用マッチ線MLをローレベル(接地電位GND)まで放電する。センス回路15は、検索用マッチ線MLの電位を検知・増幅する。
再び図1を参照して、パリティメモリセル3は、書込検索パリティ生成器12により書込時に生成されるパリティWPを格納する。
ラッチ回路18は、クロック信号CLKに応答してワードデータ一致信号DMをラッチする。排他的OR回路20は、書込検索パリティ生成器12により検索時に生成されるパリティSPとパリティメモリセル3に格納されているパリティRP(=WP)とが一致するか否かを判断し、一致する場合に負論理のパリティ一致信号/PMを活性化する。NAND回路22は、ラッチ回路18によりラッチされたワードデータ一致信号DMLに応答して排他的OR回路20から出力されるパリティ一致信号/PMを有効化する。ラッチされたワードデータ一致信号DMLがハイレベルに活性化され、データの一致を示す場合において、パリティ一致信号/PMがローレベル(接地電位GND)に活性化され、パリティの一致を示すとき、有効パリティ一致信号PMVはハイレベルに活性化され、データもパリティも一致することを示す。一方、ラッチされたワードデータ一致信号DMLがハイレベルに活性化され、データの一致を示す場合において、パリティ一致信号/PMがハイレベルに不活性化され、パリティの不一致を示すとき、有効パリティ一致信号PMVはローレベルに不活性化され、データは一致するが、パリティが一致しないことを示す。
NAND回路16は、複数のメモリロケーション14から出力される複数の有効パリティ一致信号PMVのうち少なくとも1つがローレベル(不活性)の場合にパリティエラー信号PEを活性化する。
図3を参照して、CAM10はさらに、読出書込検索兼用ビット線BLTRWS及びBLCRWSと、ワード線WLとを備える。ビット線BLTRWS及びBLCRWSはn個のCAMメモリセル17に対応してn対設けられるが、図3では1対のみが代表的に示されている。ワード線WLは複数のメモリロケーションに対応して複数設けられるが、図3では1本のみが代表的に示されている。検索用マッチ線MLも複数のメモリロケーションに対応して複数設けられるが、図3では1本のみが代表的に示されている。
ビット線BLTRWS及びBLCRWSは、データ読出及び書込時にハイレベルにプリチャージされ、データ検索時にローレベルにプリチャージされる。ワード線WLは、データ読出及び書込時にハイレベルに駆動される。検索用マッチ線MLは、データ検索時にハイレベルにプリチャージされる。
外部から与えられたnビットのデータSDと、CAMメモリセル17に記憶されているnビットのデータとが全て一致すると、検索用マッチ線MLは放電されず、ハイレベルを維持する。一方、外部から与えられたnビットのデータと、CAMメモリセル17に記憶されているnビットのデータとが1ビットでも一致しないと、検索用マッチ線MLは放電され、ローレベルになる。検索用マッチ線MLの電位は図2に示したワードマッチ検出回路11内のセンス回路15により検知・増幅され、データが一致するときワードデータ一致信号DMがハイレベルになり、データが一致しないときワードデータ一致信号DMがローレベルになる。
メモリセルコア9は、1ビットのデータを保持するラッチ回路24と、nチャネルMOSトランジスタからなるアクセストランジスタTNA0及びTNA1とを含む。ラッチ回路24は、クロスカップルされたCMOS(Complimentary Metal Oxide Semiconductor)インバータ26及び28を含む。CMOSインバータ26の入力ノード30は記憶ノードSNCに接続され、出力ノード32は記憶ノードSNTに接続される。CMOSインバータ28の入力ノード34は記憶ノードSNTに接続され、出力ノード36は記憶ノードSNCに接続される。
CMOSインバータ26は、pチャネルMOSトランジスタからなる負荷トランジスタTP0と、nチャネルMOSトランジスタからなる駆動トランジスタTN0とを含む。負荷トランジスタTP0のゲートは入力ノード30に接続され、ソースは電源38に接続され、ドレインは出力ノード32に接続される。駆動トランジスタTN0のゲートは入力ノード30に接続され、ソースは接地40に接続され、ドレインは出力ノード32に接続される。
CMOSインバータ28は、pチャネルMOSトランジスタからなる負荷トランジスタTP1と、nチャネルMOSトランジスタからなる駆動トランジスタTN1とを含む。負荷トランジスタTP1のゲートは入力ノード34に接続され、ソースは電源38に接続され、ドレインは出力ノード36に接続される。駆動トランジスタTN1のゲートは入力ノード34に接続され、ソースは接地40に接続され、ドレインは出力ノード36に接続される。
アクセストランジスタTNA0のゲートはワード線WLに接続され、一方ソース/ドレインはビット線BLTRWSに接続され、他方ソース/ドレインは記憶ノードSNTに接続される。アクセストランジスタTNA1のゲートはワード線WLに接続され、一方ソース/ドレインはビット線BLCRWSに接続され、他方ソース/ドレインは記憶ノードSNCに接続される。
データ比較器42は、ビット線BLTRWS,BLCRWS経由で与えられた入力データとラッチ回路24に記憶されたデータとを比較する。具体的には、データ比較器42は、nチャネルMOSトランジスタからなる比較トランジスタTNC0及びTNC1と、nチャネルMOSトランジスタからなるマッチトランジスタTNMとを含む。比較トランジスタTNC0のゲートは記憶ノードSNCに接続され、一方ソース/ドレインはビット線BLTRWSに接続され、他方ソース/ドレインは共通マッチノードMNに接続される。比較トランジスタTNC1のゲートは記憶ノードSNTに接続され、一方ソース/ドレインはビット線BLCRWSに接続され、他方ソース/ドレインは共通マッチノードMNに接続される。マッチトランジスタTNMのゲートは共通マッチノードMNに接続され、ソースは接地40に接続され、ドレインは検索用マッチ線MLに接続される。
図4を参照して、パリティメモリセル3は、CAMメモリセル17と同じメモリセルコア9を有する。ただし、パリティメモリセル3は、CAMメモリセル17に含まれるデータ比較器42を有していない。また、パリティRPとしては記憶ノードSNTの電位がそのまま読み出される。また、ビット線BLTRW及びBLCRWは読出及び書込兼用で、データ読出及び書込時にハイレベルにプリチャージされるが、データ検索時には特に変化されない。ビット線は、この読出書込兼用ビット線BLTRW,BLCRWと上記読出書込検索兼用ビット線BLTRWS,BLCRWSとを合わせて全体として(n+1)対設けられる。
なお、図4ではパリティRPが記憶ノードSNTから読み出されているが、図5に示されるように他方の記憶ノードSNCから読み出されてもよい。この場合、論理レベルを整合させるために、CMOSインバータ43が挿入される。
以下、このCAM10の動作を説明する。
書込及び読出動作は従来とほとんど同じである。概説すると、書込動作においては、入力されたnビットのデータWDはn個のCAMメモリセル17に書き込まれる。これと同時に、書込検索パリティ生成器12によりnビットのデータWDに基づいてパリティWPが算出される。算出されたパリティWPはパリティメモリセル3に書き込まれる。一方、読出動作においては、n個のCAMメモリセル17からnビットのデータが読み出される。読出の際、「背景技術」の欄に記述したやり方で従来と同様にパリティチェックを行ってもよい。
検索動作は従来と異なるので、以下、詳述する。CAMメモリセル17に記憶されているデータを検索するためには、まず、検索用マッチ線MLがハイレベルにプリチャージされ、ビット線BLTRWS,BLCRWSがローレベルにプリチャージされる。このとき、ハイレベルの記憶ノードSNT又はSNCに応答して比較トランジスタTNC0又はTNC1がオンになるので、共通マッチノードMNはローレベルになる。したがって、マッチトランジスタTNMはオフである。この状態で、検索されるべきデータSDがビット線BLTRWS,BLCRWSに与えられると、検索されるべきデータSDと記憶されているデータとが一致するCAMメモリセル17では共通マッチノードMNはローレベルのままであるが、一致しないCAMメモリセル17では共通マッチノードMNはハイレベルに向かって上昇する。したがって、データ不一致のCAMメモリセル17ではマッチトランジスタTNMがオンになり、検索用マッチ線MLがローレベルになり、データ不一致を示す。すなわち、検索時に入力されるnビットのデータSDとCAMメモリセル17に格納されるnビットのデータとが一致すると、ワードデータ一致信号DMはハイレベルに活性化される。一方、これらのデータが1ビットでも一致しないと、ワードデータ一致信号DMはローレベルに不活性化される。ワードデータ一致信号DMはラッチ回路18にラッチされる。
これと同時に、書込検索パリティ生成器12によりnビットの検索データSDに基づいてパリティSPが算出される。また、パリティメモリセル3からパリティRPが読み出される。算出されたパリティSPと読み出されたパリティRPとが排他的OR回路20により比較され、パリティSP及びRPが一致すると、パリティ一致信号/PMはローレベルになり、パリティSP及びRPが一致しないと、パリティ一致信号/PMはハイレベルになる。データが一致しないメモリロケーション14ではパリティ一致信号/PMは無意味であるから、ラッチ回路18にラッチされたワードデータ一致信号DMLがハイレベルであれば、パリティ一致信号PMはNAND回路22により有効化される。パリティSP,RPが一致する場合、有効パリティ一致信号PMVはハイレベルになり、パリティSP,RPが一致しない場合、有効パリティ一致信号PMVはローレベルになる。
nビットの検索データSDは全てのメモリロケーション14に同時に与えられ、上記動作は全てのメモリロケーション14において同時に行われる。入力されたnビットの検索データSDと記憶されているnビットのデータとが一致するメモリロケーション14においては、ワードデータ一致信号DMがハイレベルになる。したがって、このメモリロケーション14からは意味のある有効パリティ一致信号PMVが出力される。複数のメモリロケーション14から出力された複数の有効パリティ一致信号PMVのうち少なくとも1つがパリティの不一致を示すローレベルであれば、パリティエラー信号PEはハイレベルになる。
以上のように第1の実施の形態によれば、データ検索時において、CAMメモリセル17からデータが読み出され、そのデータに基づいてパリティが計算され、そのパリティと、パリティメモリセル3に記憶されているパリティRPとが比較されるのではなく、書込検索パリティ生成器12により計算されたパリティSPと、パリティメモリセル3に記憶されているパリティRPとが比較されるため、高速にパリティチェックを実行することができる。しかも、全てのアドレスに対応する全てのメモリロケーション14においてデータ及びパリティが同時にチェックされるため、より高速にパリティチェックを実行することができる。
また、排他的OR回路20から出力されるパリティ一致信号/PMは、外部から入力された検索データSDとCAMメモリセル17に記憶されているデータとが一致する場合のみ有効化されるため、そもそもデータが一致していないメモリロケーション14から無意味なパリティ一致信号/PMが出力されることはない。
また、複数の有効パリティ一致信号PMVのうち1つでもローレベルであればパリティエラー信号PEがハイレベルになるため、有効なデータが格納されているメモリロケーション14のどれかにパリティエラーが存在する場合、パラレルCAM10は誤ったデータを記憶していると判断することができる。
[第2の実施の形態]
上記第1の実施の形態では書込ポートと検索ポートとが併合されているが、この第2の実施の形態では書込ポートと検索ポートとが独立して併存している。具体的には図6に示されるように、書込パリティ生成器44と検索パリティ生成器46とが別々に設けられている。書込パリティ生成器44は、入力されたnビットの書込データWDのパリティWPを生成する。検索パリティ生成器46は、入力されたnビットの検索データSDのパリティSPを生成する。書込時には、書込データWDがCAMメモリセル17に書き込まれるとともに、書込データWDに基づいてパリティWPが算出され、パリティメモリセル3に書き込まれる。検索時には、全アドレスに対応するメモリロケーション14が同時に検索され、検索データSDと一致するデータがCAMメモリセル17に記憶されているか否かが判断されるとともに、検索データSDに基づいてパリティSPが算出され、パリティメモリセル3に記憶されているパリティRPと一致するか否かが判断される。
また、ビット線は読出及び書込兼用と検索専用とに分離されている。具体的には図7に示されるように、読出書込兼用ビット線BLTRW及びBLCRWと、検索専用ビット線BLTS及びBLCSとが別々に設けられている。入力されたデータWDは読出書込兼用ビット線BLTRW,BLCRW経由でCAMメモリセル17に書き込まれ、CAMメモリセル17から読み出されたデータは読出書込兼用ビット線BLTRW,BLCRW経由で出力される。入力された検索データSDは検索専用ビット線BLTS,BLCSに与えられる。
この第2の実施の形態によれば、書込ポートと検索ポートとが別々になっているため、データの書込と検索とを同時に行うことができる。
[第3の実施の形態]
上記第1の実施の形態ではラッチ回路18が設けられているが、この第3の実施の形態ではラッチ回路は省略されている。具体的には図8に示されるように、ワードデータ一致信号DMはNAND回路22に直接与えられている。
[第4の実施の形態]
上記第1の実施の形態では排他的OR回路20が設けられているが、この第4の実施の形態では排他的OR回路20の代わりに各パリティメモリセル3にこれと同等の機能が備えられる。具体的には図9及び図10に示されるように、検索データSDのパリティSPがパリティメモリセル3に対応するビット線BLTRWS,BLCRWSに与えられ、かつ、パリティメモリセル3内にパリティ比較器48が設けられる。パリティ比較器48は、nチャネルMOSトランジスタからなる比較トランジスタTNC0及びTNC1と、pチャネルMOSトランジスタTPC及びnチャネルMOSトランジスタTNCからなるCMOSインバータ50とを含み、ビット線BLTRWS,BLCRWS経由で与えられたパリティSPとパリティメモリセル3に記憶されたパリティとが一致するか否かを判断し、一致する場合にパリティ一致信号/PMをローレベルに活性化し、一致しない場合にパリティ一致信号/PMをハイレベルに不活性化する。このパリティ一致信号/PMがNAND回路22に与えられる。
なお、この第4の実施の形態においても図8に示した第3の実施の形態と同様にラッチ回路18が省略されてもよい。
[第5の実施の形態]
図6及び図7に示した第2の実施の形態と図9及び図10に示した第4の実施の形態とを組み合わせてもよい。具体的には第5の実施の形態では、図11及び図12に示されるように、検索パリティ生成器46により生成されたパリティSPがパリティメモリセル3に対応するビット線BLTS,BLCSに与えられ、かつ、パリティメモリセル3内にパリティ比較器48が設けられる。
なお、この第5の実施の形態においても図8に示した第3の実施の形態と同様にラッチ回路18が省略されてもよい。
その他、論理回路のハイレベル又はローレベルは逆でもよく、それに応じて論理回路を適切に変更し、全体として同一の論理を実現してもよい。
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
3 パリティメモリセル
10 パラレルCAM
12 書込検索パリティ生成器
14 メモリロケーション
16 NAND回路
17 CAMメモリセル
20 排他的OR回路
22 NAND回路
24 パリティ生成回路
42 データ比較器
44 書込パリティ生成器
46 検索パリティ生成器
48 パリティ比較器

Claims (3)

  1. 全てのアドレスを同時に検索し、入力されたデータと同じデータを記憶しているか否かを判定するパラレル連想メモリであって、
    書込及び検索時に入力されるnビットのデータのパリティを生成するパリティ生成手段と、
    複数のアドレスに対応する複数のメモリロケーションとを備え、
    前記メモリロケーションの各々は、
    書込時に入力されるnビットのデータを格納し、かつ、検索時に入力されるnビットのデータとその格納されるnビットのデータとを比較するn個のCAMメモリセルと、
    前記パリティ生成手段により書込時に生成されるパリティを格納するパリティメモリセルと、
    前記パリティ生成手段により検索時に生成されるパリティと前記パリティメモリセルに格納されるパリティとが一致するか否かを判断し、前記パリティが一致するか否かを示すパリティ一致信号を出力するパリティチェック手段と、
    検索時に入力されるnビットのデータと前記CAMメモリセルに格納されるnビットのデータとが一致する場合にワードデータ一致信号を活性化するワードマッチ検出回路と、
    前記ワードデータ一致信号及び前記パリティ一致信号に基づいて、前記検索時に入力されるnビットのデータと前記CAMメモリセルに格納されるnビットのデータとは一致したが、前記パリティ生成手段により検索時に生成されるパリティと前記パリティメモリセルに格納されるパリティとが一致しなかった状態であるか否かを示す有効パリティ一致信号を出力するパリティ有効化手段とを含む、パラレル連想メモリ。
  2. 請求項1に記載のパラレル連想メモリであってさらに、
    前記複数のメモリロケーションから出力される複数の前記有効パリティ一致信号のうち少なくとも1つが、前記データが一致したが前記パリティが一致しなかった状態であることを示す場合にパリティエラー信号を活性化するパリティエラー検出手段を備える、パラレル連想メモリ。
  3. 請求項1に記載のパラレル連想メモリであって、
    前記パリティ生成手段は、
    書込時に入力されるnビットのデータのパリティを生成する書込パリティ生成器と、
    検索時に入力されるnビットのデータのパリティを生成する検索パリティ生成器とを含む、パラレル連想メモリ。
JP2010535711A 2008-10-28 2009-08-04 パラレル連想メモリ Expired - Fee Related JP5339544B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010535711A JP5339544B2 (ja) 2008-10-28 2009-08-04 パラレル連想メモリ

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008276472 2008-10-28
JP2008276472 2008-10-28
PCT/JP2009/063784 WO2010050282A1 (ja) 2008-10-28 2009-08-04 パラレル連想メモリ
JP2010535711A JP5339544B2 (ja) 2008-10-28 2009-08-04 パラレル連想メモリ

Publications (2)

Publication Number Publication Date
JPWO2010050282A1 JPWO2010050282A1 (ja) 2012-03-29
JP5339544B2 true JP5339544B2 (ja) 2013-11-13

Family

ID=42128651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010535711A Expired - Fee Related JP5339544B2 (ja) 2008-10-28 2009-08-04 パラレル連想メモリ

Country Status (8)

Country Link
US (1) US20110271167A1 (ja)
EP (1) EP2357654B1 (ja)
JP (1) JP5339544B2 (ja)
KR (1) KR101442324B1 (ja)
CN (1) CN102197435B (ja)
RU (1) RU2498425C2 (ja)
TW (1) TW201017667A (ja)
WO (1) WO2010050282A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5520391B2 (ja) 2010-12-28 2014-06-11 インターナショナル・ビジネス・マシーンズ・コーポレーション 検索開始点を決定する装置及び方法
GB2500524A (en) 2010-12-28 2013-09-25 Ibm Apparatus and method for processing sequence of data element
CN103729260B (zh) * 2012-10-12 2017-07-21 联发科技股份有限公司 数据管理/检查方法及相关内容寻址存储器系统
US11436071B2 (en) 2019-08-28 2022-09-06 Micron Technology, Inc. Error control for content-addressable memory
US11422888B2 (en) * 2020-10-14 2022-08-23 Western Digital Technologies, Inc. Data integrity check for writing data in memory

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63177242A (ja) * 1987-01-19 1988-07-21 Hitachi Ltd 連想メモリのパリテイチエツク方法
JPH0922595A (ja) * 1995-07-05 1997-01-21 Fujitsu Ltd 連想記憶装置
JPH1027481A (ja) * 1996-07-11 1998-01-27 Hitachi Ltd 半導体集積回路
JP2002279785A (ja) * 2001-03-21 2002-09-27 Nec Corp Cam検索システム及びそれに用いるcam検索方法並びにそのプログラム
JP2004247006A (ja) * 2003-02-17 2004-09-02 Kawasaki Microelectronics Kk 連想メモリ

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3316542A (en) * 1963-04-23 1967-04-25 Sperry Rand Corp Double signal to noise ratio in a search memory
SU555438A1 (ru) * 1975-09-01 1977-04-25 Предприятие П/Я Х-5263 Ассоциативное запоминающее устройство
US4740971A (en) 1986-02-28 1988-04-26 Advanced Micro Devices, Inc. Tag buffer with testing capability
US6067656A (en) * 1997-12-05 2000-05-23 Intel Corporation Method and apparatus for detecting soft errors in content addressable memory arrays
US7237156B1 (en) * 2001-08-03 2007-06-26 Netlogic Microsystems, Inc. Content addressable memory with error detection
RU2212715C2 (ru) * 2001-11-13 2003-09-20 Федеральное государственное унитарное предприятие "Государственный научно-исследовательский институт авиационных систем" Ассоциативное запоминающее устройство
JP2004013504A (ja) * 2002-06-06 2004-01-15 Univ Hiroshima パターン認識システム、このシステムに用いられる連想メモリ装置及びパターン認識処理方法
US7010741B2 (en) 2002-10-29 2006-03-07 Mosaid Technologies Method and circuit for error correction in CAM cells
US7237172B2 (en) * 2002-12-24 2007-06-26 Micron Technology, Inc. Error detection and correction in a CAM
US7243290B2 (en) * 2003-07-11 2007-07-10 Micron Technology, Inc. Data encoding for fast CAM and TCAM access times
KR100634414B1 (ko) 2004-09-06 2006-10-16 삼성전자주식회사 에러 검출용 패러티 발생기를 구비한 낸드 플래시 메모리 장치 및 그것의 에러 검출 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63177242A (ja) * 1987-01-19 1988-07-21 Hitachi Ltd 連想メモリのパリテイチエツク方法
JPH0922595A (ja) * 1995-07-05 1997-01-21 Fujitsu Ltd 連想記憶装置
JPH1027481A (ja) * 1996-07-11 1998-01-27 Hitachi Ltd 半導体集積回路
JP2002279785A (ja) * 2001-03-21 2002-09-27 Nec Corp Cam検索システム及びそれに用いるcam検索方法並びにそのプログラム
JP2004247006A (ja) * 2003-02-17 2004-09-02 Kawasaki Microelectronics Kk 連想メモリ

Also Published As

Publication number Publication date
JPWO2010050282A1 (ja) 2012-03-29
EP2357654B1 (en) 2015-11-25
WO2010050282A1 (ja) 2010-05-06
CN102197435B (zh) 2014-08-13
US20110271167A1 (en) 2011-11-03
RU2498425C2 (ru) 2013-11-10
RU2011120976A (ru) 2012-12-10
CN102197435A (zh) 2011-09-21
KR101442324B1 (ko) 2014-09-23
EP2357654A1 (en) 2011-08-17
KR20110099218A (ko) 2011-09-07
EP2357654A4 (en) 2012-08-29
TW201017667A (en) 2010-05-01

Similar Documents

Publication Publication Date Title
US7350137B2 (en) Method and circuit for error correction in CAM cells
JP6640030B2 (ja) メモリマクロおよび半導体集積回路装置
US8233302B2 (en) Content addressable memory with concurrent read and search/compare operations at the same memory cell
JP2794990B2 (ja) 検出増幅回路およびその実行方法
KR20160082234A (ko) 저장 장치, 방법 및 저장 매체
US6744653B1 (en) CAM cells and differential sense circuits for content addressable memory (CAM)
TW201511002A (zh) 三元內容可定址記憶體
JP5339544B2 (ja) パラレル連想メモリ
US8488401B2 (en) Semiconductor storage device
JP2005353238A (ja) 連想メモリ
US7606054B2 (en) Cache hit logic of cache memory and processor chip having the same
US20100296357A1 (en) Semiconductor Memory Device
US7558924B2 (en) Systems and methods for accessing memory cells
US9324414B2 (en) Selective dual cycle write operation for a self-timed memory
US9431070B1 (en) Memory apparatus
US7092270B2 (en) Apparatus and method for detecting multiple hits in CAM arrays
US7561480B2 (en) Ground biased bitline register file
TWI497520B (zh) 記憶體輸出電路
KR101155120B1 (ko) 데이터 손실을 최소화하는 바이너리 내용 주소화 메모리
JP3646276B2 (ja) 連想メモリ
US20020196670A1 (en) Associative memory
Sreenivasa Rao et al. Design and Implementation CAM Architecture Memory Cell Using DMLSA Technique
KR101158751B1 (ko) 전하 재활용을 이용한 반도체 메모리 장치
JP5104297B2 (ja) 連想メモリ
JP2006066041A (ja) メモリテスト回路

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130205

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20130205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130319

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130614

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130709

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130802

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees