TWI786011B - 內容定址記憶體裝置、內容定址記憶體晶胞及其資料搜尋比對方法 - Google Patents

內容定址記憶體裝置、內容定址記憶體晶胞及其資料搜尋比對方法 Download PDF

Info

Publication number
TWI786011B
TWI786011B TW111113650A TW111113650A TWI786011B TW I786011 B TWI786011 B TW I786011B TW 111113650 A TW111113650 A TW 111113650A TW 111113650 A TW111113650 A TW 111113650A TW I786011 B TWI786011 B TW I786011B
Authority
TW
Taiwan
Prior art keywords
search
data
memory cell
voltage
content
Prior art date
Application number
TW111113650A
Other languages
English (en)
Other versions
TW202331720A (zh
Inventor
林榆瑄
曾柏皓
Original Assignee
旺宏電子股份有限公司
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 旺宏電子股份有限公司 filed Critical 旺宏電子股份有限公司
Application granted granted Critical
Publication of TWI786011B publication Critical patent/TWI786011B/zh
Publication of TW202331720A publication Critical patent/TW202331720A/zh

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • G11C15/046Digital 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 using non-volatile storage elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/14Dummy cell management; Sense reference voltage generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/06Sense amplifier related aspects
    • G11C2207/063Current sense amplifiers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/06Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
    • G11C7/067Single-ended amplifiers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Abstract

本案提供內容定址記憶體(CAM)記憶體裝置、內容定址記憶體晶胞及其資料搜尋比對方法。內容定址記憶體裝置包括:複數個內容定址記憶體晶胞;以及一電性特徵偵測電路,耦接至該些內容定址記憶體晶胞;其中,於進行資料搜尋時,將一搜尋資料比對於該些內容定址記憶體晶胞所儲存之一儲存資料,該些內容定址記憶體晶胞產生複數個記憶體晶胞電流,該電性特徵偵測電路偵測該些記憶體晶胞電流或偵測耦接至該些內容定址記憶體晶胞之複數條匹配線之複數個匹配線電壓,以產生複數個搜尋結果,其中,該儲存資料為一單一位元多位階儲存資料,及/或該搜尋資料為一單一位元多位階搜尋資料。

Description

內容定址記憶體裝置、內容定址記憶體晶胞及其資料搜尋比對方法
本發明係有關於一種內容定址記憶體(Content Addressable Memory, CAM)裝置、內容定址記憶體晶胞及其資料搜尋比對方法,且特別有關於一種可用於實現記憶體內近似搜尋(In-memory approximate searching)的內容定址記憶體裝置、內容定址記憶體晶胞及其資料搜尋比對方法。
隨著大數據與人工智慧(AI)硬體加速器的興起,資料搜尋與資料比對是重要功能。現有的三元內容定址記憶體(Ternary Content Addressable Memory, TCAM)可用於實現高度平行搜尋(highly parallel searching)。傳統TCAM通常由靜態隨機存取記憶體(Static Random Access Memory,SRAM)組成,因此記憶密度低且存取功率高。為了提高記憶密度並節省功耗,最近提出了基於TCAM的非揮發性記憶體陣列。
相較於具有16個電晶體(16T)之基於SRAM的TCAM,最近發展出具有2個電晶體與2個電阻(2T2R)結構之基於電阻式隨機存取記憶體(Resistive Random Access Memory,RRAM)的TCAM,以減少晶胞面積。待機功耗(standby power consumption)也可藉由使用基於RRAM的非揮發性TCAM 來改善。
下表1顯示二進位系統的數值表示,且下表2顯示匹配位元計數。 表1
  2 1 2 0
0 0 0
1 0 1
2 1 0
3 1 1
表2
  0 1 2 3
0 2 1 1 0
1 1 2 0 1
2 1 0 2 1
3 0 1 1 2
以數值1與2而言,數值1的二進位表示是01,而數值2的二進位表示是10,所以,數值1與2之間的匹配位元計數(matched bit count)為0。以數值1與3而言,數值1的二進位表示是01,而數值3的二進位表示是11,所以,數值1與3之間的匹配位元計數為1。然而,數值1與2之間的距離小於數值1與3之間的距離。
也就是說,匹配位元計數無法很好地代表兩個數值之間的關聯性(correlation)。這將會造成準確度下降(accuracy degradation)。
故而,需要有一種內容定址記憶體(Content Addressable Memory,CAM)裝置、CAM記憶體晶胞,及其資料搜尋比對方法,可用於精準產生兩個數值之間的關聯性。
根據本案一實例,提出一種內容定址記憶體裝置,包括:複數個內容定址記憶體晶胞;以及一電性特徵偵測電路,耦接至該些內容定址記憶體晶胞;其中,於進行資料搜尋時,將一搜尋資料比對於該些內容定址記憶體晶胞所儲存之一儲存資料,該些內容定址記憶體晶胞產生複數個記憶體晶胞電流,該電性特徵偵測電路偵測該些記憶體晶胞電流或偵測耦接至該些內容定址記憶體晶胞之複數條匹配線之複數個匹配線電壓,以產生複數個搜尋結果,其中,該儲存資料為一單一位元多位階儲存資料,及/或該搜尋資料為一單一位元多位階搜尋資料。
根據本案另一實例,提出一種內容定址記憶體裝置之資料搜尋比對方法,包括:儲存一儲存資料於複數個內容定址記憶體晶胞內;以一搜尋資料對該些內容定址記憶體晶胞進行資料搜尋;該些內容定址記憶體晶胞產生複數個記憶體晶胞電流;以及偵測該些記憶體晶胞電流或偵測耦接至該些內容定址記憶體串之複數條匹配線之複數個匹配線電壓,以產生複數個搜尋結果,其中,該儲存資料為一單一位元多位階儲存資料,及/或該搜尋資料為一單一位元多位階搜尋資料。
根據本案又一實例,提出一種內容定址記憶體晶胞,包括:彼此耦接之一第一與一第二記憶體晶胞,其中,該第一與該第二記憶體晶胞接收代表一搜尋資料之一第一與一第二搜尋電壓,該內容定址記憶體晶胞之一儲存資料為一單一位元多位階儲存資料,及/或該搜尋資料為一單一位元多位階搜尋資料。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:
本說明書的技術用語係參照本技術領域之習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語之解釋係以本說明書之說明或定義為準。本揭露之各個實施例分別具有一或多個技術特徵。在可能實施的前提下,本技術領域具有通常知識者可選擇性地實施任一實施例中部分或全部的技術特徵,或者選擇性地將這些實施例中部分或全部的技術特徵加以組合。
在本案一實施例中,揭露一種可實施記憶體近似搜尋的CAM記憶體裝置、CAM記憶體晶胞及其資料搜尋比對方法,利用單位元(single-bit)多位階(multi-level)搜尋資料與單位元單位階CAM記憶體晶胞以產生不匹配輸出信號的不同位階。
在本案另一實施例中,揭露一種可實施記憶體近似搜尋的CAM記憶體裝置、CAM記憶體晶胞及其資料搜尋比對方法,利用單位元單位階搜尋資料與單位元多位階CAM記憶體晶胞以產生不匹配輸出信號的不同位階。
在本案又一實施例中,揭露一種可實施記憶體近似搜尋的CAM記憶體裝置、CAM記憶體晶胞及其資料搜尋比對方法,利用單位元多位階搜尋資料與單位元多位階CAM記憶體晶胞以產生不匹配輸出信號的不同位階。
第一實施例
第1A圖顯示根據本案第一實施例之第一例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖;第1B顯示根據本案第一實施例之第二例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖。
如第1A圖所示,根據本案第一實施例之第一例的TCAM記憶體晶胞100A包括2個記憶體晶胞T11與T12。記憶體晶胞T11與T12之閘極分別耦接至搜尋線SeL’與SeL, 記憶體晶胞T11與T12之汲極共同耦接至匹配線ML,記憶體晶胞T11與T12之源極共同耦接至源極線SL。
此外,如第1A圖顯示的電壓電流曲線圖,記憶體晶胞T11與T12的臨界電壓可以為低臨界電壓LVT或高臨界電壓HVT。
如第1B圖所示,根據本案第一實施例之第二例的TCAM記憶體晶胞100B包括2個記憶體晶胞T13與T14。記憶體晶胞T13與T14之閘極共同耦接至字元線WL, 記憶體晶胞T13與T14之汲極分別耦接至搜尋線SeL’與SeL,記憶體晶胞T13與T14之源極分別耦接至不同信號線。
此外,如第1B圖顯示的電壓電流曲線圖,記憶體晶胞T13與T14的臨界電壓可以為低臨界電壓LVT或高臨界電壓HVT。
下表3與下表4分別顯示本案第一實施例之第一例與第二例之儲存資料與搜尋資料之編碼表。 表3
儲存資料 T11(T13) T12(T14)
0 LVT HVT
1 HVT LVT
不重要(Don’t care) HVT HVT
表4
搜尋資料 SeL’ SeL
0_low 0 LVS
0_mid 0 MVS
0_high 0 HVS
1_low LVS 0
1_mid MVS 0
1_high HVS 0
WC 0 0
Invalid_low LVS LVS
Invalid_mid MVS MVS
Invalid_high HVS HVS
如表3所示,當記憶體晶胞T11(T13)與T12(T14)的臨界電壓分別為LVT與HVT時,TCAM記憶體晶胞100A(TCAM記憶體晶胞100B)儲存資料0;當記憶體晶胞T11(T13)與T12(T14)的臨界電壓分別為HVT與LVT時,TCAM記憶體晶胞100A(TCAM記憶體晶胞100B)儲存資料1;當記憶體晶胞T11(T13)與T12(T14)的臨界電壓分別為HVT與HVT時,TCAM記憶體晶胞100A(TCAM記憶體晶胞100B)儲存不重要(don’t care,X)資料。
如表4所示,當搜尋線SeL’與SeL上的電壓分別為0與低搜尋電壓LVS時,搜尋資料為0_low;當搜尋線SeL’與SeL上的電壓分別為0與中搜尋電壓MVS時,搜尋資料為0_mid;當搜尋線SeL’與SeL上的電壓分別為0與高搜尋電壓HVS時,搜尋資料為0_high;當搜尋線SeL’與SeL上的電壓分別為低搜尋電壓LVS與0時,搜尋資料為1_low;當搜尋線SeL’與SeL上的電壓分別為中搜尋電壓MVS與0時,搜尋資料為1_mid;當搜尋線SeL’與SeL上的電壓分別為高搜尋電壓HVS與0時,搜尋資料為1_high;當搜尋線SeL’與SeL上的電壓分別為0與0時,搜尋資料為萬用字元(wildcard,WC);當搜尋線SeL’與SeL上的電壓分別為低搜尋電壓LVS與低搜尋電壓LVS時,搜尋資料為無效資料Invalid_low;當搜尋線SeL’與SeL上的電壓分別為中搜尋電壓MVS與中搜尋電壓MVS時,搜尋資料為無效資料Invalid_mid;當搜尋線SeL’與SeL上的電壓分別為高搜尋電壓HVS與高搜尋電壓HVS時,搜尋資料為無效資料Invalid_high。其中,HVS、MVS與LVS亦可稱為參考搜尋電壓。
在本案實施例中,「單位元多位階搜尋資料」是指,以搜尋資料0為例,搜尋資料0可分類為0_low、0_mid與0_high;其餘可依此類推。
以儲存資料為0(記憶體晶胞T11(T13)有低臨界電壓LVT且記憶體晶胞T12(T14)有高臨界電壓HVT)來說,當搜尋資料是0_low(SeL’是0V而SeL是LVS),則記憶體晶胞T11(T13)沒有電流(因為記憶體晶胞T11(T13)有低臨界電壓LVT,且SeL’是0V,從第1A圖與第1B圖的電壓電流曲線圖可看出,記憶體晶胞T11(T13)沒有電流);以及,記憶體晶胞T12(T14)沒有電流(因為記憶體晶胞T12(T14)有高臨界電壓HVT,且SeL是LVS,從第1A圖與第1B圖的電壓電流曲線圖可看出,記憶體晶胞T12(T14)沒有電流)。
同理,以儲存資料為0(記憶體晶胞T11(T13)有低臨界電壓LVT且記憶體晶胞T12(T14)有高臨界電壓HVT)來說,當搜尋資料是0_mid(SeL’是0V而SeL是MVS),則記憶體晶胞T11(T13)沒有電流(因為記憶體晶胞T11(T13)有低臨界電壓LVT,且SeL’是0V,從第1A圖與第1B圖的電壓電流曲線圖可看出,記憶體晶胞T11(T13)沒有電流);以及,記憶體晶胞T12(T14)沒有電流(因為記憶體晶胞T12(T14)有高臨界電壓HVT,且SeL是MVS,從第1A圖與第1B圖的電壓電流曲線圖可看出,記憶體晶胞T12(T14)沒有電流)。
同理,以儲存資料為0(記憶體晶胞T11(T13)有低臨界電壓LVT且記憶體晶胞T12(T14)有高臨界電壓HVT)來說,當搜尋資料是0_high(SeL’是0V而SeL是HVS),則記憶體晶胞T11(T13)沒有電流(因為記憶體晶胞T11(T13)有低臨界電壓LVT,且SeL’是0V,從第1A圖與第1B圖的電壓電流曲線圖可看出,記憶體晶胞T11(T13)沒有電流);以及,記憶體晶胞T12(T14)沒有電流(因為記憶體晶胞T12(T14)有高臨界電壓HVT,且SeL是HVS,從第1A圖與第1B圖的電壓電流曲線圖可看出,記憶體晶胞T12(T14)沒有電流)。
以儲存資料為0(記憶體晶胞T11(T13)有低臨界電壓LVT且記憶體晶胞T12(T14)有高臨界電壓HVT)來說,當搜尋資料是1_low(SeL’是LVS而SeL是0V),則記憶體晶胞T11(T13)提供低電流LID(因為記憶體晶胞T11(T13)有低臨界電壓LVT,且SeL’是LVS,從第1A圖與第1B圖的電壓電流曲線圖可看出,記憶體晶胞T11(T13) 提供低電流LID);以及,記憶體晶胞T12(T14)沒有電流(因為記憶體晶胞T12(T14)有高臨界電壓HVT,且SeL是0V,從第1A圖與第1B圖的電壓電流曲線圖可看出,記憶體晶胞T12(T14)沒有電流)。
以儲存資料為0(記憶體晶胞T11(T13)有低臨界電壓LVT且記憶體晶胞T12(T14)有高臨界電壓HVT)來說,當搜尋資料是1_mid(SeL’是MVS而SeL是0V),則記憶體晶胞T11(T13)提供中電流MID(因為記憶體晶胞T11(T13)有低臨界電壓LVT,且SeL’是MVS,從第1A圖與第1B圖的電壓電流曲線圖可看出,記憶體晶胞T11(T13) 提供中電流MID);以及,記憶體晶胞T12(T14)沒有電流(因為記憶體晶胞T12(T14)有高臨界電壓HVT,且SeL是0V,從第1A圖與第1B圖的電壓電流曲線圖可看出,記憶體晶胞T12(T14)沒有電流)。
以儲存資料為0(記憶體晶胞T11(T13)有低臨界電壓LVT且記憶體晶胞T12(T14)有高臨界電壓HVT)來說,當搜尋資料是1_high(SeL’是HVS而SeL是0V),則記憶體晶胞T11(T13)提供高電流HID(因為記憶體晶胞T11(T13)有低臨界電壓LVT,且SeL’是HVS,從第1A圖與第1B圖的電壓電流曲線圖可看出,記憶體晶胞T11(T13) 提供高電流HID);以及,記憶體晶胞T12(T14)沒有電流(因為記憶體晶胞T12(T14)有高臨界電壓HVT,且SeL是0V,從第1A圖與第1B圖的電壓電流曲線圖可看出,記憶體晶胞T12(T14)沒有電流)。
總結如上,下表5顯示根據本案第一實施例之第一例與第二例中之搜尋結果。 表5
  儲存資料0 儲存資料1 儲存資料不重要
搜尋資料0_low 匹配(無電流) 不匹配(低電流) 匹配(無電流)
搜尋資料0_mid 匹配(無電流) 不匹配(中電流) 匹配(無電流)
搜尋資料0_high 匹配(無電流) 不匹配(高電流) 匹配(無電流)
搜尋資料1_low 不匹配(低電流) 匹配(無電流) 匹配(無電流)
搜尋資料1_mid 不匹配(中電流) 匹配(無電流) 匹配(無電流)
搜尋資料1_high 不匹配(高電流) 匹配(無電流) 匹配(無電流)
搜尋資料WC 匹配(無電流) 匹配(無電流) 匹配(無電流)
搜尋資料Invalid_low 不匹配(低電流) 不匹配(低電流) 匹配(無電流)
搜尋資料Invalid_mid 不匹配(中電流) 不匹配(中電流) 匹配(無電流)
搜尋資料Invalid_high 不匹配(高電流) 不匹配(高電流) 匹配(無電流)
所以,以第一實施例中,當搜尋結果是匹配時,CAM記憶體晶胞沒有提供電流。但當搜尋結果是不匹配(MISMATCH)時,根據不匹配程度,CAM記憶體晶胞提供高/中/低電流。
以第一實施例中,儲存資料1與搜尋資料0_low之間的不匹配程度小於儲存資料1與搜尋資料0_mid之間的不匹配程度,故而,CAM記憶體晶胞所提供的不匹配低電流低於不匹配中電流。
於第一實施例中,透過調整搜尋資料的搜尋電壓LVS、MVS與HVS,即便是CAM記憶體晶胞是單一位元,仍可以得到不同的不匹配電流,以代表相似程度的差異。
第一實施例更可以有其他例子。儲存資料如下表6所示(相同於表3),而搜尋資料可以有更多種類,如下表7所示。 表6
儲存資料 T11(T13) T12(T14)
0 LVT HVT
1 HVT LVT
不重要(Don’t care) HVT HVT
表7
搜尋資料 SeL’ SeL
0_low 0 LVS
0_mid1 0 MVS1
0_mid2 0 MVS2
0_high 0 HVS
1_low LVS 0
1_mid1 MVS1 0
1_mid2 MVS2 0
1_high HVS 0
WC 0 0
Invalid_low LVS LVS
Invalid_mid1 MVS1 MVS1
Invalid_mid2 MVS2 MVS2
Invalid_high HVS HVS
如表7所示,搜尋資料可為0_low、0_mid1、0_mid2、…0_high等,而搜尋電壓則可為LVS、MVS1、MVS2、…、HVS等。
下表8顯示根據搜尋結果。 表8
  儲存資料0 儲存資料1 儲存資料不重要
搜尋資料0_low 匹配(無電流) 不匹配(低電流) 匹配(無電流)
搜尋資料0_mid1 匹配(無電流) 不匹配(中電流1) 匹配(無電流)
搜尋資料0_mid2 匹配(無電流) 不匹配(中電流2) 匹配(無電流)
搜尋資料0_high 匹配(無電流) 不匹配(高電流) 匹配(無電流)
搜尋資料1_low 不匹配(低電流) 匹配(無電流) 匹配(無電流)
搜尋資料1_mid1 不匹配(中電流1) 匹配(無電流) 匹配(無電流)
搜尋資料1_mid2 不匹配(中電流2) 匹配(無電流) 匹配(無電流)
搜尋資料1_high 不匹配(高電流) 匹配(無電流) 匹配(無電流)
搜尋資料WC 匹配(無電流) 匹配(無電流) 匹配(無電流)
搜尋資料Invalid_low 不匹配(低電流) 不匹配(低電流) 匹配(無電流)
搜尋資料Invalid_mid1 不匹配(中電流1) 不匹配(中電流1) 匹配(無電流)
搜尋資料Invalid_mid2 不匹配(中電流2) 不匹配(中電流2) 匹配(無電流)
搜尋資料Invalid_high 不匹配(高電流) 不匹配(高電流) 匹配(無電流)
第二實施例
第2A圖顯示根據本案第二實施例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖;以及,第2B圖顯示根據本案第二實施例之CAM記憶裝置操作示意圖。
本案第二實施例可用於對搜尋資料的各位元進行權重加權。
於進行搜尋操作時,以搜尋資料F1與F2為例做說明,其中,搜尋資料F1與F2皆具有N位元(N為正整數)。搜尋資料F1與F2的最高有效位(most significant bit,MSB)可以被編碼為0V或HVS(如第一實施例),而搜尋資料F1與F2的最低有效位(least significant bit,LSB)可以被編碼為0V或LVS(如第一實施例)。對於在最高有效位與最低有效位之間的該些中間有效位,由高到低的編碼為0V或高MSV到0V或低MSV。
如第2A圖所示,當匹配結果是全匹配時,電壓偵測電路210(亦可稱為電性特徵偵測電路)偵測到匹配線ML1及/或ML2上的匹配線電壓不會被放電;當匹配結果是MSB不匹配時,則電壓偵測電路210偵測到匹配線ML1及/或ML2上的匹配線匹配線電壓會被快速放電;以及,當匹配結果是LSB不匹配時,則電壓偵測電路210偵測到匹配線ML1及/或ML2上的匹配線電壓會被慢速放電。
第三實施例
第3A圖顯示根據本案第三實施例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖;以及,第3B圖顯示根據本案第三實施例之CAM記憶裝置操作示意圖。
本案第三實施例可用於對搜尋資料的各位元進行權重加權。
於進行搜尋操作時,以搜尋資料F1與F2為例做說明,其中,搜尋資料F1與F2皆具有N位元(N為正整數)。搜尋資料F1與F2的最高有效位(MSB)可以被編碼為0V或HVS(如第一實施例),而搜尋資料F1與F2的最低有效位(LSB)可以被編碼為0V或LVS(如第一實施例)。對於在最高有效位與最低有效位之間的該些中間有效位,由高到低的編碼為0V或高MSV到0V或低MSV。
如第3B圖所示,當進行搜尋後,由該些CAM記憶體晶胞所產生的晶胞電流會由耦接至該些CAM記憶體晶胞的複數個感應放大器SA(亦可稱為電性特徵偵測電路)所感應,該些感應放大器SA的個別感應結果會被加總,以得到搜尋結果。
當匹配結果是全匹配時,感應不到晶胞電流;當匹配結果是MSB不匹配時,則相關的CAM記憶體晶胞提供較大的不匹配電流,使得感應放大器SA感應到較大電流;以及,當匹配結果是LSB不匹配時,相關的CAM記憶體晶胞提供較小的不匹配電流,使得感應放大器SA感應到較小電流。故而,由該些感應放大器SA的個別感應結果的加總結果可以判斷搜尋結果是全匹配或MSB不匹配或LSB不匹配。
第四實施例
第4A圖顯示根據本案第四實施例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖;以及,第4B圖顯示根據本案第四實施例之CAM記憶裝置操作示意圖。
本案第四實施例可用於對搜尋資料的各位元進行權重加權。
於進行搜尋操作時,以搜尋資料F1與F2為例做說明,其中,搜尋資料F1與F2皆具有N位元(N為正整數)。搜尋資料F1與F2的最高有效位(MSB)可以被編碼為0V或HVS(如第一實施例),而搜尋資料F1與F2的最低有效位(LSB)可以被編碼為0V或LVS(如第一實施例)。對於在最高有效位與最低有效位之間的該些中間有效位,由高到低的編碼為0V或高MSV到0V或低MSV。
如第4B圖所示,當進行搜尋後,由該些CAM記憶體晶胞所產生的晶胞電流會由耦接至該些源極線,該些源極線的所有源極線電流被加總,以得到搜尋結果。
當匹配結果是全匹配時,感應不到晶胞電流;當匹配結果是MSB不匹配時,則相關的CAM記憶體晶胞提供較大的不匹配電流,使得感應放大器SA感應到較大電流;以及,當匹配結果是LSB不匹配時,相關的CAM記憶體晶胞提供較小的不匹配電流,使得感應放大器SA感應到較小電流。故而,由加總後源極線電流可以判斷搜尋結果是全匹配或MSB不匹配或LSB不匹配。
第五實施例
第5A圖顯示根據本案第五實施例之第一例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖;第5B顯示根據本案第五實施例之第二例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖。
本案第五實施例之TCAM記憶體晶胞100A與100B之電路架構相同或相似於本案第五實施例之TCAM記憶體晶胞100A與100B,故其細節在此省略。
此外,如第5A圖與第5B圖顯示的電壓電流曲線圖,記憶體晶胞T11與T12(T13與T14)的臨界電壓可以為低臨界電壓LVT或高臨界電壓HVT,其中,低臨界電壓LVT具有三種數值LVTa、LVTb與LVTc,LVTa>LVTb>LVTc。LVTa、LVTb與LVTc亦可稱為參考臨界電壓。
下表9與下表10分別顯示本案第五實施例之第一例與第二例之儲存資料與搜尋資料之編碼表。 表9
儲存資料 T11(T13) T12(T14)
0_low LVTa HVT
0_mid LVTb HVT
0_high LVTc HVT
1_low HVT LVTa
1_mid HVT LVTb
1_high HVT LVTc
不重要(Don’t care) HVT HVT
表10
搜尋資料 SeL’ SeL
0 0 VS
1 VS 0
WC 0 0
Invalid VS VS
如表9所示,當記憶體晶胞T11(T13)與T12(T14)的臨界電壓分別為LVTa與HVT時,TCAM記憶體晶胞100A(TCAM記憶體晶胞100B)儲存資料0_low;當記憶體晶胞T11(T13)與T12(T14)的臨界電壓分別為LVTb與HVT時,TCAM記憶體晶胞100A(TCAM記憶體晶胞100B)儲存資料0_mid;當記憶體晶胞T11(T13)與T12(T14)的臨界電壓分別為LVTc與HVT時,TCAM記憶體晶胞100A(TCAM記憶體晶胞100B)儲存資料0_high;當記憶體晶胞T11(T13)與T12(T14)的臨界電壓分別為HVT與LVTa時,TCAM記憶體晶胞100A(TCAM記憶體晶胞100B)儲存資料1_low;當記憶體晶胞T11(T13)與T12(T14)的臨界電壓分別為HVT與LVTb時,TCAM記憶體晶胞100A(TCAM記憶體晶胞100B)儲存資料1_mid;當記憶體晶胞T11(T13)與T12(T14)的臨界電壓分別為HVT與LVTc時,TCAM記憶體晶胞100A(TCAM記憶體晶胞100B)儲存資料1_high;當記憶體晶胞T11(T13)與T12(T14)的臨界電壓分別為HVT與HVT時,TCAM記憶體晶胞100A(TCAM記憶體晶胞100B)儲存不重要(don’t care,X)資料。
如表10所示,當搜尋線SeL’與SeL上的電壓分別為0與搜尋電壓VS時,搜尋資料為0;當搜尋線SeL’與SeL上的電壓分別為搜尋電壓VS與0時,搜尋資料為1;當搜尋線SeL’與SeL上的電壓分別為0與0時,搜尋資料為萬用字元(WC);當搜尋線SeL’與SeL上的電壓分別為搜尋電壓VS與搜尋電壓VS時,搜尋資料為無效資料Invalid。
在本案實施例中,「單位元多位階儲存資料」是指,以儲存資料0為例,儲存資料0可分類為0_low、0_mid與0_high;其餘可依此類推。
以儲存資料為0_low(記憶體晶胞T11(T13)有低臨界電壓LVTa且記憶體晶胞T12(T14)有高臨界電壓HVT)來說,當搜尋資料是0(SeL’是0V而SeL是VS),則記憶體晶胞T11(T13)沒有電流(因為記憶體晶胞T11(T13)有低臨界電壓LVTa,且SeL’是0V,從第5A圖與第5B圖的電壓電流曲線圖可看出,記憶體晶胞T11(T13)沒有電流);以及,記憶體晶胞T12(T14)沒有電流(因為記憶體晶胞T12(T14)有高臨界電壓HVT,且SeL是VS,從第5A圖與第5B圖的電壓電流曲線圖可看出,記憶體晶胞T12(T14)沒有電流)。
同理,以儲存資料為0_low(記憶體晶胞T11(T13)有低臨界電壓LVTa且記憶體晶胞T12(T14)有高臨界電壓HVT)來說,當搜尋資料是1(SeL’是VS而SeL是0V),則記憶體晶胞T11(T13)提供低電流LID(因為記憶體晶胞T11(T13)有低臨界電壓LVTa,且SeL’是VS,從第5A圖與第5B圖的電壓電流曲線圖可看出,記憶體晶胞T11(T13) 提供低電流LID);以及,記憶體晶胞T12(T14)沒有電流(因為記憶體晶胞T12(T14)有高臨界電壓HVT,且SeL是0V,從第5A圖與第5B圖的電壓電流曲線圖可看出,記憶體晶胞T12(T14)沒有電流)。
總結如上,下表11顯示根據本案第五實施例之第一例與第二例中之搜尋結果。 表11
  搜尋資料0 搜尋資料1 儲存資料WC 儲存資料Invalid
儲存資料0_low 匹配(無電流) 不匹配(低電流) 匹配(無電流) 不匹配(低電流)
儲存資料0_mid 匹配(無電流) 不匹配(中電流) 匹配(無電流) 不匹配(中電流)
儲存資料0_high 匹配(無電流) 不匹配(高電流) 匹配(無電流) 不匹配(高電流)
儲存資料1_low 不匹配(低電流) 匹配(無電流) 匹配(無電流) 不匹配(低電流)
儲存資料1_mid 不匹配(中電流) 匹配(無電流) 匹配(無電流) 不匹配(中電流)
儲存資料1_high 不匹配(高電流) 匹配(無電流) 匹配(無電流) 不匹配(高電流)
儲存資料不重要(X) 匹配(無電流) 匹配(無電流) 匹配(無電流) 匹配(無電流)
所以,以第五實施例中,當搜尋結果是匹配時,CAM記憶體晶胞沒有提供電流。但當搜尋結果是不匹配(MISMATCH)時,根據不匹配程度,CAM記憶體晶胞提供高/中/低電流。
於第五實施例中,透過調整CAM記憶體晶胞的臨界電壓(讓低臨界電壓有多種數值)使得儲存單元為單一位元多位階,即便是搜尋資料是單一位元單一位階,仍可以得到不同的不匹配電流,以代表相似程度的差異。
第五實施例更可以有其他例子。儲存資料如下表12所示,而搜尋資料如下表13所示。 表12
儲存資料 T11(T13) T12(T14)
0_low LVTa HVT
0_mid1 LVTb1 HVT
0_mid2 LVTb2 HVT
0_high LVTc HVT
1_low HVT LVTa
1_mid1 HVT LVTb1
1_mid2 HVT LVTb2
1_high HVT LVTc
不重要(Don’t care) HVT HVT
表13
搜尋資料 SeL’ SeL
0 0 VS
1 VS 0
WC 0 0
Invalid VS VS
如表12所示,當記憶體晶胞T11(T12)具有低臨界電壓LVTa、LVTb1、LVTb2、…、LVTc且當記憶體晶胞T13(T14)具有高臨界電壓HVT時,儲存資料可為0_low、0_mid1、0_mid2、…0_high等。當記憶體晶胞T11(T12)具有高臨界電壓HVT且當記憶體晶胞T13(T14)具有低臨界電壓LVTa、LVTb1、LVTb2、…、LVTc時,儲存資料可為1_low、1_mid1、1_mid2、…1_high等,其中,LVTa > LVTb1 > LVTb2 > … > LVTc。
下表14顯示根據搜尋結果。 表14
  搜尋資料0 搜尋資料1 搜尋資料WC 搜尋資料Invalid
儲存資料0_low 匹配(無電流) 不匹配(低電流) 匹配(無電流) 不匹配(低電流)
儲存資料0_mid1 匹配(無電流) 不匹配(中電流1) 匹配(無電流) 不匹配(中電流1)
儲存資料0_mid2 匹配(無電流) 不匹配(中電流2) 匹配(無電流) 不匹配(中電流2)
儲存資料0_high 匹配(無電流) 不匹配(高電流) 匹配(無電流) 不匹配(高電流)
儲存資料1_low 不匹配(低電流) 匹配(無電流) 匹配(無電流) 不匹配(低電流)
儲存資料1_mid1 不匹配(中電流1) 匹配(無電流) 匹配(無電流) 不匹配(中電流1)
儲存資料1_mid2 不匹配(中電流2) 匹配(無電流) 匹配(無電流) 不匹配(中電流2)
儲存資料1_high 不匹配(高電流) 匹配(無電流) 匹配(無電流) 不匹配(高電流)
儲存資料不重要(X) 匹配(無電流) 匹配(無電流) 匹配(無電流) 匹配(無電流)
於表14中,高電流(不匹配)>中電流1(不匹配)>中電流2(不匹配)> 不匹配(低電流)。
第六實施例
第6A圖顯示根據本案第六實施例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖;以及,第6B圖顯示根據本案第六實施例之CAM記憶裝置操作示意圖。
本案第六實施例可用於對搜尋資料的各位元進行權重加權。
於進行搜尋操作時,以搜尋資料F1與F2為例做說明,其中,搜尋資料F1與F2皆具有N位元(N為正整數)。搜尋資料F1與F2的最高有效位(most significant bit,MSB)可以被編碼為0V或VS(如第五實施例),而搜尋資料F1與F2的最低有效位(least significant bit,LSB)可以被編碼為0V或VS(如第五實施例)。對於在最高有效位與最低有效位之間的該些中間有效位,由高到低的編碼為0V或VS到0V或VS。
此外,對應到搜尋資料F1與F2的最高有效位(MSB)的該CAM記憶體晶胞601的臨界電壓可以編碼為LVTc(T11)與HTV(T12),而對應到搜尋資料F1與F2的最低有效位(LSB)的該CAM記憶體晶胞602的臨界電壓可以編碼為LVTa(T11)與HTV(T12),而介於該CAM記憶體晶胞602與該CAM記憶體晶胞601的其他CAM記憶體晶胞的臨界電壓可以編碼為LVTb(或者是LVTb1、LVTb2…)(T11)與HTV(T12)。
於第6B圖中,當搜尋資料F1與F2的最高有效位(MSB)不匹配於CAM記憶體晶胞601時,可以稱為「MSB不匹配」;以及,當搜尋資料F1與F2的最低有效位(LSB)不匹配於CAM記憶體晶胞602時,可以稱為「LSB不匹配」,其餘可依此類推。
如第6A圖所示,當匹配結果是全匹配時,匹配線ML1及/或ML2上的匹配線電壓不會被放電;當匹配結果是MSB不匹配時,則造成較快漏電於匹配線ML1及/或ML2上,使得匹配線ML1及/或ML2上的匹配線匹配線電壓會被大幅放電;以及,當匹配結果是LSB不匹配時,則造成較慢漏電於匹配線ML1及/或ML2上,使得匹配線ML1及/或ML2上的匹配線電壓會被小幅放電。
第七實施例
第7A圖顯示根據本案第七實施例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖;以及,第7B圖顯示根據本案第七實施例之CAM記憶裝置操作示意圖。
本案第七實施例可用於對搜尋資料的各位元進行權重加權。
於進行搜尋操作時,以搜尋資料F1與F2為例做說明,其中,搜尋資料F1與F2皆具有N位元(N為正整數)。搜尋資料F1與F2的最高有效位(MSB)可以被編碼為0V或VS(如第五實施例),而搜尋資料F1與F2的最低有效位(LSB)可以被編碼為0V或VS(如第五實施例)。對於在最高有效位與最低有效位之間的該些中間有效位,由高到低的編碼為0V或VS到0V或VS。
此外,對應到搜尋資料F1與F2的最高有效位(MSB)的該CAM記憶體晶胞701的臨界電壓可以編碼為LVTc(T13)與HTV(T14),而對應到搜尋資料F1與F2的最低有效位(LSB)的該CAM記憶體晶胞702的臨界電壓可以編碼為LVTa(T13)與HTV(T14),而介於該CAM記憶體晶胞702與該CAM記憶體晶胞701的其他CAM記憶體晶胞的臨界電壓可以編碼為LVTb(或者是LVTb1、LVTb2…)(T13)與HTV(T14)。
於第7B圖中,當搜尋資料F1與F2的最高有效位(MSB)不匹配於CAM記憶體晶胞701時,可以稱為「MSB不匹配」;以及,當搜尋資料F1與F2的最低有效位(LSB)不匹配於CAM記憶體晶胞702時,可以稱為「LSB不匹配」,其餘可依此類推。
如第7B圖所示,當進行搜尋後,由該些CAM記憶體晶胞所產生的晶胞電流會由耦接至該些CAM記憶體晶胞的複數個感應放大器SA所感應,該些感應放大器SA的個別感應結果會被加總,以得到搜尋結果。
當匹配結果是全匹配時,感應不到晶胞電流;當匹配結果是MSB不匹配時,則相關的CAM記憶體晶胞提供較大的不匹配電流,使得感應放大器SA感應到較大電流;以及,當匹配結果是LSB不匹配時,相關的CAM記憶體晶胞提供較小的不匹配電流,使得感應放大器SA感應到較小電流。故而,由該些感應放大器SA的個別感應結果的加總結果可以判斷搜尋結果是全匹配或MSB不匹配或LSB不匹配。
第八實施例
第8A圖顯示根據本案第八實施例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖;以及,第8B圖顯示根據本案第八實施例之CAM記憶裝置操作示意圖。
本案第八實施例可用於對搜尋資料的各位元進行權重加權。
於進行搜尋操作時,以搜尋資料F1與F2為例做說明,其中,搜尋資料F1與F2皆具有N位元(N為正整數)。搜尋資料F1與F2的最高有效位(MSB)可以被編碼為0V或VS(如第五實施例),而搜尋資料F1與F2的最低有效位(LSB)可以被編碼為0V或VS(如第五實施例)。對於在最高有效位與最低有效位之間的該些中間有效位,由高到低的編碼為0V或VS到0V或VS。
此外,對應到搜尋資料F1與F2的最高有效位(MSB)的該CAM記憶體晶胞801的臨界電壓可以編碼為LVTc(T13)與HTV(T14),而對應到搜尋資料F1與F2的最低有效位(LSB)的該CAM記憶體晶胞802的臨界電壓可以編碼為LVTa(T13)與HTV(T14),而介於該CAM記憶體晶胞802與該CAM記憶體晶胞801的其他CAM記憶體晶胞的臨界電壓可以編碼為LVTb(或者是LVTb1、LVTb2…)(T13)與HTV(T14)。
於第8B圖中,當搜尋資料F1與F2的最高有效位(MSB)不匹配於CAM記憶體晶胞801時,可以稱為「MSB不匹配」;以及,當搜尋資料F1與F2的最低有效位(LSB)不匹配於CAM記憶體晶胞802時,可以稱為「LSB不匹配」,其餘可依此類推。
如第8B圖所示,當進行搜尋後,由該些CAM記憶體晶胞所產生的晶胞電流會由耦接至該些源極線,該些源極線的所有源極線電流被加總,以得到搜尋結果。
當匹配結果是全匹配時,感應不到晶胞電流;當匹配結果是MSB不匹配時,則相關的CAM記憶體晶胞提供較大的不匹配電流,使得感應放大器SA感應到較大電流;以及,當匹配結果是LSB不匹配時,相關的CAM記憶體晶胞提供較小的不匹配電流,使得感應放大器SA感應到較小電流。故而,由加總後源極線電流可以判斷搜尋結果是全匹配或MSB不匹配或LSB不匹配。
第九實施例
第9圖顯示根據本案第九實施例之TCAM記憶體晶胞之電路架構及其電壓電流曲線圖。
如第9圖顯示的電壓電流曲線圖,記憶體晶胞T11與T12的臨界電壓可以設定為複數個臨界電壓VT0~VT7。
當記憶體晶胞的臨界電壓為VT0時,若搜尋電壓為V0,則該記憶體晶胞的電流標示為Ioff;若搜尋電壓為V1,則該記憶體晶胞的電流標示為I1;若搜尋電壓為V2,則該記憶體晶胞的電流標示為I2;其餘可依此類推。
下表15與下表16分別顯示本案第九實施例之儲存資料與搜尋資料之編碼表。 表15
儲存資料 T11 T12
0 VT0 VT7
1 VT1 VT6
2 VT2 VT5
3 VT3 VT4
4 VT4 VT3
5 VT5 VT2
6 VT6 VT1
7 VT7 VT0
不重要(Don’t care) VT7 VT7
表16
搜尋資料 SeL’ SeL
0 V0 V7
1 V1 V6
2 V2 V5
3 V3 V4
4 V4 V3
5 V5 V2
6 V6 V1
7 V7 V0
WC V0 V0
無效資料 V8 V8
如表15所示,當記憶體晶胞T11與T12的臨界電壓分別為VT0與VT7時,TCAM記憶體晶胞100A儲存資料0,其餘可依此類推。
如表16所示,當搜尋線SeL’與SeL上的電壓分別為V0與V7時,搜尋資料為0;其餘可依此類推。
以儲存資料為0(記憶體晶胞T11有臨界電壓VT0且記憶體晶胞T12有臨界電壓VT7來說,當搜尋資料是0(SeL’是V0而SeL是V7),則記憶體晶胞T11沒有電流(因為記憶體晶胞T11有臨界電壓VT0,且SeL’是V0,從第9圖的電壓電流曲線圖可看出,記憶體晶胞T11沒有電流);以及,記憶體晶胞T12沒有電流(因為記憶體晶胞T12有高臨界電壓VT7,且SeL是V7,從第9圖的電壓電流曲線圖可看出,記憶體晶胞T12沒有電流)。其餘可依此類推。
總結如上,下表17-1與17-2顯示根據本案第九實施例之搜尋結果。 表17-1
  搜尋資料0 搜尋資料1 搜尋資料2 搜尋資料3 搜尋資料4
儲存資料0 Ioff I1 I2 I3 I4
儲存資料1 I1 Ioff I1 I2 I3
儲存資料2 I2 I1 Ioff I1 I2
儲存資料3 I3 I2 I1 Ioff I1
儲存資料4 I4 I3 I2 I1 Ioff
儲存資料5 I5 I4 I3 I2 I1
儲存資料6 I6 I5 I4 I3 I2
儲存資料7 I7 I6 I5 I4 I3
儲存資料X Ioff Ioff Ioff Ioff Ioff
表17-2
  搜尋資料5 搜尋資料6 搜尋資料7 搜尋資料WC 搜尋資料:無效資料
儲存資料0 I5 I6 I7 Ioff I8+I1
儲存資料1 I4 I5 I6 Ioff I7+I2
儲存資料2 I3 I4 I5 Ioff I6+I3
儲存資料3 I2 I3 I4 Ioff I5+I4
儲存資料4 I1 I2 I3 Ioff I4+I5
儲存資料5 Ioff I1 I2 Ioff I3+I6
儲存資料6 I1 Ioff I1 Ioff I2+I7
儲存資料7 I2 I1 Ioff Ioff I1+I8
儲存資料X Ioff Ioff Ioff Ioff I1+I1
所以,以第九實施例中,當搜尋結果是匹配時,CAM記憶體晶胞沒有提供電流。但當搜尋結果是不匹配(MISMATCH)時,根據不匹配程度,CAM記憶體晶胞提供I1~I8的不匹配電流,其中,I8>I7>I6>I5>I4>I3>I2>I1>Ioff。
於第九實施例中,透過調整搜尋資料的搜尋電壓及調整CAM記憶體晶胞的臨界電壓,即便是CAM記憶體晶胞是單一位元多位階且搜尋資料是單一位元多位階,仍可以得到不同的不匹配電流,以代表相似程度的差異。
第九實施例更可以有其他例子。儲存資料如下表18所示,而搜尋資料可以有更多種類,如下表19所示。 表18
儲存資料 T11 T12
0 VT0 VTN
1 VT1 VT(N-1)
2 VT2 VT(N-2)
N-2 VT(N-2) VT2
N-1 VT(N-1) VT1
N VTN VT0
不重要(Don’t care) VTN VTN
表19
搜尋資料 SeL’ SeL
0 V0 VN
1 V1 V(N-1)
N-1 V(N-1) V1
N VN V0
WC V0 V0
無效資料 VN VN
下表20顯示根據搜尋結果。 表20
  搜尋資料0 搜尋資料1 搜尋資料N 搜尋資料WC 無效搜尋資料
儲存資料0 匹配(無電流) 不匹配(電流I1) 不匹配(電流IN) 匹配(無電流) 不匹配(高電流)
儲存資料1 不匹配(電流I1) 匹配(無電流) 不匹配(電流I(N-1)) 匹配(無電流) 不匹配(高電流)
儲存資料N 不匹配(電流IN) 不匹配(電流I(N-1)) 匹配(無電流) 匹配(無電流) 不匹配(高電流)
儲存資料X 匹配(無電流) 匹配(無電流) 匹配(無電流) 匹配(無電流) 不匹配(高電流)
電流大小關係:I1<I2…I(N-1)<IN
第十實施例
第10A圖顯示根據本案第十實施例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖;以及,第10B圖顯示根據本案第十實施例之CAM記憶裝置操作示意圖。
本案第十實施例可用於近似搜尋。
於進行搜尋操作時,搜尋資料F1、F2…的搜尋電壓設定可如第九實施例所述,以及,各CAM記憶體晶胞的臨界電壓設定可如第九實施例所述。故其細節在此省略。
如第10A圖所示,當匹配結果是全匹配時,匹配線ML1及/或ML2上的匹配線電壓不會被放電;當匹配結果是高度不匹配時,則造成較快漏電於匹配線ML1及/或ML2上,使得匹配線ML1及/或ML2上的匹配線匹配線電壓會被大幅放電;以及,當匹配結果是部份不匹配時,則造成較慢漏電於匹配線ML1及/或ML2上,使得匹配線ML1及/或ML2上的匹配線電壓會被小幅放電。
第11圖顯示根據本案一實施例之內容定址記憶體裝置之資料搜尋比對方法之流程圖。內容定址記憶體裝置之資料搜尋比對方法包括:儲存一儲存資料於複數個內容定址記憶體晶胞內(1110);以一搜尋資料對該些內容定址記憶體晶胞進行資料搜尋(1120);該些內容定址記憶體晶胞產生複數個記憶體晶胞電流(1130);以及偵測該些記憶體晶胞電流或偵測耦接至該些內容定址記憶體串之複數條匹配線之複數個匹配線電壓,以產生複數個搜尋結果,其中,該儲存資料為一單一位元多位階儲存資料,及/或該搜尋資料為一單一位元多位階搜尋資料(1140)。
在本案上述實施例中,CAM記憶體裝置可為二維(2D)快閃記憶體架構或三維(3D)快閃記憶體架構,此皆在本案精神範圍內。
在本案上述實施例中,記憶體晶胞可以是臨界電壓改變型記憶體晶胞(Vt change memory cell)或阻抗改變型記憶體晶胞(resistance change memory cell)。臨界電壓改變型記憶體晶胞例如但不受限於是,電荷儲存快閃記憶體晶胞(charge storage flash memory cell)(如浮接閘記憶體晶胞等)、電荷陷阱快閃記憶體晶胞(charge trapping flash memory cell)(如SONOS記憶體晶胞、MONOS記憶體晶胞等)、分割閘極快閃記憶體晶胞(Split gate Flash memory cell)、唯讀記憶體晶胞(read-only memory,ROM)、可程式化唯讀記憶體晶胞(Programmable read-only memory,PROM)、可抹除程式化唯讀記憶體晶胞(Erasable Programmable Read-Only Memory,EPROM)、一次編程唯讀記憶體晶胞(One Time Programmable Read Only Memory,OTPROM)、電子抹除式可複寫唯讀記憶體晶胞(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、鐵電閘極場效電晶體(ferroelectric-gated field-effect-transistor,FeFET)等。阻抗改變型記憶體晶胞例如但不受限於是可變電阻式記憶體晶胞(Resistive random-access memory,RRAM 或ReRAM)、導電橋隨機存取記憶體(conductive-bridging random access memory,CBRAM)、相變型記憶體晶胞(phase change memory,PCM)、磁阻式隨機存取記憶體晶胞(Magnetoresistive Random Access Memory,MRAM)、鐵電穿隧接面記憶體晶胞(ferroelectric tunnel junction,FTJ) 、可調式電阻(tunable resistor)、以不同參雜濃度形成之氧化物(oxide with different dopant concentration)等。
本案上述實施例可用於實施記憶體內搜尋(IMS)的近似搜尋與加權搜尋。近似搜尋與加權搜尋可透過判斷匹配/不匹配輸出信號的不同位階而決定。
在本案上述實施例中,具有大改變的輸出信號可代表MSB,具有中等改變的輸出信號可代表LSB。故而,相較於LSB不匹配,MSB的不匹配將造成高更的不匹配信號。
在本案上述實施例中,一個CAM記憶體晶胞可代表一個數值。本案上述第九至第十實施例可直接實施近似匹配。
本案上述實施例可用於二位元CAM(binary CAM)、三位元CAM(Ternary CAM)、多階CAM(multilevel CAM (MCAM))與類比CAM(analog CAM(ACAM))等。
本案上述實施例中,可用多種方式來感應輸出信號,例如但不受限於,匹配線的放電速度、以感應放大器來偵測各CAM記憶體晶胞的輸出電流並加總該些輸出電流、或者是,以信號線來累積所有CAM記憶體晶胞的所有輸出電流。
本案上述實施例可用於將數值以二進位數值系統(binary numeral system)、三進位數值系統(ternary numeral system)、或其他高階數值系統(high numeral system)中。本案上述實施例亦可應用於類比系統(analog system)中。
在本案上述實施例中,高度不匹配資料可以造成高度不匹配信號,而匹配資料可以造成低度不匹配信號。或者是,高度匹配資料可以造成高度匹配信號,而不匹配資料可以造成低度匹配信號。
本案上述實施例可用於進行記憶體內近似搜尋。配合CAM記憶體裝置的高儲存密度,本案實施例的記憶體內近似搜尋可用於多種領域,例如但不受限於,大資料搜尋(Big-data searching),人工智慧硬體加速器/分類器(AI hardware accelerator/classifier)、近似計算(Approximate Computing)、相聯記憶體(Associative memory)、固態硬碟(Solid-state drive,SSD)資料管理(SSD data management)、脱氧核醣核酸(deoxyribonucleic acid,DNA)匹配、資料過濾(Data filter)等。
綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100A、100B:TCAM記憶體晶胞 T11~T14:記憶體晶胞 SeL’、SeL:搜尋線 ML、ML1、ML2:匹配線 SL:源極線 210:電壓偵測電路 SA:感應放大器 601、602、701、702、801、802:CAM記憶體晶胞
第1A圖顯示根據本案第一實施例之第一例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖;第1B顯示根據本案第一實施例之第二例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖。 第2A圖顯示根據本案第二實施例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖;以及,第2B圖顯示根據本案第二實施例之CAM記憶裝置操作示意圖。 第3A圖顯示根據本案第三實施例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖;以及,第3B圖顯示根據本案第三實施例之CAM記憶裝置操作示意圖。 第4A圖顯示根據本案第四實施例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖;以及,第4B圖顯示根據本案第四實施例之CAM記憶裝置操作示意圖。 第5A圖顯示根據本案第五實施例之第一例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖;第5B顯示根據本案第五實施例之第二例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖。 第6A圖顯示根據本案第六實施例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖;以及,第6B圖顯示根據本案第六實施例之CAM記憶裝置操作示意圖。 第7A圖顯示根據本案第七實施例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖;以及,第7B圖顯示根據本案第七實施例之CAM記憶裝置操作示意圖。 第8A圖顯示根據本案第八實施例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖;以及,第8B圖顯示根據本案第八實施例之CAM記憶裝置操作示意圖。 第9圖顯示根據本案第九實施例之TCAM記憶體晶胞之電路架構及其電壓電流曲線圖。 第10A圖顯示根據本案第十實施例的TCAM記憶體晶胞之電路架構及其電壓電流曲線圖;以及,第10B圖顯示根據本案第十實施例之CAM記憶裝置操作示意圖。 第11圖顯示根據本案一實施例之內容定址記憶體裝置之資料搜尋比對方法之流程圖。
1110~1140:步驟

Claims (12)

  1. 一種內容定址記憶體裝置,包括: 複數個內容定址記憶體晶胞;以及 一電性特徵偵測電路,耦接至該些內容定址記憶體晶胞; 其中, 於進行資料搜尋時,將一搜尋資料比對於該些內容定址記憶體晶胞所儲存之一儲存資料,該些內容定址記憶體晶胞產生複數個記憶體晶胞電流,該電性特徵偵測電路偵測該些記憶體晶胞電流或偵測耦接至該些內容定址記憶體晶胞之複數條匹配線之複數個匹配線電壓,以產生複數個搜尋結果, 其中,該儲存資料為一單一位元多位階儲存資料,及/或該搜尋資料為一單一位元多位階搜尋資料。
  2. 如請求項1所述之內容定址記憶體裝置,其中, 各該些內容定址記憶體晶胞包括一第一與一第二記憶體晶胞, 該第一與該第二記憶體晶胞接收代表該搜尋資料之一第一與一第二搜尋電壓, 當該第一記憶體晶胞之一臨界電壓為一第一臨界電壓且該第二記憶體晶胞之一臨界電壓為一第二臨界電壓時,該儲存資料為一單一位元單位階儲存資料;以及 當該第一搜尋電壓為一第一電壓值且該第二搜尋電壓為至少三個參考搜尋電壓之一時,該搜尋資料為該單一位元多位階搜尋資料, 其中, 當該儲存資料匹配於該搜尋資料時,該內容定址記憶體晶胞無提供該記憶體晶胞電流;以及 當該儲存資料不匹配於該搜尋資料時,該內容定址記憶體晶胞提供該記憶體晶胞電流,該記憶體晶胞電流有關於該儲存資料與該搜尋資料間之一不匹配程度。
  3. 如請求項1所述之內容定址記憶體裝置,其中, 各該些內容定址記憶體晶胞包括一第一與一第二記憶體晶胞, 該第一與該第二記憶體晶胞接收代表該搜尋資料之一第一與一第二搜尋電壓, 當該第一記憶體晶胞之一臨界電壓為一第一臨界電壓且該第二記憶體晶胞之一臨界電壓為至少三個參考臨界電壓之一時,該儲存資料為該單一位元多位階儲存資料;以及 當該第一搜尋電壓為一第一電壓值且該第二搜尋電壓為一第二電壓值時,該搜尋資料為一單一位元單位階搜尋資料, 其中, 當該儲存資料匹配於該搜尋資料時,該內容定址記憶體晶胞無提供該記憶體晶胞電流;以及 當該儲存資料不匹配於該搜尋資料時,該內容定址記憶體晶胞提供該記憶體晶胞電流,該記憶體晶胞電流有關於該儲存資料與該搜尋資料間之一不匹配程度。
  4. 如請求項1所述之內容定址記憶體裝置,其中, 各該些內容定址記憶體晶胞包括一第一與一第二記憶體晶胞, 該第一與該第二記憶體晶胞接收代表該搜尋資料之一第一與一第二搜尋電壓, 當該第一記憶體晶胞之一臨界電壓與該第二記憶體晶胞之一臨界電壓從至少三參考臨界電壓選擇時,該儲存資料為該單一位元多位階儲存資料;以及 當該第一搜尋電壓與該第二搜尋電壓從至少三參考搜尋電壓選擇時,該搜尋資料為該單一位元多位階搜尋資料, 其中, 當該儲存資料匹配於該搜尋資料時,該內容定址記憶體晶胞無提供該記憶體晶胞電流;以及 當該儲存資料不匹配於該搜尋資料時,該內容定址記憶體晶胞提供該記憶體晶胞電流,該記憶體晶胞電流有關於該儲存資料與該搜尋資料間之一不匹配程度。
  5. 一種內容定址記憶體裝置之資料搜尋比對方法,包括: 儲存一儲存資料於複數個內容定址記憶體晶胞內; 以一搜尋資料對該些內容定址記憶體晶胞進行資料搜尋; 該些內容定址記憶體晶胞產生複數個記憶體晶胞電流;以及 偵測該些記憶體晶胞電流或偵測耦接至該些內容定址記憶體串之複數條匹配線之複數個匹配線電壓,以產生複數個搜尋結果, 其中,該儲存資料為一單一位元多位階儲存資料,及/或該搜尋資料為一單一位元多位階搜尋資料。
  6. 如請求項5所述之內容定址記憶體裝置之資料搜尋比對方法,其中, 各該些內容定址記憶體晶胞包括一第一與一第二記憶體晶胞, 該第一與該第二記憶體晶胞接收代表該搜尋資料之一第一與一第二搜尋電壓, 當該第一記憶體晶胞之一臨界電壓為一第一臨界電壓且該第二記憶體晶胞之一臨界電壓為一第二臨界電壓時,該儲存資料為一單一位元單位階儲存資料;以及 當該第一搜尋電壓為一第一電壓值且該第二搜尋電壓為至少三個參考搜尋電壓之一時,該搜尋資料為該單一位元多位階搜尋資料, 其中, 當該儲存資料匹配於該搜尋資料時,該內容定址記憶體晶胞無提供該記憶體晶胞電流;以及 當該儲存資料不匹配於該搜尋資料時,該內容定址記憶體晶胞提供該記憶體晶胞電流,該記憶體晶胞電流有關於該儲存資料與該搜尋資料間之一不匹配程度。
  7. 如請求項5所述之內容定址記憶體裝置之資料搜尋比對方法,其中, 各該些內容定址記憶體晶胞包括一第一與一第二記憶體晶胞, 該第一與該第二記憶體晶胞接收代表該搜尋資料之一第一與一第二搜尋電壓, 當該第一記憶體晶胞之一臨界電壓為一第一臨界電壓且該第二記憶體晶胞之一臨界電壓為至少三個參考臨界電壓之一時,該儲存資料為該單一位元多位階儲存資料;以及 當該第一搜尋電壓為一第一電壓值且該第二搜尋電壓為一第二電壓值時,該搜尋資料為一單一位元單位階搜尋資料, 其中, 當該儲存資料匹配於該搜尋資料時,該內容定址記憶體晶胞無提供該記憶體晶胞電流;以及 當該儲存資料不匹配於該搜尋資料時,該內容定址記憶體晶胞提供該記憶體晶胞電流,該記憶體晶胞電流有關於該儲存資料與該搜尋資料間之一不匹配程度。
  8. 如請求項5所述之內容定址記憶體裝置之資料搜尋比對方法,其中, 各該些內容定址記憶體晶胞包括一第一與一第二記憶體晶胞, 該第一與該第二記憶體晶胞接收代表該搜尋資料之一第一與一第二搜尋電壓, 當該第一記憶體晶胞之一臨界電壓與該第二記憶體晶胞之一臨界電壓從至少三個參考臨界電壓選擇時,該儲存資料為該單一位元多位階儲存資料;以及 當該第一搜尋電壓與該第二搜尋電壓從至少三個參考搜尋電壓選擇時,該搜尋資料為該單一位元多位階搜尋資料, 其中, 當該儲存資料匹配於該搜尋資料時,該內容定址記憶體晶胞無提供該記憶體晶胞電流;以及 當該儲存資料不匹配於該搜尋資料時,該內容定址記憶體晶胞提供該記憶體晶胞電流,該記憶體晶胞電流有關於該儲存資料與該搜尋資料間之一不匹配程度。
  9. 一種內容定址記憶體晶胞,包括: 彼此耦接之一第一與一第二記憶體晶胞, 其中, 該第一與該第二記憶體晶胞接收代表一搜尋資料之一第一與一第二搜尋電壓, 該內容定址記憶體晶胞之一儲存資料為一單一位元多位階儲存資料,及/或該搜尋資料為一單一位元多位階搜尋資料。
  10. 如請求項9所述之內容定址記憶體晶胞,其中, 當該第一記憶體晶胞之一臨界電壓為一第一臨界電壓且該第二記憶體晶胞之一臨界電壓為一第二臨界電壓時,該儲存資料為一單一位元單位階儲存資料;以及 當該第一搜尋電壓為一第一電壓值且該第二搜尋電壓為至少三個參考搜尋電壓之一時,該搜尋資料為該單一位元多位階搜尋資料, 其中, 當該儲存資料匹配於該搜尋資料時,該內容定址記憶體晶胞無提供該記憶體晶胞電流;以及 當該儲存資料不匹配於該搜尋資料時,該內容定址記憶體晶胞提供該記憶體晶胞電流,該記憶體晶胞電流有關於該儲存資料與該搜尋資料間之一不匹配程度。
  11. 如請求項9所述之內容定址記憶體晶胞,其中, 當該第一記憶體晶胞之一臨界電壓為一第一臨界電壓且該第二記憶體晶胞之一臨界電壓為至少三個參考臨界電壓之一時,該儲存資料為該單一位元多位階儲存資料;以及 當該第一搜尋電壓為一第一電壓值且該第二搜尋電壓為一第二電壓值時,該搜尋資料為一單一位元單位階搜尋資料, 其中, 當該儲存資料匹配於該搜尋資料時,該內容定址記憶體晶胞無提供該記憶體晶胞電流;以及 當該儲存資料不匹配於該搜尋資料時,該內容定址記憶體晶胞提供該記憶體晶胞電流,該記憶體晶胞電流有關於該儲存資料與該搜尋資料間之一不匹配程度。
  12. 如請求項9所述之內容定址記憶體晶胞,其中, 當該第一記憶體晶胞之一臨界電壓與該第二記憶體晶胞之一臨界電壓從至少三個參考臨界電壓選擇時,該儲存資料為該單一位元多位階儲存資料;以及 當該第一搜尋電壓與該第二搜尋電壓從至少三個參考搜尋電壓選擇時,該搜尋資料為該單一位元多位階搜尋資料, 其中, 當該儲存資料匹配於該搜尋資料時,該內容定址記憶體晶胞無提供該記憶體晶胞電流;以及 當該儲存資料不匹配於該搜尋資料時,該內容定址記憶體晶胞提供該記憶體晶胞電流,該記憶體晶胞電流有關於該儲存資料與該搜尋資料間之一不匹配程度。
TW111113650A 2022-01-25 2022-04-11 內容定址記憶體裝置、內容定址記憶體晶胞及其資料搜尋比對方法 TWI786011B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202263302992P 2022-01-25 2022-01-25
US63/302,992 2022-01-25

Publications (2)

Publication Number Publication Date
TWI786011B true TWI786011B (zh) 2022-12-01
TW202331720A TW202331720A (zh) 2023-08-01

Family

ID=85794876

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111113650A TWI786011B (zh) 2022-01-25 2022-04-11 內容定址記憶體裝置、內容定址記憶體晶胞及其資料搜尋比對方法

Country Status (3)

Country Link
US (2) US11790990B2 (zh)
CN (1) CN116543819A (zh)
TW (1) TWI786011B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317349B1 (en) * 1999-04-16 2001-11-13 Sandisk Corporation Non-volatile content addressable memory
WO2013055831A1 (en) * 2011-10-10 2013-04-18 Qualcomm Incorporated Methods and apparatus providing high-speed content addressable memory (cam) search-invalidates
US10453531B1 (en) * 2018-06-29 2019-10-22 Sandisk Technologies Llc Content addressable memory using threshold-adjustable vertical transistors and methods of forming the same
US20200075099A1 (en) * 2018-08-30 2020-03-05 Sandisk Technologies Llc Content addressable memory with spin-orbit torque devices

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113711205A (zh) * 2019-04-26 2021-11-26 株式会社半导体能源研究所 文档检索系统及文档检索方法
KR20220090020A (ko) * 2020-12-22 2022-06-29 에스케이하이닉스 주식회사 비휘발성 메모리 시스템이 생성한 메타데이터를 전송하는 장치 및 방법
CN115985369A (zh) * 2022-10-28 2023-04-18 长江存储科技有限责任公司 一种存储器的操作方法、存储器及存储系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317349B1 (en) * 1999-04-16 2001-11-13 Sandisk Corporation Non-volatile content addressable memory
WO2013055831A1 (en) * 2011-10-10 2013-04-18 Qualcomm Incorporated Methods and apparatus providing high-speed content addressable memory (cam) search-invalidates
US10453531B1 (en) * 2018-06-29 2019-10-22 Sandisk Technologies Llc Content addressable memory using threshold-adjustable vertical transistors and methods of forming the same
US20200075099A1 (en) * 2018-08-30 2020-03-05 Sandisk Technologies Llc Content addressable memory with spin-orbit torque devices

Also Published As

Publication number Publication date
US20230238061A1 (en) 2023-07-27
TW202331720A (zh) 2023-08-01
US11790990B2 (en) 2023-10-17
US20230410904A1 (en) 2023-12-21
CN116543819A (zh) 2023-08-04

Similar Documents

Publication Publication Date Title
US11875859B2 (en) Memory devices for comparing input data to data stored in memory cells coupled to a data line
US8059438B2 (en) Content addressable memory array programmed to perform logic operations
JP5404559B2 (ja) 連想メモリ・アレイ
Hu et al. In-memory computing with associative memories: A cross-layer perspective
Junsangsri et al. A memristor-based TCAM (ternary content addressable memory) cell: design and evaluation
US7948782B2 (en) Content addressable memory reference clock
TWI786011B (zh) 內容定址記憶體裝置、內容定址記憶體晶胞及其資料搜尋比對方法
TW202312171A (zh) 內容定址記憶體(cam)晶胞,cam記憶體裝置及其操作方法
CN116543821A (zh) 半导体存储器设备以及半导体存储器设备的操作方法
US11875850B2 (en) Content addressable memory device, content addressable memory cell and method for data searching with a range or single-bit data
TW202343252A (zh) 內容定址記憶體裝置、內容定址記憶體晶胞及其資料搜尋比對方法
TWI790107B (zh) 內容定址記憶體裝置及其資料搜尋比對方法
TWI806642B (zh) 類比內容定址記憶體裝置、類比內容定址記憶體晶胞及其資料搜尋比對方法
US20230238037A1 (en) Content addressable memory device and method for data searching and comparing thereof
US11823749B2 (en) CAM cell, CAM memory device and operation method thereof
TWI807668B (zh) 高內容密度之記憶體裝置
JP7480391B2 (ja) インメモリコンピューティングのための記憶装置
US11967378B2 (en) Analog content addressable memory device, analog content addressable memory cell and method for data searching and comparing thereof
KR102490781B1 (ko) 내용 주소화 기억 장치 및 이를 이용한 일치도 감지 방법
Chen et al. Analog Content Addressable Memory using Ferroelectric: A Case Study of Search-in-Memory
TW202403757A (zh) 記憶體內計算用的記憶體裝置
CN117409830A (zh) 存储器内计算的存储器装置以及固态驱动模块
US20110148605A1 (en) Magnitude Comparator, Magnitude Comparator Based Content Addressable Memory Cell, and Non-equal Bin Width Histogrammer