TWI391946B - 內容可定址記憶體 - Google Patents
內容可定址記憶體 Download PDFInfo
- Publication number
- TWI391946B TWI391946B TW097135791A TW97135791A TWI391946B TW I391946 B TWI391946 B TW I391946B TW 097135791 A TW097135791 A TW 097135791A TW 97135791 A TW97135791 A TW 97135791A TW I391946 B TWI391946 B TW I391946B
- Authority
- TW
- Taiwan
- Prior art keywords
- bit
- memory cell
- data
- mask
- output
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital 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/04—Digital 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
- Logic Circuits (AREA)
- Memory System (AREA)
Description
本發明是有關於一種內容可定址記憶體(content addressable memory,CAM),特別是指一種不用預充電(precharge)的內容可定址記憶體。
內容可定址記憶體包含多數呈陣列排列的內容可定址記憶胞(CAM cell),並以列為單位將其儲存內容與一搜尋資料比較是否匹配(match),以產生多數分別與列對應的匹配位元。
根據每一內容可定址記憶胞可儲存的狀態數目,內容可定址記憶體可以是二元(binary)內容可定址記憶體、三元(ternary)內容可定址記憶體或其它。
當內容可定址記憶體是二元內容可定址記憶體時,每一內容可定址記憶胞包括一資料記憶胞(data memory cell)及一比較電路,其中,資料記憶胞儲存一資料位元及一互補資料位元,以表示”0”及”1”這二種狀態中的一個。
當內容可定址記憶體是三元內容可定址記憶體時,每一內容可定址記憶胞包括一資料記憶胞、一遮罩記憶胞(mask memory cell)及一比較電路,其中,資料記憶胞儲存一資料位元及一互補資料位元,遮罩記憶胞儲存一遮罩位元及一互補遮罩位元,二者相互配合以表示”0”、”1”及”不理會(don’t care)”這三種狀態中的一個。
一般來說,不論是二元內容可定址記憶體或三元內容
可定址記憶體,在每個比較週期都需要對搜尋位元的輸入端、互補搜尋位元的輸入端及匹配位元的輸出端進行預充電,如此一來,將影響整體效能及功率消耗。
因此,本發明之目的即在提供一種可以加快操作速度及降低功率消耗的內容可定址記憶體。
於是,本發明內容可定址記憶體包含一第一記憶單元及一第二記憶單元。
該第一記憶單元包括一第一資料記憶胞、一第一比較電路及一第一靜態互補式金氧半邏輯電路。該第一資料記憶胞用以儲存一第一資料位元。該第一比較電路耦接至該第一資料記憶胞,用以比較一第一搜尋位元與該第一資料位元是否匹配,以輸出一第一比較結果。該第一靜態互補式金氧半邏輯電路耦接至該第一比較電路,用以對該第一比較結果進行邏輯運算,以輸出一第一匹配結果。
該第二記憶單元包括一第二資料記憶胞、一第二比較電路及一第二靜態互補式金氧半邏輯電路。該第二資料記憶胞用以儲存一第二資料位元。該第二比較電路耦接至該第二資料記憶胞,用以比較一第二搜尋位元與該第二資料位元是否匹配,以輸出一第二比較結果。該第二靜態互補式金氧半邏輯電路耦接至該第一靜態互補式金氧半邏輯電路及該第二比較電路,用以對該第一匹配結果及該第二比較結果進行邏輯運算,以輸出一輸出匹配結果。
該第一靜態互補式金氧半邏輯電路與該第二靜態互補
式金氧半邏輯電路互為不同型態之邏輯電路。
有關本發明之前述及其他技術內容、特點與功效,在以下配合參考圖式之五個較佳實施例的詳細說明中,將可清楚地呈現。
本發明內容可定址記憶體適用於接收n
個搜尋位元SB j
及n
個互補搜尋位元,並輸出m
個匹配位元MB i
,其中,i
=1~m
,j
=1~n
。
參閱圖1,本發明內容可定址記憶體之第一較佳實施例是一個二元內容可定址記憶體,且包含多數記憶單元1及多數記憶單元2(圖1中只顯示位於第i
列的記憶單元1、2中的最後四個)。位於同一列的記憶單元1及記憶單元2交錯排列,且每一記憶單元1、2接收n
個搜尋位元SB j
中的一個及n
個互補搜尋位元中的一個。
每一記憶單元1包括一資料記憶胞11、一比較電路12及一靜態互補式金氧半邏輯(static CMOS logic)電路13,其中,資料記憶胞11儲存一資料位元DB i,j
及一互補資料位元;比較電路12耦接至資料記憶胞11,並接收相對應的搜尋位元SB j
、互補搜尋位元及資料記憶胞11儲存的資料位元DB i,j
、互補資料位元,且比較相對應的搜尋位元SB j
、互補搜尋位元及資料記憶胞11儲存的資料位元DB i,j
、互補資料位元是否匹配,以輸出一比較結果CR i,j
;靜態互補式金氧半邏輯電路13耦接至比較電路12及
前一記憶單元2,並接收比較電路12輸出的比較結果CR i,j
及前一記憶單元2輸出的一匹配結果MR i,j
-1
來進行邏輯運算,且輸出一互補匹配結果。
每一記憶單元2包括一資料記憶胞21、一比較電路22及一靜態互補式金氧半邏輯電路23,其中,資料記憶胞21儲存一資料位元DB i,j
及一互補資料位元;比較電路22耦接至資料記憶胞21,並接收相對應的搜尋位元SB j
、互補搜尋位元及資料記憶胞21儲存的資料位元DB i,j
、互補資料位元,且比較相對應的搜尋位元SB j
、互補搜尋位元及資料記憶胞21儲存的資料位元DB i,j
、互補資料位元是否匹配,以輸出一互補比較結果;靜態互補式金氧半邏輯電路23耦接至比較電路22及前一記憶單元1,並接收比較電路22輸出的互補比較結果及前一記憶單元1輸出的互補匹配結果來進行邏輯運算,且輸出匹配結果MR i,j
。每一列的最後一個記憶單元2輸出的匹配結果MR i,n
被當作匹配位元MB i
。
參閱圖2(a),對於每一記憶單元1,資料記憶胞11是一靜態隨機存取記憶胞(SRAM cell);比較電路12包括二N型金氧半(NMOS)電晶體121、123及二P型金氧半(PMOS)電晶體122、124,其中,N型金氧半電晶體121及P型金氧半電晶體122分別受資料位元DB i,j
及互補資料位元控制,且在相對應的搜尋位元SB j
的輸入端及比較結果CR i,j
的輸出端之間並聯,N型金氧半電晶體123及P型金氧半電晶體124分別受互補資料位元及資料位元DB i,j
控
制,且在相對應的互補搜尋位元的輸入端及比較結果CR i,j
的輸出端之間並聯;靜態互補式金氧半邏輯電路13是一具有二輸入端及一輸出端的非及閘(NAND gate)。
參閱圖2(b),對於每一記憶單元2,資料記憶胞21是一靜態隨機存取記憶胞;比較電路22包括二N型金氧半電晶體221、223及二P型金氧半電晶體222、224,其中,N型金氧半電晶體221及P型金氧半電晶體222分別受互補資料位元及資料位元DB i,j
控制,且在相對應的搜尋位元SB j
的輸入端及互補比較結果的輸出端之間並聯,N型金氧半電晶體223及P型金氧半電晶體224分別受資料位元DB i,j
及互補資料位元控制,且在相對應的互補搜尋位元的輸入端及互補比較結果的輸出端之間並聯;靜態互補式金氧半邏輯電路23是一具有二輸入端及一輸出端的非或閘(NOR gate)。
以下說明本實施例的運作原理。對於每一記憶單元1,當資料記憶胞11儲存的資料位元DB i,j
、互補資料位元及相對應的搜尋位元SB j
、互補搜尋位元匹配時(例如:{DB i,j
,,SB j
,}為{0,1,0,1}或{1,0,1,0}),比較電路12輸出的比較結果CR i,j
是1,若前一記憶單元2輸出的匹配結果MR i,j
-1
是1的話,靜態互補式金氧半邏輯電路13輸出的互補匹配結果是0,表示記憶單元1本身及前面記憶單元1、2都是匹配的;而對於每一記憶單元2,當資料記憶胞21儲存的資料位元DB i,j
、互補資料位元及相對應的搜尋位元SB j
、互補搜尋位元匹配時(例如:
{DB i,j
,,SB j
,}為{0,1,0,1}或{1,0,1,0}),比較電路22輸出的互補比較結果是0,若前一記憶單元1輸出的互補匹配結果是0的話,靜態互補式金氧半邏輯電路23輸出的匹配結果MR i,j
是1,表示記憶單元2本身及前面記憶單元1、2都是匹配的。因此,當每一列的最後一個記憶單元2輸出的匹配結果MR i,n
(即匹配位元MB i
)是1時,表示此列是匹配的,否則,表示此列是不匹配的。由於本實施例是利用靜態互補式金氧半邏輯電路13、23來產生匹配位元MB i
,不需要對搜尋位元SB j
的輸入端、互補搜尋位元的輸入端及匹配位元MB i
的輸出端進行預充電,也沒有靜態電流,可以加快操作速度及降低功率消耗。
參閱圖3,本發明內容可定址記憶體之第二較佳實施例是一個二元內容可定址記憶體,且包含多數記憶單元3及多數記憶單元4(圖3中只顯示位於第i
列的記憶單元3、4中的最後二個)。位於同一列的記憶單元3及記憶單元4交錯排列,且每一記憶單元3、4接收n
個搜尋位元SB j
中的二個及n
個互補搜尋位元中的二個。
每一記憶單元3包括二資料記憶胞31、32、二比較電路33、34及一靜態互補式金氧半邏輯電路35,其中,資料記憶胞31儲存一資料位元DB i,j
及一互補資料位元;資料記憶胞32儲存一資料位元DB i,j
-1
及一互補資料位元;比較電路33耦接至資料記憶胞31,並接收相對應的搜尋位元SB j
、互補搜尋位元及資料記憶胞31儲存的資料位
元DB i,j
、互補資料位元,且比較相對應的搜尋位元SB j
、互補搜尋位元及資料記憶胞31儲存的資料位元DB i,j
、互補資料位元是否匹配,以輸出一比較結果CR i,j
;比較電路34耦接至資料記憶胞32,並接收相對應的搜尋位元SB j
-1
、互補搜尋位元及資料記憶胞32儲存的資料位元DB i,j
-1
、互補資料位元,且比較相對應的搜尋位元SB j
-1
、互補搜尋位元及資料記憶胞32儲存的資料位元DB i,j
-1
、互補資料位元是否匹配,以輸出一比較結果CR i,j
-1
;靜態互補式金氧半邏輯電路35耦接至比較電路33、34及前一記憶單元4,並接收比較電路33、34輸出的比較結果CR i,j
、CR i,j
-1
及前一記憶單元4輸出的一匹配結果MR i,j
-2
來進行邏輯運算,且輸出一互補匹配結果。
每一記憶單元4包括二資料記憶胞41、42、二比較電路43、44及一靜態互補式金氧半邏輯電路45,其中,資料記憶胞41儲存一資料位元DB i,j
及一互補資料位元;資料記憶胞42儲存一資料位元DB i,j
-1
及一互補資料位元;比較電路43耦接至資料記憶胞41,並接收相對應的搜尋位元SB j
、互補搜尋位元及資料記憶胞41儲存的資料位元DB i,j
、互補資料位元,且比較相對應的搜尋位元SB j
、互補搜尋位元及資料記憶胞41儲存的資料位元DB i,j
、互補資料位元是否匹配,以輸出一互補比較結果;比較電路44耦接至資料記憶胞42,並接收相對應的搜尋位元SB j
-1
、互補搜尋位元及資料記憶胞42儲存的資料位元DB i,j
-1
、互補資料位元,且比較相對應的搜尋
位元SB j
-1
、互補搜尋位元及資料記憶胞42儲存的資料位元DB i,j
-1
、互補資料位元是否匹配,以輸出一互補比較結果;靜態互補式金氧半邏輯電路45耦接至比較電路43、44及前一記憶單元3,並接收比較電路43、44輸出的互補比較結果、及前一記憶單元3輸出的互補匹配結果來進行邏輯運算,且輸出匹配結果MR i,j
。每一列的最後一個記憶單元4輸出的匹配結果MR i,n
被當作匹配位元MB i
。
參閱圖4,對於每一記憶單元3,資料記憶胞31、32與第一較佳實施例的資料記憶胞11相同,此處不再多加說明;比較電路33、34與第一較佳實施例的比較電路12相同,此處不再多加說明;靜態互補式金氧半邏輯電路35是一具有三輸入端及一輸出端的非及閘。參閱圖5,對於每一記憶單元4,資料記憶胞41、42與第一較佳實施例的資料記憶胞21相同,此處不再多加說明;比較電路43、44與第一較佳實施例的比較電路22相同,此處不再多加說明;靜態互補式金氧半邏輯電路45是一具有三輸入端及一輸出端的非或閘。
本實施例的運作原理可由第一較佳實施例類推,此處不再多加說明。由於本實施例是利用靜態互補式金氧半邏輯電路35、45來產生匹配位元MB i
,不需要對搜尋位元SB j
的輸入端、互補搜尋位元的輸入端及匹配位元MB i
的輸出端進行預充電,也沒有靜態電流,可以加快操作速度及降低功率消耗。
值得注意的是,在第一較佳實施例中,由於每一記憶單元1、2包括一資料記憶胞11、21、及一比較電路12、22,因此,每一記憶單元1、2實質上包括一內容可定址記憶胞,並由一靜態互補式金氧半邏輯電路13、23產生一匹配結果或一互補匹配結果;在第二較佳實施例中,由於每一記憶單元3、4包括二資料記憶胞31、32、41、42及二比較電路33、34、43、44,因此,每一記憶單元3、4實質上包括二內容可定址記憶胞,並由一靜態互補式金氧半邏輯電路35、45產生一匹配結果或一互補匹配結果;但在其它實施例中,每一記憶單元可以實質上包括更多內容可定址記憶胞,並由一靜態互補式金氧半邏輯電路產生一匹配結果或一互補匹配結果。
參閱圖6,本發明內容可定址記憶體之第三較佳實施例是一個三元內容可定址記憶體,且包含多數記憶單元5及多數記憶單元6(圖6中只顯示位於第i
列的記憶單元5、6中的最後四個)。位於同一列的記憶單元5及記憶單元6交錯排列,且每一記憶單元5、6接收n
個搜尋位元SB j
中的一個及n
個互補搜尋位元中的一個。
每一記憶單元5包括一資料記憶胞51、一遮罩記憶胞52、一比較電路53及一靜態互補式金氧半邏輯電路54,其中,資料記憶胞51儲存一資料位元DB i,j
;遮罩記憶胞52儲存一遮罩位元CB i,j
;比較電路53耦接至資料記憶胞51及遮罩記憶胞52,並接收相對應的搜尋位元SB j
、互補搜尋位元、資料記憶胞51儲存的資料位元DB i,j
及遮罩記憶胞52儲存的遮罩位元CB i,j
,且比較相對應的搜尋位元SB j
、互補搜尋位元、資料記憶胞51儲存的資料位元DB i,j
及遮罩記憶胞52儲存的遮罩位元CB i,j
是否匹配,以輸出一比較結果CR i,j
;靜態互補式金氧半邏輯電路54耦接至比較電路53及前一記憶單元6,並接收比較電路53輸出的比較結果CR i,j
及前一記憶單元6輸出的一匹配結果MR i,j
-1
來進行邏輯運算,且輸出一互補匹配結果。
每一記憶單元6包括一資料記憶胞61、一遮罩記憶胞62、一比較電路63及一靜態互補式金氧半邏輯電路64,其中,資料記憶胞61儲存一互補資料位元;遮罩記憶胞62儲存一互補遮罩位元;比較電路63耦接至資料記憶胞61及遮罩記憶胞62,並接收相對應的搜尋位元SB j
、互補搜尋位元、資料記憶胞61儲存的互補資料位元及遮罩記憶胞62儲存的互補遮罩位元,且比較相對應的搜尋位元SB j
、互補搜尋位元、資料記憶胞61儲存的互補資料位元及遮罩記憶胞62儲存的互補遮罩位元是否匹配,以輸出一互補比較結果;靜態互補式金氧半邏輯電路64耦接至比較電路63及前一記憶單元5,並接收比較電路63輸出的互補比較結果及前一記憶單元5輸出的互補匹配結果來進行邏輯運算,且輸出匹配結果MR i,j
。每一列的最後一個記憶單元6輸出的匹配結果MR i,n
被當作匹配位元MB i
。
每一記憶單元5、6的編碼方式及是否匹配如下表所示
:
參閱圖7(a),對於每一記憶單元5,資料記憶胞51及遮罩記憶胞52都是靜態隨機存取記憶胞;比較電路53包括四N型金氧半電晶體531~534及四P型金氧半電晶體535~538,其中,N型金氧半電晶體531、532分別受遮罩位元CB i,j
及相對應的搜尋位元SB j
控制,且在一地電壓的輸入端及比較結果CR i,j
的輸出端之間串聯,N型金氧半電晶體533、534分別受資料位元DB i,j
及相對應的互補搜尋位元控制,且在地電壓的輸入端及比較結果CR i,j
的輸出端之間串聯,P型金氧半電晶體535、536分別受相對應的搜尋位元SB j
及資料位元DB i,j
控制,且在一操作電壓的輸入端及比較結果CR i,j
的輸出端之間串聯,P型金氧半電晶體537、538分別受相對應的互補搜尋位元及遮罩位元CB i,j
控制,且在操作電壓的輸入端及比較結果CR i,j
的輸出端之間串聯;靜態互補式金氧半邏輯電路54是一具有二輸入端及一輸出端的非及閘。
參閱圖7(b),對於每一記憶單元6,資料記憶胞61及遮罩記憶胞62都是靜態隨機存取記憶胞;比較電路63包括四N型金氧半電晶體631~634及四P型金氧半電晶體
635~638,其中,N型金氧半電晶體631、632分別受互補遮罩位元及相對應的搜尋位元SB j
控制,且在地電壓的輸入端及互補比較結果的輸出端之間串聯,N型金氧半電晶體633、634分別受互補資料位元及相對應的互補搜尋位元控制,且在地電壓的輸入端及互補比較結果的輸出端之間串聯,P型金氧半電晶體635、636分別受相對應的搜尋位元SB j
及互補資料位元控制,且在操作電壓的輸入端及互補比較結果的輸出端之間串聯,P型金氧半電晶體637、638分別受相對應的互補搜尋位元及互補遮罩位元控制,且在操作電壓的輸入端及互補比較結果的輸出端之間串聯;靜態互補式金氧半邏輯電路64是一具有二輸入端及一輸出端的非或閘。
以下說明本實施例的運作原理。對於每一記憶單元5,當資料記憶胞51儲存的資料位元DB i,j
、遮罩記憶胞52儲存的遮罩位元CB i,j
及相對應的搜尋位元SB j
、互補搜尋位元匹配時(例如:{DB i,j
,CB i,j
,SB j
,}為{0,1,0,1}、{1,0,1,0}、{0,0,0,1}或{0,0,1,0}),比較電路53輸出的比較結果CR i,j
是1,若前一記憶單元6輸出的匹配結果MR i,j
-1
是1的話,靜態互補式金氧半邏輯電路54輸出的互補匹配結果是0,表示記憶單元5本身及前面記憶單元5、6都是匹配的;而對於每一記憶單元6,當資料記憶胞61儲存的互補資料位元、遮罩記憶胞62儲存的互補遮罩位元及相對應的搜尋位元SB j
、互補搜尋位元匹配時(例如:{,,SB j
,}為{1,0,0,1}、{0,1,1,0}、{1,1,0,1}或
{1,1,1,0}),比較電路63輸出的互補比較結果是0,若前一記憶單元5輸出的互補匹配結果是0的話,靜態互補式金氧半邏輯電路64輸出的匹配結果MR i,j
是1,表示記憶單元6本身及前面記憶單元5、6都是匹配的。因此,當每一列的最後一個記憶單元6輸出的匹配結果MR i,n
(即匹配位元MB i
)是1時,表示此列是匹配的,否則,表示此列是不匹配的。由於本實施例是利用靜態互補式金氧半邏輯電路54、64來產生匹配位元MB i
,不需要對搜尋位元SB j
的輸入端、互補搜尋位元的輸入端及匹配位元MB i
的輸出端進行預充電,也沒有靜態電流,可以加快操作速度及降低功率消耗。
參閱圖8,本發明內容可定址記憶體之第四較佳實施例是一個三元內容可定址記憶體,且包含多數記憶單元7及多數記憶單元8(圖8中只顯示位於第i
列的記憶單元7、8中的最後二個)。位於同一列的記憶單元7及記憶單元8交錯排列,且每一記憶單元7、8接收n
個搜尋位元SB j
中的二個及n
個互補搜尋位元中的二個。
每一記憶單元7包括二資料記憶胞71、72、二遮罩記憶胞73、74、二比較電路75、76及一靜態互補式金氧半邏輯電路77,其中,資料記憶胞71儲存一資料位元DB i,j
;資料記憶胞72儲存一資料位元DB i,j
-1
;遮罩記憶胞73儲存一遮罩位元CB i,j
;遮罩記憶胞74儲存一遮罩位元CB i,j
-1
;比較電路75耦接至資料記憶胞71及遮罩記憶胞73,並接收相
對應的搜尋位元SB j
、互補搜尋位元、資料記憶胞71儲存的資料位元DB i,j
及遮罩記憶胞73儲存的遮罩位元CB i,j
,且比較相對應的搜尋位元SB j
、互補搜尋位元、資料記憶胞71儲存的資料位元DB i,j
及遮罩記憶胞73儲存的遮罩位元CB i,j
是否匹配,以輸出一比較結果CR i,j
;比較電路76耦接至資料記憶胞72及遮罩記憶胞74,並接收相對應的搜尋位元SB j
-1
、互補搜尋位元、資料記憶胞72儲存的資料位元DB i,j
-1
及遮罩記憶胞74儲存的遮罩位元CB i,j
-1
,且比較相對應的搜尋位元SB j
-1
、互補搜尋位元、資料記憶胞72儲存的資料位元DB i,j
-1
及遮罩記憶胞74儲存的遮罩位元CB i,j
-1
是否匹配,以輸出一比較結果CR i,j
-1
;靜態互補式金氧半邏輯電路77耦接至比較電路75、76及前一記憶單元8,並接收比較電路75、76輸出的比較結果CR i,j
、CR i,j
-1
及前一記憶單元8輸出的一匹配結果MR i,j
-2
來進行邏輯運算,且輸出一互補匹配結果。
每一記憶單元8包括二資料記憶胞81、82、二遮罩記憶胞83、84、二比較電路85、86及一靜態互補式金氧半邏輯電路87,其中,資料記憶胞81儲存一互補資料位元;資料記憶胞82儲存一互補資料位元;遮罩記憶胞83儲存一互補遮罩位元;遮罩記憶胞84儲存一互補遮罩位元;比較電路85耦接至資料記憶胞81及遮罩記憶胞83,並接收相對應的搜尋位元SB j
、互補搜尋位元、資料記憶胞81儲存的互補資料位元及遮罩記憶胞83儲存的互補遮罩位元,且比較相對應的搜尋位元SB j
、
互補搜尋位元、資料記憶胞81儲存的互補資料位元及遮罩記憶胞83儲存的互補遮罩位元是否匹配,以輸出一互補比較結果;比較電路86耦接至資料記憶胞82及遮罩記憶胞84,並接收相對應的搜尋位元SB j
-1
、互補搜尋位元、資料記憶胞82儲存的互補資料位元及遮罩記憶胞84儲存的互補遮罩位元,且比較相對應的搜尋位元SB j
-1
、互補搜尋位元、資料記憶胞82儲存的互補資料位元及遮罩記憶胞84儲存的互補遮罩位元是否匹配,以輸出一互補比較結果;靜態互補式金氧半邏輯電路87耦接至比較電路85、86及前一記憶單元7,並接收比較電路85、86輸出的互補比較結果、及前一記憶單元7輸出的互補匹配結果來進行邏輯運算,且輸出匹配結果MR i,j
。每一列的最後一個記憶單元8輸出的匹配結果MR i,n
被當作匹配位元MB i
。
參閱圖9,對於每一記憶單元7,資料記憶胞71、72與第三較佳實施例的資料記憶胞51相同,此處不再多加說明;遮罩記憶胞73、74與第三較佳實施例的遮罩記憶胞52相同,此處不再多加說明;比較電路75、76與第三較佳實施例的比較電路53相同,此處不再多加說明;靜態互補式金氧半邏輯電路77是一具有三輸入端及一輸出端的非及閘。參閱圖10,對於每一記憶單元8,資料記憶胞81、82與第三較佳實施例的資料記憶胞61相同,此處不再多加說明;遮罩記憶胞83、84與第三較佳實施例的遮罩記憶胞62
相同,此處不再多加說明;比較電路85、86與第三較佳實施例的比較電路63相同,此處不再多加說明;靜態互補式金氧半邏輯電路87是一具有三輸入端及一輸出端的非或閘。
本實施例的運作原理可由第三較佳實施例類推,此處不再多加說明。由於本實施例是利用靜態互補式金氧半邏輯電路77、87來產生匹配位元MB i
,不需要對搜尋位元SB j
的輸入端、互補搜尋位元的輸入端及匹配位元MB i
的輸出端進行預充電,也沒有靜態電流,可以加快操作速度及降低功率消耗。
值得注意的是,在第三較佳實施例中,由於每一記憶單元5、6包括一資料記憶胞51、61、一遮罩記憶胞52、62及一比較電路53、63,因此,每一記憶單元5、6實質上包括一內容可定址記憶胞,並由一靜態互補式金氧半邏輯電路54、64產生一匹配結果或一互補匹配結果;在第四較佳實施例中,由於每一記憶單元7、8包括二資料記憶胞71、72、81、82、二遮罩記憶胞73、74、83、84及二比較電路75、76、85、86,因此,每一記憶單元7、8實質上包括二內容可定址記憶胞,並由一靜態互補式金氧半邏輯電路77、87產生一匹配結果或一互補匹配結果;但在其它實施例中,每一記憶單元可以實質上包括更多內容可定址記憶胞,並由一靜態互補式金氧半邏輯電路產生一匹配結果或一互補匹配結果。
參閱圖11,本發明內容可定址記憶體之第五較佳實施例是一個三元內容可定址記憶體,且包含多數記憶單元91及多數記憶單元92(圖11中只顯示位於第i
列的記憶單元91、92中的最後四個)。位於同一列的記憶單元91及記憶單元92交錯排列,且每一記憶單元91、92接收n
個搜尋位元SB j
中的一個及n
個互補搜尋位元中的一個。
每一記憶單元91包括一資料記憶胞911、一遮罩記憶胞912、一比較電路913及一靜態互補式金氧半邏輯電路914,其中,資料記憶胞911儲存一資料位元DB i,j
及一互補資料位元;遮罩記憶胞912儲存一互補遮罩位元;比較電路913耦接至資料記憶胞911,並接收相對應的搜尋位元SB j
、互補搜尋位元及資料記憶胞911儲存的資料位元DB i,j
、互補資料位元,且比較相對應的搜尋位元SB j
、互補搜尋位元及資料記憶胞911儲存的資料位元DB i,j
、互補資料位元是否匹配,以輸出一比較結果CR i,j
;靜態互補式金氧半邏輯電路914耦接至遮罩記憶胞912、比較電路913及前一記憶單元92,並接收遮罩記憶胞912儲存的互補遮罩位元、比較電路913輸出的比較結果CR i,j
及前一記憶單元92輸出的一匹配結果MR i,j
-1
來進行邏輯運算,且輸出一互補匹配結果。
每一記憶單元92包括一資料記憶胞921、一遮罩記憶胞922、一比較電路923及一靜態互補式金氧半邏輯電路924,其中,資料記憶胞921儲存一資料位元DB i,j
及一互補資料位元;遮罩記憶胞922儲存一遮罩位元CB i,j
;比較
電路923耦接至資料記憶胞921,並接收相對應的搜尋位元SB j
、互補搜尋位元及資料記憶胞921儲存的資料位元DB i,j
、互補資料位元,且比較相對應的搜尋位元SB j
、互補搜尋位元及資料記憶胞921儲存的資料位元DB i,j
、互補資料位元是否匹配,以輸出一互補比較結果;靜態互補式金氧半邏輯電路924耦接至遮罩記憶胞922、比較電路923及前一記憶單元91,並接收遮罩記憶胞922儲存的遮罩位元CB i,j
、比較電路923輸出的互補比較結果及前一記憶單元91輸出的互補匹配結果來進行邏輯運算,且輸出匹配結果MR i,j
。每一列的最後一個記憶單元92輸出的匹配結果MR i,n
被當作匹配位元MB i
。
每一記憶單元91、92的編碼方式及是否匹配如下表所示:
參閱圖12(a),對於每一記憶單元91,資料記憶胞911及遮罩記憶胞912都是靜態隨機存取記憶胞;比較電路913與第一較佳實施例的比較電路12相同,此處不再多加說明;靜態互補式金氧半邏輯電路914是一具有三輸入端及一輸出端的或及反相閘(OAI gate),其中,遮罩記憶胞912儲存的互補遮罩位元與比較電路913輸出的比較結果CR i,j
先作或運算,再與前一記憶單元92輸出的匹配結果MR i,j
-1
作非及運算,以產生互補匹配結果。參閱圖12(b),對於每一記憶單元92,資料記憶胞921及遮罩記憶胞922都是靜態隨機存取記憶胞;比較電路923與第一較佳實施例的比較電路22相同,此處不再多加說明;靜態互補式金氧半邏輯電路924是一具有三輸入端及一輸出端的及或反相閘(AOI gate),其中,遮罩記憶胞922儲存的遮罩位元CB i,j
與比較電路923輸出的互補比較結果先作及運算,再與前一記憶單元91輸出的互補匹配結果作非或運算,以產生匹配結果MR i,j
。
以下說明本實施例的運作原理。對於每一記憶單元91,當比較電路913輸出的比較結果CR i,j
是1或遮罩記憶胞912儲存的互補遮罩位元是1時,若前一記憶單元6輸出的匹配結果MR i,j
-1
是1的話,靜態互補式金氧半邏輯電路914輸出的互補匹配結果是0,表示記憶單元91本身及前面記憶單元91、92都是匹配的;而對於每一記憶單元92,當比較電路923輸出的互補比較結果是0或遮罩記憶胞922儲存的遮罩位元CB i,j
是0時,若前一記憶單元5輸出的互補匹配結果是0的話,靜態互補式金氧半邏輯電路924輸出的匹配結果MR i,j
是1,表示記憶單元92本身及前面記憶單元91、92都是匹配的。因此,當每一列的最後一個記憶單元92輸出的匹配結果MR i,n
(即匹配位元MB i
)是1時,表示此列是匹配的,否則,表示此列是不匹配的。由於本實施例是利用靜態互補式金氧半邏輯電路914、
924來產生匹配位元MB i
,不需要對搜尋位元SB j
的輸入端、互補搜尋位元的輸入端及匹配位元MB i
的輸出端進行預充電,也沒有靜態電流,可以加快操作速度及降低功率消耗。
值得注意的是,在上述實施例中,資料記憶胞11、21、31、32、41、42、51、61、71、72、81、82、911、921及遮罩記憶胞52、62、73、74、83、84、912、922是靜態隨機存取記憶胞,但在其它實施例中,可以是其它類型的記憶胞。另外,靜態互補式金氧半邏輯電路13、23、35、45、54、64、77、87、914、924並不侷限於實施例所述,電路設計者亦可依據需求,設計為其他型態之靜態互補式金氧半邏輯電路。
惟以上所述者,僅為本發明之較佳實施例而已,當不能以此限定本發明實施之範圍,即大凡依本發明申請專利範圍及發明說明內容所作之簡單的等效變化與修飾,皆仍屬本發明專利涵蓋之範圍內。
1、2‧‧‧記憶單元
631~638‧‧‧電晶體
11、21‧‧‧資料記憶胞
54、64‧‧‧靜態互補式金氧半邏輯電路
12、22‧‧‧比較電路
121~124‧‧‧電晶體
7、8‧‧‧記憶單元
221~224‧‧‧電晶體
71、72‧‧‧資料記憶胞
13、23‧‧‧靜態互補式金氧半邏輯電路
81、82‧‧‧資料記憶胞
73、74‧‧‧遮罩記憶胞
3、4‧‧‧記憶單元
83、84‧‧‧遮罩記憶胞
31、32‧‧‧資料記憶胞
75、76‧‧‧比較電路
41、42‧‧‧資料記憶胞
85、86‧‧‧比較電路
33、34‧‧‧比較電路
77、87‧‧‧靜態互補式金氧半邏輯電路
43、44‧‧‧比較電路
35、45‧‧‧靜態互補式金氧半邏輯電路
91、92‧‧‧記憶單元
911、921‧‧‧資料記憶胞
5、6‧‧‧記憶單元
912、922‧‧‧遮罩記憶胞
51、61‧‧‧資料記憶胞
913、923‧‧‧比較電路
52、62‧‧‧遮罩記憶胞
914、924‧‧‧靜態互補式金氧半邏輯電路
53、63‧‧‧比較電路
531~538‧‧‧電晶體
圖1是一電路示意圖,說明本發明內容可定址記憶體的第一較佳實施例;圖2是一電路示意圖,說明第一較佳實施例的記憶單元;圖3是一電路示意圖,說明本發明內容可定址記憶體的第二較佳實施例;圖4是一電路示意圖,說明第二較佳實施例的記憶單
元;圖5是一電路示意圖,說明第二較佳實施例的記憶單元;圖6是一電路示意圖,說明本發明內容可定址記憶體的第三較佳實施例;圖7是一電路示意圖,說明第三較佳實施例的記憶單元;圖8是一電路示意圖,說明本發明內容可定址記憶體的第四較佳實施例;圖9是一電路示意圖,說明第四較佳實施例的記憶單元;圖10是一電路示意圖,說明第四較佳實施例的記憶單元;圖11是一電路示意圖,說明本發明內容可定址記憶體的第五較佳實施例;及圖12是一電路示意圖,說明第五較佳實施例的記憶單元。
1、2‧‧‧記憶單元
11、21‧‧‧資料記憶胞
12、22‧‧‧比較電路
13、23‧‧‧靜態互補式金氧半邏輯電路
Claims (14)
- 一種內容可定址記憶體,包含:一第一記憶單元,包括:一第一資料記憶胞,用以儲存一第一資料位元;一第一比較電路,耦接至該第一資料記憶胞,用以比較一第一搜尋位元與該第一資料位元是否匹配,以輸出一第一比較結果;以及一第一靜態互補式金氧半邏輯電路,耦接至該第一比較電路,用以對該第一比較結果進行邏輯運算,以輸出一第一匹配結果;以及一第二記憶單元,包括:一第二資料記憶胞,用以儲存一第二資料位元;一第二比較電路,耦接至該第二資料記憶胞,用以比較一第二搜尋位元與該第二資料位元是否匹配,以輸出一第二比較結果;以及一第二靜態互補式金氧半邏輯電路,耦接至該第一靜態互補式金氧半邏輯電路及該第二比較電路,用以對該第一匹配結果及該第二比較結果進行邏輯運算,以輸出一輸出匹配結果;其中,該第一靜態互補式金氧半邏輯電路與該第二靜態互補式金氧半邏輯電路互為不同型態之邏輯電路。
- 依據申請專利範圍第1項所述之內容可定址記憶體,其 中,該第一靜態互補式金氧半邏輯電路為一非及閘,該第二靜態互補式金氧半邏輯電路為一非或閘。
- 依據申請專利範圍第1項所述之內容可定址記憶體,其中,該第一記憶單元更包括:一第三資料記憶胞,用以儲存一第三資料位元;以及一第三比較電路,耦接至該第三資料記憶胞,用以比較一第三搜尋位元與該第三資料位元是否匹配,以輸出一第三比較結果;其中,該第一靜態互補式金氧半邏輯電路更耦接至該第三比較電路,並對該第一比較結果與該第三比較結果進行邏輯運算,以輸出該第一匹配結果。
- 依據申請專利範圍第3項所述之內容可定址記憶體,其中,該第二記憶單元更包括:一第四資料記憶胞,用以儲存一第四資料位元;以及一第四比較電路,耦接至該第四資料記憶胞,用以比較一第四搜尋位元與該第四資料位元是否匹配,以輸出一第四比較結果;其中,該第二靜態互補式金氧半邏輯電路更耦接至該第四比較電路,並對該第二比較結果、該第四比較結果與該第一匹配結果進行邏輯運算,以輸出該輸出匹配結果。
- 依據申請專利範圍第4項所述之內容可定址記憶體,其中,該第一靜態互補式金氧半邏輯電路為一非及閘,該第二靜態互補式金氧半邏輯電路為一非或閘。
- 依據申請專利範圍第1項所述之內容可定址記憶體,其中,該第一記憶單元更包括:一第一遮罩記憶胞,用以儲存一第一遮罩位元;其中,該第一比較電路更耦接至該第一遮罩記憶胞,並比較該第一搜尋位元、該第一資料位元及該第一遮罩位元是否匹配,以輸出該第一比較結果。
- 依據申請專利範圍第6項所述之內容可定址記憶體,其中,該第二記憶單元更包括:一第二遮罩記憶胞,用以儲存一第二遮罩位元;其中,該第二比較電路更耦接至該第二遮罩記憶胞,並比較該第二搜尋位元、該第二資料位元及該第二遮罩位元是否匹配,以輸出該第二比較結果。
- 依據申請專利範圍第7項所述之內容可定址記憶體,其中,該第一靜態互補式金氧半邏輯電路為一非及閘,該第二靜態互補式金氧半邏輯電路為一非或閘。
- 依據申請專利範圍第7項所述之內容可定址記憶體,其中,該第一記憶單元更包括: 一第三資料記憶胞,用以儲存一第三資料位元;一第三遮罩記憶胞,用以儲存一第三遮罩位元;以及一第三比較電路,耦接至該第三資料記憶胞及該第三遮罩記憶胞,用以比較一第三搜尋位元、該第三資料位元及該第三遮罩位元是否匹配,以輸出一第三比較結果;其中,該第一靜態互補式金氧半邏輯電路更耦接至該第三比較電路,並對該第一比較結果與該第三比較結果進行邏輯運算,以輸出該第一匹配結果。
- 依據申請專利範圍第9項所述之內容可定址記憶體,其中,該第二記憶單元更包括:一第四資料記憶胞,用以儲存一第四資料位元;一第四遮罩記憶胞,用以儲存一第四遮罩位元;以及一第四比較電路,耦接至該第四資料記憶胞及該第四遮罩記憶胞,用以比較一第四搜尋位元、該第四資料位元及該第四遮罩位元是否匹配,以輸出一第四比較結果;其中,該第二靜態互補式金氧半邏輯電路更耦接至該第四比較電路,並對該第二比較結果、該第四比較結果與該第一匹配結果進行邏輯運算,以輸出該輸出匹配結果。
- 依據申請專利範圍第10項所述之內容可定址記憶體,其 中,該第一靜態互補式金氧半邏輯電路為一非及閘,該第二靜態互補式金氧半邏輯電路為一非或閘。
- 依據申請專利範圍第1項所述之內容可定址記憶體,其中,該第一記憶單元更包括:一第一遮罩記憶胞,用以儲存一第一遮罩位元;其中,該第一靜態互補式金氧半邏輯電路更耦接至該第一遮罩記憶胞,並對該第一比較結果與該第一遮罩位元進行邏輯運算,以輸出該第一匹配結果。
- 依據申請專利範圍第12項所述之內容可定址記憶體,其中,該第二記憶單元更包括:一第二遮罩記憶胞,用以儲存一第二遮罩位元;其中,該第二靜態互補式金氧半邏輯電路更耦接至該第二遮罩記憶胞,並對該第二比較結果、該第二遮罩位元與該第一匹配結果進行邏輯運算,以輸出該輸出匹配結果。
- 依據申請專利範圍第13項所述之內容可定址記憶體,其中,該第一靜態互補式金氧半邏輯電路為一或及反相閘,該第二靜態互補式金氧半邏輯電路為一及或反相閘。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW097135791A TWI391946B (zh) | 2008-09-18 | 2008-09-18 | 內容可定址記憶體 |
US12/561,539 US8125811B2 (en) | 2008-09-18 | 2009-09-17 | Content-addressable memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW097135791A TWI391946B (zh) | 2008-09-18 | 2008-09-18 | 內容可定址記憶體 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201013694A TW201013694A (en) | 2010-04-01 |
TWI391946B true TWI391946B (zh) | 2013-04-01 |
Family
ID=42007085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097135791A TWI391946B (zh) | 2008-09-18 | 2008-09-18 | 內容可定址記憶體 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8125811B2 (zh) |
TW (1) | TWI391946B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6023453B2 (ja) * | 2011-04-15 | 2016-11-09 | 株式会社半導体エネルギー研究所 | 記憶装置 |
US9007799B2 (en) * | 2012-04-25 | 2015-04-14 | Intel Corporation | Low power content addressable memory system |
US8958226B2 (en) | 2012-12-28 | 2015-02-17 | Qualcomm Incorporated | Static NAND cell for ternary content addressable memory (TCAM) |
US8934278B2 (en) * | 2012-12-28 | 2015-01-13 | Qualcomm Incorporated | Hybrid ternary content addressable memory |
GB2529221A (en) * | 2014-08-14 | 2016-02-17 | Ibm | Content addressable memory cell and array |
CN108962316B (zh) * | 2018-06-25 | 2020-09-08 | 华中科技大学 | 基于忆阻器和cmos的内容可寻址存储单元及数据搜索匹配方法 |
TWI800966B (zh) | 2021-10-29 | 2023-05-01 | 瑞昱半導體股份有限公司 | 內容可定址記憶體單元 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030072171A1 (en) * | 2001-10-12 | 2003-04-17 | Samsung Electronics Co., Ltd. | Content addressable memory device |
TW583671B (en) * | 2002-04-09 | 2004-04-11 | Fujitsu Ltd | Semiconductor memory |
TWI264726B (en) * | 2003-09-22 | 2006-10-21 | Faraday Tech Corp | Integrated content addressable memory architecture |
US20070061692A1 (en) * | 2005-08-18 | 2007-03-15 | John Wickeraad | Parallel parity checking for content addressable memory and ternary content addressable memory |
US7248492B1 (en) * | 2004-04-09 | 2007-07-24 | Integrated Device Technology, Inc. | Method and apparatus for CAM with reduced cross-coupling interference |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6460112B1 (en) * | 1999-02-23 | 2002-10-01 | Netlogic Microsystems, Llc | Method and apparatus for determining a longest prefix match in a content addressable memory device |
US6499081B1 (en) * | 1999-02-23 | 2002-12-24 | Netlogic Microsystems, Inc. | Method and apparatus for determining a longest prefix match in a segmented content addressable memory device |
US6512684B2 (en) * | 2001-06-11 | 2003-01-28 | International Business Machines Corporation | Content addressable memory having cascaded sub-entry architecture |
-
2008
- 2008-09-18 TW TW097135791A patent/TWI391946B/zh active
-
2009
- 2009-09-17 US US12/561,539 patent/US8125811B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030072171A1 (en) * | 2001-10-12 | 2003-04-17 | Samsung Electronics Co., Ltd. | Content addressable memory device |
TW583671B (en) * | 2002-04-09 | 2004-04-11 | Fujitsu Ltd | Semiconductor memory |
TWI264726B (en) * | 2003-09-22 | 2006-10-21 | Faraday Tech Corp | Integrated content addressable memory architecture |
US7248492B1 (en) * | 2004-04-09 | 2007-07-24 | Integrated Device Technology, Inc. | Method and apparatus for CAM with reduced cross-coupling interference |
US20070061692A1 (en) * | 2005-08-18 | 2007-03-15 | John Wickeraad | Parallel parity checking for content addressable memory and ternary content addressable memory |
Also Published As
Publication number | Publication date |
---|---|
US8125811B2 (en) | 2012-02-28 |
TW201013694A (en) | 2010-04-01 |
US20100067277A1 (en) | 2010-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10521229B2 (en) | Computational memory cell and processing array device using memory cells | |
KR101585037B1 (ko) | 하이브리드 터너리 컨텐츠 어드레스가능 메모리 | |
TWI391946B (zh) | 內容可定址記憶體 | |
KR101557883B1 (ko) | 터너리 컨텐츠 어드레스가능 메모리(tcam)를 위한 정적 nand 셀 | |
JP6325044B2 (ja) | 3値連想メモリのための擬似norセル | |
JP2812262B2 (ja) | 連想記憶装置 | |
US20090310395A1 (en) | Content-Addressable Memory | |
US8400802B2 (en) | Binary content addressable memory | |
US20160358654A1 (en) | Low-power ternary content addressable memory | |
Datti et al. | Performance evaluation of content addressable memories | |
US20140369103A1 (en) | Content addressable memory cells and ternary content addressable memory cells | |
Yatagiri et al. | Low Power Self-Controlled Pre-Charge Free Content Addressable Memory | |
US9536608B1 (en) | Content addressable memory device | |
CN101630529B (zh) | 内容可寻址存储器 | |
JP2005129218A (ja) | マグニチュード内容参照可能メモリ | |
TWI813244B (zh) | 記憶體陣列 | |
Jothi et al. | Power efficient CAM using adiabatic logic | |
US20220415396A1 (en) | Ternary content addressable memory device based on ternary memory cell | |
Immadisetti et al. | Low Power Pre-Charge Free DCAM | |
BABU et al. | An Efficient Novel Precharge-Free, Low-Power Content-Addressable Memory | |
Kittur | Selective Match-Line Energizer Content Addressable Memory (SMLE-CAM) | |
JPS63185222A (ja) | 論理回路 |