TW201810272A - 演算n搜尋/m寫入之三元內容可定址記憶體(tcam) - Google Patents
演算n搜尋/m寫入之三元內容可定址記憶體(tcam) Download PDFInfo
- Publication number
- TW201810272A TW201810272A TW105126730A TW105126730A TW201810272A TW 201810272 A TW201810272 A TW 201810272A TW 105126730 A TW105126730 A TW 105126730A TW 105126730 A TW105126730 A TW 105126730A TW 201810272 A TW201810272 A TW 201810272A
- Authority
- TW
- Taiwan
- Prior art keywords
- cam
- matrix
- search
- write
- operations
- Prior art date
Links
- 239000011159 matrix material Substances 0.000 claims description 35
- 238000000034 method Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims 1
- 235000012431 wafers Nutrition 0.000 description 9
- 238000010586 diagram Methods 0.000 description 2
- 239000010408 film Substances 0.000 description 2
- 239000012467 final product Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000013067 intermediate product Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000206 photolithography Methods 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Abstract
本揭露係關於一種內容可定址記憶體(CAM),並且更尤其關於一種將X-Y TCAM之多個複本實體化的演算三元內容可定址記憶體(TCAM)。此結構包括內容可定址記憶體(CAM)、以及順著陣列之列方向與行方向將此CAM之多個複製複本實體化的該陣列。
Description
本揭露係關於一種內容可定址記憶體(CAM),並且更尤其關於一種將X-Y TCAM個體之多個複本實體化的演算三元內容可定址記憶體(TCAM)。
內容可定址記憶體(CAM)為高速搜尋操作中所使用的特殊類型電腦記憶體。CAM乃設計成使得使用者供應資料字元,並且CAM搜尋其整個記憶體以查看此資料字元是否有儲存於CAM中。若查到此資料字元,則CAM回傳查到此字元處之一或多個儲存位址的清單。
CAM乃設計成用以在單一操作中搜尋其整個記憶體,使得CAM在大部分搜尋操作中快於隨機存取記憶體(RAM)。然而,在CAM中,平行CAM中的各個別記憶體位元必須具有其自有的相關聯比較電路,用以偵測所儲存位元與輸入位元之間的匹配。再者,必須將資料字元中出自各胞元之匹配輸出加以組合,以產出完整的資料字元匹配信號。
高效能快取記憶體需要大型且完全相聯的
轉譯對應緩衝器(TLB)。為了在高效能快取記憶體中於一週期內進行多個N搜尋及M寫入,其中一種替代方案為建立將會支援所需效能的多寫入多搜尋三元CAM(TCAM)胞元。TCAM容許三種匹配狀態,其包括所儲存資料字元中之一或多個位元用的1、0及「X」(即隨意)。然而,此方法需要專用的TCAM胞元,這就硬體電路系統而言成本很高。另一替代方案為使用位元堆疊閂鎖器(Bit-Stacked-Latches)實施TCAM。然而,使用此位元堆疊閂鎖器之TCAM個體與多埠選項有面積無效率(area inefficient)且效能有限的問題。
在本揭露之一態樣中,一種結構包括內容可定址記憶體(CAM)、以及經結構化用以順著陣列之列方向與行方向將該CAM之多個複製複本實體化的矩陣。
在本揭露之另一態樣中,一種結構包含內容可定址記憶體(CAM)結構之多個複製複本的矩陣,該矩陣包含複數條寫入列與搜尋行,經結構化而使得於容許在第一週期內執行搜尋命令並且在第二週期內執行寫入操作的時間擷取多個操作。
在本揭露之另一態樣中,一種方法包含:於第一週期內,於複製的CAM個體中平行執行多個搜尋;以及於第二週期內,於該等複製的CAM個體中平行執行多個寫入或讀取。
100、100’‧‧‧CAM結構
100A至100F‧‧‧行
200A至200D‧‧‧列
350、350’、360、360’、370、370’‧‧‧搜尋
500至540、600至640‧‧‧步驟
C1至C24‧‧‧CAM個體
本揭露是藉由本揭露之例示性具體實施例之非限制性實施例,參照註記的複數個圖式,在下文的具體實施例中詳細說明。
第1圖根據本揭露之態樣展示CAM結構。
第2圖根據本揭露之態樣展示使用此CAM結構執行搜尋操作之第一週期。
第3圖根據本揭露之態樣展示使用此CAM結構執行寫入操作之第二週期。
第4圖根據本揭露之附加態樣展示CAM結構。
第5圖根據本揭露之態樣展示使用此CAM結構之步驟流程圖。
第6圖根據本揭露之態樣展示使用此CAM結構之另一步驟流程圖。
本揭露係關於一種內容可定址記憶體(CAM),並且更尤其關於一種將X-Y TCAM個體之多個複本實體化的演算三元內容可定址記憶體(TCAM)。特別的是,本揭露使用將X-Y TCAM個體之多個複本實體化的演算TCAM以達成每個週期TCAM操作所要求的N搜尋與M寫入。在一特定實施例中,本揭露容許每個週期執行三個搜尋及兩個寫入。有助益的是,本揭露藉由複製X-Y TCAM之多個複本,提供可搜尋TCAM結構之改良型搜尋效能,用以達成每個週期TCAM進行N搜尋與M寫入
在本揭露之具體實施例中,一種方法可使用多個單埠CAM個體實施完全相干性的演算多埠CAM解決方案,其中M寫入/N搜尋CAM乃使用2*N乘2*M CAM個體之陣列來實施。再者,在本揭露之具體實施例中,每第二週期可擷取2*M寫入與2*N搜尋這兩個操作。此外,對該2*N條搜尋行的其中一者供應各搜尋操作,並且對該2*M條寫入列的其中一者供應各寫入操作。
在本揭露之更特定具體實施例中,於容許在第一週期內執行搜尋命令並且在第二週期內執行寫入操作的時間可擷取兩組操作。再者,可在此搜尋執行期間進行此等寫入操作彼此間的比較以維持相干性。接著,在執行此搜尋之後,可基於此搜尋操作的結果來執行此寫入操作。在具體實施例中,本文中的程序可執行N個搜尋及M個寫入,在一個週期內擷取此等搜尋及寫入,以及對所有搜尋安排優先順序並且在後續寫入中對此等寫入安排優先順序。
在本揭露之具體實施例中,X-Y TCAM個體可藉由增加用以對此TCAM之X部分寫入1並且對其Y部分寫入1的週期數來定址。再者,此CAM可隨著CAM增大(即生長)到具有3*N條行及2*M條列而擷取為數3*N的操作。在這些具體實施例中,兩個週期可進行此寫入操作。此外,此陣列可包含2*M條寫入列乘2*N條搜尋行的矩陣,用以在一時間擷取2*(N+M)個操作。
第1圖根據本揭露之態樣展示CAM結構。
在具體實施例中,CAM結構100可以是包含資料搜尋字元的三元CAM(TCAM),此等資料搜尋字元對於所儲存字元中的一或多個位元包含1、0及「X」或「隨意」。或者,第1圖的CAM結構100可以是二元CAM,其對於所儲存字元中的一或多個位元,包含完全是1與0的資料搜尋字元。
如第1圖所示,CAM結構100包括經複製的CAM個體C1至C24(例如:C1、C2、…Cn)之陣列或矩陣。在具體實施例中,CAM個體C1至C24之陣列或矩陣可以是2*N乘2*M矩陣,其中N及M代表CAM個體C1之複製個體。更具體地說,如第1圖所示,CAM結構100可包括複數條行100A、100B、100C、100D、100E及100F、以及複數條列200A、200B、200C及200D,包含以C2至C24所表示之複製CAM個體。也就是說,這複數條列與行為CAM個體C1之複製CAM個體。在具體實施例中,CAM個體C1至24為實體硬體電路。在具體實施例中,舉一實施例來說,各CAM各為512字元乘40位元。
雖然第1圖展示512 x 40位元組CAM個體的4x6矩陣,仍應了解的是,任何矩陣都在本揭露的考量範圍內。CAM結構100可使用X-Y TCAM的512x80個體而實施為512x40值TCAM的N x M矩陣,其中值TCAM需要一個時脈週期以更新TCAM項目內容,並且XY TCAM需要兩個時脈週期以更新TCAM項目內容。此外,雖然CAM個體C1代表512x40位元組CAM,但本揭露之具體實施例
可包括其它CAM組態,例如:512x80位元組CAM、512x160位元組CAM(即以4x3矩陣實施的2項目內容/匹配線)、或任何其它CAM組態。
如第1圖所示,所繪示的是一組搜尋350、360及370。舉例而言,搜尋350包括以「A」、「B」、「C」、「D」、「E」及「F」表示之六個操作。對於搜尋350,六個操作係擷取於一時間。在本揭露之具體實施例中,「A」、「B」、「C」、「D」、「E」及「F」可包含一資料字元或多個資料字元之任何組合。再者,操作「A」、「B」、「C」、「D」、「E」及「F」各可代表來自其餘操作之一資料字元或多個資料字元的不同組合。
在操作時,如第1圖所表示,搜尋350將會搜尋「A」、「B」、「C」、「D」、「E」及「F」是否儲存於CAM結構100中。若這六個操作(即「A」、「B」、「C」、「D」、「E」及「F」)係儲存於CAM結構100中,將會回傳一命中,並且不需要進行寫入操作。或者,若這六個操作(即「A」、「B」、「C」、「D」、「E」及「F」)中任一者未儲存於CAM結構100中,將會回傳不中,並且將會如本文所述進行寫入操作。舉例而言,此寫入操作可包括寫入「A」、「B」、「D」及「E」,每一個將在各別列被複製。
在具體實施例中,各字元A、B、C、D、E及F本質上為獨立,若A不中,但B、C、D、E及F匹配,則A是唯一需要更新者。舉另一例來說,本文中所揭示的程序可在第一週期內於複製的CAM個體中平行執行多個
搜尋,並且獨立於搜尋操作,在第二週期內於複製的CAM個體中執行多個寫入或讀取。此外,若CAM寫入或搜尋操作取用多個週期,則CAM矩陣可生長用以容納平行性所需的列與行。
再者,在具體實施例中,寫入操作(例如:「D」、「E」、「F」)可有別於搜尋操作(例如:「A」、「B」、「C」)。在具體實施例之另一實施例中,此等搜尋操作可包括「A」、「B」、「C」、「D」、「E」及「F」,並且寫入操作可包括「G」、「H」、「I」及「J」。換句話說,在具體實施例中,對於寫入操作,不需要重複使用搜尋操作的字元。
第2圖根據本揭露之態樣展示在此CAM結構中執行搜尋之第一週期。在第2圖中,CAM結構100係使用搜尋350來搜尋,例如:各別行100A至100F所進行的各操作「A」、「B」、「C」、「D」、「E」及「F」。舉例而言,在CAM結構中,行100A係使用操作「A」來搜尋,行100B係使用操作「B」來搜尋等。
如第2圖以代表方式所示,若行100A之CAM個體(例如:C1、C7、C13及C19)其中一者具有與操作「A」之資料字元匹配的資料字元,則操作「A」之資料字元不需要在下一個週期被寫入,若行100B之CAM個體(例如:C2、C8、C14及C20)其中一者具有與操作「B」之資料字元匹配的資料字元,則操作「B」之字元之資料字元不需要在下一個週期被寫入,若行100C之CAM個體(例如:C3、C9、C15及C21)其中一者具有與操作「C」
匹配的資料字元,則操作「C」之資料字元不需要在下一個週期被寫入,行100D之CAM個體(例如:C4、C10、C16及C22)其中一者具有與操作「D」之資料字元匹配的資料字元,則操作「D」字元的資料字元不需要在下一個週期被寫入,行100E之CAM個體(例如:C5、C11、C17及C23)其中一者具有與操作「E」之資料字元匹配的資料字元,則操作「E」的資料字元不需要在下一個被寫入,以及行100F之CAM個體(例如:C6、C12、C18及C24)其中一者具有與操作「F」之資料字元匹配的資料字元,則操作「F」的資料字元不需要在下一個週期被寫入。
因此,若行100A之CAM個體其中一者具有與操作「A」之資料字元匹配的資料字元、行100B之CAM個體其中一者具有與操作「B」之資料字元匹配的資料字元、行100C之CAM個體其中一者具有與操作「C」之資料字元匹配的資料字元、行100D之CAM個體其中一者具有與操作「D」之資料字元匹配的資料字元、行100E之CAM個體其中一者具有與操作「E」之資料字元匹配的資料字元、或行100F之CAM個體其中一者具有與操作「F」之資料字元匹配的資料字元,則回傳命中,並且不需要進行「A」、「B」、「D」及「E」的寫入操作。另一方面,若跨各別行中CAM個體中任一者未匹配操作「A」、「B」、「C」、「D」、「E」及「F」中任一者的資料字元(亦即,以下其中一者:行100A不含有「A」、行100B不含有「B」、行100C不含有「C」、行100D不含有「D」、行100E不含有「E」、
行100F不含有「F」),則回傳對於相關聯字元之不中,並且起始對於各別字元的寫入操作。
在利用操作「A」、「B」、「C」、「D」、「E」及「F」搜尋CAM結構100的同時,可以在應該以循序方式寫入(例如:「A」、「B」、「D」及「E」)的四個操作(即搜尋鍵)之間進行比較。因此,可在寫入操作彼此間進行比較的同時,進行搜尋操作,以便維持相干性。所屬技術領域中具有通常知識者將了解的是,第2圖中的所有這些操作都是在第一週期內進行的。此外,所屬技術領域中具有通常知識者將了解的是「A」、「B」、「C」、「D」、「E」及「F」為搜尋之說明性、非限制性實施例,並且亦可在本揭露的背景下進行其它操作(例如:搜尋360及370)。此外,雖然已將搜尋350中的「A」、「B」、「C」、「D」、「E」及「F」描述為操作,但所屬技術領域中具有通常知識者將了解「A」、「B」、「C」、「D」、「E」及「F」各亦可稱為搜尋鍵。
第3圖根據本揭露之態樣展示此CAM結構中執行寫入操作之第二週期。在第3圖中,本揭露的具體實施例假設操作「A」、「B」、「C」、「D」、「E」及「F」的資料字元並不匹配,回傳不中,並且將會寫入「A」、「B」、「D」及「E」的寫入操作。具體而言,並且舉說明性、非限制性實施例來說,在第3圖中,將會在包含複製的CAM個體之各別列200A、200B、200C及200D中寫入「A」、「B」、「D」及「E」的寫入操作。舉例而言,將會在200A中寫入「A」操作的資料字元與重複的複本。再者,將會在200B
中寫入「B」操作的資料字元與重複的複本。將會在200C中寫入「D」操作的資料字元與重複的複本,並且將會在200D中寫入「E」操作的資料字元與重複的複本。因此,將會在為數N之TCAM的各別列複製各字元。按照這種方式,第3圖中「A」、「B」、「D」及「E」的寫入操作容許在下一組搜尋中平行出現評估。此外,所屬技術領域中具有通常知識者將了解的是,在與所搜尋記憶體區域不同之CAM結構100的記憶體區域中可出現寫入操作。
第4圖根據本揭露之附加態樣展示CAM結構。在本揭露之具體實施例中,第4圖的CAM結構100’可以是TCAM,或者,可以是二元CAM。在任何組態中,CAM結構100’包含順著列與行方向複製的CAM個體C1’。如這種組態中所示,可在2*Mx2*N矩陣中複製CAM個體C1’,其中M及可以是任何整數值。在具體實施例中,舉例而言,N為大於或等於整數值M的整數值。然而,在更一般的具體實施例中,在此等寫入不以搜尋所致之命中或不中為條件的情況下,N與M之間不需要有關係,亦即,具有100個搜尋與2個寫入、或2個搜尋與100個寫入是有可能的。
在第4圖中以代表方式所示的具體實施例中,CAM個體C1’為512x40位元組CAM;但其它CAM組態於本文中也在考量範圍內。舉例來說,CAM個體C1’可以是512x80位元組CAM、512x160位元組CAM(亦即,用4x3矩陣實施的2項目內容/匹配線)、或任何其它組態。
按照這種方式,CAM個體C1’的多個複本係實體化成2*Mx2*N矩陣值CAM中的實體硬體電路系統。
在第4圖的組態中,CAM結構100’每週期在例如512x40位元組CAM上執行N個搜尋與M個寫入。在第4圖中,於一時間擷取2N個操作。可採不同方式修改搜尋350’、360’及370’以包括2N個操作。舉例而言,若每個週期需要三個搜尋(即N=3),則將會進行六個操作(「A」、「B」、「C」、「D」、「E」及「F」)。若CAM結構100’中未儲存2N個操作中的任一個,則回傳不中,並且寫入2M個操作。舉例而言,若每個週期需要兩個寫入(即M=2),則將會進行四個寫入操作(例如:「A」、「B」、「D」及「E」)。在第4圖中,按照與第2及3圖以類似的方式進行寫入操作及搜尋操作。
第5圖根據本揭露之態樣展示使用此CAM結構之步驟流程圖。如所屬技術領域中具有通常知識者應了解的是,本揭露之態樣乃是參照流程圖說明來描述,其可代表方法及設備(系統)的簡圖。
請參閱第5圖,於步驟500,將CAM的2*N x 2*M陣列實體化成實體硬體電路系統,用以每個CAM陣列實施N搜尋/M寫入。接著,於步驟510,CAM陣列乃設定成使得CAM陣列於一個時間擷取值得進行搜尋與寫入操作的兩個週期。於步驟520,對與步驟510平行之CAM陣列的唯一行套用步驟510中擷取的各搜尋鍵,然後跨CAM行組合搜尋結果。於步驟530,對CAM陣列之唯一列
平行套用各寫入,然後將資料寫入此列中的所有CAM。於步驟540,完成此程序。
第6圖根據本揭露之態樣展示使用此CAM結構之另一步驟流程圖。如所屬技術領域中具有通常知識者應了解的是,本揭露之態樣乃是參照流程圖說明來描述,其可代表方法及設備(系統)的簡圖。
請參閱第6圖,於步驟600,將CAM的2*Nx2*M陣列實體化成實體硬體電路系統,用以每個CAM陣列實施N搜尋/M寫入。接著,於步驟610,CAM陣列乃設定成使得CAM陣列於一個時間擷取值得進行搜尋與寫入操作的兩個週期。於步驟620,可對CAM陣列之唯一列平行套用各寫入資料,然後將資料寫入此列中的所有CAM。於步驟630,對CAM陣列的唯一行套用步驟610中擷取的各搜尋鍵,然後跨CAM行組合搜尋結果。於步驟640,完成此程序。
本揭露的可搜尋CAM結構可使用若干不同工具按照若干方式來製造。但一般來說,此等方法及工具係用於形成尺寸在微米及奈米級的結構。用於製造本揭露之可搜尋CAM結構的方法(即技術)已由積體電路(IC)技術所採用。舉例而言,此等結構係建置於晶圓上,並且係實現於藉由在晶圓頂端進行光微影程序所圖案化的材料膜中。特別的是,可搜尋CAM結構之製造係使用三個基本建構塊:(i)在基材上沉積材料薄膜,(ii)藉由光微影成像在此等膜上塗敷圖案化遮罩,以及(iii)對此遮罩選擇性蝕刻此
等膜。
上述(多種)方法係用於製作積體電路晶片。產生的積體電路晶片可由製作商以空白晶圓形式(亦即,如具有多個未封裝晶片之單一晶圓)來分布,如裸晶粒、或已封裝形式。在後例中,晶片係嵌裝於單晶片封裝件(例如:塑膠載體,具有黏貼至主機板或其它更高層次載體之引線)中、或嵌裝於多晶片封裝件(例如:具有表面互連或埋置型互連任一者或兩者之陶瓷載體)中。在任一例中,晶片接著是與其它晶片、離散電路元件及/或其它信號處理裝置整合成(a)諸如主機板之中間產品、或(b)最終產品中任一者之部分。最終產品可以是任何包括積體電路晶片之產品,範圍囊括玩具與其它低端應用至具有顯示器、鍵盤或其它輸入裝置及中央處理器的進階電腦產品。
本揭露各項具體實施例之說明已基於說明目的而介紹,但用意不在於窮舉說明或侷限於揭示之具體實施例。許多修改及變動對所屬技術領域中具有通常知識者將會顯而易見,但不會脫離所述具體實施例之範疇及精神。本文中使用的術語在選擇上,是為了對市場現有技術最佳闡釋具體實施例之原理、實務應用或技術改良,或使其它所屬技術領域中具有通常知識者能夠理解本文中揭示之具體實施例。
Claims (20)
- 一種結構,其包含:內容可定址記憶體(CAM);以及經結構化用以順著矩陣之列方向與行方向將該CAM之多個複製複本實體化的該矩陣。
- 如申請專利範圍第1項所述之結構,其中,該矩陣包含2*M條寫入列乘2*N條搜尋行複製CAM的矩陣,其中,M與N為整數值。
- 如申請專利範圍第2項所述之結構,其中,該整數值N大於該整數值M。
- 如申請專利範圍第2項所述之結構,其中,該矩陣係經結構化而使得2*N個搜尋操作各係執行於該2*M乘2*N矩陣中之一對應2*N搜尋行上,用以搜尋該矩陣中是否儲存該2*N個搜尋操作之任何搜尋鍵。
- 如申請專利範圍第2項所述之結構,其中,該矩陣係經結構化而使得2*M個寫入操作各係執行於該2*M乘2*N矩陣中2*M條列之一對應列上。
- 如申請專利範圍第5項所述之結構,其中,該矩陣係經結構化而使得2*M個寫入操作各回應於前一個2*N搜尋操作之至少一個搜尋鍵,而執行於該2*M乘2*N矩陣中2*M條列之該對應列上。
- 如申請專利範圍第5項所述之結構,其中,該矩陣係經結構化而使得2*M個寫入操作各在該2*M乘2*N矩陣中2*M條列之該對應列被複製。
- 如申請專利範圍第4項所述之結構,其中,該矩陣係經結構化而使得對該2*N條搜尋行其中一者供應各搜尋操作,並且對各該2*M條寫入列供應各寫入操作。
- 如申請專利範圍第1項所述之結構,其中,該矩陣係經結構化而使得每第二週期擷取2*M個寫入與2*N個搜尋這兩個操作。
- 如申請專利範圍第1項所述之結構,其中,該CAM為三元CAM(TCAM)及二元CAM其中一者。
- 一種結構,其包含內容可定址記憶體(CAM)結構之多個複製複本的矩陣,該矩陣包含複數條寫入列與搜尋行,經結構化而使得於容許在第一週期內執行搜尋命令並且在第二週期內執行寫入操作的時間擷取多個操作。
- 如申請專利範圍第11項所述之結構,其中,該矩陣係經結構化而容許在值得操作之多個週期之間進行比較,以維持相干性。
- 如申請專利範圍第11項所述之結構,其中,該矩陣係經結構化而使得該寫入操作在該CAM結構之對應列複製字元。
- 如申請專利範圍第13項所述之結構,其中,該寫入操作係基於多個搜尋操作中任一者之結果而於該第二週期內執行。
- 如申請專利範圍第11項所述之結構,其中,該矩陣包含2*M條寫入列乘2*N條搜尋行的矩陣,用以在一時間擷取2*(N+M)個操作。
- 如申請專利範圍第11項所述之結構,其中,該CAM為三元CAM(TCAM)及二元CAM其中一者。
- 一種方法,其包含:於第一週期內,於複製CAM個體中平行執行多個搜尋;以及於第二週期內,於該等複製CAM個體中平行執行多個寫入或讀取。
- 如申請專利範圍第17項所述之方法,其中,若該等寫入或搜尋取用多個週期,則該等複製CAM個體之CAM矩陣將會生長用以容納平行性所需之列或行。
- 如申請專利範圍第18項所述之方法,其中,各2*M列中之該等寫入操作出現於至少該第一週期內,並且該等2*N條行之各行之該搜尋出現於該第二或更大週期內。
- 如申請專利範圍第18項所述之方法,其中:該等多個搜尋之執行包含在包含CAM之個體之複製之複本的該CAM矩陣中的各行中搜尋一操作;以及該多個寫入之執行包含回應於回傳之該等搜尋操作,在一列之該CAM之各複製複本中寫入相同項目內容。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/185,956 US9859006B1 (en) | 2016-06-17 | 2016-06-17 | Algorithmic N search/M write ternary content addressable memory (TCAM) |
| US15/185,956 | 2016-06-17 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201810272A true TW201810272A (zh) | 2018-03-16 |
| TWI636458B TWI636458B (zh) | 2018-09-21 |
Family
ID=60481159
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW105126730A TWI636458B (zh) | 2016-06-17 | 2016-08-22 | 演算n搜尋/m寫入之三元內容可定址記憶體(tcam) |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US9859006B1 (zh) |
| CN (1) | CN107527653B (zh) |
| DE (1) | DE102016220328A1 (zh) |
| TW (1) | TWI636458B (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI773171B (zh) * | 2020-03-06 | 2022-08-01 | 美商美光科技公司 | 用於記憶體搜尋之系統及方法,及非暫時性電腦可讀儲存媒體 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112994886B (zh) * | 2021-05-21 | 2021-08-06 | 芯启源(南京)半导体科技有限公司 | 一种用于生成tcam搜索关键字的硬件及实现方法 |
Family Cites Families (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB806487A (en) * | 1956-04-06 | 1958-12-23 | British Tabulating Mach Co Ltd | Improvements in or relating to electrical data storage apparatus |
| JP2775549B2 (ja) * | 1992-05-08 | 1998-07-16 | 三菱電機株式会社 | 連想メモリセルおよび連想メモリ回路 |
| US6711665B1 (en) * | 1993-12-12 | 2004-03-23 | Neomagic Israel Ltd. | Associative processor |
| IT1308100B1 (it) * | 1999-05-17 | 2001-11-29 | Cselt Centro Studi Lab Telecom | Perfezionamenti alle memorie indirizzabili mediante il contenuto |
| US6493791B1 (en) * | 1999-12-20 | 2002-12-10 | Intel Corporation | Prioritized content addressable memory |
| US6259620B1 (en) * | 2000-03-08 | 2001-07-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Multiple entry matching in a content addressable memory |
| CA2307240C (en) * | 2000-05-01 | 2011-04-12 | Mosaid Technologies Incorporated | Matchline sense circuit and method |
| JP5072145B2 (ja) * | 2001-04-05 | 2012-11-14 | 富士通セミコンダクター株式会社 | 連想記憶装置 |
| JP3808753B2 (ja) * | 2001-10-31 | 2006-08-16 | 川崎マイクロエレクトロニクス株式会社 | 連想メモリ装置 |
| US7210003B2 (en) * | 2001-10-31 | 2007-04-24 | Netlogic Microsystems, Inc. | Comparand generation in a content addressable memory |
| US7092270B2 (en) * | 2004-06-30 | 2006-08-15 | International Business Machines Corporation | Apparatus and method for detecting multiple hits in CAM arrays |
| US7304873B1 (en) * | 2005-01-25 | 2007-12-04 | Netlogic Microsystems, Inc. | Method for on-the-fly error correction in a content addressable memory (CAM) and device therefor |
| US7345897B2 (en) * | 2005-10-18 | 2008-03-18 | Cisco Technology, Inc. | Error protected ternary content-addressable memories and lookup operations performed thereon |
| US8120937B2 (en) * | 2009-03-06 | 2012-02-21 | International Business Machines Corporation | Ternary content addressable memory using phase change devices |
| CN101546291A (zh) * | 2009-05-12 | 2009-09-30 | 华为技术有限公司 | 提高内存数据健壮性的存取方法和装置 |
| KR101115637B1 (ko) * | 2009-06-30 | 2012-03-05 | 주식회사 하이닉스반도체 | 불휘발성 메모리 장치 및 이의 동작 방법 |
| WO2011033667A1 (ja) * | 2009-09-18 | 2011-03-24 | 株式会社 東芝 | 半導体連想メモリ装置 |
| US9882809B2 (en) * | 2009-11-24 | 2018-01-30 | Verizon Patent And Licensing Inc. | Just-in time forwarding information base |
| US9001828B2 (en) * | 2011-03-21 | 2015-04-07 | Marvell World Trade Ltd. | Method and apparatus for pre-classifying packets |
| US8908407B1 (en) * | 2011-07-30 | 2014-12-09 | Rambus Inc. | Content addressable memory (“CAM”) |
| US9177646B2 (en) * | 2013-05-06 | 2015-11-03 | International Business Machines Corporation | Implementing computational memory from content-addressable memory |
| US20140369103A1 (en) * | 2013-06-14 | 2014-12-18 | Mediatek Inc. | Content addressable memory cells and ternary content addressable memory cells |
| US9255962B2 (en) * | 2013-08-15 | 2016-02-09 | GlobalFoundries, Inc. | Determining intra-die variation of an integrated circuit |
| US9183933B2 (en) * | 2014-01-10 | 2015-11-10 | Taiwan Semiconductor Manufacturing Company, Ltd. | Memory cell |
| CN104200838B (zh) * | 2014-08-28 | 2016-08-24 | 平湖凌云信息科技有限公司 | 内容可寻址存储器及相似度智能匹配方法 |
-
2016
- 2016-06-17 US US15/185,956 patent/US9859006B1/en not_active Expired - Fee Related
- 2016-08-22 TW TW105126730A patent/TWI636458B/zh not_active IP Right Cessation
- 2016-10-18 DE DE102016220328.2A patent/DE102016220328A1/de not_active Withdrawn
-
2017
- 2017-06-16 CN CN201710457931.8A patent/CN107527653B/zh not_active Expired - Fee Related
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI773171B (zh) * | 2020-03-06 | 2022-08-01 | 美商美光科技公司 | 用於記憶體搜尋之系統及方法,及非暫時性電腦可讀儲存媒體 |
| US11664072B2 (en) | 2020-03-06 | 2023-05-30 | Micron Technology, Inc. | Architecture for ternary content-addressable memory search |
Also Published As
| Publication number | Publication date |
|---|---|
| US9859006B1 (en) | 2018-01-02 |
| CN107527653B (zh) | 2021-03-12 |
| TWI636458B (zh) | 2018-09-21 |
| CN107527653A (zh) | 2017-12-29 |
| US20170365341A1 (en) | 2017-12-21 |
| DE102016220328A1 (de) | 2017-12-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Lie | Cerebras architecture deep dive: First look inside the hardware/software co-design for deep learning | |
| Durbeck et al. | The cell matrix: an architecture for nanocomputing | |
| KR102782323B1 (ko) | 메모리 기반 분산 프로세서 아키텍처 | |
| TWI856974B (zh) | 可變字長存取 | |
| He et al. | Parallel SimRank computation on large graphs with iterative aggregation | |
| US9619430B2 (en) | Active non-volatile memory post-processing | |
| CN114586019A (zh) | 基于存储器的处理器 | |
| Finkbeiner et al. | In-memory intelligence | |
| Chen et al. | A high-throughput neural network accelerator | |
| CN110837483B (zh) | 张量维度变换的方法以及装置 | |
| Yavits et al. | GIRAF: General purpose in-storage resistive associative framework | |
| JPH04267466A (ja) | 連想並列処理システム | |
| US12386618B2 (en) | Multi-buffered register files with shared access circuits | |
| TWI636458B (zh) | 演算n搜尋/m寫入之三元內容可定址記憶體(tcam) | |
| EP4283475A2 (en) | Moving data in a memory and command for memory control | |
| US12387766B2 (en) | Providing data from portions of a memory to processors in memory (PIMs) in an electronic device | |
| JP6318303B2 (ja) | 並列マージソート | |
| CN118227939B (zh) | 一种寄存器内完成连续矩阵乘法的计算方法及装置 | |
| US9135984B2 (en) | Apparatuses and methods for writing masked data to a buffer | |
| Zhou et al. | Hygraph: Accelerating graph processing with hybrid memory-centric computing | |
| Sim et al. | LUPIS: Latch-up based ultra efficient processing in-memory system | |
| Chen et al. | Sparsity-oriented sparse solver design for circuit simulation | |
| KR20240121250A (ko) | 마이크로 동작을 추정적으로 선택하는 다중 사이클 스케줄러 | |
| Tran et al. | Towards scalable array-oriented active storage: the pyramid approach | |
| US7516059B2 (en) | Logical simulation device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |