TWI508074B - 混合三元內容可定址記憶體 - Google Patents

混合三元內容可定址記憶體 Download PDF

Info

Publication number
TWI508074B
TWI508074B TW102148450A TW102148450A TWI508074B TW I508074 B TWI508074 B TW I508074B TW 102148450 A TW102148450 A TW 102148450A TW 102148450 A TW102148450 A TW 102148450A TW I508074 B TWI508074 B TW I508074B
Authority
TW
Taiwan
Prior art keywords
tcam
mask
search word
comparison
key
Prior art date
Application number
TW102148450A
Other languages
English (en)
Other versions
TW201440053A (zh
Inventor
Rakesh Vattikonda
Nishith Desai
Changho Jung
Sei Seung Yoon
Esin Terzioglu
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW201440053A publication Critical patent/TW201440053A/zh
Application granted granted Critical
Publication of TWI508074B publication Critical patent/TWI508074B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements

Landscapes

  • Static Random-Access Memory (AREA)
  • Logic Circuits (AREA)

Description

混合三元內容可定址記憶體
本案一般係關於三元內容可定址記憶體(TCAM)。具體而言,本案係關於TCAM的混合架構。
TCAM通常被用於路由器和乙太網路交換機中以用於網際網路協定(IP)位址轉發。記憶元件通常使用動態NOR/NAND(或非/與非)類型單元來設計。
內容可定址記憶體(CAM)支援讀取操作、寫入操作以及比較操作。與CAM中條目的寬度(例如,每字位元)相同的比較匯流排在時鐘邊沿處輸入。比較匯流排的資料與CAM之每一者條目同時進行比較。亦即,比較是並行發生的,因此匯流排可在一個時鐘循環期間與CAM之每一者條目進行比較。當條目之每一者位元與比較匯流排中的對應位元相匹配時,條目是匹配。替換地,當條目中的任何位元與比較匯流排中的對應位元不相匹配時,條目是失配。CAM中的條目的位元或為0,或為1。
TCAM類似於CAM,外加可儲存於單元中的遮罩值 。遮罩值可被稱為本端遮罩。遮罩值不與比較位元進行比較,由此比較結果將總是匹配。
圖1圖示習知TCAM 100的架構。如圖1中所圖示的,搜尋字(諸如,「1101」)被輸入到TCAM 100的暫存器150。搜尋字與TCAM單元110中所儲存的值進行比較。TCAM通常每級具有16個TCAM單元。搜尋跨TCAM單元110同時進行。TCAM單元110的內容可以是高位元(1)、低位元(0)或遮罩值(X)。在搜尋之前,每組TCAM單元120-126的匹配線130-136被設置為高。匹配線130-136被輸入到優先順序編碼器140。TCAM 100輸出(ML輸出 )與搜尋字線相匹配的那組TCAM單元的位址。由於搜尋是並行搜尋,所以搜尋可在一個時鐘循環中完成。應注意,遮罩值可以是0或1,此外,在本案中,遮罩值可被稱為X。
作為示例,如圖1中所圖示的,第一組TCAM單元120被設置成「1 X 0 1」,第二組TCAM單元122被設置成「1 0 X 1」,第三組TCAM單元124被設置成「1 1 X X」,並且第四組TCAM單元126被設置成「1 X 1 X」。在將TCAM單元的內容與搜尋位元進行比較時,在TCAM單元的內容為遮罩值X的情況下,比較將產生匹配。因此,根據圖1中所圖示的示例,第一組TCAM單元120和第三組TACM單元124與暫存器150中的搜尋字相匹配。相應地,第一組TCAM單元120和第三組TCAM單元124的匹配線130、134將指示匹配,並且優先順序編碼器140輸出第一組TCAM單元120和第三組TCAM單元124的位址。
習知TCAM架構是動態電路並且具有高動態功率耗散。在一些情形中,TCAM可具有動態NAND架構。在其他情形中,TCAM可具有動態NOR架構。
圖2圖示了習知動態NAND TCAM 200。如圖2中所圖示的,動態NAND架構200包括從上拉電晶體210經由預充電線PRE#充電的匹配線MLNAND 。匹配線MLNAND 被連接至一連串中間匹配線ML0 -MLn-1 。中間匹配線ML0 -MLn-1 中的每一條中間匹配線經由傳輸閘被耦合至遮罩單元Mask0 -Maskn-1 和鍵單元Key0 -Keyn-1 。傳輸閘包括耦合至鍵單元Key0 -Keyn-1 的鍵NMOS電晶體202以及耦合至遮罩單元Mask0 -Maskn-1 的遮罩NMOS電晶體204。
遮罩單元Mask0 -Maskn-1 的內容在展開遮罩單元222中圖示。如展開遮罩單元222中所示,遮罩單元Mask0 -Maskn-1 是SRAM單元,其包括遮罩值M、遮罩值逆(bar)M#、遮罩字線WLM、遮罩位元線BLM以及遮罩位元線逆BLM#。鍵單元Key0 -Keyn-1 的內容在展開鍵單元220中圖示。如展開鍵單元220中所示,鍵單元Key0 -Keyn-1 是具有XNOR邏輯的SRAM單元。鍵單元Key0 -Keyn-1 亦包括搜尋線SL、搜尋線逆SL#、鍵位元線BLK、鍵位元線逆BLK#、鍵值K、鍵逆值K#以及鍵寫入線WLK。
在動態NAND TCAM架構中,匹配線被預充電為高並在評估為低時指示匹配。亦即,預充電信號在每個循環期間被用於每條匹配線以將匹配線設置為高。取決於遮罩單元或鍵單元的狀態,匹配線可被拉低或保持為高。每條中間匹 配線與遮罩單元及鍵單元相關聯。此外,每個鍵單元亦包括XNOR邏輯。動態NAND TCAM使用串列操作。因此,當先前的中間匹配線(n-2)被拉低以指示匹配時,中間匹配線(n-1)可放電。亦即,當存在匹配時操作從一條中間匹配線(n-2)繼續到後續中間匹配線(n-1),而當存在失配時,停止穿過中間匹配線前進。
在動態NOR TCAM架構中,匹配線被預充電為高並在評估為低時指示失配。大多數比較產生失配,因此動態NOR由於從高向低切換以指示失配而具有增加的功耗。此外,動態NOR具有複雜的定時控制,這是因為預充電信號在每個時鐘循環中被每個匹配線使用。
圖3圖示習知動態NOR TCAM 300。如圖3中所圖示的,動態NOR TCAM 300包括鍵單元Key0 -Keyn-1 和遮罩單元Mask0 -Maskn-1 。通常,NOR TCAM(諸如圖3的NOR TCAM 300)可具有16個鍵單元和遮罩單元。資料是經由搜尋線(SL0 -SLn-1 和SL0 #-SLn-1 #)輸入的。資料與鍵單元Key0 -Keyn-1 和遮罩單元Mask0 -Maskn-1 中所儲存的值進行比較。匹配線MLNOR 從上拉電晶體303經由預充電線PRE#預充電為高。當經由搜尋線(SL0 -SLn-1 和SL0 #-SLn-1 #)之一輸入的資料與單元Key0 -Keyn-1 、Mask0 -Maskn-1 之一中所儲存的資料之間存在失配時,匹配線MLNOR 將評估為低。當所有單元Key0 -Keyn-1 、Mask0 -Maskn-1 的值匹配於輸入資料時,匹配線保持為高。
鍵單元Key0 -Keyn-1 的結構在展開鍵單元330中圖示,而遮罩單元Mask0 -Maskn-1 的結構在展開遮罩單元333中圖 示。如展開鍵單元330中所圖示的,鍵單元Key0 -Keyn-1 是經由SRAM單元來實現的。在比較操作期間,鍵逆K#與搜尋線SL進行與操作。鍵單元Key0 -Keyn-1 包括位元線BLK、位元線逆BLK#以及字線WLK。
如展開遮罩單元333中所圖示的,遮罩單元Mask0 -Maskn-1 是經由SRAM單元來實現的。在比較操作期間,遮罩逆K#與搜尋線逆SL#進行與操作。遮罩單元Mask0 -Maskn-1 包括位元線BLM、位元線逆BLM#以及字線WLM。
如以上所討論的,在動態NOR TCAM中,匹配線在每個循環的開始時被預充電為高,並且匹配線評估為低以指示失配。TCAM中的單元的大多數比較產生失配。因此,動態NOR TCAM的功耗由於指示失配時從高向低的切換而增加。在一些情形中,匹配線可被預放電為低以減小功耗。然而,即使在匹配線被預放電時,預充電操作在每個循環的開始時對匹配線充電。因此,匹配線的預充電導致功耗的增加以及附加的控制電路系統。
根據本案的一態樣,提供了一種混合三元內容可定址記憶體(TCAM)內的方法。方法包括在第一TCAM級中將搜尋字的第一部分與所儲存的字的第一部分進行比較。方法亦包括當搜尋字的第一部分與所儲存的字的第一部分相匹配時,在第二TCAM級中將搜尋字的第二部分與所儲存的字的第二部分進行比較。第一TCAM級不同於第二TCAM級。
根據本案的另一個態樣,提供了混合TCAM。該混合TCAM包括配置成將搜尋字的第一部分與所儲存的字的第一部分進行比較的第一TCAM級。該TCAM亦包括配置成當搜尋字的第一部分與所儲存的字的第一部分相匹配時將搜尋字的第二部分與所儲存的字的第二部分進行比較的第二TCAM級。第一TCAM級不同於第二TCAM級。
根據本案的又一態樣,提供了一種混合TCAM。混合TCAM包括用於將搜尋字的第一部分與所儲存的字的第一部分進行比較的第一裝置。TCAM亦包括用於當搜尋字的第一部分與所儲存的字的第一部分相匹配時將搜尋字的第二部分與所儲存的字的第二部分進行比較的第二裝置。用於比較的第一裝置不同於用於比較的第二裝置。
這已較寬泛地勾勒出本案的特徵和技術優勢以力圖使下面的詳細描述可以被更好地理解。本案的其他特徵和優點將在下面描述。熟習此項技術者應該領會,本案可容易地被用作改動或設計用於實施與本案相同的目的的其他結構的基礎。熟習此項技術者亦應認識到,此類等效構造並不脫離所附請求項中所闡述的本案的教導。被認為是本案的特性的新穎特徵在其組織和操作方法兩個態樣連同進一步的目的和優點在結合附圖來考慮以下描述時將被更好地理解。然而要明確理解的是,提供每一幅附圖均僅用於圖示和描述目的,且無意作為對本案的限定的定義。
100‧‧‧三元內容可定址記憶體
110‧‧‧TCAM單元
120‧‧‧一組TCAM單元
122‧‧‧一組TCAM單元
124‧‧‧一組TCAM單元
126‧‧‧一組TCAM單元
130‧‧‧匹配線
132‧‧‧匹配線
134‧‧‧匹配線
136‧‧‧匹配線
140‧‧‧優先順序編碼器
150‧‧‧暫存器
200‧‧‧動態NAND TCAM
202‧‧‧鍵NMOS電晶體
204‧‧‧遮罩NMOS電晶體
210‧‧‧上拉電晶體
220‧‧‧展開鍵單元
222‧‧‧展開遮罩單元
300‧‧‧動態NOR TCAM
303‧‧‧上拉電晶體
330‧‧‧展開鍵單元
333‧‧‧展開遮罩單元
400A‧‧‧偽NOR TCAM級
400B‧‧‧偽NOR TCAM級
410A‧‧‧NOR下拉網路
410B‧‧‧NOR下拉網路
414A‧‧‧PMOS堆疊
414B‧‧‧PMOS堆疊
435A‧‧‧下拉電晶體
435B‧‧‧下拉電晶體
440A‧‧‧反相器
440B‧‧‧反相器
500‧‧‧偽NOR TCAM級
510‧‧‧NOR下拉網路
514‧‧‧PMOS堆疊
535‧‧‧下拉電晶體
540‧‧‧反相器
550‧‧‧展開鍵單元
555‧‧‧展開遮罩單元
560‧‧‧輸入級
600‧‧‧靜態NAND TCAM
602‧‧‧鍵NMOS電晶體
604‧‧‧遮罩NMOS電晶體
612‧‧‧第一PMOS電晶體
614‧‧‧第二PMOS電晶體
620‧‧‧展開鍵位元單元
622‧‧‧展開遮罩單元
700‧‧‧混合TCAM
702‧‧‧匹配線輸出
704‧‧‧匹配線輸出
710‧‧‧介面單元
720‧‧‧編碼器/解碼器
722‧‧‧編碼器
724‧‧‧解碼器
770‧‧‧靜態NAND TCAM
780‧‧‧偽NOR TCAM
800‧‧‧混合TCAM
802‧‧‧方塊
804‧‧‧方塊
806‧‧‧方塊
900‧‧‧無線通訊系統
920‧‧‧遠端單元
925A‧‧‧混合TCAM
925B‧‧‧混合TCAM
925C‧‧‧混合TCAM
930‧‧‧遠端單元
940‧‧‧基地台
950‧‧‧遠端單元
980‧‧‧前向鏈路信號
990‧‧‧反向鏈路信號
1000‧‧‧設計工作站
1001‧‧‧硬碟
1002‧‧‧顯示器
1003‧‧‧驅動裝置
1004‧‧‧儲存媒體
1010‧‧‧電路設計
1012‧‧‧半導體元件
本案的特徵、本質和優點將因以下結合附圖闡述的 具體描述而變得更加明顯。
圖1圖示了TCAM記憶體系統。
圖2圖示了現有技術動態NAND架構。
圖3圖示了現有技術動態NOR架構。
圖4和5圖示了根據本案各態樣的偽NOR架構。
圖6圖示了根據本案一態樣的靜態NAND架構。
圖7A和圖7B圖示了根據本案一態樣的混合TCAM架構。
圖8是圖示根據本案一態樣的用於操作圖7A和7B的混合TCAM架構的方法的流程圖。
圖9圖示了其中可有利地採用本案的實施例的示例性無線通訊系統。
圖10是示出根據本案一態樣的用於半導體元件的電路、佈局以及邏輯設計的設計工作站的方塊圖。
以下結合附圖闡述的詳細描述旨在作為各種配置的描述,而無意表示可實踐本文中所描述的概念的僅有的配置。本詳細描述包括具體細節以便提供對各種概念的透徹理解。然而,對於熟習此項技術者將明顯的是,沒有這些具體細節亦可實踐這些概念。在一些實例中,以方塊圖形式示出眾所周知的結構和元件以避免湮沒此類概念。
期望提供具有高效能和低功耗的TCAM。本案的各態樣提供了靜態NAND TCAM記憶元件和偽NOR TCAM記憶元件的組合,其具有高效能和低功耗。使用靜態NAND和偽 NOR的組合的TCAM可被稱為混合TCAM。在本案中,靜態NAND TCAM記憶元件可被稱為靜態NAND TCAM,而偽NOR TCAM記憶元件可被稱為偽NOR TCAM。
根據本案,偽NOR TCAM不將複雜的定時控制電路系統用於匹配線預充電,這是因為匹配線(ML)在每個循環之前不被預充電。在本態樣,偽NOR TCAM使用偽NMOS柵極,該偽NOMS柵極將PMOS電晶體堆疊用作上拉設備並將NOMS電晶體用作下拉設備。偽NMOS柵極可被稱為偽NOR柵極。
圖4圖示了根據本案的一態樣的偽NOR TCAM級400A和400B的架構。如圖4中所圖示的,偽NOR TCAM級400A包括接收來自一組搜尋線SL0 ...SLn-1 和搜尋線補集SL0 #...SLn-1 #的輸入的NOR下拉網路410A。雖然圖4僅圖示了兩個偽NOR TCAM級(400A和400B),但在實現中,TCAM行(其儲存TCAM條目)可具有m個偽NOR級,這m個偽NOR級中的每一個具有n個單元。因此,每個TCAM條目(其儲存於TCAM行中)可包括由n×m個單元儲存的n×m個值。每個單元包括遮罩單元和鍵單元,如以下進一步描述的。雖然至偽NOR TCAM級400A和400B的搜尋線和搜尋線逆輸入兩者以相同方式標注,但搜尋線和搜尋線逆輸入中的每一者皆是唯一的。
此外,偽NOR TCAM級400A亦可包括匹配線輸出Match-outm-2 以及耦合至匹配線輸出Match-outm-2 的反相器440A。而且,NOR下拉網路410A亦耦合至PMOS堆疊414A。 PMOS堆疊414A包括兩個PMOS電晶體並接收來自匹配線輸入Match-inm-2 的輸入。偽NOR可包括PMOS堆疊414A和下拉電晶體435A。應注意,PMOS堆疊414A並不限於兩個PMOS電晶體。本案的各態樣構想了僅具有單個弱PMOS電晶體的堆疊、或具有兩個以上弱PMOS電晶體的堆疊。
應注意,匹配線輸入(Match-in)是先前的NOR下拉網路(例如,偽NOR)的匹配線輸出(Match-out)。亦即,至偽NOR(偽NOR TCAM級400B)的匹配線輸入被耦合至先前的NOR級(偽NOR TCAM級400A)的匹配線輸出。例如,如圖4中所圖示的,偽NOR TCAM級400A的匹配線輸出Match-outm-2 是後續的偽NOR TCAM級400B的匹配線輸入Match-inm-1 。圖4的偽NOR TCAM級400A和400B的架構是相似的。具體而言,偽NOR TCAM級400B亦包括NOR下拉網路410B、下拉電晶體435B、PMOS堆疊414B以及反相器440B。在本案中,每個偽NOR(例如,400A和400B)可被稱為TCAM級。
在一種配置中,各TCAM級(例如,偽NOR TCAM級400A和偽NOR TCAM級400B)可被串聯連接以形成由m個TCAM級(0...m-1)構成的一行。每個TCAM級包括n個(0...n-1)搜尋線、鍵單元和遮罩單元。圖4的每個偽NOR(例如,400A和400B)的搜尋線輸入是TCAM的多條搜尋線的示例性輸入。應注意,在一些態樣,搜尋線、鍵單元和遮罩單元的數目可在每個TCAM級之間變化。亦即,一個TCAM級(諸如,偽NOR TCAM級400A)的(0...n-1)搜尋線、鍵單元和遮罩單元的n值 可以不同於另一個TCAM級(諸如,偽NOR TCAM級400B)的(0...n-1)搜尋線、鍵單元和遮罩單元的n值。
經由串聯連接各偽NOR節省了功率。具體而言,將上拉電晶體(例如,PMOS堆疊)的柵極連接至先前的偽NOR的匹配線輸出節省了功率,這是因為當未指定比較時(例如,當先前的匹配線輸出/匹配線輸入指示先前的比較為失配時),先前的匹配線輸出充當用於關斷上拉電晶體的控制信號。更具體地,至NOR下拉網路的PMOS堆疊的串聯連接是偽NOR的元件,該元件取代了習知動態NOR的預充電及/或預放電。
與TCAM的習知NOR架構相比,偽NOR提供了較高的速度和較低的電晶體計數。另外,偽NOR因上拉電晶體(PMOS堆疊)而具有靜態功耗,並具有減小的輸出電壓擺動。不過,鑒於靜態功耗的增加,仍期望偽NOR的整體速度改善。應注意,偽NOR的上拉電晶體應當足夠寬以傳導NMOS塊的漏電流,並且足夠窄以供NMOS塊安全地拉低輸出。
圖5圖示了根據本案的各態樣的示例性偽NOR TCAM級500。偽NOR TCAM級500是偽NOR級(諸如,圖4的偽NOR TCAM級400A和400B)的展開圖。
如圖5中所圖示的,偽NOR TCAM級500包括耦合至匹配線輸出Match-outm-1 的反相器540、耦合至匹配線輸入Match-inm-1 的PMOS堆疊514和耦合至匹配線輸入Match-inm-1 的下拉電晶體535以及NOR下拉網路510。NOR下拉網路510包括鍵單元Key0 -Keyn-1 和遮罩單元Mask0 -Maskn-1 。鍵單元和 遮罩單元的示例性結構在展開鍵單元550和展開遮罩單元555中更詳細地圖示。
在操作中,資料是經由搜尋線(SL0 -SLn-1 和SL0 #-SLn-1 #)提供的。資料與鍵單元Key0 -Keyn-1 和遮罩單元Mask0 -Maskn-1 中所儲存的值進行比較。如展開鍵單元550中所圖示的,鍵單元Key0 -Keyn-1 可使用SRAM單元來實現。在比較操作期間,鍵逆K#與搜尋線SL進行邏輯與。鍵單元Key0 -Keyn-1 包括位元線BL、BL#和鍵字線WLK。如展開遮罩單元555中所圖示的,遮罩單元Mask0 -Maskn-1 可經由SRAM單元來實現。在比較操作期間,遮罩逆M#與搜尋線逆SL#進行邏輯與。遮罩單元Mask0 -Maskn-1 包括位元線BL、BL#和遮罩字線WLM。亦即,遮罩單元Mask0 -Maskn-1 和鍵單元Key0 -Keyn-1 可各自共用相應的位元線,但可使用它們自己的字線,亦即,不同的字線。
偽NOR TCAM級500亦包括耦合至匹配線逆Match-outm-1 #的輸入級560。輸入級560接收來自先前的偽NOR級的匹配線輸出Match-outm-2 的輸入Match-inm-1 。如先前所討論的,輸入級560可包括下拉電晶體535和PMOS堆疊514。在一些情形中,偽NOR功能性指定對輸入級560和NOR下拉網路510的使用。最後,反相器540被耦合至匹配線逆Match-outm-1 #的末端。來自反相器540的輸出是匹配線輸出Match-outm-1
表1是遮罩位元和鍵位元的真值表。應注意,表1中的狀態是指記憶元件(鍵單元和遮罩單元)的狀態。當鍵位 元具有值0且遮罩位元具有值1時狀態為0,當鍵位元具有值1且遮罩位元具有值0時狀態為1,並且當遮罩位元和鍵位元均為1時狀態為X。狀態X是指既不存在匹配又不存在失配的遮罩狀態,更確切地,在搜尋線的值與遮罩單元及鍵單元的值之間不存在比較的遮罩狀態。因此,當狀態為X時,匹配線始終指示匹配。
如表2中所示,匹配線輸出Match-outm-1 將為0(低)以指示匹配。當狀態和搜尋線SLn-1 的值相等時發生匹配。此外,當狀態為X時,匹配線輸出Match-outm-1 將亦為低以指示匹配。最後,匹配線輸出Match-outm-1 將為1(高)以指示失配。當狀態的值不等於搜尋線SLn-1 的值時發生失配。
表2的匹配線輸出Match-outm-1 是偽NOR TCAM級500的反相器540的輸出。如圖5中所示,匹配線逆Match-outm-1 #在反相器540之前。當存在失配時,匹配線逆Match-outm-1 # 將評估為低。亦即,為了禁用串聯連接的偽NOR(例如,400A和400B)的進一步比較,後續的偽NOR的輸入級560被指定為接收高輸入,該高輸入將啟動下拉電晶體535以將後續的偽NOR的匹配線逆Match-outm-1 #拉低。因此,反相器540將使匹配線逆Match-outm-1 #從低信號改變到高信號,以便於禁用後續的偽NOR。
表2亦圖示接收被設為高的匹配線輸入Match-inm-1 的結果。如表2中所示,當匹配線輸入Match-inm-1 為高時,狀態為1/0/X,這是因為將不存在評估。此外,匹配線輸出Match-outm-1 亦將為高以禁用後續的偽NOR 400。
替換地,當匹配線輸入為低時,PMOS堆疊514被啟動,並且匹配線逆Match-outm-1 #被評估為高。若所有比較結果匹配,則匹配線逆Match-outm-1 #將保持為高,並且匹配線輸出Match-outm-1 將為低。若比較導致失配,則匹配線逆Match-outm-1 #將評估為低,並且匹配線輸出Match-outm-1 將為高以禁用後續的偽NOR。
對偽NOR的禁用降低了TCAM的整體功耗,這是因為當存在失配時,後續比較被禁用。亦即,不同於對每個NOR下拉網路的匹配線和搜尋線進行預充電而不管先前比較的比較結果的動態NOR,僅當先前比較導致匹配時,偽NOR才繼續進行後續比較。此外,偽NOR並不對匹配線和搜尋線預充電。因此,本案的各態樣降低了TCAM的整體功耗並進一步降低了控制電路系統和定時的複雜度。
圖6圖示了根據本案一態樣的靜態NAND TCAM 600 的架構。如圖6中所圖示的,匹配線輸出MLNAND 被連接至一連串中間匹配線ML0 -MLn-1 。中間匹配線ML0 -MLn-1 中的每一條經由第一下拉電晶體(諸如,遮罩NMOS電晶體604)被耦合至遮罩單元Mask0 -Maskn-1 ,並且經由第二下拉電晶體(諸如,鍵NMOS電晶體602)被耦合至鍵單元Key0 -Keyn-1 。這些下拉電晶體被並聯連接。遮罩單元Mask0 -Maskn-1 的內容在展開遮罩單元622中圖示。如展開遮罩單元622中所示,遮罩單元Mask0 -Maskn-1 是SRAM單元,其包括遮罩位元M、遮罩位元逆M#、遮罩字線WLM、遮罩位元線BLM以及遮罩位元線逆BLM#。鍵單元Key0 -Keyn-1 的內容在展開鍵位元單元620中圖示。如展開鍵位元單元620中所示,鍵單元Key0 -Keyn-1 是具有XNOR邏輯的SRAM單元。鍵單元Key0 -Keyn-1 亦包括搜尋線SL、搜尋線逆SL#、鍵位元線BLK、鍵位元線逆BLK#、鍵位元K、鍵位元逆K#、鍵寫入線WLK以及輸出線XNOR。
此外,鍵單元Key0 -Keyn-1 中的每一個被耦合至第一PMOS電晶體612,並且遮罩單元Mask0 -Maskn-1 中的每一個被耦合至第二PMOS電晶體614。每個第一PMOS電晶體612經由一XNOR線(XNOR0 -XNORn-1 )被耦合至相對應的鍵單元Key0 -Keyn-1 ,並且每個第二PMOS電晶體614經由一遮罩位元線逆(M0 #-Mn-1 #)被耦合至相對應的遮罩單元Mask0 -Maskn-1 。第一PMOS電晶體612和第二PMOS電晶體614亦耦合至匹配線輸出(MLNAND )。第一PMOS電晶體612和第二PMOS電晶體614被串聯連接並且可被稱為串聯PMOS電晶體。因此,根據本案的一態樣,每個單元對(例如,一個遮罩單元和一個鍵單元 )被耦合至並聯NMOS電晶體(例如,鍵NMOS電晶體602和遮罩NMOS電晶體604)和串聯PMOS電晶體(例如,第一PMOS電晶體612和第二PMOS電晶體614)。
由於第一PMOS電晶體612和第二PMOS電晶體614被耦合至每個單元對,所以匹配線在每個時鐘循環之前不被預充電。因此,靜態NAND TCAM 600不使用複雜的定時控制方案,並與動態NAND TCAM(圖3)相比節省了更多功率。此外,中間匹配線不被預充電到VDD -Vt 電壓位準,由此為搜尋線提供了面積的減小和功耗的降低。
如先前所討論的,靜態NAND TCAM是串聯操作,這是因為當前中間匹配線(諸如MLi )僅在當前中間匹配線左邊的所有中間匹配線均評估為低時才可被拉低以指示匹配。類似地,後續中間匹配線MLi+1 僅在當前中間匹配線MLi 評估為低的情況下才可被拉低。亦即,若一條中間匹配線指示失配,則後續匹配線(這一條中間匹配線右邊的中間匹配線)不被拉低。具體而言,後續中間匹配線(諸如,MLi+1 )僅在所有先前中間匹配線均評估為低時才可被拉低以指示匹配。
此外,與動態NAND TCAM相反,在靜態NAND TCAM中,由於匹配線輸出MLNAND 被連接至串聯PMOS電晶體(例如,第一PMOS電晶體612和第二PMOS電晶體614),因此當存在失配時,MLNAND 值不是浮動值,更確切地,串聯PMOS電晶體將匹配線輸出MLNAND 拉高以指示失配。此外,中間匹配線被串聯連接,並且直至評估了所有的匹配線或者直至決定了失配才知曉匹配線輸出MLNAND 的狀態。因此,如表3中所示,在輸出尚未知曉的情況下,當亦未決定失配時,匹配線輸出MLNAND 將為0或1。
此外,如表3中所示,當XNOR為1或者遮罩位元(M)為0時,從當前中間匹配線MLi 到後續中間匹配線MLi+1 的傳播(MLi →MLi+1 傳播)可啟動(連通)。亦即,當XNOR為1時,鍵NOMS電晶體602被啟動並將當前中間匹配線MLi 拉低以指示匹配。替換地,當遮罩位元(M)為0時,遮罩單元的遮罩位元逆(M#)將為1並且遮罩NMOS電晶體604被啟動並將當前中間匹配線MLi 拉低以指示匹配。如表3中所示,當遮罩位元為0時,其他變數的狀態為X,這是因為當前中間匹配線將拉低以指示匹配而不管其他值(諸如,狀態,鍵位元,和搜尋線)如何。具體而言,狀態X是指既不存在匹配又不存在失配的遮罩狀態,更確切地,在搜尋線的值與鍵單元的值之間不存在比較的遮罩狀態。
此外,當XNOR為0並且遮罩位元(M)為1時指示失配。儘管表3中未圖示,但當遮罩位元為1時,遮罩位元逆(M#)為0,反之亦然。亦即,當XNOR為0時,XNOR線( XNOR0 -XNORn-1 )亦為0。此外,當遮罩位元逆為0(例如,遮罩位元為1)時,遮罩位元逆線(M0 #-Mn-1 #)為0。因此,當XNOR線和遮罩位元逆線均為0時,第一PMOS電晶體612和第二PMOS電晶體614被啟用並將匹配線輸出(MLNAND )設置為高。如先前所討論的,當匹配線為高時,指示失配。
最後,在表3中,狀態是指記憶元件(鍵單元和遮罩單元)的狀態。當鍵單元具有值0時狀態為0;當鍵單元具有值1時狀態為1;並且當遮罩單元為0時狀態為X。亦即,對於狀態X,當遮罩單元為0時,遮罩NMOS電晶體604被啟用並將中間匹配線拉低而不管XNOR值如何。
表4圖示了靜態NAND TCAM的真值表。應注意,表4中的狀態是指記憶元件(鍵位元單元和遮罩位元單元的組合)的狀態。當鍵單元具有值0時狀態為0,當鍵單元和遮罩單元具有值1時狀態為1,並且當鍵單元處於狀態X時狀態為X。狀態X是指既不存在匹配又不存在失配的遮罩狀態。更確切地,在搜尋線的值與鍵單元的值之間不存在比較。因此,匹配線始終指示匹配。
表1(偽NOR TCAM真值表)與表4(靜態NAND TCAM真值表)之間的比較示出關於每種類型的TCAM的狀態位元基於鍵位元和遮罩位元而變化。亦即,偽NOR TCAM真值表(表1)不同於靜態NAND TCAM真值表(表4)。
圖7A和圖7B圖示了根據本案一態樣的混合TCAM 700。如圖7A和圖7B中所圖示的,混合TCAM 700包括靜態NAND TCAM 770、介面單元710和偽NOR TCAM 780。靜態NAND TCAM 770是靜態NAND TCAM的符號表示,具體而言,圖7A和圖7B的靜態NAND TCAM 770是圖6的靜態NAND TCAM 600的邏輯表示。此外,偽NOR TCAM 780是偽NOR TCAM的符號表示,具體而言,偽NOR TCAM 780是圖4和5的偽NOR TCAM級400A、400B和500的邏輯表示。
在一種配置中,TCAM的第一值(M)經由靜態NAND TCAM 770來比較。此外,剩下的值(N-M)在偽NOR TCAM 780處比較。介面單元710被指定為將靜態NAND TCAM 770與偽NOR TCAM 780對接。靜態NAND TCAM 770可被稱為靜態NAND級,而偽NOR TCAM 780可被稱為偽NOR級。
在靜態NAND TCAM中,匹配比失配消耗更多的功率。亦即,失配消耗很少功率乃至不消耗功率。替換地,在偽NOR TCAM中,失配關斷後續偽NOR TCAM級的PMOS堆疊,由此不消耗功率。此外,當偽NOR TCAM級的PMOS堆疊活躍時,失配比匹配消耗更多功率。
最長首碼匹配(LPM)演算法通常被用於路由器中的封包轉發。最長首碼匹配在最高有效位元(MSB)中比在最低有效位元(LSB)中具有更多導致匹配的遮罩值。因此,將混合TCAM用於最長首碼匹配導致TCAM的功耗降低。
TCAM功率被劃分成兩類。第一類可以是匹配線功率。在靜態NAND處,大多數值被掩蔽在頭M個值中。因此, 當存在失配時,停止後續(N-M個)偽NOR級的比較操作,由此可降低匹配線功率。
第二類可以是搜尋線功率。靜態NAND搜尋線比偽NOR搜尋線消耗更多功率。由於在靜態NAND級處僅比較M個值,因此剩下的值(N-M)在偽NOR級處比較,由此降低了整體搜尋線功耗。
如以上所討論的,與靜態NAND TCAM相比,偽NOR TCAM更快。混合TCAM在偽NOR TCAM中使用(N-M)個位元。因此,為了改進混合TCAM中的效能,M個位元的數目在一閾值內,以使得(N-M)個位元的數目充分大於M個位元的數目。
此外,為了使用混合TCAM 700,介面單元710被指定為將靜態NAND級770與偽NOR級780對接。介面單元710將靜態NAND級770的輸出提供給偽NOR級780的輸入。如圖7B中所圖示的,介面單元710可以是接收靜態NAND級770的匹配線輸出702的觸發器閘。介面單元710亦可接收時鐘輸入CLK。介面單元710將匹配線NAND位元MLNAND 輸出到偽NOR級780。偽NOR級780接收匹配線NAND位元MLNAND 和N-M個值作為輸入。偽NOR級780將匹配線輸出704輸出到介面單元710,並且介面單元輸出匹配線NOR MLNOR
此外,在一種配置中,靜態NAND級770和偽NOR級780並行地接收遮罩位元和鍵位元。在一種配置中,輸入位元(DATAIN )可以基於靜態NAND級770的真值表(表4)。由於偽NOR級780的真值表(表1)不同於靜態NAND級770的真值 表(表4),所以編碼器/解碼器被指定用於偽NOR級780,以使得經由DATAIN 輸入的遮罩位元和鍵位元與偽NOR真值表(表1)相匹配。
此外,在讀取操作期間,解碼器724對來自偽NOR級780的遮罩位元和鍵位元輸出進行解碼,以使得DATAOUT 流中的遮罩位元和鍵位元與靜態NAND級770的真值表(表4)相匹配。編碼器/解碼器720包括編碼器722和解碼器724。在另一配置中,編碼器/解碼器720可連接至靜態NAND級770以基於偽NOR真值表(表1)來對輸入/輸出位元進行編碼/解碼。
根據本案的一態樣,可基於以下等式來對鍵位元進行編碼:
其中K為鍵位元,並且M為遮罩位元。
此外,可基於以下等式來對遮罩位元進行編碼:
此外,可基於以下等式來對鍵位元進行解碼:KEY(經解碼)=K (3)
最後,可基於以下等式來對遮罩位元進行解碼:
根據一種配置,可在向偽NOR或靜態NAND進行寫入操作期間執行編碼,並且可在從偽NOR或靜態NAND進行讀取操作期間執行解碼。
此外,基於本案的各態樣,在編碼和解碼期間,鍵值在它最初被遮罩的情況下可能會丟失。亦即,作為一個示 例,對於靜態NAND TCAM的狀態0,遮罩位元(M)為1並且鍵值(K)為0。在編碼之後,遮罩位元為1並且鍵值為0。在解碼之後,遮罩位元為1並且鍵值為0。在此示例中,鍵值未丟失。
在另一示例中,對於靜態NAND TCAM的狀態X,遮罩位元為0並且鍵值可以為0。在此示例中,在編碼之後,鍵值為1並且遮罩位元為1。此外,在此示例中,在解碼之後,鍵值為1並且遮罩位元為0。因此,在編碼和解碼的程序中,鍵值丟失。此外,由於鍵值在狀態X中不被使用,因此當狀態為X時,鍵值在編碼和解碼程序期間可能會丟失而不影響混合TCAM。
圖8圖示混合TCAM 800內的方法的方塊圖。如圖8中所圖示的,在方塊802中,第一TCAM級將搜尋字的第一部分與所儲存的字的第一部分進行比較。在方塊804中,將第一TCAM級的輸出對接到第二TCAM級的輸入。在方塊806中,當搜尋字的第一部分與所儲存的字的第一部分相匹配時,第二TCAM級將搜尋字的第二部分與第二TCAM級中所儲存的字的第二部分進行比較。
圖9示出其中可有利地採用本案的實施例的示例性無線通訊系統900。出於圖示目的,圖9圖示三個遠端單元920、930和950以及兩個基地台940。將認識到,無線通訊系統可具有多得多的遠端單元和基地台。遠端單元920、930和950包括帶有混合TCAM 925A、925B和925C的多核處理器。圖9示出從基地台940到遠端單元920、930和950的前向鏈路信號980 ,以及從遠端單元920、930和950到基地台940的反向鏈路信號990。
在圖9中,遠端單元920被示為行動電話,遠端單元930被示為可攜式電腦,而遠端單元950被示為無線區域迴路系統中的位置固定的遠端單元。例如,遠端單元可以是蜂巢式電話、掌上型個人通訊系統(PCS)單元、機上盒、音樂播放機、視訊播放機、娛樂單元、導航設備、可攜式資料單元(諸如個人資料助理)或者位置固定的資料單元(諸如儀錶讀數裝備)。儘管圖9圖示可採用帶有根據本案的教導的混合TCAM 925A、925B和925C的多核處理器的遠端單元,但本案不限於所圖示的這些示例性單元。例如,可在任何設備中適當地採用帶有根據本案各態樣的混合TCAM的多核處理器。
圖10是圖示用於具有上面揭示的混合TCAM的半導體元件(諸如多核處理器)的電路、佈局和邏輯設計的設計工作站的方塊圖。設計工作站1000包括硬碟1001,該硬碟1001包含作業系統軟體、支援檔以及設計軟體(諸如Cadence或OrCAD)。設計工作站1000亦包括促成對電路1010或半導體元件1012(諸如混合TCAM)的設計的顯示器1002。儲存媒體1004被提供以用於有形地儲存電路設計1010或半導體元件1012。電路設計1010或半導體元件1012可以檔案格式(諸如GDSII或GERBER)儲存在儲存媒體1004上。儲存媒體1004可以是CD-ROM、DVD、硬碟、快閃記憶體或其他合適的設備。此外,設計工作站1000包括用於從儲存媒體1004接受輸入或將輸出寫到儲存媒體1004的驅動裝置1003。
記錄在儲存媒體1004上的資料可指定邏輯電路配置、用於光刻遮罩的圖案資料、或者用於串寫工具(諸如電子束光刻)的遮罩圖案資料。資料可進一步包括與邏輯模擬相關聯的邏輯驗證資料(諸如時序圖或網電路)。在儲存媒體1004上提供資料經由減少用於設計半導體晶片的製程數目促成了對電路設計1010或半導體元件1012的設計。
在一種配置中,TCAM包括比較裝置。比較裝置可以是配置成執行由比較裝置述及之功能的靜態NAND TCAM級770及/或偽NOR TCAM 780。在一種配置中,TCAM亦包括介面裝置,該介面裝置可以是被配置成執行由介面裝置述及之功能的介面單元710。在另一配置中,TCAM亦包括編碼裝置和解碼裝置。編碼裝置和解碼裝置可以是配置成執行由編碼裝置和解碼裝置述及之功能的編碼器/解碼器720。
儘管已闡述了特定電路系統,但是熟習此項技術者應當領會,並非所有所揭示的電路系統皆是實踐所揭示的實施例所必需的。此外,某些眾所周知的電路未被描述,以便保持專注於本案。
本文中所描述的方法體系取決於應用可藉由各種手段來實現。例如,這些方法體系可在硬體、韌體、軟體或其任何組合中實現。對於硬體實現,這些處理單元可以在一或多個特殊應用積體電路(ASIC)、數位信號處理器(DSP)、數位信號處理裝置(DSPD)、可程式設計邏輯裝置(PLD)、現場可程式設計閘陣列(FPGA)、處理器、控制器、微控制器、微處理器、電子裝置、設計成執行本文中所描述功能的 其他電子單元或其組合內實現。
對於韌體及/或軟體實現,這些方法體系可以用執行本文中所描述功能的模組(例如,規程、函數等等)來實現。有形地體現指令的任何機器或電腦可讀取媒體可用於實現本文中所描述的方法體系。例如,軟體代碼可被儲存在記憶體中並由處理器執行。當由處理器執行時,執行中的軟體代碼產生實現本文所呈現的教導的不同態樣的各種方法體系和功能性的操作環境。記憶體可以實現在處理器內部或處理器外部。如本文所使用的,術語「記憶體」是指任何類型的長期、短期、揮發性、非揮發性或其他記憶體,且並不限於任何特定類型的記憶體或特定數目的記憶體或記憶儲存在其上的媒體類型。
儲存有界定本文所述方法體系和功能性的軟體代碼的機器或電腦可讀取媒體包括實體電腦儲存媒體。儲存媒體可以是可被電腦存取的任何可用媒體。作為示例而非限制,這些電腦可讀取媒體可包括RAM、ROM、EEPROM、CD-ROM或其他光碟儲存、磁碟儲存或其他磁存放裝置、或可被用來儲存指令或資料結構形式的期望程式碼且可被電腦存取的任何其他媒體。如本文所用的盤(disk)及/或碟(disc)包括壓縮光碟(CD)、鐳射光碟、光碟、數位多功能光碟(DVD)、軟碟和藍光光碟,其中盤(disk )常常磁性地再現資料而碟(disc )用鐳射來光學地再現資料。上述的組合亦應被包括在電腦可讀取媒體的範疇內。
除了儲存在電腦可讀取媒體上,指令及/或資料亦可 作為包括在通訊裝置中的傳輸媒體上的信號來提供。例如,通訊裝置可包括具有表示指令和資料的信號的收發機。這些指令和資料被配置成致使一或多個處理器實現請求項中敘述的功能。
儘管已詳細描述了本教導及其優點,但是應當理解,能在本文中作出各種改變、替代和變更而不會脫離如由所附請求項所界定的本教導的技術。而且,本案的範疇並非旨在被限定於說明書中所描述的程序、機器、製造、物質組成、裝置、方法和步驟的特定態樣。因為普通熟習此項技術者將容易地從本案領會到,根據本教導,可以利用現存或今後開發的與本文所描述的相應態樣執行基本相同的功能或達成基本相同的結果的程序、機器、製造、物質組成、裝置、方法或步驟。相應地,所附請求項旨在將此類程序、機器、製造、物質組成、裝置、方法或步驟包括在其範疇內。
700‧‧‧混合TCAM
710‧‧‧介面單元
720‧‧‧編碼器/解碼器
770‧‧‧靜態NAND TCAM
780‧‧‧偽NOR TCAM

Claims (29)

  1. 一種一混合三元內容可定址記憶體(TCAM)內的方法,該方法包括以下步驟:在一第一TCAM級中將一搜尋字的一第一部分與一所儲存的字的一第一部分進行比較;及當該搜尋字的該第一部分與該所儲存的字的該第一部分相匹配時,在一第二TCAM級中將該搜尋字的一第二部分與該所儲存的字的一第二部分進行比較,該搜尋字的該第一部分不同於該搜尋字的該第二部分,而該第一TCAM級經配置為一第一類型TCAM,該第二TCAM級經配置為一第二類型TCAM,該第一類型TCAM不同於該第二類型TCAM。
  2. 如請求項1述及之方法,進一步包括以下步驟:在一寫入操作期間在該第二TCAM級處對遮罩位元和鍵位元進行編碼,該編碼包括將該等遮罩位元和該等鍵位元從用於該第一TCAM級的值轉換成用於該第二TCAM級的值。
  3. 如請求項1述及之方法,進一步包括以下步驟:在一讀取操作期間在該第二TCAM級處對遮罩位元和鍵位元進行解碼,該解碼包括將該等遮罩位元和該等鍵位元從用於該第二TCAM級的值轉換成用於該第一TCAM級的值。
  4. 如請求項1述及之方法,進一步包括以下步驟:將該第一TCAM級的一輸出對接到該第二TCAM級的一輸入。
  5. 如請求項1述及之方法,其中該第一類型TCAM包括一靜態NAND,並且該第二類型TCAM包括一偽NOR。
  6. 如請求項1述及之方法,其中該第一類型TCAM包括一偽NOR,並且該第二類型TCAM包括一靜態NAND。
  7. 一種混合三元內容可定址記憶體(TCAM),包括:一第一TCAM級,經配置成將一搜尋字的一第一部分與一所儲存的字的一第一部分進行比較;及一第二TCAM級,經配置成當該搜尋字的該第一部分與該所儲存的字的該第一部分相匹配時,將該搜尋字的一第二部分與該所儲存的字的一第二部分進行比較,該搜尋字的該第一部分不同於該搜尋字的該第二部分,而該第一TCAM級經配置為一第一類型TCAM,該第二TCAM級經配置為一第二類型TCAM,該第一類型TCAM不同於該第二類型TCAM。
  8. 如請求項7述及之TCAM,進一步包括:一編碼器,經配置成在一寫入操作期間在該第二TCAM級處對遮罩位元和鍵位元進行編碼,該編碼包括將該等遮罩位元和該等鍵位元從用於該第一TCAM級的值轉換成用於該第二TCAM級的值。
  9. 如請求項7述及之TCAM,進一步包括:一解碼器,經配置成在一讀取操作期間在該第二TCAM級處對遮罩位元和鍵 位元進行解碼,該解碼包括將該等遮罩位元和該等鍵位元從用於該第二TCAM級的值轉換成用於該第一TCAM級的值。
  10. 如請求項7述及之TCAM,進一步包括:一介面單元,經配置成將該第一TCAM級的一輸出對接到該第二TCAM級的一輸入。
  11. 如請求項7述及之TCAM,其中該第一類型TCAM包括一靜態NAND,並且該第二類型TCAM包括一偽NOR。
  12. 如請求項7述及之TCAM,其中該第一類型TCAM包括一偽NOR,並且該第二類型TCAM包括一靜態NAND。
  13. 如請求項7述及之TCAM,其中該搜尋字由N個值組成,該搜尋字的該第一部分由M個值組成,而該搜尋字的該第二部分由N-M個值組成,其中M為一整數並大於零。
  14. 如請求項13述及之TCAM,其中該第二類型TCAM在評估比較上較該第一類型TCAM更快。
  15. 如請求項14述及之TCAM,其中N-M係大於M。
  16. 如請求項7述及之TCAM,其中該第一TCAM級經配置成耗費在匹配之評估比較之功率比耗費在失配之評估比較之功 率更多,而其中該第二TCAM級經配置成耗費在失配之評估比較之功率比耗費在匹配之評估比較之功率更多。
  17. 如請求項16述及之TCAM,其中對該搜尋字的該第一部分與該所儲存的字的該第一部分之該比較比對該搜尋字的該第二部分與該所儲存的字的該第二部分之該比較靜態地產生更多失配。
  18. 如請求項7述及之TCAM,其中該第二TCAM級包括至少第一串接比較級與第二串接比較級,其中該第二串接比較級包括:一輸入電路,經配置以:從該第一串接比較級接收一輸入信號;回應於該輸入信號指示該搜尋字的該第二部分的一第一子集與該搜尋字的該第二部分的一對應第一子集之一匹配,將一高邏輯電壓應用至一節點;及回應於該輸入信號指示該搜尋字的該第二部分的該第一子集與該搜尋字的該第二部分的該對應第一子集之一失配,將一低邏輯電壓應用至該節點;一比較電路,經配置以:回應於決定該搜尋字的該第二部分的一第二子集與該搜尋字的該第二部分的一對應第二子集之一失配,將該節點之該高邏輯電壓改變為該低邏輯電壓;及回應於決定該搜尋字的該第二部分的該第二子集與 該搜尋字的該第二部分的該對應第二子集之一匹配,維持該節點之該高邏輯電壓;一轉換電路,經配置以:邏輯轉換該節點所產生之該高邏輯電壓或該低邏輯電壓,其中經轉換之該高邏輯電壓或經轉換之該低邏輯電壓係產生於該第二TCAM級之一輸出或應用至一後續串接比較級之一輸入。
  19. 如請求項18述及之TCAM,其中該比較電路包括一或更多個比較級,其中每一比較級包括:一第一拉降電路,經配置以:回應於決定該搜尋字的該第二部分的該第二子集之一值與該搜尋字的該第二部分的該第二子集之一對應值之一失配,將該節點之該高邏輯電壓改變為該低邏輯電壓;及回應於決定該搜尋字的該第二部分的該第二子集之該值與該搜尋字的該第二部分的該第二子集之該對應值之一匹配,維持該節點之該高邏輯電壓;及一第二拉降電路,經配置以:回應於決定該搜尋字的該第二部分的該第二子集之該值與一對應遮罩值之一匹配,將該節點之該高邏輯電壓改變為該低邏輯電壓;及回應於決定該搜尋字的該第二部分的該第二子集之該值與該對應遮罩值之一失配,維持該節點之該高邏輯 電壓。
  20. 如請求項7述及之TCAM,其中該第一TCAM級包括耦接至一輸出與接地之複數個串接比較級,其中該等串接比較級之至少一者包括:至少一個切換單元;及一比較電路,經配置以回應於該搜尋字的該第一部分之一值與該所儲存的字的該第一部分的一對應值之一匹配,而將該至少一個切換單元閉合,以將鄰近串接比較級耦接在一起。
  21. 如請求項20述及之TCAM,其中該等串接比較級之該至少一者進一步包括一失配指示電路,經配置以回應該比較電路指示該搜尋字的該第一部分之該值與該所儲存的字的該第一部分的該對應值之一失配,而產生該輸出之一失配指示。
  22. 如請求項20述及之TCAM,其中該等串接比較級之該至少一者包括一遮罩細胞區,經配置以:產生一遮罩值;及回應於所顯示之該遮罩值,閉合該至少一個切換單元。
  23. 如請求項22述及之TCAM,其中該等串接比較級之該至少一者進一步包括一失配指示電路,經配置以回應該比較電路指示該搜尋字的該第一部分之該值與該所儲存的字的該第一 部分的該對應值之一失配,且該遮罩值未顯示(de-asserted),而產生該輸出之一失配指示。
  24. 一種混合三元內容可定址記憶體(TCAM),包括:一第一構件,用於將一搜尋字的一第一部分與一所儲存的字的一第一部分進行比較;及一第二構件,用於當該搜尋字的該第一部分與該所儲存的字的該第一部分相匹配時,將該搜尋字的一第二部分與該所儲存的字的一第二部分進行比較,該搜尋字的該第一部分不同於該搜尋字的該第二部分,而用於比較的該第一構件經配置為一第一類型TCAM,用於比較的該第二構件經配置為一第二類型TCAM,該第一類型TCAM不同於該第二類型TCAM。
  25. 如請求項24述及之TCAM,進一步包括:一編碼構件,用於在一寫入操作期間在用於比較的該第二構件處對遮罩位元和鍵位元進行編碼,該編碼包括將該等遮罩位元和該等鍵位元從用於比較的該第一構件所使用的值轉換成用於比較的該第二構件所使用的值。
  26. 如請求項24述及之TCAM,進一步包括:一解碼裝置,用於在一讀取操作期間在用於比較的該第二構件處對遮罩位元和鍵位元進行解碼,該解碼包括將該等遮罩位元和該等鍵位元從用於比較的該第二構件所使用的值轉換成用於比較的該 第一構件所使用的值。
  27. 如請求項24述及之TCAM,進一步包括:一介面構件,用於將用於比較的該第一構件的一輸出對接到用於比較的該第二構件的一輸入。
  28. 如請求項24述及之TCAM,其中該第一類型TCAM包括一靜態NAND,並且該第二類型TCAM包括一偽NOR。
  29. 如請求項24述及之TCAM,其中該第一類型TCAM包括一偽NOR,並且該第二類型TCAM包括一靜態NAND。
TW102148450A 2012-12-28 2013-12-26 混合三元內容可定址記憶體 TWI508074B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/730,487 US8934278B2 (en) 2012-12-28 2012-12-28 Hybrid ternary content addressable memory

Publications (2)

Publication Number Publication Date
TW201440053A TW201440053A (zh) 2014-10-16
TWI508074B true TWI508074B (zh) 2015-11-11

Family

ID=49918924

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102148450A TWI508074B (zh) 2012-12-28 2013-12-26 混合三元內容可定址記憶體

Country Status (7)

Country Link
US (1) US8934278B2 (zh)
EP (1) EP2939241B1 (zh)
JP (1) JP5932167B2 (zh)
KR (1) KR101585037B1 (zh)
CN (1) CN104823243B (zh)
TW (1) TWI508074B (zh)
WO (1) WO2014105684A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI766773B (zh) * 2021-07-23 2022-06-01 旺宏電子股份有限公司 多階內容可定址記憶體、多階編碼方法與多階搜尋方法
TWI836661B (zh) * 2022-07-18 2024-03-21 旺宏電子股份有限公司 記憶體

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102769850B (zh) * 2012-04-16 2015-10-28 中兴通讯股份有限公司 单卡多模多运营商鉴权方法及装置
US8891273B2 (en) 2012-12-26 2014-11-18 Qualcomm Incorporated Pseudo-NOR cell for ternary content addressable memory
US8958226B2 (en) 2012-12-28 2015-02-17 Qualcomm Incorporated Static NAND cell for ternary content addressable memory (TCAM)
US9655232B2 (en) 2013-11-05 2017-05-16 Cisco Technology, Inc. Spanning tree protocol (STP) optimization techniques
US9769078B2 (en) 2013-11-05 2017-09-19 Cisco Technology, Inc. Dynamic flowlet prioritization
US10778584B2 (en) 2013-11-05 2020-09-15 Cisco Technology, Inc. System and method for multi-path load balancing in network fabrics
US9374294B1 (en) 2013-11-05 2016-06-21 Cisco Technology, Inc. On-demand learning in overlay networks
US9832122B2 (en) 2013-11-05 2017-11-28 Cisco Technology, Inc. System and method for identification of large-data flows
US9502111B2 (en) 2013-11-05 2016-11-22 Cisco Technology, Inc. Weighted equal cost multipath routing
US9496023B2 (en) 2014-06-05 2016-11-15 Micron Technology, Inc. Comparison operations on logical representations of values in memory
US9785373B2 (en) * 2015-11-25 2017-10-10 International Business Machines Corporation Optimizing fine grained context addressability in highly dimensional environments using TCAM hybrid memory and storage architectures
US9934857B2 (en) * 2016-08-04 2018-04-03 Hewlett Packard Enterprise Development Lp Ternary content addressable memories having a bit cell with memristors and serially connected match-line transistors
US9941008B1 (en) * 2017-03-23 2018-04-10 National Taiwan University Ternary content addressable memory device for software defined networking and method thereof
CN107257322A (zh) * 2017-07-24 2017-10-17 山东大学 一种混合tcam架构系统及流表处理方法
CN108055206B (zh) * 2017-12-22 2020-09-29 大连理工大学 紧凑查表型硬件搜索引擎及其数据转换方法
CN108199969B (zh) * 2017-12-22 2020-09-29 大连理工大学 查表型硬件搜索引擎
US11532337B1 (en) 2021-07-23 2022-12-20 Macronix International Co., Ltd. Multilevel content addressable memory, multilevel coding method of and multilevel searching method
US12001719B2 (en) * 2022-06-27 2024-06-04 Western Digital Technologies, Inc. Storage media based search function for key value data storage devices
CN116156026B (zh) * 2023-04-20 2023-07-04 中国人民解放军国防科技大学 一种支持rmt的解析器、逆解析器、解析方法及交换机

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW525186B (en) * 1999-02-23 2003-03-21 Netlogic Microsystems Inc Method and apparatus for determining a longest prefix match in a segmented content addressable memory device
US6574702B2 (en) * 1999-02-23 2003-06-03 Netlogic Microsystems, Inc. Method and apparatus for determining an exact match in a content addressable memory device
US7050318B1 (en) * 2004-10-01 2006-05-23 Netlogic Microsystems, Inc. Selective match line pre-charging in a CAM device using pre-compare operations
TWI260636B (en) * 2001-12-28 2006-08-21 Mosaid Technologies Inc Low power content addressable memory architecture
US7355890B1 (en) * 2006-10-26 2008-04-08 Integrated Device Technology, Inc. Content addressable memory (CAM) devices having NAND-type compare circuits
TWI302706B (en) * 2002-01-31 2008-11-01 Mosaid Technologies Inc Circuit and method for reducing power usage in a content addressable memory
US20090310395A1 (en) * 2008-06-11 2009-12-17 Realtek Semiconductor Corp. Content-Addressable Memory
TW201013694A (en) * 2008-09-18 2010-04-01 Realtek Semiconductor Corp Content addressable memory
TW201117213A (en) * 2009-06-30 2011-05-16 Netlogic Microsystems Inc Content addressable memory device for simultaneously searching multiple flows
US8169808B2 (en) * 2008-01-25 2012-05-01 Micron Technology, Inc. NAND flash content addressable memory

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044005A (en) 1999-02-03 2000-03-28 Sibercore Technologies Incorporated Content addressable memory storage device
US6411538B1 (en) 2000-11-28 2002-06-25 Silicon Access Networks Compact load-less static ternary CAM
US6400593B1 (en) 2001-02-08 2002-06-04 Intregrated Device Technology, Inc. Ternary CAM cell with DRAM mask circuit
US6385070B1 (en) 2001-03-13 2002-05-07 Tality, L.P. Content Addressable Memory array, cell, and method using 5-transistor compare circuit and avoiding crowbar current
US6768659B2 (en) 2001-12-31 2004-07-27 Mosaid Technologies Incorporated Circuit and method for reducing power usage in a content addressable memory
US6760242B1 (en) 2002-04-10 2004-07-06 Integrated Device Technology, Inc. Content addressable memory (CAM) devices having speed adjustable match line signal repeaters therein
KR100435804B1 (ko) * 2002-06-28 2004-06-10 삼성전자주식회사 터너리 내용 주소화 메모리 장치
US6906937B1 (en) 2003-03-21 2005-06-14 Netlogic Microsystems, Inc. Bit line control circuit for a content addressable memory
DE602004001623T2 (de) * 2003-04-25 2007-08-09 Samsung Electronics Co., Ltd., Suwon TCAM Speicher und Betriebsverfahren
US6900999B1 (en) 2003-06-30 2005-05-31 Integrated Device Technology, Inc. Ternary content addressable memory (TCAM) cells with small footprint size and efficient layout aspect ratio
US7120040B2 (en) 2004-06-01 2006-10-10 Mosaid Technologies Incorporation Ternary CAM cell for reduced matchline capacitance
US7555594B2 (en) 2004-07-22 2009-06-30 Netlogic Microsystems, Inc. Range representation in a content addressable memory (CAM) using an improved encoding scheme
US7286379B1 (en) 2005-09-08 2007-10-23 Lsi Corporation Content addressable memory (CAM) architecture and method of operating the same
US7577785B2 (en) * 2005-09-30 2009-08-18 Qualcomm Incorporated Content addressable memory with mixed serial and parallel search
US8125810B2 (en) 2007-08-01 2012-02-28 Texas Instruments Incorporated Low power ternary content-addressable memory (TCAM)
US7633830B2 (en) 2007-11-29 2009-12-15 Agere Systems Inc. Reduced leakage driver circuit and memory device employing same
US7940541B2 (en) 2008-05-21 2011-05-10 Texas Instruments Incorporated Bit cell designs for ternary content addressable memory
US8717793B2 (en) 2009-05-26 2014-05-06 Arizona Board Of Regents, For And On Behalf Of Arizona State University Longest prefix match internet protocol content addressable memories and related methods
US8582338B1 (en) 2010-08-31 2013-11-12 Netlogic Microsystems, Inc. Ternary content addressable memory cell having single transistor pull-down stack
US8891273B2 (en) 2012-12-26 2014-11-18 Qualcomm Incorporated Pseudo-NOR cell for ternary content addressable memory
US8958226B2 (en) 2012-12-28 2015-02-17 Qualcomm Incorporated Static NAND cell for ternary content addressable memory (TCAM)

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW525186B (en) * 1999-02-23 2003-03-21 Netlogic Microsystems Inc Method and apparatus for determining a longest prefix match in a segmented content addressable memory device
US6574702B2 (en) * 1999-02-23 2003-06-03 Netlogic Microsystems, Inc. Method and apparatus for determining an exact match in a content addressable memory device
TWI260636B (en) * 2001-12-28 2006-08-21 Mosaid Technologies Inc Low power content addressable memory architecture
TWI302706B (en) * 2002-01-31 2008-11-01 Mosaid Technologies Inc Circuit and method for reducing power usage in a content addressable memory
US7050318B1 (en) * 2004-10-01 2006-05-23 Netlogic Microsystems, Inc. Selective match line pre-charging in a CAM device using pre-compare operations
US7355890B1 (en) * 2006-10-26 2008-04-08 Integrated Device Technology, Inc. Content addressable memory (CAM) devices having NAND-type compare circuits
US8169808B2 (en) * 2008-01-25 2012-05-01 Micron Technology, Inc. NAND flash content addressable memory
US20090310395A1 (en) * 2008-06-11 2009-12-17 Realtek Semiconductor Corp. Content-Addressable Memory
TW201013694A (en) * 2008-09-18 2010-04-01 Realtek Semiconductor Corp Content addressable memory
TW201117213A (en) * 2009-06-30 2011-05-16 Netlogic Microsystems Inc Content addressable memory device for simultaneously searching multiple flows

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI766773B (zh) * 2021-07-23 2022-06-01 旺宏電子股份有限公司 多階內容可定址記憶體、多階編碼方法與多階搜尋方法
TWI836661B (zh) * 2022-07-18 2024-03-21 旺宏電子股份有限公司 記憶體

Also Published As

Publication number Publication date
KR20150095941A (ko) 2015-08-21
TW201440053A (zh) 2014-10-16
JP5932167B2 (ja) 2016-06-08
CN104823243B (zh) 2017-11-14
WO2014105684A1 (en) 2014-07-03
EP2939241A1 (en) 2015-11-04
JP2016502226A (ja) 2016-01-21
US8934278B2 (en) 2015-01-13
CN104823243A (zh) 2015-08-05
KR101585037B1 (ko) 2016-01-13
EP2939241B1 (en) 2016-09-21
US20140185348A1 (en) 2014-07-03

Similar Documents

Publication Publication Date Title
TWI508074B (zh) 混合三元內容可定址記憶體
TWI508069B (zh) 用於三態內容可定址記憶體(tcam)的靜態nand單元
TW201435873A (zh) 用於三元內容可定址記憶體的僞nor單元
KR101286120B1 (ko) 전력 절감 정적-기반 비교기 회로들 및 방법들 및 이를 이용하는 콘텐트-어드레스 가능한 메모리(cam) 회로들
TWI391946B (zh) 內容可定址記憶體
JP5490261B2 (ja) 多ポートメモリ回路に書込みを行うためのシステムおよび方法
US20160358654A1 (en) Low-power ternary content addressable memory
TWI236017B (en) Device and method of the semiconductor memory using dividing the memory region to compensate the defects
TWI813244B (zh) 記憶體陣列
US20230253042A1 (en) Semiconductor device and semiconductor system