TWI773171B - 用於記憶體搜尋之系統及方法,及非暫時性電腦可讀儲存媒體 - Google Patents
用於記憶體搜尋之系統及方法,及非暫時性電腦可讀儲存媒體 Download PDFInfo
- Publication number
- TWI773171B TWI773171B TW110107924A TW110107924A TWI773171B TW I773171 B TWI773171 B TW I773171B TW 110107924 A TW110107924 A TW 110107924A TW 110107924 A TW110107924 A TW 110107924A TW I773171 B TWI773171 B TW I773171B
- Authority
- TW
- Taiwan
- Prior art keywords
- search
- memory
- bits
- data
- tcam
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 301
- 238000000034 method Methods 0.000 title claims description 30
- 238000013479 data entry Methods 0.000 claims abstract description 49
- 230000004044 response Effects 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims description 45
- 230000000295 complement effect Effects 0.000 claims description 39
- 238000007599 discharging Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 7
- 238000003491 array Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000012005 ligant binding assay Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
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
- 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
- G11C15/046—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 using non-volatile storage elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
- G11C11/4082—Address Buffers; level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/12—Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Static Random-Access Memory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一搜尋型樣係基於包含一第一位元序列之一輸入搜尋字而產生。該搜尋型樣包含該輸入搜尋字之一表示及該輸入搜尋字之一反轉的一表示。該搜尋型樣作為輸入經提供至一三元內容可定址記憶體(TCAM)區塊之搜尋線。該等搜尋線之一子集基於該輸入搜尋字之一第一部分被指明為無關位元而設定為一邏輯高狀態。該搜尋型樣使該CAM區塊中之至少一個弦線導電且回應於儲存於該弦線上的一資料條目包含該輸入搜尋字之不包括該等無關位元之一第二部分而提供一信號。判定並輸出該資料條目之一位置。
Description
本公開之實施例大體係關於記憶體子系統,且更特定言之係關於用以促進三元內容可定址記憶體(TCAM)搜尋的記憶體組件結構。
記憶體子系統可包括儲存資料之一或多個記憶體裝置。記憶體裝置可為例如非揮發性記憶體裝置及揮發性記憶體裝置。大體而言,主機系統可利用記憶體子系統以將資料儲存於記憶體裝置處及自該等記憶體裝置擷取資料。
在一實施例中,一種系統包含:一記憶體裝置,其包含一三元內容可定址記憶體(TCAM)區塊,該三元內容可定址記憶體區塊包含組織成複數個弦線的記憶體胞元之一陣列,該複數個弦線中之一弦線儲存一資料條目,該弦線包含串聯連接於一預充電匹配線與一頁緩衝暫存器之間的複數個記憶體胞元,該等記憶體胞元中之每一者連接至複數個搜尋線中的一者;及一處理裝置,其耦接至該記憶體裝置,該處理裝置用以執行包含以下各者之操作:接收包含一位元序列之一輸入搜尋字;接收該位元序列中之一或多個無關位元的一指示符,該一或多個無關位元對應於該輸
入搜尋字之一第一部分;將該複數個搜尋線之一子集設定為一邏輯高狀態,該複數個搜尋線之該子集對應於該一或多個無關位元;基於該輸入搜尋字產生一搜尋型樣;提供該搜尋型樣作為至該複數個搜尋線之輸入,該搜尋型樣使該弦線導電且回應於儲存於該弦線上之該資料條目匹配該輸入搜尋字之不包括該一或多個無關位元的至少一第二部分而提供一信號至該頁緩衝暫存器,該信號由該預充電匹配線經由該弦線放電而產生,該頁緩衝暫存器回應於該信號而儲存資料;及基於藉由該頁緩衝暫存器讀取之該資料而輸出該TCAM區塊內之該資料條目的一位置。
在另一實施例中,一種方法包含:接收包含一第一位元序列之一輸入搜尋字;接收該第一位元序列中之一或多個無關位元的一指示符,該一或多個無關位元對應於該輸入搜尋字之一第一部分;將一三元內容可定址記憶體(TCAM)區塊的複數個搜尋線之一子集設定為一邏輯高狀態,該複數個搜尋線之該子集對應於該一或多個無關位元;基於該輸入搜尋字產生一搜尋型樣;提供該搜尋型樣至該TCAM之該複數個搜尋線,該搜尋型樣使該TCAM中之一弦線導電且回應於該弦線儲存匹配資料而提供一信號至一頁緩衝暫存器,該匹配資料包含該輸入搜尋字之不包括該等無關位元的一第二部分,該信號由一預充電匹配線經由該弦線放電而產生,該頁緩衝暫存器回應於該信號而儲存資料;及基於藉由該頁緩衝暫存器讀取之該資料而輸出該TCAM區塊內之該資料條目的一位置。
在另一實施例中,一種非暫時性電腦可讀儲存媒體包含在由記憶體子系統控制器執行時組態該記憶體子系統控制器執行包含以下各者之操作的指令:接收包含一第一位元序列之一輸入搜尋字;接收該第一位元序列中之一或多個無關位元的一指示符,該一或多個無關位元對應於
該輸入搜尋字之一第一部分;將一三元內容可定址記憶體(TCAM)區塊的複數個搜尋線之一子集設定為一邏輯高狀態,該複數個搜尋線之該子集對應於該一或多個無關位元;基於該輸入搜尋字產生一搜尋型樣;提供該搜尋型樣作為至該TCAM之該複數個搜尋線的輸入,該搜尋型樣使一弦線導電且回應於該弦線儲存匹配資料而提供一信號至一頁緩衝暫存器,該匹配資料包含該輸入搜尋字之不包括該等無關位元的一第二部分,該信號由一預充電匹配線經由該弦線放電而產生,該頁緩衝暫存器回應於該信號而儲存資料;及基於藉由該頁緩衝暫存器讀取之該資料而輸出該TCAM區塊內之該資料條目的一位置。
100:計算系統
110:記憶體子系統
112:三元內容可定址記憶體(TCAM)區塊
113:搜尋組件
115:記憶體子系統控制器
117:處理器
119:本端記憶體
120:主機系統
130:記憶體裝置
135:本端媒體控制器
140:記憶體裝置
200:記憶體裝置
201-1:平面
201-2:平面
201-3:平面
201-4:平面
206:輸入搜尋字
208:搜尋型樣
209A:電壓信號之第一集合
209B:電壓信號之第二集合
210:反轉器
211:位準選擇器
212:遮罩暫存器
213:無關位元
214:頁緩衝暫存器
300:TCAM區塊
302-0:匹配線
302-1:匹配線
302-N:匹配線
304-0:搜尋線
304-1:搜尋線
304-M:搜尋線
306-0:反轉搜尋線
306-1:反轉搜尋線
306-M:反轉搜尋線
308-0:記憶體胞元
308-1:記憶體胞元
308-X:記憶體胞元
310-0:互補記憶體胞元對
310-1:互補記憶體胞元對
310-M:互補記憶體胞元對
312:搜尋型樣
500:移位暫存器
502:頁緩衝暫存器
504:頁緩衝暫存器
506:電晶體
600:方法
605:操作
610:操作
615:操作
620:操作
625:操作
630:操作
635:操作
640:操作
700:電腦系統
702:處理裝置
704:主記憶體
707:靜態記憶體
708:網路介面裝置
718:資料儲存系統
720:網路
724:機器可讀儲存媒體
727:指令
730:匯流排
本公開將自下方給出之實施方式及本公開之各種實施例的隨附圖式而得到更充分地理解。
圖1說明包括根據本公開之一些實施例的實施於記憶體子系統內之三元內容可定址記憶體(TCAM)結構的實例計算系統。
圖2為說明根據本公開之一些實施例的實施於記憶體子系統內的TCAM結構之額外細節的方塊圖。
圖3說明根據本公開之一些實施例的實施於呈NAND型快閃記憶體組件之實例形式的記憶體裝置內的TCAM區塊之組件。
圖4說明根據本公開之一些實施例的實施於NAND快閃記憶體裝置內之TCAM區塊的單一TCAM胞元。
圖5為說明根據本公開之一些實施例的可作為TCAM結構之部分包括的移位暫存器之方塊圖。
圖6為說明根據本公開之一些實施例的在TCAM上執行不
精確搜尋匹配中的記憶體子系統之實例操作的流程圖。
圖7為實例電腦系統之方塊圖,本公開之實施例可在該實例電腦系統中操作。
本公開之態樣係關於用於記憶體子系統之三元內容可定址記憶體(TCAM)結構。記憶體子系統可為儲存裝置、記憶體模組,或儲存裝置與記憶體模組之混合。儲存裝置及記憶體模組的實例在下文結合圖1加以描述。大體而言,主機系統可利用包括一或多個組件(諸如儲存資料之記憶體裝置)之記憶體子系統。主機系統可提供待儲存於記憶體子系統處之資料且可請求待自該記憶體子系統擷取之資料。記憶體子系統控制器自主機系統接收命令或操作且將命令或操作轉換成指令或適當命令以實現對記憶體子系統之記憶體裝置的所需存取。
內容可定址記憶體(CAM)為在某些極高速搜尋應用(諸如識別符(ID)及型樣匹配)中使用的特殊類型之記憶體組件。一般而言,藉由對照儲存資料項之表比較輸入搜尋資料來搜尋CAM,且返回匹配表中之資料的記憶體位址。CAM頻繁地實施於動態隨機存取記憶體(DRAM)或同步隨機存取記憶體(SRAM)中。然而,DRAM及SRAM兩者具有有限記憶體容量,其限制可以習知CAM實施儲存及搜尋的資料之量。
在某些人工智慧應用中,亦需要「不精確」匹配,其中視為「無關」位元之某些位元在匹配程序中忽略,藉此允許為部分匹配而搜尋資料條目。亦即,搜尋程序可忽略搜尋字之第一部分(亦即,對應於無關位元)並識別對應於搜尋字之第二部分(亦即,剩餘位元)的匹配資料。傳統上,使用在SRAM中實施的三元CAM(TCAM)促進此種不精確匹配。
此類實施通常需要每資料位元大數目個電晶體(例如,每資料位元至多16個電晶體)且因此容量極有限且晶片大小極昂貴。
習知負及(NAND)型快閃記憶體裝置可包括一或多個區塊。NAND區塊包括包含頁(列)及弦線(行)之二維(2-D)陣列。三維(3D)NAND型快閃記憶體裝置包括多個平面,其中之每一者包括一或多個區塊。弦線包括串聯連接之複數個單胞元(下文中亦簡稱為「記憶體胞元」),諸如NAND快閃胞元。單一NAND快閃胞元包括儲存電荷於藉由上方及下方之氧化物絕緣層絕緣之記憶體層上的電晶體。一般而言,當記憶體胞元之記憶體層上存在電荷時,記憶體胞元藉由記憶體子系統程式化並識別為二進位值0。當記憶體胞元之記憶體層沒有電荷時,其被抹除並被識別為二進位值1。
弦線為在NAND型快閃記憶體裝置中用以讀取的單元。NAND型快閃裝置通常具有32或64或更多個記憶體胞元。常規地,每一記憶體胞元用於表示位元值(0或1)。因此,在習知實施中,具有32個記憶體胞元之弦線可表示資料之32個位元且具有64個記憶體胞元之弦線可表示資料之64個位元。
在NAND型快閃記憶體區塊中,個別弦線經連接以允許儲存及擷取來自所選擇胞元之資料。通常,在區塊中之弦線係在一個末端處連接至共源極線且在另一末端處連接至位元線。每一弦線亦含有與記憶體胞元串聯之兩個控制機構。弦線及接地選擇電晶體連接至弦線選擇線及接地選擇線。NAND型快閃裝置中之記憶體胞元在其控制閘極處水平地連接至字元線以形成一頁。頁為共用相同字元線且為待程式化之最小單元的經連接記憶體胞元之集合。NAND型快閃記憶體裝置可具有64K或128K胞元
之頁大小。儘管習知NAND型快閃記憶體具有比DRAM及SRAM大的容量,但一般而言對於弦線行資料搜尋及存取太緩慢。
本公開之態樣運用實施於NAND型快閃記憶體裝置中之TCAM結構解決前述及其他問題以提供快速及大容量不精確搜尋能力。根據此結構,資料條目儲存於NAND型快閃記憶體陣列之弦線上。與習知NAND實施相反,資料條目之每一位元經映射至經組態為互補的一對記憶體胞元。亦即,該對之第一記憶體胞元儲存位元值且該對之第二記憶體胞元儲存位元值之反轉。表示輸入搜尋字之搜尋型樣垂直地在對應於陣列區塊中之弦線的每一字元線上輸入。單一讀取操作比較輸入搜尋字與陣列區塊中之全部弦線並識別匹配資料之儲存位址。
為允許不精確匹配,一或多個無關位元之一指示作為輸入經提供至TCAM結構。經組態用於搜尋TCAM區塊的搜尋組件強迫TCAM區塊之對應於無關位元的搜尋線待處於邏輯高狀態。以此方式,對應於無關位元之記憶體胞元經強迫返回正匹配而無論基本值為何。基本上,此允許基本值被忽略,藉此允許搜尋組件識別匹配搜尋字之剩餘部分的所儲存資料。
如本文中所描述,基於NAND之TCAM結構實現其中需要高速及高密度不精確型樣匹配的新的應用,諸如與人工智慧、機器視覺及大型遺傳資料庫相關的應用。此TCAM結構亦改良現存資料庫不精確搜尋系統及演算法,諸如雲網路連接及伺服器中之索引記憶體。
圖1說明根據本公開之一些實施例的包括記憶體子系統110之實例計算系統100。記憶體子系統110可包括媒體,諸如一或多個揮發性記憶體裝置(例如,記憶體裝置140)、一或多個非揮發性記憶體裝置(例
如,記憶體裝置130)或此類裝置之組合。
記憶體子系統110可為儲存裝置、記憶體模組,或儲存裝置與記憶體模組之混合。儲存裝置之實例包括SSD、隨身碟、通用串列匯流排(USB)隨身碟、嵌入式多媒體控制器(eMMC)驅動器、通用快閃儲存(UFS)驅動器、安全數位(SD)卡及硬碟機(HDD)。記憶體模組之實例包括雙排記憶體模組(DIMM)、小型DIMM(SO-DIMM)及各種類型的非揮發性雙排記憶體模組(NVDIMM)。
計算系統100可為計算裝置,諸如桌上型電腦、膝上型電腦、網路伺服器、行動裝置、載具(例如,飛機、無人機、火車、汽車或其他運輸工具)、物聯網(IoT)允用裝置、嵌入式電腦(例如,包括於載具、工業設備或網路連接商業裝置中的嵌入式電腦),或包括記憶體及處理裝置(例如,處理器)之此類計算裝置。
計算系統100可包括耦接至一或多個記憶體子系統110之主機系統120。在一些實施例中,主機系統120耦接至不同類型的記憶體子系統110。圖1說明耦接至一個記憶體子系統110的主機系統120之一個實例。如本文中所使用,「耦接至」或「與……耦接」通常係指組件之間的連接,其可為間接通信連接或直接通信連接(例如,無介入組件),無論為有線抑或無線的,包括諸如電連接、光學連接、磁性連接等之連接。
主機系統120可包括處理器晶片組及藉由該處理器晶片組執行的軟體堆疊。處理器晶片組可包括一或多個核心、一或多個快取記憶體、一記憶體控制器(例如,NVDIMM控制器)及一儲存協定控制器(例如,PCIe控制器、SATA控制器)。主機系統120使用記憶體子系統110以例如將資料寫入至記憶體子系統110且自記憶體子系統110讀取資料。
主機系統120可經由實體主機介面耦接至記憶體子系統110。實體主機介面之實例包括(但不限於)串列進階附接技術(SATA)介面、周邊組件高速互連(PCIe)介面、通用串列匯流排(USB)介面、光纖波道介面、串列附接SCSI(SAS)介面、雙資料速率(DDR)記憶體匯流排、小電腦系統介面(SCSI)、雙排記憶體模組(DIMM)介面(例如,支援雙資料速率(DDR)之DIMM插口介面)、開放式NAND快閃介面(ONFI)、雙資料速率(DDR)、低功率雙資料速率(LPDDR)等。實體主機介面可用於在主機系統120與記憶體子系統110之間傳輸資料。當記憶體子系統110藉由PCIe介面與主機系統120耦接時,主機系統120可進一步利用快速NVM(NVMe)介面以存取組件(例如,記憶體裝置130)。實體主機介面可提供用於在記憶體子系統110與主機系統120之間傳遞控制、位址、資料及其他信號之介面。圖1說明記憶體子系統110作為實例。大體而言,主機系統120可經由同一通信連接、多個分開的通信連接及/或通信連接之組合來存取多個記憶體子系統。
記憶體裝置130、140可包括不同類型之非揮發性記憶體組件及/或揮發性記憶體組件之任何組合。揮發性記憶體元件(例如,記憶體裝置140)可為(但不限於)隨機存取記憶體(RAM),諸如動態隨機存取記憶體(DRAM)及同步動態隨機存取記憶體(SDRAM)。
非揮發性記憶體裝置之一些實例(例如,記憶體裝置130)包括NAND型快閃記憶體及就地寫入記憶體,諸如三維交叉點(「3D交叉點」)記憶體裝置,其為非揮發性記憶體胞元之交叉點陣列。非揮發性記憶體之交叉點陣列可基於體電阻之改變結合可堆疊交叉柵格資料存取陣列而執行位元儲存。另外,與許多基於快閃之記憶體相比,交叉點非揮發性
記憶體可執行就地寫入操作,其中可在先前未抹除非揮發性記憶體胞元之情況下程式化非揮發性記憶體胞元。NAND型快閃記憶體包括例如二維NAND(2D NAND)及三維NAND(3D NAND)。
記憶體裝置130中之每一者可包括記憶體胞元之一或多個陣列。一種類型之記憶體胞元(例如單位階胞元(SLC))可每胞元儲存一個位元。其他類型之記憶體胞元(諸如多位階胞元(MLC)、三位階胞元(TLC)及四位階胞元(QLC)可每胞元儲存多個位元。在一些實施例中,記憶體裝置130中之每一者可包括記憶體胞元(諸如SLC、MLC、TLC、QLC或此等之任何組合)之一或多個陣列。在一些實施例中,特定記憶體裝置可包括記憶體胞元之SLC部分及MLC部分、TLC部分或QLC部分。記憶體裝置130之記憶體胞元可經分組為可指用於儲存資料的記憶體裝置之邏輯單元的頁。在使用一些類型之記憶體(例如,NAND)情況下,頁可經分組以形成區塊。
儘管描述諸如NAND型快閃記憶體(例如,2D NAND、3D NAND)及非揮發性記憶體胞元之3D交叉點陣列之非揮發性記憶體裝置,但記憶體裝置130可基於任何其他類型的非揮發性記憶體,諸如唯讀記憶體(ROM)、相變記憶體(PCM)、自選擇記憶體、其他基於硫族化物記憶體、鐵電電晶體隨機存取記憶體(FeTRAM)、鐵電隨機存取記憶體(FeRAM)、磁性隨機存取記憶體(MRAM)、自旋轉移力矩(STT)-MRAM、導電橋接RAM(CBRAM)、電阻性隨機存取記憶體(RRAM)、基於氧化物之RRAM(OxRAM)、NOR快閃記憶體及電可抹除可程式化唯讀記憶體(EEPROM)
如所展示,記憶體裝置130中之任一或多者可經組態以包
括一或多個三元內容可定址記憶體(TCAM)區塊112。TCAM區塊112包括經組織為弦線的記憶體胞元之一或多個陣列。每一弦線儲存資料條目且包括串聯連接於匹配線與頁緩衝暫存器之間的記憶體胞元。亦即,TCAM區塊112包括多個匹配線且每一匹配線連接至陣列中之多個弦線中的一者。TCAM區塊112之匹配線對應於上面實施TCAM區塊112的NAND區塊之位元線。在給定弦線內,記憶體胞元經經組織為互補記憶體胞元對。由弦線儲存之資料條目之每一位元值經映射至該弦線中之互補記憶體胞元對中之一者。
可藉由提供搜尋型樣作為至TCAM區塊112之搜尋線的輸入來搜尋TCAM區塊112。TCAM區塊112之搜尋線對應於上面實施TCAM區塊112的NAND區塊之字元線。CAM區塊112之匹配線經預充電以促進搜尋。亦即,在輸入搜尋之前,電壓信號施加至CAM區塊112之匹配線。在搜尋操作期間,若由TCAM 112儲存任一匹配資料,則一或多個經匹配線(例如,匹配線對應儲存匹配資料之弦線)變為導電且回應於在搜尋線處輸入的搜尋型樣而放電一信號。若未儲存匹配資料,則全部匹配線不導電。每一匹配線進一步連接至接收一放電信號並儲存指示沿著所連接匹配線儲存經匹配資料之資料的頁緩衝暫存器(例如,包括一或多個鎖存器)。
記憶體子系統控制器115(或為了簡單起見,控制器115)可與記憶體裝置130通信以執行諸如以下各者之操作:在記憶體裝置130處之讀取資料、寫入資料或抹除資料,及其他此類操作。控制器115可包括硬體,諸如一或多個積體電路及/或離散組件、緩衝暫存器記憶體或其組合。硬體可包括具有執行本文中所描述之操作的專用(亦即,硬寫碼)邏輯之數位電路系統。控制器115可為微控制器、專用邏輯電路系統(例如場可
程式化閘陣列(FPGA)、特殊應用積體電路(ASIC)等),或另一合適之處理器。
控制器115可包括經組態以執行儲存於本端記憶體119中之指令的處理器117(例如,處理裝置)。在所說明實例中,控制器115之本端記憶體119包括一嵌入式記憶體,其經組態以儲存用於執行控制記憶體子系統110之操作的各種程序、操作、邏輯流程及常式之指令,包括操縱記憶體子系統110與主機系統120之間的通信。
在一些實施例中,本端記憶體119可包括儲存記憶體指標、所提取資料等之記憶體暫存器。本端記憶體119亦可包括用於儲存微式碼之ROM。儘管圖1中之實例記憶體子系統110已說明為包括控制器115,但在本公開之另一實施例中,記憶體子系統110不包括控制器115,且可改為依賴於外部控制(例如由外部主機或由與記憶體子系統分開之處理器或控制器提供)。
大體而言,控制器115可自主機系統120接收命令或操作且可將命令或操作轉換成指令或適當命令以實現對記憶體裝置130的所需存取。控制器115可負責其他操作,諸如耗損調平操作、廢料收集操作、錯誤偵測及錯誤校正碼(ECC)操作、加密操作、快取操作,及與記憶體裝置130相關聯之邏輯位址(例如,邏輯區塊位址(LBA),名稱空間)與實體位址(例如,實體區塊位址)之間的位址轉譯。控制器115可進一步包括主機介面電路系統以經由實體主機介面與主機系統120通信。主機介面電路系統可將自主機系統120所接收之命令轉換成用以存取記憶體裝置130之命令指令,以及將與記憶體裝置130相關聯之回應轉換成用於主機系統120之資訊。
記憶體子系統110亦可包括未說明之額外電路系統或組件。在一些實施例中,記憶體子系統110可包括快取記憶體或緩衝暫存器(例如,DRAM),及可自控制器115接收位址且對該位址進行解碼以存取記憶體裝置130之位址電路系統(例如,列解碼器及行解碼器)。
在一些實施例中,記憶體裝置130包括與記憶體子系統控制器115協同操作以對記憶體裝置130之一或多個記憶體胞元執行操作的本端媒體控制器135。外部控制器(例如,記憶體子系統控制器115)可在外部管理記憶體裝置130(例如,對記憶體裝置130執行媒體管理操作)。在一些實施例中,記憶體裝置130為經管理記憶體裝置,其為與用於相同記憶體裝置封裝內之媒體管理的本端控制器(例如,本端控制器135)組合之原始記憶體裝置。經管理記憶體裝置之實例為經管理NAND(MNAND)裝置。
記憶體子系統110亦包括促進一或多個TCAM區塊112之搜尋的搜尋組件113。儘管經說明為記憶體裝置130之部分,但在一些實施例中,搜尋組件113可包括於控制器115或記憶體裝置140中。在一些實施例中,控制器115包括搜尋組件113的至少一部分。舉例而言,控制器115可包括經組態以執行儲存於本端記憶體119中之用於執行本文中所描述的搜尋組件113之操作的指令的處理器117(處理裝置)。在一些實施例中,搜尋組件113為主機系統120、應用程式或作業系統之部分。在一些實施例中,本端媒體控制器135包括搜尋組件113。
搜尋組件113基於經接收輸入搜尋字產生搜尋型樣並沿著TCAM區塊112之搜尋線垂直地輸入搜尋型樣。如上文所提及,若匹配資料由TCAM區塊112儲存,則搜尋型樣使儲存資料條目之匹配線(亦稱作
「經匹配線」)變為導電;由於匹配線經預充電,因此經匹配線提供信號至所連接頁緩衝暫存器,該信號指示搜尋字儲存於所連接頁緩衝暫存器上。任何匹配資料條目之位置(例如,儲存位址)可基於由於弦線係導電的而藉由經匹配線提供之信號來識別。更特定言之,連接至任何經匹配線之頁緩衝暫存器回應於偵測到一放電信號而儲存資料,該放電信號指示經匹配資料沿著經匹配線而儲存。搜尋組件113之組件(例如,讀數電路)可自頁緩衝暫存器讀取資料。基於自頁緩衝暫存器讀取之資料,搜尋組件113輸出搜尋字是否由TCAM區塊112儲存的一指示及匹配線之位置的一指示符。
為促進不精確匹配,搜尋組件113在搜尋操作期間強迫TCAM區塊112之搜尋線的一部分進入邏輯高狀態。經強迫進入高狀態之搜尋線對應於搜尋字中之經指定為無關位元的一或多個位元。該一或多個無關位元可在自主機系統120接收到之輸入中指定。主機系統120可以程式化方式或基於使用者輸入選擇一或多個無關位元。將搜尋線強迫至邏輯高狀態使所連接記憶體胞元出於找到匹配資料之目的而被忽略,此係因為此等所連接記憶體胞元變為導電而無論由記憶體胞元儲存之基本值或由搜尋型樣表示的搜尋字之對應值為何。以此方式,儲存在藉由搜尋組件113識別之TCAM區塊112中的匹配資料對應於輸入搜尋字之剩餘部分。亦即,匹配資料對應於不包括無關位元的輸入搜尋字之一部分。
圖2為說明根據本公開之一些實施例的實施於記憶體子系統110內的TCAM結構之額外細節的方塊圖。如圖2中所展示,記憶體裝置200可組織成多個平面201-1至平面201-4。記憶體裝置200為記憶體裝置130之實例。儘管圖2將記憶體裝置200說明為包含四個平面,但應瞭解記
憶體裝置200不限於四該平面,且在其他實施例中可包括更多或更少平面。平面201-1至201-4中之每一者經組態以包括一或多個TCAM區塊112。可經由軟體或硬體組態每平面TCAM區塊112之數目。
如所展示,搜尋組件113接收輸入搜尋字206並基於輸入搜尋字206產生搜尋型樣208。輸入搜尋字206包括位元之第一序列(例如,「1011」)。藉由搜尋組件113產生的搜尋型樣208包括表示輸入搜尋字的電壓信號之一第一集合209A(SL0-M)及表示包含位元(例如,「0100」)之第一序列之反轉的位元之第二序列的電壓信號之一第二集合209B()。搜尋組件113包括用以產生輸入搜尋字之反轉的反轉器210及用以產生第一及第二電壓信號的位準選擇器211。在產生第一及第二電壓信號中,位準選擇器211可使用電壓Vhigh來表示二進位值「1」並使用電壓Vlow來表示二進位值「0」,其中Vhigh高於臨限電壓(Vt)且Vlow低於該臨限電壓。
如所展示,搜尋組件113亦包括用以促進不精確匹配的遮罩暫存器212。搜尋組件113(例如,自主機系統120)接收無關位元213之指示符並將無關位元213寫入至遮罩暫存器212。在圖2中所說明之實例中,遮罩暫存器212為M位元長,且條目已經寫入至遮罩暫存器212中D2處,D2指示儲存在TCAM區塊112中的資料條目中之第三位元為無關位元。
搜尋組件113在搜尋操作期間使用遮罩暫存器212來選擇置於邏輯高狀態中的TCAM區塊112之搜尋線以強迫所連接記憶體胞元返回正匹配,而不管基本儲存資料值是否匹配搜尋字206的對應位元值。藉由搜尋組件113設定為邏輯高狀態的TCAM區塊112之線對應於無關位元213。搜尋組件113藉由將搜尋線連接至一電壓源而將一搜尋線設定為邏輯高狀態,該電壓源供應對應於邏輯高狀態之電壓信號。遵循上述符號,
搜尋組件113可藉由將搜尋線連接至Vhigh將搜尋線設定為邏輯高狀態
為搜尋TCAM區塊112中之一者,搜尋組件113沿著正被搜尋的TCAM區塊112之搜尋線垂直地輸入搜尋型樣208。搜尋型樣208之輸入使表示匹配儲存位元值之任何互補記憶體胞元對變為導電。若弦線正儲存匹配資料,則整個弦線變為導電。TCAM區塊112中之匹配線經預充電(例如,連接至Vhigh),且因為匹配線經預充電,因此搜尋線上的搜尋型樣208之輸入使區塊中之儲存匹配資料(例如,資料條目匹配搜尋字206的至少一部分)的任何匹配線輸出放電信號,此係因為對應弦線為導電的。放電信號提供匹配資料儲存於連接至匹配線之弦線上的一指示。
將無關位元搜尋線置於邏輯高狀態中使所連接記憶體胞元出於找到匹配資料之目的而被忽略,此係因為此等所連接記憶體胞元變為導電而無論由記憶體胞元儲存之基本值或由搜尋型樣表示的搜尋字之對應值為何。以此方式,在不精確匹配之情況下的匹配資料對應於輸入搜尋字206之剩餘部分。亦即,匹配資料對應於不包括無關位元213的輸入搜尋字206之一部分。
每一弦線連接於匹配線與頁緩衝暫存器(例如,包含一或多個鎖存電路)之間且匹配線之頁緩衝暫存器儲存指示回應於由於匹配線沿著弦線放電而提供的信號而沿著所匹配線儲存匹配資料的資料。如所展示,平面201-4包括頁緩衝暫存器214。頁緩衝暫存器214可包括一或多個鎖存電路。實體地,頁緩衝暫存器214可駐留在TCAM區塊112實施於其中的記憶體胞元之陣列下方或鄰近於該等陣列而駐留。
當匹配資料由傳導信號至頁緩衝暫存器214之所連接弦線儲存時,頁緩衝暫存器214基於藉由匹配線所提供的信號鎖存資料。搜尋
組件113自頁緩衝暫存器214讀取資料並提供作為輸出的輸入搜尋字206是否儲存於正被搜尋的TCAM區塊112中的指示符以及匹配資料之位置(例如,陣列中之弦線的記憶體位址)。
在一些實施例中,搜尋組件113可依次搜尋平面201-1至201-4的TCAM區塊112中之匹配資料。亦即,搜尋組件113可初始地搜尋平面201-1之TCAM區塊112,此後搜尋平面200-2之TCAM區塊112,此後搜尋平面201-3之TCAM區塊112,且最終搜尋平面201-4之TCAM區塊112。
在一些實施例中,搜尋組件113可並行搜尋平面201-1至201-4的TCAM區塊112中之匹配資料。亦即,搜尋組件113可同時搜尋平面201-1至201-4之全部TCAM區塊112以找到匹配資料。平面201-1至201-4之並行搜尋允許儲存於平面201-1至201-4之全部TCAM區塊112當中的全部資料條目待在單一搜尋操作中搜尋而不是在四個單獨搜尋操作中完成全部資料條目之搜尋。因此,如在上文所描述的實施例中所利用,並行搜尋可允許搜尋組件113實現搜尋速度相對於其中利用依序搜尋之實施例的增加。
在一些實施例中,資料條目可橫越平面201-1至201-4之兩者或大於兩者而儲存。在此等情形中,搜尋組件113可橫越平面201-1至201-4之兩者或大於兩者同時搜尋匹配資料之部分。當與其中資料條目儲存於單一平面內的實施例相比時,橫越平面分配資料條目允許較大字大小。舉例而言,若TCAM區塊112中之每一者支援64位元字,則在全部四該平面當中分配資料條目將允許記憶體裝置200支援256位元字(4*64=256)。
為避免不必要細節混淆本發明標的物,已自圖2省去與傳達理解本發明標的物沒有密切關係的各種功能組件。然而,熟習此項技術者將容易認識到各種額外功能組件可作為記憶體子系統110之部分而包括以促進本文中未特定描述的額外功能性。舉例而言,記憶體子系統110可包括允許習知讀取及寫入操作待對於記憶體裝置130及140中之一或多者執行的額外電路系統(例如,一或多個多工器)。
圖3說明根據本公開之一些實施例的實施於呈NAND型快閃記憶體裝置之實例形式的記憶體裝置130內的TCAM區塊300之組件。TCAM區塊300為TCAM區塊112之實例。
如所展示,TCAM區塊300包括匹配線302-0至302-N、搜尋線304-0至304-M,及反轉搜尋線306-0至306-M。在此實施中,TCAM區塊300之匹配線302-0至302-N對應於NAND型快閃記憶體裝置之位元線,且TCAM區塊300之搜尋線304-0至304-M及反轉搜尋線306-0至306-M對應於NAND型快閃記憶體裝置之字元線。
匹配線302-0至302-N中之每一者連接至包含串聯連接之複數個記憶體胞元的弦線。舉例而言,匹配線302-0連接至包含記憶體胞元308-0至308-X(其中X=2M)的弦線。TCAM區塊300之每一弦線中的記憶體胞元經組態為互補對。舉例而言,在弦線連接至匹配線302-0的情況下,記憶體胞元308-0至308-X經程式化為互補記憶體胞元對310-0至310-M。
記憶體胞元對經組態為互補,原因在於該對中之一個記憶體胞元儲存資料值(「0」)其該對中之另一記憶體胞元儲存資料值之反轉(「1」)。舉例而言,如圖4中所展示,記憶體胞元對310-0包括記憶體胞
元308-0及308-1。記憶體胞元308-0儲存資料位元值DATA,且記憶體胞元308-1儲存,其為資料位元值DATA的反轉。此外,如圖3中所展示,搜尋線304-0連接至記憶體胞元308-0之控制閘極且反轉搜尋線306-0連接至記憶體胞元308-1之控制閘極。
搜尋線304-0接收表示來自輸入搜尋字之搜尋位元值之第一信號SL且反轉搜尋線306-0接收表示搜尋位元值之反轉的第二信號。若SL匹配DATA且匹配,則記憶體胞元對310-0將為導電的。舉例而言,提供於下文中之表1為定義記憶體胞元對310-0至310-M中之任何給定者之性能的真值表。
在表1中,為「0」之「DATA」值表示抹除狀態且為「1」之「DATA」值表示記憶體胞元之經程式化狀態。「SL」為搜尋位元值,「」為搜尋位元值之反轉,「DATA」為所儲存位元值,且「」為所儲存位元值之反轉。如所展示,當搜尋資料值匹配所儲存資料值且搜尋資料值之反轉匹配所儲存資料值之反轉時互補胞元對為導電的。為促進不精確匹配,若SL對應於無關位元,則SL及經設定為「1」(邏輯高值)。如所展示,在此等情形中,互補胞元對獨立於實際搜尋位元或資料位元而導電。
TCAM區塊300亦能夠儲存包含一或多個無關(X)位元之資
料。舉例而言,如表1中所示,當DATA指示為無關時,二進位值零(邏輯低狀態)儲存在DATA映射至的互補胞元對之兩個記憶體胞元(例如,互補記憶體胞元對310-0之記憶體胞元308-0及308-1)中。在此等情形中,互補記憶體胞元對將為導電的。
返回至圖3,TCAM區塊300中之每一弦線儲存資料條目及資料條目中之每一資料位元值映射至弦線中的記憶體胞元對310-0至310-N中之一者。以此方式,在弦線中之互補記憶體胞元對中之每一者內,除非位元值經指示為無關位元(在此情況下第一記憶體胞元及第二記憶體胞元兩者儲存二進位值零),否則第一記憶體胞元儲存來自資料條目之位元值且第二記憶體胞元儲存來自資料條目之位元值的反轉。
在其中NAND型快閃記憶體裝置支援128位元字(亦即,N為128)的一實例中,匹配線302-0連接至記憶體胞元308-0至308-63,其儲存包含位元值D0,0至D63,63的64位元資料條目。在此實例中,位元值D0,0映射至包含記憶體胞元308-0及308-1之記憶體胞元對310-0。更特定言之,記憶體胞元308-0儲存位元值D0,0且互補記憶體胞元308-1儲存,其為位元值D0,0之反轉。
搜尋型樣312可沿著搜尋線304-0至304-M及反轉搜尋線306-0至306-M垂直地輸入。更特定言之,搜尋線304-0至304-M接收表示搜尋字的電壓信號之一第一集合SL0-M,且反轉搜尋線306-0至306-M接收表示搜尋字之反轉的電壓信號之一第二集合。搜尋型樣312沿著搜尋線之輸入使儲存匹配資料的任一弦線導電,此係因為如上文所論述,弦線中之每一個別記憶體胞元對將係導電的。因為匹配線經預充電,因此導電弦線允許匹配線放電。連接至導電弦線的頁緩衝暫存器鎖存指示匹配資料
(亦即,搜尋字)在TCAM區塊300中之位置的資料。
如上文所提及,為促進不精確匹配,搜尋線304-0至304-M中之一或多者及反轉搜尋線306-0至306-M之對應一或多者可在搜尋弦線之輸入之前或與搜尋弦線之輸入並行地經設定為邏輯高狀態。搜尋組件113可藉由將搜尋線連接至一電壓源而將任一搜尋線設定為邏輯高狀態,該電壓源提供對應於邏輯高狀態(例如,Vhigh)之電壓信號。作為實例,假定搜尋字之第二位元為無關位元213。搜尋線304-1及反轉搜尋線306-1對應於搜尋字SL1之第二位元及所儲存資料條目D1之第二位元。因此,作為執行此實例搜尋之部分,搜尋組件113藉由將搜尋線304-1及反轉搜尋線306-1連接至Vhigh而將搜尋線304-1及反轉搜尋線306-1設定為邏輯高。結果,連接至搜尋線304-1及反轉搜尋線306-1的互補記憶體胞元對中之每一者變為導電,藉此指示正匹配而無論所儲存之基本資料或搜尋型樣中之實際對應值為何。
搜尋組件113輸出匹配資料是否由TCAM區塊300儲存的一指示及匹配資料之位置(例如,記憶體位址)的一指示符。在一些實施例中,搜尋組件113包括讀取來自TCAM區塊300之頁緩衝暫存器之資料以識別匹配資料之位置的讀數電路。
在一些實施例中,TCAM區塊300中之兩個或多於兩個頁緩衝暫存器可繫結在一起以形成串列移位暫存器。根據此等實施例,搜尋組件113將連接至匹配線的第一頁緩衝暫存器中之資料移位至第二頁緩衝暫存器,且搜尋組件113包括輸出比較及計數組件以追蹤自一該頁緩衝暫存器至另一頁緩衝暫存器之移位的數目以識別由TCAM區塊300儲存之匹配資料的位置。
兩個頁緩衝暫存器可使用單一電晶體繫結在一起以形成移位暫存器。舉例而言,如圖5中所展示,移位暫存器500包括藉由電晶體506連接的頁緩衝暫存器502及頁緩衝暫存器504。
圖6為說明根據本公開之一些實施例的用於不精確搜尋記憶體子系統中之TCAM組件之實例方法600的流程圖。方法600可由處理邏輯執行,該處理邏輯可包括硬體(例如處理裝置、電路系統、專用邏輯、可程式化邏輯、微碼、裝置之硬體、積體電路等)、軟體(例如在處理裝置上運行或執行之指令),或其組合。在一些實施例中,方法600藉由圖1之搜尋組件113執行。儘管以特定序列或次序展示,但除非另有規定,否則可修改該等程序之次序。因此,所說明之實施例應僅理解為實例,且所說明之程序可以不同次序執行,且一些程序可並行執行。另外,在各種實施例中,可省略一或多個程序。因此,並非所有程序在每一實施例中皆需要。其他處理流程係可能的。
在操作605處,處理裝置接收輸入搜尋字。該輸入搜尋字可自與處理裝置通信之主機系統(例如,主機系統120)接收。輸入搜尋字包括M位元之第一序列(例如,「100110101011」)。
在操作610處,處理裝置接收經指定為無關位元的M位元之第一序列中的一或多個位元之指示符。為了識別匹配資料之目的可忽略搜尋字之無關位元。無關位元之指示符可自主機系統接收。主機系統可以程式化方式或基於使用者輸入選擇一或多個無關位元。一或多個無關位元對應於輸入字之第一部分且搜尋字之剩餘部分(例如,未指定為無關之部分)下文被稱作「第二部分」。
在操作615處,處理裝置基於無關位元將TCAM區塊之搜
尋線的一子集設定為邏輯高狀態。邏輯高狀態表示二進位值1。處理裝置藉由將搜尋線連接至表示邏輯高狀態之電壓信號將此等搜尋線設定為邏輯高狀態。因此,電壓信號具有大於臨限電壓之對應電壓,其中低於臨限值之電壓表示邏輯低狀態且高於臨限值之電壓表示邏輯高狀態。
TCAM區塊包括記憶體胞元之陣列(例如,NAND型快閃記憶體陣列)。陣列之記憶體胞元經配置為弦線且該等弦線中之每一者儲存資料條目。弦線包括串聯連接於預充電匹配線與頁緩衝暫存器之間的複數個記憶體胞元。匹配線經預充電原因在於其連接至電壓信號(例如,表示邏輯高狀態)。TCAM區塊進一步包括複數個搜尋線,且每一弦線中之記憶體胞元中之每一者連接至複數個搜尋線中的一者。
設定為邏輯高狀態的TCAM區塊之搜尋線之子集對應於輸入搜尋字之無關位元。亦即,經設定為邏輯高狀態的TCAM區塊之搜尋線之子集連接至儲存對應於輸入搜尋字中之無關位元之資料值的記憶體胞元。舉例而言,如上文所提及,每一弦線中之記憶體胞元經組織為互補記憶體胞元對。由弦線儲存之資料條目之每一位元值經映射至該弦線中之一互補記憶體胞元對。詳言之,第一記憶體胞元儲存位元值且第二記憶體胞元儲存位元值之反轉。更特定言之,第一記憶體胞元儲存表示位元值之第一電荷且第二記憶體胞元儲存表示位元值之反轉的第二電荷。因此,對於每一無關位元,對應於無關位元之部位處之位元值的搜尋線皆經設定為邏輯高狀態。亦即,對於表示無關位元之部位處之位元值的陣列中之互補記憶體胞元對中之每一者,連接至儲存資料值的第一記憶體胞元之第一搜尋線經設定為邏輯高狀態且連接至儲存該資料值之反轉的第二記憶體胞元之第二線亦經設定為邏輯高狀態。
在操作620處,處理裝置基於輸入搜尋字產生搜尋型樣。搜尋型樣包括表示搜尋字之電壓信號的一第一集合。亦即,電壓信號之該第一集合表示M位元之第一序列。搜尋型樣進一步包括表示包含位元之第一序列之反轉(例如,「0110 0101 0100」)的M位元之第二序列的電壓信號之一第二集合。因此,在產生搜尋型樣時,處理裝置藉由反轉輸入搜尋字產生位元之第二序列並將位元之第一及第二序列分別地轉換成第一及第二信號。處理裝置可基於位元之第一序列替代地產生第一信號且藉由產生第一信號之反轉而產生第二信號。在產生第一及第二電壓信號時,處理裝置可使用電壓Vhigh來表示二進位值「1」並使用電壓Vlow來表示二進位值「0」,其中Vhigh高於臨限電壓(Vt)且Vlow低於Vt。
處理裝置提供搜尋型樣以搜尋TCAM區塊之線(在操作625處)。無論由搜尋型樣表示的值為何,經設定為邏輯高狀態的TCAM區塊之搜尋線之子集保持處於邏輯高狀態。在提供搜尋型樣至TCAM之搜尋線時,處理裝置將表示來自第一位元序列之搜尋位元值之第一信號提供至連接至互補記憶體胞元對中之第一記憶體胞元的第一搜尋線且將表示搜尋位元值之反轉的第二搜尋信號提供至連接至互補記憶體胞元對中之第二記憶體胞元的第二搜尋線。
若輸入搜尋字之第二部分(例如,不包括無關位元之部分)儲存於TCAM區塊中,則搜尋型樣之輸入使上面儲存輸入搜尋字之第二部分的弦線變為導電。因為匹配之線經預充電,因此導電弦線允許匹配線放電。亦即,弦線基於儲存於連接至匹配輸入搜尋字之第二部分之匹配線的弦線上之資料條目傳導由匹配線放電產生的信號。導電弦線提供信號至在弦線之另一末端處連接的頁緩衝暫存器。該頁緩衝暫存器回應於由於匹配
線放電而提供之信號而鎖存資料。鎖存之資料指示連接至頁緩衝暫存器之匹配線儲存匹配輸入搜尋字之至少第二部分的資料條目。
在操作630處,處理裝置判定任何匹配資料是否由TCAM區塊儲存。出於不精確匹配之目的,匹配資料包括輸入搜尋字之第二部分但可能不包括第一部分。處理裝置可藉由讀取來自TCAM區塊之頁緩衝暫存器的資料判定任何匹配資料是否由TCAM區塊儲存。
若在操作630處,處理裝置判定無匹配資料由TCAM區塊儲存,則處理裝置可返回至操作610並使用至少一個新的無關位元再次重複所描述之程序。至少一個新的無關位元之指示符可在操作610處再次藉由主機系統提供。亦即,可提供無關位元之一第一集合,且若基於無關位元之該第一集合未識別匹配資料,則可提供無關位元之一第二集合,且處理裝置基於無關位元之第二集合搜尋用於匹配資料之TCAM區塊。
若處理裝置判定匹配資料由TCAM區塊儲存,則處理裝置在操作635處判定儲存於TCAM區塊中的任何匹配資料之位置。亦即,處理裝置判定匹配輸入搜尋字之第二部分的所儲存資料條目之位置。處理裝置可基於自頁緩衝暫存器讀取的資料判定匹配資料之位置。匹配資料之位置可包括對應於陣列內之一或多個弦線的一或多個記憶體位址。
在操作640處,處理裝置輸出匹配資料是否由TCAM區塊儲存的一指示及匹配資料之位置。匹配資料之位置可例如用於擷取與由記憶體子系統儲存之輸入搜尋字相關聯的額外資料。相關聯資料可儲存於上面實施TCAM區塊的記憶體裝置之不同部分中或記憶體子系統之另一記憶體裝置上。
實例1為一種系統,其包含:一記憶體裝置,其包含一三
元內容可定址記憶體(TCAM)區塊,該三元內容可定址記憶體區塊包含組織成複數個弦線的記憶體胞元之一陣列,該複數個弦線中之一弦線儲存一資料條目,該弦線包含串聯連接於一預充電匹配線與一頁緩衝暫存器之間的複數個記憶體胞元,該等記憶體胞元中之每一者連接至複數個搜尋線中的一者;及一處理裝置,其耦接至該記憶體裝置,該處理裝置用以執行包含以下各者之操作:接收包含一位元序列之一輸入搜尋字;接收該位元序列中之一或多個無關位元的一指示符,該一或多個無關位元對應於該輸入搜尋字之一第一部分;將該複數個搜尋線之一子集設定為一邏輯高狀態,該複數個搜尋線之該子集對應於該一或多個無關位元;基於該輸入搜尋字產生一搜尋型樣;提供該搜尋型樣作為至該複數個搜尋線之輸入,該搜尋型樣使該弦線導電並回應於儲存於該弦線上之該資料條目匹配該輸入搜尋字之不包括該一或多個無關位元的至少一第二部分而提供一信號至該頁緩衝暫存器,該信號由該預充電匹配線經由該弦線放電而產生,該頁緩衝暫存器回應於該信號而儲存資料;及基於藉由該頁緩衝暫存器讀取之該資料而輸出該TCAM區塊內之該資料條目的一位置。
在實例2中,實例1之該複數個記憶體胞元視需要經組態為複數個互補記憶體胞元對且該資料條目之一位元值映射至該複數個互補記憶體胞元對中之一互補記憶體胞元對。
在實例3中,實例1及2中任一項之標的物視需要包含一互補記憶體胞元對,該互補記憶體胞元對包含:用以儲存該資料條目之一位元值的一第一記憶體胞元;及與該第一記憶體胞元串聯連接之一第二記憶體胞元,該第二記憶體胞元用以儲存該位元值之一反轉,其中該複數個搜尋線中之一第一搜尋線連接至該第一記憶體胞元;且其中該複數個字元線
中之一第二字線連接至該第二記憶體胞元。
在實例4中,實例1至3中任一項之標的物視需要包含用以接收表示來自該輸入搜尋字之一搜尋位元值之一第一搜尋信號的一第一搜尋線,及用以接收表示該搜尋位元值之一反轉之一第二搜尋信號的一第二搜尋線。
在實例5中,實例1至4中任一項之搜尋型樣視需要包含表示該輸入搜尋字之一第一信號集合及表示該輸入搜尋字之一反轉的一第二信號集合。
在實例6中,實例1至5中任一項之標的物視需要包含用以產生該位元序列之一反轉的一反轉器;及用以基於該第一位元序列產生一第一信號集合且基於該位元序列之該反轉產生一第二信號集合的一位準移位器。
在實例7中,實例1至6中任一項之標的物視需要包含基於藉由該頁緩衝暫存器讀取之資料而判定匹配資料是否由該TCAM區塊儲存,該匹配資料包含該輸入搜尋字之至少該第二部分;及輸出匹配資料是否由該TCAM區塊儲存之一指示。
實例8包括實例1至7之標的物,其中該一或多個無關位元為無關位元之一第一集合;該複數個搜尋線之該子集為一第一子集;且該等操作進一步視需要包含:在接收無關位元之該第一集合之前接收無關位元之一第二集合;將該複數個搜尋線之一第二子集設定為一邏輯高狀態,該複數個搜尋線之該第二子集對應於無關位元之一第二集合;判定匹配資料不由該TCAM儲存;且其中基於判定匹配資料不由該TCAM儲存而提供無關位元之該第一集合。
在實例9中,實例1至8中任一項之資料條目的位置視需要包含該CAM區塊內之該弦線的一記憶體位址。
在實例10中,實例1至9中任一項之記憶體裝置視需要包含一負及(NAND)型快閃記憶體裝置。
實例11為一種方法,其包含:接收包含一第一位元序列之一輸入搜尋字;接收該第一位元序列中之一或多個無關位元的一指示符,該一或多個無關位元對應於該輸入搜尋字之一第一部分;將一三元內容可定址記憶體(TCAM)區塊的複數個搜尋線之一子集設定為一邏輯高狀態,該複數個搜尋線之該子集對應於該一或多個無關位元;基於該輸入搜尋字產生一搜尋型樣;提供該搜尋型樣至該TCAM之該複數個搜尋線,該搜尋型樣使該TCAM中之一弦線導電且回應於該弦線儲存匹配資料而提供一信號至一頁緩衝暫存器,該匹配資料包含該輸入搜尋字之不包括該等無關位元的一第二部分,該信號由一預充電匹配線經由該弦線放電而產生,該頁緩衝暫存器回應於該信號而儲存資料;及基於藉由該頁緩衝暫存器讀取之該資料而輸出該TCAM區塊內之該資料條目的一位置。
在實例12中,實例11之該複數個記憶體胞元視需要經組態為複數個互補記憶體胞元對且該資料條目之一位元值映射至該複數個互補記憶體胞元對中之一互補記憶體胞元對。
在實例13中,實例11及12中任一項之標的物視需要包含一互補記憶體胞元對,該互補記憶體胞元對包含:用以儲存該資料條目之一位元值的一第一記憶體胞元;及與該第一記憶體胞元串聯連接之一第二記憶體胞元,該第二記憶體胞元用以儲存該位元值之一反轉,其中該複數個搜尋線中之一第一搜尋線連接至該第一記憶體胞元;且其中該複數個字元
線中之一第二字線連接至該第二記憶體胞元。
在實例14中,實例11至13中任一項之提供搜尋型樣作為輸入視需要包含提供表示來自該輸入搜尋字之一搜尋位元值之一第一搜尋信號至該第一搜尋線,及提供表示該搜尋位元值之一反轉之一第二搜尋信號至該第二搜尋線。
在實例15中,實例11至14中任一項之標的物視需要包含基於藉由該頁緩衝暫存器讀取之資料而判定匹配資料是否由該TCAM區塊儲存,該匹配資料包含該輸入搜尋字之至少該第二部分;及輸出匹配資料是否由該TCAM區塊儲存之一指示。
在實例16中,實例11至15中任一項之標的物視需要包含藉由自該頁緩衝暫存器中讀取該資料判定該資料條目的該位置,該資料指示該弦線之該位置。
在實例17中,實例11至16中任一項之搜尋型樣視需要包含表示該輸入搜尋字之一第一信號集合及表示該位元序列之一反轉的一第二信號集合。
在實例18中,該位元序列為一第一位元序列,實例11至17中任一項中之該產生搜尋型樣視需要包含:反轉該第一位元序列以產生該第二位元序列;產生表示該第一位元序列的一第一電壓信號;及產生表示該第二位元序列之一第二電壓信號。
在實例19中,實例11至18中任一項之資料條目的位置視需要包含該TCAM區塊內之該弦線的一記憶體位址。
實例20為一種非暫時性電腦可讀儲存媒體,其包含在由一處理裝置執行時組態該處理裝置執行包含以下各者之操作的指令:接收包
含一第一位元序列之一輸入搜尋字;接收該第一位元序列中之一或多個無關位元的一指示符,該一或多個無關位元對應於該輸入搜尋字之一第一部分;將一三元內容可定址記憶體(TCAM)區塊的複數個搜尋線之一子集設定為一邏輯高狀態,該複數個搜尋線之該子集對應於該一或多個無關位元;基於該輸入搜尋字產生一搜尋型樣;提供該搜尋型樣作為至該TCAM之該複數個搜尋線的輸入,該搜尋型樣使一弦線導電且回應於該弦線儲存匹配資料而提供一信號至一頁緩衝暫存器,該匹配資料包含該輸入搜尋字之不包括該等無關位元的一第二部分,該信號由一預充電匹配線經由該弦線放電而產生,該頁緩衝暫存器回應於該信號而儲存資料;及基於藉由該頁緩衝暫存器讀取之該資料而輸出該TCAM區塊內之該資料條目的一位置。
圖7說明呈電腦系統700之形式的實例機器,指令集可在該電腦系統內執行以用於使機器執行本文中所論述之方法中的任何一或多者。在一些實施例中,電腦系統700可對應於主機系統(例如,圖1之電腦系統120),該主機系統包括、耦接至或利用記憶體子系統(例如,圖1之記憶體子系統110),或可用於執行控制器之操作(例如,執行作業系統以執行對應於圖1之搜尋組件113的操作)。在替代實施例中,機器可連接(例如,網路連接)至區域網路(LAN)、企業內部網路、企業間網路及/或網際網路中之其他機器。機器可在主從式網路環境中以伺服器或用戶端機器之身分操作,在同級間(或分散式)網路環境中作為同級機器操作,或在雲端計算基礎設施或環境中作為伺服器或用戶端機器操作。
機器可為個人電腦(PC)、平板PC、機上盒(STB)、個人數位助理(PDA)、蜂巢式電話、網路器具、伺服器、網路路由器、交換器或
橋接器,或能夠執行指定待由彼機器採取之動作的指令集(依序或以其他方式)的任何機器。此外,雖然說明單個機器,但術語「機器」亦應被視為包括個別地或聯合地執行一指令集(或多個指令集)以執行本文中所論述之方法中的任何一或多者之機器的任何集合。
實例電腦系統700包括處理裝置702、主記憶體704(例如,ROM、快閃記憶體、諸如SDRAM或Rambus DRAM(RDRAM)之DRAM等)、靜態記憶體707(例如,快閃記憶體、靜態隨機存取記憶體(SRAM)等)及資料儲存系統718,以上各者經由匯流排730彼此通信。
處理裝置702表示一或多個通用處理裝置,諸如微處理器、中央處理單元或其類似者。更明確而言處理裝置702可為複雜指令集計算(CISC)微處理器、精簡指令集計算(RISC)微處理器、超長指令字(VLIW)微處理器、實施其他指令集之處理器,或實施指令集之組合的處理器。處理裝置702亦可為一或多個專用處理裝置,諸如ASIC、FPGA、數位信號處理器(DSP)、網路處理器或其類似者。處理裝置702經組態以執行用於執行本文所論述之操作及步驟的指令726。電腦系統700可進一步包括網路介面裝置708以經由網路720通信。
資料儲存系統718可包括機器可讀儲存媒體724(亦稱為電腦可讀媒體),在該機器可讀儲存媒體上儲存指令727之一或多個集合或體現本文中所描述方法或功能中之任一或多者的軟體。在其由電腦系統700執行期間,指令727亦可完全或至少部分地駐留於主記憶體704內及/或處理裝置702內,主記憶體704及處理裝置702亦構成機器可讀儲存媒體。機器可讀儲存媒體724、資料儲存系統718及/或主記憶體704可對應於圖1之記憶體子系統110。
在一個實施例中,指令727包括用以實施對應於安全組件(例如,圖1之搜尋組件113)之功能性的指令。儘管在實例實施例中將機器可讀儲存媒體724展示為單一媒體,但術語「機器可讀儲存媒體」應視為包括儲存指令727之一或多個集合的單一媒體或多個媒體。術語「機器可讀儲存媒體」亦應被視為包括能夠儲存或編碼供機器執行之指令集且使機器執行本公開之方法中之任一或多者的任何媒體。術語「機器可讀儲存媒體」因此應被視為包括(但不限於)固態記憶體、光學媒體及磁性媒體。
已根據對電腦記憶體內之資料位元之操作的演算法及符號表示來呈現前述詳細描述之一些部分。此等演算法描述及表示為熟習資料處理技術者用來向其他熟習此項技術者傳達其工作的實質之方式。此處且大體上將演算法構想為產生所需結果之操作的自一致序列。該等操作為需要實體量之實體操控的彼等操作。通常但未必,此等量採用能夠儲存、組合、比較以及以其他方式操控之電信號或磁信號的形式。主要出於常用之原因,已證實將此等信號稱為位元、值、元件、符號、字符、術語、數字或其類似者時常為便利的。
然而,應牢記,所有此等及類似術語與適當實體量相關聯,且僅係應用於此等量之便利標記。本公開可涉及操控表示為電腦系統之暫存器及記憶體內的實體(電子)量的資料並將其變換成類似地表示為電腦系統記憶體或暫存器或其他此類資訊儲存系統內的實體量之其他資料的電腦系統或類似電子計算裝置之動作及程序。
本揭示亦關於一種用於執行本文中之操作的設備。此設備可經特別建構以用於所預期目的,或其可包括由儲存於電腦中之電腦程式選擇性地啟動或重組態之通用型電腦。此電腦程式可儲存於電腦可讀儲存
媒體中,諸如(但不限於)任何類型之碟片,包括軟性磁碟、光碟、CD-ROM及磁光碟;ROM;RAM;可抹除可程式化唯讀記憶體(EPROM);EEPROM;磁卡或光卡;或任何類型之適用於儲存電子指令之媒體,且每一者耦接至一電腦系統匯流排。
本文中所呈現之演算法及顯示器並非固有地與任何特定電腦或其他設備相關。根據本文教示各種通用系統可與程式一起使用,或其可證明便於建構一較專用設備來執行方法。用於各種此等系統之結構將如以上描述所闡述的。另外,並未參考任何特定程式設計語言來描述本公開。應瞭解,各種程式設計語言可用以實施如本文中所描述之本公開之教示。
本公開可提供為電腦程式產品或軟體,其可包括儲存有指令的機器可讀媒體,該等指令可用以程式化電腦系統(或其他電子裝置)以執行根據本公開之程序。機器可讀媒體包括用於儲存呈機器(例如電腦)可讀取形式之資訊的任何機制。在一些實施例中,機器可讀(例如,電腦可讀)媒體包括機器機器可讀(例如,電腦可讀)儲存媒體,諸如ROM、RAM、磁碟儲存媒體、光學儲存媒體、快閃記憶體組件等。
在前述說明書中,本公開之實施例已參考其特定實例實施例加以描述。將顯而易見的係,可在不脫離如以下申請專利範圍中所闡述的本公開之實施例的更廣泛範疇的情況下對其進行各種修改。因此,本說明書及圖式應在說明性意義上而非限制性意義上來理解。
112:三元內容可定址記憶體(TCAM)區塊
113:搜尋組件
200:記憶體裝置
201-1:平面
201-2:平面
201-3:平面
201-4:平面
206:輸入搜尋字
208:搜尋型樣
209A:電壓信號之第一集合
209B:電壓信號之第二集合
210:反轉器
211:位準選擇器
212:遮罩暫存器
213:無關位元
214:頁緩衝暫存器
Claims (20)
- 一種用於記憶體搜尋之系統,該系統包含:一記憶體裝置,其包含一三元內容可定址記憶體(TCAM)區塊,該三元內容可定址記憶體區塊包含組織成複數個弦線的記憶體胞元之一陣列,該複數個弦線中之一弦線儲存一資料條目,該弦線包含串聯連接於一預充電匹配線與一頁緩衝暫存器之間的複數個記憶體胞元,該等記憶體胞元中之每一者連接至複數個搜尋線中的一者;及一處理裝置,其耦接至該記憶體裝置,該處理裝置用以執行包含以下各者之操作:接收包含一位元序列之一輸入搜尋字;接收該位元序列中之一或多個無關位元的一指示符,該一或多個無關位元對應於該輸入搜尋字之一第一部分;將該複數個搜尋線之一子集設定為一邏輯高狀態,該複數個搜尋線之該子集對應於該一或多個無關位元;基於該輸入搜尋字產生一搜尋型樣;提供該搜尋型樣作為至該複數個搜尋線之輸入,該搜尋型樣使該弦線導電且回應於儲存於該弦線上之該資料條目匹配該輸入搜尋字之不包括該一或多個無關位元的至少一第二部分而提供一信號至該頁緩衝暫存器,該信號由該預充電匹配線經由該弦線放電而產生,該頁緩衝暫存器回應於該信號而儲存資料;及基於藉由該頁緩衝暫存器讀取之該資料而輸出該TCAM區塊內之該資料條目的一位置。
- 如請求項1之系統,其中:該複數個記憶體胞元經組態為複數個互補記憶體胞元對,且該資料條目之一位元值映射至該複數個互補記憶體胞元對中之一互補記憶體胞元對。
- 如請求項2之系統,其中:該互補記憶體胞元對包含:一第一記憶體胞元,其用以儲存該資料條目之一位元值,及一第二記憶體胞元,其與該第一記憶體胞元串聯連接,該第二記憶體胞元用以儲存該位元值之一反轉,該複數個搜尋線中之一第一搜尋線連接至該第一記憶體胞元;且複數個搜尋線中之一第二搜尋線連接至該第二記憶體胞元。
- 如請求項3之系統,其中:該第一搜尋線接收表示來自該位元序列之一搜尋位元值的一第一信號,且該第二搜尋線接收表示該搜尋位元值之一反轉的一第二信號。
- 如請求項4之系統,其中該處理裝置包含:一反轉器,其用以產生該位元序列之一反轉;及一位準移位器,其用以基於該位元序列產生該第一信號且基於該位元序列之該反轉產生該第二信號。
- 如請求項1之系統,其中該等操作進一步包含:基於藉由該頁緩衝暫存器讀取之該資料而判定匹配資料是否由該TCAM區塊儲存,該匹配資料包含該輸入搜尋字之至少該第二部分;及輸出該匹配資料是否由該TCAM區塊儲存之一指示。
- 如請求項1之系統,其中該搜尋型樣包含表示該輸入搜尋字之一第一信號集合及表示該輸入搜尋字之一反轉的一第二信號集合。
- 如請求項1之系統,其中:該一或多個無關位元為無關位元之一第一集合;該複數個搜尋線之該子集為一第一子集;且該等操作進一步包含:在接收無關位元之該第一集合之前接收無關位元之一第二集合;將該複數個搜尋線之一第二子集設定為一邏輯高狀態,該複數個搜尋線之該第二子集對應於無關位元之一第二集合;判定匹配資料不由TCAM儲存;且其中無關位元之該第一集合係基於判定匹配資料不由該TCAM儲存而提供。
- 如請求項1之系統,其中該資料條目之該位置包含該TCAM區塊內的該弦線之一記憶體位址。
- 如請求項1之系統,其中該記憶體裝置包含一負及(NAND)型快閃記憶體裝置。
- 一種用於記憶體搜尋之方法,該方法包含:接收包含一第一位元序列之一輸入搜尋字;接收該第一位元序列中之一或多個無關位元的一指示符,該一或多個無關位元對應於該輸入搜尋字之一第一部分;將一三元內容可定址記憶體(TCAM)區塊的複數個搜尋線之一子集設定為一邏輯高狀態,該複數個搜尋線之該子集對應於該一或多個無關位元;基於該輸入搜尋字產生一搜尋型樣;提供該搜尋型樣至TCAM之該複數個搜尋線,該搜尋型樣使該TCAM中之一弦線導電且回應於該弦線儲存匹配資料而提供一信號至一頁緩衝暫存器,該匹配資料包含該輸入搜尋字之不包括該等無關位元的一第二部分,該信號由一預充電匹配線經由該弦線放電而產生,該頁緩衝暫存器回應於該信號而儲存資料;及基於藉由該頁緩衝暫存器讀取之該資料而輸出該TCAM區塊內之資料條目的一位置。
- 如請求項11之方法,其中:複數個記憶體胞元經組態為複數個互補記憶體胞元對,且該資料條目之一位元值映射至該複數個互補記憶體胞元對中之一互補記憶體胞元對。
- 如請求項12之方法,其中:該互補記憶體胞元對包含:一第一記憶體胞元,其用以儲存該資料條目之一位元值,及一第二記憶體胞元,其與該第一記憶體胞元串聯連接,該第二記憶體胞元用以儲存該位元值之一反轉,該複數個搜尋線中之一第一搜尋線連接至該第一記憶體胞元;且複數個搜尋線中之一第二搜尋線連接至該第二記憶體胞元。
- 如請求項13之方法,其中該提供該搜尋型樣作為輸入包含:提供表示來自位元序列之一搜尋位元值的一第一搜尋信號至該第一搜尋線,及提供表示該搜尋位元值之一反轉的一第二搜尋信號至該第二搜尋線。
- 如請求項11之方法,其進一步包含:基於藉由該頁緩衝暫存器讀取之該資料而判定匹配資料是否由該TCAM區塊儲存,該匹配資料包含該輸入搜尋字之至少該第二部分;及輸出該輸入搜尋字是否由該TCAM區塊儲存之一指示。
- 如請求項11之方法,其中該輸出該資料條目之該位置包含自該頁緩衝暫存器中讀取該資料,該資料指示該弦線的位置。
- 如請求項11之方法,其中該搜尋型樣包含表示該輸入搜尋字之一第一信號集合及表示該位元序列之一反轉的一第二信號集合。
- 如請求項11之方法,其中:該位元序列為一第一位元序列;且該產生該搜尋型樣包含:反轉該位元序列以產生一第二位元序列;產生表示該第一位元序列的一第一電壓信號;及產生表示該第二位元序列的一第二電壓信號。
- 如請求項11之方法,其中該資料條目之該位置包含該TCAM區塊內的該弦線之一記憶體位址。
- 一種包含指令之非暫時性電腦可讀儲存媒體,該等指令在藉由一記憶體子系統控制器執行時組態該記憶體子系統控制器以執行包含以下各者之操作:接收包含一第一位元序列之一輸入搜尋字;接收該第一位元序列中之一或多個無關位元的一指示符,該一或多個無關位元對應於該輸入搜尋字之一第一部分;將一三元內容可定址記憶體(TCAM)區塊的複數個搜尋線之一子集設定為一邏輯高狀態,該複數個搜尋線之該子集對應於該一或多個無關位元;基於該輸入搜尋字產生一搜尋型樣; 提供該搜尋型樣作為至TCAM之該複數個搜尋線的輸入,該搜尋型樣使一弦線導電且回應於該弦線儲存匹配資料而提供一信號至一頁緩衝暫存器,該匹配資料包含該輸入搜尋字之不包括該等無關位元的一第二部分,該信號由一預充電匹配線經由該弦線放電而產生,該頁緩衝暫存器回應於該信號而儲存資料;及基於藉由該頁緩衝暫存器讀取之該資料而輸出該TCAM區塊內之資料條目的一位置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/811,574 US11133065B1 (en) | 2020-03-06 | 2020-03-06 | Architecture for ternary content-addressable memory search |
| US16/811,574 | 2020-03-06 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202145224A TW202145224A (zh) | 2021-12-01 |
| TWI773171B true TWI773171B (zh) | 2022-08-01 |
Family
ID=77556306
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW110107924A TWI773171B (zh) | 2020-03-06 | 2021-03-05 | 用於記憶體搜尋之系統及方法,及非暫時性電腦可讀儲存媒體 |
Country Status (6)
| Country | Link |
|---|---|
| US (2) | US11133065B1 (zh) |
| EP (1) | EP4115425A1 (zh) |
| KR (1) | KR20220159393A (zh) |
| CN (1) | CN115516568A (zh) |
| TW (1) | TWI773171B (zh) |
| WO (1) | WO2021178851A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI822436B (zh) * | 2022-08-19 | 2023-11-11 | 旺宏電子股份有限公司 | 記憶體以及用於記憶體內搜尋的記憶體操作方法 |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11133065B1 (en) | 2020-03-06 | 2021-09-28 | Micron Technology, Inc. | Architecture for ternary content-addressable memory search |
| CN113936710B (zh) * | 2021-09-15 | 2026-01-09 | 浙江毫微米科技有限公司 | 一种三态内容寻址存储器以及电子设备 |
| US12119060B2 (en) * | 2021-09-27 | 2024-10-15 | Samsung Electronics Co., Ltd. | Content-addressable memory and electronic device including the same |
| US11854619B2 (en) | 2022-01-19 | 2023-12-26 | Taiwan Semiconductor Manufacturing Company, Ltd. | Memory device with content addressable memory units |
| TWI807668B (zh) * | 2022-03-04 | 2023-07-01 | 旺宏電子股份有限公司 | 高內容密度之記憶體裝置 |
| US12057179B2 (en) | 2022-03-04 | 2024-08-06 | Macronix International Co., Ltd. | Memory device with high content density |
| TWI849716B (zh) * | 2023-02-01 | 2024-07-21 | 旺宏電子股份有限公司 | 混合式記憶體內搜尋(ims)內容定址記憶體(cam)單元、記憶體裝置及資料搜尋方法 |
| US12159672B2 (en) | 2023-02-01 | 2024-12-03 | Macronix International Co., Ltd. | Hybrid IMS CAM cell, memory device and data search method |
| US12417170B2 (en) | 2023-05-10 | 2025-09-16 | Macronix International Co., Ltd. | Computing system and method of operation thereof |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150248936A1 (en) * | 2014-02-28 | 2015-09-03 | Rambus Inc. | Complementary rram applications for logic and ternary content addressable memory (tcam) |
| US9484096B1 (en) * | 2015-11-30 | 2016-11-01 | National Tsing Hua University | Ternary content-addressable memory |
| US9875799B1 (en) * | 2015-01-12 | 2018-01-23 | Micron Technology, Inc. | Methods for pattern matching using multiple cell pairs |
| US20180040374A1 (en) * | 2016-08-04 | 2018-02-08 | Hewlett Packard Enterprise Development Lp | Ternary content addressable memories having a bit cell with memristors and serially connected match-line transistors |
| TW201810272A (zh) * | 2016-06-17 | 2018-03-16 | 格羅方德半導體公司 | 演算n搜尋/m寫入之三元內容可定址記憶體(tcam) |
| US20180350439A1 (en) * | 2015-08-28 | 2018-12-06 | Renesas Electronics Corporation | Semiconductor device including tcam cell arrays capable of skipping tcam-cell search in response to control signal |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7596553B2 (en) * | 2002-10-11 | 2009-09-29 | Avaya Inc. | String matching using data bit masks |
| US8166536B1 (en) * | 2009-02-10 | 2012-04-24 | Juniper Networks, Inc. | Transformation of network filter expressions to a content addressable memory format |
| US9224091B2 (en) * | 2014-03-10 | 2015-12-29 | Globalfoundries Inc. | Learning artificial neural network using ternary content addressable memory (TCAM) |
| US9728258B1 (en) | 2016-10-04 | 2017-08-08 | National Tsing Hua University | Ternary content addressable memory |
| US10846296B2 (en) | 2018-04-30 | 2020-11-24 | Hewlett Packard Enterprise Development Lp | K-SAT filter querying using ternary content-addressable memory |
| US10504595B1 (en) | 2019-02-28 | 2019-12-10 | Palo Alto Networks, Inc. | Amortizing dissipated power and current demand in a ternary content addressable memory |
| US11133065B1 (en) | 2020-03-06 | 2021-09-28 | Micron Technology, Inc. | Architecture for ternary content-addressable memory search |
-
2020
- 2020-03-06 US US16/811,574 patent/US11133065B1/en active Active
-
2021
- 2021-03-05 CN CN202180033042.3A patent/CN115516568A/zh not_active Withdrawn
- 2021-03-05 WO PCT/US2021/021157 patent/WO2021178851A1/en not_active Ceased
- 2021-03-05 EP EP21763709.9A patent/EP4115425A1/en not_active Withdrawn
- 2021-03-05 TW TW110107924A patent/TWI773171B/zh active
- 2021-03-05 KR KR1020227034951A patent/KR20220159393A/ko active Pending
- 2021-09-09 US US17/470,468 patent/US11664072B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150248936A1 (en) * | 2014-02-28 | 2015-09-03 | Rambus Inc. | Complementary rram applications for logic and ternary content addressable memory (tcam) |
| US9875799B1 (en) * | 2015-01-12 | 2018-01-23 | Micron Technology, Inc. | Methods for pattern matching using multiple cell pairs |
| US20180350439A1 (en) * | 2015-08-28 | 2018-12-06 | Renesas Electronics Corporation | Semiconductor device including tcam cell arrays capable of skipping tcam-cell search in response to control signal |
| US9484096B1 (en) * | 2015-11-30 | 2016-11-01 | National Tsing Hua University | Ternary content-addressable memory |
| TW201810272A (zh) * | 2016-06-17 | 2018-03-16 | 格羅方德半導體公司 | 演算n搜尋/m寫入之三元內容可定址記憶體(tcam) |
| US20180040374A1 (en) * | 2016-08-04 | 2018-02-08 | Hewlett Packard Enterprise Development Lp | Ternary content addressable memories having a bit cell with memristors and serially connected match-line transistors |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI822436B (zh) * | 2022-08-19 | 2023-11-11 | 旺宏電子股份有限公司 | 記憶體以及用於記憶體內搜尋的記憶體操作方法 |
| US12131787B2 (en) | 2022-08-19 | 2024-10-29 | Macronix International Co., Ltd. | Page buffer counting for in-memory search |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202145224A (zh) | 2021-12-01 |
| US20210407595A1 (en) | 2021-12-30 |
| US11664072B2 (en) | 2023-05-30 |
| KR20220159393A (ko) | 2022-12-02 |
| EP4115425A1 (en) | 2023-01-11 |
| US20210280250A1 (en) | 2021-09-09 |
| CN115516568A (zh) | 2022-12-23 |
| US11133065B1 (en) | 2021-09-28 |
| WO2021178851A1 (en) | 2021-09-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI773171B (zh) | 用於記憶體搜尋之系統及方法,及非暫時性電腦可讀儲存媒體 | |
| US12001716B2 (en) | Key-value data storage system using content addressable memory | |
| US12019780B2 (en) | Memory device data security based on content-addressable memory architecture | |
| US11756621B2 (en) | Architecture for fast content addressable memory search | |
| US11756619B2 (en) | Key storage for sorted string tables using content addressable memory | |
| US12142318B2 (en) | Redundancy and majority voting in a key-value data storage system using content addressable memory | |
| CN115373891A (zh) | 在使用内容可寻址存储器的关键值数据存储系统中复制冗余 | |
| US20240370202A1 (en) | Programming content addressable memory | |
| US20260031146A1 (en) | Searching a clustered or non-clustered index database using content addressable memory | |
| US20240020223A1 (en) | Center allocation data structure | |
| WO2026030239A1 (en) | Searching a clustered or non-clustered index database using content addressable memory | |
| CN114691028A (zh) | 存储器子系统存储器存储体搜索组件 |