以下、各実施形態について図面を参照しながら詳細に説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
[実施形態1]
(半導体装置の構成例)
図1は、ある実施形態に従う半導体装置100の構成例を説明するブロック図である。図1を参照して、半導体装置100は、行デコーダ102と、サーチドライバ104A,104B,106A,106Bと読出/書込回路108,110と、プリチャージ&エンコード回路112A,112Bと、メモリアレイを構成するメモリセルMC0#0〜MC1#1とを備える。ここで♯0〜♯1はエントリと呼ばれるアドレス番地である。例えば♯0は0番地のアドレスを示し、データの読出および書込動作時においてはメモリセルMC0♯0およびMC1♯0の2つのBCAMセルが同時にアクセスされる。
なお、図1に示されるメモリアレイの構成は、説明の簡単のため2列2行配置であるが、本明細書に開示される技術が適用されるメモリセルの構成はこの構成に限定されるものではない。
行デコーダ102は、入力されたアドレス信号(不図示)に従い、ワード線WL0、WL1のうちいずれかのワード線を活性化する。
サーチドライバ104Aは、サーチ線SLA0をAポート用の検索データ信号S0(A)に対応するレベルに駆動し、サーチ線/SLA0をその反転レベルに駆動する。サーチドライバ104Bは、サーチ線SLB0をBポート用の検索データ信号S0(B)に対応するレベルに駆動し、サーチ線/SLB0をその反転レベルに駆動する。サーチドライバ106Aは、サーチ線SLA1をAポート用の検索データ信号S1(A)に対応するレベルに駆動し、サーチ線/SLA1をその反転レベルに駆動する。サーチドライバ106Bは、サーチ線SLB1をBポート用の検索データ信号S1(B)に対応するレベルに駆動し、サーチ線/SLB1をその反転レベルに駆動する。
読出/書込回路108は、ある局面において、図示しないセンスアンプによってビット線対BL0,/BL0に読み出されたデータ(電位)を増幅して読み出す。これにより、読出/書込回路108は、ビット線対BL0,/BL0に接続される各メモリセルからデータを読み出す。他の局面において、読出/書込回路108は、図示しない書き込みドライバによって入力データDIO0に応じてビット線対BL0,/BL0を駆動する。これにより、読出/書込回路108は、ビット線対BL0,/BL0に接続され、且つワード線が活性化された各メモリセルにデータを書き込む。読出/書込回路110も、読出/書込回路108と同様に、ある局面において、図示しないセンスアンプによってビット線対BL1,/BL1に読み出されたデータを増幅して読み出し、他の局面において、図示しない書き込みドライバによって入力データDIO1に応じてビット線対BL1,/BL1を駆動する。
プリチャージ&エンコード回路112Aは、Aポート用のマッチ線MLA0、MLA1をプリチャージするとともに、マッチ線MLA0、MLA1に出力された検索結果をエンコードする。プリチャージ&エンコード回路112Bは、Bポート用のマッチ線MLB0、MLB1をプリチャージするとともに、マッチ線MLB0、MLB1に出力された検索結果をエンコードする。ある局面において、プリチャージ&エンコード回路112A,112Bは、接続されたマッチ線を「H」レベルにプリチャージする。
メモリセルMC0#0〜MC1#1はそれぞれ1ビットの記憶データを保持可能に構成される。記憶データは、検索データと比較の対象となるデータである。
各メモリセルには、1本のワード線と、1組のビット線対と、2組のサーチ線対と、2本のマッチ線とが接続される。例えば、メモリセルMC0#0は、ワード線WL0と、ビット線対BL0,/BL0、サーチ線対SLA0,/SLA0およびSLB0,/SLB0と、マッチ線MLA0,MLB0とに接続される。
1列目のメモリセルMC0♯0およびMC0♯1には、ビット線対BL0,/BL0およびサーチ線対SLA0,/SLA0、並びにSLB0,/SLB0が共通に接続される。2列目のメモリセルMC1♯0およびMC1♯1には、ビット線対BL1,/BL1とサーチ線対SLA1,/SLA1、並びにSLB1,/SLB1とが共通に接続される。
1行目(アドレス♯0)に対応するメモリセルMC0♯0およびMC1♯0には、ワード線WL0およびマッチ線MLA0,MLB0が共通に接続される。2行目(アドレス♯1)に対応するメモリセルMC0♯1およびMC1♯1には、ワード線WL1およびマッチ線MLA1,MLB1が共通に接続される。
(メモリセルの回路構成)
図2は、ある実施形態に従うメモリセルMC0#0の構成例を説明する回路図である。
図2を参照して、メモリセルMC0♯0は、アクセストランジスタであるNMOS(Metal Oxide Semiconductor)トランジスタNA0,NA1と、ドライバトランジスタであるNMOSトランジスタND0,ND1と、PMOSトランジスタP0,P1とから構成される、1ビットの情報を保持可能なデータセルDC0を含む。ある局面において、半導体装置100は、BCAM(Binary Content Addressable Memory)として機能し得る。
メモリセルMC0#0は、列方向(図2の縦方向)に沿って延在するビット線対BL0,/BL0と、これらビット線対が延在する方向と直交する行方向に沿って延在するワード線WL0と、列方向に沿って延在し、Aポート用の検索データを伝達するサーチ線対SLA0,/SLA0とBポート用の検索データを伝達するサーチ線対SLB0,/SLB0とをさらに含む。
メモリセルMC0♯0は、行方向(図2の横方向)に沿って延在するマッチ線MLA0,MLB0と、データセルの保持する情報とAポート用の検索データとに応じた結果をマッチ線MLA0に出力する論理演算セルLCA0と、データセルの保持する情報とBポート用の検索データとに応じた結果をマッチ線MLB0に出力する論理演算セルLCB0とを含む。
NMOSトランジスタNA0は、記憶ノードA0と、ビット線BL0との間に接続され、ゲートにワード線WL0が接続される。NMOSトランジスタNA1は、記憶ノードA1とビット線/BL0との間に接続され、ゲートにワード線WL0が接続される。PMOSトランジスタP0は、電源電位である電源線VDDと記憶ノードA0との間に接続され、ゲートが記憶ノードA1に接続される。NMOSトランジスタND0は、記憶ノードA0と接地電位である電源線VSSとの間に接続され、ゲートが記憶ノードA1に接続される。PMOSトランジスタP1は、電源線VDDと記憶ノードA1との間に接続され、ゲートが記憶ノードA0に接続される。NMOSトランジスタND1は、記憶ノードA1と電源線VSSとの間に接続され、ゲートが記憶ノードA0に接続される。
NMOSトランジスタND0およびPMOSトランジスタP0は、インバータを構成する。NMOSトランジスタND1およびPMOSトランジスタP1も、インバータを構成する。一方のインバータの出力は、他方のインバータの入力に接続される。したがって、NMOSトランジスタND0およびND1と、PMOSトランジスタP0およびP1とによって構成されたフリップフロップは、1ビットの情報を保持する。
論理演算セルLCA0は、NMOSトランジスタNS0,NS1,NS2,NS3を含む。論理演算セルLCB0は、NMOSトランジスタNS4,NS5,NS6,NS7を含む。
NMOSトランジスタNS0とNS1とは、マッチ線MLA0と接地電位の電源線VSSとの間に直列に接続され、ゲートにそれぞれサーチ線SLA0と記憶ノードA0とが接続される。NMOSトランジスタNS2とNS3とは、マッチ線MLA0と電源線VSSとの間に直列に接続され、ゲートにそれぞれサーチ線/SLA0と記憶ノードA1とが接続される。
NMOSトランジスタNS4とNS5とは、マッチ線MLB0と電源線VSSとの間に直列に接続され、ゲートにそれぞれサーチ線SLB0と記憶ノードA0とが接続される。NMOSトランジスタNS6とNS7とは、マッチ線MLB0と電源線VSSとの間に直列に接続され、ゲートにそれぞれサーチ線/SLB0と記憶ノードA1とが接続される。
なお、図1におけるメモリセルMC0#0以外の他のメモリセルは、接続されたワード線、マッチ線、ビット線対およびサーチ線対が上記の例と異なるが、内部の回路構成はメモリセルMC0#0と同じであるので説明は繰り返さない。
(書き込み動作)
次に、図1および図2を用いて、アドレス♯0のメモリセルに対する動作を説明する。
行デコーダ102は、アドレス♯0に対するデータ書込時において、ワード線WL0を「H」レベルに活性化し、それ以外のワード線(すなわちワード線WL1)を「L」レベルに非活性化する。そして、読出/書込回路108は、ビット線BL0を入力データDIO0に対応するレベルに駆動し、ビット線/BL0をその反転レベルに駆動する。読出/書込回路110は、ビット線BL1を入力データDIO1に対応するレベルに駆動し、ビット線/BL1をその反転レベルに駆動する。このとき、各サーチ線対は全て「L」レベルに設定される。また、各マッチ線は特にレベルを定めなくてもよいが、好ましくはプリチャージされた「H」レベルに設定される。
図2に示される例において、記憶ノードA1に保持されるデータ(レベル)が、メモリセルMC0#0が保持するデータとする。より具体的には、記憶ノードA1が”1”(「H」レベル)のとき、かつ、記憶ノードA0が”0”(「L」レベル)のときに、メモリセルMC0#0はデータ”1”を保持する。一方、記憶ノードA1が”0”のとき、かつ、記憶ノードA0が”1”のときに、メモリセルMC0#0はデータ”0”を保持する。
一例として、メモリセルMC0#0にデータ”1”を書き込む場合、まず行デコーダ102が、ワード線WL0を「H」レベルに活性化する。続いて、読出/書込回路108が、ビット線/BL0を「H」レベルに活性化し、ビット線BL0を「L」レベルに非活性化する。
半導体装置100は、これらの動作を行なうことによって、アドレス♯0のメモリセルに入力データを書き込むことができる。なお、読出時においてはビット線が図示されないセンスアンプによってその電位差が増幅されて各メモリセルが保持するデータが読出される。
(サーチ動作)
続いて、データサーチ時の動作について説明する。データサーチ時においては、各サーチ線対に入力された検索データと、複数のアドレス♯0〜♯1のエントリデータとが一括して比較され、各エントリデータと検索データとが一致するか否かが1サイクルで出力される。このとき、ワード線WL0およびWL1は全て「L」レベルに設定される。ビット線BL0,BL1は、好ましくは「H」レベルに設定される。
上記のメモリセルMC0#0の構成によれば、Aポート用の検索データが“1”(すなわち、サーチ線SLA0が“1”、かつ、サーチ線/SLA0が“0”)であり、メモリセルMC0#0のデータが“0”(記憶ノードA1が“0”、かつ、記憶ノードA0が“1”)である場合には、NMOSトランジスタNS0およびNS1がオン状態となって、マッチ線MLA0の電位が接地電位になる。Aポート用の検索データが”0” (すなわち、サーチ線SLA0が“0”、かつ、サーチ線/SLA0が“1”)であり、メモリセルMC0#0のデータが“1”(記憶ノードA1が“1”、かつ、記憶ノードA0が“0”)である場合には、NMOSトランジスタNS2およびNS3がオン状態となって、マッチ線MLA0の電位が接地電位になる。すなわち、Aポート用の検索データとメモリセルMC0#0のデータとが不一致の場合には、マッチ線MLA0の電位は接地電位になる。
一方、Aポート用の検索データが“1”であり、かつ、メモリセルMC0#0のデータが“1”の場合、または、Aポート用の検索データが“0”であり、かつ、メモリセルMC0#0のデータが“0”の場合(すなわち、両者が一致する場合)、プリチャージされたマッチ線MLA0の電位は維持される。
上記のように、マッチ線MLA0に接続された全てのメモリセル(メモリセルMC0#0およびMC1#0)のデータのそれぞれが対応するAポート用の検索データと一致しない限り、マッチ線MLA0に蓄えられた電荷が引き抜かれる。
上記によれば、論理演算セルLCA0は、NMOSトランジスタNS0およびNS1によって構成される第1論理ユニットと、NMOSトランジスタNS2およびNS3によって構成される第2論理ユニットとを有する。第1論理ユニットは、マスクデータセルMDC0の保持する情報とサーチ線SLA0に伝達される情報との比較結果に応じてマッチ線MLA0を駆動する。第2論理ユニットは、データセルDC0の保持する情報とサーチ線/SLA0に伝達される情報との比較結果に応じてマッチ線MLA0を駆動する。
マッチ線MLB0の挙動は、上記説明したマッチ線MLA0の挙動と同じであるため、その説明は繰り返さない。
上記によれば、ある実施形態に従う半導体装置100は、Aポート用のサーチ線対、マッチ線、および、論理演算セルと、これらとは独立したBポート用のサーチ線対、マッチ線、および、論理演算セルとを有する。これにより、半導体装置100は、1サイクルの間に、Aポート用の検索データおよびBポート用の検索データを同時に検索できる。そのため、半導体装置100は、検索対象が複数ある場合において、シングルポートの検索装置(BCAM装置)に比して、2倍の検索速度を実現し得る。
加えて、この半導体装置100は、共通するメモリアレイを用いて、Aポート用の検索データおよびBポート用の検索データを検索する。そのため、半導体装置100は、装置の大型化を抑制し得る。
また、検索装置は一般的に図示しないクロック生成回路によって生成されたクロック信号に従うタイミングで検索を行なう。この点、従来の検索装置は、サーチ用のポートを1つしか有していなかったため、2つの検索データを検索するためにクロック信号を2回生成する必要があった。一方、この半導体装置100は、2つの検索データを検索するにあたって、クロック信号を1回生成すればよい。したがって、この半導体装置100は、クロック生成回路における消費電力を従来に比して抑制し得る。
(メモリセルのレイアウト)
次に、図3〜5を用いて、一例としてメモリセルMC0#0のレイアウト構成を積層方向に分割して説明する。
図3は、半導体装置100に配置されたメモリセルMC0#0のウェル、拡散領域DF、ポリシリコンPO、コンタクトホールCT、および第1層金属配線の配置を示した平面図である。図3において、ポリシリコンPO,拡散領域DFの1つを代表として符号を付している。なお、図3に示される例において、トランジスタのゲートがポリシリコンによって構成されているが、ゲートの材料はポリシリコンに限られない。他の局面において、ゲートの材料として、金属を用いてもよい。このとき、金属製のゲート(メタルゲート)の下に配置されるゲート絶縁膜には、高い誘電率(比誘電率)を有するHigh−k材料(たとえば、酸化ハフニウム)が用いられることが好ましい。これらの条件は、以降説明する図においても同様である。
図3に示されるように、各トランジスタのゲートを構成するポリシリコン(PO)は、行方向に沿って延在し、メモリセルを構成する複数のウェルの各々は列方向に沿って延在する。したがって、ゲートとウェルとは互いに直交する方向に延在する。また、各ウェルは、列方向に隣接するメモリセル(メモリセルMC0#1)の対応するウェルと連続するように形成される。
メモリセルMC0#0では、ワード線WL0が伸びる方向(行方向)に、P型導電型のPウェルPW0と、N型導電型のNウェルNW0と、PウェルPW1とが順に形成される。PウェルPW0とNウェルNW0とが設けられる領域において、データセルDC0を構成するトランジスタが配置される。より詳しくは、PMOSトランジスタP0およびP1は、NウェルNW0に配置され、NMOSトランジスタNA0,NA1,ND0,およびND1は、PウェルPW0に配置される。
データサーチのためのNMOSトランジスタNS0〜NS7は、PウェルPW1に配置される。より詳しくは、PウェルPW1には、2つのN型拡散層DFが形成される。一方の拡散層DFに論理演算セルLCA0を構成するトランジスタNS0〜NS3が配置され、他方の拡散層DFに論理演算セルLCB0を構成するトランジスタNS4〜NS7が配置される。
NMOSトランジスタNA0は、1対のN型拡散領域FL302,FL304によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。このゲートは、コンタクトホールCT2を介して上層の金属配線層に形成されるワード線WL0に電気的に接続される。N型拡散領域FL302は、コンタクトホールCT6を介して上層の金属配線層に形成されるビット線BL0に電気的に接続される。
NMOSトランジスタND0は、1対のN型拡散領域FL304,FL306によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。N型拡散領域FL306は、コンタクトホールCT8を介して上層の金属配線層に形成される電源線VSSに電気的に接続される。
NMOSトランジスタND1は、1対のN型拡散領域FL306,FL308によって
構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを
有する。
NMOSトランジスタNA1は、1対のN型拡散領域FL308,FL310によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。このゲートは、コンタクトホールCT4を介して上層の金属配線層に形成されるワード線WL0に電気的に接続される。N型拡散領域FL310は、コンタクトホールCT12を介して上層の金属配線層に形成されるビット線/BL0に電気的に接続される。
PMOSトランジスタP0は、1対のP型拡散領域FL312,FL314によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンで形成されたゲートとを有する。N型拡散領域FL304と、NMOSトランジスタND1のゲートと、P型拡散領域FL312とは、コンタクトホールCT8,CT16,CT18をそれぞれ介して共通する第1層金属配線に接続される。したがって、これらは互いに電気的に接続される。P型拡散領域FL314は、コンタクトホールCT20を介して上層の金属配線層に形成される電源線VDDに電気的に接続される。
PMOSトランジスタP1は、1対のP型拡散領域FL314,FL316によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンで形成されたゲートとを有する。N型拡散領域FL308と、NMOSトランジスタND0のゲートと、P型拡散領域FL316とは、コンタクトホールCT10,CT14,CT22をそれぞれ介して共通する第1層金属配線に接続される。したがって、これらは互いに電気的に接続される。
NMOSトランジスタNS2は、1対のN型拡散領域FL318,FL320によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。このゲートは、コンタクトホールCT24を介して上層の金属配線層に形成されるサーチ線/SLA0に電気的に接続される。N型拡散領域FL318は、コンタクトホールCT28を介して上層の金属配線層に形成される電源線VSSに電気的に接続される。
NMOSトランジスタNS3は、1対のN型拡散領域FL320,FL322によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。N型拡散領域FL322は、コンタクトホールCT30を介して上層の金属配線層に形成されるマッチ線MLA0に電気的に接続される。
NMOSトランジスタNS1は、1対のN型拡散領域FL322,FL324によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。
NMOSトランジスタNS0は、1対のN型拡散領域FL324,FL326によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。このゲートは、コンタクトホールCT26を介して上層の金属配線層に形成されるサーチ線SLA0に電気的に接続される。N型拡散領域FL326は、コンタクトホールCT32を介して上層の金属配線層に形成される電源線VSSに電気的に接続される。
NMOSトランジスタNS6は、1対のN型拡散領域FL328,FL330によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。このゲートは、コンタクトホールCT40を介して上層の金属配線層に形成されるサーチ線/SLB0に電気的に接続される。N型拡散領域FL328は、コンタクトホールCT34を介して上層の金属配線層に形成される電源線VSSに電気的に接続される。
NMOSトランジスタNS7は、1対のN型拡散領域FL330,FL332によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。N型拡散領域FL332は、コンタクトホールCT36を介して上層の金属配線層に形成されるマッチ線MLB0に電気的に接続される。
NMOSトランジスタNS5は、1対のN型拡散領域FL332,FL334によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。
NMOSトランジスタNS4は、1対のN型拡散領域FL334,FL336によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。このゲートは、コンタクトホールCT42を介して上層の金属配線層に形成されるサーチ線SLB0に電気的に接続される。N型拡散領域FL336は、コンタクトホールCT38を介して上層の金属配線層に形成される電源線VSSに電気的に接続される。
NMOSトランジスタND0のゲート、PMOSトランジスタP0のゲート、NMOSトランジスタNS3のゲート、およびNMOSトランジスタNS7のゲートは、共通するポリシリコンによって形成される。
NMOSトランジスタND1のゲート、PMOSトランジスタP1のゲート、NMOSトランジスタNS1のゲート、およびNMOSトランジスタNS5のゲートは、共通するポリシリコンによって形成される。
NMOSトランジスタNA0,ND0,ND1,およびNA1は共通するN型拡散層に配置される。PMOSトランジスタP0およびP1は共通するP型拡散層に配置される。
各N型拡散領域は、PウェルPW0,PW1の活性領域内にN型不純物を注入することにより形成される。また、各P型拡散領域は、NウェルNW0の活性領域内にP型不純物を注入することにより形成される。
上記のように、半導体装置100を構成するメモリセルは、データサーチのためのNMOSトランジスタNS0〜NS7を、2つのN型拡散層DFに配置する構成を採用する。一般的に、BCAMは、データサーチのためのトランジスタを1つの拡散層DFに配置する構成を採用する。そのため、半導体装置100を構成するメモリアレイにおいて、行方向に隣接するメモリセルの物理的な距離が、一般的なBCAMに比して若干長い。これにより、半導体装置100は、マルチビットエラーが起こる確率を低減できる。マルチビットエラーは、行方向に配列された複数のセルが保持するデータが、α線や中性子線などの宇宙線によって反転してしまう現象を言う。
図4は、半導体装置100に配置されたメモリセルMC0#0のビア1、第1層金属配線層および第2層金属配線層の配置を示した平面図である。ビア1は、第1層金属配線と第2層金属配線とを接続する。図4において、第2層金属配線M202〜M224が、列方向に沿って配置される。
NMOSトランジスタNA0のゲートと、NMOSトランジスタNA1のゲートとは、コンタクトホールCT2,CT4をそれぞれ介して、互いに異なる第1層金属配線に接続される。これらの第1層金属配線は、ビア1V102,V104をそれぞれ介して、ワード線WL0を形成する共通の第2層金属配線M202に接続される。
NMOSトランジスタND0およびND1のソースを形成するN型拡散領域FL306は、コンタクトホールCT8を介して第1層金属配線に接続される。この第1層金属配線は、ビア1V106を介して電源線VSSを形成する第2層金属配線M204に接続される。
NMOSトランジスタNA0のソースを形成するN型拡散領域FL302は、コンタクトホールCT6を介して第1層金属配線と接続される。この第1層金属配線は、ビア1V108を介してビット線BL0を形成する第2層金属配線M206に接続される。
NMOSトランジスタNA1のソースを形成するN型拡散領域FL310は、コンタクトホールCT10を介して第1層金属配線と接続される。この第1層金属配線は、ビア1V110を介してビット線/BL0を形成する第2層金属配線M208に接続される。
PMOSトランジスタP0およびP1のソースを形成するP型拡散領域FL314は、コンタクトホールCT20を介して第1層金属配線に接続される。この第1層金属配線は、ビア1V112を介して電源線VDDを形成する第2層金属配線M210に接続される。
NMOSトランジスタNS0のゲートは、コンタクトホールCT26を介して第1層金属配線に接続される。この第1層金属配線は、ビア1V114を介してサーチ線SLA0を形成する第2層金属配線M212に接続される。
NMOSトランジスタNS1およびNS3のソースを形成するN型拡散領域FL322は、コンタクトホールCT30を介して第1層金属配線に接続される。この第1層金属配線は、ビア1V116を介してマッチ線MLA0を形成する第2層金属配線M214に接続される。
NMOSトランジスタNS2のゲートは、コンタクトホールCT24を介して第1層金属配線に接続される。この第1層金属配線は、ビア1V118を介してサーチ線/SLA0を形成する第2層金属配線M216に接続される。
NMOSトランジスタNS2およびNS6のソースをそれぞれ形成するN型拡散領域FL318およびFL328は、コンタクトホールCT28およびCT34をそれぞれ介して、共通の第1層金属配線に接続される。この第1層金属配線は、ビア1V120を介して電源線VSSを形成する第2層金属配線M218に接続される。
NMOSトランジスタNS0のソースを形成するN型拡散領域FL326と、NMOSトランジスタNS4のソースを形成するN型拡散領域FL336とは、コンタクトホールCT32,CT38をそれぞれ介して、共通の第1層金属配線に接続される。この第1層金属配線は、ビア1V122を介して第2層金属配線M218に接続される。
NMOSトランジスタNS4のゲートは、コンタクトホールCT42を介して第1層金属配線に接続される。この第1層金属配線は、ビア1V124を介してサーチ線SLB0を形成する第2層金属配線M220に接続される。
NMOSトランジスタNS5およびNS7のソースを形成するN型拡散領域FL332は、コンタクトホールCT36を介して第1層金属配線に接続される。この第1層金属配線は、ビア1V126を介してマッチ線MLB0を形成する第2層金属配線M222に接続される。
NMOSトランジスタNS6のゲートは、コンタクトホールCT40を介して第1層金属配線に接続される。この第1層金属配線は、ビア1V128を介してサーチ線/SLB0を形成する第2層金属配線M224に接続される。
図5は、半導体装置100に配置されたメモリセルMC0#0のビア2、第2層金属配線層および第3層金属配線層の配置を示した平面図である。ビア2は、第2層金属配線と第3層金属配線とを接続する。図5において、第3層金属配線M310〜M350が、行方向に沿って配置される。
第2層金属配線M204は、ビア2V220およびビア2V230を介して電源線VSSを形成する第3層金属配線M310とM350とに接続される。第2層金属配線218は、ビア2V250およびビア2V260を介して、第3層金属配線M310とM350とに接続される。
第2層金属配線M222は、ビア2V270を介してマッチ線MLB0を形成する第3層金属配線M320に接続される。
第2層金属配線M202は、ビア2V210を介してワード線WL0を形成する第3層金属配線M330に接続される。
第2層金属配線M214は、ビア2V240を介してマッチ線MLA0を形成する第3層金属配線M340に接続される。
なお、メモリセルMC0#0と列方向に隣接するメモリセルMC0♯1の内部の金属配線の配線パターンは、メモリセルMC0#0の配線パターンを行方向に軸対象した配線パターンと同じであるため、その説明は繰り返さない。なお、メモリセルMC0#0と行方向に隣接するメモリセルMC1#0の内部の金属配線の配線パターンは、メモリセルMC0#0の配線パターンを列方向に軸対称した配線パターンと同じであってもよいし、メモリセルMC0#0の配線パターンと同じであってもよい。
以上説明したようにレイアウトを構成することにより、高集積化されたCAMメモリアレイを第3層金属配線層までで実現することができる。配線層数を抑えることができると、製造コストを抑えることができる。
(変形例)
上記の実施形態において、データサーチのためのトランジスタはNMOSトランジスタ(NS01〜NS07)であった。他の局面において、半導体装置は、データサーチのためのトランジスタとして、PMOSトランジスタを有し得る。
図6は、他の実施形態に従うメモリセルMC0#0の構成例を説明する回路図である。なお、図2の符号と同一符号を付している部分については同じであるため、その部分についての説明は繰り返さない。
他の実施形態に従う論理演算セルLCA0は、NMOSトランジスタNS0,NS1,NS2,NS3に替えてPMOSトランジスタPS0,PS1,PS2,PS3を含む。また、他の実施形態に従う論理演算セルLCB0は、NMOSトランジスタNS4,NS5,NS6,NS7に替えてPMOSトランジスタPS4,PS5,PS6,PS7を含む。
PMOSトランジスタPS0とPS1とは、マッチ線MLA0と電源線VDDとの間に直列に接続され、ゲートにそれぞれサーチ線SLA0と記憶ノードA0とが接続される。PMOSトランジスタPS2とPS3とは、マッチ線MLA0と電源線VDDとの間に直列に接続され、ゲートにそれぞれサーチ線/SLA0と記憶ノードA1とが接続される。
PMOSトランジスタPS4とPS5とは、マッチ線MLB0と電源線VDDとの間に直列に接続され、ゲートにそれぞれサーチ線SLB0と記憶ノードA0とが接続される。PMOSトランジスタPS6とPS7とは、マッチ線MLB0と電源線VDDとの間に直列に接続され、ゲートにそれぞれサーチ線/SLB0と記憶ノードA1とが接続される。
図2に示されるメモリセルMC0#0のデータは、記憶ノードA1が「L」レベルのときにデータ”0”を保持し、記憶ノードA1が「H」レベルのときにデータ”1”を保持する構成であった。ある局面において、図6に示されるメモリセルMC0#0のデータは、記憶ノードA0が「L」レベルのときにデータ”0”を保持し、記憶ノードA0が「H」レベルのときにデータ”1”を保持する。
図7は、他の実施形態に従う半導体装置700の構成例を説明するブロック図である。なお、図1の符号と同一符号を付している部分については同じであるため、その部分についての説明は繰り返さない。
半導体装置700配置されたメモリセルMC0#0〜MC1#1は、図6に示されるように、データサーチのためのトランジスタとしてPMOSトランジスタを有する。
半導体装置700に含まれるサーチドライバ104A,104B,106A,106Bの各出力端子には、インバータInvが設けられる。これにより、各サーチ線のレベルは、接続されるサーチドライバが出力した信号の反転レベルとなる。
また、半導体装置700に含まれるプリチャージ&エンコード回路112A,112Bの入力端子には、インバータInvが設けられる。これにより、プリチャージ&エンコード回路112A,112Bは、接続された各マッチ線の反転レベルの信号の入力を受け付ける。また、これらのインバータInvは、プリチャージ&エンコード回路112A,112Bの出力レベルを反転して、マッチ線をプリチャージする。ある局面において、各マッチ線は、「L」レベルにプリチャージされる。
図6および図7を用いて、半導体装置700のサーチ動作について説明する。メモリセルMC0#0のデータ(記憶ノードA0のレベル)と、検索データとが一致する場合、マッチ線のレベルはプリチャージされた「L」レベルに維持される。一方、メモリセルMC0#0のデータと、検索データとが不一致の場合、マッチ線のレベルは「H」レベルになる。
一例として、検索データ信号S0(A)が”1”の場合について説明する。この場合、サーチ線SLA0のレベルはインバータInvによって反転された「L」レベルとなる。そのため、サーチ線SLA0に接続されたPMOSトランジスタPS0はON状態となる。上記の場合、メモリセルMC0#0のデータが”0”のとき、すなわち、メモリセルMC0#0のデータと検索データとが不一致のとき、PMOSトランジスタPS1がON状態となり、マッチ線MLA0は「H」レベルとなる。一方、メモリセルMC0#0のデータが”1”のとき、すなわち、メモリセルMC0#0のデータと検索データとが一致するとき、PMOSトランジスタPS1がOFF状態となり、マッチ線MLA0はプリチャージされた「L」レベルに維持される。
上記によれば、Aポート用のマッチ線MLA0のレベルは、アドレス♯0に対応するメモリセルが保持するデータがAポート用検索データと全て一致する場合は「L」レベルを維持し、いずれか1つでも不一致のものがある場合「H」レベルになる。プリチャージ&エンコード回路112Aは、インバータInvの作用によって、アドレス♯0に対応するメモリセルが保持するデータがAポート用の検索データと全て一致する場合は「H」レベルの入力を受け付け、いずれか1つでも不一致のものがある場合は「L」レベルの入力を受け付ける。これは、上記説明した半導体装置100に含まれるプリチャージ&エンコード回路112Aも同じである。同様に、半導体装置700に含まれるプリチャージ&エンコード回路112Bの挙動と、半導体装置100に含まれるプリチャージ&エンコード回路112Bの挙動とは同じである。
したがって、半導体装置700は、サーチドライバの各出力端子およびプリチャージ&エンコード回路の各入力端子にインバータを設けるだけで、データサーチのためのトランジスタとしてPMOSトランジスタを有するメモリセルを使用し得る。
ある局面において、上記PMOSトランジスタPS0〜PS7のソースおよびドレイン領域にシリコンゲルマニウム層を形成し得る。これにより、隣接するチャネル部のシリコンにストレスが加わり、当該シリコンの格子定数が大きくなり得る。その結果、チャネル部を流れる電流の速度が速くなり、PMOSトランジスタPS0〜PS7のスイッチング速度が向上し得る。なお、他の局面において、PMOSトランジスタPS0〜PS7のソースおよびドレイン領域に形成された層は、シリコンゲルマニウム層に限られず、チャネル部のシリコンにストレスを加えるものであればよい。
図8は、他の実施形態に従うメモリセルMC0#0のウェル、拡散領域DF、ポリシリコンPO、コンタクトホールCT、および第1層金属配線の配置を示した平面図である。なお、図3の符号と同一符号を付している部分については同じであるため、その部分についての説明は繰り返さない。
図8に示されるように、他の実施形態に従うメモリセルMC0#0のウェル構成は、PウェルPW1を有さない点において、図3に説明したメモリセルMC0#0のウェル構成と異なる。
データサーチ用のPMOSトランジスタPS0〜PS7は、NウェルNW0に配置される。より詳しくは、NウェルNW0には、列方向に延在する拡散層DFが3つ形成されている。ある拡散層DFには、データセルDC0を構成するPMOSトランジスタP0およびP1が配置される。ある拡散層DFには、論理演算セルLCA0を構成するPMOSトランジスタPS0〜PS3が配置される。ある拡散層DFには、論理演算セルLCB0を構成するPMOSトランジスタPS4〜PS7が配置される。
PMOSトランジスタPS2は、1対のP型拡散領域FL340,342によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。このゲートは、コンタクトホールCT44を介してサーチ線/SLA0を形成する第1層金属配線に接続される。P型拡散領域FL340は、コンタクトホールCT48を介して電源線VDDを形成する第1層金属配線に接続される。
PMOSトランジスタPS3は、1対のP型拡散領域FL342,344によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。P型拡散領域FL344は、コンタクトホールCT50を介してマッチ線MLA0を形成する第1層金属配線に接続される。
PMOSトランジスタPS1は、1対のP型拡散領域FL344,346によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。
PMOSトランジスタPS0は、1対のP型拡散領域FL346,348によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。このゲートは、コンタクトホールCT46を介してサーチ線SLA0を形成する第1層金属配線に接続される。P型拡散領域FL348は、コンタクトホールCT52を介して電源線VDDを形成する第1層金属配線に接続される。
PMOSトランジスタPS6は、1対のP型拡散領域FL350,352によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。このゲートは、コンタクトホールCT60を介してサーチ線/SLB0を形成する第1層金属配線に接続される。P型拡散領域FL350は、コンタクトホールCT54を介して電源線VDDを形成する第1層金属配線に接続される。
PMOSトランジスタPS7は、1対のP型拡散領域FL352,354によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。P型拡散領域FL354は、コンタクトホールCT56を介してマッチ線MLB0を形成する第1層金属配線に接続される。
PMOSトランジスタPS5は、1対のP型拡散領域FL354,356によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。
PMOSトランジスタPS4は、1対のP型拡散領域FL356,358によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。このゲートは、コンタクトホールCT62を介してサーチ線SLB0を形成する第1層金属配線に接続される。P型拡散領域FL358は、コンタクトホールCT58を介して電源線VDDを形成する第1層金属配線に接続される。
NMOSトランジスタND0のゲート、PMOSトランジスタP0のゲート、PMOSトランジスタPS3のゲート、およびPMOSトランジスタPS7のゲートは、共通するポリシリコンによって形成される。
NMOSトランジスタND1のゲート、PMOSトランジスタP1のゲート、PMOSトランジスタPS1のゲート、およびPMOSトランジスタPS5のゲートは、共通するポリシリコンによって形成される。
半導体装置700を構成するメモリセルは、PウェルPW1を有さないため、半導体装置100を構成するメモリセルに比してウェルの数が1つ少ない。そのため、半導体装置700を構成するメモリセルは、半導体装置100を構成するメモリセルよりも小型化され得る。
図9は、他の実施形態に従うメモリセルMC0#0のビア1、第1層金属配線層および第2層金属配線層の配置を示した平面図である。なお、図4の符号と同一符号を付している部分については同じであるため、その部分についての説明は繰り返さない。
他の実施形態に従うメモリセルMC0#0の第2層における金属配線パターンは、第2層金属配線M218に替えて第2層金属配線M910を有する点において、図4に示される金属配線パターンと異なる。
PMOSトランジスタPS2のソースを形成するP型拡散領域FL340と、PMOSトランジスタPS6のソースを形成するP型拡散領域FL350とは、コンタクトホールCT48,CT54をそれぞれ介して共通する第1層金属配線に接続される。この第1層金属配線は、ビア1V121を介して電源線VDDを形成する第2層金属配線M910に接続される。
PMOSトランジスタPS0のソースを形成するP型拡散領域FL348と、PMOSトランジスタPS4のソースを形成するP型拡散領域FL358とは、コンタクトホールCT52,CT58をそれぞれ介して共通する第1層金属配線に接続される。この第1層金属配線は、ビア1V123を介して電源線VDDを形成する第2層金属配線M910に接続される。
[実施形態2]
上記の実施形態に示される半導体装置は、2ポートのBCAM装置として機能し得る。より具体的には、上記の実施形態に示される半導体装置は、2値のデータを保持するBCAMセルにおいて、各ポートごとにサーチ線対、マッチ線、および論理演算セルを配置する構成であった。以下、2ポートのTCAM(Ternary Content Addressable Memory)装置として機能し得る半導体装置について説明する。
(半導体装置の構成例)
図10は、ある実施形態に従う半導体装置1000の構成例を説明するブロック図である。なお、図1の符号と同一符号を付している部分については同じであるため、その部分についての説明は繰り返さない。
図10を参照して、半導体装置1000は、図1で説明した半導体装置100に比して、各メモリセルに接続されたビット線対が2組である点において、相違する。
より具体的には、列方向に配置されたメモリセルMC0#0およびMC0#1は、共通するビット線対BL0,/BL0とBL1,/BL1とに接続される。メモリセルMC1#0およびMC1#1は、共通するビット線対BL2,/BL2とBL3,/BL3とに接続される。
(メモリセルの回路構成)
図11は、半導体装置1000に配置されたメモリセルMC0#0の構成例を説明する回路図である。
図11を参照して、半導体装置1000に配置されたメモリセルMC0#0は、1ビットの記憶データを保持可能に構成されたデータセルDC0と、データセルDC0が保持する1ビットの情報とは独立した他の1ビットのデータを保持可能に構成されたマスクデータセルMDC0とを含む。データセルDC0と、マスクデータセルMDC0とは、行方向に互いに隣接する。
メモリセルMC0#0は、列方向に沿って延在するビット線対BL0,/BL0と、BL1,/BL1とをさらに含む。
マスクデータセルMDC0は、NMOSトランジスタNA0,NA1,ND0,ND1およびPMOSトランジスタP0,P1によって構成される。
NMOSトランジスタNA0は、記憶ノードm1と、ビット線BL0との間に接続され、ゲートにワード線WL0が接続される。NMOSトランジスタNA1は、記憶ノード/m1とビット線/BL0との間に接続され、ゲートにワード線WL0が接続される。PMOSトランジスタP0は、電源線VDDと記憶ノードm1との間に接続され、ゲートが記憶ノード/m1に接続される。NMOSトランジスタND0は、記憶ノードm1と電源線VSSとの間に接続され、ゲートが記憶ノード/m1に接続される。PMOSトランジスタP1は、電源線VDDと記憶ノード/m1との間に接続され、ゲートが記憶ノードm1に接続される。NMOSトランジスタND1は、記憶ノード/m1と電源線VSSとの間に接続され、ゲートが記憶ノードm1に接続される。
NMOSトランジスタND0およびPMOSトランジスタP0は、インバータを構成する。NMOSトランジスタND1およびPMOSトランジスタP1も、インバータを構成する。一方のインバータの出力は、他方のインバータの入力に接続される。NMOSトランジスタND0およびND1と、PMOSトランジスタP0およびP1とによって構成されたフリップフロップは、1ビットの情報を保持する。
データセルDC0は、アクセストランジスタであるNMOSトランジスタNA2,NA3と、ドライバトランジスタであるNMOSトランジスタND2,ND3と、PMOSトランジスタP2,P3とによって構成される。
NMOSトランジスタNA2は、記憶ノードm0と、ビット線BL1との間に接続され、ゲートにワード線WL0が接続される。NMOSトランジスタNA3は、記憶ノード/m0とビット線/BL1との間に接続され、ゲートにワード線WL0が接続される。PMOSトランジスタP2は、電源線VDDと記憶ノードm0との間に接続され、ゲートが記憶ノード/m0に接続される。NMOSトランジスタND2は、記憶ノードm0と電源線VSSとの間に接続され、ゲートが記憶ノード/m0に接続される。PMOSトランジスタP3は、電源線VDDと記憶ノード/m0との間に接続され、ゲートが記憶ノードm0に接続される。NMOSトランジスタND3は、記憶ノード/m0と電源線VSSとの間に接続され、ゲートが記憶ノードm0に接続される。
NMOSトランジスタND2およびPMOSトランジスタP2は、インバータを構成する。NMOSトランジスタND3およびPMOSトランジスタP3も、インバータを構成する。一方のインバータの出力は、他方のインバータの入力に接続される。NMOSトランジスタND2およびND3と、PMOSトランジスタP2およびP3とによって構成されたフリップフロップは、1ビットの情報(記憶データ)を保持する。
メモリセルMC0#0は、データセルDC0およびマスクデータセルMDC0の両方に対して列方向に隣接して配置される論理演算セルLCB0と、論理演算セルLCB0に対して列方向に隣接して配置される論理演算セルLCA0とをさらに含む。
論理演算セルLCA0は、データセルDC0およびマスクデータセルMDC0の保持するデータとAポート用の検索データとに応じた結果をマッチ線MLA0に出力する。より具体的には、論理演算セルLCA0は、データセルDC0のデータ(記憶ノードm1のレベル)とAポート用の検索データとが一致するか否か、およびマスクデータセルMDCのデータ(記憶ノードm0のレベル)とAポート用の検索データの反転レベルとが一致するか否かに応じて、マッチ線MLA0を駆動する。論理演算セルLCB0は、データセルDC0およびマスクデータセルMDC0の保持するデータとBポート用の検索データとに応じた結果をマッチ線MLA0に出力する。より具体的には、論理演算セルLCB0は、データセルDCのデータとBポート用の検索データとが一致するか否か、およびマスクデータセルMDCのデータとBポート用の検索データの反転レベルとが一致するか否かに応じて、マッチ線MLB0を駆動する。
論理演算セルLCA0は、NMOSトランジスタNS0〜NS3を含む。論理演算セルLCB0は、NMOSトランジスタNS4〜NS7を含む。
NMOSトランジスタNS0とNS1とは、マッチ線MLA0と電源線VSSとの間に直列に接続され、ゲートにそれぞれサーチ線SLA0と記憶ノードm1とが接続される。NMOSトランジスタNS2とNS3とは、マッチ線MLA0と電源線VSSとの間に直列に接続され、ゲートにそれぞれサーチ線/SLA0と記憶ノードm0とが接続される。
NMOSトランジスタNS4とNS5とは、マッチ線MLB0と電源線VSSとの間に直列に接続され、ゲートにそれぞれサーチ線SLB0と記憶ノードm1とが接続される。NMOSトランジスタNS6とNS7とは、マッチ線MLB0と電源線VSSとの間に直列に接続され、ゲートにそれぞれサーチ線/SLB0と記憶ノードm0とが接続される。
なお、図10におけるメモリセルMC0#0以外の他のメモリセルは、接続されたワード線、マッチ線、ビット線対およびサーチ線対が上記の例と異なるが、内部の回路構成はメモリセルMC0#0と同じであるので説明は繰り返さない。
(メモリセルのデータ)
図12は、図11のデータセルDC0およびマスクデータセルMDC0が保持するデータとメモリセルMC0#0のデータとの対応関係を表形式で示す図である。
図11および図12を参照して、メモリセルMC0#0は、2ビットのSRAMセル(データセルDC0とマスクデータセルMDC0)を用いて、“0”、“1”、“*”(ドントケア:don't care)の3値を格納することができる。ドントケア“*”は“0”および“1”のどちらでも良いことを示す。
具体的に、データセルDC0の記憶ノードm0に“0”(「L」レベル)が格納され、マスクデータセルMDC0の記憶ノードm1に“1”(「H」レベル)が格納されているとき、メモリセルMC0#0には“0”が格納されているとする。データセルDC0の記憶ノードm0に“1”が格納され、マスクデータセルMDC0の記憶ノードm1に“0”が格納されているとき、メモリセルMC0#0には“1”が格納されているとする。データセルDC0の記憶ノードm0に“0”が格納され、マスクデータセルMDC0の記憶ノードm1に“0”が格納されているとき、メモリセルMC0#0には“*”(ドントケア)が格納されているとする。データセルDC0の記憶ノードm0に“1”が格納され、マスクデータセルMDC0の記憶ノードm1に“1”が格納されている場合は使用しない。
(書き込み動作)
図11を再び参照して、メモリセルMC0#0に対する書き込み動作を説明する。行デコーダ102は、メモリセルMC0#0に対するデータ書込時において、ワード線WL0を「H」レベルに活性化し、それ以外のワード線(すなわちワード線WL1)を「L」レベルに非活性化する。そして、読出/書込回路108は、ビット線BL0およびBL1を入力データDIO0に対応するレベルに駆動し、ビット線/BL0および/BL1をそれぞれの反転レベルに駆動する。このとき、各サーチ線対は全て「L」レベルに設定される。また、各マッチ線は特にレベルを定めなくてもよいが、好ましくはプリチャージされた「H」レベルに設定される。
一例として、入力データDIO0が”1”である場合、読出/書込回路108は、ビット線BL1を「H」レベルに、ビット線/BL1を「L」レベルに、ビット線BL0を「L」レベルに、ビット線/BL0を「H」レベルにそれぞれ駆動する。
半導体装置1000は、これらの動作を行なうことによって、各メモリセルに入力データを書き込むことができる。なお、読出時においてはビット線が図示されないセンスアンプによってその電位差が増幅されて各メモリセルが保持するデータが読出される。
半導体装置1000に配置されるメモリセルにおいて、データセルが接続されるビット線対と、マスクデータセルが接続されるビット線対とは異なる。そのため、ある局面において、半導体装置1000は、あるメモリセルを構成するデータセルに対してデータの書き込みまたは読み出しを行なっている間に、当該メモリセルを構成するマスクデータセルに対してデータの書き込みまたは読み出しを行ない得る。
(サーチ動作)
次に、サーチ動作について説明する。上記のメモリセルMC0#0の構成によれば、Aポート用の検索データが“1”(すなわち、サーチ線SLA0が“1”、かつ、サーチ線/SLA0が“0”)であり、メモリセルMC0#0のデータが“0”(記憶ノードm0が“0”、かつ、記憶ノードm1が“1”)である場合には、NMOSトランジスタNS0およびNS1がオン状態となって、マッチ線MLA0の電位が接地電位になる。Aポート用の検索データが”0” (すなわち、サーチ線SLA0が“0”、かつ、サーチ線/SLA0が“1”)であり、メモリセルMC0#0のデータが“1”(記憶ノードm0が“1”、かつ、記憶ノードm1が“0”)である場合には、NMOSトランジスタNS2およびNS3がオン状態となって、マッチ線MLA0の電位が接地電位になる。すなわち、Aポート用の検索データとメモリセルMC0#0のデータとが不一致の場合には、マッチ線MLA0の電位は接地電位(「L」レベル)になる。
一方、Aポート用の検索データが“1”であり、かつ、メモリセルMC0#0のデータが“1”または“*”の場合、もしくは、Aポート用の検索データが“0”であり、かつ、メモリセルMC0#0のデータが“0”または“*”の場合(すなわち、両者が一致する場合)、プリチャージされたマッチ線MLA0の電位(「H」レベル)は維持される。
上記のように、マッチ線MLA0に接続された全てのメモリセル(メモリセルMC0#0およびMC1#0)のデータのそれぞれが対応するAポート用の検索データと一致しない限り、マッチ線MLA0に蓄えられた電荷が引き抜かれる。
マッチ線MLB0の挙動は、上記説明したマッチ線MLA0の挙動と同じであるため、その説明は繰り返さない。
上記によれば、TCAM装置として機能する半導体装置1000は、1サイクルの間に、Aポート用の検索データおよびBポート用の検索データを同時に検索できる。そのため、半導体装置1000は、検索対象が複数ある場合において、シングルポートの検索装置(TCAM装置)に比して、2倍の検索速度を実現し得る。
加えて、この半導体装置1000は、共通するメモリアレイを用いて、Aポート用の検索データおよびBポート用の検索データを検索する。そのため、半導体装置1000は、装置の大型化を抑制し得る。
また、従来のTCAM装置は、2つの検索データを検索するために、クロック信号を2回生成する必要があった。一方、この半導体装置1000は、2つの検索データを検索するにあたって、クロック信号を1回生成すればよい。したがって、この半導体装置1000は、消費電力を従来に比して抑制し得る。
(メモリセルのレイアウト)
次に、図13〜15を用いて、一例として半導体装置1000に配置されるメモリセルMC0#0のレイアウト構成を積層方向に分割して説明する。なお、図3〜5の符号と同一符号を付している部分については同じであるため、その部分についての説明は繰り返さない。
図13は、半導体装置1000に配置されたメモリセルMC0#0のウェル、拡散領域DF、ポリシリコンPO、コンタクトホールCT、および第1層金属配線の配置を示した平面図である。
図13に示されるように、各トランジスタのゲートを構成するポリシリコン(PO)は、行方向に沿って延在し、メモリセルを構成する複数のウェルの各々は列方向に沿って延在する。したがって、ゲートとウェルとは互いに直交する方向に延在する。また、各ウェルは、列方向に隣接するメモリセル(メモリセルMC0#1)の対応するウェルと連続するように形成される。
ある実施形態に従うメモリセルMC0#0では、ワード線WL0が伸びる方向(行方向)に、P型導電型のPウェルPW0と、N型導電型のNウェルNW0と、PウェルPW1と、NウェルNW1と、PウェルPW2とが順に形成される。NウェルNW1と、PウェルPW2とが設けられる領域において、データセルDC0を構成するNMOSトランジスタNA2,NA3、ND2,ND3と、PMOSトランジスタP2,P3とが配置される。より詳しくは、PMOSトランジスタP2,P3はNウェルNW1に配置され、NMOSトランジスタNA2,NA3、ND2,ND3はPウェルPW2に配置される。
PMOSトランジスタP3は、1対のP型拡散領域FL360,FL362によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。P型拡散領域FL362は、コンタクトホールCT66を介して上層の金属配線層に形成される電源線VDDに接続される。
PMOSトランジスタP2は、1対のP型拡散領域FL362,FL364によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。
NMOSトランジスタNA3は、1対のN型拡散領域FL366,FL368によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。このゲートは、コンタクトホールCT84を介して上層の金属配線層に形成されるワード線WL0に電気的に接続される。N型拡散領域FL366は、コンタクトホールCT74を介して上層の金属配線層に形成されるビット線/BL1に電気的に接続される。
NMOSトランジスタND3は、1対のN型拡散領域FL368,FL370によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。N型拡散領域FL370は、コンタクトホールCT78を介して上層の金属配線層に形成される電源線VSSに接続される。
NMOSトランジスタND2は、1対のN型拡散領域FL370,FL372によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。P型拡散領域FL360と、N型拡散領域FL368と、NMOSトランジスタND2のゲートとは、コンタクトホールCT64,CT76,72をそれぞれ介して共通する第1層金属配線に接続される。したがって、これらは互いに電気的に接続される。P型拡散領域FL364と、PMOSトランジスタP3のゲートと、N型拡散領域FL372とは、コンタクトホールCT68,CT70,80をそれぞれ介して共通する第1層金属配線に接続される。したがって、これらは互いに電気的に接続される。
NMOSトランジスタNA2は、1対のN型拡散領域FL372,FL374によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。このゲートは、コンタクトホールCT86を介して上層の金属配線層に形成されるワード線WL0に電気的に接続される。N型拡散領域FL374は、コンタクトホールCT82を介して上層の金属配線層に形成されるビット線BL1に電気的に接続される。
NMOSトランジスタNS3のゲート、NMOSトランジスタNS7のゲート、PMOSトランジスタP3のゲート、およびNMOSトランジスタND3のゲートは、共通するポリシリコンによって形成される。
PMOSトランジスタP2のゲートおよびNMOSトランジスタND2のゲートは、共通するポリシリコンによって形成される。
NMOSトランジスタNA0,ND0,ND1,およびNA1は共通するN型拡散層に配置される。PMOSトランジスタP0およびP1は共通するP型拡散層に配置される。PMOSトランジスタP3およびP2は共通するP型拡散層に配置される。NMOSトランジスタNA3,ND3,ND2,およびNA2は共通するN型拡散層に配置される。
図13に示されるように、半導体装置1000を構成するメモリセルは、データサーチのためのNMOSトランジスタNS0〜NS7を、2つのN型拡散層DFに配置する構成を採用する。一般的に、TCAM装置は、データサーチのためのトランジスタを1つの拡散層DFに配置する構成を採用する。そのため、半導体装置1000を構成するメモリアレイにおいて、行方向に隣接するメモリセルの物理的な距離が、一般的なTCAM装置に比して若干長い。これにより、半導体装置1000は、マルチビットエラーが起こる確率を低減できる。
図14は、半導体装置1000に配置されたメモリセルMC0#0のビア1、第1層金属配線層および第2層金属配線層の配置を示した平面図である。図14において、第2層金属配線M202〜M248が、列方向に沿って配置される。
PMOSトランジスタP3およびP2のソースを形成するP型拡散領域FL362は、コンタクトホールCT66を介して第1層金属配線に接続される。この第1層金属配線は、ビア1V130を介して電源線VDDを形成する第2層金属配線M240に接続される。
NMOSトランジスタNA2のソースを形成するN型拡散領域FL374は、コンタクトホールCT82を介して第1層金属配線に接続される。この第1層金属配線は、ビア1V132を介してビット線BL1を形成する第2層金属配線M242に接続される。
NMOSトランジスタNA3のソースを形成するN型拡散領域FL366は、コンタクトホールCT74を介して第1層金属配線に接続される。この第1層金属配線は、ビア1V134を介してビット線/BL1を形成する第2層金属配線M244に接続される。
NMOSトランジスタND3およびND2のソースを形成するN型拡散領域FL370は、コンタクトホールCT78を介して第1層金属配線に接続される。この第1層金属配線は、ビア1V136を介して電源線VSSを形成する第2層金属配線M246に接続される。
NMOSトランジスタNA3のゲートと、NMOSトランジスタNA2のゲートとは、コンタクトホールCT84,CT86をそれぞれ介して、互いに異なる第1層金属配線に接続される。これらの第1層金属配線は、ビア1V138,ビア1V140をそれぞれ介して、ワード線WL0を形成する共通の第2層金属配線M248に接続される。
図15は、半導体装置1000に配置されたメモリセルMC0#0のビア2、第2層金属配線層および第3層金属配線層の配置を示した平面図である。
第2層金属配線M246は、ビア2V275およびV280を介して電源線VSSを形成する第3層金属配線M310とM350とに接続される。
第2層金属配線M248は、ビア2V285を介してワード線WL0を形成する第3層金属配線M330に接続される。
以上説明したようにレイアウトを構成することにより、高集積化されたTCAMメモリアレイを第3層金属配線層までで実現することができる。配線層数を抑えることができると、製造コストを抑えることができる。
図16は、ある実施形態に従うメモリセルにおける金属配線パターンを説明する図である。図中「F」は、金属配線パターンの向きを表す。一例として、図13〜15で説明したメモリセルMC0#0における金属配線パターンの向きを「F」と規定する。
この場合、メモリセルMC0#0と列方向に隣接するメモリセルMC0#1の金属配線パターンは、メモリセルMC0#0の配線パターンを行方向に軸対称にした配線パターンとなる。
一方、メモリセルMC0#0と行方向に隣接するメモリセルMC1#0の金属配線パターンは、図16に示される例においてメモリセルMC0#0の配線パターンと同じ配線パターンが示されている。なお、他の局面において、メモリセルMC1#0の金属配線パターンは、メモリセルMC0#0の配線パターンを列方向に軸対称にした配線パターンであってもよい。
(変形例)
上記説明したTCAM装置としての半導体装置1000において、データサーチのためのトランジスタは、NMOSトランジスタ(NS01〜NS07)であった。以下、データサーチのためのトランジスタとして、PMOSトランジスタを用いるTCAM装置について説明する。
図17は、他の実施形態に従うTCAMセルとしてのメモリセルMC0#0の構成例を説明する回路図である。なお、図11の符号と同一符号を付している部分については同じであるため、その部分についての説明は繰り返さない。
他の実施形態に従う論理演算セルLCA0は、NMOSトランジスタNS0,NS1,NS2,NS3に替えてPMOSトランジスタPS0,PS1,PS2,PS3を含む。また、他の実施形態に従う論理演算セルLCB0は、NMOSトランジスタNS4,NS5,NS6,NS7に替えてPMOSトランジスタPS4,PS5,PS6,PS7を含む。
PMOSトランジスタPS0とPS1とは、マッチ線MLA0と電源線VDDとの間に直列に接続され、ゲートにそれぞれサーチ線SLA0と記憶ノードm1とが接続される。PMOSトランジスタPS2とPS3とは、マッチ線MLA0と電源線VDDとの間に直列に接続され、ゲートにそれぞれサーチ線/SLA0と記憶ノードm0とが接続される。
PMOSトランジスタPS4とPS5とは、マッチ線MLB0と電源線VDDとの間に直列に接続され、ゲートにそれぞれサーチ線SLB0と記憶ノードm1とが接続される。PMOSトランジスタPS6とPS7とは、マッチ線MLB0と電源線VDDとの間に直列に接続され、ゲートにそれぞれサーチ線/SLB0と記憶ノードm0とが接続される。
半導体装置1000に配置されたメモリセルMC0#0のデータと、データセルDC0およびマスクデータセルMDC0が保持するデータとの関係は、図12に示される。ある局面において、図17に示されるメモリセルMC0#0のデータとデータセルDC0およびマスクデータセルMDC0が保持するデータとの関係は、図12に示される関係と異なる。
図18は、図17のデータセルDC0およびマスクデータセルMDC0が保持するデータとメモリセルMC0#0のデータとの対応関係を表形式で示す図である。
図18を参照して、データセルDC0の記憶ノードm0に“1”が格納され、マスクデータセルMDC0の記憶ノードm1に“0”が格納されているとき、メモリセルMC0#0には“0”が格納されているとする。データセルDC0の記憶ノードm0に“0”が格納され、マスクデータセルMDC0の記憶ノードm1に“1”が格納されているとき、メモリセルMC0#0には“1”が格納されているとする。データセルDC0の記憶ノードm0に“1”が格納され、マスクデータセルMDC0の記憶ノードm1に“1”が格納されているとき、メモリセルMC0#0には“*”(ドントケア)が格納されているとする。データセルDC0の記憶ノードm0に“0”が格納され、マスクデータセルMDC0の記憶ノードm1に“0”が格納されている場合は使用しない。上記のように、データサーチのためのトランジスタとしてPMOSトランジスタを採用するTCAMセル(メモリセルMC0#0)は、NMOSトランジスタを採用するTCAMセルのデータ(図12)とは逆の態様でデータを保持し得る。
図19は、他の実施形態に従う半導体装置1900の構成例を説明するブロック図である。なお、図10の符号と同一符号を付している部分については同じであるため、その部分についての説明は繰り返さない。
半導体装置1900に配置されたメモリセルMC0#0〜MC1#1は、図17に示されるように、データサーチのためのトランジスタとしてPMOSトランジスタを有する。
図7で説明した半導体装置700と同様に、半導体装置1900は、サーチドライバ104A,104B,106A,106Bの各出力端子、およびプリチャージ&エンコード回路112A,112Bの入力端子にインバータInvを有する。その結果、各サーチ線のレベルは、接続されるサーチドライバが出力した信号の反転レベルの電位となる。また、プリチャージ&エンコード回路112A,112Bは、接続された各マッチ線の反転レベルの信号の入力を受け付ける。また、インバータInvの作用により、各マッチ線は、接続されるプリチャージ&エンコード回路の出力信号の反転レベルにプリチャージされる。ある局面において、各マッチ線は、「L」レベルにプリチャージされる。
図17〜図19を用いて、半導体装置1900のサーチ動作について説明する。メモリセルMC0#0のデータと、検索データとが一致する場合、マッチ線のレベルは「L」レベルに維持される。一方、メモリセルMC0#0のデータと、検索データとが不一致の場合、マッチ線のレベルは「H」レベルになる。
一例として、検索データ信号S0(A)が”1”の場合について説明する。この場合、サーチ線SLA0のレベルはインバータInvによって反転された「L」レベルとなる。そのため、サーチ線SLA0に接続されたPMOSトランジスタPS0はON状態となる。上記の場合、メモリセルMC0#0のデータが”0”のとき、すなわち、メモリセルMC0#0のデータと検索データとが不一致のとき、PMOSトランジスタPS1がON状態となり、マッチ線MLA0は「H」レベルとなる。一方、メモリセルMC0#0のデータが”1”のとき、すなわち、メモリセルMC0#0のデータと検索データとが一致するとき、PMOSトランジスタPS1がOFF状態となり、マッチ線MLA0はプリチャージされた「L」レベルに維持される。
上記によれば、プリチャージ&エンコード回路は、インバータInvの作用によって、各々のメモリセルが保持するデータと、対応する検索データとが全て一致する場合は「H」レベルの入力を受け付け、いずれか1つでも不一致のものがある場合は「L」レベルの入力を受け付ける。これは、上記説明した半導体装置1000に含まれるプリチャージ&エンコード回路も同じである。
したがって、半導体装置1900は、サーチドライバの各出力端子およびプリチャージ&エンコード回路の各入力端子にインバータを設けるだけで、データサーチのためのトランジスタとしてPMOSトランジスタを有するメモリセルを使用し得る。
図20は、他の実施形態に従うTCAMセルとしてのメモリセルMC0#0のウェル、拡散領域DF、ポリシリコンPO、コンタクトホールCT、および第1層金属配線の配置を示した平面図である。なお、図8および図13の符号と同一符号を付している部分については同じであるため、その部分についての説明は繰り返さない。
図20に示されるように、他の実施形態に従うMC0#0のレイアウトは、図8に示されるBCAMセルのレイアウトに、図13に示されるTCAMセルのレイアウトのうち、NウェルNW1、PウェルPW2、およびこれらのウェルに配置される構成を足し合わせた構成を採用し得る。なお、図8に示されるNウェルNW0と、図13に示されるNウェルNW1とは隣接するため、図20において1つのNウェルNW0として表現される。また、図13に示されるPウェルPW2は、図20におけるPウェルPW1に対応する。
半導体装置1900を構成するメモリセルは、NウェルNW1およびPウェルPW2を有さないため、半導体装置1000を構成するメモリセルに比してウェルの数が2つ少ない。そのため、半導体装置1900を構成するメモリセルは、半導体装置1000を構成するメモリセルよりも小型化できる。
なお、第2層金属配線、および第3層金属配線の配線パターンは、図14,15に示される例と同様の配線パターンによって実現され得るため、その説明は繰り返さない。
[実施形態3]
実施形態2に示されるTCAMセルを構成するデータセルとマスクデータセルとは、行方向に隣接するように配置され、共通するワード線に接続され、互いに異なるビット線対に接続される構成であった。実施形態3では、TCAMセルの他の構成について説明する。より具体的には、TCAMセルを構成するデータセルとマスクデータセルとは、列方向に隣接するように配置され、共通するビット線対に接続され、互いに異なるワード線に接続される。以下、その構成について具体的に説明する。
図21は、ある実施形態に従う半導体装置2100の構成例を説明するブロック図である。なお、図10の符号と同一符号を付している部分については同じであるため、その部分についての説明は繰り返さない。
半導体装置2100を構成する各メモリセルは、2本のワード線と、1組のビット線対と、2組のサーチ線対と、2本のマッチ線とが接続される。例えば、メモリセルMC0#0は、ワード線WL0,WL1と、ビット線対BL0,/BL0と、サーチ線対SLA0,/SLA0およびSLB0,/SLB0と、マッチ線MLA0,MLB0とに接続される。
(メモリセルの回路構成)
図22は、半導体装置2100のメモリセルMC0#0の構成例を説明する回路図である。図22を参照して、メモリセルMC0#0は、各々が1ビットのデータを保持可能に構成されたデータセルDC0と、マスクデータセルMDC0とを含む。データセルDC0と、マスクデータセルMDC0とは、列方向に互いに隣接する。
マスクデータセルMDC0は、NMOSトランジスタNA0,NA1,ND0,ND1およびPMOSトランジスタP0,P1によって構成される。
NMOSトランジスタNA0は、記憶ノードm1と、ビット線BL0との間に接続され、ゲートにワード線WL0が接続される。NMOSトランジスタNA1は、記憶ノード/m1とビット線/BL0との間に接続され、ゲートにワード線WL0が接続される。PMOSトランジスタP0は、電源線VDDと記憶ノードm1との間に接続され、ゲートが記憶ノード/m1に接続される。NMOSトランジスタND0は、記憶ノードm1と電源線VSSとの間に接続され、ゲートが記憶ノード/m1に接続される。PMOSトランジスタP1は、電源線VDDと記憶ノード/m1との間に接続され、ゲートが記憶ノードm1に接続される。NMOSトランジスタND1は、記憶ノード/m1と電源線VSSとの間に接続され、ゲートが記憶ノードm1に接続される。
NMOSトランジスタND0およびPMOSトランジスタP0は、インバータを構成する。NMOSトランジスタND1およびPMOSトランジスタP1も、インバータを構成する。一方のインバータの出力は、他方のインバータの入力に接続される。NMOSトランジスタND0およびND1と、PMOSトランジスタP0およびP1とによって構成されたフリップフロップは、1ビットの情報を保持する。
データセルDC0は、NMOSトランジスタNA2,NA3,ND2,ND3およびPMOSトランジスタP2,P3によって構成される。
NMOSトランジスタNA2は、記憶ノードm0と、ビット線BL0との間に接続され、ゲートにワード線WL1が接続される。NMOSトランジスタNA3は、記憶ノード/m0とビット線/BL0との間に接続され、ゲートにワード線WL1が接続される。PMOSトランジスタP2は、電源線VDDと記憶ノードm0との間に接続され、ゲートが記憶ノード/m0に接続される。NMOSトランジスタND2は、記憶ノードm0と電源線VSSとの間に接続され、ゲートが記憶ノード/m0に接続される。PMOSトランジスタP3は、電源線VDDと記憶ノード/m0との間に接続され、ゲートが記憶ノードm0に接続される。NMOSトランジスタND3は、記憶ノード/m0と電源線VSSとの間に接続され、ゲートが記憶ノードm0に接続される。
NMOSトランジスタND2およびPMOSトランジスタP2は、インバータを構成する。NMOSトランジスタND3およびPMOSトランジスタP3も、インバータを構成する。一方のインバータの出力は、他方のインバータの入力に接続される。NMOSトランジスタND2およびND3と、PMOSトランジスタP2およびP3とによって構成されたフリップフロップは、1ビットの情報を保持する。
上記のように、データセルDC0およびマスクデータセルMDC0は、共通するビット線対BL0,/BL0に接続される。また、データセルDC0とマスクデータセルMDC0とは、互いに異なるワード線WL0,WL1にそれぞれ接続される。
メモリセルMC0#0は、データセルDC0とマスクデータセルMDC0との間に、論理演算セルLCA0およびLCB0を有する。論理演算セルLCA0とLCB0とは、互いに行方向に隣接する。
論理演算セルLCA0は、データセルDC0およびマスクデータセルMDC0の保持するデータとAポート用の検索データとに応じた結果をマッチ線MLA0に出力する。論理演算セルLCB0は、データセルDC0およびマスクデータセルMDC0の保持するデータとBポート用の検索データとに応じた結果をマッチ線MLA0に出力する。
論理演算セルLCA0は、NMOSトランジスタNS0〜NS3を含む。論理演算セルLCB0は、NMOSトランジスタNS4〜NS7を含む。
NMOSトランジスタNS0とNS1とは、マッチ線MLA0と電源線VSSとの間に直列に接続され、ゲートにそれぞれサーチ線SLA0と記憶ノードm1とが接続される。NMOSトランジスタNS2とNS3とは、マッチ線MLA0と電源線VSSとの間に直列に接続され、ゲートにそれぞれサーチ線/SLA0と記憶ノードm0とが接続される。
NMOSトランジスタNS4とNS5とは、マッチ線MLB0と電源線VSSとの間に直列に接続され、ゲートにそれぞれサーチ線SLB0と記憶ノードm1とが接続される。NMOSトランジスタNS6とNS7とは、マッチ線MLB0と電源線VSSとの間に直列に接続され、ゲートにそれぞれサーチ線/SLB0と記憶ノードm0とが接続される。
図22に示されるメモリセルMC0#0のデータは、図12に示されるメモリセルMC0#0と同じであるとする。すなわち、データセルDC0の記憶ノードm0が”0”かつマスクデータセルMDC0の記憶ノードm1が”1”のときに、メモリセルMC0#0には”0”が格納されているとする。データセルDC0の記憶ノードm0が”1”かつマスクデータセルMDC0の記憶ノードm1が”0”のときに、メモリセルMC0#0には”1”が格納されているとする。データセルDC0の記憶ノードm0が”0”かつマスクデータセルMDC0の記憶ノードm1が”0”のときに、メモリセルMC0#0には“*”(ドントケア)が格納されているとする。データセルDC0の記憶ノードm0が“1”かつマスクデータセルMDC0の記憶ノードm1が“1”の場合は使用しない。
(書き込み動作)
図22に示されるメモリセルMC0#0への書き込み動作を説明する。行デコーダ102は、メモリセルMC0#0に対するデータ書き込み時において、まず、ワード線WL0を「H」レベルに活性化し、それ以外のワード線(すなわちワード線WL1〜WL3)を「L」レベルに非活性化する。そして、読出/書込回路108は、ビット線BL0を入力データDIO00に対応するレベルに駆動し、ビット線/BL0をその反転レベルに駆動する。これにより、半導体装置2100は、データセルDC0へデータの書き込みを行なう。読出/書込回路108は、データセルDC0へのデータ書き込みが終了すると、ビット線対BL0,/BL0のレベルを「L」レベルにする。
次に、行デコーダ102は、ワード線WL1を「H」レベルに活性化し、それ以外のワード線を「L」レベルに非活性化する。そして、読出/書込回路108は、ビット線BL0を入力データDIO01に対応するレベルに駆動し、ビット線/BL0をその反転レベルに駆動する。これにより、半導体装置2100は、マスクデータセルMDC0へデータの書き込みを行なう。読出/書込回路108は、データセルDC0へのデータ書き込みが終了すると、ビット線対BL0,/BL0のレベルを「L」レベルにする。半導体装置2100は、これら一連の動作を2サイクルの間に行なう。なお、他の局面において、半導体装置2100は、はじめの1サイクルの間にマスクデータセルMDC0へのデータ書き込みを行い、次の1サイクルの間にデータセルDC0へのデータ書き込みを行ない得る。
(サーチ動作)
次に、サーチ動作について説明する。上記のメモリセルMC0#0の構成によれば、Aポート用の検索データが“1”(すなわち、サーチ線SLA0が“1”、かつ、サーチ線/SLA0が“0”)であり、メモリセルMC0#0のデータが“0”(記憶ノードm0が“0”、かつ、記憶ノードm1が“1”)である場合には、NMOSトランジスタNS0およびNS1がオン状態となるため、プリチャージされたマッチ線MLA0の電位が接地電位まで引き抜かれる。Aポート用の検索データが”0” (すなわち、サーチ線SLA0が“0”、かつ、サーチ線/SLA0が“1”)であり、メモリセルMC0#0のデータが“1”(記憶ノードm0が“1”、かつ、記憶ノードm1が“0”)である場合には、NMOSトランジスタNS2およびNS3がオン状態となるため、プリチャージされたマッチ線MLA0の電位が接地電位まで引き抜かれる。すなわち、Aポート用の検索データとメモリセルMC0#0のデータとが不一致の場合には、マッチ線MLA0の電位は「L」レベル(接地電位)になる。
一方、Aポート用の検索データが“1”であり、かつ、メモリセルMC0#0のデータが“1”または“*”の場合、もしくは、Aポート用の検索データが“0”であり、かつ、メモリセルMC0#0のデータが“0”または“*”の場合(すなわち、両者が一致する場合)、プリチャージされたマッチ線MLA0の電位(「H」レベル)は維持される。
上記のように、マッチ線MLA0に接続された全てのメモリセル(メモリセルMC0#0およびMC1#0)のデータがAポート用の検索データと一致しない限り、マッチ線MLA0に蓄えられた電荷が引き抜かれる。
マッチ線MLB0の挙動は、上記説明したマッチ線MLA0の挙動と同じであるため、その説明は繰り返さない。
上記によれば、TCAM装置として機能する半導体装置2100は、上記説明した半導体装置1000と同様に、1サイクルの間に、Aポート用の検索データおよびBポート用の検索データを同時に検索できる。そのため、半導体装置2100は、検索対象が複数ある場合において、シングルポートの検索装置(TCAM装置)に比して、2倍の検索速度を実現し得る。
加えて、この半導体装置2100は、共通するメモリアレイを用いて、Aポート用の検索データおよびBポート用の検索データを検索する。そのため、半導体装置2100は、装置の大型化を抑制し得る。
また、従来のTCAM装置は、2つの検索データを検索するために、クロック信号を2回生成する必要があった。一方、この半導体装置2100は、2つの検索データを検索するにあたって、クロック信号を1回生成すればよい。したがって、この半導体装置2100は、消費電力を従来に比して抑制し得る。
(メモリセルのレイアウト)
次に、図23〜25を用いて、一例として半導体装置2100に配置されたメモリセルMC0#0のレイアウト構成を積層方向に分割して説明する。なお、図13〜15の符号と同一符号を付している部分については同じであるため、その部分についての説明は繰り返さない。
図23は、半導体装置2100に配置されたメモリセルMC0#0のウェル、拡散領域DF、ポリシリコンPO、コンタクトホールCT、および第1層金属配線の配置を示した平面図である。
ある実施形態に従うメモリセルMC0#0では、行方向に、P型導電型のPウェルPW0と、N型導電型のNウェルNW0と、PウェルPW1とが順に形成される。PウェルPW0には、データセルDC0を構成するNMOSトランジスタNA2,ND2と、マスクデータセルMDC0を構成するNMOSトランジスタNA0,ND0とが配置される。NウェルNW0には、データセルDC0を構成するPMOSトランジスタP0,P1と、マスクデータセルMDC0を構成するPMOSトランジスタP2,P3とが配置される。PウェルPW1には、データセルDC0を構成するNMOSトランジスタNA3,ND3と、マスクデータセルMDC0を構成するNMOSトランジスタNA1,ND1と、データサーチのためのNMOSトランジスタNS0〜NS7とが配置される。
NMOSトランジスタND2は、1対のN型拡散領域FL502,FL504によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。N型拡散領域FL502は、コンタクトホールCT406を介して上層の金属配線層に形成される電源線VSSに電気的に接続される。
NMOSトランジスタNA2は、1対のN型拡散領域FL504,FL506によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。このゲートは、コンタクトホールCT402を介して上層の金属配線層に形成されるワード線WL1に電気的に接続される。N型拡散領域FL506は、コンタクトホールCT410を介して上層の金属配線層に形成されるビット線BL0に電気的に接続される。
NMOSトランジスタNA0は、1対のN型拡散領域FL506,FL508によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。このゲートは、コンタクトホールCT404を介して上層の金属配線層に形成されるワード線WL0に電気的に接続される。
NMOSトランジスタND0は、1対のN型拡散領域FL508,FL510によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。N型拡散領域FL510は、コンタクトホールCT414を介して上層の金属配線層に形成される電源線VSSに電気的に接続される。
NMOSトランジスタND2,NA2,NA0,ND0は、共通するN型拡散層DFに配置される。
PMOSトランジスタP2は、1対のP型拡散領域FL512,FL514によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。P型拡散領域FL514とN型拡散領域FL504とは、コンタクトホールCT418,CT408をそれぞれ介して共通の第1層金属配線に接続される。また、コンタクトホールCT418は、後述するPMOSトランジスタP3のゲートにも設けられる。したがって、P型拡散領域FL514とN型拡散領域FL504とPMOSトランジスタP3のゲートとは、互いに電気的に接続される。P型拡散領域FL512は、コンタクトホールCT416を介して上層の金属配線層に形成される電源線VDDに電気的に接続される。
PMOSトランジスタP0は、1対のP型拡散領域FL513,FL515によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。P型拡散領域FL513とN型拡散領域FL508とは、コンタクトホールCT420,CT412をそれぞれ介して共通の第1層金属配線に接続される。また、コンタクトホールCT420は、後述するPMOSトランジスタP1のゲートにも設けられる。したがって、P型拡散領域FL513とN型拡散領域FL508とPMOSトランジスタP1のゲートとは、互いに電気的に接続される。P型拡散領域FL515は、コンタクトホールCT422を介して上層の金属配線層に形成される電源線VDDに電気的に接続される。
PMOSトランジスタP3は、1対のP型拡散領域FL516,FL518によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。P型拡散領域FL516とPMOSトランジスタP2のゲートとは、共通するコンタクトホールCT424によって電気的に接続される。P型拡散領域FL516と、後述するNMOSトランジスタNA3のドレインを形成するN型拡散領域FL524とは、コンタクトホールCT424,CT432をそれぞれ介して共通の第1層金属配線に接続される。したがって、P型拡散領域FL516と、PMOSトランジスタP2のゲートと、N型拡散領域FL524とは、互いに電気的に接続される。P型拡散領域FL518は、コンタクトホールCT426を介して上層の金属配線層に形成される電源線VDDに電気的に接続される。
PMOSトランジスタP1は、1対のP型拡散領域FL518,FL520によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。P型拡散領域FL520とPMOSトランジスタP0のゲートとは、共通するコンタクトホールCT428によって電気的に接続される。P型拡散領域FL520と、後述するNMOSトランジスタNA1のドレインを形成するN型拡散領域FL528とは、コンタクトホールCT428,CT436をそれぞれ介して共通の第1層金属配線に接続される。したがって、P型拡散領域FL520と、PMOSトランジスタP0のゲートと、N型拡散領域FL528とは、互いに電気的に接続される。PMOSトランジスタP3およびP1は、共通するP型拡散層DFに配置される。
NMOSトランジスタNA3は、1対のN型拡散領域FL522,FL524によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。このゲートは、コンタクトホールCT440を介して上層の金属配線層に形成されるワード線WL1に電気的に接続される。N型拡散領域FL522は、コンタクトホールCT430を介して上層の金属配線層に形成されるビット線/BL0に電気的に接続される。
NMOSトランジスタND3は、1対のN型拡散領域FL524,FL526によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。N型拡散領域FL526は、コンタクトホールCT434を介して上層の金属配線層に形成される電源線VSSに電気的に接続される。
NMOSトランジスタND1は、1対のN型拡散領域FL526,FL528によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。
NMOSトランジスタNA1は、1対のN型拡散領域FL528,FL530によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。このゲートは、コンタクトホールCT442を介して上層の金属配線層に形成されるワード線WL0に電気的に接続される。N型拡散領域FL530は、コンタクトホールCT438を介して上層の金属配線層に形成されるビット線/BL0に電気的に接続される。
上記のように、半導体装置2100を構成するメモリセルは、NウェルNW1とPウェルPW2を有さないため、図13で説明した半導体装置1000を構成するメモリセルに比して、ウェルの数が2つ少ない。そのため、半導体装置2100を構成するメモリセルは、半導体装置1000を構成するメモリセルよりもさらに小型化され得る。
図24は、半導体装置2100に配置されたメモリセルMC0#0のビア1、第1層金属配線層および第2層金属配線層の配置を示した平面図である。
NMOSトランジスタNA2のゲートは、コンタクトホールCT402、第1層金属配線、およびビア1V150を介して、ワード線WL1を形成する第2層金属配線M260に接続される。
NMOSトランジスタNA0のゲートは、コンタクトホールCT404、第1層金属配線、およびビア1V152を介して、ワード線WL0を形成する第2層金属配線M262に接続される。
NMOSトランジスタND2のソースを形成するN型拡散領域FL502、およびNMOSトランジスタND0のソースを形成するN型拡散領域FL510は、コンタクトホールCT406,CT414をそれぞれ介して共通する第1層金属配線に接続される。この第1層金属配線は、ビア1V154およびビア1V156を介して電源線VSSを形成する第2層金属配線M264に接続される。
NMOSトランジスタNA2およびNA0のソースを形成するN型拡散領域FL506は、コンタクトホールCT410、第1層金属配線、およびビア1V158を介してビット線BL0を形成する第2層金属配線M266に接続される。
PMOSトランジスタP2のソースを形成するP型拡散領域FL512は、コンタクトホールCT416、第1層金属配線、およびビア1V160を介して電源線VDDを形成する第2層金属配線M268に接続される。PMOSトランジスタP3およびP1のソースを形成するP型拡散領域FL518は、コンタクトホールCT426、第1層金属配線、およびビア1V161を介して第2層金属配線M268に接続される。PMOSトランジスタP0のソースを形成するP型拡散領域FL515は、コンタクトホールCT422、第1層金属配線、およびビア1V162を介して第2層金属配線M268に接続される。
NMOSトランジスタNA3のソースを形成するN型拡散領域FL522およびNMOSトランジスタNA1のソースを形成するN型拡散領域FL530は、コンタクトホールCT430,CT438をそれぞれ介して共通する第1層金属配線に接続される。この第1層金属配線は、ビア1V164およびビア1V166を介してビット線/BL0を形成する第2層金属配線M270に接続される。
NMOSトランジスタND3およびND1のソースを形成するN型拡散領域FL526は、コンタクトホールCT434、第1層金属配線、およびビア1V168を介して、電源線VSSを形成する第2層金属配線M272に接続される。
NMOSトランジスタNA3のゲートは、コンタクトホールCT440、第1層金属配線、およびビア1V170を介して、ワード線WL1を形成する第2層金属配線M274に接続される。
NMOSトランジスタNA1のゲートは、コンタクトホールCT442、第1層金属配線、およびビア1V172を介して、ワード線WL0を形成する第2層金属配線M276に接続される。
図25は、半導体装置2100に配置されたメモリセルMC0#0のビア2、第2層金属配線層および第3層金属配線層の配置を示した平面図である。図25において、第3層金属配線M360〜M380が、行方向に沿って配置される。
第2層金属配線M260とM274とは、ビア2V215,ビア2V255をそれぞれ介してワード線WL1を形成する共通の第3層金属配線M360に接続される。
第2層金属配線M222は、ビア2V292を介してマッチ線MLB0を形成する第3層金属配線M365に接続される。
第2層金属配線M264とM272とM218とは、ビア2V235,ビア2V245,ビア2V282をそれぞれ介して電源ノードを形成する共通の第3層金属配線M370に接続される。
第2層金属配線M214は、ビア2V272を介してマッチ線MLA0を形成する第3層金属配線M375に接続される。
第2層金属配線M262とM276とは、ビア2V225,ビア2V265をそれぞれ介してワード線WL0を形成する共通の第3層金属配線M380に接続される。
なお、メモリセルMC0#0と行方向に隣接するメモリセルMC1♯0の内部の金属配線の配線パターンは、メモリセルMC0#0の配線パターンを列方向に軸対象した配線パターンと同じであるため、その説明は繰り返さない。なお、メモリセルMC0#0と列方向に隣接するメモリセルMC0#1の内部の金属配線の配線パターンは、メモリセルMC0#0の配線パターンを行方向に軸対称した配線パターンと同じであってもよいし、メモリセルMC0#0の配線パターンと同じであってもよい。
以上説明したようにレイアウトを構成することにより、高集積化されたCAMメモリアレイを第3層金属配線層までで実現することができる。配線層数を抑えることができると、製造コストを抑えることができる。
(変形例)
上記の実施形態において、データサーチのためのトランジスタはNMOSトランジスタ(NS01〜NS07)であった。他の実施形態において、半導体装置は、データサーチのためのトランジスタとして、PMOSトランジスタを採用する。
図26は、実施形態3の変形例に従うメモリセルMC0#0の構成例を説明する回路図である。なお、図26に示される要素のうち図22で説明した要素には同じ符号を付している。そのため、その要素についての説明は繰り返さない。
変形例に従う論理演算セルLCA0は、NMOSトランジスタNS0,NS1,NS2,NS3に替えてPMOSトランジスタPS0,PS1,PS2,PS3を有する。また、変形例に従う論理演算セルLCB0は、NMOSトランジスタNS4,NS5,NS6,NS7に替えてPMOSトランジスタPS4,PS5,PS6,PS7を有する。
PMOSトランジスタPS0とPS1とは、マッチ線MLA0と電源線VDDとの間に直列に接続される。PMOSトランジスタPS0のゲートはサーチ線SLA0に接続される。PMOSトランジスタPS1のゲートは記憶ノードm1に接続される。
PMOSトランジスタPS2とPS3とは、マッチ線MLA0と電源線VDDとの間に直列に接続される。PMOSトランジスタPS2のゲートはサーチ線/SLA0に接続される。PMOSトランジスタPS3のゲートは記憶ノードm0に接続される。
PMOSトランジスタPS4とPS5とは、マッチ線MLB0と電源線VDDとの間に直列に接続される。PMOSトランジスタPS4のゲートはサーチ線SLB0に接続される。PMOSトランジスタPS5のゲートは記憶ノードm1に接続される。
PMOSトランジスタPS6とPS7とは、マッチ線MLB0と電源線VDDとの間に直列に接続される。PMOSトランジスタPS6のゲートはサーチ線/SLB0に接続される。PMOSトランジスタPS7のゲートは記憶ノードm0に接続される。
変形例に従うメモリセルMC0#0のデータは、図18に示されるメモリセルMC0#0のデータと同じであるとする。
図27は、実施形態3の変形例に従う半導体装置2700の構成例を説明するブロック図である。なお、図27に示される要素のうち図21で説明した要素には同じ符号を付している。そのため、その要素についての説明は繰り返さない。
半導体装置2700に配置されたメモリセルMC0#0〜MC1#1は、図26に示されるように、データサーチのためのトランジスタとしてPMOSトランジスタを有する。
半導体装置2700は、サーチドライバ104A,104B,106A,106Bの各出力端子、およびプリチャージ&エンコード回路112A,112Bの入力端子にインバータInvを有する。その結果、各サーチ線のレベルは、接続されるサーチドライバが出力した信号の反転レベルの電位となる。また、プリチャージ&エンコード回路112A,112Bは、接続された各マッチ線の反転レベルの信号の入力を受け付ける。また、インバータInvの作用により、各マッチ線は、接続されるプリチャージ&エンコード回路の出力信号の反転レベルにプリチャージされる。ある局面において、各マッチ線は、「L」レベルにプリチャージされる。
図26および図27を用いて、半導体装置2700のサーチ動作について説明する。メモリセルMC0#0のデータと、検索データとが一致する場合、マッチ線のレベルは「L」レベルに維持される。一方、メモリセルMC0#0のデータと、検索データとが不一致の場合、マッチ線のレベルは「H」レベルになる。
一例として、検索データ信号S0(A)が”1”の場合について説明する。この場合、サーチ線SLA0のレベルはインバータInvによって反転された「L」レベルとなる。そのため、サーチ線SLA0に接続されたPMOSトランジスタPS0はON状態となる。上記の場合、メモリセルMC0#0のデータが”0”のとき、すなわち、メモリセルMC0#0のデータと検索データとが不一致のとき、PMOSトランジスタPS1がON状態となり、マッチ線MLA0は「H」レベルとなる。一方、メモリセルMC0#0のデータが”1”のとき、すなわち、メモリセルMC0#0のデータと検索データとが一致するとき、PMOSトランジスタPS1がOFF状態となり、マッチ線MLA0はプリチャージされた「L」レベルに維持される。
上記によれば、プリチャージ&エンコード回路は、インバータInvの作用によって、各々のメモリセルが保持するデータと、対応する検索データとが全て一致する場合は「H」レベルの入力を受け付け、いずれか1つでも不一致のものがある場合は「L」レベルの入力を受け付ける。
図28は、実施形態3の変形例に従うメモリセルMC0#0のウェル、拡散領域DF、ポリシリコンPO、コンタクトホールCT、および第1層金属配線の配置を示した平面図である。
図28に示されるメモリセルMC0#0のウェル構成は、NウェルNW1をさらに有する点において、図23に示されるメモリセルMC0#0のウェル構成と異なる。図28に示されるレイアウトは、図23に示されるレイアウトのうち、データサーチのためのNMOSトランジスタNS0〜NS7に関するレイアウトを、図8に示されるデータサーチのためのPMOSトランジスタPS0〜PS7に関するレイアウトに置き換えたものである。そのため、図28に示されるメモリセルMC0#0の詳細は繰り返し説明しない。
図29は、半導体装置2700に配置されたメモリセルMC0#0のビア1、第1層金属配線層および第2層金属配線層の配置を示した平面図である。図29に示されるレイアウトは、図24に示されるレイアウトと略同じである。そのため、相違する点についてのみ説明する。
PMOSトランジスタPS2のソースを形成するP型拡散領域FL340と、PMOSトランジスタPS6のソースを形成するP型拡散領域FL350とは、コンタクトホールCT48,CT54をそれぞれ介して共通する第1層金属配線に接続される。この第1層金属配線は、ビア1V121を介して電源線VDDを形成する第2層金属配線M910に接続される。
PMOSトランジスタPS2のソースを形成するP型拡散領域FL348と、PMOSトランジスタPS6のソースを形成するP型拡散領域FL358とは、コンタクトホールCT52,CT58をそれぞれ介して共通する第1層金属配線に接続される。この第1層金属配線は、ビア1V123を介して電源線VDDを形成する第2層金属配線M910に接続される。
図30は、半導体装置2700に配置されたメモリセルMC0#0のビア2、第2層金属配線層および第3層金属配線層の配置を示した平面図である。図30に示されるレイアウトは、第3層金属配線M370にビア2V282が設けられていない点を除き、図25に示されるレイアウトと同じである。
データサーチのためのトランジスタとしてPMOSトランジスタを用いる半導体装置2700も、Aポート用の検索データおよびBポート用の検索データを同時に検索できる。
[実施形態4]
上記の実施形態において、各トランジスタは平面型(プレーナ型)トランジスタであって、チャネルに対して単一のゲートを有する構造である。本実施形態に従う半導体装置は、チャネルに対して複数のゲートを有するマルチゲートトランジスタを採用する。
(トランジスタの構造)
図31は、トランジスタの構造を表す図である。図31(A)は、プレーナ型電界効果トランジスタ(以下「プレーナFET」とも言う)の構造の一例を表す。図31(B)は、フィン型電界効果トランジスタ(以下「FinFET(Field effect transistor)」とも言う)の構造の一例を表す。図31(C)は、GAA(Gate All Around)型電界効果トランジスタ(以下「GAAFET」ともいう)の構造の一例を表す。
図31(A)を参照して、プレーナFETにおいて、ソース、チャネル、およびドレインが同一平面上に形成されている。また、プレーナFETのゲートはゲート絶縁膜を介してチャネル上に形成される。つまり、ゲートはチャネルの1面を覆うように形成される。
図31(B)に示されるFinFETのチャネルは、プレーナFETのチャネルに比べて、シリコン基板から突出している。また、FinFETのゲートは、突出したチャネルの側面および上面を覆うように形成される。
図31(C)に示されるGAAFETのチャネルには、結晶成長によって得られるナノワイヤが用いられている。また、GAAFETのゲートは、チャネル(ナノワイヤ)の軸まわりを完全に覆うように構成される。
図31(A)に示されるプレーナFETにおいて、チャネルは平面なので、ゲートは1方向からしかチャネルに面していない。この場合、空乏層がチャネルの1面にしか形成されず、リーク電流が大きくなる。
一方、図31(B)または図31(C)に示されるトランジスタにおいて、ゲートは複数の方向からチャネルに面する。これによりチャネルの電流駆動能力が上がる。また、チャネルは略空乏化される。その結果、これらのトランジスタはリーク電流を減らすことができる。そこで、実施形態4に従う半導体装置は、これらマルチゲートトランジスタを採用する。なお、この半導体装置の概略構成は図21に示される概略構成と同じである。
(FinFETを用いたデュアルポートTCAMのレイアウト)
以下、一例として図22に示されるメモリセルMC0#0を構成するトランジスタとしてFinFETを用いる場合について説明する。
図32は、実施形態4に従うメモリセルMC0#0のウェル、拡散領域DF、ポリシリコンPO、およびローカル配線(LIC:Local Inter Connect)の配置を示した平面図である。図32に示されるメモリセルMC0#0のレイアウトは、FinFETのフィンに相当する拡散層DFが設けられている点、および、ローカル配線が設けられる点において、図23に示されるメモリセルMC0#0のレイアウトと相違する。そのため、これらの点について説明する。
実施形態4に従うメモリセルMC0#0では、行方向に、P型導電型のPウェルPW0と、N型導電型のNウェルNW0と、PウェルPW1とが順に形成される。
各ウェルには、FinFETのフィンに相当する拡散層DFが形成されている。より具体的には、PウェルPW0には、データセルDC0を構成するNMOSトランジスタNA2,ND2およびマスクデータセルMDC0を構成するNMOSトランジスタNA0,ND0のソース、ドレインに対応する拡散層DFが2本形成されている。
NウェルNW0には、データセルDC0を構成するPMOSトランジスタP0,P1に対応する拡散層DFと、マスクデータセルMDC0を構成するPMOSトランジスタP2,P3に対応する拡散層DFとが1本ずつ形成されている。
例えば、NMOSトランジスタND2は、1対のN型拡散領域FL702,FL704によって構成されたソースおよびドレインと、これらの間に配置されたポリシリコンのゲートとを有する。各N型拡散領域FL702,FL704は、共通する2本の拡散層DFにより構成される。つまり、NMOSトランジスタND2のソースおよびドレインは、2本の拡散層DFにより構成される。
PウェルPW1には、データセルDC0を構成するNMOSトランジスタNA3,ND3およびマスクデータセルMDC0を構成するNMOSトランジスタNA1,ND1に対応する拡散層DFと、データサーチのためのNMOSトランジスタNS0〜NS3に対応する拡散層DFと、NMOSトランジスタNS4〜NS7に対応する拡散層DFとが2本ずつ形成されている。
トランジスタあたりのフィン(拡散層)の数が多くなるにつれて、トランジスタの電流駆動能力が向上する。図32に示される例において、PMOSトランジスタP0〜P3に対応するフィンの数は1本、他のNMOSトランジスタに対応するフィンの数は2本であるが、トランジスタあたりのフィン数はこれに限られない。例えば、トランジスタあたりのフィン数が3本以上に設定されてもよい。
図32に示される各トランジスタを構成する拡散領域(ソース,ドレイン)とゲートとの関係は、拡散層DFがFinFETのフィンに相当することを除き、図23に示される各トランジスタを構成する拡散領域とゲートとの関係と同じである。
次に、ローカル配線の配置について説明する。ローカル配線は、例えばタングステンなどの単体金属により構成され、トランジスタのソース、ドレイン、またはゲートとオーミック接触するように配置される。つまり、ローカル配線は、ソース電極、ドレイン電極、またはゲート電極として機能する。
図32に示されるローカル配線は、図23に示される各コンタクトホールおよび第1層金属配線に替えて配置されている。N型拡散領域FL702(を構成する2本の拡散層DF)、FL706、FL710、FL712、FL718、FL722、FL740、FL750、およびNMOSトランジスタNA0〜NA3、NS0、NS2、NS4、NS6の各ゲートに接続されるローカル配線は、図23に示される1つのコンタクトホールと1つの第1層金属配線とに替えて配置される。また、N型拡散領域FL736、FL744、FL746、およびFL754には、それぞれに独立してローカル配線が配置されている。これらのローカル配線は、ビア0を介してそれぞれ上層の第1層金属配線に接続される。例えば、N型拡散領域FL702に接続されるローカル配線は、ビア0V006を介して上層の第1層金属配線に接続される。また、N型拡散領域FL738、FL742、FL748、FL752には、2本のフィン(拡散層DF)を等電位にするためのローカル配線が独立して配置されている。
PMOSトランジスタP3およびNMOSトランジスタND3、NS3、NS7のゲートを構成するポリシリコンと、N型拡散領域FL704とを接続するローカル配線は、2個のコンタクトホール(CT408、CT418)と1つの第1層金属配線とに替えて配置される。同様に、PMOSトランジスタP1のゲートとN型拡散領域FL708とを接続するローカル配線、PMOSトランジスタP2のゲートとN型拡散領域FL728とを接続するローカル配線、およびPMOSトランジスタP0のゲートとN型拡散領域FL732とを接続するローカル配線も、2個のコンタクトホールと1つの第1層金属配線とに替えて配置される。これらのローカル配線は、上層の第1層金属配線に接続されず、単にNMOSトランジスタのドレインとPMOSトランジスタのゲートとを接続するために配置されている。
図33は、実施形態4に従うメモリセルMC0#0のビア0、ローカル配線および第1層金属配線層の配置を示した平面図である。図33に示される第1層金属配線のレイアウトは、図24に示される第2層金属配線のレイアウトと略同じである。
具体的には、図33に示される第1層金属配線M660、M662、M664、M666、M668、M670、M672、M674、M676、M612、M616、M618、M620、M624は、図24に示される第2層金属配線M260、M262、M264、M266、M268、M270、M272、M274、M276、M212、M216、M218、M220、M224にそれぞれ対応する。第1層金属配線M618は、ダミー配線として機能する。他の実施形態において、第1層金属配線M618は、配置されなくともよい。
NMOSトランジスタNS2のソースを形成するN型拡散領域FL736は、ローカル配線、ビア0V030を介して、電源線VSSを形成する第1金属配線M682に接続される。
NMOSトランジスタNS3およびNS1のソースを形成するN型拡散領域FL740は、ローカル配線、ビア0V032を介して、マッチ線MLA0を形成する第1金属配線M684に接続される。
NMOSトランジスタNS0のソースを形成するN型拡散領域FL744は、ローカル配線、ビア0V034を介して、電源線VSSを形成する第1金属配線M686に接続される。
NMOSトランジスタNS6のソースを形成するN型拡散領域FL746は、ローカル配線、ビア0V040を介して、電源線VSSを形成する第1金属配線M688に接続される。
NMOSトランジスタNS7およびNS5のソースを形成するN型拡散領域FL750は、ローカル配線、ビア0V042を介して、マッチ線MLB0を形成する第1金属配線M692に接続される。
NMOSトランジスタNS4のソースを形成するN型拡散領域FL754は、ローカル配線、ビア0V044を介して、電源線VSSを形成する第1金属配線M694に接続される。
図34は、実施形態4に従うメモリセルMC0#0のビア1、第1層金属配線層および第2層金属配線層の配置を示した平面図である。図34において、第2層金属配線M710〜M760が、行方向に沿って配置される。
第1層金属配線M664、M672、M682、M688は、ビア1V177、V179、V183、V186をそれぞれ介して電源線VSSを形成する第2層金属配線M710に接続される。
第1層金属配線M660、M674は、ビア1V175、V181をそれぞれ介してワード線WL1を形成する第2層金属配線M720に接続される。
第1層金属配線M692は、ビア1V187を介してマッチ線MLB0を形成する第2層金属配線M730に接続される。
第1層金属配線M684は、ビア1V184を介してマッチ線MLA0を形成する第2層金属配線M740に接続される。
第1層金属配線M662、M676は、ビア1V176、V182をそれぞれ介してワード線WL0を形成する第2層金属配線M750に接続される。
第1層金属配線M664、M672、M686、M694は、ビア1V178、V180、V185、V188をそれぞれ介して電源線VSSを形成する第2層金属配線M760に接続される。
以上説明したように実施形態4に従う半導体装置はローカル配線を用いることにより、金属配線層の数を減らすことができる。具体的には、この半導体装置は、図23で説明した第1層金属配線に相当するレイヤを省略できる。つまり、実施形態4に従う半導体装置は、半導体装置2100に比べて、より小型化を実現し得る。
[実施形態5]
図32〜図34に示されるように、実施形態4に従うメモリセルMC0#0は、データサーチのためのNMOSトランジスタに接続される電源線VSSと、データセルDC0およびマスクデータセルMDC0を構成するトランジスタに接続される電源線VSSとが共通している。係る場合、データサーチのためのNMOSトランジスタのリーク電流は、データをサーチ(検索)しているときもサーチしていないときも、所定量存在する。
実施形態5に従う半導体装置は、上記の課題を解決し得る。以下、実施形態5に従う半導体装置の具体的な構成について説明する。
図35は、実施形態5に従う半導体装置のメモリセルMC0#0の構成例を説明する回路図である。なお、図35に示されるメモリセルMC0#0の構成は、図22に示されるメモリセルMC0#0の構成と略同じである。そのため、相違する部分についてのみ説明する。
NMOSトランジスタNS0とNS1とは、マッチ線MLA0と電源線VSSA0との間に直列に接続され、ゲートにそれぞれサーチ線SLA0と記憶ノードm1とが接続される。NMOSトランジスタNS2とNS3とは、マッチ線MLA0と電源線VSSA0との間に直列に接続され、ゲートにそれぞれサーチ線/SLA0と記憶ノードm0とが接続される。つまり、電源線VSSA0は、論理演算セルLCA0に接続される。
NMOSトランジスタNS4とNS5とは、マッチ線MLB0と電源線VSSB0との間に直列に接続され、ゲートにそれぞれサーチ線SLB0と記憶ノードm1とが接続される。NMOSトランジスタNS6とNS7とは、マッチ線MLB0と電源線VSSB0との間に直列に接続され、ゲートにそれぞれサーチ線/SLB0と記憶ノードm0とが接続される。つまり、電源線VSSB0は、論理演算セルLCB0に接続される。
上記のように、データサーチのためのトランジスタに接続される電源線VSSA0、VSSB0と、データセルDC0およびマスクデータセルMDC0を構成するトランジスタに接続される電源線VSSとは互いに電気的に独立している。
図35に示されるメモリセルMC0#0の書き込み動作は、図22で説明したメモリセルMC0#0の書き込み動作と同じである。
(サーチ動作)
図36は、実施形態5に従う半導体装置3600を構成する各メモリセルにおける金属配線パターンを説明する図である。図中「F」は、金属配線パターンの向きを表す。図36に示される例において、メモリセルMC0#0、MC0#1、MC1#0、MC1#1は、同じ配線パターンに設定される。
メモリセルMC0#0およびメモリセルMC0#1は、電源線VSS、VSSA0、VSSB0をそれぞれ共有する。また、電源線VSSと電源線VSSA0とを接続するスイッチSWA0が、電源線VSSと電源線VSSB0とを接続するスイッチSWB0がそれぞれ配置される。
メモリセルMC1#0およびメモリセルMC1#1は、電源線VSS、VSSA1、VSSB1をそれぞれ共有する。また、電源線VSSと電源線VSSA1とを接続するスイッチSWA1が、電源線VSSと電源線VSSB1とを接続するスイッチSWB1がそれぞれ配置される。
半導体装置3600の概略構成は、図21に示される概略構成と同じである。一例として、スイッチSWA0〜SWB1は、サーチドライバ104A〜106Bにそれぞれ接続される。また、サーチドライバ104A〜106Bは、自身に接続されるスイッチに対してオン/オフを制御する制御信号を出力する。例えば、サーチドライバ104Aは、スイッチSWA0のオン/オフを制御する制御信号PGA0を出力する。
サーチドライバ104Aは、Aポートのデータサーチ時、つまり、Aポート用の検索データ信号S0(A)が入力されると、スイッチSWA0をオンにする制御信号PGA0を出力する。一方、サーチドライバ104Aは、データサーチが終了すると(つまり、データ非サーチ時に)スイッチSWA0をオフにする制御信号PGA0を出力する。他のサーチドライバ104B〜106Bもサーチドライバ104Aと同様に、データサーチ時に対応するスイッチをオンに設定し、データ非サーチ時に対応するスイッチをオフに設定する。
上記によれば、半導体装置3600は、データ非サーチ時においてデータ保持用のトランジスタに接続される電源線VSSと、データサーチ用のトランジスタに接続される電源線とを電気的に遮断できる。その結果、半導体装置3600は、データ非サーチ時におけるデータサーチ用のトランジスタにおけるリーク電流を抑制できる。
なお、上記の例において半導体装置3600はメモリアレイにおいて各列ごとにスイッチを配置するように構成されているが、他の実施形態において、メモリアレイごとにスイッチを配置するように構成されてもよい。この場合、各列ごとに配置されるAポート用の電源線VSSA0およびVSSA1は電気的に接続される。また、Bポート用の電源線VSSB0およびVSSB1も電気的に接続される。これにより、他の実施形態に従う半導体装置3600は、スイッチ素子の数を減らすことができる。
(メモリセルのレイアウト)
次に、図37〜図41を用いて、半導体装置3600を構成するメモリセルMC0#0のレイアウトを積層方向に分割して説明する。
図37は、実施形態5に従うメモリセルMC0#0のウェル、拡散領域DF、ポリシリコンPO、およびローカル配線の配置を示した平面図である。図37に示されるレイアウトは、図32に示されるレイアウトと同じである。但し、データサーチ用のトランジスタに接続されるローカル配線は、電源線VSSとは独立して配置される電源線に接続される。
具体的には、NMOSトランジスタNS2のソースを形成するN型拡散領域FL736は、電源線VSSA0として機能するローカル配線に接続される。NMOSトランジスタNS0のソースを形成するN型拡散領域FL744は、電源線VSSA0として機能するローカル配線に接続される。NMOSトランジスタNS6のソースを形成するN型拡散領域FL746は、電源線VSSB0として機能するローカル配線に接続される。NMOSトランジスタNS4のソースを形成するN型拡散領域FL754は、電源線VSSB0として機能するローカル配線に接続される。
図38は、実施形態5に従うメモリセルMC0#0のビア0、ローカル配線および第1層金属配線層の配置を示した平面図である。図38に示されるレイアウトは、図33に示されるレイアウトと同じである。
但し、第1層金属配線M682およびM686は、電源線VSSとしてではなく電源線VSSA0として機能する。また、第1層金属配線M688およびM694は、電源線VSSとしてではなく電源線VSSB0として機能する。
図39は、実施形態5に従うメモリセルMC0#0のビア1、第1層金属配線層および第2層金属配線層の配置を示した平面図である。図39に示されるレイアウトは、図34に示されるレイアウトと略同じである。そのため、相違する点についてのみ説明する。
第2層金属配線M710に替えて、第2層金属配線M715、M725、およびM735が配置される。また、第2層金属配線M760に替えて、第2層金属配線M745、M755、およびM765が配置される。
第1層金属配線M664、M672は、ビア1V177、V179をそれぞれ介して電源線VSSを形成する第2層金属配線M715に接続される。
第1層金属配線M682は、ビア1V183を介して電源線VSSA0を形成する第2層金属配線M725に接続される。
第1層金属配線M688は、ビア1V186を介して電源線VSSB0を形成する第2層金属配線M735に接続される。
第1層金属配線M664、M672は、ビア1V178、V180をそれぞれ介して電源線VSSを形成する第2層金属配線M745に接続される。
第1層金属配線M686は、ビア1V185を介して電源線VSSA0を形成する第2層金属配線M755に接続される。
第1層金属配線M694は、ビア1V188を介して電源線VSSB0を形成する第2層金属配線M765に接続される。
図40は、実施形態5に従うメモリセルMC0#0のビア2、第2層金属配線および第3層金属配線の配置を示した平面図である。図40において、第3層金属配線M810〜M880が、列方向に沿って配置されている。
なお、第3層金属配線M810、M820、M825、M830、M835、M845、M855、M865、およびM875は、ダミー配線として機能する。他の実施形態において、これらの第3層金属配線は配置されなくともよい。
第2層金属配線M715は、ビア2V212およびV216を介して、電源線VSSを形成する第3層金属配線M815、M840に接続される。
第2層金属配線M725は、ビア2V222およびV226を介して、電源線VSSA0を形成する第3層金属配線M850、M860に接続される。
第2層金属配線M735は、ビア2V232およびV236を介して、電源線VSSB0を形成する第3層金属配線M870、M880に接続される。
第2層金属配線M745は、ビア2V214およびV218を介して、電源線VSSを形成する第3層金属配線M815、M840に接続される。
第2層金属配線M755は、ビア2V224およびV228を介して、電源線VSSA0を形成する第3層金属配線M850、M860に接続される。
第2層金属配線M765は、ビア2V234およびV238を介して、電源線VSSB0を形成する第3層金属配線M870、M880に接続される。
図41は、実施形態5に従うメモリセルMC0#0のビア3、第3層金属配線および第4層金属配線の配置を示した平面図である。図41において、第4層金属配線M920〜M970が、行方向に沿って配置されている。
なお、第4層金属配線M930およびM960は、ダミー配線として機能する。他の実施形態において、これらの第4層金属配線は配置されなくともよい。
第3層金属配線M815は、ビア3V310およびV320を介して電源線VSSを形成する第4層金属配線M920およびM970に接続される。
第3層金属配線M840は、ビア3V330およびV340を介して電源線VSSを形成する第4層金属配線M920およびM970に接続される。
第3層金属配線M850は、ビア3V350を介して電源線VSSA0を形成する第4層金属配線M940に接続される。
第3層金属配線M860は、ビア3V360を介して電源線VSSA0を形成する第4層金属配線M940に接続される。
第3層金属配線M870は、ビア3V370を介して電源線VSSB0を形成する第4層金属配線M950に接続される。
第3層金属配線M880は、ビア3V380を介して電源線VSSB0を形成する第4層金属配線M950に接続される。
以上説明したようにレイアウトを構成することにより、実施形態5に従うメモリセルMC0#0は、データ保持用のトランジスタに接続される電源線VSSと、データサーチ用のトランジスタに接続される電源線とを電気的に遮断できる。その結果、実施形態5に従うデータサーチ用のトランジスタは、データ非サーチ時におけるリーク電流を抑制できる。
(その他の構成)
上記の例では、2ポートCAMの回路構成およびレイアウトについて説明を行なった。他の局面において、CAMは3つ以上のポートを有する構成であってもよい。この場合、CAMセルは、ポートの数だけマッチ線、サーチ線対、論理演算セルを有する。これにより、半導体装置はさらに検索速度(処理速度)を向上し得る。
さらに他の局面において、上記説明した各トランジスタは、ゲート、ソース、およびゲートとソースとの間に形成されるチャネルの下に埋め込み絶縁膜を有するSOI(Silicon On Insulator)構造を採用し得る。これにより、各メモリセルは、PN接合部における空乏層の発生を最小限にできる。その結果、各トランジスタは、リーク電流低減による低消費電力化や、スイッチング速度の向上を実現し得る。
[付記]
(付記1)
半導体装置は、1ビットの情報を保持可能に構成された第1セル(MDC0)と、1ビットの情報を保持可能に構成され、第1セルに隣接する第2セル(DC0)と、第1方向に沿って延在する第1および第2マッチ線(MLA0,MLB0)と、第1方向と直交する第2方向に沿って延在し、第1データ検索時に第1データを伝達する第1サーチ線対(SLA0,/SLA0)と、第2方向に沿って延在し、第2データ検索時に第2データを伝達する第2サーチ線対(SLB0,/SLB0)と、第1サーチ線対と第1マッチ線とに接続され、第1および第2セルが保持する情報と第1サーチ線対に伝達される第1データとの比較結果に基づいて第1マッチ線を駆動する第1論理演算セル(LCA0)と、第2サーチ線対と第2マッチ線とに接続され、第1および第2セルが保持する情報と第2サーチ線対に伝達される第2データとの比較結果に基づいて第2マッチ線を駆動する第2論理演算セル(LCB0)とを備える。
これにより、半導体装置は、1サイクルの間に、2つの検索データを同時
に検索できるTCAM装置として機能し得る。そのため、この半導体装置は、検索対象が複数ある場合において、従来に比して検索速度を向上し得る。また、この半導体装置は、共通するメモリアレイを用いて、2つの検索データを検索する。そのため、この半導体装置は、装置の大型化を抑制し得る。加えて、この半導体装置は、1つのクロック信号に基づいて2つの検索データを検索できるため、消費電力を抑制し得る。
(付記2)
(付記1)において、第2セルは、第1セルに対して第1方向に隣接する。半導体装置は、第2方向に沿って延在し、第1セルに接続される第1ビット線対(BL1,/BL1)と、第2方向に沿って延在し、第2セルに接続される第2ビット線対(BL0,/BL0)と、第1方向に沿って延在し、第1および第2セルの両方に接続されるワード線(WL0)とをさらに備える。
これにより、この半導体装置は、第1セルに対してデータの書き込みまたは読み出しを行なっている間に、第2セルに対してデータの書き込みまたは読み出しを行ない得る。
(付記3)
(付記1)において、第2セルは、第1セルに対して第2方向に隣接する。半導体装置は、第2方向に沿って延在し、第1および第2セルの両方に接続されるビット線対(BL0,/BL0)と、第1方向に沿って延在し、第1セルに接続される第1ワード線(WL1)と、第1方向に沿って延在し、第2セルに接続される第2ワード線(WL0)とをさらに備える。
これにより、この半導体装置は、第1セルと第2セルとの間でビット線対を共有することにより、装置の大型化を抑制し得る。
(付記4)
(付記1)において、第1論理演算セルは、第1マッチ線と電源線との間に接続され、第1データ検索時に、第1セルの保持する情報(m1)と第1サーチ線対のうち一方のサーチ線(SLA0)に伝達される情報との比較結果に応じて第1マッチ線を駆動するための第1論理ユニットと、第1マッチ線と電源線との間に接続され、第1データ検索時に、第2セルの保持する情報(m0)と第1サーチ線対のうち他方のサーチ線(/SLA0)に伝達される情報との比較結果に応じて第1マッチ線を駆動するための第2論理ユニットとを含む。第2論理演算セルは、第2マッチ線と電源線との間に接続され、第2データ検索時に、第1セルの保持する情報と第2サーチ線対のうち一方のサーチ線(SLB0)に伝達される情報との比較結果に応じて第2マッチ線を駆動するための第3論理ユニットと、第2マッチ線と電源線との間に接続され、第2データ検索時に、第2セルの保持する情報と第2サーチ線対のうち他方のサーチ線(/SLB0)に伝達される情報との比較結果に応じて第2マッチ線を駆動するための第4論理ユニットとを含む。
(付記5)
(付記4)において、第1論理ユニットは、電源線(VSS/VDD)と第1マッチ線との間に直列に接続される第1(NS1/PS1)および第2トランジスタ(NS0/PS0)を含む。第2論理ユニットは、電源線(VSS/VDD)と第1マッチ線との間に直列に接続される第3(NS3/PS3)および第4トランジスタ(NS2/PS2)を含む。第3論理ユニットは、電源線(VSS/VDD)と第2マッチ線との間に直列に接続される第5(NS5/PS5)および第6トランジスタ(NS4/PS4)を含む。第4論理ユニットは、電源線(VSS/VDD)と第2マッチ線との間に直列に接続される第7(NS7/PS7)および第8トランジスタ(NS6/PS6)を含む。第1および第5トランジスタのゲートは、第1セルが情報を保持するノード(m1)に接続される。第3および第7トランジスタのゲートは、第2セルが情報を保持するノード(m0)に接続される。第2トランジスタのゲートは、第1サーチ線対の一方(SLA0)に接続される。第4トランジスタのゲートは、第1サーチ線対の他方(/SLA0)に接続される。第6トランジスタのゲートは、第2サーチ線対の一方(SLB0)に接続される。第8トランジスタのゲートは、第2サーチ線対の他方(/SLB0)に接続される。
(付記6)
(付記5)において、第2セルは、第1セルに対して第1方向に隣接する。半導体装置は、第2方向に沿って延在し、第1セルに接続される第1ビット線対(BL1,/BL1)と、第2方向に沿って延在し、第2セルに接続される第2ビット線対(BL0,/BL0)と、第1方向に沿って延在し、第1および第2セルの両方に接続されるワード線(WL0)とをさらに備える。第1セルは、第1および第5トランジスタのゲートに接続される第1記憶ノード(m1)に入力が接続され、第2記憶ノード(/m1)に出力が接続される第1インバータと、第2記憶ノードに入力が接続され、第1記憶ノードに出力が接続される第2インバータと、一方端が第1記憶ノードに接続され、他方端が第1ビット線対の一方に接続され、ゲートがワード線に接続された第1導電型の第9トランジスタ(NA0)と、一方端が第2記憶ノードに接続され、他方端が第1ビット線対の他方に接続され、ゲートがワード線に接続された第1導電型の第10トランジスタ(NA1)とを含む。第2セルは、第3および第7トランジスタのゲートに接続される第3記憶ノード(m0)に入力が接続され、第4記憶ノード(/m0)に出力が接続される第3インバータと、第4記憶ノードに入力が接続され、第3記憶ノードに出力が接続される第4インバータと、一方端が第3記憶ノードに接続され、他方端が第2ビット線対の一方に接続され、ゲートがワード線に接続された第1導電型の第11トランジスタ(NA2)と、一方端が第4記憶ノードに接続され、他方端が第2ビット線対の他方に接続され、ゲートがワード線に接続された第1導電型の第12トランジスタ(NA3)とを含む。ワード線の伸びる方向に、第2導電型の第1領域(PW0)と、第1導電型の第2領域(NW0)と、第2導電型の第3領域(PW1)と、第1導電型の第4領域(NW1)と、第2導電型の第5領域(PW2)とが順に形成される。第1領域には、第9および第10トランジスタと、第1インバータを構成する第1導電型の第13トランジスタ(ND0)と、第2インバータを構成する第1導電型の第14トランジスタ(ND1)とが配置される。第2領域には、第1インバータを構成する第2導電型の第15トランジスタ(P0)と、第2インバータを構成する第2導電型の第16トランジスタ(P1)とが配置される。第3領域には、第1導電型の第1〜第8トランジスタ(NS0〜NS7)が配置される。第4領域には、第3インバータを構成する第2導電型の第17トランジスタ(P2)と、第4インバータを構成する第2導電型の第18トランジスタ(P3)とが配置される。第5領域には、第11および第12トランジスタと、第3インバータを構成する第1導電型の第19トランジスタ(ND2)と、第4インバータを構成する第1導電型の第20トランジスタ(ND3)とが配置される。
これにより、TCAM装置として機能し得る半導体装置は、データサーチのためのトランジスタとして、NMOSトランジスタを用いて、複数の検索データを同時に検索し得る。また、この半導体装置は、従来よりもデータサーチのためのトランジスタの数が多いため、当該トランジスタを配置するためのウェルが従来よりも幅広になる。これにより、この半導体装置は、マルチビットエラーが起こる確率を低減し得る。
(付記7)
(付記5)において、第2セルは、第1セルに対して第1方向に隣接する。半導体装置は、第2方向に沿って延在し、第1セルに接続される第1ビット線対(BL1,/BL1)と、第2方向に沿って延在し、第2セルに接続される第2ビット線対(BL0,/BL0)と、第1方向に沿って延在し、第1および第2セルの両方に接続されるワード線(WL0)とをさらに備える。第1セルは、第1および第5トランジスタのゲートに接続される第1記憶ノード(m1)に入力が接続され、第2記憶ノード(/m1)に出力が接続される第1インバータと、第2記憶ノードに入力が接続され、第1記憶ノードに出力が接続される第2インバータと、一方端が第1記憶ノードに接続され、他方端が第1ビット線対の一方に接続され、ゲートがワード線に接続された第1導電型の第9トランジスタ(NA0)と、一方端が第2記憶ノードに接続され、他方端が第1ビット線対の他方に接続され、ゲートがワード線に接続された第1導電型の第10トランジスタ(NA1)とを含む。第2セルは、第3および第7トランジスタのゲートに接続される第3記憶ノード(m0)に入力が接続され、第4記憶ノード(/m0)に出力が接続される第3インバータと、第4記憶ノードに入力が接続され、第3記憶ノードに出力が接続される第4インバータと、一方端が第3記憶ノードに接続され、他方端が第2ビット線対の一方に接続され、ゲートがワード線に接続された第1導電型の第11トランジスタ(NA2)と、一方端が第4記憶ノードに接続され、他方端が第2ビット線対の他方に接続され、ゲートがワード線に接続された第1導電型の第12トランジスタ(NA3)とを含む。ワード線の伸びる方向に、第2導電型の第1領域(PW0)と、第1導電型の第2領域(NW0)と、第2導電型の第3領域(PW1)とが順に形成される。第1領域には、第9および第10トランジスタと、第1インバータを構成する第1導電型の第13トランジスタ(ND0)と、第2インバータを構成する第1導電型の第14トランジスタ(ND1)とが配置される。第2領域には、第1インバータを構成する第2導電型の第15トランジスタ(P0)と、第2インバータを構成する第2導電型の第16トランジスタ(P1)と、第2導電型の第1〜第8トランジスタ(PS0〜PS7)と、第3インバータを構成する第2導電型の第17トランジスタ(P2)と、第4インバータを構成する第2導電型の第18トランジスタ(P3)とが配置される。第3領域には、第11および第12トランジスタと、第3インバータを構成する第1導電型の第19トランジスタ(ND2)と、第4インバータを構成する第1導電型の第20トランジスタ(ND3)とが配置される。
これにより、TCAM装置として機能し得る半導体装置は、データサーチのためのトランジスタとして、PMOSトランジスタを用いて、複数の検索データを同時に検索し得る。また、この半導体装置は、トランジスタを配置するウェルの数が少ないため、装置の大型化を抑制し得る。また、この半導体装置は、従来よりもデータサーチのためのトランジスタの数が多いため、当該トランジスタを配置するためのウェルが従来よりも幅広になる。これにより、この半導体装置は、マルチビットエラーが起こる確率を低減し得る。他の局面において、半導体装置は、データサーチのためのPMOSトランジスタのソースおよびドレイン領域に、シリコンゲルマニウム等のチャネル部のシリコンにストレスを与える材料を採用することによって、検索速度を向上し得る。
(付記8)
(付記5)において、第2セルは、第1セルに対して第2方向に隣接する。半導体装置は、第2方向に沿って延在し、第1および第2セルの両方に接続されるビット線対(BL0,/BL0)と、第1方向に沿って延在し、第1セルに接続される第1ワード線(WL1)と、第1方向に沿って延在し、第2セルに接続される第2ワード線(WL0)とをさらに備える。第1セルは、第1および第5トランジスタのゲートに接続される第1記憶ノード(m1)に入力が接続され、第2記憶ノード(/m1)に出力が接続される第1インバータと、第2記憶ノードに入力が接続され、第1記憶ノードに出力が接続される第2インバータと、一方端が第1記憶ノードに接続され、他方端がビット線対の一方に接続され、ゲートが第1ワード線に接続された第1導電型の第9トランジスタ(NA0)と、一方端が第2記憶ノードに接続され、他方端がビット線対の他方に接続され、ゲートが第1ワード線に接続された第1導電型の第10トランジスタ(NA1)とを含む。第2セルは、第3および第7トランジスタのゲートに接続される第3記憶ノード(m0)に入力が接続され、第4記憶ノードに出力が接続される第3インバータと、第4記憶ノード(/m0)に入力が接続され、第3記憶ノードに出力が接続される第4インバータと、一方端が第3記憶ノードに接続され、他方端がビット線対の一方に接続され、ゲートが第2ワード線に接続された第1導電型の第11トランジスタ(NA2)と、一方端が第4記憶ノードに接続され、他方端がビット線対の他方に接続され、ゲートが第2ワード線に接続された第1導電型の第12トランジスタ(NA3)とを含む。第1および第2ワード線の伸びる方向に、第2導電型の第1領域(PW0)と、第1導電型の第2領域(NW0)と、第2導電型の第3領域(PW1)とが順に形成される。第1領域には、第9および第11トランジスタと、第1インバータを構成する第1導電型の第13トランジスタ(ND0)と、第2インバータを構成する第1導電型の第14トランジスタ(ND1)とが配置される。第2領域には、第1インバータを構成する第2導電型の第15トランジスタ(P0)と、第2インバータを構成する第2導電型の第16トランジスタ(P1)と、第3インバータを構成する第2導電型の第17トランジスタ(P2)と、第4インバータを構成する第2導電型の第18トランジスタ(P3)とが配置される。第3領域には、第1導電型の第1〜第8トランジスタ(NS0〜NS7)と、第10および第12トランジスタと、第3インバータを構成する第1導電型の第19トランジスタ(ND2)と、第4インバータを構成する第1導電型の第20トランジスタ(ND3)とが配置される。
これにより、TCAM装置として機能し得る半導体装置は、データサーチのためのトランジスタとして、NMOSトランジスタを用いて、複数の検索データを同時に検索し得る。また、この半導体装置は、トランジスタを配置するウェルの数が少ないため、装置の大型化を抑制し得る。
(付記9)
(付記8)において、第1〜第20トランジスタのうち少なくとも1つのトランジスタは、マルチゲートトランジスタによって構成される。
(付記10)
(付記8)において、半導体装置は、第11トランジスタ(NA2)および第19トランジスタ(ND2)が共有する拡散層(FL704)と、第18トランジスタ(P3)のゲートとを接続する第1ローカル配線と、第9トランジスタ(NA0)および第13トランジスタ(ND0)が共有する拡散層(FL708)と、第16トランジスタ(P1)のゲートとを接続する第2ローカル配線と、第12トランジスタ(NA3)および第20トランジスタ(ND3)が共有する拡散層(FL728)と、第17トランジスタ(P2)のゲートとを接続する第3ローカル配線と、第10トランジスタ(NA1)および第14トランジスタ(ND1)が共有する拡散層(FL732)と、第15トランジスタ(P0)のゲートとを接続する第4ローカル配線とをさらに備える。
(付記11)
(付記4)において、半導体装置は、第1セルおよび第2セルに接続される第1電源線(VSS)と、第1論理ユニットおよび第2論理ユニットに接続される第2電源線(VSSA0)と、第3論理ユニットおよび第4論理ユニットに接続される第3電源線(VSSB0)と、第1電源線と第2電源線とを接続する第1スイッチ(SWA0)と、第1電源線と第3電源線とを接続する第2スイッチ(SWB0)とをさらに備える。第1スイッチは、第1データ検索時にオンに、第1データ非検索時にオフに設定される。第2スイッチは、第2データ検索時にオンに、第2データ非検索時にオフに設定される。
(付記12)
半導体装置は、1ビットの情報を保持可能に構成されたデータセル(DC0)と、第1方向に沿って延在する第1および第2マッチ線(MLA0,MLB0)と、第1方向と直交する第2方向に沿って延在し、第1データ検索時に第1データを伝達する第1サーチ線対(SLA0,/SLA0)と、第2方向に沿って延在し、第2データ検索時に第2データを伝達する第2サーチ線対(SLB0,/SLB0)と、第1サーチ線対と第1マッチ線とに接続され、データセルが保持する情報と第1サーチ線対に伝達される第1データとの比較結果に基づいて第1マッチ線を駆動する第1論理演算セル(LCA0)と、第2サーチ線対と第2マッチ線とに接続され、データセルが保持する情報と第2サーチ線対に伝達される第2データとの比較結果に基づいて第2マッチ線を駆動する第2論理演算セル(LCB0)とを備える。
これにより、半導体装置は、1サイクルの間に、2つの検索データを同時に検索できるBCAM装置として機能し得る。そのため、この半導体装置は、検索対象が複数ある場合において、従来に比して検索速度を向上し得る。また、この半導体装置は、共通するメモリアレイを用いて、2つの検索データを検索する。そのため、この半導体装置は、装置の大型化を抑制し得る。加えて、この半導体装置は、1つのクロック信号に基づいて2つの検索データを検索できるため、消費電力を抑制し得る。
(付記13)
(付記12)において、半導体装置は、第1方向に沿って延在し、データセルに接続されるビット線対(BL0,/BL0)と、第1方向に沿って延在し、データセルに接続されるワード線(WL0)とをさらに備える。第1論理演算セルは、第1マッチ線と電源線(VSS)との間に接続され、第1データ検索時に、データセルの第1記憶ノード(A0)に保持される情報と第1サーチ線対のうち一方のサーチ線(SLA0)に伝達される情報との比較結果に応じて第1マッチ線を駆動するための第1論理ユニットと、第1マッチ線と電源線との間に接続され、第1データ検索時に、データセルの第2記憶ノード(A1)に保持される情報と第1サーチ線対のうち他方のサーチ線(/SLA0)に伝達される情報との比較結果に応じて第1マッチ線を駆動するための第2論理ユニットとを含む。第2論理演算セルは、第2マッチ線と電源線との間に接続され、第2データ検索時に、第1記憶ノードに保持される情報と第2サーチ線対のうち一方のサーチ線(SLB0)に伝達される情報との比較結果に応じて第2マッチ線を駆動するための第3論理ユニットと、第2マッチ線と電源線との間に接続され、第2データ検索時に、第2記憶ノードに保持される情報と第2サーチ線対のうち他方のサーチ線(/SLB0)に伝達される情報との比較結果に応じて第2マッチ線を駆動するための第4論理ユニットとを含む。第1論理ユニットは、電源線と第1マッチ線との間に直列に接続される第1(NS0)および第2トランジスタ(NS1)を有する。第2論理ユニットは、電源線と第1マッチ線との間に直列に接続される第3(NS3)および第4トランジスタ(NS2)を有する。第3論理ユニットは、電源線と第2マッチ線との間に直列に接続される第5(NS5)および第6トランジスタ(NS4)を有する。第4論理ユニットは、電源線と第2マッチ線との間に直列に接続される第7(NS7)および第8トランジスタ(NS6)を有する。第1および第5トランジスタのゲートは、第1記憶ノードに接続される。第3および第7トランジスタのゲートは、第2記憶ノードに接続される。第2トランジスタのゲートは、第1サーチ線対の一方(SLA0)に接続される。第4トランジスタのゲートは、第1サーチ線対の他方(/SLA0)に接続される。第6トランジスタのゲートは、第2サーチ線対の一方(SLB0)に接続される。第8トランジスタのゲートは、第2サーチ線対の他方(/SLB0)に接続される。データセルは、第1記憶ノードに入力が接続され、第2記憶ノードに出力が接続される第1インバータと、第2記憶ノードに入力が接続され、第1記憶ノードに出力が接続される第2インバータと、一方端が第1記憶ノードに接続され、他方端がビット線対の一方に接続され、ゲートがワード線に接続された第1導電型の第9トランジスタ(NA0)と、一方端が第2記憶ノードに接続され、他方端がビット線対の他方に接続され、ゲートがワード線に接続された第1導電型の第10トランジスタ(NA1)とを含む。ワード線の伸びる方向に、第2導電型の第1領域(PW0)と、第1導電型の第2領域(NW0)と、第2導電型の第3領域(PW1)とが順に形成される。第1領域には、第9および第10トランジスタと、第1インバータを構成する第1導電型の第13トランジスタ(ND0)と、第2インバータを構成する第1導電型の第14トランジスタ(ND1)とが配置される。第2領域には、第1インバータを構成する第2導電型の第15トランジスタ(P0)と、第2インバータを構成する第2導電型の第16トランジスタ(P1)とが配置される。第3領域には、第1導電型の第1〜第8トランジスタ(NS0〜NS7)が配置される。
これにより、BCAM装置として機能し得る半導体装置は、データサーチのためのトランジスタとして、NMOSトランジスタを用いて、複数の検索データを同時に検索し得る。また、この半導体装置は、従来よりもデータサーチのためのトランジスタの数が多いため、当該トランジスタを配置するためのウェルが従来よりも幅広になる。これにより、この半導体装置は、マルチビットエラーが起こる確率を低減し得る。
(付記14)
(付記12)において、半導体装置は、第1方向に沿って延在し、データセルに接続されるビット線対(BL0,/BL0)と、第1方向に沿って延在し、データセルに接続されるワード線(WL0)とをさらに備える。第1論理演算セルは、第1マッチ線と電源線(VDD)との間に接続され、第1データ検索時に、データセルの第1記憶ノード(A0)に保持される情報と第1サーチ線対のうち一方のサーチ線(SLA0)に伝達される情報との比較結果に応じて第1マッチ線を駆動するための第1論理ユニットと、第1マッチ線と電源線との間に接続され、第1データ検索時に、データセルの第2記憶ノード(A1)に保持される情報と第1サーチ線対のうち他方のサーチ線(/SLA0)に伝達される情報との比較結果に応じて第1マッチ線を駆動するための第2論理ユニットとを含む。第2論理演算セルは、第2マッチ線と電源線との間に接続され、第2データ検索時に、第1記憶ノードに保持される情報と第2サーチ線対のうち一方のサーチ線(SLB0)に伝達される情報との比較結果に応じて第2マッチ線を駆動するための第3論理ユニットと、第2マッチ線と電源線との間に接続され、第2データ検索時に、第2記憶ノードに保持される情報と第2サーチ線対のうち他方のサーチ線(/SLB0)に伝達される情報との比較結果に応じて第2マッチ線を駆動するための第4論理ユニットとを含む。第1論理ユニットは、電源線と第1マッチ線との間に直列に接続される第1(PS0)および第2トランジスタ(PS1)を有する。第2論理ユニットは、電源線と第1マッチ線との間に直列に接続される第3(PS3)および第4トランジスタ(PS2)を有する。第3論理ユニットは、電源線と第2マッチ線との間に直列に接続される第5(PS5)および第6トランジスタ(PS4)を有する。第4論理ユニットは、電源線と第2マッチ線との間に直列に接続される第7(PS7)および第8トランジスタ(PS6)を有する。第1および第5トランジスタのゲートは、第1記憶ノードに接続される。第3および第7トランジスタのゲートは、第2記憶ノードに接続される。第2トランジスタのゲートは、第1サーチ線対の一方(SLA0)に接続される。第4トランジスタのゲートは、第1サーチ線対の他方(/SLA0)に接続される。第6トランジスタのゲートは、第2サーチ線対の一方(SLB0)に接続される。第8トランジスタのゲートは、第2サーチ線対の他方(/SLB0)に接続される。データセルは、第1記憶ノードに入力が接続され、第2記憶ノードに出力が接続される第1インバータと、第2記憶ノードに入力が接続され、第1記憶ノードに出力が接続される第2インバータと、一方端が第1記憶ノードに接続され、他方端がビット線対の一方に接続され、ゲートがワード線に接続された第1導電型の第9トランジスタ(NA0)と、一方端が第2記憶ノードに接続され、他方端がビット線対の他方に接続され、ゲートがワード線に接続された第1導電型の第10トランジスタ(NA1)とを含む。ワード線の伸びる方向に、第2導電型の第1領域(PW0)と、第1導電型の第2領域(NW0)とが形成される。第1領域には、第9および第10トランジスタと、第1インバータを構成する第1導電型の第13トランジスタ(ND0)と、第2インバータを構成する第1導電型の第14トランジスタ(ND1)とが配置される。第2領域には、第1インバータを構成する第2導電型の第15トランジスタ(P0)と、第2インバータを構成する第2導電型の第16トランジスタ(P1)と、第2導電型の第1〜第8トランジスタ(PS0〜PS7)が配置される。
これにより、BCAM装置として機能し得る半導体装置は、データサーチのためのトランジスタとして、PMOSトランジスタを用いて、複数の検索データを同時に検索し得る。また、この半導体装置は、トランジスタを配置するウェルの数が少ないため、装置の大型化を抑制し得る。また、この半導体装置は、従来よりもデータサーチのためのトランジスタの数が多いため、当該トランジスタを配置するためのウェルが従来よりも幅広になる。これにより、この半導体装置は、マルチビットエラーが起こる確率を低減し得る。他の局面において、半導体装置は、データサーチのためのPMOSトランジスタのソースおよびドレイン領域に、シリコンゲルマニウム等のチャネル部のシリコンにストレスを与える材料を採用することによって、検索速度を向上し得る。
なお、上記の付記における参照符号は一例であって、これに限定されるものではない。
以上、本発明者によってなされた発明を実施形態に基づき具体的に説明したが、本発明者は前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。