国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      半導體器件的制作方法

      文檔序號:12179775閱讀:452來源:國知局
      半導體器件的制作方法與工藝

      于2015年8月28日提交的日本專利申請公開號2015-168522的全部內(nèi)容,包括說明書附圖和摘要,通過引用合并于本文中。

      技術領域

      本發(fā)明涉及一種半導體器件,并且例如適用于設置有TCAM(三態(tài)內(nèi)容可尋址存儲器)器件的半導體器件。



      背景技術:

      被稱作關聯(lián)存儲器或CAM(內(nèi)容可尋址存儲器)的存儲器件在儲存的數(shù)據(jù)詞中搜索出與搜索詞匹配的數(shù)據(jù)詞,并且在發(fā)現(xiàn)匹配的數(shù)據(jù)詞時,存儲器器件輸出匹配的數(shù)據(jù)詞的地址。

      在CAM中存在BCAM(二元CAM)和TCAM(三元CAM)。BCAM的每個存儲單元儲存“0”或“1”的信息。另一方面,TCAM的每個存儲器單元除了“0”和“1”以外還儲存“不關注”的信息。“不關注”可以是“0”和“1”中的任意值。

      TCAM器件在例如因特網(wǎng)的網(wǎng)絡中廣泛用作路由器,以便用于地址搜索和訪問控制。為了響應容量的增加,TCAM器件通常具有以下的配置:其中提供多個子陣列,并且同時執(zhí)行針對每個子陣列的搜索操作。例如,根據(jù)非專利文件1,被稱作構造塊的子陣列在字線方向布置成八片且在位線方向布置成四片。

      TCAM器件一次可以將所有的輸入搜索數(shù)據(jù)(輸入分組)與TCAM單元數(shù)據(jù)進行比較;因而,其在所有的搜索應用中比RAM(隨機存取存儲器)操作在更快的速度。但是,在搜索時產(chǎn)生搜索電流,帶來了電功率消耗增加的問題。

      日本未審專利申請公布No.2003-272386(專利文獻1)公開了這種配置的TCAM器件:其中布置在匹配線方向上的多個子陣列在管線系統(tǒng)下鏈接,以便獲得低的功率消耗。在這個文獻公開的TCAM器件中,下一階段中的搜索僅針對在之前階段中匹配的條目進行。

      [專利文獻]

      (專利文獻1)日本未審專利申請公開No.2003-272386

      [非專利文件]

      (非專利文件1)H.Miyatake等在IEEE固態(tài)電路雜志第36卷第956-968頁于2001年6月發(fā)表的“A design for high-speed low-power CMOS fully parallel content-addressable memory macros”。



      技術實現(xiàn)要素:

      在TCAM器件中,被設置為不關注的TCAM單元可以整體存在于一些范圍中。例如,經(jīng)常出現(xiàn)與子陣列匹配線的一部分耦合的TCAM單元被設置為不關注。作為一個更明顯的示例,配置子陣列的所有TCAM單元可以被設置為不關注。在這種情況下,搜索結果是明顯的(不論搜索數(shù)據(jù)如何搜索結果當然命中(匹配));因此,對于無用的搜索操作消耗電流。

      通過本說明書的描述和附圖,本發(fā)明的其他的方面和新的特征將變得清楚。

      根據(jù)一個實施例的半導體器件包括多個子陣列,每個子陣列包括TCAM單元陣列。每個子陣列搜索輸入搜索數(shù)據(jù)的相應部分。當相應的第一控制信號被激活時,每個子陣列在沒有搜索的情況下輸出指示針對每個條目的匹配的搜索結果。

      根據(jù)以上描述的實施例,可以減少TCAM器件的消耗電流。

      附圖說明

      圖1是示出TCAM單元配置的示例的電路圖;

      圖2是示出圖1所示的X單元和Y單元的存儲內(nèi)容以及TCAM單元數(shù)據(jù)的對應關系的表;

      圖3是示出配置TCAM器件的子陣列的配置的框圖;

      圖4是示出TCAM器件的配置的框圖;

      圖5是示出每個匹配放大器的檢測結果的與操作的示例性示圖;

      圖6是示出數(shù)據(jù)搜索系統(tǒng)的整個配置的框圖;

      圖7是示出ACL規(guī)則文件的示例的表;

      圖8是示出通過轉換圖7中圖示的ACL而獲得的TCAM數(shù)據(jù)的示例的圖;

      圖9是示意性示出其中寫入了基于ACL的轉換數(shù)據(jù)的TCAM器件的存儲器狀態(tài)的圖;

      圖10是示出根據(jù)第一實施例的TCAM器件中的子陣列的配置的框圖;

      圖11是示出圖10所示的控制邏輯電路中的搜索操作相關的部分的配置的電路圖;

      圖12是示出圖10所示的搜索線驅動器的配置的示例的電路圖;

      圖13是示出圖10所示的匹配放大器的配置的示例的電路圖;

      圖14是示出當表示不關注的數(shù)據(jù)“0”儲存在設置在圖10所示的子陣列中的寄存器REG1中時的搜索操作的時序圖;

      圖15是示出當表示不關注的數(shù)據(jù)“1”儲存在設置在圖10所示的子陣列中的寄存器REG1中時的搜索操作的時序圖;

      圖16是示出圖10所示的匹配放大器的修改的示例的電路圖;

      圖17是示出根據(jù)第二實施例的TCAM器件中的子陣列SA的配置的框圖;

      圖18是示出根據(jù)第三實施例的TCAM器件中的匹配放大器MA的配置的電路圖;

      圖19是示出根據(jù)第三實施例的TCAM器件的配置的框圖;

      圖20是示出圖19所示的數(shù)據(jù)確定電路33的操作的流程圖;

      圖21是示出根據(jù)第三實施例的TCAM器件中的圖18所示的寄存器REG3的數(shù)據(jù)寫入程序的時序圖;

      圖22是示出圖18所示的匹配放大器MA的修改的示例的框圖;

      圖23是示意性示出根據(jù)第四實施例的TCAM器件中的子陣列的配置的框圖;

      圖24是示出圖23中所示的控制邏輯電路24中的與搜索操作有關的部分的配置的電路圖;

      圖25是示出針對來自控制邏輯電路24的輸出信號采用的緩沖放大器的布置的示意性視圖;

      圖26是示出根據(jù)第五實施例的TCAM器件中的緩沖放大器單元的配置的示意性視圖;

      圖27A、27B和27C是示出在開始供電后寫入到寄存器REG1、REG2和REG3中的每個的數(shù)據(jù)的程序的示意性視圖;

      圖28A和28B是示出輸入數(shù)據(jù)的陣列轉換的示意性示圖;

      圖29是示出根據(jù)第七實施例的搜索系統(tǒng)的配置的框圖;

      圖30是示意性示出TCAM器件的存儲狀態(tài)的圖,其中寫入了TCAM數(shù)據(jù)的示例作為數(shù)據(jù)陣列轉換的目標;

      圖31是示出根據(jù)第八實施例的TCAM器件的配置的框圖;

      圖32是示出圖31所示的匹配放大器MA的配置的示例的電路圖;以及

      圖33是示出圖31所示的TCAM器件的操作的示意性視圖。

      具體實施方式

      此后,將參考附圖詳細描述每個實施例。在下文中,相同附圖標記用于相同或相應的元件且省略對其重復解釋。

      <每個實施例通用的配置>

      [TCAM單元的配置]

      圖1是示出TCAM單元配置的示例的電路圖。參見圖1,TCAM單元(也稱作存儲單元MC)包括兩個SRAM(靜態(tài)隨機存取存儲器單元)單元11和12以及數(shù)據(jù)比較器13。SRAM單元11也被稱作X單元且SRAM單元12也被稱作Y單元。X單元11在內(nèi)部存儲節(jié)點對ND1和ND1_n儲存互補的1比特數(shù)據(jù)(當一側是1時,另一側是0)。Y單元12在內(nèi)部存儲節(jié)點對ND2和ND2_n儲存互補的1比特數(shù)據(jù)。

      TCAM單元耦合到位線對BL和BL_n、搜索線對SL和SL_n、匹配線ML以及字線WLX和WLY。位線對BL和BL_n在圖3所示的TCAM單元陣列20的列方向(Y方向)上延伸,并且由在列方向上布置的多個TCAM單元共享。搜索線對SL和SL_n在TCAM單元陣列20的列方向(Y方向)上延伸,并且由在列方向上布置的多個TCAM單元共享。匹配線ML在TCAM單元陣列20的行方向(X方向)中延伸,并且由在行方向中布置的多個TCAM單元共享。字線WLX和WLY在TCAM單元陣列20的行方向(X方向)上延伸,并且由在行方向上布置的多個TCAM單元共享。

      X單元11包括反相器INV1和INV2以及N溝道MOS(金屬氧化物半導體)晶體管Q1和Q2。反相器INV1耦合在存儲節(jié)點ND1和存儲節(jié)點ND_n之間,使得從存儲節(jié)點ND1_n到存儲節(jié)點ND1的方向成為前向方向。反相器INV2以并聯(lián)并以相反方向與反相器INV1耦合。MOS晶體管Q1耦合在存儲節(jié)點ND1和位線BL之間。MOS晶體管Q2耦合在存儲節(jié)點ND1_n和位線BL_n之間。MOS晶體管Q1和Q2的柵極耦合到字線WLX。

      Y單元12包括反相器INV3和INV4以及MOS(金屬氧化物半導體)晶體管Q3和Q4。反相器INV3耦合在存儲節(jié)點ND2和存儲節(jié)點ND2_n之間,使得從存儲節(jié)點ND2_n到存儲節(jié)點ND2的方向成前向方向。反相器INV4并聯(lián)耦合到反相器INV3并且處于相反方向。MOS晶體管Q3耦合在存儲節(jié)點ND2和位線BL之間。MOS晶體管Q4耦合在存儲節(jié)點ND2_n和位線BL之間。MOS晶體管Q3和Q4的柵極耦合到字線WLX。

      數(shù)據(jù)比較器13包括N溝道MOS晶體管Q6-Q9。MOS晶體管Q6和Q7串聯(lián)耦合在作為與匹配線ML的連接節(jié)點的節(jié)點ND3與接地節(jié)點GND之間。MOS晶體管Q8和Q9串聯(lián)耦合在節(jié)點ND3與接地節(jié)點GND之間,并且與整個串聯(lián)耦合的MOS晶體管Q6和Q7并聯(lián)。MOS晶體管Q6和Q8的柵極分別耦合到存儲節(jié)點ND1和ND2。MOS晶體管Q7和Q9的柵極分別耦合到搜索線SL和SL_n。

      圖2是示出圖1所示的X單元和Y單元的存儲內(nèi)容以及TCAM單元數(shù)據(jù)的對應關系的表。

      參見圖1和圖2,TCAM單元可以使用2比特的SRAM單元來存儲“0”、“1”和“x”(不關注)的三個值。具體來說,當在X單元11的存儲節(jié)點ND1中存儲“1”而在Y單元12的存儲節(jié)點ND2中存儲“0”時,假設“0”存儲在TCAM單元中。當在X單元11的存儲節(jié)點ND1中存儲“0”而在Y單元12的存儲節(jié)點ND2中存儲“1”時,假設“1”存儲在TCAM單元中。當在X單元11的存儲節(jié)點ND1中存儲“0”而在Y單元12的存儲節(jié)點ND2中存儲“0”時,假設“x”(不關注)存儲在TCAM單元中。沒有使用其中在X單元11的存儲節(jié)點ND1中儲存“1”而在Y單元12的存儲節(jié)點ND2中儲存“1”的情況。

      根據(jù)TCAM單元的上述配置,當搜索數(shù)據(jù)是“1”(即,搜索線SL是“1”而搜索線SL_n是“0”)且TCAM數(shù)據(jù)是“0”(存儲節(jié)點ND1是“1”而存儲節(jié)點ND2是“0”)時,MOS晶體管Q6和Q7變?yōu)榻油顟B(tài)。因此,已經(jīng)預充電的匹配線ML的電勢被拉出至接地電勢。當搜索數(shù)據(jù)是“0”(即,搜索線SL是“0”而搜索線SL_n是“1”)且TCAM數(shù)據(jù)是“1”(存儲節(jié)點ND1是“0”而存儲節(jié)點ND2是“1”)時,MOS晶體管Q8和Q9變?yōu)榻油顟B(tài)。因此,已經(jīng)預充電的匹配線ML的電勢被拉出至接地電勢。即,當搜索數(shù)據(jù)和TCAM數(shù)據(jù)不匹配時,匹配線ML的電勢被拉出至接地電勢。

      相反,當輸入的搜索數(shù)據(jù)是“1”而TCAM數(shù)據(jù)是“1”或“x”時,或者當搜索數(shù)據(jù)是“0”而TCAM數(shù)據(jù)是“0”或“x”時(即都匹配),預充電的匹配線ML的電勢(電源電勢的電平VDD)被保持。

      如上所述,在TCAM中,只要耦合到與一個條目(行)對應的匹配線的所有TCAM單元的數(shù)據(jù)不與輸入搜索數(shù)據(jù)匹配,儲存在匹配線ML中的電荷被拉出。因此,雖然通過TCAM的搜索以高速執(zhí)行,但是消耗電流的問題較大。

      [子陣列的配置]

      圖3是示出配置TCAM器件的子陣列的配置的框圖。參見圖3,子陣列SA包括TCAM單元陣列20(簡稱為單元陣列)、寫入驅動器21、搜索線(SL)驅動器22、匹配放大器單元23和控制邏輯電路24。子陣列SA還包括用于驅動圖1所示的字線WLX和WLY的字線驅動器(沒有示出)。

      單元陣列20包括布置在矩陣(m行k列)中的TCAM單元。圖3所示的單元陣列20具有256行(條目數(shù)目)m和32列(比特數(shù)目)k。

      與單元陣列20的每列對應,提供了k個比特線對(k=32)(從BL[0]和BL_n[0]至BL[k-1]和BL_n[k-1])以及k個搜索線對(k=32)(從SL[0]和SL_n[0]至SL[k-1]和SL_n[k-1])。與單元陣列20的每行對應,提供了用于X單元的m個字線(從WLX[0]到WLX[m-1])(沒有示出)和m個匹配線(m=256)(從ML[0]到ML[m-1])以及用于Y單元(從WLY[0]到WLY[m-1])(沒有示出)的m個字線。

      寫入驅動器21在寫入時經(jīng)由位線對BL和BL_n將寫入數(shù)據(jù)提供給每個TCAM單元。搜索線驅動器22在搜索時經(jīng)由搜索線對SL和SL_n將搜索數(shù)據(jù)提供給每個TCAM單元。控制邏輯電路24控制整個子陣列SA的操作。例如,在搜索時,控制邏輯電路24接收搜索命令并且通過輸出控制信號至搜索線驅動器22和匹配放大器單元23來控制搜索線驅動器22、匹配放大器單元23和預充電電路的操作。

      匹配放大器單元23包括分別與單元陣列的行對應的多個匹配放大器MA。在搜索時,匹配放大器MA基于對應匹配線ML的電勢來檢測對應的TCAM單元數(shù)據(jù)是否與輸入搜索數(shù)據(jù)的相應部分匹配。在本實施例中,匹配放大器MA包括用于在搜索時對相應匹配線ML進行預充電的預充電電路。

      [TCAM的配置]

      圖4是示出TCAM器件的配置的框圖。參考圖4,TCAM器件100包括布置在矩陣中的多個子陣列SA、優(yōu)先級編碼器30、數(shù)據(jù)輸入電路31和命令輸入電路32。

      由圖4所示的TCAM器件支持的搜索表大小是一個條目(1行)的比特長度是128比特,且條目的總數(shù)是4096。TCAM器件100被分成布置成16行和4列的子陣列SA[0,0]-SA[15,3]。每個子陣列SA的大?。鹤鳛闂l目總數(shù)總計至256條目,一個條目的比特長度為32比特。這些數(shù)目只是示例且TCAM器件的配置不限于這種情況。

      針對每個子陣列公開了已經(jīng)解釋的搜索線對SL和SL_n、位線對BL和BL_n、匹配線ML以及字線。例如,從搜索線對SL[0]和SL_n[0]至搜索線對SL[31]和SL_n[31],提供了子陣列SA[0,0]。從搜索線對SL[32]和SL_n[32]至搜索線對SL[63]和SL_n[63],提供了子陣列SA[0,1]。從搜索線對SL[64]和SL_n[64]至搜索線對SL[95]和SL_n[95],提供了子陣列SA[0,2]。從搜索線對SL[96]和SL_n[96]至搜索線對SL[127]和SL_n[127],提供了子陣列SA[0,3]。

      如圖4所示,針對一個條目的整個搜索數(shù)據(jù)和一個條目的整個TCAM單元數(shù)據(jù)(寫入數(shù)據(jù)),以32比特為單位將匹配線ML分成四個部分。因此,如圖5所示,針對每行在匹配放大器單元32中提供了用于計算每個匹配放大器MA的監(jiān)測結果的邏輯乘積的與門(圖5中的附圖標記26)。

      在數(shù)據(jù)寫入時,數(shù)據(jù)輸入電路31從外部(例如圖6所示的網(wǎng)絡處理器單元)接收寫入數(shù)據(jù),并且輸出接收的寫入數(shù)據(jù)至子陣列SA的相應寫入驅動器21。在數(shù)據(jù)搜索時,數(shù)據(jù)輸入電路31從外部接收搜索數(shù)據(jù),并且輸出接收的搜索數(shù)據(jù)至相應的子陣列SA的搜索線驅動器22。

      命令輸入電路32從外部接收多種命令,例如寫入命令和搜索命令,并且將接收的命令輸出到相應子陣列SA的控制邏輯電路24。

      優(yōu)先級編碼器30從相鄰的子陣列SA[0,3],SA[1,3],···,SA[15,3]接收用于每個條目的搜索結果(輸入搜索數(shù)據(jù)和TCAM數(shù)據(jù)是否匹配)。優(yōu)先級編碼器30輸出命中的地址(儲存與搜索數(shù)據(jù)匹配的TCAM數(shù)據(jù)的條目地址)。當多個條目命中(匹配)時,優(yōu)先級編碼器30輸出具有更高優(yōu)先級的命中條目的地址。

      [用于相同條目的多個匹配放大器的檢測結果的與操作]

      圖5是示出每個匹配放大器的檢測結果的與操作的示例性示圖。圖5僅有代表性地示出子陣列SA[0,0]和SA[0,1]的一個條目。然而,同樣也適用于其它條目和其它子陣列。

      如圖5所示,每個子陣列SA的匹配放大器單元23包括提供在用于每行的匹配放大器MA的后級中的與門26。然而,通過輸入“H”電平(電源電勢VDD)電勢至一個輸入節(jié)點中,在距離優(yōu)先級編碼器30最遠的諸如SA[0,0]和[1,0]的子陣列中的與門36作用為緩沖器。此后,參考圖4和5,采用子陣列SA[0,0]-SA[0,3]的一個條目作為示例來解釋與門26的操作。

      參考圖4和圖5,首先,在子陣列SA[0,0]-SA[0,3]的每個中,經(jīng)由搜索線對SL和SL_n輸入的搜索數(shù)據(jù)的相應部分與TCAM單元數(shù)據(jù)進行比較。每個子陣列SA的匹配放大器MA檢測相應匹配線ML的電勢(當輸入搜索數(shù)據(jù)的相應部分和TCAM單元數(shù)據(jù)完全匹配時,電勢處于“H”電平,并且當它們一點都不匹配時,電勢處于“L”電平)。

      接著,子陣列SA[0,0]的匹配放大器MA的檢測結果通過提供在子陣列SA[0,0]的匹配放大器單元中用作緩沖器的與門26,并且作為匹配放大器輸出信號mo_0傳遞給相鄰的子陣列SA[0,1]。提供在子陣列SA[0,1]的匹配放大器單元23中的與門26獲得上述的匹配放大器輸出信號mo_0和子陣列SA[0,1]的匹配放大器MA的檢測結果的邏輯乘積。運算結果作為匹配放大器輸出信號mo_1傳遞給相鄰的子陣列SA[0,2]。

      類似地,在下文中,提供在子陣列SA[0,2]的匹配放大器單元23中的與門26獲得上述的匹配放大器輸出信號mo_1和子陣列SA[0,2]的匹配放大器MA的檢測結果的邏輯乘積。運算結果作為匹配放大器輸出信號mo_2傳遞給相鄰的子陣列SA[0,3]。提供在子陣列SA[0,3]的匹配放大器單元23中的與門26獲得上述的匹配放大器輸出信號mo_2和子陣列SA[0,3]的匹配放大器MA的檢測結果的邏輯乘積。運算結果被輸入到優(yōu)先級編碼器30中作為匹配放大器輸出信號mo_3。

      [數(shù)據(jù)搜索系統(tǒng)的配置]

      圖6是示出數(shù)據(jù)搜索系統(tǒng)的整個配置的框圖。圖6所示的框圖是提供在用于諸如因特網(wǎng)的網(wǎng)絡的路由器中的數(shù)據(jù)搜索系統(tǒng)120的配置。

      為了網(wǎng)絡交通和網(wǎng)絡安全管理的質(zhì)量改進,ACL(訪問控制列表)用于網(wǎng)絡系統(tǒng)。ACL規(guī)則文件通過網(wǎng)絡管理員創(chuàng)建并且儲存在存儲器件102中。

      數(shù)據(jù)搜索系統(tǒng)120基于ACL中描述的規(guī)則來直接確定經(jīng)由LAN(局域網(wǎng))輸入的網(wǎng)絡分組是允許傳遞的分組還是拒絕傳遞的分組。即,數(shù)據(jù)搜索系統(tǒng)120需要具有高速搜索輸入的分組所對應的ACL中的規(guī)則的能力,并且此處的處理一般通過使用TCAM器件100的數(shù)據(jù)搜索系統(tǒng)120來執(zhí)行。

      具體來說,數(shù)據(jù)搜索系統(tǒng)120包括TCAM器件100和NPU(網(wǎng)絡處理器單元)101。NPU 101用于控制TCAM器件100的操作,并且輸出多種命令(寫入命令、讀取命令、搜索命令等)以及多種數(shù)據(jù)(寫入數(shù)據(jù)、搜索數(shù)據(jù)等)至TCAM器件100。TCAM器件100提供有控制寄存器,且TCAM器件100還輸出用于控制寄存器的命令和數(shù)據(jù)。

      在圖6中,優(yōu)選地僅僅將TCAM器件100配置為一個半導體器件,或者可以優(yōu)選地將TCAM器件100和NPU101以組合方式配置為一個半導體器件。

      由網(wǎng)絡管理員創(chuàng)建的ACL規(guī)則文件通過NPU 101的數(shù)據(jù)轉換器103被轉換成用于TCAM的數(shù)據(jù),且轉換的數(shù)據(jù)儲存在TCAM器件中。TCAM器件100具有將基于包括在網(wǎng)絡分組中的IP地址等的搜索數(shù)據(jù)同時與儲存在TCAM器件中的所有數(shù)據(jù)進行比較的能力。然而,不利之處在于TCAM的搜索操作產(chǎn)生了大電流。在具有TCAM器件的網(wǎng)絡系統(tǒng)和數(shù)據(jù)搜索系統(tǒng)中,問題是如何實現(xiàn)低功率消耗。

      [ACL規(guī)則文件和相應的TCAM數(shù)據(jù)的示例]

      圖7是示出ACL規(guī)則文件的示例的表。圖7僅示出了ACL的三行,然而,ACL規(guī)則文件實際包括更多行。如圖7所示,ACL用于檢查從網(wǎng)絡輸入的分組的源IP地址、協(xié)議號、目標端口號、源端口號和目標IP地址。范圍規(guī)格可以用于這些檢查元件。

      例如,圖7中附圖標記201表示的行具有關于源IP地址的范圍規(guī)格。具體來說,“147.121.56.152/29”是固定地址的32比特中的較高級的29比特并且使用剩余的3比特作為掩碼(通配符)的表示。即,指定了147.121.56.152-147.121.56.255的范圍。還可能關于目的IP地址描述類似的范圍規(guī)格。

      圖7中的附圖標記202表示的行具有關于源端口號的范圍規(guī)格。即,“0:65535”表示指定從0到65535的范圍。

      圖7中的附圖標記203表示的行具有關于目的端口號的范圍規(guī)格。即,“1024:65535”的表示指定從1024到65535的范圍。

      圖8是示出通過轉換圖7中圖示的ACL而獲得的TCAM數(shù)據(jù)的示例的圖。

      參見圖8,一個規(guī)則包括8比特的協(xié)議號、16比特的目的端口號、16比特的源端口號、32比特的目的IP地址和32比特的源IP地址,共計104比特的數(shù)據(jù)。附圖中“x”表示不關注數(shù)據(jù)(通配數(shù)據(jù))。不關注數(shù)據(jù)是與“0”和“1”都匹配的數(shù)據(jù)。

      通過圖8中的附圖標記201、202和203表示的行的內(nèi)容分別對應于通過圖7中的附圖標記201、202和203所表示的行的ACL規(guī)則。如附圖標記203所示,在ACL規(guī)則中的一行內(nèi)描述的范圍規(guī)格規(guī)則(1024-65535)在轉換為TCAM數(shù)據(jù)時可以變?yōu)橐粤忻枋龅臄?shù)據(jù)。當通過使用范圍規(guī)格規(guī)則來描述諸如目的端口號和源端口號的多個元素時,TCAM需要的行數(shù)進一步增加。例如,當通過使用1024-6535的區(qū)域規(guī)格規(guī)則來描述目的端口號和源端口號時,TCAM器件需要36行的數(shù)據(jù)區(qū)域。因而,當在ACL中包括許多區(qū)域規(guī)格規(guī)則時,應理解在TCAM數(shù)據(jù)中包括了許多不關注數(shù)據(jù)的項目。

      圖9是示意性示出其中寫入了基于ACL的轉換數(shù)據(jù)的TCAM器件的存儲器狀態(tài)的圖。圖9示出了在TCAM器件的儲存區(qū)域寫入具有許多范圍規(guī)格規(guī)則的ACL規(guī)則文件的狀態(tài)。

      圖9所示的TCAM器件具有4096個條目的儲存區(qū)域,且可以每個條目可以儲存128比特的數(shù)據(jù)。整個TCAM器件被分成16行4列的總共64個子陣列SA[0,0]-SA[15,3]。

      TCAM器件的儲存區(qū)域中通過圖9的加重線框包圍的區(qū)域是寫入基于ACL的轉換數(shù)據(jù)的區(qū)域。其中寫入數(shù)據(jù)的區(qū)域210的比特寬度是104比特并且對應于圖8所示的5個檢查元素(8比特的協(xié)議號、16比特的目的端口號、16比特的源端口號、32比特的目的IP地址和32比特的源IP地址)。在加重線框區(qū)域210中,在較窄間隔處具有斜線的陰影區(qū)的區(qū)域211表示不關注數(shù)據(jù)的區(qū)域,其余區(qū)域表示數(shù)據(jù)“0”和數(shù)據(jù)“1”的區(qū)域。

      對于104比特的ACL規(guī)則,TCAM器件的比特寬度是128比特;因而,在TCAM器件中產(chǎn)生了不具有寫入數(shù)據(jù)的24比特寬度的區(qū)域212。不關注數(shù)據(jù)儲存在所述區(qū)域212的TCAM單元中。

      此外,當規(guī)則數(shù)目對于作為TCAM器件的條目總數(shù)的4096個條目不足夠時,存在沒有寫入數(shù)據(jù)的128比特寬度的空間區(qū)域213。整個空間區(qū)域被設置作為無效條目(也稱作非搜索目標條目)。無效條目區(qū)域在搜索時總是導致錯失(不匹配)。

      具體來說,在圖9所示的TCAM中,關于子陣列SA[14,1]、SA[12,2]、SA[13,2]、SA[14,2]和SA[j,3](j=7-14),每個子陣列中的所有單元數(shù)據(jù)都是不關注;因而,這些子陣列的所有行的搜索結果是明顯的(全變?yōu)槊?。關于圖9中的子陣列SA[15,1]、SA[15,2]和SA[15,3],相關的每行子陣列只包括不關注的單元數(shù)據(jù)或者其對應于無效條目;因而,這些子陣列的每行的搜索結果是明顯的。然而,當輸入搜索命令時針對所有的這些子陣列執(zhí)行搜索操作;因而,也向具有上述的明顯搜索結果的子陣列執(zhí)行搜索操作。為此,存在無效消耗電流的問題。

      <實施例1>

      在第一實施例中,提供了以下技術:其中,輸出正常搜索結果,同時在TCAM器件中具有明顯搜索結果的區(qū)域中,具體是不關注數(shù)據(jù)區(qū)域,停止搜索操作。因而,可以減少現(xiàn)有技術中的無效消耗的電流;因而,可以提供具有低功率消耗的TCAM器件以及采用這種TCAM器件的數(shù)據(jù)搜索系統(tǒng)。此后,將參考附圖進行詳細說明。

      [子陣列的配置]

      圖10是示出根據(jù)第一實施例的TCAM器件中的子陣列的配置的框圖。參見圖10,圖10所示的子陣列SA與圖3所示的子陣列SA的區(qū)別在于進一步包括了寄存器REG1。在圖10中,寄存器REG1被示出為提供在控制邏輯電路24的內(nèi)部,但是也可以提供在控制邏輯電路24以外。圖10的其它元件的配置與圖3相同。因此,相同附圖標記用于相同或相應的元件且省略了重復描述。圖10主要示出了與數(shù)據(jù)搜索有關的部分,因而沒有示出與數(shù)據(jù)寫入有關的寫入驅動器21。

      當TCAM單元陣列20的所有數(shù)據(jù)是不關注時,寄存器REG1被設置為高電平“H”(在本說明書中被定義為“1”),且在至少一個不是不關注時(稱作“非不關注”)被設置在低電平“L”(在本說明書中被定義為“0”)。具體來說,TCAM器件中的專用電路可以分析TCAM單元陣列20中的所有數(shù)據(jù)是否是不關注,并且相關的專用電路可以基于分析結果設定寄存器REG1的值。可替選地,上述的分析也可以在外部執(zhí)行(例如通過圖6所示的NPU 101的數(shù)據(jù)分析器104),并且可以從外部將分析結果寫入到寄存器REG1中。

      控制邏輯電路24根據(jù)在寄存器REG1中設置的邏輯電平產(chǎn)生用于控制搜索操作的控制信號(sle、force_hit、mae和mlpre_n)。此后將參考圖11-15進行詳細解釋。

      [搜索系統(tǒng)控制電路的配置]

      圖11是示出圖10所示的控制邏輯電路中的搜索操作相關的部分的配置的電路圖。參考圖10和圖11,控制邏輯電路24包括寄存器REG1、反相器42、47和48、與門43、46、49和51、D觸發(fā)器44和45以及延遲級50。寄存器REG1包括D觸發(fā)器40和與門41。

      在寄存器寫入命令被激活至“H”電平時,在時鐘信號clk的上升沿(即,在與門41的輸出變?yōu)椤癏”電平時)在D觸發(fā)器40中寫入寄存器設置數(shù)據(jù)。當子陣列中所有單元的數(shù)據(jù)是不關注時,在D觸發(fā)器40中寫入1(“H”電平),并且當是非不關注時,在D觸發(fā)器40中寫入0(“L”電平)。寄存器設置數(shù)據(jù)和寄存器寫入數(shù)據(jù)從TCAM器件的外部提供(例如圖6所示的NPU 101)。例如,在激活TCAM器件時,執(zhí)行寄存器設置數(shù)據(jù)的寫入。

      D觸發(fā)器40的輸出信號被輸入到匹配放大器單元23的每個匹配放大器MA中作為控制信號force_hit。D觸發(fā)器的輸出經(jīng)由反相器42也被輸入到與門43。

      搜索命令經(jīng)過與門43、觸發(fā)器44和45、與門46和反相器47的順序被輸入到匹配放大器單元23作為匹配線預充電信號mlpre_n。由反相器42反相的控制信號force_hit被輸入到上述與門43的其他輸入節(jié)點。時鐘信號clk被輸入到上述觸發(fā)器44和45的時鐘端子。時鐘信號clk被輸入到上述與門46的其他輸入節(jié)點。

      上述觸發(fā)器45的輸出信號也經(jīng)由與門49被輸出到搜索線驅動器22作為搜索線使能信號sle。利用反相器48將時鐘信號clk反相獲得的信號被輸入到與門49的其它輸入節(jié)點。

      上述與門49的輸出信號還經(jīng)由延遲級50被輸入到與門51的第一輸入節(jié)點,且同時,直接輸入到與門51的第二輸入節(jié)點,沒有經(jīng)過延遲級50。與門51的輸出信號被輸入到匹配放大器單元23的每個匹配放大器MA中作為匹配放大器使能信號mae。

      根據(jù)上述的電路配置,依賴于寄存器REG1的設定值,當寄存器REG1的設定值是“1”時、控制信號force_hit變?yōu)椤癏”電平,并且當寄存器REG1的設定值是“0”時、控制信號force_hit變?yōu)椤癓”電平。用于搜索操作控制的控制信號(sle、mae和mlpre_n)根據(jù)寄存器REG1的搜索命令和設定值而改變。

      具體來說,當寄存器REG1的儲存數(shù)據(jù)是“L”(不關注)時,并且當搜索命令被激活到“H”電平時,匹配線預充電信號mlpre_n先被激活到“L”電平。接著,搜索線使能信號sle被激活至“H”電平。最后,匹配放大器使能信號mae被激活至“H”電平。

      相反,當寄存器REG1的設置數(shù)據(jù)是“H”(不關注)時,即使搜索命令被激活到“H”電平,匹配線預充電信號mlpre_n也保持“H”電平(不激活狀態(tài)),且搜索線使能信號sle保持“L”電平(不激活狀態(tài)),且匹配放大器使能信號mae保持“L”電平(不激活狀態(tài))。

      [搜索線驅動器的配置和操作]

      圖12是示出圖10所示的搜索線驅動器的配置的示例的電路圖。參見圖10和12,當搜索線使能信號sle被激活至“H”電平時,搜索線驅動器22將輸入搜索數(shù)據(jù)sd[i](i=0,1,…,k)輸出至搜索線SL[i],并且同時,將通過對輸入搜索數(shù)據(jù)sd[i]的邏輯電平反相而獲得的信號輸出到互補的搜索線SL_n[i]。

      具體來說,搜索線驅動器22包括分別與搜索線SL[0]-SL[k]對應的與門60[0]-60[k]、分別與搜索線SL_n[0]–SL_n[k]對應的與門61[0]-61[k]以及反相器62[0]-62[k]。搜索線使能信號sle公共輸入到與門60[0]-60[k]和與門61[0]-61[k]。相應的搜索數(shù)據(jù)sd[i]和相應的掩碼信號mask_n[i]被輸入到與門60[i](i=0,1,…,k)。與門60[i](i=0,1,…,k)的輸出信號傳輸?shù)剿阉骶€SL[i]。通過將相應的搜索數(shù)據(jù)sd[i]反相而獲得信號以及相應的掩碼信號mask_n[i]被輸入到與門61[i](i=0,1,…,k)。

      根據(jù)上述配置,例如,當搜索線使能信號sle被激活至“H”電平時,并且當輸入數(shù)據(jù)sd[i]處于“H”電平(“1”)時,搜索線SL[i]的電壓變?yōu)椤癏”電平且搜索線SL_n[i]的電壓變?yōu)椤癓”電平。當搜索線使能信號sle被激活至“H”電平時,并且當輸入數(shù)據(jù)sd[i]處于“L”電平(“0”)時,搜索線SL[i]的電壓變?yōu)椤癓”電平且搜索線SL_n[i]的電壓變?yōu)椤癏”電平。在掩碼搜索的情況下(屏蔽搜索操作的操作),當掩碼信號mask_n[i](i=0,1,…,k)被激活至“L”電平時,搜索線SL[i]的電壓變?yōu)椤癓”電平且搜索線SL_n[i]的電壓變?yōu)椤癓”電平。

      [匹配放大器的配置和操作]

      圖13是示出圖10所示的匹配放大器的配置的示例的電路圖。參考圖10和圖13,匹配放大器MA包括作為預充電電路的P溝道MOS晶體管70、反相器71-74以及邏輯門(與非門)75。在圖13中,作為預充電電路的MOS晶體管70被示出在匹配放大器MA的內(nèi)部,但是MOS晶體管70也可以提供在匹配放大器MA以外。

      此后,解釋上述部件的連接。MOS晶體管70耦合在相應的匹配線ML和提供電源電勢VDD的電源節(jié)點之間。匹配線預充電信號mlpre_n輸入到MOS晶體管70的柵極。匹配線ML還耦合到反相器71的輸入節(jié)點。反相器71的輸出節(jié)點耦合到邏輯門75的第一輸入節(jié)點。控制信號force_hit經(jīng)由反相器74輸入到邏輯門75的第二輸入節(jié)點。邏輯門75的輸出節(jié)點經(jīng)由反相器72耦合到邏輯門75的第一輸入節(jié)點。匹配放大器使能信號mae和由反相器73反相其邏輯電平而獲得的信號耦合到反相器71和72的驅動電源節(jié)點。當匹配放大器使能信號mae處于不激活狀態(tài)時(“L”電平),反相器71變?yōu)榉遣僮鳡顟B(tài),且反相器72變?yōu)椴僮鳡顟B(tài)。當匹配放大器使能信號mae處于非激活狀態(tài)(“H”電平)時,反相器71變?yōu)椴僮鳡顟B(tài)而反相器72變?yōu)榉遣僮鳡顟B(tài)。

      接著,解釋圖13所示的匹配放大器MA的電路操作。首先,解釋:(i)其中控制邏輯電路24的寄存器REG1被設置在“L”電平(表示非不關注)的情況。在這種種情況下,由于控制信號force_hit處在“L”電平,邏輯門75起反相器作用。

      首先,匹配線預充電信號mlpre_n被激活(設置為低電平),B并且因此,MOS晶體管70被變得導通。因而,匹配線ML被充電至電源電勢VDD(預充電)。

      在匹配線預充電信號mlpre_n被去激活之后圖10的搜索線使能信號sle被激活(設置到“H”電平),并且因此,搜索數(shù)據(jù)被輸入到搜索線對SL和SL_n。因而,匹配線ML的電勢根據(jù)搜索結果(輸入搜索數(shù)據(jù)和TCAM單元數(shù)據(jù)的相應部分的比較結果)而改變。即,在匹配(命中)的情況下,匹配線Ml的電勢保持在電源電勢VDD(“H”電平),且在不匹配(失配)的情況下,匹配線ML的電荷被放電至接地節(jié)點;因而,匹配線ML的電勢改變到接地電勢(“L”電平)。

      接著,匹配線使能信號mae被激活(設置到“H”電平)。因而,基于搜索結果的匹配線ML的電勢經(jīng)由反相器71和邏輯門75(等同于反相器)被輸出作為匹配放大器輸出信號mo。當匹配放大器使能信號mae被去激活時(設置為“L”電平),基于搜索結果的匹配線ML的電勢保持在包括用作反相器的邏輯門75和反相器72的鎖存電路69中。

      另一面,在第(ii)種情況下:其中寄存器REG1設置在“H”電平(表示不關注),控制信號force_hit處在“H”電平;因而匹配放大器MA的輸出信號mo(邏輯門75的輸出信號)固定在“H”電平(表示匹配(命中))。此外,在這種情況下,匹配線預充電信號mlpre_n處在“H”電平(非激活狀態(tài));因而,沒有執(zhí)行匹配線ML的預充電。搜索線使能信號sle處在“L”電平(非激活狀態(tài));因而,搜索線對SL和SL_n被固定到“L”電平(搜索線驅動器24不工作)。匹配線使能信號mae處在“L”電平(非激活狀態(tài));因而,反相器71處在不工作狀態(tài)。

      [搜索操作的示例]

      此后,參考圖14和15所示的時序圖來解釋再一個特定的子陣列中搜索操作的示例。

      (“0”儲存在寄存器REG1中的情況)

      圖14是示出當表示不關注的數(shù)據(jù)“0”儲存在設置在圖10所示的子陣列中的寄存器REG1中時的搜索操作的時序圖。在圖14中,周期是從時鐘信號clk的正沿到下一正沿的時段。從控制邏輯電路24輸出的控制信號force_hit處在“L”電平。

      參考圖14,在改變到周期T1之后(從緊接在周期T1之前的第二個半周期至周期T1的第一個半周期),搜索命令和搜索數(shù)據(jù)被輸入到TCAM器件。在周期T中時鐘信號clk的第一個上升,搜索命令和搜索數(shù)據(jù)被獲取到控制邏輯電路24中。響應于該搜索命令,控制邏輯電路24在隨后的周期T2的第一個半周期內(nèi)激活(設置為“L”電平)匹配線預充電信號mlpre_n。因此,匹配線ML被充電至電源電勢VDD(預充電)。

      響應于搜索命令,控制邏輯電路24激活在周期T2的第二個半周期內(nèi)激活(設置為“H”電平)搜索線使能信號sle。在搜索線使能信號sle被激活之前,匹配線預充電信號mlpre_n被去激活(設置為“H”電平)。由于搜索線使能信號sle的激活,搜索線驅動器22被激活以傳遞搜索數(shù)據(jù)sd至搜索線對SL和SL_n。結果,當耦合到匹配線ML的所有TCAM單元的單元數(shù)據(jù)匹配(命中)經(jīng)由搜索線對SL和SL_n傳遞的搜索數(shù)據(jù)sd時,匹配線ML的電勢保持在電源電勢VDD(“H”電平)。當耦合到匹配線ML的TCAM單元的儲存值中的至少一個不與傳送的搜索數(shù)據(jù)sd匹配(失配)時,在匹配線ML處預充電的電荷被放電,因而匹配線ML的電勢變?yōu)榻拥仉妱?“L”電平)。

      響應于搜索命令,在周期T2的第二個半周期,在激活搜索線使能信號sle之后且在去激活其之前,控制邏輯電路24激活(設置為“H”電平)匹配放大器使能信號mae。因而,在每行(條目)中,從匹配放大器MA輸出基于匹配線ML(搜索結果)的信號。對應于同一條目的多個子陣列(匹配放大器MA)中的搜索結果進行與操作且然后被輸入到優(yōu)先級編碼器30中。

      在隨后的周期T3中,當控制邏輯電路24去激活(設置為“L”電平)匹配放大器使能信號mae,在每個匹配線ML中檢測到的搜索結果保持在相應匹配放大器MA中的鎖存電路69中。此外,在周期T3中,優(yōu)先級編碼器30輸出命中地址(搜索結果)。當存在多個命中地址時,輸出具有最高優(yōu)先級的命中地址。

      (在寄存器REG1中儲存“1”的情況)

      圖15是示出當表示不關注的數(shù)據(jù)“1”儲存在設置在圖10所示的子陣列中的寄存器REG1中時的搜索操作的時序圖。

      參見圖15,在電源啟動等時,首先(在圖15中,從緊接在周期T1前的周期的第二個半周期至周期T1的第一個半周期),寄存器寫入命令和表示不關注的寄存器設置數(shù)據(jù)(“H”電平)被輸入到TCAM器件中。在周期T1的時鐘信號clk的第一個上升,寄存器設置數(shù)據(jù)(“H”電平)被寫入到相應子陣列SA的寄存器REG1中。因而,控制信號force_hit被設置至“H”電平,且每個匹配放大器MA的輸出信號mo被固定至“H”電平(表示命中)。

      在搜索操作中,首先(在圖15中,從周期T2的第二個半周期至周期T3的第一個半周期),搜索命令和搜索數(shù)據(jù)被輸入到TCAM器件。當在寄存器REG1中設置“L”電平時,在周期T3中的時鐘信號clk的第一個上升沿,搜索命令被獲取到控制邏輯電路24中,且在隨后的周期T4中,執(zhí)行搜索操作(參見圖14)。然而,當在寄存器REG1中設置“H”電平時,搜索命令沒有被獲取到控制邏輯電路24中。因此,在隨后的周期T4中沒有啟動搜索操作。

      這樣,當一個確定的子陣列的所有TCAM單元的單元數(shù)據(jù)表示不關注時,寄存器REG1被設置在“H”電平(“1”)。結果,相關子陣列的每個匹配放大器MA被固定到“H”電平(命中),且搜索操作(匹配線的預充電和搜索線驅動器的操作)沒有在相關子陣列中執(zhí)行。因此,可以實現(xiàn)功率節(jié)省。

      [匹配放大器的配置的修改的示例]

      例如,圖9所示的TCAM器件的子陣列SA[15,1]、SA[15,2]和SA[15,3]包括沒有儲存數(shù)據(jù)的無效條目。即,在三個子陣列的每行中,所有的單元數(shù)據(jù)被設置為不關注或者對應于無效條目。因而,每行(條目)的搜索結果是明顯的。在這樣的情況下,通過將圖10的控制邏輯電路24中的寄存器REG1設置為“H”電平(“1”),可以獲得低的功率消耗,使得不在相關子陣列中執(zhí)行搜索操作。然而,關于與三個子陣列中的無效條目對應的行,需要進行改變使得匹配放大器MA輸出“L”電平(錯失)作為搜索結果。

      以下解釋上述的在無效條目的情況下被改變來輸出錯失作為搜索結果的匹配放大器MA的配置。如圖9所示,無效條目在TCAM器件的全部條目中指定沒有儲存數(shù)據(jù)的空條目,并且其是非搜索目標條目。另一方面,有效條目是TCAM器件的所有條目中的儲存數(shù)據(jù)的搜索目標條目。

      圖16是示出圖10所示的匹配放大器的修改的示例的電路圖。圖16所示的匹配放大器MA與圖10所示的匹配放大器的區(qū)別在于進一步包括了與門76和寄存器REG2。寄存器REG2在子陣列的相應行(條目)是無效條目時被設置在“L”電平(在本說明書中被定義為“0”),并且在相應行(條目)是有效條目時被設定在“H”電平(在本說明書中被定義為“1”)。寄存器REG2只需要與用于子陣列SA每行的匹配放大器MA對應地提供;因而,寄存器REG2不需要提供在匹配放大器MA以內(nèi),如圖16所示。寄存器REG2的上述設定值可以通過提供在TCAM器件內(nèi)的專用電路來執(zhí)行,或者可以從TCAM器件的外部執(zhí)行(例如,圖6所示的NPU 101)。

      與門76輸出從寄存器REG2輸出的控制信號val_ent和邏輯門75的輸出信號的與運算結果,作為匹配放大器MA的輸出信號mo。圖16的其它元件的配置與圖10的配置相同;因此,相同的附圖標記應用于相同或相應的元件且省略對其重復描述。

      根據(jù)上述配置,即使當圖10和11所述的寄存器REG1被設置在表示不關注的“H”電平(“1”)時,通過將與無效條目對應的匹配放大器MA的寄存器REG2設置為“L”電平(“0”)值,可以將匹配放大器MA的輸出信號mo設置在“L”電平(錯失)。因此,當某個子陣列的每行完全包括不關注的單元數(shù)據(jù)或者對應于無效條目且不包括“1”或“0”的TCAM單元儲存數(shù)據(jù)時,可以停止在相關的子陣列中的搜索操作,并且從每個匹配放大器MA中正常輸出命中(在不關注的情況下)或者錯失(在無效條目的情況下)。結果,可以減少相關子陣列的功耗。

      [第一實施例的效果]

      根據(jù)上述實施例,可以控制不對具有明顯搜索結果的子陣列執(zhí)行搜索操作并且從相關子陣列輸出正常搜索結果。具體來說,當包括在子陣列中的所有TCAM單元的數(shù)據(jù)是不關注時,表示命中的“H”電平信號從每個匹配放大器MA輸出。當相關子陣列的每行完全包括不關注的單元數(shù)據(jù)時或者對應于無效條目時,對應于不關注的情況從匹配放大器MA輸出表示命中的“H”電平信號,并且對應于無效條目的情況從匹配放大器MA輸出表示錯失的“L”電平信號。結果,相關子陣列的每個匹配放大器MA沒有產(chǎn)生匹配線的預充電電流和操作電流。因而,可以減少TCAM器件的功耗。

      此外,通過不對具有明顯搜索結果的子陣列執(zhí)行搜索操作,可以減少搜索操作時的峰值電流并且抑制快速電流變化。此外,由于抑制了快速電流變化,可以減少提供到安裝TCAM器件的半導體芯片的供給電壓。結果,可以實現(xiàn)具有穩(wěn)定搜索特性的高質(zhì)量的TCAM器件。此外,由于減少了TCAM器件的電流消耗和在搜索操作時的峰值電流,可以減輕耦合到TCAM器件的外部電源器件的需要容量(例如電流的供給容量和響應性能)。因此,可以實現(xiàn)不昂貴和高質(zhì)量的數(shù)據(jù)搜索系統(tǒng)。

      <第二實施例>

      [TCAM子陣列的配置]

      圖17是示出根據(jù)第二實施例的TCAM器件中的子陣列SA的配置的框圖。圖17所示的子陣列SA與圖10所示的子陣列SA的不同之處在于:布置在列方向(Y方向)的兩端的兩個控制邏輯電路24A和24B以及布置在列方向(Y方向)的兩端的兩個搜索線驅動器22A和22B。雖然在圖17中沒有示出,寫入驅動器還布置在列方向(Y方向)的兩端。

      從第0行至第(m-1)/2行的TCAM單元(被稱作單元陣列20A)通過與這些TCAM單元(單元陣列20A)相鄰的驅動器22A、匹配放大器單元23A和控制邏輯電路24A來控制。

      當單元陣列20A僅儲存不關注數(shù)據(jù)時,在設置在控制邏輯電路24A中的寄存器REG1A中設置“H”電平的(“1”)值。在這種情況下,從控制邏輯電路24A輸出的控制信號force_hit變?yōu)椤癏”電平(“1”)。因此,來自提供在匹配放大器單元23A中的匹配放大器(未示出)的輸出信號mo[0]-mo[(m-1)/2]被固定在“H”電平(命中)。

      從第((m-1)/2+1)行至第m行的TCAM單元(被稱作單元陣列20B)通過與這些TCAM單元(單元陣列20B)相鄰的SL驅動器22B、匹配放大器單元23B和控制邏輯電路24B來控制。

      當單元陣列20B僅儲存不關注數(shù)據(jù)時,在設置在控制邏輯電路24B中的寄存器REG1B中設置“H”電平(“1”)的值。在這種情況下,從控制邏輯電路24B輸出的控制信號force_hit變?yōu)椤癏”電平(“1”)。因此,來自提供在匹配放大器單元23B中的匹配放大器(未示出)的輸出信號mo[(m-1)/2+1]-mo[m]被固定在“H”電平(命中)。

      在圖17所示的子陣列SA的匹配放大器單元23A和23B中提供的每個匹配放大器(未示出)可以具有圖16所解釋的具有寄存器REG2的匹配放大器MA的配置。在這種情況下,來自與子陣列SA的單元陣列20A和20B中的無效條目對應的行的匹配放大器的輸出信號mo變?yōu)椤癓”電平(錯失)。

      圖17的其它元件與例如圖10所示的第一實施例的相同。因此,相同附圖標記用于相同或相應的元件且省略了重復描述。

      [第一實施例的效果]

      根據(jù)以上配置的包括子陣列的TCAM器件,產(chǎn)生了與根據(jù)第一實施例的TCAM器件相同的效果,并且還產(chǎn)生了以下的效果。首先,與第一實施例的圖10所示配置的子陣列相比,可以執(zhí)行指示條目(行)總數(shù)的一半的區(qū)域是否是不關注區(qū)域的設置。因而,對于具有相對小的不關注區(qū)域的ACL規(guī)則文件,可以獲得功率節(jié)省。

      當布置了圖10所示配置的多個子陣列SA時,需要在相鄰子陣列SA之間提供一定量的間隔,使得諸如搜索線驅動器22的驅動器電路和單元陣列20A不會靠的太近,由于設計規(guī)則的限制。與此相比,當布置圖17所示配置的多個子陣列SA時,可以在與相鄰子陣列SA的搜索線驅動器22B和控制邏輯電路24B的附近,布置每個子陣列SA的搜索線驅動器22A和控制邏輯電路24A。因此,如圖10的情況,優(yōu)勢在于不必擴大相鄰子陣列之間的間隔。

      <第三實施例>

      例如,對于圖9所示的子陣列SA[6,1]和SA[13,1],子陣列中的所有行的TCAM單元沒有被設置為不關注。因此,不可能將圖10和圖11所示的寄存器REG1設置在“H”電平(“1”)。然而,一些行的所有TCAM單元被設置為不關注。因此,對于這些行,搜索結果明顯變?yōu)槊小?/p>

      因此,根據(jù)第三實施例的TCAM器件可以控制來針對子陣列的每行停止匹配線ML的預充電和停止匹配放大器MA的電路操作。因而,可以實現(xiàn)進一步的功率節(jié)省。此后,將參考附圖進行詳細描述。

      [匹配放大器的配置和操作]

      圖18是示出根據(jù)第三實施例的TCAM器件中的匹配放大器MA的配置的電路圖。圖18中的匹配放大器MA與圖13中的匹配放大器MA的區(qū)別在于進一步包括了寄存器REG3、或門77、與門78和反相器79。此外,圖18所示的匹配放大器MA與圖13所示的匹配放大器MA區(qū)別在于包括或非門80來代替反相器74。

      當經(jīng)由匹配線ML耦合到匹配放大器MA的所有TCAM單元的單元數(shù)據(jù)被設置為不關注時,寄存器REG3被設置為“H”電平(本說明書中定義為“1”)。當經(jīng)由匹配線ML耦合到匹配放大器MA的TCAM單元中的至少一個單元數(shù)據(jù)不是不關注時,寄存器REG3被設置為“L”電平(本說明書中定義為“0”)。寄存器REG3只需要對應于用于子陣列SA的每行的匹配放大器MA來提供;因而,寄存器REG3不需要提供在圖18所示的匹配放大器MA內(nèi)。

      或門77對從寄存器REG3輸出的控制信號dnc_hit和匹配線預充電信號mlpre_n執(zhí)行或運算,并且輸出運算結果至P溝道MOS晶體管70的柵極。因而,當按照寄存器REG3的設定值的控制信號dnc_hit處于“H”電平時,MOS晶體管70被固定至關斷狀態(tài)。因此,匹配線ML的預充電沒有進行。

      與門78對匹配放大器使能信號mae和利用反相器79對從寄存器REG3輸出的控制信號dnc_hit的邏輯電平進行反相而獲得的值進行與運算。與門78的與運算結果和通過反相器73將與運算結果的邏輯電平反相而獲得的信號被供給到反相器71和72的驅動電源節(jié)點。因此,當按照寄存器REG3的設定值的控制信號dnc_hit處于高電平時,反相器71處于不操作狀態(tài),且反相器72處于操作狀態(tài)。因此,匹配線ML的電勢沒有被輸出到下一級電路,且匹配線ML的電勢沒有被鎖存。

      或非門80對從寄存器REG3輸出的控制信號dnc_hit和控制信號force_hit執(zhí)行或非操作,且將運算結果輸入到邏輯門75(與非門)的第二輸入節(jié)點。因而,當寄存器REG3(控制信號dnc_hit)被設置在“H”電平時,匹配放大器MA的輸出信號mo(邏輯門75的輸出信號)被固定至“H”電平(表示匹配(命中))。

      如上所述,當寄存器REG3(控制信號dnc_hit)被設置在“H”電平時,可以將匹配放大器MA的輸出信號mo固定在“H”電平(命中)并且停止匹配線ML的預充電和匹配放大器MA的電路操作,即使是在寄存器REG1設置在“L”電平時。

      圖18的其他配置和操作與圖13相同。因而,相同的附圖標記應用于相同或相應的元件且省略其重復描述。例如,當提供在控制邏輯電路24中的寄存器REG1和提供在匹配放大器MA中的寄存器REG3都設置在“L”電平(表示不關注)時,經(jīng)由匹配放大器MA對耦合到匹配線ML的TCAM單元執(zhí)行普通搜索操作。當在控制邏輯電路24中的寄存器REG1設置在“H”電平(表示不關注)時,停止整個子陣列的搜索操作。

      [寄存器REG3的數(shù)據(jù)設置方法]

      此后,將參考圖18至21來描述寄存器REG3的數(shù)據(jù)設置方法。

      如圖18所示,寄存器寫入信號reg_w_sig和寄存器數(shù)據(jù)reg_data被輸入到寄存器REG3中。寄存器REG3在寄存器寫入信號reg_w_sig激活時儲存寄存器數(shù)據(jù)reg_data。寄存器寫入信號reg_w_sig和寄存器數(shù)據(jù)reg_data可以從TCAM器件內(nèi)的專用電路提供,或者可以從TCAM器件外部的處理器提供(例如,圖6所示的NPU 101)。

      具體來說,當專用電路(圖19所示的數(shù)據(jù)確定電路33)提供在TCAM器件內(nèi)時,相關的專用電路可以方便地在數(shù)據(jù)寫入到TCAM器件時確定至與公共匹配線ML耦合的所有TCAM單元的寫入數(shù)據(jù)是否是不關注,并且能夠基于確定結果立即執(zhí)行對寄存器REG3的寫入。當耦合到公共匹配線ML的所有TCAM單元被設置為不關注,相關的專用電路將寄存器REG3設置在“H”電平(“1”),否則,相關的專用電路將寄存器REG3設置在“L”電平(“0”)。

      與此相反,當通過TCAM器件以外的處理器來設置寄存器REG3時,在數(shù)據(jù)寫入到TCAM器件之后,外部處理器從用于每個條目的TCAM器件讀取數(shù)據(jù)并且確定上述確定條件是否滿足。因而,與在TCAM器件內(nèi)提供專用電路相比,需要花更多時間。

      此后,將參考附圖來詳細描述上述專用電路(圖19所示的數(shù)據(jù)確定電路33)的操作。

      圖19是示出根據(jù)第三實施例的TCAM器件的配置的框圖。圖19所示的TCAM器件與圖4所示的TCAM器件的不同在于進一步包括數(shù)據(jù)確定電路33[0]-33[3](當整體地稱為時或表示不特定的一個時被描述為數(shù)據(jù)確定電路33)。

      如圖19所示,對應于子陣列SA[0,0]、SA[1,0]、SA[2,0]和……而提供了數(shù)據(jù)確定電路33[0]。當經(jīng)由命令輸入電路32輸入的寫入命令被檢測到時,數(shù)據(jù)確定電路33[0]基于要寫入到相應子陣列的寫入數(shù)據(jù)d[0:31]來確定是否滿足相同行(條目)的所有寫入數(shù)據(jù)是不關注的條件。數(shù)據(jù)確定電路33[0]在上述確定條件滿足時將于相關行對應的寄存器REG3設定為“H”電平(表示不關注)。

      類似地,對應于子陣列SA[0,1]、SA[1,1]、SA[2,1]和……而提供了數(shù)據(jù)確定電路33[1],并且基于到相應子陣列的寫入數(shù)據(jù)d[32:63]來設置相應子陣列的每個寄存器REG3。對應于子陣列SA[0,2]、SA[1,2]、SA[2,2]和……而提供了數(shù)據(jù)確定電路33[2],并且基于要寫入到相應子陣列的寫入數(shù)據(jù)d[64:95]來設置相應子陣列的每個寄存器REG3。對應于子陣列SA[0,3]、SA[1,3]、SA[2,3]和……而提供了數(shù)據(jù)確定電路33[3],并且基于要寫入到相應子陣列的寫入數(shù)據(jù)d[96:127]來設置相應子陣列的每個寄存器REG3。

      圖20是示出圖19所示的數(shù)據(jù)確定電路33的操作的流程圖。參見圖19和20,在TCAM單元的數(shù)據(jù)寫入時,數(shù)據(jù)輸入電路31輸出每個條目的用于每個TCAM單元的X單元(參見圖1)的寫入數(shù)據(jù),并且隨后輸出用于Y單元的寫入數(shù)據(jù)。從數(shù)據(jù)輸入電路31順序輸出的用于X單元和Y單元的寫入數(shù)據(jù)d[0:31]、d[32:63]、d[64:95]和d[96:127]以32比特為單位被提供至相應子陣列SA的寫入驅動器21,并且從寫入驅動器21被輸出到每個位線對BL和BL_n。用于X單元和Y單元的寫入數(shù)據(jù)d[0:31]、d[32:63]、d[64:95]和d[96:127]以32比特為單位被輸入到相應數(shù)據(jù)確定電路33中。當以其它方式表達時,數(shù)據(jù)確定電路33順序地接收與同一匹配線耦合的寫入目標TCAM單元的X單元和Y單元的寫入數(shù)據(jù)(步驟S100)。

      隨后,數(shù)據(jù)確定電路33確定接收的寫入數(shù)據(jù)是否滿足條件:接收的X單元的32比特寫入數(shù)據(jù)的所有比特和Y單元的32比特寫入數(shù)據(jù)的所有比特是否為“0”(步驟110)。具體來說,數(shù)據(jù)確定電路33對X單元的寫入數(shù)據(jù)的所有比特執(zhí)行或運算,并且還對Y單元的寫入數(shù)據(jù)的所有比特執(zhí)行或運算。數(shù)據(jù)確定電路33對這些或運算的結果執(zhí)行或非運算,并且確定最后獲得值是“1”(不關注)還是“0”(非不關注)。

      當滿足了上述X單元數(shù)據(jù)和Y單元數(shù)據(jù)的所有比特是“0”的確定條件時,即當通過上述邏輯運算最終獲得的值是“1”(不關注)(步驟S110處為是),數(shù)據(jù)確定電路33將與寫入目標的條目對應的寄存器REG3設置為表示不關注的值“1”(“H”電平)(步驟S120)。值“1”被設置到寄存器REG3的時刻可以與數(shù)據(jù)被寫入到TCAM單元中的時刻相同。

      相反,當上述確定條件沒有滿足時,即當通過上述邏輯運算最終獲得的值是“0”(非不關注)(步驟S110處為否),數(shù)據(jù)確定電路33將與寫入目標的條目對應的寄存器REG3設置為表示非不關注的值“0”(“L”電平)(步驟S130)。

      圖21是示出根據(jù)第三實施例的TCAM器件中的圖18所示的寄存器REG3的數(shù)據(jù)寫入程序的時序圖。在圖21中,周期是從時鐘信號clk的正邊沿到下一正邊沿的時段。

      參見圖19和圖21,首先,在改變到周期T1附近(從緊接在周期T1之前的第二個半周期朝向周期T1的第一個半周期),X單元的寫入數(shù)據(jù)(128比特)和用于指引X單元寫入的命令被分別輸入到數(shù)據(jù)輸入電路31和命令輸入電路32。數(shù)據(jù)輸入電路31以32比特為單位來劃分輸入的X單元數(shù)據(jù)(128比特),并且在劃分之后將X單元數(shù)據(jù)中的每個(32比特)輸出至相應的子陣列SA和相應的數(shù)據(jù)確定電路33。命令輸入電路32輸出輸入的命令(寫入到X單元)至每個子陣列SA和每個數(shù)據(jù)確定電路33。在周期T1中,每個數(shù)據(jù)確定電路33獲取32比特的相應X單元數(shù)據(jù)。

      隨后,在改變到周期T2附近(從周期T1的第二個半周期至周期T2的第一個半周期),Y單元的寫入數(shù)據(jù)(128比特)和用于指引Y單元寫入的命令被分別輸入到數(shù)據(jù)輸入電路31和命令輸入電路32。數(shù)據(jù)輸入電路31以32比特為單位來分割輸入的Y單元數(shù)據(jù)(128比特),并且在分割之后輸出Y單元數(shù)據(jù)中的每個(32比特)至相應的子陣列SA和相應的數(shù)據(jù)確定電路33。命令輸入電路32輸出輸入的命令(寫入到Y單元)至每個子陣列SA和每個數(shù)據(jù)確定電路33。

      在周期T2中,每個數(shù)據(jù)確定電路33獲取32比特的相應Y單元數(shù)據(jù)。每個數(shù)據(jù)確定電路33執(zhí)行在周期T1中獲取的X單元數(shù)據(jù)的所有比特的或操作,并且例如保持運算結果(“0”或“1”)在每個數(shù)據(jù)確定電路33提供的2比特移位寄存器的第一比特。

      在隨后的周期T3中,X單元數(shù)據(jù)的或運算結果被移位到移位寄存器的第二比特。每個數(shù)據(jù)確定電路33執(zhí)行在周期T2中獲取的Y單元數(shù)據(jù)的所有比特的或操作,并且保持運算結果(“0”或“1”)在上述移位寄存器的第一比特。隨后,每個數(shù)據(jù)確定電路33執(zhí)行相應移位寄存器的第一比特和第二比特的或非運算(即,進一步執(zhí)行在周期T2獲得的X單元數(shù)據(jù)的或運算結果與在周期T3獲得的Y單元數(shù)據(jù)的或運算結果的或非運算)。當上述邏輯運算的最終結果是“1”時,說明32比特的X單元數(shù)據(jù)和32比特的Y單元數(shù)據(jù)的全部比特是“0”,即,32比特的寫入數(shù)據(jù)的所有比特是不關注。

      在隨后的周期T4中,數(shù)據(jù)確定電路33輸出或非運算結果至相應子陣列SA的每個寄存器REG3作為寄存器數(shù)據(jù)reg_data。在周期T4中時鐘信號clk的負邊沿,數(shù)據(jù)確定電路33將寄存器寫入信號reg_w_sig激活(設置為“H”電平),該寄存器寫入信號reg_w_sig激活將被供給到與寫入目標條目對應的匹配放大器MA中提供的寄存器REG3。結果,當寫入目標條目的TCAM單元的所有值是不關注時,“1”(“H”電平)被設置到寄存器REG3,否則(在不關注的情況下),“0”(“L”電平)被設置到寄存器REG3。在時鐘信號clk的負邊沿產(chǎn)生寄存器寫入信號reg_w_sig的理由是為了完全確保設置時間和保持時間。

      [匹配放大器的修改的示例]

      圖22是示出圖18所示的匹配放大器MA的修改的示例的框圖。圖22所示的匹配放大器MA也可以在相應的行是沒有儲存數(shù)據(jù)的無效條目時應用。

      具體來說,圖22所示的匹配放大器MA與圖18所示的匹配放大器MA的區(qū)別在于進一步包括了寄存器REG2、與門76、反相器81和或門82。

      當子陣列中相應的行是無效條目時,寄存器REG2被設置在“L”電平(在本說明書中被定義為“0”),并且當相應的行是有效條目時,被設置在“H”電平(在本說明書中被定義為“1”)。只需要與子陣列的每行的匹配放大器MA對應地提供寄存器REG2,因此,寄存器REG2不需要提供在圖22所示的匹配放大器MA內(nèi)。上述寄存器REG2的值設定可以通過TCAM器件內(nèi)的專用電路來執(zhí)行,或者可以通過TCAM器件外部來執(zhí)行(例如圖6所示的NPU 101)。

      與門76輸出從寄存器REG2輸出的控制信號val_ent和邏輯門75的輸出信號的與運算結果,作為匹配放大器MA的輸出信號mo。因此,當寄存器REG1的設定值是“1”時(不關注),或者當寄存器REG2的設定值是“0”時(無效)即使寄存器REG3的設定值是“1”(不關注),向寄存器REG2的無效設定給出優(yōu)先級;因此可以將匹配放大器MA的輸出信號mo設置在“L”電平(錯失)。

      或門82對從寄存器REG3輸出的控制信號dnc_hi和利用反相器81對從寄存器REG2輸出的控制信號val_ent的邏輯電平進行反相而獲得的值進行或操作。

      或門77對或門82的輸出值和匹配線預充電信號mlpre_n執(zhí)行或操作,并且輸出運算結果至P溝道MOS晶體管70的柵極。因而,當根據(jù)寄存器REG3的設定值的控制信號dnc_hit處于“H”電平(不關注)時,和/或當根據(jù)寄存器REG2的設定值的控制信號dnc_hit處于“L”電平(無效)時,MOS晶體管70被固定至關斷狀態(tài);因此,匹配線ML的預充電沒有進行。

      與門78對匹配放大器使能信號mae和利用反相器79對或門82的輸出值的邏輯電平進行反相而獲得的值進行與操作。與門78的與運算結果和通過反相器73將與運算結果的邏輯電平反相而獲得的信號被供給到反相器71和72的驅動電源節(jié)點。因此,當根據(jù)寄存器REG3的設定值的控制信號dnc_hit處于“H”電平(不關注)時和/或當根據(jù)寄存器REG2的設定值的控制信號val_ent處于“L”電平(無效)時,反相器71處于不操作狀態(tài),且反相器72處于操作狀態(tài);因此,匹配線ML的電勢沒有被輸出到下一級電路,且匹配線ML的電勢沒有被鎖存。

      圖22的其他元件的配置與圖18相同。因而,相同的附圖標記應用于相同或相應的元件且省略其重復描述。

      這樣,當與匹配放大器MA對應的行時無效條目時,搜索結果是明顯的(如錯失)。因而,匹配線ML的預充電操作停止,且匹配放大器MA的電路操作停止。這樣,匹配放大器MA的輸出信號被固定到“L”電平(錯失)且輸出正常搜索結果。

      也可以采用沒有提供圖22中的反相器81和或門82的修改的示例。即,從寄存器REG2輸出的控制信號val_ent只被輸入到與門76。在這種情況下,通過僅僅將寄存器REG2設置為“0”(無效),可以不停止對應匹配線ML的預充電或者匹配放大器MA的電路操作。因此,當寄存器REG2被設置為“0”(無效)時,也需要將寄存器REG3設置為“1”(不關注)。

      [第三實施例的效果]

      如上所述,即使當子陣列中所有單元的數(shù)據(jù)并非是不關注,當所有單元的數(shù)據(jù)包括不關注的行(此后稱作“不關注條目”)或沒有設置數(shù)據(jù)的無效條目時,相關行的搜索結果是明顯的。在這樣的情況下,相關行(不關注條目或無效條目)的匹配線ML的預充電操作停止且匹配放大器MA的電路操作停止。因此,可以減少TCAM器件的功耗。另外,通過將與不關注條目對應的匹配放大器MA的輸出信號固定在“H”電平(命中)并且將與無效條目對應的匹配放大器MA的輸出信號固定在“L”電平(錯失),可以執(zhí)行正常搜索操作。

      按照根據(jù)第三實施例的TCAM器件,可以提供低功耗裝置,其在不關注條目或無效條目分散在子陣列中時是有效的。

      <第四實施例>

      對于根據(jù)第四實施例的TCAM器件,將針對沒有提供圖10和圖11所示的用于停止整個子陣列的搜索操作的寄存器REG1的情況進行描述。在這種情況下,基于圖18和圖22中所示的用于每個匹配放大器MA的寄存器REG3的設定值來確定整個子陣列的搜索操作是否停止。此后,將參考附圖來進行詳細解釋。

      [子陣列的配置]

      圖23是示意性示出根據(jù)第四實施例的TCAM器件中的子陣列的配置的框圖。圖23所示的子陣列SA與圖10所示的子陣列SA的不同之處在于沒有提供控制邏輯電路24但是提供了邏輯乘積電路27來代替寄存器REG1。圖23的其它元件的配置與圖10相同,因此,相同的附圖標記用于相同或相應的元件并且省略對其重復描述。

      邏輯乘積電路27獲得提供用于TCAM單元陣列20的每行(每個匹配線ML)的寄存器REG3[0]-REG3[m]的設定值dnc_hit[0]-dnc_hit[m]中每個的邏輯乘積,并且輸出運算結果作為控制信號force_hit??刂菩盘杅orce_hit被輸入到控制邏輯電路24。如已經(jīng)解釋的那樣,當子陣列中相應行的所有單元的數(shù)據(jù)是不關注時,寄存器REG3被設置為“1”(“H”電平),否則寄存器REG3被設置為“0”(“L”電平)。因此,當子陣列中所有單元的數(shù)據(jù)是不關注時,控制信號force_hit被設置在“H”電平(“1”),否則控制信號force_hit被設置在“L”電平(“0”)。

      [控制邏輯電路的配置]

      圖24是示出圖23中所示的控制邏輯電路24中的與搜索操作有關的部分的配置的電路圖。圖24中所示的控制邏輯電路24與圖11中所示的控制邏輯電路24的不同之處在于沒有包括寄存器REG1。在圖24中,要輸入到反相器42中的控制信號force_hit從圖23所示的邏輯乘積電路27提供。

      此外,在圖24中,控制信號force_hit沒有從控制邏輯電路24輸出到每個匹配放大器MA。因此,在圖18和圖22所示的匹配放大器MA中,提供了用于將從寄存器REG3輸出的控制信號dnc_hit的邏輯電平反相的反相器來代替或非門80。該反相器的輸出信號被輸入到邏輯門75。圖24的其他元件的配置與圖11相同;因此,相同的附圖標記用于相同或相應的元件并且省略對其重復描述。

      [第四實施例的效果]

      根據(jù)上述配置,子陣列中所有單元的數(shù)據(jù)被設置為不關注,因而,當提供用于子陣列中每行的所有寄存器REG3被設置為不關注時,可以自動停止子陣列的搜索操作。如圖19和圖21所示,利用數(shù)據(jù)確定電路33可以自動執(zhí)行寄存器REG3的值設定。因此有一個優(yōu)點,不必在數(shù)據(jù)寫入到TCAM器件之后來分析TCAM單元數(shù)據(jù)的內(nèi)容以設置寄存器REG1的值。

      作為修改的示例,可以采用以下的配置:其中,沒有提供圖10和圖11所示的寄存器REG1以及圖23所示的邏輯乘積電路27。然而,在這個改型的示例中,當子陣列中所有單元的數(shù)據(jù)被設置為不關注時,可以停止所有匹配線ML的預充電操作以及所有匹配放大器MA的電路操作;但是,不可以停止搜索線驅動器22的操作。在本實施例中,提供邏輯乘積電路27以便確定是否可以停止所有的搜索操作。

      <第五實施例>

      [緩沖放大器單元的配置]

      圖25是示出用于來自控制邏輯電路24的輸出信號的緩沖放大器的布置的示意性視圖。

      從圖11所示的控制邏輯電路24輸出的控制信號force_hit、匹配線預充電信號mlpre_n和匹配放大器使能信號mae被輸出到子陣列中的所有匹配放大器MA。因此,當存在用于每個子陣列的一些條目時,需要提供緩沖放大器。因此在圖25的情況下,為每四個匹配放大器MA提供緩沖放大器單元84。

      參見圖25,緩沖放大器單元85對應于4個匹配放大器MA[0]、MA[1]、MA[2]和MA[3]來提供,并且包括緩沖器85、86和87。匹配線預充電信號mlpre_n通過緩沖器85來成形并且并且被輸入到4個匹配放大器MA[0]、MA[1]、MA[2]和MA[3]中的每個的或門77。匹配放大器使能信號mae通過緩沖器86來成形,并且被輸入到4個匹配放大器MA[0]、MA[1]、MA[2]和MA[3]中的每個的與門78。控制信號force_hit通過緩沖器87來成形,并且被輸入到4個匹配放大器MA[0]、MA[1]、MA[2]和MA[3]中的每個的或非門80。

      在圖25中,分別排除了寄存器REG3[0]、REG3[1]和REG3[2]的匹配放大器MA[0]、MA[1]、MA[2]的電路部分83具有與匹配放大器MA[3]的電路部分83相同的配置;因此,不再示出其電路圖。

      [緩沖放大器單元的修改的示例]

      圖26是示出根據(jù)第五實施例的TCAM器件中的緩沖放大器單元的配置的示意性視圖。圖26中所示的緩沖放大器單元84等效于圖25所示的緩沖放大器單元84,并且具有修改的配置以便實現(xiàn)低功耗。

      具體來說,在圖26所述的緩沖放大單元中,通過提供邏輯門來代替圖25中的緩沖器,除了輸入波形的成形功能以外,邏輯運算也是可以的。即,在圖26所示的緩沖放大器單元84中,提供或門89來代替緩沖器85,提供與門90和反相器91來代替緩沖器86,并且提供或門92來代替緩沖器87。

      圖26所示的緩沖放大器單元84還包括與門88,其執(zhí)行從提供在相應匹配放大器MA[0]-MA[3]中的寄存器REG3[0]-REG3[3]輸出的控制信號dnc_hit[0]-dnc_hit[3]的與運算。當從寄存器REG3[0]-REG3[3]輸出的控制信號dnc_hit[0]-dnc_hit[3]都處在指示不關注的“H”電平(對應于設置值“1”)時,與門88輸出高電平的信號。

      或門89將匹配線預充電信號mlpre_n和與門88的輸出信號的或運算結果輸出到相應的匹配放大器MA[0]-MA[3],作為本地匹配線預充電信號mlpre_local_n。與門90將匹配放大器使能信號mae和利用反相器91對與門88的輸出信號的邏輯電平進行反相而獲得的值的與運算的結果輸出至相應的匹配放大器MA[0]-MA[3],作為本地匹配放大器使能信號mae_local?;蜷T92將控制信號force_hit和與門88的輸出信號的或運算結果輸出到相應的匹配放大器MA[0]-MA[3],作為本地控制信號force_hit_local。

      因此,當從相應的寄存器REG3[0]-REG3[3]輸出的控制信號dnc_hit[0]-dnc_hit[3]處在表示不關注的“H”電平(對應“1”)時,本地匹配線預充電信號mlpre_local_n被固定在“H”電平,并且本地匹配放大器使能信號mae_local被固定在“L”電平。此外,本地控制信號force_hit_local在這種情況下被固定在“H”電平。因此可以減少需要對用于傳遞這些本地控制信號的布線進行充電和放電的電流消耗。此外,上述的緩沖放大器單元是第一實施例至第四實施例中需要的電路的修改的電路,因此基本上不會造成面積的增加。

      <第六實施例>

      圖27A、27B和27C是示出在供電開始后寫入到寄存器REG1、REG2和REG3中的每個的數(shù)據(jù)的程序的示意性視圖。在圖27A、27B和27C中代表性地示出了三個子陣列SA[0,0]、SA[1,0]和SA[2,0]。在每個子陣列中,在圖10和圖11中所示的寄存器REG1提供在控制邏輯電路24中,圖18和圖22中所示的寄存器REG2和REG3被提供用于每行。

      寄存器REG1用于設置整個子陣列的單元數(shù)據(jù)是不關注(“1”)還是非不關注(“0”)。寄存器REG2用于表示相應的行是在每個TCAM單元中寫入數(shù)據(jù)的有效條目(“1”)還是沒有寫入數(shù)據(jù)的無效條目(“0”)。寄存器REG3用于設置相應行的所有單元數(shù)據(jù)是不關注(“1”)還是非不關注(“0”)。

      對每個寄存器的數(shù)據(jù)寫入可以通過TCAM器件內(nèi)的專用電路來執(zhí)行(例如圖19所示的數(shù)據(jù)確定電路33),或者可以通過TCAM器件外的處理器來執(zhí)行(例如圖6所示的NPU 101)。

      參見圖27A,緊接在開始供電之后,所有的寄存器REG1、REG2和REG3處于非固定狀態(tài)。在圖27A中,使用陰影來表示處于非固定狀態(tài)的寄存器。

      參見圖27B,在TCAM器件中寫入數(shù)據(jù)之前的初始狀態(tài)中,向每個寄存器REG1設置“1”(不關注),向每個寄存器REG2設置“0”(無效),并且向每個寄存器REG3設置“1”(不關注)。

      圖27C概括性示出在TCAM器件中寫入ACL規(guī)則文件之后的狀態(tài)(可搜索狀態(tài))。如圖27C所示,數(shù)據(jù)已經(jīng)寫入在子陣列SA[0,0]的所有行的TCAM單元中。數(shù)據(jù)沒有寫入在子陣列SA[1,0]的一些行的TCAM單元中。數(shù)據(jù)沒有寫入在子陣列SA[2,0]的任何行的TCAM單元中。

      當寫入數(shù)據(jù)在某一行的TCAM單元中時,與相關行對應的寄存器REG2的值從“0”(無效)改變到“1”(有效),并且在很多情況下,寄存器REG3的值從“1”(不關注)改變到“0”(非不關注)。然而,當相關行的所有單元數(shù)據(jù)是不關注時,寄存器REG3的值保持在“1”。當“1”或“0”的值(即,除了不關注以外)寫入到子陣列的TCAM單元中的一個時,寄存器REG1的值從“1”(不關注)改變到“0”(非不關注)。

      由于根據(jù)上述過程對每個寄存器執(zhí)行數(shù)據(jù)寫入,如圖27C所示,在已經(jīng)在所有行的TCAM單元中寫入數(shù)據(jù)的子陣列SA[0,0]中,寄存器REG1設置為“0”(非不關注),每個寄存器REG2設置為“1”(有效),并且每個寄存器REG3設置為“0”(非不關注)。與每行對應的匹配放大器MA基于寫入到每個TCAM單元中的數(shù)據(jù)和搜索數(shù)據(jù)相應部分的比較結果來輸出“H”電平(匹配)信號或“L”電平(錯失)信號。

      在數(shù)據(jù)已經(jīng)被寫入到一些行的TCAM單元的子陣列SA[1,0]中,寄存器REG1被設置為“0”(非不關注)。由其中已經(jīng)寫入數(shù)據(jù)的有效條目對應的寄存器REG2和REG3被分別設置為“1”(有效)和“0”(非不關注)。與這些行對應的匹配放大器MA基于搜索結果來輸出信號(“H”電平(匹配)或“L”電平(錯失))。

      另一方面,在子陣列SA[1,0]中,與其中沒有寫入數(shù)據(jù)的無效條目對應的寄存器REG2和REG3的值沒有改變,且分別保持在初始階段設置的“0”(無效)和“1”(不關注)。與這些行對應的匹配放大器MA根據(jù)寄存器REG2的值“0”(無效)來輸出處于“L”電平(錯失)的信號。對于未使用的區(qū)域,寄存器REG2和REG3的值分別被設置為“0”(無效)和“1”(不關注);因而,匹配線ML的預充電操作停止且匹配放大器MA的電路操作停止。因而,可以減少TCAM器件的功耗。

      在所有TCAM單元中沒有寫入數(shù)據(jù)的子陣列SA[2,0]中,寄存器REG1、REG2和REG3的值沒有改變,分別保持在初始設置中設置的值“1”(不關注)、“0”(無效)和“1”(不關注)。與每行對應的匹配放大器MA根據(jù)寄存器REG2的值“0”(無效)輸出處在“L”電平(錯失)的信號。由于寄存器REG1的值被設置在“1”(不關注),子陣列SA[2,0]的搜索操作可以停止(即,可以停止匹配線ML的預充電、搜索線驅動器22和匹配放大器MA的電路操作)。因而,可以減少電流消耗。

      這樣,通過對寄存器REG1、REG2和REG3中每個的值進行初始設置并且通過根據(jù)在向TCAM單元寫入數(shù)據(jù)時寫入數(shù)據(jù)的值來改變存儲器REG1、REG2和REG3中每個的值,可以有效且容易地設置每個寄存器的值。

      當包括了圖22所示的匹配放大器MA時,即使寄存器REG3的值被設置為“0”(非不關注),只要寄存器REG2的值被設置為“0”(無效),也可以停止匹配線ML的預充電和匹配放大器MA的電路操作。因而,在這種情況下,寄存器REG3的值可以在圖27B的初始設置中被設置為“0”(非不關注)。

      <第七實施例>

      只有當耦合到每個子陣列的匹配線ML的所有TCAM單元被設置為不關注時,才可以應用上述第一實施例至第六實施例中描述的TCAM器件的低功耗技術。因而,即使在其中相對較大數(shù)目的被設置為不關注的TCAM單元連續(xù)定位的情況下,如果這些TCAM單元延伸通過兩個匹配線,并且如果被設置為“1”或“0”的TCAM單元被包括在每個匹配線中,也不可以應用上述的低功耗技術。

      在第七實施例中,通過改變TCAM單元數(shù)據(jù)的布置,上述的低功耗技術可以應用在上述的情況中。此后,參考附圖進行詳細描述。以下解釋采用的輸入數(shù)據(jù)的比特寬度和輸入數(shù)據(jù)的劃分數(shù)目是示例且不限于這個示例。

      圖28A和28B是示出輸入數(shù)據(jù)的陣列轉換的示意性示圖。圖28A示出以下示例:在輸入數(shù)據(jù)的比特寬度是32比特時,數(shù)據(jù)按照這個順序輸入到兩個子陣列SA_0和SA_1,而沒有執(zhí)行陣列轉換。即,在數(shù)據(jù)寫入時,32比特寫入數(shù)據(jù)中前一半的16比特寫入數(shù)據(jù)(比特號0-15)分別寫入到子陣列SA_0的16個TCAM單元中(比特號0-15),且后一半的16比特寫入數(shù)據(jù)(比特號16-31)分別寫入到子陣列SA_1的16個TCAM單元中(比特號16-31)。類似地在搜索時,32比特輸入搜索數(shù)據(jù)中前一半的16比特搜索數(shù)據(jù)(比特號0-15)分別輸入到子陣列SA_0的16個TCAM單元中(比特號0-15),且后一半的16比特搜索數(shù)據(jù)(比特號16-31)分別輸入到子陣列SA_1的16個TCAM單元中(比特號16-31)。

      此處,在沒有執(zhí)行陣列轉換時,如圖28A所示,假設“1”或“0”的數(shù)據(jù)從比特號0至比特號9以及從比特號29至比特號31被寫入在每個TCAM單元中(附圖中的黑色方形)。還假設表示不關注的數(shù)據(jù)被寫入在從比特號10至比特號28的19個連續(xù)TCAM單元(附圖中的陰影方形)中的每個中。在這種情況下,有16個或更多個表示不關注的數(shù)據(jù)位,并且它們是連續(xù)的;然而,儲存表示不關注的數(shù)據(jù)的TCAM單元涉及子陣列SA_0和子陣列SA_1。因而,除了被設置為不關注的TCAM單元以外,被設置為“0”或“1”的TCAM單元也耦合到匹配線ML_0和ML_1中的每個。因此,可以利用上述的低功耗技術。

      圖28B的示例改變了圖28A的示例中的數(shù)據(jù)陣列,使得耦合到子陣列SA_1的匹配線ML_1的所有TCAM單元被設置為不關注。因而,可以應用上述的低功耗技術。具體來說,數(shù)據(jù)陣列被改變,并且輸入數(shù)據(jù)(寫入數(shù)據(jù)和搜索數(shù)據(jù))中比特號29-31的部分的布置順序被向前移動使得所述部分的數(shù)據(jù)被分別輸入到比特號10-12的TCAM單元中。此外,數(shù)據(jù)陣列被改變,并且輸入數(shù)據(jù)中比特號10-28的部分的布置順序被向下移動使得所述部分的數(shù)據(jù)被分別輸入到比特號13-31的TCAM單元中。結果,如圖28B所示,可以將耦合至子陣列SA_1的匹配線ML_1的所有TCAM單元(比特號16-31)設置為不關注(附圖中的陰影方形)。因此,可以應用上述的低功耗技術(停止匹配線ML_1的預充電以及停止匹配放大器MA_1的操作)。

      圖29是示出根據(jù)第七實施例的搜索系統(tǒng)的配置的框圖。圖29所示的搜索系統(tǒng)120與圖6所示的搜索系統(tǒng)120區(qū)別在于進一步包括了用于轉換數(shù)據(jù)陣列的開關電路110(此后稱為數(shù)據(jù)陣列轉換開關)。圖29示出了128比特的示例作為輸入數(shù)據(jù)din的比特數(shù)目。

      參見圖29,存儲在存儲器件102中的ACL規(guī)則文件通過包括在NPU(網(wǎng)絡處理器單元)101中數(shù)據(jù)轉換器103被轉換成TCAM數(shù)據(jù)。TCAM數(shù)據(jù)包括三個值:“0”、“1”和“不關注”(“1”或“0”)。TCAM數(shù)據(jù)從NPU 101的數(shù)據(jù)輸出電路105輸入到數(shù)據(jù)陣列轉換開關110作為輸入數(shù)據(jù)din[0:127]。

      數(shù)據(jù)陣列轉換開關110根據(jù)提前確定的規(guī)則來改變輸入數(shù)據(jù)din[0:127](寫入數(shù)據(jù)和搜索數(shù)據(jù))的布置順序。數(shù)據(jù)陣列轉換開關110在改變完布置順序之后將輸入數(shù)據(jù)輸入到TCAM器件100的數(shù)據(jù)輸入電路31[0]-31[3]。在圖29的情況下,數(shù)據(jù)輸入電路31[0]-31[3]被劃分為對應于每個子陣列的4個(例如,數(shù)據(jù)輸入電路31[0]對應于比特號0-31)。數(shù)據(jù)陣列轉換開關110中的轉換規(guī)則基于TCAM數(shù)據(jù)的分析結果通過包括在NPU 101中的數(shù)據(jù)分析器104來確定。

      圖30是示意性示出TCAM器件的存儲狀態(tài)的圖,其中寫入了TCAM數(shù)據(jù)的示例作為數(shù)據(jù)陣列轉換的目標。圖30所示的示出存儲狀態(tài)的附圖對應于圖9,并且與圖9的不同之處在于存儲不關注數(shù)據(jù)的區(qū)域211的布置(附圖中密的陰影區(qū)域)。圖30中所示的其他點與圖9所示的相同。因此,相同的附圖標記用于相同或相應的元件并且省略對其重復描述。

      在圖30所示的TCAM數(shù)據(jù)布置的情況下,存在其中表示不關注的區(qū)域的比特寬度超過子陣列SA的比特寬度32比特的區(qū)域,然而,不存在其中不關注被設置在一個子陣列SA的全部比特寬度中的區(qū)域。因此,不能應用上述第一實施例至第六實施例的低功耗技術。

      因此,例如利用圖29所述的數(shù)據(jù)陣列轉換開關來改變比特號26-31的部分的所有數(shù)據(jù)以及比特號58-63的部分的所有數(shù)據(jù)。根據(jù)這種數(shù)據(jù)陣列轉換,在比特號32-63的部分的16個子陣列SA[0,1]和SA[1,1]-SA[15,1]中,除有效條目以外的所有的TCAM單元數(shù)據(jù)可以被設置為不關注。結果,在子陣列SA[0,1]和SA[1,1]-SA[15,1]中的每個中,通過將寄存器REG1設置為“1”(不關注),可以停止搜索操作。對于子陣列SA[15,1],通過將無效條目的寄存器REG2設成“0”(無效),可以將匹配放大器MA的輸出信號設置為“L”電平(錯失)。

      如上所述,第七實施例公開了在以下情況下能夠實現(xiàn)低功耗的技術:在該情況中關于TCAM器件除了無效條目以外的所有條目,具有數(shù)據(jù)寬度大于子陣列的比特寬度的區(qū)域被設置為不關注。在這種情況下,即使當耦合到子陣列的匹配線的所有TCAM單元沒有被設置為不關注,通過根據(jù)與每個匹配線對應的比特號來改變數(shù)據(jù)陣列,也可以利用在這個實施例中描述的低功耗技術。因此,為了建立低功耗的搜索系統(tǒng),例如,在說明書中可以為用戶開放每個匹配線所對應的比特號。

      在上述實施例中,針對TCAM器件的全部條目來改變數(shù)據(jù)陣列。然而,通過提供用于改變每個子陣列SA中數(shù)據(jù)陣列的開關電路,可以按照屬于子陣列的條目為單位來改變數(shù)據(jù)陣列。

      <第八實施例>

      在第一實施例至第七實施例中,所有子陣列在幾乎相同的時序執(zhí)行搜索操作,并且優(yōu)先級編碼器基于每個子陣列的輸出信號來輸出搜索結果。第八實施例公開了以下示例:其中布置在行方向的多個子陣列(相應對應于公共條目)在管線系統(tǒng)中順序執(zhí)行搜索。在這種情況下,每個子陣列在相應的前一級子陣列的搜索操作結束后啟動搜索操作。

      圖31是示出根據(jù)第八實施例的TCAM器件的配置的框圖。在圖31所示的TCAM器件中,有代表性地示出了四個子陣列SA_0-SA_3,且沒有示出優(yōu)先級編碼器。按照子陣列SA_0、子陣列SA_1、子陣列SA_2和子陣列SA_3的順序來執(zhí)行搜索操作。每個子陣列SA設有m+1個匹配線ML。

      如圖31所示,在子陣列SA_0中,搜索后的匹配線ML_0,j(j=0,1,2,…,m)的電勢和電源電勢VDD被輸入到相應的匹配放大器MA,輸出信號mo_0,j從匹配放大器MA輸出。類似地,在子陣列SA_i(i=1,2,3)中,搜索后的匹配線ML_i,j(j=0,1,2,…,m)的電勢和子陣列SA_i-1,j的輸出信號mo_i-1,j(j是同一條目的前一級)被輸入到相應的匹配放大器MA,且輸出信號mo_i,j從匹配放大器MA輸出。

      圖32是示出圖31所示的匹配放大器MA的配置的示例的電路圖。圖32的匹配放大器MA示出了耦合到圖31中所示的子陣列SA_i(i=0,1,2,3)的匹配線ML_i,j(j=0,1,2,…,m)的匹配放大器配置的示例。圖32示出了改變圖13所示的匹配放大器MA的配置之后的配置。然而,也可以類似地改變圖16、圖18和圖22所示的匹配放大器MA中的每個。

      具體來說,圖32所示的匹配放大器MA還向圖13(或圖16、圖18和圖22)所示的匹配放大器MA增加了D觸發(fā)器83、與非門84、反相器85和與門26。D觸發(fā)器83和與門26在圖32中被示出為提供在匹配放大器MA內(nèi)。但是,D觸發(fā)器83和與門26只需要分別對應于用于每個條目的匹配放大器MA來提供;因而,D觸發(fā)器83和與門26可以提供在匹配放大器MA以外。

      D觸發(fā)器83保持在前一級(前一循環(huán)中的搜索結果)中的子陣列的相應行的匹配放大器MA的輸出信號mo_pre。然而,對于在搜索周期的開始執(zhí)行搜索操作的子陣列SA_0(即,i=0),電源電勢VDD被輸入來代替前一級的相應行的匹配放大器MA的輸出信號。

      在圖13所示的改變之前輸入到電路中的P溝道MOS晶體管70的柵極的信號通過反相器85反相邏輯電平且在改變后被輸入到與非門84的第二輸入節(jié)點。上述D觸發(fā)器83的輸出信號mo_pre(前一周期的搜索結果)被輸入到與非門84的第一輸入節(jié)點。與非門84的運算結果被輸入到MOS晶體管70的柵極。

      因而,當上述D觸發(fā)器83的輸出信號mo_pre(前一周期的搜索結果)處于“L”電平時(錯失),“H”電平的信號被輸入到MOS晶體管70的柵極。結果,MOS晶體管70一直變?yōu)殛P斷來停止匹配線ML的預充電。

      與門26將上述D觸發(fā)器83的輸出信號mo_pre(前一周期的搜索結果)與圖13(或圖16、圖18和圖22)所示的改變之前的配置的匹配放大器MA情況下的輸出信號mo_now執(zhí)行與運算,并輸出運算結果作為匹配放大器MA的輸出信號mo。與門26對應于圖5所示的與門,且可以被視作是圖5所示的與門26布置在匹配放大器MA內(nèi)。

      因而,當上述D觸發(fā)器83的輸出信號mo_pre(前一周期相應行的搜索結果)是“L”電平(錯失)時,與門26的輸出信號(即匹配放大器MA的輸出信號mo)變?yōu)椤癓”電平(錯失)。圖32所示的其它元件與圖13(或圖16、圖18和圖22)所示的匹配放大器MA相同。因此,相同的附圖標記用于相同或相應的元件并且省略對其重復描述。

      圖33是示出圖31所示的TCAM器件的操作的示意性視圖。每個匹配放大器MA的陰影區(qū)域表示TCAM數(shù)據(jù)是不關注。

      在第一周期中,子陣列SA_0執(zhí)行搜索操作。每個條目的搜索結果(在命中情況下是“1”而在錯失情況下是“0”)存儲在下一級的子陣列SA_1的匹配放大器單元23的相應行的D觸發(fā)器83中。在如圖32所示在D觸發(fā)器83中存儲“0”時,在下一第二周期中停止對應行的匹配線ML的預充電。

      在第二周期中,在子陣列SA_1的行中,通常僅針對前一級中子陣列SA_0的搜索操作中命中的行執(zhí)行搜索操作。然而,在圖33的情況下,子陣列SA_1的所有TCAM單元的數(shù)據(jù)被設置為不關注。因此,通過將寄存器REG1設置為“1”(不關注),整個子陣列SA_1的搜索操作停止。在第一周期中成為命中的條目的輸出信號自動變?yōu)槊?,并且在下一級中在子陣列SA_2的匹配放大器單元23的相應D觸發(fā)器中寫入“0”。

      在第三周期中,在子陣列SA_2的行中,僅針對從子陣列SA_1輸入表示命中的信號的行執(zhí)行搜索操作。針對在D觸發(fā)器83中存儲“0”的行停止匹配線預充電。對于子陣列SA_2中搜索結果已經(jīng)命中的行,在下一級中在子陣列SA_3的匹配放大器單元23的相應D觸發(fā)器中存儲“1”。在子陣列SA_3的其它行的D觸發(fā)器83中存儲“0”。

      在第四周期中,對子陣列SA_3的TCAM單元陣列執(zhí)行搜索操作。在這種情況下,除了與匹配線220和221對應的行以外,針對在前一級中從子陣列SA_2輸入表示命中的信號的行執(zhí)行搜索操作。由于耦合到匹配線220和221的所有TCAM單元被設置為不關注,通過將寄存器REG3設置為“1”(不關注),可以停止這些匹配線220和221的預充電以及相應匹配放大器MA的電路操作。從耦合到匹配線220和221的匹配放大器MA,可以自動輸出表示命中的信號至優(yōu)先級編碼器30。搜索結果也從執(zhí)行了搜索操作的其它行的匹配放大器MA被輸出到優(yōu)先級編碼器30。

      這樣,在第八實施例中,結合參考第一實施例至第七實施例描述的低功耗技術,在管線系統(tǒng)中順序搜索布置在行方向上的多個子陣列,并且僅僅針對在前一周期中變?yōu)槊械臈l目執(zhí)行搜索操作。因此,可以減少功耗。

      如以上所述,基于一些實施例已經(jīng)具體描述了本發(fā)明人完成的發(fā)明。然而,不必過分強調(diào),本發(fā)明不限于上述實施例,而是可以在不離開本發(fā)明精神的范圍內(nèi)進行各種改變。

      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1